
:root{
  --purple:#9f39bd;
  --purple-dark:#7e32ca;
  --teal:#4cc1b9;
  --teal-dark:#179b9e;
  --ink:#252b43;
  --muted:#5f6677;
  --paper:#fff;
  --mist:#f7fbfb;
  --line:#e4e7ec;
  --shadow:0 18px 46px rgba(35,46,65,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1420px,calc(100% - 72px));margin:0 auto}
.top-waves{height:154px;line-height:0;overflow:hidden;background:#fff}
.top-waves svg{width:100%;height:175px;display:block}

.site-header{background:#fff}
.header-grid{display:grid;grid-template-columns:370px 1fr 250px;gap:34px;align-items:end;padding:0 0 25px}
.brand img{width:330px;max-height:150px;object-fit:contain;object-position:left center}
.header-center{text-align:center}
.referral-script{margin:0 0 24px;color:var(--purple);font-family:"Segoe Script","Brush Script MT",cursive;font-size:1.75rem;font-weight:700}
.site-nav{display:flex;justify-content:center;gap:33px;align-items:center;font-size:.94rem;font-weight:700}
.site-nav a{padding:9px 0;border-bottom:2px solid transparent}
.site-nav a:hover,.site-nav .active{color:var(--purple-dark);border-bottom-color:var(--purple-dark)}
.header-contact{display:grid;justify-items:end;gap:12px}
.socials{display:flex;gap:16px}
.socials a{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal-dark);color:#fff;font-weight:900}
.phone{font-weight:900;color:var(--teal-dark);font-size:1.08rem}
.menu-button{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:0 24px;border-radius:6px;border:1px solid transparent;font-weight:900;transition:.2s ease;cursor:pointer}
.button:hover{transform:translateY(-2px)}
.button-primary{background:linear-gradient(135deg,var(--purple-dark),var(--purple));color:#fff;box-shadow:0 8px 18px rgba(159,57,189,.2)}
.button-outline{background:#fff;border-color:var(--purple);color:var(--purple-dark)}
.header-button{width:100%;font-size:.85rem}

.hero{position:relative;padding:50px 0 34px;background:linear-gradient(180deg,#fff 0%,#fbfdfd 100%);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr .78fr 1.1fr;align-items:center;gap:0}
.hero-copy{z-index:2;padding:20px 10px 30px}
.hero-copy h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,4.6vw,5.5rem);line-height:1.02;letter-spacing:-.045em;color:#30364c}
.hero-copy h1 em{color:var(--purple-dark);font-family:"Segoe Script","Brush Script MT",cursive;font-weight:600}
.teal-rule{width:76px;height:4px;background:var(--teal-dark);margin:27px 0 23px}
.hero-copy p{font-size:1.14rem;color:var(--muted);max-width:590px}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px;flex-wrap:wrap}
.learn-link{font-weight:900;color:var(--teal-dark)}
.learn-link span{font-size:1.4rem}

.hero-lighthouse{height:420px;position:relative;align-self:end;background:linear-gradient(180deg,#fff 0%,#f8e9db 54%,#d7edf0 70%,#f7f7f4 100%);overflow:hidden}
.sun-haze{position:absolute;inset:0;background:radial-gradient(circle at 68% 45%,rgba(249,205,168,.56),transparent 33%)}
.water-line{position:absolute;left:0;right:0;bottom:74px;height:64px;background:linear-gradient(#dceff0,#bcd9df);opacity:.78}
.shore{position:absolute;left:17%;right:-8%;bottom:0;height:94px;background:linear-gradient(165deg,transparent 0 26%,#89939a 27% 42%,#59636b 44% 55%,#a3aaad 57% 66%,#e1e0db 68%);clip-path:polygon(0 49%,100% 0,100% 100%,0 100%)}
.lighthouse{position:absolute;left:54%;bottom:66px;width:85px;height:245px;transform:translateX(-50%)}
.tower{position:absolute;left:18px;bottom:0;width:49px;height:183px;background:linear-gradient(90deg,#e9ece8,#fff 54%,#d5ddd9);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);border:1px solid rgba(30,50,60,.18)}
.door{position:absolute;left:36px;bottom:0;width:15px;height:26px;background:#63777b;border-radius:7px 7px 0 0}
.lantern-room{position:absolute;left:11px;top:36px;width:63px;height:39px;background:linear-gradient(90deg,var(--teal-dark),#73d1cb,var(--teal-dark));border:5px solid #e5f2ef;box-shadow:0 0 0 2px var(--teal-dark)}
.lantern-roof{position:absolute;top:20px;left:8px;width:70px;height:28px;background:var(--teal-dark);clip-path:polygon(50% 0,100% 75%,86% 100%,14% 100%,0 75%)}
.lantern-roof:before{content:"";position:absolute;width:4px;height:19px;background:var(--teal-dark);left:33px;top:-17px}
.light-beam{position:absolute;top:44px;height:14px;width:215px;background:linear-gradient(90deg,rgba(76,193,185,.34),transparent);filter:blur(1px)}
.beam-left{right:53px;transform:rotate(2deg)}
.beam-right{left:53px;transform:rotate(178deg)}

.event-card{z-index:3;margin-left:-24px;background:#fff;border-radius:14px;box-shadow:var(--shadow);overflow:hidden;border:1px solid #e4e4e7}
.event-ribbon{text-align:center;background:linear-gradient(180deg,var(--purple),var(--purple-dark));color:#fff;padding:11px;font-weight:900;font-size:.8rem;letter-spacing:.04em}
.event-body{display:grid;grid-template-columns:1fr 130px;padding:25px 28px 19px;gap:22px}
.event-main h2{font-family:Georgia,serif;color:var(--purple-dark);font-size:2rem;margin:0 0 18px}
.event-details{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.event-details li{display:grid;grid-template-columns:23px 1fr;align-items:start}
.event-details li span{color:var(--purple);font-weight:900}
.event-details small{grid-column:2;display:block;color:var(--muted)}
.seats{border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.heart-hands{font-size:3rem;color:var(--purple);line-height:1}
.seats span{font-size:.75rem;margin-top:8px}
.seats strong{font-size:2rem;color:var(--purple-dark)}
.event-actions{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0 28px 25px}
.all-events{text-align:right;width:min(1420px,calc(100% - 72px));margin:16px auto 0}
.all-events a,.section-heading>a{color:var(--purple-dark);font-weight:900}
.all-events span,.section-heading span{font-size:1.5rem}

.services{padding:13px 0 31px;background:#fbfcfd;border-top:1px solid #f0f1f3;border-bottom:1px solid #f0f1f3}
.section-title{text-align:center;color:var(--teal-dark);font-family:Georgia,serif;font-size:1.65rem;margin:0 0 15px}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:25px}
.service-card{height:112px;background:#fff;border:1px solid #edf0f2;border-radius:12px;box-shadow:0 8px 22px rgba(36,48,67,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:.2s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(159,57,189,.15)}
.service-icon{font-size:2rem;color:var(--teal-dark)}
.service-card:nth-child(even) .service-icon{color:var(--purple-dark)}
.service-card strong{font-size:1.04rem}

.news-section{padding:32px 0 60px}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}
.section-heading h2{font-family:Georgia,serif;font-size:1.75rem;margin:0}
.purple-rule{width:67px;height:3px;background:var(--purple);margin-top:8px}
.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.news-card{min-height:180px;display:grid;grid-template-columns:auto 1fr 105px;background:#fff;border:1px solid #eceef1;border-radius:10px;overflow:hidden;box-shadow:0 8px 25px rgba(36,48,67,.07)}
.news-date{padding:20px 12px;color:var(--purple-dark);text-align:center}
.news-date small,.news-copy small{font-size:.64rem;font-weight:900;color:var(--purple);letter-spacing:.08em}
.news-date strong{display:block;margin-top:8px;font-size:1.25rem;line-height:1.1}
.news-copy{padding:21px 10px}
.news-copy.full-copy{padding-left:21px}
.news-copy h3{font-family:Georgia,serif;font-size:1.06rem;margin:8px 0}
.news-copy p{font-size:.83rem;color:var(--muted);margin:0}
.news-art{background-size:cover;background-position:center}
.hill-art{background:linear-gradient(145deg,#dde6da,#80a77b 45%,#415d48)}
.desk-art{background:linear-gradient(135deg,#e8ddd2,#f7f4ee 42%,#72a2ae)}
.people-art{background:radial-gradient(circle at 50% 30%,#f0cf9b 0 14%,transparent 15%),linear-gradient(135deg,#c1ad81,#6e8747)}
.fall-art{background:linear-gradient(140deg,#f4df9d,#b66d2c 48%,#553e2b)}

.about-section{padding:80px 0;background:linear-gradient(180deg,#f8fbfb,#fff)}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.about-mark{padding:35px;border-radius:30px;background:#fff;box-shadow:var(--shadow)}
.about-mark img{max-width:430px;margin:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--teal-dark);font-size:.77rem;font-weight:900}
.eyebrow.light{color:#d9fffb}
.about-grid h2,.contact-grid h2{font-family:Georgia,serif;font-size:3rem;margin:12px 0}
.about-grid p{color:var(--muted);font-size:1.06rem}

.contact-section{padding:80px 0;background:linear-gradient(135deg,#176f75,#179b9e 60%,#4cc1b9);color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.contact-grid h2{color:#fff}
.phone-large{font-size:2rem;font-weight:900;color:#fff}
.contact-form{background:#fff;color:var(--ink);padding:28px;border-radius:15px;display:grid;gap:14px;box-shadow:var(--shadow)}
.contact-form label{font-weight:800;font-size:.88rem}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:11px 12px;margin-top:5px;border:1px solid var(--line);border-radius:7px;font:inherit}
.contact-form small{color:var(--muted)}

footer{padding:40px 0;background:#20283d;color:#cfd4df}
.footer-grid{display:grid;grid-template-columns:300px 1fr 1fr;gap:40px;align-items:center}
.footer-grid img{background:#fff;border-radius:9px;padding:5px}

.reveal{opacity:0;transform:translateY(15px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1120px){
  .header-grid{grid-template-columns:270px 1fr 210px}
  .brand img{width:260px}
  .site-nav{gap:17px;font-size:.84rem}
  .hero-grid{grid-template-columns:1fr 1fr}
  .hero-copy{grid-column:1}
  .hero-lighthouse{grid-column:2}
  .event-card{grid-column:1/-1;margin:25px auto 0;max-width:720px;width:100%}
  .service-grid{grid-template-columns:repeat(3,1fr)}
  .news-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .container,.all-events{width:min(100% - 32px,1420px)}
  .top-waves{height:94px}.top-waves svg{height:110px}
  .header-grid{grid-template-columns:1fr auto;align-items:center}
  .brand img{width:250px}
  .header-center{grid-column:1/-1;order:3}
  .referral-script{display:none}
  .header-contact{display:none}
  .menu-button{display:block;border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:6px}
  .site-nav{display:none;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
  .site-nav.open{display:flex}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy,.hero-lighthouse{grid-column:1}
  .hero-lighthouse{height:330px;margin-top:0}
  .event-card{grid-column:1}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .news-grid{grid-template-columns:1fr}
  .about-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .hero-copy h1{font-size:3rem}
  .event-body{grid-template-columns:1fr}
  .seats{border-left:0;border-top:1px solid var(--line);padding-top:15px}
  .event-actions{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr 1fr;gap:12px}
  .service-card{height:100px}
  .news-card{grid-template-columns:auto 1fr 80px}
}


/* Photo lighthouse hero replacement */
.hero-lighthouse.hero-photo {
  position: relative;
  height: 420px;
  overflow: hidden;
  background: #eef7f7;
  align-self: end;
}
.hero-lighthouse.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 62% center;
  display: block;
}
.hero-photo-fade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.86) 10%, rgba(255,255,255,.18) 34%, rgba(255,255,255,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,.05) 58%, rgba(255,255,255,.92) 100%);
}
@media(max-width:1120px){
  .hero-lighthouse.hero-photo {
    height: 380px;
  }
  .hero-lighthouse.hero-photo img {
    object-position: 58% center;
  }
}
@media(max-width:820px){
  .hero-lighthouse.hero-photo {
    height: 330px;
    border-radius: 12px;
  }
  .hero-photo-fade {
    background:
      linear-gradient(90deg, rgba(255,255,255,.15), rgba(255,255,255,0)),
      linear-gradient(180deg, rgba(255,255,255,0) 68%, rgba(255,255,255,.9) 100%);
  }
}


/* Header quote CTA */
.header-cta-group {
  display: grid;
  gap: 9px;
  width: 100%;
}
.button-quote {
  background: linear-gradient(135deg, var(--teal-dark), var(--teal));
  color: #fff;
  border: 0;
  box-shadow: 0 8px 18px rgba(23,155,158,.2);
}
.button-quote:hover {
  background: linear-gradient(135deg, #127f82, var(--teal-dark));
}

/* Quote modal */
.quote-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  place-items: center;
  padding: 24px;
}
.quote-modal.open {
  display: grid;
}
.quote-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 31, 48, .68);
  backdrop-filter: blur(5px);
}
.quote-panel {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 38px;
  border-radius: 20px;
  background:
    radial-gradient(circle at top right, rgba(76,193,185,.14), transparent 34%),
    #fff;
  box-shadow: 0 30px 90px rgba(20, 26, 42, .32);
}
.quote-panel h2 {
  margin: 8px 0 10px;
  font-family: Georgia, serif;
  font-size: clamp(2rem, 5vw, 3.25rem);
  line-height: 1.08;
}
.quote-intro {
  margin: 0 0 25px;
  color: var(--muted);
}
.quote-close {
  position: absolute;
  right: 17px;
  top: 13px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #f1f3f5;
  color: var(--ink);
  font-size: 1.7rem;
  cursor: pointer;
}
.quote-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.quote-choice {
  min-height: 190px;
  padding: 22px 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: .2s ease;
}
.quote-choice:hover {
  transform: translateY(-4px);
  border-color: var(--teal);
  box-shadow: 0 15px 32px rgba(23,155,158,.14);
}
.quote-choice-featured {
  border-top: 5px solid var(--purple);
}
.quote-choice-icon {
  font-size: 1.8rem;
  color: var(--teal-dark);
  margin-bottom: 14px;
}
.quote-choice strong {
  font-family: Georgia, serif;
  font-size: 1.24rem;
}
.quote-choice small {
  margin-top: 8px;
  color: var(--muted);
}
.quote-help {
  margin-top: 24px;
  padding-top: 19px;
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  gap: 15px;
  flex-wrap: wrap;
}
.quote-help a {
  color: var(--purple-dark);
  font-weight: 900;
}
body.modal-open {
  overflow: hidden;
}
@media(max-width: 1120px) {
  .header-cta-group {
    grid-template-columns: 1fr;
  }
}
@media(max-width: 700px) {
  .quote-panel {
    padding: 30px 20px 22px;
  }
  .quote-choice-grid {
    grid-template-columns: 1fr;
  }
  .quote-choice {
    min-height: 128px;
  }
}


/* =========================================================
   Premium advisor-style visual refresh
   ========================================================= */

:root {
  --display-font: "Libre Caslon Display", Georgia, serif;
  --body-font: "DM Sans", Arial, sans-serif;
  --premium-shadow: 0 24px 60px rgba(31, 52, 62, .12);
  --premium-shadow-soft: 0 14px 34px rgba(31, 52, 62, .09);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--body-font);
  color: #24343d;
  line-height: 1.65;
  background: #fff;
}

h1, h2, h3, .display-title {
  font-family: var(--display-font);
  font-weight: 400;
  letter-spacing: -.025em;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(23,155,158,.10);
  transition: box-shadow .25s ease, background .25s ease;
}

.site-header.is-scrolled {
  background: rgba(255,255,255,.97);
  box-shadow: 0 10px 35px rgba(31,52,62,.10);
}

.site-header .header-inner,
.site-header .nav-wrap,
.site-header img,
.site-header .button {
  transition: all .25s ease;
}

.site-header.is-scrolled .header-inner {
  padding-top: 8px;
  padding-bottom: 8px;
}

.site-header.is-scrolled .brand img,
.site-header.is-scrolled .site-logo {
  transform: scale(.9);
  transform-origin: left center;
}
/* Compact shared header while scrolling */
.site-header.is-scrolled .header-grid {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  padding-top: 6px;
  padding-bottom: 6px;
}

.site-header.is-scrolled .header-center,
.site-header.is-scrolled .header-contact {
  display: none;
}

.site-header.is-scrolled .header-nav-row {
  grid-column: 2;
  grid-row: 1;
}

.site-header.is-scrolled .brand img {
  width: 220px !important;
  height: 68px !important;
  max-height: 68px !important;
  transform: none;
}

.site-header.is-scrolled .site-nav {
  gap: 24px;
  font-size: .9rem;
}

.site-header.is-scrolled .site-nav a {
  padding-top: 5px;
  padding-bottom: 5px;
}


.main-nav a {
  position: relative;
  font-weight: 600;
}

.main-nav a:not(.button)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 2px;
  background: var(--teal-dark);
  transition: right .22s ease;
}

.main-nav a:not(.button):hover::after {
  right: 0;
}

.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero::before {
  content: "";
  position: absolute;
  width: 560px;
  height: 560px;
  left: -260px;
  top: -260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(76,193,185,.14), transparent 68%);
  z-index: -1;
}

.hero h1 {
  font-size: clamp(3.15rem, 6.1vw, 6.8rem);
  line-height: .98;
  max-width: 900px;
  margin-bottom: 24px;
}

.hero h1 em {
  color: var(--purple-dark);
  font-style: italic;
}

.hero-copy,
.hero p {
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  max-width: 660px;
}

.hero-lighthouse.hero-photo {
  height: clamp(430px, 52vw, 650px);
  border-radius: 2px 2px 28px 28px;
  box-shadow: var(--premium-shadow);
}

.hero-lighthouse.hero-photo img {
  transform: scale(1.015);
  transition: transform 1.2s ease;
}

.hero-lighthouse.hero-photo:hover img {
  transform: scale(1.045);
}

.hero-photo-fade {
  background:
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.88) 9%, rgba(255,255,255,.20) 34%, rgba(255,255,255,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,0) 64%, rgba(255,255,255,.96) 100%);
}

.event-card {
  border-radius: 18px;
  box-shadow: var(--premium-shadow);
  border: 1px solid rgba(126,50,202,.10);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease;
}

.event-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 70px rgba(31,52,62,.16);
}

.button {
  border-radius: 999px;
  font-family: var(--body-font);
  font-weight: 700;
  letter-spacing: .01em;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-primary,
.button-quote {
  box-shadow: 0 10px 24px rgba(23,155,158,.22);
}

.trust-strip {
  border-top: 1px solid rgba(23,155,158,.10);
  border-bottom: 1px solid rgba(23,155,158,.10);
  background: linear-gradient(180deg, #fbfefe 0%, #f4fbfa 100%);
}

.trust-strip-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}

.trust-strip-inner > div {
  padding: 28px 32px;
  position: relative;
}

.trust-strip-inner > div + div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: rgba(23,155,158,.18);
}

.trust-strip strong {
  display: block;
  color: var(--teal-dark);
  font-size: 1rem;
  margin-bottom: 4px;
}

.trust-strip span {
  display: block;
  color: var(--muted);
  font-size: .92rem;
}

section {
  scroll-margin-top: 120px;
}

.section-title,
.section-heading,
section h2 {
  font-size: clamp(2.35rem, 4vw, 4.2rem);
  line-height: 1.06;
}

.service-card,
.news-card,
.learning-card,
.card {
  border-radius: 16px;
  border: 1px solid rgba(23,155,158,.11);
  box-shadow: 0 8px 26px rgba(31,52,62,.06);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.service-card:hover,
.news-card:hover,
.learning-card:hover,
.card:hover {
  transform: translateY(-7px);
  box-shadow: var(--premium-shadow-soft);
  border-color: rgba(23,155,158,.30);
}

.service-card::before,
.learning-card::before,
.news-card::before {
  border-radius: 16px 16px 0 0;
}

.eyebrow {
  font-size: .76rem;
  letter-spacing: .16em;
  font-weight: 700;
}

footer,
.site-footer {
  background:
    radial-gradient(circle at 80% 10%, rgba(126,50,202,.14), transparent 30%),
    #20333c;
}

.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .65s ease, transform .65s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1120px) {
  .hero h1 {
    font-size: clamp(3rem, 7vw, 5.5rem);
  }
}

@media (max-width: 820px) {
  .site-header {
    position: relative;
  }

  .hero {
    padding-top: 34px;
  }

  .hero-lighthouse.hero-photo {
    height: 390px;
    border-radius: 16px;
  }

  .hero-photo-fade {
    background:
      linear-gradient(180deg, rgba(255,255,255,0) 58%, rgba(255,255,255,.92) 100%);
  }

  .trust-strip-inner {
    grid-template-columns: 1fr;
  }

  .trust-strip-inner > div {
    padding: 20px 22px;
  }

  .trust-strip-inner > div + div::before {
    top: 0;
    left: 22px;
    right: 22px;
    bottom: auto;
    width: auto;
    height: 1px;
  }
}

@media (max-width: 560px) {
  .hero h1 {
    font-size: clamp(2.75rem, 14vw, 4.2rem);
  }

  .hero-lighthouse.hero-photo {
    height: 310px;
  }

  .header-cta-group {
    width: 100%;
  }

  .header-cta-group .button {
    width: 100%;
    justify-content: center;
  }

  section {
    scroll-margin-top: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}


/* =========================================================
   Data-driven Learning Center
   ========================================================= */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.learning-header {
  gap: 28px;
}
.learning-hero {
  padding: clamp(70px, 9vw, 130px) 0 70px;
  background:
    radial-gradient(circle at 82% 18%, rgba(159,57,189,.12), transparent 25%),
    linear-gradient(180deg, #f6fcfb, #fff);
}
.learning-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(270px, .6fr);
  gap: clamp(40px, 8vw, 110px);
  align-items: end;
}
.learning-hero h1 {
  max-width: 900px;
  margin: 10px 0 24px;
  font-size: clamp(3.1rem, 7vw, 7rem);
  line-height: .98;
}
.learning-hero p {
  max-width: 720px;
  font-size: 1.12rem;
}
.learning-editor-note {
  padding: 28px;
  border-left: 4px solid var(--purple);
  background: rgba(255,255,255,.84);
  box-shadow: var(--premium-shadow-soft);
}
.learning-editor-note span {
  color: var(--teal-dark);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .74rem;
  font-weight: 700;
}
.learning-editor-note p {
  margin: 8px 0 0;
  font-family: var(--display-font);
  font-size: 1.42rem;
  line-height: 1.4;
}
.learning-tools {
  position: sticky;
  top: 78px;
  z-index: 50;
  padding: 18px 0;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(14px);
  border-top: 1px solid rgba(23,155,158,.1);
  border-bottom: 1px solid rgba(23,155,158,.13);
}
.learning-toolbar {
  display: flex;
  align-items: center;
  gap: 20px;
}
.learning-search {
  flex: 0 1 340px;
}
.learning-search input {
  width: 100%;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(23,155,158,.2);
  border-radius: 999px;
  background: #f8fbfb;
  font: inherit;
  outline: none;
}
.learning-search input:focus {
  border-color: var(--teal-dark);
  box-shadow: 0 0 0 4px rgba(23,155,158,.10);
}
.category-filters {
  display: flex;
  gap: 9px;
  overflow-x: auto;
  padding: 3px;
}
.filter-chip {
  flex: 0 0 auto;
  padding: 10px 16px;
  border: 1px solid rgba(23,155,158,.18);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.filter-chip.active,
.filter-chip:hover {
  color: #fff;
  background: var(--teal-dark);
  border-color: var(--teal-dark);
}
.featured-learning {
  padding: 75px 0 55px;
}
.featured-article-card {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  min-height: 500px;
  overflow: hidden;
  border-radius: 24px;
  background: #f5fbfa;
  box-shadow: var(--premium-shadow);
}
.featured-article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.featured-article-copy {
  padding: clamp(36px, 6vw, 75px);
  align-self: center;
}
.featured-article-copy h2 {
  margin: 10px 0 18px;
  font-size: clamp(2.4rem, 4vw, 4.5rem);
}
.article-card-meta {
  display: flex;
  gap: 14px;
  margin: 18px 0;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 600;
}
.article-card-meta span + span::before {
  content: "•";
  margin-right: 14px;
  color: var(--purple);
}
.text-link {
  color: var(--purple-dark);
  font-weight: 700;
}
.article-library {
  padding: 60px 0 100px;
}
.section-heading-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 36px;
}
.section-heading-row h2 {
  max-width: 760px;
  margin: 8px 0 0;
}
.article-count {
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
}
.article-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.learning-article-card {
  overflow: hidden;
  border: 1px solid rgba(23,155,158,.13);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(31,52,62,.07);
  transition: transform .23s ease, box-shadow .23s ease;
}
.learning-article-card:hover {
  transform: translateY(-7px);
  box-shadow: var(--premium-shadow-soft);
}
.learning-card-image {
  display: block;
  position: relative;
  height: 210px;
  overflow: hidden;
}
.learning-card-image img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.learning-article-card:hover .learning-card-image img {
  transform: scale(1.04);
}
.learning-card-image span {
  position: absolute;
  left: 16px; bottom: 16px;
  padding: 7px 11px;
  border-radius: 999px;
  color: #fff;
  background: rgba(23,155,158,.94);
  font-size: .75rem;
  font-weight: 700;
}
.learning-card-content {
  padding: 24px;
}
.learning-card-content h3 {
  margin: 8px 0 12px;
  font-size: 1.75rem;
  line-height: 1.18;
}
.learning-card-content h3 a {
  color: inherit;
}
.learning-card-content p {
  color: var(--muted);
}
.empty-results {
  padding: 70px 20px;
  text-align: center;
}
.learning-cta {
  padding: 75px 0;
  background:
    radial-gradient(circle at 80% 30%, rgba(159,57,189,.13), transparent 30%),
    #eef9f8;
}
.learning-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.learning-cta h2 {
  max-width: 760px;
  margin: 8px 0 0;
}

/* Individual article */
.article-page {
  padding: 70px 0 110px;
}
.article-shell {
  max-width: 980px;
}
.back-link {
  display: inline-block;
  margin-bottom: 40px;
  color: var(--teal-dark);
  font-weight: 700;
}
.article-header {
  max-width: 860px;
}
.article-header h1 {
  margin: 10px 0 22px;
  font-size: clamp(3rem, 7vw, 6.5rem);
  line-height: 1;
}
.article-meta {
  display: flex;
  gap: 18px;
  color: var(--muted);
  font-weight: 600;
}
.article-image {
  margin: 48px 0;
  height: min(520px, 55vw);
  overflow: hidden;
  border-radius: 24px;
  box-shadow: var(--premium-shadow);
}
.article-image img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.article-body {
  max-width: 760px;
  margin: 0 auto;
  font-size: 1.1rem;
  line-height: 1.82;
}
.article-body h2 {
  margin: 52px 0 14px;
  font-size: clamp(2rem, 4vw, 3.2rem);
}
.article-body blockquote {
  margin: 42px 0;
  padding: 25px 30px;
  border-left: 5px solid var(--purple);
  background: #f7f3fa;
  font-family: var(--display-font);
  font-size: 1.65rem;
  line-height: 1.45;
}
.article-conversation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 35px;
  margin-top: 80px;
  padding: 42px;
  border-radius: 20px;
  background: #eef9f8;
}
.article-conversation h2 {
  margin: 5px 0;
  font-size: 2.4rem;
}
.article-not-found {
  padding: 100px 0;
}
.article-not-found h1 {
  font-size: 4rem;
}

@media (max-width: 980px) {
  .learning-hero-grid,
  .featured-article-card {
    grid-template-columns: 1fr;
  }
  .featured-article-image {
    height: 380px;
  }
  .article-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .learning-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .learning-search {
    flex-basis: auto;
  }
  .learning-tools {
    position: static;
  }
}
@media (max-width: 680px) {
  .article-grid {
    grid-template-columns: 1fr;
  }
  .featured-article-image {
    height: 280px;
  }
  .learning-cta-inner,
  .article-conversation,
  .section-heading-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .article-image {
    height: 300px;
  }
  .article-conversation {
    padding: 28px;
  }
}


/* =========================================================
   Learning Center header correction
   ========================================================= */
.learning-header {
  display: grid;
  grid-template-columns: 285px minmax(0, 1fr) 275px;
  align-items: center;
  gap: 28px;
  padding: 18px 0;
}

.learning-header .brand {
  display: flex;
  align-items: center;
  min-width: 0;
}

.learning-header .brand img,
.learning-header .site-logo {
  display: block;
  width: 265px;
  max-width: 100%;
  height: 92px;
  max-height: 92px;
  object-fit: contain;
  object-position: left center;
  transform: none;
}

.learning-header .main-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(16px, 2vw, 31px);
  min-width: 0;
  white-space: nowrap;
  font-size: .91rem;
  font-weight: 700;
}

.learning-header .main-nav a {
  padding: 9px 0;
}

.learning-header .main-nav a[aria-current="page"] {
  color: var(--purple-dark);
}

.learning-header .header-cta-group {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 275px;
  justify-self: end;
}

.learning-header .header-button {
  width: 100%;
  min-height: 42px;
  padding: 0 16px;
  font-size: .77rem;
  line-height: 1.15;
  text-align: center;
}

.site-header.is-scrolled .learning-header {
  padding-top: 5px;
  padding-bottom: 5px;
}

.site-header.is-scrolled .learning-header .brand img,
.site-header.is-scrolled .learning-header .site-logo {
  width: 180px;
  height: 58px;
  max-height: 58px;
  transform: none;
}

.site-header.is-scrolled .learning-header .main-nav {
  gap: clamp(12px, 1.5vw, 22px);
  font-size: .86rem;
}

.site-header.is-scrolled .learning-header .main-nav a {
  padding: 5px 0;
}

.site-header.is-scrolled .learning-header .header-button {
  min-height: 36px;
  padding: 0 12px;
  font-size: .7rem;
}

@media (max-width: 1180px) {
  .learning-header {
    grid-template-columns: 230px minmax(0, 1fr) 235px;
    gap: 18px;
  }

  .learning-header .brand img,
  .learning-header .site-logo {
    width: 220px;
    height: 80px;
  }

  .learning-header .main-nav {
    gap: 15px;
    font-size: .82rem;
  }

  .learning-header .header-cta-group {
    width: 235px;
  }

  .learning-header .header-button {
    font-size: .7rem;
    padding-inline: 10px;
  }
}

@media (max-width: 900px) {
  .site-header {
    position: relative;
  }

  .learning-header {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 14px 0 17px;
  }

  .learning-header .brand {
    justify-content: center;
  }

  .learning-header .brand img,
  .learning-header .site-logo,
  .site-header.is-scrolled .learning-header .brand img,
  .site-header.is-scrolled .learning-header .site-logo {
    width: min(275px, 82vw);
    height: auto;
    max-height: 105px;
  }

  .learning-header .main-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 18px;
    white-space: normal;
    font-size: .88rem;
  }

  .learning-header .header-cta-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(620px, 100%);
    justify-self: center;
  }

  .learning-header .header-button {
    min-height: 45px;
    font-size: .76rem;
  }
}

@media (max-width: 560px) {
  .learning-header .main-nav {
    gap: 7px 13px;
    font-size: .81rem;
  }

  .learning-header .header-cta-group {
    grid-template-columns: 1fr;
  }

  .learning-header .header-button {
    width: 100%;
  }
}


/* Hero scale refinement */
.hero{
  padding-top:40px;
  padding-bottom:40px;
}
.hero h1{
  font-size:clamp(2.5rem,4.3vw,4.8rem)!important;
  max-width:620px;
  line-height:1.02;
}
.hero p,
.hero-copy{
  max-width:520px;
  font-size:1.02rem!important;
}
.hero-lighthouse.hero-photo{
  height:clamp(320px,34vw,470px)!important;
}
.hero-lighthouse.hero-photo img{
  object-position:60% center;
}
.hero .button{
  transform:scale(.95);
}
@media(max-width:900px){
  .hero h1{
    font-size:clamp(2.3rem,8vw,3.8rem)!important;
  }
  .hero-lighthouse.hero-photo{
    height:300px!important;
  }
}


/* =========================================================
   Unified Resource Center V2
   ========================================================= */
.resource-hero {
  padding: clamp(72px, 9vw, 125px) 0 72px;
  background:
    radial-gradient(circle at 85% 20%, rgba(159,57,189,.13), transparent 28%),
    linear-gradient(180deg,#f4fbfa,#fff);
}
.resource-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.55fr);
  gap:clamp(45px,8vw,110px);
  align-items:end;
}
.resource-hero h1 {
  margin:10px 0 24px;
  max-width:900px;
  font-size:clamp(3.3rem,7vw,7rem);
  line-height:.98;
}
.resource-hero p {max-width:720px;font-size:1.12rem;}
.resource-quote {
  padding:30px;
  border-left:4px solid var(--purple);
  background:#fff;
  box-shadow:var(--premium-shadow-soft);
}
.resource-quote span {color:var(--teal-dark);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.resource-quote p {margin:10px 0 0;font-family:var(--display-font);font-size:1.5rem;line-height:1.42;}
.resource-tools {
  padding:18px 0;
  border-block:1px solid rgba(23,155,158,.13);
  background:rgba(255,255,255,.96);
}
.resource-toolbar {display:flex;gap:20px;align-items:center;}
.resource-toolbar input {
  width:min(360px,100%);
  min-height:50px;
  padding:0 19px;
  border:1px solid rgba(23,155,158,.22);
  border-radius:999px;
  background:#f7fbfb;
  font:inherit;
}
.resource-feature-section {padding:75px 0 55px;}
.resource-feature {
  display:grid;
  grid-template-columns:1.08fr 1fr;
  min-height:490px;
  overflow:hidden;
  border-radius:24px;
  background:#f3faf9;
  box-shadow:var(--premium-shadow);
}
.resource-feature-image img {width:100%;height:100%;object-fit:cover;}
.resource-feature-copy {padding:clamp(38px,6vw,76px);align-self:center;}
.resource-feature-copy h2 {margin:10px 0 18px;font-size:clamp(2.4rem,4.2vw,4.6rem);}
.resource-library,.resource-events,.resource-downloads,.meet-margaret,.resource-testimonials {padding:80px 0;}
.resource-article-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.resource-article-card {
  overflow:hidden;border:1px solid rgba(23,155,158,.13);border-radius:18px;background:#fff;
  box-shadow:0 10px 30px rgba(31,52,62,.07);transition:.24s ease;
}
.resource-article-card:hover {transform:translateY(-7px);box-shadow:var(--premium-shadow-soft);}
.resource-card-image {display:block;position:relative;height:215px;overflow:hidden;}
.resource-card-image img {width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.resource-article-card:hover img {transform:scale(1.04);}
.resource-card-image span {position:absolute;left:16px;bottom:16px;padding:7px 11px;border-radius:999px;background:var(--teal-dark);color:#fff;font-size:.75rem;font-weight:700;}
.resource-card-copy {padding:24px;}
.resource-card-copy h3 {margin:8px 0 12px;font-size:1.72rem;line-height:1.18;}
.resource-card-copy h3 a {color:inherit;}
.resource-card-copy p {color:var(--muted);}
.resource-events {background:#f5fbfa;}
.resource-event-grid {display:grid;grid-template-columns:1.3fr 1fr;gap:24px;}
.resource-event-card {
  display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:30px;
  border-radius:18px;background:#fff;box-shadow:var(--premium-shadow-soft);
}
.resource-event-card.featured {border-top:5px solid var(--purple);}
.event-date {display:grid;place-items:center;width:75px;height:86px;border-radius:14px;background:#f4ecf8;color:var(--purple-dark);}
.event-date strong {font-size:.76rem;letter-spacing:.12em;}
.event-date b {font-family:var(--display-font);font-size:2.2rem;}
.resource-event-card h3 {margin:5px 0;font-size:2rem;}
.download-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.download-card {
  display:flex;flex-direction:column;min-height:285px;padding:26px;border:1px solid rgba(23,155,158,.14);
  border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(31,52,62,.07);transition:.24s ease;
}
.download-card:hover {transform:translateY(-6px);box-shadow:var(--premium-shadow-soft);}
.download-icon {font-size:2rem;color:var(--teal-dark);}
.download-category {margin-top:18px;color:var(--purple-dark);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.download-card strong {margin-top:8px;font-family:var(--display-font);font-size:1.65rem;line-height:1.2;color:var(--ink);}
.download-card small {margin-top:10px;color:var(--muted);font-size:.9rem;}
.download-card em {margin-top:auto;padding-top:18px;color:var(--teal-dark);font-style:normal;font-weight:700;}
.meet-margaret {background:#fff;}
.meet-margaret-grid {display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,8vw,100px);align-items:center;}
.margaret-photo {min-height:480px;border-radius:24px;background:linear-gradient(145deg,#dff4f1,#f4eaf8);display:grid;place-items:center;box-shadow:var(--premium-shadow);}
.photo-placeholder {padding:20px;color:var(--teal-dark);font-weight:700;text-align:center;}
.meet-margaret h2 {margin:8px 0 20px;font-size:clamp(2.7rem,5vw,5rem);}
.resource-testimonials {background:#223740;color:#fff;}
.resource-testimonials .eyebrow {color:#75d4cd;}
.testimonial-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:28px;}
.testimonial-grid blockquote {margin:0;padding:30px;border-top:3px solid var(--purple);background:rgba(255,255,255,.06);font-family:var(--display-font);font-size:1.5rem;line-height:1.5;}
.resource-final-cta {padding:82px 0;background:linear-gradient(135deg,#ecf8f7,#f7eef9);}
.resource-final-cta-inner {display:flex;justify-content:space-between;align-items:center;gap:45px;}
.resource-final-cta h2 {margin:8px 0;font-size:clamp(2.8rem,5vw,5.2rem);}
.resource-final-buttons {display:flex;flex-direction:column;gap:12px;min-width:290px;}
.article-page {padding:70px 0 100px;}
.article-shell {max-width:980px;}
.article-header h1 {font-size:clamp(3.1rem,7vw,6.5rem);line-height:1;margin:12px 0 20px;}
.article-image {height:min(520px,55vw);margin:48px 0;border-radius:24px;overflow:hidden;box-shadow:var(--premium-shadow);}
.article-image img {width:100%;height:100%;object-fit:cover;}
.article-body {max-width:760px;margin:auto;font-size:1.08rem;line-height:1.82;}
.article-body h2 {margin:50px 0 13px;font-size:clamp(2rem,4vw,3.2rem);}
.article-body blockquote {margin:40px 0;padding:25px 30px;border-left:5px solid var(--purple);background:#f7f1f9;font-family:var(--display-font);font-size:1.6rem;}
.article-conversation {display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:75px;padding:40px;border-radius:20px;background:#eef9f8;}
@media(max-width:980px){
  .resource-hero-grid,.resource-feature,.meet-margaret-grid{grid-template-columns:1fr;}
  .resource-article-grid{grid-template-columns:repeat(2,1fr);}
  .download-grid{grid-template-columns:repeat(2,1fr);}
  .resource-event-grid{grid-template-columns:1fr;}
  .resource-toolbar{flex-direction:column;align-items:stretch;}
  .resource-toolbar input{width:100%;}
}
@media(max-width:700px){
  .resource-article-grid,.download-grid,.testimonial-grid{grid-template-columns:1fr;}
  .resource-event-card{grid-template-columns:auto 1fr;}
  .resource-event-card .button,.resource-event-card .text-link{grid-column:1/-1;}
  .resource-final-cta-inner,.article-conversation{align-items:flex-start;flex-direction:column;}
  .resource-final-buttons{width:100%;min-width:0;}
  .margaret-photo{min-height:340px;}
}


/* Priority claims and Turning 65 guides */
.priority-guides {
  padding: 82px 0;
  background: #fff;
}
.priority-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
}
.priority-guide-card {
  min-height: 390px;
  padding: clamp(30px, 4vw, 48px);
  border-radius: 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: var(--premium-shadow-soft);
  overflow: hidden;
  position: relative;
}
.priority-guide-card::after {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  right: -75px;
  top: -75px;
  border-radius: 50%;
  opacity: .22;
}
.priority-guide-card.auto {
  background: linear-gradient(145deg, #edf9f8, #fff);
  border-top: 6px solid var(--teal-dark);
}
.priority-guide-card.auto::after {
  background: var(--teal);
}
.priority-guide-card.medicare {
  background: linear-gradient(145deg, #f7effa, #fff);
  border-top: 6px solid var(--purple);
}
.priority-guide-card.medicare::after {
  background: var(--purple);
}
.priority-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--teal-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.priority-guide-card.medicare .priority-kicker {
  color: var(--purple-dark);
}
.priority-guide-card h3 {
  max-width: 520px;
  margin: 0 0 14px;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: 1.05;
}
.priority-guide-card p {
  max-width: 540px;
  color: var(--muted);
  font-size: 1rem;
}
.priority-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.priority-actions .button {
  padding-inline: 20px;
}
.download-icon {
  min-height: 42px;
  display: flex;
  align-items: center;
  font-weight: 800;
}
@media(max-width: 800px) {
  .priority-guide-grid {
    grid-template-columns: 1fr;
  }
  .priority-guide-card {
    min-height: 340px;
  }
}


.seat-availability {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}

.seat-availability small {
  margin-top: 5px;
  color: #273740;
  font-family: "DM Sans", sans-serif;
  font-size: .48em;
  font-weight: 700;
}

.seat-reserved {
  margin-top: 5px;
  color: #71808a;
  font-size: .72rem;
  font-weight: 600;
}


/* ===== Homepage Highlight Rotator ===== */

.homepage-highlight-rotator {
    position: relative;
    width: 100%;
    min-width: 0;
}

.homepage-highlight-slide {
    display: none;
    width: 100%;
}

.homepage-highlight-slide.is-active {
    display: block;
}

.homepage-highlight-slide.is-entering-fade {
    animation: homepage-highlight-fade-in .45s ease both;
}

.homepage-highlight-slide.is-entering-slide-left {
    animation: homepage-highlight-slide-left .45s ease both;
}

.homepage-highlight-slide.is-entering-slide-up {
    animation: homepage-highlight-slide-up .45s ease both;
}

.homepage-highlight-slide.is-entering-none {
    animation: none;
}

.homepage-highlight-arrow {
    position: absolute;
    top: 50%;
    z-index: 20;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(18, 111, 67, .16);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: var(--green, #126f43);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .14);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition:
        transform .16s ease,
        box-shadow .16s ease,
        background-color .16s ease;
}

.homepage-highlight-arrow:hover,
.homepage-highlight-arrow:focus-visible {
    background: #fff;
    box-shadow: 0 11px 28px rgba(15, 23, 42, .2);
    outline: none;
}

.homepage-highlight-arrow:hover {
    transform: translateY(-50%) scale(1.06);
}

.homepage-highlight-arrow.is-previous {
    left: -20px;
}

.homepage-highlight-arrow.is-next {
    right: -20px;
}

.homepage-highlight-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
}

.homepage-highlight-dot {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cbd5dc;
    cursor: pointer;
    transition:
        width .18s ease,
        background-color .18s ease,
        transform .18s ease;
}

.homepage-highlight-dot:hover,
.homepage-highlight-dot:focus-visible {
    background: #7e32ca;
    outline: none;
    transform: scale(1.12);
}

.homepage-highlight-dot.is-active {
    width: 26px;
    background: var(--green, #126f43);
}

@keyframes homepage-highlight-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes homepage-highlight-slide-left {
    from {
        opacity: 0;
        transform: translateX(32px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes homepage-highlight-slide-up {
    from {
        opacity: 0;
        transform: translateY(24px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 860px) {
    .homepage-highlight-arrow.is-previous {
        left: 8px;
    }

    .homepage-highlight-arrow.is-next {
        right: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .homepage-highlight-slide,
    .homepage-highlight-arrow,
    .homepage-highlight-dot {
        animation: none !important;
        transition: none !important;
    }
}


/* ===== Nested Website Navigation ===== */

.site-nav-group {
    position: relative;
}

.site-nav-parent {
    display: flex;
    align-items: center;
    justify-content: center;
}

.site-nav-link {
    display: inline-flex;
    align-items: center;
    padding: 9px 0;
    border-bottom: 2px solid transparent;
}

.site-nav-link:hover,
.site-nav-link.active {
    color: var(--purple-dark);
    border-bottom-color: var(--purple-dark);
}

.site-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 30px;
    margin-left: 3px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--purple-dark);
    font: inherit;
    cursor: pointer;
    transition: transform .15s ease;
}

.site-nav-group.is-open
.site-submenu-toggle,
.site-nav-group:hover
.site-submenu-toggle {
    transform: rotate(180deg);
}

.site-submenu {
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    z-index: 3000;
    display: none;
    width: max-content;
    min-width: 220px;
    padding: 8px;
    border: 1px solid #e1e6e9;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(36, 48, 67, .16);
    text-align: left;
    transform: translateX(-50%);
}

.site-nav-group:hover .site-submenu,
.site-nav-group:focus-within .site-submenu,
.site-nav-group.is-open .site-submenu {
    display: grid;
}

.site-submenu a {
    display: block;
    padding: 10px 12px;
    border: 0;
    border-radius: 7px;
    color: var(--ink);
    font-size: .86rem;
    font-weight: 700;
    white-space: nowrap;
}

.site-submenu a:hover,
.site-submenu a:focus-visible {
    border: 0;
    background: #f4eef9;
    color: var(--purple-dark);
    outline: none;
}

@media(max-width:820px) {
    .site-nav-group {
        width: 100%;
    }

    .site-nav-parent {
        justify-content: space-between;
        width: 100%;
    }

    .site-submenu-toggle {
        width: 40px;
    }

    .site-submenu {
        position: static;
        width: 100%;
        min-width: 0;
        margin-top: 4px;
        padding: 5px 0 5px 16px;
        border: 0;
        border-left: 2px solid var(--teal);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        transform: none;
    }

    .site-nav-group:hover .site-submenu,
    .site-nav-group:focus-within .site-submenu {
        display: none;
    }

    .site-nav-group.is-open .site-submenu {
        display: grid;
    }

    .site-submenu a {
        padding: 8px 10px;
    }
}

/* ===== Website Navigation Desktop Polish ===== */

@media (min-width: 821px) {
    .site-nav {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 28px;
    }

    .site-nav-group {
        position: relative;
        flex: 0 0 auto;
    }

    .site-nav-parent {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 2px;
        white-space: nowrap;
    }

    .site-nav-link {
        white-space: nowrap;
    }

    .site-submenu-toggle {
        width: 18px;
        height: 28px;
        margin-left: 0;
        flex: 0 0 18px;
    }

    .site-submenu {
        top: calc(100% + 4px);
        left: 0;
        min-width: 220px;
        transform: none;
    }

    .site-nav-group:last-child .site-submenu {
        left: auto;
        right: 0;
    }
}

/* Keep desktop dropdown connected to its parent hover target */
@media (min-width: 821px) {
    .site-submenu {
        top: 100%;
        margin-top: 0;
    }
}

body:has(#site-header.connect-edit-region) #site-header.connect-edit-region {
    position: relative;
}

#site-header.connect-edit-region::after {
    content: "Editing Header";
    position: absolute;
    right: 12px;
    bottom: 8px;
    z-index: 9998;
    padding: 4px 8px;
    border-radius: 6px;
    background: rgba(15, 23, 42, .88);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    pointer-events: none;
}

.header-preview-contact-item {
    font: inherit;
    color: inherit;
    text-decoration: none;
}

.connect-header-text {
    margin: 0 0 6px;
}

/* WYSIWYG header preview overrides.
   These intentionally outrank template defaults while editing. */

#site-header.connect-edit-region .header-grid {
    position: relative;
}

#site-header.connect-edit-region .brand {
    display: flex !important;
    align-items: center;
    position: relative;
    z-index: 2;
}

#site-header.connect-edit-region .connect-header-text {
    display: block;
    margin: 0 0 10px;
    color: inherit;
    font-size: .95rem;
    font-weight: 600;
}

#site-header.connect-edit-region .header-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 10px 16px;
}

#site-header.connect-edit-region .header-preview-contact-item {
    display: inline-flex;
    color: inherit;
    font-size: .88rem;
    line-height: 1.3;
}

#site-header.connect-edit-region .socials {
    display: flex;
}

#site-header[data-logo-alignment="left"] .brand {
    grid-column: 1;
    justify-self: start;
}

#site-header[data-logo-alignment="center"] .brand {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    justify-content: center;
}

#site-header[data-logo-alignment="right"] .brand {
    grid-column: 3;
    justify-self: end;
}

/* Header WYSIWYG layout modes */

#site-header[data-logo-alignment="left"] .header-grid {
    grid-template-columns: minmax(180px, 300px) 1fr auto !important;
}

#site-header[data-logo-alignment="left"] .brand {
    position: static !important;
    grid-column: 1 !important;
    justify-self: start !important;
    transform: none !important;
}

#site-header[data-logo-alignment="left"] .header-center {
    grid-column: 2 !important;
    text-align: left !important;
}

#site-header[data-logo-alignment="left"] .header-contact {
    grid-column: 3 !important;
}


#site-header[data-logo-alignment="center"] .header-grid {
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 320px) minmax(220px, 1fr) !important;
}

#site-header[data-logo-alignment="center"] .brand {
    position: static !important;
    grid-column: 2 !important;
    justify-self: center !important;
    transform: none !important;
}

#site-header[data-logo-alignment="center"] .header-center {
    grid-column: 1 !important;
    grid-row: 1 !important;
    text-align: left !important;
}

#site-header[data-logo-alignment="center"] .header-contact {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
}


#site-header[data-logo-alignment="right"] .header-grid {
    grid-template-columns: minmax(220px, 1fr) 1fr minmax(180px, 300px) !important;
}

#site-header[data-logo-alignment="right"] .brand {
    position: static !important;
    grid-column: 3 !important;
    justify-self: end !important;
    transform: none !important;
}

#site-header[data-logo-alignment="right"] .header-center {
    grid-column: 2 !important;
    text-align: left !important;
}

#site-header[data-logo-alignment="right"] .header-contact {
    grid-column: 1 !important;
    justify-self: start !important;
}


/* Generic reusable section layouts */

.interior-content-section .interior-section-items {
    display: grid;
    gap: 24px;
}

.interior-content-section.interior-section-layout-tiles
    .interior-section-items {
    grid-template-columns:
        repeat(auto-fit, minmax(220px, 1fr));
}

.interior-content-section.interior-section-layout-list
    .interior-section-items {
    grid-template-columns: 1fr;
}

.interior-content-section.interior-section-layout-list
    .interior-section-item {
    display: grid;
    grid-template-columns: minmax(80px, 140px) 1fr;
    column-gap: 24px;
    align-items: center;
}

.interior-content-section.interior-section-layout-list
    .interior-section-item-image {
    grid-column: 1;
    grid-row: 1 / span 4;
    margin: 0;
}

.interior-content-section.interior-section-layout-list
    .interior-section-item > :not(.interior-section-item-image) {
    grid-column: 2;
}

.interior-content-section.interior-section-layout-icons
    .interior-section-items {
    grid-template-columns:
        repeat(auto-fit, minmax(180px, 1fr));
}

.interior-content-section.interior-section-layout-icons
    .interior-section-item {
    text-align: center;
}

.interior-content-section .interior-section-item-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 100px;
    margin-bottom: 18px;
}

.interior-content-section .interior-section-item-image img {
    display: block;
    width: 100%;
    max-width: 220px;
    height: 140px;
    object-fit: contain;
}

.interior-content-section.interior-section-layout-list
    .interior-section-item-image img {
    max-width: 140px;
    height: 100px;
}

.interior-content-section.interior-section-layout-icons
    .interior-section-item-image {
    min-height: 72px;
    margin-bottom: 12px;
}

.interior-content-section.interior-section-layout-icons
    .interior-section-item-image img {
    max-width: 96px;
    height: 72px;
}

@media (max-width: 640px) {
    .interior-content-section.interior-section-layout-list
        .interior-section-item {
        grid-template-columns: 1fr;
    }

    .interior-content-section.interior-section-layout-list
        .interior-section-item-image,
    .interior-content-section.interior-section-layout-list
        .interior-section-item > :not(.interior-section-item-image) {
        grid-column: 1;
    }

    .interior-content-section.interior-section-layout-list
        .interior-section-item-image {
        grid-row: auto;
        justify-content: flex-start;
        margin-bottom: 14px;
    }
}

/* Image + Text reusable section */
.interior-content-section.interior-section-image-text > .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 48px;
    align-items: center;
}

.interior-content-section.interior-section-image-text
    .interior-section-feature-image {
    grid-column: 1;
    grid-row: 1 / span 8;
    min-width: 0;
}

.interior-content-section.interior-section-image-text
    .interior-section-feature-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    border-radius: 18px;
}

.interior-content-section.interior-section-image-text
    > .container > :not(.interior-section-feature-image) {
    grid-column: 2;
}

@media (max-width: 760px) {
    .interior-content-section.interior-section-image-text > .container {
        grid-template-columns: 1fr;
        row-gap: 18px;
    }

    .interior-content-section.interior-section-image-text
        .interior-section-feature-image,
    .interior-content-section.interior-section-image-text
        > .container > :not(.interior-section-feature-image) {
        grid-column: 1;
        grid-row: auto;
    }

    .interior-content-section.interior-section-image-text
        .interior-section-feature-image {
        margin-bottom: 10px;
    }
}
