/* Shared static header/footer. Edit templates/ and run sync-site-shell.py.
   The menu breakpoint must match bloom.js. Page artwork and content stay local. */
.site-header,.site-footer{--maxw:1440px;--pad:clamp(20px,4.5vw,64px);--ink:#102437;--ink-soft:#4D5F6C;--hairline:#D0D9D0;--surface:#FFFCF7;--cl-blue:#205BB6}
.continuous-site .site-header{background:#FBF8F1;border-bottom:1px solid #D8DDD9}
.continuous-site .site-header .h-nav-in{gap:24px;padding-block:15px}
.site-header .h-brand{min-width:0}
.continuous-site .site-header .h-navlinks{gap:24px;white-space:nowrap}
.continuous-site .site-header .h-navlinks a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.site-explore{position:relative}
.site-explore>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding-block:10px;list-style:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--ink-soft)}
.site-explore>summary::-webkit-details-marker{display:none}
.site-explore>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.site-explore[open]>summary svg{transform:rotate(180deg)}
.site-explore>summary:hover,.site-explore[open]>summary{color:var(--ink)}
.site-explore[data-current-section]>summary{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px;color:var(--ink)}
.site-explore-panel{position:absolute;top:calc(100% + 12px);left:-18px;width:520px;max-width:calc(100vw - 40px);display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px;border:1px solid #C8D2CC;border-radius:12px;background:#FFFCF7;box-shadow:0 14px 36px #1024371A;white-space:normal;max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
.site-explore:not([open])>.site-explore-panel{display:none}
.continuous-site .site-header .site-explore-panel>a{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:16px;border-radius:7px;text-decoration:none;min-width:0}
.continuous-site .site-header .site-explore-panel>a:hover,.continuous-site .site-header .site-explore-panel>a:focus-visible{background:#EDF1EB}
.site-explore-title{font-size:14px;font-weight:600;line-height:1.45;color:var(--ink)}
.site-explore-description{font-size:12px;font-weight:400;line-height:1.6;color:var(--ink-soft)}
.site-explore-panel a[aria-current="page"] .site-explore-title{text-decoration:underline;text-underline-offset:4px}
.site-header a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}
.continuous-site .site-header .h-nav-cta{gap:10px;flex:none}
.continuous-site .site-header .h-nav-cta>.h-btn{display:inline-flex;min-height:44px;padding:10px 18px;border-radius:9px;font-size:13px;white-space:nowrap}
.site-header .site-app-short{display:none}
.site-header .h-burger{border-radius:9px;min-height:44px}
.site-header .h-mobnav .site-menu-app{font-weight:600;color:var(--cl-blue)}
.continuous-site .site-footer{background:#EDF1EB;border-top:1px solid #D0D9D0;padding:0;color:var(--ink)}
.site-footer-top{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;padding-block:52px 36px;border-bottom:1px solid #CCD6CF}
.continuous-site .site-footer .h-foot-tag{max-width:37ch;font-size:14px;line-height:1.8;margin-top:18px;color:var(--ink-soft)}
.site-footer .mail-wrap{width:100%;max-width:520px;min-width:0;justify-self:end}
.site-footer .h-mail label{display:block;font:450 25px/1.35 Fraunces,Georgia,serif;letter-spacing:-.02em;margin-bottom:16px;color:var(--ink)}
.site-footer .mail-row{display:flex;align-items:stretch;gap:10px}
.site-footer .mail-row input{width:100%;min-width:0;border:1px solid #B9C8BF;background:#FBFCF8;border-radius:9px;padding:12px 14px;font-size:16px;line-height:1.5;min-height:48px}
.site-footer .mail-row input::placeholder{color:#52615C}
.continuous-site .site-footer .mail-row .h-btn{flex:none;min-height:48px;border-radius:9px;padding:12px 18px;font-size:13px}
.site-footer #mail-privacy{font-size:12px;line-height:1.8;margin-top:12px;color:var(--ink-soft)}
.site-footer .preview-note{font-size:12px;margin-top:12px}
.site-footer .h-mail-status:empty{display:none}
.site-footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;padding-block:36px 44px}
.site-footer .h-foot-col{min-width:0}
.site-footer .h-foot-col h2{font:600 11px/1.5 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.site-footer .h-foot-col ul{gap:0}
.site-footer .h-foot-col a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding-block:10px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.site-footer-location{font-size:12px;line-height:1.9;margin-top:17px;color:var(--ink-soft)}
.site-footer-base{background:#E1E8E0;border-top:1px solid #C8D2C9;padding-block:14px}
.site-footer-base>.h-shell{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:#40554E}
.site-footer-base nav{display:flex;gap:24px}
.site-footer-base a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.site-footer-base a:hover{text-decoration:underline}
.site-header :is(a,button,summary):focus-visible,.site-footer :is(a,button,input):focus-visible{outline:3px solid #205BB6;outline-offset:4px}
@media(max-width:1040px){
 .continuous-site .site-header .h-nav-in{padding-block:12px;gap:12px}
 .continuous-site .site-header .h-navlinks{display:none}
 .site-header .h-burger{display:inline-flex}
 .site-header .h-mobnav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:8px var(--pad) 20px;border-top:1px solid var(--hairline);background:#FBF8F1;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
 .site-header .h-mobnav a{font-size:15px;min-height:48px;padding:13px 0;text-decoration:none;border-bottom:1px solid var(--hairline)}
 .site-header .h-mobnav .site-menu-app{grid-column:1/-1;display:flex;justify-content:space-between}
 .site-footer-top{gap:36px}
 .site-footer .mail-row{flex-direction:column;align-items:flex-start}
 .site-footer .mail-row .h-btn{width:auto}
 .site-footer-links{gap:24px}
 .site-footer-motto{display:none}
}
@media(max-width:700px){
 .site-header .site-app-full{display:none}
 .site-header .site-app-short{display:inline}
 .continuous-site .site-header .h-nav-cta>.h-btn{padding:10px 14px;font-size:12px}
 .site-footer-top{grid-template-columns:1fr;gap:30px;padding-block:36px 30px}
 .site-footer .mail-wrap{justify-self:start;max-width:none}
 .site-footer .mail-row{flex-direction:row;align-items:stretch}
 .site-footer-links{grid-template-columns:1fr 1fr;gap:28px 20px;padding-block:30px}
 .site-footer-base>.h-shell{flex-wrap:wrap;gap:4px 18px}
}
@media(max-width:540px){
 .site-header .site-menu-label{display:none}
 .site-header .h-burger{min-width:44px;width:44px;padding:10px}
 .continuous-site .site-header .h-nav-cta{gap:8px}
 .continuous-site .site-header .h-brand{gap:8px}
 .site-footer .mail-row{flex-direction:column;align-items:stretch}
 .site-footer .mail-row .h-btn{width:100%}
 .site-footer .h-mail label{font-size:24px}
 .site-footer .h-foot-col a{font-size:13px}
 .site-footer-base>.h-shell{font-size:11px}
}
@media(max-width:380px){
 .site-header{--pad:16px}
 .continuous-site .site-header .h-nav-in{gap:8px}
 .continuous-site .site-header .h-brand img{width:29px;height:29px}
 .site-header .cl-brand-name{font-size:23px}
 .site-header .cl-brand-tag{font-size:6px;letter-spacing:.1em}
 .continuous-site .site-header .h-nav-cta>.h-btn{padding-inline:11px}
 .site-header .h-mobnav{grid-template-columns:1fr}
}
@media(max-height:500px) and (max-width:1040px){.site-header{position:relative}}
