@font-face{font-family:"Instrument Serif";font-style:normal;src:url(fonts/instrument-serif-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Instrument Serif";font-style:italic;src:url(fonts/instrument-serif-latin-400-italic.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Inter Tight";font-weight:500;src:url(fonts/inter-tight-latin-500-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:"Inter Tight";font-weight:800;src:url(fonts/inter-tight-latin-800-normal.woff2) format("woff2");font-display:swap}

/* TrenchLine Leads. Content is visible without JS; anything hidden for an animation is hidden by JS at runtime. */
:root{
  --bg:#0A1322; --bg2:#0F1B2E; --bg3:#15243B; --ink:#F3EFE7; --mute:rgba(243,239,231,.66); --faint:rgba(243,239,231,.56);
  --line:rgba(243,239,231,.12); --ember:#FF6A2B; --ember-d:#E2561A; --paper:#F3EFE7; --paper2:#E9E3D8; --navy:#0A1322;
  --serif:"Instrument Serif",Georgia,serif; --sans:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(20px,4.5vw,72px); --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:500;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.js body.loading{overflow:hidden}
img,svg{display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;color:inherit}
::selection{background:var(--ember);color:#fff}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}
.geo-city,.geo-city-short{white-space:nowrap}
.sprite{position:absolute}
.foot .legal a{color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* type */
.display{font-family:var(--serif);font-weight:400;line-height:.95;letter-spacing:-.015em}
.display em{font-style:italic;color:var(--ember)}
.display.md{font-size:clamp(2.4rem,5.2vw,4.9rem);line-height:1}
.display.lg{font-size:clamp(3rem,8vw,7.6rem)}
.lede{font-size:clamp(1.02rem,1.25vw,1.22rem);color:var(--mute);line-height:1.6;max-width:36em}
.lede b{color:var(--ink);font-weight:500}
.wm{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.wi{display:inline-block}

/* buttons: squared, not pills */
.btn{display:inline-flex;align-items:center;gap:.7em;min-height:54px;padding:0 1.6em;background:var(--ember);color:#0A1322;border-radius:6px;font-weight:800;font-size:.98rem;letter-spacing:.01em;border:0;cursor:pointer;transition:background .2s var(--ease)}
.btn svg{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover{background:#FF8247}
.btn:hover svg{transform:translateX(4px)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(243,239,231,.3);font-weight:500}
.btn-line:hover{background:rgba(243,239,231,.07)}
.btn-sm{min-height:42px;padding:0 1.1em;font-size:.9rem}
.btn-full{width:100%;justify-content:center}

/* loader: the T is drawn, then the dot drops (the brand idea: a line straight to the customer) */
#loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center}
.ld-mark{position:relative;width:64px;height:74px}
.ld-t{width:64px;height:74px;color:var(--ink);overflow:visible}
.tl-failsafe #loader{display:none}
.tl-failsafe body{overflow:auto}

/* nav */
#nav{position:fixed;top:0;left:0;right:0;z-index:50;height:76px;display:flex;align-items:center;gap:2rem;padding:0 var(--pad);transition:background .35s var(--ease),transform .45s var(--ease),border-color .35s;border-bottom:1px solid transparent}
#nav.solid{background:rgba(10,19,34,.82);backdrop-filter:blur(14px) saturate(1.3);border-bottom-color:var(--line)}
#nav.hide{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:.75rem}
.brand svg{width:26px;height:30px;color:var(--ink)}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand b{font-weight:800;font-size:1.02rem;letter-spacing:.02em}
.brand i{font-style:normal;font-size:.62rem;letter-spacing:.42em;text-transform:uppercase;color:var(--ember);margin-top:4px}
.nav-links{display:flex;gap:2rem;margin-left:auto;font-size:.93rem}
.nav-links a{color:var(--mute);transition:color .2s}
.nav-links a:hover{color:var(--ink)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--bg)}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 74% 38%,rgba(255,106,43,.22) 0,rgba(255,106,43,0) 26%),
  repeating-linear-gradient(0deg,rgba(170,190,220,.07) 0 1px,transparent 1px 46px),
  repeating-linear-gradient(90deg,rgba(170,190,220,.07) 0 1px,transparent 1px 46px),
  linear-gradient(28deg,transparent 49.6%,rgba(255,128,64,.32) 49.8%,rgba(255,128,64,.32) 50.2%,transparent 50.4%),
  linear-gradient(-14deg,transparent 49.7%,rgba(255,128,64,.24) 49.85%,rgba(255,128,64,.24) 50.15%,transparent 50.3%);
  transition:opacity 1.2s var(--ease)}
.hero.map-on::before{opacity:0}
.hero-map{position:absolute;inset:0;opacity:0;transition:opacity 1.6s var(--ease)}
.hero-map.ready{opacity:1}
.hero-map .maplibregl-ctrl-attrib{display:none}
.hero-shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(10,19,34,.96) 0%,rgba(10,19,34,.82) 34%,rgba(10,19,34,.25) 64%,rgba(10,19,34,.45) 100%),
  linear-gradient(0deg,rgba(10,19,34,1) 0%,rgba(10,19,34,0) 32%)}
.hero-inner{position:relative;z-index:2;width:100%;max-width:1760px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:3rem;align-items:end;padding:120px var(--pad) clamp(64px,9vh,110px)}
.loc-line{display:flex;align-items:baseline;gap:.7em;font-size:.92rem;color:var(--mute);margin-bottom:1.6rem}
.loc-line b{color:var(--ink);font-weight:500}
.pulse{flex:none;position:relative;top:-1px;width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 rgba(255,106,43,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(255,106,43,0)}100%{box-shadow:0 0 0 0 rgba(255,106,43,0)}}
#heroTitle{font-size:clamp(2.55rem,7.2vw,7.6rem);margin-bottom:1.6rem}
.ln{display:block;overflow:hidden;padding-bottom:.06em}
.ln-in{display:inline-block;white-space:nowrap}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.hero-chips{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:1.8rem;font-size:.88rem;color:var(--mute)}
.hero-chips li{display:flex;align-items:center;gap:.45em}
.hero-chips svg{width:16px;height:16px;color:var(--ember)}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:1px;height:46px;background:var(--line);z-index:2;overflow:hidden}
.scroll-cue span{position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--ember);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{to{top:100%}}

/* hero toasts */
.toasts{display:flex;flex-direction:column;gap:.7rem;align-self:end;min-height:330px;justify-content:flex-end}
.toasts-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:.2rem}
.toast{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;background:rgba(15,27,46,.78);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;box-shadow:0 18px 40px -20px rgba(0,0,0,.7)}
.toast .t-ico{width:34px;height:34px;border-radius:8px;background:rgba(255,106,43,.14);color:var(--ember);display:grid;place-items:center}
.toast .t-ico svg{width:18px;height:18px}
.toast b{display:block;font-weight:500;font-size:.92rem;line-height:1.3}
.toast small{display:block;color:var(--faint);font-size:.78rem;margin-top:.2rem}
.toast .t-score{font-weight:800;font-size:.95rem;color:var(--ember);min-width:2ch;text-align:right}

/* map markers */
.mk{position:relative;width:14px;height:14px;cursor:pointer}
.mk::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ember);box-shadow:0 0 0 3px rgba(10,19,34,.85)}
.mk::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1.5px solid rgba(255,106,43,.7);animation:ring 2.4s var(--ease) infinite;opacity:0}
.mk.live::after{opacity:1}
.mk.home::before{background:var(--ink);box-shadow:0 0 0 4px rgba(255,106,43,.9)}
@keyframes ring{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.mk-label{position:absolute;left:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font:500 12px var(--sans);color:var(--ink);text-shadow:0 1px 6px rgba(0,0,0,.9);pointer-events:none}

/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:1.35rem 0;background:var(--bg)}
.mq-track{display:flex;align-items:center;gap:2.2rem;width:max-content;font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2.2rem);color:var(--mute);white-space:nowrap}
.mq-track i{width:8px;height:8px;border-radius:50%;background:var(--ember);flex:none}


