:root { --ink:#292238; --muted:#706879; --plum:#7650c7; --plum-deep:#52318e; --pink:#c62f78; --line:rgba(91,65,126,.14); --shell:min(1120px,calc(100% - 2rem)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:#fffaf7; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:20; padding:.75rem 1rem; border-radius:.7rem; color:#fff; background:var(--plum-deep); }
.skip-link:focus { top:1rem; }
.home-shell { width:var(--shell); margin-inline:auto; }
.home-hero { position:relative; overflow:hidden; padding:clamp(5rem,12vw,9rem) 0 clamp(4rem,9vw,7rem); background:radial-gradient(circle at 78% 20%,rgba(198,47,120,.18),transparent 30rem),radial-gradient(circle at 12% 82%,rgba(117,80,199,.16),transparent 26rem),linear-gradient(145deg,#fffaf7,#faf4ff); }
.home-mark { display:grid; width:3.4rem; height:3.4rem; margin-bottom:1.35rem; place-items:center; border-radius:1rem; color:#fff; background:linear-gradient(135deg,var(--plum),var(--pink)); box-shadow:0 15px 36px rgba(91,49,142,.22); }
.home-mark svg { width:1.75rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.home-eyebrow { margin:0 0 .75rem; color:var(--pink); font-size:.78rem; font-weight:850; letter-spacing:.15em; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:880px; margin-bottom:1.4rem; font-size:clamp(3.4rem,10vw,7.5rem); line-height:.9; letter-spacing:-.065em; }
h1 span { color:var(--plum); }
.home-lead { max-width:43rem; margin-bottom:0; color:var(--muted); font-size:clamp(1.12rem,2vw,1.35rem); line-height:1.65; }
.recruitment { padding:clamp(3.5rem,8vw,6rem) 0 0; }
.viral-journey { padding:clamp(3.5rem,7vw,5.5rem) 0 0; }
.landing-trends { padding:clamp(2rem,4vw,3rem) 0 0; }
.programs { padding:clamp(3.5rem,7vw,5.5rem) 0 clamp(5rem,10vw,8rem); }
.programs-heading { margin-bottom:1.5rem; }
.programs h2,.viral-journey h2 { margin-bottom:0; font-size:clamp(2rem,4vw,3.1rem); letter-spacing:-.04em; }
.viral-journey__heading > p:last-child { max-width:47rem; margin:.9rem 0 0; color:var(--muted); font-size:1.04rem; line-height:1.65; }
.program-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1.3rem; align-items:center; padding:clamp(1.5rem,4vw,2.3rem); border:1px solid var(--line); border-radius:1.5rem; background:#fff; box-shadow:0 20px 55px rgba(64,42,88,.09); }
.program-card__icon { display:grid; width:4rem; height:4rem; place-items:center; border-radius:1.15rem; color:#fff; background:linear-gradient(135deg,var(--plum),var(--pink)); font-weight:900; letter-spacing:.04em; }
.program-card__icon svg { width:2.15rem; height:2.15rem; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.program-card h3 { margin-bottom:.45rem; font-size:clamp(1.45rem,3vw,2rem); }
.landing-trends-card h2 { margin-bottom:.45rem; font-size:clamp(1.45rem,3vw,2rem); letter-spacing:-.025em; }
.program-card p { max-width:42rem; margin-bottom:0; color:var(--muted); line-height:1.6; }
.program-card a { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; padding:.9rem 1.1rem; border-radius:.85rem; color:#fff; background:var(--plum-deep); text-decoration:none; font-weight:800; }
.program-card a:hover { background:#412570; transform:translateY(-1px); }
.program-card + .program-card { margin-top:1rem; }
.program-card__heading { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem .75rem; margin-bottom:.45rem; }
.program-card__heading h3 { margin-bottom:0; }
.program-card__badge { display:inline-flex; align-items:center; min-height:1.7rem; padding:.25rem .62rem; border:1px solid rgba(82,49,142,.14); border-radius:999px; color:var(--plum-deep); background:#f5f0fb; font-size:.72rem; font-weight:820; letter-spacing:.035em; }
.program-card__disabled { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-width:12rem; padding:.9rem 1.1rem; border:1px solid rgba(91,65,126,.12); border-radius:.85rem; color:#7c7287; background:#eee9f2; font:inherit; font-weight:800; cursor:not-allowed; opacity:.82; }
.program-card--roots .program-card__icon { background:linear-gradient(135deg,#35a968,#d9952d); }
.program-card--garden .program-card__icon { background:linear-gradient(135deg,#28afa4,#c62f78 58%,#7650c7); }
.program-card__actions { display:grid; gap:.65rem; min-width:min(100%,17.5rem); }
.program-card .program-card__secondary { border:1px solid rgba(82,49,142,.24); color:var(--plum-deep); background:#fff; font-size:.9rem; }
.program-card .program-card__secondary:hover { border-color:rgba(82,49,142,.42); background:#f8f3ff; }
.recruitment-card { border-color:rgba(198,47,120,.2); background:linear-gradient(135deg,#fff,#fff8fc); }
.recruitment-card__icon { background:linear-gradient(135deg,var(--pink),var(--plum)); }
.viral-journey-card { grid-template-columns:auto minmax(0,1fr) auto; border-color:rgba(117,80,199,.18); background:linear-gradient(135deg,#fff,#fcf9ff 58%,#fff8fc); }
.program-card > .viral-journey-card__preview { display:block; width:8.5rem; overflow:hidden; padding:0; aspect-ratio:4/5; border:1px solid rgba(117,80,199,.16); border-radius:1rem; background:#f5f0fa; box-shadow:0 12px 30px rgba(64,42,88,.11); }
.program-card > .viral-journey-card__preview:hover { background:#f5f0fa; transform:translateY(-2px); }
.viral-journey-card__preview img { display:block; width:100%; height:100%; object-fit:contain; }
.viral-journey-card__route { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .65rem; margin:0 0 .7rem; color:var(--ink)!important; font-size:clamp(1rem,2vw,1.18rem)!important; font-weight:850; line-height:1.4!important; }
.viral-journey-card__route span { white-space:nowrap; }
.viral-journey-card__route b { color:var(--pink); }
.viral-journey-card__action { min-width:14rem; }
:focus-visible { outline:3px solid rgba(117,80,199,.32); outline-offset:3px; }
footer { padding:1.5rem 0; border-top:1px solid var(--line); background:#fff; color:var(--muted); }
footer .home-shell { display:flex; justify-content:space-between; gap:1rem; }
footer p { margin:0; }
footer span { color:var(--pink); }
footer a { color:var(--plum-deep); font-weight:750; text-decoration:none; }
@media (max-width:42rem) { .program-card { grid-template-columns:auto minmax(0,1fr); } .program-card > a,.program-card > button,.program-card__actions { grid-column:1/-1; width:100%; } .program-card a,.program-card button { width:100%; } .viral-journey-card { grid-template-columns:5.75rem minmax(0,1fr); } .program-card > .viral-journey-card__preview { grid-column:1; width:5.75rem; align-self:start; } .viral-journey-card__copy { align-self:start; } .viral-journey-card__route { gap:.25rem .45rem; font-size:.96rem!important; } .viral-journey-card__route span { white-space:normal; } .program-card > .viral-journey-card__action { grid-column:1/-1; width:100%; } footer .home-shell { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .program-card a { transition:none; } }
