/* ============================================================
   ALIFY — RESPONSIVE & CROSS-PAGE CONSISTENCY FINAL PASS
   Loaded last. Keeps page-specific art direction while normalizing
   gutters, type rhythm, media proportions, stacking and touch UX.
   ============================================================ */

/* Universal safety / intrinsic sizing */
.responsive-final,
.responsive-final main,
.responsive-final section,
.responsive-final header,
.responsive-final footer{max-width:100%}
.responsive-final :where(.container,.nav__inner,.menu-panel__inner,.footer__top,.footer__bottom,.footer__statement,.inner-hero__wrap,.split,.contact-layout,.project,.case-story,.service-detail-head,.service-editorial-split,.service-section-head,.services-engagement__head,.industry-detail-head,.proof-final-head,.pricing-final-head,.faq-final-shell,.article-shell,.brief-workspace__inner,.consultation-agenda__head){min-width:0}
.responsive-final :where(img,video,svg,canvas,iframe){max-width:100%}
.responsive-final :where(input,textarea,select,button){max-width:100%;min-width:0}
.responsive-final :where(h1,h2,h3,h4,p,li,a,span,strong){overflow-wrap:break-word}
.responsive-final :where(h1,h2,h3,.display){text-wrap:balance}
.responsive-final :where(p,.body-copy,.inner-hero__copy){text-wrap:pretty}
.responsive-final :where(pre,table){max-width:100%;overflow:auto}
.responsive-final .container{margin-inline:auto}
.responsive-final .inner-hero__wrap{width:var(--container);max-width:100%;margin-inline:auto}
.responsive-final .nav__inner,.responsive-final .menu-panel__inner{max-width:100%}
.responsive-final .menu-panel{overflow-y:auto;overscroll-behavior:contain}
.responsive-final .mega-menu__shell{max-height:calc(100vh - 92px);overflow-y:auto}
.responsive-final .service-preview{max-width:calc(100vw - 32px)}
.responsive-final :where(.footer__cols,.footer__legal,.project__tags,.filter-chips,.check-grid,.role-facts){min-width:0}

/* Better pointer / touch behavior */
@media (hover:none),(pointer:coarse){
  .responsive-final .cursor,.responsive-final .cursor-dot,.responsive-final .service-preview{display:none!important}
  .responsive-final :where(a,button,input,textarea,select,label){-webkit-tap-highlight-color:transparent}
  .responsive-final :where(.nav__links a,.menu-btn,.nav__cta,.filter-chip,.consent-btn,.back-top,.brief-next,.brief-back,.form-submit,.newsletter-submit){min-height:44px}
}

/* Wide desktop — stop the layout from becoming too sparse at 1920+ */
@media (min-width:1600px){
  .responsive-final{--container:min(1520px,calc(100vw - 112px))}
  .responsive-final .hero__title{font-size:clamp(118px,10.4vw,188px)}
  .responsive-final .inner-hero h1{max-width:1420px}
  .responsive-final .inner-hero__copy{max-width:620px}
  .responsive-final .project__media{max-height:760px}
  .responsive-final .article--final{max-width:900px}
  .responsive-final .footer__cols{max-width:720px}
}

/* Laptop / compact desktop */
@media (min-width:1025px) and (max-width:1439px){
  .responsive-final{--container:min(1360px,calc(100vw - 64px))}
  .responsive-final .section{padding-top:140px;padding-bottom:140px}
  .responsive-final .hero{padding-top:148px}
  .responsive-final .hero__title{font-size:clamp(78px,11.5vw,154px)}
  .responsive-final .hero__top{margin-bottom:46px}
  .responsive-final .inner-hero{padding-top:154px;padding-bottom:62px}
  .responsive-final .inner-hero h1{font-size:clamp(64px,9vw,124px)}
  .responsive-final .projects-head,.responsive-final .services__head,.responsive-final .process__head,.responsive-final .numbers__top{gap:44px;margin-bottom:62px}
  .responsive-final .project{gap:34px;margin-bottom:86px}
  .responsive-final .project__media{height:min(62vw,650px)}
  .responsive-final .process__sticky{min-height:460px}
  .responsive-final .menu-panel__inner{gap:5vw}
  .responsive-final .footer__cols{gap:44px}
}

