/* Approved sections-contrast-v1: scoped to the homepage. */
.home-services{padding-bottom:4rem;border-bottom:0}
.home-services .service-number,.home-services .tags{display:none}
.home-services .service-card{padding:2rem 3rem 2rem 3.7rem}
.home-services .service-card:nth-child(even){padding-left:6.4rem;padding-right:0}
.home-services .service-card:nth-child(-n+2){border-top:0}
.home-services .service-card>div:first-child{position:relative}
.home-services .service-card h3 .icon{position:absolute;left:-3.7rem;top:.2rem;width:1.9rem;height:1.9rem}
.home-services .service-card p{max-width:43ch}
.home-services .service-card h3{font-size:clamp(1.55rem,2.2vw,2rem)}
.home-services .service-card .text-link{margin-top:.55rem}
.home-process{--line:#555b59;--muted:#c0c4c0;--accent:var(--brand-accent-dark);background:#141717;color:#f7f5f0;padding-block:clamp(3rem,5vw,5rem)}
.home-process .section-head{margin-bottom:2.8rem}
.home-process .section-head h2{max-width:none;font-size:clamp(2.3rem,4.6vw,4.4rem);text-wrap:initial}
.home-process .eyebrow{display:flex;align-items:center;gap:1.4rem;color:#c0c4c0}
.home-process .eyebrow::before{content:'';width:44px;height:2px;background:var(--accent)}
.home-process .step{position:relative;padding:0 1.6rem 0 0;border:0}
.home-process .step-number{position:relative;font-size:1rem;padding-bottom:1.25rem;margin-bottom:1.2rem}
.home-process .step-number::after{content:'';position:absolute;width:8px;height:8px;bottom:-4px;left:0;border-radius:50%;background:var(--accent);z-index:1}
.home-process .step::before{content:'';position:absolute;top:2.9rem;left:0;right:0;border-top:1px solid var(--line)}
.home-process .step h3{font-size:clamp(1.45rem,2.1vw,1.85rem);text-wrap:initial}
.home-process .step p{color:var(--muted);font-size:.9375rem;max-width:28ch}
.home-about{grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,4vw,4rem);border-bottom:0;padding-bottom:3.4rem}
.home-about h2{max-width:13ch;font-size:clamp(2.2rem,3.65vw,3.6rem);text-wrap:initial}
.home-about .lead{font-size:1rem;line-height:1.65}
.home-about .studio-figure{background:none;align-self:center}
.home-about .studio-figure img{height:auto;aspect-ratio:1.45;object-fit:cover}
.home-about .principles{margin-block:1.4rem}
.home-contact{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2rem,4.5vw,4.5rem);margin-block:3.5rem;background:var(--brand-orange);color:#171818}
.home-contact-copy,.home-contact-actions{position:relative;z-index:1;min-width:0}
.home-contact h2{font-size:clamp(2.25rem,3.6vw,3.7rem);max-width:19ch;line-height:1.12;text-wrap:initial}
.home-contact h2 em{display:block;color:inherit}
.home-contact p{font-size:1rem;line-height:1.6;margin-top:1rem;max-width:44ch}
.home-contact-actions{display:grid;justify-items:start;gap:1.1rem;padding-right:6rem}
.home-contact-actions .button{max-width:100%;white-space:normal;text-align:left}
.home-contact-actions>a:not(.button){font-size:1rem;text-decoration:underline;overflow-wrap:anywhere}
.contact-monogram{position:absolute;z-index:0;right:-1rem;top:50%;transform:translateY(-50%);width:26%;height:auto;color:#b5371629;pointer-events:none}
.home-contact :focus-visible{outline-color:#171818}
.home-contact .button:focus-visible{outline-offset:6px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .home-services .text-link .arrow{transition:transform .2s ease}
  .home-services .text-link:hover .arrow{transform:translate(3px,-3px)}
}
@media(max-width:1020px){
  .home-contact-actions{padding-right:0}
  .home-process .steps{grid-template-columns:1fr 1fr;gap:2rem 0}
  .home-process .step p{max-width:32ch}
}
@media(max-width:760px){
  .home-services{padding-bottom:2.8rem}
  .home-services .service-card,.home-services .service-card:nth-child(even){padding:1.6rem 0 1.6rem 2.7rem}
  .home-services .service-card h3 .icon{left:-2.7rem;width:1.55rem;height:1.55rem}
  .home-services .service-card:nth-child(2){border-top:1px solid var(--line)}
  .home-services .service-card:first-child{padding-top:0}
  .home-process{padding-block:2.8rem}
  .home-process .section-head{margin-bottom:2.2rem}
  .home-process .section-head h2{font-size:clamp(2.1rem,8vw,3.5rem)}
  .home-process .steps{grid-template-columns:1fr;gap:0}
  .home-process .step{padding:0 0 2rem 2rem}
  .home-process .step:last-child{padding-bottom:0}
  .home-process .step::before{top:9px;bottom:-9px;left:3px;right:auto;border-top:0;border-left:1px solid var(--line)}
  .home-process .step:last-child::before{display:none}
  .home-process .step-number{padding:0;margin-bottom:.55rem;font-size:.8rem;line-height:20px}
  .home-process .step-number::after{left:-2rem;top:6px;bottom:auto}
  .home-process .step h3{font-size:1.55rem;margin-bottom:.6rem}
  .home-process .step p{font-size:.9rem;max-width:38ch}
  .home-about{grid-template-columns:1fr;gap:2rem;padding-bottom:2.5rem}
  .home-about h2{font-size:clamp(2.2rem,8vw,3.4rem)}
  .home-contact{grid-template-columns:1fr;gap:1.7rem;padding:1.65rem;margin-block:2.5rem}
  .home-contact h2{font-size:clamp(2rem,8vw,3rem)}
  .home-contact p{font-size:.95rem}
  .home-contact-actions{justify-items:stretch;gap:1rem}
  .home-contact-actions>a:not(.button){justify-self:start}
  .contact-monogram{width:54%;top:auto;bottom:-2rem;right:-2rem;transform:none;opacity:.65}
}
