/* Homepage refinement using the established Development visual language. */
.home-prototype { padding-top:28px; }
.home-prototype .home-section { padding-block:56px; border-top:0; }
.home-prototype h2 { font-size:clamp(28px,3vw,38px); color:var(--forest); }
.home-prototype .home-section-heading { gap:32px; margin-bottom:30px; }
.home-prototype .home-section-heading > p { max-width:34ch; line-height:1.7; }
.home-prototype .home-hero { min-height:0; padding:44px; gap:32px; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); background:var(--cream); border:1px solid #eee9e1; border-radius:32px; }
.home-prototype .home-hero h1 { font-size:clamp(36px,3.8vw,50px); letter-spacing:-.045em; }
.home-prototype .home-hero-copy { min-width:0; }
.home-prototype .home-intro { max-width:30ch; }
.home-prototype .home-app-art { height:470px; overflow:visible; gap:14px; padding-top:8px; align-self:center; }
.home-prototype .home-screen-main { width:200px; flex:none; align-self:flex-start; box-shadow:0 14px 28px rgb(61 107 79 / .08); }
.home-prototype .home-screen-second { display:block; width:150px; flex:none; margin-top:80px; align-self:flex-start; box-shadow:0 14px 28px rgb(61 107 79 / .08); }
.home-prototype .home-art-shape { width:320px; height:330px; left:calc(50% - 160px); bottom:45px; }
.home-prototype .home-hero-leaf, .home-prototype .home-section-leaf { display:none; }
.home-prototype .home-steps { gap:18px; }
.home-prototype .home-steps > li { padding:26px; border-radius:22px; background:var(--cream); border:1px solid #f0ece6; }
.home-prototype .home-step-icon { width:48px; height:48px; margin-bottom:22px; padding:11px; background:white; border:1px solid var(--border); }
.home-prototype .home-step-heading { align-items:start; gap:12px; }
.home-prototype .home-step-heading > span { line-height:26px; font-weight:700; }
.home-prototype .home-step-heading h3 { font-size:21px; color:var(--forest); }
.home-prototype .home-steps p { color:var(--ink); }
.home-prototype .home-area-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.home-prototype .home-area-card { grid-column:span 2; min-height:0; padding:24px 24px 30px; border:1px solid var(--border); background:white; border-radius:22px; }
.home-prototype .home-area-card:nth-last-child(-n+2) { grid-column:span 3; }
.home-prototype .home-area-card img { width:48px; height:48px; padding:8px; border-radius:14px; background:var(--area-bg); margin-bottom:18px; }
.home-prototype .home-area-card h3 { font-size:22px; padding-right:14px; }
.home-prototype .home-area-card p { font-size:15px; line-height:1.65; max-width:40ch; padding-right:14px; color:var(--muted); }
.home-prototype .home-area-arrow { font-size:20px; bottom:18px; right:20px; }
.home-prototype .home-area-card:hover { background:var(--cream); border-color:var(--forest); }
.home-prototype .home-area-card:focus-visible, .home-prototype .home-discovery-card:focus-visible { outline:2px solid var(--forest); outline-offset:4px; }
.home-prototype .home-areas-overview { display:inline-flex; align-items:center; min-height:44px; margin-top:18px; font-size:14px; gap:12px; }
.home-prototype .home-feature { padding-top:20px; }
.home-prototype .home-feature-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; padding:40px; background:var(--sage); border-radius:28px; }
.home-prototype .home-feature-grid > div { min-width:0; }
.home-prototype .home-feature-grid figure { width:100%; max-width:280px; justify-self:center; }
.home-prototype .home-feature-grid .daily-app-demo { width:100%; height:430px; object-fit:contain; background:transparent; }
.home-prototype .home-feature-grid figcaption { max-width:30ch; margin-inline:auto; text-align:center; line-height:1.6; }
.home-prototype .home-feature-grid h3 { color:var(--forest); font-size:30px; line-height:1.2; }
.home-prototype .home-feature-grid .text-link { display:inline-flex; min-height:44px; align-items:center; }
.home-prototype .home-activity-preview { list-style:none; padding:0; margin:24px 0; counter-reset:play; display:grid; gap:12px; }
.home-prototype .home-activity-preview li { counter-increment:play; display:flex; align-items:center; gap:12px; padding:0; margin:0; }
.home-prototype .home-activity-preview li::before { content:counter(play); display:grid; place-items:center; flex:none; width:28px; height:28px; font-size:12px; border-radius:50%; background:white; color:var(--forest); font-weight:700; }
.home-prototype .home-personal { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:64px; }
.home-prototype .home-personal > div { grid-column:1; grid-row:1; min-width:0; }
.home-prototype .home-product-snapshot { grid-column:2; grid-row:1; padding:26px; background:var(--cream); border-radius:26px; }
.home-prototype .home-product-snapshot img { width:100%; max-width:230px; height:auto; object-fit:contain; border:0; border-radius:18px; }
.home-prototype .home-product-snapshot figcaption { text-align:center; max-width:30ch; font-size:11px; line-height:1.6; }
.home-prototype .home-personal p:not(.eyebrow) { color:var(--ink); }
.home-prototype .home-personal-points { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding-top:24px; margin-top:24px; }
.home-prototype .home-personal-points p { margin:0; padding-left:14px; border-left:3px solid var(--sage); }
.home-prototype .home-personal-points strong { color:var(--forest); margin-bottom:8px; }
.home-prototype .home-approach { margin-block:12px 24px; padding:36px; background:var(--cream); border-radius:28px; grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr); gap:28px 48px; align-items:center; }
.home-prototype .home-approach-heading { grid-column:1 / -1; }
.home-prototype .home-approach .home-bekki-photo { margin:0; max-width:260px; width:100%; justify-self:center; }
.home-prototype .home-bekki-photo img { width:100%; height:auto; border-radius:20px; }
.home-prototype .home-bekki-photo figcaption { font-size:11px; }
.home-prototype .home-approach > div:last-child { min-width:0; }
.home-prototype .home-contributor { font-size:27px; line-height:1.3; }
.home-prototype .home-contributor-role { margin:12px 0 22px; }
.home-prototype .home-explore-grid { gap:20px; }
.home-prototype .home-explore-grid > .home-discovery-card { border-radius:22px; background:var(--cream); }
.home-prototype .home-discovery-copy { padding:24px; }
.home-prototype .home-discovery-copy h3 { color:var(--forest); }
.home-prototype .home-discovery-image { height:190px; }
.home-prototype .home-faq { gap:48px; padding-top:20px; }
.home-prototype .home-faq-list { display:grid; gap:10px; }
.home-prototype .home-faq-list details { border:1px solid var(--border); background:var(--cream); border-radius:16px; padding-inline:20px; }
.home-prototype .home-faq-list summary { padding-block:18px; }
.home-prototype .home-faq-list p { color:var(--ink); line-height:1.7; }
.home-prototype .home-faq-list summary:focus-visible { outline:2px solid var(--forest); outline-offset:4px; border-radius:8px; }
.home-prototype .app-cta { margin-top:12px; }
@media(max-width:1000px) {
 .home-prototype .home-hero { padding:32px; gap:20px; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
 .home-prototype .home-hero h1 { font-size:42px; }
 .home-prototype .home-screen-main { width:190px; }
 .home-prototype .home-screen-second { display:none; }
 .home-prototype .home-app-art { height:440px; }
 .home-prototype .home-art-shape { width:230px; height:290px; left:calc(50% - 115px); }
 .home-prototype .home-steps { gap:14px; }
 .home-prototype .home-steps > li { padding:20px; }
 .home-prototype .home-step-heading { display:block; }
 .home-prototype .home-step-heading > span { display:block; margin-bottom:8px; }
 .home-prototype .home-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-prototype .home-area-card, .home-prototype .home-area-card:nth-last-child(-n+2) { grid-column:auto; }
 .home-prototype .home-area-card:last-child { grid-column:1 / -1; }
 .home-prototype .home-feature-grid { padding:28px; gap:28px; }
 .home-prototype .home-feature-grid .daily-app-demo { height:380px; }
 .home-prototype .home-personal { gap:32px; }
 .home-prototype .home-personal-points { grid-template-columns:1fr; }
 .home-prototype .home-approach { padding:28px; gap:24px 32px; }
 .home-prototype .home-explore-grid { grid-template-columns:1fr; gap:16px; }
 .home-prototype .home-explore-grid > .home-discovery-card { display:grid; grid-template-columns:180px minmax(0,1fr); }
 .home-prototype .home-discovery-image { height:100%; min-height:200px; }
 .home-prototype .home-discovery-copy { padding:24px; }
 .home-prototype .home-discovery-copy h3 { font-size:24px; }
 .home-prototype .home-discovery-copy p { margin-bottom:14px; }
 .home-prototype .home-faq { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; }
}
@media(max-width:650px) {
 .home-prototype { padding-top:16px; }
 .home-prototype .home-section { padding-block:36px; }
 .home-prototype .home-hero { padding:28px 22px 20px; border-radius:24px; gap:24px; }
 .home-prototype .home-hero h1 { font-size:clamp(32px,8.5vw,40px); }
 .home-prototype .home-hero .eyebrow { font-size:10px; }
 .home-prototype .home-intro { font-size:20px; }
 .home-prototype .home-body { font-size:16px; }
 .home-prototype .home-hero-note { line-height:1.7; }
 .home-prototype .home-actions { align-items:flex-start; gap:10px 18px; }
 .home-prototype .home-actions .text-link { min-height:44px; display:inline-flex; align-items:center; }
 .home-prototype .home-app-art { width:100%; height:345px; gap:12px; padding:4px 0 18px; }
 .home-prototype .home-screen-main { width:140px; }
 .home-prototype .home-screen-second { display:block; width:110px; margin-top:52px; }
 .home-prototype .home-art-shape { width:250px; height:240px; bottom:35px; left:calc(50% - 125px); }
 .home-prototype .home-app-art figcaption { bottom:0; }
 .home-prototype .home-section-heading { margin-bottom:22px; }
 .home-prototype .home-section-heading > p { max-width:36ch; }
 .home-prototype .home-section-heading > p br { display:none; }
 .home-prototype .home-steps { gap:12px; }
 .home-prototype .home-steps > li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; padding:22px; }
 .home-prototype .home-step-icon { width:42px; height:42px; padding:9px; margin:0; }
 .home-prototype .home-step-heading { display:flex; align-items:baseline; gap:10px; }
 .home-prototype .home-step-heading > span { margin:0; }
 .home-prototype .home-step-heading h3 { font-size:20px; }
 .home-prototype .home-steps p { padding:0; }
 .home-prototype .home-area-grid { grid-template-columns:1fr; gap:12px; }
 .home-prototype .home-area-card, .home-prototype .home-area-card:last-child { min-height:0; display:grid; grid-template-columns:44px minmax(0,1fr) 18px; gap:6px 14px; padding:20px; }
 .home-prototype .home-area-card img { width:44px; height:44px; margin:0; grid-column:1; grid-row:1 / 3; }
 .home-prototype .home-area-card h3 { grid-column:2; font-size:21px; padding:0; align-self:center; }
 .home-prototype .home-area-card p { grid-column:2; padding:0; margin:0; font-size:14px; }
 .home-prototype .home-area-arrow { position:static; grid-column:3; grid-row:1 / 3; align-self:center; }
 .home-prototype .home-feature { padding-top:12px; }
 .home-prototype .home-feature-grid { display:flex; flex-direction:column-reverse; gap:24px; padding:26px 22px; border-radius:24px; }
 .home-prototype .home-feature-grid h3 { font-size:28px; }
 .home-prototype .home-feature-grid figure { max-width:220px; }
 .home-prototype .home-feature-grid .daily-app-demo { height:auto; }
 .home-prototype .home-personal { display:flex; flex-direction:column-reverse; gap:24px; }
 .home-prototype .home-product-snapshot { width:100%; padding:22px; }
 .home-prototype .home-product-snapshot img { max-width:210px; height:auto; }
 .home-prototype .home-personal-points { gap:18px; }
 .home-prototype .home-approach { display:grid; grid-template-columns:1fr; gap:22px; padding:26px 22px; border-radius:24px; margin-block:4px 12px; }
 .home-prototype .home-approach .home-bekki-photo { max-width:200px; }
 .home-prototype .home-contributor { font-size:24px; }
 .home-prototype .home-contributor-role { margin:10px 0 18px; }
 .home-prototype .home-explore-grid > .home-discovery-card { grid-template-columns:96px minmax(0,1fr); }
 .home-prototype .home-discovery-image { min-height:180px; }
 .home-prototype .home-discovery-copy { padding:20px 16px; }
 .home-prototype .home-discovery-copy h3 { font-size:22px; }
 .home-prototype .home-discovery-copy p { font-size:14px; line-height:1.65; }
 .home-prototype .home-discovery-copy .eyebrow { font-size:10px; }
 .home-prototype .home-faq { grid-template-columns:1fr; gap:22px; padding-top:12px; }
 .home-prototype .home-faq-list details { padding-inline:16px; }
 .home-prototype .app-cta { margin-top:0; }
 .home-prototype .button { white-space:normal; text-align:center; }
}
@media(prefers-reduced-motion:reduce) { .home-prototype * { scroll-behavior:auto; } }

