:root {
  --bg: #061b15;
  --surface: #09251d;
  --text: #f3f0e7;
  --muted: #a8b5ad;
  --faint: #7f9187;
  --gold: #e1b966;
  --gold2: #f0d89e;
  --line: rgba(225,185,102,.23);
  --max: 1120px;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--bg);
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter,Arial,sans-serif;
  line-height: 1.72;
}

a {
  color: var(--gold2);
  text-decoration: none;
  border-bottom: 1px solid rgba(240,216,158,.26);
}

a:hover {
  border-color: rgba(240,216,158,.7);
}

.top {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid var(--line);
  background: rgba(6,27,21,.96);
  backdrop-filter: blur(10px);
}

.topin {
  width: min(var(--max),calc(100% - 40px));
  height: 72px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.brand {
  font-family: Georgia,serif;
  font-size: 22px;
  color: var(--text);
  border: 0;
}

.back {
  font-size: 12px;
  color: var(--faint);
}

main {
  width: min(var(--max),calc(100% - 40px));
  margin: auto;
  padding: 72px 0 110px;
}

.eyebrow {
  margin: 0 0 13px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

h1 {
  margin: 0 0 24px;
  max-width: 880px;
  font: 400 clamp(38px,5vw,66px)/1.02 Georgia,serif;
  letter-spacing: -.03em;
}

h2 {
  margin: 0 0 18px;
  font: 400 clamp(28px,3.1vw,40px)/1.12 Georgia,serif;
  letter-spacing: -.02em;
}

h3 {
  margin: 28px 0 10px;
  font: 400 19px/1.25 Georgia,serif;
}

p,li {
  color: var(--muted);
  font-size: 14.5px;
}

p {
  max-width: 900px;
}

ul,ol {
  max-width: 900px;
  padding-left: 22px;
}

.intro {
  max-width: 780px;
  margin-bottom: 30px;
}

.note {
  margin: 30px 0 36px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  background: rgba(9,37,29,.42);
  color: var(--muted);
  font-size: 13px;
}

.note strong {
  color: var(--gold2);
  font-weight: 600;
}

.small {
  font-size: 12px;
  color: var(--faint);
}

.legal-nav {
  display: flex;
  gap: 9px 22px;
  flex-wrap: wrap;
  margin: 0 0 62px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.legal-nav a {
  border: 0;
  color: #c9d1cc;
  font-size: 13px;
}

.legal-nav a:hover {
  color: var(--gold2);
}

.legal-section {
  padding: 58px 0 70px;
  border-top: 1px solid var(--line);
}

.legal-section:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.section-no {
  display: block;
  margin-bottom: 12px;
  color: var(--gold);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.section-head {
  max-width: 900px;
  margin-bottom: 30px;
}

.section-head p {
  margin-bottom: 0;
}

.subsection {
  max-width: 930px;
}

.legal-section .note {
  max-width: 930px;
}

.anchor-back {
  display: inline-block;
  margin-top: 26px;
  color: var(--faint);
  font-size: 12px;
  border: 0;
}

.anchor-back:hover {
  color: var(--gold2);
}

.footer {
  border-top: 1px solid var(--line);
  padding: 28px 0;
  color: var(--faint);
  font-size: 11.5px;
}

.footerin {
  width: min(var(--max),calc(100% - 40px));
  margin: auto;
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.footer a {
  color: var(--faint);
  border: 0;
}

.footer a:hover {
  color: var(--gold2);
}

@media (max-width:700px) {
  main {
    padding-top: 48px;
  }

  .topin {
    height: 66px;
  }

  .legal-nav {
    display: grid;
    padding: 16px 0;
    margin-bottom: 42px;
  }

  .legal-section {
    padding: 44px 0 54px;
  }

  h2 {
    font-size: 30px;
  }
}
html {
  scrollbar-width: thin;
  scrollbar-color: rgba(184, 157, 83, .62) #041b15;
}
html::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
html::-webkit-scrollbar-track {
  background: #041b15;
}
html::-webkit-scrollbar-thumb {
  background: rgba(184, 157, 83, .55);
  border: 2px solid #041b15;
  border-radius: 999px;
}
html::-webkit-scrollbar-thumb:hover {
  background: rgba(211, 180, 92, .76);
}
html::-webkit-scrollbar-corner {
  background: #041b15;
}

/* Cursor-light tactility: the surface is the unit, never its child controls. */
@media (hover:hover) and (pointer:fine) {
  .tactile-surface {
    --touch-x: 50%;
    --touch-y: 50%;
    --touch-radius: 210px;
    --touch-size: 420px;
    position: relative;
    isolation: isolate;
  }

  .tactile-surface::after {
    content: "";
    position: absolute;
    z-index: 2;
    width: var(--touch-size);
    height: var(--touch-size);
    left: calc(var(--touch-x) - var(--touch-radius));
    top: calc(var(--touch-y) - var(--touch-radius));
    pointer-events: none;
    opacity: 0;
    background: radial-gradient(circle at 50% 50%,
      rgba(225,185,102,.070) 0%,
      rgba(225,185,102,.026) 34%,
      transparent 72%);
    transition: opacity .24s ease;
  }

  .tactile-surface:hover::after {
    opacity: 1;
  }

  .tactile-surface > * {
    position: relative;
    z-index: 1;
  }

  .note.tactile-surface {
    overflow: hidden;
  }

  .top.tactile-surface,
  .legal-nav.tactile-surface {
    --touch-radius: 160px;
    --touch-size: 320px;
    overflow: visible;
  }
}

@media (prefers-reduced-motion:reduce) {
  .tactile-surface::after {
    display: none;
  }
}


/* === PRODUCTION MOBILE PASS 2026-10-17 === */
@media (max-width:700px) {
  .topin {
    width: min(var(--max), calc(100% - 28px));
  }

  main,
  .footerin {
    width: min(var(--max), calc(100% - 28px));
  }

  .brand,
  .back {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
  }

  .legal-nav a,
  .anchor-back,
  .footer a {
    min-height: 36px;
    display: flex;
    align-items: center;
  }

  .legal-nav {
    gap: 2px;
  }

  p,
  li {
    font-size: 14px;
    line-height: 1.68;
  }
}

/* Mobile pass — final touch-target polish. */
@media (max-width:700px) {
  .legal-nav a,
  .anchor-back,
  .legal-footer a {
    min-height: 40px;
  }
}

/* === LANDSCAPE TEXT-SIZE STABILITY V7 === */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/* Legal copy stays selectable. Only navigation and headings are UI chrome. */
.legal-nav, .legal-header, .section-head h2, .section-no,
.legal-content h3, .legal-layout h3, .legal-layout h1 {
  -webkit-user-select:none;user-select:none;
}

/* Consistent two-line identity: white title, gold field descriptor. */
.top .brand {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;
  border:0;text-decoration:none;user-select:none;-webkit-user-select:none;}
.top .brand-name {font:400 24px/1 Georgia,"Times New Roman",serif;color:#f2efe6;}
.top .brand-sub {font:500 10.5px/1.25 Inter,Arial,sans-serif;letter-spacing:.075em;
  text-transform:uppercase;color:#d8b968;white-space:nowrap;}
.top .back,.legal-nav,.eyebrow,.section-no,.section-head h2,.legal-section h3,
.legal-section h1,.top a {user-select:none;-webkit-user-select:none;}
@media(max-width:660px){.top .brand-name{font-size:20px}.top .brand-sub{font-size:8px;letter-spacing:.025em}
 .topin{gap:8px}.top .back{font-size:11px;white-space:nowrap}}
/* At 320px the fixed two-line brand and the back link could not fit together.
   Only allow the secondary link to wrap on the narrowest displays. */
@media(max-width:360px){.top .back{max-width:76px;white-space:normal;text-align:right;line-height:1.25}}


/* V26 — restore normal text selection for all readable content.
   Disable selection only on actual UI chrome; never on body, paragraphs,
   legal terms, FAQ answers, research narratives or ordinary copy. */
body { cursor:default; }
body :is(button,[role="button"],[role="tab"],[role="switch"],summary,
  a,input[type="checkbox"],input[type="radio"],input[type="range"],select),
body :is(button,[role="button"],[role="tab"],[role="switch"],summary,
  a,input[type="checkbox"],input[type="radio"],input[type="range"],select) * {
  -webkit-user-select:none !important;
  user-select:none !important;
  -webkit-touch-callout:none;
}
/* Re-enable inline citations and links when embedded inside prose. */
body :is(p,li,blockquote,dd,td) a:not(.button):not([role="button"]) {
  -webkit-user-select:text !important;
  user-select:text !important;
  -webkit-touch-callout:default;
}
body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  textarea,[contenteditable="true"],[contenteditable="plaintext-only"]) {
  -webkit-user-select:text !important;
  user-select:text !important;
  -webkit-touch-callout:default;
  caret-color:auto !important;
  cursor:text;
}
body :is(input[type="checkbox"],input[type="radio"],input[type="range"],select) {
  -webkit-user-select:none !important;
  user-select:none !important;
  caret-color:transparent !important;
}
/* Non-editable prose is selectable but never pretends to be an input. */
body :is(h1,h2,h3,h4,h5,h6,p,span,small,strong,em,label,legend,blockquote,dt,dd,li) {
  caret-color:transparent !important;
  cursor:inherit;
}
body :is(a,button,[role="button"],label:has(input[type="checkbox"]),
  label:has(input[type="radio"]),label[for],input[type="checkbox"],input[type="radio"]) {cursor:pointer;}
body :is(a,button,[role="button"]) * {cursor:inherit;}
/* Click/touch focus should not show a frame; keyboard focus remains visible. */
body :is(button,a,input[type="checkbox"],input[type="radio"],select,[role="button"]):focus:not(:focus-visible) {
  outline:none !important;
}
@media (pointer:coarse) {body * {-webkit-tap-highlight-color:transparent;}}



/* V27: Copyable editorial content, non-selectable interface controls.
   Older global V24/V25 overrides were overly broad. Reset those rules, then
   reapply nonselection exclusively to active UI and imagery. */
body, body * {
  -webkit-user-select: auto !important;
  user-select: auto !important;
}
body :is(button, [role="button"], [role="tab"], [role="switch"],
  input[type="checkbox"], input[type="radio"], input[type="range"],
  select, summary),
body :is(button, [role="button"], [role="tab"], [role="switch"],
  input[type="checkbox"], input[type="radio"], input[type="range"],
  select, summary) *,
body :is(nav, .site-header, .topbar, .brand, .intake-progress,
  .presentation-tabs, .presentation-rail, .book-toolbar,
  .book-footer, .book-canvas, .line-context-strip,
  .segmented, .pedigree-picker .branch-option),
body :is(nav, .site-header, .topbar, .brand, .intake-progress,
  .presentation-tabs, .presentation-rail, .book-toolbar,
  .book-footer, .book-canvas, .line-context-strip,
  .segmented, .pedigree-picker .branch-option) *,
body a:is(.button, .price-cta, .header-cta, .presentation-page-link, .back-link),
body a:is(.button, .price-cta, .header-cta, .presentation-page-link, .back-link) *,
body :is(img, svg, canvas, video),
body :is(img, svg, canvas, video) * {
  -webkit-user-select: none !important;
  user-select: none !important;
}
/* Text inside paragraphs, headings, labels and historical descriptions stays copyable.
   Link text embedded in copy is selectable, unlike actual CTA buttons. */
body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  textarea, [contenteditable="true"], [contenteditable="plaintext-only"]) {
  -webkit-user-select: text !important;
  user-select: text !important;
  cursor: text;
}
body :is(button, [role="button"], [role="tab"], [role="switch"],
  input[type="checkbox"], input[type="radio"], input[type="range"], select) { cursor: pointer; }
/* High-specificity legacy rules suppressed first-screen headings despite V26. */
body .screen-heading :is(h1,h2,h3,.eyebrow),
body .form-section .section-heading :is(h2,h3),
body .form-section :is(.field__label, .field-label, legend),
body .legal-section :is(h1,h2,h3,h4) {
  -webkit-user-select: text !important;
  user-select: text !important;
}
