.home-main {
    inline-size: 100%;
    max-inline-size: none;
    margin: 0;
    padding: 0;
}

.home-main h1,
.home-main h2,
.home-main h3,
.home-main .editorial-link,
.home-main .solution__number,
.home-main .solution__cta,
.home-main .article-card__meta span {
    text-transform: uppercase;
}

.home-main p:last-child { margin-block-end: 0; }

.home-section {
    inline-size: 100%;
    padding-block: clamp(3rem, 5vw, 4rem);
}

.home-section__inner,
.home-hero__inner,
.about-contact__inner {
    inline-size: calc(100% - (2 * var(--gutter-page)));
    max-inline-size: var(--container-main);
    min-inline-size: 0;
    margin-inline: auto;
}

.home-hero { inline-size: 100%; background: var(--color-bg-primary); }
.home-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr); }
.home-hero__copy, .home-hero__media { min-inline-size: 0; }
.home-hero__copy { display: flex; padding: 3rem 0; flex-direction: column; align-items: flex-start; justify-content: center; }
.home-hero__context { max-inline-size: 100%; margin-block-end: var(--space-lg); font-size: .75rem; font-weight: 600; letter-spacing: .08em; }
.home-hero__context span { color: var(--color-accent); }
.home-hero h1 { max-inline-size: min(13ch, 100%); margin-block-end: var(--space-lg); font-size: clamp(2.35rem, 4.1vw, 4.5rem); line-height: .97; letter-spacing: -.03em; }
.home-hero__lead { inline-size: 100%; max-inline-size: 36ch; margin-block-end: var(--space-lg); font-size: clamp(1rem, .94rem + .25vw, 1.2rem); }

