/* Ligna theme — styles (moved unchanged from index.html) */
/* ============ TOKENS ============ */
:root{
  --bg:#fff;--ink:#1a1a1a;--mute:#6f6f6f;--line:#e5e5e3;--grey:#f1f1ef;--black:#0e0e0e;
  --g:clamp(16px,3vw,44px);--gap:clamp(12px,1.6vw,24px);--hh:68px;
  --ease:cubic-bezier(.77,0,.18,1);--soft:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{font-family:'Hanken Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:300;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,video,canvas,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul{list-style:none}
[hidden]{display:none!important}
::selection{background:#1a1a1a;color:#fff}
:focus-visible{outline:1px solid currentColor;outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{padding-left:var(--g);padding-right:var(--g)}
.sec{padding-top:clamp(84px,11vw,168px)}
.sec-b{padding-bottom:clamp(84px,11vw,168px)}

/* ============ TYPE ============ */
.t-xl{font-weight:200;font-size:clamp(34px,4.4vw,64px);line-height:1.02;text-transform:uppercase;letter-spacing:-.01em}
.t-l{font-weight:200;font-size:clamp(24px,2.5vw,38px);line-height:1.18;letter-spacing:-.005em}
.t-s{font-weight:400;font-size:14px;line-height:1.35;letter-spacing:.03em;text-transform:uppercase}
.t-xs{font-weight:400;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.txt{color:var(--mute);font-size:14.5px;line-height:1.65;max-width:68ch}
.txt+.txt{margin-top:1em}
.pill{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 16px;border:1px solid currentColor;border-radius:999px;font-size:11.5px;font-weight:400;letter-spacing:.06em;white-space:nowrap;transition:background .35s,color .35s,border-color .35s}
.pill:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.on-dark .pill:hover,.pill--light:hover{background:#fff;border-color:#fff;color:#111}
.pill--solid{background:var(--ink);border-color:var(--ink);color:#fff}
.pill--solid:hover{background:transparent;color:var(--ink)}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* ============ MEDIA ============ */
.media{position:relative;overflow:hidden;background:linear-gradient(135deg,#dedcd7 0%,#c9c6c0 55%,#b9b6af 100%)}
.media>img,.media>video{width:100%;height:100%;object-fit:cover}
.media>img.is-broken{opacity:0}
.js .rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--soft),transform 1.1s var(--soft)}
.js .rv.in{opacity:1;transform:none}
.js .rv-m>.media,.js .rv-m.media>img{transition:clip-path 1.4s var(--ease),transform 1.8s var(--soft)}
.js .rv-m>.media{clip-path:inset(100% 0 0 0)}
.js .rv-m.in>.media{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.rv,.rv-m>.media{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}}

/* ============ HEADER ============ */
.hdr{position:fixed;inset:0 0 auto;z-index:60;height:var(--hh);display:flex;align-items:center;justify-content:space-between;padding:0 var(--g);color:var(--ink);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);transition:background .6s,color .6s,border-color .6s}
.hdr::before{content:"";position:absolute;inset:0 0 -40px;background:linear-gradient(rgba(0,0,0,.38),rgba(0,0,0,0));opacity:0;transition:opacity .6s;pointer-events:none;z-index:-1}
.hdr.is-clear{background:transparent;color:#fff;border-color:transparent}
.hdr.is-clear::before{opacity:1}
.hdr.is-drop{background:#fff;color:var(--ink);border-color:var(--line)}
.hdr.is-drop::before{opacity:0}
.logo{display:inline-flex;align-items:center;font-weight:300;font-size:21px;letter-spacing:.46em;margin-right:-.46em;line-height:1}
.logo.has-img{margin-right:0;letter-spacing:0}
.logo img{display:block;height:auto;width:auto;max-height:36px;max-width:150px;object-fit:contain;filter:brightness(0);transition:filter .6s}
.ft .logo img{max-height:44px;max-width:180px}
.hdr.is-clear:not(.is-drop) .logo img{filter:brightness(0) invert(1)}
body.menu-open .hdr .logo img{filter:brightness(0)}
.nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);font-size:11.5px;font-weight:400;letter-spacing:.12em;text-transform:uppercase}
.nav a,.nav button.nav-col{position:relative;padding:6px 0;letter-spacing:inherit;text-transform:inherit;font-size:inherit;font-weight:inherit}
.nav a:not(.pill)::after,.nav-col::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:not(.pill):hover::after,.nav-col:hover::after,.nav a.is-cur::after{transform:scaleX(1);transform-origin:left}
.nav .pill{height:30px;padding:0 15px;font-size:10.5px}
.burger{display:none;width:34px;height:34px;position:relative}
.burger span{position:absolute;left:6px;right:6px;height:1px;background:currentColor;transition:transform .5s var(--ease),top .5s var(--ease)}
.burger span:nth-child(1){top:13px}.burger span:nth-child(2){top:20px}
.drop{position:fixed;left:0;right:0;top:var(--hh);z-index:59;background:#fff;border-bottom:1px solid var(--line);padding:34px var(--g) 42px;display:grid;grid-template-columns:1.1fr 3fr;gap:var(--g);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .45s var(--soft),transform .45s var(--soft),visibility 0s .45s}
.drop.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .45s var(--soft),transform .45s var(--soft)}
.drop ul{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 40px}
.drop ul a{display:flex;gap:14px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;transition:padding .4s var(--soft),color .3s}
.drop ul a span{font-size:10.5px;color:var(--mute);letter-spacing:.1em}
.drop ul a:hover{padding-left:8px}
.mnav{position:fixed;inset:0;z-index:58;background:#fff;color:var(--ink);padding:calc(var(--hh) + 26px) var(--g) 34px;display:flex;flex-direction:column;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .5s var(--soft),visibility 0s .5s}
.mnav.is-open{opacity:1;visibility:visible;transition:opacity .5s var(--soft)}
.mnav a.big{display:block;font-weight:200;font-size:34px;line-height:1.3;text-transform:uppercase}
.mnav .sub{margin:10px 0 18px;display:grid;gap:4px}
.mnav .sub a{font-size:15px;color:var(--mute)}
.mnav .foot{margin-top:auto;padding-top:28px;font-size:13px;color:var(--mute);display:grid;gap:4px}
body.menu-open .hdr{background:#fff;color:var(--ink);border-color:var(--line)}
body.menu-open .hdr::before{opacity:0}
body.menu-open .burger span:nth-child(1){top:17px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){top:17px;transform:rotate(-45deg)}
@media (max-width:1000px){.nav{display:none}.burger{display:block}.drop{display:none}}

/* ============ HERO (scroll-scrubbed canvas) ============ */
.hero{position:relative;height:520vh;background:#0b0b0b}
.hero__stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;color:#fff}
.hero__cv{position:absolute;inset:0;width:100%;height:100%}
.hero__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,0) 28%,rgba(0,0,0,0) 58%,rgba(0,0,0,.5) 100%)}
.hero__a{position:absolute;left:var(--g);right:var(--g);bottom:clamp(36px,7vh,84px);will-change:opacity,transform}
.hero__a h1{font-weight:200;font-size:clamp(64px,13vw,210px);line-height:.86;letter-spacing:.16em;margin-left:-.04em}
.hero__a p{margin-top:18px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;opacity:.85}
.hero__b{position:absolute;left:var(--g);bottom:clamp(36px,7vh,84px);max-width:560px;opacity:0;will-change:opacity,transform}
.hero__b .t-xs{opacity:.75}
.hero__b h2{font-weight:200;font-size:clamp(28px,3.4vw,52px);line-height:1.08;margin-top:14px;text-transform:uppercase}
.hero__cue{position:absolute;right:var(--g);bottom:clamp(36px,7vh,84px);display:flex;align-items:center;gap:12px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.hero__cue i{display:block;width:1px;height:46px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.hero__cue i::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:#fff;animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:110%}}
.hero__load{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#fff;transform-origin:left;transform:scaleX(0);transition:transform .4s linear,opacity .8s .3s}
.hero__load.done{opacity:0}
@media (max-width:760px){.hero{height:400vh}.hero__cue{display:none}}

/* ============ CENTRED MEDIA (S1, S4) ============ */
.cm{width:min(86%,1500px);margin:0 auto}
.cm__media{aspect-ratio:16/9;cursor:pointer}
.cm__media .play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:#111;transition:transform .6s var(--soft),background .4s}
.cm__media:hover .play{transform:scale(1.12)}
.cm__media .play svg{width:16px;height:16px;margin-left:3px}
.cm__body{margin-top:26px;max-width:880px}
.cm__body .txt{margin-top:10px}
.cm--film{width:min(68%,1200px)}
.cm--film .cm__media{aspect-ratio:16/8.4}
@media (max-width:760px){.cm,.cm--film{width:auto;margin:0 var(--g)}.cm--film .cm__media{aspect-ratio:16/9}}

/* ============ COLLECTION CAROUSEL (2-up reveal) ============ */
.head{display:block;max-width:1100px}
.head .txt{margin-top:18px;max-width:92ch}
.cc{position:relative;margin-top:clamp(36px,4vw,56px);padding:0 var(--g)}
.cc__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.cc__slot{position:relative;overflow:hidden}
.cc__layer{background:#fff}
.cc__layer.is-in{position:absolute;inset:0;z-index:2}
.cc__card{display:block}
.cc__card .media{aspect-ratio:3/2}
.cc__card .media img{transition:transform 1.6s var(--soft)}
.cc__card:hover .media img{transform:scale(1.035)}
.cc__body{padding-top:20px;min-height:150px}
.cc__body .txt{margin-top:6px;font-size:13.5px}
.cc__body .pill{margin-top:16px}
.cc__arrow{position:absolute;z-index:5;top:calc((100% - 150px) / 2 - 24px);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.88);display:grid;place-items:center;color:#111;transition:background .35s,transform .5s var(--soft)}
.cc__arrow:hover{background:#fff;transform:scale(1.06)}
.cc__arrow svg{width:18px;height:18px}
.cc__arrow--p{left:calc(var(--g) + 14px)}
.cc__arrow--n{right:calc(var(--g) + 14px)}
.cc__count{position:absolute;right:var(--g);top:-34px;font-size:11px;letter-spacing:.14em;color:var(--mute)}
@media (max-width:760px){.cc__row{grid-template-columns:1fr}.cc__slot--2{display:none}}

/* ============ FULL-BLEED (S3, spotlight intro, showroom, HQ) ============ */
.fb{position:relative;height:clamp(520px,56.25vw,100vh);overflow:hidden;color:#fff}
.fb>.media{position:absolute;inset:0}
.fb>.media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.55))}
.fb__cap{position:absolute;left:var(--g);bottom:clamp(28px,4.5vw,64px);max-width:560px;z-index:2}
.fb__cap .txt{color:rgba(255,255,255,.86);margin-top:8px}
.fb__cap .pill{margin-top:18px}
.fb--film>.media{cursor:pointer}
.fb__play{position:absolute;right:var(--g);bottom:clamp(28px,4.5vw,64px);z-index:2;display:flex;align-items:center;gap:10px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase}
.fb__play b{width:42px;height:42px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-weight:300}
@media (max-width:760px){.fb{height:78vh}.fb__play{display:none}}

/* ============ NEWS (mixed widths) ============ */
.news__top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.news__nav{display:flex;gap:8px}
.rbtn{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:border-color .3s,background .3s}
.rbtn:hover{border-color:var(--ink)}
.rbtn svg{width:15px;height:15px}
.news__track{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 var(--g);margin-top:clamp(32px,3.6vw,52px);overscroll-behavior-x:contain}
.news__track::-webkit-scrollbar{display:none}
.nc{flex:0 0 auto;scroll-snap-align:start;scroll-margin-left:var(--g)}
.nc .media{height:clamp(280px,30vw,460px)}
.nc--s{width:clamp(220px,21vw,320px)}.nc--m{width:clamp(260px,29vw,440px)}.nc--l{width:clamp(300px,40vw,620px)}
.nc .media img{transition:transform 1.6s var(--soft)}
.nc:hover .media img{transform:scale(1.04)}
.nc h3{margin-top:16px}
.nc .txt{font-size:13px;margin-top:4px;max-width:46ch}
.nc--cat .media{background:#111;display:grid;place-items:center}
.nc--cat .media b{color:#fff;font-weight:200;font-size:clamp(30px,3.4vw,52px);letter-spacing:.3em;margin-right:-.3em}
@media (max-width:760px){.nc--s,.nc--m{width:66vw}.nc--l{width:84vw}}

/* ============ SPOTLIGHT (pinned, dots) ============ */
.spot{position:relative;height:calc(var(--n,4) * 100vh)}
.spot__stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#fff}
.spot__media{position:absolute;left:50%;top:calc(50% + var(--hh) / 2);transform:translate(-50%,-50%);height:min(74vh,880px);aspect-ratio:3/4;max-width:calc(100% - 2 * var(--g))}
.spot__fig{position:absolute;inset:0;opacity:0;transform:scale(1.05);transition:opacity 1s var(--soft),transform 1.6s var(--soft)}
.spot__fig.is-on{opacity:1;transform:none;z-index:1}
.spot__text{position:absolute;left:var(--g);bottom:clamp(30px,6vh,70px);width:min(26vw,360px)}
.spot__item{position:absolute;left:0;bottom:0;width:100%;opacity:0;transform:translateY(16px);transition:opacity .8s var(--soft),transform .8s var(--soft);pointer-events:none}
.spot__item.is-on{opacity:1;transform:none;pointer-events:auto}
.spot__item .t-l{margin-top:10px}
.spot__item .txt{margin-top:10px;font-size:13.5px}
.spot__dots{position:absolute;right:var(--g);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px}
.spot__dots button{width:10px;height:10px;border-radius:50%;border:1px solid #9a9a9a;transition:background .4s,border-color .4s,transform .4s}
.spot__dots button.is-on{background:var(--ink);border-color:var(--ink);transform:scale(1.15)}
@media (max-width:900px){
  .spot__media{top:calc(var(--hh) + 18px);transform:translateX(-50%);height:52vh}
  .spot__text{left:var(--g);right:56px;width:auto;bottom:28px;height:200px}
}

/* ============ ABOUT / PROJECTS / NEWSLETTER / BANDS ============ */
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--g);align-items:end}
.about__grid .txt{max-width:60ch}
.proj{display:grid;grid-template-columns:1fr 2fr 1fr;gap:var(--gap);margin-top:clamp(36px,4vw,56px)}
.proj a .media{height:clamp(300px,34vw,560px)}
.proj a .media img{transition:transform 1.6s var(--soft)}
.proj a:hover .media img{transform:scale(1.04)}
.proj h3{margin-top:16px}
.proj p{font-size:13px;color:var(--mute)}
@media (max-width:760px){.about__grid{grid-template-columns:1fr}.proj{grid-template-columns:1fr}.proj a .media{height:62vw}}
.nl{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--g);align-items:end;border-top:1px solid var(--line);padding-top:clamp(40px,5vw,72px)}
.nl form{display:grid;gap:14px}
.nl__row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:10px}
.nl__row input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:17px;font-weight:300;padding:6px 0}
.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--mute);line-height:1.5}
.check input{margin-top:3px;accent-color:#111}
.check a{text-decoration:underline;text-underline-offset:2px}
.msg{font-size:13px;min-height:1.4em}
@media (max-width:760px){.nl{grid-template-columns:1fr}}
.band{background:var(--grey);margin-top:clamp(84px,11vw,168px);padding:clamp(56px,7vw,100px) var(--g)}
.band__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:var(--g)}
.band h3{margin-bottom:10px}
.band p,.band a{font-size:14px;color:#4a4a4a}
.band a:hover{color:var(--ink)}
@media (max-width:900px){.band__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.band__grid{grid-template-columns:1fr}}
.stats{background:var(--black);color:#fff;padding:clamp(56px,7vw,100px) var(--g);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g)}
.stats b{display:block;font-weight:200;font-size:clamp(40px,5vw,78px);line-height:1}
.stats span{display:block;margin-top:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr;row-gap:44px}}

/* ============ FOOTER ============ */
.ft{background:#ebebe8;padding:clamp(60px,7vw,100px) var(--g) 28px;font-size:13.5px}
.ft__top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap;padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid #d4d4d0}
.ft__top p{color:#5c5c5c;max-width:46ch;margin-top:14px}
.ft__cols{display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:var(--g);padding:clamp(40px,5vw,64px) 0}
.ft__cols h4{font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;color:#1a1a1a}
.ft__cols li{margin-bottom:7px}
.ft__cols a,.ft__cols p{color:#555}
.ft__cols a:hover{color:#111}
.soc{display:flex;gap:10px;margin-top:4px}
.soc a{width:38px;height:38px;border:1px solid #c7c7c2;border-radius:50%;display:grid;place-items:center;color:#333;transition:background .3s,color .3s,border-color .3s}
.soc a:hover{background:#111;color:#fff;border-color:#111}
.soc svg{width:15px;height:15px}
.ft__word{font-weight:200;font-size:clamp(70px,19vw,330px);line-height:.8;letter-spacing:.2em;padding-left:.2em;color:#d9d9d5;text-align:center;overflow:hidden;user-select:none;padding:10px 0 26px}
.ft__bot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:11.5px;color:#6b6b6b;letter-spacing:.03em}
.ft__bot a:hover{color:#111}
@media (max-width:900px){.ft__cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft__cols{grid-template-columns:1fr}}

/* ============ INNER PAGES ============ */
.ph{position:relative}
.ph--txt{padding:calc(var(--hh) + clamp(70px,9vw,140px)) var(--g) 0}
.ph--txt .txt{margin-top:20px}
.ph--img{height:88vh;height:88svh;min-height:520px;color:#fff;overflow:hidden}
.ph--img>.media{position:absolute;inset:0}
.ph--img>.media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,0) 30%,rgba(0,0,0,0) 50%,rgba(0,0,0,.55))}
.ph__cap{position:absolute;left:var(--g);right:var(--g);bottom:clamp(30px,5vw,64px);z-index:2}
.ph__cap p{margin-top:12px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.86}
.crumb{font-size:11px!important;letter-spacing:.16em!important;margin:0 0 14px!important;opacity:.8}
.crumb a:hover{text-decoration:underline}
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--g)}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.feat{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:clamp(56px,6vw,90px)}
.feat li{border-top:1px solid var(--ink);padding-top:16px;font-size:14px}
.feat li span{display:block;font-size:10.5px;letter-spacing:.14em;color:var(--mute);margin-bottom:8px}
@media (max-width:760px){.feat{grid-template-columns:1fr 1fr}}
.sys{margin-top:clamp(56px,6vw,90px);display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sys .t-xs{margin-right:14px;color:var(--mute)}
.sys span.tag{border:1px solid var(--line);border-radius:999px;padding:6px 16px;font-size:13px}
.gal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:var(--gap);margin-top:clamp(56px,6vw,90px)}
.gal .g1{grid-row:1 / 3;min-width:0}
.gal .g1 .media{height:100%}
.gal .g2,.gal .g3{min-width:0}
.gal .g2 .media,.gal .g3 .media{aspect-ratio:4/3}
@media (max-width:760px){.gal{grid-template-columns:1fr}.gal .g1{grid-row:auto}.gal .g1 .media{height:auto;aspect-ratio:4/3}}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,5vw,72px) var(--gap);margin-top:clamp(48px,5vw,80px)}
.cgrid a .media{aspect-ratio:4/3}
.cgrid a .media img{transition:transform 1.6s var(--soft)}
.cgrid a:hover .media img{transform:scale(1.035)}
.cgrid .meta{display:flex;justify-content:space-between;gap:16px;margin-top:18px;align-items:baseline}
.cgrid .meta span{font-size:11px;letter-spacing:.14em;color:var(--mute)}
.cgrid .txt{margin-top:6px;font-size:13.5px}
.more3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:clamp(36px,4vw,56px)}
.more3 .media{aspect-ratio:4/3}
.more3 h3{margin-top:14px}
@media (max-width:760px){.cgrid,.more3{grid-template-columns:1fr}}
.pn{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:clamp(70px,8vw,120px);padding-top:26px;padding-bottom:clamp(70px,8vw,120px)}
.pn a{display:grid;gap:4px}
.pn a span{font-size:10.5px;letter-spacing:.16em;color:var(--mute);text-transform:uppercase}
.pn a b{font-weight:200;font-size:clamp(20px,2.2vw,30px)}
.pn a:last-child{text-align:right}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g);margin-top:clamp(56px,6vw,90px)}
.vals li{border-top:1px solid var(--ink);padding-top:18px}
.vals .txt{margin-top:10px;font-size:14px}
@media (max-width:760px){.vals{grid-template-columns:1fr}}
.contact{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(40px,6vw,110px);padding-bottom:clamp(84px,11vw,160px)}
.cinfo dl{display:grid;gap:26px;margin-top:34px}
.cinfo dt{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.cinfo dd{font-size:16px;line-height:1.5}
.cinfo dd a:hover{text-decoration:underline;text-underline-offset:3px}
.map{margin-top:34px;aspect-ratio:4/3;background:var(--grey);border:0;width:100%;filter:grayscale(1) contrast(1.05)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px;align-content:start}
.form .full{grid-column:1 / -1}
.fld{display:grid;gap:6px}
.fld label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.fld input,.fld select,.fld textarea{border:0;border-bottom:1px solid #bdbdb8;background:transparent;padding:8px 0 10px;font-size:16px;font-weight:300;border-radius:0;outline:0;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.fld select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23111'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 4px center}
.fld textarea{min-height:120px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--ink)}
.hp{position:absolute;left:-9999px;opacity:0}
@media (max-width:860px){.contact{grid-template-columns:1fr}.form{grid-template-columns:1fr}}
.legal{max-width:820px;padding-bottom:clamp(84px,11vw,160px)}
.legal h2{font-weight:400;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin:44px 0 12px}
.legal p,.legal li{color:#555;font-size:15px;line-height:1.75}
.legal ul{list-style:disc;padding-left:20px;margin:8px 0}
.legal a{text-decoration:underline;text-underline-offset:3px}

/* ============ LIGHTBOX ============ */
.lb{position:fixed;inset:0;z-index:90;background:rgba(8,8,8,.96);display:grid;place-items:center;padding:clamp(16px,4vw,60px);opacity:0;visibility:hidden;transition:opacity .5s var(--soft),visibility 0s .5s}
.lb.is-open{opacity:1;visibility:visible;transition:opacity .5s var(--soft)}
.lb video{width:min(100%,1600px);max-height:86vh;background:#000}
.lb__x{position:absolute;top:18px;right:var(--g);color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;display:flex;gap:10px;align-items:center}
.lb__x i{width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:18px;font-weight:200}

/* ============ CAREERS ============ */
.jobs{margin-top:clamp(36px,4vw,56px);border-top:1px solid var(--ink)}
.job{border-bottom:1px solid var(--line)}
.job summary{list-style:none;display:grid;grid-template-columns:1fr auto 22px;gap:var(--g);align-items:center;padding:clamp(20px,2.2vw,30px) 0;cursor:pointer}
.job summary::-webkit-details-marker{display:none}
.job summary h3{font-weight:200;font-size:clamp(20px,2.1vw,30px);line-height:1.2;transition:padding .4s var(--soft)}
.job summary:hover h3{padding-left:8px}
.job__meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-align:right}
.job summary i{position:relative;width:22px;height:22px}
.job summary i::before,.job summary i::after{content:"";position:absolute;left:3px;right:3px;top:50%;height:1px;background:currentColor;transition:transform .5s var(--ease)}
.job summary i::after{transform:rotate(90deg)}
.job[open] summary i::after{transform:rotate(0)}
.job__body{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--g);padding:0 0 clamp(28px,3vw,44px);align-items:start}
.job__body .txt>*+*{margin-top:1em}
.job__body .txt ul{list-style:disc;padding-left:20px}
.job__body .txt ol{padding-left:20px}
.job__body .pill{height:38px;padding:0 22px}
.jobs__none{margin-top:24px;max-width:72ch}
@media (max-width:760px){.job summary{grid-template-columns:1fr 22px;gap:8px 16px}.job__meta{grid-column:1;grid-row:2;text-align:left}.job summary i{grid-column:2;grid-row:1 / 3}.job__body{grid-template-columns:1fr}}
.flabel{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.flabel small{margin-left:12px;letter-spacing:.06em;text-transform:none;font-size:12px}
.file__in{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.fld .file{display:flex;gap:14px;align-items:center;border-bottom:1px solid #bdbdb8;padding:6px 0 10px;cursor:pointer;font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink)}
.fld .file [data-file-name]{color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.file__in:focus-visible+.file .pill{outline:1px solid currentColor;outline-offset:3px}
.fld .file:hover .pill{background:var(--ink);border-color:var(--ink);color:#fff}

/* ============ CATALOGUE OTP DIALOG ============ */
.otp{position:fixed;inset:0;z-index:95;background:rgba(14,14,14,.55);display:grid;place-items:center;padding:16px;opacity:0;visibility:hidden;transition:opacity .45s var(--soft),visibility 0s .45s}
.otp.is-open{opacity:1;visibility:visible;transition:opacity .45s var(--soft)}
.otp__panel{position:relative;background:#fff;width:min(100%,560px);max-height:calc(100vh - 32px);max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(28px,4vw,48px);transform:translateY(18px);transition:transform .6s var(--soft)}
.otp.is-open .otp__panel{transform:none}
.otp__x{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:200;transition:border-color .3s}
.otp__x:hover{border-color:var(--ink)}
.otp h2{margin-top:10px;padding-right:40px}
.otp .form{margin-top:22px;gap:22px 20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.otp .fld input,.otp .fld select{width:100%;min-width:0}
.otp [data-otp="done"]{margin-top:18px}
.otp .txt{max-width:none}
.tel{display:flex;align-items:flex-end;gap:10px}
.tel span{border-bottom:1px solid #bdbdb8;padding:8px 0 10px;font-size:16px;color:var(--mute)}
.tel input{flex:1;min-width:0}
.fld .otp__code{font-size:26px;letter-spacing:.5em}
.otp__row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.otp__row .pill{height:40px;padding:0 26px}
.otp__links{gap:22px;margin-top:-6px}
.linkbtn{font-size:12.5px;color:var(--mute);text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:var(--ink)}
.linkbtn:disabled{opacity:.55;cursor:default;text-decoration:none}
body.otp-open{overflow:hidden}
@media (max-width:860px){.otp .form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:520px){.otp .form{grid-template-columns:1fr}}

/* page transition */
#main .page{animation:pgin .8s var(--soft)}
@keyframes pgin{from{opacity:0}to{opacity:1}}

/* ============ WORDPRESS ADMIN BAR (logged-in users only) ============ */
body.admin-bar .hdr{top:32px}
body.admin-bar .drop{top:calc(var(--hh) + 32px)}
body.admin-bar .mnav{padding-top:calc(var(--hh) + 58px)}
@media screen and (max-width:782px){
  body.admin-bar .hdr{top:46px}
  body.admin-bar .drop{top:calc(var(--hh) + 46px)}
  body.admin-bar .mnav{padding-top:calc(var(--hh) + 72px)}
}
@media screen and (max-width:600px){ #wpadminbar{position:fixed} }