/* Tablet landscape / tablet portrait */
@media (min-width:681px) and (max-width:1024px){
  .responsive-final{--container:min(100%,calc(100vw - 48px))}
  .responsive-final .section{padding-top:108px;padding-bottom:108px}
  .responsive-final .nav{padding-top:14px;padding-bottom:14px}
  .responsive-final .hero{min-height:auto;padding-top:138px;padding-bottom:34px}
  .responsive-final .hero__title{font-size:clamp(72px,15vw,128px)}
  .responsive-final .hero__top{margin-bottom:36px}
  .responsive-final .hero__bottom{margin-top:34px}
  .responsive-final .statement{padding-top:116px;padding-bottom:112px}
  .responsive-final .statement__text{font-size:clamp(42px,7vw,64px)}
  .responsive-final .inner-hero{min-height:auto!important;padding-top:132px!important;padding-bottom:58px!important}
  .responsive-final .inner-hero h1{font-size:clamp(58px,11vw,96px)!important;line-height:.98!important;max-width:900px}
  .responsive-final .inner-hero__meta{margin-bottom:34px}
  .responsive-final .inner-hero__bottom{margin-top:34px}
  .responsive-final .project__media{height:auto!important;min-height:0!important;aspect-ratio:16/10}
  .responsive-final .project__meta{min-height:0;padding-bottom:22px}
  .responsive-final .project__meta h3{font-size:clamp(38px,7vw,56px)}
  .responsive-final .project__arrow{margin-top:22px}
  .responsive-final .service-row__title{font-size:clamp(30px,5.2vw,48px)}
  .responsive-final .process__sticky{min-height:360px}
  .responsive-final .quote__card{min-height:520px}
  .responsive-final .quote blockquote{font-size:clamp(38px,6.4vw,58px)}
  .responsive-final .feature-image,.responsive-final .service-feature-image{height:auto!important;aspect-ratio:16/10}
  .responsive-final .case-card__media{aspect-ratio:16/11}
  .responsive-final .case-gallery figure{min-width:0}
  .responsive-final .article-media img{height:auto!important;aspect-ratio:16/9;object-fit:cover}
  .responsive-final .menu-panel{padding-top:104px;padding-bottom:34px}
  .responsive-final .menu-panel__links a{font-size:clamp(44px,8.5vw,72px)}
  .responsive-final .footer__cols{width:100%;flex-wrap:wrap;gap:32px 48px}
  .responsive-final .footer__col{min-width:145px}
  .responsive-final .consent-dialog{width:min(680px,calc(100vw - 48px));max-height:calc(100svh - 48px);overflow:auto}
}

