/* Self-hosted fonts (no third-party requests) */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/archivo-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/archivo-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/archivo-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/archivo-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/archivo-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Caveat";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/caveat-latin-400-normal.woff2) format("woff2")}
/* FixersInParis design system, derived from the "production dossier" prototype */
:root{
  --paper:#E8E9E4;--paper-2:#DEDFD8;--ink:#161614;--ink-2:#3D3E38;--mute:#6E6F67;
  --stamp:#B0281E;--pen:#26467F;--rule:#B9BAB3;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --sans:"IBM Plex Mono",ui-monospace,monospace;
  --display:"Archivo",system-ui,sans-serif;
  --gut:26px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:13px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
a.lnk,.prose a{color:var(--pen);text-decoration:none;border-bottom:1px solid rgba(38,70,127,.35)}
a.lnk:hover,.prose a:hover{border-bottom-color:var(--pen)}
:focus-visible{outline:2px solid var(--pen);outline-offset:2px}
.sheet{max-width:1080px;margin:0 auto}
h1,h2,h3,.display{font-family:var(--display);letter-spacing:-.025em}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:9}

/* Top strip and nav */
.strip{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding:10px var(--gut);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase}
.strip .brand{font-weight:600;text-decoration:none}
.strip .live{color:var(--stamp)}
.strip .sp{margin-left:auto}
.strip a{text-decoration:none}
.strip a:hover{color:var(--stamp)}
nav.bar{display:flex;flex-wrap:wrap;border-bottom:2px solid var(--ink);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase}
nav.bar a{padding:9px 16px;text-decoration:none;border-right:1px solid var(--rule);color:var(--ink-2)}
nav.bar a:hover{background:var(--paper-2);color:var(--ink)}
nav.bar a.on{background:var(--ink);color:var(--paper)}
nav.bar .langs{margin-left:auto;display:flex;align-items:stretch;border-left:1px solid var(--rule);flex:none}
nav.bar .langs a,nav.bar .langs b{padding:9px 8px;border:0}
nav.bar .langs b{color:var(--stamp);font-weight:600}
.crumb{padding:14px var(--gut) 0;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.crumb a{text-decoration:none}.crumb a:hover{color:var(--stamp)}

/* Hero */
.hero{padding:26px var(--gut) 32px;position:relative}
.stamp-mark{position:absolute;top:24px;right:var(--gut);border:2.5px solid var(--stamp);color:var(--stamp);padding:8px 14px;transform:rotate(-8deg);font-size:10.5px;letter-spacing:.14em;font-weight:600;line-height:1.3;text-align:center;opacity:.9}
.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink);margin-bottom:26px;max-width:calc(100% - 150px)}
.cell{border-right:1px solid var(--rule);padding:10px 12px}
.cell:last-child{border-right:0}
.cell .k{font-size:9px;letter-spacing:.13em;color:var(--mute);text-transform:uppercase;display:block;margin-bottom:4px}
.cell .v{font-size:13.5px;font-weight:500}
h1.big{font-weight:800;font-size:clamp(30px,5vw,54px);line-height:.98;text-transform:uppercase;max-width:17ch;margin-bottom:16px}
h1.big em,h2 em{font-style:normal;color:var(--stamp)}
.lede{font-family:var(--sans);font-size:16px;line-height:1.62;max-width:60ch;color:var(--ink-2)}
.actions{margin-top:24px;display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.btn{background:var(--ink);color:var(--paper);padding:12px 22px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;display:inline-block;border:1px solid var(--ink)}
.btn:hover{background:var(--stamp);border-color:var(--stamp)}
.btn.out{background:none;color:var(--ink)}
.btn.out:hover{background:var(--ink);color:var(--paper)}
.hand{font-family:"Caveat",cursive;font-size:19px;color:var(--pen);transform:rotate(-1.5deg);display:inline-block}

/* Section heads */
.sec-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding:26px var(--gut) 8px;margin-top:40px}
.sec-head .no{font-size:10.5px;letter-spacing:.14em;color:var(--stamp)}
.sec-head h2{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.sec-head .note{margin-left:auto;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}

/* Rows (services, lists) */
.rows{border-top:1px solid var(--ink);margin:0 var(--gut)}
.row{display:grid;grid-template-columns:48px 1.05fr 1.6fr 92px;gap:16px;border-bottom:1px solid var(--rule);padding:13px 4px;align-items:baseline}
.row .num{color:#8B8C85;font-size:11px}
.row .t{font-weight:600;font-size:13.5px}
.row .t a{text-decoration:none}.row .t a:hover{color:var(--stamp)}
.row .d{font-family:var(--sans);color:var(--ink-2);font-size:14px;line-height:1.5}
.row .s{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pen);text-align:right}

/* Crew */
.crew{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink);margin:22px var(--gut) 0}
.crew .member{padding:20px;border-right:1px solid var(--rule);display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:start}
.crew .member:last-child{border-right:0}
.crew .ph{width:110px;aspect-ratio:3/4;object-fit:cover;filter:grayscale(1) contrast(1.05);border:1px solid var(--ink);background:var(--paper-2)}
.crew .pos{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);margin-bottom:8px}
.crew .nm{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.02em;margin-bottom:3px}
.crew .fn{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.crew p{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink-2);margin-bottom:12px}
.crew .contact{font-size:11.5px;color:var(--pen);border-top:1px dashed var(--rule);padding-top:9px}
.crew .contact a{text-decoration:none}
.callout{margin:0 var(--gut);border:1px solid var(--ink);border-top:0;padding:13px 20px;background:var(--paper-2);font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink-2)}
.callout b{font-weight:600;color:var(--ink)}

