/* ==========================================================================
   Prestige Programming
   Territory: the land survey. Field book sepia, chalk white, brass gilt,
   one survey red reserved for station marks and field annotations.
   ========================================================================== */

:root{
  /* paper and chalk */
  --paper:#F6EFE0;
  --paper-2:#F0E7D4;
  --paper-3:#E7DAC1;
  --chalk:#FCFAF4;
  --chalk-2:#F9F5EB;

  /* sepia and warm brown inks */
  --ink:#2B1F13;
  --ink-2:#4B3823;
  --ink-3:#6F5738;
  --ink-4:#786243;   /* AA on chalk, paper and paper-2 for small labels */
  --ink-5:#B7A07C;
  --wash:#957C57;    /* decorative contour line work only, never text */
  --umber:#241A10;
  --umber-2:#33251644;

  /* brass gilt */
  --brass-700:#8A6414;
  --brass-600:#A97E22;
  --brass-500:#C79A38;
  --brass-400:#DEB864;
  --brass-300:#E9CE8F;
  --brass-100:#F6EBD1;

  /* survey red */
  --red-700:#8C2415;
  --red-600:#AE2F1D;
  --red-500:#C5402B;
  --red-300:#E39B8B;
  --red-100:#F7E3DD;

  /* rules */
  --rule:#DCCDB1;
  --rule-2:#C7B18B;
  --rule-3:#AB9268;
  --rule-dk:#4A3A26;

  --disp:"Literata",Georgia,"Times New Roman",serif;
  --text:"Onest","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"Atkinson Hyperlegible Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --fs-hero:clamp(2.45rem,5.4vw,4.55rem);
  --fs-h2:clamp(1.72rem,3.1vw,2.7rem);
  --fs-h3:clamp(1.16rem,1.5vw,1.4rem);
  --fs-lede:clamp(1.03rem,1.15vw,1.19rem);
  --fs-lab:.66rem;

  --shell:min(1180px,100%);
  --gut:clamp(20px,4.2vw,56px);
  --ease:cubic-bezier(.22,.68,.25,1);

  --sh-1:0 1px 2px rgba(43,31,19,.06);
  --sh-2:0 2px 6px rgba(43,31,19,.06),0 18px 38px -18px rgba(43,31,19,.26);
  --sh-3:0 34px 74px -30px rgba(36,26,16,.46),0 4px 14px rgba(43,31,19,.09);
}

*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
html:focus-within{scroll-behavior:smooth}
body{font-family:var(--text);background:var(--paper);color:var(--ink);
  font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--brass-700);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--red-600)}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1.1;
  letter-spacing:-.014em}
h1{font-size:var(--fs-hero);letter-spacing:-.026em}
h2{font-size:var(--fs-h2);letter-spacing:-.02em}
h3{font-size:var(--fs-h3)}
p{margin:0}
ul,ol{margin:0;padding:0}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--red-600);outline-offset:3px;border-radius:2px}

.shell{width:var(--shell);margin-left:auto;margin-right:auto;
  padding-left:var(--gut);padding-right:var(--gut)}
.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.mono{font-family:var(--mono)}
.lede{font-size:var(--fs-lede);color:var(--ink-2);line-height:1.7}
.skip{position:absolute;left:-9999px;top:0;background:var(--umber);
  color:var(--paper);padding:12px 18px;z-index:200}
.skip:focus{left:12px;top:12px}

/* ---------------------------------------------------------------- motifs */

/* contour wash: nested self similar rings, the way a smooth rise reads on a
   contour sheet. Sits behind content, never intercepts a pointer. */
.contours{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;
  color:var(--wash);opacity:.3}
.contours path{fill:none;stroke:currentColor;stroke-width:1}
.contours .hi{stroke-width:1.7;opacity:.85}
.band .contours{color:var(--brass-400);opacity:.17}

/* field book ruling: faint horizontals with the double red rule at the left */
.ruled{position:relative;background-color:var(--chalk);
  background-image:repeating-linear-gradient(to bottom,
    rgba(107,87,56,.16) 0 1px,transparent 1px 31px)}
