/* Policy Point: clearer hierarchy, compact navigation, and unobstructed contact. */
html { scroll-padding-top: 86px; }
body { overflow-x: hidden; }
.wrap { width: min(1180px, calc(100% - 36px)); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.header .brand { text-decoration: none; flex: none; }
.wordmark-text { display: flex; flex-direction: column; line-height: 1.08; color: #111; }
.wordmark-text strong { font-size: 20px; letter-spacing: .025em; }
.wordmark-text small { font-size: 9px; letter-spacing: .16em; font-weight: 700; margin-top: 4px; }
.header nav { display: flex; align-items: center; gap: 21px; flex-wrap: nowrap; }
.header nav a { white-space: nowrap; }
.header-actions { display: flex; align-items: center; gap: 10px; }
.header-cta { white-space: nowrap; }
.menu-toggle { display: none; }

.hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .75fr); min-height: 0; gap: 72px; padding-top: 78px; padding-bottom: 82px; }
.hero h1 { font-size: clamp(48px, 4.3vw, 64px); line-height: 1.04; letter-spacing: -.055em; max-width: 730px; margin: 24px 0; }
.hero p { max-width: 640px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button-outline { color: #fff; background: transparent; border-color: #777; }
.button-outline:hover { color: #111; background: #fff; border-color: #fff; }
.hero-foot { margin-top: 25px; color: #c9c9c9; font-size: 13px; }
.hero-profile { background: #fff; color: #111; border-radius: 20px; overflow: hidden; align-self: stretch; display: flex; flex-direction: column; }
.hero-profile img { display: block; width: 100%; height: 300px; object-fit: cover; object-position: center 30%; }
.hero-profile > div { padding: 24px 28px 27px; }
.hero-profile .eyebrow { color: #555; }
.hero-profile strong { display: block; font-size: 29px; line-height: 1.1; margin: 9px 0; letter-spacing: -.04em; }
.hero-profile p { font-size: 14px; color: #555; margin: 0 0 15px; }
.hero-profile div > span:last-child { display: block; border-top: 1px solid #ddd; padding-top: 15px; font-size: 13px; font-weight: 700; }
.proof-strip { border-bottom: 1px solid #dedede; background: #f7f7f7; }
.proof-items { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 0; font-size: 13px; font-weight: 750; }
.proof-items a { text-decoration: underline; text-underline-offset: 4px; }

.cover-card { min-height: 270px !important; }
.cover-top svg { width: 29px; height: 29px; fill: none; stroke: #111; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.cover-card h3 { margin-top: 38px; }
.cover-card p { font-size: 15px; line-height: 1.55; }
.cover-card button { font-size: 14px; }
.advisor-card .advisor-photo { width: 96px !important; height: 96px !important; }
.advisor-card { grid-template-columns: 96px 1fr !important; }
.service-links { display: flex; gap: 20px; flex-wrap: wrap; }
.service-links button, .product-detail button { background: none; padding: 0 0 5px; border: 0; border-bottom: 1px solid currentColor; color: inherit; font-family: inherit; font-size: 14px; font-weight: 750; line-height: 1.4; text-align: left; }
.service-links button:hover, .product-detail button:hover { opacity: .65; }

.product-detail { background: #fff; }
.product-detail h2 { max-width: 700px; margin: 16px 0 32px; }
.product-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.product-detail-grid article { background: #f6f6f6; border: 1px solid #e3e3e3; border-radius: 17px; padding: 25px; display: flex; flex-direction: column; }
.product-detail-grid h3 { margin-bottom: 12px; }
.product-detail-grid p { font-size: 15px; line-height: 1.6; }
.product-detail-grid button { margin-top: auto; align-self: flex-start; }
.health-preview { background: #f5f5f5; }
.preview-layout { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 70px; }
.health-preview h2 { margin: 18px 0; max-width: 680px; }
.health-preview p { max-width: 650px; font-size: 17px; }
.preview-topics { display: grid; gap: 10px; }
.preview-topics a { display: flex; justify-content: space-between; gap: 20px; padding: 16px 20px; background: #fff; border: 1px solid #dedede; border-radius: 12px; font-weight: 750; }
.preview-topics a:hover { border-color: #111; }
.insurer-disclosure { margin: 22px 0 16px; }
.insurer-disclosure summary { cursor: pointer; display: inline-block; border: 1px solid #bbb; border-radius: 30px; padding: 11px 18px; font-weight: 750; font-size: 14px; }
.insurer-disclosure .insurer-list { margin-top: 22px !important; }
.form textarea { display: block; width: 100%; border: 1px solid #ccc; border-radius: 8px; padding: 11px; margin-top: 6px; resize: vertical; min-height: 88px; font: inherit; }
.form textarea:focus { outline: 2px solid #777; }
.contact-direct { margin-top: 24px; }
.contact-direct .button { color: #fff; }
.footer-instagram { font-weight: 750; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.social-rail { bottom: 28px; }
.social-rail .social-float { width: auto; height: auto; padding: 14px 17px; font-size: 13px; }
.mobile-contact-bar { display: none; }

.health-guide h1 { font-size: clamp(38px, 4.5vw, 62px); max-width: 780px; margin: 15px 0 20px; }
.health-guide .intro { font-size: 17px; }
.comparison-table-wrap { overflow-x: auto; margin: 18px 0 30px; }
.comparison-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #ddd; text-align: left; }
.comparison-table caption { text-align: left; font-size: 24px; font-weight: 750; letter-spacing: -.04em; margin-bottom: 12px; }
.comparison-table th, .comparison-table td { padding: 12px 16px; border-bottom: 1px solid #e5e5e5; vertical-align: top; }
.comparison-table thead { background: #111; color: #fff; }
.comparison-table tbody th { width: 32%; }
.guide-next { padding: 70px 0; }
.guide-next h2 { margin-bottom: 14px; }
.guide-next p { font-size: 17px; }

@media (max-width: 900px) {
  .header-inner { min-height: 70px; }
  .header nav { gap: 12px; font-size: 12px; }
  .hero-grid { gap: 30px; }
  .hero h1 { font-size: clamp(42px, 5.5vw, 55px); }
  .proof-items { flex-wrap: wrap; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 73px; }
  body { padding-bottom: 70px; }
  .header-inner { height: 70px; min-height: 70px; }
  .header nav { display: none; position: absolute; top: 70px; left: 0; right: 0; z-index: 25; padding: 10px 18px 17px; background: #fff; border-bottom: 1px solid #ddd; box-shadow: 0 12px 20px #0002; flex-direction: column; align-items: stretch; gap: 0; font-size: 15px; }
  .header nav.is-open { display: flex; }
  .header nav a { padding: 11px 6px; }
  .header-cta { min-height: 41px; padding: 9px 13px; font-size: 12px; }
  .menu-toggle { display: flex; width: 42px; height: 42px; flex-direction: column; justify-content: center; align-items: center; gap: 5px; border: 1px solid #bbb; border-radius: 10px; background: #fff; }
  .menu-toggle span { display: block; width: 18px; height: 2px; background: #111; }
  .hero-grid { grid-template-columns: 1fr; padding-top: 50px; padding-bottom: 55px; }
  .hero h1 { font-size: clamp(41px, 9vw, 56px); }
  .hero-profile { display: grid; grid-template-columns: 110px 1fr; align-self: auto; }
  .hero-profile img { height: 100%; min-height: 175px; }
  .hero-profile > div { padding: 21px; }
  .hero-profile strong { font-size: 22px; }
  .proof-items { flex-direction: column; align-items: flex-start; gap: 7px; }
  .preview-layout, .product-detail-grid { grid-template-columns: 1fr; gap: 17px; }
  .section { padding-top: 68px !important; padding-bottom: 68px !important; }
  .social-rail { display: none; }
  .mobile-contact-bar { display: grid; grid-template-columns: 1fr 1fr; position: fixed; bottom: 0; left: 0; right: 0; z-index: 55; background: #fff; border-top: 1px solid #ddd; padding: 8px 12px max(8px, env(safe-area-inset-bottom)); gap: 8px; }
  .mobile-contact-bar a { display: grid; place-items: center; min-height: 44px; border-radius: 25px; border: 1px solid #111; font-size: 14px; font-weight: 800; }
  .mobile-contact-bar a:last-child { background: #111; color: #fff; }
  .health-topic { scroll-margin-top: 85px; }
}
@media (max-width: 460px) {
  .wordmark-text strong { font-size: 15px; }
  .wordmark-text small { font-size: 7px; }
  .header-inner { gap: 7px; }
  .header-actions { gap: 6px; }
  .hero h1 { font-size: 42px; }
  .hero-actions .button { width: 100%; }
  .hero-profile { grid-template-columns: 92px 1fr; }
  .hero-profile img { min-height: 160px; }
  .hero-profile > div { padding: 15px; }
  .hero-profile strong { font-size: 19px; }
  .hero-profile p, .hero-profile div > span:last-child { font-size: 12px; }
  .cover-card { min-height: 210px !important; }
  .cover-card h3 { margin-top: 23px; }
  .cover-card p { font-size: 15px; }
  .form { padding: 22px !important; }
  .comparison-table { font-size: 13px; }
  .comparison-table th, .comparison-table td { padding: 10px; }
}