/* Underline the words, with a clean, separate directional arrow. */
.home-prototype .text-link,
.home-prototype .home-discovery-card .text-link { text-decoration:none; }
.home-prototype .text-link .text-link-label { text-decoration:none; text-underline-offset:.22em; }
.home-prototype .text-link > [aria-hidden="true"] { text-decoration:none; display:inline-block; }
@media(max-width:650px) {
 .home-prototype .home-discovery-image { height:112px; min-height:0; margin:14px 0 14px 10px; align-self:center; border-radius:12px; }
 .home-prototype .home-discovery-image > span { display:none; }
}
.home-prototype .home-discovery-play img { object-fit:cover; object-position:52% 52%; }

/* Portrait assets must not set the height of discovery cards. */
.home-prototype .home-discovery-image > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media(min-width:651px) and (max-width:1000px) {
 .home-prototype .home-discovery-copy { min-height:220px; justify-content:center; }
 .home-prototype .home-discovery-copy .text-link { margin-top:18px; }
}
@media(min-width:651px) and (max-width:1000px) {
 .home-prototype .home-explore-grid { grid-auto-rows:1fr; }
 .home-prototype .home-discovery-image { height:auto; min-height:0; align-self:stretch; }
 .home-prototype .home-discovery-image > img { position:absolute; inset:0; height:100%; width:100%; }
}/* Keep the discovery thumbnail focused on the app, below the marketing copy. */
.home-prototype .home-discovery-dashboard > img { object-position:center 35%; }
@media(max-width:1000px) {
 .home-prototype .home-discovery-dashboard > img { object-position:center bottom; }
}
/* The hero shows the app itself; the page carries the marketing message. */
.home-prototype .home-screen-crop { display:block; aspect-ratio:1242 / 2108; height:auto; overflow:hidden; }
.home-prototype .home-screen-crop > img { display:block; width:100%; max-width:none; height:auto; margin-top:-43.4783%; }
@media(min-width:651px) and (max-width:1000px) {
 .home-prototype .home-screen-second.home-screen-crop { display:none; }
}

