/* ───────── ALPINE MI — Shared Styles ───────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#FFFFFF;
  --paper-2:#F2F2F2;
  --ink:#000000;
  --ink-2:#0A0A0A;
  --mid:#7A7A7A;
  --teal:#00E5C2;
  --rule:rgba(0,0,0,0.12);
  --rule-strong:rgba(0,0,0,0.4);
  --f:'Inter',system-ui,sans-serif;
  --fd:'Space Grotesk','Inter',system-ui,sans-serif;
  --fm:'JetBrains Mono',ui-monospace,monospace;
  --ease:cubic-bezier(0.76,0,0.24,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --pad:2rem;
}
html{font-size:16px;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--f);font-weight:400;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}

/* ── LOADER ── */
.loader{position:fixed;inset:0;z-index:1000;background:var(--ink);color:var(--paper);display:grid;grid-template-rows:1fr auto;padding:var(--pad);transition:transform 1.1s var(--ease);pointer-events:none}
.loader::before{content:'';position:absolute;left:var(--pad);right:var(--pad);bottom:calc(var(--pad) + 5rem);height:1px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease)}
.loader.active::before{transform:scaleX(1)}
.loader.out{transform:translateY(-101%)}
.loader-top{align-self:end;font-family:var(--fd);font-weight:700;font-size:clamp(5rem,15vw,14rem);line-height:.9;letter-spacing:-.06em}
.loader-top em{font-style:normal;font-weight:400;color:var(--teal)}
.loader-count{font-variant-numeric:tabular-nums;display:inline-block;min-width:3ch}
.loader-bot{display:flex;justify-content:space-between;align-items:flex-end;padding-top:2rem;border-top:1px solid rgba(255,255,255,.18);font-family:var(--fm);font-size:.66rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.loader-bot strong{color:var(--paper);font-weight:500}

/* ── NAV ── */
nav.main-nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem var(--pad);transform:translateY(-110%);transition:transform .9s var(--ease-out) .2s,border-color .25s var(--ease);background:#ffffff;border-bottom:1px solid transparent;color:var(--ink)}
nav.main-nav.in{transform:translateY(0)}
.logo-a{display:flex;align-items:center;text-decoration:none}
.logo-a img{height:42px;width:auto}
.nav-r{display:flex;gap:2.5rem;align-items:center}
.nav-r a{font-family:var(--fm);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none;position:relative;padding:.3rem 0}
.nav-r a .dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--teal);margin-right:.55rem;vertical-align:middle;opacity:0;transform:scale(0);transition:opacity .3s,transform .3s var(--ease)}
.nav-r a:hover .dot,.nav-r a.active .dot{opacity:1;transform:scale(1)}
.nav-r a.active{font-weight:600}

/* ── HAMBURGER BUTTON ── */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0;z-index:300;position:relative}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .4s var(--ease),opacity .3s,width .3s var(--ease);transform-origin:center}
.nav-burger span:nth-child(1){width:22px}
.nav-burger span:nth-child(2){width:14px}
.nav-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);width:22px}
.nav-burger.open span:nth-child(2){transform:translateY(-6.5px) rotate(-45deg);width:22px}

/* ── MOBILE MENU DRAWER ── */
.mobile-menu{display:none;position:fixed;inset:0;z-index:250;background:var(--ink);padding:6rem var(--pad) 3rem;flex-direction:column;justify-content:space-between;transform:translateY(-100%);transition:transform .7s var(--ease)}
.mobile-menu.open{transform:translateY(0)}
.mobile-menu-links{display:flex;flex-direction:column;gap:0}
.mobile-menu-links a{display:block;font-family:var(--fd);font-weight:700;font-size:clamp(2.5rem,10vw,5rem);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;color:var(--paper);text-decoration:none;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.1);position:relative;transition:color .25s}
.mobile-menu-links a:hover,.mobile-menu-links a.active{color:var(--teal)}
.mobile-menu-links a .no{font-family:var(--fm);font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);display:inline-block;width:3rem;vertical-align:middle}
.mobile-menu-foot{font-family:var(--fm);font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);display:flex;justify-content:space-between;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12)}
.mobile-menu-foot a{color:rgba(255,255,255,.4);text-decoration:none}
.mobile-menu-foot a:hover{color:var(--teal)}

