@font-face{font-family:'Encode Sans Expanded';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/encode-sans-expanded-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Encode Sans Expanded';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/encode-sans-expanded-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Encode Sans Expanded';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/encode-sans-expanded-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Encode Sans Expanded';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/encode-sans-expanded-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Encode Sans Expanded';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/encode-sans-expanded-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Encode Sans Expanded';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/encode-sans-expanded-latin-800-normal.woff2) format('woff2')}
@font-face{font-family:'Encode Sans Expanded';font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/encode-sans-expanded-latin-900-normal.woff2) format('woff2')}
/* RMBT design system: one stylesheet for every page.
   Tokens live in :root; components are defined once below. */

/* ===== Base, tokens, shared components ===== */
/* Layout: phase 1 positioning homepage. Search-as-H1 hero, proof bar, six services, how we work, why RMBT band, areas we serve, FAQ, multi-step form. Brand red / black / white, Encode Sans Expanded. Single brand look. */
:root{
  --red:#ED0000; --red-dark:#C40000;
  --red-light:#FF4D4D; --red-deep:#A80000; --red-warm:#FF2A1A; /* aurora tones, all within the brand red family */
  --black:#000000; --ink:#111112; --ink-soft:#4A4A4F;
  --white:#FFFFFF; --mist:#F4F4F5; --gray:#CCCCCC; --gray-dark:#8A8A90; --line-dark:#26262A;
  --font:"Encode Sans Expanded", Arial, "Helvetica Neue", sans-serif;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
.short{display:none}
@media (max-width:560px){.long{display:none}.short{display:inline}}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
p,h1,h2,h3{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.tbc{background:#FFF1A8;color:#3A3000;font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px;display:inline-block;line-height:1.4;vertical-align:middle;text-transform:none;letter-spacing:0}
.draft{background:#FFF1A8;color:#3A3000;font-size:12px;padding-block:7px;text-align:center}

/* type */
.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--red)}
h2.section{font-weight:300;font-size:clamp(26px,3.1vw,40px);line-height:1.15;text-wrap:balance}
h2.section::before{content:"";display:inline-block;width:.42em;height:.42em;margin-right:.4em;vertical-align:.32em;border-top:.13em solid var(--red);border-right:.13em solid var(--red)}
h2.section strong{font-weight:800}
.lede{font-weight:300;font-size:clamp(16px,1.4vw,19px);line-height:1.6;max-width:66ch}
.lede strong{font-weight:600}
h3{font-weight:700;font-size:18px;line-height:1.3}
.sec{padding-block:clamp(64px,8vw,104px)}
.sec-head{display:grid;gap:14px;margin-bottom:40px}
.sec-head.center{justify-items:center;text-align:center;margin-inline:auto;max-width:860px}
.on-dark{color:var(--white)}
.on-dark .lede{color:#C9C9CE}

/* buttons */
.btn{display:inline-flex;max-width:100%;align-items:center;gap:.6em;font-family:var(--font);font-weight:600;font-size:15px;text-decoration:none;padding:15px 24px;border-radius:2px;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.btn-red{background:var(--red);color:var(--white)}
.btn-red:hover{background:var(--red-dark)}
.btn-ghost{border-color:currentColor;background:transparent}
.btn .arrow{width:14px;height:14px;flex:none}
.cta-row{display:flex;justify-content:center;margin-top:40px}

/* top bar + header */
.topbar{background:var(--black);color:#BDBDC2;font-size:12.5px;padding-block:9px;border-bottom:1px solid var(--line-dark)}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar b{color:var(--white);font-weight:600}
@media (max-width:700px){.topbar .r{display:none}}
.site-header{background:var(--black);padding-block:18px;position:sticky;top:env(safe-area-inset-top,0px);z-index:10;border-bottom:1px solid var(--line-dark)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo img{height:44px;width:auto}
.nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:500;color:var(--white)}
.nav .links{display:contents}
.nav a{text-decoration:none;opacity:.85}
.nav a:hover{opacity:1}
.nav .btn{padding:11px 16px;font-size:14px;opacity:1}
@media (max-width:1000px){.nav .links{display:none}}
@media (max-width:560px){.logo img{height:36px}.nav .btn{padding:10px 12px;font-size:13px}}

/* hero */
.hero{background:var(--black) url("/assets/hex.png") 30% 45%/min(1400px,150%) no-repeat;color:var(--white);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.hero-copy{padding-block:clamp(56px,7vw,100px)}
.hero h1{font-weight:900;text-transform:uppercase;font-size:clamp(28px,4.4vw,60px);line-height:1.04;letter-spacing:-.01em;text-wrap:balance;margin-top:16px;overflow-wrap:break-word}
.hero h1 em{font-style:normal;color:var(--red)}
/* Aurora text (Magic UI AuroraText port): animated gradient of brand red tones on the highlighted words in every page title.
   No rotate/scale (keeps multi-line headlines stable). Text stays real text for Google and screen readers. */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .hero h1 em{background-image:linear-gradient(135deg,var(--red),var(--red-light),var(--red-deep),var(--red-warm),var(--red));
    background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
    -webkit-box-decoration-break:clone;box-decoration-break:clone;animation:rmbt-aurora 8s ease-in-out infinite alternate}
}
@keyframes rmbt-aurora{0%{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}100%{background-position:0% 50%}}
@media (prefers-reduced-motion:reduce){.hero h1 em{animation:none}}
.hero .lede{color:#D9D9DC;margin-top:24px}
.hero .lede strong{color:var(--white)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .ctas .btn-ghost{color:var(--white)}
.hero .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;list-style:none;padding:0}
.hero .chips li{font-size:12.5px;color:#BDBDC2;border:1px solid #3A3A40;padding:6px 10px}
.hero-photo{position:relative;justify-self:center;width:min(100%,420px);margin-block:48px}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}
.hero-photo::before,.hero-photo::after{content:"";position:absolute;width:38%;height:38%;border:1.5px solid #4A4A50;pointer-events:none}
.hero-photo::before{top:-16px;left:-16px;border-right:0;border-bottom:0;border-top-left-radius:14px}
.hero-photo::after{bottom:-16px;right:-16px;border-left:0;border-top:0;border-bottom-right-radius:14px}
.tag{position:absolute;background:var(--white);color:var(--ink);padding:8px 14px;font-size:12px;line-height:1.3;border-left:4px solid var(--red)}
.tag span{display:block;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--red)}
.tag b{font-weight:800;font-size:13px;text-transform:uppercase}
.hero-photo .tag{left:-12px;bottom:10%}
@media (max-width:900px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.hero-copy{padding-bottom:0}.hero-photo{width:min(82%,360px)}}

/* proof bar */
.proofbar{background:var(--mist)}
.proofbar .card{background:var(--white);transform:translateY(-36px);box-shadow:0 10px 40px rgba(0,0,0,.08);display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:22px 28px;align-items:center;padding:26px 30px}
.stat{display:grid;gap:6px}
.big{font-weight:900;font-size:clamp(38px,4.4vw,54px);line-height:1;font-variant-numeric:tabular-nums}
.big.red{color:var(--red)}
.stat p{font-size:15px;font-weight:600;line-height:1.35}
.stat small{display:block;font-weight:400;color:var(--ink-soft);font-size:13px}
.stars{color:var(--red);letter-spacing:2px}
@media (max-width:980px){.proofbar .card{grid-template-columns:minmax(0,1fr)}.proofbar .card .btn{justify-self:start}}

/* services */
.services{background:var(--mist);padding-top:16px}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.svc{background:var(--white);padding:30px 28px;display:grid;gap:12px;align-content:start;border:1px solid transparent;transition:border-color .15s}
.svc:hover{border-color:var(--ink)}
.svc .ico{width:44px;height:44px;display:grid;place-items:center;background:var(--black);color:var(--white)}
.svc .ico svg{width:22px;height:22px}
.svc p{font-size:14.5px;color:var(--ink-soft)}
.svc ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:13.5px;color:var(--ink-soft)}
.svc li{display:flex;gap:9px}
.svc li::before{content:"";flex:none;width:9px;height:4px;margin-top:8px;background:var(--red);clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}
.svc .more{font-size:13.5px;font-weight:600;color:var(--red);text-decoration:none;margin-top:4px}
.svc .more:hover{text-decoration:underline;text-underline-offset:4px}
.badge{justify-self:start;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);border:1px solid var(--red);padding:3px 7px}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.svc-grid{grid-template-columns:minmax(0,1fr)}}

/* how we work */
.how{position:relative;overflow:hidden}
.how .pattern{position:absolute;right:-150px;top:-130px;width:420px;pointer-events:none}
.how .wrap{position:relative}
.stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--gray);counter-reset:st}
.stage{background:var(--white);padding:34px 30px;display:grid;gap:12px;align-content:start}
.stage .num{font-weight:900;font-size:13px;color:var(--red);letter-spacing:.06em}
.stage h3{font-size:24px;font-weight:800;text-transform:uppercase}
.stage .goal{font-weight:300;font-size:17px;line-height:1.45}
.stage ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px;color:var(--ink-soft)}
.stage li{display:flex;gap:10px}
.stage li::before{content:"";flex:none;width:10px;height:4px;margin-top:9px;background:var(--red);clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}
.diagram-slot{margin-top:22px;border:1px dashed var(--gray);padding:18px;text-align:center;font-size:13px;color:var(--gray-dark)}
@media (max-width:900px){.stages{grid-template-columns:minmax(0,1fr)}.how .pattern{width:260px;right:-120px;top:-90px}}

