:root{--bk:#07120E;--bk2:#0C1E18;--ink:#F7F1E3;--mut:#A9AC9C;--amber:#D8B255;--cran:#A5121F;--pine:#0F2E25;--paper:#F7F1E3;--pink:#17171A;--line:rgba(243,239,231,.14);
  --display:"Roboto Slab",Rockwell,Georgia,serif;--body:"Instrument Sans",system-ui,sans-serif;--wrap:1240px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bk);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1}
h2{font-size:clamp(38px,5.6vw,84px)}
.kick{font-size:15px;color:var(--amber);font-weight:600;margin-bottom:18px}
.lede{font-size:clamp(18px,1.5vw,21px);color:#D6D0C6;max-width:52ch}

/* grain + cursor */
.grain{position:fixed;inset:-50%;z-index:70;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
#prog{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--amber);transform-origin:0 50%;transform:scaleX(0);z-index:90}
.cur{position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--amber);mix-blend-mode:difference;transition:width .25s,height .25s,margin .25s,background .25s;display:none;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#0D0D0F}
.cur.big{width:84px;height:84px;margin:-42px;mix-blend-mode:normal;background:var(--amber)}
.cur span{opacity:0;transition:opacity .2s}.cur.big span{opacity:1}
@media (hover:hover) and (pointer:fine){.cur{display:flex}}

/* preloader: the studio curtains open */
.pre{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:none}
.pre i{position:absolute;top:0;bottom:0;width:51%;transition:transform 1.5s cubic-bezier(.76,0,.24,1) .25s;box-shadow:0 0 60px rgba(0,0,0,.7)}
.pre .l{left:0;background:repeating-linear-gradient(90deg,#5E0811 0,#B8141F 34px,#8E0F1B 62px,#D11F2B 84px,#5E0811 128px)}
.pre .r{right:0;background:repeating-linear-gradient(90deg,#6E5216 0,#E7C766 30px,#B38A2C 58px,#F4E19A 78px,#8A681D 104px,#6E5216 128px)}
.pre .l::after,.pre .r::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 30%,rgba(0,0,0,.4))}
.pre img{position:relative;z-index:2;width:min(280px,54vw);filter:drop-shadow(0 6px 24px rgba(0,0,0,.8));transition:opacity .5s .1s,transform .8s}
.loaded .pre .l{transform:translateX(-102%)}
.loaded .pre .r{transform:translateX(102%)}
.loaded .pre img{opacity:0;transform:scale(1.15)}

/* header */
.top{position:fixed;inset:0 0 auto 0;z-index:60;transition:background .3s,backdrop-filter .3s,border-color .3s;border-bottom:1px solid transparent}
.top.solid{background:rgba(13,13,15,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:var(--line)}
.top .wrap{display:flex;align-items:center;gap:28px;height:76px}
.top .logo img{height:40px;width:auto}
.top nav{display:flex;gap:26px;margin-left:auto;font-size:15px}
.top nav a{position:relative;color:#D6D0C6}
.top nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--amber);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s}
.top nav a:hover{color:var(--ink)}.top nav a:hover::after{transform:scaleX(1)}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:13px;font-weight:600}
.lang button{padding:7px 12px;color:var(--mut)}
.lang button[aria-pressed=true]{background:var(--ink);color:var(--bk)}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;border-radius:999px;padding:15px 26px;position:relative;overflow:hidden;transition:transform .2s,background .2s,color .2s}
.btn-a{background:var(--amber);color:#16110A}
.btn-a::before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.btn-a:hover::before{transform:none}
.btn span{position:relative}
.btn-o{border:1.5px solid rgba(243,239,231,.4)}
.btn-o:hover{border-color:var(--ink);background:rgba(243,239,231,.06)}
.btn-sm{padding:10px 18px;font-size:15px}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:110px 0 120px;overflow:hidden;
  background:radial-gradient(600px circle at var(--mx,70%) var(--my,35%),rgba(217,179,106,.18),transparent 65%),radial-gradient(80% 70% at 75% 40%,#17463A 0%,#07120E 74%)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(46px,7vw,112px);font-weight:900}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.hero h1 .w i{display:inline-block;font-style:normal;transform:translateY(110%);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.loaded .hero h1 .w i{transform:none}
.hero .lede{margin-top:28px;opacity:0;transform:translateY(16px);transition:opacity .8s 1.1s,transform .8s 1.1s}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px;opacity:0;transform:translateY(16px);transition:opacity .8s 1.25s,transform .8s 1.25s}
.loaded .hero .lede,.loaded .hero .cta{opacity:1;transform:none}
.since{display:flex;gap:28px;margin-top:44px;font-size:14px;color:var(--mut)}
.since b{display:block;font-family:var(--display);font-size:26px;color:var(--ink);font-weight:800}
.stack{position:relative;justify-self:center;width:min(430px,100%);aspect-ratio:5/7}
.frame{position:absolute;inset:0;background:#1b1b1f;border-radius:6px;overflow:hidden;box-shadow:0 50px 100px -30px rgba(0,0,0,.9),0 0 0 1px rgba(243,239,231,.08)}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.76,0,.24,1),transform 7s linear;transform:scale(1.12)}
.frame img.on{clip-path:inset(0);transform:scale(1);z-index:2}
.frame img.was{clip-path:inset(0);z-index:1}
.mini{position:absolute;width:42%;aspect-ratio:5/7;background:#1b1b1f;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.9);will-change:transform}
.mini img{width:100%;height:100%;object-fit:cover}
.mini.a{left:-30%;bottom:-8%;transform:rotate(-6deg)}
.mini.b{right:-24%;top:-7%;transform:rotate(5deg)}
.cap{position:absolute;left:0;right:0;bottom:-46px;display:flex;justify-content:space-between;font-size:14px;color:var(--mut)}
.cap b{color:var(--ink);font-weight:600}
.bar{position:absolute;left:0;right:0;bottom:-18px;height:2px;background:var(--line)}
.bar i{display:block;height:100%;background:var(--amber);width:0}
.bar i.run{width:100%;transition:width 5s linear}
.marq{position:absolute;left:0;right:0;bottom:0;border-top:1px solid var(--line);overflow:hidden;padding:16px 0}
.marq div{display:flex;width:max-content;animation:marq 40s linear infinite}
.marq span{font-family:var(--display);font-weight:700;font-size:20px;padding:0 22px;white-space:nowrap;color:#D6D0C6}
.marq span::after{content:"✦";color:var(--amber);margin-left:44px;font-size:14px;vertical-align:middle}
@keyframes marq{to{transform:translateX(-50%)}}

/* horizontal sessions */
.hs{position:relative;background:var(--gel,#07120E);transition:background 1s ease}
.hs-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hs-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}
.hs-head p{color:#D6D0C6;max-width:38ch}
.hs-track{display:flex;gap:26px;padding-left:max(24px,calc((100vw - var(--wrap))/2));padding-right:10vw;will-change:transform}
.card{flex:0 0 auto;width:min(360px,70vw);position:relative}
.card .ph{aspect-ratio:5/7;border-radius:6px;overflow:hidden;background:#1b1b1f;position:relative}
.card .ph img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.card:hover .ph img{transform:scale(1.14)}
.card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.82))}
.card .tx{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}
.card h3{font-size:30px}
.card p{font-size:15px;color:#E4DED4;margin-top:8px;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s,opacity .5s}
.card:hover p,.card:focus-within p{max-height:90px;opacity:1}
.card .go{display:inline-block;margin-top:12px;font-size:14px;font-weight:600;color:var(--amber)}

/* statement */
.state{padding:150px 0 120px;background:var(--bk)}
.state p.big{font-family:var(--display);font-weight:800;font-size:clamp(34px,5.4vw,82px);line-height:1.05;letter-spacing:-.02em;max-width:18ch}
.state p.big span{opacity:.16;transition:opacity .3s}
.state p.big span.lit{opacity:1}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:80px;border-top:1px solid var(--line);padding-top:34px}
.stats b{display:block;font-family:var(--display);font-size:clamp(40px,4.6vw,68px);font-weight:800;line-height:1;color:var(--amber);font-variant-numeric:tabular-nums}
.stats span{display:block;margin-top:10px;color:#D6D0C6;font-size:15px;max-width:22ch}

/* wall */
.wall{padding:40px 0 150px;overflow:hidden}
.wall-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:54px}
.cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.col{display:grid;gap:18px;will-change:transform}
.col:nth-child(2),.col:nth-child(4){margin-top:90px}
.tile{position:relative;border-radius:5px;overflow:hidden;background:#1b1b1f;cursor:pointer}
.tile img{width:100%;height:auto;aspect-ratio:var(--ar);object-fit:cover;clip-path:inset(100% 0 0 0);transform:scale(1.2);transition:clip-path 1.1s cubic-bezier(.76,0,.24,1),transform 1.4s cubic-bezier(.2,.8,.2,1),filter .4s}
.tile.in img{clip-path:inset(0);transform:scale(1)}
.tile:hover img{transform:scale(1.05)}
.tile span{position:absolute;left:12px;bottom:10px;font-size:13px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(13,13,15,.7);backdrop-filter:blur(6px);opacity:0;transform:translateY(6px);transition:.3s}
.tile:hover span{opacity:1;transform:none}

/* paper sections */
.paper{background:var(--paper);color:#16130F}
.paper .kick{color:var(--cran)}
.paper .lede{color:#4A443B}
.proc{padding:130px 0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:70px;position:relative;counter-reset:s}
.steps::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:rgba(22,19,15,.14)}
.steps i.line{position:absolute;left:0;top:0;height:2px;background:#16130F;width:0}
.step{padding:30px 28px 0 0}
.step::before{counter-increment:s;content:counter(s);font-family:var(--display);font-weight:900;font-size:74px;line-height:1;display:block;margin-bottom:18px;color:var(--cran)}
.step h3{font-size:24px;font-weight:700}
.step p{margin-top:10px;color:#4A443B;font-size:16px}
.packs{padding:0 0 140px}
.pk{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:54px}
.pk article{border:1.5px solid rgba(22,19,15,.16);border-radius:18px;padding:32px;transition:transform .3s,box-shadow .3s,background .3s}
.pk article:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(22,19,15,.45)}
.pk article.dark{background:var(--pine);color:var(--ink);border-color:var(--pine)}
.pk h3{font-size:28px}
.pk .pr{font-family:var(--display);font-weight:800;font-size:54px;line-height:1;margin:22px 0 6px}
.pk .pr small{font-family:var(--body);font-size:15px;font-weight:500;opacity:.7}
.pk ul{list-style:none;margin-top:18px;display:grid;gap:10px;font-size:16px}
.pk li{padding-left:22px;position:relative}
.pk li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;background:currentColor;opacity:.6}
.pk .dark li::before{background:var(--amber);opacity:1}
.packs .more{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:#4A443B;font-size:15px}
.paper .btn-o{border-color:rgba(22,19,15,.4)}.paper .btn-o:hover{border-color:#16130F;background:rgba(22,19,15,.05)}

/* extras */
.extras{padding:140px 0}
.ex{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ex article{position:relative;border-radius:18px;overflow:hidden;min-height:440px;display:flex;flex-direction:column;justify-content:flex-end;padding:36px;background:#17171A;border:1px solid var(--line)}
.ex article img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:transform 1.2s,opacity .4s}
.ex article:hover img{transform:scale(1.06);opacity:.65}
.ex article::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,15,.1),rgba(13,13,15,.9))}
.ex article>*:not(img){position:relative;z-index:2}
.ex h3{font-size:clamp(30px,3.4vw,46px)}
.ex p{margin:12px 0 22px;color:#D6D0C6;max-width:40ch}
.pass{background:radial-gradient(120% 90% at 20% 0%,#1F3FA8 0%,#101A3C 60%)!important}
.pass .id{position:absolute!important;right:34px;top:34px;width:150px;aspect-ratio:1;background:var(--paper);border-radius:6px;transform:rotate(6deg);box-shadow:0 20px 40px -15px rgba(0,0,0,.8);display:grid;place-items:center;transition:transform .5s}
.pass:hover .id{transform:rotate(-3deg) scale(1.05)}
.pass .id svg{width:70%;color:#16130F}

/* family */
.fam{padding:20px 0 150px}
.fam-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.faces{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.faces div{aspect-ratio:2/3;border-radius:5px;overflow:hidden;background:#1b1b1f}
.faces div:nth-child(even){transform:translateY(34px)}
.faces img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s,transform .8s}
.faces div:hover img{filter:none;transform:scale(1.05)}
.fam .names{margin-top:22px;color:var(--mut);font-size:15px}

/* faq */
.faq{padding:130px 0}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
details{border-bottom:1.5px solid rgba(22,19,15,.16)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-family:var(--display);font-weight:700;font-size:22px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--body);font-weight:400;font-size:30px;line-height:.8;transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 0 24px;color:#4A443B;max-width:62ch}

/* visit */
.visit{position:relative;padding:150px 0 130px;overflow:hidden;background:radial-gradient(70% 90% at 50% 110%,#A5121F 0%,#07120E 70%)}
.visit .wrap{position:relative;z-index:1}
.visit h2{font-size:clamp(48px,9vw,150px);font-weight:900;max-width:10ch}
.visit .row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:70px;border-top:1px solid var(--line);padding-top:34px}
.visit .row h3{font-family:var(--body);font-size:14px;font-weight:600;color:var(--amber);letter-spacing:0;margin-bottom:10px}
.visit .row p,.visit .row a{font-size:19px;line-height:1.45}
.visit .row a{border-bottom:1px solid var(--line)}
.visit .cta{margin-top:54px;display:flex;gap:12px;flex-wrap:wrap}
footer{padding:44px 0 110px;border-top:1px solid var(--line);font-size:14px;color:var(--mut)}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
footer img{height:34px;width:auto;opacity:.9}
footer a:hover{color:var(--ink)}
.mbook{display:none}

/* reveals */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}

/* lightbox */
.lb{position:fixed;inset:0;z-index:98;background:rgba(8,8,9,.94);display:none;align-items:center;justify-content:center;padding:24px}
.lb.open{display:flex}
.lb img{max-width:min(92vw,900px);max-height:86vh;border-radius:4px;box-shadow:0 40px 100px rgba(0,0,0,.8)}
.lb button{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);font-size:22px;background:rgba(13,13,15,.6)}
.lb .x{top:22px;right:22px}.lb .p{left:22px;top:50%}.lb .n{right:22px;top:50%}
.lb .c{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:14px;color:var(--mut)}

@media (max-width:980px){
  .top nav{display:none}.top .wrap{height:64px;gap:14px}.top .lang{margin-left:auto}.top .btn{display:none}
  .hero{padding:96px 0 110px}.hero-grid{grid-template-columns:1fr;gap:70px}
  .stack{width:min(300px,70%)}.mini.a{left:-22%}.mini.b{right:-20%}
  .since{gap:20px}
  .hs-sticky{position:relative;height:auto;padding:90px 0}.hs-track{overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important;padding-right:24px;scrollbar-width:none}
  .hs-track::-webkit-scrollbar{display:none}.card{scroll-snap-align:start}.card p{max-height:90px;opacity:1}
  .hs-head{flex-direction:column;align-items:flex-start}
  .state{padding:100px 0 80px}.stats{grid-template-columns:1fr 1fr}
  .cols{grid-template-columns:1fr 1fr}.col:nth-child(n+3){display:none}.col:nth-child(2){margin-top:50px}
  .wall-head{flex-direction:column;align-items:flex-start}
  .steps{grid-template-columns:1fr;gap:10px}.steps::before,.steps i.line{display:none}.step{border-top:2px solid rgba(22,19,15,.14)}
  .pk,.ex,.fam-grid,.faq-grid{grid-template-columns:1fr}.fam-grid,.faq-grid{gap:40px}
  .visit .row{grid-template-columns:1fr}
  .mbook{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:65}.mbook .btn{width:100%;justify-content:center;box-shadow:0 14px 40px -10px rgba(0,0,0,.8)}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.grain{display:none}.hero h1 .w i{transform:none}.rv,.hero .lede,.hero .cta{opacity:1;transform:none}.tile img{clip-path:none;transform:none}.state p.big span{opacity:1}.frame img{transform:none}}

/* ===== holiday layer: bokeh lights, ribbon, badge, season offers ===== */
.bokeh{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.9}
.hero-grid{position:relative;z-index:1}
.marq{background:var(--cran);border-top:0;box-shadow:0 -10px 40px -10px rgba(0,0,0,.6);z-index:2}
.marq span{color:#F7E7C3}
.marq span::after{color:var(--amber)}
.badge{position:absolute;left:-74px;top:-58px;width:148px;height:148px;z-index:5;animation:spin 22s linear infinite}
.badge text{font-family:var(--body);font-size:13.5px;font-weight:600;letter-spacing:.14em;fill:var(--amber)}
.badge-c{position:absolute;left:-74px;top:-58px;width:148px;height:148px;z-index:5;display:grid;place-items:center;color:var(--amber)}
.badge-c svg{width:38px;height:38px}
@keyframes spin{to{transform:rotate(360deg)}}
.hero h1{background:linear-gradient(100deg,var(--ink) 0%,var(--ink) 40%,#F3D9A0 50%,var(--ink) 60%,var(--ink) 100%);background-size:260% 100%;background-position:120% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:foil 9s 2s ease-in-out infinite}
@keyframes foil{0%{background-position:120% 0}45%,100%{background-position:-60% 0}}
.season{position:relative;padding:120px 0 130px;overflow:hidden;background:#8E0F1B}
.season::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.34) 0,rgba(255,120,120,.10) 38px,rgba(0,0,0,.05) 70px,rgba(0,0,0,.36) 120px),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.45))}
.season .wrap{position:relative}
.season .kick{color:#F3D9A0}
.offers{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:20px;margin-top:54px}
.offer{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:480px;border-radius:18px;overflow:hidden;padding:30px;background:#2A0A10;border:1px solid rgba(243,217,160,.28);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.offer:hover{transform:translateY(-8px);box-shadow:0 40px 70px -30px rgba(0,0,0,.8)}
.offer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.offer:hover>img{transform:scale(1.07)}
.offer::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,5,8,0) 35%,rgba(20,5,8,.92))}
.offer>*:not(img){position:relative;z-index:2}
.offer h3{font-size:clamp(28px,2.6vw,38px)}
.offer p{margin-top:10px;color:#EFE3D3;font-size:16px;max-width:34ch}
.offer .go{margin-top:16px;font-weight:600;font-size:15px;color:#F3D9A0}
.offer .tag{position:absolute;left:24px;top:24px;z-index:3;font-size:13px;font-weight:600;padding:7px 12px;border-radius:999px;background:var(--amber);color:#2A0A10}
.o2{background:radial-gradient(90% 70% at 50% 30%,#1F4A3C,#0E241D)}
.o2>img{object-fit:contain;object-position:50% 8%;inset:18px 0 auto 0;height:68%}
.o2::after{background:linear-gradient(180deg,rgba(14,36,29,0) 45%,rgba(14,36,29,.96) 72%)}
.o3{background:linear-gradient(160deg,#F5F0E6,#E9DFCB);color:#2A0A10;border-color:transparent}
.o3::after{display:none}
.o3 p{color:#5A3B33}.o3 .go{color:var(--cran)}
.xcard{position:absolute!important;left:50%;top:30px;width:42%;aspect-ratio:5/7;transform:translateX(-50%) rotate(-5deg);background:var(--pine);border-radius:6px;box-shadow:0 26px 50px -20px rgba(42,10,16,.6);display:grid;place-items:center;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.xcard::before{content:"";position:absolute;inset:10px;border:1px solid rgba(243,217,160,.55);border-radius:3px}
.xcard.b{background:var(--cran);transform:translateX(-28%) rotate(7deg);top:42px}
.o3:hover .xcard.a{transform:translateX(-62%) rotate(-11deg)}
.o3:hover .xcard.b{transform:translateX(-18%) rotate(12deg)}
.xcard svg{width:44%;color:#F3D9A0}
@media (max-width:980px){.offers{grid-template-columns:1fr}.offer{min-height:400px}.badge,.badge-c{left:-30px;top:-70px;width:120px;height:120px}}

/* velvet and lamé, like the studio's Christmas set */
.hero::before{content:"";position:absolute;inset:0;opacity:.55;background:repeating-linear-gradient(90deg,rgba(0,0,0,.42) 0,rgba(40,120,95,.10) 46px,rgba(0,0,0,.08) 84px,rgba(0,0,0,.44) 140px)}
.hero::after{content:"";position:absolute;right:0;top:0;bottom:66px;width:min(9vw,120px);background:repeating-linear-gradient(90deg,#6E5216 0,#E7C766 22px,#B38A2C 40px,#F4E19A 54px,#8A681D 72px);clip-path:polygon(100% 0,100% 100%,62% 100%,18% 62%,0 0);opacity:.92;box-shadow:-20px 0 50px rgba(0,0,0,.5)}
.hero .drapeL{position:absolute;left:0;top:0;bottom:66px;width:min(7vw,96px);background:repeating-linear-gradient(90deg,#5E0811 0,#B8141F 24px,#8E0F1B 44px,#D11F2B 60px,#5E0811 86px);clip-path:polygon(0 0,100% 0,70% 58%,26% 100%,0 100%);opacity:.95}
.gold{background:linear-gradient(100deg,#B38A2C,#F4E19A 45%,#C9A24A 70%,#8A681D);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.season h2{max-width:14ch}
.offers{grid-template-columns:1.5fr 1fr 1fr}
.offer{border-color:rgba(244,225,154,.45)}
.o1>img{object-position:62% 50%}
.o2{background:radial-gradient(90% 70% at 50% 30%,#17463A,#0A2019)}
.o3{background:repeating-linear-gradient(90deg,#8A681D 0,#E7C766 30px,#B38A2C 58px,#F4E19A 78px,#8A681D 104px);color:#2A0A10}
.o3::after{display:block;background:linear-gradient(180deg,rgba(247,241,227,0) 30%,rgba(247,241,227,.94) 66%)}
.xcard{background:var(--pine)}.xcard.b{background:var(--cran)}
.setrow{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:20px;margin-top:20px;align-items:stretch}
.setrow figure{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(244,225,154,.45);background:#2A0A10;min-height:300px}
.setrow img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.setrow figure:hover img{transform:scale(1.06)}
.setrow figcaption{position:absolute;left:16px;bottom:14px;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:rgba(7,18,14,.78);color:#F4E19A;backdrop-filter:blur(6px)}
.setrow .print{background:var(--paper);padding:14px;border-color:transparent;transform:rotate(1.5deg);box-shadow:0 30px 60px -25px rgba(0,0,0,.8)}
.setrow .print img{border-radius:2px;object-fit:contain;background:#1b0508}
.setrow .print figcaption{background:var(--cran);color:#fff}
.pk article.dark{background:var(--pine)}
.step::before{color:var(--cran)}
.stats b{background:linear-gradient(100deg,#B38A2C,#F4E19A 45%,#C9A24A 70%,#8A681D);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@media (max-width:980px){.offers,.setrow{grid-template-columns:1fr}.hero::after,.hero .drapeL{display:none}.setrow .print{transform:none}}

/* ============ v2: aperture, live velvet, 3D ring, ornaments, tunnel, stage ============ */
body{background:#07120E}
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:-1}
.state,.extras,.fam{background:transparent}
.cur{display:none!important}
#snowfx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:58}
#flash{position:fixed;inset:0;background:#fff;z-index:99;opacity:0;pointer-events:none}
#flash.go{animation:flash .55s ease-out}
@keyframes flash{0%{opacity:.95}100%{opacity:0}}
#iris{position:fixed;inset:0;z-index:100;overflow:hidden}
#iris.open{pointer-events:none}
.blades i{position:absolute;left:50%;top:50%;width:400vmax;height:200vmax;margin-left:-200vmax;background:#040A08;transform-origin:50% 0;
  transform:rotate(calc(var(--a) + var(--tw,0deg))) translateY(var(--R,0vmax));box-shadow:0 -1.5px 0 rgba(216,178,85,.7),inset 0 40px 80px rgba(216,178,85,.05)}
.iris-c{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:20px;z-index:2;transition:opacity .35s}
.iris-c img{width:min(240px,50vw)}
.iris-c b{font-family:var(--display);color:var(--amber);font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:.1em}
#iris.open .iris-c{opacity:0}
.vf{position:fixed;left:0;top:0;width:44px;height:44px;margin:-22px;z-index:96;pointer-events:none;display:none;transition:width .25s,height .25s,margin .25s}
@media (hover:hover) and (pointer:fine){.vf{display:block}}
.vf i{position:absolute;width:12px;height:12px;border:2px solid var(--amber)}
.vf i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}.vf i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}
.vf i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}.vf i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}
.vf span{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:8px;font-size:12px;font-weight:600;color:var(--amber);opacity:0;white-space:nowrap;transition:opacity .2s}
.vf.big{width:120px;height:120px;margin:-60px}.vf.big span{opacity:1}

/* hero */
.hero2{position:relative;min-height:100vh;padding:176px 0 96px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
#orn{position:absolute;left:0;top:0;width:100%;height:330px;z-index:3;pointer-events:none}
.h2top{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:end;position:relative;z-index:4}
.hero2 h1{font-size:clamp(40px,6vw,96px);font-weight:900;perspective:800px}
.hero2 h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.hero2 h1 .w i{display:inline-block;font-style:normal;transform:translateY(110%) rotateX(-70deg);transform-origin:50% 100%;transition:transform 1s cubic-bezier(.2,.8,.2,1);
  background:linear-gradient(100deg,#F7F1E3 0%,#F7F1E3 40%,#F4E19A 50%,#F7F1E3 60%,#F7F1E3 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:foil 9s 3s ease-in-out infinite}
.loaded .hero2 h1 .w i{transform:none}
.hero2 .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ringzone{position:relative}
.ringwrap{perspective:1500px;height:clamp(300px,44vh,440px);display:grid;place-items:center;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.ringwrap:active{cursor:grabbing}
.ring{position:relative;width:216px;height:302px;transform-style:preserve-3d;will-change:transform}
.rc{position:absolute;inset:0;border-radius:8px;overflow:hidden;background:#1b1b1f;box-shadow:0 0 0 1px rgba(244,225,154,.45),0 30px 60px -20px rgba(0,0,0,.8)}
.rc img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.rc span{position:absolute;left:10px;bottom:10px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:rgba(7,18,14,.75);color:#F4E19A}
.ringzone .badge{left:max(24px,calc((100vw - var(--wrap))/2));top:-10px;width:128px;height:128px}
.draghint{text-align:center;font-size:13px;color:var(--mut);margin-top:6px}
.draghint span::before{content:"↔ ";color:var(--amber)}

/* stage: the curtains open with the scroll */
.stage{position:relative;height:240vh}
.stage-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#07120E}
#stageImg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 45%;transform:scale(var(--sc,1.25));will-change:transform}
.stage-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,18,14,.9) 0%,rgba(7,18,14,.45) 42%,rgba(7,18,14,0) 70%),linear-gradient(0deg,rgba(7,18,14,.7),transparent 40%)}
.stage-tx{position:absolute;left:0;right:0;bottom:11vh;opacity:var(--to,0);transform:translateY(calc((1 - var(--to,0))*40px))}
.stage-tx h2{font-size:clamp(46px,8vw,128px);font-weight:900;max-width:9ch}
.stage-tx .lede{margin-top:18px;max-width:40ch}
.stage-tx .kick{color:#F4E19A}
.ct{position:absolute;top:-2%;bottom:-2%;width:52%;z-index:3;box-shadow:0 0 80px rgba(0,0,0,.8);will-change:transform}
.ct.l{left:-1%;background:repeating-linear-gradient(90deg,#5E0811 0,#B8141F 34px,#8E0F1B 62px,#D11F2B 84px,#5E0811 128px);transform:translateX(calc(var(--p,0)*-102%)) skewX(calc(var(--p,0)*-4deg))}
.ct.r{right:-1%;background:repeating-linear-gradient(90deg,#6E5216 0,#E7C766 30px,#B38A2C 58px,#F4E19A 78px,#8A681D 104px,#6E5216 128px);transform:translateX(calc(var(--p,0)*102%)) skewX(calc(var(--p,0)*4deg))}
.ct::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,0) 28%,rgba(0,0,0,.45))}

/* sessions list with floating preview */
.slist{padding:130px 0 120px}
.rows{margin-top:54px;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:20px 0;border-bottom:1px solid var(--line);transition:padding .4s cubic-bezier(.2,.8,.2,1)}
.row h3{font-size:clamp(32px,6vw,90px);font-weight:900;color:transparent;-webkit-text-stroke:1.2px rgba(247,241,227,.8);transition:color .3s,-webkit-text-stroke-color .3s}
.row p{color:#D6D0C6;max-width:28ch;font-size:15px;text-align:right;opacity:.0;transform:translateX(-12px);transition:.35s}
.row .th{display:none;width:60px;height:80px;object-fit:cover;border-radius:4px}
.row:hover,.row:focus-visible{padding-left:28px}
.row:hover h3,.row:focus-visible h3{color:var(--amber);-webkit-text-stroke-color:var(--amber)}
.row:hover p,.row:focus-visible p{opacity:1;transform:none}
.peek{position:fixed;left:0;top:0;z-index:80;width:250px;aspect-ratio:5/7;margin:-190px 0 0 34px;border-radius:8px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .25s;box-shadow:0 40px 80px -20px rgba(0,0,0,.9),0 0 0 1px rgba(244,225,154,.5);background:#1b1b1f}
.peek.on{opacity:1}
.peek img{width:100%;height:100%;object-fit:cover}

/* tunnel gallery */
.tunnel{position:relative}
.tn-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
.tn-space{position:absolute;inset:0;perspective:1100px}
.tn{position:absolute;left:50%;top:52%;width:min(27vw,360px);padding:0;border-radius:6px;overflow:hidden;background:#1b1b1f;box-shadow:0 30px 80px -20px rgba(0,0,0,.9),0 0 0 1px rgba(244,225,154,.35);cursor:pointer;will-change:transform,opacity}
.tn img{width:100%;height:100%;object-fit:cover}
.tn-word{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-family:var(--display);font-weight:900;font-size:clamp(56px,14vw,240px);line-height:.9;color:transparent;-webkit-text-stroke:1.5px rgba(244,225,154,.6);padding:0 4vw}
.tn-ui{position:absolute;left:0;right:0;top:100px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.tn-ui h2{font-size:clamp(26px,3vw,44px)}
.tn-ui span{font-family:var(--display);font-weight:800;font-size:22px;color:var(--amber);font-variant-numeric:tabular-nums}

@media (max-width:980px){
  .hero2{padding:150px 0 90px}.h2top{grid-template-columns:1fr;gap:18px}
  #orn{height:200px}.ring{width:150px;height:210px}.ringwrap{height:290px}.ringzone .badge{display:none}
  .row{grid-template-columns:auto 1fr;gap:16px;padding:14px 0}.row p{display:none}.row .th{display:block}
  .row h3{-webkit-text-stroke:0;color:var(--ink);font-size:clamp(26px,7.4vw,44px)}
  .tn{width:56vw}.tn-ui{top:84px}
  .stage-tx{bottom:14vh}
}
@media (prefers-reduced-motion:reduce){#iris{display:none}.hero2 h1 .w i{transform:none}.stage{height:100vh}.ct{display:none}.stage-tx{opacity:1;transform:none}}
.offers{grid-template-columns:1.6fr 1fr}
.visit .row .sub{font-size:15px;color:var(--mut);margin-top:6px}
.visit .row .lk{display:inline-block;margin-top:12px;font-size:16px;font-weight:600;color:var(--amber);border-bottom:1px solid currentColor}
@media (max-width:980px){.offers{grid-template-columns:1fr}}

/* Christmas cards: a deck that deals itself into a fan */
.cardsblock{margin-top:90px}
.cb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.cb-head h3{font-size:clamp(34px,4.6vw,68px);font-weight:900}
.cb-head p{max-width:44ch;color:#F3E4D0}
.fan{position:relative;height:470px;margin-top:30px}
.fc{position:absolute;left:var(--l,50%);bottom:40px;height:300px;padding:0;border-radius:6px;overflow:hidden;background:#fff;cursor:pointer;
  box-shadow:0 22px 44px -16px rgba(0,0,0,.75),0 0 0 1px rgba(244,225,154,.45);transform-origin:50% 130%;
  transform:translateX(-50%) translateY(var(--y,0px)) rotate(var(--r,0deg));transition:transform .7s cubic-bezier(.2,.8,.2,1),left .7s cubic-bezier(.2,.8,.2,1)}
.fc img{height:100%;width:auto;display:block}
.fan:not(.dealt) .fc{left:50%;transform:translateX(-50%) translateY(40px) rotate(0deg)}
.fc:hover,.fc:focus-visible{transform:translateX(-50%) translateY(-52px) rotate(0deg) scale(1.14);z-index:99!important;transition-duration:.35s}
.xcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:6px}
.xcard svg{display:none}.xcard::before{display:none}
@media (max-width:980px){.fan{height:auto;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none}
  .fc,.fan:not(.dealt) .fc{position:static;flex:0 0 auto;height:250px;transform:none;scroll-snap-align:center}}

/* Huntington Park: two film strips that react to the scroll */
.hp{padding:130px 0 120px;overflow:hidden}
.hp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:56px}
.hp h2{font-size:clamp(44px,8vw,128px);font-weight:900}
.hp .kick{color:#F4E19A}
.hp-info p{font-size:19px;line-height:1.45}
.hp-info .sub{font-size:16px;color:#F3E4D0;margin-top:6px}
.hp-info .btn{margin-top:18px}
.strip{display:flex;gap:16px;width:max-content;margin-bottom:16px;will-change:transform}
.strip button{flex:0 0 auto;height:300px;padding:0;border-radius:6px;overflow:hidden;background:#1b1b1f;box-shadow:0 0 0 1px rgba(244,225,154,.4);cursor:pointer}
.strip img{height:100%;width:auto;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.strip button:hover img{transform:scale(1.07)}
@media (max-width:980px){.strip button{height:190px}.hp{padding:90px 0 80px}}

/* ===== multi-page additions ===== */
.top nav a[aria-current=page]{color:var(--amber)}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);position:relative;flex:0 0 auto}
.burger i{position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:transform .3s,top .3s}
.burger i:nth-child(1){top:17px}.burger i:nth-child(2){top:25px}
.burger[aria-expanded=true] i:nth-child(1){top:21px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){top:21px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:59;background:rgba(5,14,11,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;padding:90px 28px 40px;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;overflow:auto}
.menu.open{opacity:1;visibility:visible}
.menu nav{display:grid;gap:2px}
.menu nav a{font-family:var(--display);font-weight:800;font-size:clamp(30px,8vw,54px);line-height:1.2;transform:translateY(22px);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s}
.menu.open nav a{transform:none;opacity:1}
.menu.open nav a:nth-child(2){transition-delay:.04s}.menu.open nav a:nth-child(3){transition-delay:.08s}.menu.open nav a:nth-child(4){transition-delay:.12s}.menu.open nav a:nth-child(5){transition-delay:.16s}.menu.open nav a:nth-child(6){transition-delay:.2s}.menu.open nav a:nth-child(7){transition-delay:.24s}
.menu nav a[aria-current=page]{color:var(--amber)}
.menu-ft{margin-top:34px;color:var(--mut);font-size:16px;display:grid;gap:8px}
.menu-ft a{color:var(--ink)}
.menu-open .mbook{display:none}
@media (max-width:1180px){.top nav{display:none}.burger{display:block}.top .lang{margin-left:auto}}
.tn-r{display:flex;align-items:center;gap:18px;pointer-events:auto}
.tn-r .btn span{font-family:var(--body);font-size:15px;font-weight:600;color:inherit}

/* page hero */
.phero{position:relative;min-height:84vh;padding:210px 0 84px;overflow:hidden;display:flex;align-items:flex-end}
.phero .wrap{position:relative;z-index:4}
.phero .kick{opacity:0;transition:opacity .8s .3s}.loaded .phero .kick{opacity:1}
.ph1{font-size:clamp(46px,8vw,128px);font-weight:900;max-width:12ch;perspective:800px}
.ph1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em}
.ph1 .w i{display:inline-block;font-style:normal;transform:translateY(110%) rotateX(-70deg);transform-origin:50% 100%;transition:transform 1s cubic-bezier(.2,.8,.2,1);
  background:linear-gradient(100deg,#F7F1E3 0%,#F7F1E3 40%,#F4E19A 50%,#F7F1E3 60%,#F7F1E3 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:foil 9s 3s ease-in-out infinite}
.loaded .ph1 .w i{transform:none}
.phero .lede{margin-top:26px;opacity:0;transform:translateY(16px);transition:opacity .8s 1s,transform .8s 1s}
.phero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;opacity:0;transition:opacity .8s 1.15s}
.loaded .phero .lede,.loaded .phero .cta{opacity:1;transform:none}
.ghost{position:absolute;right:-3vw;bottom:-.2em;font-family:var(--display);font-weight:900;font-size:clamp(110px,23vw,400px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(244,225,154,.17);white-space:nowrap;pointer-events:none;z-index:1;will-change:transform}
.sec{padding:120px 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:50px}
.sec-head .lede{max-width:44ch}

/* packages */
.seg{display:inline-flex;border:1.5px solid rgba(22,19,15,.25);border-radius:999px;padding:4px}
.seg button{padding:12px 26px;border-radius:999px;font-weight:600;transition:color .3s,background .3s}
.seg button[aria-pressed=true]{background:#16130F;color:var(--paper)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.pcard{position:relative;border:1.5px solid rgba(22,19,15,.16);border-radius:18px;padding:26px 26px 24px;background:#FFFDF6;display:flex;flex-direction:column;min-height:430px;will-change:transform}
.pcard.rv{transform:none;transition:opacity .9s ease,box-shadow .3s,transform .18s ease-out}
.pcard::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(280px circle at var(--gx,50%) var(--gy,0%),rgba(216,178,85,.3),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.pcard:hover{box-shadow:0 34px 70px -34px rgba(22,19,15,.6)}.pcard:hover::after{opacity:1}
.pcard .id{font-family:var(--display);font-weight:900;font-size:64px;line-height:.9;color:var(--cran)}
.pcard ul{list-style:none;margin-top:18px;display:grid;gap:6px;font-size:17px}
.pcard li b{font-variant-numeric:tabular-nums}
.pcard .poses{font-size:14px;color:#6B6458;margin-top:10px}
.pcard .pr{font-family:var(--display);font-weight:800;font-size:40px;margin-top:auto;padding-top:18px;line-height:1}
.sizes{display:flex;align-items:flex-end;gap:8px;height:104px;margin-top:20px}
.sizes i{display:block;flex:0 0 auto;background:linear-gradient(135deg,#1B5445,#0F2E25);border-radius:2px;box-shadow:inset 0 0 0 1.5px #C9A24A}
.sizes i.usb{width:16px;height:30px;border-radius:3px 3px 5px 5px;background:linear-gradient(180deg,#C9A24A 0 28%,#16130F 28% 100%);box-shadow:none}
.pnote{margin-top:30px;color:#4A443B;max-width:70ch}
.boards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.board{border:1px solid rgba(244,225,154,.35);border-radius:18px;padding:30px;background:rgba(7,18,14,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.board.wide{grid-column:span 2}
.board h3{font-size:28px;margin-bottom:14px}
.board .sub{color:var(--mut);font-size:15px;margin:-6px 0 12px}
.board .ln{display:flex;align-items:baseline;gap:10px;padding:8px 0;font-size:17px}
.board .ln i{flex:1;border-bottom:1.5px dotted rgba(247,241,227,.35);transform:translateY(-4px)}
.board .ln b{font-family:var(--display);color:#F4E19A;font-variant-numeric:tabular-nums;white-space:nowrap}
.board .nt{font-size:14px;color:var(--mut);margin-top:12px}
.board.wide .lns{columns:2;column-gap:40px}.board.wide .ln{break-inside:avoid}
.pol{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin-top:50px}
.pol div{border-top:1.5px solid rgba(22,19,15,.16);padding:24px 0 30px}
.pol h3{font-size:22px;font-weight:700}
.pol p{margin-top:8px;color:#4A443B;font-size:16px}

/* gallery */
.chipbar{position:sticky;top:76px;z-index:30;background:rgba(7,18,14,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block:1px solid var(--line)}
.chips{display:flex;gap:8px;overflow-x:auto;padding:14px 0;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;padding:10px 18px;border-radius:999px;border:1.5px solid rgba(243,239,231,.3);font-weight:600;font-size:15px;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true]{background:var(--amber);color:#16110A;border-color:var(--amber)}
.chip small{opacity:.65;font-weight:500;margin-left:6px;font-variant-numeric:tabular-nums}
.gal{padding:30px 0 120px}
.mason{columns:4 250px;column-gap:14px}
.mason .tile{display:block;width:100%;margin:0 0 14px;break-inside:avoid;padding:0}
.gmore{display:flex;justify-content:center;margin-top:40px}

/* studios */
.st-note{margin-top:14px;color:var(--mut);font-size:15px}
.hp-info .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hp-info .cta .btn{margin-top:0}
.hp .lede{margin-top:18px}

/* restorations */
.resto-card{position:relative;max-width:1000px;margin:54px auto 0;background:#fff;border-radius:10px;padding:26px;box-shadow:0 50px 100px -40px rgba(22,19,15,.6);overflow:hidden;will-change:transform;transition:transform .2s ease-out}
.resto-card img{width:100%}
.resto-card::after{content:"";position:absolute;top:0;bottom:0;width:30%;left:-40%;background:linear-gradient(100deg,transparent,rgba(216,178,85,.4),transparent);animation:sweep 5.5s ease-in-out infinite;pointer-events:none}
@keyframes sweep{0%,20%{left:-40%}70%,100%{left:120%}}
.svc{border-top:1px solid var(--line);margin-top:50px}
.svc div{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .4s cubic-bezier(.2,.8,.2,1)}
.svc div:hover{padding-left:24px}
.svc h3{font-size:clamp(26px,3.4vw,46px);transition:color .3s}
.svc div:hover h3{color:var(--amber)}
.svc p{color:#D6D0C6;max-width:46ch;justify-self:end}
.cm{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;margin-top:50px}
.cm div{border-top:1.5px solid rgba(22,19,15,.16);padding-top:22px}
.cm h3{font-size:24px;font-weight:700}.cm p{margin-top:8px;color:#4A443B;font-size:16px}
.steps.six{grid-template-columns:repeat(3,1fr);row-gap:44px}

/* passport */
.idwrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.idbox{position:relative;width:min(340px,78%);margin:20px auto 40px}
.idphoto{position:relative;aspect-ratio:1;background:#EEF0EC;border-radius:4px;box-shadow:0 40px 90px -30px rgba(0,0,0,.9),0 0 0 12px #fff;overflow:hidden}
.idphoto svg{width:100%;height:100%;display:block}
.idphoto::after{content:"";position:absolute;left:0;right:0;height:3px;background:#C9A24A;box-shadow:0 0 18px 4px rgba(216,178,85,.7);animation:scan 3.6s ease-in-out infinite}
@keyframes scan{0%,100%{top:4%}50%{top:94%}}
.idbox .dm{position:absolute;font-size:14px;font-weight:600;color:#F4E19A;white-space:nowrap}
.idbox .dm.h{left:0;right:0;bottom:-46px;text-align:center}
.idbox .dm.v{top:50%;right:-64px;transform:translateY(-50%) rotate(90deg)}
.pp{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.pp article{border:1px solid rgba(244,225,154,.35);border-radius:18px;padding:28px;background:rgba(7,18,14,.6);will-change:transform;transition:transform .18s ease-out}
.pp h3{font-size:24px}
.pp b{font-family:var(--display);font-size:60px;color:#F4E19A;display:block;line-height:1;margin:16px 0 10px}
.pp p{color:#D6D0C6;font-size:16px}
.req{list-style:none;margin-top:30px}
.req li{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1.5px solid rgba(22,19,15,.16);font-size:19px}
.req li::before{content:"";flex:0 0 28px;height:28px;border-radius:50%;background:var(--pine) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4E19A' stroke-width='3'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
.dress{margin-top:40px;border-radius:10px;overflow:hidden;background:#fff;padding:14px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin-top:10px}

/* contact */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ccard{border:1px solid rgba(244,225,154,.35);border-radius:22px;padding:38px;background:rgba(7,18,14,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);will-change:transform;transition:transform .18s ease-out}
.ccard h2{font-size:clamp(34px,4vw,58px)}
.ccard .big{font-family:var(--display);font-weight:800;font-size:clamp(28px,3.2vw,44px);color:#F4E19A;display:inline-block;margin-top:22px}
.ccard p{margin-top:14px;font-size:19px;line-height:1.45}.ccard .sub{color:var(--mut);font-size:16px;margin-top:6px}
.ccard .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.mail{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border:1px solid var(--line);border-radius:22px;padding:30px 38px}
.mail a.big{font-family:var(--display);font-weight:800;font-size:clamp(20px,3vw,40px);overflow-wrap:anywhere}
.mail a.big:hover{color:var(--amber)}
.soc{display:flex;gap:10px;flex-wrap:wrap}

@media (max-width:980px){
  .phero{min-height:70vh;padding:150px 0 60px}
  .sec{padding:80px 0}
  .boards,.pol,.pp,.cm,.cgrid,.idwrap,.facts{grid-template-columns:1fr}
  .board.wide{grid-column:auto}.board.wide .lns{columns:1}
  .steps.six{grid-template-columns:1fr;row-gap:10px}
  .svc div{grid-template-columns:1fr;gap:8px}.svc p{justify-self:start}
  .chipbar{top:64px}
  .mason{columns:2;column-gap:10px}.mason .tile{margin-bottom:10px}
  .ccard,.mail{padding:26px}
  .idbox .dm.v{right:-54px}
}
@media (prefers-reduced-motion:reduce){.ph1 .w i{transform:none}.phero .kick,.phero .lede,.phero .cta{opacity:1;transform:none}.resto-card::after,.idphoto::after{display:none}.menu nav a{transform:none;opacity:1}}
.visit .row p{opacity:1;transform:none;text-align:left;max-width:none}
.sizes{height:126px}
@media (max-width:980px){.pgrid{grid-template-columns:1fr 1fr;gap:10px}.pcard{min-height:0;padding:18px 16px}.pcard .id{font-size:46px}.pcard ul{font-size:15px}.pcard .pr{font-size:30px;padding-top:14px}.sizes{height:84px;gap:5px;overflow:hidden}.seg button{padding:10px 18px}}

.fnav{display:flex;flex-wrap:wrap;gap:10px 26px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid var(--line);font-size:15px;color:#D6D0C6}
.fnav a:hover{color:var(--amber)}.fnav a[aria-current=page]{color:var(--amber)}
.menu{justify-content:flex-start}
.menu nav a{font-size:clamp(26px,6.4vw,44px)}
.menu.open nav a:nth-child(n+8){transition-delay:.28s}
.team{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.team li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:19px}
.team b{font-family:var(--display);font-weight:700}.team span{color:var(--mut);font-size:16px}
span.big{cursor:default}

.legal{max-width:72ch}
.legal h2{font-size:clamp(24px,2.6vw,34px);margin:44px 0 14px}
.legal h2:first-child{margin-top:0}
.legal p{color:#3A352D;font-size:17px;line-height:1.65;margin-bottom:14px}
.legal a{text-decoration:underline;text-underline-offset:3px}
.legal a.btn{text-decoration:none;margin-top:10px}
.legal-note{color:#6B6458;font-size:15px;margin-bottom:26px}
.legal-note:empty{display:none}
.booth{width:min(360px,82%);margin:auto;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px rgba(244,225,154,.5),0 50px 100px -40px rgba(0,0,0,.9);will-change:transform;transition:transform .18s ease-out}
.booth img{width:100%;display:block}

/* package builder */
.builder{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;margin-bottom:34px;align-items:start}
.ctl{border:1.5px solid rgba(22,19,15,.16);border-radius:18px;padding:30px;background:#FFFDF6;display:grid;gap:28px}
.ctl .lab{font-family:var(--display);font-weight:700;font-size:20px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.ctl .lab b{color:var(--cran);font-size:34px;line-height:1;font-variant-numeric:tabular-nums}
.ctl input[type=range]{width:100%;height:40px;accent-color:var(--cran);cursor:pointer;margin-top:6px}
.pick{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pick button{min-width:56px;padding:11px 16px;border-radius:999px;border:1.5px solid rgba(22,19,15,.25);font-weight:600;transition:background .2s,color .2s}
.pick button[aria-pressed=true]{background:#16130F;color:var(--paper);border-color:#16130F}
.ctl .hint{font-size:14px;color:var(--cran);margin-top:10px;min-height:1.4em;font-weight:600}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stp{display:inline-flex;align-items:center;gap:14px;margin-top:12px}
.stp button{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(22,19,15,.25);font-size:22px;line-height:1;transition:background .2s,color .2s}
.stp button:hover{background:#16130F;color:var(--paper)}
.stp b{font-family:var(--display);font-size:28px;min-width:2ch;text-align:center;font-variant-numeric:tabular-nums}
.ck{display:flex;align-items:center;gap:12px;font-weight:600;cursor:pointer}
.ck input{width:22px;height:22px;accent-color:var(--cran)}
.board.est{position:sticky;top:96px;background:var(--pine);border:0;color:var(--ink);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 40px 80px -40px rgba(22,19,15,.7)}
.est .who{font-size:14px;color:#F4E19A;font-weight:600}
.board.est h3{font-size:clamp(34px,3.6vw,48px);margin:6px 0 0}
.wall2{display:flex;align-items:flex-end;gap:18px;min-height:150px;margin:20px 0 14px;flex-wrap:wrap}
.wall2 .stk{text-align:center;font-size:12px;color:#D6D0C6;font-weight:600}
.wall2 .stk i{display:block;background:linear-gradient(135deg,#F7F1E3,#D9CFB8);border-radius:2px;box-shadow:4px -4px 0 rgba(247,241,227,.4),8px -8px 0 rgba(247,241,227,.18);margin:10px auto 8px;animation:pop .45s cubic-bezier(.2,.8,.2,1)}
.wall2 .stk i.usb{width:22px;height:40px;border-radius:4px 4px 6px 6px;background:linear-gradient(180deg,#C9A24A 0 28%,#F7F1E3 28% 100%);box-shadow:none}
@keyframes pop{from{transform:scale(.6) rotate(-6deg);opacity:0}to{transform:none;opacity:1}}
.est .tot{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-top:1px solid rgba(247,241,227,.25);margin-top:10px;padding-top:18px}
.est .tot b{font-family:var(--display);font-size:clamp(40px,4.4vw,56px);color:#F4E19A;line-height:1;font-variant-numeric:tabular-nums}
.est .tax{font-size:13px;color:var(--mut);margin-top:8px}
.est .btn{margin-top:18px;width:100%;justify-content:center}
.pcard{cursor:pointer}
.pcard.rv.dim{opacity:.36}
.pcard.sel{border-color:#16130F;box-shadow:0 0 0 2px #16130F,0 34px 70px -34px rgba(22,19,15,.6)}
.pcard .flag{position:absolute;top:18px;right:18px;font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:var(--pine);color:#F4E19A;display:none}
.pcard.best .flag{display:block}
@media (max-width:980px){.builder{grid-template-columns:1fr}.board.est{position:static}.ctl{padding:22px;gap:22px}.wall2{min-height:110px}.pcard .flag{top:10px;right:10px;font-size:11px;padding:4px 8px}}
@media (prefers-reduced-motion:reduce){.wall2 .stk i{animation:none}}
