
:root{
  --purple-1:#6E1E74;
  --purple-2:#3A1240;
  --purple-3:#24081F;
  --gold:#F0A93C;
  --gold-deep:#D98F1F;
  --ink:#2B2B2B;
  --gray:#5A5A5A;
  --navy:#1F2A44;
  --paper:#FFFFFF;
  --paper-alt:#F4F4F4;
  --footer:#1A1A1A;
  --line:rgba(0,0,0,0.08);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;overflow-x:clip;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Open Sans', sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.display{
  font-family:'Poppins', sans-serif;
  color:var(--ink);
  margin:0;
  font-weight:800;
}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
:focus-visible{outline:3px solid var(--gold); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important;} }

.underline{
  width:60px; height:4px; background:var(--gold); border:none; margin:14px 0 0;
}
.underline.center{margin-left:auto; margin-right:auto;}

/* ---------- HEADER / NAV ---------- */
header{
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:60;
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 32px; max-width:1180px; margin:0 auto;
}
.logo{
  font-family:'Poppins', sans-serif; font-weight:800; font-size:19px;
  color:var(--purple-2); text-decoration:none; white-space:nowrap;
}
nav.primary > ul{list-style:none; display:flex; gap:8px; margin:0; padding:0;}
nav.primary > ul > li{position:relative;}
nav.primary > ul > li > a{
  text-decoration:none; font-size:13px; font-weight:700; color:var(--ink);
  letter-spacing:0.03em; text-transform:uppercase;
  padding:10px 14px; display:block; border-bottom:2px solid transparent;
}
nav.primary > ul > li > a:hover, nav.primary > ul > li.current > a{
  color:var(--ink); border-bottom-color:var(--gold);
}
.dropdown{
  list-style:none; margin:0; padding:8px; position:absolute; top:100%; left:0;
  background:var(--paper); border:1px solid var(--line); border-radius:4px;
  min-width:230px; box-shadow:0 12px 28px rgba(0,0,0,0.12);
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease;
}
nav.primary > ul > li:hover > .dropdown, nav.primary > ul > li:focus-within > .dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown li a{
  display:block; padding:9px 12px; border-radius:3px; text-decoration:none;
  font-size:13.5px; color:var(--ink); font-weight:600; text-transform:none;
}
.dropdown li a:hover{background:var(--paper-alt); color:var(--gold-deep);}
.dropdown > li{position:relative;}
.dropdown > li.has-submenu > a{position:relative;padding-right:34px;}
.dropdown > li.has-submenu > a::after{content:'›';position:absolute;right:14px;font-size:22px;line-height:1;}
.submenu{
  list-style:none;margin:0;padding:18px;position:absolute;left:100%;top:-18px;
  min-width:430px;background:var(--paper);box-shadow:0 12px 28px rgba(0,0,0,.14);
  opacity:0;visibility:hidden;transform:translateX(6px);transition:opacity .15s ease,transform .15s ease;
}
.dropdown > li:hover > .submenu,.dropdown > li:focus-within > .submenu{
  opacity:1;visibility:visible;transform:translateX(0);
}
.nav-toggle{display:none;}

@media (max-width:980px){
  nav.primary{
    position:fixed; inset:69px 0 auto 0; background:var(--paper);
    max-height:calc(100vh - 69px); overflow-y:auto;
    border-bottom:1px solid var(--line);
    transform:translateY(-130%); transition:transform .25s ease;
  }
  nav.primary.open{transform:translateY(0);}
  nav.primary > ul{flex-direction:column; gap:0; padding:8px 0;}
  nav.primary > ul > li > a{padding:14px 32px; border-bottom:1px solid var(--line);}
  .dropdown{
    position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
    border:none; border-radius:0; background:var(--paper-alt); display:none; margin:0; padding:4px 0;
  }
  li.mobile-open .dropdown{display:block;}
  .submenu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;display:none;min-width:0;background:#fff;padding:4px 0 4px 24px;}
  .dropdown > li.mobile-open > .submenu{display:block;}
  .nav-toggle{
    display:block; background:none; border:none; cursor:pointer;
    font-size:24px; color:var(--purple-2); line-height:1;
  }
}