/* Mobile */
@media (max-width:680px){
  .responsive-final{--container:calc(100vw - 36px)}
  body.responsive-final{font-size:15px}
  .responsive-final .section{padding-top:84px;padding-bottom:84px}
  .responsive-final .section--compact{padding-top:54px;padding-bottom:54px}
  .responsive-final .nav__inner{gap:12px}
  .responsive-final .hero{min-height:auto;padding-top:116px;padding-bottom:26px}
  .responsive-final .hero__top{gap:20px;margin-bottom:30px}
  .responsive-final .hero__intro{font-size:13px;line-height:1.72}
  .responsive-final .hero__title{font-size:clamp(52px,16.6vw,82px);line-height:.98}
  .responsive-final .hero__bottom{margin-top:26px;padding-top:16px}
  .responsive-final .statement{padding-top:88px;padding-bottom:88px}
  .responsive-final .statement__text{font-size:clamp(36px,10.8vw,52px);line-height:1.06}
  .responsive-final .statement__footer{margin-top:40px;padding-top:22px;gap:26px}
  .responsive-final .inner-hero{min-height:auto!important;padding-top:112px!important;padding-bottom:42px!important}
  .responsive-final .inner-hero h1{font-size:clamp(46px,14.2vw,72px)!important;line-height:1!important;max-width:100%}
  .responsive-final .inner-hero__meta{margin-bottom:28px!important;gap:12px}
  .responsive-final .inner-hero__copy{font-size:12px!important;line-height:1.74!important}
  .responsive-final .inner-hero__bottom{margin-top:28px!important;padding-top:16px}
  .responsive-final .projects-head,.responsive-final .services__head,.responsive-final .process__head,.responsive-final .numbers__top{margin-bottom:38px}
  .responsive-final .projects-head h2,.responsive-final .services__head h2,.responsive-final .numbers__top h2,.responsive-final .process__head h2{font-size:clamp(42px,13vw,64px)!important;line-height:1!important}
  .responsive-final .project{gap:18px;margin-bottom:58px}
  .responsive-final .project__media{height:auto!important;min-height:0!important;aspect-ratio:4/5}
  .responsive-final .project__media::after{right:12px;bottom:12px;padding:7px 9px;font-size:8px}
  .responsive-final .project__meta{min-height:0;padding-bottom:8px}
  .responsive-final .project__meta h3{font-size:clamp(34px,11vw,46px)!important;margin-bottom:18px}
  .responsive-final .project__arrow{width:46px;height:46px;margin-top:20px}
  .responsive-final .service-row{gap:9px 12px;padding:22px 0}
  .responsive-final .service-row__title{font-size:clamp(28px,9vw,38px)}
  .responsive-final .service-row__desc{font-size:11px;line-height:1.68}
  .responsive-final .process__sticky{min-height:310px;padding:24px}
  .responsive-final .process__visual-title{font-size:38px}
  .responsive-final .step{padding-top:30px;padding-bottom:40px}
  .responsive-final .step h3{font-size:clamp(32px,10vw,42px)}
  .responsive-final .numbers{padding-top:88px;padding-bottom:88px}
  .responsive-final .stat{padding:34px 0 38px}
  .responsive-final .stat strong{font-size:clamp(58px,18vw,82px)}
  .responsive-final .quote{padding-top:88px;padding-bottom:96px}
  .responsive-final .quote__card{min-height:0;padding:36px 0}
  .responsive-final .quote blockquote{font-size:clamp(34px,10.5vw,48px);margin:38px 0}
  .responsive-final .cta{padding-top:96px;padding-bottom:72px}
  .responsive-final .cta h2{max-width:100%}
  .responsive-final .feature-image,.responsive-final .service-feature-image,.responsive-final .case-card__media{height:auto!important;aspect-ratio:4/3}
  .responsive-final .case-gallery figure{width:100%!important;margin-top:0!important}
  .responsive-final .case-gallery img{height:auto!important;aspect-ratio:4/3;object-fit:cover}
  .responsive-final .article-media img{height:auto!important;min-height:0!important;aspect-ratio:4/3;object-fit:cover}
  .responsive-final .article--final{font-size:15px;line-height:1.82}
  .responsive-final .article--final .article__intro{font-size:clamp(30px,9vw,40px)!important;line-height:1.12}
  .responsive-final .menu-panel{padding-top:82px;padding-bottom:22px}
  .responsive-final .menu-panel__inner{align-items:flex-start}
  .responsive-final .menu-panel__links a{font-size:clamp(36px,11.2vw,52px);padding:11px 0}
  .responsive-final .footer__statement{padding-top:36px;padding-bottom:30px}
  .responsive-final .footer__statement p{font-size:clamp(26px,8vw,34px)}
  .responsive-final .footer__brand{font-size:clamp(54px,18vw,72px)}
  .responsive-final .footer__cols{gap:28px 34px}
  .responsive-final .footer__col{min-width:calc(50% - 18px)}
  .responsive-final .footer__bottom{align-items:flex-start}
  .responsive-final .footer__legal{flex-wrap:wrap;gap:10px 14px}
  .responsive-final .newsletter-shell{gap:28px}
  .responsive-final .newsletter-copy h2{font-size:clamp(34px,10vw,44px)}
  .responsive-final .newsletter-field input{font-size:16px}
  .responsive-final :where(input,textarea,select){font-size:16px}
  .responsive-final textarea{min-height:130px}
  .responsive-final .consent-banner{max-height:calc(100svh - 20px);overflow:auto}
  .responsive-final .consent-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px);overflow:auto}
  .responsive-final .back-top{width:44px;height:44px}

  /* Override layout-grid mobile rules with flexible wrapping. */
  .responsive-final.services-final .archive-row,
  .responsive-final .engagement-row,
  .responsive-final.service-final .deliverable,
  .responsive-final .service-outcome-row,
  .responsive-final .industry-adaptation__row,
  .responsive-final .industry-pressure,
  .responsive-final .industry-capability,
  .responsive-final .proof-signal,
  .responsive-final .proof-case,
  .responsive-final .engagement-price,
  .responsive-final .pricing-driver,
  .responsive-final .contact-route{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important}
  .responsive-final.services-final .archive-row__num,
  .responsive-final .engagement-row__num,
  .responsive-final.service-final .deliverable>i,
  .responsive-final .service-outcome-row>span,
  .responsive-final .industry-pressure>span,
  .responsive-final .proof-signal>span,
  .responsive-final .pricing-driver>span{flex:0 0 34px;width:34px!important}
  .responsive-final.services-final .archive-row__type{flex:1 1 calc(100% - 50px)!important;width:auto!important}
  .responsive-final.services-final .archive-row__title,
  .responsive-final.services-final .archive-row__copy{flex:1 1 calc(100% - 50px)!important;width:auto!important;margin-left:46px}
  .responsive-final.services-final .archive-row__title{margin-top:4px}
  .responsive-final.services-final .archive-row__copy{padding-left:0;margin-top:5px}
  .responsive-final.services-final .archive-row__arrow{position:absolute!important;right:0!important;top:50%!important;transform:translateY(-50%)!important}
  .responsive-final .engagement-row h3,.responsive-final .engagement-row p,
  .responsive-final.service-final .deliverable h3,.responsive-final.service-final .deliverable p,
  .responsive-final .service-outcome-row h3,.responsive-final .service-outcome-row p,
  .responsive-final .industry-pressure h3,.responsive-final .industry-pressure p,
  .responsive-final .proof-signal h3,.responsive-final .proof-signal p,
  .responsive-final .pricing-driver h3,.responsive-final .pricing-driver p{flex:1 1 calc(100% - 50px)!important;width:auto!important}
  .responsive-final .engagement-row p,.responsive-final.service-final .deliverable p,.responsive-final .service-outcome-row p,.responsive-final .industry-pressure p,.responsive-final .proof-signal p,.responsive-final .pricing-driver p{margin-left:46px!important}
  .responsive-final .faq-jumps{display:flex!important;flex-wrap:wrap}
  .responsive-final .faq-jumps a{width:50%;border-right:0!important;padding-left:0!important;padding-right:12px!important}
  .responsive-final .contact-route>span{flex:0 0 28px}.responsive-final .contact-route>div{flex:1 1 calc(100% - 86px)}.responsive-final .contact-route>i{flex:0 0 38px}
}

