/* ============================================================================
   MarginMax Solutions — PREMIUM ENGRAVED, site layer
   Added 2026-09-16 when the whole site moved into the premium world (branch
   offer-copy-2026-09). Loads AFTER css/premium.css on every page.

   Everything a full site needs that a single landing page did not: a phone
   menu on the nav, a fuller footer, forms, the FAQ fold, the document
   template for the legal pages, the doors list, the board instrument, prose
   blocks, and the revenue calculator. Nothing here changes the five devices
   or the tokens in premium.css.
   ============================================================================ */

html { color-scheme: dark; }

/* --- Nav: the phone menu ----------------------------------------------------
   The landing page hid its links under 900px on purpose; a site cannot. The
   toggle opens a plate under the bar and closes on link, outside click, or
   Escape. The fold is at 1140px, the same as premium.css hides the links. */
.pg-nav__toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--pg-rule-strong);
  border-radius: 999px;
  background: transparent;
  color: var(--pg-ivory);
  cursor: pointer;
  flex: none;
}
.pg-nav__toggle svg { width: 18px; height: 18px; fill: currentColor; }
.pg-nav__toggle:hover { border-color: var(--pg-gold); }
.pg-nav__links a[aria-current="page"] { color: var(--pg-ivory); border-bottom-color: var(--pg-gold); }

@media (max-width: 1140px) {
  .pg-nav__toggle { display: inline-flex; }
  .pg-nav__links { display: none; }
  /* With the links folded away, the call pill sits with the toggle on the
     right instead of floating mid-row. */
  .pg-nav__call { margin-left: auto; }
  /* The row never overflows, whatever the pill says or the font measures:
     the brand link may shrink, and when the wordmark no longer fits beside
     the mark it wraps to a second line that is clipped, so the mark stays. */
  .pg-nav__brand {
    flex-wrap: wrap;
    align-content: flex-start;
    row-gap: 0;
    min-width: 0;
    height: 31px; /* one line: the mark's height */
    overflow: hidden;
  }
  .pg-nav__links.is-open {
    display: flex;
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    flex-direction: column;
    gap: 0;
    padding: 6px 0;
    background: var(--pg-plate);
    border: 1px solid var(--pg-rule);
    border-radius: var(--pg-radius);
    box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.95);
    z-index: 30;
  }
  .pg-nav__links.is-open li { border-bottom: 1px solid var(--pg-rule-faint); }
  .pg-nav__links.is-open li:last-child { border-bottom: 0; }
  .pg-nav__links.is-open a {
    display: block;
    padding: 13px 18px;
    font-size: 15px;
    border-bottom: 0;
  }
}

/* A phone gets brand, call pill and toggle in about 360px, and the toggle
   was running off the right edge of 390 to 420px phones. The wordmark steps
   down a size and the gaps tighten so all three fit from about 385px up;
   narrower than that, the clip above takes the wordmark and keeps the mark. */
@media (max-width: 560px) {
  .pg-nav { gap: 12px; }
  .pg-nav__brand { column-gap: 10px; }
  .pg-nav__name { font-size: 13px; letter-spacing: 0.2em; }
  .pg-nav__call { padding-inline: 12px; }
}

/* --- Page heroes --------------------------------------------------------------
   Inner pages open on kicker, headline, lede. The crest is the home page seal
   and the colophon mark, not a stamp on every page. */
.pg-hero--page { padding-top: clamp(34px, 5vw, 64px); }
.pg-hero--page h1 { max-width: 18ch; }

/* A row of actions under a lede: the pill or a button, and the quiet sibling. */
.pg-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 22px;
  margin-top: clamp(22px, 3vw, 32px);
}
.pg-actions--left { justify-content: flex-start; }
@media (max-width: 560px) {
  /* On a phone the buttons stack under left-aligned prose; centred reads as intended, ragged-left reads as a mistake. */
  .pg-actions--left { justify-content: center; }
}

