/* =========================================================
   B2BGEMI PUBLIC v2 — CORE PUBLIC PAGES
   Pages: What is, Methodology, About, Contact, New Companies.
   Loaded after each page's existing CSS and the Sprint 1 foundation.
   ========================================================= */

html,body{margin:0!important;padding:0!important}
body.public-v2-page{
  background:#06101d;
  color:#f4f8ff;
  font-size:17px;
  line-height:1.72;
}
.public-v2-page main{width:100%;overflow:hidden}
.public-v2-page .container{
  width:min(1360px,calc(100% - 40px));
  margin-inline:auto;
  padding-inline:0;
}

/* Dark cinematic Hero, consistent with the homepage. */
.public-v2-page .hero{
  width:100%;
  margin:0;
  padding:clamp(58px,7vw,96px) 0 clamp(48px,6vw,82px);
  color:#f4f8ff;
  background:
    radial-gradient(circle at 18% 13%,rgba(22,223,189,.15),transparent 34%),
    radial-gradient(circle at 88% 12%,rgba(89,123,235,.09),transparent 30%),
    linear-gradient(145deg,#06101d,#091a2c);
  border-bottom:1px solid rgba(153,190,220,.12);
}
.public-v2-page .hero:before{
  opacity:.78;
  pointer-events:none;
}
.public-v2-page .hero-inner{max-width:1120px}
.public-v2-page .eyebrow{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:8px 13px;
  color:#82f3dd;
  font-size:.76rem;
  line-height:1.35;
  letter-spacing:.08em;
}
.public-v2-page .hero h1{
  max-width:1080px;
  margin:20px auto 0;
  font-size:clamp(2.75rem,5.7vw,5.15rem);
  line-height:.99;
  letter-spacing:-.062em;
  text-wrap:balance;
}
.public-v2-page .lede,
.public-v2-page .hero-lead{
  max-width:900px;
  margin:20px auto 0;
  color:#c6d8e6;
  font-size:clamp(1.08rem,1.02rem + .34vw,1.42rem);
  line-height:1.66;
}
.public-v2-page .hero-note,
.public-v2-page .hero-proof{
  color:#a6bdcf;
  font-size:.92rem;
  line-height:1.55;
}
.public-v2-page .hero-actions .btn{
  min-height:50px;
  padding:0 20px;
  border-radius:12px;
  font-size:1rem;
}
.public-v2-page .btn-primary{
  color:#032820;
  background:linear-gradient(135deg,#16dfbd,#75f3dc);
}
.public-v2-page .btn-ghost{
  color:#eef5fb;
  border-color:rgba(183,207,226,.24);
  background:rgba(255,255,255,.035);
}

/* Full-width readable rhythm. */
.public-v2-page .section,
.public-v2-page .contact-zone,
.public-v2-page .reason-section,
.public-v2-page .trust-strip{
  width:100%;
  margin:0;
  padding:clamp(66px,8vw,108px) 0;
}
.public-v2-page .section{
  color:#0d1b2c;
  background:#fff;
  border:0;
}
.public-v2-page .section-dark,
.public-v2-page .public-v2-soft,
.public-v2-page .reason-section{
  color:#0d1b2c;
  background:#f3f7fa;
  border-block:1px solid #dde7ee;
}
.public-v2-page .public-v2-product{
  color:#f4f8ff!important;
  background:
    radial-gradient(circle at 86% 8%,rgba(22,223,189,.08),transparent 30%),
    #06111d!important;
  border-block:1px solid rgba(153,190,220,.12)!important;
}
.public-v2-page .section-head{
  max-width:960px;
  margin:0 auto clamp(32px,5vw,54px);
}
.public-v2-page .tag,
.public-v2-page .section-head small{
  color:#087e6a;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.09em;
}
.public-v2-page .section-head h2{
  color:#0d1b2c;
  font-size:clamp(2.05rem,4.5vw,3.95rem);
  line-height:1.05;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.public-v2-page .section-head p{
  max-width:76ch;
  margin:14px auto 0;
  color:#536b7f;
  font-size:clamp(1.03rem,1rem + .18vw,1.18rem);
  line-height:1.72;
}
.public-v2-page .public-v2-product .tag,
.public-v2-page .public-v2-product .section-head small{color:#63eacf}
.public-v2-page .public-v2-product .section-head h2{color:#f4f8ff}
.public-v2-page .public-v2-product .section-head p{color:#a9c0d2}

/* Common light card treatment. */
.public-v2-page :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box,.contact-side,.form-shell,.quick,.reason-card
){
  border-color:#dbe5ec;
  background:#fff;
  color:#102033;
  box-shadow:0 16px 46px rgba(17,39,61,.07);
}
.public-v2-page :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.link-card,
  .story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box,.contact-side,.form-shell,.reason-card
){
  border-radius:18px;
}
.public-v2-page :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.link-card,
  .story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box,.contact-side,.form-shell,.reason-card
) h3,
.public-v2-page :is(.trust-copy,.story-copy,.founder-copy,.contact-side,.form-head) h2{
  color:#087e6a;
}
.public-v2-page :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box,.contact-side,.form-shell,.quick,.reason-card
) p,
.public-v2-page :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box,.contact-side,.form-shell,.quick,.reason-card
) li,
.public-v2-page :is(.quick,.trust-row) span{
  color:#566e81;
  font-size:1rem;
  line-height:1.68;
}
.public-v2-page .card h3,
.public-v2-page .link-card h3,
.public-v2-page .reason-card h3,
.public-v2-page .trust-card h3{
  font-size:1.25rem;
}
.public-v2-page :is(.grid-3,.grid2,.grid3,.grid-2,.reason-grid,.trust-grid,.links-grid,.audience-grid,.values,.signal-grid,.trigger-grid,.score-grid,.proof-grid,.why-grid,.popular-grid,.metrics-grid,.samples){
  gap:18px;
}

/* Product-dark sections retain the platform feeling. */
.public-v2-page .public-v2-product :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box
){
  color:#f4f8ff;
  border-color:rgba(157,191,219,.17);
  background:linear-gradient(160deg,#0b1b2d,#081522);
  box-shadow:none;
}
.public-v2-page .public-v2-product :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box
) h2,
.public-v2-page .public-v2-product :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box
) h3{color:#f4f8ff}
.public-v2-page .public-v2-product :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box
) p,
.public-v2-page .public-v2-product :is(
  .card,.flow-step,.compare-card,.audience,.trust-copy,.trust-panel,.trust-row,
  .link-card,.story-copy,.story-panel,.founder-card,.timeline-item,.value,.trust-card,
  .principle,.score-card,.signal,.trigger,.pipe-step,.boundary-card,.explain-card,
  .proof-stat,.example-card,.reason,.intent-card,.metric,.sector-card,.sample,
  .why-card,.side-card,.query-box
) li,
.public-v2-page .public-v2-product :is(.trust-row,.quick) span{
  color:#a9c0d2;
}

