/* ============================================
   THEZARD — BRUTALIST ATELIER
   Raw, over-sized, no-compromise carpentry HQ
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Grotesk:wght@300;400;500;700&family=IBM+Plex+Mono:wght@400;500;700&display=swap');

:root{
  /* IDENTITÉ THÉZARD : bleu #00669e, marine #002f54, doré #f6a009 */
  --bg:#ffffff;
  --ink:#002f54;
  --concrete:#edf1f4;
  --blue:#00669e;
  --gold:#f6a009;
  --steel:#19375e;
  --fat:'Archivo Black', sans-serif;
  --ui:'Space Grotesk', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--ui);font-size:16px;line-height:1.4;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* concrete texture */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>");
  mix-blend-mode:multiply;opacity:.7;
}

/* ─── TICKER TOP (hidden, nav floats) ─── */
.ticker{display:none}
@keyframes tk{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── NAV (floating island + detached logo seal) ─── */
.nav{
  position:absolute;top:22px;left:50%;transform:translateX(-50%);
  z-index:100;
  width:calc(100% - 60px);max-width:1340px;
  background:var(--ink);
  border-radius:999px;
  box-shadow:0 14px 50px -10px rgba(0,47,84,.35);
  border:2px solid var(--ink);
  height:72px;
}
.nav.scrolled{box-shadow:0 18px 60px -10px rgba(0,47,84,.5)}
.nav-in{
  display:grid;grid-template-columns:1fr auto;align-items:center;
  padding:0 10px 0 130px;gap:20px;height:100%;
  position:relative;
}
.nav-brand{
  position:absolute;left:8px;top:50%;transform:translateY(-50%);
  display:flex;align-items:center;justify-content:center;
  width:auto;height:160px;
  background:transparent;border:none;border-radius:0;
  padding:0;box-shadow:none;
  z-index:2;
  transition:transform .3s;
}
.nav-brand:hover{transform:translateY(-50%) scale(1.04)}
.nav-brand img{
  max-width:none;max-height:100%;width:auto;height:100%;display:block;
  object-fit:contain;
}
.nav-brand .sq{display:none}
.nav-menu{display:flex;align-items:center;gap:4px;justify-content:center}
.nav-menu a{
  padding:10px 16px;border-radius:999px;
  font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;
  color:var(--bg);border:none;
  transition:all .2s;
}
.nav-menu a:hover{background:rgba(246,160,9,.2);color:var(--gold)}
.nav-menu a.active{background:var(--gold);color:var(--ink)}
.nav-cta{
  padding:14px 24px;border-radius:999px;
  background:var(--gold);color:var(--ink);
  font-family:var(--fat);font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  border:none;
  transition:all .25s;
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
}
.nav-cta:hover{background:var(--bg);color:var(--ink)}

/* burger */
.burger{
  display:none;width:44px;height:44px;border:none;
  background:transparent;cursor:pointer;
  align-items:center;justify-content:center;
  border-radius:50%;
}
.burger span{display:block;width:22px;height:2px;background:var(--bg);position:relative;transition:all .3s}
.burger span::before,.burger span::after{
  content:'';position:absolute;left:0;width:22px;height:2px;background:var(--bg);
  transition:all .3s;
}
.burger span::before{top:-7px}
.burger span::after{top:7px}
.burger.open span{background:transparent}
.burger.open span::before{top:0;transform:rotate(45deg)}
.burger.open span::after{top:0;transform:rotate(-45deg)}

/* mobile drawer */
.mdrawer{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;
  background:var(--ink);
  padding:110px 30px 40px;
  flex-direction:column;gap:4px;
  opacity:0;pointer-events:none;transition:opacity .3s;
}
.mdrawer.open{opacity:1;pointer-events:auto;display:flex}
.mdrawer a{
  font-family:var(--fat);font-size:32px;letter-spacing:-0.02em;text-transform:uppercase;
  padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);color:var(--bg);
  transition:color .2s;
}
.mdrawer a.active,.mdrawer a:hover{color:var(--gold)}
.mdrawer .mcta{
  margin-top:30px;padding:20px;background:var(--gold);color:var(--ink);
  text-align:center;border-radius:999px;font-size:16px;border-bottom:none;
}

