/* ============================================================
   TORQ — site additions: multi-page chrome, animated heroes,
   scroll-fx, galleries, page layouts. Loads AFTER torq.css.
   ============================================================ */

/* ---------- nav: brand + burger + mobile sheet ---------- */
.nav__brand{display:flex;align-items:center}
.nav__links a{white-space:nowrap}
.nav__order{padding:10px 22px;font-size:14px}
.nav__links a[aria-current="page"]{color:var(--fg)}
.nav__links a[aria-current="page"]::after{content:'';display:block;height:1px;background:var(--accent);margin-top:3px}
.nav__burger{display:none;flex-direction:column;gap:5px;width:34px;height:34px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer}
.nav__burger span{display:block;width:20px;height:1.6px;background:var(--fg);transition:transform .3s var(--ease),opacity .3s}
.nav__burger.x span:first-child{transform:translateY(3.3px) rotate(45deg)}
.nav__burger.x span:last-child{transform:translateY(-3.3px) rotate(-45deg)}
.nav__sheet{position:fixed;inset:64px 0 auto 0;z-index:99;background:color-mix(in srgb,var(--bg) 96%,transparent);
  -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid var(--line);
  transform:translateY(-12px);opacity:0;visibility:hidden;transition:all .3s var(--ease)}
.nav__sheet.open{transform:none;opacity:1;visibility:visible}
.nav__sheet ul{list-style:none;margin:0;padding:14px var(--edge) 26px;display:flex;flex-direction:column;gap:4px}
.nav__sheet a{display:block;padding:14px 0;font-family:var(--f-display);font-size:24px;font-weight:500;text-transform:uppercase;border-bottom:1px solid var(--line)}
.nav__sheet a.accent{color:var(--accent);border-bottom:0}
@media(max-width:1080px){
  .nav__links{display:none}
  .nav__burger{display:flex}
}
@media(max-width:560px){
  .nav__order{display:none}
}

/* ---------- nav quote button (mirrors .cart-btn) ---------- */
.quote-btn{position:relative;display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--fg);cursor:pointer;padding:8px;font-size:14px;font-weight:500}
.quote-btn[hidden]{display:none}
.quote-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.quote-count{position:absolute;top:0;right:-2px;min-width:17px;height:17px;padding:0 4px;background:var(--accent);color:#fff;border-radius:9px;font-family:var(--f-mono);font-size:10px;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .25s var(--ease)}
.quote-count.show{transform:scale(1)}

/* ---------- footer additions: social, contact, made-in ---------- */
.footer__brandcol{max-width:320px}
.footer__social{display:flex;gap:12px;margin-top:20px}
.footer__social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;color:var(--fg-dim);transition:color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.footer__social a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}
.footer__social svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.footer__made{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);margin-top:14px;line-height:1.5}
.footer__hq{width:100%;max-width:230px;border-radius:12px;margin-top:18px;border:1px solid var(--line)}
.footer__contact ul a{font-family:var(--f-mono);font-size:13px;letter-spacing:.02em}

