/* The original desktop composition is preserved. These rules adapt it to phones. */
.mobile-audit { display:none; }
html { -webkit-text-size-adjust:100%; }
.site-header { padding-top:env(safe-area-inset-top); }
.hero h1 { margin-top:0; }
/* Native scrolling, with no fixed-height cards or nested scroll areas. Tall cards
   pin only after their bottom has entered the viewport, so nothing is skipped. */
.feature-stack { position:relative; isolation:isolate; }
.feature-stack .feature-card { position:sticky; top:min(var(--stack-top,100px),calc(100svh - var(--card-height,600px) - 16px)); z-index:var(--stack-order,1); }
.feature-stack .feature-card:focus-within { z-index:5; }
@media (max-width:1000px) {
 .site-header .nav-wrap { width:calc(100% - 32px); height:auto; min-height:72px; gap:10px; flex-wrap:wrap; padding-block:10px; }
 .site-header .brand { min-height:44px; gap:6px; }.site-header .brand>span { font-size:27px; }.site-header .brand img { width:27px; height:auto; }
 .mobile-audit { display:inline-flex; margin-left:auto; padding:10px 14px; font-size:12px; gap:8px; min-height:44px; }
 .menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; width:44px; height:44px; flex-shrink:0; gap:5px; border:1px solid #ffffff40; border-radius:50%; background:transparent; }
 .menu-toggle span { width:17px; height:1px; background:var(--ivory); transition:transform .2s; }
 .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3px) rotate(45deg); }.menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3px) rotate(-45deg); }
 .site-header #navigation { display:flex; position:absolute; top:100%; left:0; right:0; padding:18px 24px 26px; background:var(--green); box-shadow:var(--shadow); flex-direction:column; gap:0; align-items:stretch; visibility:hidden; opacity:0; transform:translateY(-8px); transition:opacity .2s,transform .2s,visibility .2s; max-height:calc(100dvh - 90px); overflow:auto; }
 .site-header #navigation.open { visibility:visible; opacity:1; transform:none; }
 .site-header #navigation>a { font-size:16px; padding:13px 0; min-height:44px; }.site-header #navigation .button { margin:12px 0 0; font-size:16px; }
 .feature-stack .feature-card { width:calc(100% - 32px); padding:24px 20px; margin-bottom:20px; border-radius:18px; box-shadow:0 -8px 24px #0f2d230a; }
 .feature-card h2 { font-size:clamp(28px,5vw,38px); letter-spacing:-1px; }
 .problem,.advisor-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
 .problem .section-heading,.execution .section-heading { margin:0 0 4px; }
 .feature-card .section-heading>p:last-child,.advisor-copy>p { font-size:14px; line-height:1.6; }
 .problem .steps { gap:10px; }.problem .steps article { padding:18px; }.problem .steps h3 { font-size:19px; }.problem .steps p { font-size:14px; }
 .advisor-copy h2 { margin:12px 0 16px; }.advisor-copy>p { margin-top:12px; }
 .advisor-options { margin-top:18px; }.advisor-options button { min-height:48px; font-size:14px; padding:12px 14px; }
 .advisor-card { padding:20px; }.advisor-card-header { font-size:14px; }.advisor-card-header small { font-size:11px; }.advisor-prompt { font-size:14px; }
 .advisor-answer h3 { font-size:26px; }.advisor-answer>p,.advisor-answer li,.advisor-deliverable p { font-size:14px; }.advisor-disclaimer { font-size:11px; }
 .execution { display:block; }.execution .section-heading { margin-bottom:24px; }.execution-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.execution-card { padding:20px; }.execution-card h3 { font-size:26px; }.execution-card>p,.execution-card .checks { font-size:14px; }.execution-card .text-link { min-height:44px; font-size:14px; }.execution-card .fine-print { font-size:12px; }
 .text-link,.plain-button { min-height:44px; }.button { min-height:48px; }.dialog-close { width:44px; height:44px; }
}
@media (max-width:760px) {
 body { font-size:16px; }.wrap { width:calc(100% - 40px); }
 .hero { padding-top:48px; padding-bottom:48px; }.hero h1 { font-size:clamp(36px,10.8vw,48px); line-height:1.08; letter-spacing:-1.6px; margin:0 0 22px; }.hero-description { font-size:15px; line-height:1.65; }
 .demo-band>.wrap { width:calc(100% - 40px); }.demo-caption { flex-wrap:wrap; gap:8px; }.demo-caption p { font-size:12px; }.light-badge { font-size:10px; }
 .demo-carousel { padding-bottom:56px; }.carousel-ghost { display:none; }
 .carousel-arrow { top:auto; bottom:0; width:44px; height:44px; font-size:24px; }.carousel-arrow.previous { left:calc(50% - 50px); }.carousel-arrow.next { right:calc(50% - 50px); }
 .carousel-dots { margin-top:4px; }.carousel-dots button { width:44px; height:44px; }.carousel-dots button::after { top:19px; left:19px; }.carousel-dots button[aria-pressed=true]::after { left:13px; }
 .carousel-slide,.product-stage,.dashboard,.product-story { height:auto; min-height:0; aspect-ratio:auto; }
 .dashboard { display:block; }.dashboard-sidebar { display:none; }.dashboard-main { padding:16px; }
 .dashboard-filter { flex-wrap:wrap; gap:10px; margin:18px 0; }.segmented { width:100%; }.segmented button { flex:1; min-height:44px; font-size:13px; padding:10px 8px; }.demo-note { font-size:11px; }
 .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.metric { min-width:0; padding:14px; }.metric:first-child { grid-column:1/-1; background:var(--ivory); }.metric p { font-size:12px; }.metric strong { font-size:34px; }.metric:first-child strong { font-size:44px; }.metric small { font-size:11px; }
 .dashboard-panels { grid-template-columns:minmax(0,1fr); gap:12px; }.visibility-panel,.next-move { padding:18px; }.panel-title h3 { font-size:14px; }.panel-title>span { display:block; font-size:10px; }.bar-row { grid-template-columns:52px minmax(0,1fr) 35px; font-size:12px; gap:8px; }.bar-row b { font-size:12px; }.chart-note { font-size:10px; }
 .next-move h3 { font-size:20px; }.next-move>p:not(.dashboard-kicker) { font-size:14px; }.next-move a { font-size:13px; min-height:44px; display:flex; align-items:center; }.sample-query { display:flex; flex-wrap:wrap; gap:8px; font-size:12px; }.sample-query p { font-size:12px; }
 .product-stage:not(.is-playing) { height:460px; }.demo-cover { justify-content:center; padding:24px; }.demo-cover-label { font-size:25px; text-align:center; }.demo-cover-note { font-size:13px; }.demo-under { font-size:12px; }
 .product-story { padding:24px; gap:20px; }.story-copy h2 { font-size:30px; }.story-copy>p:not(.eyebrow) { font-size:14px; }.story-copy .button { font-size:14px; }.prompt-preview,.roadmap-preview { padding:18px; }.prompt-preview>div { padding:14px; font-size:14px; }.prompt-preview small { font-size:11px; }.prompt-preview>p,.roadmap-preview>p { font-size:11px; }.preview-label { font-size:11px; }.roadmap-preview>div { font-size:13px; }.roadmap-preview strong { font-size:14px; }
 .execution-grid { grid-template-columns:minmax(0,1fr); }
 .price-card { padding:28px 24px; }.price-card .button { min-height:50px; font-size:15px; }.price-card .checks li { font-size:14px; }.plan-description,.plan-cadence { font-size:14px; }.pricing-note { font-size:12px; }
 summary { min-height:56px; font-size:15px; }.faq-list p { font-size:14px; }
 dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:58px 20px 24px; overscroll-behavior:contain; }dialog h2 { font-size:28px; }dialog p { font-size:14px; }.audit-option { min-height:70px; font-size:14px; padding:15px; }.audit-controls { flex-wrap:wrap; position:sticky; bottom:0; background:var(--ivory); padding:12px 0 max(12px,env(safe-area-inset-bottom)); }.audit-controls .button { font-size:14px; flex:1; }.audit-back { min-height:44px; font-size:13px; }.result-list { font-size:14px; }.result-actions .button { font-size:14px; min-height:48px; }
 .site-footer { padding-bottom:env(safe-area-inset-bottom); }
}
@media (prefers-reduced-motion:reduce) {
 .feature-stack .feature-card { position:relative; top:auto; }
}
@media (max-width:1000px) {
 .advisor-copy>p:not(.eyebrow),.advisor-answer>p:not(.eyebrow) { font-size:14px; line-height:1.6; }
 .advisor-card-header { padding-bottom:16px; }.advisor-prompt { padding:16px; margin:18px 0; }
 .advisor-answer ol { margin:16px 0; }.advisor-answer li { margin-top:8px; padding-left:2px; }
 .advisor-deliverable { padding:16px; }.advisor-disclaimer { margin-top:16px; }
}

