/* Fonts: free Google Fonts for launch (Sep 2026). Urbanist = headings/subheadings/labels/buttons, Outfit = body copy.
   To switch back to licensed Axiforma later: remove this @import, restore the @font-face rules and set both families to 'Axiforma'. */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Urbanist:wght@500;600;700;800&display=swap');
:root{
  --green:#9BE502; --green-hi:#a9f215; --green-glow:rgba(155,229,2,.16);
  --black:#000; --panel:#0e100d; --panel-2:#141712; --line:#23261f;
  --white:#fff; --grey:#a7ada6; --grey-2:#6d726c; --r:14px; --max:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);
  font-family:'Outfit',system-ui,-apple-system,Segoe UI,sans-serif;
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.05;letter-spacing:-.025em;font-weight:800}
h1{font-size:clamp(2.6rem,5.4vw,4.3rem)}
.hero-grid h1{font-size:clamp(2.2rem,4.5vw,3.65rem)}
h2{font-size:clamp(2rem,4.2vw,3.2rem)}
p{color:var(--grey)}
.g{color:var(--green)}
.lede{font-size:clamp(1.04rem,1.5vw,1.22rem);color:var(--grey);max-width:58ch}
.eyebrow{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green);
  font-weight:700;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green)}

header{position:sticky;top:0;z-index:60;background:rgba(0,0,0,.84);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:24px}
.logo{display:flex;align-items:center}
.logo-lockup{height:29px;width:auto;display:block;color:var(--green)}
.logo:hover .logo-lockup{color:var(--green-hi)}
.nav ul{display:flex;gap:28px;list-style:none;font-size:.8rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.nav ul a{color:var(--grey);transition:color .18s}
.nav ul a:hover{color:var(--green)}
.nav ul a.on{color:var(--green)}
.nav ul a.on::after{content:"";display:block;height:2px;background:var(--green);margin-top:6px;border-radius:2px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:8px;
  font-weight:700;font-size:.8rem;letter-spacing:.035em;text-transform:uppercase;
  border:1px solid var(--green);transition:.2s;cursor:pointer;white-space:nowrap}
.btn-solid{background:var(--green);color:#0a1400}
.btn-solid:hover{background:var(--green-hi);box-shadow:0 8px 30px var(--green-glow);transform:translateY(-1px)}
.btn-ghost{color:var(--green);background:transparent}
.btn-ghost:hover{background:var(--green-glow)}
.btn-plain{border-color:var(--line);color:var(--grey)}
.btn-plain:hover{border-color:var(--grey);color:var(--white)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;
  padding:8px 11px;color:var(--green);cursor:pointer;font-size:1rem}

.shot{position:relative;overflow:hidden;background:#0c0e0b;display:block;width:100%;height:100%}
.shot img{display:block;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.72) brightness(.6) contrast(1.07);transform:scale(1.015);
  transition:filter .45s ease, transform .8s ease}
.shot::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(155,229,2,.10), rgba(0,0,0,.58));
  mix-blend-mode:hard-light;opacity:.85;transition:opacity .45s ease}
.case:hover .shot img,.hero-vis:hover .shot img{filter:none;transform:scale(1.045)}
.case:hover .shot::after,.hero-vis:hover .shot::after{opacity:0}

