/* Editorial preference: capitalise every word while preserving acronyms. */
h1,h2,h3,h4,h5,h6,.headline-value,.headline .eyebrow{text-transform:capitalize}
@font-face{font-family:'Figtree';src:url('/assets/fonts/figtree-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url('/assets/fonts/figtree-latin-500-normal.woff2') format('woff2');font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url('/assets/fonts/figtree-latin-700-normal.woff2') format('woff2');font-weight:700 900;font-style:normal;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage-grotesque-latin-600-normal.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage-grotesque-latin-800-normal.woff2') format('woff2');font-weight:800 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 'Figtree',sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,.logo,.headline-value,.val{font-family:'Bricolage Grotesque',sans-serif;line-height:1.12;letter-spacing:-.04em}h1{font-size:2.625rem;margin:12px 0 18px}h2{font-size:1.75rem;margin:0 0 18px}h3{font-size:1.375rem;margin:0 0 12px}p{margin:0 0 18px}a,button,input,select,summary{outline-offset:4px}:focus-visible{outline:2px solid var(--ink)}[hidden]{display:none!important}.muted{color:var(--muted)}.small{font-size:.875rem}.mono,.eyebrow{font-family:'Figtree',sans-serif;font-size:.875rem}.eyebrow{text-transform:uppercase;letter-spacing:.025em;color:var(--muted)}.container,main{max-width:1160px;margin:auto;padding:0 40px}main{padding-top:28px;padding-bottom:40px}.site-header{border-bottom:1px solid var(--hair);background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}.logo{font-size:1.5625rem;font-weight:700;text-decoration:none;white-space:nowrap}.logo span{color:var(--brand)}.logo small{font:.875rem 'Figtree';letter-spacing:0}.main-nav{display:flex;gap:24px;font-size:.875rem}.main-nav a{text-decoration:none}.theme-control{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--muted)}.theme-control select{padding:7px;border:1px solid var(--field-border);border-radius:6px;background:var(--card);color:var(--ink)}.skip-link{position:absolute;top:0;left:12px;padding:12px;background:var(--card);z-index:100;transform:translateY(-120%)}.skip-link:focus{top:8px;transform:none}.category-nav{border-bottom:1px solid var(--hair)}.nav-inner{display:flex;gap:20px;overflow:auto;scrollbar-width:thin}.nav-link{white-space:nowrap;display:flex;align-items:center;gap:7px;text-decoration:none;font-size:.875rem;padding:12px 0;border-bottom:3px solid transparent}.nav-link[aria-current=page]{border-color:var(--line);font-weight:600}.dot{width:9px;height:9px;border:2px solid var(--line);border-radius:50%}.route{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:.875rem;margin:10px 0}.breadcrumb{font-size:.875rem;color:var(--muted);margin-bottom:26px}.breadcrumb a{text-decoration:underline}.intro{margin-bottom:30px}.intro p{max-width:680px;color:var(--muted)}.updated{font-size:.875rem;color:var(--muted)}.hero{background:linear-gradient(110deg,var(--hero-start),var(--hero-end));border-bottom:1px solid var(--hair);padding:52px 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero h1{font-size:3.75rem}.hero h1 em{font-style:normal;color:var(--brand)}.hero p{font-size:1.125rem;max-width:460px;color:var(--muted)}.finder{display:flex;gap:10px;background:var(--card);padding:8px 10px 8px 18px;border:1px solid var(--hair);border-radius:8px;margin:28px 0 14px}.finder input{border:0;min-width:0;width:100%;background:transparent;color:var(--ink);font-size:1rem}.finder button{background:var(--brand);color:var(--brand-text);border:0;width:44px;height:44px;border-radius:6px;flex-shrink:0}.trust{display:flex;gap:20px;font-size:.875rem;color:var(--muted)}.line-map{width:100%;max-height:330px}.line-map text{font:11px 'Figtree';fill:var(--muted)}.line-map .station{fill:var(--hero-start);stroke:var(--ink)}.section{margin:18px 0 50px}.section-heading{display:flex;gap:20px;align-items:baseline;justify-content:space-between;margin-bottom:18px}.section-heading h2{margin:0}.section-heading a{font-size:.875rem}.doors{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--hair);border-radius:12px;overflow:hidden}.door{padding:24px;border:0;border-right:1px solid var(--hair);background:var(--door-one);color:var(--ink);text-align:left}.door:nth-child(2){background:var(--door-two)}.door:nth-child(3){background:var(--door-three);border:0}.door p{font-size:.875rem;color:var(--muted)}.door .eyebrow{display:block;margin-bottom:15px}.door[aria-pressed=true]{box-shadow:inset 0 -4px var(--brand)}.door .arrow{display:block;font-size:1.375rem;color:var(--brand);margin-top:20px}.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tool-link{display:block;text-decoration:none;border:1px solid var(--hair);border-radius:12px;background:var(--card);padding:23px}.tool-link .route{margin:0 0 20px}.tool-link p{font-size:.875rem;color:var(--muted)}.tool-link .go{display:block;margin-top:22px;font-size:.875rem;font-weight:600;color:var(--brand)}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}.filter-bar select{width:auto}.tool-workspace{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:26px;align-items:start}.input-panel,.result-panel{min-width:0;background:var(--card);border:1px solid var(--hair);border-radius:12px;padding:28px}.input-panel h2{font-size:1.4375rem;margin-bottom:8px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:25px 0}.grid>*{min-width:0}.grid label{display:block;color:var(--muted);font-size:.875rem;margin-bottom:7px}input[type=number],input[type=text],input[type=email],select{width:100%;min-width:0;padding:12px;border:1px solid var(--field-border);border-radius:6px;background:var(--paper);color:var(--ink);font-size:1rem}input[type=number]{font-family:'Figtree'}.btn{display:inline-block;text-align:center;text-decoration:none;padding:12px 18px;border:1px solid var(--hair);border-radius:8px;background:var(--card);color:var(--ink);font-size:.875rem;font-weight:500;min-height:44px}.primary{background:var(--line);color:var(--line-text);border-color:var(--line)}.secondary{background:var(--card);color:var(--ink)}.input-panel>button{width:100%;margin-bottom:15px}.result-panel{border-top:3px solid var(--line)}.headline-value{font-size:3.25rem;overflow-wrap:normal;word-break:normal;line-height:1.15;font-weight:700;color:var(--line);font-variant-numeric:tabular-nums;margin:8px 0 16px}.headline .eyebrow{margin-bottom:12px}.headline #headline-context{font-size:.875rem}.results{display:none}.results.show{display:block}.stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0}.stat{padding:14px;background:var(--soft);border-radius:8px;min-width:0}.lbl{font-size:.875rem;color:var(--muted)}.val{font-size:1.3125rem;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:normal;word-break:normal}.headline-value.fit-break,.val.fit-break,.scenario-pair strong.fit-break{overflow-wrap:anywhere}.results>.stat .val{font-size:1rem}svg text{font-family:'Figtree'}.share-actions{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 12px}.share-actions .btn{font-size:.875rem;padding:10px 12px}.assumptions{border-top:1px solid var(--hair);padding-top:18px;margin-top:20px;font-size:.875rem}.assumptions summary{font-weight:600;cursor:pointer}.note{font-size:.875rem;line-height:1.7;color:var(--muted);margin:12px 0 0}.related{background:var(--soft);border:1px solid var(--hair);border-radius:10px;padding:22px;margin-top:22px}.related a{display:block;padding:8px 0;font-size:.875rem}.table-wrap{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--hair)}th{font-size:.875rem;color:var(--muted)}tr.best{background:var(--soft)}.rank-badge{font-family:'Figtree';margin-right:8px}.sub-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;margin:12px 0}.sub-row select{grid-column:1}.row-del{width:44px;height:44px;border:1px solid var(--hair);background:var(--paper);color:var(--ink);border-radius:6px}.newsletter{padding:25px;border:1px solid var(--hair);border-radius:12px;background:var(--soft);margin:24px 0}.newsletter h2{font-size:1.5rem}.newsletter p{max-width:650px;font-size:.875rem;color:var(--muted)}.footer{border-top:1px solid var(--hair);padding:32px 0;color:var(--muted);font-size:.875rem}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.footer .logo{color:var(--ink);margin-bottom:16px;display:block}.footer-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.cookie-notice{max-width:1080px;margin:20px auto;padding:22px;border:1px solid var(--hair);border-radius:8px;background:var(--card);font-size:.875rem}.cookie-notice button,.cookie-settings{border:1px solid var(--hair);background:var(--card);color:var(--ink);padding:12px;border-radius:6px;margin-right:8px;min-height:44px}.cookie-settings{display:block;margin:20px auto}.mobile-action{display:none}.notice{border-left:3px solid var(--brand);padding:16px 20px;background:var(--soft);margin:20px 0}.faq{max-width:750px;margin-top:42px}.faq details{padding:16px 0;border-bottom:1px solid var(--hair)}.faq summary{cursor:pointer;font-weight:500}.faq p{font-size:.875rem;color:var(--muted);margin-top:15px}.result-panel.is-stale{border:2px dashed var(--line-ink)}.result-panel.is-stale::before{content:"Out Of Date — Update Your Result";display:table;margin:0 0 16px;padding:4px 10px;border-radius:999px;background:var(--line-ink);color:var(--line-text);font:600 .875rem/1.4 'Figtree',sans-serif}.empty{padding:24px;background:var(--soft);border-radius:8px}.course-label{font-size:.875rem;font-weight:600;color:var(--muted);margin:0 0 12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1200px){.container,main{padding-left:48px;padding-right:48px}.hero h1{font-size:4.125rem}}
@media(max-width:900px){.container,main{padding-left:24px;padding-right:24px}.header-inner{gap:15px}.theme-control span{display:none}.main-nav{gap:15px}.hero-grid{gap:20px}.hero h1{font-size:3rem}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.input-panel,.result-panel{padding:22px}.headline-value{font-size:2.625rem}.grid{grid-template-columns:1fr}}
@media(max-width:560px){.container,main{padding-left:20px;padding-right:20px}.header-inner{min-height:70px;flex-wrap:wrap;gap:8px;padding-top:14px;padding-bottom:14px}.logo{font-size:1.375rem}.main-nav{order:3;width:100%;font-size:.875rem;padding-top:8px}.theme-control select{font-size:1rem;max-width:none}.hero{padding:30px 0}.hero-grid{display:block}.hero h1{font-size:2.875rem}.hero p{font-size:1rem}.line-map{display:none}.trust{gap:15px;font-size:.875rem}main{padding-top:25px}.section{margin-bottom:34px}.section-heading h2{font-size:1.625rem}.section-heading>.eyebrow{display:none}.doors,.tool-grid,.tool-workspace{display:block}.door{width:100%;border-right:0;border-bottom:1px solid var(--hair);padding:20px}.door p{margin:0}.door .arrow{margin-top:12px}.door .eyebrow{margin-bottom:10px}.tool-link{margin-bottom:12px;padding:22px}.intro h1{font-size:2.125rem}.input-panel{margin-bottom:22px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.input-panel,.result-panel{padding:20px}.headline-value{font-size:2.375rem}.stat-row{gap:8px}.val{font-size:1.25rem}.mobile-action{display:block;position:sticky;bottom:0;padding:12px 0;background:var(--paper);border-top:1px solid var(--hair);z-index:10}.mobile-action .btn{width:100%}.footer-grid{display:block}.filter-bar select{width:100%}.newsletter{padding:22px}.cookie-notice{margin:20px}.breadcrumb{font-size:.875rem}.share-actions .btn{flex:1}.sub-row{grid-template-columns:minmax(0,1fr) 86px}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,border-color .15s}}
.primary{background:var(--line-ink);border-color:var(--line-ink)}
.headline-value{color:var(--line-ink)}
.chart-legend{display:flex;flex-wrap:wrap;gap:14px;font:.875rem 'Figtree';color:var(--muted);margin:10px 0}.chart-legend span:first-child{color:var(--ink)}
.hero .eyebrow{font-size:.875rem}
.webinar-band{background:var(--soft);padding:28px;border:1px solid var(--hair);border-radius:12px}.webinar-band>p{max-width:670px}.webinar-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:24px 0}.webinar-links a{font-size:.875rem;padding:10px 0}