/* A line of plain facts under the actions. */
.pg-facts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 22px;
  margin: 22px auto 0;
  list-style: none;
  font-size: 13.5px;
  color: var(--pg-ivory-mute);
}
.pg-facts li::before { content: '\2713'; color: var(--pg-gold); margin-right: 7px; font-weight: 700; }

/* Click-to-copy confirmation next to a number. */
.pg-copied {
  display: inline-block;
  margin-left: 8px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--pg-gold-light);
  opacity: 0;
  transition: opacity 0.2s var(--pg-ease);
}
.pg-copied.show { opacity: 1; }

/* The solid button. The pill is the hero object and never a general control,
   so forms and secondary conversions get this: the frame instrument's gold
   button at page scale. */
.pg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 28px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #EACC7E 0%, #C99F4E 100%);
  color: var(--pg-ground);
  font-family: 'Inter', 'Inter Fallback', 'Inter Fallback Roboto', system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 12px 30px -14px rgba(0, 0, 0, 0.9), 0 1px 0 rgba(249, 236, 192, 0.35) inset;
  transition: transform 0.3s var(--pg-ease), box-shadow 0.3s var(--pg-ease), filter 0.3s var(--pg-ease);
}
.pg-btn:hover, .pg-btn:focus-visible { transform: translateY(-1px); filter: brightness(1.05); }
.pg-btn:disabled { opacity: 0.6; cursor: default; transform: none; }
.pg-btn .pg-arrow { color: var(--pg-ground); }
/* Inside prose, FAQ and document blocks the link colour rule would outrank .pg-btn
   and paint the label gold on gold. The button owns its own colour. */
.pg-prose a.pg-btn, .pg-faq details a.pg-btn, .pg-doc a.pg-btn, .pg-consent a.pg-btn, .pg-form__foot a.pg-btn { color: var(--pg-ground); }

/* Section openers on inner pages: the serif heading, then a lede. */
.pg-section > .pg-wrap > .pg-lede { margin-top: 16px; }
.pg-section--ruled { border-top: 1px solid var(--pg-rule-faint); }

/* --- Doors --------------------------------------------------------------------
   The other offers, as ruled rows: what it is, what it costs, where to read
   more. Never cards. */
.pg-doors {
  list-style: none;
  margin-top: clamp(26px, 3.4vw, 40px);
  border-top: 1px solid var(--pg-rule);
}
.pg-doors li {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.5fr) auto;
  gap: clamp(18px, 3vw, 48px);
  align-items: start;
  padding: clamp(24px, 3vw, 34px) 0;
  border-bottom: 1px solid var(--pg-rule-faint);
}
.pg-doors__tag {
  display: block;
  margin-bottom: 8px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pg-gold);
}
.pg-doors h3 { margin: 0; }
.pg-doors p { color: var(--pg-ivory-soft); font-size: 15.5px; max-width: 52ch; }
.pg-doors .pg-ghost { align-self: center; white-space: nowrap; }
@media (max-width: 760px) {
  .pg-doors li { grid-template-columns: 1fr; gap: 12px; }
  .pg-doors .pg-ghost { justify-self: start; }
}

/* --- The board ------------------------------------------------------------------
   The calendar the morning after: what the agent put on it overnight. A third
   instrument, so the phone-agent page wears neither the register nor the
   ledger. */