/* hero */
.hero{padding:100px 0 84px;position:relative;overflow:hidden;scroll-margin-top:88px}
.hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(760px 420px at 76% 22%, rgba(155,229,2,.12), transparent 66%),
  linear-gradient(transparent 96%, rgba(155,229,2,.045) 96%) 0 0/100% 46px,
  linear-gradient(90deg, transparent 96%, rgba(155,229,2,.045) 96%) 0 0/46px 100%;
  mask-image:linear-gradient(to bottom,#000 0%,#000 60%,transparent 100%)}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
h1 .line{display:block}
.hero p.lede{margin:24px 0 22px}
.need{display:grid;gap:9px;margin:0 0 30px;list-style:none}
.need li{display:flex;gap:11px;font-size:.97rem;color:var(--grey);align-items:flex-start;line-height:1.45}
.need li::before{content:"";width:14px;height:14px;flex:0 0 14px;margin-top:5px;background:var(--green);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-vis{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:5/4;
  border:1px solid var(--line);box-shadow:0 34px 90px rgba(0,0,0,.7)}
.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:78px;height:78px;border-radius:50%;border:2px solid var(--green);
  background:rgba(0,0,0,.42);backdrop-filter:blur(3px);display:grid;place-items:center;transition:.25s}
.hero-vis:hover .play-badge{background:var(--green);border-color:var(--green)}
.play-badge::after{content:"";width:0;height:0;margin-left:5px;
  border-left:18px solid var(--green);border-top:12px solid transparent;border-bottom:12px solid transparent;transition:.25s}
.hero-vis:hover .play-badge::after{border-left-color:#0a1400}
.vis-tag{position:absolute;top:14px;left:14px;z-index:4;background:rgba(0,0,0,.7);
  border:1px solid var(--line);color:var(--grey);font-size:.6rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:5px}
.vis-cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:16px 20px;
  background:linear-gradient(transparent,rgba(0,0,0,.82));font-size:.78rem;color:var(--grey);
  letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.slashes{position:absolute;top:-70px;right:-52px;display:flex;gap:15px;z-index:0;pointer-events:none}
.slashes i{display:block;width:24px;border-radius:3px;background:var(--green);transform:skewX(-22deg)}
.slashes i:nth-child(1){height:140px;opacity:.16}
.slashes i:nth-child(2){height:215px;opacity:.3}
.slashes i:nth-child(3){height:100px;opacity:.5}

.sec{padding:100px 0;border-top:1px solid var(--line);position:relative;scroll-margin-top:88px}
.sec-head{max-width:62ch;margin-bottom:44px}
.sec-head p{margin-top:16px}

/* case cards */
/* case study rows */
.cs-row{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:center;
  border-top:1px solid var(--line);padding:44px 0}
.cs-row:first-of-type{border-top:0;padding-top:8px}
.cs-row.flip .cs-media{order:2}
.cs-media{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/10;
  border:1px solid var(--line);cursor:pointer;display:block}
.cs-media:hover .shot img{filter:none;transform:scale(1.04)}
.cs-media.r45{aspect-ratio:4/5;max-width:440px;margin:0 auto}
.shot video{transition:transform .6s ease}
.cs-media:hover .shot video{transform:scale(1.04)}
.cs-media:hover .shot::after{opacity:0}
.gif-tag{position:absolute;top:12px;left:12px;z-index:4;background:rgba(0,0,0,.72);
  border:1px solid var(--line);color:var(--grey);font-size:.6rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:5px}
.gif-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;
  width:58px;height:58px;border-radius:50%;border:2px solid var(--green);
  background:rgba(0,0,0,.4);display:grid;place-items:center;transition:.25s}
.cs-media:hover .gif-play{background:var(--green)}
.gif-play::after{content:"";width:0;height:0;margin-left:4px;border-left:13px solid var(--green);
  border-top:9px solid transparent;border-bottom:9px solid transparent;transition:.25s}
.cs-media:hover .gif-play::after{border-left-color:#0a1400}
.cs-kicker{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--green);
  font-weight:700;margin-bottom:12px}
.cs-title{font-size:clamp(1.32rem,2.1vw,1.8rem);line-height:1.15;letter-spacing:-.02em;
  font-weight:800;margin-bottom:20px}
.cs-blocks{display:grid;gap:16px;margin-bottom:24px}
.cs-blocks div b{display:block;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--grey-2);font-weight:700;margin-bottom:5px}
.cs-blocks div p{font-size:.95rem;line-height:1.5;margin:0}
.cs-res{border:1px solid var(--line);border-radius:10px;background:rgba(155,229,2,.05);
  padding:20px 22px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.cs-res .lbl{font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--green);
  font-weight:700;width:100%}
.cs-res .fig{font-size:clamp(1.5rem,2.4vw,2.05rem);font-weight:800;color:var(--green);
  letter-spacing:-.03em;line-height:1;white-space:nowrap}
