:root{--forest:#183c34;--forest-deep:#102c26;--cream:#f6f2e9;--paper:#fcfaf5;--sand:#eeeadf;--gold:#d8c28f;--ink:#213e35;--muted:#626b61;--line:#d4d8ca;--light-line:#4d685c;--white:#fff;--black:#000;--color-bg:var(--cream);--color-surface:var(--paper);--color-text:var(--ink);--color-muted:var(--muted);--text-logo-caption:.45rem;--text-xs:.68rem;--text-sm:.8rem;--text-base:clamp(.94rem, .88rem + .2vw, 1.04rem);--text-lg:clamp(1.08rem, 1rem + .35vw, 1.3rem);--text-xl:clamp(1.5rem, 1.2rem + 1vw, 2.2rem);--text-2xl:clamp(1.65rem, 1.3rem + 1.4vw, 2.7rem);--text-3xl:clamp(2.5rem, 1.6rem + 3vw, 4rem);--text-4xl:clamp(3rem, 1.5rem + 4.7vw, 5.7rem);--text-5xl:clamp(3.8rem, 1.5rem + 6.1vw, 7rem);--text-6xl:clamp(5rem, 3rem + 7vw, 10rem);--h1:var(--text-5xl);--h2:var(--text-4xl);--h3:var(--text-2xl);--h4:var(--text-xl);--h5:var(--text-lg);--h6:var(--text-base);--body:var(--text-base);--small:var(--text-sm);--leading-body:1.8;--leading-heading:1.04;--leading-tight:1.25;--tracking-label:.18em;--tracking-heading:-.04em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--section-pad:clamp(4.5rem, 7.7vw, 7.5rem);--container:1240px;--gutter:clamp(1.25rem, 4.5vw, 4rem);--radius:.2rem;--radius-lg:.5rem;--radius-pill:999px;--border-width:1px;--shadow:0 .8rem 2rem color-mix(in srgb, var(--forest) 9%, transparent);--shadow-hover:0 1rem 2.5rem color-mix(in srgb, var(--forest) 14%, transparent);--transition:.22s ease;--lift:-.2rem;--header-height:92px;--utility-height:36px;--mobile-cta-height:76px;--button-height:52px;--tap-target:44px;--card-padding:clamp(1.5rem, 2.5vw, 2.25rem);--hero-height:680px;--carousel-fade:.7s ease;--icon-size:28px;--logo-width:132px;--image-ratio:4 / 5;--map-height:390px}html[data-theme=light]{--color-bg:var(--paper);--color-surface:var(--cream)}html[data-theme=warm]{--color-bg:var(--cream);--color-surface:var(--paper)}html[data-theme=dark]{--color-bg:var(--forest);--color-surface:var(--forest-deep);--color-text:var(--cream);--color-muted:var(--gold)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-6))}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body), sans-serif;font-size:var(--body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,h5,h6,p{margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading), serif;font-weight:400;line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-wrap:balance}h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:var(--h3)}h4{font-size:var(--h4)}h5{font-size:var(--h5)}h6{font-size:var(--h6)}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg,iframe{max-width:100%}img{height:auto;display:block}button,input{color:inherit}::selection{color:var(--forest);background:var(--gold)}:focus-visible{outline:2px solid var(--forest);outline-offset:3px;box-shadow:0 0 0 5px var(--gold)}.container{width:min(var(--container), calc(100% - var(--gutter) * 2));margin-inline:auto}.eyebrow{font-size:var(--text-xs);font-weight:600;line-height:var(--leading-body);letter-spacing:var(--tracking-label);text-transform:uppercase;display:block}.small{font-size:var(--small)}.muted{color:var(--color-muted)}.lead{font-size:var(--text-lg)}.serif{font-family:var(--font-heading), serif}.italic{font-style:italic}.gold{color:var(--gold)}.section-heading{margin-bottom:var(--space-6)}.section-heading em{font-weight:400}.text-link{gap:var(--space-4);min-height:var(--tap-target);border-bottom:var(--border-width) solid currentColor;align-items:center;display:inline-flex}.text-link svg{transition:transform var(--transition)}.skip-link{top:var(--space-4);left:var(--space-4);z-index:100;background:var(--cream);color:var(--forest);padding:var(--space-4);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (hover:hover){a:hover{color:inherit}.text-link:hover svg{transform:translateX(var(--space-1))}}@media (max-width:767px){:root{--header-height:76px}body{padding-bottom:var(--mobile-bottom,0px)}html{scroll-padding-top:calc(var(--header-height) + var(--space-4))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