.pg-board {
  border: 1px solid var(--pg-rule);
  border-radius: var(--pg-radius);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(44, 49, 34, 0.42) 0%, rgba(16, 18, 8, 0.42) 100%);
  box-shadow: 0 20px 44px -28px rgba(0, 0, 0, 0.9);
}
.pg-board__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 12px 14px;
  border-bottom: 1px solid var(--pg-rule);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pg-gold);
}
.pg-board__head span:last-child {
  font-family: 'Inter', 'Inter Fallback', 'Inter Fallback Roboto', sans-serif;
  font-size: 11.5px;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--pg-ivory-mute);
}
.pg-board__day { display: grid; grid-template-columns: 64px 1fr; border-bottom: 1px solid var(--pg-rule-faint); }
.pg-board__day:last-child { border-bottom: 0; }
.pg-board__date {
  padding: 12px;
  border-right: 1px solid var(--pg-rule-faint);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--pg-ivory-mute);
  line-height: 1.5;
}
.pg-board__date b { display: block; color: var(--pg-ivory); font-weight: 500; }
.pg-board__slots { padding: 8px 10px; display: grid; gap: 6px; }
.pg-board__slot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  padding: 7px 10px;
  border: 1px solid var(--pg-rule-faint);
  border-radius: 6px;
  font-size: 13px;
  color: var(--pg-ivory);
}
.pg-board__slot span { font-size: 11.5px; color: var(--pg-ivory-mute); white-space: nowrap; }
.pg-board__slot--agent { border-color: var(--pg-rule-strong); background: rgba(201, 159, 78, 0.07); }
.pg-board__slot--agent span { color: var(--pg-gold-light); }

/* --- Prose ----------------------------------------------------------------------
   Long reading (the founder story). Left aligned, measured, one pull rule. */
.pg-prose p {
  color: var(--pg-ivory-soft);
  font-size: clamp(16px, 1.35vw, 18px);
  margin-bottom: 16px;
  max-width: 66ch;
}
.pg-prose p strong { color: var(--pg-ivory); font-weight: 600; }
.pg-prose h2 { margin-bottom: 18px; font-size: clamp(28px, 3.6vw, 44px); }
.pg-prose a { color: var(--pg-gold-light); }
.pg-pull {
  font-family: 'Source Serif 4', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(23px, 3vw, 36px);
  line-height: 1.25;
  color: var(--pg-ivory);
  border-left: 1px solid var(--pg-gold);
  padding: 4px 0 4px 22px;
  margin: 30px 0;
  max-width: 30ch;
}
.pg-tagline-band {
  text-align: center;
  padding: clamp(36px, 5vw, 60px) 0;
  border-top: 1px solid var(--pg-rule);
  border-bottom: 1px solid var(--pg-rule);
  font-family: 'Source Serif 4', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(22px, 3.2vw, 40px);
  color: var(--pg-ivory);
}

/* --- FAQ fold --------------------------------------------------------------------- */
.pg-faq { margin-top: clamp(24px, 3vw, 36px); border-top: 1px solid var(--pg-rule); }
.pg-faq details { border-bottom: 1px solid var(--pg-rule-faint); }
.pg-faq summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 20px;
  padding: 20px 0;
  font-family: 'Source Serif 4', Georgia, serif;
  font-weight: 600;
  font-size: clamp(17px, 1.8vw, 21px);
  line-height: 1.3;
  color: var(--pg-ivory);
}
.pg-faq summary::-webkit-details-marker { display: none; }
.pg-faq summary::after {
  content: '+';
  flex: none;
  font-family: 'Source Serif 4', Georgia, serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1;
  color: var(--pg-gold);
}
.pg-faq details[open] summary::after { content: '\2212'; }
.pg-faq details p {
  color: var(--pg-ivory-soft);
  font-size: 15.5px;
  padding-bottom: 18px;
  max-width: 64ch;
}
.pg-faq details p + p { margin-top: -6px; }
.pg-faq details a { color: var(--pg-gold-light); }
.pg-q {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  color: var(--pg-gold);
  margin-right: 12px;
}

/* --- Forms ------------------------------------------------------------------------ */
.pg-form { position: relative; }
.pg-form__head { margin: 30px 0 14px; padding-top: 24px; border-top: 1px solid var(--pg-rule-faint); }
.pg-form__head:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.pg-form__step {
  display: block;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--pg-gold);
}
.pg-form__head h3 { margin-top: 6px; font-size: 20px; }
.pg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.pg-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
/* In a two-up row the field with a hint under its label used to push its input
   lower than its neighbour's. Pin the controls to the bottom so they share a line. */