/* ---------- HERO (purple diagonal) ---------- */
.hero{
  position:relative; overflow:hidden;
  background:linear-gradient(115deg, var(--purple-1) 0%, var(--purple-1) 42%, var(--purple-2) 62%, var(--purple-3) 100%);
  color:#fff; padding:80px 0 70px;
}
.hero .wrap{position:relative; z-index:2;}
.hero h1{
  color:#fff; font-size:clamp(32px,5vw,52px); line-height:1.08; text-transform:uppercase;
  max-width:14ch;
}
.hero p.lede{color:rgba(255,255,255,0.88); font-size:16.5px; max-width:52ch; margin-top:22px;}
.hero-cta{
  display:inline-block; margin-top:28px; padding:13px 26px; border:2px solid var(--gold);
  color:var(--gold); font-weight:700; font-size:13px; letter-spacing:0.05em; text-transform:uppercase;
  text-decoration:none; border-radius:2px;
}
.hero-cta:hover{background:var(--gold); color:var(--purple-3);}
.hero-dots{
  position:absolute; right:32px; bottom:28px; display:flex; gap:10px; z-index:2;
}
.hero-dots span{
  width:26px; height:26px; border-radius:50%; background:rgba(0,0,0,0.35); display:block;
}
.hero-dots span.active{background:#D9D9D9;}

/* ---------- WELCOME SECTION ---------- */
.welcome{padding:70px 0;}
.welcome h2{font-size:clamp(26px,3.2vw,34px); text-align:center;}
.welcome-grid{
  display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:start; margin-top:44px;
}
.feature-item{display:flex; gap:18px; margin-bottom:30px;}
.feature-dot{
  width:14px; height:14px; border-radius:50%; background:var(--gold); flex-shrink:0; margin-top:7px;
}
.feature-item h3{font-size:19px; margin-bottom:6px;}
.feature-item p{font-size:15px; color:var(--gray); margin:0;}
.welcome-img{
  border:1px solid var(--line); border-radius:4px; background:var(--paper-alt);
  min-height:220px; display:flex; align-items:center; justify-content:center;
  color:#999; font-family:'IBM Plex Mono',monospace; font-size:12.5px; text-align:center; padding:20px;
}

/* ---------- AT A GLANCE (circular diagram) ---------- */
.glance{background:var(--paper-alt); padding:70px 0;}
.glance h2{font-size:clamp(26px,3.2vw,34px); text-align:center; text-transform:uppercase;}
.glance-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-top:50px;
}
.circle-diagram{position:relative; width:420px; height:420px; margin:0 auto;}
.circle-ring{
  position:absolute; inset:0; border:1px solid rgba(0,0,0,0.12); border-radius:50%;
}
.circle-center{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:230px; height:230px; border-radius:50%; background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,0.08);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:20px;
}
.circle-center .icon{font-size:30px; margin-bottom:8px;}
.circle-center h4{color:var(--navy); font-size:17px; margin-bottom:6px;}
.circle-center p{font-size:12.5px; color:var(--gray); margin:0;}
.circle-node{
  position:absolute; width:52px; height:52px; border-radius:50%; background:var(--gold);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px;
  box-shadow:0 6px 14px rgba(0,0,0,0.15);
}
.node-top{top:0; left:50%; transform:translate(-50%,-50%);}
.node-right{top:28%; right:0; transform:translate(50%,-50%);}
.node-bottom-right{bottom:14%; right:8%; transform:translate(50%,50%);}
.node-bottom-left{bottom:14%; left:8%; transform:translate(-50%,50%);}
.node-left{top:28%; left:0; transform:translate(-50%,-50%);}

.tt-list h3{font-size:22px; margin-bottom:20px;}
.tt-list ul{list-style:none; margin:0; padding:0;}
.tt-list li{
  font-size:15.5px; color:var(--ink); padding:14px 0; border-bottom:1px solid var(--line);
}
.tt-list li a{text-decoration:none; color:inherit;}
.tt-list li a:hover{color:var(--gold-deep);}

/* ---------- RECENT ARTICLES ---------- */
.articles{padding:70px 0;}
.articles h2{font-size:clamp(26px,3.2vw,34px); text-align:center; text-transform:uppercase;}
.article-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px; margin-top:46px;}
.article-card h3{font-size:18px; line-height:1.3; margin-bottom:12px;}
.article-card p{font-size:14.5px; color:var(--gray); margin:0 0 14px;}
.article-card .read-more{
  font-size:13px; font-weight:700; text-decoration:none; color:var(--ink);
  text-transform:uppercase; letter-spacing:0.03em;
}
.article-card .read-more:hover{color:var(--gold-deep);}

