:root {
  --petrol: #3d8db5;
  --petrol-deep: #2a6f94;
  --petrol-soft: #5aa3c7;
  --cream: #f7f2ea;
  --cream-deep: #ebe3d6;
  --ink: #2f2c28;
  --muted: #6d675f;
  --gold: #c4a882;
  --gold-soft: #d4c0a4;
  --line: rgba(61, 141, 181, 0.14);
  --white: #fffcf8;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(ellipse 80% 50% at 10% -10%, rgba(196,168,130,.12), transparent 50%),
    radial-gradient(ellipse 60% 40% at 100% 0%, rgba(61,141,181,.1), transparent 45%),
    var(--cream);
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  line-height: 1.65;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1,h2,h3,h4 { font-family: Newsreader, Georgia, serif; font-weight: 500; letter-spacing: -.02em; line-height: 1.15; color: var(--petrol-deep); margin: 0; }
p,ul { margin: 0; }
ul { padding: 0; list-style: none; }

.site-main { padding-bottom: 5.5rem; }
@media (min-width: 768px) { .site-main { padding-bottom: 0; } }

.container-page { width: min(1120px, calc(100% - 2rem)); margin-inline: auto; }
.container-wide { width: min(1240px, calc(100% - 2rem)); margin-inline: auto; }
.section-pad { padding-block: clamp(4rem, 8vw, 6.5rem); }
.eyebrow { display: inline-block; color: var(--petrol-soft); font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.light, .light { color: var(--gold-soft); }
.muted { color: var(--muted); }
.lead { font-size: 1.05rem; color: var(--muted); max-width: 42rem; }
.title { font-size: clamp(1.85rem, 4vw, 3rem); }
.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.flex{display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between;align-items:flex-end}.gap-3{gap:.75rem}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1.35rem;border-radius:2px;font-size:.95rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.25s}
.btn-primary{background:var(--petrol);color:#fff}.btn-primary:hover{background:var(--petrol-deep)}
.btn-secondary{background:transparent;color:var(--petrol);border-color:rgba(61,141,181,.28)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.link-more{display:inline-flex;margin-top:1.1rem;font-size:.92rem;font-weight:600;color:var(--petrol)}
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.chip{display:inline-block;border:1px solid var(--line);padding:.2rem .55rem;font-size:.75rem;color:var(--muted);margin:.2rem .2rem 0 0}

.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:.3s}
.site-header.is-scrolled,.site-header.is-open{background:rgba(247,242,234,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.5rem}
.brand-logo img{height:44px;width:auto}
.nav-desktop{display:none;align-items:center;gap:.15rem}
.nav-item{position:relative}
.nav-item>a{display:block;padding:.5rem .65rem;font-size:.84rem;font-weight:500;color:rgba(47,44,40,.85)}
.nav-item>a:hover{color:var(--petrol)}
.nav-sub{display:none;position:absolute;left:0;top:100%;min-width:240px;padding-top:.5rem;z-index:20}
.nav-item:hover .nav-sub{display:block}
.nav-sub-inner{background:#fff;border:1px solid var(--line);padding:.5rem;box-shadow:0 16px 40px rgba(42,111,148,.12)}
.nav-sub a{display:block;padding:.65rem .75rem;font-size:.9rem;color:rgba(47,44,40,.8)}
.nav-sub a:hover{background:var(--cream);color:var(--petrol)}
.header-cta{display:none}
.menu-toggle{width:44px;height:44px;border:1px solid rgba(61,141,181,.2);background:transparent;color:var(--petrol);cursor:pointer;font-size:1.2rem}
.nav-mobile{display:none;max-height:calc(100vh - 4.5rem);overflow:auto;border-top:1px solid var(--line);background:var(--cream);padding:1rem 0 6rem}
.site-header.is-open .nav-mobile{display:block}
.nav-mobile .parent{display:block;padding:.55rem 0;font-weight:600;color:var(--petrol)}
.nav-mobile .child{display:block;padding:.4rem 0 .4rem .85rem;font-size:.92rem;color:var(--muted)}
.nav-mobile-actions{display:grid;gap:.5rem;margin-top:1rem}
@media(min-width:1200px){.nav-desktop{display:flex}.header-cta{display:inline-flex}.menu-toggle,.nav-mobile{display:none!important}}

.hero{position:relative;min-height:100svh;overflow:hidden;color:#fff}
.hero-media{position:absolute;inset:0;display:grid;grid-template-columns:1fr}
@media(min-width:768px){.hero-media{grid-template-columns:1fr 1fr}}
.hero-photo{position:relative;min-height:100svh}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.mobile-hide{display:none}
@media(min-width:768px){.mobile-hide{display:block}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(32,82,110,.82),rgba(42,111,148,.55) 48%,rgba(61,141,181,.28)),linear-gradient(to top,rgba(32,82,110,.55),transparent 42%)}
.hero-copy{position:relative;display:flex;min-height:100svh;align-items:flex-end;padding:7rem 0 4rem;max-width:40rem}
.hero h1{color:#fff;font-size:clamp(2.4rem,5vw,3.6rem);margin-top:1.2rem}
.hero .lead{color:rgba(255,255,255,.85);margin-top:1.4rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
@media(min-width:768px){.hero-copy{align-items:center;padding-bottom:0}}

.page-hero{padding:8rem 0 4rem;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#f7f2ea,#ebe3d6 45%,#e2d8c8)}
.page-hero h1{font-size:clamp(2.2rem,4vw,3.3rem);max-width:48rem;margin-top:1rem}
.page-hero .lead{margin-top:1.2rem}

.grid-2,.grid-3,.grid-4{display:grid;gap:1.5rem}
@media(min-width:768px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}}
@media(min-width:1100px){.grid-4{grid-template-columns:repeat(4,1fr)}}
.band{border-block:1px solid var(--line);background:rgba(235,227,214,.55)}
.concept{border-top:1px solid rgba(196,168,130,.4);padding-top:1.2rem}
.card{border:1px solid var(--line);background:rgba(255,255,255,.7);padding:1.6rem}
.list-gold li{border-left:2px solid rgba(196,168,130,.7);padding-left:.75rem;font-size:.92rem;margin-bottom:.65rem}
.photo-frame{position:relative;overflow:hidden;background:var(--cream-deep)}
.photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.aspect-portrait{aspect-ratio:4/5}
.split{display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.split-home{grid-template-columns:1.05fr .95fr}.split-doctor{grid-template-columns:.85fr 1.15fr}.split-contact{grid-template-columns:.9fr 1.1fr}}
.cta-band{background:linear-gradient(135deg,#3d8db5,#2a6f94);color:#fff;padding:3rem 1.5rem}
.cta-band h2,.cta-band .title{color:#fff}
.cta-meta{display:grid;gap:.7rem;margin-top:2rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.15);font-size:.92rem;color:rgba(255,255,255,.75)}
@media(min-width:640px){.cta-meta{grid-template-columns:1fr 1fr}}
.step-num{font-family:Newsreader,Georgia,serif;font-size:2rem;color:var(--gold)}

.site-footer{background:var(--petrol-deep);color:#fff}
.footer-grid{display:grid;gap:2.5rem;padding-block:4rem 2.5rem}
@media(min-width:1024px){.footer-grid{grid-template-columns:1.1fr 1.9fr}}
.footer-brand img{height:48px;width:auto;background:rgba(255,255,255,.95);padding:.35rem;border-radius:2px}
.footer-copy{max-width:28rem;color:rgba(255,255,255,.75);margin-top:1rem;font-size:.92rem}
.footer-meta{margin-top:1.4rem;font-size:.92rem;color:rgba(255,255,255,.8)}
.footer-meta a,.footer-meta p{display:block;margin-top:.3rem}
.footer-meta a:hover,.footer-social a:hover{color:var(--gold-soft)}
.footer-social{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.2rem;font-size:.9rem}
.footer-cols{display:grid;gap:1.5rem}
@media(min-width:640px){.footer-cols{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.footer-cols{grid-template-columns:1fr 1fr 1fr}}
.footer-cols h3{color:var(--gold-soft);font-family:"Source Sans 3",sans-serif;font-size:.85rem;margin-bottom:.7rem}
.footer-cols a{display:block;color:rgba(255,255,255,.75);font-size:.9rem;margin-top:.4rem}
.footer-cols a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.6)}
.footer-bottom a:hover{color:#fff}

.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:.5rem;padding:.75rem;background:rgba(247,242,234,.95);border-top:1px solid var(--line)}
.mobile-cta .btn{flex:1}
@media(min-width:768px){.mobile-cta{display:none}}

.panel{border:1px solid var(--line);background:rgba(255,255,255,.6);padding:1.5rem}
label{display:block;font-size:.9rem}
label span{display:block;font-weight:600;margin-bottom:.4rem}
input,select,textarea{width:100%;border:1px solid var(--line);background:var(--cream);padding:.7rem .8rem;font:inherit;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--petrol)}
.consent{display:flex;gap:.7rem;align-items:flex-start;color:var(--muted);font-size:.9rem}
.consent input{width:auto;margin-top:.25rem}
.form-ok{border:1px solid rgba(61,141,181,.2);background:var(--cream);padding:1rem;color:var(--petrol)}
.map iframe{width:100%;height:16rem;border:0;display:block}
.prose p+p{margin-top:1rem}
.prose a{color:var(--petrol);text-decoration:underline}
.prose ul{list-style:disc;padding-left:1.2rem;margin-top:1rem}
.prose li{margin:.35rem 0}

.cookie-bar{position:fixed;left:1rem;right:1rem;bottom:5.5rem;z-index:60;max-width:36rem;margin:0 auto;background:var(--white);border:1px solid var(--line);padding:1rem;box-shadow:0 16px 40px rgba(42,111,148,.12)}
.cookie-bar p{font-size:.9rem;color:var(--muted)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
@media(min-width:768px){.cookie-bar{bottom:1.5rem}}
