/*
  Responsive refinement — 2026-08
  Final pass for sub pages and case studies.
  Goal: preserve the approved editorial grid while avoiding desktop compression
  at small-laptop / tablet widths.
*/

html,body{max-width:100%;overflow-x:clip}
.sub-shell,.page-hero,.content-section,.cta-inner,.case-section,.case-consult-inner,.site-footer,
.works-list,.work-entry,.work-copy,.work-visual,.contact-layout,.contact-form,.about-profile,
.about-profile-heading,.about-profile-copy,.about-profile-experience,.support-grid,.support-plan,
.capabilities,.cap-row,.price-wrap,.price-row,.process,.company-table,.privacy-copy{min-width:0}

.page-hero,.content-section,.cta-inner,.case-section,.case-consult-inner{
  grid-template-columns:repeat(12,minmax(0,1fr));
}
img,svg,video,canvas,iframe{max-width:100%}

/* Small laptops: keep breathing room and reduce crowded multi-column content. */
@media (min-width:901px) and (max-width:1199px){
  :root{--pad:clamp(34px,4.8vw,56px)}

  .site-header{padding-left:var(--pad);padding-right:var(--pad)}
  .site-nav{gap:clamp(18px,2.8vw,34px);font-size:10.5px}

  .page-hero{
    min-height:60svh;
    padding-top:clamp(122px,13vw,148px);
    padding-bottom:64px;
    column-gap:20px;
  }
  .page-title{grid-column:1/9;font-size:clamp(38px,4.8vw,56px);max-width:13em}
  .page-lead{grid-column:8/13;max-width:30em;font-size:13.5px}
  .page-rail{width:min(38vw,430px)}

  .content-section{
    width:100%;
    padding-top:clamp(76px,8vw,98px);
    padding-bottom:clamp(76px,8vw,98px);
    column-gap:20px;
  }
  .section-title{grid-column:1/7;font-size:clamp(28px,3.25vw,40px)}
  .section-body{grid-column:8/13;max-width:100%;font-size:13.5px}

  .process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process article:nth-child(2){border-right:0}
  .process article:nth-child(n+3){border-top:1px solid var(--line)}

  .cap-row{grid-template-columns:58px minmax(150px,1fr) minmax(0,1.4fr);gap:22px}
  .cap-row>p{grid-column:3/4}
  .cap-examples{grid-column:2/4;margin-top:-2px}

  .support-grid-three{grid-template-columns:1fr}
  .support-grid-three .support-plan+.support-plan{border-left:0;border-top:1px solid var(--line)}

  .work-entry{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,4vw,54px);padding:44px 0}
  .work-copy strong{max-width:none;font-size:clamp(20px,2.35vw,28px)}

  .about-profile{padding:clamp(46px,5vw,64px)}
  .about-profile-experience{grid-template-columns:repeat(3,minmax(0,1fr))}
  .about-profile-experience div:nth-child(3){border-right:0}
  .about-profile-experience div:nth-child(n+4){border-top:1px solid rgba(255,255,255,.18)}

  .contact-layout{grid-template-columns:minmax(190px,2.7fr) minmax(0,7.3fr);gap:clamp(30px,4vw,52px)}
  .privacy-copy{grid-column:2/12}

  .case-client{grid-column:1/10}
  .case-lead{grid-column:1/9;max-width:28em}
  .case-meta-wrap{grid-column:9/13}
  .case-section h2{grid-column:3/8}
  .case-copy,.deliverables{grid-column:8/13}
}

/* Tablet: deliberate single-column reading flow instead of squeezed desktop. */
@media (max-width:900px){
  :root{--pad:clamp(24px,5vw,38px)}

  .page-hero,.content-section,.cta-inner,.case-section,.case-consult-inner{grid-template-columns:1fr;column-gap:0}
  .page-no,.page-title,.page-lead,.eyebrow,.section-title,.section-body,
  .process,.capabilities,.consult-list,.price-wrap,.support-grid,.works-list,.cms-state,
  .case-client,.case-lead,.case-meta-wrap,.case-index,.case-section h2,.case-copy,.case-gallery,.deliverables,
  .privacy-copy{grid-column:auto}

  .page-hero{min-height:auto;padding-top:118px;padding-bottom:66px}
  .page-title{margin-top:clamp(54px,9vw,78px);max-width:13em;font-size:clamp(36px,6.2vw,50px)}
  .page-lead{margin-top:32px;max-width:38em}
  .page-rail{position:relative;left:auto;bottom:auto;width:72px;margin-top:34px}

  .content-section{padding-top:clamp(66px,8vw,82px);padding-bottom:clamp(66px,8vw,82px)}
  .section-title{margin-top:22px;max-width:16em}
  .section-body{margin-top:24px;max-width:46em}

  .work-entry{grid-template-columns:1fr;gap:30px;padding:42px 0}
  .work-entry:nth-child(even) .work-visual{order:0}
  .work-copy strong{max-width:26em}

  .about-profile{grid-template-columns:1fr}
  .about-profile-heading,.about-profile-copy,.about-profile-experience{grid-column:auto}

  .contact-layout{grid-template-columns:1fr;gap:36px}
  .contact-side{position:static;padding-right:0;max-width:40em}

  .site-footer{grid-template-columns:1fr auto;padding-left:var(--pad);padding-right:var(--pad)}
  .site-footer nav{display:none}
}

@media (max-width:620px){
  :root{--pad:20px}
  .page-hero{padding-top:92px;padding-bottom:48px}
  .page-title{margin-top:44px;font-size:clamp(32px,9vw,42px);line-height:1.45}
  .page-lead{margin-top:24px;font-size:12.5px;line-height:1.95}
  .page-rail{width:54px;margin-top:26px}

  .content-section{padding-top:58px;padding-bottom:58px}
  .section-title{font-size:clamp(26px,7.5vw,34px);line-height:1.52}
  .section-body{font-size:13px;line-height:1.95}

  .cap-row{grid-template-columns:38px minmax(0,1fr);gap:12px}
  .cap-row>p,.cap-examples{grid-column:1/3}
  .price-row{grid-template-columns:1fr;gap:8px}
  .price-row h3,.price-row p,.price-row strong{grid-column:auto;grid-row:auto;justify-self:start}
  .price-row strong{margin-top:4px}

  .work-entry{padding:34px 0;gap:24px}
  .work-copy strong{font-size:21px;line-height:1.6}
  .work-visual{aspect-ratio:4/3}

  .about-profile{padding:32px var(--pad) 28px}
  .about-profile-experience{display:block}
  .about-profile-experience div{border-right:0;border-top:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .about-profile-experience div:last-child{border-bottom:0}

  .contact-layout{margin-top:36px;gap:28px}
  .field{padding:17px 0}
  .submit-row{display:block}
  .submit-row button{width:100%;min-width:0;margin-top:14px}

  .case-section{padding-top:34px;padding-bottom:34px}
  .case-gallery figure{min-height:220px}
  .case-consult-inner{padding-left:var(--pad);padding-right:var(--pad)}

  .site-footer{padding-top:44px;padding-bottom:44px}
}
