/* Home only: retain the Craft copy and shared components. */
.home-refresh {
    --home-ink: #020b2c;
    --home-paper: #f8f7f6;
    --home-mauve: #88506d;
    --home-rule: #dce0e7;
    background: #fff;
    color: var(--home-ink);
}

/* The closing CTA sits outside main, so it needs its own Home focus rule. */
.home-refresh-page .prefooter a.learn-more:focus-visible {
    outline: 3px solid #020b2c;
    outline-offset: 8px;
}

@media (prefers-reduced-motion: reduce) {
    .home-refresh-page .prefooter .byline {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .home-refresh-page .prefooter .learn-more .circle,
    .home-refresh-page .prefooter .learn-more .circle .icon,
    .home-refresh-page .prefooter .learn-more .button-text {
        transition: none;
    }

    .home-refresh-page .prefooter .learn-more:hover .circle .icon.arrow {
        transform: translate(1rem, 0);
    }
}

/* Keep the navigation legible before JS applies the shared dark-mode class. */
.home-refresh-page #nav a {
    color: #fff;
}

.home-refresh-page #nav a::before {
    background: #fff;
}

.home-refresh-page:not(.nav-open) .logo img:nth-of-type(1) {
    display: none;
}

.home-refresh-page:not(.nav-open) .logo img:nth-of-type(2) {
    display: block;
}

.home-refresh-page:not(.nav-open) #nav-icon3 span {
    background: #fff;
}

.home-refresh section.intro.home-intro {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: clamp(9.5rem, 12vw, 11rem) 0 clamp(4rem, 7vw, 6.5rem);
    background: var(--home-ink);
    color: #fff;
}

/* Retire the old geometric pattern on Home only. */
.home-refresh section.intro.home-intro::after {
    display: none;
    content: none;
}

.home-refresh #hero.home-intro__layout {
    display: grid;
    grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
    align-items: center;
    justify-items: stretch;
    gap: clamp(1.5rem, 3vw, 3rem);
    width: 100%;
    height: auto;
    min-height: 0;
}

.home-intro__copy,
.home-intro__visual {
    min-width: 0;
}

/* The Craft headline remains readable; only its natural text lines move. */
.home-refresh .home-intro .main-heading,
.home-refresh .home-intro .byline {
    opacity: 1;
    transform: none;
    animation: none;
    text-align: left;
    color: #fff;
}

.home-refresh .home-intro h1.big {
    width: auto;
    max-width: 100%;
    margin: 0;
    font-family: Assistant, sans-serif;
    font-size: clamp(4rem, 5vw, 4.5rem);
    font-weight: 800;
    line-height: 1.06;
    letter-spacing: -.025em;
    text-wrap: balance;
}

.home-refresh .home-intro .byline {
    max-width: 52ch;
    margin: 1.625rem 0 0;
    padding: 0;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.5;
    color: #d8dde7;
}

/* The existing button rows come from _partial/headlines.html. */
.home-refresh .home-intro__copy > .column-xs-12 {
    margin-top: 1.875rem !important;
}

.home-refresh .home-intro__copy > .column-xs-12 > .grid {
    display: flex;
    flex-wrap: wrap;
    gap: .875rem;
}

.home-refresh .home-intro__copy > .column-xs-12 > .grid > [class*="column-"] {
    flex: 0 1 auto;
    width: auto;
    max-width: 100%;
    padding: 0;
}

.home-refresh .home-intro .c-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    max-width: 100%;
    margin: 0;
    padding: .75rem 1.375rem;
    font-family: Assistant, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
    color: #fff;
}

.home-refresh .home-intro a:focus-visible {
    outline: 3px solid #46d2c7;
    outline-offset: 5px;
}

.home-refresh .home-intro .google-review--home {
    max-width: 100%;
    margin: 1.75rem 0 0;
    background: rgba(255, 255, 255, .05);
    border-color: rgba(255, 255, 255, .18);
    color: #fff;
}

.home-refresh .home-intro .google-review__star-fill {
    color: #ffc369;
}

.home-intro__visual {
    justify-self: center;
    width: min(100%, 32.5rem);
    pointer-events: none;
}

.home-intro__visual picture,
.home-intro__visual img {
    display: block;
    width: 100%;
}

.home-intro__visual img {
    height: auto;
    object-fit: contain;
}

.home-editorial {
    padding-block: clamp(3.5rem, 6vw, 6rem) clamp(4.5rem, 8vw, 8rem);
    background: #fff;
}

.home-editorial__link {
    position: relative;
    min-width: 0;
    color: var(--home-ink);
    text-decoration: none;
}

.home-editorial__link:focus-visible {
    outline: 3px solid var(--home-mauve);
    outline-offset: 8px;
}

.home-editorial__copy {
    min-width: 0;
}

.home-editorial__label {
    display: block;
    margin-bottom: 1.375rem;
    color: var(--home-mauve);
    font-family: 'Share Tech Mono', monospace;
    font-size: .875rem;
    line-height: 1.5;
    letter-spacing: .055em;
}