/* Show complete phone cutouts in previews, with no sliced UI or marketing background. */
.home-prototype .home-discovery-dashboard { background:var(--sage); }
.home-prototype .home-discovery-dashboard > img { object-fit:contain; object-position:center; padding:12px; }
.home-prototype .home-personal-points { grid-template-columns:1fr; }
.home-prototype .home-personal-points strong, .home-prototype .home-personal-points span { display:block; }
.home-prototype .home-screen { box-shadow:none; }
.home-prototype .home-areas .home-section-heading { align-items:start; }
.home-prototype .home-areas .home-section-heading > div { flex:1; }
@media(max-width:650px) { .home-prototype .home-discovery-dashboard > img { padding:6px; } }
/* Keep the closing pitch on one shared centerline at every viewport width. */
.home-prototype .app-cta .cta-copy { width:100%; max-width:800px; }
.home-prototype .app-cta .cta-copy > h2 { text-wrap:balance; }
.home-prototype .app-cta .cta-copy > p { max-width:56ch; margin-inline:auto; font-size:16px; line-height:1.7; text-wrap:pretty; }

/* Approved advance notice for the held subscription release. */
.home-transition-notice { margin: 24px 0; padding: 18px 22px; border: 1px solid var(--border, #ddd8cf); border-left: 4px solid var(--green, #3d6b4f); border-radius: 12px; background: var(--surface, #faf8f5); color: var(--text, #1c1c1c); }
.home-transition-notice p { margin: 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