/* Definition / key statement. */
.public-v2-page .definition{
  padding:clamp(28px,5vw,54px);
  border:1px solid rgba(22,223,189,.25);
  border-radius:24px;
  color:#f4f8ff;
  background:
    radial-gradient(circle at 85% 10%,rgba(22,223,189,.13),transparent 34%),
    linear-gradient(145deg,#071827,#0b2136);
  box-shadow:0 28px 80px rgba(7,24,40,.18);
}
.public-v2-page .definition p{
  color:#edf6fc;
  font-size:clamp(1.3rem,2.25vw,2rem);
  line-height:1.58;
}

/* What-is / comparison / audience. */
.public-v2-page .compare-card.bad{background:#fff8f5;border-color:#ffd6c9}
.public-v2-page .compare-card.good{background:#eefcf8;border-color:#b7ecdf}
.public-v2-page .compare-card li{font-size:1rem}
.public-v2-page .audience{padding:23px}

/* Methodology: accessible score colors. */
.public-v2-page .score-card{
  min-height:360px;
  padding:27px;
}
.public-v2-page .score-card.hot{
  background:#fff7f2;
  border-color:#ffcdb9;
}
.public-v2-page .score-card.warm{
  background:#fffbea;
  border-color:#f1dfa2;
}
.public-v2-page .score-card.cold{
  background:#f2f6f9;
  border-color:#d8e3ea;
}
.public-v2-page .score-card h3{color:#102033!important;font-size:1.45rem}
.public-v2-page .score-card p,
.public-v2-page .score-card li{color:#526a7e!important;font-size:1rem}
.public-v2-page .pipeline{gap:12px}
.public-v2-page .pipe-step{
  min-height:220px;
  padding:23px;
}
.public-v2-page .pipe-step h3{font-size:1.2rem}
.public-v2-page .pipe-step p{font-size:.98rem}
.public-v2-page .example-card{padding:clamp(24px,4vw,42px)}
.public-v2-page .faq-q{
  min-height:70px;
  padding:20px 0;
  color:#102033;
  font-size:1.12rem;
}
.public-v2-page .faq-a{
  color:#536b7f;
  font-size:1.03rem;
  line-height:1.75;
}
.public-v2-page .public-v2-product .faq-q{color:#f4f8ff}
.public-v2-page .public-v2-product .faq-a{color:#aac0d1}

/* About page. */
.public-v2-page .story,
.public-v2-page .founder{
  gap:26px;
}
.public-v2-page .story-copy,
.public-v2-page .story-panel,
.public-v2-page .founder-card{
  padding:clamp(24px,4vw,38px);
}
.public-v2-page .timeline-item{padding:24px}
.public-v2-page .year{
  color:#087e6a;
  font-size:.82rem;
  font-weight:900;
}
.public-v2-page .value{padding:24px}

/* Contact page. */
.public-v2-page .contact-zone{
  color:#0d1b2c;
  background:#f3f7fa;
  border-bottom:1px solid #dde7ee;
}
.public-v2-page .contact-layout{gap:22px}
.public-v2-page .contact-side,
.public-v2-page .form-shell{padding:clamp(24px,3.5vw,38px)}
.public-v2-page .contact-side{top:100px}
.public-v2-page .quick{padding:16px}
.public-v2-page .quick strong{color:#102033;font-size:1rem}
.public-v2-page .phone-box{
  background:#eefcf8;
  border-color:#b7ecdf;
}
.public-v2-page .phone-label{color:#087e6a;font-size:.78rem}
.public-v2-page .phone-number{color:#102033}
.public-v2-page .phone-sub{color:#526a7e;font-size:.95rem}
.public-v2-page .form-head p{color:#526a7e;font-size:1rem}
.public-v2-page .response-badge{
  color:#087e6a;
  border-color:#b7ecdf;
  background:#eefcf8;
  font-size:.78rem;
}
.public-v2-page label{
  color:#354d61;
  font-size:.96rem;
}
.public-v2-page input,
.public-v2-page select,
.public-v2-page textarea{
  min-height:50px;
  border:1px solid #cddae3;
  background:#fff;
  color:#102033;
  font-size:1rem;
}
.public-v2-page textarea{min-height:170px}
.public-v2-page input::placeholder,
.public-v2-page textarea::placeholder{color:#6a8092;opacity:1}
.public-v2-page input:focus,
.public-v2-page select:focus,
.public-v2-page textarea:focus{
  border-color:#0c9f86;
  box-shadow:0 0 0 4px rgba(12,159,134,.12);
}
.public-v2-page .form-actions small{
  color:#60778a;
  font-size:.9rem;
}
.public-v2-page .reason-section .section-head h2,
.public-v2-page .reason-section .reason-card h3{color:#102033}
.public-v2-page .reason-section .section-head p,
.public-v2-page .reason-section .reason-card p{color:#566e81}
.public-v2-page .trust-strip{
  color:#0d1b2c;
  background:#fff;
}
.public-v2-page .trust-strip .trust-card{
  padding:26px;
}
.public-v2-page .trust-strip .trust-card h3{color:#102033}
.public-v2-page .trust-strip .trust-card p{color:#566e81}

/* New companies directory / programmatic pages. */
.public-v2-page .breadcrumbs{
  color:#a9bfd0;
  font-size:.92rem;
}
.public-v2-page .intent-strip{gap:18px}
.public-v2-page .intent-card{padding:25px}
.public-v2-page .intent-pill{
  color:#087e6a;
  background:#eafaf6;
  border-color:#b9ebdf;
  font-size:.82rem;
}
.public-v2-page .metrics-grid .metric{
  padding:25px;
}
.public-v2-page .metric strong,
.public-v2-page .stat strong{color:#087e6a}
.public-v2-page .sector-card,
.public-v2-page .sample,
.public-v2-page .why-card,
.public-v2-page .side-card{
  padding:24px;
}
.public-v2-page .sector-card h3,
.public-v2-page .sample h3,
.public-v2-page .why-card h3,
.public-v2-page .side-card h3{color:#102033}
.public-v2-page .sector-card p,
.public-v2-page .sample p,
.public-v2-page .why-card p,
.public-v2-page .side-card p{color:#566e81}
.public-v2-page .go{color:#087e6a;font-size:1rem;font-weight:850}
.public-v2-page .query-box{
  color:#f4f8ff;
  border-color:rgba(22,223,189,.24);
  background:linear-gradient(145deg,#071827,#0b2136);
}
.public-v2-page .query-box h2,
.public-v2-page .query-box h3{color:#f4f8ff}
.public-v2-page .query-box p{color:#b5cada}
.public-v2-page .region-links a,
.public-v2-page .query-examples a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  color:#0a806c;
  border-color:#cfe1e8;
  background:#fff;
  font-size:.92rem;
}
.public-v2-page .faq{
  border-color:#dce5ec;
}
.public-v2-page .faq h3{color:#102033;font-size:1.15rem}
.public-v2-page .faq p{color:#536b7f;font-size:1.03rem;line-height:1.72}

/* Final CTA shared by the content pages. */
.public-v2-page .final-cta{
  width:min(1360px,calc(100% - 40px));
  margin:clamp(58px,7vw,96px) auto;
  padding:clamp(34px,6vw,64px);
  border:1px solid rgba(22,223,189,.26);
  border-radius:26px;
  color:#f4f8ff;
  background:
    radial-gradient(circle at 82% 0%,rgba(22,223,189,.15),transparent 35%),
    linear-gradient(135deg,#071523,#0b2034);
  box-shadow:0 28px 80px rgba(9,29,47,.16);
}
.public-v2-page .final-cta h2{
  color:#f4f8ff;
  font-size:clamp(2rem,4vw,3.7rem);
}
.public-v2-page .final-cta p{
  color:#bad0df;
  font-size:1.08rem;
  line-height:1.7;
}

/* Mobile first refinements. */
@media(max-width:1050px){
  .public-v2-page .container{width:min(100% - 30px,1360px)}
  .public-v2-page .contact-side{position:static}
}
@media(max-width:760px){
  body.public-v2-page{font-size:16.5px}
  .public-v2-page .container{width:min(100% - 24px,1360px)}
  .public-v2-page .hero{padding-top:46px}
  .public-v2-page .hero h1{font-size:clamp(2.35rem,11vw,3.35rem)}
  .public-v2-page .hero-actions{display:grid}
  .public-v2-page .hero-actions .btn{width:100%}
  .public-v2-page .section,
  .public-v2-page .contact-zone,
  .public-v2-page .reason-section,
  .public-v2-page .trust-strip{padding:58px 0}
  .public-v2-page .section-head h2{font-size:clamp(2rem,9vw,2.75rem)}
  .public-v2-page :is(.grid-3,.grid2,.grid3,.grid-2,.compare,.audience-grid,.links-grid,.values,.trust-grid,.signal-grid,.trigger-grid,.score-grid,.proof-grid,.why-grid,.popular-grid,.metrics-grid,.samples,.reason-grid){
    grid-template-columns:1fr!important;
  }
  .public-v2-page .flow,
  .public-v2-page .pipeline{grid-template-columns:1fr!important}
  .public-v2-page .flow-step,
  .public-v2-page .pipe-step,
  .public-v2-page .score-card{min-height:auto}
  .public-v2-page .form-head,
  .public-v2-page .form-actions{align-items:stretch;flex-direction:column}
  .public-v2-page .submit-btn{width:100%}
  .public-v2-page .final-cta{width:min(100% - 24px,1360px)}
}
@media(prefers-reduced-motion:reduce){
  .public-v2-page *{scroll-behavior:auto!important}
}