/* Production log */
.log{margin:0 var(--gut);border-top:1px solid var(--ink)}
.log-row{display:grid;grid-template-columns:64px 1.4fr 1.3fr 84px;gap:16px;padding:13px 4px;border-bottom:1px solid var(--rule);align-items:baseline}
.log-row .dt{font-size:11px;color:var(--mute)}
.log-row .cl{font-weight:600;font-size:13.5px}
.log-row .cl span{display:block;font-weight:400;font-size:11.5px;color:var(--mute);margin-top:2px}
.log-row .cl a{text-decoration:none}.log-row .cl a:hover{color:var(--stamp)}
.log-row .ds{font-family:var(--sans);font-size:14px;color:var(--ink-2);line-height:1.5}
.log-row .st{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--stamp);text-align:right}

/* Regions grid */
.regions{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--ink);margin:22px var(--gut) 0}
.reg{padding:17px 19px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.reg:nth-child(2n){border-right:0}
.reg .rh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:9px}
.reg .rn{font-family:var(--display);font-weight:700;font-size:15.5px}
.reg .rn a{text-decoration:none}.reg .rn a:hover{color:var(--stamp)}
.reg .lead{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--pen);white-space:nowrap}
.reg .hook{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--ink-2);margin-bottom:10px}
.reg .auth{font-size:11px;color:var(--mute);border-top:1px dashed var(--rule);padding-top:8px;line-height:1.5}
.reg .auth b{color:var(--ink);font-weight:600}

/* Knowledge callout */
.know{margin:22px var(--gut) 0;border-left:3px solid var(--stamp);background:var(--paper-2);padding:18px 20px}
.know h3{font-size:15px;font-weight:700;margin-bottom:9px}
.know p{font-family:var(--sans);font-size:14.5px;line-height:1.65;color:var(--ink-2);max-width:72ch;margin-bottom:9px}
.know p:last-child{margin-bottom:0}
.know a{color:var(--pen)}

/* Permit-style tables */
.permits{margin:22px var(--gut) 0;border:1px solid var(--ink)}
.p-row{display:grid;grid-template-columns:1fr 1.3fr 120px;gap:16px;padding:13px 18px;border-bottom:1px solid var(--rule)}
.p-row:last-child{border-bottom:0}
.p-row.c2{grid-template-columns:1fr 1.6fr}
.p-row.c4{grid-template-columns:1fr 1.2fr 1fr 110px}
.p-row.head{background:var(--ink);color:var(--paper);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;padding:8px 18px}
.p-row .what{font-weight:600;font-size:13px}
.p-row .what span{display:block;font-weight:400;font-size:11.5px;color:var(--mute);margin-top:3px;line-height:1.45}
.p-row .who{font-family:var(--sans);font-size:14px;color:var(--ink-2);line-height:1.5}
.p-row .when{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--pen);text-align:right}

/* Prose */
.prose{padding:20px var(--gut) 0;max-width:80ch}
.prose h2{font-size:22px;font-weight:700;margin:34px 0 12px}
.prose h3{font-size:16px;font-weight:700;margin:24px 0 8px}
.prose p,.prose li{font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--ink-2)}
.prose p{margin-bottom:14px}
.prose ul,.prose ol{margin:0 0 16px 20px}
.prose li{margin-bottom:6px}
.prose b,.prose strong{color:var(--ink);font-weight:600}
.prose blockquote,.pull{border-left:3px solid var(--pen);padding:12px 16px;background:var(--paper-2);margin:18px 0}
.prose blockquote p{margin:0;font-size:15px}
.mt{margin-top:22px}