.cs-res .cap{font-size:.92rem;color:#dfe4db;line-height:1.35}
.cs-link{display:inline-block;margin-top:18px;font-size:.82rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--green)}
.cs-link:hover{color:var(--green-hi)}
.tbc-inline{color:#d68a4f;font-weight:700}
/* client login */
.loginlink{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--grey-2);padding:12px 16px;
  border:1px solid var(--line);border-radius:8px;transition:.2s;white-space:nowrap}
.loginlink:hover{color:var(--white);border-color:#3a4034}
.loginlink svg{width:13px;height:13px;flex:0 0 13px;display:block}
.loginlink:hover svg{color:var(--green)}
.m-only{display:none}
.cal-login{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--line);font-size:.8rem;color:var(--grey-2);flex-wrap:wrap}
.cal-login a{color:var(--green);font-weight:700}
@media(max-width:1000px){.m-only{display:block}}
@media(max-width:860px){.loginlink{display:none}}
@media(max-width:900px){
  .cs-row{grid-template-columns:1fr;gap:26px;padding:34px 0}
  .cs-row.flip .cs-media{order:0}
}
.case{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel);
  transition:.22s;display:flex;flex-direction:column}
.case:hover{transform:translateY(-3px);border-color:#38402f}
.case .thumb{aspect-ratio:16/10;position:relative;border-bottom:1px solid var(--line)}
.tbc{position:absolute;top:10px;left:10px;z-index:5;background:rgba(0,0,0,.72);
  border:1px solid var(--line);color:var(--grey);font-size:.58rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:5px}
.case .body{padding:24px;display:flex;flex-direction:column;flex:1}
.case .kicker{font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--green);font-weight:700}
.case h4{margin:10px 0 9px;font-size:1.12rem;font-weight:700;line-height:1.2}
.case p{font-size:.92rem}
.case .stats{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:grid;gap:6px}
.case .stats div{font-size:.84rem;color:var(--grey-2)}
.case .stats b{color:var(--green);font-weight:800;font-size:1.02rem;margin-right:6px}
.case-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

