
:root{--ob:#111110;--ch:#25231F;--iv:#F6F2EA;--st:#DDD5C7;--au:#B89A5B;--aud:#7A6024;--tx:#1d1b17;--bg:#F6F2EA;--sf:#EFE9DD;--ln:#cfc6b4;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.65 "Helvetica Neue",Arial,sans-serif}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08;margin:0}
h1{font-size:clamp(2.6rem,7vw,5.6rem);letter-spacing:-.02em}h2{font-size:clamp(1.9rem,4vw,3.2rem)}h3{font-size:1.5rem}
a{color:inherit}:focus-visible{outline:3px solid var(--au);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.lab{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--aud);margin:0 0 18px}
.dark .lab,.dark{--aud:var(--au)}
header{position:sticky;top:0;z-index:20;background:var(--ob);color:var(--iv);border-bottom:1px solid #3a362e}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{font:400 1.6rem Georgia,serif;letter-spacing:.32em;text-decoration:none;color:var(--au)}
nav ul{display:flex;gap:clamp(14px,1.8vw,26px);list-style:none;margin:0;padding:0}
nav a{text-decoration:none;font-size:.86rem;letter-spacing:.04em;padding:8px 0;border-bottom:1px solid transparent;transition:border-color .3s}
nav a:hover,nav a[aria-current]{border-color:var(--au)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border:1px solid var(--au);background:var(--au);color:var(--ob);text-decoration:none;font-size:.88rem;letter-spacing:.06em;cursor:pointer;font-family:inherit;transition:background .3s,color .3s}
.btn:hover{background:transparent;color:var(--au)}.btn.ghost{background:transparent;color:inherit}.btn.ghost:hover{background:var(--au);color:var(--ob)}
.menu{display:none;background:none;border:1px solid #5a5446;color:var(--iv);min-height:44px;padding:0 16px;font:inherit}
.hero{background:var(--ob);color:var(--iv);position:relative;overflow:hidden;padding:clamp(70px,12vw,150px) 0 clamp(60px,9vw,120px)}
.hero p.s{max-width:520px;color:#d9d2c3;margin:28px 0}
.acts{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.quiet{color:var(--au);font-size:.92rem}
.motif{position:absolute;right:-5%;top:0;width:60%;height:100%;opacity:.55;pointer-events:none}
.sec{padding:clamp(64px,9vw,120px) 0}.dark{background:var(--ob);color:var(--iv)}.alt{background:var(--sf)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,90px);align-items:center}
.slot{aspect-ratio:4/5;background:linear-gradient(135deg,#25231F,#111110 60%,#3a3220);position:relative;display:flex;align-items:flex-end;padding:20px;color:#b9ae94;font-size:.8rem;border:1px solid #3a362e}
.slot.w{aspect-ratio:16/10}.slot svg{position:absolute;inset:0;width:100%;height:100%;opacity:.7}.slot span{position:relative}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.three>div{border-top:1px solid var(--au);padding-top:20px}.three>div:nth-child(2){margin-top:48px}
.three p{margin:12px 0 18px}.lnk{color:var(--aud);font-weight:600}.dark .lnk{color:var(--au)}
.steps{list-style:none;counter-reset:s;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.steps li{counter-increment:s;border-top:1px solid var(--au);padding-top:14px}.steps li:before{content:"0" counter(s);font:1.6rem Georgia,serif;color:var(--au);display:block}
details{border-bottom:1px solid var(--ln);padding:18px 0}summary{cursor:pointer;font:1.25rem Georgia,serif;min-height:44px}details p{margin:10px 0 0;max-width:680px}
form{display:grid;gap:18px;max-width:640px}
label{display:grid;gap:6px;font-size:.88rem}input,select,textarea{font:inherit;min-height:48px;padding:10px 14px;border:1px solid #8b8472;background:#fff;color:#111;width:100%}
.err{color:#ffb4a0;font-size:.82rem;min-height:1em}.light .err{color:#9a2a10}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 32px}.chips button{min-height:44px;padding:0 18px;border:1px solid var(--ch);background:none;font:inherit;cursor:pointer}.chips button[aria-pressed=true]{background:var(--ob);color:var(--au)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gal .slot{aspect-ratio:1}
footer{background:var(--ob);color:#cfc7b6;padding:60px 0 100px;font-size:.92rem}footer .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}footer a{display:block;padding:4px 0}
.bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--ob);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));gap:10px;border-top:1px solid #3a362e}.bar .btn{flex:1;padding:0 8px}
.note{border-left:3px solid var(--au);padding:12px 18px;background:rgba(184,154,91,.12);font-size:.9rem;margin:0 0 32px}
.fade{animation:f .7s ease both}@keyframes f{from{opacity:0;transform:translateY(10px)}}
@media(max-width:900px){nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--ob);padding:16px 24px 28px}nav.open{display:block}nav ul{flex-direction:column;gap:6px}nav a{display:block;padding:12px 0}.menu{display:block}.hd-q{display:none}
.split,.three,.steps,.gal,footer .wrap,.row{grid-template-columns:1fr}.three>div:nth-child(2){margin-top:0}.bar{display:flex}.motif{width:100%;opacity:.3}.slot{aspect-ratio:4/3}}
@media(prefers-color-scheme:dark){:root{--bg:#171613;--sf:#1f1d19;--tx:#ece6d8;--aud:#C9AC6C;--ln:#3a362e}input,select,textarea{background:#fff}.chips button{border-color:#6a6455;color:var(--tx)}.chips button[aria-pressed=true]{background:var(--au);color:var(--ob)}.light .err{color:#ffb4a0}}
.ph{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--ln)}
.hg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}.hg .ph{max-width:640px;justify-self:end}
.ob{padding:0;border:0;background:none;cursor:zoom-in;display:block;width:100%}.gal .ph{aspect-ratio:3/2}
dialog{max-width:min(92vw,900px);background:var(--ob);color:var(--iv);border:1px solid var(--au);padding:20px}dialog::backdrop{background:rgba(0,0,0,.8)}dialog img{display:block;width:auto;max-width:100%;max-height:68vh;margin:16px auto 0}dialog .acts{margin-top:12px}dialog .lnk{color:var(--au)}
@media(max-width:900px){.hg{grid-template-columns:1fr}.hg .ph{justify-self:stretch;max-width:none}}
.ln{display:block;overflow:hidden;padding-bottom:.1em}.ln>span{display:block;animation:up 1.2s cubic-bezier(.2,.7,.2,1) both}.ln:nth-child(2)>span{animation-delay:.14s}
.hero .lab{animation:f .9s .1s both}.hero .s{animation:f .9s .4s both}.hero .acts{animation:f .9s .55s both}
@keyframes up{from{transform:translateY(105%)}}@keyframes dr{to{stroke-dashoffset:0}}@keyframes dv{to{transform:translate(-2%,1.5%)}}@keyframes dz{from{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes fo{from{opacity:0}}
.motif{animation:dv 26s ease-in-out infinite alternate}.motif path{stroke-dasharray:1;stroke-dashoffset:1;animation:dr 3.6s cubic-bezier(.4,0,.2,1) forwards}.motif path:nth-child(2){animation-delay:.5s}.motif path:nth-child(3){animation-delay:1s}
.pw{display:block;overflow:hidden}.pw img{transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.pw.in:hover img{transform:scale(1.035)!important}
.js .pw{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(.77,0,.18,1) var(--d,0s)}.js .pw.in{clip-path:inset(0)}.js .pw img{transform:scale(1.12)}.js .pw.in img{transform:none}.js .hero .pw{--d:.45s}
.gal figure:nth-child(3n+2) .pw{--d:.12s}.gal figure:nth-child(3n) .pw{--d:.24s}.js .gal>.pw:nth-child(3n+2){--d:.12s}.js .gal>.pw:nth-child(3n){--d:.24s}
.js [data-r]:not(.pw){opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s)}.js [data-r].in:not(.pw){opacity:1;transform:none}
#gal figure:not([hidden]){animation:f .6s both}
.lnk{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s;text-decoration:none;padding-bottom:3px}.lnk:hover{background-size:100% 1px}
#pg{position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--au);transform:scaleX(0);transform-origin:0 50%}header .wrap{transition:height .4s}header.sm .wrap{height:58px}
nav.open{animation:f .35s both}dialog[open]{animation:dz .4s cubic-bezier(.2,.7,.2,1)}dialog::backdrop{animation:fo .4s}#li{transition:opacity .3s}
.idx{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}.ir{display:flex;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid #3a362e;text-decoration:none}.nm{font-size:clamp(2rem,4.5vw,3.6rem);line-height:1.1;transition:transform .6s cubic-bezier(.2,.7,.2,1),color .5s}.ir:hover .nm,.ir:focus-visible .nm{transform:translateX(14px);color:var(--au)}.ar{margin-left:auto;color:var(--au);opacity:0;transform:translateX(-10px);transition:.5s}.ir:hover .ar,.ir:focus-visible .ar{opacity:1;transform:none}.n{color:var(--au);font-size:.8rem}
.pv{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid #3a362e}.pv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.8s cubic-bezier(.2,.7,.2,1)}.pv img.on{opacity:1;transform:none}
.pstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
@media(max-width:900px){.idx{grid-template-columns:1fr}.pv{display:none}.pstrip{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.js [data-r]{opacity:1!important;transform:none!important}.js .pw{clip-path:none!important}.js .pw img{transform:none!important}.motif path{stroke-dasharray:none!important;stroke-dashoffset:0!important}}

:root{--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:Inter,"Helvetica Neue",Arial,sans-serif}
body{font-family:var(--sans);font-weight:300;font-size:16.5px;line-height:1.78}
h1,h2,h3,.serif,.logo,summary,.steps li:before{font-family:var(--serif)}
h1{font-weight:300;font-size:clamp(3.1rem,8.4vw,7.4rem);line-height:.98;letter-spacing:-.025em}h2{font-weight:300;font-size:clamp(2.3rem,4.8vw,4.1rem);line-height:1.04;letter-spacing:-.015em}h3{font-weight:400;font-size:1.8rem}
h1 em,h2 em{font-style:italic;color:var(--au);font-weight:300}summary{font-size:1.5rem}.logo{font-size:1.75rem;letter-spacing:.42em}
nav a{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em}
.lab{font-size:.72rem;letter-spacing:.24em;display:flex;align-items:center;font-weight:500}.lab::before{content:"";width:40px;height:1px;background:currentColor;margin-right:16px;transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.7,0,.2,1) .15s}.lab.in::before,.hero .lab::before{transform:none}
.sec{padding:clamp(84px,11vw,168px) 0}.split{gap:clamp(40px,8vw,128px)}.split>div>h2+p{font:300 clamp(1.3rem,2vw,1.7rem)/1.5 var(--serif);max-width:34ch}
.split>.pw{outline:1px solid rgba(184,154,91,.55);outline-offset:14px;margin-top:clamp(0px,3vw,48px)}.js .pw.in{clip-path:inset(-24px)}
.btn{font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;min-height:54px;padding:0 34px;background:linear-gradient(var(--ob),var(--ob)) left bottom/100% 0 no-repeat,var(--au);transition:background-size .55s cubic-bezier(.7,0,.2,1),color .4s}
.btn:hover{background:linear-gradient(var(--ob),var(--ob)) left bottom/100% 100% no-repeat,var(--au);color:var(--au)}
.btn.ghost{background:linear-gradient(var(--au),var(--au)) left bottom/100% 0 no-repeat}.btn.ghost:hover{background:linear-gradient(var(--au),var(--au)) left bottom/100% 100% no-repeat;color:var(--ob)}
.hero:has(.hg){min-height:min(94vh,900px);display:flex;align-items:center}.hero .wrap{width:100%}.hg{grid-template-columns:.95fr 1.05fr}
.hf{position:relative;justify-self:end;width:100%;max-width:680px}.hf::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--au);animation:fr 1.8s .9s cubic-bezier(.2,.7,.2,1) both}.hf .pw{position:relative}
.cap{display:flex;gap:14px;justify-content:flex-end;margin-top:14px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#b9ae94;animation:f 1s 1.4s both}.cap b{color:var(--au);font-weight:500}
@keyframes fr{from{opacity:0;transform:translate(18px,-18px)}to{opacity:.55}}
.hero:has(.hg)::after{content:"";position:absolute;left:clamp(20px,4vw,48px);bottom:0;width:1px;height:76px;background:linear-gradient(var(--au),transparent);transform-origin:top;animation:sc 2.6s ease-in-out infinite}@keyframes sc{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.hero p.s{font-size:1.08rem;max-width:460px}.hero .acts{margin-top:8px}
.strip{background:var(--ob);border-top:1px solid #3a362e;color:#b9ae94;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}.strip .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:22px;padding-bottom:22px;flex-wrap:wrap}
.three>div,.steps li{border-top:0;position:relative;padding-top:24px}.three>div::before,.steps li::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--au);transform:scaleX(0);transform-origin:left;transition:transform 1.3s cubic-bezier(.7,0,.2,1) var(--d,0s)}.three>div.in::before,.steps li.in::after{transform:none}
.js [data-r].sp{opacity:1;transform:none}.js h2.sp .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}.js h2.sp .w>span{display:inline-block;transform:translateY(112%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1) calc(var(--i)*60ms)}.js h2.sp.in .w>span{transform:none}
@media(max-width:900px){.hero:has(.hg){display:block;min-height:0}.hf{justify-self:stretch;max-width:none}.hf::before{inset:-10px 10px 10px -10px}.cap{justify-content:flex-start}.hero:has(.hg)::after{display:none}.split>.pw{outline-offset:8px;margin-top:0}.strip .wrap{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){.js h2.sp .w>span,.lab::before,.three>div::before,.steps li::after{transform:none!important}}

:root,:root[data-theme]{--bg:#0d0d0c;--sf:#13120f;--tx:#eae3d3;--aud:#D2B574;--ln:#35312a;--gold:linear-gradient(110deg,#8d6f30 0%,#e9d49a 32%,#B89A5B 52%,#f3e3ad 72%,#8d6f30 100%);--shine:radial-gradient(120% 90% at 18% 0%,#2b2924 0%,#161513 38%,#0a0a09 100%)}
body{background:var(--bg);color:var(--tx)}
header,.hero,.dark,footer,.strip{background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.05) 50%,transparent 62%),var(--shine);background-color:#0a0a09}
.alt{background:radial-gradient(90% 70% at 85% 0%,#22201b 0%,#13120f 62%)}
header{border-bottom:1px solid rgba(184,154,91,.4)}.strip{border-top:1px solid rgba(184,154,91,.35)}
.logo,h1 em,h2 em{background:var(--gold);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:sh 7s linear infinite}
@keyframes sh{to{background-position:-220% 0}}
.btn{position:relative;overflow:hidden;color:#16130c;background:linear-gradient(#0a0a09,#0a0a09) left bottom/100% 0 no-repeat,var(--gold);background-size:100% 0,220% 100%;border-color:#d9c07f}
.btn:hover{background:linear-gradient(#0a0a09,#0a0a09) left bottom/100% 100% no-repeat,var(--gold);background-size:100% 100%,220% 100%;color:#e9d49a}
.btn.ghost{background:linear-gradient(var(--au),var(--au)) left bottom/100% 0 no-repeat,transparent;color:var(--iv)}.btn.ghost:hover{background:var(--gold);color:#16130c}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .9s}.btn:hover::after{left:130%}
.menu{color:var(--iv)}
.three>div::before,.steps li::after,#pg{background:var(--gold)}
.steps li:before{background:var(--gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lnk,.quiet{color:var(--aud)}.lab{color:var(--aud)}
.ph{border:1px solid rgba(184,154,91,.35)}.split>.pw{outline-color:rgba(210,181,116,.6)}
.light{background:linear-gradient(160deg,#1d1b18,#0e0d0c)!important;border:1px solid rgba(184,154,91,.45);color:var(--tx)!important}.light .err,.err{color:#ffb4a0}
input,select,textarea{background:#171614;color:#f1ebdc;border:1px solid rgba(184,154,91,.5)}input:focus,select:focus,textarea:focus{border-color:#e9d49a;outline:0;box-shadow:0 0 0 3px rgba(184,154,91,.35)}
.chips button{color:var(--tx);border-color:rgba(184,154,91,.5)}.chips button[aria-pressed=true]{background:var(--gold);color:#16130c}
details{border-color:var(--ln)}.note{color:var(--tx)}
.sec.dark{position:relative;overflow:hidden}.sec.dark .wrap,.hero .wrap{position:relative;z-index:1}
.glit{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.glit i{position:absolute;border-radius:50%;background:#f6e8b8;box-shadow:0 0 7px 1px rgba(233,212,154,.85);opacity:0;animation:tw var(--t) ease-in-out var(--dl) infinite}
@keyframes tw{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:.95;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.logo,h1 em,h2 em{animation:none!important}}
.js .pw,.js .pw.in{clip-path:none!important}.js .pw{opacity:0;transition:opacity 1.1s ease var(--d,0s)}.js .pw.in{opacity:1}
@media(prefers-reduced-motion:reduce){.js .pw{opacity:1!important}}
.ann{background:#1b1a17;color:var(--iv);text-align:center;font-size:.82rem;letter-spacing:.03em;padding:10px 16px;border-bottom:1px solid #3a362e;line-height:1.45}.ann[hidden]{display:none}.ann strong{font-weight:500;color:var(--au)}.ann a{color:var(--au);margin-left:8px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
nav a.fo{color:var(--au)}
.dls{list-style:none;padding:0;margin:0 0 28px;display:flex;gap:14px 30px;flex-wrap:wrap}.dls li{border-left:2px solid var(--au);padding:2px 0 2px 14px;font-size:.95rem}.dls b{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--au);font-weight:500}
.fine{font-size:.9rem}
.pmv{position:relative}.pmv .badge{position:absolute;left:-18px;bottom:28px;background:var(--ob);border:1px solid var(--au);color:var(--iv);padding:14px 22px;display:flex;align-items:baseline;gap:10px}.pmv .badge b{font:300 3rem/1 Georgia,serif;color:var(--au)}.pmv .badge span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.ben{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}.ben>div{border-top:1px solid var(--au);padding-top:18px}.ben .bn{font:1.5rem Georgia,serif;color:var(--aud)}.ben h3{font-size:1.35rem;margin:8px 0 10px}.ben p{margin:0}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);align-items:stretch}.opc{padding:clamp(26px,4vw,48px);border:1px solid var(--ln);display:flex;flex-direction:column;gap:14px}.opc h3{font-size:clamp(1.6rem,3vw,2.1rem)}.opc p{margin:0}.opa{border-color:var(--au)}.opb{background:var(--bg)}.opc .btn{align-self:flex-start;margin-top:auto}.opc .dd strong{font:400 1.25rem Georgia,serif;margin-left:6px}.opc .cl{font-weight:600}
.sps{list-style:none;padding:0;margin:40px 0 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,4vw,56px)}.sps li{border-top:1px solid var(--au);padding:16px 0;font:1.3rem Georgia,serif}
.steps.s4{grid-template-columns:repeat(4,1fr)}
.tmls{padding-left:20px;max-width:780px;margin:32px 0 0;font-size:1rem;line-height:1.7}.tmls li{margin-bottom:12px}
.sec.plb{padding:34px 0}.plb p{margin:0}
label.ck{align-content:end;min-height:48px}label.ck span{display:flex;align-items:center;gap:10px;min-height:48px}label.ck input{width:22px;min-height:22px;height:22px;padding:0}
#pq .acts .btn{flex:1 1 200px}#pst a{display:inline-block;padding:6px 0}
#pf,#opts,#tm{scroll-margin-top:84px}#pfh:focus{outline:none}
@media(max-width:1060px){.hd-q{display:none}}
@media(max-width:900px){.ben,.opts,.sps,.steps.s4{grid-template-columns:1fr}.pmv .badge{left:12px;bottom:16px}}
@media(min-width:601px) and (max-width:900px){.sps{grid-template-columns:1fr 1fr}}
nav a,.hd-q{white-space:nowrap}
.pmh h1{font-size:clamp(2.3rem,4.4vw,4.1rem)}
@media(max-width:1320px){.hd-q{display:none}}

/* ---- Festive layer: every rule below is scoped to .fx (or .fxo) so one switch removes it ---- */
.hero .hg{}
@media(max-width:900px){.hero .hg{display:block}.hero .hf{margin-top:36px;width:100%;max-width:none}.hero .hf .pw,.hero .hf .ph{width:100%}}
.pkg{border:1px solid var(--ln);padding:clamp(26px,4vw,52px);margin-top:48px;position:relative}
.sv{display:flex;align-items:center;gap:clamp(18px,3vw,36px);padding-bottom:28px;border-bottom:1px solid var(--ln)}
.big5s{font:300 clamp(3.4rem,8vw,5.6rem)/1 Georgia,serif;color:var(--au)}
.sv h3,.sv p{margin:0}.sv h3{margin-bottom:6px}
.exh{margin:30px 0 26px;font-size:1.6rem}
.ic{width:44px;height:44px;stroke:var(--au);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block;margin-bottom:14px}
.opc,.pm,.sec.fxs{position:relative}.pm,.sec.fxs{overflow:hidden}
.sec.fxs>.wrap,.pm>.wrap{position:relative;z-index:1}
.fxo{display:none}
.fx .fxo{display:block}
.fx .fxo.fbadge{display:inline-flex}
.fbadge{align-items:center;gap:9px;margin:0 0 18px;padding:8px 14px;border:1px solid var(--au);background:linear-gradient(90deg,rgba(110,31,47,.85),rgba(110,31,47,.5));color:#F1E2BE;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;line-height:1}
.fbadge svg{width:11px;height:11px;fill:var(--au)}
.fline{font:italic 1.2rem/1.5 Georgia,serif;color:#F1E2BE;margin:0 0 24px}
.bk{position:absolute;inset:0;pointer-events:none;z-index:0;background:
radial-gradient(circle 58px at 3% 16%,rgba(217,181,106,.30),rgba(217,181,106,.06) 70%,transparent 72%),
radial-gradient(circle 84px at 6% 64%,rgba(217,181,106,.16),rgba(217,181,106,.04) 70%,transparent 72%),
radial-gradient(circle 34px at 2% 92%,rgba(241,226,190,.22),transparent 72%),
radial-gradient(circle 46px at 97% 9%,rgba(241,226,190,.20),transparent 72%),
radial-gradient(circle 70px at 99% 46%,rgba(217,181,106,.15),transparent 72%),
radial-gradient(circle 52px at 94% 95%,rgba(217,181,106,.24),transparent 72%),
radial-gradient(circle 40px at 46% 4%,rgba(217,181,106,.16),transparent 72%),
radial-gradient(circle 64px at 62% 98%,rgba(241,226,190,.12),transparent 72%);animation:bkd 18s ease-in-out infinite alternate}
@keyframes bkd{from{opacity:.7;transform:translateY(0)}to{opacity:1;transform:translateY(-8px)}}
.garl{position:absolute;top:0;left:0;width:100%;height:44px;pointer-events:none;opacity:.8;z-index:0}
.rib{position:absolute;top:-1px;right:clamp(18px,3vw,34px);width:20px;height:62px;background:linear-gradient(90deg,#9a7a3c,#ecd596 45%,#b89a5b);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%);z-index:2;pointer-events:none}
.rib::after{content:"";position:absolute;left:50%;top:0;bottom:14px;width:2px;margin-left:-1px;background:#6E1F2F}
.opc.closed .rib{display:none!important}
.tree{position:absolute;pointer-events:none;width:120px;height:156px;right:5%;top:28px;opacity:.6;z-index:0}
.tree.t2{right:auto;top:auto;left:clamp(24px,7vw,110px);bottom:40px}
@media(max-width:900px){.fx .tree{display:none}}
.fx .btn:not(.ghost){box-shadow:0 0 0 1px rgba(241,226,190,.25),0 6px 24px -2px rgba(217,181,106,.38);transition:box-shadow .4s,background .3s,color .3s}
.fx .btn:not(.ghost):hover{box-shadow:0 0 0 1px rgba(241,226,190,.4),0 8px 32px 0 rgba(217,181,106,.55)}
.fx .festgal .ph{box-shadow:0 22px 46px -26px rgba(217,181,106,.4)}
.fx .pkg,.fx .opa{border-color:var(--au)}
@media(prefers-reduced-motion:reduce){.bk{animation:none}}
.pmv .badge{position:static;margin-top:14px;display:inline-flex}
@media(max-width:900px){.pmv .badge{left:auto;bottom:auto}}
/* ---- Navigation refinement ---- */
nav .nb{background:none;border:0;border-bottom:1px solid transparent;color:inherit;font:inherit;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;padding:8px 0;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px}
nav .nb::after{content:"";width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
nav .sub.open>.nb::after{transform:rotate(-135deg) translateY(-2px)}
nav .nb:hover,nav .nb[data-cur],nav .sub.open>.nb{border-color:var(--au)}
nav .sub{position:relative;padding:22px 0;margin:-22px 0}
nav ul.dd{display:none;position:absolute;top:100%;left:-20px;min-width:290px;flex-direction:column;gap:0;background:var(--ob);border:1px solid #3a362e;border-top:1px solid var(--au);padding:10px 0;z-index:40;box-shadow:0 22px 44px rgba(0,0,0,.55);list-style:none;margin:0}
nav .sub:hover>ul.dd,nav .sub.open>ul.dd{display:flex;animation:ddin .22s ease both}
@keyframes ddin{from{opacity:0;transform:translateY(-6px)}}
nav .dd a{display:block;padding:11px 22px;border:0;border-left:2px solid transparent;text-transform:none;letter-spacing:.02em;font-size:.95rem;font-weight:400}
nav .dd a small{display:block;margin-top:2px;font-size:.76rem;color:#c4b99f;letter-spacing:.01em;font-weight:300}
nav .dd a:hover,nav .dd a:focus-visible{background:#1b1a17;color:var(--au);border-left-color:var(--au)}
nav .dd a[aria-current]{color:var(--au);border-left-color:var(--au)}
nav .qa{display:none}
nav>ul>li>a{display:inline-flex;align-items:center;min-height:44px}
.fx nav .fest a{border:1px solid var(--au);padding:8px 16px;color:#F1E2BE;background:linear-gradient(90deg,rgba(110,31,47,.8),rgba(110,31,47,.4));display:inline-flex;align-items:center;gap:8px}
.fx nav .fest a::before{content:"";width:9px;height:9px;background:var(--au);clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%)}
nav .fest a:not(:hover):not([aria-current]){border-bottom-color:transparent}
.fx nav .fest a[aria-current]{border-color:#F1E2BE}
.menu{align-items:center;gap:12px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.mi{position:relative;width:20px;height:12px;display:block}
.mi::before,.mi::after{content:"";position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .3s,top .3s}
.mi::before{top:2px}.mi::after{top:9px}
.menu[aria-expanded=true] .mi::before{top:6px;transform:rotate(45deg)}
.menu[aria-expanded=true] .mi::after{top:6px;transform:rotate(-45deg)}
@media(min-width:1181px) and (max-width:1320px){.hd-q{display:inline-flex}}
@media(max-width:1180px){.hd-q{display:none}}
@media(max-width:900px){
.menu{display:inline-flex}
body.nolock{overflow:hidden}
nav{max-height:calc(100dvh - 69px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--au);padding:8px 24px 110px;box-shadow:0 30px 60px rgba(0,0,0,.6)}
nav.open{animation:ddin .25s ease both}
nav ul{gap:0}
nav li{border-bottom:1px solid #2c2923}
nav a{display:flex;align-items:center;min-height:56px;padding:0;border-bottom:0}
nav .nb{width:100%;justify-content:space-between;min-height:56px;padding:0;border:0;font-size:.74rem}
nav .sub{padding:0;margin:0}
nav .sub:hover>ul.dd{display:none}
nav .sub.open>ul.dd,nav .sub.open:hover>ul.dd{display:block}
nav ul.dd{position:static;min-width:0;border:0;box-shadow:none;background:transparent;padding:0 0 12px 14px;animation:none}
nav .dd li{border:0}
nav .dd a{min-height:48px;padding:6px 14px;flex-direction:column;align-items:flex-start;justify-content:center}
.fx nav .fest{border:0;padding:16px 0 6px}
.fx nav .fest a{justify-content:center;min-height:56px;width:100%}
nav .fest{border-bottom:0}
nav .qa{display:flex;flex-direction:column;border:0;padding-top:8px}
nav .qa a{min-height:48px;color:var(--au);text-transform:none;letter-spacing:.02em;font-size:1rem}
}
@media(prefers-reduced-motion:reduce){nav .dd,nav.open,nav .sub.open>ul.dd{animation:none!important}.mi::before,.mi::after,nav .nb::after{transition:none}}
nav.nh .sub:hover:not(.open)>ul.dd{display:none}

/* ---- perf / device ---- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary,label,select{touch-action:manipulation}
main{min-height:70vh}main[data-pre]{min-height:0}
body:not(.rdy) footer{visibility:hidden}
img{max-width:100%;height:auto}
html{-webkit-tap-highlight-color:rgba(184,154,91,.25)}
.lab,.cap,.fbadge,.dls b,.ben .bn,.strip span{font-size:max(.78rem,12.5px)}
.btn{font-size:.8rem}
.logo{display:inline-flex;align-items:center;min-height:44px}
a.quiet{display:inline-flex;align-items:center;min-height:44px}
a.lnk,.ann a,main p a:not(.btn){padding:12px 4px}
footer a{display:flex;align-items:center;min-height:44px}
@media(max-width:900px){input,select,textarea{font-size:16px!important}}
