/* Study2Success: a clear guide and working space, using the supplied brand. */
:root {
  --navy:#081F43; --navy-2:#183B6B; --navy-3:#D9E4EF; --red:#CF192A; --red-dark:#A5121F; --white:#FFFFFF;
  --ink:#142B49; --muted:#51617A; --line:#CDD9E5; --bg:#EDF3F8; --card:#FFFFFF; --info-bg:#EAF1F8;
  --ok:#216441; --ok-bg:#EAF5EE; --warn:#865600; --warn-bg:#FFF5DE; --bad:#A5121F; --bad-bg:#FFF0F0;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:"Avenir Next",Avenir,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gutter:32px; --section:76px; --radius:8px; --radius-lg:16px;
  --shadow:0 12px 36px rgba(8,31,67,.06); --shadow-lg:0 18px 48px rgba(8,31,67,.09);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:24px}

body{margin:0;font:16px/1.65 var(--sans);color:var(--ink);background:var(--white);overflow-wrap:break-word;-webkit-font-smoothing:antialiased}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;color:var(--navy);line-height:1.14;margin:0 0 .6em;letter-spacing:-.025em}

h1{font-size:clamp(2.25rem,2rem + 1.7vw,3.8rem)}
h2{font-size:clamp(1.8rem,1.55rem + 1vw,2.6rem);margin-top:1.7em}
h3{font-size:1.4rem;margin-top:1.2em}
h4{font-size:1.1rem}

p{margin:0 0 1em}
a{color:var(--navy-2);text-underline-offset:4px}
a:hover{color:var(--red)}
strong{font-weight:650;color:var(--navy)}
small,.small{font-size:.875rem;color:var(--muted)}
code,.mono{font-family:var(--mono);font-size:.92em}
.serif{font-family:var(--serif)}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:4px}

.container{width:100%;max-width:1360px;margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:940px}
.measure{max-width:72ch}
.lead{font-size:1.125rem;color:var(--muted);max-width:65ch;line-height:1.65}
.page-intro{margin:48px 0 36px}
.page-context,.eyebrow,.section-kicker{font-size:.875rem;font-family:var(--sans);font-weight:600;color:var(--muted);letter-spacing:0;text-transform:none;margin:0 0 12px}

main{padding-bottom:64px}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:#fff;color:var(--navy);padding:12px 18px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}