/* Timeline */
.tl{margin:18px var(--gut) 0;border-top:1px solid var(--ink)}
.tl-row{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:12px 4px;border-bottom:1px solid var(--rule)}
.tl-row .m{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--stamp)}
.tl-row .a{font-family:var(--sans);font-size:14.5px;color:var(--ink-2);line-height:1.55}

/* Quotes */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--ink);margin:22px var(--gut) 0}
.quote{padding:20px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0}
.quote:nth-child(2n){border-right:0}
.quote p{font-family:var(--sans);font-size:15px;line-height:1.62;color:var(--ink-2);margin-bottom:12px}
.quote footer{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.quote footer b{color:var(--ink);font-weight:600}

/* FAQ */
.faq{margin:22px var(--gut) 0;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule);padding:14px 4px}
.faq summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;display:flex;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"+";color:var(--stamp);font-weight:700;width:12px;flex:none}
.faq details[open] summary::before{content:"–"}
.faq .ans{font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--ink-2);padding:10px 0 2px 24px;max-width:74ch}
.faq .ans p{margin-bottom:10px}
.faq .ans a{color:var(--pen)}

/* Logos/client wall */
.wall{margin:22px var(--gut) 0;border:1px solid var(--ink);display:flex;flex-wrap:wrap}
.wall span{padding:12px 16px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:-.01em}

/* Bands */
.band{margin:38px var(--gut) 0;border:1px solid var(--ink);padding:22px;background:var(--paper-2)}
.band h3{font-size:18px;font-weight:700;margin-bottom:8px}
.band p{font-family:var(--sans);font-size:15px;color:var(--ink-2);max-width:62ch;margin-bottom:16px;line-height:1.6}
.band.sister{background:none;border-style:dashed}