/* ─── HERO (fullscreen slider brutalist) ─── */
.hero{
  position:relative;
  min-height:calc(100vh - 90px);
  border-bottom:3px solid var(--ink);
  overflow:hidden;
  color:var(--bg);
  display:flex;flex-direction:column;
}
.hero-slides{position:absolute;inset:0;z-index:1}
.hero-slide{
  position:absolute;inset:0;
  opacity:0;transform:translateX(80px);
  transition:opacity 1s ease, transform 1.1s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center;animation:hKB 14s ease-in-out infinite alternate}
@keyframes hKB{from{transform:scale(1)}to{transform:scale(1.1)}}
.hero-slide.active{opacity:1;transform:translateX(0);pointer-events:auto}

.hero-overlay{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,47,84,.8) 0%,rgba(0,47,84,.5) 50%,rgba(0,47,84,.15) 100%),
    linear-gradient(180deg,rgba(0,47,84,.2) 0%,transparent 30%,rgba(0,47,84,.5) 100%);
}

.hero-content{
  position:relative;z-index:3;
  flex:1 1 auto;min-height:0;
  padding:200px 40px 160px;
  display:flex;flex-direction:column;justify-content:center;
  gap:16px;
}

.hero-meta{
  display:flex;gap:14px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;
}
.hero-meta .pill{
  border:1.5px solid var(--bg);padding:6px 12px;border-radius:999px;
  background:rgba(0,47,84,.4);backdrop-filter:blur(6px);
}
.hero-meta .pill.red{background:var(--blue);color:var(--bg);border-color:var(--blue)}
.hero-meta .pill.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}

.hero-title{
  font-family:var(--fat);
  font-size:clamp(48px,8vw,130px);
  line-height:.88;
  letter-spacing:-0.04em;
  text-transform:uppercase;
  color:var(--bg);
  max-width:1100px;
}
.hero-title .outline{-webkit-text-stroke:3px var(--bg);color:transparent}
.hero-title .mark{background:var(--gold);color:var(--ink);padding:0 8px;display:inline-block;transform:skew(-6deg);margin:0 4px}
.hero-title .rust{color:var(--gold)}
.hero-title .crossed{text-decoration:line-through;text-decoration-thickness:8px;text-decoration-color:var(--gold)}

.hero-sub{
  font-family:var(--mono);font-size:14px;letter-spacing:.02em;line-height:1.55;
  max-width:560px;
  color:rgba(255,255,255,.85);
}

.hero-strip{
  display:flex;gap:10px;flex-wrap:wrap;
}
.hero-strip .chip{
  border:2px solid var(--bg);padding:10px 16px;
  background:rgba(0,47,84,.4);backdrop-filter:blur(6px);color:var(--bg);
  font-family:var(--mono);font-size:12px;text-transform:uppercase;font-weight:500;
  transition:all .2s;
}
.hero-strip .chip:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}

/* controls */
.hero-arrows{
  position:absolute;bottom:80px;right:40px;z-index:4;
  display:flex;gap:8px;
}
.hero-arrows button{
  width:52px;height:52px;
  background:var(--ink);color:var(--gold);
  border:2px solid var(--gold);cursor:pointer;
  font-family:var(--fat);font-size:20px;
  transition:all .2s;
}
.hero-arrows button:hover{background:var(--gold);color:var(--ink)}

.hero-dots{
  position:absolute;bottom:90px;left:50%;transform:translateX(-50%);z-index:4;
  display:flex;gap:0;
}
.hero-dots button{
  width:50px;height:4px;background:rgba(255,255,255,.3);border:none;padding:0;cursor:pointer;
  transition:background .3s;
}
.hero-dots button.active{background:var(--gold)}

