.home-launch { padding: clamp(28px, 7vw, 76px) 0 72px; }
.home-intro { max-width: 820px; margin-bottom: 34px; }
.desire-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.desire-grid-live { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 920px; }
.desire-card { min-height: 230px; padding: 22px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,253,248,.84); text-decoration: none; }
.desire-card > span, .method-card > span, .evidence-block > span, .alternative > span, .first-action > span { display: block; margin-bottom: 18px; color: var(--green); font-size: .72rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.desire-card h2 { margin-bottom: 10px; font-size: clamp(1.25rem, 2.4vw, 1.7rem); }
.desire-card p { color: var(--muted); line-height: 1.48; }
.desire-card strong { display: block; margin-top: 22px; color: var(--green-dark); }
.desire-card.live { box-shadow: var(--shadow); transition: transform .15s ease, border-color .15s ease; }
.desire-card.live:hover { transform: translateY(-2px); border-color: #9fbcb0; }
.desire-card.accent { background: var(--ink); color: white; }
.desire-card.accent p { color: #c4d1cd; }
.desire-card.accent > span, .desire-card.accent strong { color: var(--lime); }
.desire-card.pending { opacity: .68; }
.desire-horizon { margin-top: 28px; padding: 26px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.46); }
.desire-horizon h2 { max-width: 760px; margin: 10px 0; font-size: clamp(1.45rem, 3vw, 2.25rem); }
.desire-horizon p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.55; }
.how-it-works { margin-top: 76px; padding-top: 38px; border-top: 1px solid var(--line); }
.how-it-works > h2 { max-width: 680px; }
.proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.proof-grid > div { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.42); }
.proof-grid b { color: var(--coral); }
.proof-grid h3 { margin-top: 18px; }
.proof-grid p { margin-bottom: 0; color: var(--muted); line-height: 1.5; }