/* ── PAGE HERO (subpages) ── */
.phero{padding:9rem var(--pad) 3rem;border-bottom:2px solid var(--ink);position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:3rem;min-height:80svh;background:var(--paper)}
.phero-top{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-family:var(--fm);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.phero-top em{color:var(--mid);font-style:normal;font-weight:400}
.phero-top .crumb{display:inline-flex;align-items:center;gap:.55rem}
.phero-top .crumb::before{content:'';width:8px;height:8px;background:var(--teal);border-radius:50%}
.phero-h1{font-family:var(--fd);font-weight:700;font-size:clamp(4rem,15vw,18rem);line-height:.82;letter-spacing:-.06em;text-transform:uppercase;align-self:end;position:relative;z-index:2}
.phero-h1 em{font-style:normal;font-weight:400;color:var(--mid)}
.phero-h1 .accent{font-weight:700;color:var(--teal)}
.phero-h1 .row{display:block;overflow:hidden}
.phero-h1 .ws{display:inline-block;transform:translateY(110%);transition:transform 1.05s var(--ease-out)}
.phero-h1 .ws.in{transform:translateY(0)}
.phero-foot{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:2rem;margin:0 calc(var(--pad) * -1);padding:1.25rem var(--pad) 0;border-top:2px solid var(--ink)}
.phero-foot-l{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);line-height:1.9}
.phero-foot-l b{color:var(--ink);font-weight:600}
.phero-foot-c{font-family:var(--f);font-weight:400;font-size:1rem;line-height:1.6;color:var(--ink);max-width:46ch;justify-self:center;text-align:left}
.phero-foot-c b{font-weight:inherit}
.phero-foot-r{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);line-height:1.9;text-align:right}
.phero-foot-r b{color:var(--ink);font-weight:600}

/* ── MARQUEE ── */
.mwrap{overflow:hidden;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:1.5rem 0;background:var(--ink);color:var(--paper)}
.mtrack{display:flex;width:max-content;animation:mscroll 50s linear infinite;will-change:transform}
.mi{font-family:var(--fd);font-weight:700;font-size:clamp(2rem,5vw,5rem);letter-spacing:-.045em;padding:0 1.5rem;white-space:nowrap;color:var(--paper);display:flex;align-items:center;gap:1.5rem;text-transform:uppercase}
.mi em{font-style:normal;font-weight:400;color:var(--paper)}
.mi .star{display:inline-block;width:.45em;height:.45em;border-radius:50%;background:var(--teal);font-size:1em;color:transparent;line-height:1;flex-shrink:0;align-self:center}
@keyframes mscroll{to{transform:translateX(-50%)}}

/* ── SECTION HEADERS ── */
.shead{padding:6rem var(--pad) 1.25rem;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:2rem;border-top:2px solid var(--ink);position:relative}
.shead::before{content:'';position:absolute;top:-1px;left:0;width:8rem;height:3px;background:var(--teal)}
.shead-no{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.shead-no b{color:var(--ink);font-weight:600}
.shead-title{font-family:var(--fd);font-weight:700;font-size:clamp(2.5rem,8vw,9rem);line-height:.9;letter-spacing:-.05em;text-transform:uppercase}
.shead-title em{font-style:normal;color:var(--teal);font-weight:700}
.shead-title u{text-decoration:none;color:var(--mid);font-weight:400}
.shead-meta{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);text-align:right;line-height:1.9}
.shead-meta b{color:var(--ink);font-weight:600}

/* ── COLOPHON / FOOTER ── */
.colo{padding:6rem var(--pad) 3rem;background:var(--ink);color:var(--paper);position:relative}
.colo h2{font-family:var(--fd);font-weight:700;font-size:clamp(3.5rem,13vw,15rem);line-height:.85;letter-spacing:-.06em;color:var(--paper);margin-bottom:3rem;text-transform:uppercase}
.colo h2 em{font-style:normal;font-weight:400;color:rgba(255,255,255,.4)}
.colo h2 u{text-decoration:none;box-shadow:none;color:var(--teal)}
.colo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-top:2.5rem;border-top:1px solid rgba(244,241,234,.18)}
.colo-col h4{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.18)}
.colo-col a,.colo-col span{display:block;font-family:var(--f);font-weight:500;font-size:.98rem;color:var(--paper);text-decoration:none;line-height:1.6;transition:color .2s}
.colo-col a:hover{color:var(--teal)}

