.web-root{--w-bg:#faf7f1;--w-bg-alt:#f1eadd;--w-ink:#211c16;--w-muted:#6c6256;--w-brand:#1e6b73;--w-gold:#ad8a52;--w-line:#e3dac9;background:var(--w-bg);color:var(--w-ink);font-family:var(--font-web-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.65}.web-root h1,.web-root h2,.web-root h3,.web-root .web-serif{font-family:var(--font-web-display), Georgia, serif;letter-spacing:-.01em;color:var(--w-ink);font-weight:500;line-height:1.05}.web-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--w-gold);font-size:.72rem;font-weight:600}.web-section-title{font-size:clamp(1.9rem,4.5vw,3rem)}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;will-change:auto;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.web-rule{background:var(--w-gold);width:48px;height:2px}.web-navlink{color:var(--w-ink);font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.web-navlink:after{content:"";background:var(--w-gold);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:-4px;left:0}.web-navlink:hover{color:var(--w-brand)}.web-navlink:hover:after{width:100%}
