/* Homepage only: readable type, calm surfaces and a vertical guide. */
body.home-page.bg-blue-gradient { --muted:#465b76; background:#f1f6fd; }
html[data-theme=dark] .home-page { --muted:#c0cee0; background:#101a2a; }
.home-page .hero { background:radial-gradient(ellipse at 95% 45%,#d7eaff,transparent 60%),linear-gradient(120deg,#f8fbff,#edf5ff); }
html[data-theme=dark] .home-page .hero { background:linear-gradient(120deg,#142033,#183450); }
.home-page .hero-layout { grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); padding-block:48px; gap:48px; }
.home-page h1 { font-size:clamp(30px,2.7vw,38px); font-weight:800; letter-spacing:-1.7px; line-height:1.22; text-wrap:balance; }
.home-page h1 .accent-underline:after { height:3px; bottom:-6px; }
.home-page .hero-description { margin-top:26px; font-size:16px; line-height:1.85; }
.home-page .search { margin-top:28px; border-radius:14px; }
.home-page .search input { font-size:15px; }
.home-page .search-hint { font-size:12px; margin-top:10px; }
.home-page .services { padding-block:52px; }
.home-page h2 { font-size:28px; font-weight:600; letter-spacing:-.8px; }
.home-page .section-heading { margin-bottom:26px; }
.home-page .eyebrow { color:var(--muted); letter-spacing:1.2px; }
.home-page .service-card.major { min-height:148px; border-radius:16px; }
.home-page .service-card h3 { font-size:17px; font-weight:600; }
.home-page .service-card p { font-size:14px; color:var(--muted); }
.home-page .guide-section { padding-block:52px; background:var(--surface); }
.home-page .guide-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:56px; }
.home-page .steps { display:flex; flex-direction:column; gap:0; }
.home-page .steps:before,.home-page .step-number:after { display:none; }
.home-page .steps li { display:flex; flex-direction:row; align-items:flex-start; text-align:left; gap:18px; padding:0 0 22px; width:100%; position:relative; }
.home-page .steps li:not(:last-child):before { content:''; position:absolute; left:20px; top:42px; bottom:0; width:1px; background:var(--line); }
.home-page .steps li:last-child { padding-bottom:0; }
.home-page .step-number { width:42px; height:42px; margin:0; border:1px solid var(--line); font-size:13px; }
.home-page .step-icon { display:none; }
.home-page .step-body { padding-top:1px; }
.home-page .steps h3 { font-size:16px; font-weight:600; }
.home-page .steps p { font-size:14px; line-height:1.75; margin-top:5px; max-width:430px; }
.home-page .checklist-card { padding:26px; border-radius:16px; background:var(--soft); }
.home-page .check-list { display:grid; gap:12px; }
.home-page .check-list li { font-size:14px; line-height:1.7; }
.inline-link { display:inline-flex; align-items:center; gap:12px; min-height:44px; margin-top:16px; color:var(--blue); font-size:14px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.home-page .print-station-banner { padding:24px; box-shadow:none; }
.home-page .print-station-banner p { font-size:14px; line-height:1.75; }
.home-page .print-station-banner .promo-copy { align-items:flex-start; }
.home-page .help-banner { margin-block:28px; }
.home-page .footer-brand p,.home-page .footer-contact p { color:#dce7f5; }
@media(max-width:1100px) { .home-page .hero-layout { gap:20px; } .home-page .hero-art { transform:scale(.85); transform-origin:center; } .home-page .guide-layout { gap:32px; } }
@media(max-width:800px) { .home-page .hero-layout { grid-template-columns:1fr; padding-block:40px; } .home-page .guide-layout { grid-template-columns:1fr; } .home-page .guide-side { display:grid; grid-template-columns:1fr 1fr; align-items:start; } .home-page .hero-description { max-width:620px; } .home-page .services,.home-page .guide-section { padding-block:36px; } }
@media(max-width:600px) { .home-page .guide-side { grid-template-columns:1fr; } .home-page h2 { font-size:24px; } .home-page .featured-grid { grid-template-columns:1fr; } .home-page .service-card.major { min-height:120px; } }
@media(max-width:480px) { .home-page h1 { font-size:clamp(25px,7vw,32px); letter-spacing:-.8px; } .home-page .search input { font-size:16px; } .home-page .search button { margin-left:-5px; } .home-page .checklist-card,.home-page .print-station-banner { padding:20px; } .home-page .section-heading p:not(.eyebrow) { font-size:14px; } }

/* Align the guide action with the section title on wider screens. */
@media(min-width:801px) { .home-page .guide-section .section-heading { align-items:center; } }
/* Match both column edges while allowing content to determine the height. */
@media(min-width:801px) {
  .home-page .guide-layout { align-items:stretch; }
  .home-page .steps li:not(:last-child) { flex:1; }
  .home-page .steps li:last-child { flex:none; }
}
