@layer zs-site-base {
  :root {
    --paper: #ded6bf;
    --paper-dark: #342d21;
    --white-line: rgba(255,255,255,.07);
    --max: 1160px;
  }

  * {
    box-sizing: border-box;
  }

  html {
    scroll-behavior: smooth;
  }

  body {
    margin: 0;
    color: var(--text);
    font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }

  body.modal-open {
    overflow: hidden;
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  button,
  input,
  textarea {
    font: inherit;
    color: inherit;
  }

  button {
    cursor: pointer;
  }

  .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;
  }

  .shell {
    width: min(calc(100% - 44px),var(--max));
    margin-inline: auto;
  }

  .section {
    position: relative;
    padding: 114px 0;
    isolation: isolate;
    overflow: hidden;
  }

  .section>.shell {
    position: relative;
    z-index: 1;
  }

  .eyebrow {
    margin: 0 0 14px;
    color: var(--accent);
    text-transform: uppercase;
    font-weight: 750;
  }

  h1,
  h2,
  h3 {
    margin: 0;
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 500;
    letter-spacing: -.025em;
  }

  h1 {
    font-size: clamp(50px,6.5vw,86px);
    line-height: .98;
    max-width: 11.7ch;
  }

  h2 {
    font-size: clamp(37px,4.6vw,60px);
    line-height: 1.02;
  }

  h3 {
    font-size: clamp(23px,2.25vw,33px);
    line-height: 1.1;
  }

  p {
    color: var(--muted);
  }

  .lead {
    max-width: 560px;
    font-size: 17px;
  }

  .actions {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
  }

  .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid var(--accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
  }

  .site-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 50;
    transition: .25s ease;
  }

  .header-inner {
    min-height: 76px;
    display: grid;
    grid-template-columns: 210px 1fr auto;
    align-items: center;
    gap: 26px;
    padding: 0 22px;
    border: 1px solid rgba(204,172,94,.34);
    backdrop-filter: blur(18px);
  }

  .brand {
    display: flex;
    flex-direction: column;
    line-height: 1;
  }

  .brand-name {
    font-family: Georgia,serif;
    font-size: 20px;
  }

  .brand-sub {
    margin-top: 7px;
    text-transform: uppercase;
  }

  .main-nav {
    display: flex;
    justify-content: center;
  }

  .main-nav a {
    transition: .15s ease;
  }

  .menu-toggle {
    display: none;
  }

  .hero {
    position: relative;
    padding-top: 146px;
    display: flex;
    align-items: center;
  }

  .hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(320px,.88fr);
    gap: 70px;
    align-items: stretch;
  }

  .hero-copy {
    padding: 66px 0 76px;
  }

  .hero-quiet {
    position: relative;
  }

  .hero:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
  }

  .hero:after {
    content: "";
    position: absolute;
    pointer-events: none;
  }

  .hero-quiet:before {
    content: "";
    position: absolute;
  }

  .flagship {
    background: linear-gradient(180deg,#041711 0%,#051a14 100%);
  }

  .price-card {
    display: flex;
    flex-direction: column;
  }

  .price-card+.price-card {
    border-left: 1px solid rgba(225,185,102,.34);
  }

  .card-kicker {
    text-transform: uppercase;
  }

  .result-stage {
    display: grid;
    grid-template-columns: minmax(0,7fr) minmax(300px,5fr);
    min-height: 510px;
    border-top: 1px solid rgba(225,185,102,.30);
    border-bottom: 1px solid rgba(225,185,102,.30);
    box-shadow: none;
  }

  .result-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 62px 54px;
  }

  .result-inspect {
    all: unset;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    cursor: zoom-in;
    color: var(--text);
  }

  .result-inspect:focus-visible {
    outline: 1px solid var(--accent);
    outline-offset: 8px;
  }

  .page {
    border: 1px solid rgba(80,70,50,.2);
    background: #d8d0ba;
    box-shadow: 0 24px 64px rgba(0,0,0,.32);
  }

  .inspect-meta {
    width: min(100%,540px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 14px;
    border-top: 1px solid rgba(225,185,102,.25);
    color: var(--muted);
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .inspect-meta b {
    color: var(--accent-soft);
    font-weight: 650;
  }

  .result-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .result-copy h3 {
    font-size: clamp(32px,3.2vw,42px);
  }

  .result-copy p:not(.eyebrow) {
    max-width: 43ch;
    margin: 18px 0 0;
  }

  .process {
    background: linear-gradient(180deg,#082119,#071f18);
  }

  .process-top {
    display: grid;
    grid-template-columns: minmax(300px,4fr) minmax(0,8fr);
    gap: 110px;
    align-items: start;
  }

  .process-intro {
    position: sticky;
    top: 120px;
    padding-top: 4px;
  }

  .process-steps {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--line);
  }

  .process-steps:before {
    content: none;
  }

  .process-steps li {
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 24px;
  }

  .step-no {
    padding-top: 7px;
    color: var(--accent);
    font-size: 11px;
    letter-spacing: .14em;
  }

  .process-steps h3 {
    font-size: 29px;
  }

  .process-steps p {
    margin: 8px 0 0;
  }

  .process-emphasis {
    color: var(--text);
    font-weight: 500;
  }

  .other-services {
    background: linear-gradient(180deg,#051a14,#061c16);
  }

  .other-heading {
    max-width: 780px;
    margin-bottom: 58px;
  }

  .other-heading p:last-child {
    max-width: 50ch;
  }

  .interactive-feature {
    display: grid;
    grid-template-columns: minmax(440px,5.35fr) minmax(0,6.65fr);
    min-height: 495px;
    border-top: 1px solid rgba(225,185,102,.30);
    border-bottom: 1px solid rgba(225,185,102,.30);
    box-shadow: none;
  }

  .interactive-meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    border-right: 0;
    padding-right: 44px;
  }

  .interactive-meta h3 {
    font-size: clamp(34px,3.45vw,49px);
    line-height: 1.02;
    max-width: 15ch;
  }

  .interactive-meta p:not(.eyebrow) {
    max-width: 520px;
  }

  .interactive-meta .button {
    margin-top: 22px;
    align-self: flex-start;
  }

  .interactive-visual {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .task-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--line);
  }

  .task-list article {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 18px;
  }

  .task-list span {
    color: var(--accent);
    font-size: 10px;
    letter-spacing: .14em;
  }

  .reviews {
    background: linear-gradient(180deg,#08231b,#071f18);
  }

  .reviews-head p:last-child {
    max-width: 50ch;
    margin: 18px 0 0;
  }

  .review-grid {
    display: grid;
    grid-template-columns: minmax(0,7fr) minmax(320px,5fr);
    grid-template-rows: 1fr 1fr;
    padding: 0;
  }

  .review-grid blockquote {
    margin: 0;
    padding: 38px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .review-grid blockquote:first-child {
    grid-row: 1 / 3;
    min-height: 475px;
    box-shadow: none;
  }

  .review-grid blockquote:not(:first-child) {
    min-height: 225px;
  }

  .review-grid blockquote p {
    margin: 0;
    color: var(--text);
    font-family: Georgia,serif;
    font-size: clamp(24px,2.6vw,36px);
    max-width: 17ch;
  }

  .review-grid blockquote:not(:first-child) p {
    font-size: 25px;
    max-width: 22ch;
  }

  .review-grid footer {
    color: var(--faint);
  }

  .faq {
    background: linear-gradient(180deg,#041711,#03130f);
  }

  .faq-layout {
    grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr);
    gap: 90px;
    align-items: start;
  }

  .accordion {
    position: relative;
    border-top: 1px solid var(--line);
    padding: 0;
    counter-reset: faq;
  }

  .accordion:before {
    content: none;
  }

  .accordion-item {
    border-bottom: 1px solid var(--line);
    counter-increment: faq;
  }

  .accordion-item button {
    width: 100%;
    background: transparent;
    border: 0;
    display: grid;
    align-items: center;
    text-align: left;
    color: var(--text);
  }

  .accordion-item button:before {
    content: counter(faq,decimal-leading-zero);
    color: var(--accent);
    font-variant-numeric: tabular-nums;
  }

  .accordion-item button b {
    font-weight: 400;
    transition: .2s;
    text-align: right;
  }

  .accordion-item button[aria-expanded="true"] b {
    transform: rotate(45deg);
  }

  .accordion-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .28s ease;
  }

  .accordion-content {
    overflow: hidden;
    min-height: 0;
    color: var(--muted);
  }

  .accordion-item.open .accordion-panel {
    grid-template-rows: 1fr;
  }

  .accordion-content p {
    margin: 0;
    max-width: 68ch;
  }

  .accordion-content p+p {
    margin-top: 15px;
  }

  .final-cta {
    background: linear-gradient(180deg,#08231b,#071f18);
    padding: 126px 0;
  }

  .cta-grid {
    display: grid;
    grid-template-columns: minmax(0,5fr) minmax(0,7fr);
    gap: 90px;
    align-items: start;
  }

  .cta-copy {
    padding-top: 30px;
  }

  .cta-copy h2 {
    max-width: 9ch;
  }

  .lead-form {
    position: relative;
    width: 92%;
    margin-left: auto;
    display: grid;
    gap: 20px;
    box-shadow: none;
  }

  .lead-form:before {
    content: none;
  }

  .lead-form label {
    display: grid;
    gap: 8px;
  }

  .lead-form label span {
    color: var(--faint);
    text-transform: uppercase;
  }

  input,
  textarea {
    width: 100%;
    background: rgba(255,255,255,.015);
    border: 1px solid var(--line);
    color: var(--text);
    padding: 14px 15px;
    outline: 0;
    resize: vertical;
  }

  input:focus,
  textarea:focus {
    border-color: var(--accent);
  }

  .lead-form .button {
    justify-self: start;
  }

  .site-footer {
    border-top: 1px solid var(--line);
  }

  .footer-grid {
    display: grid;
  }

  .footer-grid>div:first-child {
    display: flex;
    flex-direction: column;
  }

  .footer-grid strong {
    font-family: Georgia,serif;
    font-weight: 500;
  }

  .footer-grid span,
  .footer-grid a {
    color: var(--faint);
  }

  .footer-grid nav,
  .footer-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    align-content: start;
  }

  .presentation-tabs {
    border-right: 1px solid var(--line);
    padding-right: 18px;
  }

  .document-link {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 15px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    color: var(--accent-soft);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .document-link:before {
    content: "PDF";
    display: grid;
    place-items: center;
    width: 34px;
    height: 26px;
    border: 1px solid var(--line-strong);
    font-size: 9px;
    color: var(--accent);
  }

  .process,
  .reviews {
    background: linear-gradient(180deg,#071f18 0%,#071d17 100%);
  }

  .flagship,
  .other-services,
  .faq {
    background: linear-gradient(180deg,#061b15 0%,#061a14 100%);
  }

  .price-card {
    min-height: 392px;
    padding: 38px 40px;
    border: 0;
  }

  .result-stage {
    border: 1px solid var(--module-line-strong);
  }

  .result-copy {
    padding: 68px 56px;
  }

  .process-steps {
    border: 1px solid var(--module-line);
    background: var(--cell-a);
  }

  .process-steps li {
    padding: 34px 30px;
    border-bottom: 1px solid var(--module-line);
  }

  .process-steps li:last-child {
    border-bottom: 0;
  }

  .interactive-feature {
    border: 1px solid var(--module-line-strong);
    background: var(--cell-a);
  }

  .interactive-meta {
    padding: 60px 56px;
  }

  .interactive-visual {
    border-left: 1px solid var(--module-line);
  }

  .task-list {
    max-width: 1120px;
    margin: 34px 0 0;
    border: 1px solid var(--module-line-strong);
    border-bottom: 0;
    background: var(--cell-a);
  }

  .task-list article {
    padding: 24px 28px;
    border-bottom: 1px solid var(--module-line);
    background: var(--cell-a);
  }

  .task-list article:nth-child(odd) {
    border-right: 1px solid var(--module-line);
  }

  .task-list article:nth-child(4n/**/+2),
  .task-list article:nth-child(4n/**/+3) {
    background: var(--cell-b);
  }

  .task-list article:nth-child(4n/**/+1),
  .task-list article:nth-child(4n/**/+4) {
    background: var(--cell-a);
  }

  .review-grid {
    gap: 0;
    border: 1px solid var(--module-line-strong);
    background: var(--cell-a);
  }

  .review-grid blockquote {
    border: 0;
    border-right: 1px solid var(--module-line);
    border-bottom: 1px solid var(--module-line);
    background: var(--cell-a);
  }

  .review-grid blockquote:first-child {
    border-bottom: 0;
  }

  .review-grid blockquote:nth-child(3) {
    border-bottom: 0;
  }

  .accordion {
    border: 1px solid var(--module-line-strong);
    border-bottom: 0;
    background: var(--cell-a);
  }

  .accordion-item {
    padding: 0 28px;
    background: var(--cell-a);
  }

  .accordion-item:nth-child(even) {
    background: var(--cell-b);
  }

  .lead-form {
    background: var(--cell-a);
    border: 1px solid var(--module-line-strong);
    padding: 34px;
  }

  @media (max-width:980px) {
    .header-inner {
      grid-template-columns: 1fr auto;
    }

    .main-nav,
    .header-cta {
      display: none;
    }

    .menu-toggle {
      display: flex;
      flex-direction: column;
      gap: 5px;
      width: 38px;
      padding: 8px;
      border: 0;
      background: transparent;
    }

    .menu-toggle span:not(.sr-only) {
      height: 1px;
      background: var(--text);
      width: 100%;
    }

    .main-nav.open {
      position: absolute;
      display: flex;
      flex-direction: column;
      left: 22px;
      right: 22px;
      top: 88px;
      padding: 24px;
      background: rgba(3,18,14,.98);
      border: 1px solid var(--line-strong);
    }

    .hero-grid,
    .process-top,
    .result-stage,
    .interactive-feature,
    .faq-layout,
    .cta-grid {
      grid-template-columns: 1fr;
    }

    .hero-quiet {
      min-height: 240px;
    }

    .hero-quiet:before {
      left: 50%;
    }

    .process-intro h2,
    .faq-intro h2,
    .cta-copy h2 {
      max-width: none;
    }

    .price-card+.price-card {
      border-left: 1px solid rgba(225,185,102,.34);
      border-top: 1px solid rgba(225,185,102,.34);
    }

    .process-intro {
      position: static;
    }

    .result-preview {
      border-right: 0;
      border-bottom: 1px solid var(--line-strong);
    }

    .result-copy {
      border-left: 0;
      padding-left: 0;
    }

    .interactive-visual {
      border-left: 0;
    }

    .interactive-meta {
      border-right: 0;
      border-bottom: 1px solid var(--line-strong);
      padding-right: 0;
    }

    .review-grid {
      grid-template-columns: 1fr;
      grid-template-rows: auto;
    }

    .review-grid blockquote:first-child {
      grid-row: auto;
      min-height: 340px;
    }

    .review-grid blockquote:not(:first-child) {
      min-height: 220px;
    }

    .footer-grid {
      grid-template-columns: 1fr;
    }

    .presentation-tabs {
      border-right: 0;
      border-bottom: 1px solid var(--line);
      padding: 0;
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
  }

  @media (max-width:640px) {
    .shell {
      width: min(calc(100% - 28px),var(--max));
    }

    .section {
      padding: 76px 0;
    }

    .hero {
      padding-top: 112px;
      min-height: auto;
    }

    h1 {
      font-size: 45px;
    }

    h2 {
      font-size: 37px;
    }

    .hero-copy {
      padding: 40px 0;
    }

    .hero-quiet {
      display: none;
    }

    .price-card {
      padding: 30px;
      min-height: auto;
    }

    .process-top {
      gap: 44px;
    }

    .process-steps li {
      grid-template-columns: 50px 1fr;
      gap: 16px;
    }

    .result-stage {
      margin-top: 0;
    }

    .result-preview,
    .result-copy,
    .interactive-meta,
    .interactive-visual {
      padding: 28px;
    }

    .task-list {
      grid-template-columns: 1fr;
    }

    .task-list article:nth-child(odd) {
      border-right: 0;
    }

    .task-list article:nth-child(4n/**/+2),
    .task-list article:nth-child(4n/**/+3) {
      background: transparent;
    }

    .task-list article:nth-child(even) {
      background: rgba(255,255,255,.018);
    }

    .review-grid blockquote p {
      font-size: 27px;
    }

    .faq-layout {
      gap: 40px;
    }

    .lead-form {
      width: 100%;
      padding: 26px;
    }

    .presentation-tabs {
      grid-template-columns: 1fr;
    }
  }

  :root {
    --bg: #061b15;
    --bg-deep: #041711;
    --bg-soft: #071f18;
    --bg-mid: #082119;
    --panel: #08221a;
    --panel-2: #09241c;
    --text: #f2efe6;
    --muted: #adb9b0;
    --faint: #7e9086;
    --accent: #b49743;
    --accent-soft: #cfb96f;
    --accent-button: #c6a451;
    --line: rgba(180,151,67,.20);
    --line-strong: rgba(180,151,67,.36);
    --module-line: rgba(180,151,67,.20);
    --module-line-strong: rgba(180,151,67,.29);
    --cell-a: #08221a;
    --cell-b: #09241c;
    --cell-c: #0a261d;
  }

  body {
    background: #061b15;
  }

  .site-footer {
    background: #051912;
    border-top-color: rgba(180,151,67,.18);
  }

  .hero:before {
    border-left: 0;
  }

  .hero:after {
    top: 10%;
    right: 2.5%;
    bottom: 7%;
  }

  .hero-quiet:before {
    inset: 15% 1% 10% 14%;
    background: linear-gradient(135deg,rgba(10,37,29,.20),rgba(2,15,11,.11));
    border-left: 1px solid rgba(255,255,255,.010);
    border-bottom: 1px solid rgba(180,151,67,.015);
    opacity: .74;
  }

  .button {
    border-color: rgba(180,151,67,.46);
    background: linear-gradient(180deg,rgba(180,151,67,.17),rgba(180,151,67,.11));
    color: #e7d295;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.018);
  }

  .button:hover {
    background: linear-gradient(180deg,rgba(180,151,67,.22),rgba(180,151,67,.14));
    transform: translateY(-1px);
  }

  .eyebrow,
  .step-no,
  .card-kicker,
  .task-list span {
    color: var(--accent);
  }

  .header-inner {
    box-shadow: 0 14px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.02);
  }

  .brand-sub,
  .main-nav a {
    color: #aeb8b0;
  }

  .header-cta {
    border-color: rgba(180,151,67,.38);
    box-shadow: none;
  }

  .site-header.scrolled .header-inner {
    background: rgba(4,18,13,.96);
    box-shadow: 0 16px 44px rgba(0,0,0,.28),0 0 0 1px rgba(180,151,67,.02);
  }

  .result-stage,
  .process-steps,
  .interactive-feature,
  .task-list,
  .review-grid,
  .accordion,
  .lead-form {
    background: var(--cell-a);
  }

  .task-list article,
  .review-grid blockquote,
  .accordion-item,
  .lead-form {
    background: var(--cell-a);
  }

  .price-card {
    background: var(--cell-a);
  }

  .price-card:nth-child(2) {
    background: var(--cell-c);
  }

  .result-copy h3 {
    max-width: 10ch;
  }

  .process-steps li:nth-child(even) {
    background: var(--cell-b);
  }

  .interactive-meta {
    background: var(--cell-a);
  }

  .interactive-visual {
    background: var(--cell-b);
  }

  .task-list article:nth-child(4n/**/+2),
  .task-list article:nth-child(4n/**/+3),
  .accordion-item:nth-child(even) {
    background: var(--cell-b);
  }

  .review-grid blockquote:first-child {
    background: var(--cell-b);
  }

  .review-grid blockquote:nth-child(2) {
    background: var(--cell-a);
  }

  .review-grid blockquote:nth-child(3) {
    background: var(--cell-c);
  }

  .result-preview,
  .interactive-visual {
    background-image: none;
  }

  .flagship-result,
  .process-steps,
  .result-stage,
  .interactive-feature,
  .task-list,
  .review-grid,
  .accordion,
  .lead-form {
    border-color: var(--module-line-strong);
  }

  .price-card,
  .interactive-visual,
  .result-preview,
  .result-copy,
  .task-list article,
  .review-grid blockquote,
  .accordion-item {
    border-color: var(--module-line);
  }

  .header-cta {
    line-height: 1;
  }

  .header-cta span {
    transform: translateX(0);
  }

  .interactive-meta .button {
    display: none;
  }

  .project-link {
    line-height: 1;
  }

  .result-inspect {
    border-radius: 0;
  }

  .actions {
    gap: 18px;
    align-items: center;
  }

  .action-primary {
    background: linear-gradient(180deg,rgba(145,119,58,.34),rgba(120,97,47,.28));
    border-color: rgba(190,160,85,.46);
    color: #decf9b;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
  }

  .action-primary:hover {
    background: linear-gradient(180deg,rgba(155,128,64,.42),rgba(128,103,51,.34));
    border-color: rgba(201,170,92,.58);
  }

  .action-secondary {
    min-height: 48px;
    padding: 0 21px;
    background: transparent;
    box-shadow: none;
  }

  .action-secondary:hover {
    background: rgba(180,151,67,.045);
    border-color: rgba(180,151,67,.58);
  }

  .header-cta {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-weight: 750;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .header-cta span {
    transition: .18s ease;
  }

  .header-cta:hover {
    border-bottom-color: rgba(180,151,67,.68);
  }

  .header-cta:hover span {
    transform: translateX(3px);
  }

  .project-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 29px;
    padding: 8px 0 7px;
    border-bottom: 1px solid rgba(180,151,67,.34);
    color: #d2bf82;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
    transition: .18s ease;
  }

  .project-link span {
    color: #9e8746;
    transition: .18s ease;
  }

  .project-link:hover {
    color: #e4d4a3;
    border-bottom-color: rgba(180,151,67,.66);
  }

  .project-link:hover span {
    transform: translate(2px,-2px);
  }

  .result-inspect:hover .inspect-meta {
    color: #c5b684;
  }

  .inspect-meta b {
    position: relative;
    padding-right: 17px;
  }

  .inspect-meta b:after {
    content: "↗";
    position: absolute;
    right: 0;
    top: 0;
    color: #9f8745;
  }

  .accordion-item button:hover b {
    color: #c5aa60;
  }

  .form-submit {
    background: linear-gradient(180deg,rgba(145,119,58,.34),rgba(120,97,47,.28));
    border-color: rgba(190,160,85,.44);
    color: #decf9b;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
  }

  .form-submit:hover {
    background: linear-gradient(180deg,rgba(155,128,64,.42),rgba(128,103,51,.34));
    border-color: rgba(201,170,92,.56);
  }

  .header-inner {
    background: rgba(4,20,15,.93);
    border-color: rgba(180,151,67,.19);
  }

  @media (max-width:980px) {
    .header-cta {
      display: none;
    }
  }

  .site-header {
    background: rgba(4,20,15,.965);
    border-bottom: 1px solid rgba(180,151,67,.18);
    backdrop-filter: blur(14px);
    box-shadow: none;
  }

  .site-header.scrolled {
    background: rgba(3,17,13,.985);
    border-bottom-color: rgba(180,151,67,.22);
  }

  .header-inner,
  .site-header.scrolled .header-inner {
    min-height: 72px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  .brand-name {
    color: #c9b16b;
  }

  .brand-sub {
    color: #7f9087;
  }

  .main-nav {
    gap: 28px;
  }

  .main-nav a {
    color: #aeb8b1;
    font-weight: 650;
    letter-spacing: .045em;
  }

  .main-nav a:hover {
    color: #d8d0b9;
  }

  .header-cta {
    border: 1px solid rgba(180,151,67,.42);
    border-bottom: 1px solid rgba(180,151,67,.42);
    background: transparent;
    color: #c9b36f;
  }

  .header-cta span {
    color: #9f8848;
  }

  .header-cta:hover {
    color: #dfcf99;
    border-color: rgba(180,151,67,.62);
    background: rgba(180,151,67,.025);
  }

  .price-card,
  .price-card:nth-child(2) {
    min-height: 430px;
    padding: 40px 40px;
    background: #0a281f;
    border: 1px solid rgba(180,151,67,.25);
  }

  .price-card:nth-child(2) {
    border-left: 1px solid rgba(180,151,67,.25);
  }

  .card-kicker {
    display: inline-flex;
    align-items: center;
    width: max-content;
    margin: 0 0 28px;
    padding: 7px 11px 6px;
    border: 1px solid rgba(180,151,67,.28);
    background: rgba(180,151,67,.035);
    color: #bca55f;
    line-height: 1;
  }

  .price-card h3 {
    font-size: clamp(27px,2.5vw,34px);
  }

  .price-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    margin-top: auto;
    background: #b08f3d;
    border: 1px solid #b08f3d;
    color: #071a14;
    font-weight: 800;
    text-transform: uppercase;
    transition: .18s ease;
  }

  .price-cta span {
    transition: .18s ease;
  }

  .price-cta:hover {
    background: #b99a4b;
    border-color: #b99a4b;
  }

  .price-cta:hover span {
    transform: translateX(3px);
  }

  .result-stage {
    background: transparent;
  }

  .result-preview {
    background: #09241c;
    border-right: 1px solid rgba(180,151,67,.24);
  }

  .result-copy {
    background: #071f18;
    border-left: 0;
  }

  @media (max-width:980px) {
    .header-inner {
      padding: 0 2px;
    }

    .price-card:nth-child(2) {
      border-left: 1px solid rgba(180,151,67,.25);
      border-top: 0;
    }
  }

  @media (max-width:720px) {
    .price-card:nth-child(2) {
      border-left: 1px solid rgba(180,151,67,.25);
      border-top: 0;
    }
  }

  .action-primary {
    min-height: 48px;
    padding: 0 24px;
  }

  .price-cta {
    min-height: 48px;
    font-size: 10px;
    letter-spacing: .08em;
  }

  .form-submit {
    min-height: 47px;
  }

  :root {
    --cta-fill: #d2ad52;
    --cta-fill-hover: #dabb63;
    --cta-border: #dfc06c;
    --cta-text: #5a4723;
  }

  .flagship-intro {
    max-width: 980px;
    margin: 0 0 58px;
  }

  .flagship-intro>h2 {
    max-width: 12ch;
  }

  .flagship-narrative p {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.82;
  }

  .flagship-narrative p+p {
    margin-top: 18px;
  }

  .flagship-narrative strong {
    color: #e3dfd3;
    font-weight: 550;
  }

  .flagship-pricing {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1120px;
    margin: 0 0 0 auto;
    border: 1px solid rgba(180,151,67,.27);
    background: #08221a;
  }

  .flagship-option {
    min-height: 330px;
    padding: 40px 42px;
    display: flex;
    flex-direction: column;
    background: #08221a;
  }

  .flagship-option+.flagship-option {
    border-left: 1px solid rgba(180,151,67,.27);
  }

  .flagship-option-top h3 {
    margin: 16px 0 18px;
    font-size: clamp(34px,3.5vw,48px);
    font-weight: 500;
  }

  .flagship-option-top>p:last-child {
    max-width: 42ch;
    color: var(--muted);
    font-size: 14px;
  }

  .flagship-term {
    margin: auto 0 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.07);
    color: #c7c1ad;
  }

  .flagship-result {
    margin-top: 92px;
    padding-top: 72px;
    border-top: 1px solid var(--line);
  }

  .result-heading {
    max-width: 900px;
    margin-bottom: 38px;
  }

  .result-heading h3 {
    font-size: clamp(38px,4.4vw,58px);
    max-width: 14ch;
  }

  .result-heading p:last-child {
    max-width: 68ch;
    margin: 18px 0 0;
    color: var(--muted);
  }

  .result-heading strong {
    color: #ded8c5;
    font-weight: 550;
  }

  .result-copy .result-book-link {
    margin-top: 34px;
    align-self: flex-start;
  }

  .result-copy .document-link {
    color: #d3bd77;
  }

  @media (max-width:760px) {
    .flagship-pricing {
      grid-template-columns: 1fr;
    }

    .flagship-option+.flagship-option {
      border-left: 0;
      border-top: 1px solid rgba(180,151,67,.27);
    }

    .flagship-intro>h2 {
      max-width: none;
    }

    .flagship-narrative p {
      font-size: 15px;
    }
  }

  .flagship-option-top .price-stage {
    margin: -10px 0 22px;
    color: #bcae7b;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    line-height: 1.35;
  }

  .flagship-option-top .price-stage .steps-inline {
    color: #c8b36f;
    font-weight: inherit;
    letter-spacing: inherit;
    border-bottom: 1px solid rgba(200,179,111,.34);
    white-space: nowrap;
  }

  .flagship-option-top .price-stage .steps-inline:hover {
    color: #ead38a;
    border-bottom-color: rgba(234,211,138,.72);
  }

  .flagship-option-top .price-stage + p {
    max-width: none;
  }

  .process-intro h2 {
    max-width: 12ch;
  }

  .process-intro p:last-child {
    max-width: 42ch;
  }

  .process-steps p {
    max-width: 720px;
  }

  @media (max-width:980px) {
    .process-intro h2 {
      max-width: none;
    }
  }

  .task-list article {
    align-items: start;
    min-height: 148px;
    padding-top: 27px;
    padding-bottom: 27px;
  }

  .task-list article>div {
    min-width: 0;
  }

  .task-list h3 {
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.16;
  }

  .task-list p {
    margin: 0;
    max-width: 42ch;
    color: var(--muted);
  }

  .individual-price-note {
    max-width: 760px;
    margin: 28px 0 0 auto;
    padding-top: 20px;
    border-top: 1px solid rgba(180,151,67,.18);
    color: #b7b4a6;
  }

  @media (max-width:760px) {
    .task-list article {
      min-height: auto;
    }

    .individual-price-note {
      max-width: none;
    }
  }

  .presentation-modal {
    width: min(1680px,calc(100vw - 28px));
    height: min(900px,calc(100dvh - 28px));
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(196,164,82,.34);
    background: #061b15;
    color: var(--text);
    box-shadow: 0 34px 110px rgba(0,0,0,.58);
  }

  .presentation-modal::backdrop {
    background: rgba(1,8,6,.82);
    backdrop-filter: blur(8px);
  }

  .presentation-frame {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    background: #071f18;
  }

  .modal-close {
    z-index: 5;
    position: absolute;
    right: 16px;
    top: 14px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(196,164,82,.22);
    font-family: Arial,sans-serif;
    font-weight: 300;
    line-height: 1;
    transition: .18s ease;
  }

  .presentation-rail {
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(180,151,67,.21);
    background: #071e17;
  }

  .presentation-rail-head {
    border-bottom: 1px solid rgba(180,151,67,.13);
  }

  .presentation-kicker {
    margin: 0 0 10px;
    color: #bca55f;
    font-weight: 700;
    text-transform: uppercase;
  }

  .presentation-rail h2 {
    margin: 0;
    font-weight: 400;
  }

  .presentation-tabs {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-height: 0;
    margin: 12px 0 0;
    padding: 0;
    border: 0;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(180,151,67,.25) transparent;
  }

  .presentation-tabs button {
    position: relative;
    margin: 0;
    border: 0;
    border-bottom: 1px solid rgba(255,255,255,.045);
    background: transparent;
    color: #91a097;
    display: grid;
    align-items: start;
    text-align: left;
    cursor: pointer;
    transition: .16s ease;
  }

  .presentation-tabs button:before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 1px;
    background: transparent;
  }

  .presentation-tabs button span {
    color: #9e8848;
    font-weight: 700;
    letter-spacing: .09em;
  }

  .presentation-tabs button:hover {
    color: #c9d0ca;
  }

  .presentation-material {
    min-width: 0;
    display: grid;
    background: #09231b;
  }

  .presentation-material-head {
    justify-content: space-between;
    gap: 18px;
    color: #7f9087;
    font-weight: 700;
    text-transform: uppercase;
  }

  .presentation-material-head span:last-child {
    color: #b59c55;
  }

  .presentation-stage {
    position: relative;
    min-width: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(180,151,67,.16);
    background: radial-gradient(circle at 50% 42%,rgba(180,151,67,.035),transparent 46%),#0a281f;
  }

  .presentation-spread {
    aspect-ratio: 1.48;
    transition: opacity .18s ease,transform .18s ease;
  }

  .presentation-spread.is-changing {
    animation: presentationFade .24s ease;
  }

  @keyframes presentationFade {
      0% {
        opacity: .25;
        transform: translateY(4px);
      }

      100% {
        opacity: 1;
        transform: none;
      }
    }

  .presentation-arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    display: grid;
    place-items: center;
    padding: 0;
    transform: translateY(-50%);
    border: 1px solid rgba(180,151,67,.25);
    font-size: 17px;
    transition: .16s ease;
  }

  .presentation-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-left: 1px solid rgba(180,151,67,.21);
    background: #071f18;
  }

  .presentation-copy-index {
    margin: 0 0 13px;
    color: #bca45e;
    font-weight: 700;
    letter-spacing: .14em;
  }

  .presentation-copy h3 {
    margin: 0;
    font-weight: 400;
  }

  .presentation-copy [data-slide-text] p {
    margin: 0;
  }

  .presentation-book-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 0 0 11px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
  }

  .presentation-book-link span {
    color: #9b8545;
  }

  @media (max-width:1180px) {
    .presentation-frame {
      grid-template-columns: 190px minmax(0,1fr) 300px;
    }

    .presentation-rail {
      padding-left: 12px;
      padding-right: 12px;
    }

    .presentation-rail h2 {
      font-size: 26px;
    }

    .presentation-copy {
      padding-left: 25px;
      padding-right: 25px;
    }

    .presentation-copy h3 {
      font-size: 32px;
    }

    .presentation-material {
      padding: 22px;
    }
  }

  @media (max-width:900px) {
    .presentation-modal {
      width: calc(100vw - 14px);
      height: calc(100dvh - 14px);
    }

    .presentation-frame {
      overflow: auto;
    }

    .modal-close {
      position: fixed;
      right: 18px;
      top: 18px;
    }

    .presentation-rail {
      display: block;
      border-right: 0;
      border-bottom: 1px solid rgba(180,151,67,.21);
    }

    .presentation-rail-head {
      display: flex;
      align-items: baseline;
      gap: 14px;
      border: 0;
    }

    .presentation-kicker {
      margin: 0;
    }

    .presentation-rail h2 {
      max-width: none;
      font-size: 23px;
    }

    .presentation-tabs {
      display: flex;
      flex-direction: row;
      gap: 0;
      margin: 0;
      overflow-x: auto;
      scroll-snap-type: x proximity;
    }

    .presentation-tabs button {
      flex: 0 0 210px;
      scroll-snap-align: start;
    }

    .presentation-tabs button:before {
      top: auto;
      bottom: 0;
      left: 8px;
      right: 8px;
      width: auto;
      height: 1px;
    }

    .presentation-material {
      min-height: 430px;
    }

    .presentation-copy {
      border-left: 0;
      border-top: 1px solid rgba(180,151,67,.21);
    }
  }

  @media (max-width:560px) {
    .presentation-frame {
      grid-template-rows: auto minmax(330px,52vh) auto;
    }

    .presentation-rail-head {
      display: block;
    }

    .presentation-kicker {
      margin-bottom: 6px;
    }

    .presentation-rail h2 {
      font-size: 21px;
    }

    .presentation-tabs button {
      flex-basis: 175px;
      padding-left: 8px;
      padding-right: 8px;
    }

    .presentation-material {
      padding: 12px;
    }

    .presentation-material-head {
      margin-bottom: 10px;
    }

    .presentation-stage {
      min-height: 300px;
    }

    .presentation-spread {
      width: 82%;
      aspect-ratio: 1.35;
    }

    .presentation-arrow {
      width: 36px;
      height: 36px;
    }

    .presentation-arrow.prev {
      left: 7px;
    }

    .presentation-arrow.next {
      right: 7px;
    }

    .presentation-copy {
      padding: 24px 16px 20px;
    }

    .presentation-copy h3 {
      font-size: 30px;
    }

    .presentation-copy [data-slide-text] {
      margin-top: 17px;
    }
  }

  .presentation-frame {
    grid-template-columns: 290px minmax(0,1fr) 400px;
  }

  .presentation-rail {
    padding: 32px 24px 22px;
  }

  .presentation-rail-head {
    padding: 0 10px 26px;
  }

  .presentation-kicker {
    letter-spacing: .145em;
  }

  .presentation-rail h2 {
    max-width: 10ch;
    font-size: 33px;
    line-height: 1.04;
  }

  .presentation-tabs {
    margin-top: 14px;
  }

  .presentation-tabs button {
    min-height: 72px;
    padding: 14px 10px;
    grid-template-columns: 32px 1fr;
    gap: 8px;
  }

  .presentation-tabs button span {
    padding-top: 2px;
  }

  .presentation-tabs button b {
    font-weight: 560;
  }

  .presentation-material {
    grid-template-rows: auto 1fr;
    padding: 28px 26px 24px;
  }

  .presentation-material-head-left {
    min-width: 0;
    display: flex;
    flex-direction: column;
  }

  .presentation-material-head small {
    text-transform: uppercase;
  }

  .presentation-material-head>[data-slide-counter] {
    color: #c2a85b;
    font-weight: 700;
  }

  .presentation-stage {
    min-height: 0;
  }

  .presentation-copy {
    padding: 64px 34px 26px;
  }

  .presentation-copy-inner {
    margin: auto 0;
  }

  .presentation-copy-index {
    margin-bottom: 13px;
  }

  .presentation-copy [data-slide-text] {
    margin-top: 25px;
  }

  .presentation-copy [data-slide-text] p {
    color: #bcc6bf;
  }

  .presentation-copy [data-slide-text] p+p {
    margin-top: 15px;
  }

  .presentation-callout {
    margin: 18px 0 0;
    padding: 13px 14px;
    border-top: 1px solid rgba(180,151,67,.23);
    border-bottom: 1px solid rgba(180,151,67,.23);
    color: #d0bb78;
    font-size: 11px;
    line-height: 1.55;
    letter-spacing: .025em;
  }

  .presentation-actions {
    display: grid;
    gap: 0;
  }

  .presentation-page-link,
  .presentation-book-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    padding: 12px 0;
    border-top: 1px solid rgba(180,151,67,.16);
    color: #a8b4ac;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
  }

  .presentation-book-link {
    color: #d4bd73;
  }

  .presentation-book-link span,
  .presentation-page-link span {
    color: #9d8748;
  }

  .presentation-actions>p {
    margin: 10px 0 0;
    color: #6e8076;
    letter-spacing: .075em;
    text-transform: uppercase;
  }

  @media (max-width:1320px) {
    .presentation-frame {
      grid-template-columns: 250px minmax(0,1fr) 350px;
    }

    .presentation-rail {
      padding-left: 18px;
      padding-right: 18px;
    }

    .presentation-tabs button {
      min-height: 67px;
    }

    .presentation-tabs button b {
      font-size: 12.5px;
    }

    .presentation-copy {
      padding-left: 28px;
      padding-right: 28px;
    }

    .presentation-copy [data-slide-text] p {
      font-size: 13.5px;
    }
  }

  @media (max-width:1080px) {
    .presentation-frame {
      grid-template-columns: 220px minmax(0,1fr) 320px;
    }

    .presentation-rail h2 {
      font-size: 28px;
    }

    .presentation-tabs button {
      min-height: 62px;
      padding-top: 11px;
      padding-bottom: 11px;
    }

    .presentation-tabs button b {
      font-size: 12px;
    }

    .presentation-copy h3 {
      font-size: 32px;
    }
  }

  @media (max-width:900px) {
    .presentation-frame {
      grid-template-columns: 1fr;
      grid-template-rows: auto minmax(390px,1fr) auto;
    }

    .presentation-rail {
      padding: 20px 54px 12px 16px;
    }

    .presentation-rail-head {
      padding: 0 0 13px;
    }

    .presentation-tabs button {
      min-height: 58px;
    }

    .presentation-material {
      padding: 16px;
    }

    .presentation-copy {
      padding: 30px 20px 22px;
    }

    .presentation-copy-inner {
      margin: 0;
    }

    .presentation-copy h3 {
      font-size: 34px;
      max-width: 15ch;
    }

    .presentation-actions {
      margin-top: 28px;
    }
  }

  @media (max-width:560px) {
    .presentation-tabs button b {
      font-size: 11.5px;
    }

    .presentation-copy [data-slide-text] p {
      font-size: 13.5px;
    }
  }

  .presentation-spread {
    width: min(96%,950px);
    max-height: 91%;
  }

  .presentation-copy h3 {
    max-width: 12ch;
    line-height: 1.03;
  }

  .presentation-tabs button:hover {
    background: transparent;
  }

  .presentation-tabs button.active {
    background: transparent;
    color: #eee9dc;
  }

  .presentation-tabs button.active:before {
    width: 2px;
  }

  .presentation-page-link {
    border-top: 1px solid rgba(180,151,67,.18);
    border-bottom: 1px solid rgba(180,151,67,.12);
  }

  .presentation-actions {
    margin-top: auto;
  }

  .presentation-arrow {
    width: 38px;
    height: 38px;
    border-color: rgba(180,151,67,.24);
    background: rgba(6,27,21,.48);
    color: #bda45b;
    box-shadow: none;
  }

  .presentation-arrow:hover {
    border-color: rgba(180,151,67,.48);
    background: rgba(8,34,26,.72);
    color: #d7c17d;
  }

  .presentation-arrow.prev {
    left: 14px;
  }

  .presentation-arrow.next {
    right: 14px;
  }

  .modal-close {
    width: 34px;
    height: 34px;
    border-color: rgba(196,164,82,.15);
    background: rgba(5,24,18,.42);
    color: #aab6ae;
    font-size: 22px;
  }

  .modal-close:hover {
    border-color: rgba(196,164,82,.35);
    background: rgba(7,31,24,.62);
    color: #eee9dc;
  }

  @media (max-width:1320px) {
    .presentation-spread {
      width: min(94%,860px);
      max-height: 90%;
    }

    .presentation-copy h3 {
      font-size: clamp(30px,2.5vw,38px);
    }
  }

  @media (max-width:900px) {
    .presentation-spread {
      width: min(92%,720px);
      max-height: none;
    }

    .presentation-page-link {
      margin-top: 18px;
    }
  }

  @media (min-width:901px) {
    .presentation-tabs {
      gap: 0;
    }

    .presentation-tabs button {
      padding-top: 10px;
      padding-bottom: 10px;
    }
  }

  .presentation-material-head {
    font-size: 10.5px;
    letter-spacing: .095em;
  }

  .presentation-copy h3 {
    font-size: clamp(34px,2.85vw,44px);
  }

  .presentation-copy [data-slide-text] p {
    line-height: 1.68;
  }

  .presentation-actions {
    border-top: 1px solid rgba(180,151,67,.17);
    padding-top: 12px;
  }

  .presentation-book-link {
    border-top: 0;
    border-bottom: 0;
    padding-top: 10px;
    padding-bottom: 8px;
  }

  @media (max-width:1320px) and (min-width:901px) {
    .presentation-copy [data-slide-text] p {
      font-size: 14.5px;
    }
  }

  @media (max-width:900px) {
    .presentation-tabs button b {
      font-size: 12px;
    }

    .presentation-tabs button span {
      font-size: 10px;
    }

    .presentation-copy [data-slide-text] p {
      font-size: 14.5px;
    }
  }

  .presentation-material-head {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: start;
    min-height: 48px;
    margin-bottom: 14px;
  }

  .presentation-material-head-left {
    grid-column: 2;
    align-items: center;
    text-align: center;
    gap: 4px;
  }

  .presentation-material-head strong {
    text-transform: none;
  }

  .presentation-material-head>[data-slide-counter] {
    grid-column: 3;
    justify-self: end;
    padding-top: 3px;
    line-height: 1.3;
  }

  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    font-size: inherit;
  }

  .presentation-page-link {
    margin-top: 24px;
    padding: 13px 16px;
    border: 1px solid var(--cta-border);
    background: var(--cta-fill);
    color: var(--cta-text);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .055em;
  }

  .presentation-page-link span {
    color: #6a5328;
  }

  .presentation-page-link:hover {
    background: var(--cta-fill-hover);
    border-color: #e6ca7b;
    color: #604b25;
  }

  @media (max-width:1320px) {
    .presentation-material-head strong {
      font-size: 15px;
    }
  }

  @media (max-width:900px) {
    .presentation-material-head {
      grid-template-columns: 1fr auto;
      min-height: 42px;
    }

    .presentation-material-head-left {
      grid-column: 1;
      align-items: flex-start;
      text-align: left;
    }

    .presentation-material-head>[data-slide-counter] {
      grid-column: 2;
    }
  }

  .presentation-modal {
    --presentation-gold: #bfa45f;
    --presentation-gold-light: #d1b971;
    --presentation-gold-muted: #9f8950;
  }

  .presentation-kicker,
  .presentation-tabs button span,
  .presentation-material-head>[data-slide-counter],
  .presentation-copy-index {
    color: var(--presentation-gold);
    font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-weight: 650;
  }

  .presentation-tabs button.active span {
    color: var(--presentation-gold-light);
  }

  .presentation-tabs button.active:before {
    background: var(--presentation-gold-light);
  }

  .presentation-material-head strong {
    color: #c7aa68;
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 500;
    letter-spacing: .008em;
  }

  .presentation-material-head small {
    color: #829389;
    letter-spacing: .095em;
  }

  .presentation-material-head>[data-slide-counter] {
    letter-spacing: .1em;
  }

  @media (min-width:901px) {
    .presentation-rail {
      padding-bottom: 0;
    }

    .presentation-tabs {
      flex: 1 1 auto;
      display: grid;
      grid-template-rows: repeat(6,minmax(0,1fr));
      margin: 12px 0 0;
      overflow: hidden;
      scrollbar-gutter: stable;
    }

    .presentation-tabs button {
      min-height: 0;
      height: 100%;
      padding: 10px;
      align-content: center;
      box-sizing: border-box;
    }

    .presentation-tabs button b,
    .presentation-tabs button.active b {
      font-size: 13.5px;
      line-height: 1.3;
      font-weight: 540;
    }

    .presentation-copy {
      display: grid;
      grid-template-rows: minmax(0,1fr) 74px auto;
      padding: 58px 34px 22px;
      overflow: hidden;
    }

    .presentation-copy-inner {
      min-height: 0;
      margin: 0;
      padding: 28px 4px 8px 0;
      overflow: auto;
      scrollbar-width: thin;
      scrollbar-color: rgba(191,164,95,.2) transparent;
    }

    .presentation-page-action {
      min-height: 74px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px 0 12px;
    }

    .presentation-page-link {
      width: min(100%,310px);
      margin: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      text-align: center;
      white-space: nowrap;
    }

    .presentation-actions {
      margin: 0;
      padding-top: 12px;
    }
  }

  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    letter-spacing: normal;
  }

  .presentation-tabs button b,
  .presentation-tabs button.active b {
    font-weight: 540;
  }

  .presentation-tabs button:focus {
    outline: none;
  }

  .presentation-tabs button:focus-visible {
    outline: 1px solid rgba(209,185,113,.34);
    outline-offset: -3px;
  }

  @media (max-width:1320px) and (min-width:901px) {
    .presentation-material-head strong {
      font-size: 17px;
    }

    .presentation-tabs button b {
      font-size: 13px;
    }
  }

  @media (max-width:900px) {
    .presentation-page-action {
      margin-top: 18px;
    }

    .presentation-page-link {
      width: 100%;
      justify-content: center;
    }

    .presentation-material-head strong {
      font-size: 15px;
    }
  }

  .reviews-head {
    max-width: 780px;
    margin-bottom: 46px;
  }

  .review-mark {
    font-family: Georgia,serif;
    font-size: 44px;
    line-height: 1;
    color: rgba(196,164,83,.78);
    margin-bottom: 26px;
  }

  .review-card footer {
    display: grid;
    gap: 9px;
    margin-top: 40px;
    padding-top: 18px;
    border-top: 1px solid rgba(180,151,67,.18);
  }

  @media (max-width:640px) {
    .accordion-item {
      padding: 0 16px;
    }

    .accordion-item button {
      padding: 0;
    }
  }

  :root {
    --family-silver: #aeb9b1;
    --family-silver-line: rgba(174,185,177,.68);
  }

  .eyebrow {
    font-size: 12.5px;
    line-height: 1.28;
    letter-spacing: .15em;
  }

  .brand-sub {
    font-size: 11.5px;
    line-height: 1.25;
    letter-spacing: .14em;
  }

  .main-nav a {
    font-size: 13.5px;
  }

  .header-cta {
    font-size: 12px;
    letter-spacing: .09em;
  }

  .card-kicker {
    font-size: 12.5px;
    letter-spacing: .145em;
  }

  .inspect-meta {
    font-size: 12px;
  }

  .step-no,
  .task-list span {
    font-size: 12.5px;
    letter-spacing: .12em;
  }

  .process-steps p {
    font-size: 15.5px;
    line-height: 1.72;
  }

  .task-list p {
    font-size: 15.5px;
    line-height: 1.62;
  }

  .individual-price-note {
    font-size: 15px;
    line-height: 1.65;
  }

  .project-link,
  .document-link {
    font-size: 12.5px;
  }

  .review-grid footer {
    font-size: 12.5px;
  }

  .lead-form label span {
    font-size: 12.5px;
    letter-spacing: .1em;
  }

  .footer-grid span,
  .footer-grid a {
    font-size: 12.5px;
  }

  .flagship-option-top h3 {
    margin-bottom: 22px;
  }

  .flagship-depth {
    margin: 0;
    padding: 16px 0 15px;
    border-top: 1px solid rgba(255,255,255,.075);
    border-bottom: 1px solid rgba(255,255,255,.065);
    display: grid;
    gap: 5px;
  }

  .flagship-depth span {
    color: #9daaa2;
    font-size: 12.5px;
    line-height: 1.35;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .flagship-depth strong {
    color: #e2ddce;
    font-size: 16px;
    line-height: 1.48;
    font-weight: 600;
    max-width: 34ch;
  }

  .flagship-payment {
    margin: 12px 0 0;
    color: #98a69d;
    font-size: 14.5px;
    line-height: 1.5;
  }

  .flagship-payment strong {
    color: #d1bd7d;
    font-weight: 650;
  }

  .flagship-term {
    font-size: 15px;
    line-height: 1.5;
  }

  .accordion-item button:before {
    letter-spacing: .1em;
  }

  .accordion-content p {
    font-size: 16px;
    line-height: 1.74;
  }

  .lineage-scheme {
    margin: 28px 0 24px;
    padding: 26px 20px 24px;
    border-top: 1px solid rgba(225,185,102,.18);
    border-bottom: 1px solid rgba(225,185,102,.18);
    background: rgba(255,255,255,.006);
  }

  .lineage-scheme svg {
    display: block;
    width: 100%;
    height: auto;
  }

  .lineage-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 11px 28px;
    margin: 18px 0 0;
    color: #a5b0a9;
    font-size: 13px;
    line-height: 1.4;
  }

  .lineage-legend span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
  }

  .lineage-legend i {
    display: block;
    width: 28px;
    height: 1px;
    background: #c5a34d;
  }

  .lineage-legend .family i {
    background: var(--family-silver);
  }

  .cta-copy p:last-child {
    font-size: 16.5px;
    line-height: 1.72;
    max-width: 46ch;
  }

  input,
  textarea {
    font-size: 16px;
  }

  .presentation-kicker {
    font-size: 11.5px;
  }

  .presentation-tabs button span {
    font-size: 11.5px;
  }

  .presentation-tabs button b {
    font-size: 13px;
    line-height: 1.35;
  }

  .presentation-material-head strong {
    line-height: 1.35;
  }

  .presentation-material-head small {
    line-height: 1.35;
  }

  .presentation-copy-index {
    font-size: 12px;
  }

  .presentation-copy [data-slide-text] p {
    font-size: 15px;
  }

  @media (max-width:640px) {
    .brand-sub {
      font-size: 11px;
    }

    .eyebrow {
      font-size: 12px;
    }

    .flagship-depth strong {
      font-size: 15.5px;
    }

    .flagship-payment {
      font-size: 14.5px;
    }

    .process-steps p {
      font-size: 15.5px;
    }

    .task-list p {
      font-size: 15.5px;
    }

    .accordion-item {
      padding-left: 20px;
      padding-right: 20px;
    }

    .accordion-item button {
      grid-template-columns: 34px minmax(0,1fr) 24px;
      gap: 10px;
      min-height: 78px;
    }

    .accordion-item button:before {
      font-size: 12px;
    }

    .accordion-item button span {
      font-size: 17px;
      line-height: 1.38;
    }

    .accordion-item.open .accordion-content {
      padding: 0 2px 28px 44px;
    }

    .accordion-content p {
      font-size: 15.8px;
      line-height: 1.72;
    }

    .lineage-scheme {
      margin: 24px -2px 22px -44px;
      padding: 22px 14px;
    }

    .lineage-legend {
      font-size: 12.5px;
      gap: 10px 18px;
    }
  }

  .flagship-depth.compact {
    position: relative;
    padding-right: 96px;
  }

  .flagship-depth.compact a,
  .flagship-payment.compact a {
    color: #c8b36f;
    font-size: 12.5px;
    line-height: 1.3;
    border-bottom: 1px solid rgba(200,179,111,.34);
    width: max-content;
  }

  .flagship-depth.compact a {
    position: absolute;
    right: 0;
    bottom: 17px;
  }

  .flagship-payment.compact {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 11px;
  }

  .lineage-reference-layout {
    display: grid;
    margin-top: 2px;
  }

  .lineage-reference-copy {
    padding: 3px 6px 0 0;
  }

  .lineage-directions {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: grid;
    gap: 7px;
    color: #aeb9b2;
    font-size: 14.5px;
    line-height: 1.45;
  }

  .lineage-directions li:before {
    content: "·";
    display: inline-block;
    width: 14px;
    color: #c7a34b;
    font-weight: 800;
  }

  .lineage-callout {
    margin-top: 22px;
    padding: 15px 16px;
    border: 1px solid rgba(198,211,213,.52);
    background: rgba(198,211,213,.025);
    color: #bac7c7;
    font-size: 14.5px;
    line-height: 1.62;
  }

  .lineage-callout strong {
    display: block;
    margin-bottom: 3px;
    color: #d5dfe0;
    font-weight: 650;
  }

  .lineage-reference-scheme {
    margin: 0;
    padding: 8px 0 0;
    border: 0;
    background: none;
    overflow: visible;
  }

  .lineage-reference-scheme svg {
    margin: 0 auto;
  }

  .lineage-reference-scheme .lineage-legend {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px 16px;
    margin-top: 12px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.055);
    font-size: 12.5px;
    color: #9da9a2;
  }

  .lineage-reference-scheme .lineage-legend span {
    display: flex;
    align-items: flex-start;
    gap: 8px;
  }

  .lineage-reference-scheme .lineage-legend i {
    flex: 0 0 24px;
    height: 2px;
    margin-top: .62em;
    background: #c7a34b;
  }

  .lineage-reference-scheme .lineage-legend .family i {
    background: #c6d3d5;
  }

  .lineage-reference-scheme .lineage-legend .family {
    color: #c1cdcd;
  }

  @media (max-width:980px) {
    .lineage-reference-layout {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .lineage-reference-scheme svg {
      max-width: 820px;
    }
  }

  @media (max-width:640px) {
    .flagship-depth.compact {
      padding-right: 0;
    }

    .flagship-depth.compact a {
      position: static;
      margin-top: 5px;
    }

    .flagship-payment.compact {
      flex-wrap: wrap;
    }

    .lineage-reference-layout {
      gap: 18px;
    }

    .lineage-reference-scheme {
      margin: 0 -4px;
      padding-top: 2px;
      overflow-x: auto;
    }

    .lineage-reference-scheme svg {
      width: 720px;
      max-width: none;
    }

    .lineage-reference-scheme .lineage-legend {
      grid-template-columns: 1fr;
      gap: 8px;
      font-size: 12.5px;
      min-width: 0;
    }

    .lineage-callout {
      font-size: 14px;
    }
  }

  .faq-layout {
    display: block;
  }

  .faq-intro {
    padding-top: 0;
    text-align: center;
    margin: 0 auto 48px;
  }

  .faq-intro .eyebrow {
    justify-content: center;
  }

  .faq-intro h2 {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .accordion {
    width: min(100%,1120px);
    margin: 0 auto;
  }

  .accordion-item button {
    min-height: 78px;
    padding: 0 18px;
    grid-template-columns: 44px minmax(0,1fr) 32px;
    gap: 16px;
  }

  .accordion-item button:before {
    font-size: 12px;
  }

  .accordion-item button span {
    font-size: 17px;
    line-height: 1.42;
  }

  .accordion-item.open .accordion-content {
    padding: 0 64px 38px 78px;
  }

  .lineage-reference-layout {
    grid-template-columns: minmax(300px,.74fr) minmax(0,1.46fr);
    gap: 48px;
    align-items: start;
  }

  .lineage-reference-scheme {
    min-width: 0;
  }

  .lineage-reference-scheme svg {
    width: 100%;
    max-width: 760px;
  }

  @media (max-width:900px) {
    .faq-intro {
      margin-bottom: 34px;
      text-align: left;
    }

    .faq-intro .eyebrow {
      justify-content: flex-start;
    }

    .faq-intro h2 {
      margin-left: 0;
      margin-right: 0;
    }

    .accordion {
      width: 100%;
    }

    .accordion-item button {
      padding: 0 8px;
      grid-template-columns: 38px minmax(0,1fr) 28px;
      gap: 12px;
    }

    .accordion-item.open .accordion-content {
      padding: 0 38px 30px 50px;
    }

    .lineage-reference-layout {
      grid-template-columns: 1fr;
      gap: 24px;
    }
  }

  @media (max-width:620px) {
    .accordion-item button {
      min-height: 70px;
      padding: 0 4px;
      grid-template-columns: 34px minmax(0,1fr) 24px;
      gap: 10px;
    }

    .accordion-item button:before {
      font-size: 11px;
    }

    .accordion-item button span {
      font-size: 16px;
    }

    .accordion-item.open .accordion-content {
      padding: 0 4px 28px 44px;
    }

    .lineage-reference-scheme {
      overflow-x: auto;
      padding-bottom: 4px;
    }

    .lineage-reference-scheme svg {
      width: 720px;
      max-width: none;
    }
  }

  .intake-entry {
    display: grid;
    gap: 10px;
    padding-bottom: 22px;
  }

  .intake-entry__label {
    margin: 0;
    color: var(--accent-soft);
    font-size: 12.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  .intake-entry__button {
    justify-self: start;
    text-decoration: none;
  }

  .intake-entry__note {
    margin: 0;
    max-width: 56ch;
    color: var(--muted);
    font-size: 14.5px;
    line-height: 1.6;
  }

  .intake-separator {
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--faint);
    font-size: 12.5px;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .intake-separator:before,
  .intake-separator:after {
    content: "";
    height: 1px;
    flex: 1;
    background: rgba(225,185,102,.16);
  }

  @media (max-width:700px) {
    .intake-entry__button {
      width: 100%;
      justify-content: center;
    }

    .intake-entry__note {
      font-size: 14px;
    }

    .intake-separator {
      font-size: 11.5px;
    }
  }

  .result-copy .result-book-link {
    width: auto;
    max-width: 100%;
    text-decoration: none;
    border-left: 0;
    border-right: 0;
    appearance: none;
  }

  .presentation-page-link,
  .presentation-book-link {
    text-decoration: none;
  }

  .interactive-live-preview {
    position: relative;
    min-height: 495px;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
  }

  .interactive-preview-shell {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 1.425;
    overflow: hidden;
    background: #061b15;
    border: 1px solid rgba(180,151,67,.66);
    box-shadow: inset 0 0 0 1px rgba(180,151,67,.08),
    0 28px 70px rgba(0,0,0,.30);
    transition: border-color .22s ease,box-shadow .22s ease,transform .22s ease;
  }

  .interactive-preview-image {
    position: absolute;
    inset: -7px;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    object-fit: cover;
    object-position: center;
    filter: blur(2.2px) saturate(.66) brightness(.58) contrast(.92);
    transform: scale(1.018);
    transition: filter .28s ease,transform .35s ease;
  }

  .interactive-preview-veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: radial-gradient(circle at 51% 47%,rgba(180,151,67,.075) 0%,rgba(6,27,21,.15) 28%,rgba(6,27,21,.48) 78%,rgba(4,18,13,.66) 100%),
    linear-gradient(180deg,rgba(6,27,21,.30),rgba(4,19,14,.50));
    box-shadow: inset 0 0 74px rgba(3,15,11,.44);
  }

  .interactive-preview-action {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    width: min(86%,360px);
    text-align: center;
    color: #f2efe6;
  }

  .interactive-play-circle {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(207,185,111,.95);
    border-radius: 50%;
    background: rgba(5,24,18,.76);
    box-shadow: 0 8px 30px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.018);
    transition: transform .22s ease,background .22s ease,border-color .22s ease;
  }

  .interactive-play-circle i {
    display: block;
    width: 0;
    height: 0;
    margin-left: 5px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 16px solid #cfb96f;
  }

  .interactive-preview-label {
    font-family: Georgia,serif;
    font-size: 20px;
    line-height: 1.25;
    color: #f0ece2;
    text-shadow: 0 2px 12px rgba(0,0,0,.48);
  }

  .interactive-live-preview:hover .interactive-preview-shell {
    border-color: rgba(207,185,111,.95);
    box-shadow: inset 0 0 0 1px rgba(180,151,67,.10),0 32px 76px rgba(0,0,0,.34);
  }

  .interactive-live-preview:hover .interactive-play-circle {
    background: rgba(7,32,24,.91);
    border-color: #dbc985;
  }

  .interactive-live-preview:focus-visible {
    outline: 1px solid #cfb96f;
    outline-offset: -10px;
  }

  @media (max-width:900px) {
    .interactive-live-preview {
      min-height: 390px;
      padding: 28px;
    }

    .interactive-preview-shell {
      max-width: 620px;
    }

    .interactive-preview-label {
      font-size: 18px;
    }
  }

  @media (max-width:560px) {
    .interactive-live-preview {
      min-height: 300px;
      padding: 18px;
    }

    .interactive-preview-shell {
      aspect-ratio: 1.2;
    }

    .interactive-preview-image {
      object-position: center;
    }

    .interactive-play-circle {
      width: 62px;
      height: 62px;
    }

    .interactive-play-circle i {
      border-top-width: 9px;
      border-bottom-width: 9px;
      border-left-width: 14px;
    }

    .interactive-preview-label {
      font-size: 17px;
    }
  }

  .interactive-visual {
    padding: 34px;
  }

  .interactive-preview-shell {
    max-width: 820px;
  }

  .interactive-preview-veil {
    transition: background .30s ease,box-shadow .30s ease;
  }

  .interactive-live-preview:hover .interactive-preview-veil {
    background: radial-gradient(circle at 51% 47%,rgba(180,151,67,.085) 0%,rgba(6,27,21,.10) 30%,rgba(6,27,21,.35) 78%,rgba(4,18,13,.52) 100%),
    linear-gradient(180deg,rgba(6,27,21,.22),rgba(4,19,14,.38));
  }

  @media (max-width:900px) {
    .interactive-visual {
      padding: 28px;
    }
  }

  @media (max-width:560px) {
    .interactive-visual {
      padding: 18px;
    }
  }

  .hero {
    --hero-x: 0px;
    --hero-y: 0px;
    --hero-x2: 0px;
    --hero-y2: 0px;
    isolation: isolate;
  }

  .hero-scene {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    transform-style: preserve-3d;
  }

  .hero-copy:after {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
  }

  .button {
    --mag-x: 0px;
    --mag-y: 0px;
    --glow-x: 50%;
    --glow-y: 50%;
    position: relative;
    overflow: hidden;
    transform: translate3d(var(--mag-x),var(--mag-y),0);
    transition: transform .20s cubic-bezier(.2,.72,.2,1),background .20s ease,border-color .20s ease,color .20s ease,box-shadow .20s ease;
    will-change: transform;
  }

  .button:after {
    content: "";
    position: absolute;
    inset: -1px;
    pointer-events: none;
    opacity: 0;
    transition: opacity .20s ease;
  }

  .button:hover:after {
    opacity: 1;
  }

  .button:active {
    transform: translate3d(var(--mag-x),var(--mag-y),0) scale(.985);
  }

  .button span,
  .button {
    isolation: isolate;
  }

  .header-cta {
    transition: color .22s ease,border-color .22s ease,transform .22s cubic-bezier(.2,.72,.2,1);
  }

  .accordion-content {
    opacity: .22;
    transform: translateY(-4px);
  }

  .accordion-item.open .accordion-content {
    opacity: 1;
    transform: none;
  }

  .accordion-item button {
    transition: color .22s ease,background .22s ease;
  }

  .accordion-item button:hover {
    background: rgba(225,185,102,.025);
  }

  .interactive-live-preview .interactive-preview-image {
    transition: filter .52s cubic-bezier(.22,.7,.24,1),transform .62s cubic-bezier(.22,.7,.24,1),opacity .45s ease;
  }

  .interactive-live-preview .interactive-preview-veil {
    transition: opacity .50s ease,background .50s ease,box-shadow .50s ease;
  }

  .interactive-live-preview:hover .interactive-preview-image {
    filter: blur(1.15px) saturate(.77) brightness(.68) contrast(.94);
    transform: scale(1.045);
  }

  .interactive-live-preview:hover .interactive-preview-veil {
    opacity: .78;
    box-shadow: inset 0 0 52px rgba(3,15,11,.22);
  }

  .interactive-live-preview .interactive-play-circle {
    transition: transform .30s cubic-bezier(.2,.72,.2,1),box-shadow .30s ease,background .30s ease;
  }

  .interactive-live-preview:hover .interactive-play-circle {
    transform: scale(1.055);
    box-shadow: 0 0 0 8px rgba(225,185,102,.035),0 12px 30px rgba(0,0,0,.20);
  }

  @media (max-width:900px) {
    .hero-scene {
      opacity: .80;
    }
  }

  .intake-options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px 15px;
  }

  .intake-options .intake-word-link {
    margin-top: 0;
  }

  .intake-options__or {
    color: var(--faint);
    font-size: 12px;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  @media (max-width:700px) {
    .intake-options {
      display: grid;
      grid-template-columns: 1fr;
      text-align: center;
    }

    .intake-options__or {
      justify-self: center;
    }

    .intake-options .intake-word-link {
      justify-self: center;
    }
  }

  .legal-consent {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 10px;
    align-items: start;
    margin: 2px 0 4px;
    color: var(--faint);
    font-size: 11.5px;
    line-height: 1.55;
  }

  .legal-consent input {
    width: 15px;
    height: 15px;
    margin: 2px 0 0;
    accent-color: #c9a955;
  }

  .legal-consent a {
    color: #cbb574;
    text-decoration: none;
    border-bottom: 1px solid rgba(203,181,116,.28);
  }

  .legal-consent a:hover {
    color: #ead59a;
    border-color: rgba(234,213,154,.62);
  }

  @media (max-width:760px) {

    .legal-consent {
      font-size: 11px;
    }
  }

  .accordion-content .faq-lead {
    color: var(--text);
    font-weight: 500;
  }

  .accordion-content strong {
    color: var(--text);
    font-weight: 600;
  }

  .flagship-label {
    margin: 0 0 14px;
    color: var(--accent);
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(21px,2vw,27px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: .01em;
    text-transform: none;
  }

  .lineage-kicker {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  .lineage-info:hover {
    color: #ead59a;
  }

  .flagship-option-top h3 {
    line-height: 1.12;
  }

  .result-deliverables__head {
    grid-template-columns: minmax(210px,.58fr) minmax(0,1.42fr);
    gap: 34px;
    align-items: end;
    padding-bottom: 22px;
  }

  .result-deliverables__head .eyebrow {
    margin: 0;
  }

  .result-deliverables__head h4 {
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 400;
    color: var(--text);
  }

  .result-deliverables__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  .result-deliverable+.result-deliverable {
    border-left: 1px solid rgba(255,255,255,.065);
  }

  .result-deliverable h5 {
    margin: 0 0 10px;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 20px;
    line-height: 1.25;
    font-weight: 400;
  }

  .result-deliverable p {
    margin: 0;
    max-width: 52ch;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.68;
  }

  .result-deliverables__note {
    margin: 0;
    padding-top: 18px;
    color: #9eaaa2;
    font-size: 13.5px;
    line-height: 1.5;
  }

  @media (max-width:760px) {
    .flagship-label {
      font-size: 22px;
    }

    .result-deliverables__head {
      grid-template-columns: 1fr;
      gap: 8px;
    }
  }

  .section-label {
    margin: 0 0 14px;
    color: var(--accent);
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(21px,2vw,27px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: .01em;
    text-transform: none;
  }

  @media (max-width:760px) {
    .section-label {
      font-size: 22px;
    }
  }

  .result-deliverables {
    margin-top: 36px;
    padding: 34px 0 0;
    border-top: 1px solid rgba(180,151,67,.30);
    border-bottom: 1px solid rgba(180,151,67,.24);
    background: transparent;
  }

  .result-deliverables__head {
    display: block;
    padding: 0 0 26px;
    border-bottom: 0;
  }

  .result-deliverables__head h4 {
    margin: 0;
    max-width: 13ch;
    font-size: clamp(34px,3.4vw,44px);
    line-height: 1.05;
  }

  .result-deliverables__body {
    margin-top: 0;
    border-top: 1px solid rgba(255,255,255,.065);
  }

  .result-deliverable {
    padding: 28px 38px 27px 0;
  }

  .result-deliverable+.result-deliverable {
    padding-left: 38px;
  }

  .result-deliverables__note {
    padding: 19px 0 21px;
    border-top: 1px solid rgba(255,255,255,.065);
  }

  @media (max-width:760px) {
    .result-deliverables {
      margin-top: 28px;
      padding: 28px 0 0;
    }

    .result-deliverables__head {
      padding-bottom: 22px;
    }

    .result-deliverables__body {
      grid-template-columns: 1fr;
    }

    .result-deliverable {
      padding: 22px 0;
    }

    .result-deliverable+.result-deliverable {
      padding-left: 0;
      border-left: 0;
      border-top: 1px solid rgba(255,255,255,.065);
    }

    .result-deliverables__note {
      padding: 17px 0 19px;
    }
  }

  .lineage-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 1px;
    color: #bda456;
    font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
    transform: none;
  }

  .lineage-info span {
    display: inline-block;
    transition: transform .18s ease,color .18s ease;
  }

  .lineage-info:hover span {
    transform: translate(2px,-2px);
    color: #ead59a;
  }

  .art-service-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: background-color .28s ease;
  }

  @media (hover:hover) and (pointer:fine) {
    .art-service-card.tactile-surface:hover {
      background: rgba(225,185,102,.020);
    }

    .art-service-card.tactile-surface:hover .art-service-card__index {
      color: #c2a85c;
    }
  }

  :root {
    --quiet-gold: #c9a955;
    --quiet-gold-text: #d8be78;
    --quiet-gold-line: rgba(201,169,85,.28);
  }

  .button,
  .action-primary,
  .action-secondary,
  .price-cta,
  .form-submit,
  .header-cta {
    min-height: 46px;
    padding: 0 21px;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .header-cta {
    min-height: 39px;
    padding: 0 18px;
  }

  .price-cta span,
  .header-cta span,
  .button span {
    color: inherit;
  }

  .accordion-item button b {
    position: relative;
    width: 28px;
    height: 28px;
    display: block;
    border: 1px solid rgba(201,169,85,.24);
    border-radius: 50%;
  }

  .accordion-item button b:before {
    content: "";
    position: absolute;
    width: 6px;
    height: 6px;
    left: 9px;
    top: 8px;
    border-right: 1px solid #cbaa50;
    border-bottom: 1px solid #cbaa50;
    transform: rotate(45deg);
  }

  .accordion-item button[aria-expanded="true"] b:before {
    top: 11px;
    transform: rotate(225deg);
  }

  .accordion-item button:hover b {
    border-color: rgba(214,184,102,.48);
  }

  .accordion-item button:hover b:before {
    border-color: #e0c77f;
  }

  .hero-scene {
    inset: 72px -8% -8% 34%;
    perspective: 1500px;
    overflow: visible;
    contain: layout paint;
  }

  @media (max-width:900px) {
    .hero-scene {
      left: 16%;
      right: -42%;
      top: 74px;
      bottom: -3%;
    }
  }

  @media (max-width:680px) {
    .hero-scene {
      left: 4%;
      right: -82%;
      opacity: .68;
    }
  }

  .accordion-item.open>button b {
    border-color: rgba(214,184,102,.48);
  }

  @media (max-width:760px) {
    .hero {
      min-height: auto;
    }
  }

  .button span:last-child,
  .header-cta span:last-child {
    transition: transform .22s cubic-bezier(.2,.72,.2,1);
  }

  .button:hover span:last-child,
  .header-cta:hover span:last-child {
    transform: translateX(3px);
  }

  .hero-copy:after {
    left: -18%;
    top: -4%;
    width: 139%;
    height: 108%;
    background: radial-gradient(ellipse at 39% 49%,rgba(7,31,24,.42) 0%,rgba(8,35,27,.18) 46%,transparent 73%);
  }

  .section:not(.hero)::before {
    transform-origin: 50% 50%;
  }

  .section.section-active:not(.hero)::before {
    transform: scaleX(1);
    opacity: 1;
  }

  .section.section-active:not(.hero) .eyebrow {
    transform: translateX(0);
    letter-spacing: .14em;
    opacity: 1;
  }

  .price-card,
  .task-list article,
  .review-grid blockquote,
  .process-steps li {
    transition: transform .28s cubic-bezier(.2,.72,.2,1),background-color .28s ease,border-color .28s ease,box-shadow .28s ease;
  }

  @media (hover:hover) and (pointer:fine) {
    .process-steps h3 {
      transition: transform .26s cubic-bezier(.2,.72,.2,1);
    }

    .process-steps li:hover .step-no {
      color: #e2c475;
    }

    .step-no {
      transition: color .24s ease;
    }
  }

  .hero {
    min-height: 790px;
    overflow: hidden;
  }

  .hero-composite-stage {
    position: absolute;
    z-index: 1;
    inset: 64px -3% -2% 0;
    overflow: hidden;
    pointer-events: none;
    contain: paint;
  }

  .hero-composite-image {
    position: absolute;
    inset: -1.5% -1.5% -1.5% -1.5%;
    width: 103%;
    height: 103%;
    object-fit: cover;
    object-position: center center;
    display: block;
    transform: translate3d(calc(var(--hero-x) * .22),calc(var(--hero-y) * .22),0) scale(1.018);
    will-change: transform;
    transition: transform .18s linear;
  }

  .hero-composite-light {
    position: absolute;
    inset: 0;
    transform: translate3d(calc(var(--hero-x2) * .34),calc(var(--hero-y2) * .34),0);
    background: radial-gradient(ellipse at 79% 26%,rgba(225,185,102,.075) 0%,rgba(225,185,102,.02) 25%,transparent 54%);
    mix-blend-mode: screen;
    opacity: .75;
    will-change: transform;
  }

  .hero-composite-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,#061b15 0%,rgba(6,27,21,.995) 21%,rgba(6,27,21,.93) 37%,rgba(6,27,21,.58) 49%,rgba(6,27,21,.12) 68%,transparent 82%),
    linear-gradient(180deg,rgba(3,18,13,.12),transparent 30%,transparent 72%,rgba(2,14,10,.28));
  }

  .hero-grid {
    position: relative;
  }

  .hero-copy {
    position: relative;
    z-index: 4;
  }

  .hero-quiet {
    min-height: 535px;
  }

  @media (max-width:1240px) {
    .hero-composite-stage {
      inset: 64px -17% -2% 0;
    }

    .hero-composite-shade {
      background: linear-gradient(90deg,#061b15 0%,rgba(6,27,21,.99) 30%,rgba(6,27,21,.82) 49%,rgba(6,27,21,.22) 72%,transparent 88%);
    }
  }

  @media (max-width:900px) {
    .hero-composite-stage {
      inset: 64px -55% -4% -6%;
      opacity: .70;
    }

    .hero-composite-shade {
      background: linear-gradient(90deg,rgba(6,27,21,.995) 0%,rgba(6,27,21,.91) 53%,rgba(6,27,21,.30) 78%,transparent 100%);
    }
  }

  @media (max-width:680px) {
    .hero-composite-stage {
      display: none;
    }

    .hero-quiet {
      display: none;
    }
  }

  @media (prefers-reduced-motion:no-preference) {
    .hero.hero-settled .hero-composite-image {
      animation: hero-camera-settle 1.05s cubic-bezier(.18,.72,.22,1) both;
    }

    .hero.hero-settled .hero-composite-light {
      animation: hero-light-settle 1.35s .06s cubic-bezier(.18,.72,.22,1) both;
    }

    @keyframes hero-camera-settle {
          0% {
            transform: translate3d(calc(var(--hero-x) * .22),calc(var(--hero-y) * .22),0) scale(1.032);
            filter: brightness(.94) saturate(.96);
          }

          100% {
            transform: translate3d(calc(var(--hero-x) * .22),calc(var(--hero-y) * .22),0) scale(1.018);
            filter: brightness(1) saturate(1);
          }
        }

    @keyframes hero-light-settle {
          0% {
            opacity: .32;
            transform: translate3d(calc(var(--hero-x2) * .34 + 10px),calc(var(--hero-y2) * .34 - 5px),0);
          }

          100% {
            opacity: .75;
            transform: translate3d(calc(var(--hero-x2) * .34),calc(var(--hero-y2) * .34),0);
          }
        }

    .motion-object {
      transition: transform .62s cubic-bezier(.2,.72,.2,1),
      border-color .48s ease,
      background-color .48s ease,
      box-shadow .48s ease;
    }

    .section:not(.hero):not(.section-active) .motion-object {
      transform: translate3d(0,5px,0);
    }

    .section.section-active .motion-object {
      transform: translate3d(0,0,0);
    }

  }

  .tactile-surface {
    position: relative;
    isolation: isolate;
  }

  .tactile-surface::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    opacity: 0;
  }

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

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

  html.motion-enhanced .section-reveal {
    opacity: 1;
    transform: none;
  }

  @media (prefers-reduced-motion:no-preference) {
    html.motion-enhanced .section-reveal {
      will-change: opacity,transform;
    }

    html.motion-enhanced .section-reveal.is-visible {
      opacity: 1;
      transform: translate3d(0,0,0);
    }
  }

  .tactile-surface {
    --touch-x: 50%;
    --touch-y: 50%;
  }

  .tactile-surface::after {
    background: radial-gradient(circle 210px at var(--touch-x) var(--touch-y),rgba(225,185,102,.070) 0%,rgba(225,185,102,.026) 34%,transparent 72%);
    transition: opacity .26s ease;
  }

  .interactive-feature.tactile-surface::after,
  .result-stage.tactile-surface::after {
    z-index: 8;
    background: radial-gradient(circle 270px at var(--touch-x) var(--touch-y),rgba(225,185,102,.060) 0%,rgba(225,185,102,.020) 38%,transparent 72%);
    mix-blend-mode: screen;
  }

  .interactive-feature.tactile-surface>*,
  .result-stage.tactile-surface>* {
    position: relative;
    z-index: 1;
  }

  @media (hover:hover) and (pointer:fine) {
    .interactive-feature:hover .project-link span {
      transform: translate(2px,-2px);
    }
  }

  .flagship-narrative {
    max-width: 900px;
    margin-top: 30px;
  }

  .flagship-pricing {
    transition: border-color .32s ease,box-shadow .38s ease;
  }

  .flagship-pricing:hover {
    border-color: rgba(214,184,102,.39);
    box-shadow: 0 22px 54px rgba(0,0,0,.10);
  }

  .flagship-option {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    --touch-x: 50%;
    --touch-y: 50%;
    transition: transform .34s cubic-bezier(.2,.72,.2,1),background .34s ease,box-shadow .34s ease;
  }

  .flagship-option::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    background: radial-gradient(circle 260px at var(--touch-x) var(--touch-y),rgba(225,185,102,.085) 0%,rgba(225,185,102,.032) 34%,transparent 72%);
    transition: opacity .28s ease;
  }

  .flagship-option>* {
    position: relative;
    z-index: 1;
  }

  @media (hover:hover) and (pointer:fine) {
    .flagship-option:hover {
      transform: translateY(-2px);
      background: #09261d;
      box-shadow: 0 18px 42px rgba(0,0,0,.10);
    }

    .flagship-option:hover::after {
      opacity: 1;
    }

    .flagship-option:hover .card-kicker {
      color: #dfc16f;
    }

    .flagship-option:hover .price-cta {
      border-color: rgba(214,184,102,.60);
      color: #ecd898;
    }
  }

  @media (prefers-reduced-motion:no-preference) {
    html.motion-enhanced .section-reveal:not(.is-visible) {
      opacity: 0;
      transform: translate3d(0,20px,0);
    }

    html.motion-enhanced .section-reveal {
      transition: opacity .58s ease var(--entry-delay,0ms),transform .68s cubic-bezier(.2,.72,.2,1) var(--entry-delay,0ms);
    }
  }

  .flagship-narrative--continuous {
    max-width: 900px;
    margin-top: 30px;
  }

  .flagship-narrative--continuous p {
    margin: 0;
    color: var(--muted);
    font-size: 16px;
    line-height: 1.82;
  }

  @media (max-width:680px) {
    .flagship-narrative--continuous p {
      font-size: 15px;
      line-height: 1.76;
    }
  }

  .art-services {
    margin-top: 44px;
    padding-top: 30px;
    border-top: 1px solid rgba(201,169,85,.20);
  }

  .art-services__head {
    margin-bottom: 16px;
  }

  .art-services__frame {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    border: 1px solid rgba(201,169,85,.26);
    background: rgba(7,31,24,.18);
  }

  .art-service-card {
    min-width: 0;
    min-height: 220px;
    padding: 24px 24px 26px;
    border-right: 1px solid rgba(201,169,85,.20);
    background: transparent;
  }

  .art-service-card:last-child {
    border-right: 0;
  }

  .art-service-card__index {
    display: block;
    margin-bottom: 24px;
    color: #a38b4b;
    font-size: 10.5px;
    font-weight: 750;
    letter-spacing: .13em;
  }

  .art-service-card h4 {
    margin: 0 0 14px;
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(22px,1.9vw,27px);
    font-weight: 400;
    line-height: 1.09;
    letter-spacing: -.018em;
  }

  .art-service-card:first-child h4 {
    font-size: clamp(21px,1.72vw,25px);
    max-width: 19ch;
  }

  .art-service-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14.5px;
    line-height: 1.65;
  }

  @media (max-width:960px) {
    .art-services__frame {
      grid-template-columns: 1fr;
    }

    .art-service-card {
      min-height: 0;
      border-right: 0;
      border-bottom: 1px solid rgba(201,169,85,.20);
    }

    .art-service-card:last-child {
      border-bottom: 0;
    }

    .art-service-card__index {
      margin-bottom: 18px;
    }
  }

  @media (max-width:620px) {
    .art-services {
      margin-top: 38px;
      padding-top: 28px;
    }

    .art-services__head {
      margin-bottom: 16px;
    }

    .art-service-card {
      padding: 22px 20px 24px;
    }

    .art-service-card h4 {
      font-size: 24px;
    }

    .art-service-card p {
      font-size: 14px;
      line-height: 1.64;
    }
  }

  .intake-word-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    color: #bda66b;
    font-size: 12.5px;
    text-decoration: none;
    border-bottom: 1px solid rgba(225,185,102,.24);
    padding-bottom: 2px;
    transition: color .2s ease,border-color .2s ease,transform .2s ease;
  }

  .intake-word-link:hover {
    color: #ead7a0;
    border-color: rgba(225,185,102,.55);
    transform: translateX(2px);
  }

  .task-list article.task-wide {
    grid-column: 1/-1;
  }

  @media (max-width:680px) {
    .task-list article.task-wide {
      grid-column: auto;
    }
  }

  .site-header {
    pointer-events: none;
  }

  .site-header .header-inner.header-editorial {
    --edge-left-y: 40%;
    --edge-right-y: 60%;
    --edge-left-a: .22;
    --edge-right-a: .20;
    --frame-top-a: .13;
    --frame-bottom-a: .14;
    --frame-side-a: .20;
    --panel-y: 50%;
    --panel-a: .055;
    --panel-top-a: .16;
    --panel-bottom-a: .18;
    --panel-x: 50%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    pointer-events: auto;
    width: min(calc(100% - 56px),1480px);
    min-height: 98px;
    grid-template-columns: 210px minmax(0,1fr) 178px;
    gap: 0;
    padding: 0 22px;
    border: 1px solid rgba(184,159,91,.28);
    border-radius: 4px;
  }

  .site-header.scrolled .header-inner.header-editorial {
    border-color: rgba(184,159,91,.31);
  }

  .site-header .header-inner.header-editorial::before,
  .site-header .header-inner.header-editorial::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    width: 132px;
    pointer-events: none;
    transition: opacity .18s ease,background-position .18s ease;
  }

  .site-header .header-inner.header-editorial::before {
    left: -1px;
    opacity: var(--edge-left-a);
    background: radial-gradient(ellipse 94px 74px at 0 var(--edge-left-y),rgba(198,169,94,.15) 0%,rgba(106,142,117,.10) 42%,transparent 78%);
  }

  .site-header .header-inner.header-editorial::after {
    right: -1px;
    opacity: var(--edge-right-a);
    background: radial-gradient(ellipse 94px 74px at 100% var(--edge-right-y),rgba(198,169,94,.145) 0%,rgba(106,142,117,.095) 42%,transparent 78%);
  }

  .site-header .header-inner.header-editorial {
    transition: border-color .20s ease,box-shadow .18s ease,background .18s ease;
  }

  .header-editorial>* {
    position: relative;
    z-index: 1;
  }

  .header-editorial .brand {
    min-width: 0;
    align-self: stretch;
    justify-content: center;
    border-right: 1px solid rgba(202,172,92,.20);
  }

  .header-editorial .brand-name {
    color: #e8e3d7;
    font-size: 24px;
    line-height: 1;
  }

  .header-editorial .brand-sub {
    margin-top: 8px;
    color: #7f8d86;
    font-size: 10px;
    line-height: 1.22;
    letter-spacing: .13em;
  }

  .editorial-nav {
    min-width: 0;
    align-self: stretch;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 0;
  }

  .header-nav-title {
    display: block;
    font-family: Georgia,serif;
    line-height: 1.12;
    white-space: nowrap;
  }

  .header-directions {
    min-width: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 4px;
    padding: 0 24px;
    border-left: 1px solid rgba(202,172,92,.24);
  }

  .header-utility-nav {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 0 24px;
    border-left: 1px solid rgba(202,172,92,.22);
    white-space: nowrap;
  }

  .editorial-nav .header-utility-nav>a {
    color: #c5c4ba;
    font-family: Georgia,serif;
    line-height: 1.2;
    font-weight: 400;
  }

  .editorial-nav .header-utility-nav>a:hover {
    color: #d1bc78;
  }

  .header-editorial>.header-cta {
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-family: Georgia,serif;
    line-height: 1.2;
    white-space: nowrap;
  }

  .header-cta-arrow {
    font-size: 11px;
  }

  .header-mobile-cta {
    display: none;
  }

  .header-tactile {
    --header-touch-x: 50%;
    --header-touch-y: 50%;
    --header-touch-a: 0;
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .header-tactile::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    pointer-events: none;
    opacity: var(--header-touch-a);
    background: radial-gradient(circle 150px at var(--header-touch-x) var(--header-touch-y),rgba(210,184,111,.085) 0%,rgba(119,151,126,.055) 32%,transparent 72%);
    transition: opacity .22s ease;
  }

  .header-tactile:hover {
    --header-touch-a: 1;
  }

  @media (max-width:1580px) {
    .site-header .header-inner.header-editorial {
      width: min(calc(100% - 40px),1400px);
      grid-template-columns: 190px minmax(0,1fr) 160px;
      padding: 0 18px;
    }

    .header-editorial .brand-name {
      font-size: 22px;
    }

    .header-utility-nav {
      gap: 14px;
      padding: 0 18px;
    }
  }

  @media (max-width:1420px) {
    .site-header .header-inner.header-editorial {
      min-height: 72px;
      grid-template-columns: 1fr auto;
      gap: 18px;
      width: min(calc(100% - 32px),var(--max));
      padding: 0 18px;
    }

    .header-editorial .brand {
      padding-right: 0;
      border-right: 0;
    }

    .header-editorial .brand-name {
      font-size: 21px;
    }

    .header-editorial .menu-toggle {
      display: flex;
      justify-self: end;
    }

    .editorial-nav.open {
      position: absolute;
      flex-direction: column;
      align-items: stretch;
      left: 16px;
      right: 16px;
      top: 82px;
      max-height: calc(100vh - 100px);
      overflow: auto;
      padding: 24px;
      gap: 24px;
      background: rgba(3,18,14,.985);
      border: 1px solid rgba(201,169,85,.22);
      border-radius: 3px;
      box-shadow: 0 24px 52px rgba(0,0,0,.28);
    }

    .editorial-nav.open .header-directions {
      border-left: 0;
      border-top: 1px solid rgba(201,169,85,.18);
      gap: 10px;
    }

    .editorial-nav.open .header-utility-nav {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 14px;
      padding: 20px 0 0;
      border-left: 0;
      border-top: 1px solid rgba(201,169,85,.18);
    }

    .editorial-nav.open .header-mobile-cta {
      display: inline-flex;
      align-items: center;
      align-self: flex-start;
      gap: 8px;
      padding-top: 2px;
      font-family: Georgia,serif;
    }
  }

  @media (max-width:680px) {
    .site-header .header-inner.header-editorial {
      width: min(calc(100% - 20px),var(--max));
      padding: 0 14px;
    }

    .editorial-nav.open {
      left: 10px;
      right: 10px;
      padding: 22px 20px;
    }

    .header-editorial .brand-sub {
      font-size: 9px;
    }
  }

  #task-xx,
  #task-bio,
  #task-military,
  #task-check,
  #task-company,
  #task-place,
  #task-book {
    scroll-margin-top: 108px;
  }

  @media (min-width:1421px) {
    .header-directions-trigger {
      color: inherit;
      cursor: pointer;
      text-align: left;
      font: inherit;
    }

    .header-directions-trigger:focus-visible {
      outline: 1px solid rgba(213,181,98,.58);
      outline-offset: -5px;
    }

    .header-directions-chevron {
      width: 7px;
      height: 7px;
      border-right: 1px solid #b49b5b;
      border-bottom: 1px solid #b49b5b;
      transition: transform .22s ease,margin .22s ease;
    }

    .directions-panel {
      --mega-notch-x: 40%;
      position: absolute;
      z-index: 60;
      display: grid;
      color: #dcd8cc;
      background: radial-gradient(ellipse 56% 86% at 18% 24%,rgba(128,154,132,.08),transparent 66%),
      linear-gradient(180deg,rgba(9,36,27,.985),rgba(5,26,20,.992));
      border: 1px solid rgba(195,163,82,.40);
      box-shadow: 0 26px 70px rgba(0,0,0,.34),inset 0 1px 0 rgba(225,190,102,.08);
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform-origin: var(--mega-notch-x) top;
      transition: opacity .18s ease,transform .22s cubic-bezier(.2,.72,.2,1),visibility 0s linear .22s;
      overflow: visible;
    }

    .directions-panel::before {
      content: "";
      position: absolute;
      top: -7px;
      width: 12px;
      height: 12px;
      transform: translateX(-50%) rotate(45deg);
      background: #0a2a20;
      border-left: 1px solid rgba(195,163,82,.42);
      border-top: 1px solid rgba(195,163,82,.42);
    }

    .directions-panel.is-open {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition-delay: 0s;
    }

    .directions-panel>* {
      min-width: 0;
    }

    .directions-panel .header-tactile::after {
      z-index: 0;
      background: radial-gradient(circle 190px at var(--header-touch-x) var(--header-touch-y),rgba(210,184,111,.075) 0%,rgba(119,151,126,.052) 35%,transparent 74%);
    }

    .directions-panel .header-tactile>* {
      position: relative;
      z-index: 1;
    }
  }

  @media (min-width:1421px) and (max-width:1580px) {
    .directions-panel {
      grid-template-columns: 1fr .84fr .84fr;
    }
  }

  @media (max-width:1420px) {
    .editorial-nav.open .header-directions-trigger {
      display: flex;
      width: 100%;
      align-items: center;
      justify-content: space-between;
      padding: 0;
      border: 0;
      background: transparent;
      text-align: left;
      cursor: default;
    }

    .editorial-nav.open .header-directions-chevron {
      display: none;
    }

    .editorial-nav.open .header-directions-mobile {
      flex-direction: column;
      align-items: flex-start;
      gap: 10px;
      margin-top: 13px;
    }

    .editorial-nav.open .header-directions-mobile a {
      font-family: Georgia,serif;
      line-height: 1.35;
    }
  }

  #interactive-project {
    scroll-margin-top: 96px;
  }

  @media (min-width:1421px) {
    .services-panel {
      --mega-notch-x: 280px;
    }

    .services-panel .header-tactile>* {
      position: relative;
      z-index: 1;
    }

    .site-header,
    .site-header.scrolled {
      --panel-x: 50%;
      --panel-y: 50%;
      --panel-a: .05;
      --panel-top-a: .15;
      --panel-bottom-a: .17;
      --frame-top-a: .105;
      --frame-bottom-a: .11;
    }
  }

  .flagship-stage-note {
    max-width: 1120px;
    margin: -28px 0 20px auto;
    color: #b9b7ab;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 13.5px;
    line-height: 1.45;
    text-align: left;
  }

  @media (max-width:980px) {
    .flagship-stage-note {
      margin: -22px 0 18px;
      font-size: 13px;
    }
  }

  .lg {
    fill: none;
    stroke: #c7a34b;
    stroke-width: 2.35;
    vector-effect: non-scaling-stroke;
  }

  .ls {
    fill: none;
    stroke: #d7e0e0;
    stroke-width: 2.25;
    vector-effect: non-scaling-stroke;
  }

  .lx {
    fill: none;
    stroke: #52665d;
    stroke-width: 1.55;
    vector-effect: non-scaling-stroke;
  }

  .ld {
    fill: none;
    stroke: #c7a34b;
    stroke-width: 2.2;
    stroke-dasharray: 7 8;
    vector-effect: non-scaling-stroke;
  }

  .bg {
    fill: #0a241b;
    stroke: #c7a34b;
    stroke-width: 1.85;
    vector-effect: non-scaling-stroke;
  }

  .bs {
    fill: #09231c;
    stroke: #d7e0e0;
    stroke-width: 1.8;
    vector-effect: non-scaling-stroke;
  }

  .bx {
    fill: #071c16;
    stroke: #52665d;
    stroke-width: 1.35;
    vector-effect: non-scaling-stroke;
  }

  .tg {
    fill: #e1c979;
    font: 600 15px Inter,Arial,sans-serif;
    text-anchor: middle;
    dominant-baseline: middle;
  }

  .ts {
    fill: #e1e7e7;
    font: 600 14.5px Inter,Arial,sans-serif;
    text-anchor: middle;
    dominant-baseline: middle;
  }

  .tx {
    fill: #83938b;
    font: 500 14px Inter,Arial,sans-serif;
    text-anchor: middle;
    dominant-baseline: middle;
  }

  .dots {
    fill: #c7a34b;
    font: 700 22px Georgia,serif;
    text-anchor: middle;
  }
}

