:root{
  --navy:#023382; --navy-deep:#011f57; --teal:#00ABB2; --teal-light:#e6f7f8;
  --bg:#f7fafc; --card:#ffffff; --ink:#0e2340; --muted:#5b6b82;
  --amber:#b8790a; --amber-bg:#fff6e6; --green:#1c7a4d; --green-bg:#eaf7f0; --red:#c62828; --red-bg:#fdecec;
  --ring-red:#e5393b; --ring-yellow:#f4b400; --ring-green:#2e9e5b;
  --radius:18px; --shadow:0 10px 30px rgba(2,51,130,.08);
  font-family:'Nunito Sans',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:env(safe-area-inset-top,0px);}
body{margin:0;background:var(--bg);color:var(--ink);line-height:1.55;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;margin:0 0 .5em;color:var(--navy-deep);}
p{margin:0 0 1em;color:var(--muted);}
a{color:var(--teal);}
button{font-family:inherit;cursor:pointer;}
.container{max-width:1080px;margin:0 auto;padding:0 20px;}
.hidden{display:none !important;}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e6ebf2;padding:env(safe-area-inset-top,0px) 0 0;box-shadow:0 2px 14px rgba(2,51,130,.05);}
.top-bar{background:var(--teal);color:#fff;}
.top-bar-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:8px 20px;font-size:.83rem;}
.top-bar-contact{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.top-bar-contact a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:7px;font-weight:600;opacity:.97;}
.top-bar-contact a:hover{opacity:1;text-decoration:underline;}
.top-bar-contact svg{width:14px;height:14px;flex-shrink:0;}
.top-bar-social{display:flex;align-items:center;gap:10px;}
.top-bar-social a{color:#fff;display:flex;width:22px;height:22px;align-items:center;justify-content:center;opacity:.95;}
.top-bar-social a:hover{opacity:1;}
.top-bar-social svg{width:15px;height:15px;}
@media(max-width:640px){.top-bar-contact a:first-child span{display:none;} .top-bar-row{font-size:.72rem;}}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 20px;max-width:1200px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.brand-logo{height:46px;width:auto;display:block;}
nav.links{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
nav.links > a,.nav-item{margin-right:22px;}
nav.links > a:last-child,.nav-item:last-child{margin-right:0;}
nav.links > a{color:var(--navy-deep);text-decoration:none;font-weight:700;font-size:.86rem;letter-spacing:.3px;text-transform:uppercase;padding:10px 2px;}
nav.links > a:hover{color:var(--teal);}
.nav-item{position:relative;display:inline-flex;align-items:center;}
.nav-item > a{color:var(--navy-deep);text-decoration:none;font-weight:700;font-size:.86rem;letter-spacing:.3px;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;padding:10px 2px;}
.nav-item > a:hover{color:var(--teal);}
.nav-item .caret{width:11px;height:11px;color:var(--teal);flex-shrink:0;transition:transform .18s ease;}
.nav-item:hover .caret{transform:rotate(180deg);}
.nav-item .dropdown-menu{position:absolute;top:100%;left:0;min-width:230px;background:#fff;border-radius:6px;box-shadow:0 16px 34px rgba(2,51,130,.16);padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:80;}
.nav-item:hover .dropdown-menu,.nav-item:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown-menu a{display:block;padding:10px 22px;color:var(--teal);font-weight:700;font-size:.85rem;text-transform:none;letter-spacing:0;white-space:nowrap;text-decoration:none;}
.dropdown-menu a:hover{background:var(--teal-light);color:var(--navy-deep);}
.book-btn{background:var(--teal);color:#fff;border:none;padding:13px 22px;border-radius:6px;font-weight:800;font-size:.86rem;letter-spacing:.4px;display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;flex-shrink:0;}
.book-btn:hover{background:var(--navy-deep);}
.book-btn .plus{font-size:1.1rem;line-height:1;}
.hamburger{display:none;background:none;border:none;padding:8px;flex-shrink:0;}
.hamburger span{display:block;width:24px;height:2px;background:var(--navy-deep);margin:5px 0;}
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:0 20px 16px;}
.mobile-menu > a{padding:13px 0;color:var(--ink);text-decoration:none;font-weight:700;text-transform:uppercase;font-size:.88rem;letter-spacing:.3px;border-bottom:1px solid #eef2f7;}
.m-acc{border-bottom:1px solid #eef2f7;}
.m-acc-toggle{width:100%;background:none;border:none;display:flex;align-items:center;justify-content:space-between;padding:13px 0;color:var(--ink);text-decoration:none;font-weight:700;text-transform:uppercase;font-size:.88rem;letter-spacing:.3px;font-family:inherit;}
.m-acc-toggle .caret{width:11px;height:11px;color:var(--teal);transition:transform .18s ease;}
.m-acc.open .m-acc-toggle .caret{transform:rotate(180deg);}
.m-acc-panel{display:none;flex-direction:column;padding:0 0 10px 14px;}
.m-acc.open .m-acc-panel{display:flex;}
.m-acc-panel a{padding:9px 0;color:var(--teal);text-decoration:none;font-weight:700;font-size:.85rem;text-transform:none;}
@media(max-width:960px){
  nav.links,.book-btn.desktop-only{display:none;}
  .hamburger{display:block;}
  .mobile-menu.open{display:flex;}
}

/* Hero */
.hero{padding:64px 0 40px;background:linear-gradient(180deg,var(--teal-light),var(--bg));}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;}}
.hero h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;}
.hero .sub{font-size:1.15rem;color:var(--ink);font-weight:600;margin-bottom:10px;}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0;}
.btn-primary{background:var(--navy);color:#fff;border:none;padding:15px 26px;border-radius:999px;font-weight:700;font-size:1rem;box-shadow:0 8px 20px rgba(2,51,130,.25);}
.btn-primary:hover{background:var(--navy-deep);}
.btn-secondary{background:#fff;color:var(--navy);border:2px solid var(--navy);padding:13px 24px;border-radius:999px;font-weight:700;font-size:1rem;}
.btn-secondary:hover{background:var(--teal-light);}
.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px;}
.trust-item{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.9rem;color:var(--navy-deep);}
.trust-item svg{width:20px;height:20px;color:var(--teal);flex-shrink:0;}
.lung-illustration{display:flex;align-items:center;justify-content:center;}
.lung-illustration svg{width:100%;max-width:340px;height:auto;}
@media(prefers-reduced-motion:no-preference){
  .lung-path{animation:breathe 4s ease-in-out infinite;transform-origin:center;}
}
@keyframes breathe{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}

/* Disclaimer */
.disclaimer-card{background:var(--amber-bg);border:1px solid #f0d38a;border-radius:var(--radius);padding:26px 28px;margin:36px 0;}
.disclaimer-card h3{color:#7a5205;margin-bottom:10px;font-size:1.1rem;}
.disclaimer-card p{color:#6b4d10;margin-bottom:8px;font-size:.95rem;}
.disclaimer-card p:last-child{margin-bottom:0;font-weight:700;}

/* How it works */
.section{padding:48px 0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 34px;}
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
@media(max-width:820px){.steps-row{grid-template-columns:1fr;}}
.step-card{background:var(--card);border-radius:var(--radius);padding:24px 20px;box-shadow:var(--shadow);text-align:left;}
.step-num{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:700;color:var(--teal);margin-bottom:8px;}
.step-card h3{font-size:1.05rem;margin-bottom:6px;}
.step-card p{font-size:.9rem;margin:0;}

/* Test flow card */
.test-shell{max-width:640px;margin:0 auto;}
.test-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px;}
@media(max-width:600px){.test-card{padding:22px 18px;border-radius:14px;}}
.field{margin-bottom:18px;}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px;color:var(--navy-deep);}
.field input,.field select{width:100%;padding:12px 14px;border:1.5px solid #dbe3ee;border-radius:10px;font-size:1rem;font-family:inherit;background:#fff;}
.field input:focus,.field select:focus{border-color:var(--teal);}
.error-msg{color:var(--red);font-size:.82rem;margin-top:4px;display:none;}
.field.invalid input,.field.invalid select{border-color:var(--red);}
.field.invalid .error-msg{display:block;}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink);margin:20px 0;}
.field.invalid .check-row{outline:2px solid var(--red);outline-offset:6px;border-radius:8px;}
.check-row input{width:18px;height:18px;margin-top:2px;flex-shrink:0;}

/* progress */
.progress-wrap{position:sticky;top:70px;z-index:10;background:var(--bg);padding:10px 0 16px;}
.progress-label{font-size:.85rem;font-weight:700;color:var(--navy-deep);margin-bottom:8px;text-align:center;}
.progress-bar{height:8px;background:#e3eaf3;border-radius:99px;overflow:hidden;}
.progress-fill{height:100%;background:var(--teal);border-radius:99px;transition:width .35s ease;width:0%;}

.q-card{text-align:center;}
.q-card h3{font-size:1.25rem;margin-bottom:26px;}
.yn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px;}
.yn-btn{flex:1;min-width:110px;padding:16px 12px;border-radius:14px;border:2px solid #dbe3ee;background:#fff;font-weight:700;font-size:1rem;color:var(--navy-deep);}
.yn-btn[aria-pressed="true"]{border-color:var(--teal);background:var(--teal-light);color:var(--navy-deep);}
.yn-btn.na{flex-basis:100%;}
.nav-btns{display:flex;justify-content:space-between;gap:12px;}
.link-btn{background:none;border:none;color:var(--muted);font-weight:700;text-decoration:underline;padding:14px 8px;}
.emergency-banner{background:var(--red-bg);border:1px solid #f0b4b4;border-radius:14px;padding:18px 20px;margin-bottom:22px;text-align:left;}
.emergency-banner h4{color:var(--red);margin:0 0 6px;font-size:1rem;}
.emergency-banner p{color:#8a2020;margin:0;font-size:.9rem;}

/* breathing */
.breath-circle-wrap{display:flex;justify-content:center;margin:22px 0 6px;}
.breath-ring{position:relative;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,#ffffff 55%,var(--teal-light) 100%);box-shadow:var(--shadow);}
.breath-ring svg.ring-svg{width:100%;height:100%;transform:rotate(-90deg);}
.breath-ring-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.breath-ring-inner svg{width:74px;height:auto;}
.ring-track{fill:none;stroke:#e3eaf3;stroke-width:10;}
.ring-fill{fill:none;stroke:var(--teal);stroke-width:10;stroke-linecap:round;stroke-dasharray:603;stroke-dashoffset:603;}
.ring-fill.inhale-anim{transition:stroke-dashoffset 4s linear;}
.ring-fill.hold-anim{transition:stroke-dashoffset .15s linear,stroke .3s ease;}
.timer-display{font-family:'Fraunces',serif;font-size:2.6rem;text-align:center;color:var(--navy-deep);margin:14px 0 2px;font-variant-numeric:tabular-nums;}
.phase-label{text-align:center;font-weight:700;color:var(--navy-deep);margin-bottom:6px;}
button:disabled{opacity:.5;cursor:not-allowed;}
.badge.concern{background:var(--red-bg);color:var(--red);}
.badge.safe{background:var(--teal-light);color:var(--navy-deep);}
.badge.excellent{background:var(--green-bg);color:var(--green);}
.safety-list{background:var(--teal-light);border-radius:14px;padding:18px 22px;margin-bottom:22px;}
.safety-list h4{margin:0 0 8px;font-size:.95rem;color:var(--navy-deep);}
.safety-list ul{margin:0;padding-left:20px;color:var(--ink);font-size:.9rem;}
.safety-list li{margin-bottom:4px;}
.timer-btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:20px 0;}

/* report */
.report-header{text-align:center;margin-bottom:28px;}
.report-meta{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;font-size:.9rem;color:var(--muted);margin-bottom:10px;}
.report-meta strong{color:var(--navy-deep);display:block;font-size:.75rem;text-transform:none;}
.report-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 26px;margin-bottom:18px;}
.report-card h3{font-size:1.05rem;margin-bottom:10px;}
.badge{display:inline-block;padding:6px 14px;border-radius:999px;font-weight:700;font-size:.85rem;}
.badge.low{background:var(--green-bg);color:var(--green);}
.badge.mid{background:var(--amber-bg);color:#8a5c05;}
.badge.high{background:var(--red-bg);color:var(--red);}
.report-card ul{margin:10px 0 0;padding-left:20px;color:var(--ink);font-size:.92rem;}
.report-card li{margin-bottom:6px;}
.note{font-size:.82rem;color:var(--muted);font-style:italic;margin-top:8px;}
.next-steps li{margin-bottom:10px;}
.cta-panel{background:linear-gradient(135deg,var(--navy),var(--navy-deep));color:#fff;border-radius:var(--radius);padding:30px 28px;text-align:center;margin:24px 0;}
.cta-panel h3{color:#fff;margin-bottom:8px;}
.cta-panel p{color:#cfe0f5;margin-bottom:18px;}
.cta-panel .cta-row{justify-content:center;}
.cta-panel .btn-secondary{background:transparent;border-color:#fff;color:#fff;}
.cta-panel .btn-secondary:hover{background:rgba(255,255,255,.12);}
.report-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:26px;}

/* toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy-deep);color:#fff;padding:14px 22px;border-radius:12px;font-weight:700;font-size:.9rem;opacity:0;pointer-events:none;transition:all .3s ease;z-index:200;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* misc sections */
.info-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:820px){.info-strip{grid-template-columns:1fr;}}
.info-strip .card{background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);}
.info-strip h4{margin:0 0 6px;color:var(--navy-deep);font-size:1rem;}
.info-strip p{font-size:.88rem;margin:0;}

footer.site{background:var(--teal);color:#eafcfc;padding:48px 0 0;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:34px;padding-bottom:36px;}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;}}
.footer-col h3{color:#fff;margin-bottom:14px;font-family:'Nunito Sans',sans-serif;font-size:1.05rem;font-weight:800;padding-bottom:10px;border-bottom:2px solid rgba(255,255,255,.35);}
.footer-logo{height:40px;width:auto;filter:brightness(0) invert(1);margin-bottom:14px;display:block;}
.footer-about p{color:#eafcfc;opacity:.92;margin:0 0 16px;font-size:.9rem;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:32px;height:32px;border-radius:6px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#fff;}
.footer-social svg{width:16px;height:16px;}
.footer-social a:hover{background:rgba(255,255,255,.32);}
ul.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.footer-links a{color:#eafcfc;text-decoration:none;font-size:.9rem;font-weight:600;}
.footer-links a:hover{color:#fff;text-decoration:underline;}
.footer-post{display:flex;flex-direction:column;gap:4px;}
.footer-post-date{color:#d7f5f5;font-size:.78rem;margin:0;font-weight:700;}
.footer-post-title{color:#fff;font-size:.9rem;font-weight:700;margin:0;}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;color:#eafcfc;font-size:.88rem;margin:0 0 14px;}
.footer-contact-item svg{width:16px;height:16px;flex-shrink:0;margin-top:2px;}
.footer-bottom{background:var(--navy-deep);color:#fff;text-align:center;font-size:.85rem;padding:16px 20px;}

fieldset{border:none;padding:0;margin:0;}

@media print{
  header.site,footer.site,.report-actions,.progress-wrap,.section:not(.report-section){display:none !important;}
  body{background:#fff;}
  .report-card{box-shadow:none;border:1px solid #ccc;}
}
