/* SideCrew site v2.0, light theme (Oct 19, 2026). Navy top + bottom, light middle. Style guide v1.0: teal #14B8A6, navy #0F172A, Inter Tight / Inter. */
@font-face{font-family:"Inter";src:url(/assets/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(/assets/inter-tight.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--teal:#14B8A6;--teal-2:#2DD4BF;--teal-d:#0F766E;--teal-50:#F0FDFA;--teal-100:#CCFBF1;--navy:#0F172A;--navy-2:#1E293B;--ink:#0F172A;--body:#334155;--muted:#475569;--faint:#64748B;--line:#E2E8F0;--line-2:#CBD5E1;--soft:#F8FAFC;--white:#fff;--r:18px;--max:1160px;
--sh-1:0 1px 2px rgba(15,23,42,.05),0 1px 1px rgba(15,23,42,.03);
--sh-2:0 1px 2px rgba(15,23,42,.05),0 10px 30px -12px rgba(15,23,42,.16);
--sh-3:0 2px 4px rgba(15,23,42,.05),0 24px 56px -18px rgba(15,23,42,.26);
--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--body);background:var(--white);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--teal-d);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--navy)}
h1,h2,h3{font-family:"Inter Tight",Inter,sans-serif;font-weight:700;line-height:1.08;letter-spacing:-.025em;margin:0 0 .5em;color:var(--navy)}
h1{font-size:clamp(2.35rem,6.6vw,4.1rem);letter-spacing:-.035em}h2{font-size:clamp(1.75rem,4.2vw,2.65rem);letter-spacing:-.03em}h3{font-size:1.2rem;letter-spacing:-.015em}
strong{color:var(--navy)}
p{margin:0 0 1em}
::selection{background:var(--teal-100);color:var(--navy)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
@media(min-width:700px){.wrap{padding:0 32px}}
.skip{position:absolute;left:-999px;top:0;background:var(--teal);color:var(--navy);padding:10px 14px;z-index:99;font-weight:700}.skip:focus{left:10px}
:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:6px}

