/* 408-UI-3.6 — Professional Programs Convergence
   Visual convergence only. Existing occupational forms, eligibility language,
   attribution, submission, and CoverageFit contracts remain authoritative. */

body.occupational-page.ui3-page{
  background:var(--ui3-white);
  color:var(--ui3-ink);
}

/* Shared family navigation: makes the four occupation routes read as one product family. */
body.occupational-page .professional-program-bar{
  border-bottom:1px solid var(--ui3-line);
  background:linear-gradient(180deg,#fbfcfe 0%,#f6f8fb 100%);
}
body.occupational-page .professional-program-bar__inner{
  width:min(1180px,calc(100% - 40px));
  min-height:54px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
body.occupational-page .professional-program-bar__label{
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  color:var(--ui3-navy-900);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.105em;
  text-transform:uppercase;
  white-space:nowrap;
}
body.occupational-page .professional-program-bar__label::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--ui3-red);
  box-shadow:0 0 0 5px var(--ui3-red-soft);
}
body.occupational-page .professional-program-switcher{
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:3px;
  min-width:0;
}
body.occupational-page .professional-program-switcher a{
  position:relative;
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border-radius:var(--ui3-radius-xs);
  color:#5c6c80;
  font-size:.76rem;
  font-weight:820;
  text-decoration:none;
  white-space:nowrap;
}
body.occupational-page .professional-program-switcher a:hover{
  color:var(--ui3-navy-900);
  background:#fff;
}
body.occupational-page .professional-program-switcher a[aria-current="page"]{
  color:var(--ui3-navy-950);
  background:#fff;
  box-shadow:var(--ui3-shadow-xs);
}
body.occupational-page .professional-program-switcher a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:2px;
  height:2px;
  border-radius:2px;
  background:var(--ui3-red);
}