.pg-row .pg-field { justify-content: flex-end; }
.pg-field label { font-size: 13.5px; font-weight: 500; color: var(--pg-ivory); }
.pg-hint { font-size: 12px; font-weight: 400; color: var(--pg-ivory-mute); }
.pg-field label .pg-hint { display: block; margin-top: 2px; }
.pg-req { color: var(--pg-gold-light); margin-left: 2px; }
.pg-field input,
.pg-field select,
.pg-field textarea,
.pg-reveal input {
  font-family: 'Inter', 'Inter Fallback', 'Inter Fallback Roboto', system-ui, sans-serif;
  font-size: 16px; /* never below 16px: iOS Safari zooms the page on focus otherwise */
  color: var(--pg-ivory);
  background: rgba(16, 18, 8, 0.55);
  border: 1px solid var(--pg-rule-strong);
  border-radius: 8px;
  padding: 12px 14px;
  width: 100%;
  transition: border-color 0.25s var(--pg-ease), box-shadow 0.25s var(--pg-ease);
}
.pg-field input::placeholder, .pg-field textarea::placeholder, .pg-reveal input::placeholder { color: var(--pg-ivory-mute); }
.pg-field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23C99F4E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 14px;
}
.pg-field select option { background: var(--pg-plate); color: var(--pg-ivory); }
.pg-field textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.pg-field input:focus, .pg-field select:focus, .pg-field textarea:focus, .pg-reveal input:focus {
  outline: none;
  border-color: var(--pg-gold);
  box-shadow: 0 0 0 3px rgba(201, 159, 78, 0.18);
}
.pg-field input.invalid, .pg-field select.invalid, .pg-field textarea.invalid {
  border-color: #C96A5A;
  box-shadow: 0 0 0 3px rgba(201, 106, 90, 0.18);
}
.pg-group { margin-bottom: 22px; }
.pg-group__label { display: block; font-size: 14px; font-weight: 600; color: var(--pg-ivory); margin-bottom: 10px; line-height: 1.4; }
.pg-group__label .pg-hint { display: inline; margin-left: 6px; }
.pg-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pg-choices--single { grid-template-columns: 1fr; }
.pg-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--pg-rule);
  border-radius: 8px;
  background: rgba(16, 18, 8, 0.35);
  font-size: 14px;
  line-height: 1.35;
  color: var(--pg-ivory-soft);
  cursor: pointer;
  transition: border-color 0.25s var(--pg-ease), background 0.25s var(--pg-ease);
}
.pg-choice:hover { border-color: var(--pg-rule-strong); }
.pg-choice input { width: 17px; height: 17px; margin: 0; flex: none; accent-color: var(--pg-gold); cursor: pointer; }
.pg-choice.is-checked,
.pg-choice:has(input:checked) { border-color: var(--pg-gold); background: rgba(201, 159, 78, 0.08); color: var(--pg-ivory); }
.pg-reveal { display: none; margin-top: 8px; }
.pg-reveal.show { display: block; }
.pg-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 16px 18px;
  margin: 8px 0 22px;
  border: 1px solid var(--pg-rule);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--pg-ivory-mute);
}
.pg-consent input { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--pg-gold); cursor: pointer; }
.pg-consent label { cursor: pointer; }
.pg-consent strong { color: var(--pg-ivory); }
.pg-consent a { color: var(--pg-gold-light); }
.pg-form__foot { margin-top: 14px; font-size: 13px; color: var(--pg-ivory-mute); }
.pg-form__foot a { color: var(--pg-gold-light); }
.pg-botcheck { position: absolute; left: -9999px; opacity: 0; }
.pg-status-msg { display: none; padding: 12px 16px; border-radius: 8px; font-size: 14px; margin-bottom: 16px; line-height: 1.5; }
.pg-status-msg--after { margin: 14px 0 0; }
.pg-status-msg a { color: inherit; font-weight: 600; text-decoration: underline; }
.pg-status-msg.error {
  display: block;
  border: 1px solid rgba(201, 106, 90, 0.5);
  background: rgba(155, 44, 44, 0.16);
  color: #E8B4A8;
}
.pg-success {
  display: none;
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--pg-gold);
  border-radius: var(--pg-radius);
  text-align: center;
  margin-bottom: 16px;
}
.pg-success.show { display: block; }
.pg-success__actions { margin-top: 18px; }
.pg-success .pg-success__note { font-size: 13.5px; color: var(--pg-ivory-mute); margin-top: 14px; }
.pg-step[hidden], #continue-row[hidden] { display: none; }
.pg-success h3 { margin-bottom: 8px; }
.pg-success p { color: var(--pg-ivory-soft); margin: 0 auto; }
@media (max-width: 560px) {
  .pg-row, .pg-choices { grid-template-columns: 1fr; }
}

