/* Apple devices render the system font (SF Pro, never shipped); everyone else gets Inter 4 (SIL OFL 1.1, self-hosted, variable wght+opsz) */
@font-face{font-family:"Inter Var";src:url("/assets/fonts/InterVariable-latin.c2d4a8fca2.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Var";src:url("/assets/fonts/InterVariable-latin-ext.dac2a9c302.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --ink:#152436;
  --ink-strong:#0b1624;
  --muted:#526273;
  --muted-2:#68798a;
  --blue:#086fd5;
  --blue-dark:#045aaf;
  --blue-soft:#eaf5ff;
  --blue-pale:#f3f9ff;
  --surface:#f5f8fb;
  --white:#fff;
  --line:#d8e2eb;
  --line-strong:#c3d1de;
  --green:#138a54;
  --amber:#bd7100;
  --red:#c83e3e;
  --shadow:0 22px 60px rgba(35,67,98,.12);
  --radius:24px;
  --max:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;background:var(--white);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Inter Var","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body,button,input{font-family:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit}
img,svg{max-width:100%}
.dashboard-shot{display:block;width:100%;height:auto}
.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}
.skip-link{position:fixed;left:20px;top:-100px;z-index:1000;background:var(--ink-strong);color:#fff;padding:.7rem 1rem;border-radius:8px}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid rgba(8,111,213,.34);outline-offset:3px}

.site-header{height:72px;position:fixed;inset:0 0 auto;z-index:100;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:2rem;padding:0 max(24px,calc((100vw - var(--max))/2));background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(21,36,54,.1)}
.brand-logo{display:block;width:235px;height:31px;overflow:hidden}
.brand-logo svg{display:block;width:100%;height:100%}
.main-nav{display:flex;justify-content:center;align-items:center;gap:1.55rem}
.main-nav a{font-size:.9375rem;font-weight:600;color:#34485b;white-space:nowrap}
.main-nav a:hover{color:var(--blue)}
.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;font-weight:700;line-height:1.25;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.nav-cta{min-height:42px;padding:.65rem 1rem;background:var(--blue);color:#fff;font-size:.9375rem}
.nav-cta:hover,.button-primary:hover{background:var(--blue-dark)}
.menu-button{display:none;width:44px;height:44px;border:0;background:transparent;padding:10px}
.menu-button span{display:block;height:2px;background:var(--ink);margin:7px 0;border-radius:2px}

.hero{position:relative;padding:142px 0 86px;background:linear-gradient(180deg,#f8fbff 0%,#edf7ff 44%,#fff 100%);overflow:hidden}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(8,111,213,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(8,111,213,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 74%)}
.hero-inner{position:relative;text-align:center}
.hero-copy{max-width:1050px;margin:0 auto}
.eyebrow,.section-kicker{font-size:.9375rem;font-weight:700;letter-spacing:.035em;color:var(--muted);text-transform:uppercase}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:0}
.eyebrow>span{width:32px;height:2px;background:var(--blue)}
.hero h1{font-size:clamp(3.25rem,7vw,5.9rem);line-height:.98;letter-spacing:-.055em;margin:1.25rem 0 1.45rem;color:var(--ink-strong)}
h1 em,h2 em{display:inline;color:#6d7b89;font-style:normal;font-weight:700}
.hero-lede{max-width:860px;margin:0 auto;font-size:clamp(1.125rem,1.7vw,1.42rem);line-height:1.58;color:var(--muted)}
.hero-lede strong{color:var(--ink-strong);font-weight:600;font-size:.92em;letter-spacing:.01em}
.reg-mark{font-size:.58em;vertical-align:super}
.hero-actions,.section-actions{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap}
.hero-actions{margin-top:2rem}
.button{padding:.82rem 1.25rem;border:1px solid transparent;font-size:1rem}
.button-primary{background:var(--blue);color:#fff}
.button-secondary{background:#fff;border-color:var(--line-strong);color:var(--ink)}
.button-secondary:hover{border-color:var(--blue);color:var(--blue)}
.hero-facts{list-style:none;padding:0;margin:2.5rem auto 3.5rem;display:grid;grid-template-columns:repeat(3,1fr);max-width:790px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.75);overflow:hidden}
.hero-facts li{padding:1rem 1.25rem;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:.15rem}
.hero-facts li:last-child{border-right:0}
.hero-facts strong{font-size:1.18rem;color:var(--ink-strong)}
.hero-facts span{font-size:.9375rem;color:var(--muted)}

.dashboard-frame{max-width:1120px;margin:0 auto}

.proof-strip{min-height:72px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 max(24px,calc((100vw - var(--max))/2))}
.proof-strip div{font-size:.875rem;font-weight:700;color:#42566a;text-align:center;padding:1rem .6rem;border-right:1px solid var(--line)}
.proof-strip div:last-child{border-right:0}.proof-strip div:before{content:"✓";color:var(--blue);margin-right:.55rem}

.section{padding:112px 0}
.section-kicker{display:flex;align-items:center;gap:.8rem;color:var(--blue);margin-bottom:1.25rem}
.section-kicker span{width:38px;height:28px;display:grid;place-items:center;border:1px solid #acd0f2;border-radius:999px;font-size:.8125rem}
.section-heading{max-width:920px;margin-bottom:3.2rem}
.section-heading h2,.subheading h2,.problem-copy h2,.onprem-copy h2,.compat-copy h2,.contact-copy h2,.faq-head h2{font-size:clamp(2.4rem,4.7vw,4.5rem);line-height:1.08;letter-spacing:-.045em;margin:.5rem 0 1.25rem;color:var(--ink-strong)}
.section-heading>p,.problem-copy>p,.onprem-copy>p,.compat-copy>p,.contact-copy>p{font-size:1.125rem;line-height:1.68;color:var(--muted);max-width:760px}

.problem{background:#fff}
.problem-layout{display:grid;grid-template-columns:1fr .9fr;gap:8vw;align-items:start}
.problem-copy h2{font-size:clamp(2.25rem,4vw,3.7rem)}
.tag-list,.cta-checklist{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.75rem}
.tag-list span,.cta-checklist span{font-size:.9375rem;font-weight:600;color:#3f5264;background:#f5f8fb;border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem}
.timeline{position:relative;padding-left:18px}
.timeline:before{content:"";position:absolute;left:116px;top:18px;bottom:18px;width:1px;background:var(--line-strong)}
.timeline article{display:grid;grid-template-columns:90px 20px 1fr;gap:16px;position:relative;padding:0 0 30px}
.timeline time{font-size:.8125rem;font-weight:700;color:var(--muted);padding-top:2px}
.timeline article>i{width:12px;height:12px;border:3px solid #d7ebff;border-radius:50%;background:var(--blue);margin-top:6px;z-index:2}.timeline article>i.amber-dot{background:#e79518;border-color:#ffecd0}.timeline article>i.red-dot{background:#d74c4c;border-color:#ffe1e1}
.timeline h3{font-size:1.125rem;line-height:1.35;margin:0;color:var(--ink-strong)}.timeline p{font-size:1rem;line-height:1.55;color:var(--muted);margin:.35rem 0 0}
.timeline .bill-event{background:#f3f8fc;border:1px solid var(--line);border-radius:16px;padding:20px 18px;margin-top:4px}

.benefits,.data-trust,.faq{background:var(--surface)}
.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.benefit-card{min-height:335px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 2px 8px rgba(35,67,98,.035)}
.analytics-grid article>span,.tradeoff-grid article>span{font-size:.8125rem;font-weight:800;color:var(--blue)}
.benefit-card h3,.analytics-grid h3,.trust-grid h3,.role-row h3,.tradeoff-grid h3{font-size:1.32rem;line-height:1.28;letter-spacing:-.025em;color:var(--ink-strong);margin:0 0 .7rem}
.benefit-card p,.analytics-grid p,.trust-grid p,.role-row p,.tradeoff-grid p{font-size:1rem;line-height:1.62;color:var(--muted);margin:0}
.benefit-card a{display:block;padding-top:1.1rem;color:var(--blue);font-size:.9375rem;font-weight:700}
.section-actions{margin-top:2.4rem}

.compat-copy ul{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.75rem}.compat-copy li{font-size:1rem;color:#3f5264;position:relative;padding-left:1.4rem}.compat-copy li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}

.intelligence{background:linear-gradient(180deg,#fff,#f5f9fd)}
.alert-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:alert}
.alert-flow article{background:#eef7ff;border:1px solid #cfe5f8;border-top:5px solid var(--blue);border-radius:16px;padding:24px;min-height:220px;display:flex;flex-direction:column}.alert-flow article>span{font-size:.8125rem;font-weight:800;color:var(--blue)}.alert-flow h3{font-size:1.35rem;margin:0 0 .55rem;color:var(--ink-strong)}.alert-flow p{font-size:1rem;color:var(--muted);margin:0}
.subheading{max-width:920px;margin:90px 0 2.4rem}.subheading h3{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.12;letter-spacing:-.04em;color:var(--ink-strong);margin:.8rem 0 1rem}.subheading>p:last-child{font-size:1.125rem;color:var(--muted)}
.analytics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.analytics-grid article{min-height:255px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;display:flex;flex-direction:column}

.onprem{background:#eaf5ff}
.onprem-lead{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.onprem-copy h2{font-size:clamp(2.4rem,4.6vw,4.35rem)}.onprem-copy h3{font-size:1.35rem;color:var(--ink-strong);margin:1.5rem 0 .4rem}.onprem-copy strong{color:var(--ink-strong)}
.local-network{background:#fff;border:1px solid #bad8f1;border-radius:22px;padding:28px;box-shadow:0 15px 45px rgba(35,67,98,.09)}.network-title{font-size:.875rem;font-weight:800;color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:14px}.network-shot{width:100%;height:auto;display:block;border-radius:14px}
.tradeoff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:58px}.tradeoff-grid article{background:rgba(255,255,255,.84);border:1px solid #c7dff3;border-radius:16px;padding:24px;min-height:265px;display:flex;flex-direction:column}.onprem-close{text-align:center;font-size:1.2rem;color:var(--muted);margin:3rem 0 0}.onprem-close strong{color:var(--ink-strong)}

.compatibility{background:#fff}.compatibility-layout{display:grid;grid-template-columns:1fr .9fr;gap:7vw;align-items:center}.compat-copy h2{font-size:clamp(2.4rem,4.4vw,4.1rem)}.compat-copy ul{margin:1.7rem 0}.text-link{color:var(--blue);font-size:1rem;font-weight:700}
.meter-list{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:13px 24px}.meter-list>div{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.meter-list>div>span{font-size:.8125rem;color:var(--blue);font-weight:700}.meter-list strong{font-size:1rem;color:var(--ink-strong)}.meter-list small{font-size:.8125rem;color:var(--muted)}.meter-list>p{font-size:.875rem;line-height:1.55;color:var(--muted);margin:16px 0}

.founder{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.founder-layout{display:grid;grid-template-columns:.45fr 1.55fr;gap:8vw;align-items:start}.founder-label{display:flex;flex-direction:column;gap:.5rem}.founder-label span{font-size:.875rem;font-weight:800;color:var(--blue)}.founder-label strong{font-size:1rem;line-height:1.5;color:var(--muted)}.founder blockquote{margin:0}.founder blockquote>p{font-size:clamp(1.65rem,3vw,2.75rem);line-height:1.35;letter-spacing:-.03em;color:var(--ink-strong);margin:0}.founder blockquote footer{display:flex;flex-direction:column;margin-top:2rem;font-size:1rem}.founder blockquote footer span{color:var(--muted)}

.faq-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:7vw}.faq-head h2{font-size:clamp(2.5rem,4vw,3.8rem)}.faq-list{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 24px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:last-child{border-bottom:0}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:1.05rem;font-weight:700;color:var(--ink-strong)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span:last-child{font-size:1.4rem;color:var(--blue);transition:transform .2s}.faq-list details[open] summary>span:last-child{transform:rotate(45deg)}.faq-list details p{font-size:1rem;color:var(--muted);margin:0;padding:0 45px 22px 0}

.contact{background:linear-gradient(135deg,#edf7ff,#f8fbff)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.contact-copy .eyebrow{justify-content:flex-start}.contact-copy h2{font-size:clamp(2.5rem,4.3vw,4.1rem)}.cta-checklist span{background:#fff}
.contact-direct{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.contact-mail{display:inline-block;margin-top:1rem;font-weight:600;color:var(--blue);text-decoration:none}.contact-mail:hover{text-decoration:underline}
.lead-form{background:#fff;border:1px solid #cbddeb;border-radius:20px;padding:30px;box-shadow:0 20px 60px rgba(35,67,98,.1);display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-heading,.lead-form button,.form-note,.form-activation{grid-column:1/-1}.form-heading>p{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--blue);margin:0}.form-heading h3{font-size:2rem;line-height:1.2;letter-spacing:-.035em;color:var(--ink-strong);margin:.65rem 0}.form-heading>span{display:block;font-size:1rem;color:var(--muted);line-height:1.55}.lead-form label{display:flex;flex-direction:column;gap:7px}.lead-form label>span{font-size:.875rem;font-weight:700;color:#34495c}.lead-form label small{font-weight:500;color:var(--muted)}.lead-form input{height:50px;border:1px solid var(--line-strong);border-radius:9px;background:#fbfdff;padding:0 .85rem;font-size:1rem;outline:none}.lead-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,111,213,.12)}.lead-form button{width:100%;border:0;margin-top:4px}.lead-form button:disabled{background:#c9d2da;color:#526273;cursor:not-allowed}.form-note,.form-activation{text-align:center;margin:0;font-size:.8125rem;line-height:1.5}.form-note{color:var(--muted)}.form-activation{background:#fff8e8;color:#76520b;border-radius:8px;padding:.65rem}

.site-footer{background:#edf2f7;color:var(--muted);padding:55px 0 36px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-logo{width:220px}.footer-top p{font-size:1rem}.footer-nav{display:flex;flex-wrap:wrap;gap:1.4rem;padding:30px 0}.footer-nav a{font-size:.9375rem;color:#3f5264}.footer-nav a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid #cfd9e2;padding-top:20px}.footer-bottom p,.legal{font-size:.8125rem;line-height:1.55}.legal{max-width:1050px;color:#657686;margin:20px 0 0}

.reveal{opacity:1;transform:none}

@media(max-width:1100px){
  .site-header{grid-template-columns:210px auto 1fr;gap:.75rem}.brand-logo{width:210px}.menu-button{display:block}.main-nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px 20px}.main-nav.open{display:flex}.main-nav a{padding:11px 0;font-size:1rem}.nav-cta{justify-self:end}
  .benefit-grid,.analytics-grid,.tradeoff-grid{grid-template-columns:repeat(2,1fr)}.benefit-wide{grid-column:1/-1}
  .onprem-lead,.compatibility-layout,.contact-layout{grid-template-columns:1fr}.local-network{max-width:720px}.contact-copy{text-align:center}.contact-copy .eyebrow{justify-content:center}.contact-copy>p{margin-left:auto;margin-right:auto}.contact-direct{justify-content:center}.cta-checklist{justify-content:center}.lead-form{max-width:760px;margin:0 auto;width:100%}
}

@media(max-width:720px){
  .container{width:min(100% - 32px,var(--max))}.site-header{height:62px;grid-template-columns:1fr auto;gap:.25rem;padding:0 16px}.brand-logo{width:190px;height:27px}.nav-cta{display:none}.main-nav{top:62px}.menu-button{justify-self:end}
  .hero{padding:110px 0 65px}.hero h1{font-size:clamp(3rem,14vw,4.3rem)}.hero-lede{font-size:1.125rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-facts{grid-template-columns:1fr;margin-bottom:2.6rem}.hero-facts li{border-right:0;border-bottom:1px solid var(--line)}.hero-facts li:last-child{border-bottom:0}
  .dashboard-frame{border-radius:14px}
  .proof-strip{grid-template-columns:1fr 1fr;padding:0 16px}.proof-strip div{border-bottom:1px solid var(--line);border-right:0;text-align:left}.proof-strip div:last-child{grid-column:1/-1}
  .section{padding:78px 0}.section-heading{margin-bottom:2.3rem}.section-heading h2,.subheading h2,.problem-copy h2,.onprem-copy h2,.compat-copy h2,.contact-copy h2,.faq-head h2{font-size:clamp(2.25rem,10vw,3.2rem)}.section-heading>p,.problem-copy>p,.onprem-copy>p,.compat-copy>p,.contact-copy>p{font-size:1.05rem}
  .problem-layout,.faq-layout,.founder-layout{grid-template-columns:1fr;gap:48px}.timeline{padding-left:0}.timeline:before{left:82px}.timeline article{grid-template-columns:62px 14px 1fr;gap:12px}.timeline .bill-event{padding:18px 12px}
  .benefit-grid,.analytics-grid,.tradeoff-grid,.alert-flow{grid-template-columns:1fr}.benefit-wide{grid-column:auto}
  .subheading{margin-top:65px}.tradeoff-grid article{min-height:235px}
  .meter-list{padding:8px 16px}.meter-list>div{grid-template-columns:30px 1fr}.meter-list small{grid-column:2}.founder blockquote>p{font-size:1.6rem}.faq-head{margin-bottom:0}.faq-list{padding:0 16px}.faq-list summary{font-size:1rem}.faq-list details p{padding-right:0}
  .contact-direct{flex-direction:column}.lead-form{grid-template-columns:1fr;padding:20px}.form-heading,.lead-form button,.form-note,.form-activation{grid-column:auto}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-logo{width:205px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Restored SF Pro / Apple product theme */
:root{
  --ink:#1d1d1f;
  --ink-strong:#000;
  --muted:#6e6e73;
  --muted-2:#86868b;
  --blue:#0071e3;
  --blue-dark:#0077ed;
  --blue-soft:#e9f5ff;
  --blue-pale:#f5f5f7;
  --surface:#f5f5f7;
  --white:#fff;
  --line:rgba(0,0,0,.1);
  --line-strong:rgba(0,0,0,.15);
  --green:#30d158;
  --amber:#ff9f0a;
  --red:#ff453a;
  --shadow:0 40px 100px rgba(0,0,0,.16);
  --radius:28px;
  --max:1240px;
}

body,button,input{
  font-family:-apple-system,BlinkMacSystemFont,"Inter Var","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
body{background:#fff;color:var(--ink);font-weight:400;letter-spacing:-.012em}
.container{width:min(var(--max),calc(100% - 48px))}

.site-header{height:52px;grid-template-columns:196px 1fr auto;gap:2rem;padding:0 max(22px,calc((100vw - var(--max))/2));background:rgba(250,250,252,.86);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}
.brand-logo{width:190px;height:24px}
.main-nav{gap:1.9rem}.main-nav a{font-size:.8rem;font-weight:500;color:#424245}
.nav-cta{min-height:30px;border-radius:999px;padding:.4rem .82rem;font-size:.78rem;font-weight:500;background:var(--blue)}
.menu-button{width:36px;height:36px}

.hero{padding:138px 0 120px;background:linear-gradient(180deg,#fbfbfd 0%,#f5f5f7 72%,#fff 100%)}
.hero-grid{display:none}
.hero h1{font-size:clamp(4.2rem,8.6vw,8rem);line-height:.91;letter-spacing:-.074em;margin:1.8rem 0 2rem}
.hero h1 em{color:#86868b;font-weight:700}
.eyebrow{font-size:.86rem;font-weight:600;letter-spacing:.03em;text-transform:none;color:#6e6e73}
.eyebrow>span{width:22px;height:1.5px;background:var(--blue)}
.hero-lede{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.45;color:#6e6e73;letter-spacing:-.03em;max-width:790px}
.button{min-height:48px;border-radius:999px;padding:.8rem 1.25rem;font-size:.98rem;font-weight:500}
.button-primary{background:var(--blue)}.button-primary:hover{background:var(--blue-dark)}
.button-secondary{border:0;background:transparent;color:var(--blue);padding-left:.7rem;padding-right:.7rem}.button-secondary:hover{color:var(--blue-dark);text-decoration:underline}
.hero-facts{display:flex;justify-content:center;border:0;border-radius:0;background:transparent;margin:3.2rem auto 4.5rem;max-width:760px;overflow:visible}
.hero-facts li{flex:1;min-width:190px;padding:0 2rem;border:0;border-left:1px solid rgba(0,0,0,.12)}
.hero-facts li:last-child{border-right:1px solid rgba(0,0,0,.12)}
.hero-facts strong{font-size:2rem;font-weight:600;letter-spacing:-.04em}.hero-facts span{font-size:.82rem;color:#86868b}

.dashboard-frame{max-width:1080px;border:8px solid #d7d7d9;border-radius:34px;padding:0;background:#d7d7d9;box-shadow:0 70px 130px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.13);overflow:hidden;position:relative}

.carousel-caption{max-width:640px;margin:0 auto 1.6rem;min-height:1.7rem}
.carousel-caption:empty{margin:0;min-height:0}
.carousel-caption-title{font-size:1.3rem;font-weight:600;letter-spacing:-.03em;color:var(--ink-strong);margin:0 0 .35rem}
.carousel-caption-body{font-size:.98rem;line-height:1.5;color:#6e6e73;margin:0}
.dashboard-frame.carousel{aspect-ratio:2920/1466}
#heroCarousel .dashboard-shot{border-radius:0;object-position:center top}
video.dashboard-shot::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
video.dashboard-shot::-webkit-media-controls{display:none!important}
.carousel-slide .video-poster{position:absolute;inset:0;width:100%;height:100%}
.carousel-slide video.dashboard-shot{position:relative;opacity:0;transition:opacity .3s ease}
.carousel-slide video.dashboard-shot.is-playing{opacity:1}
.carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease}
.carousel-slide.is-active{opacity:1;visibility:visible}
.carousel-dots{display:flex;justify-content:center;gap:9px;margin:1.5rem 0 0}
.carousel-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.16);cursor:pointer;transition:background .25s ease,transform .25s ease}
.carousel-dot.is-active{background:var(--blue);transform:scale(1.35)}
.carousel-dot:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.proof-strip{min-height:78px;background:#fff;border-top:0;border-bottom:1px solid rgba(0,0,0,.08)}
.proof-strip div{font-size:.75rem;font-weight:600;letter-spacing:.05em;color:#6e6e73;border-right:0}.proof-strip div:before{content:"•";color:var(--blue)}
.section{padding:140px 0}
.section-kicker{font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:none;color:#6e6e73}.section-kicker span{border-color:rgba(0,0,0,.12)}
.section-heading{max-width:980px}.section-heading h2,.subheading h2,.problem-copy h2,.onprem-copy h2,.compat-copy h2,.contact-copy h2,.faq-head h2{font-size:clamp(3.2rem,6vw,6rem);line-height:.98;letter-spacing:-.065em;margin:1.35rem 0}.section-heading h2 em,.subheading h2 em,.problem-copy h2 em,.compat-copy h2 em,.contact-copy h2 em{color:#86868b}
.section-heading>p,.problem-copy>p,.onprem-copy>p,.compat-copy>p,.contact-copy>p{font-size:1.22rem;line-height:1.55;color:#6e6e73}

.problem{background:#fff}.problem-layout{grid-template-columns:1fr 1fr;gap:10vw}.problem-copy h2{font-size:clamp(3rem,5.2vw,5.3rem)}.problem-copy h2 em{display:block;font-size:.42em;font-weight:600;letter-spacing:-.02em;margin-top:.5em}
.tag-list span,.cta-checklist span{border:0;background:#f5f5f7;color:#515154;padding:.65rem .9rem;font-size:.9rem}
.problem-media{margin-top:3.5rem}
.problem-media .dashboard-frame{max-width:100%}
.dashboard-frame.problem-carousel{aspect-ratio:24/11}
#problemCarousel .dashboard-shot{width:100%;height:100%;object-fit:cover;object-position:center}
.problem-media .carousel-dots{justify-content:flex-start}
.timeline:before{background:rgba(0,0,0,.1)}.timeline article{padding-bottom:3.5rem}.timeline h3{font-size:1.35rem;letter-spacing:-.035em}.timeline p{color:#6e6e73}.timeline .bill-event{background:#f5f5f7;border:0;border-radius:20px;padding:1.4rem}

.benefits{background:#f5f5f7}.benefit-grid{gap:20px}.benefit-card{min-height:0;border:0;border-radius:28px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:transform .28s ease,box-shadow .28s ease}.benefit-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(0,0,0,.08)}.benefit-card h3{font-size:1.55rem;letter-spacing:-.04em}.benefit-card p{color:#6e6e73}.benefit-card a{color:var(--blue)}

.intelligence{background:#f5f5f7}.alert-flow{gap:20px}
.alert-flow article{min-height:358px;display:flex;flex-direction:column;background:linear-gradient(150deg,rgba(14,16,20,.88),rgba(2,3,5,.96));color:#f5f5f7;border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:28px;position:relative;overflow:hidden;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,.06),0 20px 50px rgba(0,0,0,.28)}
.alert-flow article>span,.alert-flow article h3,.alert-flow article p{position:relative;z-index:1}
.alert-flow article>span{color:#64d2ff}.alert-flow h3{font-size:1.6rem;color:#f5f5f7}.alert-flow p{color:#a1a1a6}
.alert-flow article::before{content:"";position:absolute;inset:-45%;z-index:0;background:radial-gradient(circle at 24% 18%,rgba(255,255,255,.4),transparent 32%),radial-gradient(circle at 78% 78%,rgba(100,210,255,.2),transparent 50%);animation:glossDrift 9s ease-in-out infinite alternate;pointer-events:none}
@keyframes glossDrift{0%{transform:translate(-4%,-3%) rotate(0deg)}100%{transform:translate(4%,3%) rotate(6deg)}}
.alert-flow article .fx-gauge,.alert-flow article .fx-notif,.alert-flow article .fx-log{position:relative;z-index:1;margin-top:auto;padding-top:22px}

/* 01 — live risk gauge */
.fx-gauge{height:150px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.fx-gauge svg{overflow:visible;flex-shrink:0}
.gauge-zone{fill:none;stroke-width:7;stroke-linecap:butt;opacity:.4}
.gauge-zone-g{stroke:#3ddc73}.gauge-zone-a{stroke:#f5b942}.gauge-zone-r{stroke:#f5504a}
.gauge-fill{fill:none;stroke-width:5;stroke-linecap:round;stroke-dasharray:1;animation:gaugeFill 6s ease-in-out infinite}
.gauge-needle{stroke:#f5f5f7;stroke-width:2.4;stroke-linecap:round}
.gauge-needle-wrap{transform-box:view-box;transform-origin:60px 62px;animation:needleSweep 6s ease-in-out infinite}
.gauge-hub{fill:#f5f5f7}
.gauge-value{position:relative;width:100%;height:1.5rem;margin-top:6px;flex-shrink:0}
.gauge-value span{position:absolute;inset:0;text-align:center;font-size:1.15rem;line-height:1.5rem;font-weight:700;letter-spacing:-.02em;color:#f5f5f7;opacity:0;white-space:nowrap;animation:valueShow 6s ease-in-out infinite}
.gauge-label{position:relative;width:100%;height:1rem;margin-top:8px;flex-shrink:0}
.gauge-label span{position:absolute;inset:0;text-align:center;font-size:.7rem;line-height:1rem;letter-spacing:.14em;color:#7d7d84;opacity:0;white-space:nowrap;animation:valueShow 6s ease-in-out infinite}
@keyframes gaugeFill{0%,20%{stroke-dashoffset:.05;stroke:#3ddc73}25%,45%{stroke-dashoffset:.2;stroke:#f5b942}50%,70%{stroke-dashoffset:.45;stroke:#f5504a}75%,95%{stroke-dashoffset:.12;stroke:#3ddc73}100%{stroke-dashoffset:.05;stroke:#3ddc73}}
@keyframes needleSweep{0%,20%{transform:rotate(81deg)}25%,45%{transform:rotate(54deg)}50%,70%{transform:rotate(9deg)}75%,95%{transform:rotate(68deg)}100%{transform:rotate(81deg)}}
@keyframes valueShow{0%,3%,22%,100%{opacity:0}5%,20%{opacity:1}}
.gauge-value span:nth-child(2),.gauge-label span:nth-child(2){animation-name:valueShow2}.gauge-value span:nth-child(3),.gauge-label span:nth-child(3){animation-name:valueShow3}.gauge-value span:nth-child(4),.gauge-label span:nth-child(4){animation-name:valueShow4}
@keyframes valueShow2{0%,28%,47%,100%{opacity:0}30%,45%{opacity:1}}
@keyframes valueShow3{0%,53%,72%,100%{opacity:0}55%,70%{opacity:1}}
@keyframes valueShow4{0%,78%,97%,100%{opacity:0}80%,95%{opacity:1}}

/* 02 — push notification */
.fx-notif{height:128px;display:flex;align-items:flex-start;justify-content:center;overflow:hidden;padding-top:0}
.notif-card{width:min(280px,100%);background:rgba(234,245,255,.93);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:16px;padding:11px 14px 12px;box-shadow:0 16px 34px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.12);transform:translateY(-130px);opacity:0;animation:notifDropLoop 18.4s cubic-bezier(.22,1,.36,1) infinite}
.notif-top{display:flex;align-items:center;gap:6px}
.notif-icon{width:16px;height:16px;border-radius:5px;background:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}
.notif-top strong{font-size:.68rem;letter-spacing:.02em;color:#3a3a3c;font-weight:700}
.notif-time{margin-left:auto;font-size:.68rem;color:#8e8e93}
.notif-msgs{position:relative;height:1.15rem;margin-top:3px}
.notif-card .notif-msgs p{position:absolute;inset:0;margin:0;font-size:.82rem;color:#1c1c1e;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;animation:notifMsg1 18.4s ease-in-out infinite}
.notif-msgs p:nth-child(2){animation-name:notifMsg2}
.notif-msgs p:nth-child(3){animation-name:notifMsg3}
.notif-msgs p:nth-child(4){animation-name:notifMsg4}
@keyframes notifDropLoop{0%,25%,50%,75%,100%{transform:translateY(-130px);opacity:0}2%,18%{transform:translateY(0);opacity:1}21%{transform:translateY(-10px);opacity:0}27%,43%{transform:translateY(0);opacity:1}46%{transform:translateY(-10px);opacity:0}52%,68%{transform:translateY(0);opacity:1}71%{transform:translateY(-10px);opacity:0}77%,93%{transform:translateY(0);opacity:1}96%{transform:translateY(-10px);opacity:0}}
@keyframes notifMsg1{0%,3%,19%,100%{opacity:0}5%,17%{opacity:1}}
@keyframes notifMsg2{0%,28%,44%,100%{opacity:0}30%,42%{opacity:1}}
@keyframes notifMsg3{0%,53%,69%,100%{opacity:0}55%,67%{opacity:1}}
@keyframes notifMsg4{0%,78%,94%,100%{opacity:0}80%,92%{opacity:1}}

/* 03 — live history ticker */
.fx-log{height:128px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.log-track{display:flex;flex-direction:column;gap:13px;animation:logScroll 10s linear infinite}
.log-row{display:flex;gap:9px;align-items:baseline;white-space:nowrap}
.log-time{font-size:.76rem;font-weight:700;color:#64d2ff;font-variant-numeric:tabular-nums}
.log-text{font-size:.8rem;color:#a1a1a6}
@keyframes logScroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}

@media(prefers-reduced-motion:reduce){.alert-flow article::before,.gauge-fill,.gauge-needle-wrap,.gauge-value span,.gauge-label span,.notif-card,.notif-msgs p,.log-track{animation:none}}
.analytics-grid{gap:20px}.analytics-grid article{border:0;border-radius:28px;min-height:0;padding:28px 28px 12px}.analytics-grid h3{font-size:1.55rem}.analytics-grid p{color:#6e6e73}.analytics-grid article:nth-child(1){background:#000;color:#fff}.analytics-grid article:nth-child(1) h3{color:#fff}.analytics-grid article:nth-child(1) p{color:#a1a1a6}

.onprem{background:#000;color:#f5f5f7}.onprem .section-kicker{color:#86868b}.onprem .section-kicker span{border-color:rgba(255,255,255,.18)}.onprem-copy h2{color:#f5f5f7}.onprem-copy h3{color:#f5f5f7}.onprem-copy>p{color:#a1a1a6}.onprem-copy strong{color:#f5f5f7}.local-network{background:#080d12;border-color:rgba(255,255,255,.14);box-shadow:none}.network-title{color:#64d2ff;border-color:rgba(255,255,255,.12)}.tradeoff-grid{gap:1px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.14);border-radius:28px;overflow:hidden}.tradeoff-grid article{background:#090909;border:0;border-radius:0;min-height:285px}.tradeoff-grid article>span{color:#64d2ff}.tradeoff-grid h3{color:#f5f5f7}.tradeoff-grid p{color:#a1a1a6}.onprem-close{color:#86868b}.onprem-close strong{color:#f5f5f7}

.data-trust{background:#f5f5f7}
.compatibility{background:#fff}.meter-list{border:0;border-radius:28px;background:#f5f5f7;padding:1.05rem 1.5rem}.meter-list>div{border-color:rgba(0,0,0,.1);padding:1.05rem .3rem}.text-link{color:var(--blue)}
.roles{background:#fff}
.founder{background:#000;color:#f5f5f7;border:0}.founder-label span{color:#64d2ff}.founder-label strong{color:#86868b}.founder blockquote>p{font-size:clamp(1.9rem,3.6vw,3.55rem);color:#f5f5f7}.founder blockquote footer span{color:#86868b}
.faq{background:#f5f5f7}.faq-list{border:0;border-radius:28px;padding:0 1.5rem}.faq-list summary{font-size:1.15rem;font-weight:600;padding:1.55rem 0}.faq-list details p{color:#6e6e73}
.contact{background:linear-gradient(180deg,#fff,#f5f5f7)}.lead-form{border:0;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.08);padding:32px}.lead-form input{border-color:rgba(0,0,0,.14);border-radius:12px;background:#fbfbfd}.form-activation{border-radius:12px}.site-footer{background:#f5f5f7;color:#6e6e73}.footer-bottom{border-color:rgba(0,0,0,.1)}.legal{color:#86868b}

@media(max-width:1100px){
  .site-header{height:52px;grid-template-columns:190px auto 1fr}.main-nav{top:52px;background:rgba(250,250,252,.98)}.dashboard-frame{max-width:900px}.onprem-lead{grid-template-columns:1fr}.local-network{max-width:760px}
}
@media(max-width:720px){
  .site-header{height:48px;grid-template-columns:1fr auto}.brand-logo{width:178px;height:22px}.main-nav{top:48px}.hero{padding-top:108px;padding-bottom:78px}.hero h1{font-size:clamp(3.6rem,17vw,5rem)}.hero-lede{font-size:1.16rem}.hero-actions .button{width:auto}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:2.7rem auto 3.5rem}.hero-facts li{min-width:0;padding:0 .6rem;border-bottom:0}.hero-facts strong{font-size:1.45rem}.hero-facts span{font-size:.7rem}.dashboard-frame{border-width:5px;border-radius:22px;padding:0}.section{padding:95px 0}.section-heading h2,.subheading h2,.problem-copy h2,.onprem-copy h2,.compat-copy h2,.contact-copy h2,.faq-head h2{font-size:clamp(3.25rem,15vw,4.5rem)}.benefit-card,.analytics-grid article,.trust-grid article,.alert-flow article{border-radius:24px}.alert-flow article{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(150deg,#161a22,#06080c)}.alert-flow article::before{animation-duration:16s}.tradeoff-grid{grid-template-columns:1fr;border-radius:24px}.tradeoff-grid article{min-height:240px}.contact-copy{text-align:center}
}

/* Hero scroll-zoom (desktop): frame grows to full width while the section is pinned.
   r109: flex only inside the zoom query - outside it the frame must stay a block that fills the column (as a flex
   item its slides are all absolute, so it shrank to 20x10 px and the hero vanished on phones and with Reduce Motion) */
.zoom-wrap{position:relative}
.hero{overflow:clip}
@media (min-width:901px) and (prefers-reduced-motion:no-preference){
  .zoom-wrap{width:100vw;margin-left:calc(50% - 50vw);height:280vh}
  .zoom-sticky{display:flex;justify-content:center;position:sticky;top:0;height:100vh;padding-top:72px;align-items:center;overflow:hidden}
  .hero-zoom-frame{width:min(1180px,calc(100vw - 28px));max-width:none;flex:none;will-change:width,border-radius,box-shadow}
}
/* r26: section 10 right column = list (top-aligned) + Live Sky time-lapse */
.custom-build .compatibility-layout{align-items:start}.beyond-side{display:grid;gap:1.4rem;margin-top:.4rem}
.sky-clip{margin:0}.sky-clip video,.sky-clip img{display:block;width:100%;height:auto;aspect-ratio:24/11;background:#fff}
.sky-clip figcaption{font-size:.875rem;line-height:1.5;color:#6e6e73;margin:.7rem .3rem 0}
.custom-build .sky-clip{margin:3.2rem 0 1.6rem}.custom-build .section-heading{margin-bottom:2.6rem}
.beyond-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;border-top:1px solid rgba(0,0,0,.1);padding-top:1.6rem}.beyond-pillars h3{font-size:1.2rem;letter-spacing:-.01em;margin:0 0 .5rem;color:var(--ink-strong)}.beyond-pillars p{font-size:1rem;line-height:1.55;color:var(--muted);margin:0}
@media(max-width:820px){.beyond-pillars{grid-template-columns:1fr;gap:1.4rem}}
/* Player fits the viewport on desktop, then pins (sticky) for ~80vh of scroll */
@media(min-width:821px){.custom-build .sky-clip{max-width:min(100%,calc((100vh - 52px - 9.5rem)*24/11));margin-inline:auto}}
@media(min-width:821px) and (min-height:560px) and (prefers-reduced-motion:no-preference){.ctl-pin{height:calc(180vh - 52px);margin:1.6rem 0 .4rem}.ctl-pin-in{position:sticky;top:52px;height:calc(100vh - 52px);display:flex;flex-direction:column;justify-content:center}.custom-build .ctl-pin .sky-clip{margin-block:0;width:100%}}
.ctl-list>div[data-clip]{cursor:pointer;border-radius:12px;transition:background .25s}.ctl-list>div[data-clip]:hover{background:rgba(0,0,0,.035)}
.ctl-list>div.is-active{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04),0 4px 14px rgba(0,0,0,.05)}.ctl-list>div[data-clip]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.ctl-list>div[data-clip]{transition:none}}
.ctl-chapters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:1.1rem .3rem .2rem}
.ctl-g{display:grid;gap:.3rem;min-width:0}.ctl-g:last-child{grid-column:span 4}
.ctl-gn{font-size:.75rem;font-weight:700;line-height:1.3;color:#0066cc}
.ctl-gt{display:grid;gap:.75rem;min-width:0}.ctl-g:last-child .ctl-gt{grid-template-columns:repeat(4,minmax(0,1fr))}
.ctl-chapters button{all:unset;cursor:pointer;display:grid;gap:.45rem;min-width:0;padding:.2rem 0}
.ctl-fill{display:block;height:3px;border-radius:2px;background:#e8e8ed;overflow:hidden}.ctl-fill i{display:block;height:100%;background:#1d1d1f;transform:scaleX(0);transform-origin:left}
.ctl-name{font-size:.78rem;font-weight:600;color:#86868b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s}
.ctl-chapters button.is-active .ctl-name,.ctl-chapters button:hover .ctl-name{color:#1d1d1f}.ctl-chapters button:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
.ctl-stage{position:relative}.ctl-stage .ctl-poster{position:absolute;inset:0;width:100%;height:100%}.ctl-stage video{position:relative;opacity:0}.ctl-stage video.is-playing{opacity:1}
/* r109: "Play video" pill, shown only when the phone refused autoplay (script.js playCue) */
.video-play{position:absolute;right:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px 0 14px;border:0;border-radius:999px;background:rgba(0,0,0,.62);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);color:#fff;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease}
.video-play:hover{background:rgba(0,0,0,.78)}.video-play:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.video-play svg{width:16px;height:16px;fill:currentColor;flex:none}.video-play[hidden]{display:none}
@media(max-width:700px){.video-play{right:8px;bottom:8px;height:34px;gap:6px;font-size:13px;padding:0 13px 0 10px}.video-play svg{width:13px;height:13px}.video-play::after{content:"";position:absolute;inset:-6px}}
@media(max-width:700px){.ctl-chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .6rem}.ctl-g:last-child{grid-column:span 2}.ctl-g:last-child .ctl-gt{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem .6rem}.ctl-chapters button{padding:.3rem 0}.ctl-name{font-size:.78rem}}
/* r217: section 10 control stage - live scenes on a dark stage, bill card closing line by line (replaces the five control clips) */
.custom-build .sky-clip.is-live{max-width:none;width:100%}
.cs{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:8px;height:clamp(446px,calc(100vh - 52px - 9.5rem),560px);padding:10px;border-radius:28px;background:#1c1c1e;color:#f5f5f7}
.cs-main{display:flex;flex-direction:column;min-width:0;min-height:0;padding:8px 8px 2px 12px}
.cs-top{display:flex;align-items:center;gap:12px;font-size:.8rem;line-height:1.3;color:#aeaeb2}
.cs-eye{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cs-clock{font-variant-numeric:tabular-nums;font-weight:600;color:#f5f5f7}
.cs-pp{all:unset;position:relative;flex:none;width:22px;height:22px;border-radius:50%;background:#3a3a3c;cursor:pointer}
.cs-pp:before{content:"";position:absolute;left:7.5px;top:6.5px;width:2.5px;height:9px;background:#f5f5f7;box-shadow:4.5px 0 0 #f5f5f7}
.cs-pp.is-paused:before{left:8.5px;top:6px;width:0;height:0;background:none;box-shadow:none;border-left:8px solid #f5f5f7;border-top:5px solid transparent;border-bottom:5px solid transparent}
.cs-pp:after{content:"";position:absolute;inset:-11px}.cs-pp:focus-visible{outline:2px solid #64b5ff;outline-offset:2px}
.cs-title{margin:4px 0 6px;font-size:1.3rem;font-weight:600;letter-spacing:-.02em;line-height:1.28;color:#f5f5f7}
.cs-title.is-paid{color:#7ee2a0}
.cs-lg{display:flex;flex-wrap:wrap;gap:2px 14px;min-height:18px;font-size:.75rem;line-height:1.4;color:#d1d1d6}
.cs-lg span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.cs-lg em{margin-left:auto;font-style:normal;color:#aeaeb2}.cs-lg i{width:14px;height:3px;border-radius:2px}.cs-lg i.a{height:9px}.cs-lg i.d{height:0;border-top:2px dashed #a1a1a6;background:none!important}
.cs-body{position:relative;flex:1;min-height:0;margin-top:4px;container-type:size}
.cs-plot{position:absolute;inset:0}.cs-plot[hidden]{display:none}
.cs-plot canvas{position:absolute;inset:0;width:100%;height:100%}
.cs-marks{position:absolute;inset:0}
.cs-marks span{position:absolute;white-space:nowrap;font-size:.75rem;line-height:1.2;color:#d1d1d6}
.cs-marks .yt{color:#aeaeb2;transform:translateY(-50%);font-variant-numeric:tabular-nums}
.cs-marks .ln{color:#fff;transform:translateY(-115%)}
.cs-marks .bd{color:#f5f5f7;font-weight:600;transform:translateX(-50%)}
.cs-marks .ml{font-weight:600;color:#fff;transform:translate(-50%,-135%);opacity:0;transition:opacity .3s ease}
.cs-marks .ml.r{transform:translate(0,-135%)}.cs-marks .ml.l{transform:translate(-100%,-135%)}.cs-marks .ml.b{transform:translate(-50%,40%)}.cs-marks .ml.bl{transform:translate(-100%,40%)}.cs-marks .ml.c{transform:translate(-50%,-50%)}.cs-marks .ml.rb{transform:translate(0,40%)}
.cs-marks .ml.on{opacity:1}
.cs-xs{position:relative;flex:none;height:18px;margin-top:3px}
.is-sky .cs-xs,.is-sky .cs-lg{display:none}
.cs-xs span{position:absolute;transform:translateX(-50%);font-size:.75rem;line-height:1.3;color:#aeaeb2;font-variant-numeric:tabular-nums;white-space:nowrap}
.cs-xs .end{transform:translateX(-100%)}
.cs-flow{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;list-style:none;margin:6px 0 6px;padding:0}
.cs-flow li{min-width:0;min-height:66px;padding:7px 8px 7px 10px;border-radius:10px;background:#2c2c2e;transition:background .3s ease}
.cs-flow span{display:flex;align-items:center;gap:5px;font-size:.75rem;line-height:1.25;color:#aeaeb2}
.cs-flow span:before{content:"";width:7px;height:7px;border-radius:50%;background:#636366;transition:background .3s ease}
.cs-flow li.on span:before{background:#34c759}
.cs-flow b{display:block;margin-top:2px;font-size:.84rem;font-weight:600;line-height:1.28;color:#f5f5f7;font-variant-numeric:tabular-nums}
.cs-bill{display:flex;flex-direction:column;min-height:0;padding:16px 16px 14px;border-radius:18px;background:#fffdf8;color:#1d1d1f}
.cs-bh{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:9px;border-bottom:2px solid #1d1d1f}
.cs-bh b{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.cs-bh span{font-size:.78rem;color:#6e6e73}
.cs-bill ul{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;list-style:none;margin:0;padding:6px 0}
.cs-bill li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 10px;align-items:baseline}
.cs-bill li span{font-size:.88rem;font-weight:500;line-height:1.3}
.cs-bill li b{font-size:.92rem;font-weight:600;color:#c9140a;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.02em;transition:color .3s ease}
.cs-bill li em{grid-column:1/3;font-style:normal;font-size:.75rem;font-weight:600;line-height:1.3;color:#6e6e73}
.cs-bill li.is-closed b{color:#6e6e73;text-decoration:line-through}
.cs-bill li.is-closed em{color:#16753a}
.cs-sum{padding-top:9px;border-top:2px solid #1d1d1f}
.cs-sum span{display:block;font-size:.8rem;font-weight:600;line-height:1.3}
.cs-sum b{display:block;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#16753a;font-variant-numeric:tabular-nums}
.cs-foot{margin:6px 0 0;font-size:.75rem;line-height:1.35;color:#6e6e73}
.cs-sky{position:absolute;inset:0;width:min(100cqw,calc(100cqh*24/11));aspect-ratio:24/11;margin:auto;overflow:hidden;border-radius:14px}.cs-sky[hidden]{display:none}
.sky-clip .cs-sky video,.sky-clip .cs-sky img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;background:none;transform:scale(1.035)}
.sky-clip .cs-sky video:not(.is-playing){opacity:0}.sky-clip .cs-sky video.is-playing{opacity:1}
.is-live figcaption{min-height:3em}
/* r219: bill belongs to the control scenes; on a wide screen Live Sky is the whole tile */
.cs.no-bill{grid-template-columns:minmax(0,1fr)}.cs.no-bill .cs-bill{display:none}
.cs-amb{display:none}.cs.is-sky{position:relative;overflow:hidden}.is-sky .cs-main{position:relative;z-index:1}
.is-sky .cs-amb{display:block;position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);filter:blur(16px)}
@media(max-width:1000px){.is-sky .cs-amb{filter:blur(16px) brightness(.62)}.is-sky .cs-eye,.is-sky .cs-flow span{color:#f5f5f7}.is-sky .cs-flow li{background:rgba(0,0,0,.36)}
.cs.is-sky{padding-inline:0}.is-sky .cs-main{padding-inline:0}.is-sky .cs-main>:not(.cs-body){margin-inline:16px}.is-sky .cs-body{margin-block:10px}}
@media(min-width:1001px){.cs{height:auto;aspect-ratio:24/11;min-height:446px;max-height:calc(100vh - 52px - 5rem)}.cs.is-sky{padding:0}
.is-sky .cs-main{padding:0}.is-sky .cs-body{margin:0}.is-sky .cs-title,.is-sky .cs-flow,.is-sky .cs-eye,.is-sky .cs-clock{display:none}
.is-sky .cs-sky{border-radius:0}.is-sky .cs-pp{position:absolute;z-index:3;right:16px;bottom:15%;background:rgba(0,0,0,.5)}}
@media(max-width:1000px){.ctl-pin{height:auto}.ctl-pin-in{position:static;height:auto;display:block}
.cs{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:640px}
.cs-bill{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:6px 14px;padding:10px 14px}
.cs-bh{grid-column:1/3;padding-bottom:5px}.cs-bill ul{flex-direction:row;gap:12px;padding:0}.cs-bill li{flex:1;min-width:0;grid-template-columns:minmax(0,1fr)}
.cs-bill li em{grid-column:1}.cs-sum{padding-top:0;border-top:0;text-align:right}.cs-sum b{font-size:1.25rem}.cs-foot{display:none}}
@media(max-width:700px){.cs{height:600px;padding:6px;gap:6px;border-radius:20px}
.cs-main{padding:8px 6px 0}.cs-title{font-size:1.06rem;min-height:2.56em;margin:3px 0 4px}.cs-flow{grid-template-columns:repeat(2,minmax(0,1fr));margin:5px 0 2px}
.cs-flow li{min-height:60px;padding:6px 7px 6px 8px}.cs-flow b{font-size:.78rem}
.cs-bill{padding:8px 10px;border-radius:14px;gap:3px 8px;grid-template-columns:minmax(0,1fr)}.cs-bh{grid-column:1}
.cs-bill ul{gap:8px}.cs-bill li span{font-size:.75rem;line-height:1.2;min-height:2.4em}.cs-bill li b{font-size:.8rem}
.cs-sum{display:flex;justify-content:space-between;align-items:baseline;gap:10px;text-align:left}
.is-sky .cs-title{min-height:0}.is-sky .cs-flow{grid-template-columns:minmax(0,1fr)}.is-sky .cs-flow li{min-height:0}}

/* r216: bill X-ray - one ordinary bill, each line opened on scroll (replaces the r41 illustrated plant) */
.problem-layout.is-story{display:block}
.problem-layout.is-story .problem-copy{max-width:980px}
.xr{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(32px,4vw,60px);align-items:start;margin-top:3.5rem}
.xr-stage{position:sticky;top:76px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:6px;height:540px;padding:10px;border-radius:28px;background:#1c1c1e;color:#f5f5f7}
.xr-bill{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:16px 16px 14px;border-radius:18px;background:#fffdf8;color:#1d1d1f}
.xr-scan{position:absolute;left:0;right:0;top:0;height:var(--sh,30px);z-index:0;pointer-events:none;background:#d8ebff;border-bottom:2px solid #0071e3;transform:translateY(var(--y,0));transition:transform .7s cubic-bezier(.5,0,.2,1),height .3s ease,opacity .3s ease}
.xr-bill>:not(.xr-scan){position:relative;z-index:1}
[data-b="1"] .xr-scan{height:26px;background:none;animation:xr-sweep 4.5s ease-in-out infinite}
[data-b="6"] .xr-scan{opacity:0}
.xr-stage.paused .xr-scan{animation-play-state:paused}
@keyframes xr-sweep{from{transform:translateY(-30px)}to{transform:translateY(var(--h,500px))}}
.xr-bh{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:2px solid #1d1d1f}
.xr-bh div:last-child{text-align:right}
.xr-bh b{display:block;font-size:.95rem;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.xr-bh span{display:block;font-size:.75rem;line-height:1.3;color:#6e6e73}
.xr-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:10px 0 8px}
.xr-meta dt{font-size:.72rem;line-height:1.25;color:#6e6e73}
.xr-meta dd{margin:0;font-size:.84rem;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}
.xr-rows{flex:1;display:flex;flex-direction:column;justify-content:space-between;list-style:none;margin:0 -8px;padding:0;border-top:1px solid #e3e0d8}
.xr-rows li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:4px 8px;border-radius:6px;transition:color .3s ease}
.xr-rows span{grid-column:1;font-size:.84rem;font-weight:500;line-height:1.25}
.xr-rows em{grid-column:1;grid-row:2;font-style:normal;font-size:.72rem;line-height:1.25;color:#6e6e73;min-height:.9rem}
.xr-rows em u{text-decoration:none}.xr-rows em u+u{display:none;font-weight:700;color:#c9140a}
.xr-rows b{grid-column:2;grid-row:1/3;font-size:.86rem;font-weight:600;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.02em}
.xr-stage:not([data-b="1"]) .xr-rows li:not(.is-found){color:#6e6e73}
.xr-rows li.is-found b{color:#c9140a}.xr-rows li.is-found:nth-child(3) b{color:inherit}
.xr-rows li.is-found:nth-child(3) em u{display:none}.xr-rows li.is-found:nth-child(3) em u+u{display:inline}
.xr-rows li.is-on span{font-weight:700}
.xr-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0 0;padding-top:8px;border-top:2px solid #1d1d1f;font-size:.92rem;font-weight:700}
.xr-total b{font-weight:700;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.02em}
.xr-scope{display:flex;flex-direction:column;min-width:0;padding:8px 8px 4px 12px}
.xr-top{display:flex;justify-content:space-between;gap:10px;font-size:.78rem;line-height:1.3;color:#aeaeb2}
.xr-clock{font-variant-numeric:tabular-nums;white-space:nowrap}
.xr-title{margin:3px 0 8px;font-size:1.02rem;font-weight:600;letter-spacing:-.015em;line-height:1.3;color:#f5f5f7}
.xr-body{position:relative;flex:1;min-height:0}
.xr-chart{position:absolute;inset:0;display:flex;flex-direction:column;transition:opacity .3s ease}
.xr-plot{position:relative;flex:1;min-height:0}
.xr-plot canvas{position:absolute;inset:0;width:100%;height:100%}
.xr-marks{position:absolute;inset:0;overflow:visible}
.xr-marks span{position:absolute;white-space:nowrap;font-size:.72rem;line-height:1.2;color:#d1d1d6;animation:xr-in .35s ease .45s both}
.xr-marks .yt{color:#aeaeb2;transform:translateY(-50%);animation:none}
.xr-marks .ln{transform:translateY(-115%)}
.xr-marks .ln.r{transform:translate(-100%,-115%)}
.xr-marks .bd{color:#f5f5f7;font-weight:600;transform:translateX(-50%)}
.xr-marks .ml{font-weight:600;color:#fff;transform:translate(-50%,-135%)}
.xr-marks .ml.l{transform:translate(-100%,-135%)}.xr-marks .ml.b{transform:translate(-50%,50%)}
.xr-marks .dot{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:#fff;border:2px solid #1c1c1e}
@keyframes xr-in{from{opacity:0}to{opacity:1}}
.xr-xs{position:relative;flex:none;height:18px;margin-top:3px}
.xr-xs span{position:absolute;transform:translateX(-50%);font-size:.72rem;line-height:1.3;color:#aeaeb2;font-variant-numeric:tabular-nums;white-space:nowrap}
.xr-live{flex:none;min-height:50px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;margin-top:6px}
.xr-live div{min-width:0;padding:7px 6px 7px 8px;border-radius:10px;background:#2c2c2e}
.xr-live span{display:block;font-size:.72rem;line-height:1.25;color:#aeaeb2;white-space:nowrap}
.xr-live b{display:block;font-size:.88rem;font-weight:600;line-height:1.3;color:#f5f5f7;font-variant-numeric:tabular-nums;white-space:nowrap}
.xr-fix{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;gap:4px;list-style:none;margin:0;padding:0;opacity:0;visibility:hidden;transition:opacity .3s ease}
.xr-fix li{flex:1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;border-radius:12px;background:#2c2c2e}
.xr-fix li div:last-child{text-align:right;flex:none}
.xr-fix span{display:block;font-size:.76rem;line-height:1.3;color:#aeaeb2}
.xr-fix b{display:block;font-size:.92rem;font-weight:600;line-height:1.3;color:#f5f5f7}
.xr-fix .au:before,.xr-fix .al:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#34c759;vertical-align:1px}
.xr-fix .al:before{background:#64b5ff}
[data-b="6"] .xr-chart{opacity:0;visibility:hidden}
[data-b="6"] .xr-fix{opacity:1;visibility:visible}
.xr-found{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:8px 0 0;padding:6px 4px 0;border-top:1px solid #3a3a3c;font-size:.84rem;color:#d1d1d6}
.xr-found b{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;color:#ff9f95;font-variant-numeric:tabular-nums}
.xr-steps{position:relative}
.xr-steps:before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:rgba(0,0,0,.1)}
.xr-steps article{position:relative;display:grid;grid-template-columns:11px minmax(0,1fr);gap:16px;padding-bottom:2rem}
.xr-steps article>i{width:11px;height:11px;margin-top:5px;border-radius:50%;background:#c7c7cc;box-shadow:0 0 0 4px #fff;transition:background .3s ease}
.xr-k{display:block;font-size:.84rem;font-weight:500;line-height:1.4;color:#6e6e73;transition:color .3s ease}
.xr-k b{font-weight:700}
.xr-steps h3{margin:.2rem 0 0;font-size:1.16rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;color:#1d1d1f;transition:color .3s ease}
.xr-steps p{margin:.35rem 0 0;font-size:.98rem;line-height:1.5;color:#6e6e73;transition:color .3s ease}
.xr-steps .button{margin-top:1rem}
.xr-steps.is-synced h3{color:#6e6e73}
.xr-steps article.is-live>i{background:#0071e3}
.xr-steps article.is-live h3{color:#000}
.xr-steps article.is-live p{color:#424245}
.xr-steps article.is-live .xr-k b{color:#c9140a}
.xr-end{border-radius:20px;background:#f5f5f7}
.xr-steps article.xr-end{grid-template-columns:minmax(0,1fr);padding:1.2rem 1.3rem 1.3rem}.xr-end>i{display:none}
/* r90 end-hold, kept: the month-end card and the stage stay locked while the answer is read */
@media(min-width:1101px){.xr-steps article:not(.xr-end){min-height:40vh}}
@media(min-width:1101px) and (min-height:640px){#problemTimeline{overflow:clip}#problemTimeline:after{content:"";display:block;height:50vh}.xr-steps article.xr-end{position:sticky;top:var(--hold-top,40vh);z-index:3}.xr-end:after{content:"";position:absolute;left:-2px;right:-2px;top:100%;height:50vh;background:#fff}}
@media(max-width:1100px){.xr{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:2.5rem}.xr-stage{top:56px;z-index:5;height:440px;box-shadow:0 10px 30px rgba(21,36,54,.14)}.xr-steps article:not(.xr-end){min-height:36vh}.xr-steps{max-width:620px}.xr-meta{display:none}.xr-bh{margin-bottom:6px}}
@media(max-width:1100px) and (max-height:620px){.xr-stage{position:relative;top:0}}
@media(max-width:700px){
.xr-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:4px;height:416px;padding:6px;border-radius:20px}
.xr-bill{padding:8px 10px 6px;border-radius:14px}
.xr-bh{padding-bottom:4px;border-bottom-width:1px}.xr-bh b{display:inline;font-size:.8rem}.xr-bh span{display:inline;margin-left:6px;font-size:.72rem}.xr-bh div:last-child span{display:none}
.xr-meta,.xr-total,.xr-rows li:not(.leak){display:none}
.xr-rows{flex:none;margin:0 -4px;border-top:0}
.xr-rows li{padding:2px 4px;grid-template-columns:minmax(0,1fr) auto auto}
.xr-rows span,.xr-rows b{font-size:.78rem}.xr-rows b{grid-column:3;grid-row:1}
.xr-rows em{grid-column:2;grid-row:1;min-height:0}.xr-rows em u:first-child{display:none}
.xr-rows li:not(:nth-child(3)) em{display:none}
.xr-scope{padding:4px 6px 2px}
.xr-top{font-size:.72rem}.xr-eye{display:none}
.xr-top{position:absolute;right:12px}
.xr-title{margin:0 0 4px;padding-right:96px;font-size:.84rem}
.xr-live div{padding:3px 4px 3px 6px;border-radius:8px}.xr-live b{font-size:.8rem}
.xr-xs{height:15px;margin-top:1px}
.xr-found{margin-top:4px;padding-top:2px;font-size:.76rem}.xr-found b{font-size:.96rem}
.xr-fix{gap:3px}.xr-fix li{padding:1px 8px;border-radius:8px}.xr-fix b{font-size:.78rem}.xr-fix span{font-size:.72rem}
.xr-fix li div:first-child span{display:none}
.xr-steps article:not(.xr-end){min-height:34vh}
}
/* r45: section 02 staggered reveal (Apple-style fade up, 70ms per card); .rv is set only when IntersectionObserver exists */
@media(prefers-reduced-motion:no-preference){
.rv .benefits .reveal{opacity:0;transform:translateY(28px);transition:none}
.rv .benefits .reveal.visible{opacity:1;transform:none;transition:opacity .7s ease calc(var(--i,0) * 70ms),transform .9s cubic-bezier(.2,.7,.2,1) calc(var(--i,0) * 70ms),box-shadow .28s ease}
.rv .benefits .benefit-card.visible:hover{transform:translateY(-5px);transition-delay:0s}
.rv .benefits .benefit-card.visible.rv-done{transition:transform .28s ease,box-shadow .28s ease}
.benefit-grid .benefit-card:nth-child(2){--i:1}.benefit-grid .benefit-card:nth-child(3){--i:2}.benefit-grid .benefit-card:nth-child(4){--i:3}.benefit-grid .benefit-card:nth-child(5){--i:4}.benefit-grid .benefit-card:nth-child(6){--i:5}.benefit-grid .benefit-card:nth-child(7){--i:6}
}

/* r46: section 03 alert story; r92 Machines; r215 event log, real axes, automatic control */
.alert-story{--as-b:#0071e3;--as-r:#ff3b30;--as-g:#248a3d;--as-mut:#6e6e73;--as-strong:#1d1d1f;--as-line:rgba(0,0,0,.08);--tc:1.5s}
.as-mode{display:inline-flex;background:#e8e8ed;border-radius:999px;padding:3px;margin:0 0 12px}
.as-mode button{font:inherit;font-size:.86rem;font-weight:600;color:var(--as-mut);background:none;border:0;border-radius:999px;padding:7px 18px;cursor:pointer}
.as-mode button.on{background:#fff;color:var(--as-strong);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.as-mode button:focus-visible{outline:2px solid var(--as-b);outline-offset:2px}
.as-tabs{position:relative;display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.as-tab{position:relative;overflow:hidden;flex:none;font:inherit;font-size:.86rem;font-weight:600;color:var(--as-mut);background:#fff;border:1px solid var(--as-line);border-radius:999px;padding:8px 16px;cursor:pointer}
.as-tab.on{color:var(--as-strong);border-color:rgba(0,0,0,.18)}
.as-tab:focus-visible{outline:2px solid var(--as-b);outline-offset:-2px}
.as-tab i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--as-strong);transform:scaleX(0);transform-origin:left}
.as-tab.on.run i{animation:asWipe var(--dur,9s) linear both}
.as-au{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#34c759;vertical-align:1px}
.as-panel{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px}
.as-chart{display:flex;flex-direction:column;min-width:0;background:#fff;border-radius:28px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 40px rgba(0,0,0,.06);padding:20px 26px 16px}
.as-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.85rem;color:var(--as-mut);margin-bottom:8px}
.as-top b{color:var(--as-strong);font-size:1rem}
.as-stage{position:relative;margin-left:34px}
.as-chart svg{display:block;width:100%;height:clamp(290px,calc(100vh - 420px),340px);overflow:visible}
.as-title,.as-span,.as-x,.as-stage,.as-ev{transition:opacity .25s}.as-panel.fade .as-title,.as-panel.fade .as-span,.as-panel.fade .as-x,.as-panel.fade .as-stage,.as-panel.fade .as-ev{opacity:0}
.as-x{display:flex;justify-content:space-between;margin:8px 0 0 34px;font-size:.75rem;color:var(--as-mut);font-variant-numeric:tabular-nums}
.as-y{position:absolute;right:100%;margin-right:8px;transform:translateY(-50%);font-size:.75rem;line-height:1;color:var(--as-mut);font-variant-numeric:tabular-nums}
.as-grid line{stroke:#e5e5ea;stroke-width:1}
.as-cd{stroke:var(--as-r);stroke-width:1.5;stroke-dasharray:6 6;opacity:.7}.as-cd.w{stroke:#c77700}
.as-grid line,.as-cd,.as-line,.as-over,.as-ghost,.as-fix{vector-effect:non-scaling-stroke}
.as-area{fill:url(#as-ag)}
.as-line{fill:none;stroke:var(--as-b);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.as-over{fill:none;stroke:var(--as-r);stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}
.as-overfill{fill:rgba(255,59,48,.12)}
.as-ghost{fill:none;stroke:#8e8e93;stroke-width:2;stroke-dasharray:3 6;stroke-linecap:round}
.as-gap{fill:url(#as-hatch)}
.as-band{fill:#8e8e93;opacity:.13}
.as-zonebg{fill:#8e8e93;opacity:.1}
.as-fix{stroke:#34c759;stroke-width:2;stroke-dasharray:4 5}.as-fix.t{stroke:#c77700}
.as-lab{position:absolute;left:8px;transform:translateY(-130%);font-size:.8rem;font-weight:600;color:#d70015;white-space:nowrap;pointer-events:none}
.as-lab.w{color:#945600}.as-lab.band,.as-lab.gh{color:#6e6e73}.as-lab.zone{color:#5c5c61;transform:translate(-100%,-130%)}.as-lab.act{color:var(--as-g)}.as-lab.act.t{color:#945600}
.as-lab.gap{color:#6e6e73;transform:translate(-50%,-50%)}.as-lab.b{transform:translateY(25%)}.as-lab i{font-style:normal}
.as-clip{transform-box:fill-box;transform-origin:left;transform:scaleX(.3)}
.as-pt{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--as-r);box-shadow:0 0 0 2.5px #fff;opacity:0}
.as-pt.n{background:#8e8e93}
.as-pt::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--as-r)}.as-pt.n::after{border-color:#8e8e93}
.as-log{display:flex;flex-direction:column;min-width:0;background:#1c1c1e;color:#f5f5f7;border-radius:28px;padding:20px 22px}
.as-lh{margin:0 0 14px;font-size:.85rem;font-weight:500;color:#a1a1a6}
.as-ev{flex:1;display:grid;grid-auto-rows:1fr;gap:6px;list-style:none;margin:0;padding:0}
.as-ev li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;min-height:68px;opacity:0;transform:translateY(10px)}
.as-ev li::before{content:"";position:absolute;left:54px;top:5px;width:9px;height:9px;border-radius:50%;background:#8e8e93}
.as-ev li::after{content:"";position:absolute;left:58px;top:19px;bottom:-1px;width:1px;background:#3a3a3c}
.as-ev li:last-child::after{display:none}
.as-ev li.r::before{background:#ff453a}.as-ev li.b::before{background:#2997ff}.as-ev li.g::before{background:#30d158}.as-ev li.y::before{background:#ffd60a}
.as-ev time{font-size:.75rem;line-height:1.5;color:#a1a1a6;font-variant-numeric:tabular-nums}
.as-ev em{display:block;width:max-content;margin-top:3px;padding:0 6px;border-radius:999px;background:#2c2c2e;font-size:.6875rem;font-style:normal;font-weight:600;line-height:1.5;color:#ffd60a}
.as-ev li.g em{background:#123d20;color:#30d158}
.as-ev b{display:block;font-size:.9rem;font-weight:600;line-height:1.3;color:#f5f5f7}
.as-ev span{display:block;margin-top:2px;font-size:.8rem;line-height:1.35;color:#a1a1a6}
.as-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;margin-top:18px}
.as-foot p{flex:1 1 420px;margin:0;font-size:.92rem;line-height:1.5;color:var(--as-mut)}
.as-foot a{color:#0066cc;font-weight:600;white-space:nowrap}
.as-foot ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.as-foot li{padding:5px 12px;border-radius:999px;background:#e8e8ed;font-size:.8rem;font-weight:500;line-height:1.3;color:var(--as-strong)}
.alert-story.play .as-clip{animation:asWipe 3s linear both}
.alert-story.play .as-pt{animation:asFade .2s var(--tc) both}
.alert-story.play .as-pt::after{animation:asPulse 1.6s var(--tc) ease-out infinite}
.alert-story.play .as-ev li{animation:asUp .45s var(--d,0s) cubic-bezier(.2,.7,.2,1) both}
@keyframes asWipe{to{transform:scaleX(1)}}
@keyframes asFade{to{opacity:1}}
@keyframes asUp{to{opacity:1;transform:none}}
@keyframes asPulse{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
@media(max-width:1100px){
  .as-panel{grid-template-columns:minmax(0,1fr)}
  .as-chart svg{height:280px}
  .as-ev{grid-auto-rows:auto;grid-template-columns:1fr 1fr;gap:6px 24px}.as-ev li::after{display:none}
}
@media(max-width:720px){
  .as-tabs{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:none}.as-tabs::-webkit-scrollbar{display:none}
  .as-tab{font-size:.8rem;padding:7px 12px}
  .as-mode button{font-size:.8rem;padding:6px 12px}
  .as-chart{padding:18px 14px 12px;border-radius:24px}.as-chart svg{height:230px}
  .as-stage,.as-x{margin-left:28px}
  .as-top b{font-size:.92rem}
  .as-lab{font-size:.72rem}.as-lab i{display:none}
  .as-ev{grid-template-columns:minmax(0,1fr);gap:6px}.as-ev li::after{display:block}.as-ev li:last-child::after{display:none}
  .as-log{padding:18px 16px;border-radius:24px}
  .as-ev li{min-height:72px}
}
.founder blockquote>p.founder-story{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.6;letter-spacing:-.01em;color:#a1a1a6;max-width:40em;margin-top:1.5rem}.founder blockquote>p:first-child+p.founder-story{margin-top:2.5rem}.founder-label strong{font-weight:600;text-transform:none;font-size:1.05rem;color:#f5f5f7}.founder blockquote footer{flex-direction:row;align-items:center;gap:14px;margin-top:2.5rem}.founder blockquote footer div{display:flex;flex-direction:column}.founder-photo{position:relative;flex:none;align-self:flex-start;width:100%;max-width:260px;aspect-ratio:1/1;margin:0 0 1.75rem;background:#000;border-radius:18px;overflow:hidden}.founder-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:720px){.founder-photo{max-width:200px;margin-bottom:1.25rem}}
.founder-stack{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid #2c2c2e}.founder-stack li{padding:.7rem 0;border-bottom:1px solid #2c2c2e;font-size:.95rem;color:#d1d1d6;display:flex;align-items:center;gap:.6rem}.founder-stack li::before{content:"";width:6px;height:6px;border-radius:50%;background:#64d2ff;flex:none}.founder-label em{font-style:normal;font-size:.8rem;color:#86868b;margin-top:.4rem}.founder blockquote>p.founder-close{color:#f5f5f7;font-weight:500}
.founder-story em{font-style:italic;color:#f5f5f7}.founder-label small{margin-top:2rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#86868b}.founder-label small+.founder-stack{margin-top:.6rem}.founder-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:2rem;background:#2c2c2e;border:1px solid #2c2c2e;border-radius:18px;overflow:hidden;max-width:52rem}.founder-benefits>div{background:#0b0b0d;padding:1.25rem 1.4rem}.founder-benefits h4{margin:0 0 .35rem;font-size:1rem;font-weight:600;color:#f5f5f7;letter-spacing:-.01em}.founder-benefits p{margin:0;font-size:.92rem;line-height:1.5;color:#a1a1a6}.founder blockquote>.founder-benefits+p.founder-close{margin-top:2.25rem}
@media(max-width:720px){.founder-benefits{grid-template-columns:1fr}}
.founder-skills li{align-items:flex-start;line-height:1.45}.founder-skills li::before{margin-top:calc(.725em - 3px)}
.wa-float{display:none}
@media(max-width:720px){.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:90;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 8px 24px rgba(21,36,54,.28);transition:opacity .25s,transform .25s}.wa-float svg{width:30px;height:30px}.wa-float.is-hidden{opacity:0;transform:translateY(12px) scale(.9);pointer-events:none}}
/* r86: hero footnote marker (note lives in the footer) + "Grows with your plant" band */
.hero-facts sup.fn{font-size:.5em;font-weight:600;margin-left:.08em;vertical-align:super;line-height:0}.hero-facts sup.fn a{color:#86868b;text-decoration:none}.hero-facts sup.fn a:hover{color:var(--blue)}
.legal+.legal{margin-top:.6rem}
.grow-band{grid-column:1/-1;border-radius:28px;background:#f5f5f7;padding:2.2rem 2.4rem 2rem}
.grow-band h3{margin:0 0 1.6rem;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.12;letter-spacing:-.035em;color:var(--ink-strong)}
.grow-band h3 em{font-style:normal;color:#86868b}
.grow-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:none}
.grow-steps li{position:relative;background:#fff;border-radius:20px;padding:1.3rem 1.4rem 1.4rem;min-width:0}
.grow-steps li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-.78rem;width:.55rem;height:.55rem;border-top:2px solid #86868b;border-right:2px solid #86868b;transform:translateY(-50%) rotate(45deg);z-index:1}
.grow-steps span{display:block;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--blue)}
.grow-steps strong{display:block;margin:.35rem 0 .45rem;font-size:1.2rem;letter-spacing:-.02em;color:var(--ink-strong)}
.grow-steps p{margin:0;font-size:.95rem;line-height:1.5;color:#6e6e73}
.grow-note{margin:1.3rem 0 0;font-size:1rem;color:#3f5264;font-weight:600}
@media(min-width:721px) and (max-width:1100px){.grow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.grow-steps li:nth-child(2)::after{display:none}}
@media(max-width:720px){
  .grow-band{padding:1.6rem 1.2rem 1.4rem;border-radius:22px}
  .grow-steps{grid-template-columns:1fr;gap:.9rem}
  .grow-steps li:not(:last-child)::after{top:auto;right:auto;left:50%;bottom:-.7rem;transform:translateX(-50%) rotate(135deg)}
}

/* r107: guide pages (md-penalty / power-factor-penalty / kvah-billing) */
.main-nav a[aria-current=page]{color:#1d1d1f;font-weight:600}
.guide{padding:116px 0 104px;background:#fff}
.guide-wrap{max-width:780px}
.crumbs{font-size:.8rem;color:#6e6e73;margin:0 0 2.2rem}.crumbs a{color:#6e6e73}.crumbs a:hover{color:var(--blue)}.crumbs span{margin:0 .45rem;color:#a1a1a6}
.guide-head .eyebrow{justify-content:flex-start}
.guide-head h1{font-size:clamp(2.6rem,5.6vw,4.3rem);line-height:1.04;letter-spacing:-.05em;margin:1rem 0 1.3rem;color:var(--ink-strong)}
.guide-head h1 em{color:#86868b}
.guide-lede{font-size:clamp(1.15rem,1.8vw,1.38rem);line-height:1.5;color:#6e6e73;letter-spacing:-.02em;margin:0}
.guide-meta{font-size:.8rem;color:#86868b;margin:1.4rem 0 0}
.guide-body{margin-top:3.4rem;font-size:1.0625rem;line-height:1.72;color:#1d1d1f}
.guide-body h2{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.18;letter-spacing:-.035em;color:var(--ink-strong);margin:3.2rem 0 .9rem}
.guide-body h2:first-child{margin-top:0}
.guide-body p{margin:0 0 1.1rem}
.guide-body ul,.guide-body ol{padding-left:1.25rem;margin:0 0 1.2rem}.guide-body li{margin:.4rem 0}
.guide-body strong{color:var(--ink-strong);font-weight:600}
.guide-body a{color:var(--blue)}.guide-body a:hover{text-decoration:underline}
.guide-meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.guide-tools{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 1.1rem}
.guide-body .guide-tools a.button-primary{color:#fff;text-decoration:none}
.guide-body .guide-tools .button{cursor:pointer;font-family:inherit}
.guide-body .spec-text{background:#f5f5f7;border-radius:18px;padding:18px 22px;margin:0 0 1.2rem;font-size:.95rem;line-height:1.55}
.guide-body ol.spec-text{padding-left:2.6rem}
.spec-text li{margin:.65rem 0}.spec-text li:first-child{margin-top:0}.spec-text li:last-child{margin-bottom:0}
.guide-key{background:#f5f5f7;border-radius:22px;padding:22px 26px;margin:2rem 0}.guide-key p:last-child{margin:0}
.guide-key b{display:block;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--blue);margin-bottom:.35rem}
.guide-table-wrap{overflow-x:auto;margin:1.4rem 0 .8rem;border:1px solid rgba(0,0,0,.08);border-radius:18px}
.guide-table{width:100%;border-collapse:collapse;font-size:.95rem;font-variant-numeric:tabular-nums}
.guide-table th,.guide-table td{padding:.78rem 1rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.07)}
.guide-table th{font-size:.78rem;font-weight:600;color:#6e6e73;background:#fbfbfd;white-space:nowrap}
.guide-table .n{text-align:right;white-space:nowrap}
.guide-table tr:last-child td{border-bottom:0}
.guide-table tr.total td{font-weight:600;color:var(--ink-strong);background:#f5f9ff}
.guide-fine{font-size:.85rem;line-height:1.55;color:#86868b;margin:0 0 1.6rem}
/* r242: real-bill cards on guide pages, same look as the home page bill (.xr-bill) */
.bill-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px;margin:1.4rem 0 .8rem}
.bc{display:flex;flex-direction:column;min-width:0;padding:16px 16px 14px;border:1px solid #e3e0d8;border-radius:18px;background:#fffdf8;color:#1d1d1f;font-size:1rem;line-height:1.3;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.bc-h{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:2px solid #1d1d1f}
.bc-h div:last-child{text-align:right}
.bc-h b{display:block;font-size:.95rem;font-weight:700;letter-spacing:-.01em;line-height:1.25}
.bc-h span{display:block;font-size:.75rem;line-height:1.3;color:#6e6e73}
.bill-cards .bc-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:10px 0 12px;padding:0}
.bc-meta dt{font-size:.72rem;line-height:1.25;color:#6e6e73}
.bc-meta dd{margin:0;font-size:.84rem;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}
.bill-cards .bc-leak{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:auto 0 0;padding-top:8px;border-top:2px solid #1d1d1f}
.bc-leak span{font-size:.88rem;font-weight:700;line-height:1.25}
.bc-leak em{display:block;font-style:normal;font-size:.72rem;font-weight:400;line-height:1.3;color:#6e6e73}
.bc-leak b{flex:none;font-size:.9rem;font-weight:700;color:#c9140a;text-align:right;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.02em}
.guide-faq{margin-top:4.2rem}
.guide-faq h2,.guide-more h2{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.18;letter-spacing:-.035em;color:var(--ink-strong);margin:0 0 1.2rem}
.guide .faq-list{background:#f5f5f7}
.guide-cta{margin-top:4.2rem;background:linear-gradient(180deg,#f5f9ff,#eaf3ff);border-radius:28px;padding:44px 32px;text-align:center}
.guide-cta h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.04em;color:var(--ink-strong);margin:0 0 .8rem}
.guide-cta p{color:#6e6e73;margin:0 auto 1.6rem;max-width:540px}
.guide-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.guide-cta p.guide-alt{margin:1.2rem auto 0;font-size:.9375rem}.guide-alt a{color:var(--blue);text-decoration:none;font-weight:500}.guide-alt a:hover{text-decoration:underline}.guide-alt span{color:#86868b}
@media(max-width:700px){.guide-alt span{display:none}.guide-alt a{display:block;padding:.3rem 0}}
.guide-more{margin-top:3.6rem}
.guide-more ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.guide-more a{display:block;height:100%;border-radius:18px;background:#f5f5f7;padding:18px 20px;font-weight:600;color:var(--ink-strong);transition:background .2s ease}
.guide-more a span{display:block;font-size:.9rem;font-weight:400;line-height:1.45;color:#6e6e73;margin-top:.3rem}
.guide-more a:hover{background:#eaf3ff}
@media(max-width:720px){
  .guide{padding:84px 0 72px}.guide-body{font-size:1rem}.guide-key{padding:18px 20px}
  .guide-table th,.guide-table td{padding:.72rem .7rem}.guide-table th{white-space:normal}
  .guide-cta{padding:34px 20px;border-radius:24px}.guide-actions .button{width:100%}
}
@media(max-width:380px){.guide-table{font-size:.86rem}.guide-table th,.guide-table td{padding:.66rem .45rem}}

/* r114: bill calculators (power-factor-penalty-calculator / md-penalty-calculator) */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start;background:#f5f5f7;border-radius:28px;padding:24px;margin:3rem 0 .9rem}
.calc-form{display:grid;gap:14px;min-width:0}
.calc-field{display:flex;flex-direction:column;gap:.4rem;min-width:0;font-size:.88rem;font-weight:600;line-height:1.3;color:var(--ink-strong)}
.calc-field small{font-size:.82rem;font-weight:400;color:#6e6e73}
.calc-field[hidden],.calc-rows>div[hidden]{display:none}
.calc-field input:not([type=radio]){box-sizing:border-box;width:100%;height:48px;border:1px solid rgba(0,0,0,.14);border-radius:12px;background:#fff;padding:0 14px;font:inherit;font-size:1rem;font-weight:500;color:#1d1d1f;font-variant-numeric:tabular-nums}
.calc-field input:not([type=radio]):focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,111,213,.2)}
.calc-field input[aria-invalid=true]{border-color:#d70015;box-shadow:0 0 0 3px rgba(215,0,21,.14)}
.calc-seg>div{display:flex;gap:3px;padding:3px;border-radius:12px;background:#e3e3e8}
.calc-seg label{position:relative;flex:1;min-width:0;cursor:pointer}
.calc-seg-wrap>div{flex-wrap:wrap}.calc-seg-wrap label{flex:1 1 40%}
.calc[hidden],.guide-fine[hidden]{display:none}
/* r142: one bill calculator - HT/LT and state pickers, tariff tag on each calculator */
.calc-pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:14px 20px;align-items:start;margin:3rem 0 0}
.calc-pick~.calc{margin-top:1rem}
.calc-state label{flex:1 1 30%}
.calc-tag{grid-column:1/-1;margin:0 0 -4px;font-size:.82rem;font-weight:600;line-height:1.35;color:#6e6e73}
.calc-seg label input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.calc-seg label span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:.3rem .6rem;border-radius:9px;text-align:center;font-size:.88rem;font-weight:500;line-height:1.25;color:#1d1d1f}
.calc-seg input:checked+span{background:#fff;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.calc-seg input:focus-visible+span{outline:2px solid var(--blue);outline-offset:1px}
.calc-out{position:sticky;top:72px;min-width:0;background:#fff;border-radius:22px;padding:22px}
.calc-big{margin:0 0 1rem;font-size:.9rem;font-weight:600;color:#6e6e73}
.calc-big>b{display:block;margin:.3rem 0 .35rem;font-size:clamp(2.1rem,4.2vw,2.75rem);line-height:1.1;letter-spacing:-.04em;color:var(--ink-strong);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.calc-big>span{display:block;font-weight:400}.calc-big>span b{font-weight:600;color:var(--ink-strong)}
.calc-rows{margin:0;font-size:.92rem}
.calc-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:.6rem 0;border-top:1px solid rgba(0,0,0,.07)}
.calc-rows dt{flex:1 1 0;min-width:0;color:#6e6e73}
.calc-rows dd{flex:0 1 auto;max-width:72%;margin:0;font-weight:600;color:var(--ink-strong);text-align:right;font-variant-numeric:tabular-nums}
.calc-note{margin:1rem 0 0;padding:.7rem .9rem;border-radius:12px;background:#fff6e8;font-size:.88rem;line-height:1.45;color:#9a4a00}
.calc-note:empty{display:none}
@media(max-width:720px){.calc{grid-template-columns:1fr;gap:16px;padding:16px;border-radius:24px}.calc-out{position:static;padding:18px}.calc-pick{grid-template-columns:1fr}.calc-state label{flex-basis:40%}}
/* r153: /kvar-calculator - job cards, beer-mug picture, APFC step lights, share buttons; small calculators */
.kv-jobs{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}
.kv-jobs legend{padding:0;margin:0 0 .5rem;font-size:.88rem;font-weight:600;color:var(--ink-strong)}
.kv-job{position:relative;display:block;cursor:pointer}
.kv-job input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.kv-job>span{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:12px;align-items:center;padding:12px 14px;border:1.5px solid transparent;border-radius:14px;background:#fff;transition:border-color .2s ease,background .2s ease}
.kv-job svg{grid-row:span 2;width:26px;height:26px;fill:none;stroke:#86868b;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.kv-job b{font-size:.95rem;line-height:1.3;color:var(--ink-strong)}
.kv-job small{font-size:.8rem;line-height:1.35;color:#6e6e73}
.kv-job:hover>span{border-color:rgba(0,0,0,.12)}
.kv-job input:checked+span{border-color:var(--blue);background:#f5f9ff}
.kv-job input:checked+span svg{stroke:var(--blue)}
.kv-job input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.kv-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.kv-two[hidden],.kv-acts[hidden],.kv-steps[hidden],.kv-pro[hidden]{display:none}
.kv-more>summary,.kv-pro>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;font-size:.92rem;font-weight:600;color:var(--blue)}
.kv-more>summary::-webkit-details-marker,.kv-pro>summary::-webkit-details-marker{display:none}
.kv-more>summary small{font-weight:400;color:#6e6e73}
.kv-more>summary::after,.kv-pro>summary::after{content:"";width:7px;height:7px;margin-left:2px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg);transition:transform .2s ease}
.kv-more[open]>summary::after,.kv-pro[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.kv-more>summary:focus-visible,.kv-pro>summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:8px}
.kv-more-in{display:grid;gap:14px;padding:4px 0 2px}
.kv-mugs{margin:0 0 1rem}
.kv-mugs svg{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;font-family:inherit;overflow:visible}
.kv-beer{fill:#f2b33d;transition:y .35s ease,height .35s ease}
.kv-foam{fill:#fbecc8;stroke:#c9a55a;stroke-width:1;transition:y .35s ease,height .35s ease}
.kv-glass{fill:none;stroke:#1d1d1f;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.kv-was{stroke:#86868b;stroke-width:1.5;stroke-dasharray:4 4}
.kv-mn{font-size:13px;font-weight:600;text-anchor:middle;fill:#6e6e73}
.kv-mk{font-size:14px;font-weight:700;text-anchor:middle;fill:#3d2a00;transition:y .35s ease}
.kv-ma{font-size:14px;font-weight:600;text-anchor:middle;fill:var(--ink-strong)}
.kv-mugs figcaption{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;margin-top:.5rem;font-size:.78rem;line-height:1.3;color:#6e6e73}
.kv-mugs figcaption>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.kv-sw{display:inline-block;flex:none;width:11px;height:11px;border-radius:3px}
.kv-sw-beer{background:#f2b33d}.kv-sw-foam{background:#fbecc8;box-shadow:inset 0 0 0 1px #c9a55a}.kv-sw-mug{box-shadow:inset 0 0 0 2px #1d1d1f}
.kv-lines{list-style:none;margin:0;padding:0;font-size:.95rem;line-height:1.5;color:#1d1d1f}
.kv-lines li{padding:.6rem 0;border-top:1px solid rgba(0,0,0,.07)}
.kv-lines b{font-weight:600;color:var(--ink-strong)}
.kv-lines a{color:var(--blue)}.kv-lines a:hover{text-decoration:underline}
.kv-steps{margin:1.1rem 0 0;padding:16px;border-radius:16px;background:#f5f5f7}
.kv-h{margin:0 0 .6rem;font-size:.8rem;font-weight:600;color:#6e6e73}
.kv-lights{display:flex;flex-wrap:wrap;gap:6px}
.kv-led{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:30px;padding:0 8px;border-radius:8px;background:#e3e3e8;font-size:.82rem;font-weight:600;color:#86868b;font-variant-numeric:tabular-nums;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.kv-led.on{background:#248a3d;color:#fff;box-shadow:0 0 0 3px rgba(52,199,89,.25)}
.kv-load{display:flex;align-items:center;gap:12px;margin:.9rem 0 .5rem;font-size:.85rem;font-weight:600;color:var(--ink-strong)}
.kv-load>span{white-space:nowrap}.kv-load small{font-weight:400;color:#6e6e73}
.kv-load input{flex:1;min-width:0;height:28px;margin:0;accent-color:var(--blue);cursor:pointer}
.kv-now{margin:0;font-size:.9rem;line-height:1.45;color:#424245;font-variant-numeric:tabular-nums}
.kv-now b{font-weight:600;color:var(--ink-strong)}
.kv-fix{margin:.5rem 0 0;font-size:.85rem;line-height:1.45;color:#9a4a00}
.kv-fix:empty{display:none}
.kv-acts{display:flex;flex-wrap:wrap;gap:8px;margin:1.1rem 0 0}
.kv-acts button{display:inline-flex;flex:1 1 auto;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:980px;background:#e8e8ed;font:inherit;font-size:.9rem;font-weight:600;color:#1d1d1f;cursor:pointer;transition:background .2s ease}
.kv-acts button:hover{background:#dcdce1}
.kv-acts button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.kv-acts .kv-wa{flex-basis:100%;background:#1f8a4c;color:#fff}
.kv-acts .kv-wa:hover{background:#18763f}
.kv-wa svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.kv-pro{margin:1rem 0 0;border-top:1px solid rgba(0,0,0,.07);padding-top:.3rem}
.kv-pro .calc-rows dt{flex:1 1 45%}
.kv-pro .calc-rows dd{flex:1 1 55%;white-space:normal;text-align:right}
.kv-pro small{font-size:.78rem;font-weight:400;color:#6e6e73}
.calc-mini{margin-top:1.4rem}
.calc-fine-out{margin:0;font-size:.85rem;line-height:1.45;color:#6e6e73}
.calc-link{margin:1rem 0 0;font-size:.92rem;font-weight:600}
.calc-link a{color:var(--blue)}.calc-link a:hover{text-decoration:underline}
@media(max-width:720px){.kv .calc-out{order:0}.kv-mugs svg{max-width:320px}}
@media(prefers-reduced-motion:reduce){.kv-beer,.kv-foam,.kv-mk,.kv-led,.kv-job>span{transition:none}}
/* r117: bill upload form on /bill-check (reuses .lead-form) */
.bill-form{max-width:680px;margin:0 auto 1.4rem;text-align:left}
.bill-form[hidden]{display:none}
.bill-files,.bill-list,.bill-consent,.bill-ts{grid-column:1/-1}
.bill-form input[type=file]{height:auto;padding:.75rem .85rem;font-size:.94rem;cursor:pointer}
.guide-cta .bill-form p{margin:0;max-width:none}
.guide-cta .bill-form .form-heading>p{color:var(--blue)}
.guide-cta .bill-form .bill-list{font-size:.875rem;color:#6e6e73;margin-top:-6px}
.bill-list:empty,.bill-status:empty{display:none}
.bill-consent{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:.9rem;line-height:1.45;color:#34495c}
.bill-consent input{width:20px;height:20px!important;margin:1px 0 0;flex:none;accent-color:var(--blue)}
.bill-consent a{color:var(--blue);text-decoration:underline}
.bill-ts:empty{display:none}
.guide-cta .bill-form .bill-status{color:#1d6b2f;font-weight:600}
.guide-cta .bill-form .bill-status.bad{color:#d70015}
.bill-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:720px){.bill-files,.bill-list,.bill-consent,.bill-ts{grid-column:auto}.bill-form{grid-template-columns:minmax(0,1fr);padding:22px 18px}.bill-form input:not([type=checkbox]){min-width:0;width:100%}}
/* r140: Apple-style multi-column footer */
.site-footer{padding:20px 0 24px;font-size:.75rem;line-height:1.34;color:#6e6e73}
.sf-notes{border-bottom:1px solid #d2d2d7;padding:0 0 12px}.sf-notes .legal{max-width:none;margin:0 0 .8em;font-size:.75rem;line-height:1.34;color:#6e6e73}
.sf-crumb{display:flex;align-items:center;gap:10px;padding:16px 0 4px;color:#1d1d1f}.sf-crumb a{display:inline-flex;opacity:.85}.sf-crumb a:hover{opacity:1}.sf-crumb span{color:#86868b}
.sf-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 20px;padding:18px 0 4px}
.sf-group{margin:0 0 24px}.sf-h{margin:0 0 .8em;font-size:.75rem;line-height:1.34;font-weight:600;letter-spacing:0;color:#1d1d1f}
.sf-group ul{list-style:none;margin:0;padding:0}.sf-group li{margin:0 0 .8em}
.sf-group a,.sf-legal-links a{color:#424245;text-decoration:none}.sf-group a:hover,.sf-legal-links a:hover,.sf-group a[aria-current]{text-decoration:underline}
.sf-tariffs{grid-column:1/-1;margin:0;padding:2px 0 14px}.sf-tariffs ul{columns:5;column-gap:20px}.sf-tariffs li{break-inside:avoid}
.sf-more{margin:0;padding:6px 0 10px;color:#6e6e73}.sf-more a{color:#0066cc;text-decoration:underline}
.sf-bottom{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 30px;border-top:1px solid #d2d2d7;padding-top:10px}
.sf-bottom p{margin:0;font-size:.75rem}.sf-legal-links{display:flex;flex-wrap:wrap}.sf-legal-links a{padding:0 10px;border-left:1px solid #d2d2d7}.sf-legal-links a:first-child{padding-left:0;border-left:0}
.sf-loc{margin-left:auto!important;color:#1d1d1f}
@media(max-width:900px){.sf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sf-tariffs ul{columns:3}}
@media(max-width:600px){.sf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.sf-tariffs ul{column-gap:12px}.sf-bottom{flex-direction:column;gap:8px}.sf-loc{margin-left:0!important}}
.sf-crumb a:not(:first-child){color:#424245;text-decoration:none}.sf-crumb a:not(:first-child):hover{text-decoration:underline}

/* r143: one site header on every page (markup from tools/site_header.py) - Apple-style flyout nav */
.main-nav{gap:0;align-self:stretch}
.nav-item{display:flex;align-items:center;height:100%}
.nav-top{height:100%;padding:0 .9rem;border:0;background:none;font:inherit;font-size:.8rem;font-weight:500;letter-spacing:-.01em;color:#424245;white-space:nowrap;cursor:pointer;transition:color .2s ease}
.nav-top:hover,.nav-item.is-open>.nav-top,.nav-item:has(a[aria-current=page])>.nav-top{color:#1d1d1f}
.nav-top:focus-visible,.nav-back:focus-visible{outline:2px solid var(--blue);outline-offset:-8px;border-radius:10px}
.nav-fly{position:absolute;top:100%;left:0;right:0;padding:38px max(22px,calc((100vw - var(--max))/2)) 54px;background:#fafafc;border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 34px 40px -34px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s linear .32s}
.nav-item.is-open>.nav-fly,html:not(.navjs) .nav-item:hover>.nav-fly,html:not(.navjs) .nav-item:focus-within>.nav-fly{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s}
.nav-fly-in{display:flex;gap:clamp(44px,6vw,92px)}
.nav-item.is-open .nf-col{animation:nfIn .4s cubic-bezier(.2,.8,.2,1) both}
.nav-item.is-open .nf-col:nth-of-type(2){animation-delay:.04s}.nav-item.is-open .nf-col:nth-of-type(3){animation-delay:.08s}
@keyframes nfIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.nf-h{margin:0 0 .85rem;font-size:.75rem;font-weight:400;letter-spacing:0;color:#6e6e73}
.nf-col ul{list-style:none;margin:0;padding:0}
.main-nav .nf-col a{display:block;font-size:.8rem;font-weight:500;line-height:1.35;letter-spacing:-.005em;color:#333336;padding:.3rem 0;white-space:normal}
.main-nav .nf-big a{font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:#1d1d1f;padding:.18rem 0}
@media(min-width:1101px){.nf-states ul{columns:3;column-gap:clamp(36px,4vw,64px)}.nf-states li{break-inside:avoid}}
@media(hover:hover){.main-nav .nf-col a:hover{color:var(--blue)}}
.main-nav .nf-col a[aria-current=page]{color:var(--blue)}
.site-header.fly{background:#fafafc}
.nav-scrim{position:fixed;inset:0;z-index:99;background:rgba(232,232,237,.4);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.nav-scrim.on{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s}
.nav-back,.main-nav .nav-m-cta{display:none}
.menu-button span{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.menu-button[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
@media(max-width:1100px){
  .main-nav,.main-nav.open{position:absolute;top:100%;left:0;right:0;display:block;height:calc(100vh - 52px);height:calc(100dvh - 52px);padding:18px max(28px,calc((100vw - 640px)/2)) 48px;background:#fafafc;border:0;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s linear .25s}
  .main-nav.open{opacity:1;visibility:visible;transition:opacity .25s ease,visibility 0s}
  html.nav-lock{overflow:hidden}
  .nav-scrim{display:none}
  .nav-item{display:block;height:auto}
  .nav-top{display:flex;align-items:center;justify-content:space-between;width:100%;height:auto;padding:.5rem 0;font-size:1.75rem;font-weight:600;letter-spacing:-.01em;color:#1d1d1f;text-align:left}
  .nav-top::after{content:"";width:.34em;height:.34em;margin-right:.25em;border-top:2px solid #86868b;border-right:2px solid #86868b;transform:rotate(45deg)}
  .main-nav.open>.nav-item,.main-nav.open>.nav-m-cta{animation:nfIn .4s cubic-bezier(.2,.8,.2,1) both}
  .main-nav.open>.nav-item:nth-child(2){animation-delay:.03s}.main-nav.open>.nav-item:nth-child(3){animation-delay:.06s}.main-nav.open>.nav-item:nth-child(4){animation-delay:.09s}.main-nav.open>.nav-item:nth-child(5){animation-delay:.12s}.main-nav.open>.nav-item:nth-child(6){animation-delay:.15s}.main-nav.open>.nav-m-cta{animation-delay:.18s}
  .nav-fly,.nav-item.is-open>.nav-fly{position:static;display:none;padding:0;background:none;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}
  .main-nav.sub>.nav-item:not(.is-open),.main-nav.sub>.nav-m-cta,.main-nav.sub .nav-item.is-open>.nav-top{display:none}
  .nav-item.is-open>.nav-fly{display:block;animation:nfSlide .36s cubic-bezier(.2,.8,.2,1) both}
  @keyframes nfSlide{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
  .nav-item.is-open .nf-col{animation:none}
  .nav-fly-in{display:block}
  .nav-back{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 1.3rem;padding:.35rem 0;border:0;background:none;font:inherit;font-size:.9rem;color:#6e6e73;cursor:pointer}
  .nav-back::before{content:"";width:.5em;height:.5em;border-bottom:2px solid currentColor;border-left:2px solid currentColor;transform:rotate(45deg)}
  .nf-col{margin:0 0 1.9rem}
  .main-nav .nf-big a{font-size:1.75rem;padding:.3rem 0}
  .main-nav .nf-col a{font-size:1rem;padding:.5rem 0}
}
@media(max-width:720px){
  .main-nav,.main-nav.open{height:calc(100vh - 48px);height:calc(100dvh - 48px);padding:14px 28px 40px}
  .main-nav .nav-m-cta{display:inline-flex;align-items:center;min-height:44px;margin-top:1.6rem;padding:.7rem 1.4rem;border-radius:999px;background:var(--blue);color:#fff;font-size:1.0625rem;font-weight:400}
  .main-nav .nav-m-cta:hover{color:#fff;background:var(--blue-dark)}
}
@media(prefers-reduced-motion:reduce){
  .nav-fly,.nav-item.is-open>.nav-fly,.nav-scrim,.main-nav,.menu-button span{transition:none!important}
  .nav-item .nf-col,.main-nav>.nav-item,.main-nav>.nav-m-cta,.nav-item.is-open>.nav-fly{animation:none!important}
}

/* r145: r143 type scale removed on user request - pre-r143 font settings (styles.css + tracking.css) back */

/* r143: Apple pill pair - filled primary, outlined secondary, no arrows */
.button{min-height:44px;padding:.72rem 1.4rem}
.button-secondary{border:1px solid var(--blue);background:transparent;color:var(--blue);padding-left:1.4rem;padding-right:1.4rem}
.button-secondary:hover{background:var(--blue);border-color:var(--blue);color:#fff;text-decoration:none}

/* r148b: homepage problem router (reuses .guide-more cards) */
.section.router{padding:72px 0 8px}
.router .guide-more,.router.guide-more{margin-top:0}
.router h2{margin-bottom:1.4rem}
.router-ind{margin:1.2rem 0 0;font-weight:600}
.router .guide-more ul{grid-template-columns:repeat(3,1fr)}
.router-ind a,.router-ind a:hover{display:inline;background:none;padding:0;border-radius:0;color:var(--blue)}
@media (max-width:900px){.router .guide-more ul{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.router .guide-more ul{grid-template-columns:1fr}}
@media (max-width:700px){.section.router{padding:48px 0 0}}
/* r152: /site-map */
.smap-sec{padding-top:2.2rem;border-top:1px solid #d2d2d7;margin-top:2.2rem}.smap-sec:first-child{border-top:0;margin-top:0;padding-top:0}
.smap .smap-sec h2{margin:0 0 1rem;font-size:clamp(1.3rem,2vw,1.6rem)}
.smap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:1.2rem 2rem}
.smap h3{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:#6e6e73;letter-spacing:0}
.smap ul{list-style:none;margin:0;padding:0}.smap li{margin:0 0 .45rem;padding:0}.smap li::before{content:none}

/* r154: MD infographics (/md-penalty) */
.mdv{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.08);padding:28px;margin:40px 0}
.mdv .segs{display:flex;flex-wrap:wrap;gap:8px}
.mdv-top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between;margin-bottom:18px}
.mdv-eye{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0071e3;margin:0 0 4px}
.mdv h3{font-size:clamp(22px,3vw,30px);line-height:1.15;letter-spacing:-.02em;margin:0}
.mdv .seg{display:inline-flex;background:#ececf0;border-radius:999px;padding:3px;font-size:13px}
.mdv .seg span{color:#6e6e73;padding:6px 4px 6px 10px;align-self:center}
.mdv .seg button{border:0;background:transparent;font:inherit;font-weight:600;color:#1d1d1f;padding:6px 14px;border-radius:999px;cursor:pointer}
.mdv .seg button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.mdv-body{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:28px;align-items:start}
.mdv-stage{position:relative;min-width:0}
.mdv-stage canvas{display:block;width:100%;touch-action:pan-y}
.mdv-tip{position:absolute;pointer-events:none;background:rgba(29,29,31,.92);color:#fff;font-size:12px;line-height:1.35;padding:6px 9px;border-radius:9px;white-space:nowrap;opacity:0;transition:opacity .12s;transform:translate(-50%,calc(-100% - 10px))}
.mdv-tip b{font-variant-numeric:tabular-nums}
.mdv-cap{min-height:270px;display:flex;flex-direction:column}
.mdv-cap .in{transition:opacity .25s,transform .25s}
.mdv-cap .in.fade{opacity:0;transform:translateY(6px)}
.mdv .big{font-size:clamp(48px,6.4vw,72px);font-weight:700;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums;margin:2px 0 4px}
.mdv .big small{font-size:.32em;font-weight:600;letter-spacing:0;color:#6e6e73;margin-left:6px}
.mdv .big.red{color:#ff3b30}
.mdv .big.green{color:#1f9d55}
.mdv-cap h4{font-size:19px;margin:10px 0 6px;letter-spacing:-.01em}
.mdv-cap p{margin:0;color:#424245;font-size:16px}
.mdv .stag{margin-top:16px;align-self:flex-start;border:1.5px solid #0071e3;color:#0071e3;background:#fff;font:inherit;font-size:15px;font-weight:600;padding:9px 18px;border-radius:999px;cursor:pointer}
.mdv .stag[aria-pressed=true]{background:#0071e3;color:#fff}
.mdv .kacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.mdv .kact{border:1.5px solid #0071e3;color:#0071e3;background:#fff;font:inherit;font-size:14px;font-weight:600;padding:8px 16px;border-radius:999px;cursor:pointer}
.mdv .kact[aria-pressed=true]{background:#0071e3;color:#fff}
.mdv .kcta{color:#0071e3;font-weight:600;text-decoration:none;display:inline-block;margin-top:12px}
.mdv-nav{display:flex;align-items:center;gap:10px;margin-top:22px;flex-wrap:wrap}
.mdv .steps{display:flex;gap:6px;flex:1;min-width:0}
.mdv .steps button{flex:1;min-width:0;min-height:44px;border:0;background:#f0f0f3;color:#6e6e73;font:inherit;font-size:13px;font-weight:600;padding:10px 6px;border-radius:12px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}
.mdv .steps button[aria-current=step]{background:#1d1d1f;color:#fff}
.mdv .steps button i{position:absolute;left:0;bottom:0;height:3px;background:#0071e3;width:0}
.mdv .arrow{border:0;background:#f0f0f3;width:44px;height:44px;flex:none;border-radius:50%;font-size:18px;cursor:pointer;color:#1d1d1f}
.mdv .arrow:disabled{opacity:.35;cursor:default}
.mdv .fine{font-size:12.5px;color:#6e6e73;margin:14px 0 0}
.mdv-pin.on{margin:40px 0}.mdv-pin.on>.mdv{position:sticky;margin:0}
/* r169: pinned = scroll-driven story, the page scroll is the play button */
.mdv.scr .play{display:none}
/* r169: short desktop windows (1366x657, 1536x730 laptops) - a tighter figure so it fits and pins */
@media(min-width:821px) and (max-height:820px){
.mdv-pin>.mdv{padding:18px 24px}.mdv-pin>.mdv .mdv-top{margin-bottom:10px}.mdv-pin>.mdv .mdv-cap{min-height:200px}
.mdv-pin>.mdv .pf-ctl{margin-top:10px;padding:9px 14px}.mdv-pin>.mdv .cmp{margin-top:8px}.mdv-pin>.mdv .cmp div{padding:7px 12px}
.mdv-pin>.mdv .mdv-nav{margin-top:12px}.mdv-pin>.mdv .mdv-stage canvas{min-height:200px}
.mdv-pin>.mdv .big{font-size:clamp(44px,4.4vw,60px)}.mdv-pin>.mdv .mdv-cap h4{font-size:17px;margin:6px 0 4px}.mdv-pin>.mdv .mdv-cap p{font-size:15px;line-height:1.5}.mdv-pin>.mdv .stag{margin-top:10px;padding:7px 16px}.mdv-pin>.mdv .kacts{margin-top:10px}.mdv-pin>.mdv .kact{padding:6px 14px}}
@media(max-width:760px){.mdv{padding:20px 16px;border-radius:22px;margin:28px -4px}.mdv-body{grid-template-columns:1fr;gap:16px}.mdv-cap{min-height:0}.mdv .steps button{font-size:12px;padding:9px 4px}.mdv .steps button .lbl{display:none}}
/* r220: stacked figures kept the controls ~500px below the canvas, so reaching them put the canvas off screen:
   the story stops under 60% view and a tap changes a canvas nobody sees. Phone order = canvas, controls, caption, rest. */
@media(max-width:760px){.mdv{display:flex;flex-direction:column}.mdv-body{display:contents}.mdv>.mdv-top{order:1}.mdv-stage{order:2}.mdv>.mdv-nav{order:3;margin-top:12px}.mdv-cap{order:4;margin-top:16px}.mdv>.pf-ctl{order:5}.mdv>.cmp{order:6}.mdv>.fine{order:7}}
.mdv .cmp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}
.mdv .cmp div{background:#f5f5f7;border-radius:14px;padding:10px 12px;border:2px solid transparent;transition:border-color .3s,background .3s;min-width:0}
.mdv .cmp div.on{border-color:#1d1d1f;background:#fff}
.mdv .cmp span{display:block;font-size:12px;color:#6e6e73;font-weight:600;line-height:1.3}
.mdv .cmp b{display:block;font-size:20px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px}
.mdv .cmp em{font-style:normal;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.mdv .cmp .r{color:#ff3b30}
.mdv .cmp .g{color:#1f9d55}
.mdw .mdv-stage canvas{cursor:default}
.mdw .mdv-stage canvas.grab{cursor:grab}
@media(max-width:760px){.mdv .cmp div{padding:8px 9px}.mdv .cmp b{font-size:17px}.mdv .cmp span{font-size:11px}}
.mdv .mdv-eye{margin:0 0 4px}
.mdv h3{color:#1d1d1f}
.mdv-cap p,.mdv .fine{margin-bottom:0}
.mdv-stage canvas{aspect-ratio:5/3;min-height:280px;max-height:470px}
/* breaks out of the 780 px text column: up to 1040 px, 16 px gutters on a phone */
.guide-body .mdv{width:min(1040px,calc(100vw - 48px));margin-left:calc(50% - min(520px,50vw - 24px));margin-right:0}
@media(max-width:760px){.guide-body .mdv{width:calc(100vw - 32px);margin-left:calc(50% - 50vw + 16px)}}
/* r155: story controls (play / pause / replay) + PF road figure on /power-factor-penalty */
.mdv .play{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:#f0f0f3;color:#1d1d1f;display:grid;place-items:center;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}
.mdv .play svg{width:18px;height:18px;fill:currentColor}
.mdv .play[data-k=replay] svg{fill:none;width:20px;height:20px}
.mdv .play:hover,.mdv .arrow:not(:disabled):hover{background:#e5e5ea}
.mdv .play:focus-visible,.mdv .arrow:focus-visible,.mdv .steps button:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
.mdv .big small{white-space:nowrap}
.pfv .pf-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:18px;padding:14px 16px;background:#f5f5f7;border-radius:16px}
.pfv .pf-ctl label{font-size:13px;font-weight:600;color:#6e6e73;white-space:nowrap}
.pfv .pf-val{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#1d1d1f;min-width:52px}
.pfv .pf-rng{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
.pfv input[type=range]{width:100%;accent-color:#0071e3;margin:0;height:28px;cursor:pointer}
.pfv .pf-ticks{display:flex;justify-content:space-between;font-size:11px;color:#8e8e93;font-variant-numeric:tabular-nums}
.pfv .cmp{margin-top:12px}
.pfv .cmp b.o{color:#c96a00}.pfv .cmp b.r{color:#ff3b30}.pfv .cmp b.g{color:#1f9d55}
.pfv .mdv-cap a{color:#0071e3;font-weight:600;text-decoration:none;display:inline-block;margin-top:10px}
.pfv .mdv-cap a:hover{text-decoration:underline}
.pfv .stag{margin-top:14px}
.pfv .big.long{font-size:clamp(40px,4.8vw,58px)}
.pfv .big.long small{display:block;margin:4px 0 0}

/* r156: TOD rupee clock on /tod-tariff */
.todv .mdv-stage canvas{aspect-ratio:auto;min-height:0;max-height:none}
.todv-key{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:12px;font-size:13px;font-weight:600;color:#424245;font-variant-numeric:tabular-nums}
.todv-key span{white-space:nowrap}
.todv-key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;vertical-align:-1px}
.todv-key .o{background:#34c759}.todv-key .n{background:#c7c7cc}.todv-key .p{background:#ff3b30}
.todv .cmp b{white-space:nowrap}.todv .cmp b small{font-size:.62em;font-weight:600;letter-spacing:0;color:#6e6e73}
.todv .cmp b.r{color:#ff3b30}.todv .cmp b.g{color:#1f9d55}
@media(max-width:760px){.todv-key{gap:4px 12px;font-size:12px}}

/* r163: home typography + mobile fixes */
.nowrap{white-space:nowrap}
.section-heading h2,.subheading h2,.problem-copy h2,.onprem-copy h2,.compat-copy h2,.contact-copy h2,.faq-head h2{letter-spacing:-.035em}
.onprem-copy h2{font-size:clamp(2.6rem,4.3vw,4.4rem);line-height:1.04}
.founder blockquote>p.founder-story{max-width:31em}
.proof-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 2.75rem}
.proof-strip div{font-size:.875rem;letter-spacing:0;color:#424245;padding:1rem 0;border:0;text-align:center}
.proof-strip div:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--blue);vertical-align:middle;margin:-2px .55rem 0 0}
@media(max-width:720px){
.onprem-copy h2{font-size:clamp(2.4rem,10.5vw,3.2rem)}
.proof-strip{gap:0 1.5rem;padding:.75rem 16px}
.proof-strip div{padding:.4rem 0;border:0}
.founder-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}
.founder-label{display:contents}
.founder-photo{order:1;align-self:center;margin:0 auto 1.25rem}
.founder-label>span{order:2;text-align:center}
.founder-label>strong{order:3;text-align:center;margin:.5rem 0 2.5rem}
.founder blockquote{order:4}
.founder-label>small,.founder-label>ul,.founder-label>em{order:5}
.founder-label>small:first-of-type{margin-top:3rem}
}
.button>span{text-align:center}
/* r164: plant network card on one dark surface + facts as text */
.onprem .local-network{background:#1c1c1e;border-color:rgba(255,255,255,.08)}
.onprem .network-shot{border-radius:0}
.network-facts{list-style:none;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.6rem 1.75rem}
.network-facts li{display:flex;align-items:center;gap:.55rem;font-size:.9375rem;line-height:1.35}
.network-facts li:before{content:"\2713";flex:none;width:20px;height:20px;border-radius:50%;background:rgba(41,151,255,.18);color:#0071e3;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.onprem .network-facts{border-color:rgba(255,255,255,.12)}
.onprem .network-facts li{color:#f5f5f7}
.onprem .network-facts li:before{color:#64d2ff}
@media(max-width:720px){.local-network{padding:18px}.network-facts{flex-direction:column;gap:.7rem}}
/* r165: plant network diagram = inline SVG (crisp vector text) on desktop, stacked HTML on phone; full width under the copy */
.onprem-lead{grid-template-columns:1fr;gap:56px}
.onprem-copy{max-width:820px}
.onprem .local-network{max-width:none;padding:28px 32px}
.net-svg{display:block;width:100%;max-width:1040px;margin:0 auto;height:auto;font-family:inherit}
.net-svg text{fill:#f5f5f7}
.net-svg .n-img{mix-blend-mode:lighten}
.net-svg .n-panel{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.16);stroke-width:1.5}
.net-svg .n-next{fill:none;stroke:rgba(100,210,255,.45);stroke-width:2;stroke-dasharray:8 7}
.net-svg .n-pt{font-size:28px;font-weight:650;letter-spacing:-.01em}
.net-svg .n-ps{font-size:20px;font-weight:500;fill:#a1a1a6;letter-spacing:0}
.net-svg .n-pb{font-size:25px;font-weight:650}
.net-svg .n-blue{fill:#64d2ff}
.net-svg .n-sup{font-size:24px;font-weight:500;fill:#c7c7cc}
.net-svg .n-rs{font-size:15px;font-weight:600;fill:#a1a1a6;letter-spacing:.02em}
.net-svg .n-lock{font-size:19px;fill:#c7c7cc}
.net-svg .n-one{font-size:30px;font-weight:650;letter-spacing:-.02em}
.net-svg .n-wan{font-size:20px;font-weight:600}
.net-svg .n-net{font-size:19px;font-weight:500;letter-spacing:.42em;fill:#a1a1a6}
.net-svg .n-plus{font-size:54px;font-weight:300;fill:#64d2ff}
.net-svg .n-plus-s{font-size:38px}
.net-svg .n-gwb{font-size:15px;font-weight:700;letter-spacing:.03em}
.net-svg .n-gwr{font-size:8px;font-weight:600}
.net-svg .n-gws{font-size:12px;font-weight:600;letter-spacing:.32em;fill:#c7c7cc}
.nm{display:none}
@media(max-width:900px){
.net-svg{display:none}
.onprem .local-network{padding:20px 16px;max-width:560px;margin:0 auto}
.nm{display:flex;flex-direction:column;color:#f5f5f7}
.nm img{mix-blend-mode:lighten;display:block;height:auto}
.nm-sup{font-size:.8125rem;color:#a1a1a6;margin:0 0 10px 2px}
.nm-row{display:flex;align-items:center;margin-bottom:10px}
.nm-panel{flex:1;min-width:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:10px 12px}
.nm-panel b{display:block;font-size:.9375rem;font-weight:650;line-height:1.2}
.nm-panel small{display:block;font-size:.75rem;color:#a1a1a6;margin-top:2px}
.nm-meters{display:flex;gap:4px;margin-top:6px}
.nm-meters img{width:40px}
.nm-next{background:none;border:1.5px dashed rgba(100,210,255,.45)}
.nm-next b{color:#64d2ff}
.nm-rs{flex:none;width:18px;height:2px;background:#2fa8ff;box-shadow:0 0 6px #2fa8ff}
.nm-rs.nm-dash{background:none;border-top:2px dashed rgba(100,210,255,.5);box-shadow:none}
.nm-gwb{flex:none;width:74px;display:flex;flex-direction:column;align-items:center}
.nm-gw{width:64px}
.nm-gwb em{font-style:normal;font-size:.6875rem;font-weight:700;letter-spacing:.02em;line-height:1.2;text-align:center;margin-top:-2px}
.nm-gwb sup{font-size:.5em;font-weight:600}
.nm-gwnext{flex:none;width:52px;height:52px;margin:0 6px;border:1.5px dashed rgba(100,210,255,.45);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:300;color:#64d2ff}
.nm-flow{align-self:center;width:0;height:44px;border-left:2px dashed #2fa8ff;position:relative;margin:4px 0}
.nm-flow span{position:absolute;left:12px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:.75rem;color:#a1a1a6}
.nm-flow.nm-short{height:22px}
.nm-lock{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.8125rem;color:#c7c7cc}
.nm-lock svg{filter:drop-shadow(0 0 4px rgba(47,168,255,.6))}
.nm-one{display:flex;flex-direction:column;align-items:center;text-align:center}
.nm-one img{width:min(240px,80%)}
.nm-one b{font-size:1.0625rem;font-weight:650;margin-top:6px}
.nm-one span{font-size:.8125rem;color:#a1a1a6}
.nm-wan{align-self:center;border:1.5px solid rgba(47,168,255,.65);background:#06121d;border-radius:99px;padding:6px 16px;font-size:.8125rem;font-weight:600}
.nm-plants{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.nm-plant{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);border-radius:12px;padding:8px 6px;text-align:center;display:flex;flex-direction:column;align-items:center}
.nm-plant img{width:44px}
.nm-plant b{font-size:.8125rem;font-weight:650;margin-top:2px}
.nm-plant small{font-size:.6875rem;color:#a1a1a6;line-height:1.25}
.nm-plant.nm-next b{color:#64d2ff}
.nm-pplus{width:38px;height:38px;margin:3px 0;border:1.5px dashed rgba(100,210,255,.45);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#64d2ff;font-size:1.25rem}
}
/* r166: plant network diagram fits one screen (title + diagram below the 52 px nav); never smaller than 480 px tall */
.net-svg{max-height:max(480px,calc(100vh - 52px - 124px))}
@supports(height:100dvh){.net-svg{max-height:max(480px,calc(100dvh - 52px - 124px))}}

/* r167: CD ceiling (/contract-demand) + kVAh receipts (/kvah-billing): share the PF slider block */
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .pf-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:18px;padding:14px 16px;background:#f5f5f7;border-radius:16px}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .pf-ctl label{font-size:13px;font-weight:600;color:#6e6e73;white-space:nowrap}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .pf-val{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#1d1d1f;min-width:52px;white-space:nowrap}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .pf-rng{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) input[type=range]{width:100%;accent-color:#0071e3;margin:0;height:28px;cursor:pointer}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .pf-ticks{display:flex;justify-content:space-between;font-size:11px;color:#8e8e93;font-variant-numeric:tabular-nums}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .cmp{margin-top:12px}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .cmp b{white-space:nowrap}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .cmp b small{font-size:.62em;font-weight:600;letter-spacing:0;color:#6e6e73}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .cmp b.o{color:#c96a00}:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .cmp b.r{color:#ff3b30}:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .cmp b.g{color:#1f9d55}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .mdv-cap a{color:#0071e3;font-weight:600;text-decoration:none;display:inline-block;margin-top:10px}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .mdv-cap a:hover{text-decoration:underline}
.kvhv .stag{margin-top:14px}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .big.long{font-size:clamp(40px,4.8vw,58px)}
:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .big.long small{display:block;margin:4px 0 0}
.cdv .big small{white-space:normal}
@media(max-width:760px){:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .cmp b{font-size:15px}}
/* r167: a pinned figure keeps the guide breakout (r162 .mdv-pin.on>.mdv{margin:0} pushed it right / off-screen) */
.guide-body .mdv-pin.on>.mdv{margin-left:calc(50% - min(520px,50vw - 24px))}
/* r168: home on-prem section - network card left, the 6 trade-offs as a list on its right */
.onprem-net{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:stretch;margin-top:56px}
.onprem-net .local-network{padding:24px 26px;display:flex;flex-direction:column}
.onprem-net .net-svg{max-width:none;width:100%;max-height:none;margin:auto 0}
.onprem-net .tradeoff-grid{margin:0;grid-template-columns:1fr;gap:0;border:1px solid rgba(255,255,255,.08);background:#1c1c1e;border-radius:22px;padding:6px 26px;overflow:visible}
.onprem-net .tradeoff-grid article{min-height:0;background:none;padding:17px 0 17px 40px;position:relative;border-top:1px solid rgba(255,255,255,.1)}
.onprem-net .tradeoff-grid article>span{position:absolute;left:0;top:19px;font-size:.8rem;font-weight:700}
.onprem-net .tradeoff-grid h3{font-size:1.05rem;line-height:1.25;margin:0 0 .3rem;letter-spacing:-.01em}
.onprem-net .tradeoff-grid p{font-size:.86rem;line-height:1.45;margin:0}
.onprem-net .tl-head{font-size:.875rem;font-weight:800;color:#64d2ff;padding:18px 0 14px;border-bottom:1px solid rgba(255,255,255,.12)}
.onprem-net .tl-head+article{border-top:0}
@media(max-width:1100px){.onprem-net{grid-template-columns:1fr;gap:20px;margin-top:40px}.onprem-net .net-svg{max-height:max(480px,calc(100vh - 52px - 124px))}}
@media(max-width:720px){.onprem-net .local-network{padding:18px}.onprem-net .tradeoff-grid{padding:4px 18px}}
/* r170: phase figure - move-a-load buttons */
:is(.phv,.ghv,.bxv,.zev) .ph-lbl{font-size:13px;font-weight:600;color:#6e6e73;white-space:nowrap}
:is(.phv,.ghv,.bxv,.zev) .ph-chips{display:flex;flex-wrap:wrap;gap:8px}
:is(.phv,.ghv,.bxv,.zev) .ph-chips button{font:inherit;font-size:14px;font-weight:600;color:#1d1d1f;background:#fff;border:1px solid #d1d1d6;border-radius:999px;padding:5px 6px 5px 14px;min-height:36px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .2s}
:is(.phv,.ghv,.bxv,.zev) .ph-chips button:hover{border-color:#0071e3}
:is(.phv,.ghv,.bxv,.zev) .ph-chips button:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
:is(.phv,.ghv,.bxv,.zev) .ph-chips b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:12px;color:#fff;background:#d93a3a}
:is(.phv,.ghv,.bxv,.zev) .ph-chips b[data-p="1"]{background:#f5a623;color:#1d1d1f}.phv .ph-chips b[data-p="2"]{background:#0071e3}
/* r171: ghost machines figure - on/off badges */
.ghv .ph-chips b{width:auto;min-width:24px;padding:0 9px;border-radius:999px;background:#ff9500;color:#1d1d1f}
.ghv .ph-chips b[data-on="0"]{background:#e5e5ea;color:#6e6e73}
/* r173: bill X-ray figure - leak badges in the leak colour, green once fixed */
.bxv .ph-chips b{width:auto;min-width:24px;padding:0 9px;border-radius:999px;color:#fff;font-variant-numeric:tabular-nums}
.bxv .ph-chips b[data-l="spike"]{background:#0a84ff}.bxv .ph-chips b[data-l="tod"]{background:#ff3b30}.bxv .ph-chips b[data-l="pf"]{background:#ff9500;color:#1d1d1f}.bxv .ph-chips b[data-l="idle"]{background:#af52de}
.bxv .ph-chips b[data-f="1"]{background:#1f9d55;color:#fff}
.bxv .bx-how{display:flex;flex-wrap:wrap;gap:0 16px}

/* r176: values that were inline style="" attributes (strict CSP: no inline styles) */
.guide-actions.ga-start{justify-content:flex-start;margin-top:1.4rem}
a.k-blue{color:var(--blue)}a.k-ul{text-decoration:underline}
/* r177: PF figure steps 5-6 - the slider is the story's, not the reader's */
.pfv .pf-ctl input:disabled{opacity:.4;cursor:default}

/* r178: ghost machines steps 5-6 - the chips are the story's, not the reader's */
:is(.phv,.ghv,.bxv,.zev) .ph-chips button:disabled{opacity:.4;cursor:default}
:is(.phv,.ghv,.bxv,.zev) .ph-chips button:disabled:hover{border-color:#d1d1d6}

/* r179: TOD figure steps 5-6 - long big numbers wrap their label under them */
.todv .big.long{font-size:clamp(40px,4.8vw,58px)}
.todv .big.long small{display:block;margin:4px 0 0}
/* r180: kVAh steps 5-6 run their own month; the slider and Plant B strip step back */
:is(.kvhv,.cdv,.lfv,.phv,.bxv) .pf-ctl,:is(.kvhv,.cdv,.lfv,.phv,.bxv) .cmp{transition:opacity .4s}
:is(.kvhv,.cdv,.lfv,.phv,.bxv).kvlive .pf-ctl,:is(.kvhv,.cdv,.lfv,.phv,.bxv).kvlive .cmp{opacity:.4}
:is(.kvhv,.cdv,.lfv,.phv,.bxv).kvlive input[type=range]{cursor:default}

/* r199: hero eyebrow sits inside the H1 and keeps its look */
.hero h1{margin-top:0}
.hero h1 .eyebrow{margin:0 0 1.8rem;line-height:1.65}
.story-tagline .st-brand{font-weight:800}

/* r199: small text meets WCAG AA 4.5:1 */
.guide-meta,.guide-fine,.hero-facts span,.hero-facts sup.fn a,.ctl-name,.pfv .pf-ticks,:is(.cdv,.kvhv,.lfv,.phv,.ghv,.bxv,.pdv,.zev) .pf-ticks,.problem-copy h2 em .reg-mark,.as-lab.gap{color:#6e6e73}
.as-lab{color:#d70015}
.as-mode button,.mdv .seg span{color:#5f5f64}
.mdv .steps button{color:#636368}
.kv-led{color:#5a5a5f}
.kv-led.on{background:#1e7f37}
.kv-acts .kv-wa{background:#1b7f46}
.analytics-grid article>span,.meter-list>div>span,.as-step span,.guide-key b,.guide-key p a,.faq-list summary>span:last-child,.kv-more>summary,.kv-pro>summary{color:#0066cc}
.analytics-grid article:nth-child(1)>span{color:#2997ff}
.mdv .cmp .r,.mdv .cmp b.r,.cmp b.r{color:#d70015}
.mdv .cmp .g,.mdv .cmp b.g,.cmp b.g{color:#16803c}
.mdv .cmp .o,.mdv .cmp b.o,.cmp b.o{color:#a85a00}
.bxv .ph-chips b[data-l="spike"]{background:#0071e3}
.bxv .ph-chips b[data-l="tod"]{background:#d70015}
.bxv .ph-chips b[data-l="idle"]{background:#8e3fc4}
.bxv .ph-chips b[data-f="1"]{background:#16803c}
/* r209: load on / off chips on /zero-export-controller */
.zev .ph-chips b{width:auto;min-width:24px;padding:0 9px;border-radius:999px;background:#16803c;color:#fff}
.zev .ph-chips b[data-on="0"]{background:#e5e5ea;color:#515154}

/* r212: home sections 02, 06, 08. Flat data figures replace the glossy icons, product fragments fill the trust cards, roles become a list */
.benefit-card{display:flex;flex-direction:column}
.bv{border-radius:18px;overflow:hidden}.bv svg{display:block;width:100%;height:auto}
.bv-r{background:#fff4f2}.bv-b{background:#edf4fd}.bv-i{background:#f1f1fb}.bv-p{background:#f9f1fd}.bv-g{background:#ecf9f0}.bv-o{background:#fff6e9}.bv-n{background:#f5f5f7}
.bv text{font-family:inherit;letter-spacing:-.01em}
.bvt{font-size:12.5px;font-weight:500;fill:#5f5f64}.bvs{font-size:13px;font-weight:600;fill:#1d1d1f}.bvp{font-size:13px;font-weight:650;fill:#1d1d1f}.bvn{font-size:46px;font-weight:700;letter-spacing:-.03em}
.bv-mid{dominant-baseline:central}
.bv .bv-red{fill:#b3000f}.bv .bv-blue{fill:#0060c0}.bv .bv-purple{fill:#7a2aa8}.bv .bv-green{fill:#17693a}.bv .bv-orange{fill:#a24b00}.bv .bv-inv{fill:#fff}
.benefit-body{padding:1.35rem 16px 16px}
.benefit-tag{display:block;font-size:.8125rem;font-weight:600;letter-spacing:.005em;color:#0066cc;margin:0 0 .45rem}
.benefit-wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px;align-items:center}
.benefit-wide .benefit-body{padding:16px 16px 16px 28px}

.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.trust-grid article{display:flex;flex-direction:column;background:#fff;border-radius:28px;padding:12px}
.trust-grid h3{font-size:1.32rem;letter-spacing:-.03em;margin:0 0 .5rem}.trust-grid p{font-size:.9375rem;line-height:1.55;color:#6e6e73}
.trust-body{padding:1.2rem 16px 16px}
.trust-wide{grid-column:span 2}.trust-grid .trust-wide{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:12px;align-items:stretch}.trust-wide .tf-row{flex:1}
.trust-wide .trust-body{align-self:center;padding:16px 16px 16px 24px}.trust-wide h3{font-size:1.55rem;letter-spacing:-.04em}.trust-wide p{font-size:1rem}
.tf{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:166px;padding:12px 14px;background:#f5f5f7;border-radius:18px;font-size:.8438rem;line-height:1.3;color:#1d1d1f}
.tf-row{display:flex;align-items:center;gap:.6rem;min-height:40px}.tf-row+.tf-row{border-top:1px solid rgba(0,0,0,.07)}.tf-row>span{flex:1;min-width:0;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tf-row time{color:#6e6e73;font-variant-numeric:tabular-nums}.tf-row em{display:inline-flex;align-items:center;gap:.4rem;font-style:normal;font-weight:600;color:#17693a}
.tf-doc{flex:none;width:40px;padding:.2rem 0;border-radius:6px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);font-size:.625rem;font-weight:700;letter-spacing:.02em;text-align:center;color:#0060c0}
.ck{flex:none;display:block;width:20px;height:20px;border-radius:50%;background:#1fa64a;position:relative}.ck::after{content:"";position:absolute;left:7px;top:4px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}
.dl{flex:none;width:12px;height:14px;position:relative;border-bottom:2px solid #0066cc}.dl::before{content:"";position:absolute;left:5px;top:0;width:2px;height:9px;background:#0066cc}.dl::after{content:"";position:absolute;left:2px;top:3px;width:6px;height:6px;border:solid #0066cc;border-width:0 2px 2px 0;transform:rotate(45deg)}
.dot{flex:none;display:block;width:9px;height:9px;border-radius:50%}.dot-g{background:#30d158}.dot-a{background:#ff9f0a}.dot-r{background:#ff453a}
.tf-matrix{flex:1;display:flex;flex-direction:column}
.tf-m{flex:1;display:grid;grid-template-columns:minmax(0,1fr) repeat(3,58px);align-items:center;min-height:40px}.tf-m+.tf-m{border-top:1px solid rgba(0,0,0,.07)}
.tf-m b{font-size:.75rem;font-weight:600;color:#6e6e73;text-align:center}.tf-m span{font-weight:500}
.yes,.no{justify-self:center;display:block}.yes{width:7px;height:12px;margin-top:-3px;border:solid #1fa64a;border-width:0 2.2px 2.2px 0;transform:rotate(42deg)}.no{width:12px;height:2px;border-radius:2px;background:#aeaeb2}
.tf-store{gap:10px}.tf-store .tf-row{min-height:0;border:0}.tf-store small{flex:1;font-size:.8125rem;color:#6e6e73}.tf-store small:last-child{text-align:right}
.tf-bar{height:14px;border-radius:7px;background:#e3e3e8;overflow:hidden}.tf-bar i{display:block;width:38%;height:100%;border-radius:7px;background:#0071e3}
.trust-dark.trust-dark{background:#000}.trust-dark h3{color:#f5f5f7}.trust-dark p{color:#a1a1a6}.trust-dark .tf{background:#1c1c1e;color:#f5f5f7}.trust-dark .tf-row+.tf-row{border-color:rgba(255,255,255,.1)}.trust-dark em{color:#30d158}.trust-dark em.off{color:#ff6961}

.role-list{border-top:1px solid rgba(0,0,0,.12)}
.role-row{display:grid;grid-template-columns:250px minmax(0,340px) minmax(0,1fr);gap:2rem;align-items:center;padding:1.75rem 0;border-bottom:1px solid rgba(0,0,0,.12)}
.role-row h3{font-size:1.625rem;letter-spacing:-.035em;line-height:1.2;margin:0}.role-row p{color:#6e6e73}
.role-row ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.role-row li{padding:.32rem .8rem;border-radius:999px;background:#f5f5f7;font-size:.875rem;font-weight:500;line-height:1.4;color:#1d1d1f}
@media(max-width:1280px){
  .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .bv-n text{font-size:16px}
}
@media(max-width:720px){
  .bv-n text{font-size:19px}
}
@media(max-width:1100px){
  .role-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:2rem;row-gap:.8rem}.role-row h3{grid-row:span 2}.role-row p,.role-row ul{grid-column:2}
}
@media(max-width:720px){
  .benefit-wide{display:flex;flex-direction:column;align-items:stretch}.benefit-wide .bv{order:-1}.benefit-wide .benefit-body{padding:1.35rem 16px 16px}
  .trust-grid{grid-template-columns:minmax(0,1fr)}.trust-wide{grid-column:auto}.trust-grid .trust-wide{display:flex;flex-direction:column}.trust-wide .tf{order:-1}.trust-wide .trust-body{align-self:stretch;padding:1.2rem 16px 16px}
  .tf{min-height:0}.tf-m{grid-template-columns:minmax(0,1fr) repeat(3,52px)}
  .role-row{display:block;padding:1.5rem 0}.role-row p{margin:.5rem 0 .9rem}
}

/* r213: home section 04. Questions as tags, labelled figures in one stage size, heatmap as the dark hero */
.analytics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.analytics-grid article:nth-child(1){grid-column:span 2;grid-row:span 2}
.analytics-grid article>span{font-weight:600;margin:0 0 .45rem}
.ax-s{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:190px;margin:auto -16px 0;padding:14px;border-radius:18px;background:#f5f5f7;font-size:.8438rem;line-height:1.3;color:#1d1d1f;font-variant-numeric:tabular-nums}
.analytics-grid p+.ax-s{margin-top:auto}.analytics-grid p{margin-bottom:20px}
.ax-s.bv{display:block;min-height:0;padding:0}
.analytics-grid article:nth-child(1){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);grid-template-rows:auto auto auto 1fr;column-gap:28px;padding-bottom:28px}
.analytics-grid article:nth-child(1)>:not(.ax-s){grid-column:1}
.analytics-grid article:nth-child(1) .ax-s{grid-column:2;grid-row:1/-1;justify-content:flex-start;margin:-12px -12px -12px 0;background:#1c1c1e;color:#f5f5f7}
.hm-peak{align-self:end;display:flex;flex-direction:column;gap:4px;font-size:.8438rem;line-height:1.35;color:#a1a1a6}.hm-peak strong{font-size:2.4rem;line-height:1.1;font-weight:700;letter-spacing:-.03em;color:#f5f5f7;font-variant-numeric:tabular-nums}
.ax-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#6e6e73;font-weight:500}.ax-top strong{font-weight:600;color:#f5f5f7}.ax-hm .ax-top{color:#a1a1a6}
.ax-docs{display:flex;gap:6px}
.hm{display:grid;grid-template-columns:24px repeat(24,minmax(0,1fr));gap:2px}
.hm span{grid-column:1}.hm em{grid-column:span 3;font-style:normal;font-size:.75rem;line-height:1.2;color:#a1a1a6}.hm b{align-self:center;font-size:.75rem;line-height:1;font-weight:500;color:#a1a1a6}.hm i{display:block;aspect-ratio:1;border-radius:2.5px}
.l0{background:#13233a}.l1{background:#173561}.l2{background:#1b4a8a}.l3{background:#1f5fb3}.l4{background:#2477d6}.l5{background:#2997ff}.l6{background:#64b5ff}.l7{background:#a8d6ff}.hm .pk{box-shadow:0 0 0 2px #fff}
.hm-key{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#a1a1a6}.hm-key i{flex:0 0 140px;height:8px;border-radius:4px;background:linear-gradient(90deg,#13233a,#173561,#1b4a8a,#1f5fb3,#2477d6,#2997ff,#64b5ff,#a8d6ff)}
.sh{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.sh span{font-weight:500}.sh small{font-size:.75rem;font-weight:400;color:#6e6e73}.sh b{font-weight:600}
.sh-t{grid-column:1/-1;height:8px;border-radius:4px;background:#e5e5ea;overflow:hidden}.sh-t i{display:block;height:100%;border-radius:4px;background:#a9cbf0}.sh-top .sh-t i{background:#0071e3}
.w100{width:100%}.w83{width:83%}.w54{width:54%}
.ax-list{gap:0}.ax-list .ax-top{margin-bottom:6px}
.ax-r,.ax-t{display:grid;align-items:center;min-height:27px;border-top:1px solid rgba(0,0,0,.07)}
.ax-r{grid-template-columns:minmax(0,1fr) auto}.ax-r b{font-weight:500}.ax-sum span,.ax-sum b{font-weight:700}.ax-sum{border-top-color:rgba(0,0,0,.3)}
.ax-t{grid-template-columns:1.3fr 1fr 1fr 1fr}.ax-t span+span{text-align:right}.ax-th{font-weight:600;color:#6e6e73}
.ax-co{flex-direction:row;align-items:stretch;justify-content:space-between;gap:20px}
.co-n{display:flex;flex-direction:column;justify-content:center;gap:2px;color:#6e6e73}.co-n strong{font-size:2.4rem;line-height:1.1;font-weight:700;letter-spacing:-.03em;color:#1d1d1f}
.co-b{flex:1;max-width:180px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.co-b div{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;text-align:center;font-size:.75rem;color:#6e6e73}.co-b i{display:block;border-radius:4px 4px 1px 1px;background:#bfe6cc}.co-b .co-now{background:#1fa64a}
.h100{height:120px}.h98{height:118px}.h97{height:116px}.h95{height:114px}.h93{height:112px}.h88{height:106px}
@media(max-width:1100px){
  .analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-grid article:nth-child(1){grid-row:auto}.analytics-grid article:nth-child(6){grid-column:1/-1}
}
@media(max-width:900px){
  .analytics-grid article:nth-child(1){grid-template-columns:minmax(0,1fr) minmax(0,440px)}
  .hm-peak strong{font-size:2rem;white-space:nowrap}
}
@media(max-width:720px){
  .analytics-grid{grid-template-columns:minmax(0,1fr)}
  .analytics-grid article:nth-child(1),.analytics-grid article:nth-child(6){grid-column:auto}
  .analytics-grid article:nth-child(1){display:flex;padding-bottom:12px}
  .analytics-grid article:nth-child(1) .ax-s{margin:16px -16px 0}
  .hm-peak{align-self:stretch;margin-bottom:4px}
  .hm{gap:1px}
  .hm em:nth-of-type(even),.hm b:nth-of-type(even){visibility:hidden}
}

/* r224: static guide infographics (.gfig), no script. Bar widths are rules because the CSP forbids inline style. */
.gfig{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.08);padding:28px;margin:32px 0 36px}
.gfig h3{font-size:clamp(22px,3vw,30px);line-height:1.15;letter-spacing:-.02em;margin:0 0 20px}
.gfig figcaption{font-size:12.5px;line-height:1.5;color:#6e6e73;margin:14px 0 0}
.gf-r{display:grid;grid-template-columns:118px minmax(0,1fr) 78px;gap:10px;align-items:center;min-height:30px;font-size:14px;line-height:1.2;border-radius:6px}
.gf-r:hover{background:#f5f5f7}
.gf-n{color:#424245}
.gf-r b{font-weight:600;color:#1d1d1f;text-align:right;font-variant-numeric:tabular-nums}
.gf-t{display:block;min-width:0}
.gf-b{display:block;height:14px;border-radius:0 4px 4px 0}
.gf-pct{background:#f59e0b}.gf-kva{background:#0071e3}.gf-mp{background:#86868b}.gf-exc{background:#b42318}.gf-md{background:#5aa2ee}
.gf-unu{background:repeating-linear-gradient(45deg,#f59e0b 0 2px,#fde9c4 2px 4px)}
.gf-w0{width:100.0%}
.gf-w1{width:60.0%}
.gf-w2{width:48.8%}
.gf-w3{width:36.5%}
.gf-w4{width:30.0%}
.gf-w5{width:28.5%}
.gf-w6{width:27.0%}
.gf-w7{width:22.5%}
.gf-w8{width:21.0%}
.gf-w9{width:16.7%}
.gf-w10{width:12.3%}
.gf-w11{width:9.8%}
.gf-w12{width:24.6%}
.gf-w13{width:22.5%}
.gf-w14{width:18.4%}
.gf-w15{width:18.0%}
.gf-w16{width:15.0%}
.gf-leg{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;font-size:13px;color:#424245}
.gf-leg span{display:inline-flex;align-items:center;gap:7px}
.gf-leg i{display:block;width:12px;height:12px;border-radius:3px;flex:none}
.gf-defs{position:absolute;width:0;height:0}
.gf-ps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gf-p{min-width:0;display:flex;flex-direction:column;border-radius:16px;padding:12px;background:#f5f5f7}
.gf-p svg{display:block;width:100%;height:auto;margin:8px 0 6px}
.gf-p.gf-best{background:#eef6ff;box-shadow:inset 0 0 0 1.5px #0071e3}
.gf-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;margin:0;font-size:14px;line-height:1.3}
.gf-h b{color:#1d1d1f}.gf-h span{color:#5f5f64;font-size:12.5px}
.gf-tot{font-size:23px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0;color:#1d1d1f}
.gf-tot small{font-size:12.5px;font-weight:500;letter-spacing:0;color:#5f5f64;margin-left:5px}
.gf-note{font-size:13px;line-height:1.4;color:#424245;margin:4px 0 0}
@media(max-width:760px){
  .gfig{padding:20px 16px;border-radius:22px}
  .guide-body .gfig{width:calc(100vw - 32px);margin-left:calc(50% - 50vw + 16px)}
  .gf-r{grid-template-columns:110px minmax(0,1fr) 70px;gap:8px;font-size:13px}
  .gf-ps{grid-template-columns:1fr}
  .gf-tot{font-size:26px}
}

/* r228: AC energy saving page (/ac-energy-saving). Canvas stories (.mdv.ac) + HTML figures (.gfig.acg). Positions are rules because the CSP forbids inline style. */
.ac .mdv-stage canvas{aspect-ratio:auto;min-height:0;max-height:none}
.ac .big.long{font-size:clamp(38px,4.6vw,54px)}
.ac .big.long small{display:block;margin:4px 0 0}
.ac .mdv-cap a{color:#0071e3;font-weight:600;text-decoration:none;display:inline-block;margin-top:10px}.ac .mdv-cap a:hover{text-decoration:underline}
.ac-key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:13px;font-weight:600;color:#424245}
.ac-key span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.ac-key i{display:block;width:16px;height:3px;border-radius:2px}
.ac-k1{background:#c2410c}.ac-k2{background:#1f9d55}.ac-k3{background:#0071e3}.ac-k4{background:#c026d3}
.ac-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 1.4rem}
.ac-glance div{background:#f5f5f7;border-radius:18px;padding:16px 18px;min-width:0}
.ac-glance b{display:block;font-size:clamp(28px,4vw,38px);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:#1d1d1f;font-variant-numeric:tabular-nums}
.ac-glance span{display:block;font-size:14px;line-height:1.35;color:#515154;margin-top:6px}
.ac-toc{margin:0 0 2.6rem;font-size:.95rem}
.ac-toc p{font-size:.8rem;font-weight:600;color:#6e6e73;margin:0 0 .5rem}
.guide-body .ac-toc ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.guide-body .ac-toc li{margin:0}
.guide-body .ac-toc a{display:block;padding:7px 14px;border-radius:999px;background:#f5f5f7;color:#0066cc;text-decoration:none;font-size:.9rem;line-height:1.3}
.guide-body .ac-toc a:hover{background:#ececf0;text-decoration:none}
.guide-body h2[id]{scroll-margin-top:76px}
/* r231: Apple-style footnotes: small grey marker at the claim, a full-sentence note, blue only on the source name */
.acn{font-size:.68em;font-weight:500;line-height:0;margin-left:.08em;font-variant-numeric:tabular-nums;color:#6e6e73}
.acn a{position:relative;color:#6e6e73;text-decoration:none;border-radius:3px}
.acn a::after{content:"";position:absolute;inset:-9px -5px}
.acn a:hover{color:var(--blue)}
.acn a:target{color:#fff;background:var(--blue);padding:0 .2em}
.ac-glance .acn{font-size:.42em;font-weight:600;letter-spacing:0;vertical-align:super}
.guide-body h2#sources{font-size:1rem;line-height:1.3;letter-spacing:-.01em;margin:3.4rem 0 .45rem;padding-top:1.5rem;border-top:1px solid #d2d2d7}
.guide-body .ac-src-lead{font-size:.8125rem;line-height:1.5;color:#6e6e73;margin:0 0 1.1rem}
.guide-body .ac-src{font-size:.8125rem;line-height:1.5;color:#6e6e73;padding-left:0;margin:0}
.guide-body .ac-src li{margin:0 0 .65rem 1.75em;padding:0 .3em;border-radius:6px;break-inside:avoid}
.ac-src li::marker{font-variant-numeric:tabular-nums}
.ac-src li:target{color:#1d1d1f;background:#eaf3ff}
.ac-src a{color:var(--blue);text-decoration:none}
.ac-src a:hover{text-decoration:underline;text-underline-offset:2px}
.ac-src .acn-b{padding:0 .25em;color:#6e6e73}
@media(min-width:760px){.guide-body .ac-src{columns:2;column-gap:32px}}

.guide-body .gfig.acg{width:min(1040px,calc(100vw - 48px));margin-left:calc(50% - min(520px,50vw - 24px));margin-right:0}
.acg .mdv-eye{margin:0 0 4px}
.acr-row{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr) 112px;gap:14px;align-items:center;min-height:36px;font-size:14px;line-height:1.25}
.acr-n{color:#424245}
.acr-v{color:#1d1d1f;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.acr-t{position:relative;display:block;height:14px;min-width:0}
.acr-t::before{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:#f0f0f3}
.acr-g{position:absolute;left:78.57%;top:-11px;bottom:-11px;width:2px;margin-left:-1px;background:#0071e3;opacity:.28}
.acr-b{position:absolute;top:1px;height:12px;border-radius:6px;background:#86868b;transform-origin:left;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.acr-d{position:absolute;top:0;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#86868b;box-shadow:0 0 0 2px #fff;transition:transform .5s cubic-bezier(.22,1,.36,1) .35s}
.acr-pro{background:repeating-linear-gradient(45deg,#86868b 0 3px,#d2d2d7 3px 6px)}
.acr-a{left:14.29%;width:71.43%}.acr-p{left:28.57%;width:57.14%}.acr-c{left:39.29%;width:14.29%}.acr-e{left:57.14%;width:7.14%}
.acr-24{left:57.14%}.acr-27{left:78.57%}.acr-28{left:85.71%}
.acr-row.me .acr-d{background:#0071e3}.acr-row.me .acr-n,.acr-row.me .acr-v{color:#1d1d1f;font-weight:700}
.acr-ax{position:relative;display:block;height:18px;font-size:12px;color:#6e6e73;font-variant-numeric:tabular-nums}
.acr-ax span{position:absolute;top:0;transform:translateX(-50%)}
.acr-ax span:nth-child(1){left:0;transform:none}.acr-ax span:nth-child(2){left:28.57%}.acr-ax span:nth-child(3){left:57.14%}.acr-ax span:nth-child(4){left:85.71%}.acr-ax span:nth-child(5){left:100%;transform:translateX(-100%)}
.acr.wait .acr-b{transform:scaleX(0)}.acr.wait .acr-d{transform:scale(0)}
@media(prefers-reduced-motion:reduce){.acr-b,.acr-d{transition:none}.acb-bar i,.ach-m{transition:none}}

.acg .ac-out{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 14px}
.acg .ac-big{font-size:clamp(44px,6vw,64px);font-weight:700;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums;color:#1d1d1f}
.acg .ac-big.g{color:#167a42}
.acg .ac-sub{font-size:15px;font-weight:600;color:#515154}
.acb-bar{display:flex;gap:2px;height:44px}
.acb-bar i{display:block;min-width:0;height:100%;transition:width .35s cubic-bezier(.22,1,.36,1)}
.acb-o{background:#e5e5ea;border-radius:10px 2px 2px 10px;width:50%}
.acb-a{background:#0071e3;width:41%}
.acb-s{background:#1f9d55;border-radius:2px 10px 10px 2px;width:9%}
.ac-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:16px;padding:14px 16px;background:#f5f5f7;border-radius:16px}
.ac-ctl label{font-size:13px;font-weight:600;color:#515154;white-space:nowrap}
.ac-ctl output{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#1d1d1f;min-width:58px}
.ac-ctl input[type=range]{flex:1;min-width:180px;accent-color:#0071e3;margin:0;height:30px;cursor:pointer}
.ac-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ac-chips button{font:inherit;font-size:14px;font-weight:600;color:#1d1d1f;background:#fff;border:1px solid #d1d1d6;border-radius:999px;padding:7px 14px;min-height:38px;cursor:pointer;transition:border-color .2s,background .2s}
.ac-chips button:hover{border-color:#0071e3}
.ac-chips button[aria-pressed=true]{background:#1d1d1f;border-color:#1d1d1f;color:#fff}
.ac-chips button:focus-visible{outline:2px solid #0071e3;outline-offset:2px}

.ach-sc{position:relative;padding-top:20px}
.ach-z{display:grid;grid-template-columns:25fr 20fr 30fr 25fr;gap:2px}
.ach-z span{display:block;padding:9px 4px;text-align:center;font-size:13px;font-weight:600;line-height:1.2;color:#1d1d1f;min-width:0}
.ach-z span:nth-child(1){background:#fde9c4;border-radius:10px 2px 2px 10px}
.ach-z span:nth-child(2){background:#bfe8cf}
.ach-z span:nth-child(3){background:#fde9c4}
.ach-z span:nth-child(4){background:#fbd0cc;border-radius:2px 10px 10px 2px}
.ach-m{position:absolute;top:2px;left:45%;width:0;height:0;margin-left:-8px;border:8px solid transparent;border-top:12px solid #1d1d1f;border-bottom:0;transition:left .3s cubic-bezier(.22,1,.36,1)}
.ach-ax{position:relative;display:block;height:18px;margin-top:6px;font-size:12px;color:#6e6e73;font-variant-numeric:tabular-nums}
.ach-ax span{position:absolute;top:0;transform:translateX(-50%)}
.ach-ax span:nth-child(1){left:0;transform:none}.ach-ax span:nth-child(2){left:25%}.ach-ax span:nth-child(3){left:45%}.ach-ax span:nth-child(4){left:75%}.ach-ax span:nth-child(5){left:100%;transform:translateX(-100%)}
.ach-say{margin:14px 0 0;font-size:16px;line-height:1.45;color:#424245;min-height:3em}
.ach-say b{color:#1d1d1f}

@media(max-width:760px){
  .guide-body .gfig.acg{width:calc(100vw - 32px);margin-left:calc(50% - 50vw + 16px);padding:20px 16px;border-radius:22px}
  .ac-glance{grid-template-columns:1fr}
  .ac-glance div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px}
  .ac-glance b{font-size:24px}.ac-glance span{margin:0}
  .acr-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:7px 0}
  .acr-t{grid-column:1/-1;grid-row:2}
  .acr-g{top:-3px;bottom:-3px}
  .acr-ax-row{padding-top:2px}.acr-ax-row .acr-n,.acr-ax-row .acr-v{display:none}
  .ach-z span{font-size:12px;padding:9px 1px}
}

/* r229: reader-driven AC figures. Remote, your-numbers card, guess cards, sticky bar, plan. */
.ac-rem{display:inline-flex;align-items:center;gap:6px}
.ac-rem button{width:44px;height:44px;flex:none;padding:0;border:1px solid #d1d1d6;border-radius:50%;background:#fff;color:#1d1d1f;font:inherit;font-size:22px;font-weight:600;line-height:1;cursor:pointer}
.ac-rem button:hover:not(:disabled){border-color:#0071e3}.ac-rem button:disabled{opacity:.4;cursor:default}
.ac-rem button:focus-visible,.ac-tog:focus-visible{outline:2px solid #0071e3;outline-offset:2px}
.ac-rem output{min-width:68px;text-align:center}
.ac-ctl .ac-lab{font-size:13px;font-weight:600;color:#515154;white-space:nowrap}
.ac-tog{min-height:44px;padding:0 16px;border:1.5px solid #0071e3;border-radius:999px;background:#fff;color:#0066cc;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.ac-tog[aria-pressed=true]{background:#0071e3;color:#fff}.ac-tog:disabled{border-color:#d1d1d6;color:#6e6e73;cursor:default}
.ac-tog.pulse{animation:acPulse 1.5s ease-in-out infinite}
@keyframes acPulse{50%{box-shadow:0 0 0 7px rgba(0,113,227,.2)}}
.ac .mdv-stage .ac-ctl{margin-top:12px}.ac .mdv-stage .ac-ctl .ac-tog{margin-left:auto}
.ac .mdv-stage .ac-key{margin-top:10px}
.ac .mdv-stage .ac-chips{margin-top:10px}.ac .mdv-stage .ac-chips button{min-height:44px}
.acs canvas{cursor:grab}.acs canvas:active{cursor:grabbing}
.acy{scroll-margin-top:84px}
.guide-body .acy h2{font-size:clamp(22px,3vw,30px);line-height:1.15;letter-spacing:-.02em;margin:0 0 6px}
.guide-body .acy-lead{margin:0 0 14px;color:#424245}
.acy-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px}
.acy-in .ac-ctl{margin:0;min-height:72px;justify-content:space-between}
.acy-in .ac-ctl input[type=range]{min-width:120px}
.acy-b{display:inline-flex;align-items:center;gap:6px;font-size:22px;font-weight:700;color:#1d1d1f}
.acy-b input{width:9.5ch;min-height:44px;padding:0 10px;border:1px solid #d1d1d6;border-radius:10px;background:#fff;color:#1d1d1f;font:inherit;font-variant-numeric:tabular-nums}
.acy-b input:focus-visible{outline:2px solid #0071e3;outline-offset:1px}
.acg.acy .ac-big{font-size:clamp(30px,5vw,50px);color:#1d1d1f}.acg.acy .ac-big.g{color:#167a42}
.acg.acy .ac-out{margin:0 0 8px}
.guide-body .acy-co{margin:0 0 8px;font-size:17px;font-weight:600;color:#167a42}
.acg.aco .ac-big{font-size:clamp(32px,5vw,50px)}.guide-body .aco-f{margin:0 0 14px;font-size:14px;color:#515154;font-variant-numeric:tabular-nums}
.guide-body .ac-fine{margin:0;font-size:12.5px;line-height:1.5;color:#6e6e73}
.acq{background:#f5f5f7;border-radius:18px;padding:16px 18px;margin:1.3rem 0}
.guide-body .acq-t{margin:0 0 2px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0066cc}
.guide-body .acq-q{margin:0 0 10px;font-weight:600;color:#1d1d1f}
.acq .ac-chips{margin-top:0}.acq .ac-chips button{min-height:44px}
.guide-body .acq-a{margin:12px 0 0;color:#424245}.acq-a b{color:#1d1d1f}
.guide-table tr.on td{background:#e8f2fd}
.acr-row.hit .acr-n{color:#1d1d1f;font-weight:600}.acr-row.hit .acr-b,.acr-row.hit .acr-d{background:#0071e3}
.acr-row.hit .acr-pro{background:repeating-linear-gradient(45deg,#0071e3 0 3px,#b3d4f5 3px 6px)}
.acr-row.you{padding-top:6px}.acr-row.you .acr-n,.acr-row.you .acr-v{color:#1d1d1f;font-weight:700}
.acr-t input{position:absolute;top:-8px;left:calc(14.29% - 11px);width:calc(71.43% + 22px);height:30px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:grab}
.acr-t input::-webkit-slider-runnable-track{height:30px;background:transparent}
.acr-t input::-moz-range-track{height:30px;background:transparent}
.acr-t input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:4px;border:3px solid #fff;border-radius:50%;background:#1d1d1f;box-shadow:0 1px 5px rgba(0,0,0,.35)}
.acr-t input::-moz-range-thumb{box-sizing:border-box;width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:#1d1d1f;box-shadow:0 1px 5px rgba(0,0,0,.35)}
.acr-t input:focus-visible{outline:2px solid #0071e3;outline-offset:2px;border-radius:8px}
.guide-body .acr-say{margin:14px 0 0;font-size:16px;line-height:1.45;color:#424245;min-height:3em}
.acz ol{margin:0 0 16px;padding-left:1.4rem}.acz li{margin:.5rem 0}
.acy-bar{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:80;display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;max-width:calc(100vw - 32px);padding:10px 18px;border-radius:18px;background:rgba(29,29,31,.95);color:#fff;font-size:14px;line-height:1.3;text-decoration:none;box-shadow:0 10px 30px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .25s,transform .25s,visibility .25s}
.acy-bar.on{opacity:1;visibility:visible;transform:translate(-50%,0)}
.acy-bar .c{color:#8ec5ff;font-weight:600}
@media(prefers-reduced-motion:reduce){.acy-bar{transition:none}.ac-tog.pulse{animation:none}}
@media(max-width:760px){
  .acy-in{grid-template-columns:1fr}.acy-in .ac-ctl{min-height:0}
  .acq{padding:14px 16px}
  .acr-ax span:nth-child(5){display:none}.acr-ax span:nth-child(4)::after{content:'°C'}
}
@media(max-width:720px){
  .acy-bar{left:12px;right:12px;max-width:none;padding:8px 14px;font-size:13px;transform:translateY(12px)}
  .acy-bar .b{order:-1;flex-basis:100%;font-weight:600}
  .acy-bar.on{transform:none}
}

/* Optical tracking tuned for Inter at display and reading sizes. */
body {
  letter-spacing: -0.014em;
}

.hero h1 {
  letter-spacing: -0.078em;
}

.hero-lede {
  letter-spacing: -0.034em;
}

.section-heading h2,
.problem-copy h2,
.security h2,
.compat-copy h2,
.final-cta h2 {
  letter-spacing: -0.07em;
}

@media (max-width: 680px) {
  .hero h1 {
    letter-spacing: -0.066em;
  }

  .hero-lede {
    letter-spacing: -0.025em;
  }

  .section-heading h2,
  .problem-copy h2,
  .security h2,
  .compat-copy h2,
  .final-cta h2 {
    letter-spacing: -0.058em;
  }
}

.instrument.dashboard-capture {
  padding: 0;
  overflow: hidden;
}

.dashboard-shot {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1.25rem;
  background: #d7d7d9;
}

.carousel-slide .dashboard-shot {
  height: 100%;
  object-fit: cover;
}

.carousel-slide[data-slide="1"] .dashboard-shot {
  object-position: center top;
}

@media (max-width: 680px) {
  .instrument.dashboard-capture {
    padding: 0;
  }

  .dashboard-shot {
    border-radius: 0.85rem;
  }
}