/* Small phones */
@media (max-width:430px){
  .responsive-final{--container:calc(100vw - 28px)}
  .responsive-final .section{padding-top:74px;padding-bottom:74px}
  .responsive-final .hero{padding-top:104px}
  .responsive-final .hero__title{font-size:clamp(48px,16.2vw,70px)}
  .responsive-final .inner-hero{padding-top:104px!important;padding-bottom:36px!important}
  .responsive-final .inner-hero h1{font-size:clamp(42px,13.5vw,62px)!important}
  .responsive-final .eyebrow{font-size:9px;gap:9px;letter-spacing:.14em}
  .responsive-final .eyebrow::before{width:18px}
  .responsive-final .tag{font-size:9px;padding:6px 8px}
  .responsive-final .footer__col{min-width:100%}
  .responsive-final .consent-actions{display:flex!important;flex-direction:column}
  .responsive-final .consent-actions .consent-btn{width:100%}
  .responsive-final .faq-jumps a{width:100%}
  .responsive-final .check-grid--wide .check-pill{flex-basis:100%!important}
}

/* Short laptop screens: avoid trapped full-height experiences. */
@media (min-width:681px) and (max-height:720px){
  .responsive-final .hero{min-height:auto;padding-top:126px}
  .responsive-final .inner-hero{min-height:auto!important;padding-top:122px!important}
  .responsive-final .menu-panel{padding-top:86px;padding-bottom:28px}
  .responsive-final .menu-panel__links a{padding-top:9px;padding-bottom:9px;font-size:clamp(38px,7vh,58px)}
}