/* Form */
.brief{margin:22px var(--gut) 0;border:1px solid var(--ink);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.brief label{display:flex;flex-direction:column;gap:6px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.brief .wide{grid-column:1/-1}
.brief input,.brief textarea,.brief select{font:inherit;font-family:var(--sans);font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:10px 12px;border-radius:0}
.brief textarea{min-height:130px}

/* Footer */
.foot{margin-top:48px;border-top:2px solid var(--ink);padding:24px var(--gut) 44px;font-size:11px;color:var(--mute);letter-spacing:.04em}
.foot .cols{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:24px}
.foot h4{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.foot ul{list-style:none}
.foot li{margin-bottom:4px}
.foot a{text-decoration:none}.foot a:hover{color:var(--stamp)}
.foot .base{display:flex;gap:22px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:14px}
.foot .em{color:var(--ink)}

@media (max-width:860px){
  :root{--gut:16px}
  .meta-grid{grid-template-columns:repeat(2,1fr);max-width:100%}
  .cell:nth-child(2){border-right:0}.cell:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .stamp-mark{position:static;display:inline-block;margin-bottom:16px}
  .crew,.regions,.quotes{grid-template-columns:1fr}
  .crew .member,.reg,.quote{border-right:0}
  .crew .member{grid-template-columns:80px 1fr;border-bottom:1px solid var(--rule)}
  .crew .ph{width:80px}
  .row{grid-template-columns:32px 1fr;gap:6px 12px}
  .row .d{grid-column:2}.row .s{grid-column:2;text-align:left}
  .log-row{grid-template-columns:52px 1fr;gap:6px 12px}
  .log-row .ds,.log-row .st{grid-column:2;text-align:left}
  .p-row,.p-row.c2,.p-row.c4{grid-template-columns:1fr;gap:4px}
  .p-row .when{text-align:left}
  .p-row.head{display:none}
  .tl-row{grid-template-columns:1fr;gap:4px}
  .brief{grid-template-columns:1fr}
  .foot .cols{grid-template-columns:repeat(2,1fr)}
  nav.bar a{padding:9px 11px}
  .strip .sp{margin-left:0}
}
@media print{nav.bar,.strip,.band,.foot{display:none}}

@media (max-width:860px){
  .strip{gap:10px;padding:8px var(--gut);font-size:10px}
  .strip .hide-m{display:none}
  nav.bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav.bar::-webkit-scrollbar{display:none}
  nav.bar a{white-space:nowrap;flex:none}
  .hero{padding-top:18px}
  .actions .hand{width:100%}
}

/* Body text: Archivo at text weights, slightly tighter than the old Plex Sans */

.prose strong,.know strong,.callout b{font-weight:600;color:var(--ink)}

/* Header icons */
.ico{width:14px;height:14px;flex:none;display:inline-block;vertical-align:-2px}
.strip .icn,.contact .icn{display:inline-flex;align-items:center;gap:6px}
.strip .icn .ico{width:15px;height:15px}

/* Direct WhatsApp under the hero buttons */
.wa-direct{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1px solid currentColor;padding:4px 0}
.wa-direct .ico{width:18px;height:18px;color:#1f9e55}
.wa-direct:hover,.wa-direct:focus-visible{color:var(--stamp)}

/* Hero stamps: production steps validated one after another */
.stamps{position:absolute;top:118px;right:var(--gut);width:290px;height:200px;pointer-events:none}
.stp{position:absolute;border:2.5px solid var(--stamp);color:var(--stamp);padding:7px 12px;font-size:10.5px;letter-spacing:.14em;font-weight:600;line-height:1.3;text-align:center;opacity:.88;background:color-mix(in srgb,var(--paper) 55%,transparent);
  animation:stamp-in .32s cubic-bezier(.2,.9,.3,1.2) both;animation-delay:calc(.35s + var(--i) * .7s)}
.stp.s0{top:0;right:140px;--r:-6deg}
.stp.s1{top:30px;right:10px;--r:5deg}
.stp.s2{top:90px;right:130px;--r:-11deg}
.stp.s3{top:128px;right:4px;--r:-3deg;border-width:3.5px;font-size:12px;padding:8px 14px}
.stp{transform:rotate(var(--r))}
@keyframes stamp-in{0%{opacity:0;transform:rotate(var(--r)) scale(1.9)}70%{opacity:.95;transform:rotate(var(--r)) scale(.96)}100%{opacity:.88;transform:rotate(var(--r)) scale(1)}}
@media (prefers-reduced-motion:reduce){.stp{animation:none}}

/* Full-bleed client marquee */
html,body{overflow-x:clip}
.marquee{position:relative;width:100vw;margin-left:calc(50% - 50vw);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--ink);color:var(--paper);overflow:hidden;display:flex}
.marquee .track{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex:none;min-width:100%;justify-content:space-around;animation:marquee 70s linear infinite}
.marquee li{flex:none;padding:18px 26px;font-family:var(--display);font-weight:800;font-size:clamp(17px,2.2vw,24px);text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap;display:flex;align-items:center;gap:26px}
.marquee li::after{content:"✦";font-size:11px;color:var(--stamp)}
.marquee img{height:30px;width:auto;max-width:none;filter:grayscale(1) brightness(10)}
.marquee:hover .track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto}.marquee .track{animation:none}.marquee .track[aria-hidden]{display:none}}

@media (max-width:860px){
  .stamps{position:relative;top:0;right:0;width:auto;height:auto;display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:18px}
  .stp,.stp.s3{position:static;font-size:9.5px;padding:5px 9px;border-width:2px}
  .wa-direct{width:auto}
}

/* Interior pages: hero centred (no stamps, no side image) */
.hero.centered{text-align:center;display:flex;flex-direction:column;align-items:center}
.hero.centered .meta-grid{width:100%;max-width:calc(100% - 300px);margin-inline:auto;text-align:left}
@media (max-width:860px){.hero.centered .meta-grid{max-width:100%}.hero.centered .stamp-mark{align-self:center}}
.hero.centered h1.big{max-width:20ch;text-wrap:balance}
.hero.centered .lede{margin-inline:auto;text-wrap:pretty}
.hero.centered .actions{justify-content:center}

/* Running text in IBM Plex Mono, at the prototype's scale */
.lede{font-size:14.5px;line-height:1.65}
.prose p,.prose li{font-size:14px;line-height:1.75}
.know p,.faq .ans,.band p,.quote p,.callout{font-size:13.5px;line-height:1.7}
.row .d,.log-row .ds,.reg .hook,.p-row .who,.tl-row .a,.crew p{font-size:13px;line-height:1.6}
.brief input,.brief textarea,.brief select{font-size:14px}
.prose strong,.know strong,.callout b{font-weight:600}

/* Section 01: prose + "They trusted us" card */
.lead-split{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:36px;align-items:start;padding-right:var(--gut)}
.lead-split .prose{max-width:80ch}
.trusted{margin-top:20px;border:1px solid var(--ink);background:var(--paper-2);padding:16px 18px 14px;position:relative}
.trusted .t-label{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);margin-bottom:10px}
.trusted ul{list-style:none;margin:0;padding:0}
.trusted li{font-family:var(--display);font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:-.01em;line-height:1.15;padding:7px 0;border-bottom:1px solid var(--rule)}
.trusted li:last-child{border-bottom:0}
.trusted li img{height:24px;width:auto;max-width:100%;display:block}
.trusted .t-proof{margin-top:12px;display:inline-block;border:2px solid var(--stamp);color:var(--stamp);padding:5px 9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transform:rotate(-2deg)}
.trusted .t-more{display:block;margin-top:12px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink-2)}
.trusted .t-more:hover{color:var(--stamp)}
@media (max-width:860px){
  .lead-split{grid-template-columns:1fr;gap:0;padding-right:0}
  .trusted{margin:18px var(--gut) 0}
}

