
:root{--paper:#f3f4f6;--white:#fff;--ink:#0b0d10;--ink-2:#14171b;--ink-3:#1e2227;--accent:#0b0d10;--accent-2:#3a4048;
--silver:#8a919a;--silver-2:#c9ced5;--tint:#e9ebee;--tint-2:#d8dce1;--slate:#5a616a;--line:#e1e4e8;--line-d:#272c33;
--pass:#12a150;--pass-bg:#e7f6ee;--amber:#b9770f;--amber-bg:#fbf1de;--radius:16px;--maxw:1240px;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Roboto,Helvetica,Arial,sans-serif;
--mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
--fp:url("/assets/brand/fingerprint-white.svg")}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{margin:0;letter-spacing:-.03em;line-height:1.05;font-weight:800}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--ink);flex:none}
.eyebrow b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}
.dark .eyebrow,.dark .eyebrow b{color:var(--silver-2)}.dark .eyebrow::before{background:#fff}
.lead{color:var(--slate);font-size:1.15rem;line-height:1.55}
/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(243,244,246,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:26px;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand-mark{height:30px;width:auto;display:block}
.brand-word{height:30px;width:auto;display:block}
.foot-brand .brand-mark{height:38px}
.foot-brand .brand-word{height:38px}
.nav-links{display:flex;gap:24px;margin-left:6px}
.nav-links a{font-size:15px;color:var(--slate);font-weight:550}
.nav-links a:hover{color:var(--ink);text-decoration:none}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:15px}
.menu-btn{display:none}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:650;font-size:15px;padding:12px 22px;border-radius:10px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .14s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}
.btn-primary{background:var(--ink);color:#fff;box-shadow:0 10px 24px -14px rgba(11,13,16,.7)}
.btn-primary:hover{background:var(--ink-3);box-shadow:0 14px 28px -14px rgba(11,13,16,.8)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--tint-2)}.btn-ghost:hover{border-color:var(--ink)}
.btn-light,.dark .btn-light{background:#fff;color:var(--ink)}.btn-light:hover,.dark .btn-light:hover{background:var(--silver-2)}
.dark .btn-primary{background:#fff;color:var(--ink);box-shadow:0 12px 30px -14px rgba(255,255,255,.35)}
.dark .btn-primary:hover{background:var(--silver-2)}
.dark .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}.dark .btn-ghost:hover{border-color:#fff}
/* dark surfaces share one language: near-black, a soft spotlight, the fingerprint */
.dark{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.dark::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(720px 420px at 18% -10%,rgba(255,255,255,.09),transparent 65%)}
.dark::after{content:"";position:absolute;z-index:0;pointer-events:none;right:-6%;top:50%;width:min(58vw,760px);aspect-ratio:1/1.05;transform:translateY(-50%) rotate(-10deg);background:var(--fp) no-repeat center/contain;opacity:.07;-webkit-mask-image:linear-gradient(to left,#000 55%,transparent 100%);mask-image:linear-gradient(to left,#000 55%,transparent 100%)}
.dark>.wrap{position:relative;z-index:1}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .lead,.dark p{color:#b3bac3}
.dark a{color:#fff}
/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.grid.four{grid-template-columns:repeat(4,1fr)}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 28px 48px -30px rgba(11,13,16,.5);border-color:var(--ink);text-decoration:none}
.card-h{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.card .ic{width:40px;height:40px;flex:none;padding:9px;border-radius:11px;background:var(--ink);color:#fff}
.card h3{font-size:16.5px;font-weight:750;margin:0;line-height:1.25}
.card p{font-size:13.5px;color:var(--slate);margin:0;line-height:1.5}
.card .cnt{display:inline-block;margin-top:16px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-top:1px solid var(--line);padding-top:12px;width:100%}
.cta-card{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;background:var(--ink);border-radius:18px;padding:32px 36px;flex-wrap:wrap;position:relative;overflow:hidden;color:#fff}
.cta-card::after{content:"";position:absolute;right:-40px;top:-60px;width:320px;height:340px;background:var(--fp) no-repeat center/contain;opacity:.08;transform:rotate(-12deg);pointer-events:none}
.cta-card:hover{text-decoration:none}
.cta-card .cta-txt{max-width:64ch;position:relative;z-index:1}
.cta-card h3{color:#fff;font-size:1.3rem;margin:0}
.cta-card p{color:#b3bac3;margin:8px 0 0;font-size:14.5px;line-height:1.5}
.cta-card .cta-go{flex:none;position:relative;z-index:1;background:#fff;color:var(--ink);padding:13px 24px;border-radius:10px;font-weight:650;font-size:15px;white-space:nowrap;transition:background .16s}
.cta-card:hover .cta-go{background:var(--silver-2)}
/* footer */
footer{background:var(--ink);color:#b3bac3;padding:60px 0 32px;font-size:14px;border-top:1px solid var(--line-d)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.foot-brand .brand{color:#fff}.foot-brand p{margin-top:14px;color:#8a919a;font-size:13.5px;max-width:30ch}
.foot-col h4{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8a919a;margin:0 0 14px;font-weight:700}
.foot-col a{display:block;margin-bottom:9px;color:#c9ced5}.foot-col a:hover{color:#fff}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--line-d);color:#8a919a;font-size:12.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.dark :focus-visible{outline-color:#fff}
/* reveal */
.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
@media(max-width:1024px){.grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.grid,.grid.two{grid-template-columns:1fr 1fr}.foot-top{grid-template-columns:1fr 1fr}.nav-links{display:none}.dark::after{opacity:.05}}
@media(max-width:560px){.grid,.grid.two{grid-template-columns:1fr}.foot-top{grid-template-columns:1fr}}
@media(max-width:480px){.nav-cta .btn{padding:9px 14px;font-size:14px}}

/* page head (dark band on every generated page) */
.page-head{padding:54px 0 50px;background:var(--ink);color:#fff;position:relative;overflow:hidden}
.page-head::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(640px 360px at 12% -20%,rgba(255,255,255,.09),transparent 65%)}
.page-head::after{content:"";position:absolute;pointer-events:none;right:-4%;top:50%;width:min(44vw,520px);aspect-ratio:1/1.05;transform:translateY(-50%) rotate(-10deg);background:var(--fp) no-repeat center/contain;opacity:.07;-webkit-mask-image:linear-gradient(to left,#000 55%,transparent 100%);mask-image:linear-gradient(to left,#000 55%,transparent 100%)}
.page-head .wrap{position:relative;z-index:1}
.crumb{font-size:13px;color:var(--silver);margin-bottom:22px;letter-spacing:.01em}
.crumb a{color:var(--silver)}.crumb a:hover{color:#fff}.crumb span{color:#fff}
.ph-inner{max-width:none}
.page-head h1{font-size:clamp(2.1rem,4.2vw,3.2rem);color:#fff;max-width:26ch}
.page-head .lead{margin-top:18px;color:#b3bac3;font-size:1.15rem;max-width:64ch}
.page-head .eyebrow{color:var(--silver-2);margin-bottom:16px}.page-head .eyebrow::before{background:#fff}
.page-head.center{text-align:center}.page-head.center .ph-inner{max-width:780px;margin:0 auto}.page-head.center h1{margin:0 auto}
.page-head.narrow .ph-inner{max-width:860px}
/* layout */
main{padding:44px 0 80px}
.article{max-width:760px;margin:0}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start;margin-top:6px}
.layout .article{max-width:800px;margin:0}
.side{position:sticky;top:90px;display:grid;gap:16px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.side-card h2{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin:0 0 4px}
.side-card .sl{display:block;padding:12px 0;border-top:1px solid var(--line);font-weight:600;font-size:14.5px;color:var(--ink)}
.side-card .sl:first-of-type{border-top:none}
.side-card .sl:hover{text-decoration:none;padding-left:4px;transition:padding .15s}
.side-cta{background:var(--ink);color:#fff;border-radius:14px;padding:24px;position:relative;overflow:hidden}
.side-cta::after{content:"";position:absolute;right:-50px;bottom:-70px;width:220px;height:230px;background:var(--fp) no-repeat center/contain;opacity:.08;transform:rotate(-12deg)}
.side-cta h3{font-size:1.1rem;margin:0 0 8px;color:#fff;position:relative;z-index:1}
.side-cta p{font-size:13.5px;color:#b3bac3;margin:0 0 16px;line-height:1.5;position:relative;z-index:1}
.side-cta .btn{width:100%;justify-content:center;background:#fff;color:var(--ink);position:relative;z-index:1}
.side-cta .btn:hover{background:var(--silver-2)}
.article h2{font-size:1.5rem;margin:40px 0 12px}
.article h3{font-size:1.15rem;margin:26px 0 8px}
.article p{margin:0 0 16px}
.article ul{margin:0 0 20px;padding:0;list-style:none;display:grid;gap:10px}
.article ul li{position:relative;padding-left:32px;color:#353b43}
.article ul li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3L12.5 5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/11px}
.strat-note{margin:0 0 20px;font-size:13px;color:var(--slate);background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 13px;display:inline-block}
.src-line{font-size:13.5px;color:var(--slate);margin:18px 0 0}
.src-line a{font-weight:600}
.article ul.src-list li{padding-left:18px}
.article ul.src-list li::before{content:"";left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.src-list a{font-weight:600}
a[target="_blank"]::after{content:"\2197";font-size:.82em;margin-left:3px;color:var(--slate);text-decoration:none;display:inline-block}
.callout{background:#fff;border:1px solid var(--line);border-left:3px solid var(--ink);border-radius:12px;padding:18px 20px;margin:28px 0}
.callout .k{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);margin-bottom:6px}
.callout p{margin:0;font-size:15px;color:#353b43}
.attr{margin-top:40px;padding:16px 18px;background:var(--tint);border:1px solid var(--line);border-radius:12px;font-size:12.5px;color:var(--slate);line-height:1.55}
/* related */
.related{max-width:720px;margin:36px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.related h2{font-size:1.1rem;margin-bottom:14px}
.related a{display:block;padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:9px;font-weight:600;font-size:15px}
.related a:hover{border-color:var(--ink);text-decoration:none}
/* contact */
.form-slot{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.side-card address{font-style:normal;line-height:1.75;font-size:15px}
.side-card p{font-size:14px;color:var(--slate);margin:10px 0 0;line-height:1.55}
.map-wrap{margin-top:46px}
.map-wrap h2{font-size:1.3rem;margin:0 0 14px}
.map-wrap iframe{width:100%;height:420px;border:1px solid var(--line);border-radius:var(--radius);display:block;filter:grayscale(1) contrast(1.05)}
@media(max-width:900px){.layout{grid-template-columns:1fr;gap:32px}.side{position:static}}

/* accent: one signal colour, used where the eye should land */
:root{--lime:#c6f135;--lime-2:#d9f766}
.eyebrow::before{background:var(--lime)}
.dark .eyebrow b,.page-head .eyebrow b{color:var(--lime)}
.dark .btn-primary,.dark .btn-light,.side-cta .btn,.price.feat .btn-primary{background:var(--lime);color:var(--ink);box-shadow:0 14px 34px -16px rgba(198,241,53,.55)}
.dark .btn-primary:hover,.dark .btn-light:hover,.side-cta .btn:hover,.price.feat .btn-primary:hover{background:var(--lime-2);box-shadow:0 18px 38px -16px rgba(198,241,53,.7)}
.cta-card .cta-go{background:var(--lime);color:var(--ink)}.cta-card:hover .cta-go{background:var(--lime-2)}
.hero h1 .hl,.page-head h1 .hl{color:var(--lime)}
.stat .accent{color:var(--lime)}
.card:hover,.ctrl-card:hover{border-color:var(--lime)}
.card:hover .ic,.ctrl-card:hover .hex-ic{background:var(--lime);color:var(--ink)}
.dark a:hover,.link-more:hover{color:var(--lime)}
.dark :focus-visible{outline-color:var(--lime)}
.hero-note .dot{background:var(--lime);box-shadow:0 0 0 4px rgba(198,241,53,.18)}
.step .num{color:var(--tint-2)}
.callout{border-left-color:var(--lime)}

/* accent, second pass: colour on light surfaces too */
:root{--lime-ink:#5b8700;--lime-tint:#f1fad0;--lime-tint-2:#e2f5a3;--pass:#5b8700;--pass-bg:#f1fad0}
::selection{background:var(--lime);color:var(--ink)}
.eyebrow b{color:var(--lime-ink)}
.dark::before,.page-head::before{background:radial-gradient(720px 420px at 18% -10%,rgba(198,241,53,.16),transparent 65%)}
.cta::before{background:radial-gradient(760px 420px at 50% 120%,rgba(198,241,53,.18),transparent 70%)}
.hero.dark,.page-head{border-top:3px solid var(--lime)}
section.controls,section.platform,section.pricing,main{position:relative}
section.controls::before,section.platform::before,section.pricing::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(640px 360px at 92% 0%,rgba(198,241,53,.22),transparent 70%)}
section.controls>.wrap,section.platform>.wrap,section.pricing>.wrap{position:relative}
.step .num{color:var(--lime)}
.step{border-top-color:var(--lime-tint-2)}
.v-card .k,.chip,.card .cnt{background:var(--lime-tint);border-color:var(--lime-tint-2);color:var(--lime-ink)}
.card .cnt{border-top:1px solid var(--lime-tint-2);background:none}
.fact{border-left-color:var(--lime-tint-2)}
.fact b::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--lime);margin-right:9px;vertical-align:1px}
.article p a,.article li a,.src-line a,.src-list a,.sec-head a,.lead a{color:var(--lime-ink);text-decoration:underline;text-decoration-color:var(--lime-tint-2);text-underline-offset:3px;font-weight:600}
.article p a:hover,.sec-head a:hover,.lead a:hover{text-decoration-color:var(--lime-ink)}
.article ul li::before{background-color:var(--lime);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3L12.5 5' fill='none' stroke='%230b0d10' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.callout .k,.side-card h2{color:var(--lime-ink)}
.strat-note{background:var(--lime-tint);border-color:var(--lime-tint-2);color:#3f5a0a}
.strat-note a{color:var(--lime-ink)}
.related a:hover,.side-card .sl:hover{color:var(--lime-ink)}
.foot-col a:hover,.crumb a:hover{color:var(--lime)}
.foot-bottom{border-top-color:var(--line-d)}
.foot-brand p{border-left:2px solid var(--lime);padding-left:12px}
.nav-links a:hover{color:var(--lime-ink)}
.btn-primary:hover{background:var(--ink-3);box-shadow:0 0 0 3px var(--lime-tint-2),0 14px 28px -14px rgba(11,13,16,.8)}
.btn-ghost:hover{border-color:var(--lime-ink);color:var(--lime-ink)}
.price li svg circle{fill:var(--lime-tint);stroke:var(--lime-ink)}.price li svg path{stroke:var(--lime-ink)}
.price.feat li svg circle{fill:rgba(198,241,53,.15);stroke:var(--lime)}.price.feat li svg path{stroke:var(--lime)}
.price.feat .pname{color:var(--lime)}
.price.feat li{color:#e6e9ee}
.trust{border-top:none}
.map-wrap iframe{filter:grayscale(1) contrast(1.05)}

/* owner feedback: no dash-like rules before labels, plain grey card headings, map in colour */
.eyebrow::before,.dark .eyebrow::before,.page-head .eyebrow::before{display:none}
.side-card h2{color:var(--slate)}
.map-wrap iframe{filter:none}

/* toned-down accent: chartreuse, fewer large uses, quieter glows */
:root{--lime:#a8d92a;--lime-2:#b9e63f;--lime-ink:#527a00;--lime-tint:#eef7d6;--lime-tint-2:#dcefad;--pass:#527a00;--pass-bg:#eef7d6}
.hero h1 .hl,.page-head h1 .hl{color:var(--silver-2)}
.step .num{color:var(--tint-2)}
.stat .accent{color:var(--silver-2)}
.dark::before,.page-head::before{background:radial-gradient(720px 420px at 18% -10%,rgba(168,217,42,.08),transparent 65%)}
.cta::before{background:radial-gradient(760px 420px at 50% 120%,rgba(168,217,42,.10),transparent 70%)}
section.controls::before,section.platform::before,section.pricing::before{background:radial-gradient(640px 360px at 92% 0%,rgba(168,217,42,.10),transparent 70%)}
.hero.dark,.page-head{border-top-width:2px}
.dark .btn-primary,.dark .btn-light,.side-cta .btn,.price.feat .btn-primary{box-shadow:0 12px 28px -16px rgba(168,217,42,.45)}
.dark .btn-primary:hover,.dark .btn-light:hover,.side-cta .btn:hover,.price.feat .btn-primary:hover{box-shadow:0 14px 30px -16px rgba(168,217,42,.6)}
.price.feat li svg circle{fill:rgba(168,217,42,.15)}

/* sharper buttons */
.btn,.cta-card .cta-go{border-radius:4px}

/* palette: tropical jade sunrise */
:root{--coral:#fca47c;--coral-2:#ffb894;--cyan:#23ced9;--cyan-2:#4fdce5;--teal:#097c87;--teal-2:#0b919d;--teal-d:#065f68;
--yellow:#f9d779;--yellow-tint:#fdf3cf;--yellow-ink:#6b5310;--sage:#a1cca6;--sage-tint:#eaf3ec;--sage-tint-2:#cfe4d3;
--lime:var(--cyan);--lime-2:var(--cyan-2);--lime-ink:var(--teal);--lime-tint:var(--sage-tint);--lime-tint-2:var(--sage-tint-2);--pass:var(--teal);--pass-bg:var(--sage-tint);
--stripe:linear-gradient(90deg,var(--coral) 0 20%,var(--yellow) 20% 40%,var(--sage) 40% 60%,var(--cyan) 60% 80%,var(--teal) 80% 100%)}
::selection{background:var(--yellow);color:var(--ink)}
/* buttons */
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 24px -14px rgba(9,124,135,.8)}
.btn-primary:hover{background:var(--teal-2);box-shadow:0 0 0 3px var(--sage-tint-2),0 14px 28px -14px rgba(9,124,135,.8)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.dark .btn-primary,.dark .btn-light,.side-cta .btn,.price.feat .btn-primary{background:var(--cyan);color:var(--ink);box-shadow:0 12px 28px -16px rgba(35,206,217,.55)}
.dark .btn-primary:hover,.dark .btn-light:hover,.side-cta .btn:hover,.price.feat .btn-primary:hover{background:var(--cyan-2);box-shadow:0 14px 30px -16px rgba(35,206,217,.7)}
.cta-card .cta-go{background:var(--cyan);color:var(--ink)}.cta-card:hover .cta-go{background:var(--cyan-2)}
/* signature stripe */
.hero.dark,.page-head{border-top:0}
.hero.dark::after,.page-head::after{opacity:.07}
header{border-bottom:0;box-shadow:0 1px 0 var(--line)}
header::after{content:"";display:block;height:3px;background:var(--stripe)}
footer{border-top:0}
footer::before{content:"";display:block;height:3px;background:var(--stripe);margin:-60px 0 60px}
/* dark surfaces */
.dark::before,.page-head::before{background:radial-gradient(720px 420px at 18% -10%,rgba(35,206,217,.12),transparent 65%)}
.hero h1 .hl,.page-head h1 .hl{color:var(--coral)}
.dark .eyebrow b,.page-head .eyebrow b{color:var(--cyan)}
.stat .accent{color:var(--yellow)}
.stat{border-left-color:rgba(255,255,255,.14)}
.dark a:hover,.link-more:hover,.foot-col a:hover,.crumb a:hover{color:var(--cyan)}
.dark :focus-visible{outline-color:var(--cyan)}
.hero-note .dot{background:var(--cyan);box-shadow:0 0 0 4px rgba(35,206,217,.18)}
.foot-brand p{border-left-color:var(--coral)}
/* closing call to action: deep teal, coral button */
.cta{background:linear-gradient(135deg,var(--teal-d),var(--teal) 55%,var(--teal-2))}
.cta::before{background:radial-gradient(760px 420px at 50% 120%,rgba(249,215,121,.22),transparent 70%)}
.cta::after{opacity:.09}
.cta p,.cta .lead{color:#d9f1f3}
.cta .btn-light,.dark.cta .btn-light{background:var(--coral);color:var(--ink);box-shadow:0 14px 30px -16px rgba(0,0,0,.5)}
.cta .btn-light:hover,.dark.cta .btn-light:hover{background:var(--coral-2)}
/* light surfaces */
.eyebrow b{color:var(--teal)}
section.controls::before,section.platform::before,section.pricing::before{background:radial-gradient(640px 360px at 92% 0%,rgba(161,204,166,.35),transparent 70%)}
.card .ic,.hex-ic{background:var(--teal);color:#fff}
.card:hover,.ctrl-card:hover{border-color:var(--cyan)}
.card:hover .ic,.ctrl-card:hover .hex-ic{background:var(--cyan);color:var(--ink)}
.step .num{color:var(--sage)}
.step{border-top-color:var(--sage-tint-2)}
.v-card .k,.chip{background:var(--yellow-tint);border-color:#f3dd95;color:var(--yellow-ink)}
.card .cnt{color:var(--teal);border-top-color:var(--sage-tint-2)}
.fact b::before{background:var(--coral)}
.fact:nth-child(2) b::before{background:var(--yellow)}.fact:nth-child(3) b::before{background:var(--cyan)}.fact:nth-child(4) b::before{background:var(--teal)}
.article p a,.article li a,.src-line a,.src-list a,.sec-head a,.lead a{color:var(--teal);text-decoration-color:var(--sage-tint-2)}
.article p a:hover,.sec-head a:hover,.lead a:hover{text-decoration-color:var(--teal)}
.article ul li::before{background-color:var(--sage-tint-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3L12.5 5' fill='none' stroke='%23097c87' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.callout{border-left-color:var(--cyan)}
.callout .k{color:var(--teal)}
.strat-note{background:var(--yellow-tint);border-color:#f3dd95;color:var(--yellow-ink)}
.strat-note a{color:var(--teal)}
.related a:hover,.side-card .sl:hover,.nav-links a:hover{color:var(--teal)}
.related a:hover{border-color:var(--cyan)}
/* pricing */
.price li svg circle{fill:var(--sage-tint);stroke:var(--teal)}.price li svg path{stroke:var(--teal)}
.price.feat li svg circle{fill:rgba(35,206,217,.15);stroke:var(--cyan)}.price.feat li svg path{stroke:var(--cyan)}
.price.feat .pname{color:var(--coral)}
.price .badge{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.trust .chip{background:var(--sage-tint);border-color:var(--sage-tint-2);color:var(--teal-d)}

/* colour roles, settled: teal owns light surfaces, coral is the action on dark, cyan and yellow are small dark-surface accents */
.dark .btn-primary,.dark .btn-light,.side-cta .btn,.price.feat .btn-primary,.cta-card .cta-go{background:var(--coral);color:var(--ink);box-shadow:0 12px 28px -16px rgba(252,164,124,.55)}
.dark .btn-primary:hover,.dark .btn-light:hover,.side-cta .btn:hover,.price.feat .btn-primary:hover,.cta-card:hover .cta-go{background:var(--coral-2);box-shadow:0 14px 30px -16px rgba(252,164,124,.7)}
.step .num{color:var(--teal);font-size:44px;opacity:.9}
.fact b::before,.fact:nth-child(2) b::before,.fact:nth-child(3) b::before,.fact:nth-child(4) b::before{background:var(--teal)}
.card:hover,.ctrl-card:hover,.related a:hover{border-color:var(--teal)}
.card:hover .ic,.ctrl-card:hover .hex-ic{background:var(--teal-2);color:#fff}
.callout{border-left-color:var(--teal)}
.v-card .k{background:var(--sage-tint);border-color:var(--sage-tint-2);color:var(--teal-d)}
.price.feat li svg circle{fill:rgba(252,164,124,.14);stroke:var(--coral)}.price.feat li svg path{stroke:var(--coral)}
.price.feat .btn-primary{color:var(--ink)}
