:root { --bg: #f7f4ec; --bg-soft: #fffdf9; --surface: #ffffff; --surface-alt: #f2f7f4; --surface-sand: #fff7e7; --surface-coral: #fff1ec; --surface-blue: #eef6fb; --surface-lilac: #f2efff; --ink: #17343b; --ink-soft: #456068; --ink-muted: #647a82; --line: #d8e3df; --line-strong: #c7d8d1; --brand: #2b8c7f; --brand-deep: #1f6f66; --accent: #ed8b5b; --accent-deep: #cf6f43; --gold: #f2b84b; --shadow-sm: 0 8px 24px rgba(23, 52, 59, 0.06); --shadow-md: 0 14px 40px rgba(23, 52, 59, 0.09); --radius-xs: 10px; --radius-sm: 16px; --radius-md: 22px; --radius-lg: 30px; --container: 1180px; --space-1: 0.5rem; --space-2: 0.85rem; --space-3: 1.1rem; --space-4: 1.5rem; --space-5: 2rem; --space-6: 2.8rem; --space-7: 4rem; --space-8: 5.5rem; } *, *::before, *::after { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: radial-gradient(circle at top left, rgba(43,140,127,0.08), transparent 28%), radial-gradient(circle at top right, rgba(242,184,75,0.10), transparent 30%), linear-gradient(180deg, #faf7f0 0%, #f7f4ec 100%); line-height: 1.65; } img { max-width: 100%; display: block; } a { color: var(--brand-deep); text-decoration-thickness: 1px; text-underline-offset: 2px; } .visually-hidden { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; overflow: hidden; white-space: nowrap; } .site-wrap { min-height: 100vh; } .announcement { background: linear-gradient(90deg, var(--brand-deep), #246d73); color: white; text-align: center; padding: 0.7rem 1rem; font-size: 0.95rem; letter-spacing: 0.01em; } .announcement a { color: white; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.5); } .site-header { position: sticky; top: 0; z-index: 60; backdrop-filter: blur(10px); background: rgba(255, 253, 249, 0.9); border-bottom: 1px solid rgba(199, 216, 209, 0.8); } .nav { max-width: calc(var(--container) + 3rem); margin: 0 auto; padding: 0.9rem 1.5rem; display: flex; align-items: center; gap: 1.2rem; } .brand { display: flex; align-items: center; gap: 0.9rem; text-decoration: none; color: inherit; min-width: 0; } .brand img { height: 42px; width: auto; } .brand-copy { display: flex; flex-direction: column; gap: 0.08rem; } .brand-copy strong { font-size: 1.05rem; letter-spacing: -0.01em; } .brand-copy span { font-size: 0.82rem; color: var(--ink-muted); } .nav-toggle { display: none; border: 1px solid var(--line); background: white; color: var(--ink); border-radius: 999px; padding: 0.6rem 0.8rem; margin-left: auto; } .nav-links { display: flex; gap: 1rem; margin-left: auto; align-items: center; flex-wrap: wrap; } .nav-links a { text-decoration: none; color: var(--ink-soft); font-weight: 600; padding: 0.55rem 0.9rem; border-radius: 999px; transition: background .2s ease, color .2s ease, transform .2s ease; } .nav-links a:hover, .nav-links a[aria-current="page"] { background: rgba(43,140,127,0.10); color: var(--brand-deep); } .nav-cta { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.78rem 1.15rem; background: linear-gradient(180deg, var(--gold), #eca72d); color: #2d2a22 !important; box-shadow: var(--shadow-sm); } .nav-cta:hover { transform: translateY(-1px); } .container { max-width: var(--container); margin: 0 auto; padding: 0 1.5rem; } main .container { padding-top: var(--space-7); padding-bottom: var(--space-7); } section { margin-bottom: var(--space-8); } .eyebrow, .pill { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.55rem 0.9rem; border-radius: 999px; background: rgba(43,140,127,0.10); color: var(--brand-deep); font-size: 0.92rem; font-weight: 800; letter-spacing: 0.02em; text-transform: uppercase; } .pill-row, .chip-row, .stats-row, .button-row, .path-cta { display: flex; gap: 0.9rem; flex-wrap: wrap; } .hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr); gap: 2rem; align-items: stretch; } .hero-copy, .hero-visual { background: rgba(255,255,255,0.72); border: 1px solid rgba(199,216,209,0.78); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: clamp(1.6rem, 3vw, 2.7rem); position: relative; overflow: hidden; } .hero-copy::before, .hero-visual::before { content: ""; position: absolute; inset: auto auto -40px -40px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(43,140,127,0.12), transparent 65%); pointer-events: none; } .hero-title { font-size: clamp(2.4rem, 6vw, 4.5rem); line-height: 1.03; margin: 1rem 0 1rem; letter-spacing: -0.04em; max-width: 12ch; } .hero-subtitle { font-size: clamp(1.08rem, 2vw, 1.32rem); color: var(--ink-soft); max-width: 58ch; margin-bottom: 1.2rem; } .hero-small { color: var(--ink-muted); max-width: 58ch; margin-bottom: 1.5rem; } .button-row { margin-top: 1.5rem; } .button, button.button { appearance: none; border: 0; border-radius: 999px; padding: 0.95rem 1.3rem; font-weight: 800; letter-spacing: 0.01em; text-decoration: none; display: inline-flex; gap: 0.55rem; align-items: center; justify-content: center; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; } .button:hover, button.button:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); } .button-primary { color: white; background: linear-gradient(180deg, var(--brand), var(--brand-deep)); } .button-secondary { color: var(--ink); background: white; border: 1px solid var(--line-strong); } .button-tertiary { color: var(--brand-deep); background: rgba(43,140,127,0.10); } .button-warning { color: #34250d; background: linear-gradient(180deg, #f6c65d, #e9aa31); } .chip { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 0.8rem; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,0.88); color: var(--ink-soft); font-size: 0.95rem; font-weight: 700; } .kicker { font-size: 0.95rem; color: var(--ink-muted); text-transform: uppercase; letter-spacing: 0.04em; font-weight: 800; } .section-header { display: grid; gap: 0.9rem; margin-bottom: 1.8rem; max-width: 72ch; } .section-title { margin: 0; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -0.03em; } .section-lead { color: var(--ink-soft); font-size: 1.08rem; margin: 0; max-width: 64ch; } .grid-2, .grid-3, .grid-4, .grid-5, .cards-grid, .freebie-grid, .principles-grid { display: grid; gap: 1.2rem; } .grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); } .grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); } .grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); } .grid-5 { grid-template-columns: repeat(5, minmax(0,1fr)); } .cards-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } .freebie-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } .principles-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .card, .feature-card, .path-card, .freebie-card, .metric-card, .step-card, .sign-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 1.35rem; box-shadow: var(--shadow-sm); min-width: 0; } .card h3, .feature-card h3, .path-card h3, .freebie-card h3, .metric-card h3, .step-card h3, .sign-card h3 { margin: 0 0 0.6rem; font-size: 1.2rem; line-height: 1.2; letter-spacing: -0.02em; } .card p, .feature-card p, .path-card p, .freebie-card p, .metric-card p, .step-card p, .sign-card p, .path-card li { color: var(--ink-soft); } .path-card { display: flex; flex-direction: column; gap: 0.7rem; background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(242,247,244,0.92)); } .path-card ul { margin: 0; padding-left: 1.05rem; display: grid; gap: 0.5rem; } .feature-card.tint-green { background: linear-gradient(180deg, var(--surface), #f0faf7); } .feature-card.tint-sand { background: linear-gradient(180deg, var(--surface), #fff9ef); } .feature-card.tint-coral { background: linear-gradient(180deg, var(--surface), #fff3ef); } .feature-card.tint-blue { background: linear-gradient(180deg, var(--surface), #eff7fb); } .feature-card.tint-lilac { background: linear-gradient(180deg, var(--surface), #f4f1ff); } .icon-badge { width: 50px; height: 50px; border-radius: 16px; display: inline-grid; place-items: center; background: rgba(43,140,127,0.12); color: var(--brand-deep); font-weight: 900; margin-bottom: 0.9rem; font-size: 1.15rem; } .hero-stack { display: grid; gap: 1rem; height: 100%; } .hero-panel { border-radius: 24px; padding: 1.2rem; border: 1px solid rgba(199,216,209,0.9); display: grid; gap: 0.65rem; background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,244,0.96)); position: relative; overflow: hidden; } .hero-panel::after { content: ""; position: absolute; inset: auto -40px -40px auto; width: 150px; height: 150px; background: radial-gradient(circle, rgba(237,139,91,0.14), transparent 70%); pointer-events: none; } .hero-panel img { width: 72px; height: 72px; object-fit: contain; } .hero-panel .mini-title { font-size: 1.02rem; font-weight: 800; letter-spacing: -0.02em; } .hero-panel .mini-copy { color: var(--ink-soft); font-size: 0.96rem; margin: 0; } .hero-grid-2 { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); } .hero-note { padding: 0.9rem 1rem; border-radius: 18px; background: linear-gradient(180deg, rgba(255,247,231,0.98), rgba(255,241,230,0.98)); border: 1px solid rgba(232,201,156,0.75); color: #6a4a21; font-weight: 700; } .stats-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; } .metric-card strong { display: block; font-size: 1.55rem; letter-spacing: -0.03em; margin-bottom: 0.35rem; } .metric-card span { display: block; color: var(--ink-soft); } .inline-list { display: grid; gap: 0.6rem; margin: 0; padding-left: 1.15rem; } .notice, .callout, .truth-box, .info-box { border-radius: var(--radius-md); padding: 1.2rem 1.3rem; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,246,0.94)); } .truth-box { background: linear-gradient(180deg, #fff7eb, #fff0e2); border-color: #efd8b7; } .info-box { background: linear-gradient(180deg, #edf7fb, #f6fbfd); } .callout { background: linear-gradient(180deg, #f3f8f5, #edf7f2); } .cta-band { background: linear-gradient(135deg, rgba(33,102,93,0.96), rgba(24,60,67,0.97)); color: white; border-radius: var(--radius-lg); padding: clamp(1.5rem, 4vw, 2.6rem); display: grid; gap: 1rem; grid-template-columns: minmax(0,1.2fr) minmax(280px,0.8fr); align-items: center; box-shadow: var(--shadow-md); } .cta-band p { color: rgba(255,255,255,0.88); margin: 0; } .cta-band .button-secondary { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.24); color: white; } .cta-band .button-warning { box-shadow: none; } .footer { border-top: 1px solid rgba(199,216,209,0.75); background: rgba(255,253,249,0.86); padding: 3rem 0 2.5rem; } .footer-grid { display: grid; gap: 1.6rem; grid-template-columns: minmax(0,1.2fr) repeat(3, minmax(0,0.9fr)); } .footer h3 { font-size: 1rem; margin: 0 0 0.6rem; } .footer p, .footer li, .footer a { color: var(--ink-soft); font-size: 0.97rem; } .footer ul { margin: 0; padding-left: 1rem; display: grid; gap: 0.45rem; } .footer-brand { max-width: 34ch; } .footer-note { border-top: 1px solid rgba(199,216,209,0.6); margin-top: 1.8rem; padding-top: 1rem; color: var(--ink-muted); font-size: 0.9rem; } .page-hero { display: grid; gap: 1rem; max-width: 74ch; margin-bottom: 2.3rem; } .page-hero .section-title { margin: 0; } .page-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px, 360px); gap: 1.4rem; align-items: start; } .sticky-column { position: sticky; top: 100px; display: grid; gap: 1rem; } .catalog-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); } .catalog-card { display: grid; gap: 0.8rem; padding: 1.3rem; border-radius: var(--radius-md); border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow-sm); } .catalog-card .meta { display: flex; gap: 0.45rem; flex-wrap: wrap; } .catalog-card .meta span { padding: 0.34rem 0.6rem; border-radius: 999px; background: rgba(43,140,127,0.10); font-size: 0.82rem; font-weight: 700; color: var(--brand-deep); } .catalog-card p { margin: 0; color: var(--ink-soft); } .freebie-sheet { max-width: 880px; margin: 0 auto; background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow-sm); padding: 1.4rem; } .freebie-header { display: grid; gap: 0.9rem; margin-bottom: 1.2rem; } .freebie-sheet h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -0.04em; margin: 0; } .worksheet-box, .input-card { border: 1px solid var(--line); border-radius: 20px; padding: 1rem; background: linear-gradient(180deg, rgba(255,255,255,1), rgba(247,250,248,1)); } .worksheet-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); } .prompt-grid { display: grid; gap: 0.75rem; grid-template-columns: repeat(3, minmax(0,1fr)); } .prompt-button, .choice-button { border: 1px solid var(--line); background: white; border-radius: 18px; padding: 0.95rem; text-align: left; font: inherit; color: var(--ink); cursor: pointer; transition: background .2s ease, transform .2s ease, border-color .2s ease; } .prompt-button:hover, .choice-button:hover { transform: translateY(-1px); background: rgba(43,140,127,0.06); border-color: rgba(43,140,127,0.26); } .prompt-button.active, .choice-button.active { background: rgba(43,140,127,0.10); border-color: rgba(43,140,127,0.45); } .output-box { min-height: 88px; padding: 0.95rem 1rem; border-radius: 18px; background: var(--surface-alt); border: 1px solid var(--line); color: var(--ink); } .check-grid { display: grid; gap: 0.8rem; } .check-item { display: flex; gap: 0.8rem; align-items: start; padding: 0.85rem 0.9rem; border-radius: 16px; border: 1px solid var(--line); background: white; } .check-item input { width: 20px; height: 20px; accent-color: var(--brand); margin-top: 0.15rem; } .line-space { border-bottom: 2px dashed var(--line-strong); min-height: 2.1rem; margin-top: 0.6rem; } .print-bar { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin: 1rem auto 1.2rem; max-width: 880px; } .small-note { color: var(--ink-muted); font-size: 0.92rem; } .emphasis { font-weight: 800; color: var(--brand-deep); } .split-callout { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); } .table-list { width: 100%; border-collapse: collapse; } .table-list th, .table-list td { padding: 0.9rem; border-top: 1px solid var(--line); text-align: left; } .table-list th { color: var(--ink-soft); font-size: 0.9rem; } .table-list td { color: var(--ink); vertical-align: top; } .form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); } .field { display: grid; gap: 0.35rem; } .field label { font-weight: 700; color: var(--ink); } .field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: 16px; padding: 0.9rem 1rem; font: inherit; color: var(--ink); background: white; } .field textarea { min-height: 130px; resize: vertical; } .full-span { grid-column: 1 / -1; } .badge-list { display: flex; flex-wrap: wrap; gap: 0.55rem; } .badge-list span { padding: 0.35rem 0.62rem; border-radius: 999px; background: rgba(43,140,127,0.10); color: var(--brand-deep); font-size: 0.82rem; font-weight: 800; } .research-rail { display: grid; gap: 1rem; } .research-point { border-left: 4px solid rgba(43,140,127,0.34); padding-left: 1rem; } .skip-link { position: absolute; left: -999px; top: -999px; } .skip-link:focus { left: 1rem; top: 1rem; z-index: 100; background: white; padding: 0.8rem 1rem; border-radius: 12px; } @media (max-width: 1080px) { .hero, .cta-band, .footer-grid, .page-layout, .grid-5, .stats-strip { grid-template-columns: 1fr; } .grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); } .grid-3, .cards-grid, .freebie-grid, .catalog-grid, .prompt-grid, .form-grid { grid-template-columns: 1fr; } .grid-2, .split-callout, .principles-grid, .worksheet-grid { grid-template-columns: 1fr; } .sticky-column { position: static; } } @media (max-width: 760px) { .nav { flex-wrap: wrap; } .nav-toggle { display: inline-flex; align-items: center; justify-content: center; } .nav-links { display: none; width: 100%; padding-top: 0.4rem; flex-direction: column; align-items: stretch; } .nav-links.open { display: flex; } .nav-links a { text-align: center; } main .container { padding-top: var(--space-6); padding-bottom: var(--space-6); } .hero-title { max-width: 100%; } .hero-grid-2 { grid-template-columns: 1fr; } .grid-4 { grid-template-columns: 1fr; } .print-bar { flex-direction: column; align-items: stretch; } } @media print { body { background: white; } .site-header, .announcement, .footer, .print-bar, .cta-band, .no-print { display: none !important; } main .container { padding: 0; } .freebie-sheet { max-width: none; border: none; box-shadow: none; padding: 0; } .worksheet-box, .input-card, .check-item, .output-box { break-inside: avoid; } } /* --- Next-level expansion styles --- */ .hero-slab { background: linear-gradient(180deg, rgba(255,255,255,0.90), rgba(243,248,244,0.88)); border: 1px solid rgba(199,216,209,0.88); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: clamp(1.2rem, 2vw, 1.6rem); } .hero-quick-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0,1fr)); } .mini-feature { border-radius: 22px; padding: 1.1rem; min-height: 170px; border: 1px solid rgba(199,216,209,0.88); background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(243,248,244,0.96)); position: relative; overflow: hidden; display: grid; align-content: start; gap: 0.55rem; } .mini-feature::after { content: ""; position: absolute; right: -28px; bottom: -30px; width: 120px; height: 120px; border-radius: 999px; background: radial-gradient(circle, rgba(43,140,127,0.11), transparent 64%); } .mini-feature .feature-icon { width: 52px; height: 52px; border-radius: 16px; display: inline-grid; place-items: center; background: rgba(43,140,127,0.12); color: var(--brand-deep); font-weight: 900; font-size: 1.35rem; } .mini-feature h3 { margin: 0; font-size: 1.06rem; letter-spacing: -0.02em; } .mini-feature p { margin: 0; color: var(--ink-soft); font-size: 0.96rem; } .helper-strip { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0,1fr)); } .helper-card { background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,246,0.93)); border: 1px solid var(--line); border-radius: 22px; padding: 1.15rem; box-shadow: var(--shadow-sm); } .helper-card h3 { margin: 0 0 .45rem; font-size: 1.03rem; } .helper-card p { margin: 0; color: var(--ink-soft); } .route-button-grid, .category-grid, .preview-grid, .audience-grid, .plan-grid, .route-grid, .freebie-rail { display: grid; gap: 1rem; } .route-button-grid { grid-template-columns: repeat(4, minmax(0,1fr)); } .category-grid { grid-template-columns: repeat(4, minmax(0,1fr)); } .preview-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } .audience-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } .plan-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } .route-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .freebie-rail { grid-template-columns: repeat(2, minmax(0,1fr)); } .route-button, .tag, .meta-pill { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; border-radius: 999px; border: 1px solid var(--line-strong); background: white; padding: .8rem 1rem; text-decoration: none; color: var(--ink); font-weight: 800; line-height: 1.2; } .route-button:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); background: rgba(43,140,127,0.06); } .tag-row { display: flex; flex-wrap: wrap; gap: .55rem; } .tag { min-height: 0; padding: .38rem .7rem; font-size: .82rem; font-weight: 800; justify-content: flex-start; } .meta-pill { min-height: 0; padding: .42rem .72rem; font-size: .84rem; background: rgba(43,140,127,0.10); border-color: rgba(43,140,127,0.16); color: var(--brand-deep); } .route-box, .preview-card, .audience-card, .plan-card, .timeline-card, .route-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 1.25rem; box-shadow: var(--shadow-sm); } .route-card { display: grid; gap: .8rem; } .route-card h3, .preview-card h3, .audience-card h3, .plan-card h3, .timeline-card h3 { margin: 0; letter-spacing: -0.02em; } .route-card p, .preview-card p, .audience-card p, .plan-card p, .timeline-card p { margin: 0; color: var(--ink-soft); } .route-card ul, .timeline-card ul, .preview-card ul, .audience-card ul, .plan-card ul { margin: 0; padding-left: 1.05rem; display: grid; gap: .45rem; } .route-box { background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,247,0.95)); } .route-box h2 { margin-top: 0; font-size: 1.5rem; } .route-box .route-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; } .page-jump { display: flex; flex-wrap: wrap; gap: .7rem; } .big-stat { font-size: clamp(1.9rem, 5vw, 3rem); line-height: 1; letter-spacing: -0.04em; margin: 0; } .connection-banner { display: grid; gap: 1rem; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); background: linear-gradient(135deg, rgba(255,249,237,0.96), rgba(255,241,230,0.95)); border: 1px solid #efd8b7; border-radius: var(--radius-lg); padding: clamp(1.5rem, 4vw, 2.3rem); box-shadow: var(--shadow-sm); } .connection-banner p { margin: 0; color: #67482a; } .connection-banner .button-secondary { background: white; } .kit-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0,1fr)); } .kit-card { background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(240,247,244,0.96)); border: 1px solid var(--line); border-radius: 24px; padding: 1.15rem; box-shadow: var(--shadow-sm); } .kit-card h3 { margin: 0 0 .55rem; font-size: 1.02rem; } .kit-card p { margin: 0; color: var(--ink-soft); } .simple-table { width: 100%; border-collapse: collapse; background: white; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; box-shadow: var(--shadow-sm); } .simple-table th, .simple-table td { padding: .95rem 1rem; border-top: 1px solid var(--line); text-align: left; vertical-align: top; } .simple-table th { background: rgba(43,140,127,0.08); color: var(--brand-deep); font-size: .92rem; } .simple-table td { color: var(--ink-soft); } .highlight-box { border-radius: var(--radius-md); padding: 1.2rem 1.3rem; background: linear-gradient(180deg, rgba(243,248,245,0.98), rgba(237,245,241,0.96)); border: 1px solid var(--line); } .highlight-box h3 { margin-top: 0; } .copy-callout { display: grid; gap: .65rem; } .preview-card .button-row, .route-card .button-row, .plan-card .button-row { margin-top: .4rem; } .note-list { display: grid; gap: .65rem; margin: 0; padding-left: 1.05rem; } .section-divider { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.3rem; } .section-divider::before, .section-divider::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--line); } .section-divider span { color: var(--ink-muted); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: .9rem; } .microcopy { color: var(--ink-muted); font-size: .92rem; } .hero-copy .microproof { display: grid; gap: .65rem; margin-top: 1.1rem; } .microproof-item { display: flex; align-items: start; gap: .75rem; } .microproof-item strong { display: block; } .microproof-item p { margin: .1rem 0 0; color: var(--ink-soft); } .number-badge { width: 34px; height: 34px; border-radius: 999px; background: rgba(43,140,127,0.12); color: var(--brand-deep); display: inline-grid; place-items: center; font-weight: 900; flex: 0 0 34px; } .faq-grid { display: grid; gap: 1rem; } .faq-item { background: white; border: 1px solid var(--line); border-radius: 20px; padding: 1.15rem; box-shadow: var(--shadow-sm); } .faq-item h3 { margin-top: 0; font-size: 1.06rem; } .footer .footer-eyebrow { display: inline-block; color: var(--ink-muted); text-transform: uppercase; letter-spacing: .04em; font-size: .82rem; margin-bottom: .45rem; font-weight: 800; } @media (max-width: 1080px) { .hero-quick-grid, .helper-strip, .route-button-grid, .category-grid, .preview-grid, .audience-grid, .plan-grid, .route-grid, .kit-grid, .freebie-rail, .connection-banner { grid-template-columns: 1fr; } } /* --- polished homeschool-first additions --- */ .hero-badge-row { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1rem; } .hero-badge { background: rgba(255,255,255,.88); border:1px solid var(--line); border-radius:999px; padding:.55rem .85rem; font-weight:700; color: var(--ink-soft); font-size:.93rem; } .photo-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; } .photo-tile { position:relative; min-height: 190px; border-radius: 24px; border:1px solid rgba(199,216,209,.9); overflow:hidden; background: linear-gradient(160deg, rgba(43,140,127,.14), rgba(255,255,255,.86) 48%, rgba(237,139,91,.18)), linear-gradient(180deg, #f7fbf8, #fff8ef); box-shadow: var(--shadow-sm); padding:1rem; display:flex; flex-direction:column; justify-content:space-between; } .photo-tile::before { content:"Photo placeholder"; position:absolute; top:.9rem; right:.9rem; font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color: rgba(23,52,59,.55); background: rgba(255,255,255,.75); padding:.35rem .55rem; border-radius:999px; border:1px solid rgba(199,216,209,.85); } .photo-tile strong { font-size:1.08rem; line-height:1.2; max-width: 14ch; } .photo-tile p { margin:0; color: var(--ink-soft); font-size:.95rem; } .photo-tile.small { min-height: 155px; } .photo-tile.wide { min-height: 220px; } .photo-note { font-size:.88rem; color: var(--ink-muted); margin-top:.75rem; } .proof-strip { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:1rem; } .proof-card { background: rgba(255,255,255,.82); border:1px solid var(--line); border-radius:20px; padding:1.1rem; box-shadow: var(--shadow-sm); } .proof-card strong { display:block; margin-bottom:.35rem; font-size:1.02rem; } .proof-card p { margin:0; color: var(--ink-soft); font-size:.96rem; } .section-surface { background: rgba(255,255,255,.55); border: 1px solid rgba(199,216,209,.7); border-radius: 30px; padding: clamp(1.2rem, 3vw, 2rem); } .sample-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:1rem; } .sample-card { background: var(--surface); border:1px solid var(--line); border-radius: 22px; padding: 1.2rem; box-shadow: var(--shadow-sm); display:grid; gap:.8rem; } .sample-card .meta, .tiny-meta, .tag-row, .social-row, .path-tags { display:flex; gap:.5rem; flex-wrap:wrap; } .sample-card .meta span, .tiny-meta span, .meta-pill, .path-tags span { padding:.34rem .62rem; border-radius:999px; font-size:.8rem; font-weight:700; background: rgba(43,140,127,.10); color: var(--brand-deep); } .sample-card h3 { margin:0; font-size:1.18rem; } .sample-card p { margin:0; color:var(--ink-soft); } .mini-link-list { display:grid; gap:.55rem; margin:0; padding-left:1rem; } .mini-link-list a { font-weight:700; } .social-callout { display:grid; grid-template-columns: minmax(0,1.15fr) minmax(280px,.85fr); gap:1.2rem; align-items:stretch; } .social-box { background: linear-gradient(180deg, #ffffff, #f4f8f6); border:1px solid var(--line); border-radius: 24px; padding: 1.25rem; box-shadow: var(--shadow-sm); } .social-box h3 { margin-top:0; } .social-pill { padding:.45rem .7rem; border-radius:999px; border:1px solid var(--line); background:#fff; font-weight:700; font-size:.88rem; } .quote-card { background: linear-gradient(180deg, #eff7fb, #ffffff); border:1px solid #d5e7f2; border-radius: 22px; padding: 1.25rem; } .quote-card p:last-child { margin-bottom:0; } .start-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; } .start-card { padding:1.15rem; border-radius:22px; border:1px solid var(--line); background:white; box-shadow:var(--shadow-sm); display:grid; gap:.7rem; } .start-card h3 { margin:0; } .pathway-list { display:grid; gap:.7rem; margin:0; padding-left:1rem; } .route-grid { display:grid; gap: .85rem; grid-template-columns: repeat(4, minmax(0,1fr)); } .route-card { border:1px solid var(--line); background:white; border-radius:20px; padding:1rem; box-shadow: var(--shadow-sm); } .route-card h3 { margin:.2rem 0 .4rem; font-size:1.03rem; } .route-card p { margin:0; color: var(--ink-soft); font-size:.95rem; } .section-banner { display:grid; gap:1.1rem; align-items:center; grid-template-columns: minmax(0,1fr) minmax(260px,.82fr); background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(243,248,244,.92)); border:1px solid rgba(199,216,209,.9); border-radius: 28px; padding: clamp(1.2rem, 3vw, 2rem); } .section-banner .section-title { font-size: clamp(1.8rem, 4vw, 2.6rem); } .link-cluster { display:flex; gap:.8rem; flex-wrap:wrap; } .inline-cta { display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1rem; } .sample-note { color: var(--ink-muted); font-size:.94rem; margin-top: .8rem; } .homeschool-rhythm { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; } .rhythm-card { background:white; border:1px solid var(--line); border-radius:22px; padding:1.1rem; box-shadow:var(--shadow-sm); } .rhythm-card h3 { margin-top:0; } .steps-list { display:grid; gap:.8rem; margin:0; padding-left:1.1rem; } .trust-list { display:grid; gap:.65rem; margin:0; padding-left:1.1rem; } .note-panel { background: linear-gradient(180deg, #fff7eb, #fffdfa); border:1px solid #efd9ba; border-radius:22px; padding:1rem 1.1rem; } .signup-choice-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; } .choice-card { background:white; border:1px solid var(--line); border-radius:24px; padding:1.25rem; box-shadow: var(--shadow-sm); display:grid; gap:.8rem; } .choice-card h3 { margin:0; } .choice-card .button { width:100%; } .service-placeholder { border:2px dashed rgba(43,140,127,.28); border-radius:24px; padding:1rem 1.1rem; background: rgba(43,140,127,.04); color: var(--ink-soft); } .page-subnav { display:flex; gap:.6rem; flex-wrap:wrap; margin: 1rem 0 0; } .page-subnav a { text-decoration:none; font-weight:700; background:rgba(43,140,127,.08); color: var(--brand-deep); border-radius:999px; padding:.5rem .75rem; } .footer-links-inline { display:flex; gap:.7rem; flex-wrap:wrap; margin-top:1rem; } .research-badge-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:1rem; } .research-badge { background:white; border:1px solid var(--line); border-radius:22px; padding:1rem 1.05rem; box-shadow: var(--shadow-sm); } .research-badge strong { display:block; margin-bottom:.35rem; } .research-badge p { margin:0; color: var(--ink-soft); } .home-lead-list { display:grid; gap:.6rem; margin:0; padding-left:1.1rem; } .panel-stack { display:grid; gap:1rem; } .muted { color: var(--ink-muted); } @media (max-width: 1100px) { .proof-strip, .route-grid, .research-badge-grid, .start-grid, .homeschool-rhythm, .signup-choice-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .social-callout, .section-banner { grid-template-columns: 1fr; } } @media (max-width: 820px) { .photo-grid, .sample-grid, .proof-strip, .start-grid, .route-grid, .research-badge-grid, .homeschool-rhythm, .signup-choice-grid { grid-template-columns: 1fr; } .proof-strip { gap:.8rem; } } /* --- final swarm polish additions --- */ .hero-media img, .placeholder-figure img { width: 100%; height: auto; border-radius: 26px; border: 1px solid rgba(199,216,209,.88); box-shadow: var(--shadow-sm); background: white; } .hero-signal-grid, .start-now-grid, .audience-choices, .plan-steps, .link-card-grid, .compare-grid, .faq-stack, .story-grid { display: grid; gap: 1rem; } .hero-signal-grid { grid-template-columns: repeat(3, minmax(0,1fr)); margin-top: 1rem; } .start-now-grid { grid-template-columns: repeat(4, minmax(0,1fr)); } .audience-choices { grid-template-columns: repeat(3, minmax(0,1fr)); } .plan-steps { grid-template-columns: repeat(3, minmax(0,1fr)); } .link-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .compare-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .story-grid { grid-template-columns: minmax(0,1.05fr) minmax(300px,.95fr); align-items: stretch; } .signal-card, .link-card, .side-card, .note-card, .story-card { background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,246,.94)); border: 1px solid var(--line); border-radius: 24px; padding: 1.15rem; box-shadow: var(--shadow-sm); } .signal-card strong, .side-card strong, .note-card strong { display:block; margin-bottom:.35rem; font-size:1.02rem; } .signal-card p, .side-card p, .note-card p, .link-card p, .story-card p { margin:0; color: var(--ink-soft); } .link-card h3, .story-card h3 { margin:0 0 .45rem; } .kicker-row { display:flex; flex-wrap:wrap; gap:.55rem; margin: 0 0 1rem; } .kicker-row span { padding:.42rem .68rem; border-radius:999px; background: rgba(43,140,127,.08); color: var(--brand-deep); font-size:.85rem; font-weight:800; } .side-card .button, .note-card .button { width: 100%; } .sticky-column .side-card + .side-card { margin-top: .1rem; } .section-shell { background: rgba(255,255,255,.58); border: 1px solid rgba(199,216,209,.68); border-radius: 30px; padding: clamp(1.2rem, 3vw, 2rem); } .faq-stack details { background:white; border:1px solid var(--line); border-radius:20px; padding: 1rem 1.1rem; box-shadow: var(--shadow-sm); } .faq-stack summary { cursor:pointer; font-weight:800; color: var(--ink); list-style:none; } .faq-stack summary::-webkit-details-marker { display:none; } .faq-stack details p, .faq-stack details li { color: var(--ink-soft); } .feature-list, .note-list-tight, .story-list { display:grid; gap:.6rem; margin:0; padding-left:1.1rem; } .story-card { display:grid; gap:.85rem; } .micro-stat { font-size:.92rem; color: var(--ink-muted); font-weight:700; } .ribbon-band { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1rem; } .ribbon-band span { display:inline-flex; align-items:center; padding:.55rem .8rem; border-radius:999px; background: rgba(255,255,255,.86); border:1px solid var(--line); color: var(--ink-soft); font-weight:700; font-size:.92rem; } .cta-card { background: linear-gradient(135deg, rgba(255,249,237,0.96), rgba(255,241,230,0.95)); border: 1px solid #efd8b7; border-radius: 24px; padding: 1.15rem; } .cta-card p { margin: 0 0 1rem; color: #67482a; } .hero-copy .button-row { margin-top: 1.15rem; } .story-photo { display:grid; gap:1rem; } .compat-note { max-width: 780px; margin: 3rem auto; } .inline-links { display:flex; flex-wrap:wrap; gap:.7rem; } @media (max-width: 1080px) { .hero-signal-grid, .start-now-grid, .audience-choices, .plan-steps, .story-grid, .link-card-grid, .compare-grid { grid-template-columns: 1fr; } }