:root{

  --navy:#102938;--blue:#1667d9;--pale:#edf5fb;--cream:#f9faf8;

  --line:#d6e0e5;--ink:#172b35;--muted:#526672;--mint:#dff0e9;

  --mono:'DM Mono',monospace;--sans:'DM Sans',sans-serif;

  --max:1200px;

}

*{box-sizing:border-box}

body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}

a{color:var(--blue);text-decoration:none;text-underline-offset:2px}

a:hover{text-decoration:underline}



/* Notice bar */

.notice{height:32px;background:var(--navy);color:#d8e7ef;font:11px var(--mono);letter-spacing:.04em;display:flex;align-items:center}



/* Header */

header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}

.wrap{max-width:var(--max);margin:auto;padding:0 30px}

header .wrap{display:flex;align-items:center;justify-content:space-between}

.brand{color:var(--navy);font-weight:700;font-size:20px;text-decoration:none;letter-spacing:-.03em}

nav{display:flex;gap:24px;align-items:center}

nav a{text-decoration:none;color:var(--muted);font-size:14px;font-weight:500}

nav a:hover{color:var(--blue);text-decoration:none}

.nav-cta{background:var(--blue);color:#fff;padding:10px 14px;border-radius:5px;font-weight:600}

.nav-cta:hover{background:#135ac8;color:#fff;text-decoration:none}



/* Hero / page header */

.head{padding:54px 0 38px;display:grid;grid-template-columns:1fr 365px;gap:54px}

.kicker{font:12px var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;display:block}

.head h1{font-size:clamp(40px,5vw,64px);line-height:1.02;letter-spacing:-.05em;margin:0 0 15px;max-width:740px;font-weight:700;color:var(--navy)}

.head p{font-size:19px;line-height:1.45;color:var(--muted);max-width:650px;margin:0}

.help{background:var(--navy);color:#fff;padding:25px 26px;border-radius:7px;align-self:end}

.help p{font-size:14px;color:#c5d5dc;margin:10px 0 17px}

.help a{font-size:14px;color:#9fd5ff;font-weight:600}



/* Sections */

section{padding:0 0 50px}

.section-title{font:12px var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;display:block}

h2{font-size:28px;letter-spacing:-.03em;margin:0 0 8px;color:var(--navy);font-weight:700}

h3{font-size:21px;line-height:1.1;letter-spacing:-.025em;margin:0 0 9px;color:var(--navy);font-weight:700}



/* Route/Pathway cards */

.route{padding:10px 0 46px}

.route-top{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}

.route-top span{font:12px var(--mono);color:var(--muted)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);margin-top:22px}

.step{min-height:215px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 22px 18px;background:#fff;position:relative}

.step:first-child{background:var(--pale)}

.num{font:12px var(--mono);color:var(--blue)}

.step p{font-size:14px;color:var(--muted);margin:0}

.step a{position:absolute;bottom:19px;font-size:14px;font-weight:700;color:var(--blue);text-decoration:none}

.step a:hover{text-decoration:underline}



/* Strip / Tool companion */

.strip{display:grid;grid-template-columns:1.15fr .85fr;margin:10px 0 50px;border:1px solid var(--line);background:#fff}

.strip>div{padding:27px}

.strip h2{margin:5px 0 8px;font-size:27px;letter-spacing:-.03em}

.strip p{color:var(--muted);margin:0;max-width:650px}

.tool-list{background:var(--mint);border-left:1px solid var(--line)}

.tool-list strong{display:block;margin-bottom:10px}

.tool-list a{display:inline-block;color:var(--navy);font-size:14px;margin:0 15px 8px 0}

.tool-list a:hover{color:var(--blue)}



/* Library / Article list */

.library{padding-bottom:64px}

.library-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;flex-wrap:wrap;gap:15px}

.search{height:44px;width:330px;border:1px solid var(--line);background:#fff;padding:0 12px;font:14px var(--sans);color:var(--ink)}

.list{background:#fff;border:1px solid var(--line)}

.item{display:grid;grid-template-columns:165px 1fr 42px;gap:22px;padding:20px 23px;border-bottom:1px solid var(--line);align-items:center}

.item:last-child{border:0}

.cat{font:11px var(--mono);color:var(--blue);text-transform:uppercase;line-height:1.35}

.item h3{font-size:18px;letter-spacing:-.018em;margin:0 0 4px;color:var(--navy)}

.item p{margin:0;color:var(--muted);font-size:14px}

.item a{font-size:22px;color:var(--blue);text-decoration:none}

.item a:hover{text-decoration:underline}



/* Cards grid (tools, guides, home) */

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}

.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.5rem;transition:border-color .2s,box-shadow .2s}

.card:hover{border-color:var(--blue);box-shadow:0 4px 12px rgba(0,0,0,.05)}

.card h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}

.card p{font-size:.9rem;color:var(--muted);margin:0 0 1rem}

.card a{font-size:.9rem;font-weight:600}



/* Buttons */

.btn{display:inline-block;background:var(--blue);color:#fff;padding:.875rem 1.5rem;border-radius:5px;text-decoration:none;font-weight:600;font-size:.9rem}

.btn:hover{background:#135ac8;color:#fff;text-decoration:none}

.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}

.btn-secondary:hover{background:var(--pale);border-color:var(--blue);color:var(--blue)}

/* === Team grid (Our Team page) === */

.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}

.team-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;text-align:center}

.team-card img{width:120px;height:120px;object-fit:cover;border-radius:50%;margin-bottom:.75rem;border:2px solid #cbd5e1}

.team-card h3{margin:0 0 .25rem;font-size:1.125rem}

.team-card .kicker{color:#64748b;font-size:.875rem;margin:0 0 .75rem}

.team-card p{margin:0 0 .5rem;line-height:1.6;color:#334155}





/* Footer */

footer{border-top:1px solid var(--line);padding:2rem 0;margin-top:4rem;text-align:center;color:var(--muted);font-size:.8rem}



/* About page specific */

.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:2rem 0}

.about-imagery{margin:2rem 0}

.photo-slot{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f4f8fb}

.photo-slot img{height:300px;width:100%;display:block;object-fit:contain;object-position:center}

.photo-slot figcaption{padding:.8rem 1rem;color:var(--muted);font-size:.85rem}



/* Tools page - tool grid */

.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}

.tool-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.5rem;transition:border-color .2s}

.tool-card:hover{border-color:var(--blue)}

.tool-card h3{font-size:1.1rem;margin:0 0 .5rem}

.tool-card p{font-size:.9rem;color:var(--muted);margin:0 0 1rem}



/* Responsive */

@media(max-width:1024px){

  .steps{grid-template-columns:repeat(2,1fr)}

  .step{min-height:190px}

  .strip{grid-template-columns:1fr;gap:0}

  .tool-list{border-left:0;border-top:1px solid var(--line)}

  .grid,.tool-grid{grid-template-columns:repeat(2,1fr)}

}

@media(max-width:760px){

  .wrap{padding:0 18px}

  nav a:not(.nav-cta){display:none}

  .head{grid-template-columns:1fr;gap:24px}

  .steps{grid-template-columns:1fr}

  .grid,.tool-grid{grid-template-columns:1fr}

  .library-head{align-items:start;flex-direction:column}

  .search{width:100%}

  .item{grid-template-columns:1fr 25px;gap:10px}

  .cat{grid-column:1/3;font-size:12px}

  .item p{display:none}

  .about-grid{grid-template-columns:1fr}

}

/* r28 top-level review: unified navigation and usable library controls */
header{height:auto;min-height:84px}
header .wrap{width:100%;min-height:84px;gap:clamp(28px,5vw,88px)}
header .wrap,.bar{display:flex;align-items:center;justify-content:space-between}
.brand{flex:0 0 auto;white-space:nowrap}
nav{margin-left:auto;gap:clamp(16px,2.1vw,30px);justify-content:flex-end;flex-wrap:wrap}
nav a{line-height:1.2;white-space:nowrap}
.nav-cta{display:inline-flex;align-items:center;min-height:40px}
main.wrap{padding-top:52px;padding-bottom:52px}
main.wrap>h1{font-size:clamp(38px,5vw,58px);line-height:1.05;letter-spacing:-.045em;color:var(--navy);margin:0 0 14px;max-width:850px}
.lede{font-size:19px;line-height:1.5;color:var(--muted);max-width:720px;margin:0 0 28px}
.meta,.review-meta{font:13px var(--mono);color:var(--muted)}
.resource-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:end;margin:26px 0 16px}
.search-label{grid-column:1;font:12px var(--mono);color:var(--blue);text-transform:uppercase;letter-spacing:.08em}
.resource-controls .search{grid-column:1;width:100%;max-width:none}
.resource-count{grid-column:2;grid-row:1 / span 2;margin:0;font-size:14px;color:var(--muted);white-space:nowrap}
.filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 14px}
.filters button,.filter-reset{border:1px solid var(--line);background:#fff;border-radius:999px;color:var(--navy);font:600 13px var(--sans);padding:8px 11px;cursor:pointer}
.filters button:hover,.filters button.active,.filter-reset:hover{border-color:var(--blue);background:var(--pale);color:var(--blue)}
.filter-reset{margin:0 0 18px}
.resource-grid{margin-top:0}
.resource-card[hidden]{display:none}
.contact-intake{max-width:760px;margin-top:28px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:8px}
.contact-intake label{display:block;font-size:14px;font-weight:600;margin:18px 0}
.contact-intake input:not([type=checkbox]),.contact-intake select,.contact-intake textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;font:16px var(--sans);color:var(--ink)}
.contact-intake .consent{font-weight:400;display:flex;gap:10px;align-items:flex-start}
.contact-intake .honeypot{position:absolute;left:-10000px}
.contact-status{font-weight:600;color:var(--blue)}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:var(--blue);color:#fff;padding:12px 18px;font:600 14px var(--sans);cursor:pointer}
.button:hover{background:#135ac8;color:#fff;text-decoration:none}
@media(max-width:760px){
  header .wrap{min-height:0;padding-top:15px;padding-bottom:15px;align-items:flex-start;gap:14px}
  nav{margin-left:0;justify-content:flex-start;gap:10px 16px}
  nav a:not(.nav-cta){display:inline}
  .nav-cta{min-height:34px;padding:8px 11px}
  main.wrap{padding-top:34px;padding-bottom:34px}
  .resource-controls{grid-template-columns:1fr;align-items:start}
  .search-label,.resource-controls .search,.resource-count{grid-column:1;grid-row:auto}
  .resource-count{white-space:normal}
}

/* Align legacy page shells and legacy brand markup with shared design. */
main:not(.wrap){max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:30px;padding-right:30px}
@media(max-width:760px){main:not(.wrap){padding-left:18px;padding-right:18px}}

/* Article visual blocks: contain diagrams and show one responsive flow state. */
svg.visual-overview,svg.decision-flow{display:block;width:100%;max-width:100%;height:auto}
svg.visual-overview text,svg.decision-flow text{font-size:14px}
.decision-flow-mobile{display:none;min-width:0;overflow-wrap:anywhere;word-break:break-word}
.reference-list,.reference-list a,.source-reference{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.article table{display:block;max-width:100%;overflow-x:auto;box-sizing:border-box;border:1px solid var(--line);border-collapse:collapse}
.article th,.article td{border:1px solid var(--line);padding:.65rem .75rem;text-align:left;vertical-align:top;white-space:normal}
.article th{background:#f4f8fb;font-weight:700}
@media(max-width:760px){
  svg.decision-flow{display:none}
  .decision-flow-mobile{display:block;font-size:15px;line-height:1.55}
}


/* r36 accessibility, print, and review controls */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:99;padding:.7rem 1rem;background:#fff;color:#123}.skip-link:focus{left:1rem;top:1rem}
:focus-visible{outline:3px solid #b56800;outline-offset:3px}.breadcrumbs{font-size:.9rem;margin:0 0 1rem}
.breadcrumbs a{display:inline-flex;align-items:center;min-width:24px;min-height:24px}
main.wrap>h1{overflow-wrap:anywhere}.breadcrumbs span{margin:.15rem}.download-links{margin-top:2rem}.article fieldset{margin:1rem 0;padding:1rem;border:1px solid var(--line)}.article fieldset label{display:block;margin:.55rem 0}.article fieldset input{margin-right:.5rem}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media print{.notice,header,footer,.skip-link,button{display:none!important}body{color:#000;background:#fff}.wrap{max-width:none;margin:0}.article fieldset,.article table{break-inside:avoid}}

/* r38 experience baseline: visible focus, touch targets, readable utility controls. */
html{scroll-behavior:smooth}
a:not(.button):focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b56800;outline-offset:3px;text-decoration:none}
button,.button,.btn,.nav-cta{min-height:44px}
input,select,textarea{min-height:44px}
[role=status]{min-height:1.5em}
.tool-card,.card,.item{scroll-margin-top:1.5rem}
.print-prep{padding:1rem 1.15rem;margin:1.25rem 0;background:var(--pale);border-left:4px solid var(--blue);color:var(--ink)}
.print-prep h2{font-size:1.1rem;margin:0 0 .4rem}
.print-prep p{margin:.35rem 0}
.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.path-grid .card{margin:0}
@media(max-width:760px){html{scroll-behavior:auto}.path-grid{grid-template-columns:1fr}.print-prep{padding:1rem}.article ul,.article ol{padding-left:1.25rem}}

/* r39: narrow accessibility and discovery repairs. */
.home-feature-arrow{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.25rem;margin:1rem 0 2rem;padding:0;list-style:none}
.topic-grid a{display:block;padding:.45rem 0}
@media(max-width:760px){.topic-grid{grid-template-columns:1fr}}

/* r40: print provenance, safe mobile navigation, and pagination. */
.print-provenance{display:none}
.print-local-help{display:block;margin-top:.5rem}
@page{margin:.5in}
@media print{.print-provenance{display:block;margin:.3rem 0 1rem}.print-prep,.article fieldset{break-inside:avoid-page}h1,h2{break-after:avoid-page}}
@media(max-width:760px){header .wrap{flex-direction:column;align-items:flex-start}nav{width:100%;flex-wrap:wrap}nav a:not(.nav-cta){display:inline}.article,.print-prep,.article fieldset,.article fieldset label{min-width:0;overflow-wrap:anywhere}.article table :is(th,td){overflow-wrap:normal;word-break:normal}}
.article .tag + .tag{margin-left:.5rem}

/* r41: current-page cue is not color-only. */
nav a[aria-current="page"]{font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

form.tool fieldset{min-width:0;margin:0;padding:0;border:0}
@media screen{.tool-grid>.result{min-width:0}}
.result table{display:block;max-width:100%;overflow-x:auto;box-sizing:border-box}
@media print{.print-local-help{display:block!important;margin:.35rem 0 0;font-size:.9em}}

.resource-more{margin:1rem 0}.resource-print-context{display:none}.role-chooser{margin:2rem 0}.role-chooser .card{display:flex;flex-direction:column;gap:.4rem;text-decoration:none}.role-chooser .card span{color:var(--muted)}
@media print{.resource-more,.role-chooser{display:none!important}.resource-print-context{display:block;margin:0 0 1rem;font-weight:700}}

.topic-cta{margin:2rem 0;padding:1rem;border-left:4px solid var(--accent);background:var(--card)}.topic-cta p{margin:0}.tool-noscript{margin:1rem 0;padding:1rem;border:1px solid var(--line);background:var(--card)}
@media print{.topic-cta{break-inside:avoid-page}}

main :is(p,li,td,th) a:not(.button):not(.btn){text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:.12em}.guides-link{margin:1rem 0}

.download-next-steps{margin:2rem 0;padding:1rem;border-top:1px solid var(--line)}.download-next-steps h2{margin-top:0}
@media print{.download-next-steps{display:none!important}}

/* r47: make all primary-navigation links comfortably touchable. */
nav[aria-label="Primary site navigation"] a:not(.nav-cta){display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center}

/* r48: minimum target size for standalone homepage action links. */
.help a,.tool-list a,.step a{display:inline-flex;align-items:center;min-height:24px}

@media print{form.tool{display:none!important}}

/* Contextual resource-hub next steps; scoped to owned staging modules. */
.next-steps{margin-top:2rem}
.next-steps .section-title{margin-bottom:8px}
.next-steps h2{font-size:1.35rem;margin-bottom:.45rem}
.next-steps p{max-width:62ch;margin-bottom:1rem}
.next-steps-links{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.next-steps-links a{min-width:0}
.next-steps-links .next-steps-link{display:inline-flex;align-items:center;min-height:42px;padding:.65rem .85rem;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:.9rem;font-weight:600}
.next-steps-links .next-steps-link:hover{border-color:var(--blue);background:var(--pale);color:var(--blue);text-decoration:none}
@media(max-width:760px){.next-steps-links{align-items:stretch}.next-steps-links a{width:100%;justify-content:center;text-align:center}}
