/* Layout:  full-bleed colored bands with a centered 1200px wrap. Single light brand look. */
:root{--bg:#FFFFFF;--ink:#1A1A1A;--teal:#008081;--teal-deep:#006A6B;--tint:#EAF5F5;--mist:#F6F8F8;
--font-display:Montserrat,"Helvetica Neue",Arial,sans-serif;--font-body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body)}
a{color:var(--teal-deep)}a:hover{color:#004F50}
a:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}
h1,h2,h3{text-wrap:balance}
.wrap{padding-left:max(24px,env(safe-area-inset-left,0px))!important;padding-right:max(24px,env(safe-area-inset-right,0px))!important}
.wrap>*{min-width:0}
@media (max-width:640px){
 article [style*="padding: 48px"]{padding:24px!important}
 article [style*="padding: 0 48px 48px"]{padding:0 24px 24px!important}
 article [style*="padding: 48px 48px 0"]{padding:24px 24px 0!important}
 article [style*="padding: 40px 48px 48px"]{padding:24px!important}
 .wrap[style*="padding: 88px"],.wrap[style*="padding: 96px"],.wrap[style*="padding: 104px"],.wrap[style*="padding: 112px"]{padding-top:64px!important;padding-bottom:64px!important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
header{position:sticky!important;top:env(safe-area-inset-top,0px)!important}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:#FFFFFF}
.menu-btn{display:none;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1.5px solid #1A1A1A;border-radius:6px;background:#FFFFFF;color:#1A1A1A;font:600 15px var(--font-body);cursor:pointer}
.menu-btn:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media (max-width:820px){
 .menu-btn{display:inline-flex}
 .site-nav{display:none!important;width:100%;flex-direction:column;align-items:stretch!important;gap:0!important;padding-bottom:8px}
 header.open .site-nav{display:flex!important}
 .site-nav a{padding:12px 0;border-top:1px solid #E3ECEC}
 .site-nav a:last-child{justify-content:center;margin-top:8px;padding:14px 20px}
}
@media (max-width:480px){.brand-icon{height:40px!important}.brand-word{height:24px!important}.brand-tag{font-size:8.5px!important;letter-spacing:0.06em!important}}
