* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:120px
}

body {
  margin:0;
  background:var(--paper);
  color:var(--text);
  font:16px/1.65 var(--sans);
  -webkit-font-smoothing:antialiased
}

img {
  max-width:100%;
  height:auto;
  display:block
}

a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:5px
}

button,input {
  font:inherit
}

button,a,input,summary {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

button:disabled {
  cursor:default;
  opacity:.4
}

button,input {
  color:inherit
}

a,button {
  touch-action:manipulation
}

button {
  background:none
}

a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:5px
}

::selection {
  background:#d3b47d66
}

h1,h2,h3,h4 {
  font-family:var(--serif);
  font-weight:400;
  color:var(--ink);
  line-height:1.17;
  margin:0
}

h1 {
  font-size:clamp(42px,5.1vw,68px);
  letter-spacing:-.035em
}

h2 {
  font-size:clamp(32px,3.25vw,44px);
  letter-spacing:-.025em
}

h3 {
  font-size:28px;
  letter-spacing:-.02em
}

p {
  margin:0 0 1.3em
}

p:last-child {
  margin-bottom:0
}

figure {
  margin:0
}

ul,ol {
  padding-left:1.5em
}

button {
  border:0
}

section[id],h2[id] {
  scroll-margin-top:110px
}

[hidden] {
  display:none!important
}

.shell {
  width:min(var(--shell),calc(100% - 96px));
  margin-inline:auto
}

.section {
  padding-block:94px
}

.narrow {
  max-width:800px
}

.eyebrow {
  font:600 11px/1.7 var(--sans);
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:18px
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.skip-link {
  position:fixed;
  top:8px;
  left:12px;
  background:var(--surface);
  padding:12px 20px;
  z-index:100;
  transform:translateY(-150%)
}

.skip-link:focus {
  transform:none
}

.caption,figcaption {
  font:12px/1.6 var(--sans);
  color:var(--muted)
}

.prose {
  font:21px/1.8 var(--serif);
  color:var(--text);
  overflow-wrap:anywhere
}

.prose h2 {
  font-size:32px;
  line-height:1.3;
  margin:2em 0 .8em;
  scroll-margin-top:180px
}

.prose h2:first-child {
  margin-top:0
}

.prose p {
  margin:0 0 1.1em
}

.prose a {
  color:var(--gold)
}

.prose li {
  margin-block:12px
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  min-height:52px;
  padding:14px 24px;
  border:1px solid transparent;
  text-decoration:none;
  font:600 13px/1.5 var(--sans);
  transition:background .2s,transform .2s
}

.button:hover {
  transform:translateY(-2px)
}

.button-primary {
  background:var(--ink);
  color:var(--paper)
}

.button-primary:hover {
  background:var(--gold);
  color:var(--surface)
}

.button-gold {
  background:var(--gold-light);
  color:#243a32
}

.button-gold:hover {
  background:#e4cc9f
}

.button-outline {
  border-color:var(--line);
  color:var(--ink)
}

.button-outline:hover {
  border-color:var(--gold);
  background:var(--wash)
}

.button-row {
  display:flex;
  gap:12px;
  flex-wrap:wrap
}

.text-link {
  font:600 13px/1.5 var(--sans);
  color:var(--ink);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:32px;
  min-height:44px
}

.text-link span {
  font-size:22px;
  color:var(--gold)
}

.text-link:hover {
  text-decoration:underline
}

.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:38px
}

.section-heading>p {
  font-size:14px;
  color:var(--muted);
  margin:0;
  line-height:1.8
}

.section-heading .eyebrow {
  margin-bottom:12px
}

.breadcrumbs {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  font-size:12px;
  padding-block:30px;
  color:var(--muted)
}

.breadcrumbs a {
  text-decoration:none
}

.breadcrumbs a:hover {
  color:var(--gold);
  text-decoration:underline
}

.breadcrumbs>span[aria-hidden] {
  opacity:.5
}

.breadcrumbs [aria-current] {
  color:var(--ink)
}

@media(max-width:900px) {
  .shell {
    width:calc(100% - 48px)
  }

  .section {
    padding-block:68px
  }

  .section-heading {
    align-items:flex-start;
    gap:24px
  }

  .section-heading>p {
    max-width:220px
  }

}

@media(max-width:600px) {
  :root {
    --header-height:76px
  }

  .shell {
    width:calc(100% - 40px)
  }

  .section {
    padding-block:55px
  }

  .section-heading {
    display:block;
    margin-bottom:26px
  }

  .section-heading>p {
    max-width:100%;
    margin-top:18px
  }

  .section-heading>.text-link {
    margin-top:16px
  }

  .eyebrow {
    font-size:10px;
    letter-spacing:.13em
  }

  .prose {
    font-size:20px
  }

  .prose h2 {
    font-size:28px
  }

  .breadcrumbs {
    font-size:11px;
    padding-block:22px;
    gap:8px
  }

  .button {
    padding:12px 20px;
    min-height:50px
  }

  h1 {
    font-size:44px
  }

  h2 {
    font-size:34px
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  *,*::before,*::after {
    animation:none!important;
    transition:none!important
  }

}

/* Comfortable interface text sizes. */
.button,.text-link {
  font-size:14px
}

.caption,figcaption {
  font-size:14px
}

.breadcrumbs {
  font-size:13px
}
