:root{--c-bg:#17120F;--c-surface:#211A16;--c-text:#F4EBE3;--c-primary:#C98B4B;--c-secondary:#3E6E6A;--c-accent:#E9A79A;--c-ivory:#F7F1EA;--c-copper-ink:#8A5220;--c-dark-bg:#17120F;--c-dark-text:#F4EBE3;--c-line:rgba(244,235,227,.14);--c-line-strong:rgba(201,139,75,.45);--c-teal-wash:rgba(62,110,106,.12);--ff-display:'Fraunces',Georgia,'Times New Roman',serif;--ff-body:'Karla','Helvetica Neue',Arial,sans-serif;--sp-1:.375rem;--sp-2:.75rem;--sp-3:1.125rem;--sp-4:1.75rem;--sp-5:2.5rem;--sp-6:3.5rem;--sp-7:5rem;--sp-8:7rem;--gutter:clamp(1.25rem, 0.9rem + 2.2vw, 3rem);--container:1200px;--container-narrow:820px;--radius-sm:4px;--radius:8px;--radius-lg:14px;--radius-pill:999px;--hdr-h:72px;--mo-dur:720ms;--mo-ease:cubic-bezier(.22,.72,.28,1);--mo-dist:22px;--mo-stagger:110ms;--fs-body:clamp(1.0625rem, 1rem + 0.2vw, 1.125rem);--fs-h1:clamp(2.125rem, 1.5rem + 2.6vw, 3.75rem);--fs-h2:clamp(1.75rem, 1.35rem + 1.5vw, 2.5rem);--fs-h3:clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);--fs-kicker:.75rem;--fs-caption:.9375rem}

*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
body{overflow-x:hidden;background:var(--c-bg);color:var(--c-text);font-family:var(--ff-body);font-weight:400;font-size:var(--fs-body);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%;height:auto}
input,button,select,textarea{font:inherit;color:inherit}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

h1,h2,h3,h4{font-family:var(--ff-display);font-weight:600;font-variation-settings:'SOFT' 60,'WONK' 0,'opsz' 40;letter-spacing:-.01em;line-height:1.16;text-wrap:balance}
h1{font-size:var(--fs-h1);line-height:1.1}
h2{font-size:var(--fs-h2);line-height:1.14}
h3{font-size:var(--fs-h3);line-height:1.26}
h4{font-size:1.125rem;line-height:1.3}
p,li{max-width:62ch}
p+p{margin-top:var(--sp-3)}
strong{font-weight:700}

.kicker{font-family:var(--ff-body);font-weight:700;font-size:var(--fs-kicker);letter-spacing:.18em;text-transform:uppercase;color:var(--c-accent);line-height:1.4;display:block}
.caption,figcaption{font-size:var(--fs-caption);font-weight:500;color:var(--c-accent);line-height:1.55;max-width:56ch}
.lede{font-size:clamp(1.125rem, 1.05rem + .4vw, 1.3125rem);line-height:1.6}
.meta{font-size:.9375rem;color:rgba(244,235,227,.72)}
.period{color:var(--c-primary)}

a{color:var(--c-accent);text-decoration:none;transition:color var(--mo-dur) var(--mo-ease),opacity var(--mo-dur) var(--mo-ease)}
a:hover{color:var(--c-primary)}
:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:2px}