.ruled::before{content:"";position:absolute;top:0;bottom:0;left:26px;width:5px;
  border-left:1px solid var(--red-300);border-right:1px solid var(--red-300);
  pointer-events:none}

/* station mark: the surveyor's point, circle crossed at the centre */
.sta{flex:none;width:15px;height:15px;color:var(--red-600)}
.sta circle{fill:none;stroke:currentColor;stroke-width:1.5}
.sta line{stroke:currentColor;stroke-width:1.5}
.sta .dot{fill:currentColor;stroke:none}

/* benchmark mark: the triangle seated on its level bar */
.bm{flex:none;width:24px;height:20px;color:var(--ink)}
.bm .tri{fill:currentColor}
.bm .bar{stroke:currentColor;stroke-width:2.2;stroke-linecap:square}

/* ------------------------------------------------------------ type helpers */
.lab{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);
  font-size:var(--fs-lab);font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ink-3)}
.lab .sta{width:13px;height:13px}
.lab.rev{color:var(--brass-300)}
.lab.rev .sta{color:var(--brass-400)}
.rule-b{border:0;border-top:1px solid var(--rule);height:0}
.gilt{border:0;height:0;border-top:1px solid var(--brass-400);opacity:.75}

/* ------------------------------------------------------------- utility bar */
.util{background:var(--umber);color:var(--brass-300)}
.util .shell{padding-top:9px;padding-bottom:9px;display:flex;
  align-items:center;justify-content:space-between;gap:16px}
.util p{font-family:var(--mono);font-size:.645rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--brass-300)}
.util a{color:var(--paper-3);font-family:var(--mono);font-size:.645rem;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none}
.util a:hover{color:var(--brass-400)}
@media (max-width:700px){.util .no-s{display:none}}

/* ---------------------------------------------------------------- masthead */
.mast{position:sticky;top:0;z-index:70;
  background:color-mix(in srgb,var(--paper) 93%,transparent);
  backdrop-filter:saturate(1.25) blur(9px);
  border-bottom:1px solid var(--rule);box-shadow:0 1px 0 rgba(201,154,56,.28)}
.mast .btn{font-size:.82rem;padding-left:15px;padding-right:15px}
.mast-in{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding-top:13px;padding-bottom:13px}
.wm{display:inline-flex;align-items:center;gap:11px;text-decoration:none;
  color:var(--ink)}
.wm .bm{width:26px;height:22px}
.wm-t{font-family:var(--disp);font-size:1.155rem;font-weight:700;
  letter-spacing:-.018em;line-height:1;white-space:nowrap}
.wm-t i{font-style:normal;font-weight:400;color:var(--ink-3);margin-left:.3em}
.wm:hover .bm{color:var(--red-600)}

.mnav{display:flex;align-items:center;gap:5px}
.lk{font-size:.905rem;font-weight:500;color:var(--ink-2);text-decoration:none;
  padding:8px 11px;border-radius:3px;white-space:nowrap}
.lk:hover{color:var(--ink);background:var(--paper-3)}
.lk[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--red-600)}

.drop{position:relative}
.drop-t{display:inline-flex;align-items:center;gap:7px;background:none;border:0;
  cursor:pointer;font-size:.905rem;font-weight:500;color:var(--ink-2);
  padding:8px 11px;border-radius:3px}
.drop-t:hover{color:var(--ink);background:var(--paper-3)}
.drop-t svg{width:9px;height:6px;transition:transform .2s var(--ease)}
.drop-t[aria-expanded="true"] svg{transform:rotate(180deg)}
.drop-p{position:absolute;top:calc(100% + 9px);right:0;min-width:288px;
  background:var(--chalk);border:1px solid var(--rule-2);border-radius:4px;
  box-shadow:var(--sh-2);padding:7px;display:none}
.drop-p.open{display:block}
.drop-p::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--brass-600),var(--brass-300),var(--brass-600))}
.drop-p a{display:block;padding:10px 12px;border-radius:3px;text-decoration:none;
  color:var(--ink-2);font-size:.9rem;font-weight:500}
