/* Responsive */
@media(max-width:1120px){
  .container,.services-showcase.container{width:calc(100% - var(--layout-gutter-tablet))}
  .site-nav{top:var(--header-size);background:#fff;padding:19px 26px 29px;max-height:calc(100dvh - var(--header-size))}
  .site-nav>a{font-size:15px;padding:14px 17px}
  .site-nav>a[aria-current=page]{background:#edf2ed;border-radius:9px}
  .site-nav>a[aria-current=page]::after{display:none}
  .home-hero.home-hero--illustrated{
    grid-template-columns:minmax(0,1.13fr) minmax(245px,.87fr);
    padding:56px 43px;gap:12px;min-height:520px;
  }
  .home-hero h1{font-size:clamp(43px,5.1vw,64px)}
  .home-hero__visual img{max-height:360px}
  .services-showcase .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-card.service-card--illustrated{min-height:435px}
}
@media(max-width:760px){
  html{scroll-padding-top:83px}
  .container,.services-showcase.container{width:calc(100% - var(--layout-gutter-mobile))}
  .site-header{height:var(--header-size-mobile)}
  .site-nav{top:var(--header-size-mobile);max-height:calc(100dvh - var(--header-size-mobile));padding:16px 18px 23px}
  .brand__logo,.brand__mark:not(img){width:46px;height:46px;flex-basis:46px}
  .brand__text strong{font-size:12px;letter-spacing:.09em}
  .brand__text small{font-size:9px}
  h1{font-size:clamp(37px,8vw,53px)}
  h2{font-size:clamp(28px,6.2vw,39px)}
  .section{padding-top:var(--section-space-mobile)}
  .section-heading{display:block;margin-bottom:27px}
  .section-heading__note{max-width:560px;margin-top:13px}
  .home-hero.home-hero--illustrated{
    display:grid;grid-template-columns:minmax(0,1fr);
    min-height:0;
    margin-top:16px;margin-bottom:16px;
    gap:15px;
    padding:43px 27px 29px;
    border-radius:18px;
  }
  .home-hero h1{font-size:clamp(37px,8vw,53px);margin-bottom:21px}
  .home-hero .lead{font-size:15px;line-height:1.75}
  .home-hero .actions{gap:9px;margin-top:25px}
  .home-hero__proof{margin-top:22px;padding-top:20px;gap:11px 18px}
  .home-hero__visual{justify-self:center;max-width:345px}
  .home-hero__visual img{max-height:294px}
  .home-order-tracking{padding:23px 23px;align-items:flex-start;flex-direction:column;gap:17px;border-radius:15px}
  .home-order-tracking__button{width:100%}
  .service-grid,.services-showcase .service-grid,
  .price-grid,.price-grid:has(> :nth-child(4)),.simple-grid--two{grid-template-columns:minmax(0,1fr)}
  .service-card.service-card--illustrated{min-height:0;padding:0 22px 24px;border-radius:16px}
  .service-card.service-card--illustrated .service-card__visual{
    width:calc(100% + 44px);height:clamp(195px,58vw,255px);flex-basis:auto;
    margin:0 -22px 17px;padding:12px 17px 3px;border-radius:16px 16px 0 0;
  }
  .service-card--illustrated h3{font-size:21px}
  .workstation-feature{
    grid-template-columns:minmax(0,1fr);gap:10px;
    padding:35px 27px;border-radius:17px;
  }
  .workstation-feature__visual img{max-height:265px}
  .page-intro{padding-top:16px}
  .page-intro__inner,.page-intro__inner.page-intro__inner--illustrated{
    min-height:0;padding:36px 27px;border-radius:17px;
  }
  .page-intro__inner.page-intro__inner--illustrated{grid-template-columns:minmax(0,1fr);gap:15px}
  .page-intro h1{font-size:clamp(37px,7.7vw,52px)}
  .page-intro .lead{font-size:15px}
  .page-intro__visual img{max-height:250px}
  .price-card{padding:27px}
  .price-card__intro{min-height:0}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .step{min-height:175px;padding:22px}
  .simple-card{padding:27px;min-height:0}
  .contact-banner{
    flex-direction:column;align-items:flex-start;
    gap:23px;
    margin-top:76px;margin-bottom:66px;
    padding:37px 28px;border-radius:17px;
  }
  .contact-banner .button{width:100%}
  .calculator{grid-template-columns:1fr}
  .calculator__fields,.calculator__summary{padding:25px}
  .calculator__summary{position:static}
  .contact-layout{grid-template-columns:1fr;gap:29px}
  .site-footer{margin-top:75px;padding-top:46px}
  .footer-main{grid-template-columns:1fr;gap:30px;padding-bottom:39px}
}
@media(max-width:430px){
  .home-hero.home-hero--illustrated{padding:36px 23px 25px}
  .home-hero h1{font-size:clamp(35px,10vw,43px)}
  .home-hero .actions{flex-direction:column;align-items:stretch}
  .home-hero .actions .button{width:100%;white-space:normal;text-align:center}
  .home-hero__visual img{max-height:242px}
  .home-hero__proof{flex-direction:column;align-items:flex-start;gap:9px}
  .steps{grid-template-columns:1fr}
  .step{min-height:0}
  .service-card.service-card--illustrated .service-card__visual{height:clamp(188px,57vw,225px)}
  .service-card--illustrated .service-card__bottom{align-items:flex-start}
  .service-card__request{width:100%;white-space:normal;text-align:center}
  .price-card{padding:24px}
  .page-intro__inner,.page-intro__inner.page-intro__inner--illustrated{padding:32px 23px}
  .workstation-feature{padding:31px 23px}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-banner{padding:34px 23px}
  .order-confirmation{border-radius:16px}
}
@media(prefers-reduced-motion:reduce){
  .service-card,.price-card,.button,.service-card__visual img{transition:none!important}
  .service-card:hover,.price-card:hover,.button:hover,.service-card--illustrated:hover .service-card__visual img{
    transform:none!important;
  }
}


/* Page-intro artwork adapts from two columns to a vertical, non-cropped hero. */
@media(max-width:1120px){
  .page-intro__inner.page-intro__inner--illustrated{
    grid-template-columns:minmax(0,1.1fr) minmax(215px,.9fr);
    gap:clamp(10px,2vw,25px);
  }
  .page-intro__visual{max-width:350px}
  .page-intro__visual img{max-height:290px}
}
@media(max-width:760px){
  .page-intro__inner.page-intro__inner--illustrated{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .page-intro__inner--illustrated .page-intro__copy{max-width:100%}
  .page-intro__visual{max-width:min(340px,100%);justify-self:center}
  .page-intro__visual img{max-height:265px}
}
@media(max-width:430px){
  .page-intro__visual{max-width:min(295px,100%)}
  .page-intro__visual img{max-height:225px}
}