.skip-link{position:absolute;left:var(--gutter);top:-120px;z-index:200;background:var(--c-primary);color:#17120F;font-weight:700;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;padding:.75rem 1.125rem;border-radius:var(--radius-sm);transition:top 180ms var(--mo-ease)}
.skip-link:focus{top:.75rem;color:#17120F}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:var(--container-narrow)}
.section{padding-block:clamp(3.5rem, 2.6rem + 4vw, 7rem)}
.section--tight{padding-block:clamp(2.5rem, 2rem + 2.4vw, 4rem)}
.section--dark{background:var(--c-bg);color:var(--c-text)}
.section--surface{background:var(--c-surface);color:var(--c-text)}
.section--ivory{background:var(--c-ivory);color:#17120F}
.section--ivory a{color:var(--c-copper-ink)}
.section--ivory a:hover{color:#17120F}
.section--ivory .kicker{color:var(--c-copper-ink)}
.section--ivory .caption,.section--ivory figcaption{color:#5B4A3F}
.section--ivory .meta{color:#4A3C34}
.section--ivory .period{color:var(--c-copper-ink)}
.section-bleed{width:100%}
.section-bleed>*{padding-inline:var(--gutter)}
.bleed-inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}

:where(section,div)[id]{scroll-margin-top:calc(var(--hdr-h) + 1rem)}
[id]{scroll-margin-top:calc(var(--hdr-h) + 1rem)}

.stack>*+*{margin-top:var(--sp-3)}
.stack-lg>*+*{margin-top:var(--sp-5)}
.center{text-align:center}
.center p,.center li{margin-inline:auto}
.measure{max-width:62ch}
.mt-0{margin-top:0}
.grid{display:grid;gap:clamp(1.25rem, 1rem + 1.4vw, 2.25rem)}
.grid--2{grid-template-columns:1fr}
.grid--3{grid-template-columns:1fr}
.grid--4{grid-template-columns:1fr}
@media (min-width:768px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8125rem 1.5rem;font-family:var(--ff-body);font-weight:700;font-size:.875rem;letter-spacing:.09em;text-transform:uppercase;line-height:1.2;border:1px solid transparent;border-radius:var(--radius-pill);cursor:pointer;text-align:center;text-decoration:none;transition:transform var(--mo-dur) var(--mo-ease),opacity var(--mo-dur) var(--mo-ease),background-color var(--mo-dur) var(--mo-ease),color var(--mo-dur) var(--mo-ease),border-color var(--mo-dur) var(--mo-ease)}
.btn--primary{background:var(--c-primary);border-color:var(--c-primary);color:#17120F}
.btn--primary:hover,.btn--primary:focus-visible{background:var(--c-accent);border-color:var(--c-accent);color:#17120F}
.btn--ghost{background:transparent;border-color:var(--c-line-strong);color:var(--c-text)}
.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--c-primary);color:var(--c-primary)}
.section--ivory .btn--primary{background:var(--c-copper-ink);border-color:var(--c-copper-ink);color:var(--c-ivory)}
.section--ivory .btn--primary:hover,.section--ivory .btn--primary:focus-visible{background:#17120F;border-color:#17120F;color:var(--c-ivory)}
.section--ivory .btn--ghost{border-color:rgba(23,18,15,.28);color:#17120F}
.section--ivory .btn--ghost:hover,.section--ivory .btn--ghost:focus-visible{border-color:var(--c-copper-ink);color:var(--c-copper-ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:center}

.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:clamp(1.25rem, 1rem + 1.2vw, 2rem);transition:transform var(--mo-dur) var(--mo-ease),border-color var(--mo-dur) var(--mo-ease)}
.card>*+*{margin-top:var(--sp-2)}
.card--dark{background:var(--c-bg);color:var(--c-text);border-color:var(--c-line)}
.card--ivory{background:var(--c-ivory);color:#17120F;border-color:rgba(23,18,15,.12)}
.card--ivory .kicker{color:var(--c-copper-ink)}

.rod-set{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--c-bg);border-radius:6px;flex:0 0 auto}
.rod-set svg{width:1.5rem;height:1.5rem}
.rod-set svg *{stroke:var(--c-primary);stroke-width:2.5;stroke-linecap:round;fill:none}

.rule-pair{display:flex;align-items:center;gap:0;height:3px;margin-bottom:var(--sp-2);border-radius:2px;overflow:hidden;width:clamp(80px,18vw,132px)}
.rule-pair::before{content:"";display:block;height:3px;flex:0 0 64%;background:var(--c-primary)}
.rule-pair::after{content:"";display:block;height:3px;flex:1 1 auto;background:var(--c-accent)}
.section--ivory .rule-pair::before{background:var(--c-copper-ink)}
.section--ivory .rule-pair::after{background:var(--c-secondary)}

.centerline-rule{height:2px;border:0;width:100%;background:var(--c-primary);opacity:.55;margin-block:clamp(2rem, 1.5rem + 2vw, 3.5rem)}

.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--c-teal-wash);border:1px solid rgba(62,110,106,.4);color:var(--c-text);font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.375rem .75rem;border-radius:var(--radius-pill)}
.section--ivory .chip{color:#17120F;background:rgba(62,110,106,.14);border-color:rgba(62,110,106,.45)}

.fact{display:block}
.fact__num{display:block;font-family:var(--ff-display);font-weight:600;font-size:clamp(2.5rem, 2rem + 2.4vw, 4rem);line-height:1;color:var(--c-primary)}
.fact__label{display:block;margin-top:var(--sp-1);font-size:.9375rem;color:rgba(244,235,227,.78)}
.section--ivory .fact__num{color:var(--c-copper-ink)}
.section--ivory .fact__label{color:#4A3C34}

.note-panel{background:rgba(244,235,227,.05);border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:clamp(1.25rem, 1rem + 1.2vw, 2rem)}
.note-panel .kicker{margin-bottom:var(--sp-2)}
.note-panel>*+*{margin-top:var(--sp-2)}

.pull-quote{background:var(--c-ivory);color:#17120F;border-left:4px solid var(--c-primary);border-radius:0 var(--radius) var(--radius) 0;padding:clamp(1.125rem, 0.9rem + 1vw, 1.75rem) clamp(1.125rem, 0.9rem + 1.2vw, 2rem);font-family:var(--ff-display);font-weight:500;font-size:clamp(1.125rem, 1rem + .6vw, 1.4375rem);line-height:1.4}
.pull-quote cite{display:block;margin-top:var(--sp-2);font-family:var(--ff-body);font-style:normal;font-size:.9375rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-copper-ink)}

.mark-highlight{background:rgba(201,139,75,.28);padding:.06em .22em;border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
h1,h2,h3{line-height:1.26}
h1{line-height:1.12}

.logo-plate{display:inline-flex;align-items:center;justify-content:center;background:var(--c-ivory);border-radius:8px;padding:.5rem;flex:0 0 auto}
.logo-plate img{height:36px;width:auto;border-radius:2px}
@media (min-width:900px){.logo-plate img{height:44px}}

.wordmark{font-family:var(--ff-display);font-weight:500;font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);letter-spacing:-.01em;line-height:1.1;color:var(--c-text);display:block}
.wordmark .period{color:var(--c-primary)}
.wordmark-sub{display:block;margin-top:.35rem;font-family:var(--ff-body);font-weight:700;font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-primary);line-height:1.3}

.img-treated{filter:saturate(.88) contrast(1.06) brightness(.98) sepia(.1);border-radius:var(--radius);background:var(--c-surface)}
.figure{margin:0}
.figure figcaption{margin-top:var(--sp-2)}

.reveal{opacity:1}
.media-zoom{overflow:hidden;border-radius:var(--radius)}
.media-zoom img{width:100%}
.link-draw{position:relative;display:inline-block}
.link-draw::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--mo-dur) var(--mo-ease)}
.link-draw:hover::after,.link-draw:focus-visible::after{transform:scaleX(1)}

@media (prefers-reduced-motion: no-preference){
.reveal{opacity:0;transform:translateY(var(--mo-dist));transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-stagger>*{opacity:0;transform:translateY(var(--mo-dist));transition:opacity var(--mo-dur) var(--mo-ease),transform var(--mo-dur) var(--mo-ease);transition-delay:var(--reveal-delay,0ms)}
.reveal-stagger>*.is-visible,.reveal-stagger.is-visible>*{opacity:1;transform:none}
.media-zoom img{transition:transform calc(var(--mo-dur) * 2) var(--mo-ease)}
.media-zoom:hover img,.media-zoom:focus-within img{transform:scale(1.03)}
.card:hover,.card:focus-within{transform:translateY(-2px);border-color:var(--c-line-strong)}
.btn:hover,.btn:focus-visible{transform:translateY(-2px)}
.ken-burns{animation:kb 13s var(--mo-ease) infinite alternate;will-change:transform}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.04)}}
}
@media (prefers-reduced-motion: reduce){
.reveal,.reveal-stagger>*{opacity:1;transform:none;transition:none}
.ken-burns{animation:none}
.media-zoom img{transition:none}
.card:hover{transform:none}
.btn:hover{transform:none}
.link-draw::after{transition:none}
}

.site-header{position:sticky;top:0;z-index:100;background:var(--c-bg);border-bottom:1px solid var(--c-line)}
.header__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);padding-block:.625rem;min-height:var(--hdr-h)}
.header__identity{display:inline-flex;align-items:center;gap:var(--sp-2);flex:0 1 auto;min-width:0;text-decoration:none;color:var(--c-text)}
.header__identity:hover{color:var(--c-text)}

