:root { color-scheme:light dark; --bg:#eef3f5; --surface:#ffffff; --surface-2:#dfe9ec; --text:#102a37; --muted:#62747d; --line:#c7d6da; --brand:#007d7a; --brand-strong:#005e5b; --navy:#0b2b3c; --accent:#d5a648; --shadow:0 18px 50px rgba(14,50,67,.12); --content:1260px; --header-height:86px; }
html[data-theme="dark"] { --bg:#071d29; --surface:#0c2a38; --surface-2:#143845; --text:#f1f8fa; --muted:#aec1c7; --line:#2b4d58; --brand:#52c7c0; --brand-strong:#89e0dc; --navy:#061923; --accent:#e5bc62; --shadow:0 20px 60px rgba(0,0,0,.3); }
@media(prefers-color-scheme:dark){html:not([data-theme="light"]){--bg:#071d29;--surface:#0c2a38;--surface-2:#143845;--text:#f1f8fa;--muted:#aec1c7;--line:#2b4d58;--brand:#52c7c0;--brand-strong:#89e0dc;--navy:#061923;--accent:#e5bc62;--shadow:0 20px 60px rgba(0,0,0,.3)}}
body { background:var(--bg); color:var(--text); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.62; }
.site-header { position:sticky; z-index:100; top:0; box-shadow:0 6px 24px rgba(7,35,48,.12); }
.utility-bar { min-height:38px; padding-inline:max(1rem,calc((100% - var(--content))/2)); display:flex; align-items:center; justify-content:space-between; gap:1rem; background:var(--navy); color:#dcebee; }
.utility-bar>div { display:flex; gap:1.5rem; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.utility-bar .theme-toggle { border:0; padding:.35rem .5rem; background:transparent; color:#fff; font-size:.72rem; }
.header-inner { min-height:var(--header-height); padding-inline:max(1rem,calc((100% - var(--content))/2)); display:flex; align-items:center; justify-content:space-between; gap:2rem; background:var(--surface); }
.brand { min-width:0; display:flex; align-items:center; gap:.85rem; color:var(--text); text-decoration:none; }
.brand-logo,.brand-mark { width:50px; height:50px; flex:0 0 50px; object-fit:contain; }
.brand-mark { display:grid; place-items:center; background:var(--brand); color:#fff; font-weight:900; }
.brand-copy { display:grid; line-height:1.08; }
.brand-copy strong { font-size:1.18rem; letter-spacing:-.025em; }
.brand-copy span { margin-top:.3rem; color:var(--muted); font-size:.66rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.main-nav ul { display:flex; align-items:stretch; gap:0; margin:0; padding:0; list-style:none; }
.main-nav a { display:block; padding:1rem .95rem; border-bottom:3px solid transparent; color:var(--muted); font-size:.84rem; font-weight:800; text-decoration:none; }
.main-nav a:hover,.main-nav a[aria-current="page"] { border-color:var(--brand); color:var(--text); }
.menu-toggle { border:1px solid var(--line); padding:.6rem .75rem; background:var(--surface); color:var(--text); }
.site-shell { width:min(calc(100% - 2rem),var(--content)); margin:clamp(2rem,5vw,5rem) auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,300px); gap:clamp(1.5rem,3vw,3rem); align-items:start; }
.hero { min-height:470px; display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.9fr); overflow:hidden; background:var(--navy); color:#f5fbfc; box-shadow:var(--shadow); }
.hero:not(.has-image){grid-template-columns:1fr;}
.hero-copy { align-self:center; padding:clamp(2rem,6vw,5.5rem); border-left:8px solid var(--accent); }
.hero-copy h1,.article-header h1,.blog-header h1 { margin:0; max-width:13ch; font-size:clamp(2.8rem,7vw,5.8rem); line-height:.95; letter-spacing:-.055em; text-wrap:balance; }
.hero-media { min-height:400px; position:relative; }
.hero-media::before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,var(--navy),transparent 26%); }
.hero-media img { width:100%; height:100%; object-fit:cover; }
.eyebrow { margin:0 0 .9rem; color:var(--accent); font-size:.7rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.content-card,.home-content-card,.post-card,.sidebar-card,.faq-item { border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow); }
.content-card { overflow:hidden; }
.home-content-card { margin-top:1.5rem; }
.content-inner,.article-header,.blog-header { padding:clamp(1.5rem,4vw,3.4rem); }
.article-header,.blog-header { border-top:7px solid var(--brand); border-bottom:1px solid var(--line); }
.article-header h1,.blog-header h1 { font-size:clamp(2.3rem,5vw,4.5rem); }
.article-meta { margin-top:1rem; display:flex; flex-wrap:wrap; gap:.6rem 1rem; color:var(--muted); font-size:.78rem; }
.featured-image { max-height:670px; border-bottom:1px solid var(--line); }
.prose h2 { margin:1.8em 0 .55em; font-size:clamp(1.65rem,3vw,2.45rem); letter-spacing:-.035em; }
.prose h3 { margin:1.6em 0 .5em; font-size:1.35rem; }
.prose blockquote { margin-inline:0; padding:1.15rem 1.3rem; border-left:6px solid var(--accent); background:var(--surface-2); color:var(--muted); }
.prose code { padding:.12em .32em; background:var(--surface-2); }
.prose pre { padding:1.2rem; background:var(--navy); color:#f5fbfc; }
.sidebar { position:sticky; top:calc(var(--header-height) + 3.3rem); display:grid; gap:1rem; }
.sidebar-card { padding:1.25rem; border-top:5px solid var(--brand); box-shadow:none; }
.sidebar-card h2 { margin:0 0 .8rem; font-size:.86rem; letter-spacing:.08em; text-transform:uppercase; }
.sidebar-list li+li,.link-list li+li { border-top:1px solid var(--line); }
.sidebar-list a,.link-list a { display:block; padding:.78rem 0; color:var(--text); font-weight:720; line-height:1.32; text-decoration:none; }
.sidebar-list a:hover,.link-list a:hover { color:var(--brand); }
.sidebar-list time { margin-top:.25rem; color:var(--muted); font-size:.68rem; font-weight:400; }
.link-group+ .link-group { margin-top:1rem; }
.link-group h3 { color:var(--muted); font-size:.66rem; text-transform:uppercase; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:clamp(3rem,7vw,6rem) 0 1.2rem; padding-bottom:.9rem; border-bottom:2px solid var(--navy); }
.section-heading h2 { margin:0; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.04em; }
.post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
.post-card { overflow:hidden; border-top:5px solid var(--brand); box-shadow:none; }
.post-card img { aspect-ratio:16/9; border-bottom:1px solid var(--line); }
.post-card-body { padding:1.25rem; }
.post-card time { color:var(--brand); font-size:.7rem; font-weight:800; text-transform:uppercase; }
.post-card h2,.post-card h3 { margin:.5rem 0; line-height:1.18; letter-spacing:-.025em; }
.post-card p { margin:.6rem 0 0; color:var(--muted); }
.faq-section { margin-top:clamp(3rem,7vw,6rem); }
.faq-list { display:grid; gap:.7rem; }
.faq-item { box-shadow:none; }
.faq-item summary { padding:1rem 1.15rem; font-weight:800; }
.faq-item div { padding:0 1.15rem 1.15rem; color:var(--muted); }
.pagination { margin-top:2rem; }
.pagination a,.pagination span { min-width:2.6rem; padding:.55rem .7rem; border:1px solid var(--line); background:var(--surface); color:var(--text); }
.pagination [aria-current="page"] { background:var(--navy); border-color:var(--navy); color:#fff; }
.empty-state { padding:3rem; border:1px dashed var(--line); text-align:center; color:var(--muted); }
.site-footer { margin-top:clamp(4rem,9vw,8rem); background:var(--navy); color:#edf7f8; }
.footer-inner { width:min(calc(100% - 2rem),var(--content)); min-height:240px; margin:auto; display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; }
.footer-brand strong { font-size:1.4rem; }
.footer-inner p { margin:.3rem 0 0; color:#aec6ce; }
.footer-connect>span { display:block; margin-bottom:.65rem; color:var(--accent); font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.copyright { grid-column:1/-1; margin-top:-2rem!important; font-size:.72rem; }
.social-icons a { width:40px; height:40px; border:1px solid rgba(255,255,255,.25); color:#fff; }
.social-icons a:hover { border-color:var(--accent); color:var(--accent); }
.back-to-top { width:48px; height:48px; border:0; background:var(--accent); color:var(--navy); font-weight:900; }
@media(max-width:920px){.utility-bar>div span:last-child{display:none}.brand-copy span{display:none}.menu-toggle{display:block}.header-inner{position:relative}.main-nav ul{position:absolute;top:100%;right:0;left:0;display:none;padding:.75rem 1rem;background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--shadow)}.main-nav.is-open ul{display:grid}.site-shell{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.hero-media{max-height:420px}.hero-media::before{background:linear-gradient(180deg,var(--navy),transparent 22%)}}
@media(max-width:640px){.utility-bar{padding-inline:.7rem}.utility-bar>div{font-size:.6rem}.header-inner,.site-shell,.footer-inner{padding-inline:0;width:min(calc(100% - 1.2rem),var(--content))}.header-inner{min-height:72px}.brand-logo,.brand-mark{width:42px;height:42px;flex-basis:42px}.hero-copy,.content-inner,.article-header,.blog-header{padding:1.35rem}.hero-copy h1{font-size:clamp(2.5rem,15vw,3.9rem)}.post-grid,.sidebar{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;padding-block:2.6rem}.copyright{grid-column:auto;margin-top:0!important}}

/* Shared content and interaction rules */
a { color: var(--brand); text-underline-offset: .18em; }
a:hover { color: var(--brand-strong); }
.menu-toggle, .theme-toggle { font: inherit; cursor: pointer; }
.menu-toggle { display: none; }
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.content-area { min-width: 0; }
.prose { font-size: 1.04rem; }
.prose > *:first-child { margin-top: 0; }
.prose > *:last-child { margin-bottom: 0; }
.prose h2, .prose h3, .prose h4 { text-wrap: balance; line-height: 1.15; }
.prose p, .prose ul, .prose ol, .prose blockquote, .prose pre { margin-block: 1.05rem; }
.prose img { width: auto; height: auto; }
.prose pre { overflow-x: auto; }
.prose code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.sidebar-list, .link-list { margin: 0; padding: 0; list-style: none; }
.sidebar-list time { display: block; }
.social-icons { display: flex; flex-wrap: wrap; gap: .6rem; }
.social-icons:empty { display: none; }
.social-icons a { display: grid; place-items: center; text-decoration: none; }
.social-icons svg { width: 19px; height: 19px; fill: currentColor; stroke: currentColor; stroke-width: 1.7; }
.featured-image { width: 100%; object-fit: cover; }
.post-card img { width: 100%; object-fit: cover; }
.post-card h2 a, .post-card h3 a { color: inherit; text-decoration: none; }
.faq-item summary { cursor: pointer; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem; }
.pagination a, .pagination span { text-decoration: none; text-align: center; }
.back-to-top { position: fixed; z-index: 90; right: 1rem; bottom: 1rem; opacity: 0; pointer-events: none; transform: translateY(.75rem); transition: opacity .2s ease, transform .2s ease; cursor: pointer; }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