.section {
  background: transparent;
}

.hero,
.flagship,
.process,
.other-services,
.reviews,
.faq,
.final-cta {
  background: transparent;
}

.action-primary,
.price-cta,
.form-submit {
  background: var(--cta-fill);
  border-color: var(--cta-border);
  color: var(--cta-text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
}

.action-primary:hover,
.price-cta:hover,
.form-submit:hover {
  background: var(--cta-fill-hover);
  border-color: #e6ca7b;
  color: #604b25;
}

.presentation-page-link[hidden] {
  display: none;
}

.presentation-material-head small[hidden] {
  display: none;
}

.presentation-tabs button,
.presentation-tabs button.active,
.presentation-tabs button:focus {
  transform: none;
}

.presentation-material-head strong {
  font-size: 12px;
}

.presentation-material-head small {
  font-size: 11.5px;
}

.presentation-material-head>[data-slide-counter] {
  font-size: 11.5px;
}

.presentation-page-link,
.presentation-book-link {
  font-size: 12px;
}

.presentation-actions>p {
  font-size: 11.5px;
}

.lineage-directions-title {
  margin-top: 22px;
  color: #c5cec8;
  font-size: 14.5px;
}

.lineage-side-note {
  margin-top: 15px;
  color: #89978f;
  font-size: 13.5px;
  line-height: 1.62;
}

@media (max-width:980px) {
  .lineage-reference-copy p {
    max-width: 62ch;
  }
}

@media (max-width:640px) {
  .lineage-side-note {
    font-size: 13.3px;
  }
}

.lineage-reference-copy p {
  max-width: 43ch;
}

.hero-quiet:before {
  display: none;
}

@media (max-width:760px) {
  .hero:before {
    background: linear-gradient(90deg,rgba(6,27,21,.98) 0%,rgba(6,27,21,.88) 56%,rgba(6,27,21,.35) 100%);
  }
}

.hero:before {
  z-index: 1;
  left: 0;
  border: 0;
}

.hero:after {
  z-index: 1;
  inset: 0;
  width: auto;
  background: radial-gradient(ellipse at 24% 47%,rgba(46,90,70,.13) 0%,transparent 49%),
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,transparent 16%,transparent 78%,rgba(0,0,0,.24) 100%);
  box-shadow: none;
}