/* Calm, direct refinement: plain-language wayfinding with restrained depth. */
body{
  letter-spacing:-.006em;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.logo,.headline-value,.val{
  font-optical-sizing:auto;
}
h1{letter-spacing:-.045em}
h2{letter-spacing:-.035em}
h3{letter-spacing:-.025em}
.site-header{
  position:sticky;
  top:0;
  z-index:40;
  border-bottom:0;
  background:var(--glass);
  -webkit-backdrop-filter:blur(22px) saturate(165%);
  backdrop-filter:blur(22px) saturate(165%);
  box-shadow:0 1px 0 color-mix(in srgb,var(--hair) 72%,transparent);
}
.header-inner{min-height:76px}
.logo{letter-spacing:-.045em}
.logo small{margin-left:2px;color:var(--muted)}
.main-nav a,.nav-link{
  border-radius:8px;
  transition:color 160ms ease,background-color 160ms ease,transform 100ms ease;
}
.main-nav a{padding:9px 4px;font-weight:500}
.main-nav a:hover{color:var(--brand)}
.main-nav a:active,.nav-link:active,.btn:active,.finder button:active,.door:active,.tool-link:active{
  transform:scale(.975);
  transition-duration:80ms;
}
.theme-control select{
  border-color:var(--field-border);
  border-radius:10px;
  background:var(--soft);
  padding:8px 10px;
}
.category-nav{
  border-bottom:1px solid var(--hair);
  background:color-mix(in srgb,var(--paper) 94%,transparent);
}
.nav-inner{gap:8px;padding-top:7px;padding-bottom:7px}
.nav-link{
  gap:8px;
  padding:8px 10px;
  border-bottom:0;
  font-size:.875rem;
  color:var(--muted);
}
.nav-link:hover{background:var(--soft);color:var(--ink)}
.nav-link[aria-current=page]{
  background:var(--soft);
  color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--hair);
}
.dot{width:8px;height:8px;border:0;background:var(--line)}
.hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 76px;
  background:
    radial-gradient(circle at 76% 16%,color-mix(in srgb,var(--line-dt) 10%,transparent),transparent 34%),
    linear-gradient(125deg,var(--hero-start),var(--hero-end));
}
.hero-grid{gap:64px}
.hero h1{font-size:clamp(3.25rem,6vw,4.5rem);line-height:1.01;max-width:660px}
.hero p{font-size:1.1875rem;line-height:1.55}
.finder{
  max-width:540px;
  padding:7px 8px 7px 20px;
  border-color:color-mix(in srgb,var(--hair) 76%,transparent);
  border-radius:15px;
  box-shadow:var(--shadow-md);
}
.finder:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent),var(--shadow-md)}
.finder button{border-radius:11px}
.line-map{opacity:.82;filter:saturate(.82)}
main{padding-top:52px;padding-bottom:64px}
.section{margin-bottom:72px}
.section-heading{margin-bottom:24px}
.doors{
  gap:14px;
  border:0;
  border-radius:0;
  overflow:visible;
}
.door{
  min-height:218px;
  padding:26px;
  border:1px solid var(--hair)!important;
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}
.door:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.door[aria-pressed=true]{border-color:var(--brand)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 13%,transparent),var(--shadow-sm)}
.door .arrow{margin-top:auto}
.tool-grid{gap:16px}
.tool-link{
  border-color:color-mix(in srgb,var(--hair) 82%,transparent);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}