/* ── social links ── */
.colo-social{display:flex;gap:1.25rem;margin-top:1rem;align-items:center}
.colo-social a{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fm);font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);text-decoration:none;transition:color .25s}
.colo-social a:hover{color:var(--teal)}
.colo-social svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}

.colo-foot{margin-top:5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;font-family:var(--fm);font-size:.62rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.colo-foot a{color:rgba(244,241,234,.7);text-decoration:none}
.colo-foot a:hover{color:var(--teal)}

/* ── ACCREDITATIONS ── */
.acred{margin-top:4rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18)}
.acred-lbl{font-family:var(--fm);font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:1.5rem;display:flex;align-items:center;gap:.7rem}
.acred-lbl::before{content:'';width:8px;height:8px;background:var(--teal);border-radius:50%}
.acred-row{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:3rem}

/* base acred item — full colour always */
.acred-item{display:flex;align-items:center;justify-content:center;height:54px;min-width:90px;transition:transform .35s var(--ease),opacity .35s var(--ease);position:relative;opacity:1}
.acred-item:hover{transform:translateY(-2px);opacity:.85}

/* all acred logo images */
.acred-item img{height:56px;width:auto;max-width:175px;object-fit:contain;display:block;filter:grayscale(0) brightness(2.1);opacity:1!important;transition:filter .3s ease}
.acred-item:hover img[src*="Chas_logo"]{filter:none}

/* placeholder fallback (kept for any pages still using span) */
.acred-item .placeholder{font-family:var(--fd);font-weight:700;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;border:1.5px solid rgba(255,255,255,.55);padding:.5rem .9rem;line-height:1;text-align:center;color:rgba(255,255,255,.55);transition:border-color .35s,color .35s,background .35s}
.acred-item:hover .placeholder{color:var(--ink);background:var(--teal);border-color:var(--teal)}

/* ── FULL-WIDTH DIVIDER UTILITY ── */
.divider-full{width:100vw;margin-left:calc(var(--pad) * -1);border-top:2px solid var(--ink);height:0;display:block}

/* ── REVEALS ── */
.rev{opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.rev.in{opacity:1;transform:none}

/* ── MOBILE ── */
@media(max-width:860px){
  :root{--pad:1.25rem}
  .phero{padding:7rem 1.25rem 2rem;min-height:auto}
  .phero-foot{grid-template-columns:1fr;gap:1.25rem}
  .phero-foot-c{justify-self:start}
  .phero-foot-r{text-align:left}
  .colo-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .colo-foot{flex-direction:column;gap:.6rem}
  nav.main-nav{padding:1rem 1.25rem}
  .nav-r{gap:1.1rem}
  .nav-r a:not(.nav-burger){display:none}
  .nav-burger{display:flex}
  .mobile-menu{display:flex}
  .shead{grid-template-columns:1fr;gap:.6rem;padding:4rem 1.25rem 1rem}
  .shead-meta{text-align:left}
  .loader-bot{flex-direction:column;align-items:flex-start;gap:.5rem}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}
}

