/* v4 chrome: header (3-item nav) + navy footer. Shared by every page. */
.skip{position:absolute;left:8px;top:-60px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;z-index:20;text-decoration:none}
.skip:focus{top:8px;left:8px}
.v4-top{position:relative;z-index:3;font-family:var(--font)}
body:not(.page-home) .v4-top{background:var(--ground);border-bottom:1px solid var(--line)}
.v4-top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;max-width:1152px;margin:0 auto;padding:0 24px}
.v4-logo{white-space:nowrap;display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none;font-size:17px;min-height:44px}
.v4-logo b{display:block;flex:none;width:32px;height:32px}
.v4-logo b svg{display:block;width:100%;height:100%}
.v4-nav{display:flex;gap:4px;align-items:center}
.v4-nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:15px;padding:0 14px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.v4-nav a:hover{background:rgba(11,31,58,.06)}
.v4-tag{font-size:12px;font-weight:600;color:var(--muted);border:1px solid #CBD5E1;border-radius:999px;padding:2px 10px;margin-left:8px}
.v4-foot{background:var(--navy);color:#C9D4E5;padding:56px 0 48px;font-size:14px;line-height:1.5;font-family:var(--font)}
.v4-foot .wrap{max-width:1152px;margin:0 auto;padding:0 24px}
.v4-foot a{color:#fff;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:32px}
.v4-foot .fcols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:32px}
.v4-foot .fh{color:#fff;font-size:14px;font-weight:700;margin:0 0 8px;letter-spacing:0;line-height:1.4}
.v4-foot .fcols ul+.fh{margin-top:20px}
.v4-foot ul{list-style:none;padding:0;margin:0}
.v4-foot li{margin:0 0 4px}
.v4-foot .footer-legal{border-top:1px solid var(--navy-line);padding-top:24px;margin:0;background:none;color:#C9D4E5;font-size:14px}
.v4-foot .footer-legal p{margin:0 0 8px;max-width:90ch;color:#C9D4E5}
@media (max-width:900px){.v4-foot .fcols{grid-template-columns:1fr;gap:16px}}
@media (max-width:600px){
  .v4-top .wrap{height:60px;padding:0 20px}
  .v4-logo{font-size:15px}.v4-logo b{width:28px;height:28px}
  .v4-nav a{padding:0 10px;font-size:14px}.v4-nav .hide-s,.v4-tag{display:none}
  .v4-foot .wrap{padding:0 20px}
}
/* interior pages: v4 bits on top of styles.css */
.learn-cards{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.learn-card{padding:20px}.learn-card a{font-size:17px}.learn-card p{margin:6px 0 0}
.src-list li{margin:0 0 12px}.src-list ul{margin:6px 0}
.faq-groups ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0}.faq-groups a{display:inline-flex;min-height:44px;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);text-decoration:none}
.example details>summary{list-style:none;cursor:pointer}.example details>summary::-webkit-details-marker{display:none}.example details>summary h2{display:inline;margin:0}.example details>summary::after{content:" +";font-weight:600;color:var(--accent-strong)}.example details[open]>summary::after{content:" –"}
.results[data-state=ok] [data-empty-msg],.results[data-state=invalid] [data-empty-msg]{display:none}
.not-found h1{margin-top:0}
.pre-intro+.pre-intro{font-weight:600;color:var(--ink)}
.v4-foot .footer-legal .footer-entity{color:#fff!important;font-weight:500}

/* ===== Gate v4-r1 changes (25 Oct) ===== */
/* 12: JS-only controls hidden without JavaScript (the js class is set inline in <head>) */
html:not(.js) [data-js-only]{display:none!important}
/* 10: quiz shows question 1 only until app.js marks it ready, so nothing shifts on load */
.js [data-quiz]:not(.ready) .quiz-q~.quiz-q{display:none}
/* 7: solid focus ring on interior inputs too */
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal,#0F766E);outline-offset:0}
/* 8: pricing — 1-up under 600, 2-up 600–1279, 5-up at 1280+ */
.price-cards.five{grid-template-columns:minmax(0,1fr)}
@media(min-width:600px){.price-cards.five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:600px){.price-cards.five h2{min-height:56px}}
@media(min-width:1280px){.price-cards.five{grid-template-columns:repeat(5,minmax(0,1fr))}}
.price-cards.five h2{font-size:20px;line-height:28px;margin:0}
.price-cards.five .price .amt{font-size:34px;line-height:40px}
/* 9: interior type scale (H2 34/40, 26/32 on mobile) and round step numbers */
.content-page h2{font-size:34px;line-height:40px}
.content-page .result-card h2,.content-page .example h2,.content-page .sheet-head h2{font-size:1.5rem;line-height:1.25}
@media(max-width:600px){.content-page h2{font-size:26px;line-height:32px}}
.step-n{border-radius:50%}
.ea-plan-line{margin:0 0 16px}

/* gate v4-r1 follow-up: nothing wraps in the 5-up pricing row */
.price-cards.five .btn{white-space:nowrap;padding-inline:14px;font-size:15px}
.price-cards.five .plan-enterprise .price .amt{font-size:26px;line-height:32px}

/* gate v4-r2 N3: calculator-page and interior type */
.calc .prose h2,.calc .faq h2,.calc .sources h2,.calc .assumptions h2,.calc .related h2{font-size:34px;line-height:40px}
@media(max-width:600px){.calc .prose h2,.calc .faq h2,.calc .sources h2,.calc .assumptions h2,.calc .related h2{font-size:26px;line-height:32px}}
main h1{font-size:48px;line-height:56px}
@media(max-width:600px){main h1{font-size:36px;line-height:40px}}
.noscript{font-size:14px;font-weight:600;color:var(--ink);margin:12px 0}

/* 320px header (25 Oct): header fits without sideways scroll on the smallest phones */
@media(max-width:374px){.v4-top .wrap{padding:0 16px;gap:8px}.v4-logo{white-space:normal;line-height:1.15;font-size:14px;min-width:0;gap:8px}.v4-logo b{flex:none}.v4-nav a{padding:0 8px}}