/* why band */
.why{background:var(--black) url("/assets/hex.png") center/1100px no-repeat;padding-top:clamp(64px,8vw,96px);overflow:hidden}
.why-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr);gap:28px;align-items:end}
.reasons{display:grid;gap:34px;padding-bottom:clamp(48px,6vw,80px)}
.reason{display:grid;gap:8px}
.reason h3{display:flex;gap:12px;align-items:center;font-size:19px;color:var(--white)}
.reason h3::before{content:"";width:14px;height:14px;flex:none;border-top:4px solid var(--red);border-right:4px solid var(--red)}
.reason p{font-size:14px;color:#C9C9CE}
.why-photo{position:relative;align-self:end}
.why-photo img{width:100%;max-width:340px;margin-inline:auto}
.why-photo .tag{bottom:12%;left:50%;transform:translateX(-50%);white-space:nowrap}
@media (max-width:900px){.why-grid{grid-template-columns:minmax(0,1fr)}.why-photo{order:-1}.why-photo img{max-width:260px}.reasons{padding-bottom:0}.reasons:last-child{padding-bottom:56px}}

/* areas */
.areas-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:start}
.city-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.city-card{border:1px solid var(--gray);padding:18px;text-decoration:none;display:grid;gap:4px;transition:border-color .15s}
.city-card:hover{border-color:var(--ink)}
.city-card b{font-size:16px}
.city-card span{font-size:13px;color:var(--ink-soft)}
.also{margin-top:18px;font-size:14px;color:var(--ink-soft)}
.office{background:var(--black);color:#D9D9DC;padding:30px;display:grid;gap:8px;font-size:15px;font-style:normal}
.office .t{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--gray-dark)}
.office .name{color:var(--white);font-weight:700}
.office .tel{font-weight:800;font-size:22px;color:var(--white);font-variant-numeric:tabular-nums}
.office .map{margin-top:10px;aspect-ratio:16/10;border:1px dashed #3A3A40;display:grid;place-items:center;font-size:13px;color:var(--gray-dark)}
.popular{margin-top:48px;padding-top:30px;border-top:1px solid var(--gray);display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:24px}
.popular h3{font-weight:300;font-size:22px}
.pop-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;list-style:none;margin:0;padding:0;font-size:14px}
.pop-list a{text-decoration:none;display:flex;gap:8px}
.pop-list a::before{content:"";width:8px;height:8px;flex:none;margin-top:6px;border-top:2px solid var(--red);border-right:2px solid var(--red)}
.pop-list a:hover{color:var(--red)}
@media (max-width:860px){.areas-grid,.popular{grid-template-columns:minmax(0,1fr)}.pop-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1000px){.city-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.city-cards{grid-template-columns:minmax(0,1fr)}}

/* faq */
.faq-sec{background:var(--mist)}
.faq{display:grid;border-top:1px solid var(--gray);max-width:900px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--gray);padding-block:20px}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-size:24px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:12px;color:var(--ink-soft);max-width:72ch}

