
/*
  Everyday Health Access — CSS Repair / Visual Refinement
  Base content: original everydayhealthaccess-9-6-26 build
  Purpose: repair visual consistency without changing page content/routing.
*/

:root{
  --eha-navy:#082f3e;
  --eha-navy-2:#0c4553;
  --eha-teal:#0b6477;
  --eha-aqua:#11a7a1;
  --eha-green:#31b48d;
  --eha-coral:#ff8066;
  --eha-gold:#f4be5b;
  --eha-ink:#102f3a;
  --eha-muted:#5a737c;
  --eha-line:#d6e5e5;
  --eha-paper:#f7fbfa;
  --eha-mint:#edf8f5;
  --eha-white:#fff;
  --eha-shadow:0 22px 58px rgba(8,47,62,.12);
  --eha-shadow-soft:0 12px 34px rgba(8,47,62,.08);
}

/* ---------- Global cleanup ---------- */
html{scroll-padding-top:104px}
body{
  color:var(--eha-ink);
  background:
    radial-gradient(circle at 6% 3%,rgba(17,167,161,.08),transparent 24rem),
    radial-gradient(circle at 96% 20%,rgba(49,180,141,.07),transparent 28rem),
    linear-gradient(180deg,#fbfdfd 0%,#fff 45%,#f3faf8 100%);
  overflow-x:hidden;
}
body,p,li{color:var(--eha-ink)}
a{transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
img{display:block}
button,select,input,textarea{font:inherit}
section[id]{scroll-margin-top:106px}

/* ---------- Header / navigation ---------- */
.topbar{
  background:linear-gradient(90deg,var(--eha-navy),var(--eha-teal));
  color:#e7fbf8;
  letter-spacing:.01em;
}
.site-header{
  min-height:82px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(8,47,62,.09);
  box-shadow:0 8px 24px rgba(8,47,62,.055);
}
.brand{width:238px;max-width:58vw}
.brand img{
  width:100%;
  max-height:52px;
  filter:saturate(1.06) contrast(1.02);
}
.site-header nav{gap:22px}
.site-header nav a{
  color:#173f4a;
  font-weight:820;
  position:relative;
}
.site-header nav a:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-8px;height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--eha-aqua),var(--eha-green));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.site-header nav a:not(.nav-cta):hover{color:var(--eha-teal)}
.site-header nav a:not(.nav-cta):hover::after{transform:scaleX(1)}
.nav-cta{
  position:relative;
  overflow:visible;
  padding:11px 19px;
  background:linear-gradient(135deg,var(--eha-teal),var(--eha-aqua));
  color:#fff!important;
  box-shadow:0 10px 26px rgba(11,100,119,.22);
}
.menu-toggle{
  color:var(--eha-navy);
  border-color:rgba(11,100,119,.18);
  background:#fff;
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  isolation:isolate;
  max-width:1240px;
  min-height:700px;
  margin:30px auto 0;
  padding:76px 34px;
  border:1px solid rgba(8,47,62,.08);
  border-radius:36px;
  background:
    radial-gradient(circle at 86% 14%,rgba(244,190,91,.22),transparent 17rem),
    radial-gradient(circle at 14% 80%,rgba(49,180,141,.13),transparent 24rem),
    linear-gradient(135deg,#f9fdfc 0%,#eef9f6 48%,#e7f3f7 100%);
  box-shadow:0 30px 80px rgba(8,47,62,.10);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(rgba(11,100,119,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,100,119,.035) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.8),transparent 68%);
}
.hero-copy{position:relative;z-index:2}
.hero .eyebrow{
  color:var(--eha-teal);
  font-weight:950;
}
.hero h1{
  color:var(--eha-navy);
  text-wrap:balance;
  text-shadow:0 10px 30px rgba(8,47,62,.05);
}
.hero-lead{
  color:#506b73!important;
  line-height:1.7;
}
.hero-actions{gap:14px}