/* Pricing refinements from the annotated mobile review. */
.pricing .price { font-size:48px; letter-spacing:-1.6px; }
.price-card .plan-gold { background:var(--gold); border-color:var(--gold); color:var(--green); }
.price-card .plan-gold:hover { background:#ddc18e; border-color:#ddc18e; }
.brokerage-logo img[src*="berkshire-hathaway"] { object-fit:contain; height:42px; }
.brokerage-logo img[src*="atproperties"],.brokerage-logo img[src*="realtor"] { object-fit:contain; }
@media (max-width:760px) {
 .pricing .price { font-size:40px; letter-spacing:-1.3px; }
 .pricing .pricing-note { font-size:11px; line-height:1.6; text-wrap:pretty; }
}

/* Keep a clear gap beneath the simplified Advisor header. */
.advisor-answer { padding-top:20px; }

/* SVG icons retain the same line art on iOS, Android and desktop. */
.icon { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:middle; }
.button .icon { width:21px; height:21px; }
.demo-play { padding:0; }
.demo-play .icon { width:25px; height:25px; margin-left:3px; }
.carousel-arrow { display:grid; place-items:center; }
.carousel-arrow .icon { width:26px; height:26px; }
.logo-pause .icon { width:12px; height:12px; }

@media (min-width:1001px) {
 #how-it-works .section-heading h2 { font-size:clamp(32px,3vw,42px); text-wrap:balance; }
 #how-it-works .section-heading h2 br { display:none; }
}

/* A deliberate two-line headline and compact supporting copy on phones. */
@media (max-width:760px) {
 .hero h1 { font-size:clamp(25px,7.9vw,42px); line-height:1.18; letter-spacing:-1px; }
 .hero h1 .hero-question,.hero h1 .hero-choice { display:block; }
 .hero h1 .hero-choice { font-size:1.1em; margin-top:3px; }
 .hero h1 .hero-gold { display:inline; }
 .hero h1 .desktop-break { display:none; }
 .audience-section>p { font-size:clamp(12px,3.5vw,15px); }
 #pricing .section-heading>p:last-child { font-size:clamp(12px,3.5vw,15px); line-height:1.6; }
}