.drop-p a span{display:block;font-size:.775rem;font-weight:400;color:var(--ink-4);
  margin-top:2px;line-height:1.45}
.drop-p a:hover{background:var(--paper-2);color:var(--ink)}
.drop-p a[aria-current="page"]{background:var(--paper-2);color:var(--ink);
  box-shadow:inset 2px 0 0 var(--red-600)}

.burger{display:none;align-items:center;gap:9px;background:none;
  border:1px solid var(--rule-2);border-radius:3px;cursor:pointer;
  padding:9px 12px;font-family:var(--mono);font-size:.66rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.burger b{display:block;width:16px;height:9px;border-top:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;position:relative}
.burger b::after{content:"";position:absolute;left:0;right:0;top:3px;
  border-top:1.6px solid currentColor}
.panel{display:none;border-top:1px solid var(--rule)}
.panel.open{display:block}
.panel .shell{padding-top:14px;padding-bottom:20px}
.panel a{display:block;padding:11px 2px;border-bottom:1px solid var(--rule);
  color:var(--ink-2);text-decoration:none;font-weight:500}
.panel a:last-of-type{border-bottom:0}
.panel a[aria-current="page"]{color:var(--ink);font-weight:600;
  box-shadow:inset 3px 0 0 var(--red-600);padding-left:12px}
.panel .sub{padding-left:16px;font-size:.9rem;color:var(--ink-3)}
.panel .pl{font-family:var(--mono);font-size:var(--fs-lab);font-weight:600;
  letter-spacing:.24em;text-transform:uppercase;color:var(--ink-4);
  padding-top:14px;padding-bottom:6px}
.panel .btn{margin-top:16px;width:100%;justify-content:center}
@media (max-width:1100px){
  .mnav{display:none}
  .burger{display:inline-flex}
}
/* the wordmark and the menu control have to share a 320px bar */
@media (max-width:400px){
  .mast-in{gap:10px}
  .wm{gap:8px}
  .wm .bm{width:21px;height:18px}
  .wm-t{font-size:.95rem}
  .burger{gap:7px;padding-left:10px;padding-right:10px;font-size:.6rem;
    letter-spacing:.16em}
  .burger b{width:14px}
}

/* ----------------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  font-family:var(--text);font-size:.925rem;font-weight:600;line-height:1;
  padding:14px 22px;border-radius:3px;text-decoration:none;border:1px solid transparent;
  transition:transform .16s var(--ease),background .16s var(--ease),
    box-shadow .16s var(--ease),color .16s var(--ease)}
.btn svg{width:13px;height:10px;flex:none}
.btn-ink{background:var(--umber);color:var(--paper);
  box-shadow:inset 0 0 0 1px rgba(222,184,100,.42),var(--sh-1)}
.btn-ink:hover{background:#3A2A18;color:#FFF;transform:translateY(-1px);
  box-shadow:inset 0 0 0 1px var(--brass-400),0 10px 24px -10px rgba(36,26,16,.6)}
.btn-gilt{background:var(--brass-500);color:var(--umber);
  box-shadow:inset 0 0 0 1px rgba(138,100,20,.5),var(--sh-1)}
.btn-gilt:hover{background:var(--brass-400);transform:translateY(-1px);color:var(--umber)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule-2)}
.btn-ghost:hover{border-color:var(--ink-3);background:var(--chalk-2);color:var(--ink)}
.btn-ghost.rev{color:var(--paper-2);border-color:rgba(222,184,100,.42)}
.btn-ghost.rev:hover{color:#FFF;border-color:var(--brass-400);background:rgba(222,184,100,.1)}
.btn-s{padding:11px 16px;font-size:.87rem}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* ------------------------------------------------------------------ layout */
.sec{padding-top:clamp(56px,7vw,104px);padding-bottom:clamp(56px,7vw,104px);
  position:relative}
.sec-tight{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}
.band{background:var(--umber);color:var(--paper-2);position:relative;
  overflow:hidden;isolation:isolate}
.band h2,.band h3{color:var(--chalk)}
.band .lede{color:var(--paper-3)}
.band a{color:var(--brass-300)}
.paper-2{background:var(--paper-2)}
.chalkbg{background:var(--chalk)}
.hd{max-width:62ch}
.hd h2{margin-top:14px}
.hd p{margin-top:16px}
.hd-wide{max-width:74ch}

.grid{display:grid;gap:clamp(18px,2vw,26px)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:940px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:660px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}}

