/* Integration fixes over the supplied visual baseline. */
:root { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; --bg:#0b0613; --bg-soft:#12091f; --ink:#f7f2ff; --muted:#cbbddd; --line:#453058; --primary-soft:#25113d; }
:focus-visible { outline:3px solid #9a50ed; outline-offset:4px; }
.feature-icon { width:27px; height:27px; flex:none; }
.theme-art { user-select:none; }
.lp-redesign .lp-scroll-cue { display:none; }
.lp-hero-copy h1 { font-size:clamp(44px,4.5vw,65px); }
.lp-hero-copy h1 span:last-child { color:var(--lp-text); }
.lp-hero { min-height:530px; padding:40px 0; }
.lp-hero-grid { min-height:450px; gap:30px; }
.lp-hero-art { min-height:370px; }
.lp-redesign .lp-hero-art img { width:100%; max-height:440px; border-radius:0; mask-image:radial-gradient(ellipse closest-side at center,#000 53%,transparent 100%); }
html[data-theme="dark"] .lp-hero-art img { filter:none; opacity:1; }
.lp-script-note { right:0; top:auto; bottom:10%; width:145px; }
.lp-ribbon,.download-ribbon { display:none; }
.lp-hero::before,.lp-section::before,.download-stage::before,.lp-hero::after,.lp-section::after,.download-stage::after { content:""; position:absolute; top:0; bottom:0; width:clamp(28px,5vw,95px); background:url('/assets/images/redesign/ribbon.svg') left top/100% 720px repeat-y; pointer-events:none; opacity:.85; }
.lp-hero::before,.lp-section::before,.download-stage::before { left:-8px; }
.lp-hero::after,.lp-section::after,.download-stage::after { right:-8px; transform:rotate(180deg); }
.lp-section>.container,.lp-hero>.container,.download-stage>.container { position:relative; z-index:1; }
.lp-section { padding:52px 0; }
.lp-section-head { margin-bottom:28px; max-width:760px; }
.lp-section-head h2 { font-size:clamp(29px,3.4vw,44px); }
.lp-principle { border:0; box-shadow:none; background:transparent; padding:10px 16px; }
.lp-news-grid { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:8px 2px 18px; scrollbar-width:thin; scrollbar-color:var(--lp-accent) transparent; }
.lp-news-grid .news-card,.lp-news-grid .news-card:nth-child(3) { flex:0 0 calc((100% - 16px)/2); scroll-snap-align:start; min-width:0; padding:144px 22px 20px; min-height:340px; }
.lp-news-grid .news-card:before { height:120px; background:linear-gradient(0deg,rgba(106,46,175,.13),rgba(106,46,175,.13)),url('/assets/images/redesign/women-desktop-light.webp') center 35%/cover!important; }
html[data-theme="dark"] .lp-news-grid .news-card:before { background: url('/assets/images/redesign/women-desktop-dark.webp') center 35%/cover!important; opacity:1; }
.news-illustration { position:absolute; right:8px; top:96px; color:#fff; background:#30124bdd; font-size:10px; padding:2px 6px; border-radius:4px; }
.news-controls { display:flex; align-items:center; justify-content:center; gap:12px; color:var(--lp-accent); }
.news-controls button { border:1px solid var(--lp-line); background:var(--lp-card); color:var(--lp-text); width:42px; height:42px; border-radius:50%; }
.news-controls button:disabled { opacity:.35; cursor:default; }
.lp-stat-grid article { padding:20px; gap:16px; }
.lp-stat-grid strong { font-size:clamp(30px,3vw,42px); }
.lp-stat-grid span { padding-left:16px; }
.lp-resource-copy h2,.lp-steps h2 { font-size:clamp(30px,3vw,42px); }
.lp-phone-shell { position:relative; padding:24px 13px 24px; color:var(--lp-text); border-width:5px; border-radius:33px; min-height:385px; aspect-ratio:.55; display:flex; flex-direction:column; gap:12px; background:var(--lp-bg); }
.phone-island { position:absolute; top:6px; left:35%; width:30%; height:10px; border-radius:20px; background:#1b1521; }
.phone-brand { display:flex; align-items:center; gap:5px; font-size:14px; font-weight:800; }
.lp-phone-shell .phone-brand img { width:24px; height:24px; border-radius:0; object-fit:contain; }
.lp-phone-shell h3 { font-size:18px; line-height:1.15; margin:0; }
.lp-phone-shell>p { font-size:10px; line-height:1.4; margin:0; }
.phone-illustration-map { min-height:70px; display:grid; place-items:center; color:var(--lp-accent); border:1px solid var(--lp-line); border-radius:13px; background:repeating-linear-gradient(34deg,transparent 0 26px,var(--lp-line) 27px 28px); }
.phone-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:auto; }
.phone-feature-grid>span { display:flex; flex-direction:column; align-items:center; gap:6px; border:1px solid var(--lp-line); border-radius:12px; padding:8px 3px; text-align:center; }
.phone-feature-grid svg { color:var(--lp-accent); width:22px; height:22px; }
.phone-feature-grid small { font-size:9px; line-height:1.2; }
.phone-home-bar { position:absolute; bottom:7px; left:33%; width:34%; height:4px; border-radius:6px; background:var(--lp-copy); }
.phone-caption { font-size:10px; text-align:center; color:var(--lp-copy); max-width:220px; margin-top:18px; }
.download-stage { padding-top:40px; }
.download-grid { min-height:470px; }
.download-redesign .download-copy h1 { font-size:clamp(35px,3.2vw,48px); }
.download-copy .lp-overline { font-size:10px; }
.download-lead { font-size:16px; }
.download-redesign .download-visual img { object-fit:contain; max-height:510px; height:100%; width:100%; mask-image:linear-gradient(0deg,transparent,#000 7%,#000 94%,transparent); border-radius:0; }
html[data-theme="dark"] .download-visual img { opacity:1; filter:none; }
.download-qr-card { padding:20px; border-radius:20px; }
.download-qr-card h2 { font-size:25px; }
.download-qr-card p { font-size:14px; }
.download-qr-card>img { width:min(230px,100%); padding:6px; }
.download-redesign .download-action-card .download-fallback-stores { display:flex!important; flex-wrap:wrap; gap:8px; margin:14px 0 0; }
.download-redesign .store-option { flex:1 1 110px; padding:12px; border:1px solid var(--lp-line); border-radius:14px; min-width:0; font-size:12px; background:var(--lp-card); color:var(--lp-text); text-align:center; justify-content:center; }
.download-redesign .download-action-card .download-store-notice { display:block!important; padding:12px; font-size:13px; color:var(--lp-copy); background:var(--lp-card); border:1px solid var(--lp-line); border-radius:14px; }
.download-login-note { font-size:12px; line-height:1.5; margin:15px 0 0; }
.download-message h2 { font-size:28px; }
.download-closing { font-size:32px; }
.download-lower { min-height:270px; }
.download-values .feature-icon,.download-benefits .feature-icon { color:var(--lp-accent); }
.download-account-panel .button-secondary { background:var(--lp-card); color:var(--lp-text); border-color:var(--lp-line); }
.download-account-panel .next-in-app { color:var(--lp-copy); background:transparent; }
.download-account-panel .next-in-app strong { color:var(--lp-text); }
.flow-themed { background:var(--lp-bg); color:var(--lp-text); }
.flow-themed .lp-header { background:var(--lp-header); color:var(--lp-text); }
.flow-themed .lp-header .menu-button { color:var(--lp-text); background:transparent; }
.flow-themed .lp-header .menu-button span { background:var(--lp-text); }
html[data-theme="dark"] .flow-themed :is(.page-hero,.signup-stage,.trusted-stage,.deletion-card,.form-card,.signup-card-v2,.legal-main,.legal-content,.legal-section,.legal-page,.signup-aside,.signup-visual,.signup-attribution) { background:var(--lp-bg-soft); color:var(--lp-text); border-color:var(--lp-line); }
html[data-theme="dark"] .flow-themed :is(h1,h2,h3,label,.legal-document) { color:var(--lp-text); }
html[data-theme="dark"] .flow-themed :is(input,textarea,select,.button-secondary,.social-button,.attribution-banner,.signup-profile-reminder,.signup-note) { background:var(--lp-card); color:var(--lp-text); border-color:var(--lp-line); }
@media(min-width:981px) {
  .download-redesign .download-grid { grid-template-columns:1.05fr .82fr 1fr; gap:30px; }
}
@media(max-width:980px) {
  .flow-themed .lp-nav-links { display:none; position:absolute; top:75px; left:18px; right:18px; padding:14px; border:1px solid var(--lp-line); border-radius:18px; background:var(--lp-bg); flex-direction:column; align-items:stretch; }
  .flow-themed .lp-nav-links.open { display:flex; }
  .flow-themed .lp-header .menu-button { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; }
  .flow-themed .lp-header .menu-button span { display:block; width:22px; height:2px; }
  .lp-redesign .lp-hero-grid { display:flex; flex-direction:column; gap:0; }
  .lp-hero-copy { display:contents; }
  .lp-hero-copy>* { order:1; }
  .lp-hero-art { order:2; width:100%; min-height:240px; margin:0; }
  .lp-redesign .lp-primary-cta { order:3; min-width:220px; width:auto; }
  .lp-redesign .lp-scroll-cue { display:flex; order:4; margin:12px auto 0; }
  .lp-script-note { display:none; }
  .lp-hero-copy h1 { font-size:clamp(32px,6vw,48px); }
  .download-redesign .download-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
  .lp-redesign .container,.download-redesign .container { width:calc(100% - 48px); }
  .lp-hero { padding:28px 0 30px; }
  .lp-hero-copy .lp-overline { font-size:9px; margin-bottom:10px; }
  .lp-hero-copy h1 { font-size:clamp(28px,8.3vw,39px); line-height:1.03; margin-bottom:8px; }
  .lp-hero-copy h2 { font-size:17px; font-weight:500; margin-bottom:7px; }
  .lp-hero-copy>p { font-size:13px; max-width:340px; margin-bottom:4px; }
  .lp-redesign .lp-hero-art img { max-height:235px; max-width:325px; }
  .lp-primary-cta { min-height:43px; font-size:14px; }
  .lp-hero::before,.lp-section::before,.download-stage::before,.lp-hero::after,.lp-section::after,.download-stage::after { width:36px; }
  .lp-section { padding:35px 0; }
  .lp-section-head h2 { font-size:29px; }
  .lp-section-head p { font-size:13px; }
  .lp-principles { gap:18px; padding-inline:8px; }
  .lp-principle { padding:0; }
  .lp-principle h3 { font-size:15px; }.lp-principle p { font-size:12px; }
  .lp-news-grid .news-card,.lp-news-grid .news-card:nth-child(3) { flex-basis:88%; min-height:340px; }
  .lp-stat-grid { gap:12px; }
  .lp-stat-grid article { padding:16px 12px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
  .lp-stat-grid strong { font-size:clamp(22px,7vw,32px); overflow-wrap:anywhere; }
  .lp-stat-grid span { font-size:11px; padding-left:12px; }
  .lp-rights h3 { font-size:25px; }.lp-rights p { font-size:12px; }
  .lp-resource-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"copy copy" "phone steps"; gap:18px; }
  .lp-resource-copy h2 { font-size:34px; }.lp-resource-copy>p { font-size:13px; }
  .lp-resource-list { gap:22px; }.lp-resource-list p { font-size:12px; }
  .lp-phone-column { margin:25px 0 0; min-width:0; }
  .lp-phone-shell { width:100%; max-width:190px; min-height:300px; padding:24px 9px 18px; border-radius:25px; gap:8px; }
  .lp-phone-shell h3 { font-size:14px; }.lp-phone-shell>p { font-size:9px; }
  .phone-brand { font-size:12px; }.phone-illustration-map { min-height:50px; }.phone-feature-grid { gap:5px; }.phone-feature-grid small { font-size:8px; }.phone-feature-grid svg { width:19px; height:19px; }
  .lp-steps h2 { text-align:left; font-size:25px; }.lp-steps ol { gap:14px; margin-top:18px; }.lp-steps li { grid-template-columns:27px 1fr; gap:6px; }.lp-steps li>span { width:26px; height:26px; font-size:10px; }.lp-steps strong { font-size:11px; }.lp-steps small { font-size:10px; }
  .lp-final-cta { padding:28px 0 40px; }.lp-final-cta h2 { font-size:27px; }.lp-final-cta p { font-size:13px; }
  .download-stage { padding-top:28px; }.download-redesign .download-copy h1 { font-size:31px; }.download-copy .lp-overline { font-size:9px; }.download-lead { font-size:13px; max-width:290px; }
  .download-redesign .download-visual { min-height:0; width:100%; }.download-redesign .download-visual img { height:380px; max-height:none; max-width:340px; }
  .download-main-button { min-height:48px; font-size:15px; }.download-login-note { font-size:11px; }
  .download-message h2 { font-size:26px; }.download-closing { font-size:29px; }.download-account-panel { overflow-wrap:anywhere; }
  /* Store visibility follows the device, not viewport width: small desktop windows keep QR + stores. */
  html[data-download-platform="desktop"] .download-qr-card { display:block!important; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .reveal { opacity:1!important; transform:none!important; } }
/* Attribute semantics must always override component display rules. */
[hidden],.download-redesign [hidden],.download-redesign .download-action-card [hidden] { display:none!important; }
/* Keep decorative edges inside each section; the news viewport remains scrollable. */
.lp-section { overflow:hidden; }

.lp-footer .footer-brand-app strong { color:var(--lp-text); }
.lp-news-grid .news-card a { color:var(--lp-accent); }
.lp-redesign .button-primary,.download-redesign .button-primary { background:linear-gradient(110deg,#8b35dc,#6722df); color:#fff; }
/* Retained signup and service layouts have explicit light surfaces in the baseline. */
html[data-theme="dark"] .flow-themed { --app-primary:#ba7bff; --primary:#ba7bff; --primary-dark:#d6b8ff; --trusted-deep:#f7f2ff; }
html[data-theme="dark"] .flow-themed .signup-hero-v2 { background:radial-gradient(ellipse at 20% 0,rgba(124,58,237,.14),transparent 45%),var(--lp-bg); }
html[data-theme="dark"] .flow-themed :is(.signup-flow-item,.signup-security-note,.signup-card-v2 .attribution-card,.signup-profile-reminder,.signup-app-preview) { background:var(--lp-card); color:var(--lp-text); border-color:var(--lp-line); }
html[data-theme="dark"] .flow-themed .signup-app-preview { background:var(--lp-card)!important; }
html[data-theme="dark"] .flow-themed :is(.signup-profile-reminder p,.signup-security-note p,.attribution-card span) { color:var(--lp-copy); }
html[data-theme="dark"] .flow-themed :is(.text-button,.legal-consent a,.mini-kicker,.eyebrow,.signup-card-v2>p a) { color:var(--lp-accent); }
html[data-theme="dark"] .flow-themed input::placeholder { color:#aa98bc; }
html[data-theme="dark"] .flow-themed .button-primary { background:linear-gradient(110deg,#8b35dc,#6722df); color:#fff; }
html[data-theme="dark"] .flow-themed :is(.security-item,.feature-card,.form-aside,.faq details) { background:var(--lp-card); border-color:var(--lp-line); color:var(--lp-text); }