/* Family-specific responsive corrections discovered in cross-page audit. */
@media (min-width:681px) and (max-width:1024px){
  .responsive-final.industry-detail-final .industry-detail-visual,
  .responsive-final .featured-story__media{height:auto!important;min-height:0!important;aspect-ratio:16/10}
  .responsive-final .industry-principle{min-height:260px}
  .responsive-final .featured-story__copy{max-width:760px}
  .responsive-final .status-page--final .status-page__code{font-size:clamp(120px,24vw,230px)}
}

@media (max-width:680px){
  .responsive-final.industry-detail-final .industry-detail-visual,
  .responsive-final .featured-story__media{height:auto!important;min-height:0!important;aspect-ratio:4/3}
  .responsive-final .industry-adaptation__row>span{flex:0 0 34px;width:34px!important}
  .responsive-final .industry-adaptation__row h3,
  .responsive-final .industry-adaptation__row p{flex:1 1 calc(100% - 50px)!important;width:auto!important}
  .responsive-final .industry-adaptation__row p{margin-left:48px!important}
  .responsive-final .industry-capability{position:relative;padding-right:56px!important}
  .responsive-final .industry-capability>div,
  .responsive-final .industry-capability>p{flex:1 1 100%!important;width:100%!important}
  .responsive-final .industry-capability>i{position:absolute;right:0;top:50%;transform:translateY(-50%)}
  .responsive-final.industry-detail-final .matrix-row{position:relative!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding-right:52px!important}
  .responsive-final.industry-detail-final .matrix-row strong,
  .responsive-final.industry-detail-final .matrix-row p{width:100%!important}
  .responsive-final.industry-detail-final .matrix-row i{position:absolute;right:0;top:50%;transform:translateY(-50%)}
  .responsive-final .engagement-price{position:relative}
  .responsive-final .engagement-price__num{flex:0 0 34px}
  .responsive-final .engagement-price__main{flex:1 1 calc(100% - 50px)}
  .responsive-final .engagement-price__fit,
  .responsive-final .engagement-price__commercial{flex:1 1 calc(100% - 48px);margin-left:48px;text-align:left}
  .responsive-final .proof-case{position:relative;padding-right:54px!important}
  .responsive-final .proof-case>span,
  .responsive-final .proof-case>strong,
  .responsive-final .proof-case>p{flex:1 1 100%;width:100%!important}
  .responsive-final .proof-case>i{position:absolute;right:0;top:50%;transform:translateY(-50%)}
  .responsive-final .status-page--final .status-page__code{font-size:clamp(96px,35vw,150px)}
}
@media (max-width:680px){
  .responsive-final .pricing-process__head{flex-direction:column;align-items:flex-start;gap:18px}
  .responsive-final .pricing-process__head>div,.responsive-final .pricing-process__head h2{width:100%;max-width:100%}
}
@media (max-width:430px){
  .responsive-final .hero__title{font-size:clamp(46px,13.8vw,60px)}
}

/* Accessibility utility — media/performance final */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