/* -------------------------------------------------------------------- hero */
.hero{position:relative;overflow:hidden;
  background:linear-gradient(178deg,var(--paper) 0%,var(--paper-2) 62%,var(--paper-3) 100%);
  border-bottom:1px solid var(--rule-2)}
.hero .shell{position:relative;z-index:2;
  padding-top:clamp(44px,6vw,84px);padding-bottom:clamp(48px,6vw,88px)}
.hero-in{display:grid;gap:clamp(30px,4vw,58px);align-items:center;
  grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)}
@media (max-width:1020px){.hero-in{grid-template-columns:minmax(0,1fr)}}
.hero h1{margin-top:20px}
.hero .lede{margin-top:20px;max-width:56ch}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:30px}
.hero-note{display:flex;gap:12px;margin-top:28px;padding-top:20px;
  border-top:1px solid var(--rule-2);max-width:52ch}
.hero-note p{font-size:.94rem;color:var(--ink-2)}
.hero-note b{color:var(--red-700);font-weight:600}

.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.chip{display:inline-flex;align-items:baseline;gap:8px;background:var(--chalk);
  border:1px solid var(--rule-2);border-radius:3px;padding:9px 13px;
  box-shadow:var(--sh-1)}
.chip b{font-family:var(--disp);font-size:1rem;font-weight:700;color:var(--ink)}
.chip span{font-family:var(--mono);font-size:.63rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--ink-4)}

/* the open field book that carries the hero */
.book{position:relative;border:1px solid var(--rule-3);border-radius:4px;
  background:var(--chalk);box-shadow:var(--sh-3);overflow:hidden}
.book::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),
    inset 0 0 34px rgba(107,87,56,.09)}
.book svg{width:100%;height:auto}
.book text{font-family:var(--mono)}

/* ------------------------------------------------------------------- cards */
.card{background:var(--chalk);border:1px solid var(--rule);border-radius:4px;
  padding:clamp(20px,2.2vw,28px);position:relative;box-shadow:var(--sh-1);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),
    transform .18s var(--ease)}
.card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;
  background:linear-gradient(90deg,transparent,var(--brass-400) 22%,
    var(--brass-400) 78%,transparent);opacity:0;transition:opacity .18s var(--ease)}
.card:hover{border-color:var(--rule-2);box-shadow:var(--sh-2);transform:translateY(-2px)}
.card:hover::before{opacity:1}
.card h3{margin-top:15px}
.card p{margin-top:10px;color:var(--ink-2);font-size:.95rem}
.card .gl{width:38px;height:38px;color:var(--ink-3)}
.gl path,.gl circle,.gl line,.gl polyline{stroke:currentColor}
.card-lnk{display:inline-flex;align-items:center;gap:8px;margin-top:17px;
  font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--brass-700);text-decoration:none}
.card-lnk svg{width:13px;height:9px}
.card-lnk:hover{color:var(--red-600)}
a.card{text-decoration:none;color:inherit;display:block}

.band .card{background:rgba(246,239,224,.05);border-color:rgba(222,184,100,.24)}
.band .card p{color:var(--paper-3)}
.band .card .gl{color:var(--brass-400)}
.band .card:hover{border-color:rgba(222,184,100,.5);background:rgba(246,239,224,.08)}

/* ------------------------------------------------------- the record ledger */
.ledger{background:var(--chalk);border:1px solid var(--rule-2);border-radius:4px;
  overflow:hidden}
.ledger-h{display:grid;grid-template-columns:78px minmax(0,1fr);
  border-bottom:1.5px solid var(--rule-3);background:var(--paper-2)}