.nav-toggle{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.nav-toggle-label{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:46px;height:46px;flex:0 0 auto;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:transparent;cursor:pointer;transition:border-color var(--mo-dur) var(--mo-ease)}
.nav-toggle-label:hover{border-color:var(--c-primary)}
.nav-toggle-label span[aria-hidden]{display:block;width:20px;height:2px;background:var(--c-primary);border-radius:2px}

.nav-panel{display:none;background:var(--c-surface);border-top:1px solid var(--c-line);max-height:calc(100dvh - var(--hdr-h));overflow-y:auto}
.nav-toggle:checked~.nav-panel{display:block}
.nav-panel__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);padding-block:var(--sp-3) var(--sp-4)}
.nav-panel ul{list-style:none;margin:0;padding:0}
.nav-panel li{max-width:none}
.nav-panel li+li{border-top:1px solid var(--c-line)}
.nav-panel a{display:flex;align-items:center;min-height:48px;padding-block:.5rem;font-family:var(--ff-body);font-weight:700;font-size:.9375rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text)}
.nav-panel a:hover{color:var(--c-primary)}
.nav-panel .btn{margin-top:var(--sp-3);width:100%}
.nav-panel__contact{margin-top:var(--sp-3);font-size:.9375rem;color:rgba(244,235,227,.78)}
.nav-panel__contact a{display:inline;min-height:0;text-transform:none;letter-spacing:0;font-weight:500;font-size:.9375rem;color:var(--c-accent)}
.nav-close{margin-top:var(--sp-3);display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);cursor:pointer}

