/* Shared page structure; product palettes and typography remain in character.css. */
.desktop-nav a[aria-current="page"],.mobile-nav a[aria-current="page"]{color:var(--teal);text-decoration:underline;text-underline-offset:6px}
.site-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);padding-top:28px}
.site-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.page-opening{padding-block:62px 70px;border-bottom:1px solid var(--line)}
.page-opening h1{font-size:clamp(44px,4.8vw,68px);max-width:900px;letter-spacing:-.045em;line-height:1.08}
.page-opening h1 em{display:block;margin-top:4px}
.page-lead{font-size:18px;line-height:1.8;max-width:700px;color:var(--muted);margin-top:26px}
.page-opening .hero-actions{margin-top:28px}
.page-kicker{margin-bottom:18px}
.page-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.65fr);gap:84px;padding-block:68px 90px;align-items:start}
.page-prose{min-width:0}
.page-prose section+section{margin-top:46px}
.page-prose h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;margin-bottom:18px;max-width:680px}
.page-prose h3{font-size:19px;line-height:1.4;font-weight:550;margin-bottom:8px}
.page-prose p,.page-prose li{font-size:16px;line-height:1.85;color:var(--muted)}
.page-prose p+p{margin-top:17px}
.page-prose ul,.page-prose ol{padding-left:22px;margin:18px 0}
.page-prose li+li{margin-top:12px}
.page-prose strong{font-weight:600;color:var(--ink)}
.page-prose a{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.page-aside{border-top:2px solid var(--teal);padding-top:22px;min-width:0}
.page-aside h2{font-size:22px;line-height:1.25;letter-spacing:-.5px;margin-bottom:18px}
.page-aside p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:17px}
.page-aside .text-link{font-size:13px}
.record-lines{margin:0 0 24px}
.record-lines>div{border-bottom:1px solid var(--line);padding:15px 0}
.record-lines dt{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.record-lines dd{font-size:14px;line-height:1.65;margin:0;color:var(--ink)}
.reading-note{font-family:Georgia,serif;font-style:italic;font-size:21px!important;line-height:1.5!important;color:var(--teal)!important;border-left:2px solid var(--teal);padding-left:20px;margin-block:28px}
.directory{padding-block:55px 85px}
.directory-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:30px;align-items:end}
.directory-heading h2{font-size:35px;line-height:1.2;letter-spacing:-1px}
.directory-heading p{font-size:15px;line-height:1.8;color:var(--muted)}
.directory-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.directory-list li{border-bottom:1px solid var(--line)}
.directory-list a{display:grid;grid-template-columns:45px minmax(0,.9fr) minmax(0,1fr) 22px;gap:25px;align-items:center;padding:29px 0}
.directory-list a:hover h3{color:var(--teal);text-decoration:underline;text-underline-offset:5px}
.directory-number{font-size:11px;color:var(--teal)}
.directory-list h3{font-size:24px;line-height:1.25;letter-spacing:-.6px;font-weight:500}
.directory-list p{font-size:14px;line-height:1.8;color:var(--muted)}
.directory-arrow{color:var(--teal);font-size:24px}
.subpage-cta{margin-bottom:70px;padding:35px 0;border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:35px;align-items:center}
.subpage-cta h2{font-size:30px;letter-spacing:-.8px;line-height:1.2;max-width:600px}
.subpage-cta p{font-size:14px;color:var(--muted);line-height:1.75;margin-top:12px;max-width:580px}
.subpage-cta .button{flex:none}
.reading-links{margin:0;padding:0;list-style:none}
.reading-links li{border-bottom:1px solid var(--line);padding-block:16px;font-size:14px;line-height:1.5}
.reading-links a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:4px}
.site-footer{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;border-top:1px solid var(--line);padding-block:40px}
.site-footer .brand{font-size:23px}
.site-footer>div>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:18px;max-width:300px}
.site-footer nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.site-footer h2{font:600 11px 'DM Sans',Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;margin:0 0 15px;color:var(--muted)}
.site-footer nav a{display:block;font-size:12px;line-height:1.5;margin-top:13px}
.site-footer nav a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--teal)}
.contact-box{background:var(--white);border:1px solid var(--line);padding:30px;border-radius:4px}
.contact-box label{display:block;font-size:13px;font-weight:550;margin-bottom:8px}
.contact-box select,.contact-box textarea{display:block;width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--paper);border:1px solid #8a9da6;border-radius:3px;padding:13px}
.contact-box textarea{resize:vertical;min-height:170px;line-height:1.6}
.contact-box .field+.field{margin-top:24px}
.contact-box select:focus-visible,.contact-box textarea:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.contact-note{font-size:12px!important;line-height:1.7!important;margin-block:16px 24px}
.contact-box .button{margin-top:22px}
.contact-status{margin-top:17px;min-height:1.5em;font-size:13px!important}
.research-site .page-opening h1,.research-site .page-prose h2,.research-site .directory-list h3,.research-site .page-aside h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}
.research-site .page-opening h1{max-width:930px}
.research-site .page-aside{background:#fffefa;border:1px solid #d6d7c9;border-top:2px solid #647d70;padding:25px}
.research-site .reading-note{color:#7d5e37!important;border-color:#b59a69}
.research-site .contact-box{background:#fffefa}
.page-faq{border-top:1px solid var(--line);margin-top:25px}
.page-faq details{border-bottom:1px solid var(--line);padding:19px 0}
.page-faq summary{font-size:16px;line-height:1.6;cursor:pointer}
.page-faq details p{margin-top:13px}
@media(max-width:1000px){.desktop-nav{gap:20px}.nav{gap:18px}.page-layout{gap:45px;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr)}.directory-list a{gap:18px}.site-footer{gap:35px}}
@media(max-width:900px){.desktop-nav,.nav-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:4px;background:none;min-height:44px;padding:8px 12px;font-size:12px}.menu-toggle span{font-size:20px}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}.mobile-nav a{padding-block:13px}.site-footer{grid-template-columns:1fr}.site-footer>div>p{max-width:none}}
@media(max-width:650px){.page-opening{padding-block:38px 40px}.page-opening h1{font-size:44px;letter-spacing:-1.7px}.page-lead{font-size:16px;line-height:1.75}.page-layout{grid-template-columns:1fr;gap:42px;padding-block:40px 55px}.page-prose h2{font-size:28px}.page-prose p,.page-prose li{font-size:15px}.page-aside{max-width:none}.directory{padding-block:38px 55px}.directory-heading{grid-template-columns:1fr;gap:16px}.directory-heading h2{font-size:29px}.directory-list a{grid-template-columns:24px minmax(0,1fr) 18px;gap:14px;padding-block:23px}.directory-list h3{font-size:23px}.directory-list p{grid-column:2;grid-row:2}.directory-arrow{grid-column:3;grid-row:1}.subpage-cta{display:block;margin-bottom:45px;padding-block:28px}.subpage-cta h2{font-size:29px}.subpage-cta .button{margin-top:23px}.site-footer nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.contact-box{padding:22px}.site-breadcrumb{font-size:11px;padding-top:21px}.research-site .page-aside{padding:22px}}
@media(max-width:360px){.page-opening h1{font-size:39px}.contact-box{padding:18px}.page-opening .button{font-size:13px;gap:15px}.site-footer .brand{font-size:22px}}
