.landing-page .utility-identity { color: var(--ink-soft); }
.landing-page .utility-identity:hover { color: var(--accent-bright); }
.landing-page .site-header { background: var(--bg); }
.landing-page .header-inner { min-height: 72px; }
.landing-page .landing-header .primary-nav { gap: 27px; }
.landing-page .landing-header .nav-link { padding-block: 25px; }

.icon-external { width: 14px; height: 14px; margin-left: 5px; vertical-align: -2px; }

.landing-hero { background: var(--bg); border-bottom: 1px solid var(--line); }
.landing-hero-grid { min-height: 610px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: clamp(48px, 7vw, 96px); align-items: center; }
.landing-hero-copy { padding-block: 78px; }
.landing-hero h1 { max-width: 700px; margin: 0 0 25px; font-size: clamp(3.7rem, 6.6vw, 6rem); line-height: .9; letter-spacing: -.025em; }
.landing-lede { max-width: 655px; margin: 0 0 14px; color: var(--ink-soft); font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.5; }
.landing-lede strong { color: var(--ink); font-weight: 600; }
.landing-note { max-width: 560px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.landing-actions { display: flex; align-items: center; gap: 27px; margin-top: 34px; }
.landing-actions .button { min-height: 47px; }
.landing-actions .text-link { font-size: 12px; }

.roadmap { align-self: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-top: 18px; }
.roadmap-heading, .roadmap-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.roadmap-heading h2 { margin: 0; color: var(--ink); font-family: var(--body); font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; }
.roadmap-heading > span, .roadmap-footer { color: var(--quiet); font-family: var(--mono); font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }
.roadmap-list { list-style: none; margin: 17px 0 0; padding: 0; }
.roadmap-item { display: grid; grid-template-columns: 6px 1fr; gap: 16px; padding: 21px 0; border-top: 1px solid var(--line-soft); }
.roadmap-marker { width: 5px; height: 5px; margin-top: 7px; background: var(--accent); }
.roadmap-item h3 { margin: 0 0 6px; color: var(--ink-soft); font-size: 16px; font-weight: 500; }
.roadmap-item p { max-width: 330px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.roadmap-footer { padding: 17px 0 19px; border-top: 1px solid var(--line-soft); }

.landing-section { background: #111617; border-bottom: 1px solid var(--line); padding: 94px 0 91px; }
.landing-section-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; margin-bottom: 49px; }
.landing-section h2, .independence-section h2, .faq-section h2, .landing-cta h2 { max-width: 620px; margin: 0; font-size: clamp(3rem, 5.3vw, 5.25rem); line-height: .88; }
.landing-section-intro > p { max-width: 430px; color: var(--muted); margin: 0; font-size: 15px; line-height: 1.55; }
.change-list { border-top: 1px solid var(--line); }
.change-row { display: grid; grid-template-columns: 110px 1fr 24px; gap: 34px; align-items: start; padding: 31px 0 33px; border-bottom: 1px solid var(--line-soft); }
.change-index { padding-top: 4px; color: var(--accent-bright); font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.change-row h3 { max-width: 600px; margin: 0 0 9px; color: var(--ink); font-size: 21px; font-weight: 500; letter-spacing: -.015em; }
.change-row p { max-width: 650px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.change-mark { padding-top: 3px; color: var(--quiet); text-align: right; }
.change-mark .icon { transition: transform .2s ease, color .2s ease; }
.change-row:hover .change-mark { color: var(--accent-bright); }
.change-row:hover .change-mark .icon { transform: translateX(3px); }

.independence-section { background: #171d1e; border-bottom: 1px solid var(--line); padding: 92px 0; }
.independence-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.independence-section h2 { max-width: 460px; }
.independence-copy { max-width: 480px; }
.independence-copy p { margin: 0 0 18px; color: var(--ink-soft); font-size: 16px; line-height: 1.55; }
.independence-copy .independence-lede { color: var(--ink); font-size: 21px; font-weight: 500; }
.independence-copy .independence-fine { color: var(--muted); font-size: 13px; }

.faq-section { background: var(--bg); border-bottom: 1px solid var(--line); padding: 94px 0 100px; }
.faq-grid { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: 92px; align-items: start; }
.faq-intro > p { max-width: 330px; color: var(--muted); margin: 25px 0 21px; font-size: 14px; line-height: 1.55; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line-soft); }
.faq-list summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 70px; color: var(--ink-soft); cursor: pointer; font-size: 15px; font-weight: 500; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 4px; }
.faq-list details[open] summary { color: var(--ink); }
.faq-icon { position: relative; width: 14px; height: 14px; flex: 0 0 14px; }
.faq-icon::before, .faq-icon::after { content: ""; position: absolute; left: 1px; top: 6px; width: 12px; height: 1px; background: currentColor; transition: transform .18s ease; }
.faq-icon::after { transform: rotate(90deg); }
.faq-list details[open] .faq-icon::after { transform: rotate(0); }
.faq-list details p { max-width: 650px; margin: -5px 35px 23px 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.faq-list details a { color: var(--accent-bright); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.landing-cta { background: #101516; border-bottom: 1px solid var(--line); padding: 76px 0 80px; }
.landing-cta-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: end; }
.landing-cta-inner > div:last-child { max-width: 450px; }
.landing-cta-inner p { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 0 0 24px; }
.landing-footer .footer-inner { min-height: 150px; }

@media (max-width: 900px) {
  .landing-hero-grid { grid-template-columns: 1fr; gap: 0; padding-block: 64px 70px; }
  .landing-hero-copy { padding-block: 0 52px; }
  .landing-hero h1 { max-width: 700px; }
  .roadmap { max-width: 620px; }
  .landing-section-intro, .independence-grid, .faq-grid, .landing-cta-inner { gap: 45px; }
  .faq-grid { grid-template-columns: .8fr 1.2fr; }
}

@media (max-width: 780px) {
  .landing-page .landing-header .primary-nav { top: 67px; }
  .landing-hero-grid { padding-block: 51px 54px; }
  .landing-hero h1 { font-size: clamp(3.7rem, 15vw, 5.4rem); }
  .landing-lede { font-size: 17px; }
  .landing-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
  .landing-section, .independence-section, .faq-section { padding-block: 63px; }
  .landing-section-intro, .independence-grid, .faq-grid, .landing-cta-inner { display: block; }
  .landing-section-intro > p { margin-top: 25px; }
  .change-row { grid-template-columns: 82px 1fr 20px; gap: 15px; padding-block: 24px; }
  .change-row h3 { font-size: 18px; }
  .change-row p { font-size: 13px; }
  .independence-copy { margin-top: 30px; }
  .faq-intro { margin-bottom: 44px; }
  .landing-cta { padding-block: 61px; }
  .landing-cta-inner > div:last-child { margin-top: 29px; }
}

@media (max-width: 470px) {
  .landing-page .utility-inner { gap: 10px; }
  .landing-page .utility-inner > span:last-child { display: none; }
  .landing-hero h1 { font-size: 3.8rem; }
  .landing-lede { font-size: 16px; }
  .roadmap { padding-top: 16px; }
  .roadmap-item { grid-template-columns: 5px 1fr; gap: 12px; padding-block: 18px; }
  .landing-section h2, .independence-section h2, .faq-section h2, .landing-cta h2 { font-size: 3.25rem; }
  .change-row { grid-template-columns: 1fr 20px; }
  .change-index { grid-column: 1 / -1; }
  .change-mark { grid-column: 2; grid-row: 2; }
  .change-row > div { grid-column: 1; }
  .faq-list summary { min-height: 64px; font-size: 14px; }
  .faq-list details p { margin-right: 0; }
}
