:root{
  --navy:#05265f;
  --navy-2:#0a3f83;
  --blue:#0788d8;
  --sky:#2fb9e8;
  --aqua:#32c2cf;
  --ink:#10233f;
  --muted:#5b6a7d;
  --paper:#ffffff;
  --soft:#f4f9fc;
  --line:#dbe7ef;
  --danger:#c93434;
  --shadow:0 18px 50px rgba(4,38,95,.12);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px 14px;z-index:999}.skip-link:focus{left:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,231,239,.8)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:24px}
.brand img{width:310px;max-height:68px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;gap:24px;font-weight:700;font-size:.95rem}.site-nav a:hover{color:var(--blue)}
.nav-cta{background:var(--navy);color:#fff!important;padding:11px 18px;border-radius:999px}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:10px}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 16%,rgba(47,185,232,.22),transparent 28%),linear-gradient(135deg,#f8fcff 0%,#eff9ff 48%,#fff 100%);padding:92px 0 86px}
.hero:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(7,136,216,.12);border-radius:50%;right:-180px;bottom:-260px}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:62px;align-items:center}.hero-copy{max-width:760px}
.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800;color:var(--blue)}
h1{font-size:clamp(3rem,7vw,5.9rem);line-height:.98;letter-spacing:-.055em;margin:0 0 24px;color:var(--navy)}h1 span{color:var(--blue)}
.hero-lede{font-size:1.25rem;max-width:700px;color:var(--muted)}
.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border-radius:999px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.2s transform,.2s box-shadow}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(5,38,95,.16)}.btn-primary{background:linear-gradient(90deg,var(--navy-2),var(--blue));color:#fff}.btn-secondary{background:#fff;color:var(--navy);border-color:#bfd6e5}
.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.trust-row span,.pill-list span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:700}
.hero-card{background:linear-gradient(160deg,var(--navy) 0%,#063c7b 60%,#047fbf 100%);color:#fff;padding:36px;border-radius:30px;box-shadow:var(--shadow);position:relative;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end}.hero-card .moon-mark{position:absolute;right:28px;top:12px;font-size:7rem;color:#61d4ec;opacity:.9}.hero-card h2{font-size:2rem;line-height:1.15;margin:8px 0 14px}.hero-card p{color:#dfeeff}.hero-card .mini-label{color:#7ee4ef;font-weight:800}.text-link{font-weight:800;color:#fff}
.section{padding:90px 0}.section-heading{margin-bottom:42px}.section-heading.narrow{max-width:840px}.section-heading h2,.split h2,.referrer-grid h2,.contact h2{font-size:clamp(2.15rem,4.4vw,3.7rem);line-height:1.08;letter-spacing:-.035em;color:var(--navy);margin:0 0 16px}.section-heading p{max-width:820px;color:var(--muted);font-size:1.08rem}
.intro{background:#fff}.severity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0}.severity-card{background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:26px}.severity-card span{display:block;color:var(--muted);font-weight:700}.severity-card strong{font-size:2.7rem;color:var(--navy);line-height:1.1;display:block}.severity-card small{color:var(--muted)}
.symptom-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:30px;align-items:start;margin-top:42px}.symptom-layout h3{font-size:1.5rem;color:var(--navy)}.pill-list{display:flex;flex-wrap:wrap;gap:10px}.callout{background:linear-gradient(135deg,#e8fbff,#eff7ff);border-left:5px solid var(--aqua);border-radius:20px;padding:24px}.callout strong{font-size:1.1rem;color:var(--navy)}
.risks{background:linear-gradient(180deg,#061a3d,#05275f);color:#fff}.risks .section-heading h2{color:#fff}.risks .section-heading p{color:#c5d8ee}.risks .eyebrow{color:#64d9ec}.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.risk-grid article{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);padding:24px;border-radius:18px}.risk-grid strong{display:block;font-size:1.12rem;color:#7fe0ec;margin-bottom:8px}.risk-grid span{color:#d8e6f5}.poster-details{margin-top:32px;border-top:1px solid rgba(255,255,255,.18);padding-top:26px}.poster-details summary{cursor:pointer;font-weight:800;color:#fff}.poster-wrap{max-width:760px;margin:24px auto 0;background:#fff;border-radius:18px;padding:10px}.poster-wrap img{border-radius:10px;width:100%}
.treatments{background:#fff}.guideline-banner{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;background:linear-gradient(135deg,#e9fbff,#eef5ff);border:1px solid #cfe6f2;border-radius:24px;padding:30px;margin:38px 0}.badge{display:inline-block;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-weight:800;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}.guideline-banner h3{font-size:1.7rem;line-height:1.18;color:var(--navy);margin:12px 0 0}.guideline-banner p{margin:0;color:#38506d}
.comparison-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);margin:32px 0 38px}.comparison-header{padding:28px 28px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center}.comparison-header h3{margin:0;color:var(--navy);font-size:1.55rem}.info-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:var(--navy);cursor:pointer}.comparison-note{margin:0 28px 20px;padding:16px 18px;background:#f3f8fb;border-radius:14px;color:var(--muted)}
.comparison-table{display:grid}.tr{display:grid;grid-template-columns:1.55fr .7fr .7fr 1fr;align-items:center;border-top:1px solid var(--line)}.tr>div{padding:18px 22px}.tr.th{background:#f3f7fa;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.tr.featured{background:#eefaff}.score{font-size:1.4rem;font-weight:900;color:var(--blue)}.fine-print{font-size:.78rem;color:#6d7b8a;padding:0 28px 22px}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.treatment-card{border-radius:24px;padding:30px;border:1px solid var(--line)}.treatment-card.oat{background:linear-gradient(145deg,#effcff,#f8fdff)}.treatment-card.cpap{background:#f5f7fa}.treatment-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}.treatment-card h3{font-size:1.5rem;color:var(--navy);margin:18px 0 8px}.treatment-card ul{padding-left:20px}
.patient-path{background:var(--soft)}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.steps{list-style:none;margin:0;padding:0;display:grid;gap:15px}.steps li{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.steps li>span{flex:0 0 42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-weight:900}.steps strong{color:var(--navy);font-size:1.08rem}.steps p{margin:4px 0 0;color:var(--muted)}
.referrers{background:#fff}.referrer-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:46px;align-items:start}.referral-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.referral-points div{border:1px solid var(--line);border-radius:16px;padding:18px}.referral-points strong,.referral-points span{display:block}.referral-points strong{color:var(--navy)}.referral-points span{font-size:.9rem;color:var(--muted);margin-top:4px}.referral-card{background:linear-gradient(160deg,var(--navy),#064b90);color:#fff;border-radius:26px;padding:30px;box-shadow:var(--shadow)}.referral-card .badge{color:var(--navy)}.referral-card h3{font-size:1.8rem;line-height:1.2}.referral-card li{margin:12px 0;color:#dcecf9}
.faq{background:#f8fbfd}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px}.faq summary{cursor:pointer;font-weight:800;color:var(--navy)}.faq details p{color:var(--muted)}
.contact{background:linear-gradient(135deg,#06245b,#087fc4);color:#fff}.contact h2{color:#fff}.contact .eyebrow{color:#7ee5ef}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}.contact-grid>div>p{color:#dbeaf6}.contact .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}.contact-form{background:#fff;color:var(--ink);border-radius:24px;padding:28px;display:grid;gap:15px}.contact-form label{display:grid;gap:6px;font-weight:700;color:var(--navy)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #cbd9e4;border-radius:12px;padding:12px;background:#fff;color:var(--ink)}.contact-form .fine-print{padding:0;margin:0}.form-message{margin:0;color:#0b6b52;font-weight:800}
.references{padding:42px 0;background:#eef4f7;border-top:1px solid var(--line)}.references h2{font-size:1.25rem;color:var(--navy)}.references p{color:#5b6a7d;max-width:980px}.references .fine-print{padding:0}
.site-footer{background:#03142f;color:#fff;padding:46px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:44px}.footer-brand img{width:330px;opacity:.95}.footer-brand p{color:#a9c7e4}.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:8px}.footer-grid a,.footer-grid span{color:#b9cce0}.copyright{margin-top:34px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;color:#8eaac5;font-size:.86rem}
@media (max-width:900px){.site-nav{display:none;position:absolute;top:82px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.menu-toggle{display:block}.brand img{width:245px}.hero-grid,.symptom-layout,.guideline-banner,.split,.referrer-grid,.contact-grid{grid-template-columns:1fr}.hero{padding:68px 0}.hero-card{min-height:330px}.risk-grid{grid-template-columns:1fr 1fr}.treatment-grid,.faq-grid{grid-template-columns:1fr}.referral-points{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media (max-width:640px){.container{width:min(100% - 28px,1180px)}.section{padding:68px 0}.severity-grid,.risk-grid{grid-template-columns:1fr}.comparison-card{overflow-x:auto}.comparison-table{min-width:720px}.comparison-header{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.hero-actions .btn,.contact-actions .btn{width:100%}.brand img{width:205px}}

.doctor-grid { display:grid; grid-template-columns:minmax(220px,360px) 1fr; gap:3rem; align-items:center; }
.doctor-photo-placeholder { min-height:360px; border-radius:24px; background:linear-gradient(145deg,rgba(15,49,101,.08),rgba(39,190,205,.16)); border:1px solid rgba(15,49,101,.12); display:grid; place-items:center; color:#0f3165; font-weight:700; text-align:center; padding:2rem; }
.practice-contact { margin:1.4rem 0; padding:1rem 1.25rem; border-left:4px solid #22b8cf; background:rgba(34,184,207,.07); border-radius:0 14px 14px 0; }
.practice-contact p { margin:.35rem 0; }
.practice-contact a { font-weight:700; }
@media (max-width:760px) { .doctor-grid { grid-template-columns:1fr; } .doctor-photo-placeholder { min-height:280px; } }

.doctor-photo { margin:0; }
.doctor-photo img { width:100%; max-width:360px; display:block; border-radius:24px; box-shadow:0 18px 45px rgba(15,49,101,.16); }
.office-photo { margin:1.5rem 0; max-width:560px; }
.office-photo img { width:100%; display:block; border-radius:20px; box-shadow:0 14px 36px rgba(15,49,101,.14); }
.office-photo figcaption { margin-top:.6rem; font-size:.92rem; color:#52657d; }


/* Draft 7 corrected poster-link emphasis */
.poster-details > summary {
  font-size: 1.35rem;
  font-weight: 900;
}

/* Draft 13: permanently remove decorative crescent from homepage right card */
.hero-card .moon-mark,
.hero-card .background-moon,
.hero-card .crescent,
.hero-card::before,
.hero-card::after {
  display: none !important;
  content: none !important;
}

/* Draft 16: make the full-poster control look clearly clickable */
.poster-details > summary {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1rem;
  padding: 0.9rem 1.25rem;
  background: #0d87d7;
  color: #ffffff;
  border: 2px solid #0d87d7;
  border-radius: 12px;
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(8,44,99,.16);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.poster-details > summary:hover {
  background: #082c63;
  border-color: #082c63;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(8,44,99,.22);
}
.poster-details > summary:focus-visible {
  outline: 3px solid #28c0cf;
  outline-offset: 3px;
}

/* Draft 21: Medical Insurance & Medicare */
.insurance { background: #f2f9fc; padding: 108px 0; }
.insurance-card {
  max-width: 1080px;
  margin: 0 auto;
  background: #ffffff;
  border: 2px solid #d4e7f1;
  border-radius: 26px;
  padding: 3rem 3.25rem;
  box-shadow: 0 18px 44px rgba(8,44,99,.11);
}
.insurance-card .eyebrow { font-size: 1rem; margin-bottom: .7rem; }
.insurance-card h2 {
  margin-bottom: 1.25rem;
  font-size: clamp(2.15rem,4vw,3.35rem);
  line-height: 1.08;
  letter-spacing: -.03em;
  color: var(--navy);
}
.insurance-card p { font-size: 1.1rem; line-height: 1.75; }
.insurance-card p:last-child { margin-bottom: 0; }
@media (max-width:640px) {
  .insurance { padding: 78px 0; }
  .insurance-card { padding: 2.15rem 1.6rem; border-radius: 22px; }
}

.poster-percentage-note {
  margin: .45rem 0 0;
  font-size: .78rem;
  color: #687789;
  font-style: italic;
}

/* Draft 25: homepage CTA buttons match the full-poster button */
.home-poster-style-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.9rem 1.25rem !important;
  background: #0d87d7 !important;
  color: #ffffff !important;
  border: 2px solid #0d87d7 !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(8,44,99,.16);
  cursor: pointer;
}
.home-poster-style-btn:hover {
  background: #082c63 !important;
  border-color: #082c63 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(8,44,99,.22);
}

/* Draft 27: enlarge ONLY the top header logo */
.site-header .brand {
  width: 320px !important;
  max-width: 38vw;
  height: auto !important;
  display: flex !important;
  align-items: center;
}
.site-header .brand img {
  width: 100% !important;
  height: auto !important;
  max-height: 92px;
  object-fit: contain;
  display: block;
}
.site-header .nav-wrap {
  min-height: 104px;
}
@media (max-width: 900px) {
  .site-header .brand {
    width: 250px !important;
    max-width: 62vw;
  }
  .site-header .brand img {
    max-height: 76px;
  }
  .site-header .nav-wrap {
    min-height: 90px;
  }
}

/* Draft 28: ONLY enlarge the existing header logo, preserve proportions */
.site-header .nav-wrap {
  min-height: 132px !important;
}
.site-header .brand {
  width: 470px !important;
  max-width: 43vw !important;
  height: 124px !important;
  display: flex !important;
  align-items: center !important;
}
.site-header .brand img {
  width: auto !important;
  height: 118px !important;
  max-height: 118px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}
@media (max-width: 900px) {
  .site-header .nav-wrap {
    min-height: 102px !important;
  }
  .site-header .brand {
    width: 330px !important;
    max-width: 68vw !important;
    height: 96px !important;
  }
  .site-header .brand img {
    width: auto !important;
    height: 90px !important;
    max-height: 90px !important;
  }
}

/* Draft 29: preserve existing header size; make ONLY logo fill it vertically */
.site-header .nav-wrap {
  min-height: 132px !important;
}
.site-header .brand {
  width: auto !important;
  max-width: 48vw !important;
  height: 132px !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}
.site-header .brand img {
  width: auto !important;
  height: 132px !important;
  max-height: 132px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}
@media (max-width: 900px) {
  .site-header .nav-wrap {
    min-height: 102px !important;
  }
  .site-header .brand {
    height: 102px !important;
    max-width: 70vw !important;
  }
  .site-header .brand img {
    width: auto !important;
    height: 102px !important;
    max-height: 102px !important;
  }
}

/* Draft 31: reduce header height by 25% from Draft 30 */
.site-header .nav-wrap {
  min-height: 99px !important;
}
.site-header .brand {
  height: 99px !important;
}
.site-header .brand img {
  height: 99px !important;
  max-height: 99px !important;
}
@media (max-width: 900px) {
  .site-header .nav-wrap {
    min-height: 76.5px !important;
  }
  .site-header .brand {
    height: 76.5px !important;
  }
  .site-header .brand img {
    height: 76.5px !important;
    max-height: 76.5px !important;
  }
}

/* Draft 32: reduce header height another 10% from Draft 31 */
.site-header .nav-wrap {
  min-height: 89.1px !important;
}
.site-header .brand {
  height: 89.1px !important;
}
.site-header .brand img {
  height: 89.1px !important;
  max-height: 89.1px !important;
}
@media (max-width: 900px) {
  .site-header .nav-wrap {
    min-height: 68.85px !important;
  }
  .site-header .brand {
    height: 68.85px !important;
  }
  .site-header .brand img {
    height: 68.85px !important;
    max-height: 68.85px !important;
  }
}


/* Draft 33 SEO: semantic homepage heading while preserving Draft 32 visual branding */
.seo-hero-h1 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: clamp(1.05rem, 1.9vw, 1.45rem);
  line-height: 1.25;
  letter-spacing: -.015em;
  font-weight: 800;
  max-width: 760px;
}
.hero-brand-line {
  font-size: clamp(3rem,7vw,5.9rem);
  line-height: .98;
  letter-spacing: -.055em;
  margin: 0 0 24px;
  color: var(--navy);
  font-weight: 800;
}
.hero-brand-line span { color: var(--blue); }
