/* Homepage composition; navigation, controls, footer and tokens use the shared tool UI. */
.home-page { --home-arrow-shift:3px; }
.home-page .home-hero { border-bottom:1px solid var(--color-border); }
.home-page .home-hero-inner { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; gap:48px; min-height:min(640px,calc(100svh - var(--header-height))); padding-block:48px; }
.home-page .home-hero-copy { min-width:0; }
.home-page .home-brand-title { display:inline-block; margin:6px 0 16px; font-size:clamp(56px,6vw,84px); line-height:1.12; letter-spacing:-3.6px; font-weight:740; }
.home-page .home-brand-title span { color:var(--color-primary); }
.home-page .home-title { max-width:600px; font-size:clamp(30px,3.2vw,44px); line-height:1.22; letter-spacing:-1.2px; font-weight:650; }
.home-page .home-description { max-width:510px; margin-top:20px; font-size:17px; line-height:1.7; }
.home-page .home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 28px; margin-top:28px; }
.home-page .home-text-link { color:var(--color-primary); font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
.home-page .home-text-link:hover { color:var(--color-primary-hover); }
.home-page .home-note { margin-top:18px; font-size:12px; }
.home-page .home-product { width:100%; min-width:0; margin:0; justify-self:center; }
.home-page .home-demo { display:block; overflow:hidden; border-radius:6px; }
.home-page .home-demo img { display:block; width:100%; height:auto; }
.home-page .home-product figcaption { margin-top:14px; text-align:center; color:var(--color-muted); font-size:12px; }
.home-page .home-section { padding-block:80px; }
.home-page .home-section-heading { max-width:800px; margin-bottom:36px; }
.home-page .home-section-heading>p:not(.eyebrow) { margin-top:14px; font-size:16px; }
.home-page .home-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.home-page .home-number { display:block; margin-bottom:14px; color:var(--color-primary); font-size:24px; font-variant-numeric:tabular-nums; }
.home-page :is(.home-flow,.home-next) h3 { margin-bottom:10px; font-size:21px; }
.home-page :is(.home-flow,.home-next) p { font-size:16px; }
.home-page .home-capture { display:grid; grid-template-columns:1fr 2fr; gap:32px; margin-top:36px; padding-top:28px; border-top:1px solid var(--color-border); }
.home-page .home-capture h3 { font-size:19px; }
.home-page .home-capture p { font-size:15px; }
.home-page .home-tinted { background:var(--color-soft); border-block:1px solid var(--color-border); }
.home-page .home-next { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.home-page .home-next>article+article { border-inline-start:1px solid var(--color-border); padding-inline-start:40px; }
.home-page .home-format { display:block; margin-bottom:18px; color:var(--color-primary); font-size:13px; font-weight:600; letter-spacing:.04em; }
.home-page .home-next .home-detail { margin-top:14px; font-size:13px; }
.home-page .home-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; border-top:1px solid var(--color-border); }
.home-page .home-tool { display:flex; align-items:center; gap:18px; min-width:0; padding-block:26px; border-bottom:1px solid var(--color-border); }
.home-page .home-tool-type { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:8px; background:var(--color-soft); color:var(--color-primary); font-size:10px; font-weight:700; }
.home-page .home-tool>div { flex:1; min-width:0; }
.home-page .home-tool h3 { font-size:19px; transition:color var(--transition); }
.home-page .home-tool p { margin-top:6px; font-size:14px; }
.home-page .home-arrow { flex:none; color:var(--color-muted); font-size:22px; transition:transform var(--transition),color var(--transition); }
.home-page .home-tool:hover h3,.home-page .home-tool:hover .home-arrow { color:var(--color-primary); }
.home-page .home-tool:hover .home-arrow { transform:translateX(var(--home-arrow-shift)); }
.home-page .home-quota { max-width:880px; margin-top:22px; font-size:13px; }
.home-page .home-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-block:1px solid var(--color-border); }
.home-page .home-plan { padding:32px 40px 36px 0; }
.home-page .home-plan+article { border-inline-start:1px solid var(--color-border); padding-inline:40px 0; }
.home-page .home-plan h3 { font-size:22px; }
.home-page .home-price { margin-top:18px; color:var(--color-text); font-size:48px; font-weight:700; line-height:1.3; letter-spacing:-1.5px; }
.home-page .home-price span { font-size:14px; font-weight:400; letter-spacing:normal; }
.home-page .home-detail { margin-top:10px; font-size:13px; }
.home-page .home-plan ul { margin:22px 0 28px; padding-inline-start:20px; color:var(--color-muted); font-size:15px; }
.home-page .home-plan li+li { margin-top:10px; }
.home-page .home-subscribe { color:var(--color-text); font-size:14px; font-weight:600; }
.home-page .home-plan-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin-top:22px; }
.home-page .home-plan-notes p { font-size:13px; }
.home-page .home-plan-notes a,.home-page .faq a { color:var(--color-primary); text-decoration:underline; text-underline-offset:3px; }
.home-page .home-faq { max-width:864px; padding-bottom:0; }
.home-page .home-faq .home-section-heading { margin-bottom:12px; }
.home-page .faq summary { font-size:17px; }
.home-page .faq p { font-size:15px; }
.home-page:dir(rtl) { --home-arrow-shift:-3px; }
.home-page:dir(rtl) :is(h2,h3) { letter-spacing:normal; }
.home-page:dir(rtl) .home-plan:first-child { padding-inline:0 40px; }
@media(max-width:900px) {
  .home-page .home-hero-inner { gap:28px; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
  .home-page .home-brand-title { font-size:58px; }
  .home-page .home-description { font-size:16px; }
  .home-page .home-flow { gap:24px; }
  .home-page .home-tools { gap:0 28px; }
}
@media(max-width:700px) {
  .home-page .home-hero-inner { grid-template-columns:1fr; gap:28px; min-height:0; padding-block:28px 36px; text-align:center; }
  .home-page .home-brand-title { margin:2px 0 12px; font-size:52px; letter-spacing:-2.2px; }
  .home-page .home-title { margin-inline:auto; font-size:30px; }
  .home-page .home-description { margin:14px auto 0; font-size:15px; }
  .home-page .home-actions { justify-content:center; gap:14px 24px; margin-top:20px; }
  .home-page .home-note { margin-top:14px; font-size:11px; }
  .home-page .home-product { width:min(100%,540px); }
  .home-page .home-product figcaption { margin-top:10px; font-size:11px; }
  .home-page .home-section { padding-block:48px; }
  .home-page .home-section-heading { margin-bottom:28px; }
  .home-page .home-flow { grid-template-columns:1fr; gap:24px; }
  .home-page .home-flow article { position:relative; padding-inline-start:48px; }
  .home-page .home-number { position:absolute; inset-inline-start:0; top:0; font-size:20px; }
  .home-page :is(.home-flow,.home-next) h3 { font-size:19px; }
  .home-page :is(.home-flow,.home-next) p { font-size:15px; }
  .home-page .home-capture { grid-template-columns:1fr; gap:10px; margin-top:28px; padding-top:24px; }
  .home-page .home-next { grid-template-columns:1fr; gap:24px; }
  .home-page .home-next>article+article { padding-inline-start:0; padding-top:24px; border-inline-start:0; border-top:1px solid var(--color-border); }
  .home-page .home-tools { grid-template-columns:1fr; }
  .home-page .home-tool { gap:14px; padding-block:22px; }
  .home-page .home-plans { grid-template-columns:1fr; }
  .home-page .home-plan,.home-page .home-plan+article,.home-page:dir(rtl) .home-plan:first-child { padding:28px 0; border-inline-start:0; }
  .home-page .home-plan+article { border-top:1px solid var(--color-border); }
  .home-page .home-plan-notes { grid-template-columns:1fr; gap:14px; }
  .home-page .home-faq { padding-bottom:0; }
}
@media(prefers-reduced-motion:no-preference) {
  .home-page .home-hero-copy { animation:home-enter 320ms ease-out both; }
  .home-page .home-product { animation:home-enter 420ms 60ms ease-out both; }
  .home-page .reveal { transition:opacity 360ms ease-out,transform 360ms ease-out; }
  .home-page .reveal.is-pending { opacity:0; transform:translateY(8px); }
  @keyframes home-enter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
}