/* Brief form extras */
.brief .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.brief-status{font-size:12px;color:var(--stamp);margin-left:12px}
.brief-status a{color:inherit}

/* Mobile quick-contact bar */
.mbar{display:none}
@media (max-width:860px){
  .mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:20;border-top:2px solid var(--ink);background:var(--paper);padding-bottom:env(safe-area-inset-bottom,0px)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 10px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
  .mbar a+a{background:var(--ink);color:var(--paper)}
  .mbar .ico{color:#1f9e55;width:18px;height:18px}
  body{padding-bottom:calc(52px + env(safe-area-inset-bottom,0px))}
}
@media print{.mbar{display:none}}

/* ---------- Proof: video players, reel carousel, case cards, client walls ---------- */
.player{position:relative;display:block;aspect-ratio:16/9;max-width:100%;overflow:hidden;background:var(--ink);text-decoration:none;color:var(--paper)}
.player img{width:100%;height:100%;object-fit:cover;filter:grayscale(.85) contrast(1.05);transition:filter .25s,transform .4s}
.player:hover img,.player:focus-visible img{filter:none;transform:scale(1.03)}
.player .play{position:absolute;left:12px;bottom:12px;background:var(--stamp);color:#fff;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:7px 11px}
.player .vthumb{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:18px;background:repeating-linear-gradient(135deg,var(--ink) 0 14px,#22231f 14px 28px)}
.player .vthumb b{font-family:var(--display);font-weight:800;font-size:22px;text-transform:uppercase;color:var(--paper)}
.player .vthumb i{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--rule)}
.player.on iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.reel{position:relative;padding:18px 0 6px}
.reel-nav{display:flex;gap:8px;justify-content:flex-end;padding:0 var(--gut) 12px}
.reel-nav button{font:inherit;font-family:var(--mono);font-size:14px;width:40px;height:34px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer}
.reel-nav button:hover{background:var(--ink);color:var(--paper)}
.reel-track{list-style:none;margin:0;padding:0 var(--gut) 14px;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-padding-left:var(--gut)}
.reel-card{flex:0 0 min(360px,82vw);scroll-snap-align:start;border:1px solid var(--ink);background:var(--paper);display:flex;flex-direction:column}
.reel-card .rc-txt{padding:12px 14px 14px;border-top:1px solid var(--ink)}
.rc-cl{font-family:var(--display);font-weight:800;font-size:17px;text-transform:uppercase;line-height:1.1}
.rc-cl .by,.c-top .by{font-family:var(--mono);font-weight:400;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-left:6px}
.rc-ti{font-size:13px;color:var(--ink-2);margin-top:5px;line-height:1.45}
.rc-mt,.c-mt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:6px}

.cases{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:20px var(--gut) 4px}
.case{border:1px solid var(--ink);background:var(--paper);display:flex;flex-direction:column;min-width:0}
.case .player{border-bottom:1px solid var(--ink)}
.case .c-txt{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.c-top{display:flex;align-items:baseline;flex-wrap:wrap}
.c-cl{font-family:var(--display);font-weight:800;font-size:18px;text-transform:uppercase;line-height:1.1}
.c-ti{font-family:var(--mono);font-weight:500;font-size:13.5px;line-height:1.45;margin:2px 0 0;color:var(--ink);text-transform:none;letter-spacing:0}
.case p{font-size:12.5px;line-height:1.6;color:var(--ink-2);margin:8px 0 0}
.c-link{margin-top:auto;padding-top:10px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--pen)}
.c-link:hover{color:var(--stamp)}

.client-walls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;margin:20px var(--gut) 0;border:1px solid var(--ink)}
.cw{padding:16px 18px 18px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.cw h3{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp);display:flex;justify-content:space-between;margin:0 0 10px}
.cw h3 span{color:var(--mute)}
.cw ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px}
.cw li{font-family:var(--display);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:-.005em;line-height:1.3}
.cw li img{height:20px;width:auto}
@media (prefers-reduced-motion:reduce){.player img{transition:none}.player:hover img{transform:none}}
@media (max-width:860px){.cases{grid-template-columns:1fr}.reel-nav{display:none}}