/* ---------- footer v2 (rebuilt) ---------- */
.footer--v2{background:var(--bg);border-top:1px solid var(--line);padding:clamp(56px,7vw,96px) 0 26px;overflow:hidden;position:relative}
.footer--v2 .footer__top{display:flex;align-items:flex-end;justify-content:space-between;gap:30px 50px;flex-wrap:wrap;padding-bottom:clamp(38px,5vw,60px);border-bottom:1px solid var(--line)}
.footer--v2 .footer__top .eyebrow{color:var(--accent)}
.footer--v2 .footer__head{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:-.01em;font-size:clamp(34px,5vw,68px);line-height:.9;margin:16px 0 0}
.footer--v2 .footer__cols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px;padding:clamp(40px,5vw,60px) 0 clamp(28px,4vw,44px)}
.footer--v2 .footer__brandcol{max-width:340px}
.footer--v2 .footer__logo{height:26px;width:auto;margin-bottom:18px}
.footer--v2 h5{font-family:var(--f-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 16px}
.footer--v2 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.footer--v2 a{font-size:14px;color:var(--fg-dim);transition:color .2s}
.footer--v2 a:hover{color:var(--fg)}
.footer--v2 .btn--accent{color:#fff}
.footer--v2 .btn--accent:hover{color:#fff}
.footer--v2 .footer__tag{color:var(--fg-dim);font-size:14px;max-width:32ch;margin:0;line-height:1.65}
.footer--v2 .footer__contact a{font-family:var(--f-mono);font-size:13px;letter-spacing:.01em}
.footer--v2 .footer__wordmark{display:block;font-family:var(--f-display);font-weight:700;text-transform:uppercase;line-height:.78;letter-spacing:-.02em;font-size:clamp(96px,24vw,380px);color:transparent;-webkit-text-stroke:1px var(--line-strong);text-align:center;margin:clamp(8px,1.5vw,20px) 0 -.06em;user-select:none;pointer-events:none}
@supports not ((-webkit-text-stroke:1px #000)){.footer--v2 .footer__wordmark{color:var(--line);-webkit-text-stroke:0}}
.footer--v2 .footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--fg-faint)}
@media(max-width:880px){.footer--v2 .footer__cols{grid-template-columns:1fr 1fr;gap:32px}.footer--v2 .footer__brandcol{grid-column:1/-1}}
@media(max-width:520px){.footer--v2 .footer__cols{grid-template-columns:1fr}.footer--v2 .footer__top .btn{width:100%}}

/* ---------- quote drawer form ---------- */
.qform{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.qform input{width:100%;padding:13px 15px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;color:var(--fg);font-family:var(--f-body);font-size:15px;transition:border-color .2s var(--ease)}
.qform input::placeholder{color:var(--fg-faint)}
.qform input:focus{outline:none;border-color:var(--accent)}
.qform .btn{margin-top:4px}
.drawer__done svg{width:46px;height:46px;color:var(--accent);stroke:var(--accent)}
.drawer__done p{font-size:14px;color:var(--fg-dim);line-height:1.55;margin-top:6px;max-width:30ch}

/* ---------- pills ---------- */
.pill{padding:10px 18px;border:1px solid var(--line);border-radius:999px;font-family:var(--f-mono);font-size:13px;color:var(--fg-dim);letter-spacing:.04em;white-space:nowrap}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;max-width:920px}

/* ---------- contact form ---------- */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cform .full{grid-column:1/-1}
.cform input,.cform select,.cform textarea{width:100%;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--fg);font-family:var(--f-body);font-size:15px;transition:border-color .2s var(--ease)}
.cform textarea{min-height:150px;resize:vertical}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--accent)}
.cform ::placeholder{color:var(--fg-faint)}
.cform label.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--fg-dim);grid-column:1/-1;line-height:1.5}
.cform .check input{width:auto;margin-top:3px;accent-color:var(--accent)}
@media(max-width:640px){.cform{grid-template-columns:1fr}}
.cform__done{border:1px solid var(--accent);border-radius:var(--radius);padding:36px;text-align:center}
.cform__done svg{width:44px;height:44px;stroke:var(--accent-bright);fill:none;stroke-width:2;margin:0 auto 12px}

/* ---------- trust stripe ---------- */
.trust-stripe{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.trust-stripe .t{background:var(--bg);padding:24px 22px;display:flex;flex-direction:column;gap:6px}
.trust-stripe .t b{font-family:var(--f-display);font-size:19px;text-transform:uppercase;font-weight:600;letter-spacing:.01em}
.trust-stripe .t span{font-size:13px;color:var(--fg-dim);line-height:1.5}
@media(max-width:880px){.trust-stripe{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.trust-stripe{grid-template-columns:1fr}}

/* ---------- timeline ---------- */
.tl{position:relative;margin-top:30px;max-width:680px}
.tl::before{content:'';position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--line-strong)}
.tl__item{position:relative;padding:0 0 42px 44px}
.tl__item::before{content:'';position:absolute;left:0;top:5px;width:13px;height:13px;border-radius:50%;border:2px solid var(--accent);background:var(--bg)}
.tl__item:last-child{padding-bottom:0}
.tl__item:last-child::before{background:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent-bright) 60%,transparent)}
.tl__year{font-family:var(--f-mono);font-size:13px;color:var(--accent-bright);letter-spacing:.18em}
.tl__item h3{font-family:var(--f-display);text-transform:uppercase;font-size:23px;margin:6px 0 8px;font-weight:600}
.tl__item p{color:var(--fg-dim);margin:0;max-width:54ch;font-size:16px}

/* ---------- placeholder slot ---------- */
.slot{border:1.5px dashed var(--line-strong);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;color:var(--fg-faint);font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;text-align:center;padding:20px}