/* --- Contact facts ----------------------------------------------------------------- */
.pg-contact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 22px 40px;
  margin-top: clamp(24px, 3vw, 36px);
  padding-top: 24px;
  border-top: 1px solid var(--pg-rule);
}
.pg-contact dt {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--pg-ivory-mute);
  margin-bottom: 6px;
}
.pg-contact dd { margin: 0; color: var(--pg-ivory-soft); font-size: 15px; }
.pg-contact dd a { color: var(--pg-ivory); font-family: 'Source Serif 4', Georgia, serif; font-size: 19px; text-decoration: none; }
.pg-contact dd a:hover { color: var(--pg-gold-light); }

/* --- Document template (privacy, terms, accessibility) ------------------------------- */
.pg-doc { width: min(100% - 40px, 760px); margin-inline: auto; padding: clamp(30px, 5vw, 60px) 0 clamp(40px, 6vw, 80px); }
.pg-doc h1 { font-size: clamp(34px, 4.6vw, 54px); margin-bottom: 10px; }
.pg-doc__effective {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pg-ivory-mute);
  margin-bottom: 30px;
}
.pg-doc h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 36px 0 12px; padding-top: 22px; border-top: 1px solid var(--pg-rule-faint); }
.pg-doc p { color: var(--pg-ivory-soft); margin-bottom: 14px; font-size: 15.5px; max-width: none; }
.pg-doc ul { padding-left: 20px; margin-bottom: 14px; color: var(--pg-ivory-soft); font-size: 15.5px; }
.pg-doc li { margin-bottom: 8px; }
.pg-doc li::marker { color: var(--pg-gold); }
.pg-doc a { color: var(--pg-gold-light); }
.pg-doc strong { color: var(--pg-ivory); }
.pg-doc code { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; color: var(--pg-gold-light); }
.pg-callout { border: 1px solid var(--pg-rule-strong); border-radius: 8px; padding: 16px 18px; margin: 20px 0; }
.pg-callout p { margin: 0; }
.pg-doc__foot { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--pg-rule-faint); font-size: 13px; color: var(--pg-ivory-mute); }

/* --- Revenue calculator ----------------------------------------------------------------
   The honest-math instrument, kept from the paper site and re-cut as a plate:
   inputs on one side, the recovered figure on the other. Interactive, not
   animated, so it does not spend the page's one motion moment. */