.tool-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--brand) 28%,var(--hair))}
.tool-link .go{font-size:.875rem}
.input-panel,.result-panel,.newsletter,.webinar-band,.related{
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
input[type=number],input[type=text],input[type=email],select,.btn{border-radius:10px}
.btn{transition:transform 100ms ease,background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
.primary{box-shadow:0 7px 18px color-mix(in srgb,var(--line-ink) 18%,transparent)}
.primary:hover{box-shadow:0 9px 24px color-mix(in srgb,var(--line-ink) 24%,transparent)}
.newsletter{padding:32px}
.footer{padding-top:18px}

@media(max-width:900px){
  .hero{padding:52px 0 58px}
  .hero-grid{gap:32px}
}
@media(max-width:1024px) and (max-height:600px){
  .tool-workspace{grid-template-columns:1fr}
  .input-panel{margin-bottom:22px}
}
@media(max-width:560px){
  .site-header{position:relative}
  .header-inner{min-height:68px;padding-top:12px;padding-bottom:12px}
  .main-nav{padding-top:5px;justify-content:space-between;gap:8px}
  .main-nav a{padding:7px 0}
  .category-nav{position:sticky;top:0;z-index:35;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
  .nav-inner{padding-left:14px;padding-right:14px}
  .hero{padding:42px 0 48px}
  .hero h1{font-size:clamp(2.7rem,13vw,3.45rem)}
  .finder{margin-top:24px}
  main{padding-top:38px}
  .section{margin-bottom:52px}
  .doors{display:grid;grid-template-columns:1fr;gap:12px}
  .door{min-height:auto;padding:22px}
  .tool-link{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .door:hover,.tool-link:hover{transform:none}
}
@media(prefers-reduced-transparency:reduce){
  .site-header,.category-nav{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media(prefers-contrast:more){
  .site-header,.category-nav,.tool-link,.door,.input-panel,.result-panel{border-color:var(--ink)}
  .nav-link[aria-current=page]{box-shadow:inset 0 0 0 2px var(--ink)}
}

/* Methodology ledger: source status is visible before the supporting detail. */
.methodology-intro{max-width:760px}.method-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 42px}.method-summary div{display:flex;flex-direction:column;gap:2px;padding:18px;background:var(--soft);border:1px solid var(--hair);border-radius:12px}.method-summary strong{font:700 1.875rem/1 'Bricolage Grotesque',sans-serif;color:var(--brand)}.method-summary span{font-size:.875rem;color:var(--muted)}.method-group{margin:0 0 44px}.method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.method-card{min-width:0;padding:22px;background:var(--card);border:1px solid var(--hair);border-radius:12px;box-shadow:var(--shadow-sm)}.method-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.method-card h3{font-size:1.25rem;letter-spacing:-.025em}.method-card .eyebrow{margin-bottom:7px}.method-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:.875rem;line-height:1.2;background:var(--soft);color:var(--muted)}.method-status.verified{background:color-mix(in srgb,var(--brand) 12%,var(--card));color:var(--brand)}.method-status.review-needed{border:1px solid var(--hair)}.method-value{font:600 1.125rem/1.4 'Bricolage Grotesque',sans-serif;color:var(--ink)}.method-card>p:not(.eyebrow):not(.method-value){font-size:.875rem;color:var(--muted)}.method-tools{padding-top:14px;border-top:1px solid var(--hair)}.method-source{margin-bottom:0}.method-source a{color:var(--brand);font-weight:600}.methodology-note{margin-top:10px}
@media(max-width:700px){.method-summary,.method-grid{grid-template-columns:1fr}.method-summary{gap:8px}.method-card-head{display:block}.method-status{display:inline-block;margin-bottom:16px}}
/* Methodology jump chips and Back To Top (review 13 Oct 2026, home-nav-07). */
.method-jump{margin:0 0 32px}.method-jump p{margin:0 0 8px;font-weight:700}.method-jump ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.method-jump li{min-width:0}.method-jump a{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:8px 14px;border:1px solid var(--hair);border-radius:999px;background:var(--card);color:var(--ink);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.method-jump a span{color:var(--muted);font-weight:500}.method-jump a:hover{border-color:var(--brand)}.method-group{scroll-margin-top:16px}.method-top{margin:16px 0 0;text-align:right}.method-top a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.result-next-step{margin-top:1.5rem;padding:1.25rem;background:var(--soft);border:1px solid var(--hair);border-radius:12px;overflow-wrap:break-word}.result-next-step h2{font-size:1.375rem;line-height:1.25;letter-spacing:-.025em}.result-next-step p{font-size:1rem;line-height:1.6}.result-next-step .next-step-label,.result-next-step .next-step-note{font-size:.875rem;color:var(--muted)}.result-next-step .next-step-note{margin:1rem 0 0}.result-next-step .btn{max-width:100%;white-space:normal}
.tool-link>h2{font-size:1.375rem;margin:0 0 12px}

/* Interactive chrome and disclosure rows meet the 44px touch-target floor. */
.main-nav a,.nav-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.theme-control select{min-height:44px}
.faq summary,.assumptions summary,.member-faq summary{display:flex;align-items:center;min-height:44px;padding-block:8px}
.related a{display:flex;align-items:center;min-height:44px;padding-block:8px}

/* Keep small-screen navigation readable and comfortably tappable. */
@media(max-width:560px){
  .breadcrumb{font-size:.875rem;line-height:1.5}
  .breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
  .footer-links{gap:4px 12px}
  .footer-links a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0}
}

/* Accessibility floor: visible field edges, readable placeholders and clear stale states. */
input,select,textarea{border-color:var(--field-border)}
::placeholder{color:var(--muted);opacity:1}
#add-sub-row{color:var(--line-ew-ink)!important;border-color:var(--line-ew-ink)!important}
/* Theme picker stays compact wherever the chrome places it, header or footer. */
.theme-control select{width:auto;max-width:12rem;border:1px solid var(--field-border)}
footer .theme-control{display:inline-flex;align-items:center;gap:10px;width:auto;max-width:100%;font-size:.875rem;color:var(--muted)}
footer .theme-control>span{display:inline}
footer .theme-control select{flex:0 0 auto;width:auto;min-width:0;max-width:12rem}
@media(max-width:560px){footer .theme-control select{font-size:1rem}}
/* Inline form errors from tool-page.js and card-welcome.js. */
.field-error,.form-error{color:var(--danger,var(--line-ns-ink));font-size:.875rem;font-weight:600;margin:6px 0 0}
.form-error{margin:0 0 12px}.form-error:empty{display:none}
.amount-echo{display:block;margin-top:4px;font-size:.875rem;color:var(--muted)}.amount-echo:empty{display:none}.form-required-note{margin:0 0 12px;font-size:.875rem;color:var(--muted)}.sub-row .field-error{grid-column:1/-1;margin:0}
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger,var(--line-ns-ink))}
/* Shared Buyer Residency / Homes Owned In Singapore setting (property tools). */
.buyer-profile{margin:0 0 18px;padding:14px 14px 4px;border:1px solid var(--hair);border-radius:12px;background:var(--soft);min-width:0}
.buyer-profile legend{float:left;width:100%;padding:0;margin:0 0 6px;font-weight:700;overflow-wrap:anywhere}
.buyer-profile legend+*{clear:both}
.buyer-profile>p{margin:0 0 10px}
.buyer-profile [hidden]{display:none}
/* Shared Buyer Residency / Homes Owned In Singapore setting (property tools). */
.buyer-profile{margin:0 0 18px;padding:14px 14px 4px;border:1px solid var(--hair);border-radius:12px;background:var(--soft);min-width:0}
.buyer-profile legend{float:left;width:100%;padding:0;margin:0 0 6px;font-weight:700;overflow-wrap:anywhere}
.buyer-profile legend+*{clear:both}
.buyer-profile>p{margin:0 0 10px}
.buyer-profile [hidden]{display:none}
/* Layout and navigation UX pass (review U4, U5, U13, m18). */
@media(max-width:560px){
  .input-panel select{width:100%;max-width:100%;min-width:0}
}
@media(max-width:430px){
  .tool-workspace .grid{grid-template-columns:1fr}
  .tool-workspace .grid>div>label{display:block}
}
/* iOS zooms into any field under 16px; this floor wins over label-inherited sizes. */
@media(max-width:700px){
  input,select,textarea{font-size:max(1rem,16px)!important}
}
.mobile-action.is-redundant{visibility:hidden;opacity:0;pointer-events:none}.mobile-action.is-past-form{visibility:hidden;opacity:0;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.mobile-action{transition:opacity .15s,visibility .15s}}
summary{min-height:44px;padding-block:10px}
.footer-links a,.text-link{display:inline-flex;align-items:center;min-height:44px}
/* Current page (m7): render-chrome.js sets aria-current="page"; show it with an underline, not colour alone. */
.main-nav a[aria-current=page],.footer-links a[aria-current=page],.member-login-link[aria-current=page]>span{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-skip-ink:none}
/* Keep the weight in the header so the 375px link row does not reflow. */
.main-nav a[aria-current=page]{color:var(--ink)}.footer-links a[aria-current=page]{color:var(--ink);font-weight:600}
.member-login-link[aria-current=page]{border-color:var(--brand)}

/* wave1 coordinator (30 Sep beta feedback). Existing tokens only; no new colours. */
/* Number fields: no spinner arrows (accidental changes); the scroll-wheel guard lives in common.js. */
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* Anchors land at the section top, just below the sticky category bar (not 220px above it). */
html{scroll-padding-top:72px}.member-account-view,.account-group,.account-settings,.course-lesson{scroll-margin-top:0}
/* Signed-in members no longer see Join Free. */
.site-header.is-signed-in .nav-item-join{display:none}
/* Step 1 / Step 2 cues on every calculator. */
.tool-step{display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem;font:600 .875rem/1.3 'Figtree',sans-serif;color:var(--line-ink);text-transform:none;letter-spacing:0}
.tool-step-number{display:inline-flex;align-items:center;min-height:1.6rem;padding:0 .6rem;border-radius:999px;background:var(--line-ink);color:var(--line-text)}
.tool-guide-top{margin:.5rem 0 0;font-size:.95rem}.tool-guide-top a{font-weight:600}
/* Inputs in a row line up even when one label wraps to two lines (CPF projection, tax estimator, compound growth, SRS). */
.tool-workspace .grid{align-items:stretch}
.tool-workspace .grid>div{display:flex;flex-direction:column;justify-content:flex-start;min-width:0}
.tool-workspace .grid>div>label,.tool-workspace .grid>div>.label-row{flex:0 0 auto;min-height:2.9em;display:flex;align-items:flex-end}
.tool-workspace .grid>div>select,.tool-workspace .grid>div>input{margin-top:.35rem}
@media(max-width:560px){.tool-workspace .grid>div>label,.tool-workspace .grid>div>.label-row{min-height:0}}
.result-panel.is-stale::before{content:"Inputs Changed — Calculate Again To Update"}.result-panel.has-error::before{content:"Fix The Highlighted Value To Update Your Result"}.result-panel.has-error .headline-value,.result-panel.has-error .results{opacity:.35}
/* (i) toggle-tips from tool-glossary.js. */
.label-row{display:flex;align-items:flex-end;gap:.35rem;flex-wrap:nowrap}.label-row>label{margin:0;flex:0 1 auto;min-width:0}.label-row>.info-tip{flex:0 0 auto;display:inline-flex;align-items:center;height:1.4em;margin:0}
.info-tip{position:relative;display:inline-flex;vertical-align:middle}
.info-tip-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;padding:0;border:1px solid var(--line-ink);border-radius:50%;background:var(--card);color:var(--line-ink);font:700 .8125rem/1 'Figtree',sans-serif;font-style:italic}
.info-tip-button:hover,.info-tip-button[aria-expanded=true]{background:var(--line-ink);color:var(--line-text)}
.info-tip-button::before{content:"";position:absolute;inset:-10px}.info-tip-text{display:block}.info-tip-close{display:block;min-height:44px;margin:.5rem 0 0 auto;padding:.5rem 1rem;border:1px solid var(--field-border);border-radius:999px;background:var(--paper);color:var(--ink);font:700 .9375rem/1 'Figtree',sans-serif}
.info-tip-bubble{position:absolute;z-index:40;top:calc(100% + 6px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(280px,80vw);padding:.6rem .75rem;border:1px solid var(--hair);border-radius:10px;background:var(--card);color:var(--ink);box-shadow:var(--shadow-md);font:400 .875rem/1.45 'Figtree',sans-serif;text-transform:none;letter-spacing:0;text-align:left;white-space:normal}
.info-tip-bubble[hidden]{display:none}
/* Large text (review 3 Oct 2026): bubbles always wrap inside the screen. */
.info-tip-bubble{max-width:min(280px,calc(100vw - 32px));overflow-wrap:anywhere}
@media(max-width:767px){.label-row{flex-wrap:wrap;min-width:0}.label-row>.info-tip>.info-tip-button{align-self:flex-end;margin-block:-2px 0}.label-row>label{max-width:calc(100% - 2.75rem)}.info-tip,.label-row>.info-tip{display:contents}.info-tip-bubble{position:static;display:block;flex:1 0 100%;width:auto;max-width:100%;transform:none;margin:.4rem 0 .6rem;box-shadow:none;font-size:1rem}}
/* Result-card share row and onboarding after sign-up. */
.card-preview-social{margin:.5rem 0 0}.card-preview-social a{font-weight:600}
/* Focused setup after sign-up (member-onboarding.js): only the logo, progress, one screen, Back and Skip. */
body.onboarding-active{overflow-x:hidden;background:var(--paper)}body.onboarding-active>:not(#member-onboarding){display:none!important}
.member-onboarding{box-sizing:border-box;min-height:100vh;min-height:100dvh;max-width:34rem;margin:0 auto;padding:12px 16px 32px;display:flex;flex-direction:column;background:var(--paper);color:var(--ink)}
.onboarding-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px}.onboarding-logo.logo{margin:0;font-size:1.25rem}
.onboarding-skip{min-height:44px;padding:0 .25rem;border:0;background:none;color:var(--muted);font:600 .9rem 'Figtree',sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.onboarding-progress{margin:.5rem 0 0}.onboarding-progress-text{margin:0 0 .35rem;font-size:.85rem;font-weight:600;color:var(--muted)}
.onboarding-track{display:block;height:8px;border-radius:99px;background:var(--hair);overflow:hidden}.onboarding-fill{display:block;height:100%;width:0;border-radius:inherit;background:var(--brand)}
.onboarding-back-row{min-height:44px;margin-top:.5rem}.onboarding-back{min-height:44px;padding:0 .25rem;border:0;background:none;color:var(--ink);font:600 1rem 'Figtree',sans-serif;cursor:pointer}
.onboarding-stage{flex:1}.onboarding-screen h1{margin:.25rem 0 .5rem;font-size:clamp(1.6rem,7vw,2.1rem);line-height:1.15}.onboarding-screen h1:focus{outline:none}.onboarding-screen h1:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.onboarding-lead{font-size:1.1rem;margin:0 0 1rem}.onboarding-body>p{margin:0 0 1rem}.onboarding-email{font-weight:600}
.onboarding-answers{display:grid;gap:.65rem}.onboarding-answer{width:100%;min-height:60px;padding:.85rem 1rem;border:2px solid var(--hair);border-radius:var(--radius-btn);background:var(--card);color:var(--ink);font:600 1.05rem 'Figtree',sans-serif;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}
.onboarding-answer[aria-pressed=true]{border-color:var(--brand);background:var(--soft)}@media(hover:hover){.onboarding-answer:hover{border-color:var(--brand);background:var(--soft)}}
.onboarding-offer{margin-top:1.5rem!important;padding:1rem;border-radius:var(--radius);background:var(--soft);font-weight:600}
.onboarding-actions{display:grid;gap:.65rem;margin-top:1.25rem}.onboarding-actions .btn{width:100%;min-height:52px;justify-content:center;text-align:center}
.onboarding-link{justify-self:center;min-height:44px;display:inline-flex;align-items:center;font-weight:600;color:var(--ink);text-underline-offset:4px}
.onboarding-tools{list-style:none;counter-reset:tool;padding:0;margin:0 0 1rem;display:grid;gap:.65rem}.onboarding-tools li{counter-increment:tool;position:relative;padding:.85rem 1rem .85rem 3.1rem;border:1px solid var(--hair);border-radius:var(--radius-btn);background:var(--card)}
.onboarding-tools li::before{content:counter(tool);position:absolute;left:1rem;top:.85rem;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--brand);color:var(--brand-text);font-weight:700;font-size:.9rem;display:grid;place-items:center}
.onboarding-tools a{font-weight:700;font-size:1.05rem}.onboarding-tools p{margin:.2rem 0 0}.onboarding-saved-line{font-size:.95rem;color:var(--muted)}.onboarding-download{width:100%;justify-content:center}
@media(prefers-reduced-motion:no-preference){.onboarding-fill{transition:width .3s ease}.onboarding-screen{animation:onboarding-in .2s ease-out}@keyframes onboarding-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
/* Freelancer Tax Pot invoice rows */
.tp-invoice{min-width:0;border:1px solid var(--hair);border-radius:8px;margin:12px 0;padding:10px 12px 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px;gap:8px;align-items:start}.tp-invoice legend{font-size:.875rem;font-weight:600;padding:0 4px}.tp-field{min-width:0}.tp-lbl{display:block;color:var(--muted);font-size:.875rem;margin-bottom:5px}.tp-invoice input[type=date]{width:100%;min-width:0;padding:11px;border:1px solid var(--field-border);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit;font-size:1rem;min-height:48px}.tp-invoice .field-error{grid-column:1/-1;margin:0}.tp-invoice .row-del{align-self:end}.tp-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}#tp-r-table{margin-top:8px}@media(max-width:560px){.tp-invoice{display:flex;flex-wrap:wrap}.tp-invoice .tp-field{flex:1 1 7.5rem}.tp-invoice .tp-field:nth-of-type(3){order:1}.tp-invoice .tp-field:nth-of-type(2){order:2;flex-basis:11rem}.tp-invoice .row-del{order:3;margin-left:auto}.tp-invoice .field-error{order:4;flex-basis:100%}}
/* Header sub-menus: WAI-ARIA disclosure navigation with top-level links (common.js).
   Buttons and panels ship hidden, so without JavaScript the header is four plain links.
   Phones and tablets use a Menu link: :target opens it without JavaScript, common.js makes it a disclosure button. */
.l-ns{--line:var(--line-ns);--line-ink:var(--line-ns-ink)}.l-ew{--line:var(--line-ew);--line-ink:var(--line-ew-ink)}.l-ne{--line:var(--line-ne);--line-ink:var(--line-ne-ink)}.l-cc{--line:var(--line-cc);--line-ink:var(--line-cc-ink)}.l-dt{--line:var(--line-dt);--line-ink:var(--line-dt-ink)}.l-te{--line:var(--line-te);--line-ink:var(--line-te-ink)}.l-jr{--line:var(--line-jr);--line-ink:var(--line-jr-ink)}
.header-inner{position:relative;--nav-gutter:40px}
.nav-list,.nav-panel ul{margin:0;padding:0;list-style:none}
.nav-list{display:flex;align-items:center;gap:4px 14px}
.nav-item{position:relative;display:flex;align-items:center}
.nav-item-tools,.nav-item-guides{position:static}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:26px;min-height:36px;padding:0;border:0;border-radius:8px;background:none;color:var(--muted)}
.nav-toggle::before{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-2px) rotate(45deg)}
.nav-toggle[aria-expanded=true]::before{transform:translateY(2px) rotate(-135deg)}
.nav-toggle:hover,.nav-toggle[aria-expanded=true]{color:var(--brand);background:var(--soft)}
.nav-item.is-open>.nav-top{color:var(--brand)}
.nav-panel{position:absolute;z-index:45;top:calc(100% + 16px);left:-10px;width:20rem;max-height:calc(100vh - 110px);overflow:auto;padding:14px;border:1px solid var(--hair);border-radius:var(--radius);background:var(--card);color:var(--ink);box-shadow:var(--shadow-md);font-size:.875rem}
.nav-item-goals .nav-panel{width:34rem}
.nav-item-tools .nav-panel,.nav-item-guides .nav-panel{top:100%;left:var(--nav-gutter);right:var(--nav-gutter);width:auto;padding:22px 26px 16px}
.site-header .main-nav .nav-panel a{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;min-width:0;white-space:normal;min-height:36px;padding:7px 8px;border-radius:8px;font-weight:500;line-height:1.35;color:var(--ink)}
.site-header .main-nav .nav-panel a:hover{background:var(--soft);color:var(--brand)}
.nav-panel li[class]>a::before,.nav-line-title::before{content:"";flex:0 0 auto;width:8px;height:8px;margin-top:.4em;border-radius:50%;background:var(--line)}
.nav-panel small{display:block;margin-top:2px;font-size:.875rem;font-weight:400;color:var(--muted)}
.nav-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 8px}
.nav-goals a{flex-direction:column;gap:0!important;position:relative;padding-left:26px!important}
.nav-goals a::before{position:absolute;left:9px;top:7px}
.nav-play a{flex-direction:column;gap:0!important}
.site-header .main-nav .nav-panel .nav-all{display:inline-flex;margin-top:6px;font-size:.875rem;font-weight:600;color:var(--line-ink,var(--brand))}
.nav-panel>.nav-all{margin-top:10px;padding-top:10px}
.site-header .main-nav .nav-panel>.nav-all,.site-header .main-nav .nav-browse .nav-all{color:var(--brand)}
.nav-mega{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 26px}
.site-header .main-nav .nav-panel .nav-line-title{align-items:center;font:600 .9375rem/1.25 'Bricolage Grotesque',sans-serif;letter-spacing:-.01em}
.nav-line-title::before{width:12px;height:12px;margin:0}
.nav-mega ul{margin:2px 0 0 13px!important;padding-left:13px!important;border-left:2px solid var(--line)}
.nav-mega li{position:relative}
.nav-mega li::before{content:"";position:absolute;left:-20px;top:50%;width:8px;height:8px;margin-top:-6px;border:2px solid var(--line);border-radius:50%;background:var(--card)}
.nav-mega .nav-all{margin-left:18px}
.nav-browse{align-self:end}
.nav-guides{display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:24px}
.nav-group-title,.nav-guides p{margin:0 0 6px;padding:0 8px;font:.8125rem/1.4 'Figtree',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nav-menu-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:8px 10px;border:1px solid var(--hair);border-radius:10px;color:var(--ink);font-size:.875rem;font-weight:600;line-height:1;text-decoration:none}
.nav-menu-icon{position:relative;width:18px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
.nav-menu-toggle[aria-expanded=true]{border-color:var(--brand);color:var(--brand)}
.nav-menu-toggle[aria-expanded=true] .nav-menu-icon{box-shadow:none;transform:rotate(45deg)}
.nav-menu-toggle[aria-expanded=true] .nav-menu-icon::after{content:"";position:absolute;inset:0;border-radius:2px;background:currentColor;transform:rotate(90deg)}
.nav-account{display:none}
@media(min-width:1200px){.header-inner{--nav-gutter:48px}}
@media(prefers-reduced-motion:no-preference){.nav-panel{animation:nav-panel-in 140ms ease-out}@keyframes nav-panel-in{from{opacity:0;transform:translateY(-4px)}}}
@media(max-width:960px){
  .site-header .header-inner{flex-wrap:wrap;row-gap:8px}
  .site-header .header-inner>.logo{order:1;margin-right:auto}
  .site-header .header-inner>.member-login-link,.site-header .header-inner>.member-account-actions{order:2;margin-left:0}
  .site-header .nav-menu-toggle{display:inline-flex;order:3}
  .site-header>.header-inner>.main-nav{order:4;display:none;width:100%;margin:0;padding:4px 0 14px;overflow:visible;border-top:1px solid var(--hair);font-size:1rem}
  .site-header>.header-inner>.main-nav:target,.site-header[data-menu=open]>.header-inner>.main-nav{display:block}
  .main-nav .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .main-nav .nav-item{position:static;flex-wrap:wrap;border-bottom:1px solid var(--hair)}
  .site-header .main-nav .nav-top{flex:1 1 auto;justify-content:flex-start!important;min-height:52px;padding:0 4px!important;font:600 1.125rem/1.2 'Bricolage Grotesque',sans-serif;letter-spacing:-.02em}
  .main-nav .nav-toggle{width:52px;min-height:52px;border-left:1px solid var(--hair);border-radius:0}
  .site-header .main-nav .nav-panel{position:static;flex:0 0 100%;width:auto!important;max-height:none;overflow:visible;margin:0 0 14px;padding:4px 0 0!important;border:0;border-radius:0;background:none;box-shadow:none;animation:none}
  .site-header .main-nav .nav-panel a{min-height:44px;font-size:1rem}
  .nav-goals,.nav-guides{grid-template-columns:minmax(0,1fr);gap:12px}
  .nav-mega{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
  .site-header .main-nav .nav-panel,.nav-guides>div{min-width:0}
  .nav-item-join{padding-top:16px}
  .site-header .main-nav .nav-item-join .member-nav-link{display:flex;min-height:48px;border-radius:10px;background:var(--brand);color:var(--brand-text)!important;font-size:1rem}
  .site-header .member-menu-toggle,.site-header .member-account-menu{display:none!important}
  .site-header .member-login-link.is-signed-in{border-radius:10px}
  .site-header.is-signed-in .nav-item-join{display:none}
  .site-header.is-signed-in .nav-account{display:block;padding-top:14px}
  .nav-account .nav-group-title{padding:0 4px}
  .nav-account .nav-account-note{margin:0;padding:0 4px 8px;color:var(--muted);font-size:.875rem;line-height:1.35}
  .site-header .main-nav .nav-account a,.nav-account button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px;padding:0 4px;border:0;background:none;color:var(--ink);font:600 1rem/1.2 'Figtree',sans-serif;text-decoration:none}
}
@media(min-width:561px) and (max-width:960px){.site-header>.header-inner>.main-nav{max-height:calc(100vh - 90px);overflow-y:auto}}
@media(max-width:560px){
  .nav-mega{grid-template-columns:minmax(0,1fr)}
  .nav-menu-label,.site-header .member-login-link.is-signed-in>span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .nav-menu-toggle{padding:8px}
  .site-header .member-login-link.is-signed-in .member-login-icon{display:block!important}
}
@media(prefers-contrast:more){.nav-panel{border-color:var(--ink)}}
@media(forced-colors:active){.nav-panel{border:1px solid CanvasText}.nav-mega li::before{background:Canvas}}
/* Reading measure (3 Oct 2026): prose stays about 65-75 characters a line on wide screens.
   In em, so it follows the text size and the browser's font setting. */
main :is(p,dd,figcaption),main :is(article,.info-copy,.note) li{max-width:35em}