/* form band */
.cta-band{background:var(--red);color:var(--white);padding-block:clamp(60px,8vw,96px)}
.cta-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,64px);align-items:center}
.cta-band h2{font-weight:900;text-transform:uppercase;font-size:clamp(30px,4vw,50px);line-height:1.04;text-wrap:balance}
.cta-band .lede{margin-top:18px;color:#FFE3E3}
.cta-band ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:15px}
.cta-band li{display:flex;gap:10px}
.cta-band li::before{content:"";width:10px;height:10px;flex:none;margin-top:6px;border-top:3px solid var(--white);border-right:3px solid var(--white)}
.form-card{background:var(--white);color:var(--ink);padding:30px;display:grid;gap:18px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.form-card .meta{display:flex;justify-content:space-between;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-dark)}
.progress{height:5px;background:var(--mist)}
.progress span{display:block;height:100%;width:16%;background:var(--red);transition:width .3s}
.form-card fieldset{border:0;margin:0;padding:0}
.form-card legend{font-weight:800;font-size:21px;line-height:1.25;margin-bottom:6px;padding:0}
.form-card .hint{font-size:13.5px;color:var(--ink-soft);margin-bottom:14px}
.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tile{position:relative;border:1.5px solid var(--gray);padding:16px 14px;cursor:pointer;display:grid;gap:8px;font-size:14.5px;font-weight:600;transition:border-color .12s,background .12s}
.tile:hover{border-color:var(--ink)}
.tile input{position:absolute;opacity:0;pointer-events:none}
.tile svg{width:22px;height:22px;color:var(--red)}
.tile small{font-weight:400;font-size:12.5px;color:var(--ink-soft)}
.tile:has(input:checked){border-color:var(--red);background:#FFF5F5}
.tile:has(input:focus-visible){outline:3px solid var(--red);outline-offset:2px}
.form-card select,.form-card input[type=text],.form-card input[type=email],.form-card input[type=tel]{font:inherit;padding:13px 12px;border:1.5px solid var(--gray);background:var(--white);width:100%}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fields label{display:grid;gap:5px;font-size:13px;color:var(--ink-soft)}
.form-btns{display:flex;justify-content:space-between;align-items:center;gap:10px}
.back{background:none;border:0;font:inherit;font-size:14px;color:var(--ink-soft);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.back[hidden]{display:none}
.result{display:grid;gap:12px}
.result .cal{border:1px dashed var(--gray);aspect-ratio:16/10;display:grid;place-items:center;text-align:center;font-size:13px;color:var(--gray-dark);padding:16px}
.privacy{font-size:12px;color:var(--gray-dark)}
@media (max-width:900px){.cta-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:460px){.tiles,.fields{grid-template-columns:minmax(0,1fr)}}

/* footer */
.site-footer{background:var(--black);color:#BDBDC2;padding-block:64px 28px;font-size:14px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:36px}
.site-footer h4{color:var(--white);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--white)}
.foot-logo img{height:50px;width:auto}
.foot-about{margin-top:18px;max-width:42ch;line-height:1.6}
.nap{display:grid;gap:4px;font-style:normal}
.slogan{margin-top:48px;padding-top:26px;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px}
.slogan .s{font-weight:300;text-transform:uppercase;letter-spacing:.2em;color:var(--gray);font-size:12px}
@media (max-width:860px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.foot-grid{grid-template-columns:minmax(0,1fr)}}

.float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:20;background:var(--red);color:var(--white);text-decoration:none;display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:600;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.float svg{width:18px;height:18px}

/* ===== Service page components ===== */
/* Service page template additions */
.crumbs{background:var(--black);color:#8A8A90;font-size:12.5px;padding-block:12px;border-bottom:1px solid var(--line-dark)}
.crumbs a{color:#BDBDC2;text-decoration:none}
.crumbs a:hover{color:var(--white)}
.seo-note{background:#FFF1A8;color:#3A3000;font-size:12px;padding:10px var(--gutter);text-align:center}
.seo-note code{background:rgba(0,0,0,.06);padding:1px 5px}

/* hero phone mock */
.phone{justify-self:center;width:min(100%,300px);background:#0E0E10;border:1px solid #2E2E33;border-radius:30px;padding:12px;margin-block:44px;box-shadow:0 30px 80px rgba(237,0,0,.12)}
.screen{background:var(--white);color:var(--ink);border-radius:20px;overflow:hidden;font-size:12px}
.post-head{display:flex;align-items:center;gap:9px;padding:11px 12px}
.post-head .av{width:30px;height:30px;border-radius:50%;background:var(--black);display:grid;place-items:center}
.post-head .av img{width:18px}
.post-head b{font-size:12.5px;display:block}
.post-head small{color:var(--gray-dark);font-size:11px}
.post-media{aspect-ratio:4/5;background:var(--black) url("/assets/murilo-18.jpg") center 30%/cover;position:relative;display:flex;align-items:flex-end}
.post-media .cap{background:linear-gradient(transparent,rgba(0,0,0,.85));color:var(--white);padding:40px 12px 12px;width:100%;font-weight:800;text-transform:uppercase;font-size:15px;line-height:1.1}
.post-media .play-s{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.55);display:grid;place-items:center}
.post-media .play-s::after{content:"";border-left:9px solid var(--white);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}
.post-cta{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--mist);font-weight:600}
.post-cta span{background:var(--mist);padding:6px 10px;font-size:11.5px}
.post-foot{padding:9px 12px 12px;color:var(--ink-soft);font-size:11.5px}
.mock-label{text-align:center;font-size:11px;color:#8A8A90;margin-top:10px}

/* answer-first block */
.answer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.answer .def{border-left:4px solid var(--red);padding:4px 0 4px 22px;font-size:clamp(17px,1.6vw,21px);font-weight:300;line-height:1.55}
.answer .def strong{font-weight:700}
.benefits{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.benefits li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.benefits li::before{content:"";width:14px;height:14px;margin-top:5px;border-top:4px solid var(--red);border-right:4px solid var(--red)}
.benefits b{display:block;font-size:16px}
.benefits span{font-size:14.5px;color:var(--ink-soft)}
@media (max-width:860px){.answer{grid-template-columns:minmax(0,1fr)}}

/* included */
.inc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.inc{background:var(--white);padding:28px;display:grid;gap:10px;align-content:start}
.inc .k{font-weight:900;font-size:36px;line-height:1;color:var(--red)}
.inc p{font-size:14.5px;color:var(--ink-soft)}
.inc ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;color:var(--ink-soft)}
.inc li{display:flex;gap:9px}
.inc li::before{content:"";flex:none;width:9px;height:4px;margin-top:8px;background:var(--red);clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}
@media (max-width:900px){.inc-grid{grid-template-columns:minmax(0,1fr)}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--gray);list-style:none;margin:0;padding:0}
.steps li{background:var(--white);padding:28px 26px;display:grid;gap:10px;align-content:start}
.steps .n{font-weight:900;font-size:13px;color:var(--red);letter-spacing:.06em}
.steps h3{font-size:19px}
.steps p{font-size:14.5px;color:var(--ink-soft)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}

/* video band */
.vband{background:var(--black) url("/assets/hex.png") 80% 50%/1000px no-repeat;color:var(--white)}
.vband-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
.vband .lede{color:#C9C9CE}
.vband img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:860px){.vband-grid{grid-template-columns:minmax(0,1fr)}}

/* fit */
.fit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.fit{border:1px solid var(--gray);padding:28px;display:grid;gap:12px;align-content:start}
.fit.no{background:var(--mist);border-color:var(--mist)}
.fit ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;font-size:15px}
.fit li{display:flex;gap:10px}
.fit.yes li::before{content:"✓";color:var(--red);font-weight:800}
.fit.no li::before{content:"–";color:var(--gray-dark);font-weight:800}
@media (max-width:760px){.fit-grid{grid-template-columns:minmax(0,1fr)}}

/* related + areas */
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.rel{border:1px solid var(--gray);padding:24px;display:grid;gap:8px;text-decoration:none;transition:border-color .15s}
.rel:hover{border-color:var(--ink)}
.rel p{font-size:14px;color:var(--ink-soft)}
.rel .more{font-size:13.5px;font-weight:600;color:var(--red)}
.chips-light{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips-light a{font-size:14px;border:1px solid var(--gray);padding:8px 12px;text-decoration:none}
.chips-light a:hover{border-color:var(--ink)}
@media (max-width:900px){.rel-grid{grid-template-columns:minmax(0,1fr)}}
.cta-simple{text-align:center;display:grid;justify-items:center;gap:18px}
.cta-simple .lede{color:#FFE3E3}
.cta-simple .btn-white{background:var(--white);color:var(--black)}

/* ===== Graphics ===== */
/* Simple section graphics (static placeholders for later motion graphics) */
.gfx{justify-self:center;width:min(100%,420px);margin-block:44px}
.gfx-label{text-align:center;font-size:11px;color:#8A8A90;margin-top:10px}

/* storyboard: script -> film -> edit */
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.frame-c{background:#0E0E10;border:1px solid #2E2E33;aspect-ratio:3/4;display:grid;grid-template-rows:1fr auto;overflow:hidden}
.frame-c .in{padding:12px;display:grid;gap:6px;align-content:start}
.frame-c .cap{font-size:10.5px;font-weight:700;letter-spacing:.09em;color:var(--white);padding:8px 10px;border-top:1px solid #2E2E33}
.frame-c .cap span{color:var(--red)}
.ln{height:5px;background:#3A3A40}
.ln.s{width:60%}.ln.r{background:var(--red);width:40%}
.frame-c.shot .in{padding:0;background:url("/assets/shoot-onsite.jpg") center/cover;position:relative}
.rec{position:absolute;top:8px;left:8px;font-size:10px;font-weight:700;color:var(--white);display:flex;gap:5px;align-items:center}
.rec::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.vf{position:absolute;inset:14px;border:1.5px solid rgba(255,255,255,.7);clip-path:polygon(0 0,22% 0,22% 2px,2px 2px,2px 22%,0 22%,0 78%,2px 78%,2px calc(100% - 2px),22% calc(100% - 2px),22% 100%,78% 100%,78% calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 78%,100% 78%,100% 22%,calc(100% - 2px) 22%,calc(100% - 2px) 2px,78% 2px,78% 0,100% 0,100% 100%,0 100%)}
.tl{display:grid;gap:5px;margin-top:6px}
.tl i{display:block;height:9px;background:#3A3A40}
.tl i:nth-child(1){width:90%;background:var(--red)}.tl i:nth-child(2){width:70%}.tl i:nth-child(3){width:80%}.tl i:nth-child(4){width:50%;background:#6A6A70}

/* search result (google ads) */
.serp-g{background:var(--white);color:var(--ink);padding:16px;font-size:12px;display:grid;gap:10px;box-shadow:0 30px 80px rgba(237,0,0,.12)}
.serp-g .q{border:1px solid #DADADF;border-radius:20px;padding:8px 14px;color:var(--ink-soft);display:flex;gap:8px;align-items:center}
.serp-g .q::before{content:"";width:10px;height:10px;border:2px solid var(--gray-dark);border-radius:50%}
.serp-g .r{display:grid;gap:3px;padding:8px 10px;border-left:3px solid transparent}
.serp-g .r.you{border-left-color:var(--red);background:#FFF5F5}
.serp-g .sp{font-weight:700;font-size:10.5px;color:var(--ink)}
.serp-g .u{color:var(--ink-soft);font-size:11px}
.serp-g b{color:#1A0DAB;font-weight:600;font-size:13px}
.serp-g .call{justify-self:start;margin-top:4px;font-size:11px;font-weight:600;border:1px solid var(--gray);border-radius:14px;padding:3px 10px}
.serp-g .r.org{opacity:.55}

/* map pack (local seo) */
.mappack{background:var(--white);color:var(--ink);box-shadow:0 30px 80px rgba(237,0,0,.12);font-size:12px}
.map{position:relative;aspect-ratio:16/9;background:#EEF0F2;background-image:linear-gradient(#E1E4E8 1px,transparent 1px),linear-gradient(90deg,#E1E4E8 1px,transparent 1px);background-size:28px 28px;overflow:hidden}
.map::before{content:"";position:absolute;left:-10%;right:-10%;top:55%;height:10px;background:#FFFFFF;transform:rotate(-8deg)}
.map::after{content:"";position:absolute;top:-10%;bottom:-10%;left:38%;width:8px;background:#FFFFFF;transform:rotate(12deg)}
.map-pin{position:absolute;width:16px;height:16px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#9AA0A6;z-index:1}
.map-pin.you{background:var(--red);width:24px;height:24px;box-shadow:0 0 0 6px rgba(237,0,0,.15)}
.listing{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:10px 14px;border-top:1px solid var(--mist)}
.listing .k{font-weight:800;color:var(--gray-dark)}
.listing.you{background:#FFF5F5}
.listing.you .k{color:var(--red)}
.listing b{font-size:13px}
.listing small{grid-column:2;color:var(--ink-soft)}

/* browser + phone (web design) */
.devices{position:relative;padding-bottom:30px}
.dev-browser{background:var(--white);box-shadow:0 30px 80px rgba(237,0,0,.12)}
.dev-browser .bar{display:flex;gap:5px;align-items:center;padding:8px 10px;background:#EDEDEF;font-size:10.5px}
.dev-browser .bar i{width:8px;height:8px;border-radius:50%;background:#C9C9CE;display:block}
.dev-browser .bar span{margin-left:8px;background:var(--white);padding:3px 8px;color:var(--gray-dark);flex:1}
.dev-browser .pg{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;padding:16px}
.dev-browser .pg .hero-b{background:var(--black);aspect-ratio:16/9;grid-column:1/-1;display:grid;align-content:center;gap:6px;padding:14px}
.blk{height:8px;background:#E2E2E5}.blk.w{background:var(--white);height:10px;width:70%}.blk.r{background:var(--red);height:14px;width:34%}.blk.d{background:#3A3A40;width:55%}
.dev-phone{position:absolute;right:-10px;bottom:0;width:30%;background:#0E0E10;border-radius:14px;padding:6px;border:1px solid #2E2E33}
.dev-phone .scr{background:var(--white);border-radius:9px;padding:8px;display:grid;gap:5px}
.dev-phone .scr .hb{background:var(--black);aspect-ratio:4/3;border-radius:4px}

/* pipeline (crm) */
.pipe{display:grid;gap:10px}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.col{background:#0E0E10;border:1px solid #2E2E33;padding:8px;display:grid;gap:6px;align-content:start;min-height:150px}
.col h4{margin:0;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8A8A90;font-weight:600}
.card-l{background:var(--white);color:var(--ink);padding:7px 8px;font-size:10.5px;display:grid;gap:2px;border-left:3px solid var(--gray)}
.card-l small{color:var(--ink-soft);font-size:9.5px}
.card-l.hot{border-left-color:var(--red)}
.sms{display:grid;gap:6px;background:#0E0E10;border:1px solid #2E2E33;padding:12px;font-size:11.5px}
.sms .miss{color:#8A8A90;font-size:10.5px;display:flex;gap:6px;align-items:center}
.sms .miss::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.bub{justify-self:end;background:var(--red);color:var(--white);padding:8px 11px;border-radius:12px 12px 2px 12px;max-width:85%}
.bub.in{justify-self:start;background:var(--white);color:var(--ink);border-radius:12px 12px 12px 2px}

/* small inline section icons */
.inc .ico-s{width:40px;height:40px;display:grid;place-items:center;background:var(--black);color:var(--white)}
.inc .ico-s svg{width:20px;height:20px}
.steps .ico-s{width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--red);color:var(--red)}
.steps .ico-s svg{width:17px;height:17px}

/* ===== City page components ===== */
/* City page template additions */

/* hero area card */
.area-card{justify-self:center;width:min(100%,400px);margin-block:44px;background:rgba(0,0,0,.6);border:1px solid #2E2E33;padding:26px;display:grid;gap:16px}
.area-card .t{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8A8A90}
.route{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font-size:13px;color:#D9D9DC}
.route .pin{width:14px;height:14px;border:3px solid var(--red);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.route .pin.solid{background:var(--red)}
.route .line{height:2px;background:repeating-linear-gradient(90deg,#ED0000 0 8px,transparent 8px 14px)}
.route b{display:block;color:var(--white);font-size:14px}
.hoods{display:flex;flex-wrap:wrap;gap:7px}
.hoods span{font-size:12.5px;border:1px solid #3A3A40;color:#D9D9DC;padding:6px 10px}
.hoods span.near{border-style:dashed;color:#8A8A90}
.area-card .note{font-size:11px;color:#8A8A90}

/* answer + service blocks */
.answer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.def{border-left:4px solid var(--red);padding:4px 0 4px 22px;font-size:clamp(17px,1.6vw,21px);font-weight:300;line-height:1.55}
.def strong{font-weight:700}
.jump{display:grid;gap:10px}
.jump a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid var(--gray);padding:16px 18px;text-decoration:none;transition:border-color .15s}
.jump a:hover{border-color:var(--ink)}
.jump .n{font-weight:900;color:var(--red);font-size:13px}
.jump b{font-size:15.5px}
.jump small{display:block;color:var(--ink-soft);font-size:13px;font-weight:400}
.jump .go{color:var(--red)}
@media (max-width:860px){.answer-grid{grid-template-columns:minmax(0,1fr)}}

.svc-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.svc-block.flip .media{order:2}
.svc-block .body{display:grid;gap:16px}
.svc-block ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;font-size:15px}
.svc-block li{display:flex;gap:10px}
.svc-block li::before{content:"";flex:none;width:10px;height:4px;margin-top:10px;background:var(--red);clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}
.svc-block .links{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.svc-block .more{font-size:14px;font-weight:600;color:var(--red);text-decoration:none}
.mock{background:var(--mist);aspect-ratio:4/3;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}
.mock.dark{background:var(--black) url("/assets/hex.png") center/700px no-repeat}
.browser{width:100%;max-width:420px;background:var(--white);box-shadow:0 20px 50px rgba(0,0,0,.12);font-size:11px}
.browser .bar{display:flex;gap:5px;align-items:center;padding:8px 10px;background:#EDEDEF}
.browser .bar i{width:8px;height:8px;border-radius:50%;background:#C9C9CE;display:block}
.browser .bar span{margin-left:8px;background:var(--white);padding:3px 8px;color:var(--gray-dark);flex:1}
.browser .pg{padding:16px;display:grid;gap:8px}
.browser .h{height:14px;width:70%;background:var(--ink)}
.browser .l{height:7px;background:#E2E2E5}
.browser .l.s{width:60%}
.browser .b{height:22px;width:38%;background:var(--red);margin-top:4px}
.serp{width:100%;max-width:420px;background:var(--white);box-shadow:0 20px 50px rgba(0,0,0,.3);padding:14px;font-size:12px;display:grid;gap:10px}
.serp .q{border:1px solid #DADADF;border-radius:20px;padding:7px 12px;color:var(--ink-soft)}
.serp .res{display:grid;gap:2px;padding:8px;border-left:3px solid transparent}
.serp .res.you{border-left-color:var(--red);background:#FFF5F5}
.serp .res b{color:#1A0DAB;font-weight:600}
.serp .res small{color:var(--ink-soft)}
.serp .res .stars{font-size:11px}
.mock .lab{position:absolute;bottom:8px;right:10px;font-size:10.5px;color:var(--gray-dark)}
.mock.dark .lab{color:#8A8A90}
@media (max-width:860px){.svc-block{grid-template-columns:minmax(0,1fr)}.svc-block.flip .media{order:0}}

/* neighbourhoods */
.hood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hood{border:1px solid var(--gray);padding:20px;display:grid;gap:6px;background:var(--white)}
.hood b{font-size:16px}
.hood span{font-size:13.5px;color:var(--ink-soft)}
@media (max-width:860px){.hood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.hood-grid{grid-template-columns:minmax(0,1fr)}}

/* local reasons */
.local-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:#26262A}
.local{background:var(--black);padding:30px 28px;display:grid;gap:10px;align-content:start}
.local h3{color:var(--white);display:flex;gap:12px;align-items:center}
.local h3::before{content:"";width:14px;height:14px;flex:none;border-top:4px solid var(--red);border-right:4px solid var(--red)}
.local p{font-size:14.5px;color:#C9C9CE}
@media (max-width:860px){.local-grid{grid-template-columns:minmax(0,1fr)}}

.other{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.other a{border:1px solid var(--gray);padding:12px 16px;text-decoration:none;font-weight:600;font-size:14.5px}
.other a:hover{border-color:var(--ink)}

/* ===== About page components ===== */
.story{max-width:760px;margin-inline:auto;display:grid;gap:56px}
.chapter{display:grid;gap:14px}
.chapter .k{font-weight:900;font-size:13px;color:var(--red);letter-spacing:.08em}
.chapter h2{font-weight:800;font-size:clamp(24px,2.6vw,32px);line-height:1.15;text-wrap:balance}
.chapter p{font-weight:300;font-size:clamp(17px,1.5vw,19px);line-height:1.7}
.chapter p strong{font-weight:700}
.chapter .pull{border-left:4px solid var(--red);padding-left:20px;font-weight:600;font-size:clamp(19px,1.8vw,23px);line-height:1.45}
.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;list-style:none;margin:0;padding:0}
.timeline::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:repeating-linear-gradient(90deg,var(--red) 0 8px,transparent 8px 14px)}
.timeline li{position:relative;display:grid;gap:6px;padding-top:30px;padding-right:16px}
.timeline li::before{content:"";position:absolute;top:0;left:0;width:20px;height:20px;background:var(--white);border:4px solid var(--red);box-sizing:border-box}
.timeline li.now::before{background:var(--red)}
.timeline b{font-size:15px}
.timeline span{font-size:13.5px;color:var(--ink-soft)}
@media (max-width:760px){.timeline{grid-template-columns:minmax(0,1fr);gap:22px}.timeline::before{left:9px;right:auto;top:0;bottom:0;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--red) 0 8px,transparent 8px 14px)}.timeline li{padding-top:0;padding-left:36px}}
.iceberg{position:relative;width:100%;height:100%;background:#000;overflow:hidden}
.iceberg svg{position:absolute;inset:0;width:100%;height:100%}
.iceberg .chip{position:absolute;font-size:12px;font-weight:600;padding:6px 10px;white-space:nowrap}
.iceberg .chip.up{background:var(--white);color:var(--ink)}
.iceberg .chip.down{background:var(--red);color:var(--white)}
.iceberg .wl{position:absolute;left:12px;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:#8A8A90}
.today-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(32px,6vw,80px);align-items:center}
.today-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:16px}
.today-grid li{display:flex;gap:10px}
.today-grid li::before{content:"";width:12px;height:12px;flex:none;margin-top:6px;border-top:3px solid var(--red);border-right:3px solid var(--red)}
@media (max-width:860px){.today-grid{grid-template-columns:minmax(0,1fr)}}

/* ===== How we work components ===== */
.sys{width:100%;height:100%;background:#000;display:grid;align-content:center;gap:0;padding:28px;position:relative}
.sys::before{content:"";position:absolute;left:47px;top:60px;bottom:60px;width:2px;background:repeating-linear-gradient(180deg,var(--red) 0 8px,transparent 8px 14px)}
.sys-step{position:relative;display:grid;grid-template-columns:40px 1fr;gap:16px;align-items:center;padding-block:16px}
.sys-n{width:40px;height:40px;display:grid;place-items:center;background:#0E0E10;border:2px solid var(--red);color:var(--white);font-weight:900;font-size:16px;z-index:1}
.sys-step b{display:block;color:var(--white);font-size:18px;font-weight:800;text-transform:uppercase}
.sys-step small{color:#BDBDC2;font-size:13px}
.sys-step.done .sys-n{background:var(--red)}
.stage-list{display:grid;gap:18px}
.stage-d{background:var(--white);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);padding:clamp(24px,3vw,40px)}
.stage-d-head{display:grid;gap:10px;align-content:start}
.stage-d .n{font-weight:900;font-size:13px;color:var(--red);letter-spacing:.06em}
.stage-d h3{font-size:clamp(24px,2.4vw,30px);font-weight:800;text-transform:uppercase}
.stage-d .goal{font-weight:300;font-size:17px;line-height:1.5}
.stage-d .ico-s{width:44px;height:44px;display:grid;place-items:center;background:var(--black);color:var(--white)}
.stage-d .ico-s svg{width:22px;height:22px}
.stage-svcs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.stage-svcs span{width:100%;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-dark)}
.stage-svcs a{font-size:13px;border:1px solid var(--gray);padding:6px 10px;text-decoration:none}
.stage-svcs a:hover{border-color:var(--ink)}
.stage-d-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.stage-d h4{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--red)}
.stage-d ul{margin:0;padding:0;list-style:none;display:grid;gap:9px;font-size:14.5px;color:var(--ink-soft)}
.stage-d li{display:flex;gap:9px}
.stage-d li::before{content:"";flex:none;width:9px;height:4px;margin-top:9px;background:var(--red);clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}
@media (max-width:900px){.stage-d{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.stage-d-cols{grid-template-columns:minmax(0,1fr)}}
.inc-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.inc-grid.four .inc{border:1px solid var(--gray)}
@media (max-width:1000px){.inc-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.inc-grid.four{grid-template-columns:minmax(0,1fr)}}
.your-part{margin-top:40px;background:var(--black);color:var(--white);padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start}
.your-part h3{font-size:22px;margin-top:8px}
.your-part p{color:#C9C9CE;font-size:15px;margin-top:10px}
.your-part ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:15px;color:#D9D9DC}
.your-part li{display:flex;gap:10px}
.your-part li::before{content:"";width:12px;height:12px;flex:none;margin-top:6px;border-top:3px solid var(--red);border-right:3px solid var(--red)}
@media (max-width:860px){.your-part{grid-template-columns:minmax(0,1fr)}}

/* ===== Areas hub components ===== */
.region-map{position:relative;width:100%;height:100%;background:#000;overflow:hidden}
.region-map svg{position:absolute;inset:0;width:100%;height:100%}
.region-map .river{fill:none;stroke:#1C1C22;stroke-width:3}
.region-map .rm-line{stroke:var(--red);stroke-width:.5;stroke-dasharray:1.5 1.2;fill:none}
.rm-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10.5px;color:#8A8A90;white-space:nowrap}
.rm-node i{width:8px;height:8px;border-radius:50%;background:#4A4A50;display:block}
.rm-node.page{color:var(--white);font-weight:600;font-size:11.5px}
.rm-node.page i{background:var(--white);width:10px;height:10px}
.rm-office{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--red);white-space:nowrap;z-index:1}
.rm-office i{width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--red);box-shadow:0 0 0 6px rgba(237,0,0,.18)}
.hero .slot-map{width:min(100%,560px);justify-self:center}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.area-big{border:1px solid var(--gray);padding:26px;display:grid;gap:10px;align-content:start;text-decoration:none;transition:border-color .15s}
.area-big:hover{border-color:var(--ink)}
.area-big .ico-s{width:40px;height:40px;display:grid;place-items:center;background:var(--black);color:var(--white)}
.area-big .ico-s svg{width:20px;height:20px}
.area-big h3{font-size:20px}
.area-big p{font-size:14.5px;color:var(--ink-soft)}
.area-big .pops{display:flex;flex-wrap:wrap;gap:6px}
.area-big .pops span{font-size:12px;background:var(--mist);padding:4px 8px}
.area-big .more{font-size:13.5px;font-weight:600;color:var(--red)}
@media (max-width:900px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.area-grid{grid-template-columns:minmax(0,1fr)}}
.office-strip{margin-top:28px}

/* ===== Animated beam diagram (Click-to-Customer System; Magic UI AnimatedBeam port, see rmbt.js) ===== */
.slot-wide.has-beam{aspect-ratio:auto;min-height:420px;place-items:stretch}
.beam-box{position:relative;width:100%;display:grid;grid-template-columns:1fr 1.25fr 1fr 1fr;align-items:center;gap:12px;padding:28px 12px}
.beam-svg{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}
.beam-base{fill:none;stroke:#CCCCCC;stroke-width:2;stroke-opacity:.55;stroke-linecap:round}
.beam-lit{fill:none;stroke-width:2.5;stroke-linecap:round}
.beam-col{position:relative;z-index:1;display:grid;justify-items:center;gap:22px}
.beam-col .colhead{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--red);text-align:center}
.beam-col .colhead b{display:block;color:var(--ink);font-size:15px;letter-spacing:0;text-transform:none;font-weight:800;margin-top:2px}
.beam-stack{display:grid;gap:18px}
.bnode{display:grid;justify-items:center;gap:7px;text-align:center}
.bn{width:56px;height:56px;border-radius:50%;background:var(--white);border:1px solid #E5E5E8;display:grid;place-items:center;box-shadow:0 0 20px -12px rgba(0,0,0,.8);color:var(--ink)}
.bn svg{width:24px;height:24px}
.bn img{width:30px;height:30px}
.bnode.hub .bn{width:84px;height:84px;border:2px solid var(--red)}
.bnode.hub .bn img{width:42px;height:42px}
.bnode.goal .bn{width:72px;height:72px;background:var(--black);color:var(--white);border-color:var(--black)}
.bnode.goal .bn svg{width:30px;height:30px;color:var(--red)}
.bnode.start .bn{width:72px;height:72px;background:var(--red);color:var(--white);border-color:var(--red)}
.bnode.start .bn svg{width:30px;height:30px}
.bnode small{font-size:12px;color:var(--ink-soft);line-height:1.3;max-width:15ch}
.beam-stack .bnode{grid-template-columns:56px auto;justify-items:start;align-items:center;text-align:left;gap:10px}
.beam-stack .bnode small{max-width:16ch}
.hub-list{font-size:12px;color:var(--ink-soft);text-align:center;line-height:1.5}
@media (max-width:760px){
  .slot-wide.has-beam{aspect-ratio:auto;max-width:100%}
  .beam-box{grid-template-columns:minmax(0,1fr);gap:34px;padding:20px 8px}
  .beam-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .beam-stack .bnode{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
}
.beam-stack .bnode small,.bnode.hub small{background:var(--white);padding:2px 6px;position:relative}

/* ===== Orbiting platforms (homepage hero; Magic UI OrbitingCircles port, CSS only) ===== */
.orbit{position:absolute;inset:0;container-type:inline-size;overflow:hidden}
.orbit .ring{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.orbit .ring.inner{width:56cqw;height:56cqw}
.orbit .ring.outer{width:88cqw;height:88cqw}
.orbit .core{position:absolute;left:50%;top:50%;width:30cqw;height:30cqw;transform:translate(-50%,-50%);border-radius:50%;background:var(--black);
  border:2px solid var(--red);display:grid;place-items:center;align-content:center;gap:4px;text-align:center;box-shadow:0 0 60px rgba(237,0,0,.35)}
.orbit .core img{width:9cqw;height:9cqw}
.orbit .core b{color:var(--white);font-size:clamp(10px,3cqw,13px);font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.15}
.orbit .planet{--size:13cqw;position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);
  border-radius:50%;background:var(--white);display:grid;place-items:center;box-shadow:0 0 24px -6px rgba(255,255,255,.45);
  transform:rotate(calc(var(--angle) * 1deg)) translateY(calc(var(--r) * 1cqw)) rotate(calc(var(--angle) * -1deg));
  animation:rmbt-orbit calc(var(--duration) * 1s) linear infinite}
.orbit .planet svg{width:55%;height:55%}
.orbit .planet.rev{animation-direction:reverse}
@keyframes rmbt-orbit{
  from{transform:rotate(calc(var(--angle) * 1deg)) translateY(calc(var(--r) * 1cqw)) rotate(calc(var(--angle) * -1deg))}
  to{transform:rotate(calc(var(--angle) * 1deg + 360deg)) translateY(calc(var(--r) * 1cqw)) rotate(calc(var(--angle) * -1deg - 360deg))}
}
@media (prefers-reduced-motion:reduce){.orbit .planet{animation:none}}
.orbit-caption{text-align:center;font-size:12px;color:#BDBDC2;margin-top:12px}
.orbit-caption b{color:var(--white);font-weight:600}

/* ===== Office map (Google Maps listing; click-to-load embed on the live site) ===== */
.gmap{position:relative;margin-top:14px;aspect-ratio:16/10;overflow:hidden;background:#E9ECEF}
.gmap-preview{position:absolute;inset:0;background-color:#EEF0F2;background-image:linear-gradient(#DDE1E6 1px,transparent 1px),linear-gradient(90deg,#DDE1E6 1px,transparent 1px);background-size:26px 26px}
.gmap-preview::before{content:"";position:absolute;left:-10%;right:-10%;top:58%;height:12px;background:#FFFFFF;transform:rotate(-7deg)}
.gmap-preview::after{content:"";position:absolute;top:-10%;bottom:-10%;left:40%;width:10px;background:#FFFFFF;transform:rotate(14deg)}
.gmap-pin{position:absolute;left:50%;top:44%;width:26px;height:26px;margin:-26px 0 0 -13px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--red);box-shadow:0 0 0 7px rgba(237,0,0,.18);z-index:1}
.gmap-card{position:absolute;left:12px;bottom:12px;right:12px;background:var(--white);color:var(--ink);padding:12px 14px;display:grid;gap:2px;font-size:13px;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.gmap-card b{font-size:14px}
.gmap-btn{justify-self:start;margin-top:6px;font-weight:600;color:var(--red);text-decoration:underline;text-underline-offset:3px}
.gmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Why band: portrait in the centre, two reasons on each side ===== */
.why-v3 .why3-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding-bottom:clamp(48px,6vw,80px)}
.why3-col{display:grid}
.why3-reason{display:grid;gap:14px;padding-block:26px}
.why3-reason+.why3-reason{border-top:1px solid #3A3A40}
.why3-reason h3{display:flex;align-items:center;gap:16px;color:var(--white);font-size:21px}
.why3-ico{width:48px;height:48px;flex:none;display:grid;place-items:center;background:var(--red);color:var(--white)}
.why3-ico svg{width:24px;height:24px}
.why3-reason p{font-size:15.5px;line-height:1.6;color:#D9D9DC}
.why3-photo{position:relative;align-self:end}
.why3-photo img{width:100%;height:auto;display:block;
  -webkit-mask-image:radial-gradient(ellipse 58% 62% at 50% 46%,#000 52%,transparent 100%);mask-image:radial-gradient(ellipse 58% 62% at 50% 46%,#000 52%,transparent 100%)}
.why3-photo .tag{position:absolute;right:0;bottom:8%;left:auto;transform:none}
@media (max-width:1000px){
  .why-v3 .why3-grid{grid-template-columns:minmax(0,1fr)}
  .why3-photo{order:-1;max-width:420px;justify-self:center}
}

/* ===== Lead form: validation, consent, result ===== */
.form-card select:invalid,.form-card select option[value=""]{color:var(--gray-dark)}
.form-card select option{color:var(--ink)}
.form-card input::placeholder{color:#A6A6AB}
.fields label.full{grid-column:1/-1}
.form-card [aria-invalid="true"]{border-color:var(--red);background:#FFF7F7}
.form-card .err{color:var(--red);font-size:12.5px;margin-top:6px}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13px;color:var(--ink);line-height:1.45}
.consent input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:var(--red)}
.sender{font-size:11.5px;color:var(--gray-dark);margin-top:8px}
.sender a{color:inherit}
.res-title{font-weight:800;font-size:21px;line-height:1.25}
.mock-note{font-size:11.5px;color:var(--gray-dark);margin-top:6px}

/* ===== Booking picker (GHL free slots, booked on the contact created by the form) ===== */
.booker{display:grid;gap:10px;margin-top:4px}
.bk-label{font-size:13px;font-weight:600;color:var(--ink);margin-top:6px}
.bk-tz{font-weight:400;color:var(--gray-dark)}
.bk-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.bk-day,.bk-time{font:inherit;font-size:13.5px;border:1.5px solid var(--gray);background:var(--white);color:var(--ink);padding:10px 12px;cursor:pointer;white-space:nowrap}
.bk-day:hover,.bk-time:hover{border-color:var(--ink)}
.bk-day[aria-selected="true"],.bk-time[aria-selected="true"]{border-color:var(--red);background:#FFF5F5;font-weight:600}
.bk-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:220px;overflow-y:auto}
.booker .btn{justify-self:start;margin-top:6px}
@media (max-width:460px){.bk-times{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== Client logo cloud (homepage) ===== */
.logo-cloud{background:var(--white);padding-block:clamp(48px,6vw,80px) clamp(56px,7vw,96px);overflow:hidden}
.lc-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-left:1px solid #E3E3E6;border-right:1px solid #E3E3E6;max-width:1000px;margin-inline:auto}
.lc-grid::before,.lc-grid::after{content:"";position:absolute;left:50%;width:100vw;transform:translateX(-50%);border-top:1px solid #E3E3E6;pointer-events:none}
.lc-grid::before{top:-1px}.lc-grid::after{bottom:-1px}
.lc-cell{position:relative;display:flex;align-items:center;justify-content:center;padding:34px 18px;min-height:120px;background:var(--white);border-right:1px solid #E3E3E6;border-bottom:1px solid #E3E3E6}
.lc-cell:nth-child(5n){border-right:0}
.lc-cell:nth-last-child(-n+5){border-bottom:0}
.lc-cell.s-d{background:var(--mist)}
.lc-cell img{max-width:100%;height:auto;opacity:.85;user-select:none;pointer-events:none}
.lc-plus{position:absolute;right:-12.5px;bottom:-12.5px;width:24px;height:24px;z-index:1;color:#9A9AA0;display:none}
.lc-plus svg{width:24px;height:24px}
.lc-cell.p-d .lc-plus{display:block}
@media (max-width:760px){
  .lc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc-cell{padding:26px 14px;min-height:96px}
  .lc-cell:nth-child(5n){border-right:1px solid #E3E3E6}
  .lc-cell:nth-child(2n){border-right:0}
  .lc-cell:nth-last-child(-n+5){border-bottom:1px solid #E3E3E6}
  .lc-cell:nth-last-child(-n+2){border-bottom:0}
  .lc-cell.s-d{background:var(--white)}
  .lc-cell.s-m{background:var(--mist)}
  .lc-cell.p-d .lc-plus{display:none}
  .lc-cell.p-m .lc-plus{display:block}
}

/* ===== Motion slots (fixed sizes so motion graphics drop in without layout changes) ===== */
.slot{position:relative;display:grid;place-items:center;max-width:100%}
.slot-hero{width:min(100%,420px);aspect-ratio:4/5;justify-self:center}
.slot-wide{width:100%;aspect-ratio:8/3}
.slot-map{width:100%;aspect-ratio:16/10}
.slot>video,.slot>img.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot .gfx{margin:0;width:100%}
.slot .phone,.slot .area-card{margin:0}
.slot .area-card{width:100%}
.slot-empty{border:1px dashed var(--gray);color:var(--gray-dark);font-size:13px;text-align:center;padding:16px}
.on-dark .slot-empty,.office .slot-empty{border-color:#3A3A40}
.slot-label{text-align:center;font-size:11px;color:#8A8A90;margin-top:12px;max-width:440px;margin-inline:auto}
.slot-label b{font-weight:600}
.hero .slot-wrap{padding-block:44px}
.vband .btn-ghost{color:var(--white)}
@media (max-width:900px){.slot-wide{aspect-ratio:4/5;max-width:420px;margin-inline:auto}}

/* ===== Live-site additions (Astro build) ===== */
.topbar a{color:inherit;text-decoration:none}
.social{list-style:none;margin:20px 0 0;padding:0;display:flex;gap:10px}
.social a{width:36px;height:36px;display:grid;place-items:center;border:1px solid #3A3A40;color:#D9D9DC;transition:border-color .15s,color .15s}
.social a:hover,.social a:focus-visible{border-color:var(--red);color:var(--white)}
.social svg{width:17px;height:17px}
.nap{gap:4px}
/* text pages */
.prose-hero{background:var(--black) url("/assets/hex.png") 70% 40%/1200px no-repeat;color:var(--white);padding-block:clamp(56px,7vw,96px)}
.prose-hero h1{font-weight:900;text-transform:uppercase;font-size:clamp(28px,4vw,52px);line-height:1.05;margin-top:12px;max-width:22ch;text-wrap:balance}
.prose-meta{color:#BDBDC2;font-size:14px;margin-top:16px}
.prose{max-width:780px;padding-block:clamp(48px,6vw,80px);font-size:17px;line-height:1.75}
.prose h2{font-weight:800;font-size:clamp(22px,2.2vw,28px);line-height:1.2;margin:2.2em 0 .6em}
.prose h3{font-size:19px;margin:1.6em 0 .4em}
.prose p,.prose ul,.prose ol{margin:0 0 1em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.4em}
.prose a{color:var(--red);text-underline-offset:3px}
.prose table{border-collapse:collapse;width:100%;font-size:15px;margin:0 0 1.2em;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--gray);padding:8px 10px;text-align:left;vertical-align:top}
.prose .note{background:var(--mist);border-left:4px solid var(--red);padding:14px 18px;font-size:15px}
.post-list{display:grid;gap:18px;list-style:none;padding:0}
.post-list li{border:1px solid var(--gray);padding:22px 24px}
.post-list a{font-weight:700;font-size:20px;color:var(--ink);text-decoration:none}
.post-list a:hover{color:var(--red)}
.post-list p{margin:6px 0 0;font-size:15px;color:var(--ink-soft)}
.post-list time{display:block;font-size:13px;color:var(--gray-dark);margin-top:8px}
