.trial-page { background: var(--paper); }

.trial-hero { width: var(--page); margin: 0 auto; padding: 110px 0 0; display: grid; grid-template-columns: .92fr 1.08fr; grid-template-rows: minmax(610px, auto) auto; gap: 0 72px; align-items: center; }
.trial-hero-copy { padding: 54px 0 64px; }
.trial-hero-copy .eyebrow { margin-bottom: 24px; }
.trial-hero h1 { max-width: 720px; font: 400 clamp(64px, 6vw, 94px)/.91 var(--display); letter-spacing: -.062em; }
.trial-hero-lead { max-width: 550px; margin-top: 30px; color: var(--ink-soft); font: 400 clamp(20px, 1.8vw, 26px)/1.36 var(--display); }
.trial-actions { display: flex; align-items: center; gap: 24px; margin-top: 34px; }
.trial-microcopy { max-width: 540px; margin-top: 16px; color: var(--ink-soft); font-size: 12px; }

.trial-stage { min-width: 0; min-height: 610px; position: relative; align-self: stretch; overflow: hidden; padding: 48px; color: var(--paper-high); background: var(--forest); border-radius: 0 0 26px 26px; }
.trial-stage::before { content: ''; position: absolute; inset: 20px; border: 1px solid var(--line-dark); border-radius: 14px; pointer-events: none; }
.trial-stage-number { position: absolute; top: -9%; right: -2%; color: rgba(253,251,246,.075); font: 400 clamp(230px, 27vw, 390px)/1 var(--display); letter-spacing: -.09em; }
.trial-stage-label { position: relative; max-width: 230px; color: var(--moss); font: 500 12px/1.45 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.trial-stage-path { position: absolute; left: 48px; right: 48px; bottom: 53px; z-index: 1; list-style: none; margin: 0; padding: 0; }
.trial-stage-path::before { content: ''; position: absolute; left: 15px; top: 12px; bottom: 13px; width: 1px; background: var(--line-dark); }
.trial-stage-path li { position: relative; min-height: 76px; display: grid; grid-template-columns: 32px 1fr; gap: 18px; align-items: start; }
.trial-stage-path li:last-child { min-height: 0; }
.trial-stage-path span { position: relative; z-index: 1; width: 31px; height: 25px; display: grid; place-items: center; color: var(--forest); background: var(--paper-high); border-radius: 50%; font: 600 8px/1 var(--mono); }
.trial-stage-path li:last-child span { color: #fff; background: var(--clay); }
.trial-stage-path strong { padding-top: 2px; font: 400 20px/1.2 var(--display); }

.trial-truth { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.trial-truth > div { display: grid; grid-template-columns: 28px 1fr; gap: 5px 14px; padding: 25px 30px 29px; }
.trial-truth > div:first-child { padding-left: 0; }
.trial-truth > div + div { border-left: 1px solid var(--line); }
.trial-truth span { grid-row: span 2; color: var(--clay-dark); font: 500 9px/1.5 var(--mono); }
.trial-truth strong { font: 500 17px/1.1 var(--display); }
.trial-truth p { color: var(--ink-soft); font-size: 12px; }

.first-use { padding: 104px 0; background: var(--paper-high); border-top: 1px solid var(--line); }
.trial-section-heading { width: var(--page); margin: 0 auto 50px; display: grid; grid-template-columns: 1fr .62fr; column-gap: 8vw; align-items: end; }
.trial-section-heading .eyebrow { grid-column: 1 / -1; margin-bottom: 19px; }
.trial-section-heading h2, .trial-route-intro h2, .trial-fit-heading h2, .trial-price-copy h2, .trial-faq-heading h2, .trial-final h2 { font: 400 clamp(44px, 5vw, 72px)/.98 var(--display); letter-spacing: -.045em; }
.trial-section-heading > p:last-child { max-width: 50ch; padding-bottom: 4px; color: var(--ink-soft); }
.first-use-grid { width: var(--page); margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.first-use-grid li { min-height: 285px; padding: 29px; display: flex; flex-direction: column; }
.first-use-grid li + li { border-left: 1px solid var(--line); }
.first-use-grid span { color: var(--clay-dark); font: 600 9px/1 var(--mono); }
.first-use-grid h3 { margin-top: auto; font: 400 30px/1.08 var(--display); }
.first-use-grid p { margin-top: 13px; color: var(--ink-soft); font-size: 14px; }

.trial-route { padding: 104px max(28px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: .72fr 1.28fr; gap: 9vw; color: var(--paper-high); background: var(--forest); }
.trial-route-intro h2 { margin-top: 19px; }
.trial-route-intro > p:last-child { max-width: 47ch; margin-top: 25px; color: #c1cbc6; }
.route-days { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-dark); }
.route-days li { min-height: 126px; display: grid; grid-template-columns: 90px 1fr; gap: 24px; align-items: center; border-bottom: 1px solid var(--line-dark); }
.route-days span { color: #d07a5e; font: 600 9px/1 var(--mono); text-transform: uppercase; }
.route-days h3 { font: 400 25px/1.1 var(--display); }
.route-days p { max-width: 52ch; margin-top: 7px; color: #bdc8c2; font-size: 14px; }

.trial-fit { width: var(--page); margin: 0 auto; padding: 104px 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; }
.trial-fit-heading h2 { margin-top: 18px; }
.trial-fit-heading > p:last-child { max-width: 42ch; margin-top: 23px; color: var(--ink-soft); }
.fit-columns { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.fit-columns article { padding: 29px; }
.fit-columns article + article { background: var(--paper-low); border-left: 1px solid var(--line); }
.fit-columns article > span { color: var(--forest); font: 600 9px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.fit-columns ul { margin: 27px 0 0; padding: 0; list-style: none; }
.fit-columns li { position: relative; padding: 15px 0 15px 25px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 14px; }
.fit-columns li::before { content: '↳'; position: absolute; left: 0; color: var(--clay-dark); }

.trial-price { padding: 96px max(28px, calc((100vw - 1240px)/2)); display: grid; grid-template-columns: .78fr 1.22fr; gap: 9vw; color: var(--paper-high); background: var(--forest-deep); }
.trial-price-copy h2 { margin-top: 19px; }
.trial-price-copy > p:last-child { max-width: 47ch; margin-top: 25px; color: #c1cbc6; }
.trial-price-panel { border: 1px solid var(--line-dark); border-radius: var(--radius); overflow: hidden; }
.trial-price-panel > div { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 6px 20px; padding: 25px 29px; }
.trial-price-panel div + div { border-top: 1px solid var(--line-dark); }
.trial-price-panel span { align-self: center; color: var(--moss); font: 600 9px/1 var(--mono); text-transform: uppercase; }
.trial-price-panel strong { font: 400 clamp(45px, 5vw, 64px)/1 var(--display); }
.trial-price-panel small { grid-column: 2; color: #c1cbc6; font-size: 11px; }
.trial-price-panel .button { margin: 29px; }

.trial-faq { width: var(--page); margin: 0 auto; padding: 104px 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; }
.trial-faq-heading h2 { margin-top: 18px; }
.trial-faq-list { border-top: 1px solid var(--line); }
.trial-faq-list details { border-bottom: 1px solid var(--line); }
.trial-faq-list summary { min-height: 80px; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 30px; cursor: pointer; font: 500 20px/1.3 var(--display); }
.trial-faq-list summary::-webkit-details-marker { display: none; }
.trial-faq-list summary span { font: 300 28px/1 var(--sans); transition: transform .3s var(--ease); }
.trial-faq-list details[open] summary span { transform: rotate(45deg); }
.trial-faq-list details p { max-width: 64ch; padding: 0 60px 25px 0; color: var(--ink-soft); }

.trial-final { padding: 110px 24px 120px; text-align: center; background: var(--paper-low); border-top: 1px solid var(--line); }
.trial-final h2 { max-width: 850px; margin: 20px auto 0; }
.trial-final > p:not(.eyebrow) { max-width: 540px; margin: 24px auto 0; color: var(--ink-soft); }
.trial-final .button { margin-top: 31px; }
.trial-final small { display: block; margin-top: 14px; color: var(--ink-soft); }
.trial-mobile-cta { display: none; }

@media (max-width: 1050px) {
  .trial-hero { grid-template-columns: .9fr 1.1fr; gap: 0 36px; padding-top: 92px; }
  .trial-hero h1 { font-size: clamp(56px, 7.5vw, 76px); }
  .trial-stage { padding-inline: 36px; }
  .trial-stage-path { left: 36px; right: 36px; }
  .trial-route, .trial-price { padding-inline: 34px; }
}

@media (max-width: 760px) {
  .trial-hero { width: 100%; display: flex; flex-direction: column; padding-top: 72px; }
  .trial-hero-copy { width: var(--page); padding: 36px 0 34px; }
  .trial-hero h1 { font-size: clamp(52px, 15.8vw, 72px); }
  .trial-hero-lead { font-size: 22px; }
  .trial-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .trial-actions .button { width: 100%; }
  .trial-stage { width: 100%; min-height: 520px; border-radius: 0; }
  .trial-stage-number { top: -2%; font-size: 260px; }
  .trial-truth { width: 100%; grid-template-columns: 1fr; padding: 6px 16px; }
  .trial-truth > div, .trial-truth > div:first-child { padding: 17px 0; }
  .trial-truth > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .first-use, .trial-fit, .trial-faq { padding-block: 82px; }
  .trial-section-heading, .trial-fit, .trial-faq { display: block; }
  .trial-section-heading { margin-bottom: 34px; }
  .trial-section-heading h2, .trial-route-intro h2, .trial-fit-heading h2, .trial-price-copy h2, .trial-faq-heading h2, .trial-final h2 { font-size: clamp(42px, 13vw, 60px); }
  .trial-section-heading > p:last-child, .trial-fit-heading > p:last-child { margin-top: 22px; }
  .first-use-grid { grid-template-columns: 1fr; }
  .first-use-grid li { min-height: 235px; }
  .first-use-grid li + li { border-left: 0; border-top: 1px solid var(--line); }
  .trial-route, .trial-price { padding: 82px 20px; grid-template-columns: 1fr; gap: 49px; }
  .route-days li { grid-template-columns: 70px 1fr; }
  .fit-columns { margin-top: 40px; grid-template-columns: 1fr; }
  .fit-columns article + article { border-left: 0; border-top: 1px solid var(--line); }
  .trial-faq-list { margin-top: 40px; }
  .trial-faq-list summary { min-height: 74px; font-size: 18px; }
  .trial-mobile-cta { position: fixed; left: 10px; right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); z-index: 45; min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 9px 8px 17px; color: var(--paper-high); background: rgba(31,61,54,.96); border: 1px solid rgba(255,255,255,.16); border-radius: 12px; box-shadow: 0 10px 40px rgba(17,31,27,.22); }
  .trial-mobile-cta span { font: 500 15px/1.2 var(--display); }
  .trial-page footer { padding-bottom: 104px; }
}

@media (max-width: 420px) {
  .trial-stage { min-height: 500px; padding: 32px 28px; }
  .trial-stage-path { left: 28px; right: 28px; bottom: 37px; }
  .trial-stage-path li { min-height: 72px; }
  .route-days li { grid-template-columns: 58px 1fr; gap: 14px; }
  .trial-price-panel > div { padding: 22px 20px; }
  .trial-price-panel .button { width: calc(100% - 40px); margin: 24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
}
