/* ADCsites Public v127 — global responsive display scaling
   Purpose: at 1920px desktop / 100% browser zoom, make the public ADCsites UI
   read approximately like the accepted 1600px layout viewed at 120%, while
   leaving tablet/mobile geometry unchanged. Growth begins only at 1600px and
   caps at 1920px so 2K/4K screens do not keep inflating the interface. */

@media (min-width:761px){
  html,body,.site{max-width:100%;}
  .site{overflow-x:clip;}
  .site main,.site section,.site header,.site footer,.site nav,.site div{min-width:0;}
  .site img,.site svg{max-width:100%;}
}

/* Tablet / compact desktop safety. No enlargement is applied here. */
@media (min-width:761px) and (max-width:1100px){
  html,body,.site{overflow-x:clip;}
  .site-header,.section-pad,.page-hero{max-width:100%;}
  .page-hero>* , .home-hero>* , .final-cta>* , .responsive-showcase>*{min-width:0;}
  .service-mega{max-width:calc(100vw - 32px);}
}

@media (min-width:1600px){
  /* 16px -> 19.2px and 18px -> 21.6px from 1600 to 1920, then cap. */
  html{font-size:clamp(16px,1vw,19.2px);}
  body{font-size:clamp(18px,1.125vw,21.6px);}
  :root{--max:clamp(1240px,77.5vw,1488px);}

  /* Shared header: same apparent size as browser 120% at 1920px. */
  .site-header{
    min-height:clamp(82px,5.125vw,98px);
    padding-inline:clamp(140px,8.75vw,168px);
  }
  .site-header--scrolled{min-height:clamp(70px,4.375vw,84px);}
  .brand{gap:clamp(10px,.625vw,12px);}
  .brand__mark{width:clamp(37px,2.3125vw,44px);height:clamp(37px,2.3125vw,44px);}
  .brand__name{font-size:clamp(22px,1.375vw,26px);}
  .desktop-nav{gap:clamp(28px,1.75vw,34px);}
  .desktop-nav>a,.service-menu>summary{
    min-height:clamp(48px,3vw,58px);
    font-size:clamp(15px,.9375vw,18px);
  }
  .desktop-nav>a:after,.service-menu>summary:after{bottom:clamp(20px,1.25vw,24px);}
  .site-header__actions{gap:clamp(9px,.5625vw,11px);}
  .header-estimate{
    min-height:clamp(44px,2.75vw,53px);
    gap:clamp(7px,.4375vw,8px);
    padding-inline:clamp(17px,1.0625vw,20px);
    font-size:clamp(14px,.875vw,17px);
  }
  .language-menu>summary{
    min-width:clamp(60px,3.75vw,72px);
    min-height:clamp(44px,2.75vw,53px);
    padding-inline:clamp(10px,.625vw,12px);
    font-size:clamp(13px,.8125vw,16px);
  }
  .language-menu>div{min-width:clamp(172px,10.75vw,206px);border-radius:clamp(14px,.875vw,17px);padding:clamp(7px,.4375vw,8px);}
  .language-menu>div a{min-height:clamp(44px,2.75vw,53px);padding-inline:clamp(10px,.625vw,12px);font-size:clamp(14px,.875vw,17px);}
  .service-mega{
    width:min(clamp(1180px,73.75vw,1416px),calc(100vw - 58px));
    border-radius:clamp(22px,1.375vw,26px);
    grid-template-columns:.8fr 1.7fr;
    gap:clamp(36px,2.25vw,43px);
    padding:clamp(32px,2vw,38px);
    top:clamp(72px,4.5vw,86px);
  }
  .service-mega__intro{padding:clamp(12px,.75vw,14px);}
  .service-mega__intro h2{font-size:clamp(30px,1.875vw,36px);}
  .service-mega__intro p{font-size:clamp(16px,1vw,19px);}
  .service-mega__grid{gap:clamp(8px,.5vw,10px);}
  .service-mega__grid a{min-height:clamp(90px,5.625vw,108px);padding:clamp(15px,.9375vw,18px);}

  /* Shared content scale. */
  .section-pad{
    padding-top:clamp(112px,7vw,134px);
    padding-bottom:clamp(112px,7vw,134px);
    padding-left:max(28px,calc((100vw - var(--max))/2));
    padding-right:max(28px,calc((100vw - var(--max))/2));
  }
  .site main h1{font-size:clamp(64px,4vw,77px);}
  .site main h2{font-size:clamp(46px,2.875vw,55px);}
  .site main h3{font-size:clamp(28px,1.75vw,34px);}
  .eyebrow{gap:clamp(11px,.6875vw,13px);margin-bottom:clamp(20px,1.25vw,24px);font-size:clamp(14px,.875vw,17px);}
  .eyebrow>span{width:clamp(24px,1.5vw,29px);height:clamp(3px,.1875vw,4px);}
  .action-link{
    gap:clamp(14px,.875vw,17px);
    min-height:clamp(52px,3.25vw,62px);
    padding:clamp(7px,.4375vw,8px) clamp(7px,.4375vw,8px) clamp(7px,.4375vw,8px) clamp(21px,1.3125vw,25px);
    font-size:clamp(16px,1vw,19px);
  }
  .action-link>i{width:clamp(38px,2.375vw,46px);height:clamp(38px,2.375vw,46px);}
  .inline-link{min-height:clamp(44px,2.75vw,53px);gap:clamp(11px,.6875vw,13px);font-size:clamp(16px,1vw,19px);}

  /* Home page. */
  .home-hero{
    min-height:calc(100svh - clamp(82px,5.125vw,98px));
    padding-top:clamp(72px,4.5vw,86px);
    padding-bottom:clamp(54px,3.375vw,65px);
    padding-left:clamp(140px,8.75vw,168px);
    padding-right:clamp(140px,8.75vw,168px);
  }
  .home-hero__copy{max-width:clamp(650px,40.625vw,780px);padding:clamp(28px,1.75vw,34px) clamp(30px,1.875vw,36px) clamp(52px,3.25vw,62px) 0;}
  .home-hero__copy h1{font-size:clamp(64px,4vw,77px);margin-bottom:clamp(24px,1.5vw,29px);}
  .home-hero__copy>p{max-width:52ch;margin-bottom:clamp(30px,1.875vw,36px);font-size:clamp(20px,1.25vw,24px);}
  .home-hero__actions{gap:clamp(22px,1.375vw,26px);}
  .home-hero__proof{gap:clamp(9px,.5625vw,11px) clamp(16px,1vw,19px);margin-top:clamp(28px,1.75vw,34px);}
  .home-hero__proof span{gap:clamp(6px,.375vw,7px);font-size:clamp(13px,.8125vw,16px);}
  .earth-scene{min-height:clamp(620px,38.75vw,744px);}
  .earth-caption{gap:clamp(10px,.625vw,12px);padding:clamp(10px,.625vw,12px) clamp(14px,.875vw,17px);font-size:clamp(12px,.75vw,14px);bottom:clamp(20px,1.25vw,24px);}
  .mini-site{width:clamp(142px,8.875vw,170px);}

  .signal-bar>div{gap:clamp(12px,.75vw,14px);min-height:clamp(74px,4.625vw,89px);padding-inline:clamp(24px,1.5vw,29px);font-size:clamp(14px,.875vw,17px);}
  .signal-bar span{font-size:clamp(11px,.6875vw,13px);}
  .home-manifesto{gap:clamp(90px,5.625vw,108px);}
  .home-manifesto>div:last-child>p{font-size:clamp(19px,1.1875vw,23px);}
  .manifesto-chips{gap:clamp(8px,.5vw,10px);margin-top:clamp(26px,1.625vw,31px);}
  .manifesto-chips span{min-height:clamp(42px,2.625vw,50px);padding-inline:clamp(13px,.8125vw,16px);font-size:clamp(13px,.8125vw,16px);}

  .responsive-showcase{gap:clamp(56px,3.5vw,67px);min-height:clamp(760px,47.5vw,912px);}
  .responsive-showcase__copy>p{font-size:clamp(18px,1.125vw,22px);}
  .responsive-showcase__copy>div{gap:clamp(10px,.625vw,12px);margin-top:clamp(28px,1.75vw,34px);}
  .responsive-showcase__copy>div span{gap:clamp(9px,.5625vw,11px);font-size:clamp(14px,.875vw,17px);}
  .device-stage{min-height:clamp(570px,35.625vw,684px);}
  .browser-fragment{width:min(100%,clamp(500px,31.25vw,600px));}

  .service-bento{gap:clamp(14px,.875vw,17px);margin-bottom:clamp(28px,1.75vw,34px);}
  .service-tile{min-height:clamp(330px,20.625vw,396px);padding:clamp(25px,1.5625vw,30px);}
  .service-tile:first-child{min-height:clamp(430px,26.875vw,516px);}
  .service-tile>span{font-size:clamp(12px,.75vw,14px);}
  .service-tile p{font-size:clamp(15px,.9375vw,18px);}
  .service-tile>svg{top:clamp(22px,1.375vw,26px);right:clamp(23px,1.4375vw,28px);}

  /* Shared interior-page hero. */
  .page-hero{
    min-height:clamp(590px,36.875vw,708px);
    padding-top:clamp(80px,5vw,96px);
    padding-bottom:clamp(80px,5vw,96px);
    padding-left:max(28px,calc((100vw - var(--max))/2));
    padding-right:max(28px,calc((100vw - var(--max))/2));
  }
  .page-hero__copy{max-width:clamp(650px,40.625vw,780px);padding-right:clamp(55px,3.4375vw,66px);}
  .page-hero h1{font-size:clamp(60px,3.75vw,72px);margin-bottom:clamp(22px,1.375vw,26px);}
  .page-hero__copy>p{font-size:clamp(19px,1.1875vw,23px);}
  .page-hero__index{margin-top:clamp(35px,2.1875vw,42px);font-size:clamp(10px,.625vw,12px);}
  .page-hero__visual{min-height:clamp(420px,26.25vw,504px);}
  .context-back{min-height:clamp(42px,2.625vw,50px);margin-bottom:clamp(34px,2.125vw,41px);padding-inline:clamp(12px,.75vw,14px);font-size:clamp(13px,.8125vw,16px);}
  .services-hero-list span{padding:clamp(15px,.9375vw,18px);font-size:clamp(11px,.6875vw,13px);}
  .portfolio-hero-stack>span{padding:clamp(11px,.6875vw,13px) clamp(15px,.9375vw,18px);font-size:clamp(11px,.6875vw,13px);}
  .price-hero-scene{gap:clamp(14px,.875vw,17px);}
  .price-hero-scene article{min-height:clamp(280px,17.5vw,336px);padding:clamp(24px,1.5vw,29px);}
  .price-hero-scene strong{margin-top:clamp(85px,5.3125vw,102px);font-size:clamp(60px,3.75vw,72px);}
  .about-monogram{width:clamp(190px,11.875vw,228px);gap:clamp(14px,.875vw,17px);padding:clamp(25px,1.5625vw,30px);}
  .contact-hero-card{padding:clamp(38px,2.375vw,46px);}

  /* Forms and legal pages. */
  .estimate-form{border-radius:clamp(22px,1.375vw,26px);padding:clamp(35px,2.1875vw,42px);}
  .estimate-form__topline{padding-bottom:clamp(24px,1.5vw,29px);font-size:clamp(11px,.6875vw,13px);}
  .form-step{min-height:clamp(460px,28.75vw,552px);padding:clamp(42px,2.625vw,50px) 0 clamp(25px,1.5625vw,30px);}
  .form-step__heading{max-width:clamp(700px,43.75vw,840px);margin-bottom:clamp(32px,2vw,38px);}
  .form-grid{gap:clamp(22px,1.375vw,26px);}
  .form-field__label span{font-size:clamp(14px,.875vw,17px);}
  .form-field__label small{font-size:clamp(11px,.6875vw,13px);}
  .form-field input,.form-field textarea,.form-field select{min-height:clamp(52px,3.25vw,62px);padding:clamp(12px,.75vw,14px) clamp(14px,.875vw,17px);}
  .form-field textarea{min-height:clamp(120px,7.5vw,144px);}
  .legal-content{max-width:clamp(1050px,65.625vw,1260px);}
  .legal-updated{margin-bottom:clamp(38px,2.375vw,46px);padding:clamp(14px,.875vw,17px) clamp(17px,1.0625vw,20px);font-size:clamp(13px,.8125vw,16px);}
  .legal-content>section{grid-template-columns:clamp(60px,3.75vw,72px) 1fr;gap:clamp(25px,1.5625vw,30px);padding-block:clamp(34px,2.125vw,41px);}
  .legal-content>section>span{font-size:clamp(11px,.6875vw,13px);}
  .legal-content h2{font-size:clamp(28px,1.75vw,34px);}
  .legal-contact{gap:clamp(10px,.625vw,12px);margin-top:clamp(34px,2.125vw,41px);padding:clamp(19px,1.1875vw,23px);}

  /* Closing CTA and footer. */
  .final-cta{min-height:clamp(630px,39.375vw,756px);gap:clamp(80px,5vw,96px);}
  .final-cta__visual{min-height:clamp(410px,25.625vw,492px);}
  .final-cta__swatches{padding:clamp(8px,.5vw,10px);}
  .final-cta__swatches span{width:clamp(38px,2.375vw,46px);height:clamp(38px,2.375vw,46px);}
  .site-footer{padding-top:clamp(85px,5.3125vw,102px);padding-bottom:clamp(28px,1.75vw,34px);padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:max(28px,calc((100vw - var(--max))/2));}
  .site-footer__lead{gap:clamp(55px,3.4375vw,66px);padding-bottom:clamp(55px,3.4375vw,66px);}
  .site-footer__lead h2{font-size:clamp(31px,1.9375vw,37px);}
  .site-footer__grid{gap:clamp(45px,2.8125vw,54px);padding-block:clamp(55px,3.4375vw,66px);}
  .site-footer__grid h3{margin-bottom:clamp(19px,1.1875vw,23px);font-size:clamp(11px,.6875vw,13px);}
  .site-footer__grid a,.site-footer__grid span{font-size:clamp(13px,.8125vw,16px);}
  .site-footer__grid span{font-size:clamp(11px,.6875vw,13px);}
  .site-footer__bottom{gap:clamp(20px,1.25vw,24px);padding-top:clamp(23px,1.4375vw,28px);font-size:clamp(10px,.625vw,12px);}

  /* v113 pricing/home-support system: preserve its own responsive grids but
     give fixed-pixel controls the same large-screen readability boost. */
  /* Keep the v113 system's intentionally larger editorial headings; the
     root rem scale already makes these 20% larger at 1920px. */
  .v113-portfolio-hero h1,.v113-pricing-hero h1,.v113-detail-hero h1{font-size:clamp(2.45rem,5.6vw,6.4rem);}
  .v113-section-head h2,.v113-calculator h2,.v113-pricing-note h2,.v113-pricing-faq h2,.v113-portfolio-cta h2,.v113-detail-info h2{font-size:clamp(1.9rem,3.6vw,4.2rem);}
  .v113-home-support__copy h2{font-size:clamp(2rem,4vw,4.5rem);}
  .v113-home-lead h2{font-size:clamp(2rem,4vw,4.4rem);}
  .v113-primary,.v113-secondary{min-height:clamp(48px,3vw,58px);padding:clamp(12px,.75vw,14px) clamp(19px,1.1875vw,23px);}
  .v113-calculator,.v113-package-grid,.v113-pricing-note,.v113-pricing-faq,.v113-portfolio-cta,.v113-home-support,.v113-home-lead{max-width:100%;}
  .v113-calc-form input[type=radio],.v113-calc-form input[type=checkbox]{width:clamp(18px,1.125vw,22px);height:clamp(18px,1.125vw,22px);}
  .v113-lead-form input,.v113-lead-form textarea{min-height:clamp(46px,2.875vw,55px);}
}

/* Above 1920px all clamp() values above are capped, preventing runaway scale. */
