:root {
  --ink: #171512;
  --ink-soft: #39352f;
  --paper: #f4f0e9;
  --paper-warm: #e9e1d5;
  --stone: #bdb3a5;
  --line: rgba(23,21,18,.18);
  --wood: #9a6538;
  --white: #fffdf9;
  --page-gutter: clamp(20px, 4vw, 80px);
  --content-max: 1760px;
  --header-h: 96px;
  --ease: cubic-bezier(.22,1,.36,1);
  --type-display-xl: clamp(2.25rem, 5.25vw, 4.25rem);
  --type-display-lg: clamp(2.25rem, 4.35vw, 3.5rem);
  --type-display-md: clamp(2.15rem, 3.4vw, 4rem);
  --type-section: clamp(1.75rem, 2.6vw, 3.1rem);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:"Urbanist",system-ui,-apple-system,sans-serif;font-size:clamp(16px,.4vw + 14px,19px);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.02;letter-spacing:-.035em;font-weight:500}
p{max-width:66ch}
::selection{background:var(--wood);color:var(--white)}
:focus-visible{outline:2px solid var(--wood);outline-offset:4px}
.wide-shell{width:min(calc(100% - var(--page-gutter)*2),var(--content-max));margin-inline:auto}
.skip-link{position:fixed;left:20px;top:12px;z-index:9999;background:var(--white);padding:12px 18px;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.eyebrow{font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:.18em;font-weight:600;margin:0 0 26px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:34px;height:1px;background:currentColor}
.eyebrow--light{color:rgba(255,255,255,.82)}
.display-large{font-size:var(--type-display-lg);margin:0}
.display-medium{font-size:var(--type-display-md);margin:0}
.section-space{padding-block:clamp(90px,10vw,190px)}
.no-js .reveal,.reveal.is-visible{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.is-visible{opacity:1;transform:none}
.text-link{display:inline-flex;gap:24px;align-items:center;padding-bottom:6px;border-bottom:1px solid;font-weight:600}
.text-link span{transition:transform .3s var(--ease)}
.text-link:hover span{transform:translate(4px,-4px)}
.text-link--large{font-size:clamp(1.1rem,1.6vw,1.7rem)}
.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:36px;padding:0 24px;border:1px solid transparent;font-size:14px;font-weight:600;letter-spacing:.02em;transition:background .25s,color .25s,border .25s}
.button--light{background:var(--white);color:var(--ink)}
.button--light:hover{background:transparent;color:var(--white);border-color:rgba(255,255,255,.7)}
.button--dark{background:var(--ink);color:var(--white);border:none}
.button--dark:hover{background:var(--wood)}
.rich-text{font-size:clamp(1.05rem,.5vw + .9rem,1.35rem);line-height:1.75;max-width:860px}
.rich-text h2{font-size:var(--type-section);margin:0 0 32px}
.rich-text h3{font-size:clamp(1.4rem,1.8vw,2.1rem);margin:52px 0 18px}
.rich-text p,.rich-text ul,.rich-text ol,.rich-text blockquote{margin:0 0 28px}
.rich-text blockquote{font-size:1.4em;border-left:3px solid var(--wood);padding-left:28px}
.rich-text a{text-decoration:underline;text-underline-offset:4px}
.rich-text table{width:100%;border-collapse:collapse;display:block;overflow:auto}.rich-text th,.rich-text td{border-bottom:1px solid var(--line);padding:14px;text-align:left;min-width:140px}
@media(max-width:768px){:root{--header-h:74px;--type-display-md:clamp(2rem,8vw,2.6rem);--type-section:clamp(1.7rem,7vw,2.25rem)}.section-space{padding-block:78px}.eyebrow{margin-bottom:18px}}
@media(max-width:768px){.js .reveal{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}
