/* Editorial refinement */
/* Dark surfaces retain their own foregrounds rather than reversing brand colors. */
html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="dark"] .hero,
html[data-theme="dark"] .page-header { background:#243B5A; color:#F1F4F7; }
html[data-theme="dark"] .hero p,
html[data-theme="dark"] .page-header p { color:#D7E0EA; }
html[data-theme="dark"] .hero .btn-white { background:#F1F4F7; color:#243B5A; }
html[data-theme="dark"] .btn-outline-white { color:#F1F4F7; border-color:#98A6B5; }
html[data-theme="dark"] .btn-outline-white:hover { color:#FFFFFF; border-color:#FFFFFF; }
html[data-theme="dark"] .site-footer { background:#0C1219; }
html[data-theme="dark"] .footer-brand .site-logo { color:#F1F4F7; }
html[data-theme="dark"] .entry-content tr:nth-child(even) { background:var(--color-white); }
html[data-theme="dark"] .library-search input,
html[data-theme="dark"] .topic-filters a { background:var(--color-white); color:var(--color-text-dark); }
html[data-theme="dark"] .topic-filters a:hover,
html[data-theme="dark"] .topic-filters [aria-current],
html[data-theme="dark"] .pagination .current,
html[data-theme="dark"] .form-submit { background:var(--color-primary); color:#111820; }
html[data-theme="dark"] .skip-link { background:#18212B; color:#F1F4F7; }
html[data-theme="dark"] :is(a,button,input,select,textarea,.table-scroll):focus-visible { outline:3px solid #E28A6C; outline-offset:4px; }
html .theme-toggle { min-width:44px; min-height:44px; flex-shrink:0; }
.theme-toggle svg { width:20px; height:20px; }
.theme-toggle .sun-icon { display:none; }
html[data-theme="dark"] .theme-toggle .moon-icon { display:none; }
html[data-theme="dark"] .theme-toggle .sun-icon { display:block; }

:root { --color-text-light:#596577; --color-accent:#A94D32; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline:3px solid #A94D32;outline-offset:4px}
.skip-link {position:fixed;left:16px;top:-100px;z-index:1000;background:white;padding:12px 20px}
.skip-link:focus {top:12px}
.logo-mark {width:20px;height:15px;flex-shrink:0;background:linear-gradient(#172033 0 33.33%,#a94d32 33.33% 66.66%,#d5b475 66.66%);border-radius:2px}
.hero {padding:52px 0}
.hero::before,.hero::after {display:none}
.hero-inner {max-width:860px}
.hero h1 {font-size:clamp(2rem,4.5vw,3.25rem)}
.hero-eyebrow {padding:0;background:none;border-radius:0;margin-bottom:18px;font-size:.73rem}
.hero p {max-width:620px;margin-bottom:24px}
.hero h1 em {color:#e4d3c1}
.section {padding:52px 0}
.section-header {margin-bottom:28px}
.journey-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.journey-card {display:flex;flex-direction:column;border-top:2px solid var(--color-border);padding:20px 0;gap:10px}
.journey-card:hover {border-color:var(--color-accent)}
.journey-number {font-size:.8rem;font-weight:700;color:var(--color-accent);letter-spacing:.1em}
.journey-card h3 {font-family:var(--font-display);font-size:1.3rem;font-weight:400}
.journey-card p {font-size:.92rem;color:var(--color-text-mid)}
.journey-link {font-size:.85rem;font-weight:600;margin-top:auto;padding-top:8px}
.post-card {border-top:3px solid var(--color-primary)}
.post-card-meta {flex-wrap:wrap;align-items:flex-start}
.post-category {letter-spacing:.05em}
.post-card-title {font-size:1.4rem}
.post-card-excerpt {margin-bottom:24px}
.post-card-footer {gap:12px;flex-wrap:wrap;margin-top:auto}
.read-time {font-size:.78rem;color:var(--color-text-mid)}
.post-card:hover {transform:none;border-color:var(--color-primary);box-shadow:0 6px 20px #1720330a}
.author-panel {max-width:760px;margin:auto;border-left:3px solid var(--color-accent);padding:12px 0 12px 32px}
.author-panel p {margin:16px 0 24px;color:var(--color-text-mid);font-size:1.05rem}
.single-post-header .container,.post-content-wrap {max-width:800px;margin-left:auto;margin-right:auto}
.single-post-header {padding:36px 0}
.single-post-header h1 {font-size:clamp(1.9rem,4vw,2.75rem)}
.post-meta-row {flex-wrap:wrap;gap:10px 20px;color:var(--color-text-mid)}
.post-meta-row a {text-decoration:underline;text-underline-offset:3px}
.entry-content {overflow-wrap:anywhere}
.entry-content h2,.entry-content h3,[id] {scroll-margin-top:100px}
.entry-content table {border-collapse:collapse;width:100%;min-width:700px;font-size:.95rem;table-layout:fixed;overflow-wrap:normal}.entry-content th:first-child,.entry-content td:first-child{width:24%}
.entry-content th,.entry-content td {text-align:left;vertical-align:top;padding:14px 16px;border:1px solid var(--color-border)}
.entry-content th,.entry-content tr:first-child {background:var(--color-primary-tint);font-weight:600}
.entry-content tr:nth-child(even) {background:#fff}
.table-scroll {max-width:100%;overflow-x:auto;margin:24px 0;-webkit-overflow-scrolling:touch}
.table-hint {font-size:.8rem;color:var(--color-text-mid);margin:0 0 8px}
.article-toc {background:var(--color-primary-tint);padding:22px 26px;margin-bottom:32px;border-radius:8px}
.article-toc h2 {margin:0 0 12px;font-size:1.4rem}
.article-toc ul {margin:0;padding-left:20px}
.article-toc a {font-size:.95rem}
.entry-content .important-note {padding:18px 22px;background:var(--color-primary-tint);border-left:3px solid var(--color-accent)}
.review-note {font-size:.85rem;color:var(--color-text-mid);margin-top:12px}
.library-search {max-width:680px;margin-bottom:24px}
.library-search label {display:block;font-weight:600;margin-bottom:8px}
.library-search>div {display:flex;gap:10px}
.library-search input {min-width:0;flex:1;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font:inherit;background:white}
.library-search button {border:0;cursor:pointer;font:inherit}
.topic-filters {display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.topic-filters a {border:1px solid var(--color-border);padding:9px 14px;border-radius:6px;font-size:.85rem;background:white}
.topic-filters a:hover,.topic-filters [aria-current] {background:var(--color-primary);color:white}
.page-header .section-label {color:#e4d3c1}
.footer-brand .site-logo .logo-accent {color:inherit}
.site-footer,.footer-col a,.footer-bottom a {color:#cbd2de}
.contact-detail a {overflow-wrap:anywhere;text-decoration:underline}
.contact-expectation {margin-bottom:24px;color:var(--color-text-mid)}
.menu-toggle {min-width:44px;min-height:44px}
@media(max-width:900px){.journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-menu{gap:18px}}
@media(max-width:768px){
.hero{padding:36px 0}.hero p{font-size:1rem}.hero h1{font-size:2.1rem}.hero-actions{gap:10px}.hero-actions .btn{padding:11px 18px}
.section{padding:36px 0}.journey-grid{gap:8px 20px}.journey-card h3{font-size:1.12rem}.journey-card p{font-size:.85rem}
.site-logo{font-size:1rem;line-height:1.2;max-width:calc(100% - 52px)}.logo-mark{width:17px}
.post-card-body{padding:22px}.post-card-title{font-size:1.35rem}
.single-post-header{padding:28px 0}.single-post-header h1{font-size:1.9rem}
.author-panel{padding-left:22px}.post-breadcrumb{font-size:.75rem}.entry-content{font-size:1rem}
.nav-menu.open a{min-height:44px;display:flex;align-items:center}
.contact-grid{gap:28px}.contact-form{padding:22px}
}
@media(max-width:360px){.journey-grid{grid-template-columns:1fr}.site-logo{font-size:.9rem}.container{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