.home-refresh .home-editorial h2 {
    margin: 0;
    color: var(--home-ink);
    font-family: 'Jomolhari', Georgia, serif;
    font-weight: 400;
    font-size: clamp(2.375rem, 3.1vw, 2.75rem);
    line-height: 1.23;
    letter-spacing: -.018em;
    text-wrap: balance;
}

.home-editorial p {
    max-width: 41ch;
    margin: 1.5rem 0 0;
    color: var(--home-ink);
    font-size: 1.3125rem;
    line-height: 1.55;
}

.home-editorial__work {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
    padding-block: 0 clamp(3rem, 5vw, 5rem);
    border-bottom: 1px solid var(--home-rule);
}

.home-refresh .home-editorial__work h2 {
    max-width: 19ch;
    font-size: clamp(3.125rem, 4vw, 3.5rem);
}

.home-editorial__work-visual {
    width: min(100%, 27.5rem);
    justify-self: center;
}

.home-editorial__work-visual .service-visual.service-visual--ink {
    margin: 0;
    aspect-ratio: 1;
    filter: none;
    transform: none;
}

.home-editorial__work-visual .service-visual--ink .service-illustration {
    width: 100%;
    height: auto;
    filter: none;
    transform: none;
    transition: none;
}

.home-editorial__pair {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2rem, 5vw, 5rem);
    padding-top: clamp(3rem, 5vw, 5rem);
}

.home-editorial__agency,
.home-editorial__start {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--home-rule);
}

.home-editorial__agency h2 {
    max-width: 22ch;
}

.home-editorial__start h2 {
    max-width: 18ch;
}

.home-editorial__team {
    display: flex;
    align-items: end;
    width: min(100%, 26rem);
    padding-top: 2.5rem;
    margin-top: auto;
    pointer-events: none;
}

.home-editorial__team img {
    display: block;
    width: 25%;
    max-width: 6.3rem;
    height: auto;
    max-height: 9.375rem;
    object-fit: contain;
    object-position: bottom;
}

.home-editorial__arrow {
    flex: 0 0 auto;
    width: 7.5rem;
    height: 5rem;
    margin-top: auto;
    padding-top: 0;
    color: var(--home-mauve);
}

.home-editorial__start .home-editorial__copy {
    margin-bottom: 2.5rem;
}

/* Quiet, immediate feedback at the title instead of a section-wide fill bar. */
@media (hover: hover) and (pointer: fine) {
    .home-refresh .home-editorial__link:hover h2 {
        color: var(--home-mauve);
    }
}

@media (max-width: 1050px) {
    .home-refresh #hero.home-intro__layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.5rem;
    }

    .home-refresh .home-intro__copy {
        max-width: 48rem;
    }

    .home-refresh .home-intro h1.big {
        font-size: clamp(3.25rem, 7.5vw, 4.5rem);
    }

    .home-intro__visual {
        width: min(55vw, 24rem);
    }

    .home-editorial__work,
    .home-editorial__pair {
        gap: 2.5rem;
    }

    .home-refresh .home-editorial__work h2 {
        font-size: clamp(2.625rem, 5vw, 3.5rem);
    }
}

@media (max-width: 700px) {
    .home-refresh section.intro.home-intro {
        padding-block: 7.5rem 3.5rem;
    }

    .home-refresh #hero.home-intro__layout {
        gap: 2rem;
    }

    .home-refresh .home-intro h1.big {
        font-size: clamp(2.625rem, 10.75vw, 3.5rem);
        line-height: 1.08;
        letter-spacing: -.02em;
    }

    .home-refresh .home-intro .byline {
        margin-top: 1.5rem;
        font-size: 1.25rem;
        line-height: 1.5;
    }

    .home-intro__visual {
        width: min(100%, 18.75rem);
    }

    .home-editorial__work,
    .home-editorial__pair {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-editorial__work {
        gap: 1.5rem;
    }

    .home-refresh .home-editorial h2,
    .home-refresh .home-editorial__work h2 {
        max-width: 22ch;
        font-size: clamp(2.125rem, 8vw, 2.75rem);
        line-height: 1.25;
    }

    .home-editorial__label {
        margin-bottom: 1rem;
    }

    .home-editorial p {
        margin-top: 1.25rem;
        font-size: 1.1875rem;
    }

    .home-editorial__work-visual {
        width: min(100%, 20rem);
    }

    .home-editorial__pair {
        gap: 2.5rem;
    }

    .home-editorial__team {
        padding-top: 2rem;
    }

    .home-editorial__arrow {
        width: 6rem;
        height: 4rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-refresh [data-home-reveal],
    .home-refresh .home-intro .main-heading,
    .home-refresh .home-intro .byline,
    .home-refresh .home-intro .c-ripple__circle {
        animation: none !important;
        transform: none !important;
        opacity: 1;
    }

    .home-refresh .home-intro .c-button {
        transition: none;
    }
}

/* Measured lines retain Craft inline emphasis and return to normal flow after motion. */
.home-intro .home-motion-line {
    display: block;
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .home-intro .home-motion-line { transform: none !important; }
}
