:root {
  --ink: #132c2a;
  --ink-2: #274442;
  --green: #167d67;
  --green-dark: #0f6554;
  --green-pale: #e7f2ed;
  --coral: #b84e37;
  --coral-pale: #f9e9e3;
  --cream: #f7f3ea;
  --paper: #fffdf8;
  --white: #fff;
  --text: #203330;
  --muted: #62716e;
  --line: #d8dfda;
  --line-dark: #b9c8c2;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: Iowan Old Style, Palatino Linotype, Book Antiqua, Palatino, Georgia, serif;
  --radius: 0;
  --shell: 1180px;
}

*, *::before, *::after { box-sizing: border-box; border-radius: 0 !important; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: var(--green-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--coral); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #f2a792; outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); }
h1, h2 { font-family: var(--serif); letter-spacing: -.028em; }
h1 { font-size: clamp(2.65rem, 6vw, 5.6rem); line-height: .98; overflow-wrap: anywhere; text-wrap: balance; }
h2 { font-size: clamp(1.85rem, 3.2vw, 3.15rem); line-height: 1.08; }
h3 { font-size: 1.18rem; line-height: 1.3; }
.shell { width: min(calc(100% - 40px), var(--shell)); margin-inline: auto; }
.narrow { max-width: 790px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 999; padding: .7rem 1rem; background: var(--paper); color: var(--ink); border: 2px solid var(--green); }
.skip-link:focus { top: 1rem; }

.site-header{position:sticky;top:0;z-index:200;height:76px;background:rgba(19,44,42,.98);border-bottom:0}
.nav-row{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.brand{display:inline-flex;align-items:center;gap:.58rem;color:#fff;text-decoration:none;flex-shrink:0}
.brand:hover{color:#fff}
.brand img{width:43px;height:43px;object-fit:contain}
.brand-name{font-weight:850;font-size:1.22rem;letter-spacing:-.045em}
.brand-name span{color:#72d0b7;font-weight:680}
.desktop-nav{display:flex;align-items:stretch;align-self:stretch;gap:.05rem}
.nav-menu{display:flex;align-items:stretch}
.nav-trigger,.nav-direct{position:relative;display:flex;align-items:center;gap:.42rem;margin-block:.75rem;padding:0 .67rem;color:#dce9e5;background:transparent;border:1px solid transparent;text-decoration:none;font-size:.77rem;font-weight:750;cursor:pointer;transition:color .18s,background .18s,border-color .18s}
.nav-chevron{position:relative;display:grid;width:14px;height:14px;place-items:center;color:#c2d4cf;background:transparent;border:0;transition:color .2s}
.nav-chevron::before{content:"";width:6px;height:6px;margin-top:-3px;border-right:1.7px solid;border-bottom:1.7px solid;transform:rotate(45deg);transition:transform .2s,margin .2s}
.nav-trigger:hover,.nav-trigger[aria-expanded="true"],.nav-trigger[aria-current="page"],.nav-direct:hover,.nav-direct[aria-current="page"]{color:#fff}
.nav-trigger:hover,.nav-trigger[aria-expanded="true"]{background:rgba(255,255,255,.07);border-color:rgba(166,234,214,.2)}
.nav-trigger[aria-expanded="true"] .nav-chevron{color:#a6ead6;background:transparent}
.nav-trigger[aria-expanded="true"] .nav-chevron::before{margin-top:3px;transform:rotate(225deg)}
.nav-trigger[aria-current="page"]::after,.nav-direct[aria-current="page"]::after{content:"";position:absolute;left:.67rem;right:.67rem;bottom:0;height:3px;background:var(--coral)}
.mega-panel{visibility:hidden;position:fixed;z-index:205;top:76px;left:0;right:0;padding:10px 20px 0;color:var(--text);opacity:0;transform:translateY(-9px) scale(.995);transform-origin:top;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s}
.nav-menu.open .mega-panel{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
.mega-frame{--menu-accent:#167d67;--menu-soft:#e7f2ed;position:relative;width:min(100%,var(--shell));margin-inline:auto;overflow:hidden;background:radial-gradient(circle at 7% 14%,var(--menu-soft),transparent 23%),linear-gradient(115deg,#fffdf8 0,#fff 72%);border:1px solid rgba(19,44,42,.18);box-shadow:0 22px 55px rgba(8,29,26,.22),0 3px 0 var(--menu-accent) inset}
#nav-decisions .mega-frame{--menu-accent:#b84e37;--menu-soft:#f9e9e3}
#nav-verify .mega-frame{--menu-accent:#276f72;--menu-soft:#e2f1ef}
#nav-problems .mega-frame{--menu-accent:#a86731;--menu-soft:#f7eadc}
.mega-grid{display:grid;grid-template-columns:.92fr 1fr 1fr;gap:1.35rem;padding:1.3rem 1.45rem .95rem}
.mega-grid-wide{grid-template-columns:.9fr 1fr 1fr 1fr;gap:1.05rem}
.mega-grid section+section{padding-left:1.25rem;border-left:1px solid #dfe4df}
.mega-intro{position:relative;padding-right:.7rem}
.mega-icon{display:grid;width:39px;height:39px;place-items:center;color:var(--menu-accent);background:#fff;border:1px solid color-mix(in srgb,var(--menu-accent) 32%,white);box-shadow:0 7px 16px color-mix(in srgb,var(--menu-accent) 12%,transparent)}
.nav-symbol{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.mega-heading{max-width:18ch;margin:.52rem 0 .32rem;color:var(--ink);font-family:var(--serif);font-size:1.42rem;font-weight:700;letter-spacing:-.028em;line-height:1.08}
.mega-grid p{max-width:34ch;margin-bottom:.65rem;color:var(--muted);font-size:.73rem;line-height:1.5}
.mega-hub-link{display:inline-flex;align-items:center;gap:.42rem;color:var(--menu-accent);text-decoration:none;font-size:.72rem;font-weight:850}
.mega-hub-link svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s}
.mega-hub-link:hover{color:var(--coral)}
.mega-hub-link:hover svg{transform:translateX(3px)}
.mega-group-title{display:flex;align-items:center;gap:.48rem;margin:.14rem 0 .42rem;color:var(--menu-accent);font-size:.64rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.mega-group-title .nav-symbol{width:18px;height:18px;padding:3px;background:var(--menu-soft);box-sizing:content-box}
.mega-link{display:flex;align-items:center;justify-content:space-between;gap:.7rem;min-height:35px;padding:.42rem .48rem;color:var(--ink);border:1px solid transparent;text-decoration:none;font-size:.75rem;font-weight:700;line-height:1.25;transition:color .16s,background .16s,border-color .16s,transform .16s}
.mega-link-rich{min-height:48px}
.mega-link-copy,.mega-link-copy strong,.mega-link-copy small{display:block}
.mega-link-copy small{margin-top:.08rem;color:var(--muted);font-size:.63rem;font-weight:500;line-height:1.35}
.mega-link-arrow{flex:0 0 auto;width:16px;fill:none;stroke:var(--menu-accent);stroke-width:1.7;opacity:0;transform:translateX(-4px);transition:opacity .16s,transform .16s}
.mega-link:hover,.mega-link:focus-visible{color:var(--green-dark);background:var(--menu-soft);border-color:color-mix(in srgb,var(--menu-accent) 18%,white);transform:translateX(2px)}
.mega-link:hover .mega-link-arrow,.mega-link:focus-visible .mega-link-arrow{opacity:1;transform:translateX(0)}
.nav-scrim{visibility:hidden;position:fixed;z-index:190;inset:76px 0 0;background:rgba(9,26,24,.42);opacity:0;pointer-events:none;backdrop-filter:blur(2px);transition:opacity .18s,visibility .18s}
body.mega-open .nav-scrim{visibility:visible;opacity:1;pointer-events:auto}
.nav-actions { display: flex; align-items: center; gap: .7rem; }
.nav-search { display: grid; place-items: center; width: 38px; height: 38px; color: #dce9e5; border: 1px solid rgba(255,255,255,.2); }
.nav-search svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.nav-cta { padding: .58rem .88rem; color: var(--ink); background: #a6ead6; text-decoration: none; font-size: .75rem; font-weight: 820; }
.nav-cta:hover { color: var(--ink); background: #c1f4e5; }
.menu-button { display: none; align-items: center; gap: .62rem; min-width: 76px; height: 42px; padding: 0 0 0 .72rem; color: #fff; background: transparent; border: 0; border-left: 1px solid rgba(255,255,255,.22); cursor: pointer; }
.menu-label { font-size: .68rem; font-weight: 850; letter-spacing: .065em; text-transform: uppercase; }
.menu-mark { position: relative; width: 23px; height: 20px; }
.menu-mark i { position: absolute; right: 0; height: 2px; background: currentColor; transition: top .18s, width .18s, transform .18s; }
.menu-mark i:first-child { top: 6px; width: 23px; }
.menu-mark i:last-child { top: 13px; width: 15px; }
.menu-button.open { color: #a6ead6; }
.menu-button.open .menu-mark i { top: 10px; width: 20px; }
.menu-button.open .menu-mark i:first-child { transform: rotate(45deg); }
.menu-button.open .menu-mark i:last-child { transform: rotate(-45deg); }
.mobile-menu{display:none;position:fixed;inset:76px 0 0;z-index:190;overflow-y:auto;background:#f4efe6;border-top:1px solid #294744}
.mobile-menu.open{display:block}
.mobile-menu-inner{padding-block:1.1rem 3rem}
.mobile-menu-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:2rem;padding:1.3rem 1.5rem;color:#fff;background:linear-gradient(135deg,#173b37,#24544d)}
.mobile-menu-intro strong{display:block;font-family:var(--serif);font-size:1.55rem;line-height:1.08}
.mobile-menu-intro p{margin:0;color:#c6d8d3;font-size:.76rem}
.mobile-search{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.4rem;margin-top:.8rem;background:#fff;border:1px solid #d8d0c4}
.mobile-search input{min-width:0;padding:.6rem .7rem;color:var(--ink);background:transparent;border:0;outline:0}
.mobile-search button{padding:.55rem 1rem;color:#fff;background:var(--green);border:0;font-size:.72rem;font-weight:850}
.mobile-nav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:.8rem}
.mobile-nav-grid section{padding:.85rem 1rem;background:#fff;border:1px solid #ded6ca}
.nav-group-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem;color:var(--ink);font-size:.68rem;font-weight:850;text-transform:uppercase}
.mobile-nav-grid section>a{display:flex;align-items:center;justify-content:space-between;min-height:44px;color:#2e4743;border-bottom:1px solid #ece6dd;text-decoration:none;font-size:.79rem;font-weight:700}
.mobile-nav-grid section>a:last-child{border:0}
.mobile-nav-grid section>a:hover{color:var(--green-dark)}
.mobile-menu-footer{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid #d8d0c4}
.mobile-menu-footer a{padding:.45rem .7rem;color:#405752;background:#fff;font-size:.7rem;font-weight:750;text-decoration:none}

.section { padding-block: clamp(4rem, 8vw, 7.5rem); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.section-heading h2 { max-width: 18ch; margin-bottom: .55rem; }
.section-heading p { max-width: 60ch; margin: 0; color: var(--muted); }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .72rem 1.15rem; color: #fff; background: var(--green); border: 1px solid var(--green); text-decoration: none; font-weight: 800; cursor: pointer; }
.button:hover { color: #fff; background: var(--green-dark); }
.button-secondary { color: var(--ink); background: transparent; border-color: var(--line-dark); }
.button-secondary:hover { color: var(--ink); background: #fff; }
.button-light { color: var(--ink); background: #a6ead6; border-color: #a6ead6; }
.button-light:hover { color: var(--ink); background: #c8f4e7; }
.text-link { display: inline-flex; align-items: center; gap: .6rem; color: var(--green-dark); text-decoration: none; font-size: .84rem; font-weight: 850; }
.text-link span:first-child { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.arrow-icon { width: 31px; height: 20px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s; }
.text-link:hover .arrow-icon { transform: translateX(4px); }
.text-link.on-dark { color: #a6ead6; }
.pale-section { background: var(--cream); border-block: 1px solid #e8e0d2; }
.dark-band { color: #fff; background: var(--ink); }
.dark-band h2, .dark-band h3 { color: #fff; }
.three-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.three-grid article { padding: 1.5rem; background: #fff; border: 1px solid var(--line); }
.three-grid article p { color: var(--muted); font-size: .9rem; }
.three-grid article > a:not(.text-link) { display: block; width: fit-content; margin-top: .35rem; font-weight: 750; }
.contextual-note { max-width: 72ch; margin: 1.5rem 0 0; color: var(--ink-2); font-size: .88rem; }

.home-hero { overflow: hidden; background: var(--ink); }
.home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); gap: clamp(2.5rem, 5vw, 5.5rem); align-items: center; padding-block: clamp(3.5rem, 6vw, 5.5rem); }
.home-hero-grid > * { min-width: 0; }
.hero-content { min-width: 0; }
.hero-content h1 { max-width: 11ch; margin-bottom: 1.2rem; color: #fff; font-size: clamp(3.65rem, 5.4vw, 5.4rem); line-height: .94; }
.hero-content > p { max-width: 57ch; color: #d7e3df; }
.hero-search { width: 100%; display: grid; grid-template-columns: 1.08fr .92fr; gap: 0; margin: 1.75rem 0 .85rem; padding: .4rem; background: #fff; }
.hero-search > div { display: flex; flex-direction: column; padding: .25rem .85rem; border-right: 1px solid var(--line); }
.hero-search > div:nth-child(2) { border-right: 0; }
.hero-search label { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hero-search select, .hero-search input { width: 100%; min-width: 0; padding: .15rem 0; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: .84rem; font-weight: 700; }
.hero-search button { grid-column: 1 / -1; min-height: 48px; margin-top: .4rem; padding: .65rem 1.05rem; border: 0; background: var(--coral); color: #fff; font-size: .76rem; font-weight: 850; cursor: pointer; }
.hero-trust { font-size: .72rem; color: #a9beb8 !important; }
.hero-visual { margin: 0; }
.hero-visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.hero-visual figcaption { max-width: 40ch; margin: .8rem 0 0 auto; color: #a9beb8; font-size: .7rem; line-height: 1.45; text-align: right; }
.proof-strip { background: #fff; border-bottom: 1px solid var(--line); }
.proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.proof-grid > div { display: flex; flex-direction: column; padding: 1.3rem 1.6rem; border-right: 1px solid var(--line); }
.proof-grid > div:first-child { padding-left: 0; }
.proof-grid > div:last-child { border-right: 0; }
.proof-grid strong { color: var(--ink); font-size: .88rem; }
.proof-grid span { color: var(--muted); font-size: .72rem; }
.profession-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.profession-card { position: relative; display: flex; flex-direction: column; min-height: 340px; padding: 1.7rem; border: 1px solid var(--line); background: #fff; transition: border-color .2s, transform .2s; }
.profession-card:hover, .profession-card:focus-within { border-color: var(--green); transform: translateY(-3px); }
.profession-symbol { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 2rem; color: var(--green); background: var(--green-pale); font-size: 1.35rem; }
.profession-card h3 { font-size: 1.4rem; }
.profession-card h3 a { color: inherit; text-decoration: none; }
.profession-card h3 a:hover { color: var(--green); }
.profession-card p { flex: 1; color: var(--muted); font-size: .88rem; }
.split-feature { display: grid; grid-template-columns: .9fr 1.1fr; gap: 7rem; align-items: center; padding-block: 6.5rem; }
.split-feature > div > p { max-width: 55ch; color: #bfd0cb; }
.arrow-steps { list-style: none; padding: 0; margin: 0; }
.arrow-steps li { display: grid; grid-template-columns: 72px 1fr; gap: 1rem; padding-block: 1.25rem; border-bottom: 1px solid rgba(255,255,255,.15); }
.arrow-steps .step-arrow { color: var(--coral); }
.arrow-steps .arrow-icon { width: 55px; height: 34px; }
.arrow-steps strong { display: block; font-family: var(--serif); font-size: 1.4rem; color: #fff; }
.arrow-steps p { margin: .2rem 0 0; color: #aebfba; font-size: .84rem; }
.magazine-grid { display: grid; grid-template-columns: 1.45fr .85fr; gap: 2rem; }
.feature-story { display: grid; grid-template-rows: 340px auto; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.feature-story > img { width: 100%; height: 100%; object-fit: cover; }
.feature-story > div { padding: 2rem; }
.feature-story h3 { font-family: var(--serif); font-size: 2rem; }
.feature-story h3 a { color: var(--ink); text-decoration: none; }
.feature-story > div > p { color: var(--muted); }
.story-list { border-top: 2px solid var(--ink); }
.story-list article { padding-block: 1.4rem; border-bottom: 1px solid var(--line); }
.story-list h3 { margin-bottom: .4rem; }
.story-list h3 a { color: var(--ink); text-decoration: none; }
.story-list p { margin: 0; color: var(--muted); font-size: .83rem; }
.tools-band { padding-block: 0; background: var(--cream); }
.tools-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; }
.tools-split > img { width: calc(100% + max(20px, (100vw - var(--shell))/2)); height: 100%; margin-left: calc(-1 * max(20px, (100vw - var(--shell))/2)); object-fit: cover; }
.tools-split > div { align-self: center; padding: 5rem 0 5rem 5rem; }
.tools-split > div > p { color: var(--muted); }
.tools-split ul { padding: 0; margin: 2rem 0; list-style: none; }
.tools-split li { padding: .8rem 0; border-top: 1px solid #d8d0c4; }
.tools-split li a { display: block; width: fit-content; font-weight: 800; }
.tools-split li span { display: block; color: var(--muted); font-size: .76rem; }
.final-cta { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.final-cta h2 { max-width: 18ch; margin-bottom: .5rem; }
.final-cta p { max-width: 60ch; color: var(--muted); margin: 0; }

.page-hero { padding-block: clamp(4.5rem, 9vw, 8rem); overflow: hidden; background: var(--cream); border-bottom: 1px solid #e5ded2; }
.page-hero-content { max-width: var(--shell); }
.breadcrumb-bar { color: #dce9e5; background: rgba(19,44,42,.98); border: 0; }
.breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; margin: 0; padding: .72rem 0; color: #b9cbc6; font-size: .75rem; line-height: 1.4; }
.breadcrumb a { color: #dce9e5; font-weight: 750; text-decoration: none; }
.breadcrumb a:hover, .breadcrumb a:focus-visible { color: #fff; text-decoration: underline; }
.breadcrumb [aria-current="page"] { color: #fff; }
.breadcrumb-separator { color: #78938c; }
.page-hero h1 { max-width: 18ch; margin-bottom: 1rem; overflow-wrap: anywhere; text-wrap: balance; }
.page-hero p { max-width: 65ch; color: var(--muted); font-size: 1.08rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.profession-hero { padding-block: clamp(4rem, 6vw, 6.25rem); }
.profession-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .7fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.profession-hero-grid > * { min-width: 0; }
.profession-hero-copy { max-width: 860px; }
.profession-hero h1 { max-width: 16ch; line-height: .96; }
.profession-hero-proof { padding: .3rem 0 .3rem 2.25rem; border-left: 1px solid var(--line-dark); }
.profession-hero-proof h2 { max-width: 18ch; margin-bottom: 1rem; font-family: var(--font); font-size: 1.2rem; line-height: 1.25; letter-spacing: 0; }
.profession-hero-proof ul { margin: 0; padding-left: 1.15rem; color: var(--ink-2); font-size: .82rem; }
.profession-hero-proof li { margin-bottom: .55rem; padding-left: .2rem; }
.profession-hero-proof p { margin: 1.2rem 0 0; padding-top: 1.1rem; border-top: 1px solid var(--line); font-size: .76rem; line-height: 1.6; }
.profile-hero { padding-block: clamp(3.75rem, 5.5vw, 5.75rem); }
.profile-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .6fr); gap: clamp(3rem, 6vw, 6rem); align-items: center; }
.profile-hero-grid > * { min-width: 0; }
.profile-hero h1 { max-width: none; margin: 0; font-size: clamp(3.5rem, 5.8vw, 6.1rem); line-height: .95; }
.profile-hero h1 > span:first-child { display: block; }
.profile-h1-role { display: block; max-width: 22ch; margin-top: 1rem; color: var(--ink-2); font-family: var(--font); font-size: clamp(1rem, 1.55vw, 1.35rem); font-weight: 760; line-height: 1.25; letter-spacing: -.01em; }
.profile-hero-details { padding-left: 2rem; border-left: 1px solid var(--line-dark); }
.profile-record-label { margin: 0 0 1.25rem; color: var(--ink) !important; font-family: var(--serif); font-size: 1.25rem !important; font-weight: 700; }
.profile-hero-details dl { margin: 0; }
.profile-hero-details dl div { display: grid; grid-template-columns: 115px 1fr; gap: 1rem; padding: .75rem 0; border-top: 1px solid var(--line); }
.profile-hero-details dt { color: var(--muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.profile-hero-details dd { margin: 0; color: var(--ink-2); font-size: .8rem; font-weight: 700; }
.image-hero { position: relative; min-height: 540px; display: grid; align-items: end; overflow: hidden; color: #fff; background: var(--ink); }
.image-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.image-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(19,44,42,.98), rgba(19,44,42,.82) 48%, rgba(19,44,42,.1)); }
.image-hero .shell { position: relative; z-index: 1; padding-bottom: 3.5rem; }
.image-hero h1 { color: #fff; }
.image-hero p { color: #dce7e4; }
.image-disclosure { font-size: .7rem !important; color: #9fb3ad !important; }
.editorial-hero { padding-block: 4.5rem; background: var(--cream); border-bottom: 1px solid #e2dacd; }
.editorial-hero-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 4rem; align-items: center; }
.editorial-hero-grid > * { min-width: 0; }
.editorial-hero h1 { max-width: 10ch; margin-bottom: 1.25rem; }
.editorial-hero p { color: var(--muted); font-size: 1.04rem; }
.editorial-hero img { width: 100%; height: 390px; object-fit: cover; }
.editorial-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.editorial-meta span { padding: .42rem .65rem; border: 1px solid var(--line-dark); color: var(--ink-2); font-size: .69rem; font-weight: 750; }

.directory-search-section { position: relative; z-index: 3; margin-top: -1.5rem; }
.directory-search { display: grid; grid-template-columns: 1fr 1fr 1.3fr auto; gap: .7rem; padding: .8rem; background: #fff; border: 1px solid var(--line); box-shadow: 0 12px 35px rgba(20,45,42,.12); }
.directory-search > div { display: flex; flex-direction: column; padding: .1rem .65rem; border-right: 1px solid var(--line); }
.directory-search label { color: var(--muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.directory-search input, .directory-search select { min-width: 0; width: 100%; padding: .25rem 0; color: var(--ink); background: #fff; border: 0; outline: 0; font-size: .82rem; }
.directory-search button { padding: .65rem 1rem; border: 0; color: #fff; background: var(--coral); font-size: .76rem; font-weight: 850; cursor: pointer; }
.directory-results { min-height: 420px; }
.honest-empty { max-width: 820px; padding: 2.5rem; border-left: 5px solid var(--coral); background: #fff; }
.honest-empty h2 { font-size: 2rem; }
.honest-empty p { color: var(--muted); }
.empty-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.directory-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.directory-cards article { display: flex; flex-direction: column; min-height: 300px; padding: 1.7rem; background: #fff; border: 1px solid var(--line); }
.professional-results { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.professional-results article { padding: 1.6rem; background: #fff; border: 1px solid var(--line); }
.professional-results h2 { margin-bottom: .35rem; font-family: var(--serif); font-size: 1.55rem; }
.professional-results h2 a { color: var(--ink); text-decoration: none; }
.professional-results p { color: var(--muted); font-size: .86rem; }
.professional-results .result-firm { color: var(--ink-2); font-weight: 750; }
.professional-results dl { display: grid; gap: .45rem; margin-block: 1rem; font-size: .76rem; }
.professional-results dl div { display: grid; grid-template-columns: 90px 1fr; gap: .5rem; }
.professional-results dt { color: var(--muted); }
.professional-results dd { margin: 0; color: var(--ink); }
.professional-results article > a { font-size: .8rem; font-weight: 800; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2.25rem; padding-top: 1.25rem; border-top: 1px solid var(--line); font-size: .78rem; }
.pagination a { padding: .55rem .75rem; border: 1px solid var(--line-dark); text-decoration: none; font-weight: 800; }
.pagination span { color: var(--muted); }
.verified-date { display: inline-flex; padding: .45rem .65rem; color: var(--green-dark); background: var(--green-pale); border: 1px solid #a8cec1; font-size: .72rem; font-weight: 800; }
.profile-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-bottom: 3rem; }
.profile-facts section { padding: 1rem; background: var(--cream); border-top: 3px solid var(--green); }
.profile-facts h2 { margin-bottom: .35rem; font-size: .85rem; }
.profile-facts p { margin: 0; font-size: .8rem; }
.directory-cards h3 { font-family: var(--serif); font-size: 1.55rem; }
.directory-cards h3 a { color: inherit; text-decoration: none; }
.directory-cards p { color: var(--muted); font-size: .86rem; }
.card-actions { margin-top: auto; }
.needs-matcher { display: grid; grid-template-columns: .85fr 1.15fr; gap: 5rem; align-items: start; }
.needs-matcher > div:first-child p { color: var(--muted); }
.matcher-panel { padding: 2rem; background: #fff; border: 1px solid var(--line); }
.matcher-panel label { display: block; margin-bottom: .4rem; font-size: .76rem; font-weight: 800; }
.matcher-panel select { width: 100%; padding: .8rem; border: 1px solid var(--line-dark); background: #fff; }
.matcher-panel .button { margin-block: 1rem; }
.matcher-result { padding: 1rem; background: var(--green-pale); border-left: 4px solid var(--green); }
.matcher-result strong { color: var(--ink); }
.matcher-result p { margin: .25rem 0 .5rem; font-size: .84rem; }
.matcher-result a { font-size: .8rem; font-weight: 800; }

.content-with-aside, .static-layout { display: grid; grid-template-columns: minmax(0, 760px) 290px; gap: 5rem; align-items: start; }
.longform { font-size: 1.03rem; }
.longform section + section, .longform > h2 { margin-top: 3.5rem; }
.longform h2 { margin-bottom: .8rem; font-size: 2.15rem; }
.longform p { color: #394c49; }
.table-wrap { overflow-x: auto; margin-block: 1.5rem 3rem; }
.comparison-table { width: 100%; min-width: 660px; border-collapse: collapse; font-size: .84rem; line-height: 1.5; }
.comparison-table th, .comparison-table td { padding: .9rem; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.comparison-table thead th { color: var(--ink); background: var(--cream); }
.comparison-table tbody th { width: 25%; color: var(--ink); background: #fff; }
.faq-item { padding-block: 1.15rem; border-top: 1px solid var(--line); }
.faq-item h3 { margin-bottom: .45rem; color: var(--ink); font-size: 1.05rem; }
.faq-item p { margin: 0; }
.context-links { padding-left: 1.15rem; }
.context-links li { margin-bottom: .7rem; }
.decision-box { margin: 3rem 0; padding: 2rem; background: var(--green-pale); border-left: 5px solid var(--green); }
.decision-box h2 { margin-top: 0 !important; font-size: 1.7rem; }
.question-list { list-style: none; padding: 0; margin: 2rem 0; }
.question-list li { display: grid; grid-template-columns: 55px 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.question-list .arrow-icon { color: var(--coral); }
.question-list p { margin: 0; font-weight: 700; }
.source-list { display: grid; gap: .7rem; margin-top: 1.5rem; }
.source-list a { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; color: var(--ink); background: #fff; border: 1px solid var(--line); text-decoration: none; font-weight: 750; }
.source-list a:hover { border-color: var(--green); }
.sticky-aside, .article-aside { position: sticky; top: 110px; }
.sticky-aside > div, .article-aside > div { padding: 1.4rem; background: var(--cream); border-top: 4px solid var(--coral); }
.sticky-aside h2, .article-aside h2 { font-family: var(--font); font-size: 1rem; letter-spacing: 0; }
.sticky-aside a, .article-aside a { display: block; padding: .65rem 0; border-top: 1px solid #ddd4c6; text-decoration: none; font-size: .8rem; font-weight: 750; }
.regulator-grid { padding-top: 0; }

.library-intro { max-width: 760px; margin-bottom: 4.5rem; }
.library-intro p { color: var(--muted); font-size: 1.02rem; }
.guide-cluster { margin-top: 4.5rem; }
.guide-cluster:first-of-type { margin-top: 0; }
.cluster-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.4rem; }
.cluster-heading h2 { margin-bottom: .45rem; }
.cluster-heading p { max-width: 68ch; margin: 0; color: var(--muted); }
.cluster-heading > a { flex: 0 0 auto; font-size: .8rem; font-weight: 800; }
.guide-index { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 2.5rem; border-top: 2px solid var(--ink); }
.guide-card { padding: 2rem 0; border-bottom: 1px solid var(--line); }
.guide-card h3 { font-family: var(--serif); font-size: 1.65rem; margin-bottom: .65rem; }
.guide-card h3 a { color: var(--ink); text-decoration: none; }
.guide-card > p { color: var(--muted); font-size: .88rem; }
.standards-callout { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.standards-callout p { max-width: 65ch; color: #bdd0ca; }
.article-header { padding-block: 5rem 3.5rem; background: var(--cream); border-bottom: 1px solid #e4ddd1; }
.article-shell { max-width: var(--shell); }
.article-header h1 { max-width: 18ch; font-size: clamp(2.7rem, 6vw, 5.25rem); }
.article-deck { max-width: 66ch; color: var(--ink-2); font-family: var(--serif); font-size: 1.25rem; line-height: 1.5; }
.byline { display: flex; flex-wrap: wrap; gap: .5rem 1.3rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #d8d0c5; color: var(--muted); font-size: .72rem; }
.article-cover { width: 100%; max-height: 520px; margin-top: 2rem; object-fit: cover; }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px) 260px; gap: 5.5rem; align-items: start; padding-block: 4.5rem 7rem; }
.article-body { color: #314541; font-family: var(--serif); font-size: 1.14rem; line-height: 1.78; }
.article-body section { margin-top: 3.8rem; }
.article-body h2 { margin-bottom: 1rem; font-size: 2.15rem; }
.article-body a { font-family: var(--font); font-size: .92em; }
.answer-first { margin-bottom: 3.7rem; padding: 1.6rem 1.8rem; background: var(--green-pale); border-left: 5px solid var(--green); }
.answer-first h2 { margin-bottom: .5rem; font-size: 1.4rem; }
.answer-first p { margin: 0; }
.worked-example { padding: 1.7rem 2rem; background: var(--coral-pale); border-top: 4px solid var(--coral); }
.worked-example h2 { font-size: 1.55rem; }
.checklist { list-style: none; padding: 0; }
.checklist li { display: flex; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.checklist li span { color: var(--green); font-family: var(--font); font-weight: 900; }
.sources { padding-left: 1.15rem; }
.sources li { margin-bottom: .65rem; }
.article-disclaimer { margin-top: 4rem; padding: 1.2rem; background: var(--cream); border: 1px solid #e2dacf; font-family: var(--font); font-size: .82rem; }
.article-disclaimer p { margin: .2rem 0 0; }
.article-aside { max-height: calc(100vh - 125px); overflow-y: auto; scrollbar-width: thin; }
.article-aside > div + div { margin-top: 1rem; }
.article-aside > div > a { line-height: 1.35; }
.article-aside .aside-tools { border-top-color: var(--green); background: var(--green-pale); }
.visual-heading { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.2rem; font-family: var(--font); }
.visual-heading-icon { width: 44px; height: 44px; display: grid; flex: 0 0 44px; place-items: center; color: #fff; background: var(--green); }
.visual-heading-icon svg, .path-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.visual-heading h2 { margin: 0; font-size: 1.7rem; }
.article-overview { margin-top: 0 !important; }
.key-points-table-wrap { overflow-x: auto; border: 1px solid var(--line-dark); }
.key-points-table { width: 100%; min-width: 560px; border-collapse: collapse; font-family: var(--font); font-size: .82rem; line-height: 1.5; }
.key-points-table th, .key-points-table td { padding: .85rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.key-points-table thead th { color: #fff; background: var(--ink); font-size: .69rem; letter-spacing: .06em; text-transform: uppercase; }
.key-points-table thead th:first-child { width: 135px; }
.key-points-table tbody th { color: var(--ink); background: var(--cream); font-size: .74rem; }
.key-points-table tbody tr:last-child th, .key-points-table tbody tr:last-child td { border-bottom: 0; }
.decision-path { margin-top: 3.5rem; }
.decision-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line-dark); font-family: var(--font); }
.decision-path-grid > div { position: relative; min-width: 0; padding: 1.3rem; background: #fff; }
.decision-path-grid > div + div { border-left: 1px solid var(--line); }
.decision-path-grid > div + div::before { content: "→"; position: absolute; top: 1.35rem; left: -.6rem; width: 1.2rem; height: 1.2rem; display: grid; place-items: center; color: #fff; background: var(--coral); font-size: .65rem; }
.path-number { position: absolute; right: .8rem; top: .65rem; color: #718780; font-size: 1.6rem; font-weight: 900; }
.path-icon { width: 40px; height: 40px; display: grid; place-items: center; margin-bottom: .9rem; color: var(--green-dark); background: var(--green-pale); }
.decision-path-grid h3 { margin-bottom: .35rem; font-size: 1rem; }
.decision-path-grid p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.interactive-checklist { overflow: hidden; border: 1px solid var(--line-dark); font-family: var(--font); }
.checklist-progress { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; color: #fff; background: var(--ink); font-size: .73rem; }
.checklist-progress span { color: #a6ead6; font-weight: 800; }
.interactive-checklist ul { margin: 0; padding: 0; list-style: none; }
.interactive-checklist li { border-bottom: 1px solid var(--line); }
.interactive-checklist input { position: absolute; opacity: 0; pointer-events: none; }
.interactive-checklist label { display: flex; align-items: flex-start; gap: .75rem; padding: .9rem 1.1rem; color: var(--ink-2); cursor: pointer; font-size: .81rem; line-height: 1.5; }
.interactive-checklist label span { width: 23px; height: 23px; display: grid; flex: 0 0 23px; place-items: center; color: transparent; border: 2px solid var(--line-dark); font-size: .72rem; }
.interactive-checklist input:focus-visible + label { outline: 3px solid #f2a792; outline-offset: -3px; }
.interactive-checklist input:checked + label { color: var(--muted); background: var(--green-pale); text-decoration: line-through; }
.interactive-checklist input:checked + label span { color: #fff; background: var(--green); border-color: var(--green); text-decoration: none; }
.interactive-checklist > p { margin: 0; padding: .65rem 1.1rem; color: var(--muted); background: var(--cream); font-size: .67rem; }
.decision-workbook { padding: 1.35rem; background: var(--cream); border: 1px solid #ded5c8; font-family: var(--font); }
.workbook-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.decision-workbook label { display: block; color: var(--ink); font-size: .72rem; font-weight: 800; }
.decision-workbook input, .decision-workbook textarea { width: 100%; margin-top: .35rem; padding: .72rem .78rem; color: var(--ink); background: #fff; border: 1px solid var(--line-dark); font-weight: 500; resize: vertical; }
.decision-workbook > label { margin-top: .9rem; }
.workbook-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 1rem; }
.workbook-actions .button { min-height: 42px; padding: .55rem .8rem; font-size: .73rem; }
.clear-button { padding: .55rem .4rem; color: var(--muted); background: transparent; border: 0; text-decoration: underline; cursor: pointer; font-size: .72rem; }
.workbook-privacy { margin: .8rem 0 0; color: var(--muted); font-size: .67rem; line-height: 1.5; }
.workbook-privacy span { color: var(--green-dark); font-weight: 800; }
.article-summary { padding: 1.5rem 1.7rem; color: var(--ink-2); background: var(--green-pale); border: 1px solid #b7d8cd; }
.article-summary .visual-heading { margin-bottom: .75rem; }
.article-summary ul { margin: 0; padding-left: 1.2rem; font-family: var(--font); font-size: .82rem; }
.article-summary li { margin-bottom: .45rem; }
.article-summary > p { margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid #b7d8cd; font-family: var(--font); font-size: .79rem; line-height: 1.55; }
.guide-depth { padding-top: 1.8rem; border-top: 4px solid var(--ink); }
.guide-depth > h2 { max-width: 20ch; }
.guide-depth-intro { max-width: 67ch; color: var(--ink-2); font-size: 1.08rem; }
.guide-depth-blocks { margin-top: 1.8rem; border-top: 1px solid var(--line-dark); }
.guide-depth-blocks > div { padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.guide-depth-blocks h3 { margin-bottom: .55rem; font-family: var(--serif); font-size: 1.4rem; }
.guide-depth-blocks p { margin: 0; }
.guide-depth-blocks p + p { margin-top: .85rem; }
.guide-depth-warning .guide-depth-blocks > div { padding-inline: 1.25rem; border-left: 5px solid var(--coral); background: var(--coral-pale); }
.guide-depth-questions .guide-depth-blocks > div:first-child { border-left: 5px solid var(--green); padding-left: 1.25rem; }
.guide-evidence-table { overflow-x: auto; margin-top: 2rem; border: 1px solid var(--line-dark); }
.guide-evidence-table table { width: 100%; min-width: 620px; border-collapse: collapse; font-family: var(--font); font-size: .79rem; line-height: 1.5; }
.guide-evidence-table caption { padding: .9rem 1rem; color: #fff; background: var(--ink); font-family: var(--serif); font-size: 1.08rem; font-weight: 700; text-align: left; }
.guide-evidence-table th, .guide-evidence-table td { padding: .8rem .9rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.guide-evidence-table thead th { color: var(--ink); background: var(--green-pale); font-size: .67rem; letter-spacing: .045em; text-transform: uppercase; }
.guide-evidence-table tbody th { width: 24%; color: var(--ink); background: var(--cream); }
.guide-evidence-table tbody tr:last-child th, .guide-evidence-table tbody tr:last-child td { border-bottom: 0; }
.imported-body > h2:first-child { margin-top: 3.8rem; }

.research-hero { background: var(--cream); border-bottom: 1px solid #e4ddd1; }
.research-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(370px, .95fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; padding-block: clamp(4rem, 8vw, 7rem); }
.research-hero-grid > *, .research-title-grid > * { min-width: 0; }
.research-hero h1 { max-width: 12ch; font-size: clamp(3rem, 5.8vw, 5.25rem); }
.research-hero p { max-width: 61ch; color: var(--ink-2); font-family: var(--serif); font-size: 1.16rem; }
.research-hero .button { margin-top: .8rem; }
.research-hero img { width: 100%; aspect-ratio: 1.45; object-fit: cover; }
.method-rail { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line-dark); }
.method-rail article { padding: 1.4rem 1.2rem 1.4rem 0; }
.method-rail article + article { padding-left: 1.2rem; border-left: 1px solid var(--line); }
.method-rail article > a { display: block; margin: .5rem 0; color: var(--ink); font-family: var(--serif); font-size: 1rem; font-weight: 700; line-height: 1.3; }
.method-rail p { margin: 0; color: var(--muted); font-size: .84rem; }
.route-arrow { color: var(--coral); font-size: 1.45rem; line-height: 1; }
.research-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; border-top: 2px solid var(--ink); }
.research-card-grid article { padding: 1.6rem 0; border-bottom: 1px solid var(--line-dark); }
.research-card-grid h3 { margin-bottom: .45rem; font-family: var(--serif); font-size: 1.45rem; }
.research-card-grid h3 a { color: var(--ink); text-decoration: none; }
.research-card-grid h3 a:hover { color: var(--green-dark); text-decoration: underline; }
.research-card-grid p { margin-bottom: .75rem; color: var(--muted); font-size: .88rem; }
.research-article-header { padding-block: 4.5rem 3rem; background: var(--cream); border-bottom: 1px solid #e4ddd1; }
.research-title-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: clamp(2.5rem, 6vw, 5rem); align-items: end; }
.research-title-grid h1 { max-width: 14ch; font-size: clamp(2.8rem, 5.5vw, 5rem); }
.research-title-grid img { width: 100%; aspect-ratio: 1.25; object-fit: cover; }
.imported-body img { height: auto; }
.imported-body table { width: 100%; border-collapse: collapse; font-family: var(--font); font-size: .82rem; }
.imported-body th, .imported-body td { padding: .7rem; border: 1px solid var(--line); text-align: left; }
.imported-body th { background: var(--cream); }

.tool-index { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
.tool-index article { min-height: 290px; display: flex; flex-direction: column; padding: 1.7rem; background: #fff; border: 1px solid var(--line); }
.tool-index h2 { font-size: 1.6rem; }
.tool-index h2 a { color: var(--ink); text-decoration: none; }
.tool-index p { color: var(--muted); font-size: .88rem; }
.tool-index .text-link { margin-top: auto; }
.decision-tool-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.decision-tool-grid article { padding: 1.5rem; border: 1px solid var(--line); background: #fff; }
.decision-tool-grid p { color: var(--muted); font-size: .88rem; }
.decision-tool-grid a { font-size: .82rem; font-weight: 800; }
.tool-glyph { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 1.5rem; color: #fff; background: var(--green); font-weight: 850; }
.methodology-note { max-width: 800px; }
.methodology-note p { color: var(--muted); }
.direct-answer { margin-top: 1.5rem; padding: 1rem 1.2rem; color: var(--ink-2) !important; background: #fff; border-left: 4px solid var(--green); font-size: .92rem !important; }
.faq-section { max-width: 900px; }
.action-detail > div { padding-block: 1rem; border-top: 1px solid var(--line); }
.action-detail h3 { margin-bottom: .4rem; }
.action-detail > div p { margin: 0; }
.page-search { display: flex; max-width: 790px; gap: .7rem; margin-top: 1.5rem; }
.page-search input { flex: 1; min-width: 0; padding: .8rem; border: 1px solid var(--line-dark); }
.search-results { margin-top: 2rem; border-top: 2px solid var(--ink); }
.search-results article { padding-block: 1.4rem; border-bottom: 1px solid var(--line); }
.search-results h3 { margin-bottom: .35rem; }
.search-results p { margin: 0; color: var(--muted); font-size: .85rem; }
.search-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-top: 2rem; }
.search-paths article { padding: 1rem; border: 1px solid var(--line); background: #fff; }
.search-paths h3 { margin-bottom: .4rem; }
.search-paths p { margin: 0; color: var(--muted); font-size: .82rem; }
.empty-explainer { margin-top: 4rem; }

.site-footer { padding-top: 4.5rem; color: #cfddd9; background: #0c2422; }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 3rem; }
.brand-light { margin-bottom: 1rem; }
.footer-brand > p { max-width: 42ch; color: #9db2ac; font-size: .8rem; }
.footer-brand .footer-note { color: #78918a; font-size: .7rem; }
.footer-title { margin-bottom: .8rem; color: #fff; font-family: var(--font); font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.footer-grid > div:not(.footer-brand) a { display: block; width: fit-content; padding: .32rem 0; color: #aec0bb; text-decoration: none; font-size: .76rem; }
.footer-grid a:hover { color: #a6ead6 !important; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 3rem; padding-block: 1rem 2rem; border-top: 1px solid rgba(255,255,255,.12); color: #78918a; font-size: .67rem; }

@media (max-width: 1160px) and (min-width: 1001px) {
  .nav-cta { display: none; }
  .nav-row { gap: .8rem; }
  .nav-trigger, .nav-direct { padding-inline: .48rem; font-size: .71rem; }
  .mega-grid { gap: 1.4rem; }
  .mega-grid section + section { padding-left: 1.35rem; }
}

@media (max-width: 1000px) {
  .desktop-nav, .nav-cta { display: none; }
  .menu-button { display: flex; }
  .home-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(350px, .78fr); gap: 2.5rem; }
  .hero-content h1 { font-size: clamp(3.35rem, 6.8vw, 4.6rem); }
  .profession-grid, .directory-cards, .three-grid { grid-template-columns: 1fr 1fr; }
  .split-feature { gap: 3rem; }
  .magazine-grid { grid-template-columns: 1.15fr .85fr; }
  .tools-split > div { padding-left: 3rem; }
  .directory-search { grid-template-columns: 1fr 1fr; }
  .directory-search > div { border-right: 0; }
  .directory-search button { min-height: 48px; }
  .content-with-aside, .static-layout, .article-layout { grid-template-columns: minmax(0, 1fr) 240px; gap: 3rem; }
  .profession-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); gap: 3rem; }
  .profile-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr); gap: 3rem; }
  .method-panel { max-width: 760px; }
  .method-rail { grid-template-columns: 1fr 1fr; }
  .method-rail article:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .method-rail article:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 900px) {
  .home-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; padding-block: 4rem 3rem; }
  .hero-content h1 { max-width: 13ch; font-size: clamp(3.25rem, 8vw, 4.5rem); }
  .hero-visual { width: min(100%, 680px); }
  .hero-visual figcaption { margin-left: 0; text-align: left; }
  .page-hero { padding-block: clamp(4rem, 8vw, 5.5rem); }
  .profession-hero-grid, .profile-hero-grid, .editorial-hero-grid, .research-hero-grid, .research-title-grid { grid-template-columns: minmax(0, 1fr); }
  .profession-hero-grid { gap: 2.5rem; }
  .profession-hero h1 { max-width: 16ch; }
  .profession-hero-proof { padding: 1.5rem 0 0; border-top: 1px solid var(--line-dark); border-left: 0; }
  .profile-hero-grid { gap: 2rem; }
  .profile-hero h1 { font-size: clamp(3.1rem, 8vw, 4.5rem); }
  .profile-hero-details { padding: 1.5rem 0 0; border-top: 1px solid var(--line-dark); border-left: 0; }
  .editorial-hero-grid, .research-hero-grid, .research-title-grid { gap: 2.5rem; }
  .editorial-hero h1, .research-hero h1, .research-title-grid h1 { max-width: 16ch; }
  .editorial-hero img, .research-hero img, .research-title-grid img { max-height: 420px; }
}

@media (max-width: 760px) {
  .shell{width:min(calc(100% - 28px),var(--shell))}
  .site-header{height:68px}
  .brand img{width:39px;height:39px}
  .brand-name{font-size:1.05rem}
  .nav-search{width:35px;height:35px}
  .menu-button{min-width:72px;padding-left:.55rem}
  .mobile-menu{inset:68px 0 0}
  .mobile-menu-inner{padding-block:.8rem 2rem}
  .mobile-menu-intro{display:block;padding:1.1rem}
  .mobile-menu-intro strong{font-size:1.35rem}
  .mobile-menu-intro p{margin-top:.5rem}
  .mobile-nav-grid{grid-template-columns:1fr;gap:.65rem}
  h1{font-size:clamp(2.55rem,14vw,4.1rem)}
  h2{font-size:2.05rem}
  .home-hero-grid{grid-template-columns:minmax(0,1fr);gap:2.25rem;padding-block:3.5rem 2.5rem}
  .hero-content h1{max-width:100%;font-size:clamp(2.55rem,10.8vw,3.5rem)}
  .hero-search{grid-template-columns:1fr}
  .hero-search>div{border-right:0;border-bottom:1px solid var(--line);padding:.55rem .7rem}
  .hero-search button{min-height:50px;margin-top:.35rem}
  .hero-visual { max-width: 620px; }
  .hero-visual figcaption{margin-left:0;text-align:left}
  .proof-grid{grid-template-columns:1fr;padding-block:.3rem}
  .proof-grid>div,.proof-grid>div:first-child{padding:.8rem 0;border-right:0;border-bottom:1px solid var(--line)}
  .proof-grid>div:last-child{border-bottom:0}
  .section-heading{display:block}
  .section-heading .text-link{margin-top:1rem}
  .cluster-heading{display:block}
  .cluster-heading>a{display:inline-block;margin-top:.8rem}
  .profession-grid,.directory-cards,.professional-results,.three-grid,.guide-index,.tool-index,.profile-facts,.search-paths,.research-card-grid{grid-template-columns:1fr}
  .research-hero-grid,.research-title-grid{grid-template-columns:1fr}
  .research-hero img{max-height:360px}
  .research-title-grid img{max-height:300px}
  .method-rail{grid-template-columns:1fr}
  .method-rail article,.method-rail article+article,.method-rail article:nth-child(3){padding:1.25rem 0;border-left:0;border-top:1px solid var(--line)}
  .method-rail article:first-child{border-top:0}
  .profession-card{min-height:300px}
  .split-feature{grid-template-columns:1fr;padding-block:4.5rem}
  .magazine-grid{grid-template-columns:1fr}
  .feature-story{grid-template-rows:260px auto}
  .tools-split{grid-template-columns:1fr}
  .tools-split > img { width: calc(100% + 28px); height: 320px; margin-left: -14px; }
  .tools-split > div { padding: 3.5rem 0; }
  .final-cta, .standards-callout { display: block; }
  .final-cta .button, .standards-callout .button { margin-top: 1.2rem; }
  .page-hero { padding-block: 3.5rem; }
  .page-hero h1 { max-width: 100%; }
  .profession-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .profession-hero h1 { max-width: 100%; }
  .profession-hero-proof { padding: 1.5rem 0 0; border-top: 1px solid var(--line-dark); border-left: 0; }
  .profile-hero { padding-block: 3.5rem; }
  .profile-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .profile-hero h1 { font-size: clamp(2.7rem, 12vw, 4.25rem); }
  .profile-hero-details { padding: 1.5rem 0 0; border-top: 1px solid var(--line-dark); border-left: 0; }
  .image-hero { min-height: 560px; }
  .image-hero > img { object-position: 48% center; }
  .image-hero::after { background: linear-gradient(0deg, rgba(19,44,42,.98), rgba(19,44,42,.55) 70%, rgba(19,44,42,.2)); }
  .editorial-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .editorial-hero img { height: 280px; }
  .directory-search { grid-template-columns: 1fr; }
  .needs-matcher { grid-template-columns: 1fr; gap: 2rem; }
  .content-with-aside, .static-layout, .article-layout { grid-template-columns: 1fr; }
  .sticky-aside, .article-aside { position: static; }
  .article-layout { padding-block: 3.5rem 5rem; }
  .article-body { font-size: 1.06rem; }
  .decision-path-grid { grid-template-columns: 1fr; }
  .decision-path-grid > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .decision-path-grid > div + div::before { content: "↓"; top: -.6rem; left: 1.25rem; }
  .workbook-grid { grid-template-columns: 1fr; }
  .decision-tool-grid { grid-template-columns: 1fr; }
  .score-questions label { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 460px) {
  .nav-search { display: none; }
  .section { padding-block: 3.7rem; }
  .profession-card, .directory-cards article { padding: 1.3rem; }
  .feature-story > div { padding: 1.4rem; }
  .honest-empty { padding: 1.6rem; }
  .matcher-panel { padding: 1.3rem; }
  .article-header { padding-block: 3.5rem 2.8rem; }
  .article-deck { font-size: 1.1rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { display: block; }
  .footer-bottom span { display: block; margin-top: .3rem; }
}

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

@media print {
  .site-header, .mobile-menu, .site-footer, .article-aside, .related-guides, .workbook-actions { display: none !important; }
  body { background: #fff; color: #111; font-size: 11pt; }
  .shell { width: 100%; max-width: none; }
  .article-header { padding: 0 0 1.5rem; background: #fff; }
  .article-header h1, .research-title-grid h1 { font-size: 30pt; }
  .article-layout { display: block; padding: 1.5rem 0; }
  .article-body { font-size: 11pt; }
  .article-body section { break-inside: avoid; margin-top: 1.5rem; }
  .article-cover, .research-title-grid img { max-height: 260px; }
  a { color: #111; }
}