.hero-bigbar{
  position:relative;z-index:4;
  flex:0 0 auto;
  background:var(--ink);color:var(--gold);
  padding:14px 40px;
  font-family:var(--fat);font-size:14px;letter-spacing:.15em;text-transform:uppercase;
  display:flex;justify-content:space-between;
}
.hero-bigbar span{font-variant-numeric:tabular-nums}

/* ─── COUNTERS ─── */
.counters{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:3px solid var(--ink);
}
.cnt{
  padding:40px 30px;border-right:3px solid var(--ink);
  display:flex;flex-direction:column;gap:6px;
  position:relative;overflow:hidden;
  transition:background .25s;
}
.cnt:last-child{border-right:none}
.cnt:hover{background:var(--gold)}
.cnt b{font-family:var(--fat);font-size:84px;line-height:.9;letter-spacing:-0.04em}
.cnt p{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.cnt .slash{color:var(--blue)}

/* ─── MANIFESTO ─── */
.manifesto{
  padding:100px 40px;
  background:var(--ink);color:var(--bg);
  border-bottom:3px solid var(--ink);
  position:relative;overflow:hidden;
}
.manifesto::after{
  content:'THEZARD THEZARD THEZARD';
  position:absolute;bottom:-40px;left:0;right:0;
  font-family:var(--fat);font-size:22vw;letter-spacing:-0.06em;
  color:rgba(237,237,234,.04);white-space:nowrap;text-transform:uppercase;
  pointer-events:none;line-height:1;
}
.manifesto h2{
  font-family:var(--fat);font-size:clamp(48px,8vw,130px);line-height:.9;letter-spacing:-0.04em;text-transform:uppercase;
  max-width:1400px;
}
.manifesto h2 .saw{color:var(--gold)}
.manifesto h2 .rust{color:var(--blue)}
.manifesto h2 .strike{-webkit-text-stroke:2px var(--bg);color:transparent}
.manifesto .body{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px;max-width:1400px;
}
.manifesto .body p{font-family:var(--mono);font-size:15px;line-height:1.7;color:rgba(237,237,234,.82)}
.manifesto .body p b{color:var(--gold);font-weight:700}

/* ─── SERVICES GRID ─── */
.services{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-bottom:3px solid var(--ink);
}
.svc{
  padding:40px 32px;
  border-right:3px solid var(--ink);
  border-bottom:3px solid var(--ink);
  background:var(--bg);
  position:relative;
  transition:all .3s;
  min-height:440px;
  display:flex;flex-direction:column;
}
.svc:nth-child(3n){border-right:none}
.svc:nth-last-child(-n+3){border-bottom:none}
.svc:hover{background:var(--concrete)}
.svc:hover .svc-img img{transform:scale(1.04)}
.svc:hover .num{color:var(--blue)}
.svc .num{
  font-family:var(--fat);font-size:120px;line-height:.8;letter-spacing:-0.05em;color:var(--ink);
  transition:color .3s;
}
.svc h3{
  font-family:var(--fat);font-size:36px;letter-spacing:-0.03em;text-transform:uppercase;margin:20px 0 10px;line-height:.95;
}
.svc p{font-family:var(--mono);font-size:13px;line-height:1.55;opacity:.8;flex-grow:1;margin-bottom:20px}
.svc-img{aspect-ratio:4/3;overflow:hidden;border:3px solid var(--ink);background:var(--ink)}
.svc-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s}
.svc .tags{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.svc .tag{font-family:var(--mono);font-size:10px;text-transform:uppercase;border:1.5px solid currentColor;padding:3px 8px;letter-spacing:.1em}

/* ─── BIG BANNER ─── */
.banner{
  background:var(--gold);
  padding:70px 40px;border-bottom:3px solid var(--ink);
  overflow:hidden;position:relative;cursor:pointer;
}
.banner a{display:block;text-decoration:none;color:inherit}
.banner:hover .arrow{color:var(--ink)}
.banner h2{
  font-family:var(--fat);font-size:clamp(60px,12vw,200px);line-height:.85;
  letter-spacing:-0.05em;text-transform:uppercase;color:var(--ink);
}
.banner h2 .arrow{color:var(--blue);display:inline-block;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}
.banner p{font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.2em;margin-top:20px}

/* ─── PROJECT SPOTLIGHT ─── */
.spotlight{
  display:grid;grid-template-columns:1.4fr 1fr;
  border-bottom:3px solid var(--ink);min-height:80vh;
}
.spotlight .photo{position:relative;overflow:hidden;background:var(--ink)}
.spotlight .photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.spotlight .photo .label{
  position:absolute;top:30px;left:30px;
  background:var(--ink);color:var(--bg);
  padding:10px 18px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em;
  border:2px solid var(--gold);
}
.spotlight .info{
  padding:60px 40px;background:var(--concrete);
  display:flex;flex-direction:column;justify-content:center;
  border-left:3px solid var(--ink);
  position:relative;
}
.spotlight .info .eye{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}
.spotlight .info h2{font-family:var(--fat);font-size:clamp(40px,5.5vw,82px);letter-spacing:-0.04em;line-height:.9;text-transform:uppercase}
.spotlight .info p{font-family:var(--mono);font-size:14px;line-height:1.7;margin-top:24px;max-width:440px}
.spotlight .info dl{
  display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin-top:30px;
  font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;
  border-top:2px solid var(--ink);padding-top:20px;
}
.spotlight .info dt{color:var(--blue);font-weight:500}
.spotlight .info dd{font-weight:700}

/* ─── CTA HUGE ─── */
.cta-huge{
  padding:120px 40px;
  background:var(--blue);color:var(--bg);
  border-bottom:3px solid var(--ink);
  text-align:center;position:relative;overflow:hidden;
}
.cta-huge h2{
  font-family:var(--fat);font-size:clamp(60px,14vw,220px);line-height:.85;letter-spacing:-0.05em;text-transform:uppercase;
}
.cta-huge h2 .circle{
  display:inline-block;border:6px solid var(--gold);border-radius:999px;padding:0 30px;color:var(--gold);transform:rotate(-3deg);
}
.cta-huge p{font-family:var(--mono);font-size:14px;text-transform:uppercase;letter-spacing:.2em;margin-top:30px}
.cta-huge a{
  display:inline-block;margin-top:40px;
  padding:20px 40px;background:var(--ink);color:var(--gold);
  font-family:var(--fat);font-size:20px;letter-spacing:.05em;text-transform:uppercase;
  border:3px solid var(--ink);
  transition:all .25s;
}
.cta-huge a:hover{background:var(--gold);color:var(--ink)}

/* ─── FOOTER ─── */
footer{
  background:var(--ink);color:var(--bg);
  padding:60px 40px 24px;
}
.fg{
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;
  padding-bottom:40px;border-bottom:2px solid rgba(237,237,234,.2);
}
.fg h4{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-bottom:16px}
.fg .big{font-family:var(--fat);font-size:54px;line-height:.9;letter-spacing:-0.04em;text-transform:uppercase;margin-bottom:20px}
.fg .big .y{color:var(--gold)}
.fg ul{list-style:none}
.fg li{font-family:var(--mono);font-size:13px;line-height:1.8;opacity:.75}
.fg a:hover{color:var(--gold);opacity:1}
.fb{display:flex;justify-content:space-between;margin-top:24px;font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;opacity:.5}

/* ─── PAGE HERO INNER ─── */
.ph{
  padding:180px 40px 80px;
  border-bottom:3px solid var(--ink);
  display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;
  background:var(--bg);
}
.ph .label{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.ph h1{font-family:var(--fat);font-size:clamp(60px,12vw,200px);line-height:.85;letter-spacing:-0.05em;text-transform:uppercase}
.ph h1 .saw{color:var(--gold);-webkit-text-stroke:3px var(--ink)}
.ph h1 .rust{color:var(--blue)}
.ph p.intro{font-family:var(--mono);font-size:14px;line-height:1.7}

/* ─── GALLERY (brutalist grid) ─── */
.gal{
  padding:0;
  display:grid;grid-template-columns:repeat(8,1fr);grid-auto-rows:100px;
  border-bottom:3px solid var(--ink);
}
.gal .cell{
  position:relative;overflow:hidden;border:2px solid var(--ink);
}
.gal .cell img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s}
.gal .cell:hover img{transform:scale(1.04)}
.gal .cell .lbl{
  position:absolute;bottom:0;left:0;right:0;
  background:var(--ink);color:var(--gold);
  padding:8px 12px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  transform:translateY(100%);transition:transform .3s;
}
.gal .cell:hover .lbl{transform:translateY(0)}
.gal .c1{grid-column:span 4;grid-row:span 3}
.gal .c2{grid-column:span 4;grid-row:span 2}
.gal .c3{grid-column:span 4;grid-row:span 2}
.gal .c4{grid-column:span 4;grid-row:span 2}
.gal .c5{grid-column:span 4;grid-row:span 2}
.gal .c6{grid-column:span 4;grid-row:span 2}
.gal .c7{grid-column:span 4;grid-row:span 2}
.gal .c8{grid-column:span 4;grid-row:span 2}

/* ─── CONTACT ─── */
.cgrid{
  display:grid;grid-template-columns:1fr 1fr;
  border-bottom:3px solid var(--ink);
}
.cgrid .cinfo{
  padding:60px 40px;background:var(--bg);border-right:3px solid var(--ink);
}
.cgrid .cinfo h3{font-family:var(--fat);font-size:48px;line-height:.9;letter-spacing:-0.04em;text-transform:uppercase;margin-bottom:30px}
.cgrid .cinfo .block{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid rgba(10,10,10,.2)}
.cgrid .cinfo .block:last-child{border-bottom:none}
.cgrid .cinfo dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--blue);margin-bottom:8px}
.cgrid .cinfo dd{font-family:var(--fat);font-size:22px;text-transform:uppercase;line-height:1.1;letter-spacing:-0.02em}
.cgrid .cinfo dd small{display:block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:400;margin-top:6px;opacity:.7}

