:root { --page-ink:#0f2744; --page-ivory:#faf9f5; --page-gold:#c9a962; --page-rule:#d8cebd; --page-muted:#5e696f; }
html { scroll-behavior:smooth; }
body.interior-page { margin:0; color:var(--page-ink); background:var(--page-ivory); font-family:Montserrat,Arial,Helvetica,sans-serif; line-height:1.6; overflow-x:clip; }
.interior-page .site-header { position:relative; z-index:2; background:#faf9f5; border-bottom:1px solid var(--page-rule); }
.interior-page .masthead-shell,.interior-page .page-footer-shell { width:min(100% - 40px,78rem); margin:auto; }
.interior-page .masthead-shell { display:flex; min-height:82px; align-items:center; justify-content:space-between; gap:1rem; }
.interior-page .brand-link { display:inline-flex; min-height:44px; align-items:center; color:var(--page-ink); text-decoration:none; }
.interior-page .brand-wordmark,.interior-page .footer-brand { margin:0; font-family:"Playfair Display",Georgia,serif; font-weight:600; letter-spacing:.045em; line-height:1; }
.interior-page .brand-wordmark { font-size:clamp(1.35rem,2.3vw,1.8rem); }
.interior-page .primary-nav { display:flex; align-items:center; gap:.25rem; }
.interior-page .primary-nav a { display:inline-flex; min-height:44px; align-items:center; padding:.35rem .65rem; color:var(--page-ink); font-size:.78rem; font-weight:700; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.interior-page .primary-nav a[aria-current="page"] { color:#765515; text-decoration:underline; text-decoration-color:var(--page-gold); text-underline-offset:.35rem; }
.interior-page .nav-cta,.interior-page .button-primary { background:var(--page-ink); color:var(--page-ivory)!important; border:1px solid var(--page-ink); }
.interior-page .nav-toggle { display:none; color:var(--page-ink); }
.interior-page .skip-link { position:absolute; z-index:10; top:-5rem; left:1rem; min-height:44px; padding:.7rem 1rem; background:var(--page-ivory); color:var(--page-ink); }
.interior-page .skip-link:focus { top:1rem; }
.interior-page :focus-visible { outline:3px solid #9b681c; outline-offset:3px; }
.page-hero { padding:clamp(4rem,10vw,8rem) 0 clamp(3rem,7vw,6rem); background:#faf9f5; border-bottom:1px solid var(--page-rule); }
.page-shell { width:min(100% - 40px,76rem); margin:auto; }
.eyebrow { margin:0 0 1rem; color:#765515; font-size:.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { font-family:"Playfair Display",Georgia,serif; font-weight:500; line-height:1.03; }
h1 { max-width:15ch; margin:0; font-size:clamp(3rem,7vw,6rem); }
h2 { margin:0 0 1rem; font-size:clamp(2rem,4vw,3.6rem); }
h3 { margin:.2rem 0 .65rem; font-size:2rem; }
.lede { max-width:65ch; margin:1.5rem 0 0; color:#39474e; font-size:1.15rem; }
.page-section { padding:clamp(3.5rem,8vw,7rem) 0; border-bottom:1px solid var(--page-rule); }
.page-section.navy { color:var(--page-ivory); background:var(--page-ink); }
.page-section.navy .eyebrow { color:#e5bc72; }
.page-section.navy p { color:rgba(244,240,232,.82); }
.page-section.navy .button { color:var(--page-ivory); }
.page-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:2.5rem; border-top:1px solid var(--page-rule); }
.page-grid > section,.page-grid > div { padding:1.5rem 1.5rem 1.5rem 0; border-bottom:1px solid var(--page-rule); }
.page-grid > section + section,.page-grid > div + div { padding-left:1.5rem; border-left:1px solid var(--page-rule); }
.page-section.navy .page-grid { border-color:rgba(244,240,232,.24); }.page-section.navy .page-grid > * { border-color:rgba(244,240,232,.24); }
.button-row { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:.45rem 1rem; border:1px solid var(--page-gold); color:var(--page-ink); font-weight:700; text-decoration:none; }
.button-secondary { background:transparent; }.button-primary { color:var(--page-ivory); }
.boundary { max-width:70ch; padding:1.25rem 1.5rem; border-left:3px solid var(--page-gold); background:#faf9f5; }.navy .boundary { background:#243842; }
.checklist { max-width:70ch; padding-left:1.25rem; }.checklist li { margin:.55rem 0; }
.survey-mount { min-height:44px; margin:2rem 0; padding:1.25rem; border:1px dashed var(--page-gold); background:#faf9f5; }
.site-footer.interior-footer { padding:3rem 0 2rem; color:var(--page-ivory); background:var(--page-ink); }.interior-footer .page-footer-shell { display:grid; grid-template-columns:1.25fr 1fr auto; gap:2rem; }.interior-footer .footer-brand { align-self:start; color:var(--page-ivory); font-size:1.65rem; }.interior-footer a { display:block; min-height:44px; color:var(--page-ivory); }.interior-footer address { font-style:normal; }.interior-footer nav { display:flex; flex-wrap:wrap; gap:.4rem 1rem; }.interior-footer nav a { min-height:44px; }.interior-footer .copyright { width:auto; margin:0; padding-top:1.25rem; grid-column:1 / -1; }
@media (max-width:900px) { html { scroll-behavior:auto; }.interior-page .masthead-shell { min-height:76px; }.interior-page .nav-toggle { display:inline-flex; width:48px; min-width:48px; min-height:48px; align-items:center; justify-content:center; }.interior-page .primary-nav { position:absolute; top:100%; right:0; left:0; display:none; padding:1rem 20px; background:#faf9f5; border-bottom:1px solid var(--page-rule); flex-direction:column; align-items:stretch; }.interior-page .primary-nav.is-open { display:flex; }.interior-page .primary-nav a { min-height:48px; }.page-grid { grid-template-columns:1fr; }.page-grid > section + section,.page-grid > div + div { padding-left:0; border-left:0; }.interior-footer .page-footer-shell { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
