/* First-screen layout; other sections retain their existing design. */
.home-hero { position: relative; isolation: isolate; padding: clamp(112px, 12vw, 156px) 24px 32px; min-height: 90svh; display: grid; align-items: center; }
.home-hero-background { position: absolute; inset: 0; z-index: -1; background-size: cover; background-position: center; }
.home-hero-background::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,10,18,.85), rgba(8,10,18,.78) 45%, #0a0a0f 100%); }
.home-hero-content { width: min(100%, 1100px); margin-inline: auto; text-align: center; }
.home-hero h1 { max-width: 920px; margin: 0 auto 24px; font-family: Inter, sans-serif; font-size: clamp(2.35rem, 5.2vw, 4.75rem); font-weight: 700; line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; color: #f3f5fa; }
.home-hero h1 span { background: linear-gradient(110deg, #52e8db 10%, #b79aff 90%); background-clip: text; -webkit-background-clip: text; color: transparent; }
.home-hero-description { max-width: 720px; margin: 0 auto; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.75; color: #c4cbd8; text-wrap: pretty; }
.home-hero-actions { display: flex; justify-content: center; gap: 16px; margin: 32px auto 40px; }
.hero-action { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 14px 24px; border: 1px solid transparent; border-radius: 10px; font-size: 1rem; font-weight: 600; transition: background .2s, border-color .2s, transform .2s; }
.hero-action svg { width: 20px; height: 20px; flex-shrink: 0; }
.hero-action-primary { background: linear-gradient(110deg, #59e3d5, #b99aef); color: #101522; box-shadow: 0 6px 24px #39cfbd16; }
.hero-action-primary:hover { transform: translateY(-2px); background: linear-gradient(110deg, #84f3e7, #cbb3ff); }
.hero-action-secondary { border-color: #7c899a; color: #eef2fa; background: #0c142780; }
.hero-action-secondary:hover { border-color: #59e3d5; background: #183039; }
.hero-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 850px; margin: auto; }
.hero-services a { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 14px 18px; border: 1px solid #8190aa38; border-radius: 10px; background: #10172590; color: #dce3ef; font-size: .94rem; text-align: left; transition: background .2s, border-color .2s; }
.hero-services svg { width: 20px; height: 20px; color: #68d9d1; flex-shrink: 0; }
.hero-services a:hover { background: #172c35; border-color: #68d9d180; }
.hero-scroll { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: 24px; color: #8da6b8; border-radius: 50%; }
.hero-scroll:hover { color: #69e5db; background: #182b35; }
[id] { scroll-margin-top: 100px; }
a:focus-visible, button:focus-visible { outline: 3px solid #78f2e5 !important; outline-offset: 5px; }
.site-brand { min-width: 0; gap: 8px; }
.site-brand > span { font-family: Inter, sans-serif; white-space: nowrap; letter-spacing: -.025em; }
@media (max-width: 767px) { .home-hero { padding: 112px 20px 24px; } .hero-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hero-services a { padding: 12px; gap: 8px; } }
@media (max-width: 600px) { .home-hero-actions { flex-direction: column; max-width: 360px; margin: 28px auto 32px; } }
@media (max-width: 359px) { .hero-services { grid-template-columns: 1fr; } .site-brand > span { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } *, *::before, *::after { animation: none !important; transition: none !important; } .opacity-0.animate-slide-up { opacity: 1 !important; } }

/* Keep the scroll cue in view on laptops and standard phone screens. */
@media (min-width: 768px) and (max-height: 850px) {
    .home-hero { padding: 104px 24px 16px; min-height: 100svh; }
    .home-hero h1 { max-width: 960px; font-size: clamp(2.75rem, 4.4vw, 3.5rem); margin-bottom: 20px; }
    .home-hero-description { line-height: 1.6; }
    .home-hero-actions { margin: 24px auto 28px; }
    .hero-scroll { margin-top: 12px; }
}
@media (max-width: 767px) {
    .home-hero { padding-top: 92px; padding-bottom: 16px; }
    .home-hero h1 { margin-bottom: 20px; }
    .home-hero-description { line-height: 1.6; }
    .home-hero-actions { margin-top: 24px; margin-bottom: 24px; }
    .hero-services a { min-height: 52px; padding-block: 10px; }
    .hero-scroll { margin-top: 12px; }
}