/* ThuisSaldo: the app's sky, ink, blue actions and warm solar accents. */
@font-face { font-family:Manrope; font-style:normal; font-weight:400 700; font-display:swap; src:url('/brand/fonts/manrope-latin.woff2?v=a30ddcd34970') format('woff2'); }
:root,:root[data-theme="light"] {
 color-scheme:only light;
 --font:Manrope,"Segoe UI",system-ui,sans-serif; --header-h:5rem; --max:90rem;
 --bg-canvas:#f4f9fd; --bg-surface:#fff; --bg-elevated:#fff; --bg-muted:#eaf5ff; --bg-header:#fff;
 --text-primary:#18354b; --text-secondary:#50687a; --text-dim:#62778b; --text-muted:#62778b;
 --border:#dce8f0; --border-strong:#7f98aa; --link:#2155c4;
 --brand-cream:#fffefa; --brand-ink:#18354b; --brand-petrol:#123f3a; --brand-solar:#ffd66b;
 --green:#16866a; --green-dark:#116d56; --green-deep:#123f3a; --blue:#2563eb; --accent-green:#16866a;
 --gold:#94641a; --gold-light:#ffd66b; --btn-primary-bg:#2563eb; --btn-primary-bg-hover:#184eba; --btn-primary-text:#fff;
 --btn-secondary-bg:transparent; --btn-secondary-border:#7f98aa; --label-bg:#eaf5ff; --label-border:#dce8f0; --label-text:#2155c4;
 --hero-text:#18354b; --hero-text-muted:#50687a; --hero-eyebrow:#50687a; --accent-title:#2563eb;
 --panel-bg:#fff; --hero-gradient:none; --footer-bg:#eaf5ff; --cta-band-bg:#eaf5ff;
 --focus-ring:3px solid #b3790b; --radius:1.5rem; --radius-md:1rem; --radius-lg:1.5rem; --radius-xl:2rem;
 --shadow-card:0 8px 28px #18354b08; --shadow-glow:none; --fs-label:.875rem; --content-max:44rem; --prose-max:44rem;
 --product-stage:#e1f0fd; --product-stage-alt:#edf6fd; --mint-surface:#e8f5ee; --solar-surface:#fff5d9;
}
:root[data-theme="dark"] {
 color-scheme:only dark;
 --bg-canvas:#101f2b; --bg-surface:#1b3040; --bg-elevated:#253e50; --bg-muted:#20394c; --bg-header:#101f2b;
 --text-primary:#f8fafc; --text-secondary:#bfd0dd; --text-dim:#a6bdce; --text-muted:#a6bdce;
 --border:#365264; --border-strong:#7694ab; --link:#8cb9ff;
 --brand-cream:#f8fafc; --brand-ink:#f8fafc; --brand-petrol:#69deb4; --brand-solar:#ffd66b;
 --green:#69deb4; --green-dark:#69deb4; --green-deep:#69deb4; --blue:#8cb9ff; --accent-green:#69deb4;
 --gold:#ffd66b; --gold-light:#ffd66b; --btn-primary-bg:#8cb9ff; --btn-primary-bg-hover:#b9d6ff; --btn-primary-text:#102b40;
 --btn-secondary-border:#7694ab; --label-bg:#253e50; --label-border:#365264; --label-text:#8cb9ff;
 --hero-text:#f8fafc; --hero-text-muted:#bfd0dd; --hero-eyebrow:#bfd0dd; --accent-title:#8cb9ff;
 --panel-bg:#1b3040; --footer-bg:#1b3040; --cta-band-bg:#20394c; --focus-ring:3px solid #ffd66b;
 --product-stage:#253e50; --product-stage-alt:#20394c; --mint-surface:#193e3c; --solar-surface:#3b3525;
}
html { background:var(--bg-canvas); scroll-padding-top:7rem; }
body { background:var(--bg-canvas); color:var(--text-primary); font-family:var(--font); -webkit-font-smoothing:antialiased; }
h1,h2,h3 { font-weight:700; letter-spacing:-.045em; text-wrap:balance; }
::selection { background:var(--btn-primary-bg); color:var(--btn-primary-text); }
a { text-underline-offset:.25em; }
:focus-visible { outline:var(--focus-ring); outline-offset:4px; }
input,select,textarea,button { font-family:inherit; }
input,select,textarea { background:var(--bg-surface); color:var(--text-primary); }
.site-header { background:var(--bg-header); border-bottom:1px solid var(--border); box-shadow:none; backdrop-filter:none; }
.site-header__inner,.premium-wrap { width:100%; max-width:90rem; padding-inline:clamp(1.25rem,4vw,3.5rem); margin-inline:auto; }
.site-header__inner { min-height:5rem; }
.brand { font-size:1.35rem; gap:.7rem; }
.brand__mark { width:2.25rem; height:2.25rem; background:none; box-shadow:none; }
.brand__wordmark-thuis { color:var(--text-primary)!important; font-weight:700; }
.brand__wordmark-saldo { color:var(--brand-petrol)!important; font-weight:700; }
.site-nav__links,.site-nav__links li { list-style:none; }
.site-nav a { font-size:.875rem; font-weight:600; }
.site-nav__cta { color:var(--btn-primary-text)!important; font-size:.8125rem; }
.btn,.btn--primary,.btn--secondary { border-radius:1rem; min-height:3.25rem; padding:.9rem 1.4rem; box-shadow:none; font-size:.9375rem; font-weight:700; gap:1.3rem; }
.btn--primary { background:var(--btn-primary-bg); color:var(--btn-primary-text); border-color:transparent; background-image:none; }
.btn--primary:hover { background:var(--btn-primary-bg-hover); box-shadow:none; transform:translateY(-1px); }
.btn--secondary { color:var(--text-primary); border-color:var(--border-strong); }
.text-link { display:inline-flex; align-items:center; gap:1.1rem; min-height:2.75rem; color:var(--text-primary); text-decoration:none; font-size:.9375rem; font-weight:600; }
.text-link:hover { text-decoration:underline; }
.text-link>span { color:var(--link); }
.theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; min-width:44px; padding:.5rem; flex-shrink:0; border:1px solid var(--border-strong); border-radius:.85rem; color:var(--text-primary); background:var(--bg-header); font:inherit; font-size:.8125rem; cursor:pointer; }
.theme-toggle:hover { background:var(--bg-muted); }
.theme-toggle [data-theme-label],.theme-toggle__sun { display:none; }
[data-theme="dark"] .theme-toggle__sun { display:block; }
[data-theme="dark"] .theme-toggle__moon { display:none; }
:root:not([data-theme]) .nav-toggle-btn,:root[data-theme] .nav-toggle-btn { color:var(--text-primary); border:1px solid var(--border-strong); background:var(--bg-header); border-radius:.85rem; box-shadow:none; }
/* Real foreground strokes stay visible when the browser forces dark colors. */
.nav-toggle-btn__glyph { display:block; width:20px; height:20px; flex:none; fill:none; stroke:currentColor; }
.nav-toggle-btn__close { display:none; }
[aria-expanded="true"] .nav-toggle-btn__bars { display:none; }
[aria-expanded="true"] .nav-toggle-btn__close { display:block; }
.nav-toggle-btn__text { display:block; font-size:.8125rem; line-height:1; font-weight:700; color:inherit; }
.site-footer { background:var(--footer-bg); border-top:1px solid var(--border); }
.site-footer__inner,.site-footer__bottom { max-width:90rem; }
.site-footer a,.site-footer p { color:var(--text-secondary); }
.site-footer__group summary { color:var(--text-primary); font-weight:700; }
.section--white,.section--canvas { background:var(--bg-canvas); }
.section--mint,.home-story { background:var(--bg-muted); }
.card,.hub-card,.tool-card,.trust-item,.benefit-card { box-shadow:var(--shadow-card); border-color:var(--border); background:var(--bg-surface); }
.tool-card:hover,.hub-card:hover { border-color:var(--border-strong); box-shadow:none; }
#ts-consent-banner { background:var(--bg-elevated); color:var(--text-primary); border-top:1px solid var(--border); box-shadow:none; }
.ts-consent__inner { background:var(--bg-elevated); color:var(--text-primary); }
.ts-consent__text a { color:var(--link); }
.ts-consent__btn { border-radius:.8rem; }
.ts-consent__btn--primary { color:var(--btn-primary-text); background:var(--btn-primary-bg); }