/* ───────── CASE STUDY (cs-*) ───────── */
.cs-hero{padding:6.25rem var(--pad) 0;border-bottom:2px solid var(--ink);background:var(--paper);position:relative;display:grid;grid-template-rows:auto 1fr;gap:0}
.cs-hero-top{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem 0 2rem;border-bottom:1px solid var(--rule);font-family:var(--fm);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.cs-hero-top .cell b{display:block;color:var(--ink);font-weight:600;margin-top:.35rem;font-size:.78rem}
.cs-hero-top .cell em{font-style:normal;font-weight:400}
.cs-title{font-family:var(--fd);font-weight:700;font-size:clamp(3.5rem,12vw,15rem);line-height:.85;letter-spacing:-.06em;text-transform:uppercase;padding:2rem 0 1rem;position:relative}
.cs-title em{font-style:normal;font-weight:400;color:var(--mid)}
.cs-title .accent{font-weight:700;color:var(--teal)}
.cs-title .row{display:block;overflow:hidden}
.cs-title .ws{display:inline-block;transform:translateY(110%);transition:transform 1s var(--ease-out)}
.cs-title .ws.in{transform:translateY(0)}
.cs-hero-img{position:relative;height:62svh;min-height:30rem;overflow:hidden;background:var(--ink-2);border-top:1px solid var(--rule)}
.cs-hero-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transform:scale(1.05);transition:transform 1.6s var(--ease-out)}
.cs-hero-img.in img{transform:scale(1)}
.cs-hero-img .tag{position:absolute;left:1.25rem;bottom:1.25rem;background:var(--teal);color:var(--ink);font-family:var(--fm);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .65rem;z-index:2}
.cs-hero-img .credit{position:absolute;right:1.25rem;bottom:1.25rem;background:rgba(0,0,0,.55);color:var(--paper);font-family:var(--fm);font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .55rem;z-index:2;backdrop-filter:blur(4px)}

/* ── Brief / Spec two-up ── */
.cs-brief{display:grid;grid-template-columns:1.4fr 1fr;gap:0;border-bottom:1px solid var(--rule)}
.cs-brief-l{padding:6rem var(--pad);display:flex;flex-direction:column;justify-content:center;gap:2rem;border-right:1px solid var(--rule)}
.cs-brief-l .lab{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mid)}
.cs-brief-l .lab b{color:var(--ink);font-weight:600}
.cs-brief-l h2{font-family:var(--fd);font-weight:700;font-size:clamp(1.9rem,3.5vw,3.4rem);line-height:1.05;letter-spacing:-.035em;max-width:22ch;text-transform:uppercase}
.cs-brief-l h2 em{font-style:normal;font-weight:400;color:var(--mid)}
.cs-brief-l h2 u{text-decoration:none;background:var(--teal);padding:0 .12em;color:var(--ink)}
.cs-brief-l p{font-family:var(--f);font-size:1rem;line-height:1.8;color:var(--mid);max-width:48ch}
.cs-brief-l p b{color:var(--ink);font-weight:500}
.cs-spec{padding:6rem var(--pad);display:flex;flex-direction:column;gap:0;background:var(--paper-2)}
.cs-spec .head{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding-bottom:1.5rem;border-bottom:2px solid var(--ink);margin-bottom:1.5rem;display:flex;justify-content:space-between}
.cs-spec .head b{font-weight:600}
.cs-spec .head em{font-style:normal;color:var(--mid);font-weight:400}
.cs-spec dl{display:grid;grid-template-columns:auto 1fr;gap:0;font-family:var(--fm);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.cs-spec dt{padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--rule);color:var(--mid);font-weight:500;align-self:stretch;display:flex;align-items:center}
.cs-spec dd{padding:1rem 0;border-bottom:1px solid var(--rule);color:var(--ink);font-weight:600;text-align:right;line-height:1.4;align-self:stretch;display:flex;align-items:center;justify-content:flex-end}
.cs-spec dl > :nth-last-child(1),.cs-spec dl > :nth-last-child(2){border-bottom:none}

/* ── Gallery mosaic ── */
.cs-gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:7rem;gap:1rem;padding:5rem var(--pad);background:var(--paper)}
.cs-gallery .g{position:relative;overflow:hidden;background:var(--ink-2)}
.cs-gallery .g img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.2s var(--ease-out)}
.cs-gallery .g:hover img{transform:scale(1.04)}
.cs-gallery .g .cap{position:absolute;left:.85rem;bottom:.85rem;font-family:var(--fm);font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--teal);padding:.35rem .55rem;z-index:2;opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s var(--ease)}
.cs-gallery .g:hover .cap{opacity:1;transform:translateY(0)}
.cs-gallery .g-a{grid-column:span 7;grid-row:span 5}
.cs-gallery .g-b{grid-column:span 5;grid-row:span 3}
.cs-gallery .g-c{grid-column:span 5;grid-row:span 2}
.cs-gallery .g-d{grid-column:span 4;grid-row:span 4}
.cs-gallery .g-e{grid-column:span 4;grid-row:span 4}
.cs-gallery .g-f{grid-column:span 4;grid-row:span 4}

