.policy-page .site-header{background:var(--paper);position:sticky;color:var(--green);border-color:var(--line)}
.policy-page .site-header.scrolled{position:sticky;background:var(--paper);color:var(--green);margin-bottom:24px}
.policy-page .site-header:has(.menu-toggle[aria-expanded=true]){position:sticky}
.policy-page .mobile-menu{z-index:51}
.policy-heading{background:#ebe6da;padding:72px var(--gutter) 64px}
.policy-heading h1{font-size:clamp(45px,6vw,82px);line-height:1.05;max-width:950px;margin:20px 0}
.policy-heading p{max-width:650px;font-size:15px;line-height:1.7}
.policy-content{max-width:850px;margin:0 auto;padding:65px 28px 85px}
.policy-content section+section{margin-top:38px;padding-top:32px;border-top:1px solid var(--line)}
.policy-content h2{font-size:32px;line-height:1.2;margin-bottom:20px;letter-spacing:-.02em}
.policy-content p,.policy-content li{font-size:15px;line-height:1.85;color:var(--green);overflow-wrap:anywhere}
.policy-content p+p{margin-top:14px}
.policy-content ul{padding-left:22px;margin:14px 0}
.policy-content li+li{margin-top:7px}
.policy-content a:not(.button){text-decoration:underline;text-underline-offset:3px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;max-width:1120px;margin:0 auto;padding:65px 28px 85px}
.contact-intro h2{font-size:38px;margin-bottom:20px}
.contact-intro p{font-size:15px;line-height:1.85;margin-bottom:22px}
.contact-address{font-size:19px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-form{display:grid;gap:20px}
.contact-form label{display:grid;gap:8px;font-size:12px;letter-spacing:.025em}
.contact-form input,.contact-form textarea{font:15px var(--sans);color:var(--green);border:1px solid #a6b2a6;background:#fffdf7;padding:13px 14px;border-radius:0;width:100%}
.contact-form textarea{min-height:170px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--green);outline-offset:3px}
.contact-form .button{justify-self:start}
.contact-form .fine-print,.contact-status{font-size:12px;line-height:1.75}
.contact-status:empty{display:none}
@media(max-width:700px){.policy-heading{padding:50px 24px}.policy-heading h1{font-size:48px}.policy-content{padding:42px 24px 65px}.policy-content h2{font-size:29px}.contact-layout{grid-template-columns:1fr;gap:38px;padding:42px 24px 65px}.contact-intro h2{font-size:34px}}

/* Avoid automatic iPhone zoom when guests focus contact fields. */
@media(max-width:800px){.contact-form input,.contact-form textarea{font-size:16px}}
@media(max-width:800px){.policy-page .site-header.scrolled{margin-bottom:0}}
