/* FamilySafe 11Z.6.2 — CNA hero typography correction
   Keeps the challenger message prominent without swallowing the page. */
.public-site .cna-public-hero .cna-hero-title{
  max-width:850px;
  margin-left:auto;
  margin-right:auto;
  font-size:clamp(2.55rem,5.1vw,4.35rem);
  line-height:1.04;
  letter-spacing:-.045em;
}
.public-site .cna-public-hero .cna-challenge-message{
  max-width:760px;
  font-size:clamp(1rem,1.25vw,1.16rem);
  line-height:1.62;
}

/* FamilySafe 11Z.6.3 — public B2B request-form structural hotfix.
   The form markup was present, but its grid/form base stylesheet was not being
   loaded by the public layout.  Keep the repair scoped to public B2B surfaces. */
.public-site .b2b-public-wrap{
  width:min(calc(100% - 32px),1100px);
  max-width:1100px;
  margin:0 auto;
  padding:54px 0 72px;
}
.public-site .b2b-public-hero{
  max-width:860px;
  margin:0 auto 30px;
  text-align:center;
}
.public-site .b2b-public-card{
  width:100%;
  box-sizing:border-box;
  padding:32px;
  border:1px solid #d8e5e2;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(31,73,67,.08);
}
.public-site .b2b-public-card + .b2b-public-card{margin-top:20px}

.public-site .b2b-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
  align-items:start;
}
.public-site .b2b-form-grid > label,
.public-site .b2b-stack > label{
  display:grid;
  gap:7px;
  min-width:0;
  color:#28474f;
  font-size:.94rem;
  font-weight:750;
  line-height:1.3;
}
.public-site .b2b-form-grid input:not([type="checkbox"]),
.public-site .b2b-form-grid select,
.public-site .b2b-form-grid textarea,
.public-site .b2b-stack input:not([type="checkbox"]),
.public-site .b2b-stack select,
.public-site .b2b-stack textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  min-height:46px;
  padding:11px 13px;
  border:1px solid #c5d8d4 !important;
  border-radius:12px;
  background:#fff !important;
  color:#17313a !important;
  font:inherit;
  line-height:1.35;
}
.public-site .b2b-form-grid textarea,
.public-site .b2b-stack textarea{
  min-height:132px;
  resize:vertical;
}
.public-site .b2b-form-grid input:focus,
.public-site .b2b-form-grid select:focus,
.public-site .b2b-form-grid textarea:focus{
  outline:3px solid rgba(17,145,136,.14);
  border-color:#55aaa3 !important;
}
.public-site .b2b-span-2{grid-column:1 / -1}

.public-site .b2b-checkbox{
  display:flex !important;
  align-items:flex-start;
  gap:11px !important;
  padding:14px 16px;
  border:1px solid #d8e5e2;
  border-radius:14px;
  background:#f7fbfa;
  color:#294850 !important;
  font-weight:500 !important;
  line-height:1.5;
}
.public-site .b2b-checkbox input[type="checkbox"]{
  width:18px !important;
  height:18px;
  flex:0 0 18px;
  margin:3px 0 0;
  accent-color:#0f8f86;
}
.public-site .b2b-checkbox strong{color:#17313a}
.public-site .b2b-checkbox em{color:#61757a}

.public-site #b2b-bls-upgrade{
  display:block;
  grid-column:1 / -1;
}
.public-site #b2b-bls-count{
  margin-top:12px;
  max-width:300px;
}
.public-site #b2b-bls-count small{
  display:block;
  margin-top:5px;
  color:#687c81;
  font-weight:500;
}

.public-site .b2b-actions{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  margin-top:2px;
}
.public-site .b2b-actions .button{
  min-width:190px;
  text-align:center;
}

.public-site .travel-disclosure p,
.public-site .b2b-public-card > p{
  color:#536a70;
  line-height:1.65;
}

@media(max-width:720px){
  .public-site .b2b-public-wrap{width:min(calc(100% - 24px),1100px);padding:38px 0 58px}
  .public-site .b2b-public-card{padding:22px}
  .public-site .b2b-form-grid{grid-template-columns:1fr;gap:15px}
  .public-site .b2b-span-2,
  .public-site #b2b-bls-upgrade,
  .public-site .b2b-actions{grid-column:auto}
  .public-site .b2b-actions{display:grid}
  .public-site .b2b-actions .button{width:100%;min-width:0}
}

@media(max-width:640px){
  .public-site .cna-public-hero .cna-hero-title{
    font-size:clamp(2.15rem,10vw,3.05rem);
    line-height:1.06;
  }
  .public-site .cna-public-hero .cna-challenge-message{
    font-size:.98rem;
  }
}