/* how it works: compact, tabbed */
.how{padding:clamp(80px,12vh,130px) var(--pad)}
.how-head{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end;margin-bottom:clamp(36px,6vh,60px)}
.how-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,64px);align-items:stretch}
.how-steps{display:flex;flex-direction:column;gap:10px}
.how-steps li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:4px 14px;padding:20px 22px;border:1px solid var(--line);border-radius:10px;cursor:pointer;overflow:hidden;transition:background .3s var(--ease),border-color .3s}
.how-steps li:hover{border-color:rgba(243,239,231,.28)}
.how-steps li.on{background:var(--bg2);border-color:rgba(255,106,43,.45)}
.how-steps .n{font-weight:800;font-size:.82rem;letter-spacing:.16em;color:var(--faint);padding-top:6px}
.how-steps li.on .n{color:var(--ember)}
.how-steps h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.1}
.how-steps p{color:var(--mute);font-size:.98rem;margin-top:6px;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s var(--ease),opacity .35s}
.how-steps li.on p{max-height:120px;opacity:1}
.prog{position:absolute;left:0;bottom:0;right:0;height:2px;background:transparent}
.prog i{display:block;height:100%;width:0;background:var(--ember)}
.how-visual{position:relative;min-height:440px}
.how-cta{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-top:clamp(36px,6vh,56px);color:var(--mute);font-size:.95rem}
.hv{position:absolute;inset:0;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);opacity:0;transform:translateY(16px) scale(.985);transition:opacity .6s var(--ease),transform .6s var(--ease);overflow:hidden}
.hv.on{opacity:1;transform:none}
.hv-bar{display:flex;align-items:center;gap:6px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line);font-size:.8rem;color:var(--faint)}
.hv-bar i{width:9px;height:9px;border-radius:50%;background:rgba(243,239,231,.16)}
.hv-bar span{margin-left:10px}
.f-row{display:grid;grid-template-columns:140px 1fr;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:.93rem}
.f-row label{color:var(--faint);font-size:.82rem}
.f-in{padding:10px 12px;border-radius:6px;background:rgba(243,239,231,.05);border:1px solid var(--line)}
.f-tags{display:flex;flex-wrap:wrap;gap:6px}
.f-tags b{font-weight:500;font-size:.82rem;padding:6px 10px;border-radius:5px;background:rgba(255,106,43,.14);color:#FFB68F}
.f-tags.dim b{background:rgba(243,239,231,.07);color:var(--faint);text-decoration:line-through}
.f-seg{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;width:max-content}
.f-seg b{font-weight:500;font-size:.82rem;padding:8px 12px;color:var(--faint)}
.f-seg b.on{background:var(--ink);color:var(--navy)}
.scan-list{display:flex;flex-direction:column;gap:9px}
.scan-list li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:11px 12px;border-radius:8px;background:rgba(243,239,231,.035);border:1px solid var(--line);font-size:.88rem}
.scan-list li small{grid-column:1;color:var(--faint);font-size:.76rem}
.scan-list li .s{grid-row:1/3;grid-column:2;align-self:center;font-weight:800;font-size:.85rem}
.scan-list li.keep{border-color:rgba(255,106,43,.45);background:rgba(255,106,43,.07)}
.scan-list li.keep .s{color:var(--ember)}
.scan-list li.drop{opacity:.42}
.scan-list li.drop .s{color:var(--faint)}
.m-from{display:flex;align-items:center;gap:12px}
.m-av{width:40px;height:40px;border-radius:50%;background:var(--bg);display:grid;place-items:center;border:1px solid var(--line)}
.m-av svg{width:20px;height:23px;color:var(--ink)}
.m-from b{display:block;font-size:.95rem}
.m-from small{color:var(--faint);font-size:.8rem}
.m-score{margin-left:auto;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--ember);box-shadow:inset 0 0 0 3px rgba(255,106,43,.75)}
.m-subj{font-family:var(--serif);font-weight:400;font-size:1.65rem;line-height:1.1;margin:22px 0 10px}
.m-meta{display:flex;align-items:center;gap:6px;color:var(--mute);font-size:.88rem}
.m-meta svg{width:16px;height:16px;color:var(--ember)}
.hv-mail blockquote{margin:18px 0;padding:14px 16px;border-left:2px solid var(--ember);background:rgba(243,239,231,.04);color:var(--mute);font-size:.95rem;border-radius:0 8px 8px 0}
.m-act{display:flex;flex-wrap:wrap;gap:8px;font-size:.82rem}
.m-act b,.m-act span{padding:8px 12px;border-radius:6px;font-weight:500}
.m-act b{background:var(--ink);color:var(--navy)}
.m-act span{border:1px solid var(--line);color:var(--mute)}