.cgrid .cform{
  padding:60px 40px;background:var(--gold);
}
.cgrid .cform h3{font-family:var(--fat);font-size:42px;text-transform:uppercase;letter-spacing:-0.03em;line-height:.9;margin-bottom:30px}
.cgrid .cform label{display:block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:500;margin-bottom:6px}
.cgrid .cform input,.cgrid .cform textarea{
  width:100%;background:transparent;border:2px solid var(--ink);
  padding:14px;font-family:var(--mono);font-size:14px;margin-bottom:20px;
}
.cgrid .cform input:focus,.cgrid .cform textarea:focus{outline:none;background:var(--bg)}
.cgrid .cform textarea{min-height:140px;resize:vertical}
.cgrid .cform button{
  width:100%;padding:20px;background:var(--ink);color:var(--gold);
  font-family:var(--fat);font-size:18px;text-transform:uppercase;letter-spacing:.05em;
  border:3px solid var(--ink);cursor:pointer;transition:all .2s;
}
.cgrid .cform button:hover{background:var(--blue);color:var(--bg);border-color:var(--blue)}

/* ─── TABLET ─── */
@media (max-width:1100px){
  .nav-menu{gap:0}
  .nav-menu a{padding:9px 12px;font-size:10.5px}
  .nav-brand{height:140px;left:6px}
  .nav-in{padding-left:116px}
}

