.homepage { font-family:'Plus Jakarta Sans',system-ui,sans-serif; color:#243d38; background:#fffaf4; }
.homepage * { box-sizing:border-box; }
.homepage a { color:inherit; text-underline-offset:4px; }
.homepage button { font-family:inherit; cursor:pointer; }
.homepage a:focus-visible,.homepage button:focus-visible,.homepage summary:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.home-hero { background:#278f91; color:#fff; position:relative; overflow:hidden; isolation:isolate; padding:28px max(24px,calc((100% - 1100px)/2)) 76px; }
.home-hero::before { content:""; position:absolute; inset:-20%; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 85% 20%,#307ca2,transparent 65%),radial-gradient(ellipse at 10% 90%,#126e64,transparent 65%); animation:homeWash 44s ease-in-out infinite alternate; }
@keyframes homeWash { to { transform:translate(4%,3%) rotate(8deg); } }
.home-nav { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:76px; }
.home-logo { font-family:'Nunito',sans-serif; font-size:29px; font-weight:900; letter-spacing:-1.2px; text-decoration:none; }
.home-nav>a:last-child { font-size:14px; font-weight:600; padding:12px 0; }
.home-hero-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:center; }
.home-kicker { font-size:11px; font-weight:800; letter-spacing:1.7px; text-transform:uppercase; margin:0 0 20px; }
.homepage h1 { font-size:clamp(38px,4.4vw,60px); line-height:1.09; letter-spacing:-2.3px; font-weight:800; margin:0 0 24px; }
.homepage h1 span { color:#d4f0d9; }
.home-lead { font-size:18px; line-height:1.7; max-width:480px; margin:0 0 30px; }
.home-cta { display:inline-flex; gap:32px; justify-content:space-between; align-items:center; border:0; background:#fffaf4; color:#174c48; font-size:16px; font-weight:800; padding:19px 27px; border-radius:16px; transition:transform .15s; min-height:54px; }
.home-cta:active { transform:scale(.98); }
.home-trust { font-size:12px; line-height:1.7; margin:20px 0 4px; }
.home-time { font-size:12px; margin:0; }
.home-example-caption { font-size:12px; margin:0 0 15px; }
.home-plan { background:#f8f8eb; color:#243d38; border-radius:26px; padding:30px; box-shadow:0 20px 60px #11393725; }
.home-example-label { display:inline-block; background:#e5ecd9; color:#3f5c49; font-size:10px; font-weight:700; padding:7px 10px; border-radius:8px; margin-bottom:30px; }
.home-plan .home-kicker { margin-bottom:12px; }
.home-plan h2 { font-size:31px; line-height:1.25; letter-spacing:-1px; margin:0 0 25px; }
.home-example-field { background:#e9efdf; padding:15px 17px; border-radius:13px; margin-bottom:12px; }
.home-example-field span { font-size:11px; font-weight:700; }
.home-example-field p { font-size:15px; line-height:1.5; margin:7px 0 0; }
.home-plan-foot { display:flex; justify-content:space-between; font-size:10px; margin-top:28px; }
.home-section { max-width:1100px; margin:auto; padding:74px 24px; }
.home-section h2,.home-bottom h2 { font-size:clamp(28px,3vw,40px); line-height:1.18; letter-spacing:-1.2px; margin:0 0 35px; max-width:670px; }
.home-three { display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.home-three h3 { font-size:19px; line-height:1.45; letter-spacing:-.4px; margin:16px 0 10px; }
.home-three p,.home-story p,.home-questions details p { font-size:15px; line-height:1.8; margin:0 0 17px; }
.home-number { display:inline-grid; place-items:center; width:45px; height:45px; border-radius:14px; font-size:12px; font-weight:800; }
.coral { background:#ffceba; }.lilac { background:#e3d2f4; }.mint { background:#bfe4d2; }
.home-text-link,.home-three a { font-size:13px; font-weight:700; line-height:1.6; }
.home-section>.home-text-link { display:inline-block; margin-top:28px; }
.home-situations { background:#f1eddc; }
.home-story { display:grid; grid-template-columns:1fr 1fr; gap:65px; }
.home-questions { padding-top:10px; max-width:780px; }
.home-questions details { background:#f1eddc; padding:20px 23px; border-radius:16px; margin-bottom:12px; }
.home-questions summary { font-size:15px; font-weight:700; cursor:pointer; line-height:1.5; }
.home-questions details p { margin:15px 0 0; }
.home-questions .home-install { background:#e4eddf; margin-top:25px; }
.home-bottom { background:linear-gradient(120deg,#1c7775,#2c7593); padding:55px 24px; color:white; text-align:center; }
.home-bottom h2 { margin:0 auto 24px; }
.home-bottom p { font-size:12px; margin:18px 0 0; }
.home-footer { max-width:1100px; margin:auto; padding:30px 24px; display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:space-between; }
.home-footer div { display:flex; gap:24px; flex-wrap:wrap; font-size:12px; }
.home-footer>p { width:100%; font-size:11px; margin:0; line-height:1.6; }
.reading-page .home-section { max-width:760px; }
.reading-page .home-section p,.reading-page li { font-size:16px; line-height:1.8; margin-bottom:18px; }
.reading-page .home-section h1 { font-size:40px; }
.reading-page .home-section h2 { font-size:24px; margin:32px 0 14px; }
.reading-page .home-nav { margin:0; background:#1b7775; color:white; padding:20px 24px; }
.reading-page .home-cta { background:#245b53; color:white; text-decoration:none; }
@media(max-width:700px) { .home-nav { margin-bottom:45px; }.home-hero-grid { grid-template-columns:1fr; gap:40px; }.home-hero { padding-bottom:40px; }.home-example { max-width:420px; width:100%; }.home-plan { padding:25px; }.home-section { padding:48px 24px; }.home-three,.home-story { grid-template-columns:1fr; gap:25px; }.home-three article { max-width:480px; }.home-section h2 { margin-bottom:25px; }.homepage h1 { letter-spacing:-1.5px; }.home-questions { padding-top:0; }.home-story h2 { margin-bottom:0; } }
@media(prefers-reduced-motion:reduce) { .home-hero::before { animation:none; }.home-cta { transition:none; } }

.home-support { width:100%; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:4px 0 18px; }
.home-support p { font-size:14px; line-height:1.6; margin:0; }
.homepage .home-coffee { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; background:#245b53; color:#fff; border-radius:14px; padding:14px 20px; text-decoration:none; font-size:14px; font-weight:700; }
.home-coffee img { display:block; }

/* Support is part of the actual footer, below the final call to action. */
.homepage > #support { max-width:none; width:100%; margin:0; padding:40px 24px 28px; background:#202725; color:#f7f4ed; border-radius:0; display:block; }
#support .home-footer-inner { max-width:1052px; margin:0 auto; display:grid; grid-template-columns:1fr minmax(280px,400px); gap:30px 70px; }
#support .footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
#support .footer-brand nav { display:flex; gap:24px; font-size:13px; }
#support .home-support { display:flex; flex-direction:column; align-items:flex-start; gap:17px; padding:0; width:auto; }
#support .home-support p { color:#d2d8d3; font-size:13px; line-height:1.7; }
#support .home-coffee { background:#f3eee3; color:#263d36; min-height:44px; padding:12px 17px; border-radius:12px; font-size:13px; }
#support .footer-note { grid-column:1/-1; font-size:11px; line-height:1.6; color:#b8c1bb; margin:0; }
@media(max-width:600px) { #support .home-footer-inner { grid-template-columns:1fr; gap:28px; } }