/* territory dashboard */
.territory{padding:clamp(90px,14vh,150px) var(--pad);background:linear-gradient(180deg,var(--bg) 0%,#0C1728 100%);border-top:1px solid var(--line)}
.terr-head{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end;margin-bottom:3rem}
.dash{border:1px solid var(--line);border-radius:16px;background:var(--bg2);overflow:hidden;box-shadow:0 60px 120px -60px rgba(0,0,0,.9)}
.dash-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.dash-title{display:flex;align-items:center;gap:10px;font-weight:800;font-size:.95rem}
.dash-title svg{width:18px;height:21px;color:var(--ink)}
.sample-tag{font-style:normal;font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);padding:3px 8px;border-radius:4px}
.dash-city{position:relative;display:flex;align-items:center;gap:8px;background:rgba(243,239,231,.05);border:1px solid var(--line);border-radius:7px;padding:0 12px;min-width:min(320px,100%)}
.dash-city svg{width:17px;height:17px;color:var(--ember);flex:none}
.dash-city input{flex:1;min-height:42px;background:transparent;border:0;color:var(--ink);font:500 .95rem var(--sans);outline:none}
.dash-city:focus-within{border-color:rgba(255,106,43,.6)}
.city-sugg{position:absolute;left:-1px;right:-1px;top:calc(100% + 6px);background:var(--bg3);border:1px solid var(--line);border-radius:8px;z-index:20;overflow:hidden;display:none;box-shadow:0 20px 40px -10px rgba(0,0,0,.7)}
.city-sugg.open{display:block}
.city-sugg li{padding:11px 14px;font-size:.92rem;cursor:pointer;display:flex;justify-content:space-between}
.city-sugg li small{color:var(--faint)}
.city-sugg li[aria-selected="true"],.city-sugg li:hover{background:rgba(255,106,43,.14)}
.dash-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;padding:12px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.trades{display:flex;flex-wrap:wrap;gap:6px}
.trades button{min-height:38px;padding:0 13px;border-radius:6px;border:1px solid var(--line);background:transparent;font-size:.86rem;cursor:pointer;color:var(--mute);transition:all .2s}
.trades button:hover{color:var(--ink);border-color:rgba(243,239,231,.3)}
.trades button[aria-pressed="true"]{background:var(--ink);color:var(--navy);border-color:var(--ink)}
.radius{display:flex;align-items:center;gap:14px;font-size:.86rem;color:var(--mute)}
.radius b{color:var(--ink);font-weight:800;display:inline-block;min-width:3.6em}
.radius input{accent-color:var(--ember);width:160px}
.dash-body{display:grid;grid-template-columns:380px 1fr;height:min(620px,72vh);min-height:460px}
.dash-list{overflow-y:auto;border-right:1px solid var(--line);overscroll-behavior:contain}
.dash-count{position:sticky;top:0;z-index:2;background:var(--bg2);padding:14px 18px;font-size:.85rem;color:var(--mute);border-bottom:1px solid var(--line)}
.dash-count b{color:var(--ink)}
#oppList li{padding:14px 18px;border-bottom:1px solid var(--line);cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:4px 12px;transition:background .2s}
#oppList li:hover,#oppList li.sel{background:rgba(255,106,43,.08)}
#oppList li.sel{box-shadow:inset 3px 0 0 var(--ember)}
#oppList .o-src{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
#oppList .o-txt{font-size:.94rem;line-height:1.35;grid-column:1}
#oppList .o-meta{font-size:.8rem;color:var(--faint);grid-column:1;display:flex;gap:10px}
#oppList .o-meta b{color:var(--mute);font-weight:500}
#oppList .o-s{grid-row:1/4;grid-column:2;align-self:center;font-weight:800;color:var(--ember);font-size:1.05rem}
.dash-map{position:relative;background:#0C1626}
.dash-empty{padding:30px 18px;color:var(--faint);font-size:.9rem}
.maplibregl-popup-content{background:var(--bg3)!important;color:var(--ink);border:1px solid var(--line);border-radius:10px!important;padding:12px 14px!important;font:500 13px/1.4 var(--sans);box-shadow:0 20px 40px -12px rgba(0,0,0,.7)!important;max-width:260px}
.maplibregl-popup-tip{border-top-color:var(--bg3)!important;border-bottom-color:var(--bg3)!important}
.maplibregl-popup-content b{display:block;font-size:13.5px;margin:3px 0}
.maplibregl-popup-content small{color:var(--faint)}
.maplibregl-popup-content .pp-s{color:var(--ember);font-weight:800}
.maplibregl-popup-close-button{color:var(--faint);font-size:16px;padding:2px 6px}
.maplibregl-ctrl-attrib{background:rgba(10,19,34,.7)!important;color:var(--faint)!important}
.maplibregl-ctrl-attrib a{color:var(--mute)!important}
.terr-claim{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-top:2.4rem}
.terr-claim p{color:var(--mute);max-width:36em}
.terr-claim b{color:var(--ink);font-weight:500}

/* light editorial band */
.compare,.pricing,.faq{background:var(--paper);color:var(--navy)}
.compare .display em,.pricing .display em,.faq .display em{color:var(--ember-d)}
.compare{padding:clamp(90px,14vh,150px) var(--pad) 60px}
.cmp-wrap{overflow-x:auto;margin-top:3rem}
.cmp{width:100%;min-width:680px;border-collapse:collapse;font-size:1rem}
.cmp th,.cmp td{padding:20px 18px;text-align:left;border-bottom:1px solid rgba(10,19,34,.14)}
.cmp thead th{font-weight:800;font-size:.85rem;letter-spacing:.04em;color:rgba(10,19,34,.72)}
.cmp tbody th{font-weight:500;color:rgba(10,19,34,.72)}
.cmp .us{background:var(--navy);color:var(--paper)}
.cmp thead .us{color:var(--ember);border-radius:10px 10px 0 0}
.cmp tbody tr:last-child .us{border-radius:0 0 10px 10px}
.cmp td.us{font-weight:800}
.pricing{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,90px);padding:80px var(--pad) clamp(90px,14vh,140px);align-items:center}
.p-list{margin-top:2.4rem;border-top:1px solid rgba(10,19,34,.14)}
.p-list li{padding:15px 0 15px 30px;border-bottom:1px solid rgba(10,19,34,.14);position:relative;font-size:1.04rem}
.p-list li::before{content:"";position:absolute;left:4px;top:23px;width:10px;height:10px;background:var(--ember);transform:rotate(45deg)}
.ticket{background:var(--navy);color:var(--paper);border-radius:14px;padding:30px;position:relative;box-shadow:0 50px 90px -40px rgba(10,19,34,.6)}
.t-top{display:flex;justify-content:space-between;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.t-price{display:flex;align-items:flex-start;gap:4px;margin:26px 0 8px;font-family:var(--serif)}
.t-price .cur{font-size:2.4rem;margin-top:.6rem;color:var(--ember)}
.t-price .amt{font-size:clamp(5rem,9vw,7.2rem);line-height:.9}
.t-price .per{font-family:var(--sans);font-size:1rem;color:var(--faint);align-self:flex-end;margin-bottom:.9rem;margin-left:6px}
.t-terms{color:var(--mute)}
.t-perf{margin:26px -30px;height:22px;position:relative;background:radial-gradient(circle at 0 50%,var(--paper) 11px,transparent 12px),radial-gradient(circle at 100% 50%,var(--paper) 11px,transparent 12px)}
.t-perf::after{content:"";position:absolute;left:24px;right:24px;top:50%;border-top:1.5px dashed rgba(243,239,231,.2)}
.t-guar{font-size:.95rem;color:var(--mute);margin-bottom:24px}
.t-guar b{color:var(--ink);font-weight:800}
.t-note{font-size:.84rem;color:var(--faint);margin-top:14px;text-align:center}
.faq{padding:40px var(--pad) clamp(100px,15vh,160px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px)}
.faq-list{border-top:1px solid rgba(10,19,34,.14)}
.faq details{border-bottom:1px solid rgba(10,19,34,.14)}
.faq summary{list-style:none;cursor:pointer;padding:24px 50px 24px 0;font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.65rem);line-height:1.2;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before,.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:16px;height:2px;background:var(--ember-d);transition:transform .3s var(--ease)}
.faq summary::after{transform:rotate(90deg)}
.faq details[open] summary::after{transform:rotate(0)}
.faq details p{padding:0 0 26px;color:rgba(10,19,34,.7);font-size:1.03rem;max-width:40em}

/* final */
.final{position:relative;min-height:auto;display:flex;align-items:center;overflow:hidden;padding:120px var(--pad)}
.final-map{position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--ease)}
.final-map.ready{opacity:.55}
.final-map .maplibregl-ctrl-attrib{display:none}
.final::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 30% 50%,rgba(10,19,34,.55),rgba(10,19,34,.95) 70%)}
.final-inner{position:relative;z-index:2;max-width:900px}
.final .lede{margin-top:1.6rem}