.pg-calc {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  margin-top: clamp(26px, 3.4vw, 40px);
  border: 1px solid var(--pg-rule);
  border-radius: var(--pg-radius);
  overflow: hidden;
  box-shadow: 0 30px 60px -42px rgba(0, 0, 0, 0.95);
}
.pg-calc__in { padding: clamp(24px, 3.4vw, 40px); background: rgba(44, 49, 34, 0.26); }
.pg-calc__field { margin-bottom: 28px; }
.pg-calc__field:last-child { margin-bottom: 0; }
.pg-calc__label { display: block; font-size: 13.5px; font-weight: 600; color: var(--pg-ivory); margin-bottom: 8px; }
.pg-calc__val {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 12px;
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: clamp(24px, 3vw, 32px);
  color: var(--pg-ivory);
  line-height: 1;
}
.pg-calc__val input {
  font: inherit;
  font-weight: 600;
  color: var(--pg-ivory);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--pg-rule-strong);
  padding: 0 2px 5px;
  line-height: 1;
  -moz-appearance: textfield;
}
.pg-calc__val input:focus { outline: none; border-bottom-color: var(--pg-gold); }
.pg-calc__unit { color: var(--pg-ivory-mute); font-size: 0.62em; }
#calc-job { width: 6.5ch; }
#calc-calls, #calc-close { width: 3ch; }
.pg-calc__range {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: var(--pg-rule-strong);
  cursor: pointer;
  margin: 4px 0;
}
.pg-calc__range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(180deg, #EACC7E 0%, #C99F4E 100%);
  border: 3px solid var(--pg-ground);
  box-shadow: 0 0 0 1px var(--pg-gold);
  cursor: grab;
}
.pg-calc__range::-webkit-slider-thumb:active { cursor: grabbing; }
.pg-calc__range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: linear-gradient(180deg, #EACC7E 0%, #C99F4E 100%);
  border: 3px solid var(--pg-ground);
  box-shadow: 0 0 0 1px var(--pg-gold);
  cursor: grab;
}
.pg-calc__range:focus-visible { outline: none; }
.pg-calc__range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(201, 159, 78, 0.35); }
.pg-calc__hint { font-size: 12.5px; color: var(--pg-ivory-mute); margin-top: 8px; max-width: 42ch; }
.pg-calc__out {
  padding: clamp(24px, 3.4vw, 40px);
  border-left: 1px solid var(--pg-rule);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pg-calc__cap {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pg-gold);
  margin-bottom: 12px;
}
.pg-calc__amount {
  font-family: 'Source Serif 4', Georgia, serif;
  font-weight: 600;
  font-size: clamp(44px, 6.6vw, 74px);
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--pg-gold-light);
  font-variant-numeric: tabular-nums;
}
.pg-calc__amount small { font-size: 0.32em; font-style: italic; font-weight: 500; color: var(--pg-ivory-soft); margin-left: 4px; letter-spacing: 0; }
.pg-calc__annual { margin-top: 14px; color: var(--pg-ivory-soft); font-size: 16px; }
.pg-calc__annual strong { color: var(--pg-ivory); }
.pg-calc__formula {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--pg-rule);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.02em;
  color: var(--pg-gold-light);
}
.pg-calc__caveat { margin-top: 12px; font-size: 12.5px; color: var(--pg-ivory-mute); max-width: 44ch; }
.pg-calc__out .pg-ghost { align-self: flex-start; margin-top: 22px; }
@media (max-width: 820px) {
  .pg-calc { grid-template-columns: 1fr; }
  .pg-calc__out { border-left: 0; border-top: 1px solid var(--pg-rule); }
}

/* --- Industries strip ----------------------------------------------------------------- */
.pg-trades {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  list-style: none;
  margin: clamp(22px, 3vw, 30px) 0;
}
.pg-trades li {
  font-family: 'Source Serif 4', Georgia, serif;
  font-weight: 500;
  font-size: clamp(15px, 1.5vw, 18px);
  color: var(--pg-ivory);
  padding: 9px 16px;
  border: 1px solid var(--pg-rule);
  border-radius: 999px;
}
.pg-trades li a { color: inherit; text-decoration: none; }
.pg-trades li:hover { border-color: var(--pg-gold); }