.site-header{background:#fff;border-bottom:1px solid var(--line)}
.site-header>.container{display:flex;align-items:center;gap:36px;min-height:128px}
.brand{display:flex;align-items:center;margin-right:auto;padding:15px 0;flex:none}
.brand .lockup{height:96px;width:auto;display:block}
.main-nav{display:flex;align-items:center;gap:24px}
.main-nav a{padding:10px 0;text-decoration:none;color:var(--navy);font-size:.9375rem;white-space:nowrap}
.main-nav a[aria-current]{box-shadow:0 3px 0 var(--red);font-weight:650}
.nav-cta{display:inline-flex;align-items:center;gap:24px;flex:none;border:1px solid var(--navy);border-radius:8px;padding:10px 18px;color:var(--navy);text-decoration:none;font-size:.9375rem;font-weight:600}
.nav-cta:hover{background:var(--navy);color:white}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;font:600 .9375rem/1.45 var(--sans);min-height:46px;padding:12px 20px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:8px;cursor:pointer;text-decoration:none;text-align:center}
.btn:hover{color:#fff;background:var(--navy-2)}
.btn.secondary{background:#fff;color:var(--navy);border-color:var(--line)}
.btn.secondary:hover{background:var(--info-bg);border-color:var(--navy)}
.btn.accent{background:var(--red);border-color:var(--red)}
.btn.accent:hover{background:var(--red-dark)}
.btn.on-navy{color:var(--navy);background:#fff;border-color:#fff}
.btn.on-navy:hover{background:var(--info-bg)}
.btn.small{font-size:.875rem;min-height:38px;padding:8px 13px}
.btn-row,.cta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:22px 0 0}
.text-button{border:0;padding:7px 0;background:transparent;color:var(--navy);font:600 .875rem var(--sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* The opening is a useful launcher, not a separate marketing screen. */
.home-launch{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.3fr);gap:38px;padding-top:36px;padding-bottom:32px;align-items:stretch}
.start-panel{background:var(--navy);color:#fff;border-radius:18px 18px 72px 18px;padding:40px 36px;display:flex;flex-direction:column;align-items:start;justify-content:center}
.start-panel h1{color:#fff;font-size:clamp(2.5rem,2.2rem + 1.8vw,4rem);line-height:1.03;max-width:11ch;margin:18px 0 24px}
.start-context{font-size:.875rem;line-height:1.6;margin:0;color:#D7E2F0;max-width:25ch;padding-left:14px;border-left:3px solid var(--red)}
.start-panel>p:not(.start-context){max-width:36ch;font-size:1rem;color:#D7E2F0}
.start-panel .btn{margin:12px 0 24px;font-size:.875rem}
.start-note{display:flex;align-items:center;gap:13px;font-size:.875rem;line-height:1.6;color:#D7E2F0;margin-top:auto;padding-top:18px}
.start-note>span:first-child{display:grid;place-items:center;border:1px solid #657D9D;border-radius:50%;width:28px;height:28px;flex:none}
.launch-heading{display:flex;gap:16px;align-items:end;justify-content:space-between;margin:4px 0 20px}
.launch-heading h2{font-size:1.75rem;max-width:18ch;margin:0}
.launch-heading p{font-size:.875rem;color:var(--muted);max-width:16ch;margin:0}
.launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.launch-tool{display:flex;gap:16px;align-items:start;text-decoration:none;color:var(--navy);padding:22px;border:1px solid transparent;border-radius:12px;background:var(--bg)}
.launch-tool:hover{border-color:var(--navy);color:var(--navy);background:white}
.tool-symbol{display:grid;place-items:center;width:44px;height:44px;flex:none;background:#fff;border-radius:11px;color:var(--navy)}
.tool-symbol svg,.page-symbol svg{width:25px;height:25px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.launch-copy{min-width:0;flex:1;width:100%;overflow-wrap:anywhere}
.launch-copy>strong{display:block;font:600 1.08rem/1.35 var(--sans)}
.launch-copy>span{display:block;font-size:.875rem;line-height:1.5;color:var(--muted);margin:5px 0 10px}
.launch-copy>small{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--navy);font-size:.875rem;font-weight:600}
.launch-copy>small span{color:var(--red);font-size:1.05rem}
.compact{padding:17px 15px;gap:12px}
.compact .tool-symbol{width:35px;height:35px;border-radius:9px}
.compact .tool-symbol svg{width:21px;height:21px}
.compact .launch-copy>strong{font-size:1rem}
.compact .launch-copy>span{font-size:.875rem;line-height:1.45;margin-bottom:8px}
.all-tools-link{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:.875rem;font-weight:600;text-decoration:none}
.source-ribbon{display:flex;gap:24px;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:22px;color:var(--muted);font-size:.875rem}
.source-ribbon>a{font-weight:600}
.source-ribbon>span:last-child{margin-left:auto}

/* The five-step journey is the one place where a sequence is useful. */
.home-path{background:var(--bg);padding:54px 0}
.home-path-head{display:flex;gap:28px;justify-content:space-between;align-items:end;margin-bottom:32px}
.home-path-head h2{margin:0;max-width:24ch}
.home-path-head>a{flex:none;font-size:.9375rem}
.journey-route{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.journey-stop{position:relative;padding:23px 20px;border-radius:12px;background:#fff;text-decoration:none;color:var(--navy)}
.journey-stop:hover{box-shadow:inset 0 0 0 1px var(--navy);color:var(--navy)}
.journey-node{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font-size:.875rem;margin-bottom:26px}
.journey-stop:not(:last-child)::after{content:'›';position:absolute;right:-11px;top:25px;z-index:1;font-size:1.5rem;color:var(--muted)}
.journey-copy strong{display:block;font:600 1.22rem var(--serif)}
.journey-copy small{display:block;line-height:1.6;font-size:.875rem;margin-top:9px}
.journey-checked{font-size:.875rem;color:var(--muted);margin:22px 0 0}

.guidance-section{padding:80px 0}
.guidance-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.75fr);gap:10%;align-items:center}
.guidance-copy h2{font-size:2.7rem;max-width:19ch;margin:0 0 22px}
.guidance-copy>p{max-width:63ch;color:var(--muted)}
.guidance-list{list-style:none;padding:0;margin:30px 0 0}
.guidance-list li{display:grid;grid-template-columns:155px 1fr;gap:22px;padding:16px 0;border-top:1px solid var(--line)}
.guidance-list li>span{font-weight:600;color:var(--navy)}
.guidance-list p{font-size:.9375rem;color:var(--muted);margin:0}
.guidance-contact{background:var(--bg);border-radius:18px;padding:32px}
.guidance-contact>img{width:50px;height:50px;object-fit:contain;background:white;border-radius:8px;margin-bottom:20px}
.contact-intro{font-size:.875rem;color:var(--muted);margin-bottom:8px}
.guidance-contact h3{font-size:1.65rem;margin:0 0 18px}
.guidance-contact>p{font-size:.9375rem}
.guidance-contact .btn{width:100%;margin:10px 0 15px}
.contact-number{display:block;font-size:.9375rem}
.guidance-contact .contact-legal{font-size:.875rem;color:var(--muted);margin:18px 0 0}

.updates-section{padding:48px 0;background:#F7F9FC}
.updates-grid{display:grid;grid-template-columns:.85fr 1.2fr;gap:10%}
.updates-intro h2{font-size:2.1rem;margin:0 0 20px;max-width:16ch}
.updates-intro>p:not(.section-kicker){font-size:.9375rem;color:var(--muted)}
.updates-intro>a{font-size:.9375rem}
.home-updates{margin:0;padding:0;list-style:none}
.home-updates li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px 20px}
.home-updates li:first-child{padding-top:0}
.home-updates time{font-size:.875rem;color:var(--muted)}
.home-updates p{font-size:.9375rem;margin:0}
.home-updates a{grid-column:2;font-size:.875rem;font-weight:600}

/* Directory and sources */
.directory-intro{display:grid;grid-template-columns:1.5fr .65fr;gap:10%;align-items:center;padding-top:52px;padding-bottom:36px}
.directory-intro h1{max-width:19ch}
.directory-note{border-left:3px solid var(--red);padding-left:24px;font-size:.9375rem}
.directory-note p{margin:10px 0;color:var(--muted)}
.directory-launch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.directory-launch .launch-tool{flex-direction:column;min-height:236px}
.directory-launch .launch-copy{display:flex;flex-direction:column}
.directory-launch .launch-copy>small{margin-top:auto}
.directory-launch .launch-copy>span{margin-bottom:20px}
.stage-tabs,.source-tabs{display:flex;gap:10px;flex-wrap:wrap;padding-top:34px;padding-bottom:10px}
.stage-tabs a,.source-tabs a{padding:10px 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.875rem;background:#fff}
.stage-tabs a:hover,.source-tabs a:hover{background:var(--navy);color:#fff}
.tool-library{padding:20px 0 50px}
.tool-group{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr);gap:9%;padding:42px 0;border-top:1px solid var(--line);scroll-margin-top:30px}
.tool-group-head>p{font-weight:600;font-size:.9375rem;color:var(--red);margin-bottom:13px}
.tool-group-head h2{font-size:2rem;margin:0;max-width:22ch}
.tool-group-head>span{display:block;margin-top:16px;max-width:46ch;color:var(--muted);font-size:.9375rem}
.tool-entry{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:18px;text-decoration:none;padding:20px 0;border-bottom:1px solid var(--line);align-items:center;color:var(--navy)}
.tool-entry:first-child{padding-top:0}
.tool-entry-tag{display:grid;place-items:center;background:var(--bg);width:54px;height:54px;border-radius:12px;font-size:.8125rem;font-weight:700}
.tool-entry-copy>strong{display:block;font-size:1.05rem}
.tool-entry-copy>small{display:block;margin-top:6px;font-size:.875rem;line-height:1.6}
.tool-entry-action{font-size:.875rem;color:var(--red);font-weight:600}
.tool-help{padding:48px 0;background:var(--navy);color:#D7E2F0}
.tool-help-grid{display:grid;grid-template-columns:1fr .75fr;gap:12%;align-items:center}
.tool-help h2{color:white;margin:0 0 20px}
.tool-help .section-kicker{color:#D7E2F0}
.tool-help-action p{font-size:.875rem;margin-top:18px}
.sources-page main>.container{max-width:1240px}
.sources-page .page-intro{max-width:960px;margin-bottom:12px}
.sources-page .source-tabs{margin-bottom:22px}
.sources-page .card{padding:30px}
.sources-page table.data{font-size:.9375rem}
.sources-page #primary-sources{border:0;background:var(--bg)}

/* Shared content and guide structure */
.grid{display:grid;gap:24px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tool-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:34px;align-items:start}
.tool-layout>*,.grid>*,.row>*{min-width:0}
.sticky{position:sticky;top:24px}
.section-gap{margin-top:56px}
.card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:14px}
.card h2:first-child,.card h3:first-child{margin-top:0}
.card.navy{background:var(--navy);color:#D7E2F0}
.card.navy h2,.card.navy h3,.card.navy a{color:#fff}
.chip{display:inline-block;font-size:.875rem;color:var(--muted);max-width:100%;padding:5px 0}
.chip.src{color:var(--navy)}
.chip a{color:inherit}
.chips{display:flex;gap:8px 20px;flex-wrap:wrap;margin:14px 0 20px}
.disclaimer{font-size:.875rem;line-height:1.65;padding:20px 22px;border-radius:10px;background:var(--bg);color:var(--muted);margin-top:28px}
.rule{background:var(--bg);padding:22px 24px;border-radius:12px;margin:24px 0}
.rule h4{font:650 1rem/1.5 var(--sans);margin-bottom:10px}
.rule p:last-child{margin-bottom:0}
.src-line{font-size:.875rem;color:var(--muted);margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:22px;margin:26px 0}
.stat{border-left:3px solid var(--red);padding:4px 0 4px 16px}
.stat b{display:block;font:600 2.1rem var(--serif);color:var(--navy)}
.stat span{font-size:.9375rem;color:var(--muted)}

.steps{display:grid;gap:16px}
.step-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--navy);background:white}
.step-card:hover{border-color:var(--navy);color:var(--navy);background:var(--bg)}
.step-card .num{display:block;font:600 1.8rem var(--serif);text-align:center;color:var(--navy)}
.step-card .num small{display:block;font:500 .875rem var(--sans);margin-top:4px}
.step-card h3{margin:0 0 8px;font-size:1.5rem}
.step-card p{font-size:.9375rem;color:var(--muted);margin:0}
.step-card .go{font-size:.9375rem;color:var(--red);white-space:nowrap}
.path-page .page-intro{max-width:920px;margin-bottom:40px}
.path-page #step-list{max-width:1060px;margin:auto}
.path-page #step-list .step-card:nth-child(even){margin-left:52px}
.path-page #step-list .step-card{border:0;background:var(--bg);border-left:4px solid var(--navy);padding:28px 32px}
.path-page .section-gap{max-width:1060px;margin:50px auto 0}
.guide-route{display:flex;gap:8px;flex-wrap:wrap;padding:26px 0 18px}
.guide-route a{display:flex;align-items:center;gap:10px;font-size:.875rem;padding:8px 14px 8px 8px;border-radius:30px;text-decoration:none}
.guide-route a>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%}
.guide-route a[aria-current]{background:var(--navy);color:#fff}
.guide-route a[aria-current]>span{border-color:#60789A}
.step-head{max-width:none;margin:0 0 38px;background:var(--navy);padding:36px 42px;border-radius:16px}
.step-head h1{max-width:22ch;color:#fff;font-size:3rem}
.step-head .lead{color:#D7E2F0;font-size:1.0625rem;max-width:76ch;margin-bottom:0}
.step-head .eyebrow{color:#D7E2F0}
.guide-page main>.container{max-width:1240px}
.guide-page .tool-layout{grid-template-columns:minmax(0,1.75fr) minmax(255px,.7fr);gap:7%}
.guide-page .tool-layout>div>h2{font-size:1.9rem}
.guide-page .tool-layout>aside{position:sticky;top:20px}
.guide-page aside .sticky{position:static;margin-top:24px}
.guide-page aside .card{padding:22px}
.article-index{border-left:2px solid var(--red);padding-left:22px;margin-bottom:28px}
.article-index>summary{font:650 1rem var(--sans);margin:0 0 12px;cursor:pointer}
.article-index a{display:block;text-decoration:none;padding:7px 0;color:var(--muted);font-size:.875rem;line-height:1.55}
.article-index a:hover{color:var(--red)}
.guide-page #mini-path{gap:5px}
.guide-page #mini-path .step-card{border:0}
.guide-page #step-tools{display:grid;gap:8px}
.stepnav{display:flex;justify-content:space-between;gap:36px;margin-top:58px;padding-top:24px;border-top:1px solid var(--line)}
.stepnav a{text-decoration:none;max-width:48%}
.stepnav a span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:8px}
.stepnav a strong{font:600 1.3rem var(--serif)}
.stepnav a.next{text-align:right}

/* Tool workspaces */
.tool-page{background:var(--bg)}
.tool-page main{padding:32px 28px 60px}
.tool-shell{max-width:1460px;margin:0 auto;display:grid;grid-template-columns:185px minmax(0,1fr);gap:38px}
.tool-content.container{padding:0;min-width:0;max-width:1160px}
.tool-rail{position:sticky;top:26px;align-self:start;padding:8px 0}
.rail-back{display:block;font:650 .875rem var(--sans);padding:0 12px 20px;text-decoration:none;border-bottom:1px solid var(--line);margin-bottom:14px}
.tool-rail nav{display:grid;gap:5px}
.tool-rail nav a{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:8px;font-size:.875rem;line-height:1.45;text-decoration:none;color:var(--muted)}
.tool-rail nav a[aria-current]{color:#fff;background:var(--navy)}
.tool-rail nav a:not([aria-current]):hover{background:#fff;color:var(--navy)}
.tool-rail nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;display:block}
.tool-rail>p{margin:36px 10px 14px;font-size:.875rem;line-height:1.9;color:var(--muted)}
.rail-source{display:block;font-size:.8125rem;margin:0 10px}
.mobile-tool-picker{display:none}
.tool-page .page-intro{position:relative;display:grid;grid-template-columns:60px minmax(0,1fr);gap:2px 18px;margin:0 0 22px;align-items:start}
.page-symbol{grid-row:1/4;display:grid;place-items:center;width:60px;height:60px;border-radius:15px;background:var(--navy);color:white}
.page-symbol svg{width:30px;height:30px}
.tool-page .page-intro h1{font-size:clamp(2rem,1.8rem + .7vw,2.6rem);line-height:1.12;margin:0 0 9px;max-width:29ch}
.tool-page .page-intro .lead{font-size:1rem;margin:0;max-width:74ch}
.tool-links{display:flex;align-items:start;justify-content:space-between;gap:10px;flex-wrap:wrap;grid-column:2}
.tool-links .tool-sources{flex:1;min-width:0}
.tool-sources{font-size:.875rem;color:var(--muted);margin-top:9px;grid-column:2}
.tool-sources summary{cursor:pointer;list-style:revert}
.tool-sources .chips{padding:12px 16px;background:#fff;border:1px solid var(--line);border-radius:8px;margin:10px 0 0;display:block}
.tool-sources .chip{display:block}
.tool-preparation{padding:17px 21px;background:#F8FBFD;border:1px solid var(--line);border-radius:10px;font-size:.875rem;margin-bottom:26px}
.tool-preparation>summary{cursor:pointer;font-weight:650;color:var(--navy)}
.tool-preparation>p{margin:9px 0 0;color:var(--muted);max-width:80ch}
.tool-page .tool-layout{grid-template-columns:minmax(0,1.52fr) minmax(275px,1fr);gap:24px}
.tool-page .card{padding:25px;border:0;box-shadow:none}
.tool-page .tool-layout>aside>.card+.card{margin-top:18px}
.tool-page .tool-result{border:1px solid #AFC2D8;box-shadow:var(--shadow);background:#fff}
.tool-page .result-title{font:650 .9375rem var(--sans);margin:0 0 22px;color:var(--muted);letter-spacing:0}
.tool-page .tool-result h3{font-size:1.45rem}
.tool-page .score-big{font-size:3.8rem;line-height:1.1}
.tool-page .tool-result>.score-big{padding-bottom:7px}
.tool-page .tool-result .meter{height:7px;margin:18px 0}
.tool-page form.card{padding:0;background:transparent;box-shadow:none;border:0}
.tool-page fieldset{background:#fff;border:0;border-radius:14px;padding:25px;margin:0 0 20px;min-width:0}
.tool-page legend{font-size:1.5rem;line-height:1.3;padding:18px 0 0;float:left;width:100%;margin:0 0 20px}
.tool-page legend+*{clear:both}
.section-controls{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:0 0 15px}
.section-controls p{font-size:.875rem;color:var(--muted);margin:0;max-width:35ch}
.section-controls button{white-space:nowrap}
.input-section{background:#fff;border:1px solid var(--line);border-radius:12px;margin:0 0 12px;overflow:clip}
.input-section[open]{border-color:#9DB2CE;box-shadow:0 3px 0 rgba(8,31,67,.025)}
.input-section>summary{display:flex;align-items:center;gap:14px;cursor:pointer;padding:20px;font:600 1.05rem/1.45 var(--sans);color:var(--navy);list-style:none}
.input-section>summary::-webkit-details-marker{display:none}
.section-number{display:grid;place-items:center;width:31px;height:31px;border:1px solid var(--line);border-radius:50%;flex:none;font-size:.875rem;font-weight:500}
.input-section[open] .section-number{background:var(--navy);color:white;border-color:var(--navy)}
.section-chevron{font-size:1.35rem;font-weight:400;line-height:1;margin-left:auto}
.input-section[open] .section-chevron{transform:rotate(45deg)}
.tool-page .input-section>fieldset{border-radius:0;padding:5px 24px 24px;margin:0}
.input-section>fieldset>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0;float:none}
.section-next{font-size:.875rem;margin-top:7px}
.tool-page .sticky{position:sticky;top:22px}
.tool-page .btn-row{padding:8px 0 0;margin:18px 0 8px}
.tool-page .disclaimer{background:#E2EBF4;margin-top:26px}
.tool-page .save-status{font-size:.875rem;margin:16px 0;padding-left:14px;border-left:2px solid #94ACC9}
.tool-page[data-tool=pgwp-checker] .findings{max-height:600px;overflow:auto;padding-right:6px}
.tool-page[data-tool=pgwp-checker] .tool-layout>aside .sticky{position:static}
.tool-page[data-tool=proof-of-funds] .tool-result{box-shadow:none;border:0;background:transparent;padding:0}
.mobile-result-link{display:none}

/* Controls and inline explanations */
fieldset{min-width:0;border:0;padding:0;margin:0 0 24px}
legend{font:600 1.35rem var(--serif);color:var(--navy);padding:0;margin:0 0 20px}
.field{margin-bottom:21px}
.field>label{display:block;font-size:.9375rem;line-height:1.5;font-weight:600;color:var(--navy);margin-bottom:9px}
.field-meta{font:400 .75rem var(--sans);display:inline-block;padding-left:7px;color:var(--muted)}
.hint,.field-guide{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:8px;max-width:72ch}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(215px,100%),1fr));gap:0 18px}
.row.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
input[type=text],input[type=number],input[type=date],select,textarea{width:100%;max-width:100%;padding:12px 13px;border:1px solid #B7C7DA;border-radius:8px;background:#FAFCFE;color:var(--ink);font:400 1rem/1.4 var(--sans);min-height:49px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--navy-2);outline-offset:2px;border-color:var(--navy)}
textarea{resize:vertical;min-height:260px;line-height:1.65}
.check{display:flex;align-items:start;gap:12px;font-size:.9375rem;line-height:1.6;padding:12px 14px;background:#F7FAFD;border:1px solid var(--line);border-radius:8px;margin:0 0 13px}
.check input{width:18px;height:18px;margin:4px 0 0;flex:none;accent-color:var(--navy)}
.check:has(input:checked){background:var(--info-bg);border-color:#9DB2CE}
.field-error{display:block;font-size:.875rem;line-height:1.5;color:var(--bad);margin-top:7px}
.field-error:empty{display:none}
[aria-invalid=true]{border-color:var(--red)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.upload-box{padding:20px;border:1px dashed #93ACC8;background:var(--info-bg);border-radius:10px;margin:20px 0 0}
.upload-box>label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:13px}
.upload-box input{width:100%;font-size:.875rem}
.upload-box input::file-selector-button{padding:9px 13px;border:1px solid #9DB2CE;border-radius:6px;background:white;color:var(--navy);font:600 .875rem var(--sans);margin-right:10px;cursor:pointer}
.upload-box>p{font-size:.875rem;color:var(--muted);margin:12px 0 0}

/* Results and evidence */
.score-big{font:600 3.5rem/1.1 var(--serif);letter-spacing:-.025em;color:var(--navy);font-variant-numeric:tabular-nums}
.score-big small{font:500 1rem var(--sans);letter-spacing:0}
.breakdown{width:100%;border-collapse:collapse;font-size:.875rem;margin-top:16px}
.breakdown th,.breakdown td{padding:10px 3px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.breakdown th{font-weight:500;color:var(--muted)}
.breakdown th,.breakdown td:not(.num){overflow-wrap:anywhere}
.breakdown .num{text-align:right;white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums}
.breakdown .total>*{padding-top:14px;font-weight:700;color:var(--navy);border-top:2px solid var(--navy)}
.breakdown .sub td{padding-left:14px;color:var(--muted)}
.pill{display:inline-block;border-radius:6px;padding:4px 9px;font-size:.8125rem;font-weight:650}
.pill.ok{color:var(--ok);background:var(--ok-bg)}
.pill.warn{color:var(--warn);background:var(--warn-bg)}
.pill.bad{color:var(--bad);background:var(--bad-bg)}
.pill.neutral{color:var(--navy);background:var(--info-bg)}
.callout{padding:17px 18px;border-radius:9px;font-size:.9375rem;line-height:1.65;margin:18px 0;border:1px solid transparent}
.callout p:last-child{margin:0}
.callout.ok{background:var(--ok-bg);border-color:#C4DFCD}
.callout.warn{background:var(--warn-bg);border-color:#ECD6A5}
.callout.bad{background:var(--bad-bg);border-color:#EDC5CB}
.callout.info{background:var(--info-bg);border-color:var(--line)}
.meter{height:8px;border-radius:10px;background:#E0E8F1;overflow:hidden;margin:14px 0}
.meter>span{display:block;height:100%;background:var(--navy);border-radius:10px;transition:width .2s}
.meter.ok>span{background:var(--ok)}
.meter.warn>span{background:#B58119}
.meter.bad>span{background:var(--red)}
table.data{width:100%;border-collapse:collapse;font-size:.9375rem;background:#fff}
table.data th,table.data td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}
table.data th{font-weight:600;background:var(--navy);color:#fff}
table.data tr:nth-child(even) td{background:#F6F9FC}
table.data tr.hl td{background:var(--warn-bg)}
.table-wrap{max-width:100%;overflow-x:auto;border-radius:9px}
.table-wrap table{min-width:430px}
ul.clean{padding-left:19px;margin:0 0 1em}
ul.clean li{padding-left:3px;margin-bottom:10px}
ul.findings{list-style:none;padding:0;margin:0}
ul.findings li{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
ul.findings li:last-child{border:0}
.findings .small{display:inline-block;margin-top:7px;line-height:1.65}
.dot{flex:none;width:8px;height:8px;border-radius:50%;margin-top:8px}
.dot.ok{background:var(--ok)}
.dot.warn{background:#AF7A12}
.dot.bad{background:var(--red)}
.kw{display:inline-block;padding:4px 9px;margin:3px 3px 3px 0;border-radius:5px;font-size:.8125rem;background:var(--bad-bg);color:var(--bad)}
.kw.hit{background:var(--ok-bg);color:var(--ok)}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 13px;padding:17px 0;border-bottom:1px solid var(--line);align-items:start;font-size:.9375rem}
.timeline li:last-child{border-bottom:0}
.timeline .date{grid-column:1/-1;color:var(--navy);font-weight:650;font-size:.9375rem}
.timeline .pill{margin-top:2px}
.section-title{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin:48px 0 22px}
.section-title h2{margin:0}
.section-title .small{margin-left:auto}
.changed{list-style:none;padding:0;margin:0}
.changed li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.changed .date{font-size:.875rem;color:var(--muted)}
.changed li:last-child{border-bottom:0}
.tool-card{display:flex;flex-direction:column;padding:24px;background:var(--bg);border-radius:12px;text-decoration:none}
.tool-card h3{margin:14px 0}
.tool-card .go{margin-top:auto;color:var(--red)}

/* Quiet footer: navigation above a compact legal strip. */
.site-footer{background:white;border-top:1px solid var(--line);margin:0}
.footer-grid{display:grid;grid-template-columns:1fr 1.1fr .9fr;gap:60px;padding-top:48px;padding-bottom:42px}
.footer-logo{width:auto;height:66px;display:block;margin-bottom:20px}
.footer-about p{font-size:.9375rem;color:var(--muted)}
.footer-about>a:last-child{font-size:.9375rem}
.site-footer h3{font:650 .9375rem var(--sans);margin:5px 0 17px;letter-spacing:0}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{font-size:.875rem;margin-bottom:10px}
.site-footer a{text-decoration:none}
.footer-tools ul{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.footer-legal{padding:22px 0;background:var(--navy);color:#D5E0ED;font-size:.8125rem;line-height:1.7}
.footer-legal>.container{display:flex;gap:40px;justify-content:space-between}
.footer-legal p{max-width:78ch;margin:0}
.footer-legal p:last-child{max-width:34ch;flex:none}
.print-only{display:none}

@media(min-width:1600px){.tool-shell{gap:48px}
.tool-page main{padding-top:40px}
}

@media(max-width:1200px){:root{--gutter:26px}
.home-launch{gap:26px;grid-template-columns:minmax(0,.75fr) minmax(0,1.2fr)}
.start-panel{padding:32px 28px}
.launch-heading{align-items:start;flex-direction:column;gap:7px}
.launch-heading h2{max-width:none}
.launch-heading p{max-width:none}
.compact{gap:10px;padding:15px 12px}
.compact .tool-symbol{width:29px;height:29px}
.tool-shell{grid-template-columns:165px minmax(0,1fr);gap:24px}
.tool-page main{padding-left:22px;padding-right:22px}
.tool-page .tool-layout{grid-template-columns:minmax(0,1fr) minmax(245px,.75fr);gap:20px}
.tool-page .card{padding:21px}
.tool-page .tool-preparation{display:block}
.tool-preparation>summary{display:list-item}
.tool-page .row{grid-template-columns:1fr}
.tool-page .row.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.tool-page fieldset{padding:23px}
.directory-launch{grid-template-columns:repeat(2,minmax(0,1fr))}
.directory-launch .launch-tool{flex-direction:row;min-height:170px}
.footer-grid{gap:35px}
}

@media(max-width:1000px){.main-nav{gap:19px}
.site-header>.container{gap:25px}
.home-launch{grid-template-columns:1fr}
.start-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:0 30px;border-radius:18px 18px 46px 18px;padding:32px}
.start-panel .start-context{grid-column:1}
.start-panel h1{grid-row:2/5;max-width:14ch;font-size:3.1rem;margin:16px 0}
.start-panel>p:not(.start-context){grid-column:2;grid-row:2;align-self:end}
.start-panel .btn{grid-column:2;grid-row:3;justify-self:start;margin:10px 0}
.start-panel .start-note{grid-column:2;grid-row:4;margin-top:0}
.launch-heading{flex-direction:row;align-items:center}
.compact{padding:20px;gap:17px}
.compact .tool-symbol{width:40px;height:40px}
.tool-shell{display:block}
.tool-rail{display:none}
.mobile-tool-picker{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}
.mobile-tool-picker label{font-size:.875rem;font-weight:600;flex:none}
.mobile-tool-picker select{max-width:320px;background:#fff;font-size:.9375rem;min-height:45px}
.tool-page .row{grid-template-columns:repeat(auto-fit,minmax(min(205px,100%),1fr))}
.tool-page .row.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.tool-page .page-intro h1{font-size:2.3rem}
.guide-page .tool-layout{grid-template-columns:minmax(0,1fr) 250px;gap:30px}
.guide-page .step-head h1{font-size:2.5rem}
.guidance-grid{gap:50px;grid-template-columns:1fr .85fr}
.guidance-copy h2{font-size:2.2rem}
.guidance-list li{grid-template-columns:1fr;gap:5px}
.journey-route{gap:10px}
.journey-stop{padding:20px 14px}
.journey-copy strong{font-size:1.1rem}
.journey-copy small{font-size:.875rem}
.directory-intro{gap:50px}
.tool-group{gap:50px}
}

@media(max-width:760px){:root{--gutter:20px;--section:48px}
.site-header>.container{flex-wrap:wrap;gap:0 20px;min-height:0;padding-top:8px;padding-bottom:0}
.brand{padding:8px 0}
.brand .lockup{height:76px}
.nav-cta{padding:9px 13px;font-size:.875rem;gap:18px}
.main-nav{order:3;width:100%;overflow:auto;gap:28px;white-space:nowrap;border-top:1px solid var(--line);padding:4px 0 7px}
.main-nav a{font-size:.875rem}
.home-launch{padding-top:22px;gap:26px}
.start-panel{display:flex;padding:25px;border-radius:14px 14px 42px 14px}
.start-panel .start-context{max-width:none}
.start-panel .start-note{display:none}
.start-panel h1{font-size:2.2rem;max-width:none;margin:16px 0}
.start-panel>p:not(.start-context){font-size:1rem;max-width:46ch}
.start-panel .btn{margin:5px 0 3px}
.start-panel .start-note{padding-top:12px;margin-top:0}
.launch-heading{flex-direction:column;align-items:start;gap:7px}
.launch-heading h2{font-size:1.7rem;max-width:23ch}
.launch-grid{gap:10px}
.compact{padding:18px 15px;flex-direction:column;gap:12px}
.compact .launch-copy>strong{font-size:1rem}
.compact .launch-copy>small{font-size:.8125rem;line-height:1.5;gap:3px}
.compact .launch-copy{display:flex;flex-direction:column}
.compact .launch-copy>small{margin-top:auto}
.source-ribbon{flex-wrap:wrap;gap:7px 22px;padding-top:8px}
.source-ribbon>span:last-child{margin-left:0;width:100%;font-size:.8125rem}
.home-path{padding:38px 0}
.home-path-head{display:block;margin-bottom:25px}
.home-path-head h2{font-size:2rem;margin-bottom:18px}
.journey-route{grid-template-columns:1fr;gap:9px}
.journey-stop{display:flex;align-items:center;gap:18px;padding:18px 20px}
.journey-node{margin:0;flex:none}
.journey-copy strong{font-size:1.3rem}
.journey-copy small{margin-top:4px}
.journey-stop:not(:last-child)::after{content:none}
.guidance-section{padding:48px 0}
.guidance-grid{grid-template-columns:1fr;gap:30px}
.guidance-copy h2{font-size:2.3rem;max-width:21ch}
.guidance-contact{padding:28px}
.updates-grid{grid-template-columns:1fr;gap:28px}
.updates-intro h2{font-size:2rem;max-width:none}
.home-updates li{grid-template-columns:1fr;gap:8px}
.home-updates a{grid-column:1}
.footer-grid{grid-template-columns:1fr 1fr;gap:30px;padding-top:32px;padding-bottom:28px}
.footer-about{grid-column:1/-1}
.footer-tools ul{grid-template-columns:1fr}
.footer-legal>.container{display:block}
.footer-legal p:last-child{max-width:none;margin-top:14px}
.tool-page main{padding:20px 18px 36px}
.tool-page .tool-layout{grid-template-columns:1fr;gap:24px}
.tool-page .sticky{position:static}
.tool-page .page-intro{grid-template-columns:45px minmax(0,1fr);gap:4px 13px}
.page-symbol{grid-row:1;width:45px;height:45px;border-radius:12px}
.page-symbol svg{width:26px;height:26px}
.tool-page .page-intro h1{font-size:2rem}
.tool-page .page-intro .lead{grid-column:1/-1;margin-top:9px}
.tool-sources{grid-column:1/-1;font-size:.875rem;margin-top:7px}
.tool-page .tool-preparation{margin-bottom:24px;padding:17px 18px}
.tool-page fieldset{padding:21px}
.tool-page .input-section>fieldset{padding:3px 20px 22px}
.tool-page legend{font-size:1.35rem;padding-top:12px}
.input-section>summary{padding:18px 17px;font-size:1rem;gap:11px}
.section-controls{align-items:start;gap:12px}
.section-controls p{font-size:.8125rem;max-width:23ch}
.section-controls button{font-size:.8125rem;white-space:normal;flex:none;max-width:13ch}
.section-number{width:28px;height:28px}
.tool-page .card{padding:24px}
.tool-page .score-big{font-size:3.4rem}
.tool-page[data-tool=pgwp-checker] .findings{max-height:none;overflow:visible}
.tool-links{grid-column:1/-1;align-items:center}
.tool-links .tool-sources{margin-top:0;min-width:180px}
.mobile-result-link{display:inline-block;position:static;flex:none;padding:7px 11px;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:.875rem;font-weight:600;text-decoration:none;border-radius:7px}
.mobile-result-link:hover{background:var(--navy);color:#fff}
.tool-page .row{grid-template-columns:1fr}
.tool-page .row.four{grid-template-columns:repeat(2,minmax(0,1fr))}
.tool-page .row.four .field-meta{display:block;padding-left:0;margin-top:2px}
.mobile-tool-picker{margin-bottom:24px;gap:12px}
.mobile-tool-picker select{max-width:230px}
.directory-intro{grid-template-columns:1fr;gap:25px;padding-top:32px}
.directory-intro h1{font-size:2.6rem}
.directory-note{padding-left:17px;max-width:55ch}
.directory-launch{gap:12px}
.directory-launch .launch-tool{padding:20px;flex-direction:column;gap:15px}
.stage-tabs{gap:8px;padding-top:28px;padding-bottom:22px}
.stage-tabs a{padding:8px 13px;font-size:.8125rem}
.tool-group{grid-template-columns:1fr;gap:25px;padding:30px 0}
.tool-group-head h2{max-width:none;font-size:1.8rem}
.tool-entry{grid-template-columns:44px minmax(0,1fr);gap:13px}
.tool-entry-tag{width:44px;height:44px}
.tool-entry-action{grid-column:2}
.tool-help-grid{grid-template-columns:1fr;gap:22px}
.tool-help h2{font-size:2rem}
.guide-page .tool-layout{grid-template-columns:1fr;gap:28px}
.guide-page .tool-layout>aside{position:static}
.guide-page .step-head{padding:27px 24px;margin-bottom:28px}
.guide-page .step-head h1{font-size:2.3rem}
.guide-route{gap:3px;padding:20px 0}
.guide-route a{font-size:.8125rem;padding-right:9px;gap:6px}
.guide-route a>span{width:24px;height:24px}
.guide-page .tool-layout>aside{order:-1}
.guide-page .article-index{display:block;margin:0;padding:15px 18px;background:var(--bg);border:1px solid var(--line);border-radius:8px}
.guide-page .article-index>summary{margin:0}
.guide-page .article-index[open]>summary{margin-bottom:10px}
.guide-page .tool-layout>aside .card{padding:18px}
.guide-page .tool-layout>aside .card>h3:not(:first-child),.guide-page #mini-path{display:none}
.guide-page #step-tools{display:flex;flex-wrap:wrap;gap:8px}
.guide-page #step-tools .step-card{flex:1 1 190px}
.path-page .page-intro{margin-top:32px}
.path-page #step-list .step-card:nth-child(even){margin-left:0}
.path-page #step-list .step-card{padding:22px 18px;grid-template-columns:32px minmax(0,1fr);gap:16px}
.path-page .step-card .go{display:none}
.step-card h3{font-size:1.3rem}
.stepnav{gap:24px}
.stepnav a strong{font-size:1.1rem}
.sources-page .page-intro{margin-top:32px}
.sources-page .card{padding:22px}
.source-tabs{padding-top:18px;gap:8px}
.source-tabs a{padding:8px 13px}
.changed li{grid-template-columns:1fr;gap:7px}
.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
.page-intro h1{font-size:2.5rem}
}

@media(max-width:380px){.compact{padding:16px 12px}
.compact .launch-copy>strong{font-size:.9375rem}
.compact .launch-copy>span{font-size:.875rem}
.start-panel{padding:25px}
.start-panel h1{font-size:2rem}
.main-nav{gap:24px}
.tool-page .page-intro h1{font-size:1.85rem}
.mobile-tool-picker{display:block}
.mobile-tool-picker select{max-width:none;margin-top:8px}
.tool-page .card{padding:20px}
.tool-page fieldset{padding:18px}
.tool-page .input-section>fieldset{padding:3px 17px 20px}
.directory-launch .launch-tool{padding:17px 13px}
.directory-launch .launch-copy>strong{font-size:1rem}
.footer-grid{gap:24px}
.btn-row .btn{flex:1 1 auto}
.tool-page .timeline{font-size:.875rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important;animation:none!important}
}

@media print{.site-header,.site-footer,.tool-rail,.mobile-tool-picker,.mobile-result-link,.section-controls,.section-next,.btn,.stepnav,.guide-route,.skip-link{display:none!important}
body,.tool-page{background:#fff;font-size:11pt}
main,.tool-page main{padding:0}
.container,.tool-content.container{padding:0;max-width:none}
.tool-shell,.tool-layout,.tool-page .tool-layout{display:block}
.sticky{position:static!important}
.card{box-shadow:none!important;border:1px solid #ccc!important;break-inside:avoid}
.tool-page fieldset{padding:15px}
.input-section{break-inside:avoid}
.print-only{display:block}
.tool-page .tool-result{margin:20px 0}
.tool-page[data-tool=pgwp-checker] .findings{max-height:none;overflow:visible}
}

