/* Self-hosted variable fonts — subsetted to latin. Replaces the render-blocking
   fonts.googleapis.com stylesheet. One request per family, not one per weight. */
@font-face{
  font-family:'Montserrat';
  src:url('./uploads/fonts/montserrat-var-latin.woff2') format('woff2-variations');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Sora';
  src:url('./uploads/fonts/sora-var-latin.woff2') format('woff2-variations');
  font-weight:100 800;
  font-style:normal;
  font-display:swap;
}
:root{
  --bg:#000000;--bg-2:#0d0d0d;--bg-3:#161616;
  --line:rgba(255,255,255,.08);--line-strong:rgba(255,255,255,.22);
  --ink:#f2f2f2;--muted:rgba(242,242,242,.72);
  --neon:#cfff00;--neon-soft:rgba(207,255,0,.12);--gold:#d9b25f;
  --grad:linear-gradient(105deg,#cfff00 0%,#a8d000 100%);
  --grad-soft:linear-gradient(105deg,rgba(207,255,0,.9),rgba(168,208,0,.9));
  --serif:'Sora',-apple-system,'Segoe UI',sans-serif;--mono:'Montserrat',-apple-system,sans-serif;--sans:'Montserrat',-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;background:#000000}
body{
  background:transparent;
  color:var(--ink);font-family:var(--sans);font-weight:400;font-size:14.5px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
/* Fixed cinematic galaxy background behind all content */
.site-bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-2;display:block;pointer-events:none;opacity:0;transition:opacity 1.4s ease}
.site-bg-vignette{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 50% 0%,rgba(207,255,0,.05),transparent 55%),radial-gradient(100% 100% at 50% 100%,rgba(0,0,0,.9),rgba(0,0,0,.2) 40%,transparent 70%)}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.3em;text-transform:uppercase;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#cfff00;display:block;margin-bottom:22px}
.svc-icon,.why-icon,.ci-icon{color:#cfff00 !important}
.display{font-family:var(--serif);font-weight:700;line-height:1.08;letter-spacing:0;background:linear-gradient(180deg,#ffffff 0%,#ededed 42%,#a6a6a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.display em{font-style:normal;background:linear-gradient(180deg,#ffffff 0%,#ededed 42%,#a6a6a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.btn{font-family:var(--mono);font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;display:inline-block;padding:16px 34px;border-radius:2px;border:1px solid rgba(255,255,255,.35);color:var(--ink);transition:background .3s,color .3s,border-color .3s;cursor:pointer;background:transparent;text-align:center}
.btn:hover{background:#cfff00;border-color:#cfff00;color:#0a0a0a}
.btn.solid{background:#cfff00;border:1px solid #cfff00;color:#0a0a0a;box-shadow:0 14px 50px rgba(207,255,0,.25),inset 0 1px 0 rgba(255,255,255,.35);transition:box-shadow .4s,transform .3s;position:relative;overflow:hidden}
.btn.solid:hover{background:#dbff33;box-shadow:0 18px 60px rgba(207,255,0,.4),inset 0 1px 0 rgba(255,255,255,.5);transform:translateY(-1px)}
.btn.ghost{border-color:rgba(255,255,255,.3);color:var(--ink)}
.btn.ghost:hover{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.06);color:#fff}
.hero-cta .btn.solid,.cta .btn.solid{background:#cfff00;border:1px solid #cfff00;color:#0a0a0a;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.hero-cta .btn.solid:hover,.cta .btn.solid:hover{background:#dbff33;box-shadow:0 14px 50px rgba(0,0,0,.5);transform:translateY(-1px)}
.textlink{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:10px;transition:color .3s}
.textlink:hover{color:#fff}
.textlink::after{content:"→";color:#fff;transition:transform .3s}
.textlink:hover::after{transform:translateX(5px)}

.ph{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 20% 10%,#101826 0%,transparent 55%),radial-gradient(100% 80% at 85% 90%,#0b111c 0%,transparent 60%),#0a0d12}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph::before{display:none}
.ph .ph-tag{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--mono);font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,237,227,.4);white-space:nowrap;text-align:center;line-height:2;padding:0 12px}

header{position:fixed;inset:0 0 auto;z-index:50;mix-blend-mode:difference;transition:background .4s,backdrop-filter .4s,border-color .4s,color .3s;border-bottom:1px solid transparent;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
/* blend off while an overlay panel needs its own solid surface */
header.no-blend,body.menu-open header{mix-blend-mode:normal}
header.scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
header.on-light .nav-links a{color:rgba(16,16,16,.8)}
header.on-light .nav-links a:hover,header.on-light .nav-links a.active{color:#101010}
header.on-light .nav .btn{color:#101010;border-color:rgba(0,0,0,.35)}
header.on-light .nav .btn:hover{background:#101010;border-color:#101010;color:#cfff00}
header.on-light .logo img{filter:brightness(0)}
header.on-light .burger span{background:rgba(16,16,16,.9)}
header .burger span{transition:background .45s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s,top .35s cubic-bezier(.2,.7,.2,1)}
header .nav-links a,header .nav .btn{transition:color .45s cubic-bezier(.4,0,.2,1),border-color .45s cubic-bezier(.4,0,.2,1),background .3s}
.nav{display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto;padding:24px 28px}
.logo{display:inline-flex;align-items:center}
.logo img{height:44px;width:auto;display:block;filter:brightness(0) invert(1);transition:filter .45s cubic-bezier(.4,0,.2,1)}
.foot-grid .logo img{height:52px;filter:brightness(0) invert(1)}
.nav-links{display:flex;align-items:center;gap:22px;list-style:none;margin-left:auto;margin-right:32px}
.nav-links a{font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.92);transition:color .3s}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav .btn{padding:12px 26px;font-size:10.5px;color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.4)}
.nav .btn:hover{color:#0c0b0a;border-color:#fff;background:#fff}
.burger{display:none;background:none;border:0;cursor:pointer;padding:6px;position:relative;z-index:120;width:36px;height:30px}
.burger span{position:absolute;left:6px;display:block;width:24px;height:1.5px;background:rgba(255,255,255,.9);transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .25s,top .35s cubic-bezier(.2,.7,.2,1)}
.burger span:nth-child(1){top:7px}
.burger span:nth-child(2){top:14px}
.burger span:nth-child(3){top:21px}
.burger.open span{background:#fff}
.burger.open span:nth-child(1){top:14px;transform:rotate(45deg)}
.burger.open span:nth-child(2){opacity:0;transform:scaleX(.4)}
.burger.open span:nth-child(3){top:14px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:100;background:rgba(12,11,10,.97);backdrop-filter:blur(40px) saturate(160%);-webkit-backdrop-filter:blur(40px) saturate(160%);border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 30px;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.mnav.open{opacity:1;visibility:visible}
body.menu-open header{z-index:110;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
body.menu-open .nav .logo{opacity:0;pointer-events:none;transition:opacity .3s}
/* header overlays the open menu panel: let taps through to the links,
   keep the burger itself clickable so the menu can still be closed */
body.menu-open header{pointer-events:none}
body.menu-open header .burger{pointer-events:auto}
.nav .logo{transition:opacity .3s}
.mnav-links{list-style:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;margin-bottom:38px}
.mnav-links a{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:0;transform:translateY(10px);transition:color .3s}
.mnav-links a:hover,.mnav-links a.active{color:#fff}
.mnav.open .mnav-links a{animation:rise .5s cubic-bezier(.2,.7,.2,1) forwards}
.mnav.open .mnav-links li:nth-child(1) a{animation-delay:.06s}
.mnav.open .mnav-links li:nth-child(2) a{animation-delay:.1s}
.mnav.open .mnav-links li:nth-child(3) a{animation-delay:.14s}
.mnav.open .mnav-links li:nth-child(4) a{animation-delay:.18s}
.mnav.open .mnav-links li:nth-child(5) a{animation-delay:.22s}
.mnav.open .mnav-links li:nth-child(6) a{animation-delay:.26s}
.mnav.open .mnav-links li:nth-child(7) a{animation-delay:.3s}
.mnav.open .mnav-links li:nth-child(8) a{animation-delay:.34s}
.mnav.open .mnav-links li:nth-child(9) a{animation-delay:.38s}
.mnav.open .mnav-links li:nth-child(10) a{animation-delay:.42s}
.mnav.open .mnav-links li:nth-child(11) a{animation-delay:.46s}
@keyframes rise{to{opacity:1;transform:none}}
.mnav .btn{padding:15px 40px;font-size:11px}
.mnav-links a.sub{font-size:12px;letter-spacing:.16em;color:var(--muted)}
.mnav-links a.sub::before{content:"\2013\00a0\00a0";opacity:.5}
.mnav-links a.sub:hover{color:#fff}

/* Services dropdown */
.nav-links .has-drop{position:relative}
.nav-links .has-drop>a::after{content:"\25be";font-size:8px;margin-left:7px;opacity:.6;display:inline-block;vertical-align:middle}
.nav-links .drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);width:max-content;max-width:260px;list-style:none;background:rgba(12,11,10,.97);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--line);border-radius:8px;padding:6px;margin:0;display:flex;flex-direction:column;gap:1px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s,transform .22s,visibility .22s;box-shadow:0 22px 55px rgba(0,0,0,.55)}
.nav-links .drop::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
header.on-light .nav-links .drop{background:#ffffff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:rgba(0,0,0,.1);box-shadow:0 18px 50px rgba(0,0,0,.14)}
header.on-light .nav-links .drop a{color:rgba(16,16,16,.8)}
header.on-light .nav-links .drop a:hover{background:rgba(0,0,0,.06);color:#101010}
.nav-links .has-drop:hover .drop,.nav-links .has-drop:focus-within .drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-links .drop a{display:block;padding:10px 16px;text-align:center;white-space:nowrap;font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border-radius:4px;color:rgba(255,255,255,.72);transition:background .2s,color .2s}
.nav-links .drop a:hover{background:rgba(255,255,255,.07);color:#fff}

/* HERO (home) */
.hero{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;padding:180px 28px 120px;color:#fff;overflow:hidden;background:transparent}
@media(max-width:768px){.hero{padding:150px 22px 90px}.hero p{margin:22px auto 34px}}
/* keep each hero headline line whole on phones */
@media(max-width:600px){.hero h1,.hero h1 em{font-size:clamp(25px,8.1vw,38px) !important;white-space:nowrap !important;letter-spacing:-.01em}}
@media(max-width:480px){.hero{padding:130px 20px 70px}.hero .eyebrow{margin-bottom:20px}.hero p{margin:18px auto 28px;font-size:14.5px}.hero-cta{gap:12px}}
@media(max-height:700px) and (max-width:768px){.hero{padding-top:120px;padding-bottom:60px}}
.hero-bg{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 0%,rgba(207,255,0,.06),transparent 55%),radial-gradient(110% 90% at 82% 88%,rgba(255,255,255,.05),transparent 60%)}
.oil-scrim{background:radial-gradient(90% 75% at 50% 42%,rgba(0,0,0,.12),rgba(0,0,0,.5) 68%,rgba(0,0,0,.72) 100%);z-index:1}
.oil-scrim::before{display:none}
.hero-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;z-index:-1;opacity:.045;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 35%,transparent 92%);mask-image:radial-gradient(closest-side,#000 35%,transparent 92%)}
.hero .hero-logo{height:172%;max-height:1440px}
.page-hero .hero-logo{height:300%;max-height:1040px;opacity:.035}
.hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;opacity:0;transition:opacity .9s ease}
.hero-video.playing{opacity:1}
.hero-video-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.44),rgba(0,0,0,0) 22%),radial-gradient(85% 70% at 50% 45%,rgba(0,0,0,.5),rgba(0,0,0,.67) 70%,rgba(0,0,0,.76) 100%)}
.hero-logo{z-index:1}
.hero-inner{position:relative;z-index:2;max-width:940px}
.hero .eyebrow{margin-bottom:28px}
.hero h1{font-size:clamp(38px,6.4vw,86px);background:linear-gradient(180deg,#ffffff 0%,#ededed 42%,#a6a6a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 em{display:block;background:linear-gradient(180deg,#ffffff 0%,#ededed 42%,#a6a6a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:rgba(255,255,255,.78);max-width:600px;margin:30px auto 42px;font-size:15.5px;font-weight:500}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-proof{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero-avatars{display:flex}
.hero-avatar{border-radius:50%;border:2px solid rgba(10,10,10,.9);margin-left:-10px;overflow:hidden}
.hero-avatar:first-child{margin-left:0}
.hero-proof-text{display:flex;align-items:center;gap:10px;font-size:13.5px;color:rgba(255,255,255,.75)}
.hero-proof-text strong{color:#fff;font-weight:700}
.hero-stars{display:flex;gap:2px;color:#cfff00}
.hero-stars svg{width:14px;height:14px}
@media(max-width:480px){.hero-proof{margin-top:24px;gap:10px}.hero-proof-text{font-size:12.5px}}
.hero .btn.ghost{border-color:rgba(255,255,255,.5);color:#fff}
.hero .btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.hero-scroll{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:2;width:1px;height:54px;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.9}50%{opacity:.3}}
.hero-stats{display:flex;gap:44px;justify-content:center;flex-wrap:wrap;margin-top:64px}
.hero-stat{text-align:center}
.hero-stat b{font-family:var(--serif);font-size:40px;font-weight:500;line-height:1;color:#fff;display:block}
.hero-stat span{font-family:var(--mono);font-weight:600;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:10px;display:block}

/* PAGE HERO (inner pages) */
.page-hero{position:relative;padding:150px 28px 90px;text-align:center;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,rgba(30,99,214,.14),transparent 55%),radial-gradient(110% 90% at 82% 88%,rgba(18,56,111,.16),transparent 60%)}
.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:.16;z-index:0;pointer-events:none}
.page-hero-scrim{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(90% 75% at 50% 40%,rgba(10,10,10,.55),rgba(10,10,10,.85) 70%,rgba(10,10,10,.95) 100%)}
.page-hero::before{display:none}
/* soft fade from the page hero into the section below */
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 55%,#000000 100%)}
@media(max-width:768px){.page-hero::after{height:120px}}
/* first section after a page hero flows straight out of the fade */
.page-hero + section:not(.tint):not(.quote-block):not(.cta):not(.legal){padding-top:0}


.page-hero .ph-inner{position:relative;z-index:2;max-width:820px;margin:0 auto}
.page-hero h1{font-size:clamp(34px,5.4vw,68px);color:#fff}
.page-hero h1 em{display:inline}
.page-hero p{color:rgba(255,255,255,.7);max-width:620px;margin:26px auto 0;font-size:15px}
.crumbs{font-family:var(--mono);font-weight:600;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:24px;display:flex;gap:10px;justify-content:center;align-items:center}
.crumbs.eb-hero{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.3em;color:#cfff00;margin-bottom:28px}
.crumbs a{color:rgba(255,255,255,.4);transition:color .3s}
.crumbs.eb-hero a{color:#cfff00}
.crumbs.eb-hero a:hover{color:#fff}
.crumbs a:hover{color:#fff}
.crumbs span{color:rgba(255,255,255,.25)}

section{padding:120px 0;background:rgba(0,0,0,.55)}
.section-head{text-align:center;max-width:720px;margin:0 auto 70px}
.section-head h2{font-size:clamp(28px,4vw,52px)}
.section-head p{color:var(--muted);margin-top:20px;font-size:14px}
.tint{background:#ffffff}

/* highlight blocks */
.why-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.why-item{padding:10px 24px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;text-align:center}
.why-item:first-child{border-left:0;padding-left:24px}
.why-item .why-icon{width:38px;height:38px;color:var(--neon);margin-bottom:20px}
.why-item .big{font-family:var(--serif);font-size:44px;color:#fff;line-height:1;margin-bottom:14px}
.why-item h3{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:700;margin-bottom:12px}
.why-item p{color:var(--muted);font-size:13px}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-grid .rv>h2.display{font-size:clamp(30px,3.8vw,48px);margin-bottom:24px}
.about-grid .rv>p{color:var(--muted);margin-bottom:18px;max-width:480px}
.about-grid .rv>.btn{margin-top:8px}
.about h2{font-size:clamp(36px,4.8vw,58px);margin-bottom:26px}
.about h2 em{display:block}
.about p{color:var(--muted);margin-bottom:18px;max-width:480px}
.about .btn{margin-top:16px}
.about-media{position:relative;aspect-ratio:16/9}
.about-media .frame{display:none}
.about-media .ph{position:absolute;inset:0;border-radius:4px}

/* gallery tilt */
.tilt-section{padding:110px 0 0;overflow:hidden;position:relative}
.tilt-section .section-head{margin-bottom:50px;position:relative;z-index:3}
.tilt-wrap{display:flex;justify-content:center;gap:14px;transform:rotate(-12deg) scale(1.12);transform-origin:center center;padding:50px 0 130px;will-change:transform;margin-top:60px;position:relative}
.tilt-col{display:flex;flex-direction:column;gap:14px;width:clamp(210px,21vw,315px);flex-shrink:0;will-change:transform}
.tilt-col .tile{width:100%;border-radius:4px;aspect-ratio:16/10;overflow:hidden;filter:brightness(.9);transition:filter .4s,transform .4s,box-shadow .4s;box-shadow:0 20px 45px rgba(0,0,0,.5)}
.tilt-col .tile:hover{filter:brightness(1.05);transform:scale(1.04);box-shadow:0 18px 50px rgba(0,0,0,.55)}
.tilt-col .tile .ph{width:100%;height:100%}

.tilt-section::before,.tilt-section::after{content:"";position:absolute;left:0;right:0;z-index:2;pointer-events:none}
.tilt-section::before{top:0;bottom:0;background:linear-gradient(rgba(6,8,12,1) 0%,rgba(6,8,12,.8) 16%,rgba(6,8,12,.3) 34%,transparent 46%,transparent 54%,rgba(6,8,12,.3) 66%,rgba(6,8,12,.8) 84%,rgba(6,8,12,1) 100%),linear-gradient(90deg,rgba(6,8,12,1),rgba(6,8,12,.5) 10%,transparent 22%),linear-gradient(270deg,rgba(6,8,12,1),rgba(6,8,12,.5) 10%,transparent 22%)}
.tilt-section::after{display:none}
@media(max-width:768px){.tilt-wrap{transform:rotate(-8deg) scale(1.18);gap:10px}.tilt-col{width:clamp(110px,24vw,165px);gap:10px}}
@media(max-width:640px){.tilt-section{display:none}}
@media(prefers-reduced-motion:reduce){.tilt-col{transform:none !important}}

.marquee-row{overflow:hidden;width:100%}
.marquee-track{display:flex;gap:20px;width:max-content;animation:marquee-left 46s linear infinite}
.marquee-track.reverse{animation:marquee-right 46s linear infinite}
.marquee-tile{width:clamp(220px,22vw,340px);aspect-ratio:16/10;border-radius:4px;overflow:hidden;flex-shrink:0;filter:brightness(.9);transition:filter .4s,transform .4s;box-shadow:0 20px 45px rgba(0,0,0,.5)}
.marquee-tile:hover{filter:brightness(1.05);transform:scale(1.03)}

.pf-tile{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:6px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.08);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.pf-tile image-slot{transition:transform .6s cubic-bezier(.2,.7,.2,1);display:block;width:100%;height:100%}
.pf-tile:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.16)}
.pf-tile:hover image-slot{transform:scale(1.06)}
.pf-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:20px 22px;background:linear-gradient(to top,rgba(4,6,10,.88) 0%,rgba(4,6,10,.35) 45%,transparent 75%);opacity:0;transition:opacity .4s;pointer-events:none}
.pf-tile:hover .pf-overlay{opacity:1}
.pf-overlay .pf-name{font-family:var(--font-display,inherit);font-size:19px;font-weight:600;color:#fff;letter-spacing:.01em}
.pf-overlay .pf-visit{margin-top:6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);display:flex;align-items:center;gap:6px}
.pf-overlay .pf-visit svg{width:13px;height:13px}
.marquee-tile img{width:100%;height:100%;object-fit:cover;object-position:50% 0;background:#0a0d12;display:block}
@keyframes marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}
@media(max-width:768px){.marquee-tile{width:clamp(160px,50vw,220px)}}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-icon{width:44px;height:44px;margin-bottom:20px;color:var(--neon)}
.svc{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));padding:30px 26px 28px;border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:border-color .35s,transform .35s,box-shadow .35s}
.svc:has(.price),.svc:has(.btn){align-items:flex-start;text-align:left}
.svc-grid-center .svc{align-items:center !important;text-align:center !important}
.svc-grid-center .svc .price{margin-left:auto;margin-right:auto}
.svc:hover{border-color:rgba(207,255,0,.45);transform:translateY(-4px);box-shadow:0 18px 50px rgba(207,255,0,.12)}
.svc .tag{font-family:var(--mono);font-weight:700;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:16px}
.svc h3{font-family:var(--serif);font-size:21px;text-transform:none;letter-spacing:.02em;margin-bottom:10px}
.svc p{color:var(--muted);font-size:12.5px;margin-bottom:22px}
.svc .price{margin-top:auto;font-family:var(--mono);font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border-top:1px solid var(--line);padding-top:16px}
.svc .price b{color:#fff;font-weight:800}

/* tiers / pricing / process */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tier{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));display:flex;flex-direction:column;transition:border-color .35s,transform .35s,box-shadow .35s;position:relative;padding:52px 28px 30px;border-radius:10px}
.tier:hover{transform:translateY(-4px);border-color:rgba(207,255,0,.45);box-shadow:0 18px 50px rgba(207,255,0,.12)}
.tier.flagship{border-color:transparent;background:linear-gradient(180deg,#1a1a1a,#0d0d0d) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 20px 60px rgba(207,255,0,.14)}
.tier .flag{position:absolute;top:-1px;right:18px;font-family:var(--mono);font-size:9px;text-transform:uppercase;background:#0a0a0a;color:#fff;padding:7px 14px;border-radius:0 0 10px 10px;font-weight:700;letter-spacing:.16em}
.tier h3{font-family:var(--serif);font-size:24px;text-transform:uppercase;letter-spacing:.02em;margin-bottom:18px}
.tier ul{list-style:none;margin-bottom:26px}
.tier ul li{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);padding:7px 0;display:flex;gap:12px;align-items:baseline}
.tier ul li::before{content:"◆";color:#fff;font-size:7px}
.tier .cost{font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#cfff00;margin-bottom:14px}
.tier .nocontract{font-family:var(--mono);font-weight:500;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}
.tier .btn{margin-top:auto;width:100%;padding:14px 10px}

/* feature grid */
.inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:980px;margin:0 auto;border-radius:4px;overflow:hidden}
.inc{background:var(--bg);padding:28px 30px}
.inc h3{font-family:var(--serif);font-size:18px;letter-spacing:.02em;text-transform:none;color:var(--ink);font-weight:600;margin-bottom:10px}
.inc p{color:var(--muted);font-size:12.5px}
.inc{padding:40px 36px;background:var(--bg);display:flex;flex-direction:column;align-items:center;text-align:center}
.about-inc .inc h3,.about-inc h3{text-transform:none;letter-spacing:.02em}
.about-inc .svc-icon{margin-bottom:16px}

/* showcase tiles */
.int-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.int-tile{position:relative;overflow:hidden;border-radius:4px;display:block;aspect-ratio:3/4}
.int-tile .ph{position:absolute;inset:0;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.int-tile:hover .ph{transform:scale(1.06)}
.int-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,12,0) 40%,rgba(14,14,12,.75) 100%)}
.int-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 30px 28px}
.int-cap .lbl{font-family:var(--mono);font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.7);display:block;margin-bottom:8px}
.int-cap h3{font-family:var(--serif);font-size:27px;letter-spacing:.04em;text-transform:uppercase;color:#fff;font-weight:600;line-height:1.05}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blog-card{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .35s,transform .35s,box-shadow .35s}
.blog-card:hover{border-color:rgba(207,255,0,.45);transform:translateY(-4px);box-shadow:0 18px 50px rgba(207,255,0,.12)}
.blog-card .thumb{aspect-ratio:16/10;position:relative;overflow:hidden}
.blog-card .thumb .ph{position:absolute;inset:0}
.blog-body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.blog-meta{font-family:var(--mono);font-weight:600;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:14px;display:flex;gap:12px;align-items:center}
.blog-meta span{color:var(--muted)}
.blog-card h3{font-family:var(--serif);font-size:22px;letter-spacing:.01em;line-height:1.15;text-transform:uppercase;margin-bottom:12px}
.blog-card p{color:var(--muted);font-size:12.5px;margin-bottom:20px}
.blog-card .textlink{margin-top:auto}
.blog-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;margin-bottom:26px;background:var(--bg-2)}
.blog-feature .thumb{position:relative;min-height:360px}
.blog-feature .thumb .ph{position:absolute;inset:0}
.blog-feature .fbody{padding:50px 48px;display:flex;flex-direction:column;justify-content:center}
.blog-feature h3{font-family:var(--serif);font-size:clamp(26px,3vw,38px);text-transform:uppercase;letter-spacing:.02em;line-height:1.1;margin-bottom:18px}
.blog-feature p{color:var(--muted);font-size:14px;margin-bottom:26px;max-width:460px}
@media(max-width:820px){.blog-feature{grid-template-columns:1fr}.blog-feature .thumb{min-height:240px}.blog-feature .fbody{padding:36px 30px}}

/* contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:start}
.contact-info h2{font-size:clamp(30px,3.6vw,44px);margin-bottom:22px}
.contact-info>p{color:var(--muted);margin-bottom:34px;max-width:400px}
.contact-item{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:18px;align-items:flex-start}
.contact-item:last-child{border-bottom:1px solid var(--line)}
.contact-item .ci-icon{width:22px;height:22px;color:var(--neon);flex-shrink:0;margin-top:3px}
.contact-item h4{font-family:var(--mono);font-weight:700;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.contact-item a,.contact-item p{font-family:var(--serif);font-size:19px;color:var(--ink);letter-spacing:.02em}
.contact-item a:hover{color:#fff}
.form-panel{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));border-radius:12px;padding:32px 14px}
.form-panel .form-head{font-family:var(--mono);font-weight:700;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);padding:16px 18px 6px}
.ghl-form-wrap{background:transparent;padding:0;height:528px;overflow:hidden}
.ghl-embed{width:100%;height:100%;border:none;display:block}
.booking-panel{margin:0 auto;border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));border-radius:12px;padding:14px}
.ghl-booking{width:100%;height:100%;min-height:792px;border:none;display:block;border-radius:2px}
@media(max-width:820px){.booking-panel{height:900px !important;padding:8px}.ghl-booking{min-height:884px}}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:44px}}

/* faq */
.faq-list{max-width:760px;margin:0 auto 50px}
.faq-item{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));margin-bottom:14px;border-radius:2px;overflow:hidden;transition:border-color .3s}
.faq-q{width:100%;background:none;border:0;cursor:pointer;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;text-align:left;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.01em}
.faq-q .plus{color:#cfff00;font-family:var(--mono);font-size:16px;transition:transform .3s;flex-shrink:0}
.faq-item.open .plus{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.faq-item.open .faq-a{max-height:400px}
.faq-a p{padding:0 26px 24px;color:var(--muted);font-size:13.5px;max-width:660px}
.faq .btn-row{text-align:center}

/* legal */
.legal{padding:60px 0 120px}
.legal .wrap{max-width:820px}
.legal .updated{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:44px;display:block}
.legal h2{font-family:var(--serif);font-size:clamp(22px,2.6vw,30px);font-weight:600;color:var(--ink);margin:48px 0 16px}
.legal h2:first-of-type{margin-top:0}
.legal p{color:var(--muted);line-height:1.75;margin-bottom:16px}
.legal ul{color:var(--muted);line-height:1.75;margin:0 0 16px 20px}
.legal li{margin-bottom:8px}
.legal strong{color:var(--ink);font-weight:600}
.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.legal .note{margin-top:56px;padding-top:28px;border-top:1px solid var(--line);font-size:13px;font-style:italic}

/* quote */
.quote-block{background:#f5f5f5}
.quote-block .wrap{max-width:900px;text-align:center}
.quote-block blockquote{font-family:var(--serif);font-size:clamp(22px,3.2vw,42px);font-weight:500;line-height:1.35;letter-spacing:.01em;color:var(--ink);margin:40px 0 34px}
.quote-block .attrib{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.quote-block blockquote strong{font-weight:800;color:#fff}

/* cta */
.cta{position:relative;text-align:center;padding:150px 28px;overflow:hidden;background:radial-gradient(60% 70% at 50% 50%,rgba(207,255,0,.06),transparent 60%),rgba(0,0,0,.55)}
.cta::before{display:none}
.cta-inner{position:relative;z-index:2;color:#fff;max-width:720px;margin:0 auto}
.cta h2{font-size:clamp(40px,6vw,70px);margin-bottom:18px;background:linear-gradient(180deg,#ffffff 0%,#ededed 42%,#a6a6a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta h2 em{background:linear-gradient(180deg,#ffffff 0%,#ededed 42%,#a6a6a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.cta p{color:rgba(255,255,255,.75);max-width:480px;margin:0 auto 38px}
.cta .hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.cta .guarantee{font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:26px;display:block}
.cta .btn.ghost{border-color:rgba(255,255,255,.5);color:#fff}
.cta .btn.ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.cta .eyebrow{color:rgba(255,255,255,.55)}
.cta .guarantee b{color:#fff;font-weight:800}

footer{padding:120px 0 50px;background:#000000;color:rgba(255,255,255,.8)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px;margin-bottom:70px}
.foot-grid .logo{display:block;margin-bottom:20px}
.foot-grid p{color:rgba(255,255,255,.5);font-size:13px;max-width:300px}
footer h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:22px;font-weight:700}
footer ul{list-style:none}
footer ul a{color:rgba(255,255,255,.6);font-size:13px;display:inline-block;padding:5px 0;transition:color .3s}
footer ul a:hover{color:#fff}
.socials{display:flex;gap:14px;margin-top:24px}
.socials a{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:999px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);transition:border-color .3s,color .3s}
.socials a:hover{border-color:rgba(255,255,255,.6);color:#fff}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:32px;font-family:var(--mono);font-weight:500;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.3)}

.rv{opacity:1;transform:none}
html.rv-ready .rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
html.rv-ready .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html.rv-ready .rv{opacity:1;transform:none;transition:none}
  .hero-scroll,.mnav.open .mnav-links a{animation:none}
  .mnav-links a{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
@media(max-width:1060px){.svc-grid{grid-template-columns:1fr 1fr}.tiers{grid-template-columns:1fr 1fr}.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){
  .why-grid{grid-template-columns:1fr 1fr 1fr;gap:40px 0}
  .why-item:nth-child(4){border-left:0;padding-left:0}
  .about-grid{grid-template-columns:1fr;gap:60px}
  .about-media{order:var(--mobile-media-order,0)}
  .about-grid>.rv:not(.about-media){text-align:center}
  .about-grid>.rv:not(.about-media) .btn,.about-grid>.rv:not(.about-media) .cta-row{justify-content:center}
  .about-grid>.rv:not(.about-media) ul{text-align:left;display:inline-block}
  .foot-grid{grid-template-columns:1fr;gap:44px}
  .inc-grid{grid-template-columns:1fr 1fr}
  .int-grid{grid-template-columns:1fr}
}
@media(max-width:840px){.nav-links,.nav .btn{display:none}.burger{display:block}section{padding:90px 0}}
@media(max-width:620px){.svc-grid,.tiers,.blog-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}}
@media(max-width:560px){.why-grid,.inc-grid{grid-template-columns:1fr}.why-item{border-left:0;padding:0}.why-item:first-child{padding-left:0}.mnav-links a{font-size:14px}}
[data-annotations="hide"] .eyebrow{display:none}

/* testimonial cards */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:32px;text-align:center}
.testi-card .testi-top{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:20px}
.testi-card .testi-name{font-family:var(--serif);font-size:19px;font-weight:700;color:#fff}
.testi-card .testi-role{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(238,242,247,.5);margin-top:4px}
.testi-card p{color:rgba(238,242,247,.75);font-size:14px;line-height:1.7;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.testi-card .testi-rating{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--mono);font-weight:700;font-size:14px;color:#fff}
.testi-card .testi-rating .hero-stars{color:#cfff00}
.tint .testi-card{background:#fafafa;border-color:rgba(0,0,0,.1)}
.tint .testi-card .testi-name{color:#101010}
.tint .testi-card p{color:rgba(16,16,16,.65);border-color:rgba(0,0,0,.1)}
.tint .testi-card .testi-rating{color:#101010}
@media(max-width:1000px){.testi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.testi-grid{grid-template-columns:1fr !important;max-width:460px;margin-left:auto;margin-right:auto}}

.pf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:1000px){.pf-grid{grid-template-columns:1fr 1fr;gap:22px}}
@media(max-width:820px){.pf-grid{grid-template-columns:1fr;gap:34px;max-width:460px;margin:0 auto}}

/* ---- MOBILE: centre text, stack every card grid ---- */
@media(max-width:720px){
  /* no horizontal escape */
  .svc-grid,.tiers,.inc-grid,.int-grid,.blog-grid,.pf-grid,.about-grid,.contact-grid,.why-grid{
    grid-template-columns:1fr !important;
  }
  .svc-grid,.tiers,.blog-grid,.inc-grid,.int-grid{max-width:460px;margin-left:auto;margin-right:auto}
  .pf-grid{gap:34px !important}

  /* centred body copy */
  .section-head,.section-head p,.about-grid>.rv:not(.about-media),.about-grid>.rv:not(.about-media)>p,.about-grid>.rv:not(.about-media)>h2.display{text-align:center}
  .about-grid>.rv:not(.about-media)>p{margin-left:auto;margin-right:auto}
  .about-grid>.rv:not(.about-media){display:flex;flex-direction:column;align-items:center}

  /* feature + price cards centred regardless of desktop left-align */
  .svc{align-items:center;text-align:center}
  .svc:has(.price),.svc:has(.btn){align-items:center;text-align:center}
  .tier{text-align:center;align-items:center}
  .tier .tbody,.tier .thead{width:100%;text-align:center}
  .tier ul{display:inline-block;text-align:left;margin-left:auto;margin-right:auto}
  .inc{align-items:center;text-align:center}

  .blog-card,.blog-body{text-align:center;align-items:center}
  .blog-feature .fbody{text-align:center;align-items:center}
  .blog-feature p{margin-left:auto;margin-right:auto}

  .contact-info,.contact-info>p{text-align:center}
  .contact-info>p{margin-left:auto;margin-right:auto}
  .contact-item{justify-content:center;text-align:left}

  .foot-grid,.foot-grid p{text-align:center}
  .foot-grid p{margin-left:auto;margin-right:auto}
  .foot-grid .logo{display:inline-flex}
  .socials{justify-content:center}
  .foot-bottom{justify-content:center;text-align:center}
  .foot-bottom>*{width:100%}
}



/* LIGHT BANDS — .tint / .quote-block sections invert to dark-on-white */
.tint,.quote-block{
  --ink:#101010;--muted:rgba(16,16,16,.7);
  --line:rgba(0,0,0,.1);--line-strong:rgba(0,0,0,.25);
  color:var(--ink);
}
.tint .display,.quote-block .display,.tint .display em,.quote-block .display em,
.tint h2,.tint h3,.tint h4,.quote-block blockquote{
  background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#101010;
}
.tint .eyebrow,.quote-block .eyebrow{color:#6b6b6b}
.tint .section-head p,.tint p,.quote-block .attrib{color:var(--muted)}
.tint .btn{border-color:rgba(0,0,0,.35);color:#101010}
.tint .btn:hover{background:#101010;border-color:#101010;color:#cfff00}
.tint .btn.solid{background:#cfff00;border-color:#cfff00;color:#0a0a0a;box-shadow:0 14px 40px rgba(0,0,0,.12)}
.tint .btn.ghost{border-color:rgba(0,0,0,.3);color:#101010}
.tint .btn.ghost:hover{border-color:#101010;background:rgba(0,0,0,.05);color:#101010}
.tint .textlink,.tint .textlink:hover,.tint .textlink::after{color:#101010}
.tint .svc,.tint .tier,.tint .blog-card,.tint .faq-item,.tint .form-panel{
  background:#fafafa;border-color:rgba(0,0,0,.1);
}
.pricing-dark-tiers .tier{background:#141414;border-color:rgba(255,255,255,.09)}
.pricing-dark-tiers .tier h3,.pricing-dark-tiers .tier .nocontract,.pricing-dark-tiers .tier ul li{color:#fff}
.pricing-dark-tiers .tier ul li::before{color:#fff}
.pricing-dark-tiers .tier .cost{color:#cfff00}
.pricing-dark-tiers .tier.flagship{background:linear-gradient(180deg,#1a1a1a,#0d0d0d) padding-box,var(--grad) border-box;border:1.5px solid transparent}
.pricing-dark-tiers .tier .btn.ghost{border-color:rgba(255,255,255,.3);color:#fff}
.pricing-dark-tiers .tier .btn.ghost:hover{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.06);color:#fff}
.tint .inc,.tint .inc-grid{background:#ffffff;border-color:rgba(0,0,0,.1)}
.tint .inc-grid{background:rgba(0,0,0,.1)}
.tint .svc:hover,.tint .tier:hover,.tint .blog-card:hover{border-color:rgba(0,0,0,.35);box-shadow:0 18px 50px rgba(0,0,0,.1)}
.tint .svc-icon,.tint .why-icon,.tint .ci-icon{color:#6b6b6b !important}
.tint .svc .price b,.tint .tier ul li::before,.tint .quote-block blockquote strong,.tint .why-item .big{color:#101010}
.tint .tier .cost{color:#6b6b6b}
.tint .faq-q{color:#101010}
.tint .faq-q .plus{color:#6b6b6b}
.tint .why-item h3,.tint .svc .price,.tint .tier ul li{color:#101010}
.tint .why-item{border-color:rgba(0,0,0,.1)}
.quote-block blockquote strong{color:#101010}


/* FAQ band (black) -> CTA band (white) -> footer (black) */
.faq-section{background:#000000}
.cta.light{background:#ffffff;--ink:#101010;--muted:rgba(16,16,16,.7);--line:rgba(0,0,0,.1)}
.cta.light .cta-inner{color:#101010}
.cta.light h2,.cta.light h2 em,.cta.light .display,.cta.light .display em{
  background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#101010;
}
.cta.light .eyebrow{color:#6b6b6b}
.cta.light p{color:rgba(16,16,16,.7)}
.cta.light .btn.solid{background:#cfff00;border-color:#cfff00;color:#0a0a0a;box-shadow:0 14px 40px rgba(0,0,0,.12)}
.cta.light .btn.solid:hover{background:#dbff33}
.cta.light .btn.ghost{border-color:rgba(0,0,0,.3);color:#101010}
.cta.light .btn.ghost:hover{border-color:#101010;background:rgba(0,0,0,.05);color:#101010}
.cta.light .guarantee,.cta.light .guarantee b{color:#101010}


/* Editorial services list (homepage "What We Do") */
.svc-head{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end;padding-bottom:44px;border-bottom:1px solid rgba(0,0,0,.14)}
.svc-head h2{margin:0;font-size:clamp(34px,5.2vw,64px)}
.svc-row-text{min-width:0}
.svc-row-icon{width:40px;height:40px;flex:none;color:#6b6b6b;transition:color .4s ease,transform .45s cubic-bezier(.4,0,.2,1)}
.svc-row:hover .svc-row-icon{transform:translateX(4px)}
.svc-head>p{margin:0;color:rgba(16,16,16,.62);font-size:17px;line-height:1.7;max-width:420px;justify-self:end}
.svc-list{display:flex;flex-direction:column}
.svc-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;padding:44px 0;border-bottom:1px solid rgba(0,0,0,.14);text-decoration:none;color:inherit;transition:background .4s ease}
.svc-row h3{margin:0 0 12px;font-family:var(--serif);font-weight:800;font-size:clamp(30px,4vw,54px);line-height:1;letter-spacing:-.02em;text-transform:none;color:#101010}
.svc-row p{margin:0;max-width:520px;color:rgba(16,16,16,.62);font-size:16px;line-height:1.65}
.svc-row-arrow{width:40px;height:16px;flex:none;color:#101010;opacity:.35;transition:opacity .4s ease,transform .45s cubic-bezier(.4,0,.2,1)}
.svc-row{position:relative}
.svc-row::before{content:'';position:absolute;inset:0 -28px;background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.045) 14%,rgba(0,0,0,.045) 86%,rgba(0,0,0,0) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.svc-row:hover::before{opacity:1}
.svc-row>*{position:relative}
.svc-row:hover .svc-row-arrow{opacity:1;transform:translateX(10px)}
.svc-row:focus-visible{outline:2px solid #101010;outline-offset:4px}
@media(max-width:840px){
  .svc-head{grid-template-columns:1fr;gap:22px;align-items:start;text-align:center;padding-bottom:34px}
  .svc-head>p{justify-self:center;max-width:none}
  .svc-row{padding:32px 0;gap:16px;text-align:center;grid-template-columns:1fr;justify-items:center}
  .svc-row:hover .svc-row-icon{transform:none}
  .svc-row p{max-width:none}
  .svc-row-arrow{opacity:1;margin:4px auto 0}
  .svc-row::before{display:none}
}


/* ============ MOBILE SCROLL PERFORMANCE ============ */
/* backdrop-filter on fixed/overlay surfaces forces full-viewport
   re-composite every scroll frame on phones. Solid backgrounds instead. */
@media(max-width:1000px){
  header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;transition:background .3s,border-color .3s}
  header.scrolled{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
  .mnav{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(12,11,10,.99)}
  .nav-links .drop{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;background:rgba(12,11,10,.99)}
  /* release permanently-promoted viewport-sized layers */
  .tilt-wrap,.tilt-col,.hero-bg,.hero-bg img,.page-hero-bg{will-change:auto}
}
/* dvh re-resolves as mobile browser chrome hides/shows, re-laying out the
   hero mid-scroll. svh is a fixed value. */
@media(max-width:768px){
  .hero{min-height:100vh;min-height:100svh}
}

/* recent client websites: solid black band on mobile */
@media(max-width:768px){.portfolio.tilt-section{background:#000000}}