/* Home client band: one row per client type */
.marquee.multi{display:block;background:var(--ink);border-bottom:2px solid var(--ink)}
.mq-row{display:flex;align-items:stretch;border-top:1px solid var(--ink)}
.mq-row.dark{background:var(--ink);color:var(--paper)}
.mq-row.light{background:var(--paper);color:var(--ink)}
.mq-label{flex:0 0 210px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 18px 10px max(18px,env(safe-area-inset-left,0px));text-decoration:none;color:inherit;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;line-height:1.35;position:relative;z-index:2;background:inherit;border-right:2px solid var(--stamp)}
.mq-label b{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:0;color:var(--stamp)}
.mq-label:hover span{text-decoration:underline}
.mq-viewport{flex:1;min-width:0;overflow:hidden;display:flex}
.mq-row .track{animation-duration:var(--dur,60s)}
.mq-row.rev .track{animation-direction:reverse}
.mq-row:hover .track{animation-play-state:paused}
.marquee.multi li{padding:14px 22px;font-size:clamp(15px,1.8vw,21px)}
.mq-row.dark:first-child li{font-size:clamp(17px,2.2vw,25px);padding:18px 24px}
.mq-row.light li::after{color:var(--stamp)}
.mq-row.light img{filter:grayscale(1)}
@media (max-width:860px){
  .mq-row{flex-direction:column}
  .mq-label{flex:none;flex-direction:row;align-items:baseline;justify-content:space-between;border-right:0;border-bottom:1px solid var(--stamp);padding:7px 16px}
  .mq-label b{font-size:14px}
  .marquee.multi li{padding:10px 16px}
}

/* Client band at half size, no counts */
.mq-label{flex-basis:170px;padding-top:5px;padding-bottom:5px;font-size:9px;letter-spacing:.12em}
.marquee.multi li,.mq-row.dark:first-child li{padding:7px 14px;font-size:clamp(11px,1vw,13px);gap:14px}
.marquee.multi li::after{font-size:8px}
.marquee.multi img{height:16px}
@media (max-width:860px){.mq-label{padding:4px 16px}.marquee.multi li{padding:6px 12px}}

/* Home hero with the trailer */
.hero.with-film{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:40px;align-items:start}
.hero.with-film .meta-grid{grid-column:1/-1;max-width:100%}
.hero.with-film .hero-copy{min-width:0}
.hero-film{min-width:0;margin-top:6px}
.film-frame{position:relative;border:2px solid var(--ink);background:var(--ink);aspect-ratio:16/9;overflow:hidden}
.film-frame video{display:block;width:100%;height:100%;object-fit:cover}
.film-play{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;padding:14px}
.film-play span{background:var(--stamp);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px}
.film-play:hover span,.film-play:focus-visible span{background:var(--ink)}
.film-frame.playing .film-play{display:none}
.hero.with-film .stamps{position:static;width:auto;height:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 16px;margin-top:20px}
.hero.with-film .stp,.hero.with-film .stp.s3{position:static;font-size:9.5px;padding:5px 9px;border-width:2px}
@media (max-width:860px){
  .hero.with-film{grid-template-columns:1fr}
  .hero-film{margin-top:22px}
  .film-frame{box-shadow:none}
}
@media (max-width:860px){.mq-label{flex-basis:auto}}

.film-note{font-size:11px;letter-spacing:.06em;color:var(--ink-2);margin:0 0 10px;line-height:1.5}
.film-cta{display:inline-block;margin:10px 0 0;text-decoration:none;color:var(--stamp);border-bottom:1px solid currentColor}
.film-cta:hover{color:var(--ink)}
.hero-film{display:flex;flex-direction:column;align-items:stretch}
.hero-film .film-cta{align-self:flex-end}
