/* Shared presentation layer; original compiled assets remain immutable. */
html{scroll-padding-top:90px}
body{color:#243247;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
img{max-width:100%}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #d79819!important;outline-offset:4px}
a{text-underline-offset:3px}
main:focus{outline:none}
main :is(h1,h2,h3){text-wrap:balance}
main h1{letter-spacing:-.025em}
main p{line-height:1.75}
main section.py-20{padding-block:64px}
main>section:first-child:not(#homepage-hero){padding-block:64px}
main a[class*="px-"][class*="py-"]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%}
main [class*="grid"]>*{min-width:0}
main [class*="rounded"]{overflow-wrap:break-word}
main[data-page="/legal"] section.bg-white>div,main[data-page="/privacy"] section.bg-white>div,main[data-page="/terms"] section.bg-white>div{max-width:780px;font-size:16px;line-height:1.8}
main[data-page="/about"] .text-lg,main[data-page="/mindset"] .text-lg{line-height:1.8}
.site-nav{position:sticky;top:0;z-index:50;background:#1b2a4a;color:#fff;border-bottom:1px solid #ffffff16}
.nav-inner{max-width:1160px;min-height:76px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-brand{font-size:19px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
.desktop-links{display:flex;align-items:center;gap:22px}
.desktop-links a{font-size:14px;font-weight:600;color:#dce3ef;padding:12px 0;white-space:nowrap}
.desktop-links a:hover,.desktop-links a[aria-current="page"]{color:#ff9b9b}
.desktop-links .nav-contact,.nav-contact{background:#bd2026;color:#fff!important;padding:12px 19px;border-radius:7px;font-weight:700;text-align:center}
.menu-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:8px;border-radius:6px}
.mobile-links{display:none}
.skip-link{position:absolute;left:12px;top:-100px;background:#fff;color:#1b2a4a;padding:12px 18px;border-radius:5px;font-weight:700}
.skip-link:focus{top:12px;z-index:100}
footer{font-size:14px}
footer .text-gray-400,footer .text-gray-500{color:#c1ccdd}
footer a{overflow-wrap:anywhere}
footer a:hover{text-decoration:underline}
footer .grid-cols-2 a{padding-block:6px}
footer>.max-w-6xl>.grid{grid-template-columns:1.1fr .85fr 1.1fr 1.35fr;gap:32px}
footer .text-xs{line-height:1.65}
.directory-hero{background:linear-gradient(135deg,#0a1220,#1b2a4a);color:#fff;padding:56px 24px 60px}
.directory-width{max-width:1120px;margin:auto}
.directory-hero h1{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:800;line-height:1.15;margin:12px 0 16px}
.directory-hero p:last-child{font-size:19px;color:#dce3ef;max-width:650px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:#ffaaaa}
.article-directory{background:#f4f6fa}
.directory-body{padding:36px 24px 72px}
.article-filters{display:grid;grid-template-columns:1fr 240px;gap:20px;padding:24px;background:#fff;border:1px solid #e0e5ed;border-radius:12px}
.article-filters label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}
.article-filters input,.article-filters select{width:100%;border:1px solid #afbbcb;border-radius:6px;padding:11px 12px;min-height:46px;background:white;color:#243247}
.article-result-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 24px;font-size:14px;color:#526176}
.article-result-status button{color:#a11b21;text-decoration:underline;min-height:44px}
.article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.article-card{background:#fff;border:1px solid #dfe5ee;border-radius:12px;padding:28px;display:flex;flex-direction:column;min-width:0}
.article-card:hover{border-color:#9aa9be}
.article-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#59677a;font-size:12px;margin-bottom:16px}
.topic-label{background:#eaf0f7;color:#314564;font-weight:700;border-radius:20px;padding:5px 10px}
.article-card h2{font-size:22px;line-height:1.4;font-weight:750;margin-bottom:12px;text-wrap:pretty}
.article-card h2 a:hover{color:#ad1e24;text-decoration:underline}
.article-byline{font-size:13px;color:#59677a;margin-bottom:14px}
.article-byline a{text-decoration:underline}
.article-excerpt{font-size:15px;color:#526176;margin-bottom:24px}
.article-card-bottom{margin-top:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #edf0f5;padding-top:18px;font-size:13px;color:#526176}
.article-card-bottom a{color:#ad1e24;font-weight:700}
.article-empty{padding:48px 24px;text-align:center;background:#fff;border-radius:12px}
.article-empty h2{font-size:22px;font-weight:700;margin-bottom:8px}
.article-copy{font-size:18px;line-height:1.8;color:#334155;overflow-wrap:break-word}
.article-copy p{margin:0 0 22px}
.article-copy h2{font-size:26px;font-weight:750;line-height:1.35;color:#1b2a4a;margin:40px 0 16px}
.article-copy h3{font-size:21px;font-weight:700;margin:28px 0 12px}
.article-copy ul,.article-copy ol{padding-left:26px;margin:0 0 24px;list-style-position:outside}
.article-copy ul{list-style-type:disc}.article-copy ol{list-style-type:decimal}
.article-copy li{padding-left:4px;margin:8px 0}
.article-copy blockquote{border-left:3px solid #bd2026;padding:16px 22px;margin:28px 0;background:#fff;color:#43526a;font-style:italic;border-radius:0 8px 8px 0}
main[data-page^="/blog/"] nav ol li[aria-current="page"]{display:none}
main[data-page^="/blog/"] nav ol li:nth-last-child(2){display:none}
main[data-page^="/blog/"] aside{border:1px solid #e0e6ef;background:#fff}
main[data-page^="/blog/"] aside a{overflow-wrap:anywhere}
.faq-item{border:1px solid #dce3ed;border-radius:10px;background:#fff;overflow:hidden}
.faq-item summary{cursor:pointer;font-size:18px;font-weight:650;line-height:1.5;padding:22px 24px;color:#1b2a4a;list-style-position:inside}
.faq-item summary:hover{background:#f6f8fb}
.faq-item[open] summary{background:#f6f8fb;border-bottom:1px solid #e7ebf1}
.faq-answer{padding:22px 24px;line-height:1.8;color:#48576c}
main[data-page="/contact"] :is(input,select,textarea){font-size:16px}
main[data-page="/contact"] .text-gray-500{color:#536278}
main[data-page="/contact"] .text-white .text-gray-500{color:#c1ccdd}
main[data-page="/book"] img{object-fit:contain!important}
main[data-page="/book"] .shadow-xl{box-shadow:0 5px 22px #1627460b}
main[data-page="/book"] .space-y-20>*+*{margin-top:40px}
@media(max-width:1099px){
 .desktop-links{display:none}.menu-toggle{display:inline-flex}
 .nav-inner{min-height:68px}
 .mobile-links:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;padding:12px 24px 24px;background:#142038;max-height:calc(100dvh - 68px);overflow:auto}
 .mobile-links a{padding:12px;font-size:15px;min-height:44px;border-radius:6px}
 .mobile-links a[aria-current="page"]{background:#ffffff10;color:#ffaaaa}
 .mobile-links .menu-phone{grid-column:1/-1;color:#ffda83;text-align:center}
}
@media(max-width:767px){
 main section.py-20,main>section:first-child:not(#homepage-hero){padding-block:44px}
 main h1.text-5xl,main h1.text-4xl{font-size:clamp(2rem,8vw,2.7rem);line-height:1.18}
 footer>.max-w-6xl>.grid{grid-template-columns:1fr 1fr;gap:32px 24px}
 footer .flex.items-center.gap-2.text-center{flex-wrap:wrap;justify-content:center}
 .directory-hero{padding:40px 20px}.directory-hero p:last-child{font-size:17px}
 .directory-body{padding:24px 16px 48px}.article-filters{padding:18px;grid-template-columns:1fr;gap:16px}
 .article-grid{grid-template-columns:1fr;gap:18px}.article-card{padding:22px}.article-card h2{font-size:21px}
 .article-copy{font-size:17px}.article-copy h2{font-size:23px;margin-top:32px}
 .faq-item summary,.faq-answer{padding:18px}
 main[data-page^="/blog/"] .flex.items-center.gap-4{flex-wrap:wrap;gap:10px 20px}
}
@media(max-width:420px){
 .nav-inner{padding-inline:16px;gap:10px}.site-brand{font-size:17px}.menu-toggle{font-size:13px}
 footer>.max-w-6xl>.grid{grid-template-columns:1fr}
 #homepage-hero img{width:100%!important;max-width:340px;height:auto!important;aspect-ratio:17/21}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
