/* Homepage-only visual additions. Existing layout and content remain intact. */
.home-refresh .hero-section { isolation: isolate; }
.home-refresh .hero-section::after {
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background-image: radial-gradient(rgba(222,242,241,.12) .7px, transparent .7px);
    background-size: 26px 26px; mask-image: linear-gradient(transparent, #000 60%, transparent);
}
.home-refresh .hero-section > .relative { z-index: 1; }
.home-studio-strip {
    display: grid; grid-template-columns: 1fr 1.16fr 1fr; gap: 20px;
    max-width: 1040px; margin: 60px auto 0; align-items: center;
}
.home-studio-card {
    position: relative; display: block; overflow: hidden; min-width: 0;
    aspect-ratio: 1.48; border-radius: 24px; border: 1px solid rgba(255,255,255,.18);
    background: #24433f; box-shadow: 0 20px 50px rgba(0,0,0,.18);
    transform: rotate(-3deg); transition: transform .5s ease, box-shadow .5s ease;
}
.home-studio-card:nth-child(2) { aspect-ratio: 1.4; transform: translateY(-10px); }
.home-studio-card:nth-child(3) { transform: rotate(3deg); }
.home-studio-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.home-studio-card::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(9,28,29,.8)); pointer-events: none; }
.home-studio-caption { position: absolute; inset: auto 18px 18px; z-index: 1; display: flex; gap: 8px; align-items: center; color: white; font-size: 13px; font-weight: 600; }
.home-studio-caption i { color: #9de5d4; }
.home-studio-arrow { margin-left: auto; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.15); backdrop-filter: blur(6px); }
.home-studio-card:focus-visible { outline: 3px solid #9de5d4; outline-offset: 5px; }
.home-refresh #stats-section { padding-top: 30px; border-top: 1px solid rgba(255,255,255,.12); }
.home-process-grid { position: relative; }
.home-process-grid > .card { position: relative; overflow: hidden; }
.home-process-grid > .card::before { content: ''; position: absolute; width: 140px; height: 140px; border-radius: 50%; right: -80px; top: -80px; background: radial-gradient(circle, rgba(58,175,169,.12), transparent 70%); }
.home-process-grid > .card > div:first-child { position: relative; box-shadow: 0 12px 30px rgba(43,122,120,.08); transition: transform .4s ease; }
.home-process-grid > .card > div:first-child::after { content: ''; position: absolute; inset: -7px; border: 1px dashed rgba(43,122,120,.24); border-radius: 24px; transform: rotate(-8deg); }
.home-cta-visual { position: absolute; inset: 0; pointer-events: none; }
.home-cta-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; opacity: .12; }
.home-cta-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #f0f8f7 5%, rgba(240,248,247,.72) 50%, rgba(240,248,247,.2)); }
.dark .home-cta-visual img { opacity: .17; }
.dark .home-cta-visual::after { background: linear-gradient(90deg, #1e293b, rgba(30,41,59,.8) 50%, rgba(30,41,59,.35)); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .home-studio-card:hover { transform: translateY(-7px) rotate(0); box-shadow: 0 26px 60px rgba(0,0,0,.27); }
    .home-studio-card:nth-child(2):hover { transform: translateY(-17px); }
    .home-studio-card:hover img { transform: scale(1.055); }
    .home-process-grid > .card:hover > div:first-child { transform: translateY(-4px) rotate(3deg); }
}
@media (max-width: 767px) {
    .home-studio-strip { gap: 10px; margin-top: 38px; grid-template-columns: 1fr 1fr; }
    .home-studio-card { border-radius: 16px; aspect-ratio: 1.1; transform: none; }
    .home-studio-card:nth-child(2) { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 2.05; transform: none; }
    .home-studio-card:nth-child(3) { transform: none; }
    .home-studio-caption { inset: auto 12px 12px; font-size: 11px; gap: 6px; }
    .home-studio-arrow { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-refresh *, .home-refresh *::before, .home-refresh *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .home-refresh .scroll-reveal { opacity: 1; transform: none; }
    .home-studio-card, .home-studio-card:nth-child(2), .home-studio-card:nth-child(3) { transform: none; }
}
/* Keep card headings readable against the dark theme surface. */
.dark .home-refresh .card { background-color: #1e293b; border-color: #334155; }
.dark .home-refresh .btn-outline { color: #8cddd1; border-color: #5abfb1; }

/* Content stays visible if JavaScript or motion support is unavailable. */
.home-refresh .scroll-reveal {
    opacity: 1;
    transform: none;
    transition-delay: 0s;
}
.home-refresh .stat-counter { font-variant-numeric: tabular-nums; }


@media (prefers-reduced-motion: no-preference) {
    .home-motion-enabled .home-reveal-pending { opacity: 0; }
    .home-motion-enabled .home-hero-atmosphere {
        transform: translate3d(0, var(--home-hero-offset, 0px), 0);
        will-change: transform;
    }
    .home-motion-enabled .home-studio-card img {
        scale: 1.14;
        translate: 0 var(--home-studio-drift, 0px);
    }
    .home-motion-enabled .home-studio-card:nth-child(2) img {
        translate: 0 calc(var(--home-studio-drift, 0px) * -1);
    }
    .home-motion-enabled .home-cta-visual img {
        scale: 1.12;
        translate: 0 var(--home-cta-offset, 0px);
    }
    .home-motion-enabled .home-process-grid > .card { z-index: 1; }
    .home-motion-enabled .home-process-grid::after {
        content: '';
        position: absolute;
        top: 72px;
        left: 16.666%;
        right: 16.666%;
        height: 2px;
        z-index: 0;
        pointer-events: none;
        background: linear-gradient(90deg, #2b7b78, #9de5d4);
        transform-origin: left;
        scale: var(--home-process-progress, 0) 1;
    }
    .home-motion-enabled .home-motion-away *,
    .home-motion-paused *,
    .home-motion-paused *::before,
    .home-motion-paused *::after { animation-play-state: paused !important; }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .home-refresh .scroll-reveal.glow-hover:hover { transform: translateY(-3px); }
}

@media (max-width: 767px) {
    .home-motion-enabled .home-process-grid::after { display: none; }
    .home-motion-enabled .home-studio-card img { scale: 1; translate: none; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    .home-refresh .home-reveal-pending { opacity: 1; }
    .home-refresh .home-studio-card img,
    .home-refresh .home-cta-visual img { scale: 1; translate: none; }
}