/* comparison */
.cmp{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.cmp-row{display:grid;grid-template-columns:1.05fr 1fr 1fr 1.2fr;border-bottom:1px solid var(--line)}
.cmp-row:last-child{border-bottom:0}
.cmp-row>div{padding:18px 20px;font-size:.92rem;color:var(--grey);line-height:1.45;border-right:1px solid var(--line)}
.cmp-row>div:last-child{border-right:0}
.cmp-row.head>div{background:var(--panel-2);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:700;color:var(--grey-2);padding:15px 20px}
.cmp-row.head .us{color:#0a1400;background:var(--green)}
.cmp-row .lbl{color:var(--white);font-weight:700;font-size:.89rem;background:#0a0c08}
.cmp-row .us{background:rgba(155,229,2,.055);color:#dfe4db}
.cmp-note{margin-top:18px;font-size:.86rem;color:var(--grey-2);max-width:80ch}

/* how */
.how{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start}
.steps4{display:grid;gap:26px}
.step{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.step .n{width:42px;height:42px;border-radius:9px;border:1px solid var(--green);display:grid;
  place-items:center;font-weight:800;font-size:.85rem;color:var(--green);background:#060806}
.step h4{font-size:1.06rem;font-weight:700;margin-bottom:5px}
.step p{font-size:.93rem}
.calbox{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);overflow:hidden}
.calbox .top{display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:15px 18px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.calbox .top b{font-size:.9rem}
.calbox .top small{color:var(--grey-2);font-size:.72rem;display:block;margin-top:2px}
.calbox .tag{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  color:#0a1400;background:var(--green);padding:5px 9px;border-radius:5px}
.mini{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;padding:16px}
.mini .c{aspect-ratio:1;border-radius:5px;background:#0c0e0a;border:1px solid #1a1d17;
  display:flex;flex-direction:column;justify-content:space-between;padding:5px 4px 4px}
.mini .c.mute{opacity:.25;border-color:transparent}
.mini .c em{font-style:normal;font-size:.58rem;color:var(--grey-2);font-weight:700;line-height:1}
.mini .c.on{border-color:#2f3a24;background:#101408}
.mini .c u{display:block;height:3px;border-radius:2px;margin-top:2px;text-decoration:none}
.mini u.yt{background:#9BE502} .mini u.sh{background:#4f7fd6}
.mini u.ig{background:#d68a4f} .mini u.li{background:#8b5cf6}
.mini u.tt,.mini u.th,.mini u.fb{background:#5b6157}
.calbox .foot{padding:15px 18px;border-top:1px solid var(--line);font-size:.84rem;color:var(--grey-2)}
.calbox .foot a{color:var(--green);font-weight:700}
.legend2{display:flex;gap:14px;flex-wrap:wrap;padding:0 18px 14px;font-size:.68rem;color:var(--grey-2)}
.legend2 i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px;vertical-align:-1px}
.rhythm{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:30px}
.rhythm div{background:#080a07;padding:22px}
.rhythm b{display:block;font-size:.95rem;margin-bottom:6px}
.rhythm p{font-size:.86rem}

/* taper */
.taper{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:34px 32px}
.tp-legend{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:26px;font-size:.78rem;color:var(--grey)}
.tp-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:8px;vertical-align:-1px}
.tp-row{margin-bottom:22px}
.tp-lab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.tp-lab b{font-size:.95rem;font-weight:700}
.tp-lab span{font-size:.76rem;color:var(--grey-2);letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.tp-bar{display:flex;gap:2px;height:44px}
.tp-bar u{display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-size:.72rem;font-weight:700;color:rgba(0,0,0,.72);overflow:hidden;white-space:nowrap}
.tp-bar u:first-child{border-radius:5px 0 0 5px}
.tp-bar u:last-child{border-radius:0 5px 5px 0}
.tp-cap{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:.88rem;color:var(--grey-2)}
.tp-cap b{color:var(--green)}

/* toggle */
.tog{display:inline-flex;gap:5px;background:#0b0d09;padding:5px;border-radius:11px;
  border:1px solid var(--line);margin-bottom:30px}
.tog button{background:none;border:0;color:var(--grey-2);font:inherit;font-size:.82rem;
  font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:11px 24px;
  border-radius:7px;cursor:pointer;transition:.16s}
.tog button.on{background:var(--green);color:#0a1400}
.tog button:hover:not(.on){color:var(--white)}
.panel{display:none;border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(180deg,var(--panel),#0a0c09);padding:38px 36px}
.panel.on{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.panel h3{font-size:clamp(1.45rem,2.3vw,1.95rem);margin-bottom:14px;letter-spacing:-.02em}
.panel ul{list-style:none;display:grid;gap:12px;margin:22px 0 26px}
.panel li{display:flex;gap:12px;font-size:.96rem;color:var(--grey);align-items:flex-start;line-height:1.45}
.panel li::before{content:"";width:15px;height:15px;flex:0 0 15px;margin-top:4px;background:var(--green);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 6L9 17l-5-5' fill='none' stroke='black' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat}
.panel .suits{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2);font-weight:700}
.panel .aside{border-left:1px solid var(--line);padding-left:34px}
.panel .aside .shot{border-radius:10px;aspect-ratio:4/3;margin-bottom:18px;overflow:hidden}
.panel .aside p{font-size:.9rem}
.reassure{margin-top:20px;padding:16px 18px;border:1px solid var(--line);border-radius:10px;
  background:#0a0c08;font-size:.89rem;color:var(--grey)}
.tog-foot{margin-top:22px;font-size:.92rem;color:var(--grey-2);text-align:center}

/* clients */
/* logo carousel */
.carousel{position:relative;overflow:hidden;margin-bottom:20px;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.track{display:flex;gap:12px;width:max-content;animation:slide 46s linear infinite}
.carousel:hover .track{animation-play-state:paused}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.plate{flex:0 0 190px;border:1px solid var(--line);border-radius:10px;background:#0a0c08;height:82px;
  display:grid;place-items:center;text-align:center;padding:10px;font-size:.84rem;font-weight:700;
  color:#5c615b;transition:.2s;line-height:1.2}
.plate:hover{color:var(--grey);border-color:#333a2e}
.plate{display:flex;align-items:center;justify-content:center}
.plate img{max-width:76%;max-height:40px;width:auto;height:auto;opacity:.72;transition:opacity .25s}
.plate:hover img{opacity:1}
.track.logos{animation-duration:200s}
.track.reviews{gap:16px;align-items:stretch;animation-duration:280s}
.rv{flex:0 0 340px;margin:0;border:1px solid var(--line);border-radius:14px;background:#0d0f0b;padding:22px 22px 18px;display:flex;flex-direction:column;gap:12px;white-space:normal}
.rv-stars{color:var(--green);letter-spacing:2px;font-size:.9rem}
.rv blockquote{margin:0;font-size:.95rem;line-height:1.55;color:#e6e8e2;flex:1}
.rv figcaption{font-size:.78rem;color:var(--grey-2)}
.rv figcaption b{display:block;color:#fff;font-weight:700;font-size:.88rem;margin-bottom:2px}
.rating-link{color:var(--green);text-decoration:none;font-weight:700}
.rating-link:hover{text-decoration:underline}
/* method steps, full width (calendar panel removed) */
.how{grid-template-columns:1fr}
.steps4{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media(max-width:900px){.steps4{grid-template-columns:1fr;gap:26px}}
/* footer follow us */
.f-social{display:flex;align-items:center;gap:10px;margin-top:20px}
.f-social span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-2);font-weight:700;margin-right:4px}
.f-social a{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--grey);transition:color .2s,border-color .2s}
.f-social a:hover{color:var(--green);border-color:var(--green)}
.f-social svg{width:19px;height:19px}
/* showreel banner */
.reel-media{position:relative;display:block;aspect-ratio:1920/750;min-height:320px;max-height:78vh;width:100%;overflow:hidden;background:#000;color:#fff;text-decoration:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reel-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s ease}
.reel-media:hover video{transform:scale(1.03)}
.reel-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.42) 45%,rgba(0,0,0,.12) 100%)}
.reel-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;display:block;padding-bottom:clamp(26px,5vw,60px)}
.reel-title{display:block;font-weight:800;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.025em;margin-top:10px}
.reel-cta{display:inline-block;margin-top:16px;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.reel-media .gif-play{width:78px;height:78px}
.reel-media:hover .gif-play{background:var(--green)}
.reel-media:hover .gif-play::after{border-left-color:#0a1400}
@media(max-width:680px){.reel-media{aspect-ratio:4/3}.reel-media .gif-play{top:38%}}
@media(max-width:680px){.rv{flex-basis:280px;padding:18px}}
@media(prefers-reduced-motion:reduce){.track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
@media(max-width:680px){.plate{flex-basis:150px;height:70px;font-size:.76rem}}
.plates-note{font-size:.8rem;color:var(--grey-2);margin-bottom:34px}
.rating{display:flex;align-items:center;gap:12px;margin-bottom:26px;font-size:.9rem;color:var(--grey)}
.stars{color:var(--green);letter-spacing:3px}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.q{border:1px solid var(--line);border-radius:var(--r);padding:28px;background:var(--panel);
  display:flex;flex-direction:column;gap:16px}
.q p{color:#dfe4db;font-size:1rem;line-height:1.55}
.q .by{display:flex;align-items:center;gap:12px;margin-top:auto}
.q .by .av{width:36px;height:36px;border-radius:9px;background:#1b1f19;color:var(--green);
  display:grid;place-items:center;font-weight:800;font-size:.78rem}
.q .by b{display:block;font-size:.88rem}
.q .by small{color:var(--grey-2);font-size:.76rem}

.cta{padding:100px 0;text-align:center;border-top:1px solid var(--line);position:relative;overflow:hidden;scroll-margin-top:88px}
.cta::before{content:"";position:absolute;inset:0;
  background:radial-gradient(620px 300px at 50% 0%, rgba(155,229,2,.13), transparent 70%)}
.cta .wrap{position:relative}
.cta p{margin:22px auto 32px;max-width:56ch}
.cta .hero-cta{justify-content:center}
.cta .phone{margin-top:22px;font-size:.9rem;color:var(--grey-2)}

footer{border-top:1px solid var(--line);padding:52px 0 38px;background:#040504}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px}
footer h5{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2);
  font-weight:700;margin-bottom:15px}
footer ul{list-style:none;display:grid;gap:10px;font-size:.9rem}
footer ul a{color:var(--grey)}
footer ul a:hover{color:var(--green)}
.f-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;
  justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem;color:var(--grey-2)}

.proto-flag{position:fixed;left:14px;bottom:14px;z-index:99;background:var(--green);color:#0a1400;
  font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  padding:9px 14px;border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.5)}

/* page routing */
.page{display:none}
.page.on{display:block}
/* projects page */
.p-hero{padding:96px 0 78px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.p-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(720px 400px at 78% 26%, rgba(155,229,2,.10), transparent 66%)}
.p-hero .wrap{position:relative}
.p-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.statline{display:flex;gap:38px;flex-wrap:wrap;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.statline div b{display:block;font-size:1.9rem;font-weight:800;color:var(--green);letter-spacing:-.03em;line-height:1}
.statline div span{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--grey-2);font-weight:700;display:block;margin-top:7px}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}
.chip{background:#0c0e0a;border:1px solid var(--line);color:var(--grey-2);font:inherit;font-size:.76rem;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:9px 16px;border-radius:20px;cursor:pointer;transition:.18s}
.chip:hover{color:var(--white);border-color:#3a4034}
.chip.on{background:var(--green);color:#0a1400;border-color:var(--green)}
.grid-work{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.tile{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--line);display:block}
.tile.hide{display:none}
.tile.vert .shot{background:#090b07}
.tile.vert .shot img{object-fit:contain}
.tile.vert::before{content:"Vertical";position:absolute;top:10px;right:10px;z-index:3;font-size:.58rem;
  font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--grey-2);
  background:rgba(0,0,0,.6);border:1px solid var(--line);padding:4px 8px;border-radius:4px}
.tile:hover .shot img{filter:none;transform:scale(1.045)}
.tile:hover .shot::after{opacity:0}
.tile-meta{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:34px 14px 13px;
  background:linear-gradient(transparent,rgba(0,0,0,.88));display:block}
.tile-meta b{display:block;font-size:.86rem;font-weight:700;line-height:1.25}
.tile-meta small{display:block;margin-top:4px;font-size:.68rem;color:var(--grey-2);
  letter-spacing:.06em;text-transform:uppercase;font-weight:700}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svc a{background:#080a07;padding:32px 28px;transition:.2s;display:block}
.svc a:hover{background:#0e120c}
.svc h4{font-size:1.06rem;font-weight:700;margin-bottom:9px}
.svc h4::before{content:"";display:inline-block;width:7px;height:7px;background:var(--green);
  border-radius:2px;margin-right:11px;vertical-align:middle}
.svc p{font-size:.9rem}
.svc em{font-style:normal;display:block;margin-top:14px;font-size:.74rem;letter-spacing:.08em;
  text-transform:uppercase;font-weight:700;color:var(--green)}
.feat{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center;
  border:1px solid var(--line);border-radius:var(--r);padding:38px;background:linear-gradient(180deg,var(--panel),#0a0c09)}
.feat-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.feat-strip .shot{aspect-ratio:16/10;border-radius:9px;overflow:hidden}
.crosssell{border:1px solid var(--green);border-radius:var(--r);padding:30px 34px;
  background:rgba(155,229,2,.05);display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap}
.quotes3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.quotes3{grid-template-columns:1fr}}
.carousel{max-width:100%}
.crosssell b{font-size:1.15rem;display:block;margin-bottom:5px}
.crosssell p{font-size:.94rem;margin:0;max-width:62ch}
/* engagement */
.eng{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.eng-card{border:1px solid var(--line);border-radius:var(--r);padding:32px;background:var(--panel)}
.eng-card h4{font-size:1.15rem;margin-bottom:10px}
.eng-card p{font-size:.94rem}
.eng-card .btn{margin-top:20px}
.follow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.follow div{border:1px solid var(--line);border-radius:12px;padding:24px;background:#080a07}
.follow b{display:block;font-size:1rem;margin-bottom:7px}
.follow p{font-size:.87rem}
.follow small{display:inline-block;margin-top:12px;font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;font-weight:700;color:var(--grey-2);border:1px solid var(--line);
  padding:4px 8px;border-radius:5px}
@media(max-width:1000px){
  .p-grid,.feat{grid-template-columns:1fr;gap:34px}
  .grid-work{grid-template-columns:repeat(2,1fr)}
  .svc,.eng{grid-template-columns:1fr}
  .follow{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .grid-work{grid-template-columns:1fr}
  .follow{grid-template-columns:1fr}
  .feat-strip{grid-template-columns:1fr}
}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1;transform:none}

@media(max-width:1000px){
  .hero-grid,.how,.panel.on{grid-template-columns:1fr;gap:38px}
  .panel .aside{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:28px}
  .cases,.quotes,.rhythm{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr 1fr}
  .nav ul{display:none} .burger{display:block}
  .slashes{display:none}
  .cmp-row{grid-template-columns:1fr}
  .cmp-row>div{border-right:0;border-bottom:1px solid var(--line)}
  .cmp-row.head{display:none}
}
@media(max-width:680px){
  .wrap{padding:0 20px}
  .sec,.cta{padding:70px 0}
  .f-grid{grid-template-columns:1fr}
  .nav{height:64px;gap:8px} .wrap.nav{padding:0 14px}
  .logo-lockup{height:23px}
  .btn{padding:10px 14px;font-size:.72rem}
  .nav-cta .btn-plain{display:none}
  .panel,.taper{padding:26px 22px}
  .tog button{padding:10px 16px;font-size:.74rem}
}

/* heading font (Urbanist) */
h1,h2,h3,h4,h5,h6,.eyebrow,.btn,.nav ul a,.loginlink,.cs-label,.cs-kicker,.cs-title,.cs-link,.fig,.tag,.tog button,.reel-title,.reel-cta,.rating b,.rv figcaption b,.f-grid h5,.f-social span,.cmp-row.head,.suits,.step .n,.cs-res .lbl,.legend2 span{font-family:'Urbanist',system-ui,-apple-system,Segoe UI,sans-serif}

/* projects page: services + project stories */
.svc-block{margin:8px 0 70px}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.svc{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);display:flex;flex-direction:column}
.svc-media,.ps-vid{position:relative;display:block;width:100%;aspect-ratio:16/9;background:#000;border:0;padding:0;cursor:pointer;overflow:hidden}
.svc-media img,.ps-vid img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:opacity .3s,transform .6s}
.svc-media:hover img,.ps-vid:hover img{opacity:1;transform:scale(1.03)}
.svc-media:hover .gif-play,.ps-vid:hover .gif-play{background:var(--green)}
.svc-media:hover .gif-play::after,.ps-vid:hover .gif-play::after{border-left-color:#0a1400}
.svc-body{padding:20px 22px 24px}
.svc-body h3{font-size:1.25rem;margin:0 0 4px}
.svc-client{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:700;margin:0 0 10px;font-family:'Urbanist',system-ui,sans-serif}
.svc-body p{color:var(--grey);font-size:.92rem;margin:0}
.svc-body .svc-client{color:var(--green)}
.ps-block{margin-top:96px}
.ps{border-top:1px solid var(--line);padding:42px 0 10px}
.ps h3{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0 0 14px}
.ps blockquote{margin:0 0 24px;font-size:1.05rem;line-height:1.5;color:#fff;font-style:italic;max-width:760px;border-left:3px solid var(--green);padding-left:16px}
.ps-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.ps-cols b{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:8px;font-family:'Urbanist',system-ui,sans-serif}
.ps-cols p{color:var(--grey);font-size:.92rem;margin:0}
.ps-cols p.t{color:#fff;font-weight:600;margin-bottom:6px}
.ps-vids{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}
.ps-vids figure{margin:0}
.ps-vid{border:1px solid var(--line);border-radius:10px}
.ps-vid .gif-play{transform:translate(-50%,-50%) scale(.7)}
.ps-vids figcaption{font-size:.78rem;color:var(--grey);margin-top:8px}
@media(max-width:900px){.svc-grid,.ps-cols{grid-template-columns:1fr}.ps-vids{grid-template-columns:repeat(2,minmax(0,1fr))}}