/* ---------- INTERIOR PAGE HERO ---------- */
.page-hero{
  background:linear-gradient(115deg, var(--purple-1) 0%, var(--purple-2) 70%, var(--purple-3) 100%);
  color:#fff; padding:56px 0 42px;
}
.breadcrumb{font-size:13px; color:rgba(255,255,255,0.75); margin-bottom:14px;}
.breadcrumb a{text-decoration:none; color:#fff;}
.page-hero h1{color:#fff; font-size:clamp(28px,4vw,42px); text-transform:uppercase; max-width:22ch;}
.page-hero p.lede{color:rgba(255,255,255,0.85); font-size:16.5px; max-width:60ch; margin-top:16px;}

/* ---------- CONTENT ---------- */
main{padding:56px 0 8px;}
.content-grid{display:grid; grid-template-columns:2fr 1fr; gap:48px; align-items:start;}
.article p{font-size:16px; color:var(--ink); margin:0 0 18px;}
.article h2{font-size:23px; margin:36px 0 14px; text-transform:none;}
.article h2:first-child{margin-top:0;}
.article h3{font-size:18px; margin:24px 0 10px; color:var(--purple-2);}
.article ul{margin:0 0 18px; padding-left:22px;}
.article li{margin-bottom:8px; font-size:16px;}
.callout{
  background:var(--paper-alt); border-left:4px solid var(--gold); border-radius:0 4px 4px 0;
  padding:18px 22px; margin:24px 0; font-size:15px;
}
.callout strong{color:var(--purple-2);}
.img-placeholder{
  border:2px dashed var(--gold-deep); border-radius:4px; background:var(--paper-alt);
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:var(--gold-deep); font-family:'IBM Plex Mono',monospace; font-size:12.5px;
  padding:24px; min-height:160px;
}

/* ---------- SIDEBAR ---------- */
.sidebar{position:sticky; top:100px; display:flex; flex-direction:column; gap:20px;}
.side-card{background:var(--paper-alt); border-radius:4px; padding:22px;}
.side-card h4{font-size:13px; text-transform:uppercase; letter-spacing:0.05em; color:var(--purple-2); margin-bottom:12px;}
.side-card ul{list-style:none; margin:0; padding:0;}
.side-card li{margin-bottom:9px;}
.side-card a{text-decoration:none; font-size:14.5px; font-weight:700; color:var(--ink);}
.side-card a:hover{color:var(--gold-deep);}
.side-card.gold{background:var(--purple-2); color:#fff;}
.side-card.gold h4{color:var(--gold);}
.side-card.gold p{font-size:14.5px; margin:0 0 14px; color:rgba(255,255,255,0.85);}
.btn-mini{
  display:inline-block; background:var(--gold); color:var(--purple-3); font-weight:700;
  padding:9px 18px; border-radius:2px; font-size:13px; text-decoration:none; text-transform:uppercase;
}

@media (max-width:900px){
  .content-grid, .welcome-grid, .glance-grid{grid-template-columns:1fr;}
  .article-grid{grid-template-columns:1fr;}
  .sidebar{position:static;}
  .circle-diagram{width:320px; height:320px;}
  .circle-center{width:180px; height:180px;}
}

/* ---------- FOOTER ---------- */
footer{background:var(--footer); color:#D8D8D8; padding:56px 0 32px; position:relative;}
.foot-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
.foot-col h4{font-family:'Poppins',sans-serif; font-weight:800; font-size:16px; color:#fff; margin:0 0 18px;}
.foot-col p{font-size:14.5px; margin:0 0 4px; color:#B8B8B8;}
.foot-col .label{color:#fff; font-weight:700; font-size:14.5px; margin-top:14px;}
.foot-col ul{list-style:none; margin:0; padding:0;}
.foot-col li{margin-bottom:16px;}
.foot-col li a{text-decoration:none; font-size:14.5px; color:#D8D8D8; display:block;}
.foot-col li a:hover{color:var(--gold);}
.foot-col li .date{display:block; font-size:12.5px; color:#8A8A8A; margin-top:3px;}
.back-to-top{
  position:fixed; right:24px; bottom:24px; width:44px; height:44px; border-radius:50%;
  background:var(--gold); color:var(--purple-3); display:flex; align-items:center; justify-content:center;
  text-decoration:none; font-size:18px; box-shadow:0 6px 16px rgba(0,0,0,0.25); z-index:70;
}

/* ---------- CONTACT / FORM PAGES ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
.field{margin-bottom:18px;}
.field label{display:block; font-size:13.5px; font-weight:700; margin-bottom:6px; color:var(--purple-2);}
.field input, .field textarea{
  width:100%; padding:12px 14px; border-radius:3px; border:1px solid var(--line);
  font-family:inherit; font-size:15px; background:var(--paper);
}
.field textarea{min-height:130px; resize:vertical;}
.btn{
  display:inline-flex; align-items:center; gap:8px; border:none; cursor:pointer;
  padding:13px 26px; border-radius:2px; font-weight:700; font-size:13px; text-transform:uppercase;
  letter-spacing:0.04em; text-decoration:none; background:var(--gold); color:var(--purple-3);
}
@media (max-width:800px){.form-grid{grid-template-columns:1fr;}}

/* Homepage reference-match overrides */
body{font-size:16px;line-height:1.55;}
.wrap{max-width:1300px;}
header{position:relative;}
.nav-inner{justify-content:center;min-height:80px;padding:18px 32px;}
.nav-inner{max-width:1380px;}
.logo{display:none;}
nav.primary > ul{gap:4px;flex-wrap:nowrap;}
nav.primary > ul > li > a{font-size:14px;padding:11px 10px;white-space:nowrap;}
nav.primary > ul > li:has(> .dropdown) > a::after{content:'⌄';color:var(--gold);font-size:14px;margin-left:4px;}
.dropdown{min-width:360px;padding:8px;border-radius:0;}
.dropdown li a{font-size:13.5px;line-height:1.25;padding:8px 10px;}
.submenu{padding:8px;top:-8px;}
.featured-menu > .dropdown{min-width:430px;}
.professional-menu > .dropdown{min-width:340px;}
.resources-menu > .dropdown{min-width:430px;}
.news-menu > .dropdown{min-width:360px;}
.news-menu .submenu{min-width:510px;}
.news-menu .submenu{left:auto;right:100%;transform:translateX(-6px);}
.news-menu .dropdown > li:hover > .submenu,.news-menu .dropdown > li:focus-within > .submenu{transform:translateX(0);}
.menopause-menu .treatment-submenu{min-width:520px;}
main{padding:0;}
.hero{
  height:500px;min-height:500px;padding:0;background:#8c008b;
  transition:background-color .35s ease;
}
.hero .wrap{
  max-width:1080px;height:100%;display:flex;flex-direction:column;
  justify-content:center;align-items:flex-start;padding-top:12px;padding-bottom:12px;
}
.hero::before{
  content:"";position:absolute;inset:0;background:var(--hero-dark,#430040);
  clip-path:polygon(58% 0,95% 0,86% 100%,48.5% 100%);z-index:0;
  transition:background-color .35s ease;
}
.hero h1{font-size:64px;line-height:1.02;max-width:12ch;}
.hero .underline{width:420px;height:5px;margin-top:20px;}
.hero p.lede{font-size:18px;line-height:1.65;max-width:52ch;margin-top:31px;}
.hero-cta{margin-top:16px;padding:11px 21px;font-size:14px;}
.hero-dots{right:31px;bottom:24px;gap:9px;}
.hero-dots span{width:58px;height:58px;background:rgba(24,0,28,.55);}
.hero-dots span{cursor:pointer;}
.hero-dots span.active{background:linear-gradient(145deg,#fff,#b7b7b7);box-shadow:inset 0 0 0 2px rgba(0,0,0,.22);}

.welcome{min-height:598px;padding:82px 0 70px;}
.welcome h2,.glance h2,.articles h2{font-size:40px;line-height:46px;}
.underline{width:168px;height:4px;margin-top:13px;}
.welcome-grid{grid-template-columns:1.25fr .75fr;gap:66px;margin-top:42px;}
.feature-item{gap:14px;margin-bottom:22px;}
.feature-dot{width:28px;height:28px;margin-top:1px;}
.feature-item h3{font-size:20px;line-height:26px;margin-bottom:5px;font-weight:600;}
.feature-item p{font-size:15px;}
.welcome-img{min-height:0;height:auto;border:0;border-radius:0;padding:0;margin-top:2px;font-size:0;background:transparent;overflow:hidden;}
.welcome-img img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;}

.glance{min-height:705px;padding:82px 0 72px;}
.glance-grid{gap:56px;margin-top:83px;}
.circle-diagram{width:450px;height:450px;}
.circle-ring{border:4px solid #fff;}
.circle-center{width:340px;height:340px;box-shadow:none;}
.circle-node{width:52px;height:52px;box-shadow:none;font-size:22px;}
.node-right{top:28%;left:95%;right:auto;transform:translate(-50%,-50%);}
.node-bottom-right{top:87%;left:80%;right:auto;bottom:auto;transform:translate(-50%,-50%);}
.node-bottom-left{top:87%;left:20%;bottom:auto;transform:translate(-50%,-50%);}
.node-left{top:28%;left:5%;transform:translate(-50%,-50%);}
.circle-node{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
.circle-node:hover,.circle-node:focus-visible{box-shadow:0 0 0 4px rgba(255,181,54,.22);outline:none;}
.circle-center .icon{min-height:42px;display:flex;align-items:center;justify-content:center;}
.circle-center h4{font-size:20px;line-height:30px;}
.circle-center p{font-size:14px;line-height:24px;max-width:245px;}
.tt-list h3{font-size:26px;line-height:32px;margin-bottom:18px;}
.tt-list li{font-size:16px;padding:16px 0;border:0;color:#747474;}

.articles{min-height:566px;padding:82px 0 70px;}
.article-grid{gap:68px;margin-top:110px;}
.article-card h3{font-size:20px;line-height:1.3;margin-bottom:8px;}
.article-card p{font-size:14px;line-height:1.65;margin-bottom:12px;}
.article-card .read-more{font-size:12px;text-transform:none;}

footer{min-height:352px;padding:52px 0 30px;}
.foot-grid{max-width:665px;gap:76px;}
.foot-col h4{font-size:18px !important;line-height:24px;margin-bottom:20px;}
.foot-col p,.foot-col .label,.foot-col li a{font-size:15px !important;line-height:1.75;}
.foot-col .label{font-size:15px !important;margin-top:16px;}
.foot-col li{margin-bottom:14px;}
.foot-col li .date{font-size:14px !important;line-height:1.6;}
.back-to-top{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:0;background:#232323;color:#fff;box-shadow:none;}

@media (max-width:980px){
  .nav-inner{justify-content:space-between;min-height:69px;}
  .logo{display:block;}
  .hero .underline{width:min(420px,100%);}
  .hero{height:auto;min-height:500px;padding:58px 0;}
  .hero .wrap{height:auto;display:block;padding-top:0;padding-bottom:0;}
  .hero h1{font-size:44px;}
  .hero p.lede{font-size:16px;}
  .hero-dots span{width:34px;height:34px;}
}


.content-page{padding:0;background:#fff}
.content-hero{background:#8c008b;color:#fff;padding:64px 0;position:relative;overflow:hidden}
.content-hero:after{content:"";position:absolute;inset:0;background:#430040;clip-path:polygon(60% 0,95% 0,86% 100%,52% 100%)}
.content-hero .wrap{position:relative;z-index:1}
.content-hero h1{color:#fff;font-size:48px;line-height:1.12;max-width:19ch;text-transform:uppercase}
.content-hero p{margin:14px 0 0;color:rgba(255,255,255,.85);font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.page-body{max-width:940px;margin:0 auto;padding:72px 32px 96px}
.page-body h2{font-size:25px;line-height:1.35;margin:42px 0 16px;color:#301135;font-weight:800}
.page-body h2:first-child{margin-top:0}
.page-body p{font-size:17px;line-height:1.78;margin:0 0 21px;color:#3e3e3e}
.page-body .article-heading{font-size:32px;line-height:1.28;margin:0 0 28px;padding-bottom:20px;border-bottom:4px solid #f0a93c;color:#28102d}
.page-body .section-heading{padding-left:16px;border-left:4px solid #f0a93c}
.page-body .session-heading{font-size:22px;padding:18px 20px;margin-top:34px;background:#f6f2f6;border-left:4px solid #8c008b;color:#2c1530}
.page-body .date-heading{font-size:14px;line-height:1.4;margin:44px 0 12px;color:#8c008b;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.page-body .content-meta{margin:-5px 0 22px;color:#676767;font-size:15px}
.page-body .content-meta strong{color:#2d2d2d}
.page-body ul{padding-left:22px}.page-body li{font-size:16px;line-height:1.65;margin:8px 0}
.resource-list,.card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0}
.resource-list a,.card-list a{display:block;padding:22px;border:1px solid #e4e4e4;border-left:4px solid #f0a93c;text-decoration:none;font-weight:700;background:#fafafa}
.source-note{margin-top:52px;padding-top:20px;border-top:1px solid #e5e5e5;font-size:12px;color:#777}
@media(max-width:800px){.content-hero h1{font-size:34px}.resource-list,.card-list{grid-template-columns:1fr}.page-body{padding:45px 22px 65px}}