/* A single app-led first impression. Context stays behind the real capture. */
.site--marketing main.premium-main,.site--marketing main.premium-main > #koppelingen { display:block; }
.premium-main h2 { font-size:clamp(2rem,3.4vw,3.2rem); line-height:1.12; margin:0 0 1.4rem; }
.premium-main p { color:var(--text-secondary); }
.premium-eyebrow { display:block; color:var(--link); font-size:.6875rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin:0 0 1.4rem; }
.premium-hero { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:clamp(2rem,4vw,4.5rem); padding-block:2.25rem 2rem; }
.premium-hero__copy { padding-block:1.5rem; }
.premium-hero .premium-eyebrow { display:flex; align-items:center; gap:.65rem; }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--green); flex:none; }
.premium-hero h1 { font-size:clamp(3.4rem,5.3vw,5.2rem); line-height:1.04; letter-spacing:-.055em; margin:0 0 1.6rem; text-wrap:initial; }
.premium-hero h1>span { color:var(--blue); }
.premium-hero__lead { max-width:30rem; font-size:1.125rem; line-height:1.75; margin:0 0 1.7rem; }
.premium-actions { display:flex; gap:1.7rem; flex-wrap:wrap; align-items:center; }
.premium-status { font-size:.8125rem; line-height:1.65; margin-top:1.4rem; }
.hero-topics { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:2rem; }
.hero-topics span { padding:.5rem .8rem; border:1px solid var(--border); border-radius:2rem; font-size:.75rem; color:var(--text-secondary); background:var(--bg-surface); }
.premium-hero__product { margin:0; min-width:0; }
.product-window { position:relative; isolation:isolate; width:100%; height:36rem; border-radius:2rem; background:var(--product-stage); overflow:hidden; }
.product-window::before { content:''; position:absolute; width:30rem; height:30rem; border:1px solid color-mix(in srgb,var(--blue) 15%,transparent); border-radius:50%; left:-14rem; top:-12rem; z-index:-1; }
.hero-stage-label { position:absolute; top:1.5rem; left:1.5rem; font-size:.6875rem; font-weight:700; letter-spacing:.07em; color:var(--text-primary); }
.hero-sun { position:absolute; width:6rem; height:6rem; left:2.5rem; top:4.5rem; color:#ffd66b; }
.hero-lifestyle { position:absolute; width:78%; height:61%; object-fit:cover; object-position:36% center; left:0; bottom:0; border-radius:0 1.75rem 0 0; }
.hero-scene-caption { position:absolute; left:1.25rem; bottom:1.25rem; max-width:43%; padding:.8rem 1rem; background:#fffefaf2; border-radius:.9rem; color:#18354b; }
.hero-scene-caption span { display:block; font-size:.8125rem; font-weight:700; }
.hero-scene-caption small { display:block; font-size:.625rem; margin-top:.2rem; }
.product-object { position:absolute; z-index:2; width:15.5rem; top:1.5rem; right:1.65rem; padding:5px; border:1px solid #859aaa; border-radius:1.7rem; background:#18354b; box-shadow:0 24px 40px #102c4330,0 3px 8px #102c4320; }
.product-object img { display:block; width:100%; height:auto; border-radius:1.35rem; }
.premium-hero__product figcaption { display:flex; justify-content:space-between; gap:1rem; padding:.8rem .25rem 0; font-size:.6875rem; line-height:1.6; color:var(--text-secondary); }
.premium-hero__product figcaption span+span { flex:none; font-weight:600; }

/* A clear route into the app and the tools that are already available. */
.home-foundations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding-block:1.85rem; background:#18354b; border-radius:1.5rem; width:calc(100% - 2rem); }
.home-foundations>a { display:flex; align-items:center; gap:1rem; color:#f8fafc; text-decoration:none; min-width:0; }
.home-foundations strong { display:block; font-size:.9375rem; font-weight:700; }
.home-foundations p { color:#c4d9e8; font-size:.75rem; line-height:1.65; margin:.4rem 0 0; }
.foundation-symbol { display:grid; place-items:center; width:2.75rem; height:2.75rem; border-radius:.9rem; color:#a5ceff; background:#29485e; flex:none; }
.foundation-symbol svg { width:24px; height:24px; }
.foundation-arrow { color:#a5ceff; margin-left:auto; font-size:1.2rem; }
.home-foundations a:hover strong { text-decoration:underline; text-underline-offset:.25em; }
.premium-main .premium-intro { padding-block:5rem 3rem; }
.premium-intro>div { display:grid; grid-template-columns:1.3fr 1fr; gap:4rem; align-items:center; }
.premium-intro h2 { font-size:clamp(1.8rem,2.8vw,2.65rem); }
.premium-intro h2 span { color:var(--link); }
.premium-intro p:not(.premium-eyebrow) { max-width:36rem; margin:0; line-height:1.85; }
.home-day { padding-block:2rem 4.5rem; }
.home-day__intro { display:grid; grid-template-columns:1.3fr 1fr; gap:4rem; align-items:end; margin-bottom:2rem; }
.home-day__intro>div>p:not(.premium-eyebrow) { line-height:1.8; max-width:35rem; }
.home-day__intro h2 { margin-bottom:0; font-size:clamp(1.8rem,2.8vw,2.65rem); }
.day-sequence { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.day-sequence article { display:flex; flex-direction:column; gap:1.65rem; padding:2rem; border-radius:1.5rem; background:var(--bg-muted); border:1px solid var(--border); }
.day-sequence article:nth-child(2) { background:var(--solar-surface); }
.day-sequence article:nth-child(3) { background:var(--mint-surface); }
.day-sequence__number { font-size:2.5rem; letter-spacing:-.07em; line-height:1; font-weight:700; color:var(--text-primary); opacity:.55; }
.day-sequence .premium-eyebrow { font-size:.625rem; letter-spacing:.07em; margin-bottom:.7rem; color:var(--text-secondary); }
.day-sequence h3 { font-size:1.2rem; line-height:1.35; margin:0 0 .8rem; letter-spacing:-.035em; }
.day-sequence p { font-size:.875rem; line-height:1.8; margin:0; }

/* The product tour is one large feature stage, with real keyboard-driven tabs. */
.premium-section { padding-block:4rem; }
.product-tour { display:grid; grid-template-columns:.95fr 1.05fr; align-items:center; gap:3rem; padding:3rem; border-radius:2rem; background:var(--bg-surface); border:1px solid var(--border); }
.product-tour__copy>p:not(.premium-eyebrow) { max-width:26rem; line-height:1.8; }
.product-tour__tabs { margin:2rem 0; display:grid; gap:.5rem; }
.product-tour__tabs[hidden],.product-tour__panel[hidden] { display:none; }
.product-tour__tabs button { background:transparent; color:var(--text-secondary); display:flex; justify-content:space-between; align-items:center; width:100%; padding:1rem 1.25rem; border:1px solid var(--border); border-radius:1rem; font-size:1rem; font-weight:600; cursor:pointer; text-align:left; }
.product-tour__tabs button span { font-size:1.4rem; }
.product-tour__tabs button[aria-selected="true"] { color:var(--btn-primary-text); background:var(--btn-primary-bg); border-color:var(--btn-primary-bg); }
.product-tour__panel { padding:2rem; border-radius:1.5rem; background:var(--product-stage-alt); }
.product-tour__panel figure { margin:0; display:grid; grid-template-columns:1fr; gap:1.5rem; }
.product-tour__screen { width:100%; max-width:15rem; margin:auto; border-radius:1.25rem; overflow:hidden; border:1px solid var(--border-strong); box-shadow:0 14px 26px #17344b16; }
.product-tour__screen img { display:block; width:100%; height:auto; }
.product-tour__panel figcaption { max-width:23rem; margin:auto; font-size:.8125rem; line-height:1.75; color:var(--text-secondary); }
.product-tour__panel figcaption strong { display:block; color:var(--text-primary); font-size:1.05rem; font-weight:700; margin-bottom:.4rem; }
.premium-connections { background:var(--bg-muted); padding-block:4.5rem; margin-top:1rem; }
.premium-heading { margin-bottom:2.5rem; }
.premium-heading>div { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:4rem; }
.premium-heading h2 { margin:0; }
.premium-heading p:not(.premium-eyebrow) { max-width:33rem; line-height:1.8; margin:0; }
.connection-index { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.connection-index>a { position:relative; display:block; text-decoration:none; color:var(--text-primary); padding:2rem; border:1px solid var(--border); border-radius:1.5rem; background:var(--bg-surface); }
.connection-index>a>span:first-child { display:inline-block; color:var(--link); background:var(--bg-muted); border-radius:.65rem; padding:.45rem .8rem; font-size:.75rem; font-weight:700; }
.connection-index h3 { font-size:1.3rem; line-height:1.35; margin:1.4rem 0 .8rem; }
.connection-index p { font-size:.9rem; line-height:1.8; margin:0 0 1.25rem; }
.connection-index>a>span:last-child { display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:50%; background:var(--bg-muted); color:var(--link); font-size:1.3rem; }
.connection-index>a:hover h3 { text-decoration:underline; }
.premium-resource-section { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; padding-block:5.5rem; align-items:start; }
.premium-resource-section>div>p:not(.premium-eyebrow) { max-width:25rem; line-height:1.8; }
.resource-index { display:grid; gap:.65rem; counter-reset:resource; }
.resource-index>a { counter-increment:resource; position:relative; display:block; padding:1.4rem 3.5rem 1.4rem 4.5rem; border:1px solid var(--border); background:var(--bg-surface); border-radius:1rem; text-decoration:none; color:var(--text-primary); }
.resource-index>a::before { content:'0' counter(resource); position:absolute; left:1.2rem; top:1.6rem; color:var(--link); font-size:.75rem; font-weight:700; }
.resource-index>a>span:first-child { color:var(--text-secondary); font-size:.6875rem; }
.resource-index strong { display:block; font-size:1.2rem; font-weight:700; letter-spacing:-.03em; margin:.4rem 0; }
.resource-index p { font-size:.8125rem; line-height:1.7; margin:.4rem 0 0; }
.resource-index__arrow { position:absolute; right:1.25rem; top:2.75rem; color:var(--link); font-size:1.4rem; }
.resource-index>a:hover strong { text-decoration:underline; }
.premium-knowledge { padding-block:1rem 4.5rem; }
.premium-section-top { display:flex; justify-content:space-between; align-items:center; gap:2rem; margin-bottom:2rem; }
.premium-section-top h2 { margin:0; }
.knowledge-index { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.knowledge-index>a { position:relative; display:block; padding:2.5rem; border:1px solid var(--border); border-radius:1.5rem; background:var(--solar-surface); color:var(--text-primary); text-decoration:none; overflow:hidden; }
.knowledge-index>a+a { background:var(--bg-muted); }
.knowledge-index>a::before { content:''; display:block; width:3rem; height:.4rem; border-radius:1rem; background:#f2b84b; margin-bottom:2rem; }
.knowledge-index>a+a::before { background:var(--blue); }
.knowledge-index>a>span:first-of-type { font-size:.6875rem; font-weight:700; letter-spacing:.06em; color:var(--text-secondary); }
.knowledge-index h3 { font-size:clamp(1.45rem,2vw,1.9rem); line-height:1.3; margin:1rem 0; }
.knowledge-index p { font-size:.9375rem; line-height:1.8; max-width:28rem; }
.knowledge-index>a:hover h3 { text-decoration:underline; }
.home-questions { display:grid; grid-template-columns:1fr 1.2fr; gap:5rem; padding-block:2rem 4rem; }
.home-questions>div>p:not(.premium-eyebrow) { max-width:26rem; line-height:1.8; }
.home-questions__list details { border-bottom:1px solid var(--border-strong); }
.home-questions__list details:first-child { border-top:1px solid var(--border-strong); }
.home-questions__list summary { position:relative; padding:1.4rem 2.25rem 1.4rem 0; font-size:1rem; font-weight:600; cursor:pointer; list-style:none; }
.home-questions__list summary::-webkit-details-marker { display:none; }
.home-questions__list summary::after { content:'+'; position:absolute; right:.4rem; font-size:1.4rem; top:1rem; color:var(--link); }
.home-questions__list details[open] summary::after { content:'−'; }
.home-questions__list details p { font-size:.875rem; line-height:1.85; margin:0 0 1.5rem; padding-right:1rem; }

/* Reading and task page foundations; editorial-refresh.css adds their layouts. */
.site--sub main.editorial-page,main.editorial-page { max-width:84rem; padding:2rem clamp(1.25rem,4.25vw,4rem) 5rem; margin:auto; width:100%; }
.breadcrumbs { font-size:.75rem; line-height:1.7; color:var(--text-secondary); }
.editorial-page .landing-hero { margin:1.5rem 0 3rem; padding:1.5rem 0 3rem; background:none; text-align:left; border-bottom:1px solid var(--border); }
.editorial-page .landing-hero h1 { max-width:24ch; font-size:clamp(2.5rem,4.7vw,4rem); line-height:1.12; letter-spacing:-.05em; font-weight:500; margin:0 0 1.5rem; }
.editorial-page .lead { max-width:44rem; font-size:1.0625rem; line-height:1.8; color:var(--text-secondary); }
.editorial-layout { display:grid; grid-template-columns:minmax(0,1fr) 14rem; gap:6rem; align-items:start; }
.editorial-copy { min-width:0; max-width:44rem; }
.editorial-copy p,.editorial-copy li { font-size:1rem; line-height:1.85; color:var(--text-secondary); }
.editorial-copy h2 { font-size:clamp(1.45rem,2.3vw,1.85rem); letter-spacing:-.035em; line-height:1.3; margin:3rem 0 1rem; font-weight:500; }
.editorial-copy section:first-child h2 { margin-top:0; }
.editorial-copy h3 { font-size:1.125rem; line-height:1.4; margin:1.5rem 0 .75rem; }
.editorial-copy strong { color:var(--text-primary); }
.editorial-copy ul,.editorial-copy ol { padding-left:1.25rem; }
.editorial-copy li+li { margin-top:.6rem; }
.table-scroll { max-width:100%; overflow-x:auto; }
.editorial-copy table { width:100%; border-collapse:collapse; font-size:.9375rem; line-height:1.6; }
.editorial-copy th,.editorial-copy td { padding:1rem; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; }
.editorial-copy th { background:var(--bg-muted); font-weight:600; }
.editorial-aside { position:sticky; top:7rem; padding-top:1rem; border-top:1px solid var(--border-strong); }
.editorial-aside h2 { font-size:.8125rem; font-weight:500; margin:0 0 1rem; color:var(--text-secondary); }
.editorial-aside a { display:block; padding:.6rem 0; color:var(--text-secondary); font-size:.8125rem; line-height:1.5; text-decoration:none; }
.editorial-aside a:hover { color:var(--link); text-decoration:underline; }
.editorial-next { margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--border); }
.editorial-mobile-toc { display:none; }
.editorial-sources { border-top:1px solid var(--border); margin-top:3rem; padding-top:1.5rem; }
.editorial-sources h2 { font-size:1rem; margin-top:0; }
.editorial-sources p,.editorial-sources li { font-size:.8125rem; }
[data-page-kind="legal"] .landing-hero h1 { font-size:clamp(2rem,3.5vw,3rem); }
[data-page-kind="legal"] .landing-hero { margin-bottom:2rem; padding-bottom:1.5rem; }
[data-page-kind="tool"] .landing-hero { padding:1rem 0 1.5rem; margin:0 0 2rem; }
[data-page-kind="tool"] .landing-hero h1 { max-width:30ch; font-size:clamp(2rem,3.6vw,3rem); }
[data-page-kind="tool"] .landing-hero .lead { font-size:1rem; }
.editorial-page .calc-form { border:1px solid var(--border); background:var(--bg-surface); padding:1.5rem; border-radius:.375rem; box-shadow:none; }
.calc-form fieldset { border-color:var(--border); }
.calc-form input,.calc-form select { border-radius:.3rem; border-color:var(--border-strong); }
.calc-help { color:var(--text-secondary); font-size:.8125rem; line-height:1.7; }
.calc-editorial { margin-top:3rem; max-width:44rem; }
.calc-kpi { background:var(--bg-surface); border:1px solid var(--border); border-radius:.3rem; box-shadow:none; }
.calc-kpi--accent { background:var(--bg-muted); }
.calc-kpi--accent strong { color:var(--link); }
.calc-kpi strong { font-variant-numeric:tabular-nums; }
/* Give detailed scenarios room for complete amounts and readable explanations. */
#calc-contract-year-results .calc-kpi-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); }
#calc-battery-sensitivity .calc-kpi-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); }
#calc-contract-year-results .calc-kpi strong,#calc-battery-sensitivity .calc-kpi strong { white-space:nowrap; overflow-wrap:normal; }
#calc-contract-year-form input[type="date"] { display:block; width:100%; max-width:20rem; min-height:44px; margin-top:.35rem; padding:.5rem .75rem; font:inherit; font-size:1rem; border:1px solid var(--border-strong); border-radius:.3rem; background:var(--bg-canvas); color:var(--text-primary); }
.calc-prelaunch-nudge { background:var(--bg-muted); border:1px solid var(--border); border-radius:.3rem; color:var(--text-primary); }
.calc-prelaunch-nudge p { color:var(--text-secondary); }
[data-page-kind="hub"] .editorial-layout { display:block; }
[data-page-kind="hub"] .editorial-copy { max-width:none; }
[data-page-kind="hub"] .editorial-copy>section+section { border-top:1px solid var(--border); margin-top:3rem; padding-top:1rem; }
.premium-hub-grid { display:block; }
.premium-hub-grid .premium-tool { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) 2rem; gap:2rem; align-items:center; padding:1.6rem 0; border-top:1px solid var(--border); text-decoration:none; color:var(--text-primary); }
.premium-tool strong { font-size:1.2rem; line-height:1.4; font-weight:500; letter-spacing:-.025em; }
.premium-tool p { margin:0; font-size:.875rem; line-height:1.7; }
.premium-tool__go { text-align:right; font-size:1.25rem; }
.premium-tool:hover strong { text-decoration:underline; }
.product-page-visual { margin:0 0 4rem; background:var(--product-stage); display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding:2.5rem; align-items:center; }
.product-page-visual img { max-height:32rem; width:auto; border-radius:.6rem; margin:auto; }
.product-page-visual figcaption { max-width:24rem; font-size:1rem; line-height:1.8; color:var(--text-secondary); }
.product-page-visual figcaption strong { display:block; color:var(--text-primary); font-size:1.75rem; font-weight:500; line-height:1.3; letter-spacing:-.035em; margin-bottom:1rem; }
.product-page-visual figcaption span { display:block; margin-top:1.5rem; font-size:.75rem; }


/* One considered signup area with the same action color as the app. */
.landing-cta,.editorial-page .landing-cta { display:grid; grid-template-columns:1fr 1fr; gap:4rem; margin:2rem 0 4rem; padding:3.5rem; border:1px solid var(--border); border-radius:2rem; background:var(--product-stage-alt); text-align:left; color:var(--text-primary); }
.landing-cta h2 { max-width:15ch; font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.12; margin:0 0 1.25rem; }
.landing-cta p { color:var(--text-secondary); line-height:1.8; max-width:30rem; }
.landing-cta .launch-waitlist { margin:0; padding:0; max-width:none; border:0; border-radius:0; background:transparent; box-shadow:none; }
.launch-waitlist__lead { text-align:left; font-size:.875rem; }
.launch-waitlist__form { display:grid; grid-template-columns:1fr; }
.launch-waitlist__label { font-size:.8125rem; color:var(--text-primary); font-weight:600; }
.launch-waitlist__form input[type="email"] { width:100%; min-height:3.3rem; border-color:var(--border-strong); border-radius:.9rem; background:var(--bg-surface); }
.lead-consent { color:var(--text-secondary); font-size:.75rem; line-height:1.75; }
.lead-consent input { accent-color:var(--btn-primary-bg); }
.launch-waitlist__form .btn--primary { width:auto; justify-self:start; }
.cta-band { background:var(--bg-muted); color:var(--text-primary); }
/* Editorial pages already offer the complete signup form above this old row. */
.site:has(main.editorial-page) .mobile-sticky-cta { display:none!important; }
.editorial-byline { margin-top:1.4rem; color:var(--text-secondary); font-size:.8125rem; line-height:1.65; }
.editorial-byline a { color:inherit; text-underline-offset:.2em; }

@media(min-width:64.0625rem) {
 .site-header__inner { gap:1rem; }
 .site-nav { margin-left:auto; order:1; }
 .theme-toggle { order:2; }
 .site-nav__links { gap:1.4rem; }
 .site-nav__cta { margin-left:.5rem; }
}
@media(max-width:75rem) and (min-width:40.0625rem) {
 .premium-hero { gap:2rem; }
 .premium-hero h1 { font-size:clamp(2.8rem,5.25vw,4rem); }
 .product-window { height:32rem; }
 .product-object { width:13.8rem; right:1rem; }
 .hero-scene-caption { padding:.7rem; max-width:43%; }
 .hero-scene-caption span { font-size:.7rem; }
 .hero-stage-label { font-size:.6rem; left:1rem; }
 .product-tour { gap:2rem; padding:2rem; }
 .home-foundations { gap:1.4rem; }
 .home-foundations>a { gap:.65rem; }
 .foundation-symbol { width:2.1rem; height:2.1rem; }
 .foundation-arrow { display:none; }
 .day-sequence article { padding:1.5rem; }
}
@media(max-width:64rem) {
 .site-header__inner { gap:.5rem; }
 .site-header .brand { margin-right:auto; }
 .theme-toggle { order:2; margin:0; }
 :root .nav-toggle-btn { order:3; margin-left:0; justify-content:center; gap:.4rem; min-width:5.25rem; min-height:44px; }
 .site-nav { background:var(--bg-canvas); }
 .site-nav__links:first-of-type::before { display:none; }
 .site-nav a:not(.site-nav__cta) { border-radius:0; border-bottom:1px solid var(--border); min-height:3.8rem; font-weight:600; font-size:1.3rem; }
 .premium-actions { gap:1rem; }
 .premium-hero__lead { font-size:1rem; }
 .hero-topics { gap:.4rem; }
 .hero-topics span { font-size:.65rem; padding:.45rem .6rem; }
 .premium-intro>div,.home-day__intro,.premium-heading>div { gap:2rem; }
 .premium-resource-section,.home-questions { gap:3rem; }
 .product-tour { gap:1.5rem; }
 .editorial-layout { display:block; }
 .editorial-copy { max-width:44rem; }
 .editorial-aside { display:none; }
 .editorial-mobile-toc { display:block; border-block:1px solid var(--border); margin-bottom:2rem; }
 .editorial-mobile-toc summary { padding:1rem 0; min-height:2.75rem; font-size:.875rem; cursor:pointer; }
 .editorial-mobile-toc nav { padding:0 0 1rem; }
 .editorial-mobile-toc a { display:block; padding:.6rem 0; font-size:.875rem; line-height:1.5; }
 .landing-cta,.editorial-page .landing-cta { gap:2.5rem; padding:2rem; }
}
@media(max-width:40rem) {
 :root,:root[data-theme] { --header-h:60px; }
 html { scroll-padding-top:5rem; }
 .site-header__inner { min-height:60px; padding:8px 16px; gap:8px; }
 .site-header .brand { font-size:18px; gap:8px; }
 .site-header .brand__mark { width:26px; height:26px; }
 .site-header .theme-toggle { min-width:44px; min-height:44px; width:44px; height:44px; padding:8px; }
 :root[data-theme] .nav-toggle-btn { min-width:5.25rem; min-height:44px; width:auto; height:44px; padding:10px; }
 .premium-wrap { padding-inline:20px; }
 .premium-hero { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-top:1.25rem; padding-bottom:1.5rem; }
 .premium-hero__copy { display:contents; }
 .premium-hero .premium-eyebrow,.premium-hero__copy>.premium-status,.hero-topics { display:none; }
 .premium-hero h1 { grid-row:1; font-size:clamp(2.15rem,10.5vw,2.75rem); line-height:1.04; margin:0 0 1rem; }
 .premium-hero__lead { grid-row:3; max-width:25rem; font-size:.875rem; line-height:1.55; margin:.9rem 0; }
 .premium-hero .premium-actions { grid-row:4; gap:.5rem 1rem; }
 .premium-actions .btn { min-height:45px; padding:.7rem 1rem; gap:.75rem; font-size:.8125rem; border-radius:.85rem; }
 .premium-actions .text-link { font-size:.8125rem; gap:.65rem; }
 .premium-status { font-size:.75rem; margin-top:1rem; }
 .premium-hero__product { grid-row:2; }
 .premium-hero .product-window { height:clamp(13.5rem,36svh,16rem); border-radius:1.4rem; }
 .premium-hero .product-object { width:clamp(10.8rem,49vw,13.5rem); max-width:62%; top:10px; right:1rem; border-radius:1.3rem; padding:4px; }
 .product-object img { border-radius:1rem; }
 .hero-lifestyle { width:77%; height:72%; object-position:25% center; border-top-right-radius:1.3rem; }
 .hero-stage-label { top:.9rem; left:.9rem; max-width:29%; font-size:.6rem; line-height:1.6; }
 .hero-sun,.hero-scene-caption { display:none; }
 .premium-hero__product figcaption { padding:.5rem 0 0; gap:0; font-size:.65rem; }
 .premium-hero__product figcaption span:first-child { display:none; }
 .home-foundations { width:calc(100% - 2rem); grid-template-columns:1fr; gap:0; padding:0 1.15rem; border-radius:1.3rem; }
 .home-foundations>a { padding:1rem 0; gap:.8rem; }
 .home-foundations>a+a { border-top:1px solid #365568; }
 .home-foundations strong { font-size:.8125rem; }
 .home-foundations p { font-size:.6875rem; margin:.25rem 0 0; }
 .foundation-symbol { width:2.3rem; height:2.3rem; }
 .foundation-symbol svg { width:21px; height:21px; }
 .foundation-arrow { display:block; }
 .premium-main .premium-intro { padding-block:3rem 1rem; }
 .premium-intro>div,.home-day__intro,.premium-heading>div { display:block; }
 .premium-main h2 { font-size:1.9rem; }
 .premium-intro p:not(.premium-eyebrow),.home-day__intro>div>p:not(.premium-eyebrow) { font-size:.9375rem; line-height:1.8; }
 .premium-eyebrow { font-size:.625rem; margin-bottom:1rem; letter-spacing:.1em; }
 .home-day { padding-block:2rem; }
 .home-day__intro { margin-bottom:1.25rem; }
 .day-sequence { grid-template-columns:1fr; gap:.75rem; }
 .day-sequence article { flex-direction:row; gap:1rem; padding:1.4rem; border-radius:1.2rem; }
 .day-sequence__number { font-size:1.4rem; padding-top:.05rem; }
 .day-sequence h3 { font-size:1.1rem; }
 .day-sequence p { font-size:.8125rem; line-height:1.75; }
 .day-sequence .premium-eyebrow { font-size:.5625rem; margin-bottom:.6rem; }
 .premium-section { padding-block:2.5rem; }
 .product-tour { display:block; padding:1.35rem; border-radius:1.4rem; }
 .product-tour__copy>p:not(.premium-eyebrow) { font-size:.875rem; }
 .product-tour__tabs { display:flex; gap:.4rem; margin:1.2rem 0 .5rem; }
 .product-tour__tabs[hidden] { display:none; }
 .product-tour__tabs button { flex:1; justify-content:center; font-size:.75rem; padding:.7rem .3rem; min-height:44px; border-radius:.7rem; }
 .product-tour__tabs button span { display:none; }
 .product-tour__more { font-size:.75rem; margin-bottom:1rem; }
 .product-tour__panel { padding:1.3rem 1rem; border-radius:1rem; }
 .product-tour__screen { max-width:13.5rem; }
 .product-tour__panel figcaption { font-size:.75rem; }
 .product-tour__panel figcaption strong { font-size:.9375rem; }
 .premium-connections { padding-block:2.75rem; }
 .premium-heading { margin-bottom:1.5rem; }
 .premium-heading h2 { margin-bottom:1rem; }
 .premium-heading p { font-size:.9375rem; }
 .connection-index { grid-template-columns:1fr; gap:.75rem; }
 .connection-index>a { padding:1.5rem; border-radius:1.2rem; }
 .connection-index h3 { font-size:1.2rem; margin:1rem 0 .65rem; }
 .connection-index p { font-size:.875rem; padding-right:1rem; margin-bottom:0; }
 .connection-index>a>span:last-child { position:absolute; top:1.3rem; right:1.3rem; }
 .premium-resource-section { display:block; padding-block:3rem; }
 .premium-resource-section>div>p:not(.premium-eyebrow) { font-size:.9375rem; }
 .resource-index { margin-top:1.5rem; }
 .resource-index>a { padding:1.1rem 2.5rem 1.1rem 3.1rem; }
 .resource-index>a::before { left:1rem; top:1.45rem; }
 .resource-index strong { font-size:1rem; }
 .resource-index p { font-size:.75rem; }
 .resource-index__arrow { right:.9rem; }
 .premium-knowledge { padding-block:1rem 2.5rem; }
 .premium-section-top { display:block; margin-bottom:1.5rem; }
 .premium-section-top .text-link { margin-top:.5rem; }
 .knowledge-index { grid-template-columns:1fr; gap:.75rem; }
 .knowledge-index>a { padding:1.6rem; border-radius:1.2rem; }
 .knowledge-index>a::before { margin-bottom:1.5rem; }
 .knowledge-index h3 { font-size:1.4rem; }
 .knowledge-index h3 br { display:none; }
 .knowledge-index p { font-size:.875rem; }
 .home-questions { display:block; padding-block:1rem 2.5rem; }
 .home-questions>div>p:not(.premium-eyebrow) { font-size:.9375rem; }
 .home-questions__list { margin-top:1.5rem; }
 .home-questions__list summary { font-size:.9rem; }
 .home-questions__list details p { font-size:.8125rem; }
 .editorial-page .landing-hero { padding-top:.5rem; padding-bottom:2rem; margin-bottom:2rem; }
 .editorial-page .landing-hero h1 { font-size:2.15rem; overflow-wrap:break-word; }
 .editorial-page .lead { font-size:1rem; line-height:1.75; }
 [data-page-kind="tool"] .landing-hero h1 { font-size:1.9rem; }
 .editorial-copy th,.editorial-copy td { min-width:8rem; padding:.75rem; }
 .premium-hub-grid .premium-tool { grid-template-columns:minmax(0,1fr) 1rem; gap:.75rem; padding:1.4rem 0; }
 .premium-tool p { grid-column:1; grid-row:2; font-size:.875rem; }
 .premium-tool__go { grid-column:2; grid-row:1; }
 .product-page-visual { display:flex; flex-direction:column-reverse; padding:1.5rem; gap:2rem; }
 .product-page-visual img { max-height:30rem; }
 .landing-cta,.editorial-page .landing-cta { display:block; padding:1.5rem; margin:1rem 0 3rem; border-radius:1.4rem; }
 .landing-cta h2 { font-size:2rem; }
 .landing-cta .launch-waitlist { margin-top:1.5rem; }
 .launch-waitlist__form .btn--primary { width:100%; justify-self:stretch; }
}
@media (max-width:40rem) and (max-height:568px) {
 .premium-hero { padding-top:calc(1.25rem - 2px); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print {
 :root,:root[data-theme="dark"] { --bg-canvas:#fff; --bg-surface:#fff; --text-primary:#111; --text-secondary:#222; --link:#111; }
 .site-header,.site-footer,.editorial-aside,.editorial-mobile-toc,.landing-cta { display:none!important; }
 .editorial-layout { display:block; }
}
