/* FamilySafe 11Z.2 — Light Public Visual Refresh
   Light-first public theme focused on readability, stronger logo presence,
   accessible contrast, cleaner hierarchy, and softer FamilySafe brand accents. */

body.public-site{
  --bg:#f4f8f7;
  --panel:#ffffff;
  --panel2:#f8fbfa;
  --text:#17313a;
  --muted:#526970;
  --line:#d7e4e2;
  --teal:#0f766e;
  --pink:#a83268;
  --danger:#b42318;
  --success:#18794e;
  --public-surface:#ffffff;
  --public-surface-2:#f6faf9;
  --public-surface-3:#eef6f4;
  --public-border:#d6e4e1;
  --public-border-strong:#a9cbc5;
  --public-shadow:0 22px 60px rgba(31,61,66,.10);
  --public-shadow-soft:0 10px 30px rgba(31,61,66,.08);
  --public-radius:24px;
  background:
    radial-gradient(circle at 7% 0%,rgba(15,118,110,.08),transparent 24rem),
    radial-gradient(circle at 95% 13%,rgba(168,50,104,.055),transparent 27rem),
    #f4f8f7;
  color:var(--text);
  font-size:17px;
  line-height:1.65;
}
body.public-site main{background:transparent}
body.public-site ::selection{background:#cceee8;color:#17313a}
body.public-site a{color:#0b6d66}
body.public-site p,body.public-site li{color:var(--muted)}

/* Header / brand — intentionally prominent */
.public-site .site-header{
  position:relative;
  z-index:100;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid #dbe7e5!important;
  box-shadow:0 8px 28px rgba(31,61,66,.08)!important;
  backdrop-filter:blur(18px) saturate(120%);
}
.public-site .nav-wrap{min-height:126px!important;gap:34px!important}
.public-site .brand{
  gap:18px!important;
  flex:0 0 auto;
  text-decoration:none!important;
  color:var(--text)!important;
  align-items:center;
}
.public-site .brand-mark{
  width:100px;height:100px;
  display:grid;place-items:center;
  overflow:hidden;
  border-radius:25px;
  background:#0d1517;
  border:1px solid rgba(15,118,110,.16);
  box-shadow:0 12px 34px rgba(20,58,62,.16),0 0 0 6px rgba(15,118,110,.045);
  flex:0 0 100px;
}
.public-site .brand-mark img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;
  transform:scale(1.34);
  transform-origin:center;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
}
.public-site .brand-copy{gap:4px!important}
.public-site .brand-copy strong{
  font-size:1.62rem!important;
  letter-spacing:-.035em!important;
  color:#17313a!important;
}
.public-site .brand-copy small{
  font-size:.72rem!important;
  letter-spacing:.115em!important;
  color:#60777d!important;
  font-weight:800!important;
}
.public-site .main-nav{gap:6px!important;font-size:.97rem!important;font-weight:750!important}
.public-site .main-nav>a:not(.button){
  color:#29454d!important;
  padding:11px 13px!important;
  border-radius:999px!important;
}
.public-site .main-nav>a:not(.button):hover,
.public-site .main-nav>a:not(.button):focus-visible{
  background:#edf7f5!important;
  color:#0b665f!important;
}
.public-site .nav-toggle{
  background:#f5faf9!important;
  border-color:#c9dcd8!important;
  color:#17313a!important;
}

/* Typography and controls */
.public-site h1,.public-site h2,.public-site h3,.public-site h4{color:#17313a!important}
.public-site h1,.public-site h2{letter-spacing:-.045em}
.public-site .eyebrow{color:#9e2f63!important;font-weight:850!important;letter-spacing:.14em!important}
.public-site .lead{color:#496269!important;line-height:1.75!important;font-size:1.08rem}
.public-site .button{
  background:linear-gradient(135deg,#0f7b73,#0b6963)!important;
  color:#fff!important;
  border-color:#0b6963!important;
  box-shadow:0 9px 22px rgba(15,118,110,.18)!important;
  font-weight:800!important;
}
.public-site .button:hover{background:linear-gradient(135deg,#0b6e67,#075c57)!important;box-shadow:0 12px 28px rgba(15,118,110,.24)!important}
.public-site .button.ghost{
  background:#fff!important;
  color:#20454d!important;
  border-color:#bfd5d1!important;
  box-shadow:0 4px 14px rgba(31,61,66,.06)!important;
}
.public-site .button.ghost:hover{background:#edf7f5!important;border-color:#83bbb3!important;color:#0b665f!important}
.public-site :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  background:#fff!important;
  color:#17313a!important;
  border-color:#c7d8d5!important;
}
.public-site :is(input,select,textarea)::placeholder{color:#7b9095!important}
.public-site :is(input,select,textarea):focus{border-color:#0f766e!important;box-shadow:0 0 0 3px rgba(15,118,110,.13)!important}

/* Light-first hero system */
.public-site :is(.hero,.page-hero,.platform-public-hero,.platform-program-hero){
  background:
    radial-gradient(circle at 18% 12%,rgba(15,118,110,.10),transparent 28rem),
    radial-gradient(circle at 88% 12%,rgba(168,50,104,.07),transparent 30rem),
    linear-gradient(180deg,#ffffff 0%,#f3f9f7 100%)!important;
  border-bottom:1px solid #dce9e6!important;
  color:#17313a!important;
}
.public-site :is(.page-hero,.platform-public-hero){padding:84px 0 72px!important}
.public-site :is(.page-hero,.platform-public-hero) h1{color:#17313a!important;text-shadow:none!important}
.public-site :is(.page-hero,.platform-public-hero) p:not(.eyebrow){color:#4f6870!important}
.public-site .hero{padding:82px 0 68px!important}
.public-site .hero h1{color:#17313a!important;text-shadow:none!important}
.public-site .hero h1 span,.public-site .page-hero h1 span{color:#0f766e!important}
.public-site .launch-trust-row span{
  background:#fff!important;
  border-color:#d1e2df!important;
  color:#50696f!important;
  box-shadow:0 4px 14px rgba(31,61,66,.05);
}

/* Section rhythm */
.public-site .section{padding:76px 0!important}
.public-site .launch-section-head h2{color:#17313a!important}
.public-site .launch-section-head p:not(.eyebrow){color:#536a70!important}

/* Home chooser */
.public-site .launch-path-panel{
  background:rgba(255,255,255,.78)!important;
  border-color:#d7e5e2!important;
  box-shadow:var(--public-shadow-soft)!important;
}
.public-site .launch-path-panel .path-card{
  background:#fff!important;
  border-color:#d7e5e2!important;
  box-shadow:0 8px 20px rgba(31,61,66,.055);
}
.public-site .launch-path-panel .path-card:hover{background:#f4faf8!important;border-color:#8ec3ba!important;box-shadow:0 13px 28px rgba(31,61,66,.08)}
.public-site .launch-path-panel .path-card strong{color:#17313a!important}
.public-site .launch-path-panel .path-card span{color:#5a7076!important}

/* Cards */
.public-site :is(.card,.launch-offer-card,.about-founder-card,.about-principle,.aha-course-card,.launch-detail-card,.launch-service-summary){
  background:#fff!important;
  border-color:#d8e5e2!important;
  box-shadow:var(--public-shadow-soft)!important;
  color:#17313a!important;
}
.public-site .card p,.public-site .about-founder-card p,.public-site .about-principle p,
.public-site .launch-offer-card>p,.public-site .aha-course-card p{color:#526970!important}
.public-site .launch-offer-card:hover{border-color:#96c7bf!important;box-shadow:0 20px 44px rgba(31,61,66,.11)!important}
.public-site .launch-card-kicker,.public-site .launch-card-link{color:#0b716a!important}
.public-site .launch-card-meta{border-color:#dbe7e5!important}
.public-site .launch-card-meta span{color:#637a80!important}
.public-site .launch-package-card{
  background:linear-gradient(180deg,#ffffff,#f4faf8)!important;
  border-color:#a9d0c9!important;
}
.public-site .launch-package-includes{
  background:#f3f8f7!important;
  border-color:#d5e6e2!important;
}
.public-site .launch-package-includes>strong{color:#17313a!important}
.public-site .launch-package-includes ul{color:#526970!important}
.public-site .launch-package-addons{background:#edf8f5!important;border-left-color:#0f766e!important;color:#4f676d!important}
.public-site .launch-package-addons strong{color:#17313a!important}

/* AHA spotlight */
.public-site .aha-spotlight{
  background:linear-gradient(180deg,#fff8fb,#f8fbfa)!important;
  border-color:#ead8e1!important;
}
.public-site .aha-spotlight-copy h2{color:#17313a!important}
.public-site .aha-spotlight-copy>p:not(.eyebrow){color:#536a70!important}
.public-site .aha-catalog-callout{
  background:linear-gradient(135deg,#fff7fb,#eff8f6)!important;
  border-color:#dfc8d3!important;
  box-shadow:var(--public-shadow-soft)!important;
}
.public-site .aha-hold-badge{background:#fff!important;color:#7c3153!important;border-color:#e3c5d3!important}

/* Program detail */
.public-site .platform-program-hero-v2{
  background:radial-gradient(circle at 18% 0,rgba(15,118,110,.09),transparent 28rem),linear-gradient(180deg,#ffffff,#f3f9f7)!important;
}
.public-site .platform-program-hero-v2 h1{color:#17313a!important}
.public-site .platform-program-lead{color:#4e676e!important}
.public-site .platform-program-summary-v2,.public-site .platform-outcomes-card-v2{
  background:#fff!important;border-color:#d8e5e2!important;box-shadow:var(--public-shadow-soft)!important;color:#17313a!important
}
.public-site .platform-program-main p{color:#536a70!important}
.public-site .platform-program-detail-block{border-color:#dce7e5!important}
.public-site .platform-program-assurance{border-color:#d8e5e2!important;background:#f4f9f8!important}

/* Workplace */
.public-site .workplace-package-card{
  background:radial-gradient(circle at 93% 8%,rgba(15,118,110,.07),transparent 34%),#fff!important;
  border-color:#a7cec7!important;
  box-shadow:var(--public-shadow)!important;
}
.public-site .workplace-package-copy>p:not(.eyebrow),.public-site .workplace-package-upgrades p{color:#526970!important}
.public-site .workplace-package-includes li{color:#2f5058!important}
.public-site .workplace-package-action{background:#f1f8f6!important;border-color:#cce1dd!important}
.public-site .workplace-package-action>span{color:#60787e!important}
.public-site .workplace-package-action>strong{color:#17313a!important}
.public-site .workplace-package-action p{color:#536a70!important}

/* About */
.public-site .about-founder-card{border-color:#b2d4ce!important;background:#fff!important}
.public-site .about-story{background:#fff!important;border-color:#d8e5e2!important;box-shadow:var(--public-shadow-soft)}
.public-site .about-founder-facts span{border-color:#d7e5e2!important;background:#f7faf9!important;color:#415d64!important}

/* Forms / quote / checkout */
.public-site :is(.platform-enroll-page,.checkout-page,.b2b-public-wrap,.cna-support-wrap,.refund-request-wrap){color:#17313a!important}
.public-site .platform-enroll-page{background:#f4f8f7!important}
.public-site :is(.platform-enroll-card,.platform-enroll-summary,.b2b-public-card){
  background:#fff!important;border-color:#d8e5e2!important;box-shadow:var(--public-shadow-soft)!important;color:#17313a!important
}
.public-site .platform-enroll-heading h1{color:#17313a!important}
.public-site .platform-enroll-heading>p:last-child,.public-site .b2b-public-hero p{color:#536a70!important}
.public-site .platform-enroll-form input:not([type=checkbox]){background:#fff!important;border-color:#c7d8d5!important;color:#17313a!important}
.public-site .b2b-form-grid input,.public-site .b2b-form-grid select,.public-site .b2b-form-grid textarea,.public-site .b2b-stack input,.public-site .b2b-stack select,.public-site .b2b-stack textarea{background:#fff!important;border-color:#c7d8d5!important;color:#17313a!important}
.public-site .checkout-hero{background:linear-gradient(180deg,#ffffff,#f3f9f7)!important;color:#17313a!important}
.public-site .checkout-hero h1,.public-site .checkout-hero h2,.public-site .checkout-hero p{color:#17313a!important}
.public-site .checkout-price-card{background:#fff!important;border-color:#d6e4e1!important;color:#17313a!important;box-shadow:var(--public-shadow-soft)}

/* Preview / included / policy */
.public-site .launch-preview-banner{background:#eaf7f4!important;border-color:#acd5ce!important;color:#185b56!important}
.public-site .launch-included-card{background:#fff!important;border-color:#b8d8d2!important;box-shadow:var(--public-shadow-soft)!important}
.public-site .launch-included-card li{background:#f6faf9!important;border-color:#d9e6e3!important;color:#496269!important}
.public-site .launch-policy-strip>div{background:#fff!important;border-color:#d8e5e2!important;color:#17313a!important}
.public-site .launch-travel-card{background:#fff!important;border-color:#d8e5e2!important;box-shadow:var(--public-shadow-soft)!important;color:#17313a!important}
.public-site .launch-travel-card p{color:#536a70!important}

/* Footer keeps a dark anchor, while the site itself is light. */
.public-site .site-footer{
  margin-top:40px!important;
  padding:48px 0!important;
  background:#163338!important;
  border-top:0!important;
}
.public-site .footer-brand strong{color:#fff!important}
.public-site .footer-brand p,.public-site .footer-copy>p{color:#bed0cc!important}
.public-site .policy-links a{color:#d3e1de!important}
.public-site .policy-links a:hover{color:#fff!important}
.public-site .footer-brand img{border-color:rgba(255,255,255,.12)!important;box-shadow:0 6px 20px rgba(0,0,0,.18)}

/* Accessibility / readable text defaults */
.public-site :focus-visible{outline:3px solid rgba(15,118,110,.34);outline-offset:3px}
.public-site small,.public-site .muted,.public-site .help-text{color:#667d83!important}
.public-site strong{color:inherit}

/* Responsive */
@media(max-width:1040px){
  .public-site .nav-wrap{min-height:108px!important}
  .public-site .brand-mark{width:82px;height:82px;flex-basis:82px;border-radius:21px}
  .public-site .brand-copy strong{font-size:1.42rem!important}
  .public-site .brand-copy small{display:block!important;font-size:.64rem!important}
}
@media(max-width:860px){
  .public-site .nav-wrap{min-height:96px!important}
  .public-site .main-nav{
    background:#fff!important;
    border-color:#cddeda!important;
    box-shadow:0 22px 48px rgba(31,61,66,.16)!important;
  }
  .public-site .main-nav>a:not(.button){color:#29454d!important}
  .public-site .main-nav>a:not(.button):hover{background:#edf7f5!important}
  .public-site .brand-mark{width:76px;height:76px;flex-basis:76px;border-radius:20px}
}
@media(max-width:640px){
  body.public-site{font-size:16px}
  .public-site .nav-wrap{min-height:88px!important}
  .public-site .brand{gap:12px!important}
  .public-site .brand-mark{width:68px;height:68px;flex-basis:68px;border-radius:18px}
  .public-site .brand-copy strong{font-size:1.22rem!important}
  .public-site .brand-copy small{font-size:.56rem!important;letter-spacing:.08em!important}
  .public-site :is(.page-hero,.platform-public-hero){padding:62px 0 52px!important}
  .public-site .hero{padding:62px 0 52px!important}
  .public-site .section{padding:56px 0!important}
}