@media (max-width:900px) {
  .hero:before {
    background: linear-gradient(90deg,rgba(6,27,21,.99) 0%,rgba(6,27,21,.90) 56%,rgba(6,27,21,.38) 100%);
  }
}

@media (prefers-reduced-motion:reduce) {
  .button,
  .interactive-live-preview .interactive-preview-image,
  .interactive-live-preview .interactive-preview-veil,
  .interactive-live-preview .interactive-play-circle {
    transition: none;
    transform: none;
  }
}

.site-header,
.header-inner {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.hero-composite-light {
  mix-blend-mode: normal;
}

.interactive-feature.tactile-surface::after,
.result-stage.tactile-surface::after {
  mix-blend-mode: normal;
}

html.motion-enhanced .section-reveal {
  will-change: auto;
}

.section {
  border-top: 1px solid var(--quiet-gold-line);
}

.hero {
  border-top: 0;
}

.button,
.action-primary,
.action-secondary,
.price-cta,
.form-submit,
.header-cta {
  border: 1px solid rgba(201,169,85,.48);
  background: rgba(4,20,15,.22);
  color: var(--quiet-gold-text);
  box-shadow: none;
}

.action-secondary {
  border-color: rgba(201,169,85,.34);
  color: #cbb87e;
}

.button:hover,
.action-primary:hover,
.action-secondary:hover,
.price-cta:hover,
.form-submit:hover,
.header-cta:hover {
  background: rgba(201,169,85,.045);
  border-color: rgba(214,184,102,.72);
  color: #ead7a0;
}

.button:after {
  background: radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(227,201,132,.10) 0%,rgba(227,201,132,.035) 24%,transparent 48%);
}