.ledger-h span{font-family:var(--mono);font-size:.615rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);
  padding-top:11px;padding-bottom:11px;padding-left:16px;padding-right:12px}
.ledger-h span+span{border-left:1px solid var(--rule)}
.rec{display:grid;grid-template-columns:78px minmax(0,1fr);
  border-bottom:1px solid var(--rule);align-items:start}
.rec:last-child{border-bottom:0}
.rec:nth-child(even){background:var(--chalk-2)}
.rec-n{font-family:var(--mono);font-size:.735rem;font-weight:600;color:var(--red-600);
  padding-top:14px;padding-bottom:14px;padding-left:16px;padding-right:8px}
.rec-b{padding-top:14px;padding-bottom:14px;padding-left:16px;padding-right:18px;
  border-left:1px solid var(--rule);font-size:.95rem;color:var(--ink-2)}
.rec-b b{color:var(--ink);font-weight:600}
@media (max-width:520px){
  .ledger-h,.rec{grid-template-columns:58px minmax(0,1fr)}
  .rec-n{padding-left:11px;font-size:.68rem}
  .rec-b{padding-left:12px;padding-right:12px}
}

/* --------------------------------------------------------- the level run */
.run{display:grid;gap:clamp(16px,2vw,22px);grid-template-columns:repeat(4,minmax(0,1fr));
  position:relative}
@media (max-width:900px){.run{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.run{grid-template-columns:minmax(0,1fr)}}
.leg{position:relative;padding-top:34px}
.leg .pin{position:absolute;left:-4px;top:3px;width:23px;height:23px;
  background:var(--paper);border-radius:50%;display:grid;place-items:center}
.leg .pin .sta{width:15px;height:15px}
@media (min-width:901px){
  .leg::before{content:"";position:absolute;left:26px;right:-26px;top:14px;
    border-top:1px dashed var(--rule-3)}
  .leg:last-child::before{display:none}
}
.leg h3{font-size:1.06rem}
.leg p{margin-top:9px;font-size:.93rem;color:var(--ink-2)}
.leg .st{font-family:var(--mono);font-size:.615rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);display:block;
  margin-bottom:7px}
.band .leg::before{border-top-color:rgba(222,184,100,.34)}
.band .leg .pin{background:var(--umber)}
.band .leg p{color:var(--paper-3)}
.band .leg .st{color:var(--brass-400)}

/* -------------------------------------------------------------- field note */
.note{position:relative;background:var(--red-100);border:1px solid var(--red-300);
  border-left:4px solid var(--red-600);border-radius:3px;
  padding-top:clamp(18px,2vw,24px);padding-bottom:clamp(18px,2vw,24px);
  padding-left:clamp(18px,2.2vw,26px);padding-right:clamp(18px,2.2vw,26px)}
