:root{
  --ink:#1B1D16;
  --raise:#282B20;
  --paper:#EFEFE6;
  --brass:#B9A227;
  --sage:#8A8B7C;
  --hair:rgba(138,139,124,.32);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  background:var(--ink);
  color:var(--paper);
  font-family:Spectral,Georgia,serif;
  font-size:1.06rem;
  font-weight:400;
  line-height:1.72;
  min-height:100vh;
}
img{
  border-radius:3px;
  width:100%;
  height:auto;
  display:block;
}
a{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--brass)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.skip{
  position:absolute;
  left:16px;
  top:-48px;
  z-index:80;
  background:var(--brass);
  color:#1B1D16;
  font-family:Epilogue,sans-serif;
  font-weight:600;
  font-size:.9rem;
  letter-spacing:-.02em;
  padding:.55rem .9rem;
  border-radius:3px;
  text-decoration:none;
}
.skip:focus{top:12px}
h1,h2,h3,h4,.act,.figures__num,.mast__mark{
  font-family:Epilogue,sans-serif;
  letter-spacing:-.02em;
}
h1{
  font-size:clamp(2.1rem,6vw,3.25rem);
  font-weight:800;
  line-height:1.08;
  margin:0 0 1.1rem;
  color:var(--paper);
}
h2{
  font-size:clamp(1.35rem,3.2vw,1.7rem);
  font-weight:600;
  line-height:1.16;
  margin:0 0 .85rem;
  color:var(--paper);
}
h3{
  font-size:1.08rem;
  font-weight:600;
  line-height:1.28;
  margin:0 0 .35rem;
  color:var(--paper);
}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1rem;padding-left:1.15rem}
li{margin:0 0 .4rem}
.kicker{
  display:block;
  font-family:Epilogue,sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brass);
  margin:0 0 .7rem;
}
.tick-rule{
  display:block;
  width:46px;
  height:3px;
  background:var(--brass);
  margin:1.1rem 0 1.25rem;
  border-radius:3px;
}
.zone{padding-block:64px}
.zone--raise{background:var(--raise)}
.rail{
  max-width:680px;
  margin-inline:auto;
  padding-inline:22px;
}
.duet{
  display:grid;
  grid-template-columns:.93fr 1.07fr;
  gap:26px;
  align-items:start;
}
.copy{max-width:42em}
.mast{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:62px;
  padding-inline:22px;
  background:var(--ink);
  border-bottom:1px solid var(--hair);
}
.mast__mark{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:1.05rem;
  font-weight:600;
  color:var(--paper);
  text-decoration:none;
  letter-spacing:-.02em;
}
.mast__mark::before{
  content:"";
  width:6px;
  height:6px;
  background:var(--brass);
  border-radius:1px;
  flex:0 0 6px;
}
.mast__toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:transparent;
  border:0;
  color:var(--paper);
  font-family:Epilogue,sans-serif;
  font-size:.88rem;
  font-weight:600;
  letter-spacing:-.02em;
  cursor:pointer;
  padding:.35rem .15rem;
}
.mast__toggle span{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:14px;
}
.mast__toggle span::before,
.mast__toggle span::after{
  content:"";
  display:block;
  height:2px;
  background:var(--paper);
  border-radius:1px;
}
.veil{
  position:fixed;
  inset:0;
  z-index:60;
  background:var(--raise);
  display:grid;
  place-content:center;
  transform:translateY(-100%);
  visibility:hidden;
  transition:transform .35s ease,visibility .35s ease;
  padding:32px 22px;
  overflow:auto;
}
.veil.is-open{
  transform:translateY(0);
  visibility:visible;
}
.veil__close{
  position:absolute;
  top:18px;
  right:22px;
  background:transparent;
  border:0;
  color:var(--paper);
  font-family:Epilogue,sans-serif;
  font-size:.95rem;
  font-weight:600;
  letter-spacing:-.02em;
  cursor:pointer;
  padding:.4rem .2rem;
}
.veil__list{
  list-style:none;
  margin:0;
  padding:0;
  text-align:center;
}
.veil__list li{margin:0 0 .35rem}
.veil__link{
  font-family:Epilogue,sans-serif;
  font-size:clamp(1.6rem,4vw,2rem);
  font-weight:600;
  letter-spacing:-.02em;
  color:var(--paper);
  text-decoration:none;
  line-height:1.25;
}
.veil__link:hover,
.veil__link[aria-current="page"]{color:var(--brass)}
.veil__aside{
  margin-top:2rem;
  text-align:center;
  color:var(--sage);
  font-size:.9rem;
  line-height:1.65;
}
.veil__aside a{color:var(--sage)}
.veil__aside a:hover{color:var(--brass)}
.hero-media{margin:1.6rem 0 0}
.hero-lead{font-size:1.12rem;font-weight:500;margin-bottom:1.25rem}
.acts{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:1.15rem 0 0;
}
.act{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:Epilogue,sans-serif;
  font-weight:600;
  font-size:.92rem;
  letter-spacing:-.02em;
  line-height:1.2;
  padding:.74rem 1.18rem;
  border-radius:3px;
  text-decoration:none;
  cursor:pointer;
  border:1px solid transparent;
}
.act--solid{
  background:var(--brass);
  color:#1B1D16;
}
.act--solid:hover,
.act--solid:focus-visible{
  background:#CDB432;
  color:#1B1D16;
}
.act--outline{
  background:transparent;
  border-color:var(--sage);
  color:var(--paper);
}
.act--outline:hover,
.act--outline:focus-visible{
  border-color:var(--brass);
  color:var(--brass);
  background:transparent;
}
.figures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px 16px;
  margin-top:2.2rem;
}
.figures__cell{min-width:0}
.figures__num{
  font-size:2.2rem;
  font-weight:800;
  line-height:1.08;
  color:var(--brass);
  margin:0 0 .25rem;
}
.figures__cap{
  font-family:Spectral,Georgia,serif;
  font-size:.85rem;
  line-height:1.45;
  color:var(--sage);
  margin:0;
}
.plate{
  border:1px solid var(--hair);
  border-radius:3px;
  padding:1.15rem 1.2rem;
  background:var(--raise);
}
.plate p{margin:0}
.course-row,
.result-entry,
.note-item,
.qa,
.step-line{
  border-top:1px solid var(--hair);
  padding:1.25rem 0;
}
.course-row:last-child,
.result-entry:last-child,
.note-item:last-child,
.qa:last-child,
.step-line:last-child{border-bottom:1px solid var(--hair)}
.meta{
  font-size:.85rem;
  color:var(--sage);
  margin:0 0 .45rem;
}
.tag{
  display:inline-block;
  font-family:Epilogue,sans-serif;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--brass);
  margin:0 0 .55rem;
}
.result-entry__figure .figures__num{font-size:1.7rem;margin-bottom:.15rem}
.result-entry__figure .figures__cap{margin-bottom:.7rem}
.step-line h3{margin-bottom:.4rem}
.qa{padding:0}
.qa summary{
  cursor:pointer;
  font-family:Epilogue,sans-serif;
  font-weight:600;
  letter-spacing:-.02em;
  padding:1.05rem 0;
  list-style:none;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{
  content:"+ ";
  color:var(--brass);
  font-weight:800;
}
.qa[open] summary::before{content:"– "}
.qa .copy{padding:0 0 1.1rem}
.mod-list{margin:.7rem 0 0;padding-left:1.1rem}
.mod-list li{margin:0 0 .55rem}
.enquiry{margin-top:.4rem}
.field{margin:0 0 1rem}
.field__label{
  display:block;
  font-family:Epilogue,sans-serif;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:-.02em;
  margin:0 0 .35rem;
}
.field__input{
  width:100%;
  background:var(--ink);
  color:var(--paper);
  border:1px solid var(--sage);
  border-radius:3px;
  font-family:Spectral,Georgia,serif;
  font-size:1rem;
  padding:.7rem .8rem;
}
.field__input:focus-visible{border-color:var(--brass)}
textarea.field__input{min-height:140px;resize:vertical}
.field__hint{
  display:block;
  margin-top:.35rem;
  font-size:.85rem;
  color:var(--sage);
}
.field--check{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
}
.field--check input{margin-top:.4rem;accent-color:var(--brass)}
.form-flash{
  border:1px solid var(--brass);
  color:var(--paper);
  border-radius:3px;
  padding:.9rem 1rem;
  margin:0 0 1.2rem;
  background:rgba(185,162,39,.12);
}
.form-flash--bad{
  border-color:var(--sage);
  background:rgba(138,139,124,.12);
}
.ground{
  border-top:1px solid var(--hair);
  padding-block:48px 28px;
}
.ground__map{margin:0 0 1.8rem}
.ground__map iframe{
  display:block;
  width:100%;
  height:230px;
  border:0;
  border-radius:3px;
}
.ground a{color:var(--paper)}
.ground a:hover{color:var(--brass)}
.nav-col{
  list-style:none;
  margin:.85rem 0 0;
  padding:0;
}
.nav-col li{margin:0 0 .3rem}
.nav-col a{text-decoration:none;font-family:Epilogue,sans-serif;font-weight:500;font-size:.92rem;letter-spacing:-.02em}
.ground__legal{
  margin-top:2rem;
  padding-top:1.1rem;
  border-top:1px solid var(--hair);
  font-size:.85rem;
  color:var(--sage);
  line-height:1.6;
}
.ground__legal a{color:var(--sage)}
.ground__legal a:hover{color:var(--brass)}
.crumb-bar{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:70;
  background:var(--raise);
  border-top:1px solid var(--hair);
  padding:14px 0;
}
.crumb-bar .rail{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  align-items:center;
  justify-content:space-between;
}
.crumb-bar p{
  margin:0;
  font-size:.9rem;
  max-width:38em;
}
.crumb-bar .acts{margin:0}
.lift-in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
html.js .lift-in{opacity:0;transform:translateY(14px)}
html.js .lift-in.is-lifted{opacity:1;transform:none}
.no-js .lift-in{opacity:1!important;transform:none!important}
.trap{
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
body{padding-bottom:96px}
@media(max-width:720px){
  .zone{padding-block:44px}
  .duet{grid-template-columns:1fr;gap:12px}
  .crumb-bar .rail{flex-direction:column;align-items:flex-start}
}
@media(min-width:721px){
  .figures{grid-template-columns:repeat(4,1fr)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lift-in{opacity:1!important;transform:none!important}
  .veil{transition:none}
}
