:root{
  --teal:#0d4a4e; --teal-d:#093538; --sage:#dce9e1; --cream:#f8f4ea; --ink:#1c2b2c;
  --coral:#e8743b; --coral-d:#c95b27; --muted:#5b6b6b;
  --head:'Fraunces',Georgia,serif; --body:'DM Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:#fff;line-height:1.7;font-size:1.05rem}
img{max-width:100%;height:auto}
h1,h2,h3{font-family:var(--head);line-height:1.15}
a{color:var(--teal)}
section[id],header[id]{scroll-margin-top:70px}

/* nav */
.site-nav{background:rgba(9,53,56,.97);padding:.7rem 0}
.site-nav .navbar-brand{font-family:var(--head);font-weight:700;color:#fff;font-size:1.2rem;display:flex;align-items:center;gap:.6rem;white-space:nowrap}
.brand-mark{width:12px;height:26px;border-radius:6px;background:var(--coral);display:inline-block;box-shadow:0 -9px 0 -2px #7fc0b8,0 9px 0 -2px #7fc0b8}
.site-nav .nav-link{color:rgba(255,255,255,.85);font-weight:500;font-size:.95rem;padding:.5rem .7rem}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:#fff}
.btn-nav{background:var(--coral);color:#fff;font-weight:700;border-radius:50px;padding:.45rem 1.1rem;font-size:.95rem}
.btn-nav:hover{background:var(--coral-d);color:#fff}
.navbar-toggler{color:#fff;border-color:rgba(255,255,255,.4);font-size:1.5rem;padding:.1rem .5rem}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(232,116,59,.5)}
@media(max-width:991.98px){.site-nav .navbar-collapse{padding:.8rem 0}.btn-nav{display:inline-block;margin-top:.5rem}}

/* hero — typographic-forward, teal panel with CSS spine */
.hero{position:relative;background:radial-gradient(ellipse 70% 80% at 25% 50%,#14646a 0%,var(--teal) 55%,var(--teal-d) 100%);color:#fff;padding:9rem 0 6.5rem;overflow:hidden;min-height:92vh;display:flex;align-items:center}
.hero .container{position:relative}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.82rem;font-weight:700;color:#9fd6cd;margin-bottom:1.2rem;text-shadow:0 0 3px rgba(0,0,0,1),0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.8)}
.hero-title{font-weight:800;font-size:clamp(3rem,8.5vw,6.4rem);letter-spacing:-.02em;margin-bottom:1.4rem;text-shadow:0 0 4px rgba(0,0,0,1),0 2px 20px rgba(0,0,0,.95),0 0 60px rgba(0,0,0,.8)}
.hero-title em{color:var(--coral);font-style:italic;display:block}
.hero-subtitle{font-size:1.25rem;max-width:34rem;color:#eaf5f2;text-shadow:0 0 3px rgba(0,0,0,1),0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.hero-tagline{font-family:var(--head);font-style:italic;font-size:1.15rem;color:#fff;text-shadow:0 0 3px rgba(0,0,0,1),0 1px 12px rgba(0,0,0,.95),0 0 30px rgba(0,0,0,.9)}
.btn-cta{background:var(--coral);border:2px solid var(--coral);color:#fff;font-weight:700;border-radius:50px;padding:.8rem 1.7rem}
.btn-cta:hover{background:var(--coral-d);border-color:var(--coral-d);color:#fff}
.btn-ghost{border:2px solid rgba(255,255,255,.6);color:#fff;font-weight:700;border-radius:50px;padding:.8rem 1.7rem}
.btn-ghost:hover{background:#fff;color:var(--teal)}
.spine{display:flex;flex-direction:column;align-items:center;gap:10px;transform:rotate(6deg)}
.spine span{display:block;height:44px;border-radius:22px;background:linear-gradient(180deg,#f8f4ea,#bcd9d2);box-shadow:0 6px 0 rgba(0,0,0,.18)}
.spine span:nth-child(1){width:90px}.spine span:nth-child(2){width:104px}.spine span:nth-child(3){width:118px}
.spine span:nth-child(4){width:132px}.spine span:nth-child(5){width:146px}.spine span:nth-child(6){width:158px}
.spine span:nth-child(7){width:170px}.spine span:nth-child(8){width:180px}.spine span:nth-child(9){width:190px;background:linear-gradient(180deg,var(--coral),#f19a6b)}

/* strip */
.strip{background:var(--cream);border-bottom:1px solid #e6dfcc}
.strip-cell{padding:1.6rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;font-weight:500;font-size:.95rem;line-height:1.35}
.strip-cell i{font-size:1.6rem;color:var(--coral)}

/* sections */
.section{padding:6rem 0}
.section-tint{background:var(--cream)}
.section-sage{background:var(--sage)}
.section-dark{background:var(--teal-d);color:#e6f1ee}
.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:700;color:var(--coral-d);margin-bottom:.6rem}
.kicker-light{color:#f2a273}
.section-title{font-weight:700;font-size:clamp(1.9rem,4vw,2.9rem);margin-bottom:1.2rem}
.lead-copy{font-size:1.25rem;font-family:var(--head)}
.narrow{max-width:42rem}.narrow-wide{max-width:50rem}
.text-white-75{color:rgba(255,255,255,.8)}
.photo-card{margin:0;position:relative}
.photo-card img{width:100%;height:auto;border-radius:18px;display:block;box-shadow:18px 18px 0 var(--sage)}
.photo-card figcaption,.scuba figcaption{font-family:var(--head);font-style:italic;color:var(--muted);margin-top:1.3rem}

/* doctors */
.doc-card{display:flex;gap:1.5rem;background:#fff;border-radius:18px;padding:1.6rem;height:100%;box-shadow:0 8px 30px rgba(13,74,78,.08)}
.doc-card img{width:140px;height:auto;align-self:flex-start;border-radius:12px;flex-shrink:0}
.doc-card h3{font-size:1.5rem;margin-bottom:.2rem}
.role{color:var(--coral-d);font-weight:700;font-size:.9rem}
.small-quote{font-family:var(--head);font-style:italic;color:var(--teal);border-left:3px solid var(--coral);padding-left:1rem;margin:1rem 0 0}
@media(max-width:575.98px){.doc-card{flex-direction:column}.doc-card img{width:160px}}
.info-card{background:var(--teal);color:#e6f1ee;border-radius:18px;padding:2rem;height:100%}
.info-card h3{color:#fff;font-size:1.4rem}
.info-card i{color:var(--coral);margin-right:.4rem}

/* conditions: 18 items = 3x6 */
.cond-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.cond-grid li{background:var(--sage);border-radius:50px;padding:.85rem 1.2rem;text-align:center;font-weight:500}
@media(max-width:575.98px){.cond-grid{grid-template-columns:repeat(2,1fr)}.cond-grid li{padding:.7rem .6rem;font-size:.95rem}}

/* services */
.svc{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:1.8rem;height:100%}
.svc i{font-size:1.9rem;color:var(--coral);display:block;margin-bottom:.6rem}
.svc h3{color:#fff;font-size:1.3rem}
.svc-light{background:var(--cream);border:0;color:var(--ink)}
.svc-light h3{color:var(--teal)}
.svc-light h3 i{display:inline;font-size:1.4rem;margin-right:.3rem}
.svc-light a{color:var(--teal);font-weight:700}
.benefits{list-style:none;padding:0;margin:0 0 1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem 1.2rem}
.benefits li{padding-left:1.4rem;position:relative;font-size:.97rem;line-height:1.4}
.benefits li::before{content:"";position:absolute;left:0;top:.45em;width:.6rem;height:.6rem;border-radius:50%;background:var(--coral)}
@media(max-width:575.98px){.benefits{grid-template-columns:1fr}}

/* free visit */
.free-visit{background:var(--coral);color:#fff;padding:4rem 0}
.free-visit .section-title{color:#fff}
.free-visit .btn-cta{background:var(--teal-d);border-color:var(--teal-d)}
.free-visit .btn-cta:hover{background:#000;border-color:#000}
.cert{width:130px;height:auto}

/* testimonials */
.quick{background:var(--teal);color:#fff;border-radius:18px;padding:1.6rem;height:100%;margin:0}
.quick p{font-family:var(--head);font-size:1.2rem;line-height:1.35}
.quick cite,.long cite{display:block;font-style:normal;font-weight:700;font-size:.9rem;color:#9fd6cd}
.long{background:var(--cream);border-radius:18px;padding:1.7rem;height:100%;margin:0;border-top:4px solid var(--coral)}
.long cite{color:var(--teal)}
.scuba{max-width:547px;margin:0 auto;text-align:center}
.scuba img{width:100%;height:auto;border-radius:18px}

/* faq */
.accordion-button{font-family:var(--head);font-weight:700;font-size:1.1rem}
.accordion-button:not(.collapsed){background:var(--sage);color:var(--teal-d)}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(232,116,59,.4)}

/* resources */
.res{display:block;height:100%;background:#fff;border:1px solid #d6e3dc;border-radius:14px;padding:1.1rem 1.2rem;text-decoration:none;font-weight:500;line-height:1.35;color:var(--teal-d);transition:border-color .2s,transform .2s}
.res:hover{border-color:var(--coral);transform:translateY(-2px)}
.res i{color:var(--coral);display:block;margin-bottom:.4rem}
.reports{background:var(--cream);border-radius:18px;padding:2rem}
.reports ul{columns:3;column-gap:2rem;padding-left:1.1rem;margin:0}
.reports li{margin-bottom:.4rem;break-inside:avoid}
@media(max-width:991.98px){.reports ul{columns:2}}
@media(max-width:575.98px){.reports ul{columns:1}}

/* contact */
.contact-card{background:var(--cream);border-radius:18px;padding:2rem;height:100%}
.contact-card h3{font-size:1.1rem;color:var(--teal);margin-top:1.1rem}
.contact-card h3:first-child{margin-top:0}
.contact-card i{color:var(--coral);margin-right:.4rem}
.contact-card p{margin-bottom:.3rem}
.muted{color:var(--muted);font-size:.95rem}
.hours{width:100%;max-width:20rem}
.hours td{padding:.15rem 0}.hours td:last-child{text-align:right;font-weight:500}
.map-wrap{height:100%;min-height:380px;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(13,74,78,.12)}
.map-wrap iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

/* footer */
.site-footer{background:var(--teal-d);color:#cfe3de;padding:3.5rem 0 1.5rem}
.footer-brand{font-family:var(--head);font-size:1.5rem;color:#fff;font-weight:700;margin-bottom:.3rem}
.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.footer-links a,.site-footer a{color:#cfe3de;text-decoration:none}
.footer-links a:hover{color:#fff;text-decoration:underline}
.social{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;margin-left:.4rem;font-size:1.1rem}
.social:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:center;margin-top:2.5rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.15);font-size:.9rem}
.powered{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:.4rem 1rem}
.powered strong{color:#fff}.powered i{color:#22d3ee}
.powered:hover{background:rgba(255,255,255,.16)}
@media(max-width:767.98px){.site-footer .text-md-end{text-align:left!important}.social{margin:0 .4rem 0 0}.section{padding:4.5rem 0}.hero{padding:7.5rem 0 4rem;min-height:auto}}