/* --- Founder page --------------------------------------------------------------------- */
.pg-about-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(26px, 4.4vw, 62px);
  align-items: center;
  text-align: left;
}
.pg-about-hero .pg-kicker { justify-content: flex-start; }
.pg-about-hero .pg-kicker::after { display: none; }
.pg-about-hero h1 { margin-left: 0; max-width: 16ch; }
.pg-about-hero .pg-lede { margin-left: 0; }
.pg-about-hero__photo {
  border-radius: var(--pg-radius);
  overflow: hidden;
  border: 1px solid var(--pg-rule-strong);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.95);
}
.pg-about-hero__photo img { width: 100%; height: auto; }
@media (max-width: 820px) {
  .pg-about-hero { grid-template-columns: 1fr; }
  .pg-about-hero__photo { max-width: 420px; }
}

/* --- Business record --------------------------------------------------------------------- */
.pg-record { border-top: 1px solid var(--pg-rule); padding-top: 22px; margin-top: clamp(30px, 4vw, 48px); }
.pg-record p { font-size: 14px; color: var(--pg-ivory-mute); max-width: 80ch; }
.pg-record strong { color: var(--pg-ivory-soft); font-weight: 600; }

/* --- A client review ---------------------------------------------------------------------
   One quote, one name. Set like a pull, ruled in gold, never a wall of cards. */
.pg-review { margin-top: clamp(24px, 3vw, 36px); }
.pg-review blockquote {
  font-family: 'Source Serif 4', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: clamp(21px, 2.6vw, 30px);
  line-height: 1.3;
  color: var(--pg-ivory);
  border-left: 1px solid var(--pg-gold);
  padding: 6px 0 6px 24px;
  max-width: 34ch;
}
.pg-review figcaption {
  margin-top: 16px;
  padding-left: 25px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--pg-ivory);
}
.pg-review figcaption span {
  display: block;
  margin-top: 2px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--pg-gold);
}

/* --- Footer, fuller ------------------------------------------------------------------------ */
.pg-footer { align-items: flex-start; gap: 28px 48px; }
.pg-footer__nap { line-height: 1.75; }
/* The phone number sits inside a line of text, so it needs more than color to read as a link
   (WCAG 1.4.1; 1.87:1 against the line around it). Same underline as .pg-close__alt a. */
.pg-footer__nap a { font-variant-numeric: tabular-nums; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--pg-rule-strong); }
.pg-footer__cols { display: flex; flex-wrap: wrap; gap: 8px 40px; }
.pg-footer__col { display: grid; gap: 4px; min-width: 120px; align-content: start; }
.pg-footer__col b {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pg-gold);
  margin-bottom: 6px;
}
.pg-footer__social { display: flex; gap: 10px; margin-top: 4px; }
.pg-footer__social a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--pg-rule);
  border-radius: 50%;
  color: var(--pg-ivory-soft);
  transition: border-color 0.25s var(--pg-ease), color 0.25s var(--pg-ease);
}
.pg-footer__social a:hover { border-color: var(--pg-gold); color: var(--pg-gold-light); }
.pg-footer__social svg { width: 17px; height: 17px; fill: currentColor; }

/* --- 404 ------------------------------------------------------------------------------------- */
.pg-lost { list-style: none; margin: clamp(26px, 3vw, 36px) auto 0; max-width: 520px; text-align: left; border-top: 1px solid var(--pg-rule); }
.pg-lost li { border-bottom: 1px solid var(--pg-rule-faint); }
.pg-lost a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 16px 4px;
  color: var(--pg-ivory);
  text-decoration: none;
  font-family: 'Source Serif 4', Georgia, serif;
  font-size: 19px;
}
.pg-lost a span { font-family: 'Inter', 'Inter Fallback', 'Inter Fallback Roboto', sans-serif; font-size: 13px; color: var(--pg-ivory-mute); }
.pg-lost a:hover { color: var(--pg-gold-light); }