.accordion-item button b {
  font-size: 0;
  color: transparent;
  transform: none;
}

.accordion-item button[aria-expanded="true"] span {
  color: #f0ece2;
}

.accordion-item button:hover span {
  color: #f0ece2;
}

.hero:before {
  background: linear-gradient(90deg,rgba(6,27,21,.999) 0%,rgba(6,27,21,.985) 29%,rgba(6,27,21,.86) 43%,rgba(6,27,21,.40) 57%,rgba(6,27,21,.07) 73%,transparent 84%);
}

.section:not(.hero) {
  border-top-color: rgba(201,169,85,.10);
}

@media (prefers-reduced-motion:reduce) {
  .section:not(.hero)::before {
    transform: none;
    opacity: 1;
    transition: none;
  }

  .section:not(.hero) .eyebrow {
    transform: none;
    opacity: 1;
    transition: none;
  }
}

.hero {
  background: linear-gradient(180deg,#061b15 0%,#051812 100%);
}

.hero:before,
.hero:after,
.hero-quiet:before {
  display: none;
}

.hero-grid {
  z-index: 3;
}

.hero-copy:after {
  display: none;
}

.section:not(.hero) {
  border-top: 0;
}

.section:not(.hero)::before {
  content: "";
  position: absolute;
  z-index: 12;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,transparent 0%,rgba(201,169,85,.13) 7%,rgba(218,184,94,.42) 50%,rgba(201,169,85,.13) 93%,transparent 100%);
  transform: none;
  pointer-events: none;
}

.section:not(.hero) .eyebrow {
  transform: none;
  opacity: 1;
  letter-spacing: .14em;
  transition: color .22s ease;
}

@media (hover:hover) and (pointer:fine) {
  .price-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(0,0,0,.08);
  }

  .task-list article:hover,
  .review-grid blockquote:hover {
    transform: translateY(-1px);
    background: rgba(225,185,102,.018);
  }

  .process-steps li:hover {
    background: rgba(225,185,102,.018);
  }

  .process-steps li:hover h3 {
    transform: translateX(2px);
  }
}

@media (prefers-reduced-motion:reduce) {
  .hero-composite-image,
  .hero-composite-light {
    transform: none;
    transition: none;
  }
}

@media (prefers-reduced-motion:no-preference) {
  .section:not(.hero)::before {
    opacity: .44;
    transition: opacity .72s ease;
  }

  .section.section-active::before {
    opacity: 1;
  }

  .section:not(.hero) .eyebrow {
    transition: color .55s ease,letter-spacing .65s cubic-bezier(.2,.72,.2,1);
  }

  .section:not(.hero):not(.section-active) .eyebrow {
    color: rgba(201,169,85,.72);
    letter-spacing: .155em;
  }

  .section.section-active .eyebrow {
    color: var(--accent);
    letter-spacing: .14em;
  }
}

@media (hover:hover) and (pointer:fine) {
  .price-card.tactile-surface:hover {
    transform: translateY(-2px);
    border-color: rgba(214,184,102,.34);
    box-shadow: 0 16px 36px rgba(0,0,0,.11);
  }

  .task-list article.tactile-surface:hover,
  .review-grid blockquote.tactile-surface:hover {
    transform: translateY(-2px);
    background: rgba(225,185,102,.024);
  }

  .process-steps li.tactile-surface:hover {
    background: rgba(225,185,102,.022);
  }

  .process-steps li.tactile-surface:hover .step-no {
    color: #e1c274;
  }

  .process-steps li.tactile-surface:hover h3 {
    transform: translateX(3px);
  }
}

.accordion-item button b:before {
  transition: transform .28s cubic-bezier(.2,.72,.2,1),top .28s cubic-bezier(.2,.72,.2,1),border-color .22s ease;
}

.accordion-content {
  transition: opacity .30s ease,transform .38s cubic-bezier(.2,.72,.2,1),padding .36s cubic-bezier(.2,.72,.2,1);
}

@media (prefers-reduced-motion:reduce) {
  .motion-object {
    transition: none;
    transform: none;
  }

  .tactile-surface::after {
    display: none;
  }
}

.accordion-item.open>button,
.accordion-item button[aria-expanded="true"] {
  background: transparent;
}

.accordion-item.open>button span,
.accordion-item button[aria-expanded="true"] span {
  color: #d9b95f;
}

.accordion-item.open>button:before,
.accordion-item button[aria-expanded="true"]:before {
  color: #d0ad4f;
}

.accordion-item.open>button b,
.accordion-item button[aria-expanded="true"] b {
  border-color: rgba(214,184,102,.48);
  background: transparent;
}

.section:not(.hero):not(.section-active) .motion-object,
.section.section-active .motion-object {
  transform: none;
}

.section:not(.hero)::before {
  opacity: 1;
  transition: none;
}

@media (hover:hover) and (pointer:fine) {
  .interactive-feature.tactile-surface,
  .result-stage.tactile-surface,
  .lead-form.tactile-surface {
    transition: border-color .28s ease,box-shadow .34s ease,transform .34s cubic-bezier(.2,.72,.2,1);
  }

  .interactive-feature.tactile-surface:hover {
    transform: translateY(-1px);
    border-color: rgba(214,184,102,.38);
    box-shadow: 0 18px 44px rgba(0,0,0,.10);
  }

  .result-stage.tactile-surface:hover,
  .lead-form.tactile-surface:hover {
    border-color: rgba(214,184,102,.34);
    box-shadow: 0 14px 36px rgba(0,0,0,.08);
  }
}