/* ── Detail blocks alternating ── */
.cs-detail{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);align-items:stretch}
.cs-detail:nth-of-type(even){grid-template-areas:"img copy"}
.cs-detail:nth-of-type(odd){grid-template-areas:"copy img"}
.cs-detail-img{grid-area:img;position:relative;background:var(--ink-2);overflow:hidden;min-height:32rem}
.cs-detail-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.4s var(--ease-out)}
.cs-detail-img:hover img{transform:scale(1.04)}
.cs-detail-img .cap{position:absolute;left:1rem;bottom:1rem;background:var(--teal);color:var(--ink);font-family:var(--fm);font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.4rem .65rem;z-index:2}
.cs-detail-copy{grid-area:copy;padding:6rem var(--pad);display:flex;flex-direction:column;justify-content:center;gap:1.5rem;border-right:1px solid var(--rule)}
.cs-detail:nth-of-type(even) .cs-detail-copy{border-right:none;border-left:1px solid var(--rule)}
.cs-detail-copy .num{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);padding-bottom:.85rem;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}
.cs-detail-copy .num b{color:var(--ink);font-weight:600}
.cs-detail-copy h3{font-family:var(--fd);font-weight:700;font-size:clamp(2rem,4vw,3.6rem);line-height:.98;letter-spacing:-.04em;text-transform:uppercase;max-width:18ch}
.cs-detail-copy h3 em{font-style:normal;font-weight:400;color:var(--mid)}
.cs-detail-copy p{font-family:var(--f);font-size:.96rem;line-height:1.8;color:var(--mid);max-width:46ch}
.cs-detail-copy p b{color:var(--ink);font-weight:500}
.cs-detail-copy .list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;font-family:var(--fm);font-size:.62rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.cs-detail-copy .list span{display:flex;align-items:center;gap:.55rem;line-height:1.4}
.cs-detail-copy .list span::before{content:'';width:6px;height:6px;background:var(--teal);flex-shrink:0;border-radius:50%}

/* ── Project stats ── */
.cs-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.cs-stat{padding:3rem 1.75rem 2.5rem;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:.85rem;background:var(--paper)}
.cs-stat:last-child{border-right:none}
.cs-stat .lab{font-family:var(--fm);font-size:.62rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.cs-stat .lab b{color:var(--ink);font-weight:600}
.cs-stat .fig{font-family:var(--fd);font-weight:700;font-size:clamp(2.4rem,4.5vw,4.4rem);line-height:.95;letter-spacing:-.04em;color:var(--ink);display:flex;align-items:baseline;gap:.15em;font-variant-numeric:tabular-nums}
.cs-stat .fig sup{font-size:.4em;font-weight:500;color:var(--teal);align-self:flex-start;margin-top:.4em;letter-spacing:0}
.cs-stat .sub{font-family:var(--f);font-size:.82rem;line-height:1.55;color:var(--mid);padding-top:.85rem;border-top:1px solid var(--rule);margin-top:auto}

/* ── Next project ── */
.cs-next{padding:7rem var(--pad);background:var(--ink);color:var(--paper);position:relative;border-bottom:1px solid rgba(255,255,255,.18)}
.cs-next .lab{font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:1.5rem;display:flex;align-items:center;gap:.55rem}
.cs-next .lab::before{content:'';width:8px;height:8px;background:var(--teal);border-radius:50%}
.cs-next a.link{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;text-decoration:none;color:var(--paper);position:relative}
.cs-next a.link:hover h2 em{color:var(--teal)}
.cs-next h2{font-family:var(--fd);font-weight:700;font-size:clamp(2.5rem,9vw,10rem);line-height:.88;letter-spacing:-.06em;text-transform:uppercase;color:var(--paper)}
.cs-next h2 em{font-style:normal;font-weight:400;color:rgba(255,255,255,.4);transition:color .35s}
.cs-next .arr{font-family:var(--fd);font-weight:400;font-size:2.6rem;color:var(--teal);align-self:end;padding-bottom:.5rem;transition:transform .4s var(--ease)}
.cs-next a.link:hover .arr{transform:translateX(.8rem)}
.cs-next .meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cs-next .meta b{display:block;color:var(--paper);font-weight:600;margin-top:.3rem;font-size:.74rem}
.cs-next .back{position:absolute;right:var(--pad);top:7rem;font-family:var(--fm);font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);text-decoration:none;display:inline-flex;align-items:center;gap:.55rem;padding-bottom:.3rem;border-bottom:1px solid rgba(255,255,255,.18);transition:color .25s,border-color .25s}
.cs-next .back:hover{color:var(--teal);border-color:var(--teal)}