/* footer */
.foot{padding:50px var(--pad) 40px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:14px;font-size:.88rem;color:var(--faint)}
.foot a{color:var(--mute);text-decoration:underline;text-underline-offset:2px}
.foot .credits{font-size:.78rem}

.sticky-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:none;transform:translateY(calc(100% + 30px));transition:transform .4s var(--ease)}
.sticky-cta.show{transform:none}

@media (max-width:1000px){
  .nav-links{display:none}
  .hero-inner{grid-template-columns:1fr;padding-top:110px;gap:1.6rem}
  .hero-shade{background:linear-gradient(0deg,rgba(10,19,34,1) 18%,rgba(10,19,34,.78) 60%,rgba(10,19,34,.55) 100%)}
  .toasts{min-height:0}
  .toasts .toast:nth-of-type(n+3){display:none}
  .how-body{grid-template-columns:1fr}
  .how-visual{min-height:420px}
  .how-steps p{max-height:none;opacity:1}
  .how-head{grid-template-columns:1fr;gap:1rem}
  .terr-head,.pricing,.faq{grid-template-columns:1fr}
  .dash-body{grid-template-columns:1fr;height:auto}
  .dash-map{height:340px;order:-1}
  .dash-list{max-height:420px;border-right:0;border-top:1px solid var(--line)}
  .sticky-cta{display:block}
  .foot{padding-bottom:96px}
  .scroll-cue{display:none}
}
@media (max-width:560px){
  .f-row{grid-template-columns:1fr}
  .radius input{width:120px}
  .t-price .amt{font-size:4.6rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media (max-width:1000px){.hero .mk-label{display:none}}

/* contact */
.final{padding:clamp(100px,15vh,170px) var(--pad)}
.final::before{background:radial-gradient(ellipse at 22% 45%,rgba(10,19,34,.4),rgba(10,19,34,.97) 62%)}
.contact{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,7vw,120px);align-items:center}
.c-left .lede{margin-top:1.6rem}
.c-ways{margin-top:2.4rem;border-top:1px solid var(--line);max-width:640px}
.c-ways li{border-bottom:1px solid var(--line)}
.c-ways li[hidden]{display:none}
.c-ways a{display:grid;grid-template-columns:110px 1fr 22px;align-items:center;gap:16px;padding:20px 4px;transition:padding .35s var(--ease),color .2s}
.c-ways small{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.c-ways span{font-family:var(--serif);font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.15;overflow-wrap:anywhere}
.c-ways svg{width:20px;height:20px;color:var(--ember);transition:transform .35s var(--ease)}
.c-ways a:hover{padding-left:12px;color:var(--ember)}
.c-ways a:hover svg{transform:translateX(4px)}
/* inverted ticket: paper card on navy */
.c-card{background:var(--paper);color:var(--navy);border-radius:16px;padding:34px 34px 28px;display:flex;flex-direction:column;position:relative;box-shadow:0 60px 120px -50px rgba(0,0,0,.9);max-width:600px;width:100%;justify-self:end}
.c-card .t-top{color:rgba(10,19,34,.5)}
.c-title{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,3.4vw,3.2rem);line-height:1;margin:22px 0 18px;letter-spacing:-.01em}
.fld{display:block;padding:14px 0 6px;border-bottom:1.5px solid rgba(10,19,34,.16);transition:border-color .25s}
.fld span{display:block;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(10,19,34,.55);font-weight:600}
.fld i{font-style:normal;letter-spacing:.04em;text-transform:none;color:rgba(10,19,34,.38);font-weight:500;margin-left:6px}
.fld input{display:block;width:100%;border:0;background:transparent;outline:none;font:500 1.2rem var(--sans);color:var(--navy);padding:8px 0 6px}
.fld input::placeholder{color:rgba(10,19,34,.3)}
.fld:focus-within{border-color:var(--ember-d)}
.fld:focus-within span{color:var(--ember-d)}
.fld.bad{border-color:#D93A3A}.fld.bad span{color:#D93A3A}
.c-perf{margin:26px -34px 24px;height:22px;position:relative;background:radial-gradient(circle at 0 50%,var(--bg) 11px,transparent 12px),radial-gradient(circle at 100% 50%,var(--bg) 11px,transparent 12px)}
.c-perf::after{content:"";position:absolute;left:24px;right:24px;top:50%;border-top:1.5px dashed rgba(10,19,34,.2)}
.c-card .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.c-note{font-size:.84rem;color:rgba(10,19,34,.5);text-align:center;margin-top:14px}
.c-status{font-size:.95rem;text-align:center;margin-top:10px;min-height:1.2em;color:rgba(10,19,34,.7)}
.c-status:empty{display:none}
.c-status.err{color:#C0392B}.c-status.err a{text-decoration:underline}
.c-card.sent .fld,.c-card.sent .c-perf,.c-card.sent button,.c-card.sent .c-note{display:none}
.c-card.sent .c-title{margin-bottom:6px}
.c-card.sent .c-status{font-family:var(--serif);font-size:1.6rem;line-height:1.25;color:var(--navy);text-align:left;margin:4px 0 8px}
@media (max-width:1000px){.contact{grid-template-columns:1fr;gap:0}.c-left{display:contents}.c-left h2{order:1}.c-left .lede{order:2;margin-bottom:2rem}.c-card{order:3}.c-ways{order:4;margin-top:2.2rem}.c-card{justify-self:stretch;max-width:none;padding:28px 24px 24px}.c-perf{margin:24px -24px 22px}.c-ways a{grid-template-columns:86px 1fr 20px}}