/* Hero visual — richer without replacing the correct image */
.hero-visual{
  min-height:520px;
  padding:36px;
  border:1px solid rgba(255,255,255,.75);
  background:
    radial-gradient(circle at 73% 14%,rgba(255,255,255,.95) 0 10%,transparent 11%),
    radial-gradient(circle at 15% 82%,rgba(49,180,141,.14),transparent 36%),
    linear-gradient(145deg,#eaf8f4,#dceff4 55%,#edf7f7);
  box-shadow:
    inset 0 0 0 1px rgba(11,100,119,.04),
    0 24px 56px rgba(8,47,62,.12);
}
.hero-visual::before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-90px;top:-80px;
  border-radius:50%;
  border:1px solid rgba(17,167,161,.18);
  box-shadow:0 0 0 44px rgba(17,167,161,.04),0 0 0 88px rgba(49,180,141,.035);
}
.hero-visual img{
  position:relative;
  z-index:1;
  width:100%;
  max-height:470px;
  filter:saturate(1.08) contrast(1.03) drop-shadow(0 24px 32px rgba(8,47,62,.12));
}
.hero-float{
  z-index:3;
  right:24px;
  bottom:24px;
  max-width:330px;
  color:var(--eha-navy);
  background:rgba(255,255,255,.94);
  border:1px solid rgba(11,100,119,.13);
  box-shadow:0 20px 46px rgba(8,47,62,.16);
}
.hero-float span{color:#5d747b}

/* ---------- CTA visibility ---------- */
.btn{
  position:relative;
  overflow:visible;
  border-radius:14px;
}
.btn-primary{
  background:linear-gradient(135deg,var(--eha-teal),var(--eha-aqua));
  color:#fff!important;
  box-shadow:0 15px 34px rgba(11,100,119,.24);
}
.btn-primary:hover{box-shadow:0 19px 40px rgba(11,100,119,.31)}
.btn-primary::before,.btn-primary::after,.nav-cta::before,.nav-cta::after{
  content:"";
  position:absolute;
  inset:-6px;
  z-index:-1;
  border:2px solid rgba(17,167,161,.55);
  border-radius:inherit;
  opacity:0;
  pointer-events:none;
  animation:ehaPulse 3s ease-out infinite;
}
.btn-primary::after,.nav-cta::after{
  border-color:rgba(49,180,141,.50);
  animation-delay:1.35s;
}
@keyframes ehaPulse{
  0%{transform:scale(.97);opacity:0}
  10%{opacity:.85}
  72%{transform:scale(1.20);opacity:0}
  100%{transform:scale(1.20);opacity:0}
}
.btn-ghost{
  color:var(--eha-navy);
  border-color:#c7dddd;
  background:rgba(255,255,255,.92);
}
.btn-ghost:hover{background:#fff;border-color:#9fc7c8}

/* ---------- Trust chips ---------- */
.trust-list{gap:10px}
.trust-list li{
  padding:8px 12px;
  border:1px solid #d6e6e5;
  border-radius:999px;
  color:#46636b!important;
  background:rgba(255,255,255,.85);
  box-shadow:0 7px 20px rgba(8,47,62,.045);
}
.trust-list li::before{color:var(--eha-green)}

/* ---------- Section rhythm ---------- */
.section{padding-top:96px;padding-bottom:96px}
.section-heading{margin-bottom:42px}
.section-heading h2{
  color:var(--eha-navy);
  text-wrap:balance;
}
.section-heading>p:last-child{color:#5b737b!important}
.eyebrow{color:var(--eha-teal)}

/* ---------- Benefits Check ---------- */
.quiz-section{
  margin-top:42px;
  border-top:1px solid rgba(8,47,62,.06);
  border-bottom:1px solid rgba(8,47,62,.06);
  background:
    radial-gradient(circle at 90% 10%,rgba(49,180,141,.11),transparent 24rem),
    linear-gradient(180deg,#edf8f5,#f9fcfb);
}
.quiz-form,.route-preview,.recommendation{
  border-radius:26px;
  box-shadow:var(--eha-shadow-soft);
}
.quiz-form{border-color:#cfe2e1}
.progress span{
  color:#789098;
  border-color:#d9e6e6;
}
.progress .active{
  color:var(--eha-teal);
  border-color:var(--eha-aqua);
}
.field-grid select,.lead-form input,.lead-form select,.lead-form textarea{
  border-color:#c4d8d9;
  box-shadow:inset 0 1px 1px rgba(8,47,62,.025);
}
.field-grid select:focus,.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{
  outline:3px solid rgba(17,167,161,.18);
  border-color:var(--eha-aqua);
}
.route-preview{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0%,rgba(244,190,91,.16),transparent 14rem),
    linear-gradient(145deg,var(--eha-navy),var(--eha-navy-2));
}
.route-preview::after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-70px;bottom:-80px;
  border-radius:50%;
  background:rgba(17,167,161,.10);
}
.route-preview .eyebrow{color:#8de3d6}
.route-preview h3{color:#fff}
.route-preview ol{color:#d8e9eb!important}
.route-icon{
  background:linear-gradient(135deg,var(--eha-aqua),var(--eha-green));
  color:#07333d;
}
.recommendation{
  border-color:rgba(17,167,161,.30);
  background:linear-gradient(135deg,#fff,#f0faf7);
}

/* ---------- Roadmap ---------- */
.roadmap-section{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);
  gap:42px;
  align-items:center;
}
.roadmap-copy p{color:#5b737b!important}
.roadmap-dashboard{
  border:1px solid #d3e4e3;
  border-radius:28px;
  background:#fff;
  box-shadow:var(--eha-shadow);
}
.roadmap-summary{
  background:linear-gradient(135deg,#f2faf8,#edf6fb);
}
.roadmap-steps li,.roadmap-steps>div{
  border-color:#d7e6e5!important;
}

/* ---------- Coverage pathways ---------- */
.pathways-section{position:relative}
.pathway-grid{gap:20px}
.pathway-card{
  position:relative;
  overflow:hidden;
  border-color:#cfe0e0;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fbfdfd);
  box-shadow:0 13px 36px rgba(8,47,62,.075);
}
.pathway-card::after{
  content:"";
  position:absolute;
  right:-54px;top:-54px;
  width:135px;height:135px;
  border-radius:50%;
  background:rgba(17,167,161,.045);
  transition:transform .3s ease;
}
.pathway-card:hover{
  transform:translateY(-7px);
  border-color:#9fc9c9;
  box-shadow:0 23px 52px rgba(8,47,62,.13);
}
.pathway-card:hover::after{transform:scale(1.35)}
.card-icon{
  background:linear-gradient(145deg,#ecf8f5,#dff1ef);
  color:var(--eha-teal);
  box-shadow:inset 0 0 0 1px rgba(11,100,119,.06);
}
.card-kicker{color:var(--eha-teal)}
.pathway-card h3{color:var(--eha-navy)}
.pathway-card>p:not(.card-kicker){color:#5b737b!important}
.text-link{color:var(--eha-teal);border-color:#d9e5e5}

/* ---------- Resources ---------- */
.resource-section{
  position:relative;
  background:
    radial-gradient(circle at 7% 12%,rgba(244,190,91,.08),transparent 18rem);
}
.resource-grid{gap:20px}
.resource-grid a{
  position:relative;
  overflow:hidden;
  border-color:#d1e1e1;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#fbfdfd);
  box-shadow:0 12px 30px rgba(8,47,62,.065);
  transition:.25s ease;
}
.resource-grid a:hover{
  transform:translateY(-6px);
  border-color:#9fc6c6;
  box-shadow:0 21px 44px rgba(8,47,62,.12);
}
.resource-grid h3{color:var(--eha-navy)}
.resource-grid p{color:#5b737b!important}

/* ---------- Health tools ecosystem ---------- */
/* Explicitly normalize accumulated legacy duplicate rules. */
.ecosystem-section{
  position:relative;
  max-width:none!important;
  padding-top:96px!important;
  padding-bottom:104px!important;
  padding-left:max(24px,calc((100% - var(--max))/2))!important;
  padding-right:max(24px,calc((100% - var(--max))/2))!important;
  background:
    radial-gradient(circle at 12% 16%,rgba(17,167,161,.10),transparent 22rem),
    radial-gradient(circle at 90% 84%,rgba(244,190,91,.08),transparent 22rem),
    linear-gradient(180deg,#eef8f6,#f8fbfb)!important;
  border-top:1px solid #d3e5e3;
  border-bottom:1px solid #d3e5e3;
}
.ecosystem-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:20px!important;
}
.ecosystem-card,.rx-card,.senior-card,.ai-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:390px!important;
  padding:26px!important;
  border:1px solid #c4dcdc!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 15px 38px rgba(8,47,62,.095)!important;
}
.ecosystem-card::before{
  left:0!important;right:0!important;top:0!important;height:6px!important;
  background:linear-gradient(90deg,var(--eha-aqua),var(--eha-green))!important;
}
.tool-icon{
  order:1!important;
  width:50px!important;height:50px!important;
  border-radius:15px!important;
  background:linear-gradient(145deg,#eaf8f4,#dff3ef)!important;
  color:var(--eha-teal)!important;
}
.tool-label{
  order:2!important;
  margin:18px 0 5px!important;
  color:var(--eha-teal)!important;
}
.ecosystem-card h3{
  order:3!important;
  color:var(--eha-navy)!important;
}
.ecosystem-card>p{
  order:4!important;
  grid-column:auto!important;
  color:#5b737b!important;
}
.ecosystem-card .tool-disclosure{
  order:5!important;
  color:#677e85!important;
}
.ecosystem-card .text-link{
  order:6!important;
  margin:auto -26px -26px!important;
  padding:18px 26px!important;
  color:var(--eha-teal)!important;
  background:#edf8f5!important;
  border-top:1px solid #d3e5e2!important;
}
.ecosystem-card .text-link:hover{
  color:#fff!important;
  background:linear-gradient(135deg,var(--eha-teal),var(--eha-aqua))!important;
}

/* ---------- Advisor ---------- */
.advisor-section{
  gap:30px;
}
.advisor-profile{
  border-color:#d0e1e0;
  background:
    radial-gradient(circle at 92% 10%,rgba(244,190,91,.10),transparent 14rem),
    linear-gradient(145deg,#fff,#f1f9f7);
  box-shadow:var(--eha-shadow);
}
.advisor-copy h2{color:var(--eha-navy)}
.advisor-copy>p:not(.eyebrow){color:#5b737b!important}
.advisor-meta span{
  color:var(--eha-teal);
  background:#eaf7f4;
}
.license-panel{
  border:1px solid #d8e6e5;
  background:rgba(255,255,255,.88);
}
.state-grid span{
  color:#34545d;
  background:#eff7f6;
}
.lead-card{
  background:
    radial-gradient(circle at 100% 0%,rgba(244,190,91,.13),transparent 15rem),
    linear-gradient(145deg,var(--eha-navy),#0f4856);
  box-shadow:0 24px 58px rgba(8,47,62,.20);
}
.lead-card h3{color:#fff}
.lead-card>p:not(.eyebrow){color:#d2e6e8!important}
.lead-card .eyebrow{color:#8ee1d5}

/* ---------- Employer ---------- */
.employer-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 12%,rgba(244,190,91,.14),transparent 18rem),
    linear-gradient(135deg,#082f3e,#0b6477 65%,#0c7f7d)!important;
}
.employer-section::after{
  content:"";
  position:absolute;
  width:320px;height:320px;
  right:-130px;bottom:-170px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.02);
}
.employer-section>*{position:relative;z-index:1}
.employer-section h2{color:#fff}
.employer-copy>p:not(.eyebrow){color:#d8eaeb!important}
.employer-copy li{color:#eaf6f6!important}
.employer-panel{
  background:rgba(255,255,255,.09);
  border-color:rgba(255,255,255,.20);
  backdrop-filter:blur(8px);
}
.employer-panel h3{color:#fff}
.employer-panel p,.employer-panel ol{color:#dcebec!important}
.btn-light{
  background:#fff;
  color:var(--eha-teal)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}

/* ---------- Testimonials / FAQ ---------- */
.testimonial-grid figure{
  border-color:#d5e4e4;
  border-radius:22px;
  box-shadow:0 11px 28px rgba(8,47,62,.055);
}
.testimonial-grid blockquote{color:var(--eha-navy)}
.faq-list details{
  border-color:#d2e2e2;
  border-radius:16px;
  box-shadow:0 7px 20px rgba(8,47,62,.035);
}
.faq-list details[open]{border-color:#a9cdcd;background:#fbfefe}
.faq-list summary{color:var(--eha-navy)}
.faq-list p{color:#5b737b!important}

/* ---------- Footer ---------- */
footer{
  background:
    radial-gradient(circle at 80% 10%,rgba(17,167,161,.12),transparent 20rem),
    #071f29;
  color:#d4e4e6;
}
footer p,footer small{color:#c7dadd!important}
footer nav a{color:#e2eeee}
footer nav a:hover{color:#8ee1d5}

/* ---------- Responsive repair ---------- */
@media(max-width:1050px){
  .hero{gap:38px;padding-left:28px;padding-right:28px}
  .ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ecosystem-card,.rx-card,.senior-card,.ai-card{min-height:350px!important}
}
@media(max-width:900px){
  .site-header{padding-left:20px;padding-right:20px}
  .menu-toggle{display:inline-flex}
  .site-header nav{
    display:none;
    position:absolute;
    left:16px;right:16px;top:78px;
    z-index:50;
    flex-direction:column;
    align-items:stretch;
    gap:3px;
    padding:14px;
    border:1px solid #cfdfdf;
    border-radius:18px;
    background:rgba(255,255,255,.98);
    box-shadow:0 24px 60px rgba(8,47,62,.18);
  }
  .site-header nav.open{display:flex}
  .site-header nav a{
    width:100%;
    padding:12px 11px;
    border-radius:10px;
  }
  .site-header nav a:not(.nav-cta)::after{display:none}
  .site-header nav a:hover{background:#eff8f6}
  .nav-cta{text-align:center;margin-top:5px}
  .hero{
    grid-template-columns:1fr;
    min-height:auto;
    margin:18px 16px 0;
    padding:56px 28px;
  }
  .hero-copy{max-width:780px}
  .hero-visual{min-height:430px}
  .quiz-shell,.roadmap-section,.advisor-section,.employer-section{
    grid-template-columns:1fr!important;
  }
  .pathway-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pathway-card,.pathway-card:nth-child(4),.pathway-card:nth-child(5),.pathway-card:nth-child(6){
    grid-column:span 1!important;
  }
  .resource-grid,.testimonial-grid{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  html{scroll-padding-top:86px}
  .topbar{font-size:12px;padding:8px 14px}
  .site-header{min-height:72px}
  .brand{width:205px}
  .hero{
    margin:12px 10px 0;
    padding:46px 20px;
    border-radius:26px;
  }
  .hero h1{font-size:clamp(39px,12vw,54px)}
  .hero-lead{font-size:18px}
  .hero-actions,.roadmap-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .btn,.roadmap-actions .btn{width:100%}
  .hero-visual{min-height:350px;padding:22px;border-radius:26px}
  .hero-float{
    position:relative;
    right:auto;bottom:auto;
    margin-top:-18px;
    max-width:100%;
    width:100%;
  }
  .section{padding-left:18px;padding-right:18px;padding-top:72px;padding-bottom:72px}
  .field-grid,.lead-form,.state-grid{grid-template-columns:1fr!important}
  .pathway-grid,.ecosystem-grid{grid-template-columns:1fr!important}
  .ecosystem-section{padding-left:18px!important;padding-right:18px!important}
  .ecosystem-card,.rx-card,.senior-card,.ai-card{min-height:0!important;padding:22px!important}
  .ecosystem-card .text-link{margin:auto -22px -22px!important;padding:17px 22px!important}
  .advisor-profile{grid-template-columns:1fr!important;padding:22px}
  .advisor-photo{max-width:210px}
  .employer-copy ul{grid-template-columns:1fr!important}
  footer{grid-template-columns:1fr!important;padding:44px 20px}
  footer nav{flex-wrap:wrap}
}

/* ---------- Accessibility / reduced motion ---------- */
:focus-visible{
  outline:3px solid rgba(17,167,161,.38);
  outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .btn:hover,.pathway-card:hover,.resource-grid a:hover,.ecosystem-card:hover{transform:none!important}
}
