.hero.hero-home { box-sizing:border-box; min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; justify-content:center; padding-top:116px; padding-bottom:48px; }
.hero-home .home-composition { width:100%; padding-block:32px; display:grid; grid-template-columns:1fr 1fr; }
.hero.hero-home h1 { grid-column:1/-1; max-width:none; font-family:'Jost',sans-serif; font-weight:300; font-size:clamp(66px,10.7vw,154px); line-height:1.08; letter-spacing:-.045em; margin:0 0 46px; }
.home-line { display:block; width:max-content; max-width:100%; white-space:nowrap; }
.home-line:last-child { margin-left:auto; }
.hero-home .hero-sub { grid-column:2; max-width:410px; margin:12px 0 0; font:400 15px/1.8 'Instrument Sans',sans-serif; color:#686660; }
.hero-home .hero-ctas { grid-column:2; align-items:center; gap:24px; margin:22px 0 0; }
.hero-home .btn { font-size:15px; }
.home-services { display:inline-flex; gap:18px; align-items:center; min-height:44px; font-size:14px; color:var(--ink); text-decoration:none; }
.home-services:hover { color:var(--red); }
.hero-home a:focus-visible { outline:2px solid var(--red); outline-offset:5px; }
@media(max-width:800px) {
 .hero.hero-home { padding-bottom:40px; }
 .hero-home .home-composition { padding-block:24px; }
 .hero.hero-home h1 { font-size:clamp(56px,10.8vw,86px); margin-bottom:38px; }
 .hero-home .hero-sub,.hero-home .hero-ctas { grid-column:1/-1; }
}
@media(max-width:767px) { .hero.hero-home { padding-top:92px; } }
@media(max-width:420px) {
 .hero.hero-home h1 { font-size:clamp(43px,11.5vw,49px); }
 .hero-home .hero-ctas { gap:12px; }
}
