/* Typography study: expressive voice, direct action, native product. */
:root {
  --type-editorial: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --type-interface: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  --type-display: clamp(42px, 5.1vw, 68px);
  --type-action: clamp(36px, 4.2vw, 54px);
  --type-body: clamp(16px, 1.5vw, 18px);
}
body { -webkit-font-smoothing:antialiased; }
.hero .hero-title { gap: 3px; }
.hero-line { font-size:clamp(24px, 2.55vw, 33px); font-weight:450; letter-spacing:-.035em; }
.hero-line-rot { font-size:clamp(38px, 5.6vw, 73px); min-height:1.12em; }
.hero .rotator { font-family:var(--type-editorial); font-weight:400; font-style:italic; letter-spacing:-.018em; line-height:1.08; padding-right:.08em; }
.hero .hero-title>.hero-line:last-child { font-size:20px; font-weight:400; letter-spacing:-.025em; line-height:1.45; margin-top:15px; }
.hero-wink { font-size:1.3em; }
.hero-sub { font-size:17px; line-height:1.65; letter-spacing:0; max-width:43ch; }
.section-title { font-size:var(--type-action); letter-spacing:-.04em; font-weight:600; line-height:1.1; }
#ache-title, #doors-title, #trail-title, #cta-title {
  font-family:var(--type-editorial);
  font-size:var(--type-display);
  font-weight:400;
  letter-spacing:-.015em;
  line-height:1.07;
  font-synthesis:none;
}
.section-title em { font-weight:400; font-style:italic; color:#474461; }
.doors-section .section-title { max-width:28ch; }
.trail-section .section-title { max-width:26ch; }
.chapter-intro { display:inline-block; font-family:var(--type-interface); font-size:22px; font-weight:500; letter-spacing:-.025em; line-height:1.4; margin-bottom:16px; }
.section-sub { font-size:var(--type-body); line-height:1.65; letter-spacing:0; max-width:52ch; }
.ache-scrawl { font-size:17px; line-height:1.5; }
.ache-tally { font-family:var(--type-editorial); font-size:clamp(29px,3.2vw,42px); font-weight:400; letter-spacing:-.012em; line-height:1.2; }
.ache-source { max-width:56ch; line-height:1.7; }
.ache-wall.cluster .scrap blockquote,.ache-wall.cluster .scrap.wide blockquote { font-family:var(--type-editorial); font-size:28px; font-weight:400; line-height:1.28; letter-spacing:0; }
.feature-row h3 { font-size:clamp(23px,2.1vw,28px); font-weight:600; letter-spacing:-.035em; line-height:1.2; }
.feature-row p,.never-facts li { font-size:16px; line-height:1.65; letter-spacing:0; }
.stop-text h3,.trail-stop.lit .stop-text h3 { font-size:22px; font-weight:550; line-height:1.2; letter-spacing:-.025em; }
.stop-text p { font-size:15px; line-height:1.55; }
.stop-dot { font-variant-numeric:tabular-nums; }
.never-item { font-family:var(--type-editorial); letter-spacing:-.01em; }
.never-affirm { font-family:var(--type-editorial); font-style:italic; font-weight:400; font-size:clamp(28px,3vw,38px); line-height:1.2; letter-spacing:-.01em; }
.never-facts strong { font-size:21px; letter-spacing:-.025em; line-height:1.3; }
.cta-inner .section-sub { max-width:37ch; }
.footer-line { font-family:var(--type-editorial); font-style:italic; font-size:30px; }
/* The site display system never overrides native-style product text. */
.hero-app { font-family:var(--type-interface); font-style:normal; }
.ha-set strong,.ha-status { font-variant-numeric:tabular-nums; }
@media(max-width:850px) {
  .hero-line { font-size:25px; }
  .hero-line-rot { font-size:10.6vw; }
  .hero-sub { font-size:15px; line-height:1.6; }
  .hero .hero-title>.hero-line:last-child { font-size:19px; margin-top:8px; }
  .chapter-intro { font-size:19px; margin-bottom:12px; }
}
@media(max-width:420px) { .type-break { display:none; } }

/* Lighter neutral canvas and a more consistent reading rhythm. */
:root {
  --paper: #fdfdfc;
  --cream: #fdfdfc;
  --type-display: clamp(40px, 4.6vw, 60px);
  --type-action: clamp(34px, 3.8vw, 48px);
}
.nav,.nav.scrolled,.nav.on-ink { background:rgba(253,253,252,.95); }
.hero { background:none; }
.hero .hero-title { gap:6px; }
.hero-line { font-size:clamp(24px,2.4vw,30px); line-height:1.2; }
.hero-line-rot { font-size:clamp(40px,5.4vw,70px); line-height:1.12; }
.hero .hero-title>.hero-line:last-child { margin-top:16px; font-size:20px; line-height:1.4; }
.hero-sub { margin-top:24px; font-size:17px; line-height:1.6; max-width:44ch; }
.hero .hero-cta { margin-top:24px; }
.section { padding-block:96px; }
.section-sub { margin-top:20px; line-height:1.6; }
.ache-scrawl { margin-top:16px; }
.ache-wall.cluster { margin-top:32px; }
.ache-tally { margin-top:40px; }
.ache-source { margin-top:20px; }
.flip { margin-top:72px; }
.phone-copy>.section-sub { margin-top:20px; margin-bottom:40px; }
.feature-rows { margin-top:40px; }
.feature-row p { margin-top:12px; }
.turn-inner>.section-sub { margin-bottom:40px; }
.trail { margin-top:40px; }
.chapter-intro { margin-bottom:12px; font-size:20px; }
.never-list { margin-top:40px; gap:20px; }
.never-affirm { margin-top:40px; }
.never-facts { margin-top:40px; }
.cta-title { margin-top:24px; }
@media(max-width:850px) {
  .hero-line { font-size:24px; }
  .hero-line-rot { font-size:10.6vw; }
  .hero .hero-title>.hero-line:last-child { margin-top:10px; font-size:19px; }
  .hero-sub { margin-top:20px; font-size:16px; line-height:1.55; }
  .hero .hero-cta { margin-top:20px; }
  .section { padding-block:64px; }
  .section-sub { margin-top:16px; }
  .chapter-intro { font-size:18px; }
  .feature-rows { gap:28px; }
  .flip { margin-top:56px; }
}
