/* Illustrated hero: typography remains live and accessible at every width. */
.service-hero { margin:0 0 var(--space-7); color:var(--heading); }
.hero-brand { display:inline-block; margin-bottom:var(--space-5); }
.service-hero .redbay-logo { display:block; margin:0; }
.hero-layout { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:var(--space-6); }
.hero-kicker { display:block; margin-bottom:var(--space-3); color:var(--redbay-red); font:600 11px var(--font-ui); letter-spacing:1.4px; }
.service-hero h1 { margin:0 0 var(--space-4); font:700 42px/1.12 var(--font-heading); color:var(--heading); letter-spacing:-.8px; }
.service-hero h1 span { color:var(--redbay-red); }
.hero-lead { margin:0 0 var(--space-6); color:var(--muted); font-size:16px; line-height:1.55; }
.service-hero h2 { font:700 17px/1.3 var(--font-heading); margin:0 0 var(--space-2); color:var(--heading); }
.hero-invitation p { color:var(--muted); font-size:15px; margin:0 0 var(--space-4); }
.hero-action { display:inline-flex; align-items:center; justify-content:center; gap:var(--space-3); background:var(--redbay-red); color:white; border-radius:50px; padding:12px 20px; font:500 15px/1.4 var(--font-body); transition:background .2s; }
.hero-action:hover,.hero-action:focus-visible { background:var(--redbay-red-dark); color:white; text-decoration:none; }
.hero-art { margin:0; min-width:0; }
.hero-art img { display:block; width:100%; height:auto; border-radius:var(--radius-lg); }
.hero-guidance { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-7); margin-top:var(--space-7); padding-top:var(--space-5); border-top:1px solid var(--border); }
.hero-guidance p { margin:0; color:var(--muted); font-size:14px; line-height:1.5; }
.hero-guidance h2 { font-size:16px; }
@media(max-width:820px) {
 .hero-layout { grid-template-columns:1fr; gap:var(--space-5); }
 .hero-copy-block { display:contents; }
 .hero-kicker { grid-row:1; margin:0; }
 .service-hero h1 { grid-row:2; margin:0; max-width:600px; }
 .hero-art { grid-row:3; width:100%; max-width:540px; justify-self:center; }
 .hero-lead { grid-row:4; margin:0; }
 .hero-invitation { grid-row:5; }
 .hero-guidance { gap:var(--space-5); }
}
@media(max-width:575px) {
 .service-hero h1 { font-size:34px; letter-spacing:-.5px; }
 .hero-brand { margin-bottom:var(--space-6); }
 .hero-guidance { grid-template-columns:1fr; margin-top:var(--space-6); gap:var(--space-4); }
 .hero-action { width:100%; font-size:14px; }
 .hero-guidance p { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { .hero-action { transition:none; } }
