/* Shared readability and celebratory motion. Original portrait RGB is untouched. */
body{line-height:1.95;line-break:strict;word-break:normal;overflow-x:clip}p+p{margin-top:.8em}h1,h2,h3{text-wrap:balance}p,li{overflow-wrap:break-word}h2{letter-spacing:.015em}.wrap{max-width:1200px}header .wordmark{flex-shrink:0}header nav{min-width:0}.section h2{max-width:26em;margin-inline:auto}.section>.eyebrow,.section>h2{text-align:center}.specialty-body p,.photo-categories p,.area-grid p,.methods p,.steps p{font-size:1rem;line-height:1.9}.specialty-body p{max-width:36em}.image-note,.micro{font-size:.8125rem;line-height:1.8}.category-label,.gold-label,.eyebrow,.sticky-contact small{font-size:.875rem}.photo-categories article{display:flex}.category-card{display:flex;flex-direction:column;width:100%;height:100%;color:inherit}.category-card>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .8s}.category-card>div{background:#fff;position:relative;padding:24px;flex:1;display:flex;flex-direction:column;align-items:flex-start}.category-card h3{font-size:1.45rem;margin-top:12px}.category-card p{margin:0 0 18px}.category-more{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid #dac28e;padding-top:13px;color:#990020;font-size:.95rem;font-weight:800;margin-top:auto}.category-more b{font-size:1.5rem}.category-card:focus-visible{outline-offset:-5px;outline-width:4px}.category-card:hover>img{transform:scale(1.04)}.items-section h2{text-align:center}.items-section .eyebrow{text-align:center}
/* Use the finished floral/silk image as the animated artwork. */
.luxury-hero{background:#fff6e8}.festival-backdrop{position:absolute;inset:-3%;background:url('assets/hero-ornament.webp') center/cover no-repeat;z-index:-3;animation:silk-drift 18s ease-in-out infinite alternate}.celebration-rays{position:absolute;width:950px;height:950px;right:-180px;top:-120px;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0deg 13deg,#f4c45530 13deg 21deg,transparent 21deg 30deg);mask-image:radial-gradient(circle,#000 20%,transparent 68%);z-index:-2;animation:festival-turn 55s linear infinite}.luxury-hero:before{z-index:0}.luxury-hero .hero-grid{position:relative;z-index:2}.luxury-hero .hero-copy{padding-right:10px}.portrait-stage{background:none!important;isolation:isolate}.host-portrait,.invitation-person img{mix-blend-mode:normal;filter:drop-shadow(0 12px 20px #54000b28)}.portrait-halo{display:block;inset:15% 1% 3%;z-index:-1;border:3px solid #d4a436;background:radial-gradient(ellipse,#ffeab8b3 0%,#f9d76c44 55%,transparent 68%);box-shadow:0 0 0 14px #e5be6130,0 0 0 28px #e5be6117;animation:halo-breathe 5s ease-in-out infinite}.gold-dust{z-index:1;overflow:hidden}.gold-dust i,.gold-dust i:nth-child(n){left:var(--x);top:-30px;width:var(--size);height:calc(var(--size)*1.7);background:linear-gradient(135deg,#fff4a8,#d9a42a 40%,#a76611 70%,#ffe6a0);box-shadow:0 0 10px #fff4d555;animation:confetti-fall var(--time) var(--wait) linear infinite;opacity:.85}.gold-dust i:nth-child(3n){border-radius:50%;height:var(--size)}.gold-dust i:nth-child(4n){background:linear-gradient(135deg,#e34654,#ae0027);width:calc(var(--size)*.65)}.hero-speech{animation:bubble-in .8s .25s both,bubble-drift 4.5s 1s ease-in-out infinite}.host-label{animation:label-arrive 1s .35s both}.luxury-hero h1 em{background-size:250% 100%;animation:gold-title 7s ease-in-out infinite}.hero-ribbon{box-shadow:0 -4px 28px #ad721945}.host-invitation{position:relative;background:#fff5e5 url('assets/hero-ornament.webp') center/cover}.invitation-person{background:none!important}.invitation-copy{position:relative;z-index:2}.invitation-copy>p:not(.eyebrow){max-width:34em}.invitation-person .speech{animation:invitation-bubble 5s ease-in-out infinite}.specialties .specialty-grid{position:relative}.specialty-grid article.is-visible{animation:card-arrive .8s both}.reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.16,.8,.24,1);transition-delay:var(--delay,0ms)}.reveal.is-pending{transform:translateY(46px);opacity:0}
/* Pictured explanations, large enough to read on both screen sizes. */
.illustrated-methods{grid-template-columns:repeat(4,minmax(0,1fr))}.illustrated-methods article{padding:0;overflow:hidden;border-radius:8px}.illustrated-methods article>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.illustrated-methods article>div{padding:24px}.illustrated-methods .num{font-size:1.5rem;margin-bottom:10px}.illustrated-methods p{line-height:1.9}.illustrated-steps{gap:24px;margin-top:44px}.illustrated-steps li{padding:0!important;overflow:visible}.illustrated-steps li:before{z-index:2;top:-18px;left:14px;font-size:.875rem}.illustrated-steps li>img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:5px 5px 0 0}.illustrated-steps li>div{padding:22px}.illustrated-steps h3{font-size:1.15rem}.consult-photo{width:100%;height:auto;max-height:270px;object-fit:cover;border:1px solid #dab360;border-radius:6px;margin-bottom:24px}.consult .note{max-width:38em}.area-section .area-foot{max-width:60em;margin:26px auto}.operator dl{font-size:.9375rem}.faqs details p{padding-bottom:16px;line-height:2}.faqs details p:last-child{padding-bottom:24px}.faqs details p+p{margin-top:0}
/* Bottom contact actions: alternating movement, moving arrow and light sweep. */
.sticky-contact{width:min(690px,calc(100% - 32px));overflow:visible;gap:6px;border:0;background:transparent;box-shadow:none}.sticky-contact a{position:relative;border:2px solid #f2d28a;border-radius:9px;overflow:hidden;flex-direction:row;gap:12px;min-height:76px;box-shadow:0 6px 22px #40051550;animation:contact-lift 6s ease-in-out infinite}.sticky-contact a:nth-child(2){animation-delay:3s;border-color:#c9e8b6}.sticky-contact a>span:not(.contact-icon):not(.contact-arrow){display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.sticky-contact a:before{content:'';position:absolute;inset:-50% auto -50% -70%;width:35%;background:linear-gradient(90deg,transparent,#ffffff65,transparent);transform:rotate(23deg);animation:contact-sweep 5s ease-in-out infinite}.sticky-contact a:nth-child(2):before{animation-delay:2.5s}.contact-icon{font-size:1.75rem;line-height:1;animation:icon-call 5s ease-in-out infinite;z-index:1}.contact-arrow{font-size:1.5rem;animation:arrow-invite 1.8s ease-in-out infinite;z-index:1}.sticky-contact b{font-size:1.125rem}.sticky-contact small{font-size:.875rem}.sticky-contact a:hover{filter:brightness(1.08);animation-play-state:paused}.motion-toggle{bottom:110px;left:16px;min-height:38px;font-size:.8125rem;padding:7px 14px;z-index:40}.motion-paused .is-pending{opacity:1!important;transform:none!important}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}
/* Every category uses the same complete, readable detail layout. */
.breadcrumb{padding-block:20px;font-size:.875rem;display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#6b5152}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.genre-hero{padding:38px 0 50px;background:linear-gradient(90deg,#fff9f1eb,#fffdfbc9),url('assets/hero-ornament.webp') center/cover;border-block:1px solid #dfbe76}.genre-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px}.genre-hero h1{font-size:clamp(2rem,3.6vw,3.15rem);line-height:1.5;letter-spacing:.02em}.genre-hero h1>span{color:#9e0020}.genre-label{font-size:1rem;color:#76531b;font-weight:bold;margin:20px 0 12px}.genre-intro{font-size:1.1rem;line-height:1.9}.genre-hero .button{margin-top:24px}.genre-hero figure{margin:0;min-width:0}.genre-hero figure img{display:block;width:100%;border:2px solid #c99b42;border-radius:6px}.genre-hero figcaption{font-size:.8125rem;color:#665257;margin-top:12px}.guide-topics{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:60px}.guide-topic{padding:32px;border:1px solid #dbc28a;border-top:4px solid #bd9042;background:#fff}.topic-number{font:1.6rem Georgia,serif;color:#a07425;display:block;margin-bottom:15px}.guide-topic h2{font-size:1.5rem;color:#91001e;margin-bottom:20px;line-height:1.65;text-align:left}.guide-topic p{font-size:1rem;line-height:2}.category-page .flow-section{margin-top:55px}.guide-contact{text-align:center}.guide-contact .button{margin-top:26px}.guide-contact .note{line-height:2}.related-genres{padding-bottom:70px}.related-genres h2{font-size:1.65rem}.related-genres>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.related-genres a{padding:15px 18px;border:1px solid #dac491;display:flex;justify-content:space-between;gap:10px;background:#fffaf0;font-size:.9375rem;font-weight:700;color:#8f001b}.related-genres a:hover{background:#fff0d3}
@keyframes silk-drift{from{transform:scale(1.03) translate(-.6%,0)}to{transform:scale(1.09) translate(.6%,1%)}}@keyframes festival-turn{to{transform:rotate(360deg)}}@keyframes confetti-fall{0%{transform:translate3d(0,-60px,0) rotate(0);opacity:0}8%{opacity:.9}85%{opacity:.85}100%{transform:translate3d(var(--drift),1000px,0) rotate(620deg);opacity:0}}@keyframes halo-breathe{0%,100%{transform:scale(.95);box-shadow:0 0 0 12px #e5be6130,0 0 0 25px #e5be6117}50%{transform:scale(1.035);box-shadow:0 0 0 22px #e5be6125,0 0 0 40px #e5be6112}}@keyframes label-arrive{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}@keyframes gold-title{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes invitation-bubble{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -12px;rotate:3deg}}@keyframes card-arrive{from{opacity:.3;translate:0 35px}to{opacity:1;translate:0 0}}@keyframes contact-lift{0%,8%,18%,100%{translate:0 0}13%{translate:0 -5px}}@keyframes contact-sweep{0%,55%{left:-70%}90%,100%{left:140%}}@keyframes icon-call{0%,8%,20%,100%{rotate:0deg}11%{rotate:-14deg}14%{rotate:12deg}17%{rotate:-7deg}}@keyframes arrow-invite{0%,100%{translate:0 0}50%{translate:3px -3px}}
@media(max-width:1050px){.illustrated-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.illustrated-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:42px}.genre-hero-grid{gap:30px}.related-genres>div{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.wrap{padding-inline:22px}.luxury-hero .hero-copy{background:rgba(255,255,255,.94);padding:22px 14px;margin-bottom:12px}.luxury-hero h1{font-size:clamp(2.5rem,10vw,4rem);line-height:1.35}.luxury-hero h1>span{font-size:.47em}.luxury-hero .lead{font-size:1rem;text-align:left;max-width:24em;margin-inline:auto}.luxury-hero .lead br{display:none}.hero-service{letter-spacing:.02em}.luxury-hero .hero-kicker{font-size:.875rem;padding:6px 10px}.hero-actions .button>b{font-size:.9375rem}.hero-actions .button>span{font-size:.8125rem}.portrait-stage{height:470px}.portrait-halo{inset:20% 5% 2%}.celebration-rays{right:-270px;top:auto;bottom:-70px;width:900px;height:900px}.gold-dust i:nth-child(n+19){display:none}.hero-speech{font-size:1rem;max-width:220px}.category-card>div{padding:20px 16px}.category-card h3{font-size:1.2rem}.category-card p{font-size:1rem;line-height:1.85}.photo-categories{gap:16px}.category-more{font-size:.875rem}.category-label{font-size:.8125rem}.illustrated-methods article>div{padding:20px}.illustrated-steps li>div{padding:22px}.section h2{font-size:clamp(1.55rem,6vw,1.95rem);line-height:1.6}.section h2 br:not(.mobile){display:none}.section h2 span{display:inline}.invitation-grid{overflow:hidden}.invitation-copy{background:#ffffffdb;padding:32px 18px 12px}.invitation-copy h2{font-size:1.85rem;line-height:1.65}.invitation-copy p{font-size:1rem;text-align:left}.invitation-copy>.eyebrow{text-align:center}.invitation-person{height:335px}.invitation-person img{bottom:-45px}.invitation-person .speech{left:2px;top:24px}.genre-hero{padding:28px 0 36px}.genre-hero-grid{grid-template-columns:1fr;gap:30px}.genre-hero h1{font-size:2.15rem}.genre-label{margin-top:16px}.genre-intro{font-size:1rem}.guide-topics{grid-template-columns:1fr;gap:22px;margin-top:38px}.guide-topic{padding:26px 24px}.guide-topic h2{font-size:1.4rem}.related-genres>div{grid-template-columns:1fr 1fr}.related-genres a{padding:14px 12px}.sticky-contact{width:100%;gap:0;bottom:0;background:#fff;border-top:2px solid #e3c17a;padding-bottom:env(safe-area-inset-bottom)}.sticky-contact a{border:0;border-radius:0;gap:7px;min-height:74px;padding:9px 8px}.sticky-contact b{font-size:1rem;white-space:nowrap}.sticky-contact small{font-size:.8125rem}.contact-icon{font-size:1.3rem}.contact-arrow{font-size:1.1rem}.motion-toggle{bottom:calc(86px + env(safe-area-inset-bottom));left:8px;min-height:36px}.location-strip{padding:24px}.location-strip p{font-size:1rem}.operator dl{font-size:.9375rem}.operator dd{line-height:1.9}.consult-form{padding:22px}.consult .note{font-size:.875rem}}
@media(max-width:540px){.photo-categories{grid-template-columns:1fr}.category-card{display:grid;grid-template-columns:42% 58%;align-items:stretch}.category-card>img{height:100%;min-height:210px;object-fit:cover}.category-card>div{padding:18px 16px}.category-card p{font-size:1rem;line-height:1.8;margin-bottom:12px}.category-card h3{font-size:1.17rem;margin:8px 0}.illustrated-methods,.illustrated-steps{grid-template-columns:1fr}.illustrated-methods article{display:grid;grid-template-columns:36% 64%}.illustrated-methods article>img{height:100%;object-fit:cover}.illustrated-methods article>div{padding:20px 18px}.illustrated-methods .num{font-size:1.3rem;display:inline-block;margin-right:8px;margin-bottom:8px}.illustrated-methods h3{display:inline;font-size:1.15rem}.illustrated-methods p{margin-top:7px}.illustrated-steps li{display:grid;grid-template-columns:38% 62%;align-items:stretch}.illustrated-steps li>img{height:100%;min-height:230px;object-fit:cover}.illustrated-steps li>div{padding:34px 18px 24px}.illustrated-steps li:before{top:-16px;left:12px;padding:8px 15px}.illustrated-steps h3{font-size:1.12rem}.sticky-contact a{gap:5px}.contact-icon{display:none}.sticky-contact b{font-size:.9375rem}.sticky-contact small{font-size:.8125rem}.related-genres>div{grid-template-columns:1fr 1fr}.genre-hero h1{font-size:1.95rem}}
@media(max-width:360px){.wrap{padding-inline:16px}.category-card,.illustrated-methods article,.illustrated-steps li{grid-template-columns:1fr}.category-card>img,.illustrated-methods article>img,.illustrated-steps li>img{height:auto;min-height:0;aspect-ratio:3/2}.portrait-stage{height:420px}.hero-speech{font-size:.875rem}.hero-service span{margin-left:5px;padding-left:8px}.sticky-contact b{font-size:.875rem}.related-genres>div{grid-template-columns:1fr}.genre-hero h1{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.motion-toggle{display:none}.gold-dust{display:none}.reveal.is-pending{opacity:1;transform:none}}
@media(max-width:700px){.luxury-hero h1{font-size:clamp(1.8rem,9vw,3.8rem);line-height:1.42}.luxury-hero h1 em{font-size:1.55em}.luxury-hero h1>span{font-size:.58em}.luxury-hero .hero-copy .micro{text-align:left}.draft{font-size:.8125rem;line-height:1.6}}
.motion-paused .reveal{opacity:1!important;translate:none!important;transform:none!important}
@media(min-width:701px) and (max-width:950px){.luxury-hero h1{font-size:2.7rem}.portrait-stage{height:560px}.luxury-hero .hero-kicker{font-size:.9rem}.hero-speech{font-size:.9rem;padding:15px 18px}}