/* ---------- FOV star section ---------- */
.fovgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4.5vw,72px);align-items:start}
.fovgrid__stick{position:sticky;top:96px}
@media(max-width:880px){.fovgrid{grid-template-columns:1fr}.fovgrid__stick{position:static}}
.fov-big{font-family:var(--f-display);font-weight:600;font-size:clamp(54px,7.5vw,120px);line-height:1;text-transform:uppercase;margin:0 0 14px}
.fov-big em{font-style:normal;color:var(--accent-bright)}
.fov-arg{border-top:1px solid var(--line);padding:24px 0}
.fov-arg .fa-num{font-family:var(--f-mono);font-size:12px;color:var(--accent-bright);letter-spacing:.2em}
.fov-arg h3{font-family:var(--f-display);text-transform:uppercase;font-size:23px;margin:8px 0;font-weight:600}
.fov-arg p{color:var(--fg-dim);margin:0;font-size:16px}

/* ---------- adjustment cards ---------- */
.adj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
@media(max-width:880px){.adj-grid{grid-template-columns:1fr}}
.adj{border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:12px;background:var(--card)}
.adj h3{font-family:var(--f-display);text-transform:uppercase;font-size:23px;margin:0;font-weight:600}
.adj p{color:var(--fg-dim);margin:0;font-size:15px;line-height:1.55}
.adj .slot{min-height:150px;margin-top:auto}
.adj__shot{flex:none;margin-top:auto;width:100%;aspect-ratio:4/3;background:#f4f4f2;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center}
.adj__shot img{width:100%;height:100%;object-fit:cover}
.adj__range{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;color:var(--accent-bright)}

/* ---------- scroll-fx ---------- */
[data-scale]{transform:scale(calc(.93 + .07*var(--p,0)));opacity:calc(.35 + .65*var(--p,0));will-change:transform,opacity}
.fig{position:relative;overflow:hidden;border-radius:var(--radius)}
.fig img{display:block;width:100%;height:100%;object-fit:cover}
.fig--px{will-change:transform}
.fig--px img{height:124%;width:100%;object-fit:cover;margin-top:-12%}

/* ---------- PAGE HERO (cinematic, animated) ---------- */
.phero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#070809}
.phero__bg{position:absolute;inset:0;z-index:0}
.phero__bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);
  animation:kenburns 18s ease-in-out infinite alternate}
