/* Shared static chrome and document layout; typography matches the home cover. */
:root{--site-header-height:68px}
html{scroll-padding-top:var(--site-header-height)}
.site-banner{position:sticky;top:0;z-index:100;flex:none}
/* Put the hero behind the transparent banner without moving its content. */
body[data-site-page="home"]>.site-banner{margin-bottom:calc(0px - var(--site-header-height))}
body[data-site-page="home"] .cover{padding-top:var(--site-header-height)}
.site-banner.site-nav-ready,.site-nav-ready .site-header{background:transparent}
.site-banner.site-nav-ready{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.site-shell{box-sizing:border-box;max-width:1120px;margin-inline:auto;padding-inline:40px}
.site-banner,.site-header{background:#FFFAEE}
.site-header{position:relative;color:#222222}
.site-header--dark{background:#03302C;color:#FFFFFF}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px}
.site-brand{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:4px 0;color:inherit;text-decoration:none}
.site-brand svg{display:block;flex:none;color:#065750}
.site-brand span{font-family:"Source Serif Pro",Georgia,serif;font-size:24px;font-weight:600;line-height:1.2;letter-spacing:-.01em}
.site-header--dark .site-brand svg{color:inherit}
.site-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 24px}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;color:inherit;font:600 17px/1.4 "Source Sans Pro",system-ui,sans-serif;text-decoration:none;text-underline-offset:5px}
.site-nav a:hover,.site-nav a[aria-current="page"]{text-decoration:underline}
.site-header--dark .site-nav a[aria-current="page"]{text-decoration-color:currentColor}
.site-header a:focus-visible,.site-footer a:focus-visible{outline:3px solid #065750;outline-offset:4px;border-radius:4px}
.site-header--dark a:focus-visible{outline-color:#9EFAB6}
.site-skip{position:fixed;z-index:1000;top:12px;left:20px;max-width:calc(100% - 40px);padding:12px 18px;border-radius:8px;background:#FFFAEE;color:#03302C;font:600 17px/1.4 "Source Sans Pro",system-ui,sans-serif;text-decoration:underline;transform:translateY(-200%)}
a.site-skip:focus-visible{transform:none;outline:3px solid #065750;outline-offset:4px}
#main-content:focus{outline:none}
.site-footer{background:#FFFAEE;color:#333333;border-top:1px solid rgba(51,51,51,.12)}
.site-footer-inner{padding-block:40px;display:flex;flex-direction:column;gap:24px}
.site-footer-main{display:flex;align-items:flex-start;justify-content:space-between;gap:32px}
.site-footer-brand{flex:0 1 300px;min-width:0}
.site-footer-purpose{max-width:300px;margin:8px 0 0;font:400 16px/1.5 "Source Sans Pro",system-ui,sans-serif;color:#5F5C55}
.site-footer-links{display:flex;flex:0 1 540px;min-width:0;justify-content:flex-end;flex-wrap:wrap;align-content:flex-start;gap:4px 24px}
.site-footer-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font:400 15px/1.5 "Source Sans Pro",system-ui,sans-serif;color:#5F5C55;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.site-footer-links a[aria-current="page"]{color:#03302C;font-weight:600}
.site-copyright{margin:0;font:400 14px/1.6 "Source Sans Pro",system-ui,sans-serif;color:#5F5C55}
.site-document{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;margin:0;background:#FFFAEE;color:#333333;font:400 18px/1.65 "Source Sans Pro",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.site-document *{box-sizing:border-box}
.site-article{box-sizing:border-box;width:100%;flex:1;max-width:808px;margin:0 auto;padding:56px 24px 72px;overflow-wrap:anywhere}
.site-article h1,.site-article h2,.site-article h3{font-family:"Source Serif Pro",Georgia,serif;font-weight:400;letter-spacing:-.02em;color:#03302C;scroll-margin-top:24px}
.site-article h1{font-size:clamp(36px,7vw,56px);line-height:1.1;margin:0 0 20px}
.site-article h2{font-size:28px;line-height:1.25;margin:36px 0 14px}
.site-article h3{font-size:23px;line-height:1.3;margin:28px 0 12px}
.site-article p{margin:0 0 16px}
.site-article a{color:#065750;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
.site-document a:focus-visible{outline:3px solid #065750;outline-offset:4px;border-radius:4px}
.site-article .intro{max-width:640px;color:#5F5C55;margin-bottom:40px}
.site-article .updated{color:#5F5C55;font-size:16px}
.site-article section{padding:28px 0 16px;border-top:1px solid rgba(51,51,51,.14)}
.site-article section h2{margin-top:0}
.site-article .links{display:flex;flex-wrap:wrap;gap:0 24px;margin:0}
.site-article .links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
.site-article ul,.site-article ol{padding-inline-start:24px;margin:0 0 20px}
.site-article li+li{margin-top:8px}
.site-article hr{border:0;border-top:1px solid rgba(51,51,51,.14);margin:32px 0}
.site-article blockquote{margin:24px 0;padding:12px 20px;border-inline-start:3px solid #065750;background:#F5F5F5}
.site-article pre{max-width:100%;overflow-x:auto;padding:16px;background:#F5F5F5}
.site-article table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:24px 0}
.site-article th,.site-article td{padding:12px;border:1px solid rgba(51,51,51,.16);text-align:start}
.site-toc,.site-notice{padding:20px 24px;margin-bottom:32px;border-radius:16px;background:#F5F5F5}
.site-toc a{display:inline-block;padding-block:6px}
.site-not-found{padding-block:96px;text-align:center;min-height:45vh}
.site-article .site-home-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:8px;padding:12px 24px;border-radius:999px;background:#065750;color:white;font-weight:600;text-decoration:none}
@media(max-width:720px){
 .site-shell{padding-inline:20px}
 .site-footer-main{flex-direction:column;gap:20px}
 .site-footer-brand,.site-footer-links{flex:auto}
 .site-footer-links{width:100%;justify-content:flex-start}
 .site-article{padding-top:40px;padding-bottom:56px}
}
@media(max-width:440px){
 :root{--site-header-height:108px}
 .site-header-inner{flex-direction:column;align-items:flex-start;gap:4px;padding-block:8px}
 .site-nav{width:100%;gap:4px 24px}
}

/* Section links leave breathing room; native scrolling preserves hash/history. */
#solution-h,#support,#problem-h{scroll-margin-top:clamp(32px,5vw,64px)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
