/* Homepage port of current figma/src/App.tsx and src/index.css.
   Scope the design to Home so public pages and application controls keep their styles. */
.landing-page {
  --sans:'DM Sans',sans-serif; --serif:'Lora',serif; --display:'Lora',serif;
  --brass:#6C28D9; --brass-soft:#F4EEFC; --line:#E8E5EE; --ink:#20212A;
  --muted:#555762; --bone:#FAFAFA; font-family:var(--sans); line-height:1.5;
}
html:has(.landing-page)::-webkit-scrollbar,.landing-page *::-webkit-scrollbar { width:5px; height:5px; }
html:has(.landing-page)::-webkit-scrollbar-track,.landing-page *::-webkit-scrollbar-track { background:transparent; }
html:has(.landing-page)::-webkit-scrollbar-thumb,.landing-page *::-webkit-scrollbar-thumb { background:#E8E5EE; border-radius:3px; }
.landing-page .reveal { opacity:1; transform:none; transition:none; }
.landing-page [hidden] { display:none!important; }
.landing-page :focus-visible { outline:3px solid #A66AE8; outline-offset:3px; }
.landing-page .nav { background:rgba(255,255,255,.97); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.landing-page .nav__inner { height:60px; max-width:1200px; padding:0 24px; justify-content:space-between; }
.landing-page .brand__logo { height:39px!important; width:auto; }
.landing-nav { display:flex; align-items:center; gap:28px; }
.landing-nav__links { display:flex; gap:24px; }
.landing-nav__links a { font-size:13px; font-weight:500; color:var(--muted); white-space:nowrap; }
.landing-nav__links a:hover { color:var(--brass); }
.landing-nav__signin { font-size:13px; font-weight:700; color:white; background:var(--brass); border:1.5px solid var(--brass); border-radius:8px; padding:7px 16px; box-shadow:0 3px 10px rgba(108,40,217,.2); white-space:nowrap; }
.landing-page .hero--v2 { padding:0; background:#FAFAFA; }
.landing-page .hero2 { max-width:1200px; padding:48px 24px 64px; grid-template-columns:minmax(0,1fr) 400px; gap:48px; align-items:start; }
.landing-page .hero2__l,.landing-page .hero2__r { min-width:0; }
.landing-page .hero2__h { font-family:'Lora',serif; font-size:clamp(40px,5.5vw,68px); font-weight:700; line-height:1.1; margin:0 0 20px; letter-spacing:-.02em; color:#111; text-wrap:initial; }
.landing-page .hero2__p { font-size:17px; color:#555762; line-height:1.65; margin:0 0 32px; max-width:500px; }
.landing-page .sint__id p { font-family:'Lora',serif; font-size:18px; font-weight:600; }
.landing-page .sint__id>div>span { font-size:11px; }
.landing-page .sint__step { font-size:10px; }
.landing-page .sint__pg>div { background:linear-gradient(90deg,#6C28D9,#A66AE8); }
.landing-page .sint__said { font-size:11px; margin-bottom:0; }
.landing-page #q_said .sint__said + .sint__said { margin-top:8px; }
.landing-page .sint__name { font-size:10px; }
.landing-page .sint__q p { font-size:13px; }
.landing-page .sint__q p b { font-weight:700; }
/* All intake answer labels use the same readable size, including follow-ups. */
.landing-page .sint .schoice button,
.landing-page .sint .qchips .qchip,
.landing-page .sint .qfu__p { font-size:14px; line-height:1.4; }
.landing-page .sint .schoice button { min-height:40px; }
.landing-page .sint .qchips .qchip,
.landing-page .sint .qfu__p { min-height:36px; padding:7px 10px; }
.landing-page .sint .schoice button strong { font-size:14px; }
.landing-page .sint .schoice button span { font-size:12px; }
.landing-page .sint .qfu__q { font-size:13px; line-height:1.5; }
.landing-page .sint .qfu input { font-size:14px; }
.landing-page .sint__ax button { font-size:12px; }
.landing-page .sint__pv { font-size:10px; }
.landing-page .vcard { box-shadow:0 2px 12px rgba(108,40,217,.08); }
.landing-page .vcard__k { font-size:10px; }
.landing-page .vcard__t2 { font-size:13px; }
.landing-page .vcard__r a { font-size:11px; }
.landing-page .meet__o1 { background:radial-gradient(circle,rgba(108,40,217,.13) 0%,transparent 70%); }
.landing-page .meet__n { font-family:var(--sans); font-size:18px; letter-spacing:normal; }
.landing-page .meet__r { font-size:12px; }
.landing-page .meet__l li { display:flex; align-items:flex-start; gap:10px; padding:9px 12px; font-size:13px; }
.landing-page .meet__l li::before { display:none; }
.landing-page .meet__l svg { flex-shrink:0; margin-top:1px; }
.landing-page .schat { box-shadow:0 8px 32px rgba(108,40,217,.10); }
.landing-page .schat__n { font-size:17px; }
.landing-page .schat__r { font-size:12px; }
.landing-page .schat__on { font-size:11px; color:#666; }
.landing-page .sara__chat { height:420px; gap:10px; padding:16px 18px; overflow-y:auto; scrollbar-width:none; pointer-events:auto; mask-image:none; -webkit-mask-image:none; }
.landing-page .hb__block { max-width:100%; }
.landing-page .hb__row { align-items:flex-start; gap:8px; }
.landing-page .hb__ava { width:26px; height:26px; }
.landing-page .hb { max-width:85%; padding:10px 14px; font-size:13px; line-height:1.6; }
.landing-page .hb--sara { background:#f3f2f8; color:#111; border-radius:4px 18px 18px 18px; }
.landing-page .hb--me { background:var(--brass); color:white; border-radius:18px 18px 4px 18px; line-height:1.55; }
.landing-page .hb__t { display:none; }
.landing-page .schat__field { font-size:13px; }
.landing-section { padding:72px 24px; background:white; border-top:1px solid var(--line); scroll-margin-top:72px; }
.landing-section__inner { max-width:960px; margin:0 auto; }
.landing-eyebrow { font-size:11px; font-weight:700; color:var(--brass); text-transform:uppercase; letter-spacing:.1em; text-align:center; margin:0 0 10px; }
.landing-title { font-family:'Lora',serif; font-size:clamp(22px,4vw,32px); font-weight:600; color:#111; text-align:center; letter-spacing:normal; line-height:1.5; }
.landing-how .landing-title { font-size:clamp(26px,4vw,38px); margin:0 0 10px; }
.landing-how__intro { font-size:15px; color:#777; text-align:center; margin:0 0 52px; }
.landing-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:32px; }
.landing-steps article { text-align:center; }
.landing-step__number { width:56px; height:56px; border-radius:50%; background:#F4EEFC; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; font-family:'Lora',serif; font-size:22px; font-weight:600; color:var(--brass); }
.landing-steps h3 { font-family:var(--sans); font-weight:700; font-size:15px; color:#111; margin:0 0 6px; line-height:1.5; letter-spacing:normal; }
.landing-steps p { font-size:13px; color:#777; line-height:1.6; margin:0; }
.landing-videos { padding:64px 24px; background:#FAF8FD; }
.landing-videos .landing-section__inner { max-width:1040px; }
.landing-videos .vres__hd { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
.landing-videos .vres__hd>div:first-child { max-width:640px; }
.landing-videos .landing-eyebrow { text-align:left; margin:0 0 8px; }
.landing-videos .landing-title { font-size:clamp(24px,4vw,34px); text-align:left; margin:0 0 8px; }
.landing-videos__intro { font-size:14px; color:#686A74; line-height:1.65; margin:0; }
.landing-page .vres__yt { font-size:13px; font-weight:700; color:white; background:#dc2626; border-radius:10px; padding:10px 16px; box-shadow:0 4px 12px rgba(220,38,38,.2); white-space:nowrap; }
.landing-page .vres__yt svg { width:16px; height:12px; }
.landing-video__controls { display:flex; justify-content:flex-end; align-items:center; gap:7px; margin-bottom:12px; }
.landing-page .vres__nav { display:flex; width:34px; height:34px; border:1px solid var(--line); color:var(--brass); }
.landing-page .vres__nav[data-vres-next] { border-color:var(--brass); background:var(--brass); color:white; }
.landing-page .vres__nav svg { width:14px; height:14px; }
.landing-page .vres__l { padding:2px 2px 14px; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.landing-page .vres__c { flex:0 0 230px; border-radius:14px; border:1px solid var(--line); background:white; box-shadow:0 2px 10px rgba(32,33,42,.06); text-align:left; transform:none; }
.landing-page .vres__th { height:128px; aspect-ratio:auto; background:#F5F4F6; }
.landing-page .vres__th::after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.12); pointer-events:none; }
.landing-page .vres__p { width:36px; height:36px; background:rgba(255,255,255,.94); color:#dc2626; z-index:1; }
.landing-page .vres__p svg { width:15px; height:15px; }
.landing-page .vres__k { padding:10px 12px 0; font-size:9px; color:var(--brass); letter-spacing:.06em; line-height:24px; }
.landing-page .vres__t { padding:4px 12px 12px; font-size:12px; font-weight:700; color:#20212A; line-height:1.4; }
.landing-testimonials { background:#FAFAFA; border-top:0; }
.landing-testimonials .landing-title { margin:0 0 40px; }
.landing-quotes { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.landing-quote { margin:0; padding:24px; background:white; border:1px solid var(--line); border-radius:18px; }
.landing-quote__stars { display:flex; gap:3px; margin-bottom:14px; }
.landing-quote blockquote { font-size:14px; color:#333; line-height:1.7; margin:0 0 14px; font-style:italic; }
.landing-quote figcaption { font-size:13px; font-weight:600; color:#888; margin:0; }
.landing-faq .landing-section__inner { max-width:720px; }
.landing-faq .landing-title { margin:0 0 36px; }
.landing-page .landing-faq .faq { border:0; display:flex; flex-direction:column; gap:8px; }
.landing-page .landing-faq .faq__item { background:#FAFAFA; border-radius:14px; border:1px solid var(--line); overflow:hidden; }
.landing-page .landing-faq .faq__q { padding:16px 20px; font-family:var(--sans); font-size:14px; font-weight:600; color:#111; gap:12px; line-height:1.5; }
.landing-page .landing-faq .faq__q svg { width:16px; height:16px; color:var(--brass); }
.landing-page .landing-faq .faq__item.is-open .faq__q svg { transform:rotate(180deg); }
.landing-page .landing-faq .faq__a p { padding:0 20px 18px; font-size:14px; color:#666; line-height:1.7; margin:0; }
.landing-page .landing-faq .faq__item.is-open .faq__a { max-height:none!important; }
.landing-faq__more { text-align:center; margin-top:24px; }
.landing-faq__more a { font-family:var(--sans); display:inline-flex; align-items:center; gap:7px; color:var(--brass); font-size:14px; font-weight:700; text-decoration:none; }
.landing-faq__more a:hover { text-decoration:underline; }
.landing-page .footer--figma { font-family:var(--sans); }
.landing-page .footer--figma .brand__logo { height:26px!important; }
.landing-page .home-provider h2 { font-size:clamp(26px,3.5vw,40px); }
@media(max-width:880px) {
  .landing-page .hero2 { grid-template-columns:1fr; }
  .landing-nav__links { display:none; }
  .landing-page .home-provider__grid { grid-template-columns:1fr; gap:40px; }
}
@media(max-width:600px) {
  .landing-page .hero2 { padding-top:32px; gap:32px; }
  .landing-page .nav__inner { padding:0 16px; }
  .landing-page .brand__logo { max-width:190px; height:auto!important; }
  .landing-page .footer--figma .brand__logo { height:26px!important; width:auto; }
  .landing-page .meet { padding:24px 18px 18px; }
  .landing-page .home-provider__actions { flex-wrap:wrap; }
  .landing-page .schoice--two { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
  .landing-page * { scroll-behavior:auto!important; }
  .landing-page .hb__block,.landing-page .hb--dots i { animation:none; }
}


/* Client's benefits-first homepage: keep the existing purple/Lora/DM Sans system. */
.landing-page .hero2__p { margin-bottom:22px; }
.home-start { margin:0 0 24px; }
.home-trust { display:flex; flex-wrap:wrap; gap:7px 14px; margin:0; padding:0; list-style:none; font-size:11px; font-weight:600; color:#504065; }
.home-trust li { display:flex; align-items:center; gap:5px; }
.home-trust li::before { content:'✓'; color:var(--brass); font-size:12px; }
.home-pricing { margin:0 0 12px; color:#563280; font-size:14px; font-weight:600; line-height:1.55; }
.landing-page .sint__pv { text-align:left; color:#686171; font-size:11px; line-height:1.55; padding-top:7px; }
.home-next { margin:18px 0 24px; }
.home-next h2 { font:700 14px/1.5 var(--sans); margin:0 0 6px; color:var(--ink); }
.home-next p { font-size:12px; line-height:1.8; margin:0; color:var(--muted); }
.home-next p span { color:var(--brass); padding:0 3px; }
.home-next .home-next__privacy { margin-top:8px; font-size:11px; color:#686171; }
.landing-page .vres__yt,.landing-page .vres__yt:hover { display:block; width:300px; max-width:100%; flex:0 1 300px; padding:0; border-radius:18px; background:transparent; box-shadow:none; white-space:normal; line-height:0; }
.landing-page .vres__yt img { width:100%; height:auto; display:block; }
.landing-page .vcard__r .home-intro-play { display:inline-flex; align-items:center; gap:7px; flex-shrink:0; color:#563280; font-weight:700; }
.home-intro-play svg { flex-shrink:0; }
@media(max-width:600px) {
  .home-trust { justify-content:center; gap:7px 12px; }
  .home-pricing { font-size:13px; }
  .landing-page .vres__yt { width:300px; flex-basis:auto; }
  .landing-page .vcard__r { flex-wrap:wrap; gap:12px; }
}

/* Updated published Figma homepage, 14 October. */
.home-start { margin:0 0 24px; }
.home-start__button { display:inline-flex; align-items:center; justify-content:center; background:var(--brass); color:white; border-radius:10px; padding:12px 24px; font-size:14px; font-weight:700; min-height:46px; text-decoration:none; }
.home-start__button:hover { background:#5B1FC2; color:white; }
.home-start__note { font-size:12px; color:var(--muted); margin:10px 0 0; line-height:1.6; }
.home-intake-anchor { display:block; scroll-margin-top:84px; }
.landing-page .intake-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.landing-page .sfield__hint { margin:7px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.landing-page .home-language { gap:8px; }
.landing-page .home-language button { padding:9px; min-height:66px; }
.landing-page .sint .svet button { text-align:center; padding:9px; }
.landing-page .sint__pv { text-align:right; font-size:10px; color:#92919A; }
@media(max-width:600px) { .landing-page .intake-two-column { grid-template-columns:1fr; } .home-start__button { width:100%; } }

.landing-page a.schat__f{text-decoration:none;color:inherit}.landing-page a.schat__f:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* October 20 interest details */
.landing-page #q_vet_branch_wrap{margin-top:14px}
.landing-page #q_vet_branch_wrap[hidden]{display:none!important}
.landing-page .qfu__sub{padding:10px 0 4px;border-top:1px solid #e5d9f5;margin-top:9px}
.landing-page .qfu__hint{font-size:12px;line-height:1.6;color:var(--ink-2,#625b6f);margin:9px 0 7px}
.landing-page .qfu__hint small{display:block;font-size:11px}
.landing-page .qfu__sub .qfu__ps{margin-bottom:5px}

/* Current Figma first-run: honest guided preview and context within question 2. */
#q_context_choices{margin-bottom:14px}
#q_context_choices[hidden],#q_name_fields[hidden]{display:none!important}
.sara-guided-preview{margin-top:18px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;overflow:hidden;box-shadow:0 8px 32px #6c28d91a;font-family:"DM Sans",sans-serif}
.sara-guided-preview__head{padding:14px 18px;border-bottom:1px solid #f0f0f0;display:flex;gap:12px;align-items:center}
.sara-guided-preview__head img{object-fit:contain;flex:none}.sara-guided-preview__head>div{flex:1;min-width:0}.sara-guided-preview__head b{font-size:17px;color:#111}.sara-guided-preview__head p{margin:1px 0 0;font-size:12px;font-weight:600;color:#6c28d9}.sara-guided-preview__head>span{font-size:10px;font-weight:800;background:#f4eefc;color:#6c28d9;border-radius:20px;padding:5px 9px;white-space:nowrap}
.sara-guided-preview__body{padding:20px 18px 18px}.sara-guided-preview__question{display:flex;align-items:flex-start;gap:9px;margin-bottom:16px}.sara-guided-preview__question img{object-fit:contain;flex:none}.sara-guided-preview__question p{margin:0;padding:11px 13px;background:#f3f2f8;border-radius:4px 16px 16px;font-size:13px;line-height:1.55;color:#111}.sara-guided-preview__question strong{display:block;margin-top:7px;font-size:14px}.sara-guided-preview__choices{display:grid;gap:8px}.sara-guided-preview__choices span{border:1.5px solid #e7deef;border-radius:10px;padding:11px 13px;font-size:12px;font-weight:800;color:#20212a}.sara-guided-preview__note{margin:0;padding:12px 16px;background:#faf9fc;border-top:1px solid #f0f0f0;text-align:center;font-size:10.5px;line-height:1.5;color:#666}
@media(max-width:420px){.sara-guided-preview__head{padding:12px;gap:8px}.sara-guided-preview__head>span{font-size:9px;padding:5px 6px}}

#q_rel_opts{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-capacity-note{padding:12px 15px;margin:0 0 16px;border:1px solid #dfd2f2;border-radius:10px;background:#f6f0ff;font-size:13px;line-height:1.6;color:#503c6b}.plan-capacity-note a{font-weight:600;color:#6c28d9;display:block;margin-top:7px}