@media (prefers-reduced-motion:reduce) {
  html.motion-enhanced .section-reveal,
  html.motion-enhanced .section-reveal:not(.is-visible) {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (min-width:901px) {
  .hero {
    min-height: max(900px,100svh);
  }

  .hero-copy {
    padding: 82px 0 96px;
  }

  .hero-composite-stage {
    inset: 64px -3% -4% 0;
  }
}

@media (min-width:681px) and (max-width:900px) {
  .hero {
    min-height: 860px;
  }

  .hero-copy {
    padding: 72px 0 88px;
  }

  .hero-composite-stage {
    inset: 64px -55% -4% -6%;
  }
}

@media (max-width:680px) {

  .hero-copy {
    padding: 40px 0;
  }
}

.flagship-narrative--continuous strong {
  color: #f1ecdf;
  font-weight: 560;
}

.result-deliverable h5 {
  color: var(--accent);
}

.task-list article.task-wide {
  border-right: 0;
}

.site-header {
  padding-top: 12px;
}

.site-header.scrolled {
  padding-top: 10px;
}

.site-header .header-inner.header-editorial {
  background: radial-gradient(ellipse 64% 130% at var(--panel-x) var(--panel-y),rgba(112,145,121,var(--panel-a)) 0%,transparent 66%),
    linear-gradient(180deg,rgba(17,52,39,var(--panel-top-a)) 0%,rgba(8,33,25,.88) 48%,rgba(12,45,34,var(--panel-bottom-a)) 100%),
    rgba(7,30,23,.90);
  box-shadow: 0 15px 38px rgba(0,0,0,.18),
    0 0 26px rgba(116,145,122,.035),
    inset 0 1px 0 rgba(204,177,102,var(--frame-top-a)),
    inset 0 -1px 0 rgba(204,177,102,var(--frame-bottom-a)),
    inset 1px 0 0 rgba(125,151,128,var(--frame-side-a)),
    inset -1px 0 0 rgba(125,151,128,var(--frame-side-a));
}

.site-header.scrolled .header-inner.header-editorial {
  background: radial-gradient(ellipse 64% 130% at var(--panel-x) var(--panel-y),rgba(112,145,121,var(--panel-a)) 0%,transparent 66%),
    linear-gradient(180deg,rgba(17,52,39,var(--panel-top-a)) 0%,rgba(7,31,23,.91) 48%,rgba(12,45,34,var(--panel-bottom-a)) 100%),
    rgba(6,28,21,.92);
  box-shadow: 0 17px 44px rgba(0,0,0,.21),
    0 0 28px rgba(116,145,122,.045),
    inset 0 1px 0 rgba(204,177,102,var(--frame-top-a)),
    inset 0 -1px 0 rgba(204,177,102,var(--frame-bottom-a)),
    inset 1px 0 0 rgba(125,151,128,var(--frame-side-a)),
    inset -1px 0 0 rgba(125,151,128,var(--frame-side-a));
}

.header-nav-title {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.header-directions::before,
.header-directions::after {
  display: none;
}

.header-directions-title {
  color: #ded9cc;
}

.editorial-nav .header-utility-nav>a {
  font-size: 11.5px;
  letter-spacing: 0;
  text-transform: none;
}

.header-editorial>.header-cta {
  min-height: auto;
  padding: 0 0 0 22px;
  border: 0;
  border-left: 1px solid rgba(202,172,92,.24);
  background: transparent;
  color: #b49b5b;
  font-size: 12.4px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.header-editorial>.header-cta:hover {
  background: transparent;
  color: #cdb46d;
  border-left-color: rgba(202,172,92,.30);
}

.header-cta-text {
  display: inline;
}

.header-cta-arrow {
  color: #9d894f;
}

.site-header,
.site-header.scrolled {
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
  backdrop-filter: none;
}

@media (max-width:1580px) {
  .header-nav-title {
    font-size: 14.5px;
  }

  .editorial-nav .header-utility-nav>a {
    font-size: 10.8px;
  }

  .header-editorial>.header-cta {
    font-size: 11.5px;
  }
}

@media (max-width:1420px) {
  .editorial-nav,
  .header-editorial>.header-cta {
    display: none;
  }

  .editorial-nav.open {
    display: flex;
  }

  .editorial-nav.open .header-nav-title {
    font-size: 17px;
  }

  .editorial-nav.open .header-utility-nav>a {
    font-size: 14px;
  }

  .editorial-nav.open .header-mobile-cta {
    color: #b49b5b;
    font-size: 14px;
    letter-spacing: 0;
    text-transform: none;
  }
}

@media (max-width:680px) {
  .site-header {
    padding-top: 8px;
  }

  .site-header.scrolled {
    padding-top: 6px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .site-header .header-inner.header-editorial::before,
  .site-header .header-inner.header-editorial::after,
  .header-tactile::after {
    transition: none;
  }
}

.site-header,
.site-header.scrolled {
  padding-top: 10px;
}

.site-header .header-inner.header-editorial,
.site-header.scrolled .header-inner.header-editorial {
  width: min(85vw,1600px);
  min-height: 84px;
  padding-left: 18px;
  padding-right: 18px;
}

.header-editorial .brand {
  padding-right: 20px;
}

.header-directions {
  padding-left: 20px;
  padding-right: 20px;
}

.header-utility-nav {
  padding-left: 20px;
  padding-right: 20px;
}

.header-editorial>.header-cta {
  padding-left: 20px;
}

@media (max-width:1580px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    width: min(85vw,1360px);
    min-height: 84px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .header-directions {
    padding-left: 18px;
    padding-right: 18px;
  }

  .header-utility-nav {
    padding-left: 16px;
    padding-right: 16px;
  }

  .header-editorial>.header-cta {
    padding-left: 16px;
  }
}

@media (max-width:1420px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    width: min(calc(100% - 32px),var(--max));
    min-height: 72px;
  }
}

@media (max-width:680px) {
  .site-header,
  .site-header.scrolled {
    padding-top: 8px;
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    width: min(calc(100% - 20px),var(--max));
  }
}

@media (min-width:1421px) {
  .header-directions {
    display: flex;
    align-items: stretch;
    justify-content: stretch;
  }

  .header-directions-mobile {
    display: none;
  }
}

@media (max-width:1420px) {
  .directions-panel {
    display: none;
  }

  .editorial-nav.open .header-directions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 18px 0 0;
  }

  .editorial-nav.open .header-directions-mobile {
    display: flex;
  }

  .editorial-nav.open .header-directions-mobile a {
    color: #aeb5af;
    font-size: 12.8px;
    text-transform: none;
    letter-spacing: 0;
  }

  .editorial-nav.open .header-directions-mobile a:first-child {
    color: #d8c17b;
  }
}

@media (prefers-reduced-motion:reduce) {
  .directions-panel,
  .header-directions-chevron {
    transition: none;
  }
}

@media (min-width:1421px) {
  .directions-panel {
    left: 50%;
    transform: translate(-50%,-6px);
    border-radius: 4px;
  }

  .directions-panel.is-open {
    transform: translate(-50%,0);
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    padding-left: 14px;
    padding-right: 14px;
  }

  .header-directions {
    gap: 3px;
  }

  .header-utility-nav {
    padding-left: 14px;
    padding-right: 14px;
  }

  .header-editorial>.header-cta {
    padding-left: 14px;
  }

  .header-editorial .brand {
    padding-right: 10px;
  }

  .directions-panel::before {
    left: 36%;
  }
}

@media (max-width:1420px) {
  .editorial-nav.open .header-directions-mobile a[href="#task-book"] {
    display: block;
  }
}

@media (min-width:1421px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    margin-top: 0;
  }

  .header-utility-nav {
    flex: 0 0 auto;
  }

  .editorial-nav .header-utility-nav>a {
    flex: 0 0 auto;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    padding-left: 8px;
    padding-right: 8px;
  }

  .header-editorial .brand {
    width: 148px;
    padding-right: 10px;
  }

  .header-directions-trigger {
    gap: 7px;
  }
}

@media (max-width:1420px) {
  .site-header,
  .site-header.scrolled {
    padding-top: 0;
  }
}

@media (min-width:1421px) {
  .header-utility-nav {
    border-left: 1px solid rgba(202,172,92,.22);
  }

  .header-cta-arrow {
    flex: 0 0 auto;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-directions {
    width: 210px;
  }
}

@media (min-width:1421px) {
  .header-editorial .brand {
    width: auto;
  }

  .header-directions-chevron {
    display: inline-block;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .editorial-nav {
    width: 804px;
  }

  .header-directions,
  .header-directions-trigger {
    width: 210px;
  }

  .header-utility-nav {
    width: 384px;
  }

  .header-editorial>.header-cta {
    width: 152px;
  }
}

@media (min-width:1421px) {
  .header-nav-title {
    font-size: 14.8px;
    line-height: 1.08;
  }

  .directions-panel {
    width: min(1120px,calc(100vw - 96px));
    grid-template-columns: .80fr 1.10fr 1fr;
    grid-template-rows: auto auto auto;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-nav-title {
    font-size: 14px;
  }

  .directions-panel {
    width: min(1040px,calc(100vw - 72px));
  }
}

@media (min-width:1421px) {
  .site-header,
  .site-header.scrolled {
    padding-top: 0;
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    border-left: 0;
    border-right: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .header-editorial>.editorial-nav {
    justify-self: stretch;
  }

  .header-editorial .brand {
    border-left: 0;
    border-right: 1px solid rgba(202,172,92,.22);
  }

  .editorial-nav {
    width: 100%;
    display: grid;
    gap: 0;
    align-self: stretch;
  }

  .header-directions,
  .header-directions-trigger {
    width: 100%;
    min-width: 0;
  }

  .header-directions-trigger .header-nav-title {
    flex: 0 0 auto;
  }

  .editorial-nav .header-utility-nav>a {
    min-width: 0;
  }

  .header-directions-trigger {
    padding-left: 22px;
    padding-right: 22px;
  }

  .header-editorial .brand {
    justify-content: center;
    align-items: flex-start;
    padding: 0 28px;
  }

  .editorial-nav {
    grid-template-columns: minmax(0,2.12fr) minmax(0,1fr);
  }

  .header-directions-chevron {
    margin-left: auto;
  }

  .header-directions.is-active::after,
  .header-directions:hover::after,
  .header-directions:focus-within::after {
    opacity: 1;
  }

  .header-editorial>.header-cta {
    border-right: 0;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-editorial .brand {
    padding: 0 22px;
  }

  .editorial-nav {
    grid-template-columns: minmax(0,2.05fr) minmax(0,1fr);
  }

  .header-directions-trigger {
    padding: 0 20px;
  }
}

@media (min-width:1421px) {
  .header-directions.header-tactile::after {
    background: radial-gradient(circle 190px at var(--header-touch-x) var(--header-touch-y),rgba(218,190,112,.14) 0%,rgba(118,155,128,.08) 34%,transparent 74%);
  }

  .header-directions.is-active,
  .header-directions:hover,
  .header-directions:focus-within {
    --header-touch-a: 1;
  }

  .header-directions-chevron {
    margin-top: -3px;
  }

  .header-directions-trigger[aria-expanded="true"] .header-directions-chevron {
    transform: rotate(225deg) scale(.95);
    margin-top: 5px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-directions-chevron {
    transform: rotate(45deg) scale(.9);
  }

  .header-directions-trigger[aria-expanded="true"] .header-directions-chevron {
    transform: rotate(225deg) scale(.9);
  }
}

@media (min-width:1421px) {
  .header-editorial>.brand {
    overflow: visible;
  }

  .header-directions {
    width: 100%;
    min-width: 0;
    align-self: stretch;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: visible;
  }

  .header-directions-trigger {
    width: 100%;
    min-width: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 14px;
    border: 0;
    background: transparent;
    white-space: nowrap;
    overflow: visible;
  }

  .header-directions-trigger .header-nav-title {
    color: #d8d4c9;
    font-family: Georgia,serif;
    font-size: 13px;
    line-height: 1.1;
    font-weight: 400;
    white-space: nowrap;
  }

  .header-directions-chevron {
    margin: 0;
    flex: 0 0 auto;
    transform: scale(.88);
  }

  .header-directions.is-active .header-directions-chevron,
  .header-directions:has(.header-directions-trigger[aria-expanded="true"]) .header-directions-chevron {
    transform: rotate(180deg) scale(.88);
  }

  .header-utility-nav {
    align-self: stretch;
    white-space: nowrap;
  }

  .editorial-nav .header-utility-nav>a {
    text-transform: none;
  }

  .editorial-nav .header-utility-nav>a:hover {
    color: #e7ddc4;
  }

  .header-cta-arrow {
    font-size: 10px;
    color: currentColor;
  }

  .header-directions.is-active,
  .header-directions:has(.header-directions-trigger[aria-expanded="true"]) {
    --header-touch-a: 1;
  }

  .directions-panel {
    top: 64px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .directions-panel {
    top: 62px;
  }
}

@media (min-width:1581px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    width: min(calc(100% - 48px),1440px);
    max-width: 1440px;
    grid-template-columns: 170px minmax(0,1fr) 175px;
  }

  .header-editorial>.editorial-nav {
    grid-template-columns: minmax(710px,1.72fr) minmax(360px,.9fr);
  }

  .header-directions-trigger {
    padding-left: 14px;
    padding-right: 14px;
  }

  .header-directions-trigger .header-nav-title {
    font-size: 13px;
  }

  .header-utility-nav {
    gap: 30px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-editorial>.brand {
    padding-left: 0;
  }

  .header-directions-trigger {
    padding-left: 10px;
    padding-right: 10px;
  }

  .header-directions-trigger .header-nav-title {
    font-size: 11.9px;
  }

  .header-utility-nav {
    padding-left: 10px;
    padding-right: 10px;
  }

  .header-editorial>.header-cta {
    padding-right: 11px;
  }
}

@media (min-width:1421px) {
  .editorial-nav {
    overflow: visible;
  }

  .header-services {
    display: flex;
    align-items: stretch;
    padding: 0;
    overflow: visible;
  }

  .header-services .header-directions-chevron {
    flex: 0 0 auto;
    margin-left: 2px;
    transform: rotate(45deg) scale(.9);
  }

  .header-services.is-active .header-directions-chevron,
  .header-services:has(.header-directions-trigger[aria-expanded="true"]) .header-directions-chevron {
    transform: rotate(225deg) scale(.9);
    margin-top: 5px;
  }

  .services-panel {
    left: 50%;
    transform: translate(-50%,-7px);
    display: grid;
    padding: 0;
    overflow: visible;
    border: 1px solid rgba(198,168,91,.30);
    border-radius: 4px;
    box-shadow: 0 28px 64px rgba(0,0,0,.34),0 0 34px rgba(114,145,121,.035);
  }

  .services-panel.is-open {
    transform: translate(-50%,0);
  }

  .services-panel::before {
    left: var(--mega-notch-x);
  }

  .services-flagship {
    min-width: 0;
    overflow: hidden;
  }

  .services-kicker {
    color: #b49b55;
    font-family: Inter,ui-sans-serif,system-ui,sans-serif;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
  }

  .services-flagship strong {
    display: block;
    color: #eee9dc;
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 500;
    letter-spacing: -.02em;
  }

  .services-flagship p {
    margin: 17px 0 0;
    color: #aab3ad;
    font-family: Georgia,"Times New Roman",serif;
  }

  .services-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(204,174,91,.40);
    color: #d3b96f;
    font-family: Georgia,"Times New Roman",serif;
  }

  .services-more i {
    font-style: normal;
  }

  .services-secondary {
    min-width: 0;
  }

  .services-secondary-title {
    margin: 0;
    color: #e1ddd2;
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 500;
  }

  .services-group {
    min-width: 0;
    padding: 0;
  }

  .services-group+ .services-group {
    border-left: 1px solid rgba(198,168,91,.14);
    padding-left: 24px;
  }

  .services-group-title {
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 400;
  }

  .services-group nav a {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 14px;
    min-width: 0;
    color: #d5d2c8;
    font-family: Georgia,"Times New Roman",serif;
  }

  .services-group nav a:last-child {
    border-bottom: 0;
  }

  .services-group nav a i {
    font-style: normal;
  }

  .services-group nav a:hover {
    color: #e4d39b;
  }

  .services-panel .header-tactile::after {
    z-index: 0;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-utility-nav {
    gap: 24px;
  }

  .services-groups {
    gap: 20px;
  }

  .services-group+ .services-group {
    padding-left: 20px;
  }

  .services-group nav {
    grid-template-rows: repeat(3,45px);
  }

  .services-group nav a {
    height: 45px;
  }
}

@media (max-width:1420px) {
  .editorial-nav.open .header-services {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 18px 0 0;
    border-top: 1px solid rgba(201,169,85,.18);
  }

  .editorial-nav.open .header-services .header-directions-trigger {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: default;
  }

  .editorial-nav.open .header-services .header-directions-chevron {
    display: none;
  }

  .editorial-nav.open .header-services .header-directions-mobile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 13px;
  }

  .editorial-nav.open .header-services .header-directions-mobile a {
    color: #aeb5af;
    font-family: Georgia,serif;
    font-size: 12.8px;
    line-height: 1.35;
    text-transform: none;
    letter-spacing: 0;
  }

  .editorial-nav.open .header-services .header-directions-mobile .mobile-service-flagship {
    color: #d8c17b;
  }
}

@media (min-width:1421px) {
  .header-editorial>.brand {
    transition: border-color .18s ease,background .18s ease,box-shadow .18s ease;
  }

  .header-editorial>.brand:hover {
    border-color: rgba(218,184,91,.49);
  }

  .header-utility-nav {
    justify-content: stretch;
  }

  .header-editorial>.header-cta {
    transition: border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
  }

  .header-editorial>.header-cta:hover {
    border-color: rgba(224,191,99,.78);
  }

  .site-header.scrolled .header-editorial>.brand,
  .site-header.scrolled .header-editorial>.header-cta {
    border-color: rgba(207,174,83,.43);
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    width: min(calc(100% - 32px),1400px);
    max-width: 1400px;
  }

  .header-editorial>.brand {
    height: 46px;
    padding: 0 13px;
  }

  .header-utility-nav {
    padding: 0 5px;
  }

  .header-editorial>.header-cta {
    height: 40px;
    min-height: 40px;
    padding: 0 12px;
  }
}

@media (min-width:1421px) {
  .site-header,
  .site-header.scrolled {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0;
    background: radial-gradient(ellipse 52% 185% at var(--panel-x) var(--panel-y),rgba(113,149,124,var(--panel-a)) 0%,transparent 68%),
      linear-gradient(180deg,rgba(20,55,42,var(--panel-top-a)) 0%,rgba(4,24,18,.955) 48%,rgba(14,48,37,var(--panel-bottom-a)) 100%),
      rgba(4,24,18,.955);
    border: 0;
    border-bottom: 1px solid rgba(193,159,70,.17);
    box-shadow: inset 0 1px 0 rgba(215,184,101,var(--frame-top-a)),
      inset 0 -1px 0 rgba(215,184,101,var(--frame-bottom-a)),
      0 8px 24px rgba(0,0,0,.15);
    backdrop-filter: blur(10px);
    transition: background .18s ease,box-shadow .18s ease,border-color .18s ease;
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 34px;
    display: grid;
    gap: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }

  .site-header .header-inner.header-editorial::before,
  .site-header .header-inner.header-editorial::after {
    display: none;
  }

  .header-editorial>.brand {
    grid-column: 1;
    align-self: stretch;
    justify-self: stretch;
    height: auto;
    min-width: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    border: 0;
    border-right: 1px solid rgba(202,170,78,.34);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .header-editorial>.brand:hover {
    background: transparent;
    border-right-color: rgba(218,184,91,.48);
  }

  .header-editorial .brand-name {
    color: #efeadd;
    line-height: 1;
    font-weight: 500;
  }

  .header-editorial .brand-sub {
    margin-top: 5px;
    color: #c5a957;
    line-height: 1.1;
  }

  .header-editorial>.editorial-nav {
    grid-column: 2;
    align-self: stretch;
    width: 100%;
    min-width: 0;
    display: grid;
    gap: 0;
    border: 0;
    background: transparent;
    overflow: visible;
  }

  .header-services {
    min-width: 0;
    height: 100%;
    border: 0;
    background: transparent;
  }

  .header-services .header-directions-trigger {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    border: 0;
    background: transparent;
  }

  .header-services .header-directions-title {
    font-family: Georgia,"Times New Roman",serif;
  }

  .header-utility-nav {
    width: 100%;
    min-width: 0;
    height: 100%;
    display: grid;
    align-items: stretch;
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .editorial-nav .header-utility-nav>a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #c9cec9;
    font-family: Inter,ui-sans-serif,system-ui,sans-serif;
    white-space: nowrap;
  }

  .editorial-nav .header-utility-nav>a + a {
    border-left: 0;
  }

  .header-editorial>.header-cta {
    grid-column: 3;
    align-self: stretch;
    justify-self: stretch;
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-left: 1px solid rgba(202,170,78,.34);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #d0b665;
    font-family: Inter,ui-sans-serif,system-ui,sans-serif;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .header-editorial>.header-cta:hover {
    background: transparent;
    color: #ead28a;
    border-left-color: rgba(224,191,99,.58);
    box-shadow: none;
  }

  .header-tactile {
    isolation: isolate;
    overflow: visible;
  }

  .header-tactile::after {
    z-index: 0;
    border-radius: 0;
    background: radial-gradient(circle 160px at var(--header-touch-x) var(--header-touch-y),rgba(218,190,112,.115) 0%,rgba(117,153,126,.065) 35%,transparent 72%);
  }

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

  .header-services.is-active,
  .header-services:hover,
  .header-services:focus-within {
    --header-touch-a: 1;
  }

  .services-panel {
    top: 64px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    padding: 0 24px;
  }

  .services-panel {
    top: 62px;
  }
}

@media (min-width:1421px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    grid-template-columns: 225px minmax(0,1fr) 205px;
    min-height: 64px;
  }

  .header-editorial>.brand {
    padding: 0 30px 0 4px;
  }

  .header-editorial .brand-name {
    font-size: 20px;
  }

  .header-editorial .brand-sub {
    font-size: 9px;
    letter-spacing: .12em;
  }

  .header-editorial>.header-cta {
    padding: 0 4px 0 30px;
    font-size: 10.4px;
  }

  .header-editorial>.editorial-nav {
    padding: 0 18px;
  }

  .header-services .header-directions-trigger {
    padding: 0 15px;
    gap: 10px;
  }

  .header-services .header-directions-title {
    line-height: 1;
  }

  .editorial-nav .header-utility-nav>a {
    padding: 0 12px;
    line-height: 1.12;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    grid-template-columns: 200px minmax(0,1fr) 185px;
    min-height: 62px;
  }

  .header-editorial>.brand {
    padding-right: 24px;
  }

  .header-editorial .brand-name {
    font-size: 19px;
  }

  .header-editorial .brand-sub {
    font-size: 8.6px;
  }

  .header-editorial>.header-cta {
    padding-left: 24px;
    font-size: 9.8px;
  }

  .header-editorial>.editorial-nav {
    padding: 0 12px;
  }

  .header-services .header-directions-trigger {
    padding: 0 12px;
  }

  .editorial-nav .header-utility-nav>a {
    padding: 0 8px;
  }
}

@media (min-width:1421px) {
  .header-services .header-directions-title {
    font-size: 18px;
    letter-spacing: -.01em;
  }

  .header-services .header-directions-trigger {
    padding-left: 12px;
    padding-right: 12px;
  }

  .header-editorial>.editorial-nav {
    grid-template-columns: 224px minmax(0,1fr);
    padding-left: 14px;
    padding-right: 14px;
  }

  .header-services {
    width: 224px;
  }

  .header-utility-nav {
    grid-template-columns: minmax(185px,.66fr) minmax(360px,1.34fr);
  }

  .editorial-nav .header-utility-nav>a {
    font-size: 13.7px;
    font-weight: 560;
    letter-spacing: 0;
    padding-left: 10px;
    padding-right: 10px;
  }

  .header-services:hover .header-directions-title,
  .header-services.is-active .header-directions-title,
  .header-services:focus-within .header-directions-title {
    color: #e2c977;
  }

  .header-services.is-active .header-directions-chevron,
  .header-services:hover .header-directions-chevron {
    border-color: #d6bb6c;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-editorial>.editorial-nav {
    grid-template-columns: 205px minmax(0,1fr);
    padding-left: 10px;
    padding-right: 10px;
  }

  .header-services {
    width: 205px;
  }

  .header-services .header-directions-title {
    font-size: 16.2px;
  }

  .header-utility-nav {
    grid-template-columns: minmax(160px,.64fr) minmax(300px,1.36fr);
  }

  .editorial-nav .header-utility-nav>a {
    font-size: 12.25px;
    padding-left: 7px;
    padding-right: 7px;
  }
}

@media (min-width:901px) {
  .hero-copy {
    padding-top: 70px;
    padding-bottom: 92px;
  }
}

.flagship-narrative--continuous p+p {
  margin-top: 22px;
}

.flagship-narrative--continuous p:nth-child(3) {
  margin-top: 28px;
}

@media (min-width:761px) {
  .flagship-option {
    padding-top: 38px;
    padding-bottom: 38px;
  }

  .flagship-option-top {
    display: flex;
    flex-direction: column;
  }

  .flagship-option .card-kicker {
    min-height: 32px;
    margin-bottom: 0;
    display: flex;
    align-items: flex-start;
  }

  .flagship-option-top h3 {
    min-height: 73px;
    margin: 0;
    display: flex;
    align-items: center;
  }

  .flagship-option-top .price-stage {
    min-height: 45px;
    margin: 0;
    display: flex;
    align-items: flex-start;
  }

  .flagship-depth.compact {
    min-height: 113px;
    margin: 0;
    display: grid;
    align-content: center;
  }

  .flagship-payment.compact {
    min-height: 45px;
    margin: 0;
    padding-top: 10px;
    align-items: flex-start;
  }

  .flagship-term {
    min-height: 58px;
    margin: 0 0 20px;
    padding-top: 17px;
    display: flex;
    align-items: flex-start;
  }

  .price-cta {
    margin-top: 0;
  }
}

@media (min-width:1421px) {
  .services-flagship {
    justify-content: flex-start;
  }
}

.reviews[hidden] {
  display: none;
}

.site-footer {
  padding: 38px 0 40px;
}

.footer-grid {
  grid-template-columns: minmax(190px,.8fr) minmax(420px,1.6fr) minmax(180px,.6fr);
  gap: 34px;
  align-items: start;
}

.footer-grid>div:first-child strong {
  font-size: 18px;
  color: #e8e3d7;
}

.footer-grid>div:first-child span {
  margin-top: 7px;
  color: #b69b55;
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: 10px;
}

.footer-grid nav {
  gap: 12px 24px;
}

.footer-grid nav a,
.footer-meta a {
  font-size: 12.5px;
  color: #9da9a2;
}

.footer-grid nav a:hover,
.footer-meta a:hover {
  color: #d4bf7a;
}

.footer-meta {
  justify-content: flex-end;
}

@media (max-width:900px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-meta {
    justify-content: flex-start;
  }
}

.review-grid-live .review-card {
  grid-template-rows: 1fr auto;
}

.review-teaser {
  margin: 0;
  padding: 0;
  border: 0;
}

.review-open {
  margin: 22px 0 0;
  font: 700 11px/1.1 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor: pointer;
}

.review-open span {
  font-size: 12px;
  transform: translateY(-1px);
}

@media (max-width:900px) {

  .review-grid-live .review-card:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--module-line);
  }

  .review-grid-live .review-card {
    min-height: 0;
  }

  .review-grid-live .review-card:not(:first-child) .review-teaser p {
    max-width: 50ch;
    font-size: clamp(17px,2.5vw,20px);
  }
}

@media (max-width:640px) {
  .reviews-head {
    margin-bottom: 30px;
  }

  .review-card__body {
    padding: 28px 24px 24px;
  }

  .review-card__footer {
    margin: 0 24px;
    padding: 15px 0 17px;
  }

  .review-grid-live .review-teaser p,
  .review-grid-live .review-card:not(:first-child) .review-teaser p {
    font-size: 16.5px;
    line-height: 1.5;
  }

  .review-grid-live .review-mark {
    margin-bottom: 8px;
    font-size: 36px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .review-open {
    transition: none;
  }
}

.review-grid-live {
  grid-template-rows: none;
}

.review-grid-live .review-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: start;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--module-line-strong);
  background: var(--cell-a);
}

.review-grid-live .review-card:first-child {
  border-right: 1px solid var(--module-line-strong);
  background: var(--cell-a);
}

.review-grid-live .review-card + .review-card {
  border-left: 0;
}

.review-card__body {
  position: relative;
  padding: 34px 40px 29px;
  background: transparent;
}

.review-grid-live .review-mark {
  display: block;
  height: auto;
  margin: 0 0 13px;
  color: rgba(204, 169, 72, .92);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 39px;
  font-weight: 400;
  line-height: .82;
}

.review-grid-live .review-teaser,
.review-grid-live .review-card .review-teaser,
.review-grid-live .review-card .review-teaser:not(:first-child) {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.review-grid-live .review-teaser p,
.review-grid-live .review-card:not(:first-child) .review-teaser p {
  max-width: 46ch;
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.4vw, 21px);
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: -.008em;
}

.review-grid-live .review-card:not(:first-child) .review-teaser p {
  max-width: 38ch;
  font-size: clamp(17px, 1.22vw, 19px);
  line-height: 1.5;
}

.review-open {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 23px;
  padding: 0 0 6px;
  border: 0;
  border-bottom: 1px solid rgba(209, 174, 77, .62);
  background: transparent;
  color: #d2ad4d;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: color .18s ease, border-color .18s ease;
}

.review-open:hover,
.review-open:focus-visible {
  color: #efd37c;
  border-bottom-color: rgba(239, 211, 124, .88);
}

.review-open:focus-visible {
  outline: 1px solid rgba(213, 181, 98, .55);
  outline-offset: 5px;
}

.review-detail {
  margin: 0 40px;
  padding: 2px 0 34px;
}

.review-detail__head {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 0 0 22px;
  color: #bfa24f;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 10px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.review-detail__head::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: rgba(180, 151, 67, .32);
}

.review-detail__copy {
  max-width: 63ch;
}

.review-detail__copy p {
  margin: 0;
  color: #e7e4d9;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(16.5px, 1.25vw, 19px);
  font-weight: 400;
  line-height: 1.57;
  letter-spacing: -.004em;
}

.review-detail__copy p + p {
  margin-top: 19px;
}

.review-card__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin: auto 40px 0;
  padding: 18px 0 20px;
  border-top: 1px solid rgba(180, 151, 67, .28);
  background: transparent;
}

.review-author-block {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.review-grid-live .review-author {
  margin: 0;
  color: var(--text);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 1.7vw, 28px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.012em;
}

.review-author-meta {
  color: #c4a653;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.42;
  letter-spacing: .005em;
}

.review-result-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 0 6px;
  border-bottom: 1px solid rgba(209, 174, 77, .68);
  color: #d8b657;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.review-result-link:hover,
.review-result-link:focus-visible {
  color: #efd37c;
  border-bottom-color: rgba(239, 211, 124, .9);
}

.review-result-link:focus-visible {
  outline: 1px solid rgba(213, 181, 98, .55);
  outline-offset: 5px;
}

.review-detail:not([hidden]) {
  animation: review-detail-in .24s ease both;
}

@keyframes review-detail-in {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width:900px) {
  .review-grid-live .review-card + .review-card {
    border-left: 1px solid var(--module-line-strong);
  }

  .review-card__body {
    padding: 28px 24px 24px;
  }

  .review-detail {
    margin: 0 24px;
    padding-bottom: 26px;
  }

  .review-card__footer {
    margin: auto 24px 0;
    padding: 16px 0 18px;
  }

  .review-grid-live .review-teaser p,
  .review-grid-live .review-card:not(:first-child) .review-teaser p {
    max-width: 50ch;
    font-size: 17px;
    line-height: 1.52;
  }

  .review-detail__copy p {
    font-size: 16px;
    line-height: 1.58;
  }
}

@media (max-width:620px) {
  .review-card__footer {
    align-items: start;
    flex-direction: column;
    gap: 14px;
  }

  .review-result-link {
    align-self: flex-start;
  }
}

@media (prefers-reduced-motion:reduce) {
  .review-detail:not([hidden]) {
    animation: none;
  }
}

.review-result-link[hidden] {
  display: none;
}

@media (min-width:1421px) {
  .header-services .header-directions-title,
  .editorial-nav .header-utility-nav > a {
    font-size: 13.7px;
  }

  .header-services .header-directions-title {
    color: #cdb265;
    font-weight: 560;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .header-services .header-directions-title,
  .editorial-nav .header-utility-nav > a {
    font-size: 12.25px;
  }
}

.review-grid-live .review-card.tactile-surface::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .24s ease;
}

.review-grid-live .review-card.tactile-surface:hover::after,
.review-grid-live .review-card.tactile-surface:focus-within::after {
  opacity: 1;
}

@media (hover:hover) and (pointer:fine) {
  .review-grid-live .review-card.tactile-surface {
    transition: border-color .22s ease, box-shadow .22s ease;
  }

  .review-grid-live .review-card.tactile-surface:hover {
    border-color: rgba(214,184,102,.43);
    box-shadow: inset 0 0 0 1px rgba(226,190,98,.035), 0 10px 30px rgba(0,0,0,.08);
  }
}

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

.review-grid-live .review-card.tactile-surface::after {
  background: radial-gradient(circle 285px at var(--touch-x) var(--touch-y),
      rgba(230,194,101,.16) 0%,
      rgba(139,170,136,.075) 34%,
      rgba(76,124,99,.028) 55%,
      transparent 76%);
}

.review-grid-live .review-card.tactile-surface::after {
  mix-blend-mode: screen;
}

@media (min-width:1421px) {
  .services-panel {
    width: min(1280px,calc(100vw - 64px));
    grid-template-columns: minmax(330px,32%) minmax(0,68%);
    grid-template-rows: auto;
    background: radial-gradient(ellipse 58% 95% at 14% 26%,rgba(128,154,132,.07),transparent 66%),
      linear-gradient(180deg,rgba(8,34,26,.995),rgba(5,25,19,.997));
  }

  .services-flagship {
    grid-column: 1;
    grid-row: 1;
    padding: 42px 36px 36px;
    border-right: 1px solid rgba(198,168,91,.24);
    background: linear-gradient(180deg,rgba(7,30,23,.15),rgba(4,22,17,.26)),
      radial-gradient(circle at 70% 38%,rgba(199,171,94,.055),transparent 38%);
  }

  .services-flagship::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .13;
    background: radial-gradient(circle at 72% 34%,rgba(215,192,126,.16),transparent 22%),
      linear-gradient(135deg,transparent 58%,rgba(199,171,94,.06) 100%);
  }

  .services-kicker {
    font-size: 11.6px;
    letter-spacing: .15em;
  }

  .services-flagship strong {
    margin-top: 18px;
    max-width: 15ch;
    font-size: 31px;
    line-height: 1.08;
  }

  .services-flagship p {
    max-width: 31ch;
    margin-top: 24px;
    font-size: 15.2px;
    line-height: 1.5;
  }

  .services-more {
    margin-top: 28px;
    font-size: 14.4px;
    line-height: 1.25;
  }

  .services-secondary {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    gap: 20px;
    padding: 34px 32px 28px;
  }

  .services-secondary-title {
    position: relative;
    display: flex;
    align-items: center;
    gap: 22px;
    font-size: 27px;
    line-height: 1.08;
  }

  .services-secondary-title::after {
    content: "";
    height: 1px;
    flex: 1 1 auto;
    background: linear-gradient(90deg,rgba(198,168,91,.26),rgba(198,168,91,.12));
  }

  .services-groups {
    display: grid;
    grid-template-columns: minmax(0,1.28fr) minmax(0,1.04fr) minmax(230px,.92fr);
    gap: 0;
  }

  .services-group {
    padding-right: 24px;
  }

  .services-group + .services-group {
    border-left: 1px solid rgba(198,168,91,.18);
    padding-left: 28px;
  }

  .services-group:last-child {
    padding-right: 0;
  }

  .services-group-title {
    margin: 0 0 10px;
    line-height: 1.2;
    color: #cfb262;
  }

  .services-group nav {
    display: grid;
    grid-template-rows: none;
  }

  .services-group nav a {
    min-height: 49px;
    height: auto;
    padding: 10px 0;
    line-height: 1.26;
    border-bottom: 1px solid rgba(195,165,88,.14);
  }

  .services-group nav a i {
    font-size: 14px;
    color: #c9a849;
  }

  .services-group-book nav a {
    align-items: start;
    min-height: 99px;
    padding-top: 10px;
    border-bottom: 0;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-panel {
    width: min(1200px,calc(100vw - 44px));
    grid-template-columns: minmax(310px,31%) minmax(0,69%);
  }

  .services-flagship {
    padding: 34px 30px 31px;
  }

  .services-flagship strong {
    font-size: 28px;
  }

  .services-flagship p {
    font-size: 14px;
  }

  .services-secondary {
    gap: 17px;
    padding: 28px 26px 24px;
  }

  .services-secondary-title {
    font-size: 24px;
  }

  .services-groups {
    grid-template-columns: minmax(0,1.22fr) minmax(0,1fr) minmax(210px,.9fr);
  }

  .services-group {
    padding-right: 20px;
  }

  .services-group + .services-group {
    padding-left: 22px;
  }

  .services-group nav a {
    min-height: 46px;
  }
}

@media (min-width:1421px) {
  .services-panel {
    max-width: 1280px;
  }

  .services-group-title {
    font-size: 16.4px;
  }

  .services-group nav a {
    font-size: 15.8px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-panel {
    max-width: 1200px;
  }

  .services-group-title {
    font-size: 15.2px;
  }

  .services-group nav a {
    font-size: 14.5px;
  }
}

.review-grid-live {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  align-items: start;
  gap: 14px;
  border: 0;
  background: transparent;
}

.review-column {
  min-width: 0;
}

.review-column--main {
  align-self: start;
}

.review-column--stack {
  display: grid;
  align-content: start;
  gap: 14px;
}

.review-grid-live .review-card,
.review-grid-live .review-card:first-child,
.review-grid-live .review-card + .review-card {
  width: 100%;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--module-line-strong);
  background: var(--cell-a);
}

.review-column--main .review-card {
  min-height: var(--review-main-min-height, 0px);
}

.review-column--stack .review-card {
  min-height: 0;
}

.review-column--stack .review-card__body {
  padding: 27px 34px 22px;
}

.review-column--stack .review-grid-live .review-mark,
.review-column--stack .review-mark {
  margin-bottom: 10px;
  font-size: 34px;
}

.review-column--stack .review-teaser p,
.review-grid-live .review-column--stack .review-card:not(:first-child) .review-teaser p,
.review-grid-live .review-column--stack .review-card .review-teaser p {
  max-width: 42ch;
  font-size: clamp(16px, 1.04vw, 18px);
  line-height: 1.47;
}

.review-column--stack .review-open {
  margin-top: 17px;
}

.review-column--stack .review-detail {
  margin: 0 34px;
  padding: 1px 0 25px;
}

.review-column--stack .review-detail__head {
  margin-bottom: 17px;
}

.review-column--stack .review-detail__copy {
  max-width: 50ch;
}

.review-column--stack .review-detail__copy p {
  font-size: clamp(15.5px, .98vw, 17px);
  line-height: 1.55;
}

.review-column--stack .review-detail__copy p + p {
  margin-top: 15px;
}

.review-column--stack .review-card__footer {
  margin: auto 34px 0;
  padding: 15px 0 17px;
}

.review-column--stack .review-author {
  font-size: clamp(20px, 1.42vw, 25px);
}

.review-column--stack .review-card + .review-card {
  border-left: 1px solid var(--module-line-strong);
}

@media (max-width:1100px) and (min-width:901px) {
  .review-grid-live {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .92fr);
    gap: 12px;
  }

  .review-card__body {
    padding-left: 31px;
    padding-right: 31px;
  }

  .review-column--stack .review-card__body {
    padding-left: 27px;
    padding-right: 27px;
  }

  .review-column--stack .review-detail,
  .review-column--stack .review-card__footer {
    margin-left: 27px;
    margin-right: 27px;
  }
}

@media (max-width:900px) {
  .review-grid-live {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .review-column--main .review-card {
    min-height: 0;
  }

  .review-column--stack {
    gap: 14px;
  }

  .review-column--stack .review-card__body {
    padding: 28px 24px 24px;
  }

  .review-column--stack .review-detail {
    margin: 0 24px;
    padding-bottom: 26px;
  }

  .review-column--stack .review-card__footer {
    margin: auto 24px 0;
    padding: 16px 0 18px;
  }

  .review-column--stack .review-teaser p,
  .review-grid-live .review-column--stack .review-card:not(:first-child) .review-teaser p,
  .review-grid-live .review-column--stack .review-card .review-teaser p {
    max-width: 50ch;
    font-size: 17px;
    line-height: 1.52;
  }

  .review-column--stack .review-detail__copy p {
    font-size: 16px;
    line-height: 1.58;
  }
}

@media (min-width:901px) {
  .header-utility-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .editorial-nav .header-utility-nav > a {
    min-width: 0;
    text-align: center;
    white-space: nowrap;
  }
}

.review-card--static .review-teaser--full p {
  max-width: 44ch;
}

.review-card--static .review-card__footer {
  margin-top: auto;
}

.form-status {
  min-height: 1.45em;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12.5px;
}

.form-status.is-success {
  color: #b9cdbf;
}

.form-status.is-error {
  color: #d5a69b;
}

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;
}

.result-preview {
  align-items: stretch;
  padding: 44px 42px 40px;
}

.result-inspect {
  position: relative;
  align-items: stretch;
  gap: 14px;
  cursor: pointer;
}

.result-book-kicker {
  display: block;
  color: var(--accent);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.result-book-object {
  display: block;
  width: 100%;
  padding: 6px 0 2px;
}

.result-book-cover {
  position: relative;
  display: block;
  width: min(100%, 620px);
  margin-inline: auto;
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.result-book-cover::before {
  content: "";
  position: absolute;
  border: 1px solid rgba(212,169,108,.13);
  pointer-events: none;
}

.result-book-spread {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  background: #ead9b5;
}

.result-inspect .inspect-meta {
  width: 100%;
  max-width: none;
  margin-top: 2px;
}

.result-inspect .inspect-meta b {
  white-space: nowrap;
}

.presentation-material-head strong {
  color: #d9d4c8;
}

.presentation-material-head small {
  color: #829389;
}

@media (max-width:900px) {
  .result-preview {
    padding: 34px 20px 30px;
  }

  .result-book-cover {
    padding: 7px 8px 9px;
  }

  .result-inspect .inspect-meta {
    gap: 12px;
    align-items: flex-start;
  }

  .result-inspect .inspect-meta b {
    white-space: normal;
    text-align: right;
  }
}

.result-inspect .inspect-meta > span {
  white-space: nowrap;
}

.result-book-cover {
  padding: 14px 15px 17px;
  background: linear-gradient(118deg, rgba(255,244,218,.09), transparent 28%),
    linear-gradient(145deg, #684a36 0%, #543a2b 38%, #432d22 72%, #36251d 100%);
  border: 1px solid rgba(110,77,54,.88);
  box-shadow: 0 18px 35px rgba(0,0,0,.28),
    0 7px 12px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,236,201,.15),
    inset 0 -8px 16px rgba(35,18,10,.24);
}

.result-book-cover::before {
  inset: 7px 8px 10px;
  border-color: rgba(232,199,148,.16);
}

.result-book-cover::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 14px;
  bottom: 17px;
  width: 13px;
  transform: translateX(-50%);
  background: linear-gradient(90deg,transparent,rgba(65,39,24,.22) 38%,rgba(255,242,215,.08) 52%,rgba(65,39,24,.16) 68%,transparent);
  pointer-events: none;
  mix-blend-mode: multiply;
}

.result-book-spread {
  box-shadow: 0 9px 18px rgba(0,0,0,.28), 0 2px 3px rgba(0,0,0,.2);
  filter: saturate(.96) contrast(.985) brightness(1.015);
}

.result-inspect:hover .result-book-cover {
  transform: translateY(-2px) scale(1.004);
  border-color: rgba(128,88,60,.96);
  box-shadow: 0 23px 44px rgba(0,0,0,.31),
    0 8px 14px rgba(0,0,0,.21),
    inset 0 1px 0 rgba(255,236,201,.17),
    inset 0 -8px 16px rgba(35,18,10,.24);
}

.result-inspect:focus {
  outline: none;
}

.result-inspect:focus-visible {
  outline: 1px solid rgba(220,210,184,.52);
  outline-offset: 7px;
}

.result-inspect:focus-visible .result-book-cover {
  border-color: rgba(128,88,60,.96);
}

@media (max-width:900px) {
  .presentation-real-spread {
    width: 100%;
    min-width: 0;
  }
}

@media (min-width:1421px) {
  .services-panel {
    align-items: stretch;
  }

  .services-flagship {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .services-flagship .services-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
  }

  .services-book-preview {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    width: 100%;
    margin-top: auto;
    border: 1px solid rgba(198,168,91,.32);
    background: rgba(4,24,18,.46);
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
  }

  .services-book-preview:hover,
  .services-book-preview:focus-visible {
    border-color: rgba(215,183,94,.62);
    background: rgba(8,32,24,.62);
    box-shadow: 0 10px 26px rgba(0,0,0,.15),0 0 24px rgba(196,158,62,.045);
    outline: none;
  }

  .services-book-preview-kicker {
    margin-bottom: 9px;
    color: #cdb15f;
    font: 700 10px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing: .14em;
    text-transform: uppercase;
  }

  .services-book-preview-object {
    min-width: 0;
  }

  .services-book-preview-cover {
    position: relative;
    display: block;
    overflow: hidden;
  }

  .services-book-preview-cover::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
  }

  .services-book-preview-cover img {
    filter: saturate(.94) contrast(.99) brightness(1.01);
    transition: transform .28s ease;
  }

  .services-book-preview:hover .services-book-preview-cover img,
  .services-book-preview:focus-visible .services-book-preview-cover img {
    transform: scale(1.012);
  }

  .services-book-preview-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    color: #d3b96f;
    font: 650 11.5px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing: .025em;
  }

  .services-project-play {
    position: absolute;
    z-index: 4;
    left: 50%;
    top: 48%;
    width: 54px;
    height: 54px;
    transform: translate(-50%,-50%);
    border: 1px solid rgba(224,190,97,.85);
    border-radius: 50%;
    background: rgba(5,26,19,.72);
    box-shadow: 0 8px 20px rgba(0,0,0,.2),0 0 0 5px rgba(6,27,20,.16);
    transition: transform .2s ease,background .2s ease,box-shadow .2s ease;
  }

  .services-project-play span {
    position: absolute;
    left: 52%;
    top: 50%;
    width: 0;
    height: 0;
    transform: translate(-42%,-50%);
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 11px solid #d5b764;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-book-preview {
    padding: 11px 11px 10px;
  }

  .services-book-preview-kicker {
    font-size: 9.5px;
    margin-bottom: 7px;
  }

  .services-book-preview-link {
    margin-top: 8px;
  }

  .services-project-play {
    width: 48px;
    height: 48px;
  }
}

.presentation-real-spread {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  aspect-ratio: auto;
  display: block;
  overflow: hidden;
  background: transparent;
  user-select: none;
  -webkit-user-select: none;
}

.presentation-real-spread img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center center;
  box-shadow: 0 24px 64px rgba(0,0,0,.26);
}

@media (min-width:1421px) {
  .services-flagship {
    min-height: 472px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-flagship {
    min-height: 458px;
  }

  .services-book-preview-cover img {
    height: 94px;
  }
}

@media (min-width:1421px) {
  .services-book-preview {
    padding: 12px 12px 10px;
  }

  .services-book-preview-object {
    display: grid;
    place-items: center;
    min-height: 0;
    background: transparent;
  }

  .services-book-preview-cover {
    width: min(100%,286px);
    margin-inline: auto;
    padding: 5px;
    background: linear-gradient(145deg,#775a43 0%,#674a37 52%,#5a3e2f 100%);
    border: 1px solid rgba(171,126,85,.72);
    box-shadow: 0 10px 20px rgba(0,0,0,.21),
      0 2px 5px rgba(0,0,0,.18),
      inset 0 1px 0 rgba(255,239,211,.12);
  }

  .services-book-preview-cover::after {
    top: 5px;
    bottom: 5px;
    width: 7px;
    background: linear-gradient(90deg,
      transparent 0%,
      rgba(69,42,27,.24) 22%,
      rgba(54,31,20,.38) 47%,
      rgba(245,222,185,.08) 56%,
      rgba(72,43,27,.18) 78%,
      transparent 100%);
  }

  .services-book-preview-cover img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1749/1241;
    object-fit: contain;
    background: transparent;
    box-shadow: 0 3px 8px rgba(0,0,0,.2);
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-book-preview-cover {
    width: min(100%,250px);
  }
}

@media (min-width:1421px) {
  .services-book-preview-title {
    display: block;
    margin: 4px 0 8px;
    color: #dfd9ca;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 13.2px;
    line-height: 1.2;
    font-weight: 500;
  }

  .services-book-preview-link {
    font-size: 11.2px;
    line-height: 1.2;
  }

  .services-individual-section {
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    align-self: stretch;
  }

  .services-individual-head {
    display: flex;
    align-items: center;
    min-width: 0;
  }

  .services-individual-heading {
    flex: 0 0 auto;
    color: #cdb15f;
    font: 700 10.8px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing: .15em;
    text-transform: uppercase;
  }

  .services-individual-head-line {
    height: 1px;
    flex: 1 1 auto;
    min-width: 40px;
  }

  .services-individual-grid {
    display: grid;
    min-height: 0;
  }

  .services-individual-copy-card,
  .services-individual-example {
    position: relative;
    min-width: 0;
    border: 1px solid rgba(198,168,91,.34);
    box-shadow: inset 0 1px 0 rgba(236,205,119,.035);
    transition: border-color .22s ease,box-shadow .22s ease,background .22s ease;
  }

  .services-individual-copy-card {
    display: flex;
    flex-direction: column;
  }

  .services-individual-copy-card strong {
    display: block;
    color: #ebe6d9;
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 500;
    letter-spacing: -.01em;
  }

  .services-individual-copy-card p {
    margin: 10px 0 0;
    color: #aeb7b1;
    font-family: Georgia,"Times New Roman",serif;
  }

  .services-individual-example {
    color: inherit;
    text-decoration: none;
  }

  .services-individual-example-kicker {
    display: block;
  }

  .services-individual-example-media {
    position: relative;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(211,177,83,.42);
  }

  .services-individual-example-media::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
  }

  .services-individual-example-media img {
    display: block;
  }

  .services-individual-example-footer {
    display: grid;
    padding-top: 9px;
    color: #e1ddd2;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 12.5px;
    line-height: 1.2;
  }

  .services-individual-example-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(204,174,91,.4);
    color: #d3b96f;
    white-space: nowrap;
  }

  .services-individual-example-link i {
    font-style: normal;
  }

  .services-individual-copy-card:hover,
  .services-individual-copy-card:focus-within,
  .services-individual-example:hover,
  .services-individual-example:focus-visible {
    border-color: rgba(214,181,91,.56);
    background: rgba(11,43,33,.4);
    box-shadow: 0 10px 28px rgba(0,0,0,.1),inset 0 1px 0 rgba(238,207,122,.05);
  }

  .services-individual-example:focus-visible {
    outline: 1px solid rgba(226,191,94,.72);
    outline-offset: 2px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-book-preview-title {
    font-size: 12.2px;
    margin: 3px 0 6px;
  }

  .services-book-preview-link {
    font-size: 10.5px;
  }

  .services-secondary {
    grid-template-rows: auto auto minmax(174px,1fr);
  }

  .services-individual-copy-card p {
    margin-top: 8px;
  }

  .services-individual-example-kicker {
    font-size: 9.2px;
    margin-bottom: 6px;
  }

  .services-individual-example-media,
  .services-individual-example-media img {
    min-height: 92px;
  }

  .services-individual-example-footer {
    padding-top: 7px;
    font-size: 11.7px;
  }
}

@media (min-width:1421px) {
  .services-secondary {
    grid-template-rows: auto auto minmax(188px,auto);
  }

  .services-individual-section {
    gap: 11px;
  }

  .services-individual-head {
    gap: 14px;
  }

  .services-individual-head-line {
    background: linear-gradient(90deg,rgba(211,177,83,.38),rgba(211,177,83,.12));
  }

  .services-individual-grid {
    grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr);
    align-items: start;
    gap: 16px;
  }

  .services-individual-copy-card,
  .services-individual-example {
    border-color: rgba(198,168,91,.35);
    background: rgba(8,34,26,.34);
  }

  .services-individual-copy-card {
    align-self: start;
    justify-content: flex-start;
    min-height: 0;
    padding: 18px 19px 19px;
  }

  .services-individual-copy-card strong {
    max-width: 24ch;
    font-size: 18.5px;
    line-height: 1.2;
  }

  .services-individual-copy-card p {
    max-width: 37ch;
    margin-top: 9px;
    font-size: 12.7px;
    line-height: 1.46;
  }

  .services-individual-example {
    align-self: start;
    display: grid;
    grid-template-rows: minmax(112px,1fr) auto;
    padding: 9px;
    overflow: hidden;
  }

  .services-individual-example-media {
    min-height: 112px;
    border-color: rgba(207,177,96,.58);
    background: #061b15;
    box-shadow: inset 0 0 0 1px rgba(180,151,67,.07),0 8px 22px rgba(0,0,0,.18);
  }

  .services-individual-example-media::before {
    z-index: 2;
    background: radial-gradient(circle at 51% 47%,rgba(180,151,67,.075) 0%,rgba(6,27,21,.15) 28%,rgba(6,27,21,.48) 78%,rgba(4,18,13,.66) 100%),
      linear-gradient(180deg,rgba(6,27,21,.30),rgba(4,19,14,.50));
    box-shadow: inset 0 0 52px rgba(3,15,11,.34);
    transition: opacity .50s ease,background .50s ease,box-shadow .50s ease;
  }

  .services-individual-example-media img {
    position: absolute;
    inset: -7px;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    min-height: 0;
    object-fit: cover;
    object-position: center;
    opacity: 1;
    filter: blur(2.2px) saturate(.66) brightness(.58) contrast(.92);
    transform: scale(1.018);
    transition: filter .52s cubic-bezier(.22,.7,.24,1),transform .62s cubic-bezier(.22,.7,.24,1),opacity .45s ease;
  }

  .services-individual-example:hover .services-individual-example-media img,
  .services-individual-example:focus-visible .services-individual-example-media img {
    opacity: 1;
    filter: blur(1.15px) saturate(.77) brightness(.68) contrast(.94);
    transform: scale(1.045);
  }

  .services-individual-example:hover .services-individual-example-media::before,
  .services-individual-example:focus-visible .services-individual-example-media::before {
    opacity: .78;
    box-shadow: inset 0 0 42px rgba(3,15,11,.2);
  }

  .services-individual-example .services-project-play {
    z-index: 4;
    width: 58px;
    height: 58px;
    top: 50%;
    border-color: rgba(207,185,111,.95);
    background: rgba(5,24,18,.76);
    box-shadow: 0 8px 30px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.018);
  }

  .services-individual-example .services-project-play span {
    border-top-width: 8px;
    border-bottom-width: 8px;
    border-left-width: 13px;
    border-left-color: #cfb96f;
  }

  .services-individual-example:hover .services-project-play,
  .services-individual-example:focus-visible .services-project-play {
    transform: translate(-50%,-50%) scale(1.055);
    background: rgba(7,32,24,.91);
    border-color: #dbc985;
    box-shadow: 0 0 0 8px rgba(225,185,102,.035),0 12px 30px rgba(0,0,0,.20);
  }

  .services-individual-example-footer {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: end;
    gap: 10px 18px;
    padding: 10px 2px 1px;
  }

  .services-individual-example-copy {
    min-width: 0;
    display: grid;
    gap: 5px;
  }

  .services-individual-example-kicker {
    margin: 0;
    color: #cdb15f;
    font: 700 9.4px/1.1 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing: .145em;
    text-transform: uppercase;
  }

  .services-individual-example-title {
    display: block;
    max-width: 42ch;
    color: #e4dfd3;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 13.2px;
    line-height: 1.25;
    font-weight: 500;
  }

  .services-individual-example-link {
    align-self: end;
    margin-bottom: 1px;
    font-family: Inter,ui-sans-serif,system-ui,sans-serif;
    font-size: 11.3px;
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-individual-grid {
    gap: 13px;
  }

  .services-individual-copy-card {
    padding: 15px 16px 16px;
  }

  .services-individual-copy-card strong {
    font-size: 16.9px;
  }

  .services-individual-copy-card p {
    font-size: 11.9px;
  }

  .services-individual-example {
    grid-template-rows: minmax(100px,1fr) auto;
    padding: 8px;
  }

  .services-individual-example-media {
    min-height: 100px;
  }

  .services-individual-example .services-project-play {
    width: 52px;
    height: 52px;
  }

  .services-individual-example-title {
    font-size: 12.1px;
  }

  .services-individual-example-link {
    font-size: 10.7px;
  }
}

@media (min-width:1421px) {
  .services-individual-copy-link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 7px;
    margin-top: 14px;
    padding-bottom: 3px;
    border-bottom: 1px solid rgba(204,174,91,.40);
    color: #d3b96f;
    font-family: Georgia,"Times New Roman",serif;
    font-size: 12.1px;
    line-height: 1.2;
    text-decoration: none;
    transition: color .18s ease,border-color .18s ease;
  }

  .services-individual-copy-link i {
    font-style: normal;
    transition: transform .18s ease;
  }

  .services-individual-copy-link:hover,
  .services-individual-copy-link:focus-visible {
    color: #e2cc86;
    border-bottom-color: rgba(214,181,91,.66);
  }

  .services-individual-copy-link:hover i,
  .services-individual-copy-link:focus-visible i {
    transform: translate(2px,-2px);
  }
}

@media (min-width:1421px) and (max-width:1580px) {
  .services-individual-copy-link {
    margin-top: 11px;
    font-size: 11.3px;
  }
}

/* The desktop header is one tactile block. Its light may end only on the
   real horizontal header boundaries, never on an invented vertical edge. */
.header-shell-tactile {
  --header-side-bleed: 220px;
  overflow: visible;
}
.header-shell-tactile::after {
  inset: 0 calc(-1 * var(--header-side-bleed));
  background: radial-gradient(circle 160px at calc(var(--header-touch-x) + var(--header-side-bleed)) var(--header-touch-y),
    rgba(218,190,112,.115) 0%,
    rgba(117,153,126,.065) 35%,
    transparent 72%);
}

.accordion-item {
  padding-left: 0;
  padding-right: 0;
}

.accordion-item button {
  padding-left: 46px;
  padding-right: 46px;
}

.accordion-item.open .accordion-content {
  padding-left: 106px;
  padding-right: 92px;
}

@media (max-width:900px) {
  .accordion-item button {
    padding-left: 36px;
    padding-right: 36px;
  }
  .accordion-item.open .accordion-content {
    padding-left: 78px;
    padding-right: 66px;
  }
}

@media (max-width:640px) and (min-width:621px) {
  .accordion-item button {
    padding-left: 28px;
    padding-right: 28px;
  }
}

@media (max-width:620px) {
  .accordion-item button {
    padding-left: 24px;
    padding-right: 24px;
  }
  .accordion-item.open .accordion-content {
    padding-left: 64px;
    padding-right: 24px;
  }
}

/* FAQ tactile surface: the whole visible row is one framed interaction area. */

.accordion-item.tactile-surface {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.accordion-item.tactile-surface::after {
  content: "";
  position: absolute;
  z-index: 8;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle 245px at var(--touch-x) var(--touch-y),
    rgba(230,194,101,.095) 0%,
    rgba(139,170,136,.040) 36%,
    rgba(76,124,99,.014) 56%,
    transparent 76%);
  mix-blend-mode: screen;
  transition: opacity .26s ease;
}

.accordion-item.tactile-surface:hover::after,
.accordion-item.tactile-surface:focus-within::after {
  opacity: 1;
}

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


/* Anti-spam honeypot: visible to simple bots, off-screen for people. */
.hp-field {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* === PRODUCTION MOBILE PASS 2026-10-17 === */
/* Final mobile overrides deliberately live at the end of the stylesheet.
   They only touch phone/tablet layouts; desktop geometry is left intact. */

@media (max-width:900px) {
  /* Touch targets and predictable fixed overlays. */
  .menu-toggle {
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 10px 8px;
    justify-content: center;
    cursor: pointer;
  }

  .modal-close {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    right: 14px;
    top: 14px;
    font-size: 24px;
    background: #08251c;
  }

  /* Presentation: mobile is a real single-column composition, not a squeezed desktop grid. */
  .presentation-modal {
    width: calc(100vw - 12px);
    height: calc(100dvh - 12px);
    max-width: none;
    max-height: none;
    margin: auto;
  }

  .presentation-frame {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto auto auto;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  .presentation-rail {
    padding: 18px 58px 14px 16px;
    border-right: 0;
    border-bottom: 1px solid rgba(180,151,67,.21);
  }

  .presentation-rail-head {
    display: block;
    padding: 0;
    border: 0;
  }

  .presentation-kicker {
    margin: 0 0 8px;
    font-size: 11px;
    line-height: 1.2;
  }

  .presentation-rail h2 {
    width: 100%;
    max-width: none;
    margin: 0;
    font-size: clamp(27px,7.2vw,34px);
    line-height: 1.03;
    letter-spacing: -.025em;
  }

  .presentation-tabs {
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: 100%;
    margin: 16px 0 0;
    padding: 0 0 4px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    flex: 0 0 min(72vw,250px);
    min-height: 62px;
    height: auto;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 32px minmax(0,1fr);
    align-content: center;
    align-items: start;
    gap: 8px;
    border: 1px solid rgba(180,151,67,.14);
    border-bottom-color: rgba(180,151,67,.18);
    background: rgba(255,255,255,.012);
    scroll-snap-align: start;
  }

  .presentation-tabs button.active {
    border-color: rgba(209,185,113,.34);
    background: rgba(196,164,83,.035);
  }

  .presentation-tabs button::before,
  .presentation-tabs button.active::before {
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 2px;
    height: auto;
    background: transparent;
  }

  .presentation-tabs button.active::before {
    background: var(--presentation-gold-light);
  }

  .presentation-tabs button span {
    padding-top: 1px;
    font-size: 10.5px;
    line-height: 1.25;
  }

  .presentation-tabs button b,
  .presentation-tabs button.active b {
    font-size: 12.5px;
    line-height: 1.28;
    font-weight: 540;
  }

  .presentation-material {
    min-height: 0;
    padding: 14px 16px 16px;
    grid-template-rows: auto auto;
    border-bottom: 1px solid rgba(180,151,67,.16);
  }

  .presentation-material-head {
    min-height: 0;
    margin-bottom: 11px;
    display: block;
  }

  .presentation-material-head strong {
    font-size: 14px;
    line-height: 1.3;
  }

  .presentation-material-head small {
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.25;
  }

  .presentation-stage {
    width: 100%;
    min-height: 0;
    height: auto;
    aspect-ratio: 1.46 / 1;
    overflow: hidden;
  }

  .presentation-spread,
  .presentation-real-spread {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    aspect-ratio: auto;
  }

  .presentation-real-spread img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .presentation-arrow {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    background: rgba(6,27,21,.88);
  }

  .presentation-arrow.prev { left: 8px; }
  .presentation-arrow.next { right: 8px; }

  .presentation-copy {
    min-height: 0;
    padding: 26px 18px 22px;
    border-left: 0;
    border-top: 0;
    overflow: visible;
  }

  .presentation-copy-inner {
    min-height: 0;
    margin: 0;
    padding: 0;
  }

  .presentation-copy-index {
    margin-bottom: 10px;
  }

  .presentation-copy h3 {
    max-width: none;
    margin: 0;
    font-size: clamp(28px,7.7vw,34px);
    line-height: 1.05;
  }

  .presentation-copy [data-slide-text] {
    margin-top: 18px;
  }

  .presentation-copy [data-slide-text] p {
    font-size: 14.5px;
    line-height: 1.62;
  }

  .presentation-page-action {
    min-height: 0;
    padding: 0;
  }

  .presentation-page-link,
  .presentation-book-link {
    min-height: 44px;
    padding: 11px 0;
  }

  .presentation-actions {
    padding-top: 10px;
  }
}

@media (max-width:680px) {
  /* Header and menu */
  .site-header {
    z-index: 1000;
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    min-height: 72px;
    padding-left: 14px;
    padding-right: 10px;
    background: #08251c;
  }

  .header-editorial .brand-name {
    font-size: 21px;
  }

  .header-editorial .brand-sub {
    font-size: 9px;
    line-height: 1.2;
  }

  body.mobile-menu-open {
    overflow: hidden;
    touch-action: none;
  }

  .editorial-nav.open {
    position: fixed;
    z-index: 1001;
    left: 10px;
    right: 10px;
    top: 82px;
    bottom: 10px;
    width: auto;
    max-height: none;
    margin: 0;
    padding: 18px 20px 16px;
    gap: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #031812;
    background-image: none;
    border: 1px solid rgba(201,169,85,.31);
    border-radius: 3px;
    box-shadow: 0 28px 60px rgba(0,0,0,.48);
    backdrop-filter: none;
  }

  .editorial-nav.open .header-services {
    padding: 0;
    border-top: 0;
  }

  .editorial-nav.open .header-services .header-directions-trigger {
    min-height: 40px;
  }

  .editorial-nav.open .header-nav-title {
    font-size: 22px;
    line-height: 1.15;
    font-weight: 400;
  }

  .editorial-nav.open .header-services .header-directions-mobile {
    width: 100%;
    margin-top: 10px;
    gap: 0;
  }

  .editorial-nav.open .header-services .header-directions-mobile a {
    width: 100%;
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 5px 0;
    color: #c0c6c1;
    font-size: 13.5px;
    line-height: 1.28;
  }

  .editorial-nav.open .header-services .header-directions-mobile .mobile-service-flagship {
    color: #dfc77d;
    font-weight: 600;
  }

  .editorial-nav.open .header-utility-nav {
    width: 100%;
    margin-top: 10px;
    padding: 10px 0 0;
    gap: 0;
  }

  .editorial-nav.open .header-utility-nav > a {
    width: 100%;
    min-height: 38px;
    display: flex;
    align-items: center;
    padding: 5px 0;
    font-size: 15px;
    line-height: 1.25;
  }

  .editorial-nav.open .header-mobile-cta {
    width: 100%;
    min-height: 46px;
    margin-top: 8px;
    padding: 10px 0 2px;
    border-top: 1px solid rgba(201,169,85,.18);
    font-size: 15px;
  }

  /* General mobile rhythm */
  .section {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .interactive-meta h3 {
    font-size: 30px;
    line-height: 1.08;
    letter-spacing: -.02em;
  }

  .project-link,
  .review-open,
  .intake-word-link {
    display: inline-flex;
    align-items: center;
  }

  .footer-grid nav a,
  .footer-meta a {
    display: flex;
    align-items: center;
  }

  /* Presentation — phone-specific density. */
  .presentation-rail {
    padding: 16px 56px 12px 16px;
  }

  .presentation-tabs {
    margin-top: 14px;
  }

  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    flex-basis: min(76vw,238px);
    min-height: 60px;
  }

  .presentation-material {
    padding: 12px 12px 14px;
  }

  .presentation-stage {
    aspect-ratio: 1.43 / 1;
  }

  .presentation-copy {
    padding: 24px 16px 20px;
  }
}

@media (max-width:380px) {
  .editorial-nav.open {
    padding-left: 16px;
    padding-right: 16px;
  }

  .editorial-nav.open .header-services .header-directions-mobile a {
    font-size: 13px;
  }

  .presentation-rail h2 {
    font-size: 27px;
  }

  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    flex-basis: 250px;
  }

  .presentation-copy h3 {
    font-size: 28px;
  }
}

/* Mobile pass — final flow corrections after rendered-device check. */
@media (max-width:900px) {
  .presentation-copy {
    display: block;
    height: auto;
  }

  .presentation-copy-inner,
  .presentation-page-action,
  .presentation-actions {
    flex: none;
  }

  .presentation-copy-inner {
    overflow: visible;
  }

  .presentation-page-action {
    margin-top: 22px;
  }

  .presentation-actions {
    margin-top: 10px;
  }
}

@media (max-width:680px) {
  .editorial-nav.open {
    display: block;
  }

  .editorial-nav.open .header-services {
    flex: 0 0 auto;
    justify-content: flex-start;
  }
}


/* Mobile pass — final narrow-screen polish after 320–430 px audit. */
@media (max-width:680px) {
  /* Keep the close-button clearance only on the title; the tab rail may use the full card width. */
  .presentation-rail {
    padding-right: 16px;
  }

  .presentation-rail h2 {
    padding-right: 48px;
  }

  .project-link,
  .review-open,
  .intake-word-link {
    min-height: 44px;
  }

  .lead-form input[type="checkbox"] {
    width: 20px;
    height: 20px;
  }

  .footer-grid nav a,
  .footer-meta a {
    min-height: 36px;
  }
}

/* === PRESENTATION MOBILE V2 — 2026-10-17 ===
   Phone/tablet presentation is deliberately a separate composition.
   It is a linear deck with a compact 01–06 navigator; no squeezed desktop columns. */
.presentation-mobile-section { display: none; }

@media (max-width:900px), (max-width:1100px) and (pointer:coarse) {
  .presentation-modal {
    border-width: 0;
  }

  .presentation-frame {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100%;
    height: 100%;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: auto;
    background: #071f18;
  }

  .presentation-rail,
  .presentation-material,
  .presentation-copy {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    height: auto;
  }

  .modal-close {
    position: fixed;
    z-index: 30;
    top: max(10px, env(safe-area-inset-top));
    right: max(10px, env(safe-area-inset-right));
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    background: rgba(6,29,22,.97);
    backdrop-filter: none;
  }

  .presentation-rail {
    padding: max(18px, env(safe-area-inset-top)) 16px 13px;
    border-right: 0;
    border-bottom: 1px solid rgba(180,151,67,.20);
    background: #071e17;
  }

  .presentation-rail-head {
    display: block;
    padding: 0 52px 0 0;
    border: 0;
  }

  .presentation-kicker {
    margin: 0 0 7px;
    font-size: 10.5px;
    line-height: 1.2;
    letter-spacing: .145em;
  }

  .presentation-rail h2 {
    max-width: 15ch;
    padding: 0;
    font-size: clamp(27px, 7.6vw, 34px);
    line-height: 1.02;
    letter-spacing: -.025em;
  }

  .presentation-tabs {
    display: grid;
    grid-template-columns: repeat(6, minmax(0,1fr));
    gap: 6px;
    width: 100%;
    margin: 15px 0 0;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    height: 46px;
    padding: 0;
    display: grid;
    place-items: center;
    grid-template-columns: 1fr;
    border: 1px solid rgba(180,151,67,.15);
    background: rgba(255,255,255,.01);
    scroll-snap-align: none;
  }

  .presentation-tabs button.active {
    border-color: rgba(209,185,113,.48);
    background: rgba(196,164,83,.055);
  }

  .presentation-tabs button::before,
  .presentation-tabs button.active::before {
    left: 7px;
    right: 7px;
    top: auto;
    bottom: 0;
    width: auto;
    height: 2px;
  }

  .presentation-tabs button.active::before {
    background: var(--presentation-gold-light);
  }

  .presentation-tabs button span {
    padding: 0;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .08em;
  }

  /* Full labels remain available through aria-label; the active label is printed below the navigator. */
  .presentation-tabs button b {
    display: none;
  }

  .presentation-mobile-section {
    display: block;
    margin: 11px 0 0;
    color: #d9d4c8;
    font-family: Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
  }

  .presentation-material {
    display: block;
    min-height: 0;
    padding: 14px 12px 14px;
    border-bottom: 1px solid rgba(180,151,67,.16);
    background: #09231b;
  }

  .presentation-material-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    min-height: 0;
    margin: 0 4px 10px;
  }

  .presentation-material-head-left {
    display: flex;
    align-items: flex-start;
    text-align: left;
  }

  .presentation-material-head strong {
    font-size: 14px;
    line-height: 1.28;
  }

  .presentation-material-head small {
    margin-top: 3px;
    font-size: 9.5px;
    line-height: 1.2;
  }

  .presentation-stage {
    display: grid;
    place-items: center;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1800 / 1277;
    overflow: hidden;
  }

  .presentation-spread,
  .presentation-real-spread {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    aspect-ratio: auto;
  }

  .presentation-real-spread img,
  .presentation-spread img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .presentation-arrow {
    z-index: 5;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    background: rgba(5,25,19,.92);
  }

  .presentation-arrow.prev { left: 7px; }
  .presentation-arrow.next { right: 7px; }

  .presentation-copy {
    display: block !important;
    min-height: 0;
    padding: 24px 18px max(20px, env(safe-area-inset-bottom));
    overflow: visible;
    border: 0;
    background: #071f18;
  }

  .presentation-copy-inner {
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .presentation-copy-index {
    margin: 0 0 9px;
    font-size: 11px;
  }

  .presentation-copy h3 {
    max-width: 18ch;
    margin: 0;
    font-size: clamp(28px,7.8vw,34px);
    line-height: 1.03;
  }

  .presentation-copy [data-slide-text] {
    margin-top: 17px;
  }

  .presentation-copy [data-slide-text] p {
    font-size: 14px;
    line-height: 1.62;
  }

  .presentation-page-action {
    min-height: 0;
    margin: 20px 0 0;
    padding: 0;
  }

  .presentation-page-link {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 12px 14px;
    justify-content: center;
    text-align: center;
    white-space: normal;
    line-height: 1.35;
  }

  .presentation-actions {
    margin: 14px 0 0;
    padding-top: 10px;
  }

  .presentation-book-link {
    min-height: 44px;
    padding: 10px 0;
  }
}

/* A short landscape viewport must never turn the deck into overlapping desktop layers. */
@media (orientation:landscape) and (max-height:600px) and (pointer:coarse) {
  .presentation-rail {
    padding: 9px max(58px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));
  }

  .presentation-rail-head {
    padding-right: 0;
  }

  .presentation-kicker {
    margin-bottom: 3px;
    font-size: 8.5px;
  }

  .presentation-rail h2 {
    max-width: none;
    line-height: 1.02;
  }

  .presentation-tabs {
    gap: 5px;
  }

  .modal-close {
    top: max(7px, env(safe-area-inset-top));
    right: max(7px, env(safe-area-inset-right));
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
  }

  .presentation-material {
    padding: 8px max(10px, env(safe-area-inset-right)) 10px max(10px, env(safe-area-inset-left));
  }

  .presentation-material-head {
    margin-bottom: 6px;
  }

  .presentation-material-head strong {
    font-size: 11.5px;
  }

  .presentation-material-head small {
    display: none;
  }

  .presentation-stage {
    aspect-ratio: auto;
  }

  .presentation-copy {
    padding: 18px max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  }

  .presentation-copy h3 {
    font-size: 27px;
  }
}

/* === MOBILE FINAL QA — landscape containment ===
   Keep the real spread fully visible in short phone landscape viewports. */
@media (max-width:900px), (max-width:1100px) and (pointer:coarse) {
  .presentation-real-spread img,
  .presentation-spread img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center;
  }
}

@media (orientation:landscape) and (max-height:600px) and (pointer:coarse) {
  .presentation-kicker { display: none; }
  .presentation-rail h2 { font-size: 19px; }
  .presentation-tabs { margin-top: 6px; }
  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    min-height: 34px;
    height: 34px;
  }
  .presentation-mobile-section {
    margin-top: 5px;
    font-size: 10.5px;
  }
  .presentation-stage {
    height: clamp(205px, 62dvh, 255px);
  }
  .presentation-stage { position: relative; }
  .presentation-spread,
  .presentation-real-spread {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden;
  }
  .presentation-real-spread img,
  .presentation-spread img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }
}


