/* Post-launch homepage. Scoped to .home-v2 so legal/support pages keep their shared layout. */
.home-v2 { background: #f5f0e8; }
.home-v2 main { overflow: clip; }
.home-v2 .container { width: min(1240px, calc(100% - 64px)); }
.home-v2 h1, .home-v2 h2, .home-v2 h3 { text-wrap: balance; }

.home-header { position: sticky; inset: 0 0 auto; z-index: 100; border-bottom: 1px solid rgba(147,18,22,.09); background: rgba(245,240,232,.91); backdrop-filter: blur(18px); }
.home-header-inner { min-height: 76px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.home-nav { display: flex; align-items: center; gap: 30px; }
.home-nav a { color: #4b423c; font-size: 14px; font-weight: 600; text-decoration: none; }
.home-nav a:hover { color: var(--red); }
.download-link { justify-self: end; display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; border-radius: 999px; background: var(--red); color: white; font-size: 13px; font-weight: 700; text-decoration: none; }

.home-kicker { display: flex; align-items: center; gap: 12px; color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.home-kicker::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.home-section { padding: 140px 0; }
.home-section-head { max-width: 790px; margin-bottom: 70px; }
.home-section-head.centered { margin-inline: auto; text-align: center; }
.home-section-head.centered .home-kicker { justify-content: center; }
.home-section-head h2 { margin-top: 20px; font-size: clamp(48px, 5.4vw, 76px); }
.home-section-head > p:last-child { margin-top: 24px; color: var(--muted); font-size: 18px; line-height: 1.65; }

.home-hero { min-height: 780px; padding: 106px 0 118px; border-bottom: 1px solid var(--border); background: radial-gradient(circle at 85% 26%, rgba(165,22,26,.07), transparent 28%), var(--canvas); }
.home-hero-grid { display: grid; grid-template-columns: minmax(500px, .9fr) minmax(570px, 1.1fr); align-items: center; gap: 54px; }
.home-hero-copy { position: relative; z-index: 2; }
.home-hero-title { margin: 28px 0 32px; font-size: clamp(58px, 5.2vw, 76px); line-height: .94; letter-spacing: -.038em; }
.home-hero-title span, .home-hero-title em { display: block; white-space: nowrap; }
.home-hero-title em { margin-top: 8px; }
.home-hero-lede { max-width: 610px; color: #58504a; font-size: 19px; line-height: 1.65; }
.home-hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 36px; flex-wrap: wrap; }
.app-store-badge { display: inline-flex; align-items: center; min-height: 54px; color: inherit; text-decoration: none; }
.app-store-badge img { width: auto; height: 54px; max-width: none; }
.text-link { color: var(--ink); font-size: 14px; font-weight: 650; text-decoration: none; border-bottom: 1px solid #b9aea5; padding-bottom: 3px; }
.home-hero-note { max-width: 590px; margin-top: 27px; color: #827970; font-size: 12px; line-height: 1.55; }

.hero-product { position: relative; min-height: 560px; display: flex; align-items: flex-end; justify-content: center; }
.hero-product::before { content: ""; position: absolute; left: 3%; right: 2%; bottom: 16px; height: 92px; border-radius: 50%; background: rgba(66,27,23,.14); filter: blur(34px); }
.ep-phone { position: relative; width: 288px; filter: drop-shadow(0 26px 35px rgba(43,24,21,.19)); }
.ep-phone-home { transform: rotate(-4deg) translate(30px, 5px); z-index: 1; }
.ep-phone-gallery { transform: rotate(4deg) translate(-15px, -32px); z-index: 2; }
.ep-phone-frame { position: relative; padding: 7px; border: 1px solid #39332f; border-radius: 35px; background: linear-gradient(145deg,#262321,#4f4a46 50%,#211f1d); box-shadow: inset 0 0 0 1px rgba(255,255,255,.22); }
.ep-screen { position: relative; min-height: 548px; overflow: hidden; padding: 30px 18px 64px; border-radius: 28px; background: linear-gradient(180deg,#fcf9f3,#f3ede4); color: #171311; }
.ep-brand-row { display: flex; align-items: baseline; gap: 6px; color: var(--red); font-family: var(--serif); font-size: 17px; }
.ep-brand-row i { margin-left: auto; font: 19px/1 var(--sans); }
.ep-script { font-size: 22px; font-style: italic; }
.ep-overline, .mini-overline { margin: 25px 0 5px; color: #675e57; font-size: 8px; font-weight: 700; letter-spacing: .2em; }
.ep-screen h3 { font-size: 34px; }
.ep-caption { color: #7a716a; font-size: 10px; }
.ep-calorie-row { display: flex; align-items: center; gap: 8px; margin-top: 22px; }
.ep-calorie-row strong { font: 500 64px/.85 var(--serif); }
.ep-calorie-row span { color: #736a64; font-size: 9px; line-height: 1.2; }
.ep-progress-bar, .mini-bar { height: 5px; margin-top: 13px; border-radius: 99px; background: #e5ddd4; overflow: hidden; }
.ep-progress-bar i, .mini-bar i { display: block; width: 74%; height: 100%; border-radius: inherit; background: var(--red); }
.ep-macro-row, .mini-stats { display: flex; justify-content: space-between; margin-top: 12px; color: #736a64; font-size: 9px; }
.ep-macro-row b, .mini-stats b { color: var(--ink); }
.ep-strategy { display: flex; flex-direction: column; gap: 5px; margin-top: 17px; padding: 14px; border-radius: 13px; background: #211b17; color: #f8f1e8; }
.ep-strategy small, .mini-dark small { font-size: 7px; letter-spacing: .16em; color: #d2c7ba; }
.ep-strategy b { font: 500 14px var(--serif); }
.ep-meals-label { margin-top: 18px; }
.ep-meal { display: flex; justify-content: space-between; padding: 9px 1px; border-bottom: 1px solid #e2d9cf; font-size: 8px; }
.ep-tabbar, .gallery-tabs { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(4,1fr); padding: 13px 8px 12px; border-top: 1px solid #e6ded5; background: rgba(250,247,241,.96); color: #8d837b; font-size: 7px; text-align: center; }
.ep-tabbar .active, .gallery-tabs .active { color: var(--red); font-weight: 800; }
.ep-gallery-feature { display: grid; grid-template-columns: 92px 1fr; align-items: end; gap: 12px; margin-top: 18px; padding: 10px; border-radius: 17px; background: #e9dfd3; }
.ep-gallery-feature-copy { display: flex; flex-direction: column; padding-bottom: 5px; }
.ep-gallery-feature-copy small { color: var(--red); font-size: 7px; font-weight: 700; letter-spacing: .12em; }
.ep-gallery-feature-copy b { margin-top: 4px; font: 500 17px var(--serif); }
.ep-gallery-feature-copy span { color: #736a64; font-size: 8px; }
.ep-person { position: relative; height: 122px; overflow: hidden; border-radius: 10px; background-color: #d7c8ba; }
.ep-gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 10px; }
.ep-gallery-grid > div { padding: 6px; border-radius: 10px; background: #fffdf9; }
.ep-gallery-grid .ep-person { height: 72px; }
.ep-gallery-grid b { display: block; margin-top: 4px; font-size: 7px; }
.ep-person, .flow-thumb-grid i, .overtime-visual i { background-image: url("/assets/product/gallery-woman-progress-sequence.jpg"); background-repeat: no-repeat; background-size: 400% auto; }
.woman-stage-1 { background-position: 0% 26%; }.woman-stage-2 { background-position: 33.333% 26%; }.woman-stage-3 { background-position: 66.667% 26%; }.woman-stage-4 { background-position: 100% 26%; }
.ep-gallery-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 10px; }
.ep-gallery-actions span { padding: 9px 4px; border: 1px solid #dbcfc4; border-radius: 9px; color: var(--red); font-size: 7px; font-weight: 700; text-align: center; }

.tracking-section { background: #fbf8f3; color: var(--ink); }
.home-v2 #how-it-works > .container { padding: 0; border: 0; border-radius: 0; background: transparent; }
.tracking-section .home-section-head h2, .tracking-section .tracking-notes h3 { color: var(--ink); }
.tracking-section .home-section-head > p:last-child, .tracking-section .tracking-notes p { color: #6f655e; }
.tracking-phones { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; gap: 32px; max-width: 1040px; margin: 0 auto; }
.mini-phone { position: relative; min-height: 550px; padding: 32px 25px 28px; overflow: hidden; border: 6px solid #322e2b; border-radius: 31px; background: linear-gradient(180deg,#fffdf9,#f4ede3); box-shadow: 0 25px 55px rgba(44,23,20,.13), inset 0 0 0 1px rgba(255,255,255,.28); }
.mini-phone.home-screen { transform: translateY(-24px); }
.mini-logo { color: var(--red); font: 600 19px var(--serif); }
.mini-phone h3 { margin: 8px 0 4px; font-size: 29px; }.mini-phone h3 em { color: var(--ink); }
.mini-muted { color: #82776f; font-size: 11px; }
.mini-input { height: 94px; margin: 22px 0 12px; padding: 14px; border: 1px solid #ded4c9; border-radius: 13px; background: #fff; color: #675e57; font-size: 11px; }
.mini-methods { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; }
.mini-methods span { padding: 18px 2px; border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(44,23,20,.06); color: #6d625a; font-size: 8px; text-align: center; }
.mini-primary { margin-top: 14px; padding: 11px; border-radius: 10px; background: var(--red); color: #fff; font-size: 10px; font-weight: 700; text-align: center; }
.mini-list { display: flex; justify-content: space-between; gap: 8px; margin-top: 9px; padding: 14px 0; border-top: 1px solid #e6ddd3; font-size: 9px; }
.mini-number { margin-top: 28px; font: 500 54px/.9 var(--serif); }.mini-number small { color: #756b64; font: 9px var(--sans); }
.mini-dark { display: flex; flex-direction: column; gap: 8px; margin-top: 27px; padding: 20px 16px; border-radius: 16px; background: #211b17; color: #fff; }.mini-dark b { font: 500 16px var(--serif); }
.weight-total { display: flex; align-items: baseline; gap: 7px; margin-top: 28px; }.weight-total b { font: 500 58px/.8 var(--serif); }.weight-total span { color: #766c65; font-size: 11px; }
.weight-chart { display: block; width: 100%; margin: 26px 0 8px; }
.tracking-notes { display: grid; grid-template-columns: repeat(3,1fr); gap: 36px; margin-top: 62px; }
.tracking-notes > div { position: relative; padding-top: 22px; border-top: 1px solid #cfc3b8; }
.tracking-notes span, .editorial-points span, .trust-grid span { color: var(--red); font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.tracking-notes h3, .editorial-points h3 { margin-top: 12px; font-size: 25px; }
.tracking-notes p, .editorial-points p { margin-top: 7px; color: var(--muted); font-size: 14px; }

.gallery-section { background: #211915; color: #f9f1e7; }
.gallery-layout { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 92px; }
.gallery-board { position: relative; min-height: 650px; padding: 38px 38px 78px; overflow: hidden; border-radius: 34px; background: #f8f3eb; box-shadow: 0 30px 70px rgba(0,0,0,.28); color: var(--ink); transform: rotate(-1.5deg); }
.gallery-board-head, .gallery-date-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.gallery-board-head p { margin-top: 9px; color: #6e655f; font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.gallery-count { padding: 7px 10px; border-radius: 99px; background: #efe4dc; color: var(--red); font-size: 9px; font-weight: 700; }
.gallery-date-row { margin-top: 30px; }.gallery-date-row > div { width: calc(50% - 8px); display: flex; flex-direction: column; }.gallery-date-row b { font: 500 21px var(--serif); }.gallery-date-row span { color: #81766e; font-size: 9px; }
.gallery-photo-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 12px; }
.progress-photo { height: 390px; border-radius: 19px; background-image: url('/assets/product/gallery-comparison-man.jpg'); background-repeat: no-repeat; background-size: 200% auto; box-shadow: inset 0 0 0 1px rgba(42,22,18,.08); }
.progress-photo-start { background-position: left center; }
.progress-photo-later { background-position: right center; }
.gallery-board-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }.gallery-board-actions span { padding: 13px; border: 1px solid #d8ccc1; border-radius: 11px; color: var(--red); font-size: 10px; font-weight: 700; text-align: center; }
.gallery-tabs { color: #8d837b; font-size: 9px; padding-block: 18px; }
.gallery-caption { display: block; margin: 26px 0 0 28px; color: #a99b8e; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.gallery-copy .home-kicker { color: #e3b7ad; }.gallery-copy h2 { margin-top: 25px; color: #fff8ef; font-size: clamp(52px,5vw,72px); }
.gallery-lede { margin-top: 26px; color: #c9bbb0; font-size: 17px; line-height: 1.7; }
.gallery-payoff { margin-top: 30px; color: #fff8ef; font: italic 500 30px var(--serif); }
.editorial-points { margin-top: 42px; }.editorial-points > div { display: grid; grid-template-columns: 36px 1fr; column-gap: 8px; padding: 20px 0; border-top: 1px solid #493b33; }.editorial-points span { grid-row: 1 / 3; color: #d7968d; }.editorial-points h3 { margin: 0; color: #fff8ef; font-size: 21px; }.editorial-points p { color: #a99b90; }

.brand-bridge { padding: 82px 0; border-bottom: 1px solid var(--border); text-align: center; }
.bridge-tagline { font: 500 clamp(37px,4.2vw,58px)/1.05 var(--serif); }.bridge-tagline em { color: var(--red); }.brand-bridge .container > p:last-child { margin-top: 16px; color: var(--muted); }

.timelapse-section-v2 { background: #f8f4ee; }
.timelapse-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: 80px; }
.timelapse-copy-v2 h2 { margin-top: 24px; font-size: clamp(48px,4.8vw,68px); }.timelapse-copy-v2 > p:last-child { margin-top: 25px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.timelapse-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 14px; }
.flow-stage { min-width: 0; }.flow-number { color: var(--red); font-size: 10px; font-weight: 700; letter-spacing: .15em; }.flow-stage h3 { margin-top: 20px; font-size: 23px; }.flow-stage p { margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.5; }.flow-arrow { color: #b5a79d; font-size: 26px; }
.flow-thumb-grid, .flow-compare, .flow-video { height: 190px; margin-top: 12px; padding: 10px; border-radius: 22px; background: #e9dfd5; }
.flow-thumb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.flow-thumb-grid i, .flow-compare i { border-radius: 12px; background-repeat: no-repeat; }
.flow-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.flow-compare i { background-image: url("/assets/product/gallery-comparison-man.jpg"); background-size: 200% auto; }.flow-compare i:first-child { background-position: left center; filter: saturate(.9); }.flow-compare i:last-child { background-position: right center; }
.flow-video { display: flex; align-items: center; justify-content: center; gap: 10px; background: #211b17; color: #f6eee5; }.flow-video i { display: grid; place-items: center; width: 45px; height: 45px; border: 1px solid #8d7d70; border-radius: 50%; color: #fff; font-size: 13px; }.flow-video span { font: 500 18px/1.05 var(--serif); }

.together-section { background: var(--canvas); }
.short-head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; max-width: none; column-gap: 80px; }.short-head .home-kicker { grid-column: 1 / -1; }.short-head h2 { font-size: clamp(52px,5vw,74px); }.short-head h2 em { color: var(--red); }.short-head > p:last-child { margin: 0 0 5px; }
.together-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }.together-panel { min-height: 470px; padding: 42px; border-top: 1px solid #aa9b90; }.panel-label { color: var(--red); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }.together-panel h3 { margin-top: 30px; font-size: 31px; }.together-panel > p { margin-top: 10px; color: var(--muted); }
.today-visual { display: flex; flex-direction: column; height: 220px; margin-top: 36px; padding: 30px; border-radius: 24px; background: #fbf8f3; box-shadow: 0 18px 40px rgba(48,26,22,.07); }.today-visual b { font: 500 70px/.8 var(--serif); }.today-visual span { color: #746a63; font-size: 12px; }.today-visual i { height: 6px; margin: 30px 0 18px; border-radius: 99px; background: linear-gradient(90deg,var(--red) 72%,#e0d6cc 72%); }.today-visual small { color: #645a54; }
.overtime-visual { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; height: 220px; margin-top: 36px; }.overtime-visual i { border-radius: 20px; }.overtime-visual span { position: absolute; right: 13px; bottom: 12px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--red); }
.together-note { margin-top: 34px; font: italic 500 29px var(--serif); text-align: center; }

.pricing-section { border-top: 1px solid var(--border); background: #fbf8f3; }.pricing-head { max-width: 850px; }.pricing-grid { display: grid; grid-template-columns: 1fr 1.08fr; max-width: 1030px; margin: 0 auto; border: 1px solid #d9cfc5; border-radius: 32px; overflow: hidden; background: #f6f0e8; }.price-plan { padding: 48px; }.premium-plan-v2 { background: #211915; color: #f9f1e7; }.plan-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }.plan-name { color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }.premium-plan-v2 .plan-name { color: #e0a49d; }.price-plan h3 { margin-top: 9px; font-size: 29px; }.premium-plan-v2 h3 { color: #fff8ef; }.plan-top > strong, .plan-prices strong { font: 500 40px/1 var(--serif); }.plan-prices { display: flex; flex-direction: column; align-items: flex-end; }.plan-prices span, .plan-prices small { color: #b8aaa0; font-size: 10px; }.trial-pill { display: inline-flex; margin-top: 24px; padding: 7px 10px; border-radius: 99px; background: #f4ded9; color: var(--red); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.price-plan ul { margin-top: 36px; list-style: none; }.price-plan li { position: relative; padding: 13px 0 13px 26px; border-top: 1px solid #ded4ca; color: #5e544d; font-size: 14px; }.price-plan li::before { content: "✓"; position: absolute; left: 0; color: var(--red); font-weight: 800; }.premium-plan-v2 li { border-color: #44362e; color: #d0c4ba; }.premium-plan-v2 li::before { color: #e7aaa3; }.pricing-note { margin-top: 22px; color: var(--muted); font-size: 11px; text-align: center; }

.faq-section { background: var(--canvas); }.faq-layout-v2 { display: grid; grid-template-columns: .65fr 1.35fr; gap: 100px; align-items: start; }.faq-intro { position: sticky; top: 120px; }.faq-intro h2 { margin-top: 22px; font-size: 59px; }.faq-intro > p:last-child { margin-top: 20px; color: var(--muted); line-height: 1.65; }.faq-list-v2 details { border-top: 1px solid #cfc4ba; }.faq-list-v2 details:last-child { border-bottom: 1px solid #cfc4ba; }.faq-list-v2 summary { display: flex; justify-content: space-between; gap: 20px; padding: 25px 0; cursor: pointer; list-style: none; font: 500 24px/1.2 var(--serif); }.faq-list-v2 summary::-webkit-details-marker { display: none; }.faq-list-v2 summary span { position: relative; width: 18px; flex: none; }.faq-list-v2 summary span::before, .faq-list-v2 summary span::after { content: ""; position: absolute; top: 10px; left: 1px; width: 16px; height: 1px; background: var(--red); }.faq-list-v2 summary span::after { transform: rotate(90deg); transition: transform .2s; }.faq-list-v2 details[open] summary span::after { transform: rotate(0); }.faq-list-v2 details p { max-width: 680px; padding: 0 45px 26px 0; color: var(--muted); font-size: 15px; line-height: 1.7; }

.trust-close { padding: 92px 0 0; background: #211915; color: #f9f1e7; }.trust-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 48px; padding-bottom: 85px; }.trust-grid > div { padding-top: 22px; border-top: 1px solid #54443a; }.trust-grid span { color: #de9b94; }.trust-grid h3 { margin-top: 22px; color: #fff8ef; font-size: 27px; }.trust-grid p { margin-top: 10px; color: #ad9f94; font-size: 14px; line-height: 1.6; }.final-cta { display: flex; flex-direction: column; align-items: center; padding: 110px 24px 100px; border-top: 1px solid #493a32; text-align: center; }.final-tagline { font: 500 clamp(49px,6vw,84px)/.95 var(--serif); }.final-tagline span, .final-tagline em { display: block; }.final-tagline em { margin-top: 8px; color: #e5a19a; }.final-cta > p:nth-child(2) { margin: 28px 0; color: #c6b9ae; font-size: 17px; }
.home-footer { background: #17110e; }.home-footer .footer-grid { grid-template-columns: 2fr repeat(3,1fr); }
.apple-credit { margin-top: 10px; }

@media (max-width: 1220px) {
  .home-hero-grid { grid-template-columns: minmax(0,1fr); }
  .home-hero-copy { min-width: 0; max-width: 760px; }
  .hero-product { margin-top: 20px; }
}

@media (max-width: 1100px) {
  .home-v2 .container { width: min(100% - 48px, 960px); }
  .home-hero-title { font-size: clamp(58px,8vw,80px); }
  .gallery-layout { grid-template-columns: 1fr; }.gallery-visual { max-width: 700px; margin: 0 auto; }.gallery-copy { max-width: 750px; }
  .timelapse-layout { grid-template-columns: 1fr; }.timelapse-copy-v2 { max-width: 760px; }
  .faq-layout-v2 { gap: 55px; }.home-footer .footer-grid { grid-template-columns: 2fr 1fr 1fr; }.home-footer .footer-grid > :last-child { grid-column: 2 / 4; }
}

@media (max-width: 820px) {
  .home-section { padding: 96px 0; }.home-header-inner { grid-template-columns: 1fr auto; }.home-nav { display: none; }
  .home-hero { padding: 72px 0 90px; }.tracking-phones { grid-template-columns: 1fr; max-width: 390px; gap: 28px; }.mini-phone.home-screen { transform: none; }.tracking-notes { grid-template-columns: 1fr; }
  .gallery-board { min-height: 580px; }.progress-photo { height: 325px; }
  .timelapse-flow { grid-template-columns: 1fr; gap: 18px; }.flow-arrow { transform: rotate(90deg); justify-self: center; }.flow-thumb-grid, .flow-compare, .flow-video { height: 260px; }.flow-stage { display: flex; flex-direction: column; align-items: stretch; }.flow-stage h3 { margin-top: 22px; }.flow-stage p { margin-top: 7px; }
  .short-head { grid-template-columns: 1fr; }.short-head > p:last-child { margin-top: 24px; }.together-grid, .pricing-grid, .faq-layout-v2 { grid-template-columns: 1fr; }.faq-intro { position: static; }.trust-grid { grid-template-columns: 1fr; gap: 30px; }
  .home-footer .footer-grid { grid-template-columns: 1fr 1fr; }.home-footer .footer-grid > :first-child { grid-column: 1 / -1; }.home-footer .footer-grid > :last-child { grid-column: auto; }
}

@media (max-width: 640px) {
  .home-v2 .container { width: calc(100% - 36px); }.home-header-inner { min-height: 64px; }.home-header .brand-lockup { height: 29px; }.download-link { min-height: 36px; padding-inline: 14px; font-size: 12px; }
  .home-hero { min-height: 0; padding-top: 58px; }.home-hero-title { font-size: clamp(43px,12.3vw,58px); line-height: .97; }.home-hero-title span, .home-hero-title em { white-space: normal; }.home-hero-lede { font-size: 17px; }.home-hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-product { min-height: 0; width: 100%; margin: 24px 0 0; flex-direction: column; align-items: center; gap: 28px; transform: none; }.hero-product::before { bottom: 0; }.ep-phone { width: min(100%,264px); }.ep-phone-home { transform: rotate(-1.25deg); }.ep-phone-gallery { transform: rotate(1.25deg); }
  .home-section { padding: 82px 0; }.home-section-head { margin-bottom: 48px; }.home-section-head h2, .gallery-copy h2, .timelapse-copy-v2 h2 { font-size: clamp(42px,12vw,55px); }.home-section-head > p:last-child { font-size: 16px; }
  .mini-phone { min-height: 520px; }.tracking-notes { margin-top: 44px; }
  .gallery-layout { gap: 60px; }.gallery-board { min-height: 520px; padding: 24px 20px 68px; border-radius: 24px; transform: none; }.gallery-photo-row { gap: 8px; }.progress-photo { height: 275px; border-radius: 13px; }.gallery-board-actions span { padding: 11px 5px; font-size: 8px; }.gallery-caption { margin-left: 0; }.gallery-payoff { font-size: 27px; }
  .brand-bridge { padding: 64px 0; }.bridge-tagline span, .bridge-tagline em { display: block; }.bridge-tagline em { margin-top: 5px; }
  .flow-thumb-grid, .flow-compare, .flow-video { height: 220px; }.together-panel { min-height: 420px; padding: 30px 8px; }.together-note { font-size: 25px; }.price-plan { padding: 34px 24px; }.plan-top { flex-direction: column; }.plan-prices { align-items: flex-start; }.faq-intro h2 { font-size: 48px; }.faq-list-v2 summary { font-size: 21px; }.trust-close { padding-top: 72px; }.final-cta { padding: 84px 0 76px; }.final-tagline { font-size: clamp(44px,13vw,60px); }.home-footer .footer-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { .home-v2 * { scroll-behavior: auto !important; } }
