/* Ageason Design V2 — consumer-first landing pages, inspired by Cal.com clarity
   and Stripe's soft atmosphere. Scoped to English/Arabic calculator homepages. */
body.landing-v2 {
  --landing-ink: #182039;
  --landing-muted: #59677e;
  --landing-line: #e3e8f3;
  --landing-card: #fff;
  --landing-blue: #4158d8;
  --landing-purple: #6752c8;
  --landing-wash: #f7f9fe;
  --primary: #4358d5;
  --primary-hover: #3548bc;
  --primary-pressed: #283b9b;
  --primary-tint: #edf0ff;
  --focus: #4358d5;
  --radius: 10px;
  --radius-lg: 18px;
  background: var(--landing-wash);
  color: var(--landing-ink);
}
.landing-v2 .wrap { max-width: 1160px; }
.landing-v2 .site-header {
  position: relative;
  z-index: 3;
  background: #ffffffef;
  border-block-end: 1px solid #e9eafa;
}
.landing-v2 .site-header .wrap { min-height: 68px; }
.landing-v2 .brand { font-size: 18px; font-weight: 600; letter-spacing: -.45px; color: var(--landing-ink); }
.landing-v2 .brand svg { width: 28px; height: 28px; }
.landing-v2 .tool-nav a { color: #59677e; border-radius: 10px 10px 0 0; }
.landing-v2 .tool-nav a[aria-current="page"] { color: #3548bc; }
.landing-v2 .hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-block: 64px 86px;
  background:
    radial-gradient(ellipse 580px 300px at 88% 15%, #cbd5ffb3 0%, transparent 78%),
    radial-gradient(ellipse 590px 330px at 5% 95%, #f8d8e9b0 0%, transparent 80%),
    linear-gradient(120deg, #f5f7ff 0%, #ecf0ff 49%, #fff6f9 100%);
  border-block-end: 1px solid #e8e7fa;
}
.landing-v2 .hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  inset-inline-end: -110px;
  top: -210px;
  background: radial-gradient(circle, #ffffffaa, #ffffff00 65%);
  pointer-events: none;
}
.landing-v2 .hero .wrap { position: relative; }
.landing-v2 .hero-copy { text-align: center; max-width: 880px; margin-inline: auto; }
.landing-v2 .hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #d6dcfb;
  border-radius: 999px;
  background: #ffffffac;
  color: #3f4eb2;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .8px;
  text-transform: uppercase;
  padding: 8px 14px;
  margin: 0 0 23px;
}
.landing-v2 .hero-eyebrow::before { content:""; width: 7px; height: 7px; flex: none; border-radius: 50%; background: #6557db; }
.landing-v2 .hero h1 {
  max-width: 21ch;
  font-size: clamp(36px, 5.3vw, 65px);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -2.25px;
  color: #1a2342;
  margin-inline: auto;
}
.landing-v2 .hero-title-accent {
  display: inline;
  color: #554bd0;
}
.landing-v2 .hero .lede {
  color: #56627b;
  max-width: 64ch;
  margin: 19px auto 0;
  line-height: 1.6;
  font-size: clamp(16px, 1.7vw, 19px);
}
.landing-v2 .hero-benefits {
  list-style: none;
  margin: 24px auto 0;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 22px;
  font-size: 13px;
  font-weight: 500;
  color: #4c5870;
}
.landing-v2 .hero-benefits li { display: inline-flex; align-items: center; gap: 7px; }
.landing-v2 .hero-benefits li::before { content: "✓"; display: inline-grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; color: #3c4ac3; background: #dfe4ff; font-size: 11px; font-weight: 700; }
.landing-v2 .tool {
  position: relative;
  z-index: 2;
  padding-block: 0 36px;
  margin-block-start: -54px;
}
.landing-v2 .tool-grid { gap: 0; align-items: stretch; }
.landing-v2 .panel, .landing-v2 .result {
  border-radius: 0;
  min-width: 0;
  box-shadow: none;
}
.landing-v2 .tool .panel {
  position: relative;
  z-index: 1;
  padding: clamp(22px, 3.6vw, 38px);
  background: #fff;
  border: 1px solid var(--landing-line);
  border-start-start-radius: 24px;
  border-end-start-radius: 24px;
  box-shadow: 0 20px 65px #27305b14, 0 2px 8px #27305b0a;
}
.landing-v2 .tool .panel::before {
  display: block;
  content: "";
  width: 35px;
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg,#5766e4,#a16ddd);
  margin-block-end: 22px;
}
.landing-v2 .landing-form-heading { margin: 0; font-size: clamp(22px, 2.3vw, 28px); font-weight: 600; line-height: 1.25; letter-spacing: -.5px; }
.landing-v2 .landing-form-subtitle { margin-block-start: 6px !important; color: var(--landing-muted); font-size: 14px; }
.landing-v2 .tool .result {
  padding: clamp(22px, 3.6vw, 38px);
  background: linear-gradient(140deg,#eef1ff 0%,#f5f3ff 58%,#fff6fb 100%);
  border: 1px solid #e0e4fb;
  border-inline-start: 0;
  border-start-end-radius: 24px;
  border-end-end-radius: 24px;
  box-shadow: 0 20px 65px #27305b14, 0 2px 8px #27305b0a;
}
.landing-v2 .result-empty {
  display: flex; min-height: 240px; flex-direction: column; justify-content: center;
  gap: 8px; color: var(--landing-muted); font-size: 16px;
}
.landing-v2 .result-empty::before {
  content: "✦";
  display: grid; place-items: center;
  width: 54px; height: 54px; border-radius: 17px;
  color: #5e51d4; font-size: 30px;
  background: #ffffffc7; border: 1px solid #dfe3fa;
  margin-block-end: 13px;
}
.landing-v2 .result-empty strong { font-size: 23px; color: #232b4d; }
.landing-v2 .age-big { font-weight: 600; color: #3a43a8; letter-spacing: -1.5px; }
.landing-v2 .age-big .unit { color: #60688c; font-weight: 500; }
.landing-v2 .age-alt { border-color: #d9ddf2; }
.landing-v2 .age-caption { color: #5a6382; }
.landing-v2 .ruler-track span { border-radius: 6px; background: #daddf1; }
.landing-v2 .ruler-track span.full, .landing-v2 .ruler-track span.part::after { background: #5c60d8; }
.landing-v2 .stats div, .landing-v2 .age-alt { border-block-end-color: #dedff0; }
.landing-v2 .tool input[type="text"], .landing-v2 .tool input[type="number"], .landing-v2 .tool select {
  border: 1px solid #dce2f0;
  border-radius: 11px;
  background-color: #fafbff;
  min-height: 52px;
  box-shadow: 0 1px 1px #242f4a08;
}
.landing-v2 .tool input:focus, .landing-v2 .tool select:focus { border-color: #6874df; box-shadow: 0 0 0 3px #6474df25; }
.landing-v2 .tool .label, .landing-v2 .tool legend { font-size: 14px; }
.landing-v2 .tool .switch { border-color: #d9dff1; border-radius: 11px; }
.landing-v2 .tool .switch input:checked + label { color: #fff; background: #4d55ce; }
.landing-v2 .btn-primary { background: #4b57d6; }
.landing-v2 .btn-tertiary { border-color: #c7cef8; background: #ffffffa8; border-radius: 10px; }
.landing-v2 .btn-tertiary:hover { background: #e3e7ff; color: #293a9b; }
.landing-v2 .landing-proof {
  margin-block: 0 36px;
  padding-inline: 12px;
  display: flex; align-items: center; justify-content: center;
  gap: 12px; flex-wrap: wrap;
  color: #606c82; font-size: 13px;
}
.landing-v2 .landing-proof strong { color: #37445e; }
.landing-v2 .landing-explore { padding-block: 22px 62px; }
.landing-v2 .landing-section-heading { margin-block-end: 24px; text-align: center; }
.landing-v2 .landing-section-heading h2 { margin: 0; font-size: clamp(26px,3vw,36px); line-height: 1.15; font-weight: 600; letter-spacing: -.9px; }
.landing-v2 .landing-section-heading p { margin: 11px 0 0; color: var(--landing-muted); }
.landing-v2 .landing-links { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.landing-v2 .landing-link-card {
  position: relative; display: flex; flex-direction: column; gap: 11px; min-width: 0;
  padding: 25px 25px 28px; border: 1px solid #e3e8f3; border-radius: 20px;
  background: #fff; color: #212b48; text-decoration: none;
  box-shadow: 0 6px 24px #1a274309;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.landing-v2 .landing-link-card:hover { color: #212b48; border-color: #c2c8f2; box-shadow: 0 15px 35px #22307816; transform: translateY(-2px); }
.landing-v2 .landing-link-card:focus-visible { outline-offset: 4px; }
.landing-v2 .landing-card-icon { display:grid; place-items:center; width: 48px; height:48px; border-radius: 15px; background: #ebeefe; color: #4e57ca; font-size: 23px; font-weight: 600; }
.landing-v2 .landing-link-card:nth-child(2) .landing-card-icon { background: #fff0e9; color: #bc6b43; }
.landing-v2 .landing-link-card:nth-child(3) .landing-card-icon { background: #e9f5f3; color: #2e847b; }
.landing-v2 .landing-link-card strong { font-size: 18px; line-height: 1.3; }
.landing-v2 .landing-link-card .description { color: #667389; font-size: 14px; line-height: 1.55; }
.landing-v2 .landing-link-card .card-arrow { margin-block-start:auto; color: #4b58c7; font-size: 20px; }
.landing-v2 .content { background: #fff; border-color: #e9edf6; padding-block-start: 36px; }
.landing-v2 .content .prose { max-width: 74ch; }
.landing-v2 .content .prose h2 { color: #283556; }
.landing-v2 .site-footer { background: #17213d; }
[dir="rtl"] .landing-v2 .hero h1 { letter-spacing: 0; max-width: 24ch; line-height: 1.3; }
[dir="rtl"] .landing-v2 .hero-eyebrow { letter-spacing: 0; }
[dir="rtl"] .landing-v2 .landing-form-heading { letter-spacing: 0; }
@media (min-width: 720px) {
  .landing-v2 .tool-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (min-width: 1024px) {
  .landing-v2 .tool-grid { grid-template-columns: minmax(0, 5.2fr) minmax(0, 6.8fr); }
}
@media (max-width: 719px) {
  .landing-v2 .site-header .wrap { min-height: 58px; }
  .landing-v2 .hero { padding-block: 32px 70px; }
  .landing-v2 .hero-eyebrow { margin-block-end: 13px; font-size: 11px; padding: 6px 11px; }
  .landing-v2 .hero h1 { font-size: clamp(30px, 8vw, 42px); line-height: 1.19; letter-spacing: -1.1px; }
  .landing-v2 .hero .lede { font-size: 14px; margin-block-start: 12px; line-height: 1.55; }
  .landing-v2 .hero-benefits { gap: 6px 13px; font-size: 11px; margin-block-start: 13px; }
  .landing-v2 .tool { margin-block-start: -45px; padding-block-end: 20px; }
  .landing-v2 .tool-grid { gap: 0; }
  .landing-v2 .tool .panel { padding: 22px 20px; border-radius: 21px 21px 0 0; }
  .landing-v2 .tool .result { padding: 22px 20px; border: 1px solid #e0e4fb; border-block-start: 0; border-radius: 0 0 21px 21px; }
  .landing-v2 .result[data-state="empty"] { min-height: 0; }
  .landing-v2 .result-empty { min-height: 0; padding-block: 8px; font-size: 14px; }
  .landing-v2 .result-empty::before { display: none; }
  .landing-v2 .result-empty strong { font-size: 18px; }
  .landing-v2 .landing-links { grid-template-columns: 1fr; gap: 11px; }
  .landing-v2 .landing-link-card { padding: 19px 21px; }
  .landing-v2 .landing-explore { padding-block: 10px 36px; }
  .landing-v2 .landing-proof { margin-block-end: 26px; }
}
@media (prefers-reduced-motion: reduce) { .landing-v2 .landing-link-card { transition: none; } .landing-v2 .landing-link-card:hover { transform: none; } }
@media (prefers-color-scheme: dark) {
  body.landing-v2 { --canvas:#141a2b; --surface-1:#252b42; --surface-2:#343956; --ink:#f2f3ff; --ink-muted:#bfc7dd; --hairline:#424961; --hairline-strong:#828aab; --landing-ink:#f5f5ff; --landing-muted:#c3c9de; --landing-card:#222940; --landing-wash:#141a2b; --primary:#a9b1ff; --primary-hover:#c5ccff; --on-primary:#1a2040; --focus:#c6cbff; background:#141a2b; color:#f1f3ff; }
  .landing-v2 .site-header { background:#171d31; border-color:#343b53; }
  .landing-v2 .brand { color:#f7f7ff; } .landing-v2 .tool-nav a {color:#c8cde1;} .landing-v2 .tool-nav a[aria-current="page"]{color:#c2c8ff;}
  .landing-v2 .hero { background:radial-gradient(ellipse at 83% 4%,#333a7355,transparent 72%),radial-gradient(ellipse at 8% 95%,#63385855,transparent 72%),linear-gradient(120deg,#1b233e,#272646); border-color:#383b59; }
  .landing-v2 .hero-eyebrow { background:#35365a; border-color:#55578a; color:#d9dbff; }
  .landing-v2 .hero h1 {color:#f8f7ff;} .landing-v2 .hero-title-accent{color:#b5acff;} .landing-v2 .hero .lede,.landing-v2 .hero-benefits{color:#c7cbe1;}
  .landing-v2 .hero-benefits li::before{background:#454878;color:#d2d3ff;}
  .landing-v2 .tool .panel{background:#20283d;border-color:#3c455d;} .landing-v2 .tool .result{background:linear-gradient(140deg,#2e3155,#2b2a49);border-color:#454563;}
  .landing-v2 .landing-form-subtitle,.landing-v2 .result-empty,.landing-v2 .age-caption {color:#c5cbe2;}
  .landing-v2 .result-empty strong,.landing-v2 .landing-form-heading {color:#f7f7ff;} .landing-v2 .age-big{color:#c2c2ff;} .landing-v2 .age-big .unit{color:#d3d6ef;}
  .landing-v2 .tool input[type="text"],.landing-v2 .tool input[type="number"],.landing-v2 .tool select{background-color:#292f45;border-color:#515b77;color:#fff;}
  .landing-v2 .tool .switch{border-color:#59627c;} .landing-v2 .tool .switch input:checked+label{background:#5852b5;color:#fff;}
  .landing-v2 .landing-proof,.landing-v2 .landing-proof strong{color:#cbd1e6;}
  .landing-v2 .landing-section-heading p {color:#b9c2d8;}
  .landing-v2 .landing-link-card{background:#20283c;border-color:#3b455e;color:#f2f3ff;} .landing-v2 .landing-link-card:hover{color:#fff;border-color:#7981a3;} .landing-v2 .landing-link-card .description{color:#c2c9d9;} .landing-v2 .landing-link-card .card-arrow{color:#b5bdff;}
  .landing-v2 .content{background:#171d30;border-color:#343b53;} .landing-v2 .content .prose h2{color:#e3e5ff;}
  .landing-v2 .btn-primary{background:#606de1;color:#ffffff;}
  .landing-v2 .btn-primary:hover{background:#7681ed;color:#ffffff;}
  .landing-v2 .btn-tertiary{background:#323956;border-color:#727aaa;color:#d8ddff;}
}

/* ==========================================================================
   V2 inner pages — same brand language, with a smaller information-first hero.
   Applies to every calculator, conversion chart, and informational page.
   ========================================================================== */
.landing-v2.inner-v2 .hero {
  padding-block: 44px 80px;
  background:
    radial-gradient(ellipse 560px 260px at 89% 10%, #d4d9ff9c 0%, transparent 76%),
    radial-gradient(ellipse 490px 250px at 4% 100%, #f9e4e9a8 0%, transparent 80%),
    linear-gradient(115deg, #f7f8ff 0%, #eff2ff 57%, #fff7f9 100%);
}
.landing-v2.inner-v2 .hero .wrap {
  max-width: 1160px;
  position: relative;
}
.landing-v2.inner-v2 .hero h1 {
  margin-inline: 0;
  max-width: 32ch;
  font-size: clamp(32px, 3.8vw, 47px);
  line-height: 1.15;
  letter-spacing: -1.3px;
  font-weight: 600;
}
.landing-v2.inner-v2 .hero .lede {
  margin: 13px 0 0;
  font-size: clamp(15px, 1.5vw, 17px);
  max-width: 69ch;
  line-height: 1.58;
}
.landing-v2.inner-v2 .hero .breadcrumb {
  margin-block-end: 13px;
  font-size: 13px;
  font-weight: 500;
  color: #64708a;
}
.landing-v2.inner-v2 .hero .breadcrumb a { color: #4754b9; }
.landing-v2.inner-v2 .tool { margin-block-start: -43px; padding-block: 0 46px; }
.landing-v2.inner-v2 .tool-grid { align-items: start; }
.landing-v2.inner-v2 .tool .panel { min-height: 100%; }
.landing-v2.inner-v2 .tool .panel:only-child {
  border-radius: 22px;
}
.landing-v2.inner-v2 .tool .panel .hint { line-height: 1.5; }
.landing-v2.inner-v2 .tool .result[data-state="empty"] { min-height: 282px; }
.landing-v2.inner-v2 .tool .result-empty strong { font-size: 21px; }
.landing-v2.inner-v2 .tool .result[data-state="ready"] { min-height: 0; }
.landing-v2.inner-v2 .tool .switch label { min-height: 44px; }
.landing-v2.inner-v2 .page {
  background: transparent;
  padding-block: 33px 78px;
}
.landing-v2.inner-v2 .page > .wrap.prose {
  max-width: 860px;
  margin-inline: auto;
  padding: clamp(22px, 4vw, 46px);
  background: var(--landing-card);
  border: 1px solid var(--landing-line);
  border-radius: 24px;
  box-shadow: 0 12px 38px #1d2f590a;
}
.landing-v2.inner-v2 .page .prose h2,
.landing-v2.inner-v2 .content .prose h2 { font-weight: 600; letter-spacing: -.45px; }
.landing-v2.inner-v2 .content {
  border-block-start: 1px solid var(--landing-line);
  padding-block-start: 40px;
}
.landing-v2.inner-v2 .content .wrap {
  max-width: 1160px;
}
.landing-v2.inner-v2 .content .prose {
  max-width: 76ch;
}
.landing-v2.inner-v2 .faq details {
  border-color: #e8ebf5;
}
.landing-v2.inner-v2 .faq summary {
  color: #263253;
  font-weight: 500;
}
.landing-v2.inner-v2 .related {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  border: 0;
}
.landing-v2.inner-v2 .related li {
  border: 1px solid #e5e8f4;
  border-radius: 15px;
  overflow: hidden;
  min-width: 0;
}
.landing-v2.inner-v2 .related a { height: 100%; padding: 17px 20px; }
.landing-v2.inner-v2 .related a:hover { background: #f4f5ff; }
.landing-v2.inner-v2 .related a strong { color: #4855c2; }
.landing-v2.inner-v2 .related a span { line-height: 1.5; }
.landing-v2.inner-v2 .table-wrap {
  background: var(--landing-card);
  border: 1px solid var(--landing-line);
  border-radius: 17px;
  box-shadow: 0 9px 24px #18284708;
}
.landing-v2.inner-v2 table.data thead th {
  background: #eff2fc;
  color: #313f69;
}
.landing-v2.inner-v2 table.data tbody tr:hover { background: #f5f6ff; }
.landing-v2.inner-v2 table.data tr.is-you { background: #ecedff; }
.landing-v2.inner-v2 .today-strip {
  border: 1px solid #dce3fb;
  border-radius: 13px;
  background: #f2f4ff;
}
.landing-v2.inner-v2 .callout { border-radius: 10px; }
.landing-v2.inner-v2 .tag { border-radius: 999px; }
.landing-v2.inner-v2 .btn,
.landing-v2.inner-v2 .tool .select-field select { border-radius: 10px; }
.landing-v2.inner-v2 .content .prose :is(p,li) { line-height: 1.75; }
[dir="rtl"] .landing-v2.inner-v2 .hero h1 { letter-spacing: 0; line-height: 1.35; max-width: 33ch; }
[dir="rtl"] .landing-v2.inner-v2 .hero .lede { line-height: 1.8; }
[dir="rtl"] .landing-v2.inner-v2 .related a { text-align: start; }
:lang(ja) .landing-v2.inner-v2 .hero h1 { letter-spacing: 0; max-width: none; line-height: 1.35; }
@media (max-width:719px) {
  .landing-v2.inner-v2 .hero { padding-block: 26px 68px; }
  .landing-v2.inner-v2 .hero h1 { font-size: clamp(27px,7.4vw,36px); line-height: 1.2; letter-spacing: -.6px; }
  .landing-v2.inner-v2 .hero .lede { font-size: 14px; margin-block-start: 9px; }
  .landing-v2.inner-v2 .tool { margin-block-start: -38px; padding-block-end: 24px; }
  .landing-v2.inner-v2 .tool .panel { border-radius: 19px 19px 0 0; }
  .landing-v2.inner-v2 .tool .result { border-radius: 0 0 19px 19px; }
  .landing-v2.inner-v2 .tool .result[data-state="empty"] { min-height: 0; }
  .landing-v2.inner-v2 .related { grid-template-columns: 1fr; }
  .landing-v2.inner-v2 .page { padding-block: 24px 50px; }
  .landing-v2.inner-v2 .page > .wrap.prose { margin-inline: 16px; padding: 22px; border-radius: 19px; }
  .landing-v2.inner-v2 .content { padding-block-start: 26px; }
}
@media (prefers-color-scheme:dark) {
  .landing-v2.inner-v2 .hero {
    background: radial-gradient(ellipse at 90% 0%,#43487857,transparent 74%),
    radial-gradient(ellipse at 10% 100%,#653a5a50,transparent 74%),
    linear-gradient(115deg,#1b233e,#282641);
  }
  .landing-v2.inner-v2 .hero .breadcrumb { color: #c3c8dd; }
  .landing-v2.inner-v2 .hero .breadcrumb a { color: #c2c7ff; }
  .landing-v2.inner-v2 .page > .wrap.prose {
    background: #20283c; border-color: #404861; box-shadow: none;
  }
  .landing-v2.inner-v2 .content { border-color: #414761; }
  .landing-v2.inner-v2 .faq details { border-color: #424962; }
  .landing-v2.inner-v2 .faq summary { color: #f0f0ff; }
  .landing-v2.inner-v2 .related li { border-color: #464e68; background: #222b42; }
  .landing-v2.inner-v2 .related a:hover { background: #303451; }
  .landing-v2.inner-v2 .related a strong { color: #c5cbff; }
  .landing-v2.inner-v2 .table-wrap { border-color: #4a506e; }
  .landing-v2.inner-v2 table.data thead th { background: #2d3551; color: #e0e5ff; }
  .landing-v2.inner-v2 table.data tbody tr:hover { background: #343956; }
  .landing-v2.inner-v2 table.data tr.is-you { background: #343560; }
  .landing-v2.inner-v2 .today-strip { background: #2a3352; border-color: #555d80; }
}


/* ==========================================================================
   Ageason rounded-top footer — inspired by the user's Hirael Footer 02 sample.
   A calm editorial surface matching the site's pastel design, NOT dark SaaS chrome.
   The active locale's calculators stay separate from other-language tools.
   ========================================================================== */
.landing-v2 .footer-v2.footer-rounded {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-inline: clamp(8px, 1.25vw, 20px);
  border: 1px solid #e2e6f2;
  border-block-end: 0;
  border-radius: 30px 30px 0 0;
  background: #f9faff;
  color: #28344f;
  padding-block: 0;
}
.landing-v2 .footer-v2.footer-rounded::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 auto;
  height: 170px;
  pointer-events: none;
  background: radial-gradient(ellipse 35% 145px at 50% 0%, #7775dc22, transparent 94%);
}
.landing-v2 .footer-v2 .footer-inner {
  position: relative;
  max-width: 1250px;
  padding-block: clamp(44px, 5vw, 70px) 25px;
  padding-inline: clamp(18px, 3vw, 44px);
}
.landing-v2 .footer-v2 .footer-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.45fr) repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: clamp(26px, 3.1vw, 54px);
}
.landing-v2 .footer-v2 .footer-brand-column { min-width: 0; }
.landing-v2 .footer-v2 .footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #242c46;
  text-decoration: none;
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -.55px;
}
.landing-v2 .footer-v2 .footer-brand:hover { color: #4f50c1; text-decoration: none; }
.landing-v2 .footer-v2 .footer-brand svg { width: 25px; height: 25px; flex: none; }
.landing-v2 .footer-v2 .footer-description {
  max-width: 36ch;
  margin: 16px 0 10px;
  color: #64708a;
  line-height: 1.75;
  font-size: 14px;
}
.landing-v2 .footer-v2 .footer-note {
  margin: 0;
  color: #747e98;
  font-size: 12px;
  line-height: 1.6;
}
.landing-v2 .footer-v2 .footer-column { min-width: 0; }
.landing-v2 .footer-v2 .footer-column h2 {
  margin: 4px 0 17px;
  color: #25304d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.landing-v2 .footer-v2 .footer-column ul {
  display: grid;
  gap: 11px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.landing-v2 .footer-v2 .footer-column li { min-width: 0; margin: 0; padding: 0; }
.landing-v2 .footer-v2 .footer-column li a,
.landing-v2 .footer-v2 .footer-legal a {
  color: #68748d;
  font-size: 13px;
  line-height: 1.6;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .16s ease;
}
.landing-v2 .footer-v2 .footer-column li a:hover,
.landing-v2 .footer-v2 .footer-legal a:hover {
  color: #4f4abb;
  text-decoration: none;
}
.landing-v2 .footer-v2 a:focus-visible {
  outline: 2px solid #5e55d1;
  outline-offset: 4px;
  border-radius: 3px;
}
.landing-v2 .footer-v2 .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 28px;
  border-block-start: 1px solid #dfe3f0;
  margin-block-start: clamp(40px, 5vw, 58px);
  padding-block-start: 22px;
}
.landing-v2 .footer-v2 .footer-base {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 12px;
  line-height: 1.6;
  color: #77829a;
}
.landing-v2 .footer-v2 .footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}
.landing-v2 .footer-v2 .footer-legal a { font-size: 12px; }
[dir="rtl"] .landing-v2 .footer-v2 .footer-brand { letter-spacing: 0; }
[dir="rtl"] .landing-v2 .footer-v2 .footer-column li a { font-size: 14px; }
@media (min-width: 680px) and (max-width: 1030px) {
  .landing-v2 .footer-v2 .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 36px;
  }
}
@media (max-width: 679px) {
  .landing-v2 .footer-v2.footer-rounded { border-radius: 23px 23px 0 0; }
  .landing-v2 .footer-v2 .footer-inner { padding-block: 40px 22px; }
  .landing-v2 .footer-v2 .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 19px;
  }
  .landing-v2 .footer-v2 .footer-brand-column { grid-column: 1 / -1; }
  .landing-v2 .footer-v2 .footer-column h2 { margin-block-end: 13px; }
  .landing-v2 .footer-v2 .footer-bottom { align-items: start; margin-block-start: 32px; }
}
@media (max-width: 340px) {
  .landing-v2 .footer-v2 .footer-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-v2 .footer-v2 .footer-column li a,
  .landing-v2 .footer-v2 .footer-legal a { transition: none; }
}
@media (prefers-color-scheme: dark) {
  .landing-v2 .footer-v2.footer-rounded {
    background: #202741;
    border-color: #414960;
    color: #e5e9f9;
  }
  .landing-v2 .footer-v2.footer-rounded::before {
    background: radial-gradient(ellipse 35% 145px at 50% 0%, #9c92f72b, transparent 95%);
  }
  .landing-v2 .footer-v2 .footer-brand,
  .landing-v2 .footer-v2 .footer-column h2 { color: #f7f7ff; }
  .landing-v2 .footer-v2 .footer-brand:hover { color: #c6c5ff; }
  .landing-v2 .footer-v2 .footer-description,
  .landing-v2 .footer-v2 .footer-column li a,
  .landing-v2 .footer-v2 .footer-legal a { color: #c4cce0; }
  .landing-v2 .footer-v2 .footer-note,
  .landing-v2 .footer-v2 .footer-base { color: #aebad4; }
  .landing-v2 .footer-v2 .footer-bottom { border-color: #424c68; }
  .landing-v2 .footer-v2 .footer-column li a:hover,
  .landing-v2 .footer-v2 .footer-legal a:hover { color: #fff; }
  .landing-v2 .footer-v2 a:focus-visible { outline-color: #d1d0ff; }
}

/* ==========================================================================
   Scroll-linked timeline — real progress line and softly emphasized steps.
   Static, readable content without JS; respects reduced-motion settings.
   ========================================================================== */
.landing-v2 .ageason-timeline {
  background:
    radial-gradient(ellipse 480px 440px at 93% 76%, #eeeaff8c, transparent 80%),
    linear-gradient(180deg, #fff 0%, #f7f8ff 100%);
  border-block-start: 1px solid #e8ebf5;
  padding-block: clamp(46px, 7vw, 88px) clamp(32px, 5vw, 70px);
}
.landing-v2 .timeline-heading { text-align: center; margin-inline: auto; max-width: 650px; }
.landing-v2 .timeline-eyebrow { margin: 0 0 12px; color: #5858b9; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; font-size: 12px; }
.landing-v2 .timeline-heading h2 { font-size: clamp(28px, 4vw, 44px); letter-spacing: -1.2px; font-weight: 600; line-height: 1.17; margin: 0; color: #202a49; }
.landing-v2 .timeline-heading h2 span { color: #6256cb; }
.landing-v2 .timeline-heading > p:last-child { color: #647089; margin: 18px auto 0; font-size: 16px; line-height: 1.7; }
.landing-v2 .timeline-steps {
  list-style: none;
  max-width: 790px;
  margin: 54px auto 0;
  padding: 0;
  position: relative;
  isolation: isolate;
}
.landing-v2 .ageason-timeline { --timeline-progress: 0%; }
.landing-v2 .timeline-steps::before,
.landing-v2 .timeline-steps::after {
  content: "";
  position: absolute;
  inset-inline-start: 23px;
  top: 0;
  width: 3px;
  border-radius: 100px;
  z-index: -1;
  pointer-events: none;
}
.landing-v2 .timeline-steps::before { bottom: 0; background: #d9dded; }
.landing-v2 .timeline-steps::after {
  height: var(--timeline-progress);
  background: linear-gradient(to bottom, #7771dd, #435fe0 68%, #aa76d9);
  box-shadow: 0 0 13px #7771dd55;
  transition: height .13s linear;
}
.landing-v2 .timeline-step {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: clamp(16px, 3vw, 28px);
  margin: 0;
  padding: 0 0 clamp(35px, 5vw, 65px);
  min-height: 222px;
}
.landing-v2 .timeline-step:last-child { padding-block-end: 0; min-height: 0; }
.landing-v2 .timeline-marker {
  position: sticky;
  top: 90px;
  z-index: 1;
  display: grid;
  place-items: center;
  flex: none;
  width: 48px;
  height: 48px;
  color: #5d5dc5;
  background: #fff;
  border: 2px solid #cdd2ef;
  border-radius: 50%;
  font-weight: 600;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 4px 13px #25306710;
}
.landing-v2 .timeline-card {
  border: 1px solid #e0e5f4;
  border-radius: 22px;
  padding: clamp(22px, 3.5vw, 33px);
  background: #fff;
  box-shadow: 0 10px 35px #26327309;
  transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.landing-v2 .timeline-step.is-in-view .timeline-card {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px #26327312;
  border-color: #cbd1f4;
}
.landing-v2 .timeline-card-tag {
  display: inline-flex;
  background: #f0f0ff;
  color: #5e58bd;
  border: 1px solid #e4e2fc;
  border-radius: 99px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 600;
}
.landing-v2 .timeline-card h3 {
  font-size: clamp(21px, 2.5vw, 27px);
  color: #263456;
  margin: 13px 0 11px;
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -.4px;
}
.landing-v2 .timeline-card p { color: #66728a; font-size: 15px; line-height: 1.7; margin: 0; }
.landing-v2 .timeline-card a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 600;
  margin-block-start: 19px;
  color: #4355c1;
  text-underline-offset: 4px;
}
[dir="rtl"] .landing-v2 .timeline-eyebrow,
[dir="rtl"] .landing-v2 .timeline-heading h2,
[dir="rtl"] .landing-v2 .timeline-card h3 { letter-spacing: 0; }
[dir="rtl"] .landing-v2 .timeline-card p { line-height: 1.9; }
@media (max-width: 719px) {
  .landing-v2 .ageason-timeline { padding-block: 45px; }
  .landing-v2 .timeline-heading { text-align: start; }
  .landing-v2 .timeline-heading h2 { font-size: 29px; }
  .landing-v2 .timeline-steps { margin-block-start: 31px; }
  .landing-v2 .timeline-step { grid-template-columns: 38px minmax(0, 1fr); gap: 12px; min-height: 0; padding-block-end: 28px; }
  .landing-v2 .timeline-marker { height: 38px; width: 38px; top: 68px; font-size: 12px; }
  .landing-v2 .timeline-steps::before, .landing-v2 .timeline-steps::after { inset-inline-start: 18px; }
  .landing-v2 .timeline-card { border-radius: 16px; padding: 19px; }
  .landing-v2 .timeline-card h3 { font-size: 20px; }
  .landing-v2 .timeline-card p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-v2 .timeline-steps::after { transition: none; }
  .landing-v2 .timeline-card { transition: none; }
  .landing-v2 .timeline-step.is-in-view .timeline-card { transform: none; }
  .landing-v2 .footer-v2 .footer-column li a { transition: none; }
}
@media (prefers-color-scheme: dark) {
  .landing-v2 .ageason-timeline {
    background: radial-gradient(ellipse at 93% 76%, #3c36644d, transparent 70%),
                linear-gradient(180deg, #181e31 0%, #1d2139 100%);
    border-color: #39425c;
  }
  .landing-v2 .timeline-eyebrow { color: #bcb9ff; }
  .landing-v2 .timeline-heading h2 { color: #f6f6ff; }
  .landing-v2 .timeline-heading h2 span { color: #bcb6ff; }
  .landing-v2 .timeline-heading > p:last-child { color: #c2c9dd; }
  .landing-v2 .timeline-steps::before { background: #444d6a; }
  .landing-v2 .timeline-marker { background: #242c46; border-color: #7775ac; color: #e8e2ff; }
  .landing-v2 .timeline-card, .landing-v2 .timeline-step.is-in-view .timeline-card {
    background: #232b43; border-color: #454e6c; box-shadow: none;
  }
  .landing-v2 .timeline-card-tag { background: #35365d; border-color: #555784; color: #e3e0ff; }
  .landing-v2 .timeline-card h3 { color: #f3f2ff; }
  .landing-v2 .timeline-card p { color: #cad1e3; }
  .landing-v2 .timeline-card a { color: #c9caff; }
}


/* ==========================================================================
   FAQ Sections — illustrated editorial intro + native single-open accordion.
   Adapted to Ageason from the user's FAQ Sections design reference.
   These styles are contained to the FAQ and leave other <details> controls
   (such as optional age-limit and date fields) untouched.
   ========================================================================== */
.landing-v2 .content .wrap.prose:has(> .faq-section) {
  max-width: 1100px;
}
.landing-v2 .content .wrap.prose:has(> .faq-section) > :not(.faq-section) {
  max-width: 74ch;
}
.landing-v2 .faq-section {
  display: grid;
  grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
  align-items: start;
  gap: clamp(27px, 5.2vw, 75px);
  margin-block: clamp(46px, 6vw, 83px) clamp(38px, 5vw, 65px);
  padding-block-start: clamp(40px, 5vw, 61px);
  border-block-start: 1px solid #e5e9f4;
}
.landing-v2 .faq-section .faq-intro { min-width: 0; }
.landing-v2 .faq-section .faq-eyebrow {
  color: #5955c6;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .9px;
  text-transform: uppercase;
  margin: 0 0 12px;
}
.landing-v2 .faq-section .faq-intro h2 {
  font-size: clamp(28px, 3.3vw, 40px);
  line-height: 1.18;
  font-weight: 600;
  letter-spacing: -.9px;
  color: #263253;
  margin: 0;
}
.landing-v2 .faq-section .faq-blurb {
  font-size: 15px;
  line-height: 1.7;
  color: #657289;
  margin: 14px 0 0;
  max-width: 40ch;
}
.landing-v2 .faq-section .faq-art {
  display: grid;
  place-items: center;
  margin-block-start: 26px;
  width: 100%;
  max-width: 400px;
  aspect-ratio: 5 / 3.6;
  border-radius: 21px;
  background: radial-gradient(circle at 78% 16%, #ebe3ff, transparent 61%),
              radial-gradient(circle at 12% 87%, #e4efff, transparent 63%),
              #f6f7ff;
  border: 1px solid #e6e7f8;
  overflow: hidden;
}
.landing-v2 .faq-section .faq-art svg {
  width: min(95%, 340px);
  height: auto;
}
.landing-v2 .faq-section .faq-accordion {
  min-width: 0;
  margin: 0;
  padding: 2px clamp(17px, 2.4vw, 25px);
  border: 1px solid #e0e6f4;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 40px #28345c0a;
}
.landing-v2 .faq-section .faq-accordion details {
  border: 0;
  border-block-end: 1px solid #e8ebf5;
  margin: 0;
  padding: 0;
}
.landing-v2 .faq-section .faq-accordion details:last-child {
  border-block-end: 0;
}
.landing-v2 .faq-section .faq-accordion summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-block: 21px;
  margin: 0;
  color: #293653;
  font-size: 15px;
  line-height: 1.48;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.landing-v2 .faq-section .faq-accordion summary::-webkit-details-marker {
  display: none;
}
.landing-v2 .faq-section .faq-accordion summary::after {
  display: none;
  content: none;
}
.landing-v2 .faq-section .faq-question {
  min-width: 0;
  flex: 1;
}
.landing-v2 .faq-section .faq-chevron {
  flex: none;
  color: #6972a7;
  transition: transform .24s ease, color .24s ease;
}
.landing-v2 .faq-section .faq-accordion details[open] .faq-chevron {
  transform: rotate(180deg);
  color: #5855c8;
}
.landing-v2 .faq-section .faq-accordion summary:hover {
  color: #5153bf;
}
.landing-v2 .faq-section .faq-accordion summary:focus-visible {
  outline: 2px solid #5d56d2;
  outline-offset: -2px;
  border-radius: 7px;
}
.landing-v2 .faq-section .faq-accordion .answer {
  padding: 0 28px 21px 0;
  color: #606e87;
  font-size: 14px;
  line-height: 1.75;
}
.landing-v2 .faq-section .faq-accordion .answer p {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
}
[dir="rtl"] .landing-v2 .faq-section .faq-eyebrow,
[dir="rtl"] .landing-v2 .faq-section .faq-intro h2 {
  letter-spacing: 0;
}
[dir="rtl"] .landing-v2 .faq-section .faq-accordion .answer {
  padding: 0 0 21px 28px;
  line-height: 1.9;
}
:lang(ja) .landing-v2 .faq-section .faq-intro h2 { letter-spacing: 0; line-height: 1.4; }
@media (max-width: 760px) {
  .landing-v2 .faq-section {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-block: 42px;
    padding-block-start: 32px;
  }
  .landing-v2 .faq-section .faq-art { display: none; }
  .landing-v2 .faq-section .faq-intro h2 { font-size: clamp(27px, 7vw, 34px); }
  .landing-v2 .faq-section .faq-blurb { margin-block-start: 8px; }
  .landing-v2 .faq-section .faq-accordion { border-radius: 16px; }
  .landing-v2 .faq-section .faq-accordion summary { padding-block: 17px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .landing-v2 .faq-section .faq-chevron { transition: none; }
}
@media (prefers-color-scheme: dark) {
  .landing-v2 .faq-section { border-block-start-color: #3f4965; }
  .landing-v2 .faq-section .faq-eyebrow { color: #b8b5ff; }
  .landing-v2 .faq-section .faq-intro h2 { color: #f6f5ff; }
  .landing-v2 .faq-section .faq-blurb { color: #c5cce1; }
  .landing-v2 .faq-section .faq-art {
    background: radial-gradient(circle at 78% 16%, #413759, transparent 64%),
                radial-gradient(circle at 12% 87%, #293f62, transparent 65%), #242944;
    border-color: #474968;
  }
  .landing-v2 .faq-section .faq-accordion {
    background: #242b42;
    border-color: #434e68;
    box-shadow: none;
  }
  .landing-v2 .faq-section .faq-accordion details { border-block-end-color: #404960; }
  .landing-v2 .faq-section .faq-accordion summary { color: #e9ebff; }
  .landing-v2 .faq-section .faq-accordion summary:hover { color: #c8c7ff; }
  .landing-v2 .faq-section .faq-chevron { color: #c0c6ee; }
  .landing-v2 .faq-section .faq-accordion details[open] .faq-chevron { color: #c3bdff; }
  .landing-v2 .faq-section .faq-accordion .answer { color: #c4ccdf; }
  .landing-v2 .faq-section .faq-accordion summary:focus-visible { outline-color: #d1caff; }
}