.shell-wide { max-width: 920px; margin: 0 auto; padding: clamp(28px, 7vw, 76px) 0; }
.launch-landing { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(250px, .7fr); gap: 36px; align-items: start; }
.launch-landing h1 { margin-top: 22px; font-size: clamp(2.4rem, 6vw, 4.7rem); }
.recognition-list { display: grid; gap: 12px; margin: 28px 0 32px; padding: 0; list-style: none; }
.recognition-list li { position: relative; padding: 16px 18px 16px 48px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.58); line-height: 1.48; }
.recognition-list li::before { content: '✓'; position: absolute; left: 18px; top: 15px; color: var(--green); font-weight: 800; }
.method-card { position: sticky; top: 20px; padding: 24px; border-radius: 22px; background: var(--ink); color: white; box-shadow: var(--shadow); }
.method-card > span { color: var(--lime); }
.method-card strong { display: block; font-size: 1.35rem; line-height: 1.35; }
.method-card p { margin: 28px 0 0; color: #c4d1cd; font-size: .9rem; line-height: 1.55; }
.assessment-card { max-width: 690px; margin: 0 auto; }

.result-shell { max-width: 780px; }
.result-shell h1 { margin: 20px 0; font-size: clamp(2.5rem, 8vw, 5rem); }
.score-hero { display: flex; align-items: baseline; flex-wrap: wrap; margin: 30px 0; }
.score-hero strong { font-size: clamp(5rem, 22vw, 9rem); line-height: .8; letter-spacing: -.08em; }
.score-hero > span { margin-left: 10px; color: var(--muted); font-size: 1.8rem; }
.score-hero p { width: 100%; margin: 22px 0 0; color: var(--green); font-weight: 700; }
.subscore-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 28px 0; }
.subscore-grid > div { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.subscore-grid span { display: block; min-height: 38px; color: var(--muted); font-size: .8rem; }
.subscore-grid strong { display: block; margin-top: 8px; font-size: 1.8rem; }
.comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 18px; border-radius: 16px; background: var(--mint); }
.comparison strong { grid-column: 1 / -1; }
.evidence-block, .alternative, .first-action { margin: 26px 0; padding: 24px; border-radius: 18px; }
.evidence-block { border: 1px solid var(--line); background: white; }
.evidence-block ol { display: grid; gap: 14px; padding-left: 22px; }
.evidence-block li { padding-left: 8px; color: var(--muted); line-height: 1.48; }
.evidence-block q { display: block; }
.evidence-block strong { display: block; margin-top: 5px; color: var(--ink); }
.alternative { background: #f0eee6; }
.alternative p { margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.first-action { border: 1px solid #b6d4c5; background: #edf8f0; }
.first-action h2 { font-size: clamp(1.45rem, 4vw, 2.2rem); }
.feedback { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 24px 0; }
.feedback > span { margin-right: auto; font-weight: 700; }
.feedback button, .text-button { border: 0; background: transparent; color: var(--green-dark); padding: 10px; cursor: pointer; text-decoration: underline; }
.feedback button.selected { border-radius: 999px; background: var(--mint); text-decoration: none; }
.share-choice { display: flex; gap: 10px; align-items: flex-start; margin: 22px 0; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.share-choice input { margin-top: 3px; }
.share-name { display: grid; gap: 8px; margin: 22px 0; }
.share-name > span { font-weight: 700; color: var(--ink); }
.share-name small { color: var(--muted); font-weight: 500; }
.result-celebration { margin: 18px 0 26px; color: var(--muted); font-size: 1.02rem; line-height: 1.55; }
.result-celebration strong { color: var(--ink); }
.next-step-offer { margin: 28px 0; padding: 24px; border-radius: 20px; background: var(--ink); color: white; }
.next-step-offer > span { display: block; margin-bottom: 12px; color: var(--lime); font-size: .72rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.next-step-offer h2 { margin: 0 0 12px; color: white; font-size: clamp(1.45rem, 4vw, 2.1rem); }
.next-step-offer p { color: #c4d1cd; line-height: 1.55; }
.next-step-offer .primary { display: inline-flex; margin-top: 8px; }
.next-step-offer .text-button { color: #dff19b; }
.result-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.share-panel { margin-top: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 17px; background: white; }
.share-panel p { color: var(--muted); }
.challenge-invite h1 { margin: 28px 0 20px; }
.challenge-invite h1 small { color: var(--muted); font-size: .3em; letter-spacing: 0; }
.public-share ul { margin: 22px 0; padding-left: 20px; color: var(--muted); line-height: 1.7; }

@media (max-width: 860px) {
  .desire-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .launch-landing { grid-template-columns: 1fr; }
  .method-card { position: static; }
}

@media (max-width: 620px) {
  .desire-grid, .desire-grid-live, .proof-grid, .subscore-grid { grid-template-columns: 1fr; }
  .desire-card { min-height: 0; }
  .home-launch { padding-top: 24px; }
  .how-it-works { margin-top: 48px; }
  .recognition-list li { padding-left: 44px; }
  .result-actions > *, .share-panel .button-row > * { width: 100%; }
  .feedback > span { width: 100%; }
}

/* ProtoMatrix Daily */
.home-block { margin-top: 52px; }
.section-head { max-width: 760px; margin-bottom: 20px; }
.section-head h2 { margin: 8px 0 6px; font-size: clamp(1.55rem, 3vw, 2.5rem); }
.section-head p { color: var(--muted); line-height: 1.55; }
.daily-home { margin-top: 70px; }
.daily-hero-card { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 28px; border-radius: 24px; background: #edf8f0; border: 1px solid #b6d4c5; color: var(--ink); text-decoration: none; box-shadow: var(--shadow); }
.daily-hero-card > div { max-width: 680px; }
.daily-hero-card span { color: var(--green); font-size: .75rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.daily-hero-card h3 { margin: 10px 0; font-size: clamp(1.55rem, 3vw, 2.4rem); }
.daily-hero-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.daily-hero-card strong { white-space: nowrap; color: var(--green-dark); }
.daily-shell { max-width: 820px; }
.daily-title { margin-bottom: 24px; }
.daily-title h1 { margin: 10px 0; font-size: clamp(2.3rem, 7vw, 4.8rem); }
.daily-form { display: grid; gap: 24px; }
.daily-form label, #blocker-box label { display: grid; gap: 9px; }
.daily-form label > span, #blocker-box label > span, .field-title { font-weight: 730; }
.daily-form textarea, .daily-form select, #daily-blocker { width: 100%; box-sizing: border-box; border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: white; color: var(--ink); font: inherit; }
.daily-two { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.daily-scale { display: flex; gap: 8px; margin-top: 10px; }
.daily-scale button { width: 44px; height: 44px; border-radius: 14px; border: 1px solid var(--line); background: white; color: var(--ink); font-weight: 750; cursor: pointer; }
.daily-scale button.selected { border-color: var(--green); background: var(--mint); color: var(--green-dark); }
.daily-main-card { padding: 28px; border-radius: 24px; background: var(--ink); color: white; box-shadow: var(--shadow); }
.daily-main-card > span { color: var(--lime); font-size: .75rem; font-weight: 800; letter-spacing: .1em; }
.daily-main-card h2 { margin: 12px 0 18px; color: white; font-size: clamp(1.8rem, 5vw, 3.3rem); }
.daily-meta { display: flex; gap: 12px; flex-wrap: wrap; color: #c4d1cd; }
.daily-meta b { color: var(--lime); }
.daily-outcome-badge { display: inline-flex; margin-top: 22px; padding: 8px 12px; border-radius: 999px; background: rgba(223,241,155,.14); color: var(--lime); font-weight: 750; }
.focus-box, .daily-checkout, .daily-insight, .week-card { margin-top: 24px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.66); }
.focus-box { display: grid; gap: 18px; }
.focus-box h2, .daily-checkout h2, .daily-insight h2 { margin: 7px 0; }
.focus-box p, .daily-insight p { color: var(--muted); line-height: 1.55; }
.focus-buttons, .outcome-buttons { display: flex; gap: 10px; flex-wrap: wrap; }
.outcome-buttons button { flex: 1; min-width: 130px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: white; cursor: pointer; font-weight: 750; }
.outcome-buttons button.selected { border-color: var(--green); background: var(--mint); }
#blocker-box { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
#blocker-box .primary { margin-top: 14px; }
.focus-timer { display: flex; align-items: baseline; gap: 16px; padding: 20px; border-radius: 18px; background: #edf8f0; }
.focus-timer strong { font-size: clamp(2.5rem, 10vw, 5rem); line-height: 1; }
.focus-timer span { color: var(--muted); }
.week-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; margin-top: 16px; }
.week-day { display: grid; place-items: center; gap: 6px; min-height: 68px; border-radius: 14px; background: #f0eee6; }
.week-day span { color: var(--muted); font-size: .72rem; }
.week-day b { font-size: 1.3rem; }
.week-day.done { background: #edf8f0; }
.week-day.partial { background: #fbf3d7; }
.week-day.no { background: #f8e7e2; }
.daily-footer-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 22px 0 0; }

@media (max-width: 620px) {
  .daily-hero-card { align-items: flex-start; flex-direction: column; }
  .daily-two { grid-template-columns: 1fr; }
  .week-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .focus-timer { align-items: flex-start; flex-direction: column; }
}


/* Root v2: deep explanatory pages and direction map */
.root-v2-hero { padding-bottom: 1.25rem; }
.root-v2-hero .hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.25rem; }
.direction-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.direction-grid a { display:flex; flex-direction:column; gap:8px; min-height:190px; padding:22px; border:1px solid var(--line,#d8d8d8); border-radius:20px; text-decoration:none; color:inherit; background:var(--surface,#fff); }
.direction-grid a:hover { transform:translateY(-2px); }
.direction-grid span { font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; opacity:.62; }
.direction-grid strong { font-size:1.25rem; line-height:1.1; }
.direction-grid p { margin:0; opacity:.75; line-height:1.45; }
.deep-page { display:flex; flex-direction:column; gap:34px; padding-top:42px; padding-bottom:72px; }
.deep-hero { max-width:900px; }
.deep-hero h1 { max-width:880px; }
.deep-recognition { max-width:980px; padding:28px; }
.deep-recognition h2 { margin:.5rem 0 0; max-width:850px; font-size:clamp(1.45rem,3vw,2.25rem); line-height:1.2; }
.deep-section { max-width:1080px; }
.deep-section > h2 { max-width:760px; }
.mechanism-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.mechanism-grid > div { padding:20px; border:1px solid var(--line,#d8d8d8); border-radius:18px; background:rgba(255,255,255,.55); }
.mechanism-grid b { opacity:.45; font-size:.8rem; }
.mechanism-grid p { margin:10px 0 0; line-height:1.45; }
.deep-split { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr); gap:18px; align-items:stretch; max-width:1080px; }
.deep-split > div, .deep-quote { padding:26px; border-radius:20px; border:1px solid var(--line,#d8d8d8); }
.deep-quote { display:flex; flex-direction:column; gap:12px; justify-content:center; font-size:1.05rem; }
.deep-quote q { opacity:.65; }
.deep-quote strong { font-size:1.25rem; line-height:1.25; }
.deep-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; list-style-position:inside; padding:0; margin:18px 0 0; }
.deep-checks li { padding:20px; border:1px solid var(--line,#d8d8d8); border-radius:18px; line-height:1.45; }
.deep-action { max-width:960px; }
.deep-next { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px; border-radius:22px; background:#111; color:#fff; max-width:1080px; }
.deep-next > div { max-width:700px; }
.deep-next p { opacity:.78; margin-bottom:0; }
.deep-next .primary { flex:0 0 auto; }
.deep-product-note { max-width:900px; padding-top:8px; border-top:1px solid var(--line,#d8d8d8); }
.deep-product-note p { line-height:1.6; }
@media (max-width: 900px) {
  .direction-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mechanism-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .deep-split { grid-template-columns:1fr; }
  .deep-checks { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .direction-grid, .mechanism-grid { grid-template-columns:1fr; }
  .direction-grid a { min-height:auto; }
  .deep-page { gap:26px; padding-top:26px; }
  .deep-next { flex-direction:column; align-items:stretch; }
}