.phero__bg--fade img{opacity:0;animation:kenburns 18s ease-in-out infinite alternate, heroFade 1.6s var(--ease) .2s forwards}
@keyframes kenburns{from{transform:scale(1.05) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(0,-1.5%,0)}}
@keyframes heroFade{to{opacity:1}}
.phero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,8,9,.55) 0%,rgba(7,8,9,.15) 30%,rgba(7,8,9,.35) 62%,rgba(7,8,9,.92) 100%)}
.phero__inner{position:relative;z-index:2;color:#f5f5f3;padding-bottom:clamp(54px,9vh,120px);width:100%}
.phero .eyebrow{color:var(--accent-bright)}
.phero__title{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:-.015em;
  font-size:clamp(48px,8.5vw,140px);line-height:.9;margin:18px 0 0}
.phero__sub{color:rgba(245,245,243,.82);max-width:46ch;margin:24px 0 34px}
.phero__cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.phero__price{font-family:var(--f-mono);font-size:14px;color:rgba(245,245,243,.7)}
.phero__price b{color:#fff;font-weight:500}

/* line-mask headline reveal */
.lines{display:block}
.line-mask{display:block;overflow:hidden}
.line-mask>span{display:block}
@media(prefers-reduced-motion:no-preference){
  html.anim-ready .phero .line-mask>span{transform:translateY(110%);animation:lineUp .9s var(--ease) forwards}
  html.anim-ready .phero .line-mask:nth-child(1)>span{animation-delay:.15s}
  html.anim-ready .phero .line-mask:nth-child(2)>span{animation-delay:.28s}
  html.anim-ready .phero .line-mask:nth-child(3)>span{animation-delay:.41s}
  html.anim-ready .phero__rise{opacity:0;transform:translateY(20px);animation:riseIn .9s var(--ease) forwards}
  html.anim-ready .phero__rise--1{animation-delay:.5s}
  html.anim-ready .phero__rise--2{animation-delay:.62s}
  html.anim-ready .phero__rise--3{animation-delay:.74s}
}
@keyframes lineUp{to{transform:translateY(0)}}
@keyframes riseIn{to{opacity:1;transform:none}}
.phero__scrolldown{position:absolute;left:var(--edge);bottom:26px;z-index:3;font-family:var(--f-mono);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,245,243,.55);display:flex;align-items:center;gap:10px}
.phero__scrolldown i{display:block;width:1px;height:34px;background:linear-gradient(var(--accent-bright),transparent);animation:drop 1.8s var(--ease) infinite}

/* ---------- sub-page header (compact) ---------- */
.pagehead{padding:calc(64px + clamp(60px,9vw,120px)) 0 clamp(40px,5vw,70px);background:var(--bg)}
.pagehead .eyebrow{margin-bottom:18px}
.pagehead h1{font-size:clamp(44px,7vw,104px);text-transform:uppercase;font-weight:600;line-height:.92;letter-spacing:-.015em;font-family:var(--f-display)}
.pagehead p{margin-top:22px;max-width:52ch}

/* ---------- product reveal (home) ---------- */
.reveal-stage{background:var(--bg);padding:clamp(60px,8vw,140px) 0;text-align:center;overflow:hidden}
.reveal-stage .fig{max-width:min(900px,92vw);margin:0 auto;background:transparent;border-radius:0}
.reveal-stage img{width:100%;height:auto;object-fit:contain}
.reveal-stage__cap{max-width:24ch;margin:clamp(30px,4vw,56px) auto 0}

/* ---------- pillars (home → subpages) ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap)}
@media(max-width:900px){.pillars{grid-template-columns:1fr}}
.pillar{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:440px;border-radius:var(--radius);overflow:hidden;color:#f5f5f3;isolation:isolate;text-decoration:none}
.pillar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease)}
.pillar::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,8,9,.1),rgba(7,8,9,.85))}
.pillar:hover img{transform:scale(1.06)}
.pillar__body{padding:clamp(24px,2.4vw,36px)}
.pillar .eyebrow{color:var(--accent-bright)}
.pillar h3{font-size:clamp(26px,2.4vw,36px);text-transform:uppercase;margin:8px 0 8px;font-family:var(--f-display);font-weight:600}
.pillar p{font-size:15px;color:rgba(245,245,243,.8);margin:0 0 14px;max-width:38ch}
.pillar__link{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-bright);display:inline-flex;gap:8px;align-items:center}
.pillar:hover .pillar__link i{transform:translateX(4px)}
.pillar__link i{transition:transform .25s var(--ease)}

/* ---------- big media band (full-bleed photo + caption) ---------- */
.media-band{position:relative;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end}
.media-band__bg{position:absolute;inset:0;z-index:0}
.media-band__bg img{width:100%;height:100%;object-fit:cover}
.media-band__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,8,9,.25),transparent 35%,transparent 60%,rgba(7,8,9,.9))}
.media-band__inner{position:relative;z-index:2;color:#f5f5f3;padding-bottom:clamp(50px,7vw,100px);width:100%}
.media-band h2{font-size:clamp(34px,5vw,76px);text-transform:uppercase;font-weight:600;font-family:var(--f-display);line-height:.95;max-width:18ch}
.media-band p{color:rgba(245,245,243,.82);max-width:46ch;margin-top:18px}
.media-band .eyebrow{color:var(--accent-bright)}

/* ---------- split (text + image), alternating ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,90px);align-items:center}
.split--flip .split__media{order:-1}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:30px}.split--flip .split__media{order:0}}
.split__media{aspect-ratio:4/3}
.split__media.tall{aspect-ratio:3/4}
.split h2{font-size:clamp(30px,4vw,60px);text-transform:uppercase;font-weight:600;font-family:var(--f-display);line-height:.96}
.split .eyebrow{margin-bottom:16px}
.split p{margin-top:18px}

/* ---------- 6DOF axis rows (motion page) ---------- */
.axis{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center;
  padding:clamp(40px,6vw,100px) 0;border-top:1px solid var(--line)}
.axis:last-child{border-bottom:1px solid var(--line)}
.axis--flip .axis__media{order:-1}
@media(max-width:860px){.axis{grid-template-columns:1fr;gap:26px}.axis--flip .axis__media{order:0}}
.axis__media{aspect-ratio:4/3}
.axis__tag{font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.axis__name{font-family:var(--f-display);font-size:clamp(44px,6vw,92px);font-weight:600;text-transform:uppercase;line-height:.9;margin:10px 0 4px}
.axis__range{font-family:var(--f-mono);font-size:clamp(20px,2vw,28px);color:var(--fg);margin:0 0 18px}
.axis__range small{color:var(--fg-faint);font-size:.6em;margin-left:8px}
.axis ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.axis li{font-size:13px;color:var(--fg-dim);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-family:var(--f-mono);letter-spacing:.02em}

/* ---------- gallery (experience) ---------- */
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap);grid-auto-flow:dense}
.gallery .fig{min-height:240px}
.g-7{grid-column:span 7}.g-5{grid-column:span 5}.g-6{grid-column:span 6}
.g-4{grid-column:span 4}.g-8{grid-column:span 8}.g-12{grid-column:span 12}
.gallery .tall{aspect-ratio:3/4}
@media(max-width:860px){.gallery{grid-template-columns:1fr}.gallery .fig{grid-column:1/-1!important}}

