/* Reset, typography, layout primitives and buttons. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr-h) + 12px)}
body{margin:0;font:400 1rem/1.6 var(--f-body);color:var(--ink);background:var(--paper);overflow-x:clip}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:500;margin:0;line-height:1.08;letter-spacing:-.01em}
p{margin:0}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:1rem;top:-5rem;background:var(--brass);color:var(--navy);padding:.7rem 1.1rem;z-index:300;text-decoration:none;font-weight:600}
.skip:focus{top:1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1rem,3vw,2rem)}

/* sections */
.sec{position:relative;padding:clamp(4rem,8vw,7rem) 0}
.sec.tight{padding:clamp(2.5rem,5vw,4rem) 0}
.sec.gallery{background:var(--gallery)}
.sec.dark{background:var(--navy);color:var(--ivory);--focus:var(--brass-l)}
.sec.dark-2{background:var(--navy-2);color:var(--ivory);--focus:var(--brass-l)}
.sec-head{max-width:46rem;margin-bottom:clamp(2rem,4vw,3rem)}
.sec-head h2{font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:400;letter-spacing:-.02em}
.sec-head p{margin-top:1rem;color:var(--mut);font-size:1.08rem;max-width:38rem}
.dark .sec-head p,.dark-2 .sec-head p{color:var(--ivory-2)}
.sub{font-size:1.7rem;font-weight:400;margin-bottom:1.4rem}
.more{display:inline-block;margin-top:1.4rem;font-weight:600;color:var(--brand);text-decoration:underline;text-underline-offset:4px;padding:.3rem 0}
.dark .more,.dark-2 .more{color:var(--brass-l)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.7rem 1.5rem;border:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:600;font-size:.92rem;letter-spacing:.01em;text-decoration:none;border-radius:0;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink);color:#fff}
.btn.solid{background:var(--navy);border-color:var(--navy);color:var(--ivory)}
.btn.solid:hover{background:var(--navy-3);border-color:var(--navy-3)}
.btn.brass{background:var(--brass);border-color:var(--brass);color:var(--navy)}
.btn.brass:hover{background:var(--brass-l);border-color:var(--brass-l);color:var(--navy)}
.btn.ghost{color:var(--ivory);border-color:rgba(239,234,223,.55)}
.btn.ghost:hover{background:var(--ivory);color:var(--navy);border-color:var(--ivory)}
.btn.sm{min-height:40px;padding:.45rem 1rem;font-size:.86rem}
.btn:disabled{opacity:.5;cursor:not-allowed}
.linkbtn{background:none;border:0;color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:.4rem}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}