/* Conversion hero: one shared professional-review architecture. */
body.occupational-page .occupational-hero{
  width:min(1180px,calc(100% - 40px));
  min-height:0;
  margin-inline:auto;
  padding:clamp(54px,6vw,82px) 0 clamp(60px,7vw,94px);
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(470px,1.12fr);
  align-items:start;
  gap:clamp(44px,5.5vw,76px);
  overflow:visible;
  background:#fff!important;
}
body.occupational-page .occupational-hero .hero-copy{
  position:relative;
  align-self:center;
  max-width:570px;
  padding-top:0;
}
body.occupational-page .occupational-hero .hero-copy::before{
  content:"Professional Programs";
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-bottom:18px;
  padding:4px 10px;
  border:1px solid #dbe4ee;
  border-radius:var(--ui3-radius-pill);
  background:var(--ui3-soft-blue);
  color:var(--ui3-navy-800);
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
body.occupational-page .occupational-hero .eyebrow{
  margin:0 0 11px;
  color:var(--ui3-red)!important;
}
body.occupational-page .occupational-hero h1{
  max-width:600px;
  margin:0 0 20px;
  color:var(--ui3-navy-950)!important;
  font-size:clamp(3.05rem,5.2vw,5.05rem)!important;
  line-height:.98!important;
  letter-spacing:-.052em!important;
}
body.occupational-page .occupational-hero .subhead{
  max-width:560px;
  margin:0;
  color:#42536b;
  font-size:clamp(1.02rem,1.32vw,1.18rem);
  line-height:1.68;
}
body.occupational-page .occupational-hero .trust-row{
  margin-top:26px;
  gap:8px;
}
body.occupational-page .occupational-hero .trust-row span{
  position:relative;
  min-height:38px;
  display:inline-flex;
  align-items:center;
  padding:8px 12px 8px 28px;
  border:1px solid var(--ui3-line);
  border-radius:var(--ui3-radius-pill);
  background:#fff;
  color:#334860;
  box-shadow:none;
  font-size:.77rem;
  font-weight:780;
}
body.occupational-page .occupational-hero .trust-row span::before{
  content:"✓";
  position:absolute;
  left:11px;
  color:var(--ui3-red);
  font-weight:950;
}
body.occupational-page .occupational-hero .hero-copy::after{
  content:"Your professional role is review context — not an automatic eligibility decision.";
  display:block;
  max-width:520px;
  margin-top:28px;
  padding:16px 17px 16px 45px;
  border:1px solid #dce6f0;
  border-radius:var(--ui3-radius-md);
  background:linear-gradient(135deg,#f7faff,#eef4f9);
  color:#52647b;
  font-size:.82rem;
  font-weight:650;
  line-height:1.55;
  box-shadow:var(--ui3-shadow-xs);
}

/* Shared guided eligibility review. */
body.occupational-page .occupational-hero .quote-card{
  position:relative!important;
  inset:auto!important;
  justify-self:stretch!important;
  align-self:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(26px,3.2vw,38px)!important;
  border:1px solid var(--ui3-line)!important;
  border-top:4px solid var(--ui3-red)!important;
  border-radius:var(--ui3-radius-lg)!important;
  background:#fff!important;
  box-shadow:var(--ui3-shadow-sm)!important;
  backdrop-filter:none!important;
}
body.occupational-page .quote-card .card-kicker{
  color:var(--ui3-red)!important;
  font-size:.7rem!important;
  letter-spacing:.12em!important;
}
body.occupational-page .quote-card h2{
  margin:8px 0 8px!important;
  color:var(--ui3-navy-950)!important;
  font-size:clamp(1.7rem,2.5vw,2.15rem)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
body.occupational-page .quote-card>p{
  margin:0 0 17px;
  color:#5b6b80;
  font-size:.91rem;
  line-height:1.58;
}
body.occupational-page .quote-card .review-intro{
  margin:0 0 22px!important;
  padding:13px 14px 13px 16px;
  border-left:3px solid var(--ui3-navy-700);
  border-radius:0 var(--ui3-radius-xs) var(--ui3-radius-xs) 0;
  background:var(--ui3-soft-blue);
  color:#52647b!important;
  font-size:.8rem!important;
  line-height:1.55!important;
}
body.occupational-page #leadForm{
  margin-top:0;
}
body.occupational-page #leadForm .field-grid{
  gap:11px 12px;
}
body.occupational-page #leadForm label{
  margin-bottom:12px;
}
body.occupational-page #leadForm :is(input:not([type="checkbox"]):not([type="radio"]),select){
  min-height:50px!important;
  border-color:var(--ui3-line-strong)!important;
  box-shadow:none!important;
}
body.occupational-page #leadForm :is(input:not([type="checkbox"]):not([type="radio"]),select):focus{
  border-color:var(--ui3-red)!important;
  box-shadow:var(--ui3-focus)!important;
}
body.occupational-page #leadForm .consent{
  margin:8px 0 16px;
  padding:12px 13px;
  border:1px solid var(--ui3-line);
  border-radius:var(--ui3-radius-sm);
  background:#fbfcfd;
}
body.occupational-page #leadForm .consent input{
  margin-top:2px;
}
body.occupational-page #leadForm .cta-reassurance{
  margin:0 0 12px;
  color:#617187;
  font-size:.74rem;
  line-height:1.45;
}
body.occupational-page #leadForm .primary-button{
  min-height:52px!important;
  padding:0 18px!important;
  border-color:var(--ui3-red)!important;
  border-radius:var(--ui3-radius-sm)!important;
  background:var(--ui3-red)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.occupational-page #leadForm .primary-button:hover{
  background:var(--ui3-red-700)!important;
}

/* Producer context stays present, but no longer reads like a second sales page inside the form. */
body.occupational-page .quote-card .meet-dylan{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  column-gap:14px;
  align-items:start;
  margin:25px 0 0;
  padding:18px 0 0;
  border-top:1px solid var(--ui3-line);
  text-align:left;
}
body.occupational-page .quote-card .meet-dylan picture{
  grid-column:1;
  grid-row:1 / span 3;
  margin:0!important;
}
body.occupational-page .quote-card .meet-dylan img{
  width:58px!important;
  height:58px!important;
  margin:0!important;
  border-radius:50%!important;
  box-shadow:none!important;
}
body.occupational-page .quote-card .meet-dylan h2{
  grid-column:2;
  margin:0 0 3px!important;
  font-size:1rem!important;
  letter-spacing:-.015em!important;
}
body.occupational-page .quote-card .meet-dylan p{
  grid-column:2;
  margin:0 0 5px!important;
  color:#637287!important;
  font-size:.74rem!important;
  line-height:1.48!important;
}
body.occupational-page .quote-card .meet-dylan p:nth-of-type(2){
  color:#7a8798!important;
  font-size:.7rem!important;
}
body.occupational-page .quote-card .or-divider{
  margin:15px 0 10px;
}
body.occupational-page .quote-card .direct-contact-choice{
  justify-content:flex-start;
  gap:8px;
}
body.occupational-page .quote-card .direct-contact-choice>span{
  width:auto;
  margin-right:auto;
  text-align:left;
  color:#68788d;
  font-weight:700;
}
body.occupational-page .quote-card .direct-contact-choice .text-link{
  min-height:44px;
  padding:9px 13px;
  border-color:var(--ui3-line-strong);
  border-radius:var(--ui3-radius-xs);
  color:var(--ui3-navy-800);
}