/* === PRESENTATION MOBILE V4 — LANDSCAPE DECK ===
   Mobile presentation is intentionally landscape-only. Portrait is a clean rotate gate;
   landscape is a two-zone composition: the real spread on the left, commentary on the right. */
.presentation-rotate-gate,
.presentation-copy-kicker { display: none; }

@media (max-width:900px), (max-width:1100px) and (pointer:coarse) {
  .presentation-modal {
    width: 100vw;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: #061b15;
  }

  /* No arrow chrome on touch devices: sections are changed by a horizontal swipe. */
  .presentation-arrow { display: none !important; }

  .presentation-copy-kicker {
    color: var(--presentation-gold);
    font: 650 9px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing: .145em;
    text-transform: uppercase;
  }
}

@media (max-width:900px) and (orientation:portrait) {
  .presentation-frame { display: none !important; }

  .presentation-rotate-gate {
    display: flex;
    width: 100%;
    height: 100%;
    padding: max(28px,env(safe-area-inset-top)) 28px max(30px,env(safe-area-inset-bottom));
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background:
      radial-gradient(circle at 50% 42%,rgba(183,148,70,.065),transparent 34%),
      #061b15;
  }

  .presentation-rotate-icon {
    width: 76px;
    height: 52px;
    margin-bottom: 28px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(196,166,86,.28);
    color: #cbb26e;
    font: 400 30px/1 Georgia,serif;
    transform: rotate(-8deg);
  }

  .presentation-rotate-icon span { transform: rotate(8deg); }
  .presentation-rotate-kicker {
    margin: 0 0 12px;
    color: #bfa45f;
    font: 650 10px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing: .16em;
    text-transform: uppercase;
  }
  .presentation-rotate-gate h2 {
    margin: 0;
    color: #eee9dc;
    font: 400 clamp(34px,10vw,48px)/1.02 Georgia,"Times New Roman",serif;
    letter-spacing: -.025em;
  }
  .presentation-rotate-gate > p:not(.presentation-rotate-kicker) {
    max-width: 28ch;
    margin: 16px 0 0;
    color: #9daba2;
    font: 400 14px/1.55 Inter,ui-sans-serif,system-ui,sans-serif;
  }
  .presentation-modal .modal-close {
    position: fixed;
    z-index: 50;
    top: max(10px,env(safe-area-inset-top));
    right: max(10px,env(safe-area-inset-right));
  }
}

@media (max-width:900px) and (orientation:landscape) {
  .presentation-rotate-gate { display: none !important; }

  .presentation-frame {
    display: grid !important;
    width: 100%;
    height: 100dvh;
    min-height: 0;
    overflow: hidden;
    background: #071f18;
  }

  /* The former navigation rail is desktop-only. On a phone it only wastes height. */

  .presentation-material {
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: max(9px,env(safe-area-inset-top)) 10px max(9px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    border: 0;
    border-right: 1px solid rgba(180,151,67,.17);
    background: #09231b;
  }

  .presentation-material-head {
    min-height: 34px;
    margin: 0 48px 6px 2px;
    display: flex;
    align-items: center;
  }
  .presentation-material-head-left {
    min-width: 0;
    align-items: flex-start;
    text-align: left;
    gap: 1px;
  }
  .presentation-material-head strong {
    max-width: 100%;
    color: #cbb06b;
    font-size: clamp(11px,1.8vw,14px);
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .presentation-material-head small {
    display: block;
    color: #788b80;
    font-size: 7.5px;
    line-height: 1.1;
    letter-spacing: .1em;
  }

  .presentation-stage {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    overflow: hidden;
    border-color: rgba(180,151,67,.15);
    background: #082119;
  }
  .presentation-spread,
  .presentation-real-spread {
    position: absolute !important;
    inset: 7px !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid;
    place-items: center;
    overflow: hidden;
  }
  .presentation-real-spread img,
  .presentation-spread img {
    position: static !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center;
  }

  .presentation-copy {
    display: flex !important;
    flex-direction: column;
    width: auto;
    height: 100%;
    min-width: 0;
    min-height: 0;
    padding: max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 0;
    background: #061d16;
  }
  .presentation-copy-inner {
    min-height: 0;
    margin: 0;
    padding: 0 34px 0 0;
    overflow: visible;
  }
  .presentation-copy-kicker {
    display: block;
    margin: 0 0 8px;
  }
  .presentation-copy-index {
    margin: 0 0 7px;
    color: #bfa45f;
    font-size: 9px;
    line-height: 1;
    letter-spacing: .1em;
  }
  .presentation-copy h3 {
    max-width: 12ch;
    margin: 0;
    color: #eee9dc;
    font-size: clamp(22px,3.3vw,34px);
    line-height: .98;
    letter-spacing: -.025em;
  }
  .presentation-copy [data-slide-text] {
    margin-top: 12px;
  }
  .presentation-copy [data-slide-text] p {
    color: #aebbb3;
    font-size: clamp(11px,1.55vw,13px);
    line-height: 1.47;
  }
  .presentation-copy [data-slide-text] p + p { margin-top: 8px; }
  .presentation-callout {
    margin-top: 10px;
    padding: 8px 0;
    font-size: 9px;
    line-height: 1.4;
  }
  .presentation-page-action {
    min-height: 0;
    margin: 12px 0 0;
    padding: 0;
  }
  .presentation-page-link {
    min-height: 38px;
    margin: 0;
    padding: 9px 10px;
    font-size: 8.5px;
    line-height: 1.25;
    white-space: normal;
  }
  .presentation-actions {
    margin: 10px 0 0;
    padding-top: 8px;
  }
  .presentation-book-link {
    min-height: 34px;
    padding: 7px 0;
    font-size: 8.5px;
  }
  .presentation-actions > p {
    margin-top: 4px;
    font-size: 7px;
  }
  .presentation-modal .modal-close {
    position: fixed;
    z-index: 50;
    top: max(7px,env(safe-area-inset-top));
    right: max(7px,env(safe-area-inset-right));
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    background: rgba(5,24,18,.94);
  }
}

@media (max-width:720px) and (orientation:landscape) {
  .presentation-material { padding-right: 7px; }
  .presentation-copy { padding-left: 13px; }
  .presentation-copy-inner { padding-right: 31px; }
  .presentation-copy h3 { font-size: 23px; }
  .presentation-copy [data-slide-text] p { font-size: 10.5px; line-height: 1.42; }
  .presentation-page-link { font-size: 8px; }
}

.presentation-modal, .presentation-modal:focus { outline: none !important; }

@media (max-width:900px), (max-width:1100px) and (pointer:coarse) {
  .presentation-modal .modal-close:focus,
  .presentation-modal .modal-close:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: rgba(196,164,82,.24);
  }
}

/* === PRESENTATION MOBILE V5 — RESTORE SECTION NAV ===
   Keep the landscape deck, but restore the six-section navigator as a compact,
   deliberate top rail. Swipe remains available; the rail gives orientation and direct access. */
@media (max-width:900px) and (orientation:landscape) {

  .presentation-rail {
    padding: 6px max(52px,env(safe-area-inset-right)) 5px max(12px,env(safe-area-inset-left));
    border-bottom: 1px solid rgba(180,151,67,.18);
  }
}

@media (max-width:720px) and (orientation:landscape) {
  .presentation-rail { padding-top: 5px; padding-bottom: 5px; }
  .presentation-tabs { height: 29px; }
  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus { min-height: 29px; height: 29px; }
}

/* === PRESENTATION MOBILE V6 — LEFT SECTION RAIL ===
   On phone landscape the 01–06 navigator belongs on the left edge, not above the deck.
   This preserves vertical space and makes the hierarchy unambiguous:
   sections | real book spread | commentary. */
@media (max-width:900px) and (orientation:landscape) {
  .presentation-frame {
    grid-template-columns: 46px minmax(0,1fr) minmax(238px,.86fr) !important;
    grid-template-rows: minmax(0,1fr) !important;
  }

  .presentation-rail {
    display: block !important;
    grid-column: 1;
    grid-row: 1;
    width: 46px;
    min-width: 46px;
    min-height: 0;
    padding: max(8px,env(safe-area-inset-top)) 5px max(8px,env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));
    border: 0;
    border-right: 1px solid rgba(180,151,67,.18);
    background: #061d16;
    box-sizing: border-box;
  }

  .presentation-rail-head,
  .presentation-mobile-section { display: none !important; }

  .presentation-tabs {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(6,minmax(0,1fr));
    gap: 5px;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
  }

  .presentation-tabs button,
  .presentation-tabs button.active,
  .presentation-tabs button:focus {
    width: 100%;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(180,151,67,.13);
    background: rgba(255,255,255,.008);
    box-shadow: none;
  }

  .presentation-tabs button::before,
  .presentation-tabs button.active::before { display: none !important; }

  .presentation-tabs button span {
    padding: 0;
    color: #84948b;
    font: 650 9px/1 Inter,ui-sans-serif,system-ui,sans-serif;
    letter-spacing: .08em;
  }
  .presentation-tabs button b { display: none !important; }
  .presentation-tabs button.active {
    border-color: rgba(209,185,113,.52);
    background: rgba(196,164,83,.075);
  }
  .presentation-tabs button.active span { color: #d4bd78; }

  .presentation-material {
    grid-column: 2;
    grid-row: 1;
  }
  .presentation-copy {
    grid-column: 3;
    grid-row: 1;
  }
}

@media (max-width:720px) and (orientation:landscape) {
  .presentation-frame {
    grid-template-columns: 42px minmax(0,1fr) minmax(226px,.92fr) !important;
    grid-template-rows: minmax(0,1fr) !important;
  }
  .presentation-rail {
    width: 42px;
    min-width: 42px;
    padding-left: max(4px,env(safe-area-inset-left));
    padding-right: 4px;
  }
  .presentation-tabs { gap: 4px; }
  .presentation-tabs button span { font-size: 8.5px; }
}

/* === MOBILE LANDSCAPE SITE PASS V7 ===
   Phone landscape is its own layout. Keep text sizing deterministic (Android browsers
   otherwise enlarge text after rotation), compact the persistent header and vertical rhythm.
   Presentation rules are intentionally not touched here. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (orientation:landscape) and (max-height:560px) and (max-width:950px) {
  .site-header,
  .site-header.scrolled {
    padding-top: max(4px, env(safe-area-inset-top));
    background: #061d16;
    border-bottom-color: rgba(180,151,67,.24);
    backdrop-filter: none;
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    width: min(calc(100% - 16px), var(--max));
    min-height: 54px;
    padding: 0 10px 0 12px;
    gap: 10px;
    background: #071f18;
    border: 1px solid rgba(180,151,67,.21);
  }

  .header-editorial .brand-name {
    font-size: 18px;
    line-height: 1;
  }
  .header-editorial .brand-sub {
    margin-top: 5px;
    font-size: 7.5px;
    line-height: 1.1;
    letter-spacing: .15em;
  }
  .header-editorial .menu-toggle {
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 9px 7px;
  }

  /* Full-height landscape menu starts below the compact header instead of covering it. */
  .editorial-nav.open {
    position: fixed;
    left: 8px;
    right: 8px;
    top: calc(max(4px, env(safe-area-inset-top)) + 60px);
    bottom: 8px;
    max-height: none;
    padding: 12px 16px 12px;
    gap: 0;
    overflow-y: auto;
    background: #031812;
  }
  .editorial-nav.open .header-services .header-directions-trigger {
    min-height: 30px;
  }
  .editorial-nav.open .header-nav-title {
    font-size: 17px;
    line-height: 1.1;
  }
  .editorial-nav.open .header-services .header-directions-mobile {
    margin-top: 6px;
  }
  .editorial-nav.open .header-services .header-directions-mobile a {
    min-height: 27px;
    padding: 3px 0;
    font-size: 11.5px;
    line-height: 1.2;
  }
  .editorial-nav.open .header-utility-nav {
    margin-top: 7px;
    padding-top: 7px;
  }
  .editorial-nav.open .header-utility-nav > a {
    min-height: 30px;
    padding: 3px 0;
    font-size: 12.5px;
  }
  .editorial-nav.open .header-mobile-cta {
    min-height: 36px;
    margin-top: 5px;
    padding: 7px 0 0;
    font-size: 12.5px;
  }

  /* Main page: landscape should read like a compact desktop strip, not a zoomed portrait page. */
  main {
    font-size: 14px;
  }
  .shell {
    width: min(calc(100% - 28px), var(--max));
  }
  .section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .hero {
    min-height: auto;
    padding-top: 72px;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .hero-copy {
    padding: 28px 0 34px;
  }
  .hero-quiet {
    display: none;
  }
  h1 {
    max-width: 13ch;
    font-size: clamp(35px, 6.2vw, 44px);
    line-height: .98;
  }
  h2 {
    font-size: clamp(29px, 4.7vw, 36px);
    line-height: 1.02;
  }
  h3 {
    font-size: clamp(22px, 3.5vw, 27px);
  }
  .lead {
    max-width: 660px;
    font-size: 14px;
    line-height: 1.55;
  }
  .actions {
    margin-top: 20px;
  }
  .button,
  .action-primary,
  .price-cta {
    min-height: 42px;
  }

  .price-card,
  .price-card:nth-child(2) {
    min-height: 0;
    padding: 28px;
  }
  .process-top,
  .faq-layout,
  .cta-grid {
    gap: 34px;
  }
  .result-preview,
  .result-copy,
  .interactive-meta,
  .interactive-visual {
    padding: 24px;
  }
  .review-grid blockquote:first-child,
  .review-grid blockquote:not(:first-child) {
    min-height: 0;
  }
  .review-grid blockquote p {
    font-size: 22px;
  }

  .site-footer {
    font-size: 13px;
  }
  .flagship-narrative p { font-size: 14px; line-height: 1.65; }
  .flagship-option { padding: 26px 28px; }
  .flagship-option-top h3 { min-height: 0; font-size: 28px; }
  .flagship-result { margin-top: 54px; padding-top: 46px; }
  .result-heading { margin-bottom: 26px; }
  .result-heading h3 { font-size: 31px; }
  .interactive-meta h3 { font-size: 26px; }
  .faq-lead { font-size: 14px; line-height: 1.55; }
  .lead-form { padding: 24px; }
}

/* The landscape site text-stability fix must not alter the already-approved presentation. */
.presentation-modal,
.presentation-modal * {
  -webkit-text-size-adjust: auto;
  text-size-adjust: auto;
}

/* === MOBILE SCROLL FEEL V8 ===
   Keep native touch inertia. On coarse pointers avoid the expensive per-frame material-gradient
   repaint used by the desktop header; use compositor-friendly motion and the existing editorial
   reveal instead. This improves actual frame pacing without hijacking touch scrolling. */
@media (hover:none) and (pointer:coarse), (max-width:1100px) {
  .tactile-surface::after,
  .header-tactile::after {
    display: none !important;
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    transition: border-color .22s ease,
                box-shadow .22s ease,
                background-color .22s ease;
  }

  .header-editorial > .brand,
  .header-editorial > .menu-toggle {
    transform: translate3d(0,0,0);
    transition: transform .22s cubic-bezier(.2,.72,.2,1);
  }
  .site-header.mobile-scroll-down .header-editorial > .brand,
  .site-header.mobile-scroll-down .header-editorial > .menu-toggle {
    transform: translate3d(0,-1px,0);
  }
  .site-header.mobile-scroll-up .header-editorial > .brand,
  .site-header.mobile-scroll-up .header-editorial > .menu-toggle {
    transform: translate3d(0,0,0);
  }

  @media (prefers-reduced-motion:no-preference) {
    html.motion-enhanced .section-reveal:not(.is-visible) {
      opacity: 0;
      transform: translate3d(0,14px,0);
    }
    html.motion-enhanced .section-reveal {
      transition: opacity .46s ease var(--entry-delay,0ms),
                  transform .58s cubic-bezier(.2,.72,.2,1) var(--entry-delay,0ms);
    }
  }
}

/* Landscape mobile menu needs an explicit block height: older header grid rules can otherwise
   leave the fixed nav with its intrinsic one-line height after rotation. */
@media (orientation:landscape) and (max-height:560px) and (max-width:950px) {
  .editorial-nav.open {
    height: calc(100dvh - 72px) !important;
    min-height: calc(100dvh - 72px) !important;
    max-height: calc(100dvh - 72px) !important;
  }
}

/* === MOBILE EDITORIAL PASS V9 ===
   Mobile is an independent composition, not a scaled desktop.
   Presentation and book viewer intentionally remain untouched. */
.mobile-menu-main,
.mobile-menu-backdrop { display:none; }

@media (max-width:900px) {
  body.mobile-menu-open { overflow:hidden; }

  /* Header: desktop brand language, mobile geometry. */
  .site-header,
  .site-header.scrolled {
    padding-top:max(8px,env(safe-area-inset-top));
    z-index:70;
    background:transparent;
  }
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    position:relative;
    z-index:74;
    width:min(calc(100% - 20px),var(--max));
    min-height:76px;
    padding:0 14px 0 16px;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:12px;
    border:1px solid rgba(180,151,67,.20);
    background:linear-gradient(180deg,rgba(14,47,35,.96),rgba(6,29,22,.97));
    box-shadow:0 10px 28px rgba(0,0,0,.17),inset 0 1px 0 rgba(205,178,103,.16);
    transition:min-height .26s cubic-bezier(.2,.72,.2,1),background-color .22s ease,border-color .22s ease,box-shadow .22s ease;
  }
  .header-editorial .brand {
    padding:0;
    border:0;
    justify-self:start;
    min-width:0;
  }
  .header-editorial .brand-name {
    color:#e8e3d7;
    font-family:Georgia,serif;
    line-height:1;
    font-weight:400;
    white-space:nowrap;
  }
  .header-editorial .brand-sub {
    max-height:16px;
    margin-top:6px;
    overflow:hidden;
    color:#7f8d86;
    line-height:1.1;
    opacity:1;
    transform:translateY(0);
    transition:max-height .22s ease,margin .22s ease,opacity .18s ease,transform .22s ease;
  }
  .site-header.scrolled .header-inner.header-editorial {
    border-color:rgba(180,151,67,.24);
  }

  .header-editorial .menu-toggle {
    position:relative;
    z-index:76;
    display:flex;
    align-items:stretch;
    justify-content:center;
    justify-self:end;
    border:0;
    background:transparent;
  }
  .header-editorial .menu-toggle span:not(.sr-only) {
    height:1px;
    width:100%;
    background:#d7d2c5;
    transform-origin:center;
    transition:transform .24s cubic-bezier(.2,.72,.2,1),opacity .16s ease;
  }
  .header-editorial .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2) { opacity:0; }

  .mobile-menu-backdrop {
    position:fixed;
    inset:0;
    z-index:68;
    border:0;
    padding:0;
  }
  body.mobile-menu-open .mobile-menu-backdrop { display:block; }

  .editorial-nav.open {
    z-index:72;
    display:block;
    top:calc(max(8px,env(safe-area-inset-top)) + 84px);
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0;
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    border:1px solid rgba(180,151,67,.22);
    border-radius:2px;
  }
  .editorial-nav.open > .header-services,
  .editorial-nav.open > .header-utility-nav,
  .editorial-nav.open > .header-mobile-cta { display:none !important; }

  .editorial-nav.open .mobile-menu-main {
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
  }
  .mobile-menu-link {
    display:flex;
    align-items:center;
    font-family:Georgia,serif;
    font-weight:400 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
  }
  .mobile-menu-contact a {
    display:inline-flex;
    align-items:center;
    font-family:Georgia,serif;
    line-height:1.2;
    letter-spacing:0 !important;
    text-transform:none !important;
  }

  /* Main mobile rhythm: one spacing scale instead of per-block drift. */
  .section { padding-top:72px; padding-bottom:72px; }
  .section .section-label,
  .section .eyebrow { margin-bottom:14px; }
  .section h2 { margin-bottom:22px; }
  .process-intro > p:last-child,
  .other-heading > p:last-child,
  .result-heading > p:last-child { margin-top:22px; }
  .flagship-intro { margin-bottom:44px; }
  .flagship-result { margin-top:70px; padding-top:58px; }
  .result-heading { margin-bottom:32px; }
  .other-heading { margin-bottom:38px; }
  .individual-price-note { margin-top:28px; }

  /* Key book/image moments breathe wider than the reading column. */
  .result-stage {
    width:calc(100% + 20px);
    margin-left:-10px;
    margin-right:-10px;
  }
  .interactive-live-preview {
    margin-left:-6px;
    margin-right:-6px;
  }

  /* FAQ: symmetric page composition and a deliberate question → answer pause. */
  .faq .shell { width:min(calc(100% - 44px),var(--max)); }
  .faq-intro {
    text-align:left;
  }
  .faq-intro .eyebrow { justify-content:flex-start; }
  .accordion {
    border-top-color:rgba(180,151,67,.22);
  }
  .accordion-item { padding:0; }
  .accordion-item button b {
    padding-top:0;
  }
  .accordion-content p+p { margin-top:16px; }
}