@media(max-width:1100px){
  .cs-gallery{grid-auto-rows:6rem}
}
@media(max-width:860px){
  .cs-hero{padding:6rem 1.25rem 0}
  .cs-hero-top{grid-template-columns:1fr 1fr;gap:.85rem 1rem}
  .cs-hero-img{height:48svh;min-height:18rem}
  .cs-brief{grid-template-columns:1fr}
  .cs-brief-l,.cs-spec{padding:3rem 1.25rem;border-right:none}
  .cs-gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:5rem;padding:3rem 1.25rem}
  .cs-gallery .g-a{grid-column:span 4;grid-row:span 4}
  .cs-gallery .g-b,.cs-gallery .g-c{grid-column:span 4;grid-row:span 3}
  .cs-gallery .g-d,.cs-gallery .g-e,.cs-gallery .g-f{grid-column:span 4;grid-row:span 3}
  .cs-detail{grid-template-columns:1fr;grid-template-areas:"img" "copy"!important}
  .cs-detail-img{min-height:18rem}
  .cs-detail-copy{padding:3rem 1.25rem;border-right:none!important;border-left:none!important}
  .cs-detail-copy .list{grid-template-columns:1fr}
  .cs-stats{grid-template-columns:1fr 1fr}
  .cs-stat:nth-child(2n){border-right:none}
  .cs-stat:nth-child(n+3){border-top:1px solid var(--rule)}
  .cs-next{padding:4rem 1.25rem}
  .cs-next a.link{grid-template-columns:1fr;gap:1rem}
  .cs-next .meta{grid-template-columns:1fr 1fr;gap:.85rem 1rem}
  .cs-next .back{position:static;display:inline-flex;margin-bottom:2rem}
}

/* ── PROJ-LINK — clickable wrapper for horizontal track cards ── */
a.proj-link{text-decoration:none;color:inherit;display:block}

.proj {
  text-decoration: none;
  color: inherit;
  display: block;
  cursor: pointer;
  transition: opacity 0.25s ease;
}

.proj:hover {
  opacity: 0.85;
}

/* Remove unused case-study title space */
.cs-hero .cs-title {
  display: none !important;
}

/* Pull the main case-study image closer to the project information */
.cs-hero .cs-hero-img {
  margin-top: 40px !important;
}

/* Cookie consent */
.cookie-consent{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:16px;background:rgba(17,17,17,.98);color:#fff;box-shadow:0 -8px 30px rgba(0,0,0,.2)}
.cookie-consent__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cookie-consent__copy{max-width:780px}.cookie-consent__copy strong{display:block;margin-bottom:6px;font-family:"Space Grotesk",sans-serif;font-size:18px}.cookie-consent__copy p{margin:0;line-height:1.5;font-size:14px}.cookie-consent__copy a{color:#fff;text-decoration:underline}
.cookie-consent__actions{display:flex;gap:10px;flex-shrink:0}.cookie-consent__button{border:1px solid #fff;background:#fff;color:#111;padding:11px 16px;font:600 13px/1 "Inter",sans-serif;cursor:pointer}.cookie-consent__button--secondary{background:transparent;color:#fff}
@media (max-width:760px){.cookie-consent__inner{align-items:stretch;flex-direction:column}.cookie-consent__actions{width:100%}.cookie-consent__button{flex:1}}