/* ---------- control page ---------- */
.ui-shot{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}
.ui-shot img{width:100%;display:block}

/* ---------- inline stat strip ---------- */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
@media(max-width:680px){.stat-strip{grid-template-columns:repeat(2,1fr)}}
.stat-strip .s{background:var(--bg);padding:clamp(24px,2.4vw,38px) 20px;display:flex;flex-direction:column;gap:6px}
.stat-strip .s b{font-family:var(--f-display);font-size:clamp(30px,3.6vw,52px);font-weight:600;line-height:1}
.stat-strip .s b small{font-size:.42em;color:var(--fg-dim);font-weight:400;font-family:var(--f-mono);margin-left:3px}
.stat-strip .s > span{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-faint)}

/* cart thumb as img */
.cart-line__thumb img{width:100%;height:100%;object-fit:cover}
.drawer__empty .btn{font-size:13px;padding:11px 20px}

/* configure media as img */
.buy__media img{width:100%;height:100%;object-fit:cover}

/* ---------- machine gallery: one feature image + a row of three, lightbox zoom ---------- */
.machine-gallery{display:flex;flex-direction:column;gap:var(--gap)}
.mg-zoom{display:block;width:100%;border:0;margin:0;padding:0;background:var(--card);border-radius:var(--radius);overflow:hidden;cursor:zoom-in;position:relative}
.mg-zoom img{display:block;transition:transform .6s var(--ease)}
.mg-zoom:hover img{transform:scale(1.04)}
.mg-zoom::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .35s var(--ease);pointer-events:none}
.mg-zoom:hover::after{background:rgba(0,0,0,.34)}
.mg-main{margin:0}
.mg-main .mg-zoom{width:100%;background:var(--card)}
.mg-main .mg-zoom img{width:100%;height:clamp(460px,68vh,800px);object-fit:cover;object-position:center}
.mg-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin:0}
.mg-row--four{grid-template-columns:repeat(4,1fr)}
.mg-item{margin:0}
.mg-item .mg-zoom{aspect-ratio:3/2}
.mg-item .mg-zoom img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.mg-row{grid-template-columns:1fr}}

/* ---------- lightbox (gallery zoom) ---------- */
.lightbox{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:rgba(7,8,9,.94);backdrop-filter:blur(8px)}
.lightbox.open{display:flex}
.lightbox__img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 40px 100px -30px #000}
.lightbox__btn{position:absolute;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:#f5f5f3;cursor:pointer;
  width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;transition:background .2s var(--ease),border-color .2s}
.lightbox__btn:hover{background:rgba(31,211,203,.18);border-color:var(--accent-bright)}
.lightbox__close{top:24px;right:26px;font-size:18px}
.lightbox__prev{left:clamp(8px,3vw,40px);top:50%;transform:translateY(-50%)}
.lightbox__next{right:clamp(8px,3vw,40px);top:50%;transform:translateY(-50%)}
.lightbox__count{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-family:var(--f-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint)}

/* ---------- word-by-word headline reveal (platform-style, site-wide) ---------- */
[data-head] .fw{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
[data-head] .fw i{display:inline-block;font-style:normal}
@media(prefers-reduced-motion:no-preference){
  html.anim-ready [data-head] .fw i{transform:translateY(115%);transition:transform .7s var(--ease)}
  html.anim-ready [data-head].words-in .fw i{transform:none}
}

/* header Instagram icon */
.nav__ig{display:flex;align-items:center;justify-content:center;color:var(--fg);transition:color .25s var(--ease)}
.nav__ig svg{width:20px;height:20px;stroke:currentColor;fill:none}
.nav__ig:hover{color:var(--accent)}