.note .lab{color:var(--red-700)}
.note .lab .sta{color:var(--red-600)}
.note p{margin-top:11px;color:#4A2118;font-size:.985rem}
.note p+p{margin-top:11px}
.note b{font-weight:600}

.quiet{background:var(--paper-2);border:1px solid var(--rule-2);border-radius:4px;
  padding-top:clamp(20px,2.4vw,30px);padding-bottom:clamp(20px,2.4vw,30px);
  padding-left:clamp(20px,2.6vw,32px);padding-right:clamp(20px,2.6vw,32px)}
.quiet h3{margin-bottom:12px}
.quiet p{color:var(--ink-2)}
.quiet p+p{margin-top:12px}

/* ------------------------------------------------------------- prose lists */
.tick{display:grid;gap:11px}
.tick li{list-style:none;display:flex;gap:11px;align-items:flex-start;
  font-size:.965rem;color:var(--ink-2)}
.tick li .sta{width:14px;height:14px;margin-top:5px}
.tick li b{color:var(--ink);font-weight:600}
.band .tick li{color:var(--paper-3)}
.band .tick li .sta{color:var(--brass-400)}

.prose h2{margin-top:clamp(34px,4vw,52px)}
.prose h3{margin-top:clamp(24px,2.6vw,34px)}
.prose h2+p,.prose h3+p{margin-top:14px}
.prose p+p{margin-top:14px}
.prose p{color:var(--ink-2);max-width:74ch}
.prose ul{margin-top:14px;display:grid;gap:10px;max-width:74ch}
.prose li{list-style:none;display:flex;gap:11px;align-items:flex-start;
  color:var(--ink-2)}
.prose li .sta{width:13px;height:13px;margin-top:6px;flex:none}
.prose .rule-b{margin-top:clamp(30px,3.4vw,44px)}
.prose dl{margin-top:16px;display:grid;gap:14px;max-width:74ch}
.prose dt{font-weight:600;color:var(--ink)}
.prose dd{margin:5px 0 0;color:var(--ink-2)}

.toc{background:var(--chalk);border:1px solid var(--rule);border-radius:4px;
  padding-top:20px;padding-bottom:20px;padding-left:22px;padding-right:22px}
.toc ol{margin-top:12px;display:grid;gap:8px;counter-reset:t}
.toc li{list-style:none;counter-increment:t;font-size:.93rem}
.toc li::before{content:counter(t,decimal-leading-zero);font-family:var(--mono);
  font-size:.66rem;color:var(--red-600);margin-right:10px;font-weight:600}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--red-600);text-decoration:underline}

/* --------------------------------------------------------------- price box */
.price{background:var(--chalk);border:1px solid var(--rule-2);border-radius:4px;
  box-shadow:var(--sh-2);overflow:hidden}
.price-h{background:var(--umber);color:var(--paper);position:relative;
  overflow:hidden;padding-top:clamp(22px,2.6vw,30px);padding-bottom:clamp(22px,2.6vw,30px);
  padding-left:clamp(22px,2.8vw,34px);padding-right:clamp(22px,2.8vw,34px)}
.price-h .fig{font-family:var(--disp);font-size:clamp(2.5rem,4.6vw,3.5rem);
  font-weight:700;color:var(--chalk);line-height:1;margin-top:14px;
  letter-spacing:-.028em;position:relative;z-index:2}
.price-h .sub{font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--brass-300);margin-top:12px;
  position:relative;z-index:2}
.price-h .lab{position:relative;z-index:2}
.price-h .contours{color:var(--brass-400);opacity:.17}
.price-b{padding-top:clamp(20px,2.4vw,28px);padding-bottom:clamp(20px,2.4vw,28px);
  padding-left:clamp(22px,2.8vw,34px);padding-right:clamp(22px,2.8vw,34px)}
.price-b .rows{display:grid;gap:0}
.price-row{display:flex;justify-content:space-between;gap:18px;
  padding-top:12px;padding-bottom:12px;border-bottom:1px dotted var(--rule-2);
  font-size:.94rem}
.price-row:last-child{border-bottom:0}
.price-row dt{color:var(--ink-3)}
.price-row dd{margin:0;font-weight:600;color:var(--ink);text-align:right;
  font-variant-numeric:tabular-nums}

/* -------------------------------------------------------------------- form */
.form{display:grid;gap:18px}
.f-row{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:620px){.f-row{grid-template-columns:minmax(0,1fr)}}
.field{display:grid;gap:7px}
.field label{font-family:var(--mono);font-size:.645rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.field label .req{color:var(--red-600);margin-left:5px}
.field input,.field select,.field textarea{width:100%;background:var(--chalk);
  border:1px solid var(--rule-2);border-radius:3px;
  padding-top:12px;padding-bottom:12px;padding-left:14px;padding-right:14px;
  font-size:.96rem;color:var(--ink);transition:border-color .16s var(--ease),
    box-shadow .16s var(--ease)}
.field textarea{min-height:132px;resize:vertical;line-height:1.6}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--brass-600);box-shadow:0 0 0 3px rgba(199,154,56,.2)}
.field input:user-invalid,.field textarea:user-invalid{border-color:var(--red-500)}
.field .hint{font-size:.83rem;color:var(--ink-4)}
.f-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;
  padding-top:6px}
