/* W08.1 — Full Homepage Integration QA & Visual Stabilization */
.wcg-v2{overflow-x:clip;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--wcg-text);font-synthesis:none}
.wcg-v2 main,.wcg-v2 section,.wcg-v2 header,.wcg-v2 footer,.wcg-v2 article,.wcg-v2 nav,.wcg-v2 aside{min-width:0}
.wcg-v2 :where(h1,h2,h3,h4,p,li,a,strong,span){overflow-wrap:break-word}
.wcg-v2 :where(h1,h2,h3){text-wrap:balance}
.wcg-v2 :where(p){text-wrap:pretty}
.wcg-v2 :where(svg){max-width:100%}
.wcg-v2 :where(button,input,select,textarea){font:inherit}
.wcg-v2 :where(button,a){-webkit-tap-highlight-color:transparent}
.wcg-v2 :where(a,button,[role="button"]):focus-visible{outline:3px solid rgba(21,94,239,.32);outline-offset:3px}
.wcg-v2 .wcg-section-head,.wcg-v2 .wcg-insights__head,.wcg-v2 .wcg-delivery-process__head{min-width:0}

/* Rhythm normalization between independently-built W07 modules. */
.wcg-v2 main>section{scroll-margin-top:94px}
.wcg-v2 main>section+section{position:relative}
.wcg-v2 .wcg-section-head h2,.wcg-v2 .wcg-insights__head h2,.wcg-v2 .wcg-delivery-process__head h2{max-width:900px}
.wcg-v2 .wcg-section-head>p:last-child{max-width:760px}

/* Stable media and card geometry: protects against real CMS content variance. */
.wcg-v2 :where(.wcg-solution-card,.wcg-project-card,.wcg-case-card,.wcg-product-card,.wcg-insight-card,.wcg-process-step__card){min-width:0}
.wcg-v2 :where(.wcg-project-card,.wcg-case-card,.wcg-product-card,.wcg-insight-card){height:100%}
.wcg-v2 :where(.wcg-project-card__media,.wcg-insight-card__media,.wcg-business-web__screen){background:#f0f5ff}
.wcg-v2 :where(.wcg-project-card__media img,.wcg-insight-card__media img,.wcg-business-web__screen img){width:100%;height:100%;object-fit:cover}

/* Keep interactive targets usable across tablet/mobile. */
@media(pointer:coarse){
  .wcg-v2 :where(.wcg-nav-link,.wcg-text-link,.wcg-solution-card__cta,.wcg-project-card__cta,.wcg-insight-card__cta,.wcg-footer__group a){min-height:44px;display:inline-flex;align-items:center}
  .wcg-v2 .wcg-menu-toggle{min-width:48px;min-height:48px}
}

/* 1366 / 1280 stabilization: header is the highest collision risk. */
@media(min-width:1024px) and (max-width:1366px){
  .wcg-v2 .wcg-container,.wcg-v2 .wcg-container--wide{width:min(var(--wcg-container),calc(100% - 48px))}
  .wcg-v2 .wcg-header__inner{gap:12px}
  .wcg-v2 .wcg-nav-link{white-space:nowrap}
}
@media(min-width:1024px) and (max-width:1120px){
  .wcg-v2 .wcg-header__nav,.wcg-v2 .wcg-header__cta{display:none}
  .wcg-v2 .wcg-header__inner{height:74px;grid-template-columns:1fr auto}
  .wcg-v2 .wcg-menu-toggle{display:flex}
  .wcg-v2 .wcg-mega{display:none}
}

/* Tablet: reduce oversized display typography and force safe two-column geometry. */
@media(max-width:1023px){
  .wcg-v2 main>section{scroll-margin-top:82px}
  .wcg-v2 .wcg-section-head h2,.wcg-v2 .wcg-insights__head h2,.wcg-v2 .wcg-delivery-process__head h2{font-size:clamp(34px,5.4vw,48px);line-height:1.08}
  .wcg-v2 .wcg-final-cta__panel{min-width:0}
  .wcg-v2 .wcg-footer__nav{min-width:0}
}

/* Mobile integration lock — prevents the common 375–430px overflow regressions. */
@media(max-width:767px){
  .wcg-v2{overflow-x:hidden}
  .wcg-v2 main>section{scroll-margin-top:72px}
  .wcg-v2 .wcg-container,.wcg-v2 .wcg-container--wide{max-width:100%}
  .wcg-v2 :where(.wcg-ai-workflow__stage,.wcg-business-showcase__grid,.wcg-projects__grid,.wcg-case-results__grid,.wcg-product-lab__grid,.wcg-process__grid,.wcg-insights__grid){min-width:0;max-width:100%}
  .wcg-v2 :where(.wcg-button,.wcg-final-cta__actions .wcg-button){max-width:100%}
  .wcg-v2 .wcg-final-cta__contact strong{overflow-wrap:anywhere}
  .wcg-v2 .wcg-footer__brand img{max-width:min(180px,70vw)}
}
@media(max-width:430px){
  .wcg-v2 .wcg-container,.wcg-v2 .wcg-container--wide{width:calc(100% - 32px)}
  .wcg-v2 .wcg-section{padding-block:68px}
  .wcg-v2 .wcg-section-head h2,.wcg-v2 .wcg-insights__head h2,.wcg-v2 .wcg-delivery-process__head h2{font-size:clamp(32px,9.2vw,40px)}
  .wcg-v2 .wcg-final-cta__content h2{font-size:clamp(34px,10vw,44px)}
  .wcg-v2 .wcg-footer__nav{grid-template-columns:1fr 1fr;gap:30px 16px}
}
@media(max-width:390px){
  .wcg-v2 .wcg-container,.wcg-v2 .wcg-container--wide{width:calc(100% - 28px)}
  .wcg-v2 .wcg-section{padding-block:64px}
  .wcg-v2 .wcg-footer__nav{grid-template-columns:1fr}
  .wcg-v2 .wcg-final-cta__panel{padding:32px 20px}
}
@media(max-width:375px){
  .wcg-v2 .wcg-container,.wcg-v2 .wcg-container--wide{width:calc(100% - 24px)}
  .wcg-v2 .wcg-ai-hero__grid{padding-block:40px 44px}
  .wcg-v2 .wcg-ai-hero__actions{width:100%}
  .wcg-v2 .wcg-ai-hero__actions>*{max-width:100%}
  .wcg-v2 :where(.wcg-solution-card,.wcg-process-step__card,.wcg-insight-card__body){padding-left:18px;padding-right:18px}
}

/* Motion safety is global for the beta integration layer. */
@media(prefers-reduced-motion:reduce){
  .wcg-v2{scroll-behavior:auto!important}
  .wcg-v2 [data-wcg-reveal],.wcg-v2 [data-wcg-process-step]{opacity:1!important;transform:none!important}
}