/* Shared professional-review payoff. */
body.occupational-page .content-section{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto 18px;
  padding:clamp(30px,4vw,44px);
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(24px,4vw,58px);
  align-items:center;
  border:1px solid #dce5ee;
  border-radius:var(--ui3-radius-lg);
  background:linear-gradient(135deg,#f7faff 0%,#edf4f9 100%);
  box-shadow:var(--ui3-shadow-xs);
}
body.occupational-page .content-section .section-kicker{
  color:var(--ui3-red)!important;
}
body.occupational-page .content-section h2{
  margin:9px 0 0;
  max-width:520px;
  color:var(--ui3-navy-950)!important;
  font-size:clamp(2rem,3.5vw,3.15rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
body.occupational-page .content-section p{
  margin:0;
  color:#506278;
  font-size:1rem;
  line-height:1.72;
}

body.occupational-page .steps{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
  padding:0 0 clamp(58px,7vw,88px);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
body.occupational-page .steps article{
  min-height:178px;
  padding:24px;
  border:1px solid var(--ui3-line)!important;
  border-radius:var(--ui3-radius-md)!important;
  background:#fff!important;
  box-shadow:var(--ui3-shadow-xs)!important;
}
body.occupational-page .steps article>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--ui3-red-soft);
  color:var(--ui3-red)!important;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.08em;
}
body.occupational-page .steps h3{
  margin:17px 0 7px;
  color:var(--ui3-navy-950)!important;
  font-size:1.12rem;
}
body.occupational-page .steps p{
  color:#65758a;
  font-size:.88rem;
  line-height:1.58;
}

/* Shared agency credential close. */
body.occupational-page .agent-section{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto clamp(62px,8vw,96px);
  padding:clamp(27px,4vw,42px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,.42fr);
  align-items:center;
  gap:34px;
  border:1px solid var(--ui3-line)!important;
  border-radius:var(--ui3-radius-lg);
  background:#fff;
  box-shadow:var(--ui3-shadow-sm);
}
body.occupational-page .agent-section .section-kicker{
  color:var(--ui3-red)!important;
}
body.occupational-page .agent-section h2{
  margin:7px 0 5px;
  color:var(--ui3-navy-950)!important;
  font-size:clamp(1.9rem,3vw,2.7rem)!important;
  line-height:1.02!important;
  letter-spacing:-.04em!important;
}
body.occupational-page .agent-section .agent-title{
  margin:0 0 7px;
  color:#3c5069;
  font-weight:800;
}
body.occupational-page .agent-section .agent-copy p{
  margin:4px 0;
  color:#67778b;
  font-size:.88rem;
  line-height:1.56;
}
body.occupational-page .agent-section .agent-links{
  margin-top:15px;
  gap:9px;
}
body.occupational-page .agent-section .agent-links a{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  padding:8px 12px;
  border:1px solid var(--ui3-line-strong);
  border-radius:var(--ui3-radius-xs);
  background:#fff;
  color:var(--ui3-navy-800);
}
body.occupational-page .agent-section .carrier-mark{
  justify-self:end;
  width:min(265px,100%);
  padding:16px!important;
  border-color:var(--ui3-line)!important;
  border-radius:var(--ui3-radius-md)!important;
  box-shadow:none!important;
}

@media(max-width:980px){
  body.occupational-page .professional-program-bar__inner{
    width:min(100% - 32px,1180px);
    min-height:60px;
    align-items:center;
  }
  body.occupational-page .professional-program-switcher{
    max-width:62vw;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body.occupational-page .professional-program-switcher::-webkit-scrollbar{display:none;}
  body.occupational-page .occupational-hero{
    width:min(100% - 34px,760px);
    grid-template-columns:1fr!important;
    gap:30px;
    padding:46px 0 66px;
  }
  body.occupational-page .occupational-hero .hero-copy{
    max-width:700px;
    padding-top:0;
  }
  body.occupational-page .occupational-hero .quote-card{
    width:100%!important;
  }
  body.occupational-page .content-section,
  body.occupational-page .steps,
  body.occupational-page .agent-section{
    width:min(100% - 34px,760px);
  }
  body.occupational-page .content-section{
    grid-template-columns:1fr;
    gap:14px;
  }
  body.occupational-page .content-section p{margin-top:0;}
  body.occupational-page .agent-section{
    grid-template-columns:1fr;
  }
  body.occupational-page .agent-section .carrier-mark{justify-self:start;}
}

@media(max-width:700px){
  body.occupational-page .professional-program-bar__inner{
    width:100%;
    min-height:0;
    padding:10px 16px 11px;
    display:block;
  }
  body.occupational-page .professional-program-bar__label{
    margin:0 0 7px 3px;
    font-size:.65rem;
  }
  body.occupational-page .professional-program-switcher{
    max-width:100%;
    justify-content:flex-start;
  }
  body.occupational-page .professional-program-switcher a{
    min-height:44px;
    padding-inline:12px;
  }
  body.occupational-page .occupational-hero{
    width:min(100% - 32px,760px);
    padding:38px 0 56px;
  }
  body.occupational-page .occupational-hero h1{
    font-size:clamp(2.65rem,13vw,4rem)!important;
  }
  body.occupational-page .occupational-hero .hero-copy::after{
    margin-top:22px;
    padding:14px 14px;
  }
  body.occupational-page .occupational-hero .quote-card{
    padding:23px 17px!important;
  }
  body.occupational-page #leadForm .field-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  body.occupational-page #leadForm :is(input:not([type="checkbox"]):not([type="radio"]),select){
    font-size:16px!important;
  }
  body.occupational-page .quote-card .meet-dylan{
    grid-template-columns:52px minmax(0,1fr);
  }
  body.occupational-page .quote-card .meet-dylan img{
    width:48px!important;
    height:48px!important;
  }
  body.occupational-page .quote-card .direct-contact-choice{
    align-items:stretch;
  }
  body.occupational-page .quote-card .direct-contact-choice>span{
    width:100%;
  }
  body.occupational-page .quote-card .direct-contact-choice .text-link{
    flex:1 1 120px;
  }
  body.occupational-page .content-section,
  body.occupational-page .steps,
  body.occupational-page .agent-section{
    width:min(100% - 32px,760px);
  }
  body.occupational-page .content-section{
    padding:25px 21px;
  }
  body.occupational-page .steps{
    grid-template-columns:1fr;
    gap:10px;
    padding-bottom:56px;
  }
  body.occupational-page .steps article{min-height:0;}
  body.occupational-page .agent-section{
    margin-bottom:58px;
    padding:25px 21px;
  }
  body.occupational-page .agent-section .agent-links{
    display:grid;
    grid-template-columns:1fr;
  }
  body.occupational-page .agent-section .agent-links a{
    justify-content:center;
  }
}

@media(max-height:520px) and (orientation:landscape){
  body.occupational-page .occupational-hero{
    padding-top:30px;
    padding-bottom:44px;
  }
  body.occupational-page .occupational-hero .hero-copy::after{display:none;}
}

@media(prefers-reduced-motion:reduce){
  body.occupational-page .professional-program-switcher a,
  body.occupational-page .steps article{
    transition:none!important;
  }
}

@media(forced-colors:active){
  body.occupational-page .occupational-hero .quote-card,
  body.occupational-page .content-section,
  body.occupational-page .steps article,
  body.occupational-page .agent-section{
    border:1px solid CanvasText!important;
  }
  body.occupational-page .professional-program-switcher a[aria-current="page"]{
    outline:2px solid Highlight;
    outline-offset:-2px;
  }
}

/* Narrow-screen intrinsic-size guard for long agency contact strings. */
body.occupational-page .agent-section > *,
body.occupational-page .agent-section .agent-copy,
body.occupational-page .agent-section .agent-links{
  min-width:0;
}
body.occupational-page .agent-section .agent-links a{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}