/* ---------- header (dark navy) ---------- */
.hdr{position:sticky;top:0;z-index:30;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 1px 0 rgba(15,23,42,.6),0 10px 30px -18px rgba(15,23,42,.6)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px;position:relative}
.logo img{height:30px;width:auto}
.nav{display:none;gap:4px;align-items:center}
.nav a{color:#CBD5E1;text-decoration:none;font-weight:500;font-size:.95rem;padding:8px 14px;border-radius:999px;transition:color .2s,background .2s}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav a[aria-current]{color:#fff;background:rgba(20,184,166,.14);box-shadow:inset 0 0 0 1px rgba(20,184,166,.35)}
.hdr-cta{display:flex;gap:10px;align-items:center}
.hdr .btn-d{border-color:rgba(255,255,255,.22);color:#fff;background:transparent}.hdr .btn-d:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.menu{display:flex}
.menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:12px;font-weight:600;font-size:.9rem;color:#fff}
.menu summary::before{content:"";width:16px;height:10px;background:linear-gradient(#fff,#fff) 0 0/100% 2px no-repeat,linear-gradient(#fff,#fff) 0 50%/100% 2px no-repeat,linear-gradient(#fff,#fff) 0 100%/100% 2px no-repeat}
.menu summary::-webkit-details-marker{display:none}
.menu[open] .drop{display:flex}
.drop{display:none;position:absolute;left:0;right:0;top:68px;background:var(--navy);border-top:1px solid rgba(255,255,255,.08);flex-direction:column;padding:8px 22px 22px;box-shadow:0 30px 40px -20px rgba(15,23,42,.7)}
.drop a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#E2E8F0;text-decoration:none;font-weight:600;font-size:1.05rem}
.drop a[aria-current]{color:var(--teal)}
@media(min-width:900px){.nav{display:flex}.menu{display:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 24px;border-radius:12px;font-weight:700;text-decoration:none;font-size:1rem;border:1.5px solid transparent;cursor:pointer;font-family:inherit;letter-spacing:-.005em;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s,border-color .2s,color .2s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}
.btn-p{background:var(--teal);color:var(--navy);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 8px 20px -8px rgba(20,184,166,.7)}
.btn-p:hover{background:var(--teal-2);color:var(--navy);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 14px 28px -10px rgba(20,184,166,.8)}
.btn-o{border-color:var(--line-2);color:var(--navy);background:#fff;box-shadow:var(--sh-1)}.btn-o:hover{border-color:var(--navy);color:var(--navy)}
.ftr .btn-o{border-color:rgba(255,255,255,.3);color:#fff;background:transparent;box-shadow:none}.ftr .btn-o:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.05)}
.btn-d{border-color:var(--navy);color:var(--navy);background:#fff}.btn-d:hover{background:var(--navy);color:#fff}
.btn-sm{min-height:44px;padding:10px 16px;font-size:.92rem}
.hide-sm{display:none}@media(min-width:640px){.hide-sm{display:inline-flex}}

/* ---------- home hero (light) ---------- */
.hero{position:relative;overflow:hidden;color:var(--body);padding:56px 0 84px;
 background:radial-gradient(720px 420px at 88% 18%,rgba(20,184,166,.20),transparent 65%),radial-gradient(600px 380px at -5% 110%,rgba(20,184,166,.10),transparent 60%),linear-gradient(180deg,var(--teal-50) 0%,#F7FCFB 55%,#fff 100%)}
.hero::before,.page-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(15,23,42,.09) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse 70% 60% at 70% 30%,#000 10%,transparent 72%)}
.hero .grid{display:grid;gap:48px;align-items:center;position:relative;z-index:1}
@media(min-width:960px){.hero{padding:96px 0 120px}.hero .grid{grid-template-columns:1.12fr .88fr;gap:56px}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--teal-d);margin-bottom:20px;padding:7px 14px 7px 10px;background:#fff;border:1px solid var(--teal-100);border-radius:999px;box-shadow:var(--sh-1);line-height:1.35}
.eyebrow::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(20,184,166,.18)}
.hero h1{color:var(--navy);margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--teal-d);background:linear-gradient(transparent 72%,rgba(20,184,166,.28) 72%,rgba(20,184,166,.28) 92%,transparent 92%);padding:0 .04em}
.hero .lead{font-size:1.14rem;color:var(--muted);max-width:35em}
@media(min-width:960px){.hero .lead{font-size:1.2rem}}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 22px}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--muted);font-size:.95rem;font-weight:500}
.ticks li{display:inline-flex;align-items:center}
.ticks li::before{content:"";width:18px;height:18px;margin-right:8px;border-radius:50%;background:var(--teal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230F766E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
@media(max-width:520px){.hero .cta-row .btn,.page-hero .cta-row .btn{width:100%}}

/* phone card: stays dark, pops on light */
.phone-wrap{position:relative;max-width:390px;margin:0 auto}
.phone-wrap::before{content:"";position:absolute;inset:8% -6% -4% -6%;background:radial-gradient(closest-side,rgba(20,184,166,.38),transparent 75%);filter:blur(30px);z-index:-1}
.phone{position:relative;background:linear-gradient(180deg,#111A2E,#0B1222);border:1px solid #23314B;border-radius:30px;padding:18px;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 40px 80px -24px rgba(15,23,42,.55),0 18px 36px -18px rgba(15,23,42,.45);color:#E2E8F0}
.phone .bar{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#94A3B8;padding:2px 6px 12px}
.phone .bar span:first-child::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);margin-right:7px;vertical-align:1px;box-shadow:0 0 0 0 rgba(20,184,166,.6)}
.ev{background:#111C33;border:1px solid #1F2C47;border-radius:14px;padding:12px 14px;margin-bottom:10px}
.ev:last-child{margin-bottom:0}
.ev small{display:block;color:#94A3B8;font-size:.75rem;margin-bottom:3px}
.ev b{display:block;font-size:.95rem;color:#F1F5F9;font-weight:600}
.ev.t{border-color:rgba(20,184,166,.5);background:rgba(20,184,166,.10)}
.ev.t b{color:#5EEAD4}
.cap{font-size:.78rem;color:var(--faint);text-align:center;margin-top:14px}

/* ---------- sections ---------- */
section{padding:72px 0}@media(min-width:960px){section{padding:112px 0}}
.soft{background:var(--soft);border-top:1px solid #EEF2F6;border-bottom:1px solid #EEF2F6}
.kicker{color:var(--teal-d);font-weight:700;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:14px;display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"";width:28px;height:3px;border-radius:2px;background:var(--teal)}
.sub{color:var(--muted);font-size:1.1rem;max-width:44em}
section h2{max-width:22em}
.trades{border-bottom:1px solid var(--line);padding:22px 0;background:#fff;position:relative;z-index:1}
.trades .wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.trades span{font-size:.84rem;color:var(--faint);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-right:4px}
.trades .chip{text-transform:none;letter-spacing:0;margin:0}
.chip{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;font-size:.87rem;color:var(--navy);background:#fff;box-shadow:var(--sh-1)}
.cards{display:grid;gap:20px;margin-top:40px}
@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.cards.c3{grid-template-columns:repeat(3,1fr);gap:24px}.cards.c4{grid-template-columns:repeat(4,1fr)}}
.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--sh-2);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.cards .card:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:#D5E4E2}
.card p{color:var(--muted);margin:0}
.card h3{margin-bottom:.45em}
.ic{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,var(--teal-50),var(--teal-100));color:var(--teal-d);display:grid;place-items:center;margin-bottom:18px;box-shadow:inset 0 0 0 1px rgba(20,184,166,.22)}
.ic svg{width:23px;height:23px}
.stat{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:2.9rem;color:var(--navy);line-height:1;margin-bottom:14px;letter-spacing:-.04em}
.stat span{color:var(--teal-d)}
.cards .card:has(.stat)::before{content:"";position:absolute;left:28px;right:28px;top:-1px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--teal),rgba(20,184,166,.15))}
.src{display:block;font-size:.78rem;color:var(--faint);margin-top:16px;padding-top:12px;border-top:1px dashed var(--line)}
.steps{counter-reset:s;display:grid;gap:20px;margin-top:40px;position:relative}
@media(min-width:900px){.steps{grid-template-columns:repeat(3,1fr);gap:24px}.steps::before{content:"";position:absolute;top:48px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--teal-100) 0 8px,transparent 8px 14px);z-index:0}}
.step{position:relative;z-index:1;padding:28px;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2)}
.step::before{counter-increment:s;content:"0" counter(s);display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--navy);color:var(--teal);font-family:"Inter Tight",sans-serif;font-weight:700;font-size:.95rem;margin-bottom:18px;box-shadow:0 8px 18px -8px rgba(15,23,42,.6)}
.step p{color:var(--muted);margin:0}
.split{display:grid;gap:40px;align-items:center}@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}}

/* calculator: light, elevated */
.math{background:#fff;color:var(--body);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--sh-3);position:relative;overflow:hidden}
.math::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--teal))}
.math label{display:block;font-weight:700;margin-bottom:10px;color:var(--navy);font-size:.95rem}
.math input{width:100%;font:inherit;font-family:"Inter Tight",sans-serif;font-weight:700;font-size:1.6rem;padding:14px 16px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--soft);color:var(--navy);transition:border-color .2s,box-shadow .2s,background .2s}
.math input:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 4px rgba(20,184,166,.18)}
.math .out{font-family:"Inter Tight",sans-serif;font-size:1.45rem;line-height:1.3;font-weight:700;margin-top:18px;color:var(--navy);background:var(--teal-50);border:1px solid var(--teal-100);border-radius:14px;padding:16px 18px;letter-spacing:-.015em}
.math small{color:var(--faint);display:block;margin-top:12px}
.band{background:var(--navy);color:#fff;border-radius:24px;padding:40px 28px;text-align:center}
.band p{color:#CBD5E1}.band .cta-row{justify-content:center}
.faq{max-width:860px;margin-top:28px}
.faq details{border:1px solid var(--line);border-radius:14px;padding:0;margin-bottom:12px;background:#fff;box-shadow:var(--sh-1);transition:box-shadow .25s,border-color .25s}
.faq details[open]{box-shadow:var(--sh-2);border-color:#D5E4E2}
.faq summary{cursor:pointer;font-weight:700;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;color:var(--navy);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--teal-50);color:var(--teal-d);font-size:1.25rem;line-height:1;transition:transform .3s var(--ease)}
.faq details[open] summary::after{content:"+";transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:0;padding:0 22px 20px}

/* ---------- pricing ---------- */
.price-grid{display:grid;gap:22px;margin-top:44px;align-items:stretch}@media(min-width:960px){.price-grid{grid-template-columns:1fr 1.22fr 1fr;align-items:center}}
.plan{border:1px solid var(--line);border-radius:22px;padding:30px;background:#fff;display:flex;flex-direction:column;box-shadow:var(--sh-2)}
.plan.feat{border:2px solid var(--teal);box-shadow:0 0 0 6px rgba(20,184,166,.10),var(--sh-3);position:relative;background:linear-gradient(180deg,var(--teal-50),#fff 34%);padding:36px 32px}
.badge{position:absolute;top:-14px;left:28px;background:var(--navy);color:#fff;font-weight:700;font-size:.72rem;padding:6px 12px;border-radius:999px;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 18px -8px rgba(15,23,42,.6)}
.badge::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-right:8px;vertical-align:2px}
.amt{font-family:"Inter Tight",sans-serif;font-weight:700;font-size:2.7rem;line-height:1.05;margin:10px 0 6px;color:var(--navy);letter-spacing:-.04em}
.amt small{font-size:1rem;color:var(--muted);font-weight:500;letter-spacing:0}
.plan ul{padding:0;margin:20px 0 24px;list-style:none;flex:1}
.plan li{padding:8px 0 8px 30px;position:relative;color:var(--body);border-top:1px solid #F1F5F9}
.plan li:first-child{border-top:0}
.plan li::before{content:"";position:absolute;left:0;top:12px;width:18px;height:18px;border-radius:50%;background:var(--teal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230F766E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.plan .btn{width:100%}
.note{font-size:.92rem;color:var(--muted)}
.tbl{width:100%;border-collapse:collapse;margin-top:20px;font-size:.96rem}
.tbl th,.tbl td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-family:"Inter Tight",sans-serif;color:var(--navy)}
.was{color:var(--muted)}.was s{text-decoration-thickness:2px}

/* ---------- forms ---------- */
form{display:grid;gap:18px}
.field label{display:block;font-weight:600;margin-bottom:7px;color:var(--navy);font-size:.95rem}
.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--navy);padding:12px 14px;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;min-height:50px;transition:border-color .2s,box-shadow .2s}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#94A3B8}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(20,184,166,.18)}
.field textarea{min-height:120px;resize:vertical}
.consent{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px;font-size:.88rem;color:#334155;line-height:1.55;cursor:pointer}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--teal-d)}
.fine{font-size:.84rem;color:var(--muted)}
.contact-grid{display:grid;gap:28px;align-items:start}@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1.25fr;gap:36px}}
.contact-grid > .card{padding:32px}
.legal{max-width:780px}.legal h2{font-size:1.45rem;margin-top:2em;padding-top:1.2em;border-top:1px solid var(--line)}.legal h2:first-child{border-top:0;padding-top:0;margin-top:0}.legal li{margin-bottom:.5em}

/* ---------- page heroes (light) ---------- */
.page-hero{position:relative;overflow:hidden;color:var(--body);padding:56px 0 92px;
 background:radial-gradient(760px 380px at 92% 0%,rgba(20,184,166,.18),transparent 62%),linear-gradient(180deg,var(--teal-50),#F8FCFB 60%,#fff)}
.page-hero::before{content:"";position:absolute;right:-70px;top:24px;width:540px;height:350px;background:url(/assets/wings-watermark.svg) no-repeat center/contain;opacity:.55;pointer-events:none}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{max-width:15em;color:var(--navy)}
.page-hero p{color:var(--muted);max-width:38em;font-size:1.14rem;margin:0}
.page-hero.slim{padding:52px 0 76px}.page-hero.slim::before{width:360px;height:240px;top:14px;opacity:.45}
.page-hero.slim h1{font-size:clamp(2.1rem,5.4vw,3.3rem)}
.ph-grid{display:grid;gap:36px;align-items:center}
@media(min-width:960px){.page-hero{padding:88px 0 124px}.ph-grid{grid-template-columns:1.1fr .9fr;gap:56px}}
.ph-vis{max-width:440px;width:100%;justify-self:center}
.skyline{position:absolute;left:0;right:0;bottom:-1px;height:64px;background:url(/assets/divider-light.svg) no-repeat bottom/100% 100%;pointer-events:none;z-index:0}
@media(min-width:960px){.skyline{height:96px}}
.vcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--sh-3);position:relative}
.vcard::before{content:"";position:absolute;inset:-14px;border-radius:30px;background:linear-gradient(140deg,rgba(20,184,166,.16),transparent 55%);z-index:-1}
.vrow{display:flex;gap:14px;align-items:center;padding:13px 6px;border-bottom:1px solid #F1F5F9}.vrow:last-child{border-bottom:0}
.vrow .ic{margin:0;flex:none}
.vrow b{display:block;color:var(--navy)}.vrow small{display:block;color:var(--muted);font-size:.86rem}
.vlab{display:block;color:var(--faint);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.bignum{display:block;font-family:"Inter Tight",sans-serif;font-weight:700;font-size:clamp(1.9rem,6vw,2.5rem);color:var(--navy);text-decoration:none;margin-top:4px;letter-spacing:-.03em}
.bignum:hover{color:var(--teal-d)}
.vmail{color:var(--teal-d);font-weight:600;word-break:break-all}
.map{width:100%;height:auto;display:block;border-radius:22px;box-shadow:var(--sh-3)}

/* ---------- footer (dark navy) ---------- */
.ftr{background:var(--navy);color:#CBD5E1;padding:0 0 30px;font-size:.93rem;position:relative;overflow:hidden}
.ftr::before{content:"";position:absolute;left:50%;top:-220px;width:900px;height:420px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(20,184,166,.20),transparent 70%);pointer-events:none}
.ftr > .wrap{position:relative}
.ftr a{color:#E2E8F0;text-decoration:none}.ftr a:hover{color:var(--teal)}
.ftr-cta{display:grid;gap:22px;align-items:center;padding:56px 22px;border-bottom:1px solid #1E293B;margin-bottom:44px}
@media(min-width:700px){.ftr-cta{padding:64px 32px}}
.ftr-cta h2{color:#fff;font-size:clamp(1.7rem,4vw,2.3rem);margin:0 0 8px}.ftr-cta p{margin:0;color:#94A3B8;max-width:40em}.ftr-cta .cta-row{margin:0}
@media(min-width:900px){.ftr-cta{grid-template-columns:1fr auto;gap:40px}}
@media(max-width:520px){.ftr-cta .cta-row .btn{width:100%}}
.ftr .cols{display:grid;gap:30px;grid-template-columns:1fr 1fr}
.ftr .fbrand{grid-column:1/-1}.ftr .fbrand p{color:#94A3B8;max-width:22em}
@media(min-width:900px){.ftr .cols{grid-template-columns:1.5fr 1fr 1fr 1fr}.ftr .fbrand{grid-column:auto}}
.ftr h3{color:#fff;font-family:"Inter Tight",sans-serif;margin:0 0 12px;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}
.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin:8px 0}.ftr li a{display:inline-block;padding:2px 0}
.ftr img{height:34px;width:auto;margin-bottom:14px}
.ftr .muted{color:#94A3B8;font-size:.85rem}
.ftr .fsoc a{color:#5EEAD4}
.ftr .base{border-top:1px solid #1E293B;margin-top:36px;padding-top:20px;font-size:.82rem;color:#94A3B8;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between}
.legal-links{display:flex;flex-wrap:wrap;gap:6px 18px}.legal-links a{color:#94A3B8}.legal-links a:hover{color:var(--teal)}

/* ---------- misc ---------- */
.ph{background:#FEF3C7;color:#92400E;border-radius:4px;padding:0 4px}
.card h3 .ic{display:inline-grid;width:36px;height:36px;margin:0 12px 0 0;vertical-align:middle;border-radius:11px}
.card h3 .ic svg{width:20px;height:20px}
.founder{display:flex;gap:18px;align-items:center;margin:28px 0 20px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--sh-2)}
.founder img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 2px var(--teal),0 10px 24px -8px rgba(15,23,42,.35)}
.founder b{display:block;font-family:"Inter Tight",sans-serif;font-size:1.15rem;color:var(--navy)}.founder small{color:var(--muted)}
.howlist{padding-left:0;list-style:none;margin:0}
.howlist li{padding:12px 0 12px 32px;border-top:1px solid #F1F5F9;position:relative;color:var(--body);font-size:.96rem}
.howlist li:first-child{border-top:0}
.howlist li::before{content:"";position:absolute;left:0;top:16px;width:18px;height:18px;border-radius:50%;background:var(--teal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230F766E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.sticky-card{position:sticky;top:96px}

/* ---------- motion (only when the visitor allows it) ---------- */
@media(prefers-reduced-motion:no-preference){
 @keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
 @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
 @keyframes ping{0%{box-shadow:0 0 0 0 rgba(20,184,166,.55)}80%,100%{box-shadow:0 0 0 9px rgba(20,184,166,0)}}
 @keyframes evin{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
 .hero .grid > div:first-child > *,.page-hero .ph-grid > div:first-child > *,.page-hero .wrap > h1,.page-hero .wrap > p{animation:rise .8s var(--ease) both}
 .hero .grid > div:first-child > :nth-child(2),.page-hero .ph-grid > div:first-child > :nth-child(2){animation-delay:.08s}
 .hero .grid > div:first-child > :nth-child(3),.page-hero .ph-grid > div:first-child > :nth-child(3){animation-delay:.16s}
 .hero .grid > div:first-child > :nth-child(4){animation-delay:.24s}
 .hero .grid > div:first-child > :nth-child(5){animation-delay:.32s}
 .ph-vis,.phone-wrap{animation:rise 1s var(--ease) .2s both}
 .phone{animation:floaty 7s ease-in-out 1.2s infinite}
 .phone .ev{animation:evin .6s var(--ease) both}
 .phone .ev:nth-of-type(1){animation-delay:.5s}.phone .ev:nth-of-type(2){animation-delay:.8s}.phone .ev:nth-of-type(3){animation-delay:1.1s}.phone .ev:nth-of-type(4){animation-delay:1.4s}.phone .ev:nth-of-type(5){animation-delay:1.7s}
 .phone .bar span:first-child::before,.eyebrow::before{animation:ping 2.4s ease-out infinite}
 @supports (animation-timeline:view()){
  .card,.step,.plan,.faq details,.math{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
 }
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.hero .eyebrow{background:none;border:0;box-shadow:none;padding:0;border-radius:0;align-items:flex-start}.hero .eyebrow::before{margin-top:4px}
.page-hero:has(.ph-vis)::before{display:none}
.vcard::before{inset:-18px;filter:blur(16px);background:radial-gradient(closest-side,rgba(20,184,166,.22),transparent)}
.hero .eyebrow{letter-spacing:.09em;font-size:.74rem}
/* ---------- "Their AI will" section ---------- */
.ai-split{align-items:center}
.ai-sec h2 em{font-style:normal;color:var(--teal-d)}
.ai-points{display:grid;gap:14px;margin:28px 0 30px}
@media(min-width:600px){.ai-points{grid-template-columns:1fr 1fr}}
.ai-pt{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--sh-2)}
.ai-pt .ic{margin:0;flex:none;width:42px;height:42px}
.ai-pt h3{font-size:1.05rem;margin:0 0 4px}.ai-pt p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}
.ai-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0;font-weight:600;color:var(--navy)}
@media(max-width:520px){.ai-cta .btn{width:100%}}
.ai-chat{position:relative;max-width:440px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--sh-3)}
.ai-chat::before{content:"";position:absolute;inset:-20px;border-radius:32px;background:radial-gradient(closest-side,rgba(20,184,166,.18),transparent);filter:blur(14px);z-index:-1}
.ai-bar{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #F1F5F9}
.ai-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(20,184,166,.18)}
.ai-msg{border-radius:16px;padding:12px 15px;font-size:.95rem;line-height:1.5;margin-bottom:12px}
.ai-msg.me{background:var(--navy);color:#F1F5F9;margin-left:14%;border-bottom-right-radius:6px}
.ai-msg.bot{background:var(--soft);border:1px solid var(--line);color:var(--body);margin-right:6%;border-bottom-left-radius:6px;margin-bottom:0}
.ai-msg small{display:block;color:var(--faint);font-size:.8rem}
.ai-checks{list-style:none;padding:0;margin:10px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ai-checks li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-weight:600;font-size:.88rem;color:var(--navy)}
.ai-checks li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--teal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230F766E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
@media(prefers-reduced-motion:no-preference){
 @keyframes tick{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
 @supports (animation-timeline:view()){.ai-checks li{animation:tick linear both;animation-timeline:view();animation-range:entry 40% entry 100%}.ai-checks li:nth-child(2){animation-range:entry 55% entry 100%}.ai-checks li:nth-child(3){animation-range:entry 70% entry 100%}.ai-checks li:nth-child(4){animation-range:entry 85% entry 100%}}
}
/* ---------- home hero: particle field (option B) ---------- */
.hero-stage{position:relative;height:340px;margin:4px -22px 0;-webkit-tap-highlight-color:transparent}
.hero-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:crosshair;user-select:none;-webkit-user-select:none}
.hero-hint{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);pointer-events:none;white-space:nowrap;font-size:.78rem;font-weight:600;color:var(--muted);background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:999px;padding:5px 12px;box-shadow:var(--sh-1);transition:opacity .6s}
.hero-stage.used .hero-hint{opacity:0}
@media(min-width:700px){.hero-stage{margin:4px -32px 0}}
@media(min-width:960px){.hero-stage{height:560px;margin:-40px -32px -40px 0}}
@media(prefers-reduced-motion:reduce){.hero-hint{display:none}}
/* ---------- how it works + call-flow phone ---------- */
.hiw{display:grid;gap:40px;margin-top:40px;align-items:center}
.hiw .steps{margin-top:0}
@media(min-width:960px){.hiw{grid-template-columns:1.1fr .9fr;gap:64px}}
.steps.v{grid-template-columns:1fr!important;gap:16px}
.steps.v::before{display:none}
@media(min-width:600px){.steps.v .step{display:grid;grid-template-columns:42px 1fr;column-gap:20px;padding:24px 26px}.steps.v .step::before{grid-row:1/3;margin:0}.steps.v .step h3,.steps.v .step p{grid-column:2}}
.steps.v{position:relative}
@media(min-width:600px){.steps.v::after{content:"";position:absolute;left:47px;top:40px;bottom:40px;width:2px;background:repeating-linear-gradient(180deg,var(--teal-100) 0 8px,transparent 8px 14px);z-index:0}}
.hiw-phone{position:relative}
.hiw-lab{display:block;text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-d);margin-bottom:16px}
@media(prefers-reduced-motion:no-preference){.hiw-phone .phone-wrap{animation:none}}
@media(min-width:960px){.hero .eyebrow{font-size:.7rem;letter-spacing:.07em;white-space:nowrap}}
/* ---------- web demo: talk to our AI receptionist ---------- */
.demo-card{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:center;background:radial-gradient(520px 320px at 85% 40%,rgba(20,184,166,.14),transparent 70%),linear-gradient(180deg,#fff,var(--teal-50));border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4.5vw,56px);box-shadow:var(--sh-2);position:relative;overflow:hidden}
.demo-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--navy),var(--teal))}
.demo-copy h2{margin:.35em 0 .4em}
.demo-notes{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.demo-notes li{position:relative;padding-left:28px;color:var(--body);font-size:.95rem;line-height:1.5}
.demo-notes li::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:50%;background:var(--teal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230F766E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.demo-nudge{margin:22px 0 0;padding-top:18px;border-top:1px dashed var(--line-2);color:var(--body);font-size:.95rem}
.demo-nudge a{color:#0F766E;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.demo-live{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 24px 24px;text-align:center;box-shadow:var(--sh-1);display:flex;flex-direction:column;align-items:center}
.orb{--lvl:0;position:relative;width:148px;height:148px;margin:4px auto 14px;display:grid;place-items:center}
.orb-core{width:84px;height:84px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#5EEAD4,var(--teal) 55%,#0F766E);box-shadow:0 10px 30px rgba(20,184,166,.35),inset 0 -6px 14px rgba(15,23,42,.18);transform:scale(calc(1 + var(--lvl)*.22));transition:transform .08s linear}
.orb-ring{position:absolute;inset:18px;border-radius:50%;border:2px solid rgba(20,184,166,.35);opacity:0}
.orb-bars{position:absolute;display:flex;gap:4px;align-items:center;height:30px}
.orb-bars i{width:4px;height:8px;border-radius:2px;background:#fff;opacity:.95}
.demo-live[data-state=idle] .orb-core{background:radial-gradient(circle at 35% 30%,#99F6E4,#2DD4BF 55%,#0F766E)}
.demo-who{margin:0;font-family:"Inter Tight",Inter,sans-serif;font-weight:700;color:var(--navy);font-size:1.05rem}
.demo-who small{display:block;font-family:Inter,sans-serif;font-weight:500;color:var(--faint);font-size:.8rem;margin-top:2px}
.demo-status{margin:12px 0 4px;min-height:3em;color:var(--body);font-size:.95rem;line-height:1.45;max-width:36ch}
.demo-timer{margin:0 0 10px;font-variant-numeric:tabular-nums;font-weight:700;color:#0F766E;font-size:.9rem}
.demo-btn{display:inline-flex;align-items:center;gap:10px;font-size:1.05rem;padding:16px 26px;margin-top:6px}
.demo-btn[disabled]{opacity:.6;cursor:wait}
.demo-end{margin-top:6px;background:#fff;color:#B91C1C;border:1.5px solid #FECACA;font-weight:700;padding:13px 26px}
.demo-end:hover{background:#FEF2F2}
.demo-live [hidden]{display:none!important}
@media(prefers-reduced-motion:no-preference){
.demo-live[data-state=idle] .orb-core{animation:orbIdle 3.2s ease-in-out infinite}
.demo-live[data-state=connecting] .orb-ring{animation:orbPing 1.4s ease-out infinite}
.demo-live[data-state=connecting] .orb-ring.r2{animation-delay:.7s}
.demo-live[data-state=live] .orb-ring{opacity:calc(.25 + var(--lvl)*.75);transform:scale(calc(1.05 + var(--lvl)*.35));transition:transform .08s linear,opacity .08s linear}
.demo-live[data-state=live] .orb-ring.r2{transform:scale(calc(1.12 + var(--lvl)*.6));opacity:calc(var(--lvl)*.6)}
.demo-live[data-state=live] .orb-bars i{animation:orbBar .9s ease-in-out infinite}
.demo-live[data-state=live] .orb-bars i:nth-child(2){animation-delay:.15s}.demo-live[data-state=live] .orb-bars i:nth-child(3){animation-delay:.3s}
.demo-live[data-state=live] .orb-bars i:nth-child(4){animation-delay:.45s}.demo-live[data-state=live] .orb-bars i:nth-child(5){animation-delay:.6s}
.demo-live[data-talk=user] .orb-bars i{animation-duration:1.6s}
}
.demo-live[data-state=live] .orb-bars i{height:16px}
@keyframes orbIdle{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes orbPing{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
@keyframes orbBar{0%,100%{height:6px}50%{height:26px}}
@media(max-width:860px){.demo-card{grid-template-columns:1fr;border-radius:22px}.demo-live{padding:24px 16px}.demo-btn{width:100%;justify-content:center;white-space:nowrap;font-size:1rem;padding:15px 16px}.demo-end{width:100%}}
/* ---------- result areas (repositioning, Oct 19) ---------- */
.cards.areas{gap:24px}
.area{display:flex;flex-direction:column}
.area>p{margin-bottom:16px!important}
.area .fixes{list-style:none;padding:16px 0 0;margin:auto 0 0;border-top:1px dashed var(--line-2);display:grid;gap:9px}
.area .fixes li{position:relative;padding-left:26px;color:var(--body);font-size:.94rem;line-height:1.45}
.area .fixes li::before{content:"";position:absolute;left:0;top:.18em;width:17px;height:17px;border-radius:50%;background:var(--teal-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230F766E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/11px no-repeat}
.area .tag{position:absolute;top:24px;right:24px;background:var(--navy);color:#fff;font-weight:700;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.area .tag.soft{background:var(--teal-100);color:#0F766E}
.area .tag.soon{background:#fff;color:var(--muted);border:1px dashed var(--line-2)}
.areas-note{margin:28px 0 0;color:var(--body);font-size:1rem}
.areas-note a{color:#0F766E;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
@media(max-width:860px){.cards.areas{grid-template-columns:1fr}.area .tag{position:static;align-self:flex-start;margin-bottom:14px}}
@media(min-width:861px){.area h3{padding-right:120px}}
@media(min-width:960px){.price-grid.two{grid-template-columns:1fr 1.22fr;max-width:900px;margin-left:auto;margin-right:auto}}