.nav-desktop{display:none}

@media (min-width:900px){
.nav-desktop{display:flex;align-items:center;gap:clamp(1rem,1.6vw,2rem)}
.nav-desktop ul{display:flex;align-items:center;gap:clamp(1rem,1.8vw,2rem);list-style:none;margin:0;padding:0}
.nav-desktop ul li{max-width:none}
.nav-desktop ul a{font-family:var(--ff-body);font-weight:700;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c-text);padding-block:.5rem}
.nav-desktop ul a:hover,.nav-desktop ul a:focus-visible{color:var(--c-primary)}
.nav-desktop .btn--primary{color:#17120F}
.nav-desktop .btn--primary:hover,.nav-desktop .btn--primary:focus-visible{color:#17120F}
.nav-toggle-label{display:none}
.nav-panel,.nav-toggle:checked~.nav-panel{display:none}
}

.site-footer{margin-top:0;background:var(--c-surface);color:var(--c-text);border-top:1px solid var(--c-line);padding-block:clamp(2.75rem, 2.2rem + 3vw, 4.5rem) clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem)}
.site-footer__inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.footer__grid{display:grid;gap:clamp(1.75rem, 1.4rem + 2vw, 3rem);grid-template-columns:1fr}
@media (min-width:768px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr}}
.footer__identity .wordmark{font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem)}
.footer__blurb{margin-top:var(--sp-3);font-size:.9375rem;color:rgba(244,235,227,.78);max-width:34ch}
.footer__col h2{font-family:var(--ff-body);font-weight:700;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c-primary);margin-bottom:var(--sp-2)}
.footer__col ul{list-style:none;margin:0;padding:0}
.footer__col li{max-width:none}
.footer__col li+li{margin-top:.35rem}
.footer__col a{display:inline-flex;align-items:center;min-height:32px;font-size:.9375rem;color:var(--c-text)}
.footer__col a:hover,.footer__col a:focus-visible{color:var(--c-primary)}
.footer__col p{font-size:.9375rem;color:rgba(244,235,227,.78);max-width:34ch}
.footer__bottom{margin-top:clamp(2rem, 1.6rem + 2vw, 3rem);padding-top:var(--sp-3);border-top:1px solid var(--c-line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4)}
.footer__legal{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.125rem;font-size:.8125rem;color:rgba(244,235,227,.7)}
.footer__legal a{font-size:.8125rem;color:rgba(244,235,227,.7)}
.footer__legal a:hover{color:var(--c-primary)}
.footer__credit{font-size:.8125rem}
.footer__credit a{color:var(--c-accent)}
.footer__credit a:hover{color:var(--c-primary)}
.reveal{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1}
.reveal-stagger>*{opacity:0;transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1));transition-delay:var(--reveal-delay,0ms)}
.reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .reveal{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal.is-visible{transform:none}
  .reveal-stagger>*{transform:translateY(14px);transition:opacity var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1)),transform var(--mo-dur,600ms) var(--mo-ease,cubic-bezier(.22,1,.36,1))}
  .reveal-stagger.is-visible>*,.reveal-stagger>.is-visible{transform:none}
}
@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1;transform:none;transition:none}}
/* nn:mobile-floor */
@media (max-width:899px){
.site-header{position:sticky}
.header__bar{flex-wrap:nowrap}
.nav-panel{position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - var(--header-h,64px));overflow-y:auto;-webkit-overflow-scrolling:touch}
}
input,select,textarea{min-width:0;box-sizing:border-box;max-width:100%}
input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"],input[type="week"]{-webkit-appearance:none;appearance:none;width:100%}
input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}
input[type="date"]::-webkit-calendar-picker-indicator{margin-inline-start:auto}
