:root{--paper:#F6F1EA;--ink:#1E2522;--moss:#3F4F44;--clay:#B5643C;--clay-deep:#9A4E2C;--sand:#E4D9C8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html body{margin:0;color:var(--ink);font:17px/1.6 Manrope,system-ui,sans-serif;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .1 0 0 0 0 .08 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}a:hover{color:var(--clay-deep)}
img,video{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;text-decoration:none;font-size:14px}.skip:focus{top:12px}

/* logo */
.mono{display:block;flex:none;font-family:Fraunces,serif;font-weight:600;font-size:52px;line-height:.82;letter-spacing:-.02em;font-variation-settings:'opsz' 36;padding:2px 1px 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;background-image:linear-gradient(165deg,#FFFFFF 0%,#F6F1EA 34%,#C9B89E 49%,#FBF8F3 57%,#E4D9C8 100%);filter:drop-shadow(0 2px 6px rgba(30,37,34,.35))}
.mono-dark,#hdr.is-solid .mono{background-image:linear-gradient(165deg,#5E7364 0%,#2A332E 38%,#1E2522 50%,#6F8474 58%,#1E2522 100%);filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}
.mono-lg{font-size:78px}

/* header */
#hdr{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--paper);background:transparent;border-bottom:1px solid transparent;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
#hdr.is-solid{background:rgba(246,241,234,.97);color:var(--ink);border-color:var(--sand)}
#hdr a:hover{color:inherit;opacity:.75}
#hdr .btn:hover{opacity:1}

/* type */
.kicker{margin:0 0 20px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--moss)}
.h-display{margin:0;font-family:Fraunces,serif;font-weight:300;font-size:clamp(40px,5.6vw,84px);line-height:1.02;letter-spacing:-.01em;text-wrap:balance}
.h-sec{margin:0;font-family:Fraunces,serif;font-weight:300;font-size:clamp(38px,4.6vw,68px);line-height:1.04;letter-spacing:-.01em;text-wrap:balance}
.h-card{margin:0;font-family:Fraunces,serif;font-weight:300;font-size:clamp(28px,2.8vw,40px);line-height:1.08}
.muted{color:var(--moss)}
.pretty{text-wrap:pretty}

/* layout */
.wrap{max-width:1440px;margin-left:auto;margin-right:auto;padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
.sec{padding-top:clamp(96px,12vw,176px)}
.sec-sm{padding-top:clamp(64px,8vw,120px)}
.arch{border-radius:999px 999px 0 0}
.ph{background:var(--sand);overflow:hidden}
.ph img{width:100%;height:100%;object-fit:cover}

/* links & buttons */
.lnk{display:inline-block;font-size:15px;text-decoration:none;border-bottom:1px solid currentColor;padding:6px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;padding:0 32px;background:var(--clay-deep);color:var(--paper);text-decoration:none;font:inherit;font-weight:500;border:0;border-radius:999px;cursor:pointer;transition:background-color .2s}
.btn:hover{background:#7f3f22;color:var(--paper)}
.btn:disabled{opacity:.6;cursor:default}
.btn-sm{height:44px;padding:0 24px;font-size:14px;letter-spacing:.06em}
.btn-o{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:56px;padding:0 28px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;font:inherit;border-radius:999px;cursor:pointer;transition:background-color .2s,color .2s}
.btn-o:hover{background:var(--ink);color:var(--paper)}
.chip{display:inline-flex;align-items:center;height:40px;padding:0 18px;border:1px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;text-decoration:none}
.chip[aria-pressed="true"],.chip.on{background:var(--ink);color:var(--paper)}
.tag{display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--sand);padding:2px 8px;border-radius:999px;color:var(--moss)}

/* hero */
.hero{position:relative;min-height:max(460px,66vh);background:var(--moss);color:var(--paper);display:flex}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-tint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(30,37,34,.55) 0%,rgba(30,37,34,.12) 30%,rgba(30,37,34,.30) 55%,rgba(30,37,34,.82) 100%),linear-gradient(90deg,rgba(30,37,34,.45) 0%,rgba(30,37,34,0) 65%),rgba(30,37,34,.12)}
.hero-copy{position:relative;margin-top:auto;width:100%;max-width:1440px;margin-left:auto;margin-right:auto;padding:120px clamp(20px,4vw,56px) 56px}
.hero-copy .eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.hero-copy h1{margin:0;max-width:14ch;font-family:Fraunces,serif;font-weight:300;font-size:clamp(46px,7vw,104px);line-height:.98;letter-spacing:-.015em;text-wrap:balance}
.hero-copy .lede{margin:20px 0 0;max-width:38ch;font-size:clamp(17px,1.4vw,20px);line-height:1.5}

/* forms */
.f-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--moss)}
.f-in{width:100%;min-width:0;height:52px;border:0;border-bottom:1px solid var(--ink);background:transparent;font:inherit;font-size:17px;color:var(--ink);border-radius:0;padding:0 2px}
textarea.f-in{height:auto;padding:10px 2px;resize:vertical}
.f-in[aria-invalid="true"]{border-color:var(--clay-deep)}
.f-err{font-size:14px;color:var(--clay-deep)}

/* details / accordions */
details>summary{list-style:none;cursor:pointer}
details>summary::-webkit-details-marker{display:none}
details[open] .plus{transform:rotate(45deg)}
.plus{transition:transform .2s}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