.f-actions .hint{font-size:.86rem;color:var(--ink-3);max-width:44ch}
.f-msg{display:none;border-radius:3px;font-size:.93rem;
  padding-top:13px;padding-bottom:13px;padding-left:15px;padding-right:15px}
.f-msg.on{display:block}
.f-msg.ok{background:var(--brass-100);border:1px solid var(--brass-400);
  color:#5A430C}
.f-msg.bad{background:var(--red-100);border:1px solid var(--red-300);color:var(--red-700)}
.f-msg a{color:inherit}

/* ------------------------------------------------------------------ footer */
.foot{background:var(--umber);color:var(--paper-3);position:relative;
  overflow:hidden;isolation:isolate}
.foot .shell{position:relative;z-index:2;
  padding-top:clamp(44px,5vw,68px);padding-bottom:34px}
.foot-top{display:grid;gap:clamp(26px,3.4vw,48px);
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr))}
@media (max-width:900px){.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.foot-top{grid-template-columns:minmax(0,1fr)}}
.foot .wm{color:var(--chalk)}
.foot .wm .bm{color:var(--brass-400)}
.foot .wm-t i{color:var(--brass-300)}
.foot-blurb{margin-top:16px;font-size:.925rem;color:var(--paper-3);max-width:40ch}
.foot h4{font-family:var(--mono);font-size:var(--fs-lab);font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;color:var(--brass-400)}
.foot ul{margin-top:14px;display:grid;gap:9px}
.foot li{list-style:none}
.foot li a{color:var(--paper-3);font-size:.925rem;text-decoration:none}
.foot li a:hover{color:var(--brass-300);text-decoration:underline}
.foot-btm{margin-top:clamp(32px,4vw,52px);padding-top:22px;
  border-top:1px solid rgba(222,184,100,.28);display:flex;flex-wrap:wrap;gap:14px;
  justify-content:space-between;align-items:baseline}
.foot-btm p{font-size:.855rem;color:var(--ink-5)}
.foot-btm .legal{max-width:70ch}
.foot-btm a{color:var(--brass-300)}

/* --------------------------------------------------- the level run, vertical */
.runv{display:grid;gap:clamp(22px,2.6vw,34px);position:relative;padding-left:44px}
.runv::before{content:"";position:absolute;left:11px;top:12px;bottom:14px;
  border-left:1px dashed var(--rule-3)}
.stepv{position:relative}
.stepv .pin{position:absolute;left:-44px;top:-2px;width:23px;height:23px;
  background:var(--paper);border-radius:50%;display:grid;place-items:center}
.stepv .pin .sta{width:15px;height:15px}
.stepv .st{display:block;font-family:var(--mono);font-size:.615rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-4);margin-bottom:8px}
.stepv h3{font-size:1.12rem}
.stepv p{margin-top:9px;color:var(--ink-2);max-width:74ch}
.paper-2 .stepv .pin{background:var(--paper-2)}
.chalkbg .stepv .pin{background:var(--chalk)}
.band .runv::before{border-left-color:rgba(222,184,100,.34)}
.band .stepv .pin{background:var(--umber)}
.band .stepv p{color:var(--paper-3)}
.band .stepv .st{color:var(--brass-400)}
@media (max-width:520px){.runv{padding-left:36px}.stepv .pin{left:-36px}}

/* ------------------------------------------------ the card statement stamp */
.stamp{display:inline-flex;align-items:center;gap:12px;
  border:1px dashed var(--brass-600);border-radius:3px;
  padding-top:12px;padding-bottom:12px;padding-left:16px;padding-right:16px;
  font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;
  color:var(--brass-700);background:var(--brass-100);margin-top:16px;line-height:1.45}

/* ----------------------------------------------------------------- reveals */
.rv{opacity:0;transform:translateY(14px)}
.js .rv{transition:opacity .62s var(--ease),transform .62s var(--ease)}
.rv.in,.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .btn:hover,.card:hover{transform:none}
}