/* Phone landscape: compact 56px brand bar + right-side drawer. */
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    min-height:54px;
    border-color:rgba(180,151,67,.20);
  }

  .editorial-nav.open {
    top:calc(max(4px,env(safe-area-inset-top)) + 62px);
    bottom:max(8px,env(safe-area-inset-bottom));
    border-color:rgba(180,151,67,.24);
  }

  /* Landscape rhythm: preserve hierarchy without portrait-scale air. */
  .section { padding-top:48px; padding-bottom:48px; }

  .result-stage {
    width:calc(100% + 12px);
    margin-left:-6px;
    margin-right:-6px;
  }
}
@media (max-width:900px) {
  .mobile-menu-backdrop { inset:calc(max(8px,env(safe-area-inset-top)) + 84px) 0 0; }
}
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .mobile-menu-backdrop { inset:calc(max(4px,env(safe-area-inset-top)) + 62px) 0 0; }
}


/* === MOBILE REFINEMENT PASS V10 ===
   Goal: lighter collapsed portrait header, integrated full-screen mobile menu,
   more generous FAQ geometry, and a stronger landscape menu composition.
   Presentation and book viewer intentionally remain untouched. */
@media (max-width:900px) {
  .site-header,
  .site-header.scrolled {
    padding-top:max(6px,env(safe-area-inset-top));
  }

  .site-header .header-inner.header-editorial {
    --mobile-header-h: 78px;
    padding:0 14px 0 16px;
    border-radius:3px;
  }

  .site-header.scrolled .header-inner.header-editorial {
    --mobile-header-h: 66px;
    padding:0 12px 0 14px;
  }

  .header-editorial .brand-sub {
    font-size:9.3px;
    letter-spacing:.16em;
  }

  .site-header.scrolled .header-editorial .brand-sub {
    max-height:0;
    margin-top:0;
    opacity:0;
    transform:translateY(-2px);
  }

  .header-editorial .menu-toggle {
    width:40px;
    height:40px;
    min-width:40px;
    padding:10px 8px;
    gap:4px;
  }

  .header-editorial .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1) {
    transform:translateY(5px) rotate(45deg);
  }
  .header-editorial .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3) {
    transform:translateY(-5px) rotate(-45deg);
  }

  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    --mobile-header-h: 78px;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
    box-shadow:0 14px 30px rgba(0,0,0,.16),inset 0 1px 0 rgba(205,178,103,.16);
  }
  body.mobile-menu-open .header-editorial .brand-sub {
    max-height:16px;
    margin-top:6px;
    opacity:1;
    transform:none;
  }

  .mobile-menu-backdrop {
    background:rgba(0,7,5,.72);
    backdrop-filter:blur(3px);
  }

  .editorial-nav.open {
    position:absolute;
    left:-1px;
    right:-1px;
    top:calc(var(--mobile-header-h) - 1px);
    bottom:auto;
    width:auto;
    max-height:calc(100dvh - max(6px,env(safe-area-inset-top)) - var(--mobile-header-h) - 12px);
    min-height:min(560px,calc(100dvh - max(6px,env(safe-area-inset-top)) - var(--mobile-header-h) - 12px));
    border-top:0;
    border-top-left-radius:0;
    border-top-right-radius:0;
    background:linear-gradient(180deg,rgba(5,24,18,.99) 0%,rgba(3,17,13,.995) 100%);
    box-shadow:0 28px 58px rgba(0,0,0,.34), inset 0 1px 0 rgba(213,181,98,.08);
  }

  .editorial-nav.open .mobile-menu-main {
    min-height:100%;
    padding:18px 22px 22px;
    gap:0;
  }

  .mobile-menu-link {
    position:relative;
    min-height:62px;
    padding:12px 0;
    border-bottom:0;
    color:#e6e1d5 !important;
    font-size:20px !important;
    line-height:1.16;
  }

  .mobile-menu-link::after,
  .mobile-menu-contact::before {
    content:"";
    display:block;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,transparent 0%,rgba(206,177,97,.20) 14%,rgba(225,198,122,.34) 50%,rgba(206,177,97,.20) 86%,transparent 100%);
    box-shadow:0 0 10px rgba(214,184,102,.08);
  }

  .mobile-menu-link--accent {
    color:#d3af63 !important;
  }

  .mobile-menu-contact {
    position:relative;
    margin-top:auto;
    padding-top:20px;
    border-top:0;
  }

  .mobile-menu-contact a {
    min-height:44px;
    color:#d9bc71 !important;
    font-size:18px !important;
  }

  .faq .shell {
    width:min(calc(100% - 34px),var(--max));
  }

  .accordion-item button {
    gap:18px;
  }

  .accordion-item button:before {
    padding-top:4px;
  }

  .accordion-content .faq-lead {
    margin-bottom:10px;
  }
}

@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .site-header,
  .site-header.scrolled {
    padding-top:max(4px,env(safe-area-inset-top));
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    --mobile-header-h: 56px;
    width:calc(100% - 16px);
    min-height:var(--mobile-header-h);
    padding:0 10px 0 14px;
    grid-template-columns:minmax(0,1fr) 40px;
    gap:12px;
  }

  .header-editorial .brand-name,
  .site-header.scrolled .header-editorial .brand-name {
    font-size:18px;
  }

  .header-editorial .brand-sub,
  .site-header.scrolled .header-editorial .brand-sub {
    max-height:0;
    margin:0;
    opacity:0;
  }

  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    --mobile-header-h: 58px;
    min-height:var(--mobile-header-h);
  }

  body.mobile-menu-open .header-editorial .brand-sub {
    max-height:14px;
    margin-top:4px;
    opacity:1;
  }

  .header-editorial .menu-toggle {
    width:38px;
    height:38px;
    min-width:38px;
    padding:9px 7px;
  }

  .editorial-nav.open {
    left:-1px;
    right:-1px;
    top:calc(var(--mobile-header-h) - 1px);
    width:auto;
    min-height:calc(100dvh - max(4px,env(safe-area-inset-top)) - var(--mobile-header-h) - 8px);
    max-height:calc(100dvh - max(4px,env(safe-area-inset-top)) - var(--mobile-header-h) - 8px);
    padding:0;
  }

  .editorial-nav.open .mobile-menu-main {
    display:grid;
    align-content:start;
    min-height:100%;
  }

  .mobile-menu-link {
    min-height:64px;
    padding:12px 15px;
    background:linear-gradient(180deg,rgba(11,35,27,.70),rgba(5,20,16,.88));
    border:1px solid rgba(180,151,67,.14);
    box-shadow:inset 0 1px 0 rgba(214,184,102,.08), inset 0 -1px 0 rgba(214,184,102,.10), 0 0 0 1px rgba(84,108,96,.10);
  }

  .mobile-menu-link::after {
    left:14px;
    right:14px;
    bottom:8px;
  }

  .mobile-menu-contact {
    grid-column:1 / -1;
    margin-top:4px;
    padding-top:14px;
  }

  .mobile-menu-contact a {
    min-height:40px;
  }

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

  .accordion-item button:before {
    padding-top:3px;
  }
}

/* === MOBILE FAQ EDITORIAL REBUILD V11 ===
   Portrait: number/control are quiet metadata; question gets full width.
   No card-box geometry: the rhythm is carried by typography and separators. */
@media (max-width:900px) {
  .faq .shell {
    width:min(calc(100% - 36px),var(--max));
  }

  .faq-intro {
    margin:0 0 34px;
  }

  .accordion {
    width:100%;
    margin:0;
    border-top:1px solid rgba(210,181,98,.26);
  }

  .accordion-item {
    border-bottom:1px solid rgba(210,181,98,.22);
  }

  .accordion-item button {
    min-height:0;
    padding:22px 0 24px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 28px;
    grid-template-rows:auto auto;
    column-gap:16px;
    row-gap:13px;
    align-items:start;
  }

  .accordion-item button:before {
    grid-column:1;
    grid-row:1;
    align-self:center;
    padding:0;
    color:#bda15c;
    font-family:Georgia,"Times New Roman",serif;
    font-size:13px;
    font-weight:400;
    line-height:1;
    letter-spacing:.055em;
    font-variant-numeric:oldstyle-nums tabular-nums;
  }

  .accordion-item button span {
    grid-column:1 / -1;
    grid-row:2;
    max-width:29ch;
    padding:0;
    color:#d8bc76;
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    font-weight:400;
    line-height:1.28;
    letter-spacing:0;
  }

  .accordion-item button b {
    grid-column:2;
    grid-row:1;
    justify-self:end;
    align-self:center;
    width:24px;
    height:20px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }

  .accordion-item button b:before {
    width:7px;
    height:7px;
    left:7px;
    top:4px;
    border-right:1px solid #c7a85d;
    border-bottom:1px solid #c7a85d;
  }

  .accordion-item button[aria-expanded="true"] b:before {
    top:8px;
  }

  .accordion-item.open > button span,
  .accordion-item button[aria-expanded="true"] span {
    color:#e0c57d;
  }

  .accordion-item.open .accordion-content {
    padding:0 0 34px;
  }

  .accordion-content {
    color:#aeb8b2;
  }

  .accordion-content p {
    max-width:34ch;
    margin:0;
    color:#aeb8b2;
    font-size:15.5px;
    line-height:1.72;
  }

  .accordion-content p + p {
    margin-top:18px;
  }

  .accordion-content .faq-lead {
    display:inline;
    margin:0;
    color:#d8ddd8;
    font-weight:450;
  }

  .accordion-content .faq-lead strong,
  .accordion-content strong {
    color:#e4e5df;
    font-weight:560;
  }

  .lineage-reference-layout {
    grid-template-columns:1fr;
    gap:24px;
  }

  .lineage-reference-copy {
    padding:0;
  }

  .lineage-callout {
    margin-top:22px;
    padding:14px 0 0;
    border:0;
    border-top:1px solid rgba(198,211,213,.18);
    background:transparent;
  }

  .lineage-reference-scheme {
    margin:8px 0 0;
    padding:0;
    overflow:visible;
  }

  .lineage-reference-scheme svg {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
  }

  .lineage-reference-scheme .lineage-legend {
    margin-top:14px;
  }
}

/* Landscape keeps a compact editorial row because horizontal space is abundant. */
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .faq .shell {
    width:min(calc(100% - 32px),var(--max));
  }

  .faq-intro {
    margin-bottom:22px;
  }

  .faq-intro h2 {
    font-size:clamp(34px,6.4vw,48px);
    line-height:1.02;
  }

  .accordion-item button {
    padding:16px 0 17px;
    grid-template-columns:42px minmax(0,1fr) 26px;
    grid-template-rows:auto;
    gap:16px;
    align-items:center;
  }

  .accordion-item button:before {
    grid-column:1;
    grid-row:1;
    font-size:12px;
  }

  .accordion-item button span {
    grid-column:2;
    grid-row:1;
    max-width:52ch;
    font-size:17px;
    line-height:1.28;
  }

  .accordion-item button b {
    grid-column:3;
    grid-row:1;
  }

  .accordion-item.open .accordion-content {
    padding:14px 42px 28px 58px;
  }

  .accordion-content p {
    max-width:74ch;
    font-size:14px;
    line-height:1.62;
  }
}

@media (max-width:900px) {
  .faq .accordion {
    border-left:0;
    border-right:0;
    border-bottom:0;
    background:transparent;
  }
  .faq .accordion-item,
  .faq .accordion-item:nth-child(even) {
    padding-left:0;
    padding-right:0;
    background:transparent;
  }
  .faq .accordion-content .faq-lead,
  .faq .accordion-content .faq-lead strong,
  .faq .accordion-content strong {
    font-size:inherit;
    line-height:inherit;
  }
  .faq .accordion-content .faq-lead strong,
  .faq .accordion-content strong {
    font-weight:540;
  }
}

/* === MOBILE COMPLETE PASS V12 ===
   Approved system: top-edge compact sticky header, explicit page zoom,
   real-scan mobile hero, editorial FAQ from V11. Expanded menu remains V10/V11. */
.lead-mobile { display:none; }

@media (max-width:900px) {
  /* Explicitly keep native page gestures available outside modal/menu states. */
  body:not(.mobile-menu-open):not(.modal-open) {
    touch-action:pan-x pan-y pinch-zoom;
  }

  /* Scrolled header is a top-edge interface strip, not a floating card. */
  .site-header.scrolled {
    padding-top:0;
  }

  .site-header.scrolled .header-inner.header-editorial {
    width:100%;
    padding:0 max(14px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
    border-left:0;
    border-right:0;
    border-top:0;
    border-radius:0;
    background:linear-gradient(180deg,rgba(9,38,29,.995),rgba(4,24,18,.995));
    box-shadow:
      0 10px 28px rgba(0,0,0,.20),
      0 1px 0 rgba(218,184,94,.26),
      0 3px 14px rgba(205,174,91,.055);
  }

  .site-header.scrolled .header-inner.header-editorial::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    pointer-events:none;
    background:linear-gradient(90deg,
      transparent 0%,
      rgba(200,166,76,.13) 12%,
      rgba(224,193,111,.38) 48%,
      rgba(206,173,86,.20) 72%,
      transparent 100%);
    box-shadow:0 0 8px rgba(221,190,103,.09);
    opacity:.72;
  }

  .site-header.scrolled .header-editorial .menu-toggle {
    width:40px;
    height:40px;
    min-width:40px;
  }

  /* When the menu is open, preserve the approved integrated V10/V11 module. */
  body.mobile-menu-open .site-header,
  body.mobile-menu-open .site-header.scrolled {
    padding-top:max(6px,env(safe-area-inset-top));
  }

  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    width:min(calc(100% - 20px),var(--max));
    padding:0 14px 0 16px;
    border:1px solid rgba(180,151,67,.20);
    border-radius:3px 3px 0 0;
    background:linear-gradient(180deg,rgba(14,47,35,.98),rgba(6,29,22,.99));
  }

  body.mobile-menu-open .site-header .header-inner.header-editorial::after,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial::after {
    display:none;
  }

  /* Mobile hero: real archival scan, not an invented illustration. */
  .hero {
    position:relative;
    padding-bottom:0;
  }

  .hero .shell.hero-grid {
    width:min(calc(100% - 40px),var(--max));
    display:block;
  }

  .hero-copy {
    max-width:none;
  }

  .hero-copy > .eyebrow {
    display:none;
  }

  .lead-desktop { display:none; }
  .lead-mobile {
    display:block;
  }

  .hero h1 {
    max-width:9.7ch;
    margin:0;
    font-size:clamp(41px,12vw,50px);
  }

  .hero .actions {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .hero .action-primary {
    border-color:#c9a851;
    background:linear-gradient(180deg,#d7b864,#c8a34d);
    color:#082119;
  }

  .hero .action-secondary {
    padding:0;
    border:0;
    background:transparent;
    font-size:13px;
    text-transform:none;
    letter-spacing:.01em;
  }

  .hero .action-secondary::after {
    content:" ↗";
    margin-left:7px;
  }

  .hero-composite-stage {
    inset:auto -22% 0 -22%;
  }

  .hero-composite-image {
    transform:none !important;
  }

  .hero-quiet { display:none; }

  /* Keep anchor arrivals clear of the compact sticky strip. */
  #flagship,
  #flagship-result,
  #process,
  #other-services,
  #faq,
  #contact {
    scroll-margin-top:72px;
  }
}

@media (max-width:680px) {
  .hero {
    min-height:100svh;
  }
}

/* Phone landscape is a dedicated composition: text left, real scan right. */
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .site-header.scrolled .header-inner.header-editorial {
    min-height:54px;
  }

  .hero {
    padding-bottom:0;
  }

  .hero .shell.hero-grid {
    width:min(calc(100% - 30px),var(--max));
    display:grid;
    align-items:center;
  }

  .hero-copy {
    grid-column:1;
  }

  .hero h1 {
    max-width:11ch;
    font-size:clamp(31px,5.2vw,38px);
  }

  .hero .actions {
    flex-direction:row;
    align-items:center;
  }

  .hero-composite-stage {
    inset:58px 0 0 49%;
    opacity:1;
  }
}

@media (prefers-reduced-motion:reduce) {
  .site-header.scrolled .header-inner.header-editorial::after {
    box-shadow:none;
  }
}

/* === MOBILE FINALIZATION PASS V13 ===
   Agreed mobile system: flush header, stronger restrained shimmer, gold brand,
   full 2x3 landscape menu, layered real-scan hero, editorial FAQ, clean module gaps. */
@media (max-width:900px) {
  /* Header is part of the viewport edge from the first frame — never a floating card. */
  .site-header,
  .site-header.scrolled,
  body.mobile-menu-open .site-header,
  body.mobile-menu-open .site-header.scrolled {
    padding-top:0 !important;
    top:0;
  }

  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial,
  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    border-left:0 !important;
    border-right:0 !important;
    border-top:0 !important;
    padding-left:max(18px,env(safe-area-inset-left)) !important;
    padding-right:max(14px,env(safe-area-inset-right)) !important;
    background:linear-gradient(180deg,rgba(10,42,32,.995),rgba(4,25,19,.995));
  }

  .site-header .header-inner.header-editorial {
    min-height:78px;
  }

  /* Brand must be a real visual anchor in every mobile header state. */
  .header-editorial .brand-name,
  .site-header.scrolled .header-editorial .brand-name,
  body.mobile-menu-open .header-editorial .brand-name,
  body.mobile-menu-open .site-header.scrolled .header-editorial .brand-name {
    color:#d8b968 !important;
    text-shadow:0 0 14px rgba(214,183,101,.08);
  }
  .header-editorial .brand-name,
  body.mobile-menu-open .header-editorial .brand-name {
    font-size:27px;
  }
  .header-editorial .brand-sub,
  body.mobile-menu-open .header-editorial .brand-sub {
    color:#85918b;
  }

  /* Stronger but still thin desktop-like shimmer on the lower edge. */
  .site-header .header-inner.header-editorial::after,
  .site-header.scrolled .header-inner.header-editorial::after {
    content:"" !important;
    display:block !important;
    position:absolute;
    z-index:3;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    pointer-events:none;
    opacity:.95;
    background:linear-gradient(90deg,
      transparent 0%,
      rgba(206,173,84,.28) 10%,
      rgba(240,211,130,.72) 42%,
      rgba(222,188,98,.46) 62%,
      rgba(206,173,84,.22) 88%,
      transparent 100%);
    background-size:180% 100%;
    box-shadow:
      0 0 5px rgba(231,200,116,.18),
      0 2px 12px rgba(216,183,96,.14);
  }

  /* Portrait expanded menu keeps the approved module, now attached to the header. */
  .editorial-nav.open {
    left:0 !important;
    right:0 !important;
    border-left:0 !important;
    border-right:0 !important;
    border-radius:0 !important;
  }

  /* FAQ: number is the only gold navigation accent; question is cream editorial type. */
  .faq .accordion {
    border:0 !important;
    background:transparent !important;
  }
  .faq .accordion-item,
  .faq .accordion-item:nth-child(even) {
    position:relative;
    border:0 !important;
    background:transparent !important;
  }
  .faq .accordion-item::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,
      rgba(199,168,86,.10),
      rgba(199,168,86,.065) 72%,
      transparent 100%);
    pointer-events:none;
  }
  .faq .accordion-item button {
    padding:24px 0 25px;
    background:transparent !important;
  }
  .faq .accordion-item button:before {
    color:#d0ae59 !important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:13px;
    font-weight:400;
  }
  .faq .accordion-item button span,
  .faq .accordion-item.open>button span,
  .faq .accordion-item button[aria-expanded="true"] span,
  .faq .accordion-item button:hover span {
    color:#ece6d9 !important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    font-weight:400;
    line-height:1.30;
  }
  .faq .accordion-item button b:before,
  .faq .accordion-item button:hover b:before {
    border-right-color:#9ea9a3 !important;
    border-bottom-color:#9ea9a3 !important;
  }
  .faq .accordion-item.open>button b,
  .faq .accordion-item button[aria-expanded="true"] b {
    border-color:transparent !important;
  }
  .faq .accordion-item.open .accordion-content {
    padding:0 0 32px;
  }
  .faq .accordion-content {
    color:#aab4ae;
  }
  .faq .accordion-content p {
    color:#aab4ae;
    font-size:15.3px;
    line-height:1.72;
  }
  .faq .accordion-content .faq-lead,
  .faq .accordion-content .faq-lead strong,
  .faq .accordion-content strong {
    color:#d8ddd8 !important;
    font-size:inherit !important;
    line-height:inherit !important;
    font-weight:520 !important;
  }

  /* Interactive project: two distinct modules with real breathing room, never touching. */
  .interactive-feature {
    display:flex;
    flex-direction:column;
    gap:28px;
    min-height:0;
    border:0 !important;
    background:transparent !important;
  }
  .interactive-meta {
    width:100%;
    padding:28px 24px 30px !important;
    border:1px solid var(--module-line-strong);
    background:var(--cell-a);
  }
  .interactive-visual,
  .interactive-live-preview {
    width:100%;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    margin:0 !important;
    background:transparent !important;
  }
  .interactive-preview-shell {
    width:100%;
    margin:0;
  }
  .task-list {
    margin-top:36px;
  }

  /* Hero: the current archival manuscript stays foreground/right;
     a real metric-book scan becomes a quieter left/back layer. */
  .hero-metric-scan {
    position:absolute;
    transform-origin:center;
  }
  .hero h1 {
    overflow-wrap:normal;
    word-break:normal;
  }
}

@keyframes mobileHeaderShimmer {
  0%,100% { background-position:0% 50%; opacity:.78; }
  50% { background-position:100% 50%; opacity:1; }
}

/* Landscape mobile menu is exactly six equal modules (2 x 3) and must fit the viewport. */
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial,
  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    width:100% !important;
    min-height:54px !important;
    padding-left:max(18px,env(safe-area-inset-left)) !important;
    padding-right:max(12px,env(safe-area-inset-right)) !important;
  }
  .header-editorial .brand-name,
  .site-header.scrolled .header-editorial .brand-name,
  body.mobile-menu-open .header-editorial .brand-name {
    color:#d8b968 !important;
  }
  body.mobile-menu-open .header-editorial .brand-sub {
    display:none !important;
  }

  .editorial-nav.open {
    bottom:auto !important;
    height:calc(100dvh - 53px) !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    border:0 !important;
  }
  .editorial-nav.open .mobile-menu-main {
    box-sizing:border-box;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,minmax(0,1fr));
    gap:8px 10px;
    min-height:0 !important;
    height:100%;
    padding:9px 10px 10px;
  }
  .mobile-menu-link,
  .mobile-menu-contact {
    min-width:0;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(183,153,72,.17) !important;
    background:linear-gradient(180deg,rgba(11,36,27,.76),rgba(5,21,16,.92));
    box-shadow:
      inset 0 1px 0 rgba(219,190,111,.07),
      inset 0 -1px 0 rgba(219,190,111,.08);
  }
  .mobile-menu-link {
    display:flex !important;
    align-items:center;
    padding:8px 14px !important;
    font-size:15.5px !important;
    line-height:1.16;
  }
  .mobile-menu-link::after,
  .mobile-menu-contact::before {
    display:none !important;
  }
  .mobile-menu-link--accent {
    color:#d8b968 !important;
  }
  .mobile-menu-contact {
    grid-column:auto !important;
    position:relative;
    display:flex;
  }
  .mobile-menu-contact a {
    width:100%;
    height:100%;
    min-height:0 !important;
    display:flex;
    align-items:center;
    padding:8px 14px;
    color:#d8b968 !important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15.5px !important;
    line-height:1.16;
  }

  .faq .accordion-item button span,
  .faq .accordion-item.open>button span,
  .faq .accordion-item button[aria-expanded="true"] span {
    color:#ece6d9 !important;
    font-size:16px !important;
  }
  .faq .accordion-item button:before {
    color:#d0ae59 !important;
  }

  /* Landscape hero: metric fragment on the far left/back, main scan right/front. */
}

/* V13 final tuning: keep portrait expanded navigation as a complete viewport module,
   and make the second real scan actually visible as the rear hero plane. */
@media (max-width:900px) and (orientation:portrait) {
  .editorial-nav.open {
    height:calc(100dvh - 77px) !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:auto !important;
  }
  .editorial-nav.open .mobile-menu-main {
    height:100%;
    min-height:100%;
  }
}

@media (max-width:900px) {
  .hero-composite-image { z-index:1; }
  .hero-metric-scan {
    z-index:2;
    left:-10%;
    bottom:53%;
    transform:rotate(-6deg) scale(.96);
  }
  .hero-composite-light,
  .hero-composite-shade { z-index:3; }
}

@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .hero-metric-scan {
    z-index:2;
    left:-22%;
    bottom:52%;
    transform:rotate(-6deg) scale(.94);
  }
}

/* === V14 MOBILE HEADER + ARCHIVAL HERO RECOMPOSITION ===
   Non-invasive: FAQ, book viewer and research presentation are unchanged. */
@media (max-width:900px) {
  /* Edge-to-edge site chrome: a strip belonging to the viewport, not a card. */
  .site-header,
  .site-header.scrolled,
  body.mobile-menu-open .site-header,
  body.mobile-menu-open .site-header.scrolled {
    position:fixed !important;
    inset:0 0 auto 0 !important;
    box-sizing:border-box !important;
    width:100vw !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#071d16 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    overflow:visible;
  }
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial,
  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:none !important;
    height:76px;
    min-height:76px;
    margin:0 !important;
    padding:0 max(22px,env(safe-area-inset-right)) 0 max(22px,env(safe-area-inset-left)) !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg,#09271d 0%,#061d16 100%) !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
  .site-header.scrolled .header-inner.header-editorial {
    height:58px;
    min-height:58px;
  }
  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    height:76px;
    min-height:76px;
  }
  .site-header .header-inner.header-editorial::after,
  .site-header.scrolled .header-inner.header-editorial::after {
    left:0 !important;
    right:0 !important;
    bottom:-1px !important;
    height:1px !important;
    border:0 !important;
    background:linear-gradient(90deg,transparent,rgba(213,179,95,.33) 14%,rgba(241,210,134,.76) 48%,rgba(207,172,82,.34) 86%,transparent) !important;
  }
  .site-header.scrolled .header-inner.header-editorial::after {
    animation:mobileHeaderShimmer 4s ease-in-out infinite;
  }
  .header-editorial .brand-name,
  .site-header.scrolled .header-editorial .brand-name,
  body.mobile-menu-open .header-editorial .brand-name {
    color:#d8b968 !important;
    text-shadow:none;
  }
  .header-editorial .brand-name { font-size:27px; }
  .site-header.scrolled .header-editorial .brand-name { font-size:20px; }
  body.mobile-menu-open .header-editorial .brand-name { font-size:27px; }
  .editorial-nav.open { top:75px !important; }

  /* Editorial hero: the archive is a scene, not a card under the text. */
  .hero {
    padding-top:76px;
    background:radial-gradient(ellipse 85% 38% at 72% 65%,rgba(30,62,41,.16),transparent 70%),#061b15;
  }
  .hero-copy {
    padding:44px 0 360px;
  }
  .hero h1 {
    max-width:13ch !important;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(38px,10.6vw,45px) !important;
    letter-spacing:-.024em;
    line-height:1.035;
    color:#eee8dc;
    text-wrap:balance;
  }
  .lead-mobile {
    max-width:31ch;
    margin-top:24px;
    font-size:16.5px;
    line-height:1.55;
    color:#b6bcb3;
  }
  .hero .actions {
    gap:12px;
    margin-top:27px;
  }
  .hero .action-primary {
    min-height:49px;
    padding:0 18px;
    letter-spacing:.045em;
    font-size:11.5px;
    box-shadow:0 8px 28px rgba(184,149,72,.09);
  }
  .hero .action-secondary {
    min-height:30px;
    color:#c7b072;
  }
  .hero-composite-stage {
    opacity:1;
  }
  .hero-composite-image {
    width:100%;height:100%;inset:0;
  }
  .hero-metric-scan {
    bottom:auto !important;height:auto;
    transform:rotate(-5deg) !important;
    box-shadow:0 15px 44px rgba(0,0,0,.26);
    -webkit-mask-image:linear-gradient(90deg,black 15%,rgba(0,0,0,.9) 50%,transparent 100%);
    mask-image:linear-gradient(90deg,black 15%,rgba(0,0,0,.9) 50%,transparent 100%);
  }
  .hero-composite-light {
    background:radial-gradient(ellipse 64% 45% at 70% 65%,rgba(203,162,80,.095),transparent 70%);
    opacity:1;
  }
}
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial,
  body.mobile-menu-open .site-header .header-inner.header-editorial,
  body.mobile-menu-open .site-header.scrolled .header-inner.header-editorial {
    height:54px;
    min-height:54px;
    padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left)) !important;
  }
  .header-editorial .brand-name,
  .site-header.scrolled .header-editorial .brand-name,
  body.mobile-menu-open .header-editorial .brand-name {font-size:20px !important;}
  .editorial-nav.open {top:53px !important;}
  .hero {padding-top:54px;}
  .hero .shell.hero-grid {
    width:min(calc(100% - 44px),var(--max));
  }
  .hero h1 {font-size:clamp(28px,4.9vw,36px) !important;max-width:14ch !important; line-height:1.04;}
  .lead-mobile {font-size:12.6px;line-height:1.47;max-width:34ch;margin-top:12px;}
  .hero .actions {margin-top:15px;gap:8px;}
  .hero .action-primary {min-height:36px;font-size:10px;padding:0 12px;}
  .hero .action-secondary {font-size:11px;min-height:28px;}
  .hero-composite-image {filter:brightness(1.3) contrast(1.12) saturate(.88);}
}
@media (prefers-reduced-motion:reduce) {
  .site-header.scrolled .header-inner.header-editorial::after {animation:none !important;}
}

/* V14: a genuine manuscript page is isolated from the existing hero scan.
   This is a non-generative crop/mask of the supplied original. */