.editorial-link { display: inline-flex; min-block-size: 44px; align-items: center; justify-content: space-between; gap: var(--space-md); color: inherit; font-family: var(--font-display); font-size: .75rem; font-weight: 800; text-decoration: underline; text-underline-offset: .35em; transition: gap var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.editorial-link:hover { gap: var(--space-lg); color: var(--color-text-brand); }
.editorial-link--solid { padding: var(--space-sm) var(--space-lg); background: var(--color-bg-dark); color: var(--color-text-inverse); text-decoration: none; }
.editorial-link--solid:hover { background: var(--color-bg-brand); color: var(--color-text-inverse); }
.editorial-link--inverse:hover { color: var(--color-text-inverse); }

.home-hero__media { display: flex; block-size: 28rem; flex-direction: column; border-block-start: 1px solid; }
.hero-media { position: relative; min-block-size: 0; margin: 0; overflow: hidden; flex: 1 1 33.333%; background: var(--color-bg-surface); transition: flex-basis var(--duration-slow) var(--ease-standard); outline-offset: -4px; }
.hero-media img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: filter var(--duration-standard) var(--ease-standard); }
.hero-media::after { content: ""; position: absolute; inset: 0; background: #11111152; opacity: 0; transition: opacity var(--duration-standard) var(--ease-standard); }
.hero-media figcaption { position: absolute; inset: 50% auto auto var(--space-lg); z-index: 1; color: var(--color-text-inverse); font-family: var(--font-display); font-size: clamp(1rem, .9rem + .4vw, 1.35rem); font-weight: 800; opacity: 0; transform: translateY(calc(-50% + var(--space-xs))); transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.hero-media:hover::after, .hero-media:focus-visible::after, .hero-media:hover figcaption, .hero-media:focus-visible figcaption { opacity: 1; }
.hero-media:hover figcaption, .hero-media:focus-visible figcaption { transform: translateY(-50%); }

.section-heading { margin-block-end: clamp(2rem, 4vw, 3rem); }
.section-heading h2, .testimonials h2 { margin: 0; font-size: clamp(2.15rem, 3.8vw, 4rem); letter-spacing: -.03em; }
.section-heading--row { display: flex; align-items: end; justify-content: space-between; gap: var(--space-xl); }

.solutions { background: var(--color-bg-surface); }
.solutions__stage { display: grid; gap: var(--space-md); }
.solution { position: relative; min-inline-size: 0; min-block-size: 25rem; overflow: hidden; background: var(--color-bg-primary); }
.solution__image, .solution__shade { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; }
.solution__image { object-fit: cover; }
.solution__shade { background: linear-gradient(180deg, #1111110d 25%, #111111d9 100%); transition: background var(--duration-standard) var(--ease-standard); }
.solution__content { position: relative; z-index: 1; display: flex; min-block-size: 100%; padding: var(--space-lg); flex-direction: column; justify-content: flex-end; color: var(--color-text-inverse); }
.solution__number { position: absolute; inset: var(--space-lg) auto auto var(--space-lg); font-family: var(--font-display); font-size: .75rem; font-weight: 800; }
.solution h3 { max-inline-size: 17ch; margin-block-end: var(--space-sm); font-size: clamp(1.25rem, 1.12rem + .5vw, 1.8rem); }
.solution h3 a { color: inherit; text-decoration: none; }
.solution h3 a::after { content: ""; position: absolute; inset: 0; }
.solution__reveal { max-inline-size: 34rem; font-size: .95rem; }
.solution__reveal p { margin-block-end: var(--space-md); }
.solution__cta { display: inline-flex; gap: var(--space-sm); font-family: var(--font-display); font-size: .72rem; font-weight: 800; }
.solution--featured .solution__shade { background: linear-gradient(180deg, #43640c47 10%, #314a0be8 100%); }
.solution:focus-within { outline: 2px solid var(--color-focus-on-light); outline-offset: 4px; }

.testimonials { overflow-x: clip; background: var(--color-bg-dark); color: var(--color-text-inverse); }
.testimonials__top { display: grid; margin-block-end: var(--space-xl); gap: var(--space-lg); }
.testimonials__title-group { display: flex; align-items: end; justify-content: space-between; gap: var(--space-xl); }
.google-signature { display: grid; justify-items: end; font-size: .72rem; line-height: 1.2; }
.google-signature__stars, .testimonial__stars { color: var(--color-accent); letter-spacing: .1em; }
.google-signature strong { font-family: var(--font-display); font-size: .9rem; }
.testimonials__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); }
.carousel-controls { display: flex; gap: var(--space-xs); }
.carousel-controls button { display: grid; inline-size: 44px; block-size: 44px; padding: 0; place-items: center; background: transparent; color: inherit; border: 1px solid #ffffff80; cursor: pointer; transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.carousel-controls button:hover { background: var(--color-bg-surface); color: var(--color-text-primary); }
.testimonials__viewport { --carousel-gap: 16px; inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; overflow-x: auto; overflow-y: hidden; contain: inline-size layout paint; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; }
.testimonials__track { display: flex; gap: var(--carousel-gap); padding-block-end: var(--space-md); }
.testimonial { display: flex; min-block-size: 20rem; margin: 0; padding: var(--space-lg); flex: 0 0 calc(100% - var(--space-lg)); flex-direction: column; scroll-snap-align: start; background: #1a1a1a; border-block-start: 1px solid var(--color-accent); }
.testimonial blockquote { margin-block: var(--space-lg); padding: 0; border: 0; font-size: clamp(.92rem, .88rem + .15vw, 1.02rem); }
.testimonial figcaption { display: flex; margin-block-start: auto; justify-content: space-between; gap: var(--space-md); font-size: .78rem; }
.testimonial figcaption strong { font-family: var(--font-body); font-weight: 600; }
.testimonial figcaption time { color: #ffffffa8; }

.about-contact { padding-block: 0; background: var(--color-bg-surface); }
.about-contact__inner { display: grid; }
.about-contact__about { min-inline-size: 0; }
.about-contact__portrait { position: relative; min-block-size: 30rem; margin: 0; overflow: hidden; background: var(--color-bg-dark); }
.about-contact__portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 32%, #000000c7 100%); }
.about-contact__portrait img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.about-contact__about-copy { position: absolute; inset: auto var(--space-lg) var(--space-lg); z-index: 1; display: flex; max-inline-size: 35rem; flex-direction: column; align-items: flex-start; color: var(--color-text-inverse); }
.about-contact__about-copy h2 { margin-block-end: var(--space-sm); font-size: clamp(1.65rem, 2.3vw, 2.6rem); }
.about-contact__about-copy p { max-inline-size: 38ch; margin-block-end: var(--space-sm); font-size: .88rem; }
.about-contact__contact { min-inline-size: 0; margin-inline: calc(-1 * var(--gutter-page)); }
.authority-grid { display: grid; min-inline-size: 0; border-block-start: 1px solid var(--color-border); border-inline-start: 1px solid var(--color-border); }
.authority-card { display: flex; min-inline-size: 0; min-block-size: 14rem; padding: clamp(1.5rem, 4vw, 2.5rem); flex-direction: column; justify-content: space-between; border-inline-end: 1px solid var(--color-border); border-block-end: 1px solid var(--color-border); }
.authority-card > p:last-child { max-inline-size: 28ch; font-size: clamp(.95rem, .9rem + .2vw, 1.08rem); }
.authority-card__number { margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5.25rem); font-weight: 800; line-height: .9; letter-spacing: -.045em; text-transform: uppercase; }
.authority-card--white { background: #FFFFFF; color: var(--color-text-primary); }
.authority-card--dark { background: var(--color-bg-dark); color: var(--color-text-inverse); }
.authority-card--light { background: #F3FDE3; color: var(--color-text-primary); }
.authority-card--cta { gap: var(--space-lg); background: var(--color-bg-brand); color: var(--color-text-inverse); }
.authority-card--cta h2 { max-inline-size: 12ch; margin-block-end: var(--space-sm); font-size: clamp(1.65rem, 2.4vw, 2.6rem); line-height: 1; }
.authority-card--cta p { max-inline-size: 34ch; margin: 0; font-size: clamp(.9rem, .86rem + .15vw, 1rem); }
.authority-card__button { display: inline-flex; min-block-size: 44px; padding: var(--space-sm) var(--space-md); align-self: flex-start; align-items: center; justify-content: space-between; gap: var(--space-md); background: var(--color-bg-dark); color: var(--color-text-inverse); border: 1px solid var(--color-bg-dark); font-family: var(--font-display); font-size: .75rem; font-weight: 800; text-decoration: none; text-transform: uppercase; transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.authority-card__button span { color: var(--color-accent); transition: transform var(--duration-fast) var(--ease-standard); }
.authority-card__button:hover, .authority-card__button:focus-visible { background: var(--color-bg-surface); color: var(--color-text-primary); }
.authority-card__button:hover span, .authority-card__button:focus-visible span { transform: translate(4px, -4px); }

.articles { background: var(--color-bg-primary); }
.articles__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
.article-card { position: relative; display: grid; min-inline-size: 0; grid-template-columns: minmax(0, 1fr); align-content: start; gap: var(--space-sm); border-block-start: 1px solid; padding-block-start: var(--space-sm); }
.article-card__image { display: block; inline-size: 100%; min-inline-size: 0; aspect-ratio: 16 / 8.5; overflow: hidden; background: #dfe8d0; }
.article-card__image img { inline-size: 100%; block-size: 100%; object-fit: cover; transition: transform var(--duration-standard) var(--ease-standard), filter var(--duration-standard) var(--ease-standard); }
.article-card:hover .article-card__image img, .article-card:focus-within .article-card__image img { transform: scale(1.02); filter: contrast(1.04); }
.article-card__body { display: flex; min-inline-size: 0; flex-direction: column; align-items: flex-start; }
.article-card__meta { display: flex; inline-size: 100%; margin-block-end: var(--space-xs); justify-content: space-between; gap: var(--space-xs); font-size: .7rem; }
.article-card__meta span { font-family: var(--font-display); font-weight: 700; }
.article-card__meta time { color: #111111ad; }
.article-card h3 { margin-block-end: var(--space-xs); font-size: clamp(1rem, .94rem + .25vw, 1.25rem); line-height: 1.12; }
.article-card h3 a { color: inherit; text-decoration: none; }
.article-card h3 a:hover { text-decoration: underline; text-decoration-color: var(--color-accent); }
.article-card__arrow { display: grid; inline-size: 36px; block-size: 36px; margin-block-start: auto; place-items: center; color: inherit; text-decoration: none; transition: transform var(--duration-fast) var(--ease-standard); }
.article-card:hover .article-card__arrow, .article-card:focus-within .article-card__arrow { transform: translateX(var(--space-2xs)); }
.article-card--featured { grid-template-columns: 1fr; padding-block-start: 0; border: 0; }
.article-card--featured .article-card__image { aspect-ratio: 16 / 9; }
.article-card--featured h3 { max-inline-size: 22ch; font-size: clamp(1.4rem, 1.2rem + .7vw, 2rem); }
.article-card--featured p { max-inline-size: 56ch; font-size: .92rem; }
.articles__mobile-cta { margin-block-start: var(--space-xl); }

@media (min-width: 40rem) {
    .authority-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .solutions__stage { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .solution { min-block-size: 30rem; }
    .testimonials__top { grid-template-columns: 1fr auto; align-items: end; }
    .testimonials__actions { display: grid; justify-items: end; }
    .testimonial { flex-basis: calc((100% - var(--carousel-gap)) / 2); }
    .articles__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .article-card--featured { grid-column: 1 / -1; }
    .articles__mobile-cta { display: none; }
}

@media (min-width: 64rem) {
    .home-hero__inner { inline-size: 100%; max-inline-size: none; grid-template-columns: repeat(2, minmax(0, 1fr)); block-size: clamp(34rem, calc(100svh - 77px), 42rem); }
    .home-hero__copy { padding-inline: max(var(--gutter-page), calc((100vw - var(--container-main)) / 2)) clamp(2rem, 5vw, 4rem); }
    .home-hero__media { block-size: auto; min-block-size: 0; align-self: stretch; overflow: hidden; border-block-start: 0; border-inline-start: 1px solid; }
    .home-hero__media:hover .hero-media, .home-hero__media:focus-within .hero-media { flex-basis: 30%; }
    .home-hero__media .hero-media:hover, .home-hero__media .hero-media:focus-visible { flex-basis: 40%; }
    .solutions__stage { display: flex; block-size: clamp(28rem, 38vw, 34rem); gap: 0; border: 1px solid; }
    .solution { min-block-size: 0; block-size: 100%; flex: 0 1 25%; border-inline-start: 1px solid; transition: flex-basis var(--duration-slow) var(--ease-standard); }
    .solution:first-child { border: 0; }
    .solution--featured { flex-basis: 50%; }
    .solutions__stage:hover .solution, .solutions__stage:focus-within .solution { flex-basis: 25%; }
    .solutions__stage .solution:hover, .solutions__stage .solution:focus-within { flex-basis: 50%; }
    .solution__reveal { max-block-size: 0; overflow: hidden; opacity: 0; transform: translateY(var(--space-xs)); transition: max-block-size var(--duration-slow) var(--ease-standard), opacity var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard); }
    .solution--featured .solution__reveal, .solution:hover .solution__reveal, .solution:focus-within .solution__reveal { max-block-size: 12rem; opacity: 1; transform: translateY(0); }
    .solutions__stage:hover .solution--featured:not(:hover):not(:focus-within) .solution__reveal, .solutions__stage:focus-within .solution--featured:not(:focus-within) .solution__reveal { max-block-size: 0; opacity: 0; transform: translateY(var(--space-xs)); }
    .solutions__stage:hover .solution--featured:not(:hover) .solution__shade, .solutions__stage:focus-within .solution--featured:not(:focus-within) .solution__shade { background: linear-gradient(180deg, #1111110d 25%, #111111d9 100%); }
    .solutions__stage .solution:hover .solution__shade, .solutions__stage .solution:focus-within .solution__shade { background: linear-gradient(180deg, #43640c47 10%, #314a0be8 100%); }
    .about-contact { background: linear-gradient(to right, var(--color-bg-surface) 40%, var(--color-bg-dark) 40%); }
    .about-contact__inner { inline-size: 100%; max-inline-size: none; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); block-size: min(100svh, 47.5rem); max-block-size: 47.5rem; }
    .about-contact__about, .about-contact__portrait { min-block-size: 0; block-size: 100%; }
    .about-contact__about-copy { inset-inline: max(var(--gutter-page), calc((100vw - var(--container-main)) / 2)) var(--space-lg); }
    .about-contact__contact, .authority-grid { min-block-size: 0; block-size: 100%; }
    .about-contact__contact { margin: 0; }
    .authority-grid { grid-template-rows: repeat(2, minmax(0, 1fr)); }
    .authority-card { min-block-size: 0; }
    .articles__layout { grid-template-columns: minmax(0, 1.64fr) repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: var(--space-lg); }
    .article-card--featured { grid-column: auto; grid-row: 1 / 3; }
    .article-card--featured .article-card__image { aspect-ratio: 16 / 10; }
    .articles { padding-block: 3rem; }
    .articles .section-heading { margin-block-end: var(--space-xl); }
}

@media (min-width: 75rem) {
    .testimonial { flex-basis: calc((100% - (3 * var(--carousel-gap))) / 4); }
}

@media (max-width: 63.999rem) {
    .solution__reveal { opacity: 1; }
}

@media (max-width: 47.999rem) {
    .home-section { padding-block: 2.75rem; }
    .home-section__inner, .home-hero__inner, .about-contact__inner { inline-size: calc(100% - (2 * var(--space-md))); }
    .home-hero__copy { padding-block: 2.75rem; }
    .home-hero__media { block-size: 24rem; margin-inline: calc(-1 * var(--space-md)); }
    .hero-media { flex-basis: 33.333%; }
    .hero-media::after { opacity: .35; }
    .hero-media figcaption { inset: 50% auto auto var(--space-md); opacity: 1; transform: translateY(-50%); font-size: .9rem; }
    .section-heading--row > .editorial-link { display: none; }
    .testimonials__title-group { display: grid; align-items: start; }
    .google-signature { justify-items: start; }
    .testimonials__actions { align-items: flex-start; flex-direction: column; }
    .about-contact { padding: 0; }
    .about-contact__portrait { min-block-size: 30rem; margin-inline: calc(-1 * var(--space-md)); }
    .about-contact__about-copy { inset: auto var(--space-md) var(--space-lg); }
    .about-contact__contact { margin-inline: calc(-1 * var(--space-md)); }
    .article-card__image { aspect-ratio: 16 / 9; }
    .article-card__meta { display: grid; justify-content: start; gap: var(--space-2xs); }
}

@media (max-width: 22rem) {
    .home-hero h1 { font-size: 1.85rem; }
    .home-hero__lead { font-size: 1rem; }
    .editorial-link--solid { inline-size: 100%; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-media, .hero-media figcaption, .hero-media::after, .solution, .solution__reveal, .article-card__image img, .article-card__arrow, .authority-card__button, .authority-card__button span { transition: none; }
}