/* ─── MOBILE ─── */
@media (max-width:820px){
  .nav{top:14px;width:calc(100% - 24px);height:64px}
  .nav-in{padding:0 12px 0 88px;gap:10px}
  .nav-menu{display:none}
  .nav-cta{display:none}
  .burger{display:inline-flex;justify-self:end}
  .nav-brand{height:108px;left:6px}

  .hero{min-height:560px;height:calc(100vh - 80px)}
  .hero-content{padding:160px 22px 150px;gap:12px}
  .hero-title{font-size:clamp(40px,10vw,64px);line-height:.9}
  .hero-sub{font-size:13px;max-width:100%}
  .hero-strip{gap:6px}
  .hero-strip .chip{padding:8px 12px;font-size:10px}
  .hero-meta{gap:8px}
  .hero-meta .pill{padding:5px 10px;font-size:10px}
  .hero-dots{bottom:80px;left:50%;transform:translateX(-50%)}
  .hero-dots button{width:30px}
  .hero-bigbar{padding:10px 22px;font-size:10px;gap:10px}
  .hero-bigbar span:nth-child(2){display:none}

  .counters{grid-template-columns:1fr 1fr}
  .cnt{border-bottom:3px solid var(--ink);padding:28px 20px}
  .cnt:nth-child(2n){border-right:none}
  .cnt b{font-size:56px}

  .manifesto{padding:60px 22px}
  .manifesto h2{font-size:clamp(38px,10vw,60px)}
  .manifesto .body{grid-template-columns:1fr;gap:24px;margin-top:30px}

  .services{grid-template-columns:1fr}
  .svc{border-right:none!important;min-height:auto;padding:32px 22px}
  .svc .num{font-size:80px}
  .svc h3{font-size:26px}

  .banner{padding:50px 22px}
  .banner h2{font-size:clamp(48px,14vw,80px)}

  .spotlight{grid-template-columns:1fr}
  .spotlight .info{border-left:none;border-top:3px solid var(--ink);padding:40px 22px}
  .spotlight .info h2{font-size:clamp(36px,11vw,54px)}
  .spotlight .info dl{grid-template-columns:1fr;gap:4px}

  .cta-huge{padding:60px 22px}
  .cta-huge h2{font-size:clamp(48px,14vw,84px)}
  .cta-huge a{padding:16px 24px;font-size:15px}

  .fg{grid-template-columns:1fr;gap:30px;padding-bottom:40px}
  .fg .big{font-size:36px}
  .fb{flex-direction:column;gap:8px;text-align:center;margin-top:20px}

  .ph{grid-template-columns:1fr;padding:140px 22px 40px;gap:20px}
  .ph h1{font-size:clamp(46px,14vw,80px)}

  .gal{grid-template-columns:repeat(4,1fr);grid-auto-rows:100px}
  .gal .c1,.gal .c2,.gal .c3,.gal .c4,.gal .c5,.gal .c6,.gal .c7,.gal .c8{grid-column:span 4;grid-row:span 2}
  .gal .cell{border-width:1px}

  .cgrid{grid-template-columns:1fr}
  .cgrid .cinfo{border-right:none;border-bottom:3px solid var(--ink);padding:40px 22px}
  .cgrid .cinfo h3{font-size:36px}
  .cgrid .cform{padding:40px 22px}
  .cgrid .cform h3{font-size:30px}
}

@media (max-width:480px){
  .nav{height:60px}
  .nav-brand{height:92px;left:4px}
  .nav-in{padding:0 10px 0 74px}
  .hero-title{font-size:34px}
  .mdrawer a{font-size:26px;padding:14px 0}
}

/* ===== Premium GSAP reveal — pre-cache state ===== */
[data-reveal],.reveal,.reveal-stagger > *,.tilt-reveal{
  opacity:0;
  will-change:transform,opacity,filter;
  backface-visibility:hidden;
}
.deep-parallax,.parallax{will-change:transform}
.manifesto,.services,.spotlight,.cta-huge,.counters,[data-parallax-section]{perspective:1400px}

@media (prefers-reduced-motion:reduce){
  [data-reveal],.reveal,.reveal-stagger > *,.tilt-reveal,.deep-parallax,.parallax{
    opacity:1!important;transform:none!important;filter:none!important;
  }
}