.hero-archive-folio {display:none;}
@media (max-width:900px) {
  .hero-composite-image {
    opacity:.24;
    filter:brightness(.70) contrast(1.1);
  }
  .hero-archive-folio {
    display:block;
    position:absolute;
    z-index:3;
    width:108%;
    height:auto;
    right:-33%;
    bottom:4%;
    opacity:.91;
    filter:brightness(.98) contrast(1.1);
    transform:rotate(-.3deg);
    pointer-events:none;
  }
  .hero-metric-scan {
    z-index:2 !important;
    left:4% !important;
    top:21%;
    width:78%;
    opacity:.32;
    filter:brightness(.86) saturate(.7) contrast(1.02);
  }
}
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .hero-archive-folio {
    width:118%;
    right:-28%;
    bottom:6%;
    opacity:.92;
  }
  .hero-metric-scan {
    left:-12% !important;
    top:22%;
    width:74%;
    opacity:.28;
  }
}
/* The real archival layers enter immediately after the hero CTA on short phones. */

/* V15 — mobile archival hero: preserve the light, texture and perspective
   already present in the original desktop photograph. No separate cutouts. */
@media (max-width:900px) {
  .hero-composite-stage {
    display:block !important;
    z-index:2;
    height:44%;
  }
  .hero-composite-image {
    display:block;
    object-fit:cover;
    object-position:73% 50%;
    transform:none !important;
  }
  .hero-archive-folio, .hero-metric-scan {
    display:none !important;
  }
  .hero-composite-shade {
    background:
      linear-gradient(180deg,#061b15 0%,rgba(6,27,21,.985) 10%,rgba(6,27,21,.69) 28%,rgba(6,27,21,.20) 52%,rgba(5,22,16,.07) 76%,rgba(4,17,13,.30) 100%),
      linear-gradient(90deg,rgba(6,27,21,.29),transparent 58%,rgba(4,18,13,.09));
  }
}
@media (max-width:900px) and (orientation:portrait) {
  .hero-composite-stage { height:46%; }
}
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .hero-composite-stage {
    height:auto;
  }
  .hero-composite-image {
    object-position:73% 50%;
    filter:brightness(1.16) contrast(1.02) saturate(.97) !important;
  }
  .hero-composite-shade {
    background:
      linear-gradient(90deg,#061b15 0%,rgba(6,27,21,.94) 10%,rgba(6,27,21,.49) 37%,rgba(6,27,21,.08) 65%,transparent 100%),
      linear-gradient(180deg,rgba(6,27,21,.22),transparent 25%,transparent 80%,rgba(4,17,13,.23));
  }
}


/* === V16 MOBILE: edge-light + editorial breathing room + tactile interactions ===
   No forced scrolling, no permanent expensive background repaint and no viewer changes.
*/
@media (max-width:900px) {
  /* The only luminous line is the FULL lower seam of the header.
     No top glow and no lone travelling hot spot. */
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    box-shadow:none !important;
  }
  .site-header .header-inner.header-editorial::before,
  .site-header.scrolled .header-inner.header-editorial::before {
    display:none !important;
  }
  .site-header .header-inner.header-editorial::after,
  .site-header.scrolled .header-inner.header-editorial::after,
  body.mobile-menu-open .site-header .header-inner.header-editorial::after {
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:-1px !important;
    background-size:100% 100% !important;
    filter:none;
    transform:none;
    transition:opacity .35s ease,box-shadow .35s ease;
  }
  .site-header.scrolled .header-inner.header-editorial::after {
    animation:none !important;
  }
  /* Extra breathing room between secondary CTA and the incoming archive image.
     Moving the stage down, not simply darkening the document above it. */
  .hero { min-height:calc(100svh + 78px); }
  .hero .shell.hero-grid { min-height:calc(100svh + 2px); }
  .hero-copy { padding-bottom:420px; }

  /* Touch targets are visible and respond gently while keeping native scrolling. */
  .zs-touch-target {
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
    transition-property:transform, background-color, border-color, color, box-shadow, opacity;
    transition-duration:.20s;
    transition-timing-function:cubic-bezier(.2,.72,.2,1);
  }
  .hero .action-primary.is-pressed,
  .button.is-pressed,
  .price-cta.is-pressed {
    box-shadow:0 0 0 1px rgba(241,210,134,.30),0 5px 22px rgba(205,166,81,.17);
    filter:brightness(1.08);
  }
  .mobile-menu-link.is-pressed,
  .mobile-menu-contact a.is-pressed {
    background:rgba(203,169,83,.07);
    color:#edd89f !important;
  }
  .accordion-item button.is-pressed { background:rgba(205,174,91,.035) !important; }
  .menu-toggle.is-pressed { transform:scale(.94); }
  .hero .action-secondary.is-pressed { color:#efce80; }
  .mobile-menu-link:focus-visible,
  .accordion-item button:focus-visible,
  .menu-toggle:focus-visible,
  .hero a:focus-visible {
    outline:2px solid rgba(230,193,98,.83);
    outline-offset:4px;
  }
}
/* Dedicated landscape hero spacing is preserved: it has a short viewport. */
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .hero { min-height:100svh; }
  .hero .shell.hero-grid { min-height:calc(100svh - 54px); }
  .hero-copy { padding:12px 0 15px; }
}
@media (max-width:900px) and (prefers-reduced-motion:no-preference) {
  /* Intro/CTA receive short, meaningful arrival timing with no scroll hijack. */
  .hero .action-primary,
  .hero .action-secondary {
    transition:transform .22s cubic-bezier(.2,.72,.2,1),
               background-color .22s ease,
               box-shadow .22s ease,
               color .22s ease;
  }
  html.motion-enhanced .section-reveal:not(.is-visible) {
    opacity:0;
    transform:translate3d(0,16px,0);
  }
  html.motion-enhanced .section-reveal {
    transition:opacity .52s ease var(--entry-delay,0ms),
               transform .62s cubic-bezier(.2,.72,.2,1) var(--entry-delay,0ms);
  }
  .editorial-nav.open .mobile-menu-link,
  .editorial-nav.open .mobile-menu-contact {
    animation:zsMenuEnter .38s cubic-bezier(.2,.72,.2,1) backwards;
  }
  .editorial-nav.open .mobile-menu-link:nth-child(2) { animation-delay:35ms; }
  .editorial-nav.open .mobile-menu-link:nth-child(3) { animation-delay:65ms; }
  .editorial-nav.open .mobile-menu-link:nth-child(4) { animation-delay:95ms; }
  .editorial-nav.open .mobile-menu-link:nth-child(5) { animation-delay:125ms; }
  .editorial-nav.open .mobile-menu-contact { animation-delay:145ms; }
}
@keyframes zsMenuEnter {
  from { opacity:.15; transform:translate3d(0,7px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce) {
  .site-header.scrolled .header-inner.header-editorial::after,
  .editorial-nav.open .mobile-menu-link,
  .editorial-nav.open .mobile-menu-contact { animation:none !important; }
  .zs-touch-target { transition:none !important; }
}


/* === V17 · mobile continuous archival scene + kinetic feedback ===
   Strictly scoped to mobile. No image additions, no artificial scrolling. */
@media (max-width:900px) {
  /* Stable seam at rest. Only the continuous scroll controller drives glow. */
  .site-header .header-inner.header-editorial,
  .site-header.scrolled .header-inner.header-editorial {
    --zs-seam-energy:0;
    --zs-scroll-dir:0;
    overflow:visible;
  }
  .site-header .header-inner.header-editorial::after,
  .site-header.scrolled .header-inner.header-editorial::after,
  body.mobile-menu-open .site-header .header-inner.header-editorial::after {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:2;
    inset:auto 0 -1px !important;
    width:100% !important;
    height:1px !important;
    opacity:.82 !important;
    border:0 !important;
    background:linear-gradient(90deg,rgba(197,157,75,.48),rgba(223,187,105,.62) 32%,rgba(229,193,112,.64) 68%,rgba(195,156,74,.48)) !important;
    box-shadow:none !important;
    filter:none !important;
    animation:none !important;
    transition:none !important;
    transform:none !important;
    pointer-events:none;
  }
  .site-header .header-inner.header-editorial::before,
  .site-header.scrolled .header-inner.header-editorial::before,
  body.mobile-menu-open .site-header .header-inner.header-editorial::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    z-index:1;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:-4px !important;
    height:9px !important;
    width:100% !important;
    opacity:var(--zs-seam-energy,0) !important;
    background:linear-gradient(90deg,rgba(226,181,86,.62),rgba(238,200,114,.90) 40%,rgba(238,200,114,.90) 60%,rgba(226,181,86,.62)) !important;
    box-shadow:none !important;
    border:0 !important;
    transform:none !important;
    filter:blur(5px) !important;
    animation:none !important;
    transition:none !important;
    pointer-events:none;
  }
  /* A single uninterrupted photographic field, no image-card or cutoff. */
  .hero {
    min-height:clamp(940px,108svh,1030px) !important;
    padding-top:76px !important;
    padding-bottom:0 !important;
    overflow:hidden;
    isolation:isolate;
    background:#061b15 !important;
  }
  .hero .shell.hero-grid {
    position:relative;
    z-index:6;
    min-height:0 !important;
    width:min(calc(100% - 46px),var(--max));
  }
  .hero-copy {
    position:relative;
    z-index:6;
    padding:clamp(44px,6svh,65px) 0 0 !important;
  }
  .hero-composite-stage {
    position:absolute !important;
    z-index:2 !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden;
    opacity:1 !important;
    isolation:isolate;
    pointer-events:none;
  }
  .hero-composite-image {
    display:block !important;
    position:absolute !important;
    z-index:1 !important;
    inset:auto -63% 5.5% auto !important;
    width:max(940px,240vw) !important;
    height:auto !important;
    max-width:none !important;
    object-fit:contain !important;
    object-position:center !important;
    opacity:.96 !important;
    filter:brightness(1.12) contrast(1.035) saturate(.93) !important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.68) 19%,#000 45%,#000 92%,rgba(0,0,0,.75) 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 6%,rgba(0,0,0,.68) 19%,#000 45%,#000 92%,rgba(0,0,0,.75) 100%);
    transform:translate3d(0,var(--zs-hero-depth,0px),0) !important;
    transition:none !important;
    animation:none !important;
    will-change:transform;
  }
  .hero-composite-light {
    z-index:2 !important;
    background:radial-gradient(ellipse 85% 34% at 86% 78%,rgba(133,122,71,.042),transparent 80%) !important;
    opacity:.6 !important;
    transform:none !important;
  }
  .hero-composite-shade {
    z-index:3 !important;
    opacity:1 !important;
    background:
      linear-gradient(180deg,#061b15 0%,rgba(6,27,21,.98) 10%,rgba(6,27,21,.70) 31%,rgba(6,27,21,.11) 67%,rgba(4,18,13,.05) 85%,rgba(4,17,12,.67) 100%),
      linear-gradient(90deg,rgba(6,27,21,.46) 0%,rgba(6,27,21,.08) 75%,transparent 100%) !important;
    pointer-events:none;
  }

  /* Mobile sections arrive in a clear but brief 3D-feeling editorial motion. */
  html.motion-enhanced .section-reveal:not(.is-visible) {
    opacity:0 !important;
    transform:translate3d(0,20px,0) !important;
  }
  html.motion-enhanced .section-reveal.is-visible {
    opacity:1 !important;
    transform:translate3d(0,0,0) !important;
  }
  html.motion-enhanced .section-reveal {
    transition:opacity .48s cubic-bezier(.2,.7,.2,1) var(--entry-delay,0ms),
               transform .58s cubic-bezier(.2,.72,.2,1) var(--entry-delay,0ms) !important;
  }
  /* Separator lines reveal a single short, low-cost impulse when entering view. */
  .section:not(.hero)::before {
    transform:scaleX(.90);
    opacity:.55;
    transition:transform .60s cubic-bezier(.18,.72,.22,1),opacity .60s ease;
    transform-origin:center center;
  }
  .section:not(.hero).zs-arrived::before {
    transform:scaleX(1);
    opacity:1;
  }
  /* Stronger press tactility without shaking content or scroll-hijacking. */
  .zs-touch-target.is-pressed {
    transform:translate3d(0,2px,0) scale(.982);
  }
  .hero .action-primary.is-pressed,
  .button.is-pressed,
  .price-cta.is-pressed {
    filter:brightness(1.12) !important;
    box-shadow:0 2px 7px rgba(13,11,6,.17),0 0 0 2px rgba(241,210,134,.22) !important;
  }
}
@media (max-width:680px) and (orientation:portrait) {
  .hero-composite-image {
    right:-62% !important;
  }
}
/* The existing strong landscape composition is preserved; only seamless stage + depth. */
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .hero {
    min-height:100svh !important;
    padding-top:54px !important;
  }
  .hero .shell.hero-grid {
    min-height:calc(100svh - 54px) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);
    gap:18px;
  }
  .hero-copy {padding:12px 0 15px !important;}
  .hero-composite-stage {inset:0 !important;height:100% !important;}
  .hero-composite-image {
    inset:auto -18% -18% auto !important;
    width:max(740px,110vw) !important;
    height:auto !important;
    opacity:.94 !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 28%,#000 62%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.6) 28%,#000 62%);
  }
  .hero-composite-shade {
    background:linear-gradient(90deg,#061b15 0%,rgba(6,27,21,.85) 33%,rgba(6,27,21,.07) 77%,transparent 100%),linear-gradient(180deg,rgba(6,27,21,.25),transparent 48%,rgba(4,17,13,.17)) !important;
  }
  .hero-composite-light {opacity:.36 !important;}
}
@media (prefers-reduced-motion:reduce) {
  .site-header .header-inner.header-editorial::before,
  .site-header.scrolled .header-inner.header-editorial::before {opacity:0 !important;}
  .hero-composite-image {transform:none !important;will-change:auto !important;}
  .section:not(.hero)::before,html.motion-enhanced .section-reveal {
    transition:none !important; transform:none !important;opacity:1 !important;
  }
}
@media (max-width:900px) {
  .hero {align-items:flex-start !important;}
}
@media (max-width:950px) and (max-height:560px) and (orientation:landscape) {
  .hero {align-items:center !important;}
}


/* === V18: site motion system: FAQ, presentation, scroll. === */
@media (hover:none), (pointer:coarse) {
  /* Remove the touch-triggered full-card focus halo. Keyboard focus stays visible. */
  .faq .accordion-item.tactile-surface::after,
  .faq .accordion-item.tactile-surface:focus-within::after { display:none !important; opacity:0 !important; }
  .faq .accordion-item button:focus:not(:focus-visible) { outline:none !important; box-shadow:none !important; }
  .faq .accordion-item button:active { background:transparent !important; }
  .faq .accordion-item button { -webkit-tap-highlight-color:transparent; }
}
@media (max-width:900px) and (prefers-reduced-motion:no-preference) {
  .faq .accordion-panel { transition:grid-template-rows .39s cubic-bezier(.21,.75,.23,1) !important; }
  .faq .accordion-content {
    opacity:0;
    transform:translate3d(0,10px,0);
    transition:opacity .19s ease,transform .35s cubic-bezier(.2,.72,.2,1),padding .36s ease !important;
  }
  .faq .accordion-item.open .accordion-content {
    opacity:1;
    transform:translate3d(0,0,0);
    transition:opacity .30s ease .07s,transform .35s cubic-bezier(.2,.72,.2,1) .03s,padding .36s ease !important;
  }
  .presentation-modal[open] .presentation-frame {
    animation:zsDialogIn .34s cubic-bezier(.18,.73,.23,1) both;
  }
  /* The slide transition uses Web Animations; do not apply the old flash. */
  .presentation-spread.is-changing {animation:none !important;}
  /* More readable section arrival; shown only once and then remains fixed. */
  html.motion-enhanced .section-reveal:not(.is-visible) {
    opacity:0 !important;
    transform:translate3d(0,24px,0) !important;
  }
  html.motion-enhanced .section-reveal.is-visible {
    opacity:1 !important;
    transform:translate3d(0,0,0) !important;
  }
  html.motion-enhanced .section-reveal {
    transition:opacity .56s cubic-bezier(.2,.75,.24,1) var(--entry-delay,0ms),
      transform .66s cubic-bezier(.17,.78,.2,1) var(--entry-delay,0ms) !important;
  }
}
@keyframes zsDialogIn {from {opacity:.5;transform:translate3d(0,9px,0) scale(.996)}to {opacity:1;transform:none}}
@media (max-width:900px) {
  /* Energy only appears during movement: seam at rest stays one clean gold stroke. */
  .site-header .header-inner.header-editorial::before,
  .site-header.scrolled .header-inner.header-editorial::before {
    bottom:-5px !important; height:11px !important;
    opacity:var(--zs-seam-energy,0) !important;
  }
  .site-header .header-inner.header-editorial::after,
  .site-header.scrolled .header-inner.header-editorial::after {
    opacity:calc(.56 + var(--zs-seam-energy,0) * .38) !important;
    background:linear-gradient(90deg,rgba(196,156,77,.48),rgba(246,215,144,.75) var(--zs-seam-shift,50%),rgba(196,156,77,.48)) !important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .faq .accordion-panel,.faq .accordion-content,.presentation-modal[open] .presentation-frame {animation:none !important; transition:none !important; transform:none !important;}
}

/* === V19 finishing: keep stage a deep material, never modify the scanned pages. === */
.presentation-stage { background:#071b15!important; box-shadow:none!important; }
.presentation-material {background:#071d17!important;}
.presentation-stage::before,.presentation-stage::after {filter:none!important;box-shadow:none!important;}
@media (max-width:900px) {
  /* The golden line is the moving part, not the entire header. */
  .site-header .header-inner.header-editorial::before,
  .site-header.scrolled .header-inner.header-editorial::before {
    background:linear-gradient(90deg,rgba(194,158,82,.33),rgba(226,191,108,.62),rgba(194,158,82,.33))!important;
    filter:blur(3px)!important;
    opacity:calc(var(--zs-seam-energy,0)*.56)!important;
    box-shadow:none!important;
  }
  .site-header .header-inner.header-editorial::after,
  .site-header.scrolled .header-inner.header-editorial::after {
    background:linear-gradient(90deg,rgba(168,133,62,.35),rgba(214,181,103,.52) var(--zs-seam-shift,50%),rgba(168,133,62,.35))!important;
    box-shadow:0 0 2px rgba(211,170,85,.10)!important;
    opacity:calc(.45 + var(--zs-seam-energy,0)*.32)!important;
    animation:none!important;
  }
  .faq .accordion-item, .faq .accordion-item button, .faq .accordion-content,
  .faq .accordion-item button * { -webkit-tap-highlight-color:transparent!important; }
  .faq .accordion-item.tactile-surface::after,
  .faq .accordion-item.tactile-surface:focus-within::after {display:none!important;}
  .faq button:focus:not(:focus-visible) { outline:none!important; box-shadow:none!important; }
  .faq button.is-pressed {background:transparent!important;transform:none!important;}
  /* FAQ answer has independent velocity: no second headline or hard flash. */
  .faq .accordion-panel{transition:grid-template-rows .38s cubic-bezier(.22,.73,.24,1)!important;}
  .faq .accordion-content{transition:opacity .28s ease, transform .38s cubic-bezier(.2,.7,.22,1),padding .38s ease!important;}
  .faq .accordion-item.open .accordion-content{transition-delay:0ms,.035s,0ms!important;}
}
@media (prefers-reduced-motion:reduce) {
 .faq .accordion-panel,.faq .accordion-content{transition:none!important;}
}


/* V20 — matte editorial presentation: remove fake reflected highlights and
   the tan 3D mockup. The source book scans stay entirely unmodified. */
.result-book-cover::before,
.result-book-cover::after {content:none!important;display:none!important;}
.presentation-material,
.presentation-stage,
.presentation-stage::before,
.presentation-stage::after {
  background:#061b15!important;
  box-shadow:none!important;
  filter:none!important;
}
.presentation-stage {border-color:rgba(180,151,67,.13)!important;}
.presentation-stage::before,
.presentation-stage::after {content:none!important;display:none!important;}
.presentation-real-spread img {filter:none!important;}

/* V21 — restore the dark oak around the preview, without the overbright/high-contrast reflections.
   The embedded archival spread itself is not recoloured. */
.result-book-cover,
.result-inspect:hover .result-book-cover,
.result-inspect:focus-within .result-book-cover {
  padding:13px 14px 15px!important;
  background:linear-gradient(145deg,#503a2e 0%,#453126 47%,#3c2b23 100%)!important;
  border:1px solid rgba(124,91,70,.55)!important;
  box-shadow:0 10px 25px rgba(0,0,0,.23),0 2px 5px rgba(0,0,0,.12)!important;
  filter:none!important;
  transform:none!important;
}
.result-book-cover::before {
  content:""!important;display:block!important;
  inset:7px 8px 9px!important; border:1px solid rgba(206,172,128,.15)!important;
  background:none!important;box-shadow:none!important;
}
.result-book-cover::after {display:none!important;content:none!important;}
.result-book-spread {filter:none!important;box-shadow:0 3px 9px rgba(0,0,0,.18)!important;}
@media(max-width:900px){
  .result-book-cover,.result-inspect:hover .result-book-cover,.result-inspect:focus-within .result-book-cover {
    padding:9px 10px 11px!important;
  }
}

/* V22: fallback for readers whose phone is locked in portrait; other presentation styling remains intact. */
@media (max-width:900px) and (orientation:portrait) {
 .presentation-rotate-book-link {
   display:inline-flex;align-items:center;justify-content:center;gap:10px;
   min-height:44px;margin-top:26px;padding:8px 12px;
   color:#cfb96f;border-bottom:1px solid rgba(207,185,111,.56);
   text-decoration:none;font:600 13px/1.45 Inter,system-ui,sans-serif;
   letter-spacing:.035em;transition:color .22s ease,border-color .22s ease;
 }
 .presentation-rotate-book-link:active {color:#f2efe6;border-color:#f2efe6;}
 .presentation-rotate-book-link:focus-visible {outline:2px solid #cfb96f;outline-offset:5px;}
}
@media (prefers-reduced-motion:reduce){ .presentation-rotate-book-link {transition:none;} }

/* V22: keep the longer official brand descriptor legible and on one line. */
@media (min-width:901px) {
  .header-editorial .brand-sub {font-size:7.35px;letter-spacing:.10em;white-space:nowrap;}
}
@media (max-width:360px) and (orientation:portrait) {
  .header-editorial .brand-sub {font-size:7.4px;letter-spacing:.065em;white-space:nowrap;}
}

/* V23 — interaction finish, intentionally isolated until the planned CSS consolidation. */
/* Desktop section changes via the left-hand rail or keyboard; no intrusive arrows atop the book. */
@media (hover:hover) and (pointer:fine) {
  .presentation-modal .presentation-arrow { display:none !important; }
}
/* The backdrop should come in as quietly as the presentation surface. */
@media (prefers-reduced-motion:no-preference) {
  .presentation-modal[open]::backdrop { animation:zs-presentation-backdrop-in .33s ease-out both; }
}
@keyframes zs-presentation-backdrop-in { from { background:rgba(1,8,6,0); backdrop-filter:blur(0); } to {background:rgba(1,8,6,.82);backdrop-filter:blur(8px);} }
@media (prefers-reduced-motion:reduce) {
  .presentation-modal[open]::backdrop {animation:none!important;}
}
/* V23: site and presentation UI chrome should never produce text-selection carets.
   Explanatory paragraphs, FAQ answers, legal text and input values stay selectable. */
.site-header, .mobile-menu-link,
.section .eyebrow, .section h1, .section h2, .section h3,
.presentation-modal .presentation-rail-head,
.presentation-modal .presentation-tabs,
.presentation-modal .presentation-material-head,
.presentation-modal .presentation-copy-index,
.presentation-modal .presentation-copy-inner h3,
.presentation-modal .presentation-mobile-section,
.presentation-modal .presentation-rotate-gate,
.presentation-modal button,
.site-footer strong, .site-footer nav {
  -webkit-user-select:none; user-select:none;cursor:default;
}
.presentation-modal button, .site-header a, .site-header button,
.site-footer nav a {cursor:pointer;}

/* V24: coherent brand across all pages; intro separately uses user-supplied splash animation. */
.header-editorial .brand-name,
.site-header.scrolled .header-editorial .brand-name,
body.mobile-menu-open .header-editorial .brand-name {color:#f2efe6!important;text-shadow:none!important;}
.header-editorial .brand-sub,
.site-header.scrolled .header-editorial .brand-sub,
body.mobile-menu-open .header-editorial .brand-sub {color:#d8b968!important;}
@media(min-width:901px){.header-editorial .brand-sub {font-size:10.5px!important;letter-spacing:.065em!important;line-height:1.28!important;white-space:nowrap!important;}}
@media(max-width:900px){.header-editorial .brand-sub{font-size:clamp(7.1px,1.8vw,9.5px)!important;letter-spacing:.065em!important;}}
/* Selection belongs to prose and forms, not UI labels. */
.presentation-modal .presentation-material-head *,
.presentation-modal .presentation-rail-head *,
.presentation-modal .presentation-tabs *,
.presentation-modal .presentation-copy-index,
.presentation-modal .presentation-copy-kicker,
.presentation-modal .presentation-stage,
.presentation-modal .presentation-stage *,
.services-book-preview .result-book-cover,
button,button *,[role="button"],[role="button"] * {
  -webkit-user-select:none!important;user-select:none!important;
}
/* Resilient cross-fade, image only. Never animate or replace the whole frame. */
.presentation-spread {position:relative;isolation:isolate;}
.presentation-spread img.zs-slide-crossfade {
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  z-index:3!important;object-fit:contain!important;max-width:100%!important;
  margin:0!important;opacity:0;pointer-events:none!important;
  filter:none!important;box-shadow:none!important;
}


/* 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;}}


/* V25 — desktop brand: allow the complete descriptor without crossing navigation. */
@media (min-width:1581px) {
 .site-header .header-inner.header-editorial,
 .site-header.scrolled .header-inner.header-editorial {
   grid-template-columns:315px minmax(0,1fr) 175px !important;
 }
 .header-editorial>.brand {min-width:0; padding-inline:14px !important;}
 .header-editorial .brand-sub {font-size:10.5px!important;letter-spacing:.025em!important;white-space:nowrap!important;}
}
@media (min-width:1421px) and (max-width:1580px) {
 .site-header .header-inner.header-editorial,
 .site-header.scrolled .header-inner.header-editorial {
   grid-template-columns:280px minmax(0,1fr) 162px !important;
 }
 .header-editorial>.brand {min-width:0;padding-inline:12px !important;}
 .header-editorial .brand-sub {font-size:10px!important;letter-spacing:.0em!important;white-space:nowrap!important;}
}
@media (min-width:901px) and (max-width:1420px) {
 .header-editorial>.brand {min-width:0;max-width:calc(100vw - 110px);}
 .header-editorial .brand-sub {font-size:10.5px!important;letter-spacing:.04em!important;white-space:nowrap!important;}
}


/* 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;
}


/* V28 — The desktop mega-menu is a single surface, not isolated hover-lit tiles.
   Suppress item-level radial highlights which reveal each item's rectangular clipping edge. */
@media (min-width:1421px) and (hover:hover) {
  .services-panel :is(.header-tactile,.tactile-surface)::after {
    content:none!important; display:none!important; opacity:0!important;
  }
  .services-panel :is(.header-tactile,.tactile-surface):hover,
  .services-panel :is(.header-tactile,.tactile-surface):focus-within {
    --header-touch-a:0!important;
  }
  .services-panel .services-individual-copy-card:hover,
  .services-panel .services-individual-copy-card:focus-within,
  .services-panel .services-individual-example:hover,
  .services-panel .services-individual-example:focus-visible {
    background:transparent!important;
    box-shadow:inset 0 1px 0 rgba(236,205,119,.035)!important;
  }
  /* Preserve the accessible focus outline and the original subtle structural dividers. */
}


/* V29: header has ONE uninterrupted hover-light surface. No child clipping frames. */
@media (min-width:901px) and (hover:hover) and (pointer:fine) {
  .site-header .header-inner.header-editorial.header-shell-tactile::after {
    pointer-events:none;
    /* Full viewport width even when the shell uses a centered max-width. */
    left:calc(50% - 50vw)!important;
    right:auto!important;
    top:0!important;
    bottom:0!important;
    width:100vw!important;
    height:100%!important;
    background:radial-gradient(circle 180px at var(--header-pointer-viewport-x,50vw) var(--header-touch-y),
       rgba(213,181,103,.070),rgba(120,151,126,.027) 44%,transparent 74%)!important;
    border:0!important;
    box-shadow:none!important;
    opacity:var(--header-touch-a,0);
  }
  .services-panel .header-tactile::after,
  .services-panel .tactile-surface::after,
  .services-panel .services-individual-copy-card::after,
  .services-panel .services-individual-example::after {
    display:none!important;
    content:none!important;
  }
  .services-panel .header-tactile:hover,
  .services-panel .header-tactile:focus-within {
    --header-touch-a:0!important;
  }
}

/* V30: presentation selection illuminates the *continuous rail*, not a button frame.
   No hard-edged active rectangle or per-row glows to reveal clipping boundaries. */
@media (min-width:901px) {
  .presentation-rail {
    overflow:hidden;
    position:relative;
    isolation:isolate;
  }
  .presentation-rail::before {
    content:"";
    position:absolute;
    z-index:0;
    inset:0 0 auto;
    height:234px;
    pointer-events:none;
    background:radial-gradient(ellipse 86% 54% at 47% 50%,
      rgba(177,149,79,.14) 0%,rgba(143,135,85,.058) 42%,transparent 100%);
    transform:translate3d(0,calc(var(--zs-rail-active-y,280px) - 117px),0);
    transition:transform .35s cubic-bezier(.22,.78,.2,1);
  }
  .presentation-rail > * {position:relative;z-index:1;}
  .presentation-tabs {gap:0!important;}
  .presentation-tabs button,
  .presentation-tabs button:focus,
  .presentation-tabs button.active,
  .presentation-tabs button.active:focus {
    box-sizing:border-box;
    border-left:0!important;
    border-right:0!important;
    border-top:0!important;
    border-bottom:1px solid rgba(180,151,67,.14)!important;
    border-radius:0!important;
    background:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    outline-offset:-4px;
    transition:color .24s ease!important;
  }
  .presentation-tabs button::before,
  .presentation-tabs button.active::before {display:none!important;content:none!important;}
  .presentation-tabs button.active,
  .presentation-tabs button.active:focus {color:#f2efe6!important;}
  .presentation-tabs button.active span {color:#d8b968!important;}
  .presentation-tabs button:hover:not(.active) {color:#e5ddc8!important;}
}
/* V31: compact, stable landscape navigation on touch screens.
   Never illuminate a separate left-hand overlay: it exposes the technical rail. */
@media (max-width:900px) and (orientation:landscape) {
  .presentation-modal .presentation-rail,
  .presentation-modal .presentation-tabs {isolation:auto !important;overflow:hidden !important;}
  .presentation-modal .presentation-rail::before,
  .presentation-modal .presentation-rail::after,
  .presentation-modal .presentation-tabs::before,
  .presentation-modal .presentation-tabs::after {
    content:none !important;display:none !important;
    background:none !important;box-shadow:none !important;
  }
  .presentation-modal .presentation-rail {background:#061d16 !important;}
  .presentation-modal .presentation-tabs {gap:0 !important;}
  .presentation-modal .presentation-tabs button,
  .presentation-modal .presentation-tabs button:focus,
  .presentation-modal .presentation-tabs button.active,
  .presentation-modal .presentation-tabs button.active:focus {
    background:transparent !important;
    background-image:none !important;
    border:0 !important;
    border-bottom:1px solid rgba(180,151,67,.19) !important;
    box-shadow:none !important;
    outline-offset:-3px;
    transform:none !important;
    transition:color .24s ease,background-color .24s ease !important;
  }
  .presentation-modal .presentation-tabs button:hover,
  .presentation-modal .presentation-tabs button.active {background-color:rgba(180,151,67,.045) !important;}
  .presentation-modal .presentation-tabs button.active span {color:#d8b968 !important;}
  .presentation-modal .presentation-tabs button:not(.active) span {color:#84948b !important;}
  .presentation-modal .presentation-tabs button:focus:not(:focus-visible) {outline:none !important;}
}
@media (prefers-reduced-motion:reduce) {
  .presentation-rail::before,
  .presentation-tabs::after {transition:none!important;}
}

/* The dropdown receives one fluid highlight on its actual outer surface.
   Child panels have no individual light rectangles. */
@media (min-width:1421px) and (hover:hover) and (pointer:fine) {
 .services-panel {isolation:isolate;}
 .services-panel::after {
   content:"";
   display:block;
   position:absolute;
   inset:0;
   z-index:1;
   pointer-events:none;
   border-radius:inherit;
   background:radial-gradient(circle 220px at var(--mega-light-x,50%) var(--mega-light-y,40%),
      rgba(207,179,104,.058) 0%,rgba(131,162,138,.028) 44%,transparent 75%);
   opacity:0;
   transition:opacity .18s ease;
 }
 .services-panel.is-open:hover::after {opacity:1;}
 .services-panel > * {position:relative;z-index:2;}
}
@media (prefers-reduced-motion:reduce) {.services-panel::after{transition:none!important;}}
