/* Shared navigation typography: the same family, scale and rhythm on every page. */
.contact-dialog{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:32px;border:1px solid #d1d8cb;border-radius:18px;background:#faf9f4;color:#173f34;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 24px 80px #173f3433}
.contact-dialog::backdrop{background:#102c2470}.contact-dialog h2{margin:0 32px 12px 0;font:600 30px/1.2 Georgia,serif;letter-spacing:-.03em}.contact-dialog p{margin:12px 0}.contact-dialog .contact-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:inherit;font:28px/1 system-ui;min-width:44px;min-height:44px;cursor:pointer}.contact-form{display:grid;gap:16px;margin-top:24px}.contact-form label{display:grid;gap:6px;font-size:14px;font-weight:500}.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #becbbf;border-radius:8px;padding:10px 12px;background:#fff;color:#173f34;font:16px/1.5 system-ui}.contact-form textarea{resize:vertical}.contact-send{border:0;border-radius:8px;padding:12px 18px;background:#173f34;color:#fff;font:600 15px/1.5 system-ui;cursor:pointer}.contact-send:disabled{opacity:.6;cursor:wait}.contact-dialog .contact-feedback{margin:0;font-size:14px}.contact-dialog :focus-visible{outline:3px solid #a95d21;outline-offset:3px}

.site-header,.protect-header,.site-footer{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173f34}
.site-header,.protect-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 40px;font-weight:400}
.site-header .brand,.protect-header .protect-brand,.site-footer>.brand{font-size:18px;font-weight:700;letter-spacing:-.035em;line-height:1.4;text-decoration:none}
.site-header nav,.protect-header nav{display:flex;gap:0 24px;flex-wrap:wrap}
.site-header nav a,.protect-header nav a,.site-footer nav a{font-family:inherit;font-size:14px;font-weight:500;letter-spacing:-.01em;line-height:1.5;display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.site-header nav a:hover,.protect-header nav a:hover,.site-footer nav a:hover{ text-decoration:underline;text-underline-offset:5px}
.site-header .button,.protect-header .button{font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;min-height:44px;white-space:nowrap}
.site-footer>p:last-child{font-size:14px;line-height:1.6}
.site-footer{max-width:1200px;margin:auto;padding:40px 48px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2fr);grid-template-areas:"brand links" "tagline links";gap:12px 48px;border-top:1px solid #d1d8cb}
.site-footer>.brand{grid-area:brand}.site-footer>nav{grid-area:links;display:grid;grid-template-columns:repeat(3,max-content);justify-content:end;gap:4px 24px}.site-footer>p{grid-area:tagline;margin:0;color:#52635c;text-align:left}
.site-header a:focus-visible,.protect-header a:focus-visible,.site-footer a:focus-visible{outline:3px solid #a95d21;outline-offset:4px}
@media(max-width:1150px){.site-header,.protect-header{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding:16px 24px}.site-header nav,.protect-header nav{grid-row:2;grid-column:1/-1;justify-content:center}}
@media(max-width:900px){.site-footer{grid-template-columns:1fr;grid-template-areas:"brand" "tagline" "links";gap:12px;padding:32px 24px}.site-footer>nav{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:0 24px}}
@media(max-width:760px){.site-header,.protect-header{padding:12px 20px;gap:8px 12px}.site-header nav,.protect-header nav{justify-content:flex-start;gap:0 18px}.site-header nav a,.protect-header nav a,.site-footer nav a{font-size:14px}.site-header .brand,.protect-header .protect-brand{font-size:17px}.site-header .button,.protect-header .button{font-size:13px;padding:10px 12px;gap:10px}}
@media(max-width:360px){.site-header,.protect-header{padding-left:16px;padding-right:16px}.site-header .brand,.protect-header .protect-brand{font-size:16px}.site-header .button,.protect-header .button{font-size:12px;padding:10px;gap:6px}}
