/* ======================================================================
   ISOPILOT V2.12 STEP23F — Public 80% width + pricing/legal readability
   Scope: public surfaces only; authenticated workspace is untouched.
   ====================================================================== */

/* The public desktop/tablet content contract is 80% of the viewport.
   Mobile keeps the existing full-width gutters for readability/usability. */
@media (min-width: 761px){
  body.public-site{
    --public-width:80vw!important;
  }

  body.public-site.supplier-portal-theme .public-header,
  body.public-site.supplier-portal-theme .marketing-hero,
  body.public-site.supplier-portal-theme .page-hero,
  body.public-site.supplier-portal-theme .pricing-enterprise-hero,
  body.public-site.supplier-portal-theme .certifications-hero,
  body.public-site.supplier-portal-theme .contact-page,
  body.public-site.supplier-portal-theme .trust-strip,
  body.public-site.supplier-portal-theme .marketing-section,
  body.public-site.supplier-portal-theme .security-principles,
  body.public-site.supplier-portal-theme .solution-grid,
  body.public-site.supplier-portal-theme .pricing-term-notice,
  body.public-site.supplier-portal-theme .pricing-control-panel,
  body.public-site.supplier-portal-theme .pricing-package-grid,
  body.public-site.supplier-portal-theme .pricing-comparison-section,
  body.public-site.supplier-portal-theme .pricing-enterprise-band,
  body.public-site.supplier-portal-theme .pricing-faq,
  body.public-site.supplier-portal-theme .trust-principles,
  body.public-site.supplier-portal-theme .certification-public-section,
  body.public-site.supplier-portal-theme .certification-disclaimer,
  body.public-site .public-page-hero-v2916,
  body.public-site .page-proof-band-v2916,
  body.public-site .catalog-assurance-v2916,
  body.public-site .catalog-priority-section > .section-intro,
  body.public-site .catalog-priority-grid,
  body.public-site .standards-catalog-section,
  body.public-site .catalog-integration-v2916,
  body.public-site .catalog-faq-section > .section-intro,
  body.public-site .catalog-faq-grid,
  body.public-site .catalog-disclaimer-v2916,
  body.public-site .consultant-hero-v297,
  body.public-site .consultant-benefits-v297,
  body.public-site .consultant-application-v2912,
  body.public-site .legal-layout,
  body.public-site .legal-regulatory-note,
  body.public-site .seo-answer-hub,
  body.public-site .footer-newsletter,
  body.public-site .enterprise-footer-v270 .footer-enterprise-cta,
  body.public-site .enterprise-footer-v270 .footer-enterprise-grid,
  body.public-site .enterprise-footer-v270 .footer-enterprise-contacts,
  body.public-site .enterprise-footer-v270 .footer-enterprise-bottom,
  body.public-site .footer-regulatory-assurance{
    width:80vw!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Pricing: the three plan-top badges must be visually white and readable. */
body.public-site .pricing-package-card .pricing-package-badge,
body.public-site .pricing-package-badge{
  background:#ffffff!important;
  background-image:none!important;
  color:#0b234a!important;
  -webkit-text-fill-color:#0b234a!important;
  border:1px solid rgba(11,35,74,.14)!important;
  box-shadow:0 5px 16px rgba(7,26,54,.12)!important;
  text-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
}

/* JS adds these page markers using the canonical pathname. */
@media (min-width: 761px){
  body.is-pricing-page-v2404 .pricing-enterprise-hero{
    width:80vw!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.is-pricing-page-v2404 .pricing-enterprise-hero > :first-child,
  body.is-pricing-page-v2404 .pricing-enterprise-hero h1,
  body.is-pricing-page-v2404 .section-intro,
  body.is-pricing-page-v2404 .public-copy-parent-full-v2404,
  body.is-pricing-page-v2404 .public-copy-full-v2404{
    width:100%!important;
    max-width:none!important;
  }
  body.is-pricing-page-v2404 .pricing-enterprise-proof{
    width:100%!important;
    max-width:none!important;
  }

  /* Legal hero keeps its full-bleed background while its content occupies 80%. */
  body.is-legal-terms-page-v2404 .legal-hero{
    padding-left:10vw!important;
    padding-right:10vw!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.is-legal-terms-page-v2404 .legal-hero > :first-child,
  body.is-legal-terms-page-v2404 .legal-hero h1,
  body.is-legal-terms-page-v2404 .public-copy-parent-full-v2404,
  body.is-legal-terms-page-v2404 .public-copy-full-v2404{
    width:100%!important;
    max-width:none!important;
  }
  body.is-legal-terms-page-v2404 .legal-version{
    max-width:none!important;
    justify-self:start;
  }
}

/* Exact requested copy blocks: remove legacy max-width constraints. */
body.public-site .public-copy-full-v2404{
  max-width:none!important;
}
body.public-site .public-copy-parent-full-v2404{
  max-width:none!important;
}

/* Preserve the established mobile rhythm instead of reducing phones to 80%. */
@media (max-width:760px){
  body.public-site .public-copy-full-v2404,
  body.public-site .public-copy-parent-full-v2404{
    max-width:100%!important;
  }
}


/* ======================================================================
   STEP23F — Homepage full-width opening + route-specific width/contrast
   ====================================================================== */

/* HOME: full-bleed hero background, with an 80% inner composition. */
body.public-site.supplier-portal-theme .marketing-hero.home-hero-banner-v2405{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 12%,rgba(21,94,239,.20),transparent 30%),
    radial-gradient(circle at 8% 92%,rgba(14,165,198,.13),transparent 31%),
    linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%)!important;
}
body.public-site .home-hero-banner-v2405:before{
  content:none!important;
}
body.public-site .home-hero-inner-v2405{
  width:80vw;
  max-width:none;
  margin:0 auto;
  padding:clamp(58px,7vw,104px) 0 clamp(54px,6.2vw,92px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,330px);
  gap:clamp(32px,5vw,82px);
  align-items:center;
  box-sizing:border-box;
}
body.public-site .home-hero-copy-v2405{
  width:100%!important;
  max-width:none!important;
  min-width:0;
}
body.public-site .home-hero-kicker-v2405{
  display:block;
  width:100%;
  margin:0 0 18px;
  color:#12345d!important;
  -webkit-text-fill-color:#12345d!important;
  font-size:clamp(26px,3.1vw,45px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  font-weight:850!important;
  text-transform:none!important;
}
body.public-site .home-future-pretitle-v2405{
  margin:0 0 16px!important;
}
body.public-site .home-future-pretitle-v2405 strong{
  color:#0b5cab!important;
  -webkit-text-fill-color:#0b5cab!important;
  font-size:clamp(20px,2.1vw,31px)!important;
  line-height:1.18!important;
  font-weight:820!important;
  letter-spacing:-.02em!important;
}
body.public-site .home-hero-copy-v2405 h1{
  width:100%!important;
  max-width:none!important;
  margin:12px 0 22px!important;
  color:#0b234a!important;
  -webkit-text-fill-color:#0b234a!important;
  font-size:clamp(44px,5.35vw,76px)!important;
  line-height:1.015!important;
  letter-spacing:-.052em!important;
}
body.public-site .home-hero-lead-v2405{
  width:100%!important;
  max-width:86ch!important;
  margin:0!important;
  color:#455a73!important;
  -webkit-text-fill-color:#455a73!important;
  font-size:15.2px!important; /* ~20% smaller than the previous 19px lead */
  line-height:1.72!important;
}
body.public-site .home-hero-cta-v2405{
  display:grid;
  gap:14px;
  align-content:center;
  padding:26px;
  border:1px solid rgba(11,35,74,.10);
  border-radius:24px;
  background:rgba(255,255,255,.82);
  box-shadow:0 24px 64px rgba(10,36,79,.13);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body.public-site .home-hero-cta-v2405 .btn{
  width:100%;
  min-height:52px;
  justify-content:center;
  text-align:center;
  white-space:normal;
}

/* 80% banner immediately below hero: four requested boxes. */
body.public-site .home-proof-banner-v2405{
  width:80vw!important;
  max-width:none!important;
  margin:26px auto 34px!important;
  padding:0!important;
}
body.public-site .home-proof-grid-v2405{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
body.public-site .home-proof-grid-v2405 article{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  border:1px solid #dfe7f2;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(10,36,79,.07);
  text-align:center;
}
body.public-site .home-proof-grid-v2405 article strong{
  color:#0b234a!important;
  -webkit-text-fill-color:#0b234a!important;
  font-size:14px;
  line-height:1.35;
  font-weight:850;
}
body.public-site .home-proof-grid-v2405 article strong:before{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-right:8px;
  border-radius:50%;
  background:#e7f7ee;
  color:#087443;
  font-size:12px;
  font-weight:950;
  vertical-align:middle;
}

/* Keep the existing workspace visual, but move it below the requested proof banner. */
body.public-site .home-workspace-showcase-v2405{
  width:80vw!important;
  max-width:none!important;
  margin:0 auto 36px!important;
  padding:0!important;
}
body.public-site .home-workspace-showcase-v2405 .product-visual-v2929{
  width:100%;
  max-width:1160px;
  margin:0 auto;
}

/* Secure Share and Developers: 80% public page contract. */
@media (min-width:761px){
  body.is-secure-share-page-v2405 .public-main > section:not(.seo-answer-hub),
  body.is-secure-share-page-v2405 .public-main > div:not(.alert),
  body.is-developers-page-v2405 .public-main > section:not(.seo-answer-hub),
  body.is-developers-page-v2405 .public-main > div:not(.alert){
    width:80vw!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* ISO 27001: requested labels must remain dark on their current surfaces. */
body.is-iso27001-page-v2405 .iso27001-force-dark-v2405,
body.is-iso27001-page-v2405 .iso27001-force-dark-v2405 *{
  color:#0b234a!important;
  -webkit-text-fill-color:#0b234a!important;
  text-shadow:none!important;
  background-image:none!important;
}

@media (max-width:1040px){
  body.public-site .home-hero-inner-v2405{
    grid-template-columns:minmax(0,1fr) minmax(220px,280px);
    gap:30px;
  }
  body.public-site .home-proof-grid-v2405{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:760px){
  body.public-site.supplier-portal-theme .marketing-hero.home-hero-banner-v2405{
    width:100%!important;
  }
  body.public-site .home-hero-inner-v2405{
    width:calc(100% - 36px);
    padding:42px 0 36px;
    grid-template-columns:1fr;
    gap:24px;
  }
  body.public-site .home-hero-kicker-v2405{
    font-size:clamp(20px,7vw,28px)!important;
    line-height:1.12!important;
  }
  body.public-site .home-future-pretitle-v2405 strong{
    font-size:clamp(18px,5.7vw,24px)!important;
  }
  body.public-site .home-hero-copy-v2405 h1{
    font-size:clamp(36px,10.8vw,52px)!important;
    line-height:1.025!important;
  }
  body.public-site .home-hero-lead-v2405{
    font-size:14.5px!important;
    line-height:1.68!important;
  }
  body.public-site .home-hero-cta-v2405{
    padding:18px;
    border-radius:18px;
  }
  body.public-site .home-proof-banner-v2405,
  body.public-site .home-workspace-showcase-v2405{
    width:calc(100% - 36px)!important;
  }
  body.public-site .home-proof-grid-v2405{grid-template-columns:1fr;gap:10px;}
  body.public-site .home-proof-grid-v2405 article{min-height:72px;padding:14px 16px;}
  body.is-secure-share-page-v2405 .public-main > section:not(.seo-answer-hub),
  body.is-secure-share-page-v2405 .public-main > div:not(.alert),
  body.is-developers-page-v2405 .public-main > section:not(.seo-answer-hub),
  body.is-developers-page-v2405 .public-main > div:not(.alert){
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
