/* ======================================================
   DOCTOR 2 — BLOOM WELLNESS  |  Warm Organic Terracotta
   Dr. Amara Osei — Women's Health & Integrative Medicine
   ====================================================== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root {
  --terra:     #C2623C;
  --terra-d:   #A34F2E;
  --terra-l:   #F0C4A8;
  --cream:     #FAF6F1;
  --cream2:    #F2EDE4;
  --cream3:    #E8DDD0;
  --warm-d:    #2D1C0E;
  --warm-mid:  #7A4F35;
  --sand:      #D4A96A;
  --sage:      #7E9E82;
  --font-ser:  'Playfair Display', Georgia, serif;
  --font-san:  'DM Sans', system-ui, sans-serif;
  --text:      #2D1C0E;
  --muted:     #8C6B52;
  --radius:    20px;
  --radius-sm: 10px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-san);background:var(--cream);color:var(--text);overflow-x:hidden;line-height:1.7}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}

/* ── NAVBAR ─────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 56px;display:flex;align-items:center;justify-content:space-between;transition:.4s}
nav.scrolled{background:rgba(250,246,241,.95);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(45,28,14,.07)}
.nav-logo{display:flex;align-items:center;gap:12px}
.logo-flower{width:40px;height:40px;background:var(--terra);border-radius:50% 30% 50% 30%;display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:#fff;font-weight:700;font-family:var(--font-ser);font-style:italic}
.logo-text{font-family:var(--font-ser);font-size:1.25rem;font-weight:600;color:var(--text)}
.logo-text span{color:var(--terra)}
.nav-links{display:flex;gap:36px}
.nav-links a{font-size:.875rem;font-weight:500;color:var(--muted);letter-spacing:.01em;transition:.2s;position:relative}
.nav-links a:hover{color:var(--terra)}
.nav-pill{padding:11px 28px;background:var(--terra);color:#fff;font-family:var(--font-san);font-size:.875rem;font-weight:600;border-radius:40px;border:none;cursor:pointer;transition:.3s}
.nav-pill:hover{background:var(--terra-d);transform:translateY(-1px);box-shadow:0 6px 20px rgba(194,98,60,.35)}

/* ── HERO — SPLIT ASYMMETRIC ─────────────────────────── */
#hero{min-height:100vh;display:grid;grid-template-columns:55% 45%;position:relative;overflow:hidden}
.hero-left-panel{background:var(--cream2);display:flex;flex-direction:column;justify-content:center;padding:120px 64px 80px;position:relative;overflow:hidden}
.hero-blob-bg{position:absolute;bottom:-20%;left:-20%;width:600px;height:600px;background:radial-gradient(ellipse,rgba(194,98,60,.08) 0%,transparent 70%);pointer-events:none;border-radius:60% 40% 50% 50%}
.hero-blob-top{position:absolute;top:-10%;right:-10%;width:400px;height:400px;background:radial-gradient(ellipse,rgba(126,158,130,.1) 0%,transparent 70%);pointer-events:none;border-radius:50% 60% 40% 50%}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#fff;border:1.5px solid var(--terra-l);border-radius:40px;font-size:.8rem;font-weight:600;color:var(--terra);margin-bottom:28px;box-shadow:0 2px 10px rgba(194,98,60,.1);width:fit-content}
.badge-dot{width:8px;height:8px;background:var(--sage);border-radius:50%}
.hero-greeting{font-family:var(--font-san);font-size:.9rem;font-weight:500;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.hero-name{font-family:var(--font-ser);font-size:clamp(2.5rem,4.5vw,4rem);font-weight:700;line-height:1.05;margin-bottom:16px;color:var(--text)}
.hero-name em{color:var(--terra);font-style:italic;display:block}
.hero-creds{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.cred-tag{padding:5px 14px;background:rgba(194,98,60,.08);border-radius:20px;font-size:.75rem;font-weight:600;color:var(--terra);letter-spacing:.02em}
.hero-desc{font-size:1.0625rem;color:var(--muted);line-height:1.85;max-width:460px;margin-bottom:40px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px}
.btn-terra{padding:15px 36px;background:var(--terra);color:#fff;font-weight:600;font-size:.9375rem;border-radius:40px;border:none;cursor:pointer;transition:.3s;font-family:var(--font-san)}
.btn-terra:hover{background:var(--terra-d);transform:translateY(-2px);box-shadow:0 8px 24px rgba(194,98,60,.4)}
.btn-outline-terra{padding:14px 36px;background:transparent;color:var(--terra);font-weight:600;font-size:.9375rem;border-radius:40px;border:2px solid var(--terra);cursor:pointer;transition:.3s;font-family:var(--font-san)}
.btn-outline-terra:hover{background:rgba(194,98,60,.06);transform:translateY(-2px)}
.hero-stats-row{display:flex;gap:32px;flex-wrap:wrap}
.hstat{text-align:left}
.hstat strong{display:block;font-family:var(--font-ser);font-size:2.25rem;font-weight:700;color:var(--terra);line-height:1}
.hstat span{font-size:.75rem;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.05em}

.hero-right-panel{background:linear-gradient(160deg,var(--terra) 0%,#A34F2E 100%);position:relative;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.hero-rp-circle{position:absolute;top:-15%;right:-15%;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.06);pointer-events:none}
.hero-rp-circle2{position:absolute;bottom:-25%;left:-20%;width:400px;height:400px;border-radius:50%;background:rgba(0,0,0,.08);pointer-events:none}
.hero-right-content{position:relative;z-index:2;padding:80px 48px 0;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}
.doctor-avatar-wrap{width:320px;height:380px;background:rgba(255,255,255,.12);border-radius:200px 200px 100px 100px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;position:relative}
.doctor-avatar-wrap::before{content:'';position:absolute;inset:0;border-radius:200px 200px 100px 100px;border:2px solid rgba(255,255,255,.2)}
.doctor-emoji{font-size:14rem;line-height:1;margin-bottom:-10px}
.hero-right-cards{display:flex;gap:12px;margin-top:auto;padding:28px 0;width:100%;justify-content:center}
.rp-card{background:rgba(255,255,255,.15);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);padding:14px 18px;text-align:center;flex:1}
.rp-card strong{display:block;font-family:var(--font-ser);font-size:1.5rem;font-weight:700;color:#fff;line-height:1}
.rp-card span{font-size:.7rem;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.06em;font-weight:500}

/* ── WARM TAGLINE STRIP ──────────────────────────────── */
.tagline-strip{background:var(--warm-d);padding:22px 56px;display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap}
.ts-item{display:flex;align-items:center;gap:10px;font-size:.875rem;color:rgba(255,255,255,.75);font-family:var(--font-san);font-weight:500}
.ts-leaf{width:28px;height:28px;background:rgba(126,158,130,.3);border-radius:50% 30% 50% 30%;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--sage)}
.ts-sep{width:4px;height:4px;background:var(--terra-l);border-radius:50%;opacity:.5}

/* ── ABOUT — ORGANIC LAYOUT ──────────────────────────── */
#about{padding:100px 56px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;background:var(--cream)}
.about-left-pic{position:relative}
.about-main-img{width:100%;aspect-ratio:4/5;background:linear-gradient(145deg,var(--terra-l),var(--cream3));border-radius:40% 20% 40% 20%;display:flex;align-items:center;justify-content:center;font-size:10rem;position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(194,98,60,.2)}
.about-main-img::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23C2623C' fill-opacity='0.04'%3E%3Ccircle cx='20' cy='20' r='3'/%3E%3C/g%3E%3C/svg%3E")}
.about-floating-card{position:absolute;right:-20px;bottom:10%;background:#fff;border-radius:var(--radius-sm);padding:18px 22px;box-shadow:0 10px 40px rgba(45,28,14,.12);min-width:180px}
.afc-top{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.afc-dot{width:10px;height:10px;background:var(--sage);border-radius:50%}
.afc-top span{font-size:.75rem;font-weight:600;color:var(--sage);text-transform:uppercase;letter-spacing:.06em}
.afc-stat{font-family:var(--font-ser);font-size:1.75rem;font-weight:700;color:var(--terra)}
.afc-label{font-size:.75rem;color:var(--muted);margin-top:2px}
.about-award-badge{position:absolute;top:10%;left:-24px;background:var(--terra);border-radius:50%;width:80px;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(194,98,60,.4);color:#fff;text-align:center}
.about-award-badge strong{font-size:1rem;font-weight:800;font-family:var(--font-ser);line-height:1}
.about-award-badge small{font-size:.55rem;text-transform:uppercase;letter-spacing:.05em;opacity:.85}

.about-right .stag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.about-right .stag::before{content:'';width:28px;height:2px;background:var(--terra);border-radius:2px}
.about-right h2{font-family:var(--font-ser);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.15;margin-bottom:20px;color:var(--text)}
.about-right h2 em{color:var(--terra);font-style:italic}
.about-right p{color:var(--muted);line-height:1.85;margin-bottom:20px}
.creds-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px}
.cred-box{background:var(--cream2);border-radius:var(--radius-sm);padding:16px;border:1px solid var(--cream3)}
.cred-box i{color:var(--terra);margin-bottom:8px;font-size:1rem}
.cred-box h4{font-family:var(--font-ser);font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:4px}
.cred-box p{font-size:.8rem;color:var(--muted);line-height:1.5}

/* ── SERVICES — CARD COLUMNS ─────────────────────────── */
#services{background:var(--cream2);padding:100px 56px;overflow:hidden}
.sec-header-warm{margin-bottom:56px}
.sec-header-warm .stag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.sec-header-warm .stag::before{content:'';width:28px;height:2px;background:var(--terra);border-radius:2px}
.sec-header-warm h2{font-family:var(--font-ser);font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15;color:var(--text)}
.sec-header-warm h2 em{color:var(--terra);font-style:italic}
.sec-header-warm p{color:var(--muted);max-width:520px;margin-top:12px;line-height:1.8}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-card-warm{background:#fff;border-radius:var(--radius);padding:32px 28px;border:1.5px solid var(--cream3);transition:.3s;cursor:pointer;position:relative;overflow:hidden}
.svc-card-warm::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--terra),var(--sand));transform:scaleX(0);transition:.4s;transform-origin:left}
.svc-card-warm:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(45,28,14,.1);border-color:var(--terra-l)}
.svc-card-warm:hover::before{transform:scaleX(1)}
.svc-icon-warm{width:56px;height:56px;border-radius:50% 30% 50% 30%;background:rgba(194,98,60,.1);display:flex;align-items:center;justify-content:center;font-size:1.375rem;color:var(--terra);margin-bottom:18px;transition:.3s}
.svc-card-warm:hover .svc-icon-warm{background:var(--terra);color:#fff}
.svc-card-warm h3{font-family:var(--font-ser);font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:10px}
.svc-card-warm p{font-size:.875rem;color:var(--muted);line-height:1.75}
.svc-badge{display:inline-block;margin-top:14px;padding:4px 12px;background:rgba(194,98,60,.08);border-radius:20px;font-size:.72rem;font-weight:600;color:var(--terra)}

/* ── APPROACH ─────────────────────────────────────────── */
#approach{background:var(--cream);padding:100px 56px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.approach-left h2{font-family:var(--font-ser);font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;line-height:1.15;margin-bottom:16px}
.approach-left h2 em{color:var(--terra);font-style:italic}
.approach-left p{color:var(--muted);line-height:1.85;margin-bottom:32px}
.approach-steps{display:flex;flex-direction:column;gap:0}
.step-item{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--cream3);position:relative}
.step-item:last-child{border-bottom:none}
.step-num{width:48px;height:48px;border-radius:50%;border:2px solid var(--terra);display:flex;align-items:center;justify-content:center;font-family:var(--font-ser);font-size:1.125rem;font-weight:700;color:var(--terra);flex-shrink:0}
.step-body h4{font-family:var(--font-ser);font-size:1.0625rem;font-weight:600;color:var(--text);margin-bottom:6px}
.step-body p{font-size:.875rem;color:var(--muted);line-height:1.75}
.approach-right{display:flex;flex-direction:column;gap:16px}
.perk-card{background:var(--cream2);border-radius:var(--radius);padding:24px 28px;display:flex;gap:18px;align-items:flex-start;border:1.5px solid var(--cream3);transition:.3s}
.perk-card:hover{border-color:var(--terra-l);box-shadow:0 8px 24px rgba(194,98,60,.08)}
.perk-icon{width:48px;height:48px;border-radius:50% 30% 50% 30%;background:var(--terra);display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:#fff;flex-shrink:0}
.perk-body h4{font-family:var(--font-ser);font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:4px}
.perk-body p{font-size:.8125rem;color:var(--muted);line-height:1.65}

/* ── TESTIMONIALS ─────────────────────────────────────── */
#testimonials{background:var(--warm-d);padding:100px 56px}
.testi-header-warm{margin-bottom:52px}
.testi-header-warm h2{font-family:var(--font-ser);font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;color:#fff;line-height:1.1}
.testi-header-warm h2 em{color:var(--terra-l);font-style:italic}
.testi-header-warm p{color:rgba(255,255,255,.55);max-width:420px;margin-top:10px;line-height:1.75}
.testi-grid-warm{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tw-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:32px 28px;transition:.3s;position:relative}
.tw-card:hover{background:rgba(255,255,255,.1);border-color:rgba(194,98,60,.4)}
.tw-quote{font-size:3rem;font-family:var(--font-ser);color:var(--terra);line-height:1;margin-bottom:12px;display:block}
.tw-text{font-size:.9375rem;color:rgba(255,255,255,.8);line-height:1.8;margin-bottom:24px;font-style:italic}
.tw-author{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.08);padding-top:20px}
.tw-avatar{width:44px;height:44px;border-radius:50%;background:rgba(194,98,60,.2);display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:1.5px solid rgba(194,98,60,.4)}
.tw-author strong{display:block;color:#fff;font-size:.875rem;font-weight:600;font-family:var(--font-ser)}
.tw-author span{font-size:.75rem;color:rgba(255,255,255,.45)}
.tw-stars{display:flex;gap:2px;margin-bottom:2px}
.tw-stars i{color:var(--sand);font-size:.75rem}

/* ── APPOINTMENT ─────────────────────────────────────── */
#appointment{background:var(--cream2);padding:100px 56px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.appt-left-warm h2{font-family:var(--font-ser);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;line-height:1.15;margin-bottom:12px}
.appt-left-warm h2 em{color:var(--terra);font-style:italic}
.appt-left-warm p{color:var(--muted);line-height:1.85;margin-bottom:28px}
.appt-info-grid{display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.appt-info-row{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#fff;border-radius:var(--radius-sm);border:1px solid var(--cream3)}
.appt-info-icon{width:40px;height:40px;border-radius:50% 30% 50% 30%;background:rgba(194,98,60,.1);display:flex;align-items:center;justify-content:center;color:var(--terra);font-size:.9rem;flex-shrink:0}
.appt-info-text strong{display:block;font-size:.875rem;font-weight:600;color:var(--text)}
.appt-info-text span{font-size:.8rem;color:var(--muted)}
.warm-contact-btns{display:flex;gap:12px;flex-wrap:wrap}
.wcbtn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:40px;font-size:.875rem;font-weight:600;transition:.3s;cursor:pointer;border:none;font-family:var(--font-san)}
.wcbtn-wa{background:#25D366;color:#fff}
.wcbtn-wa:hover{background:#1ea855;box-shadow:0 6px 20px rgba(37,211,102,.35)}
.wcbtn-ph{background:var(--terra);color:#fff}
.wcbtn-ph:hover{background:var(--terra-d);box-shadow:0 6px 20px rgba(194,98,60,.35)}

.form-warm{background:#fff;border-radius:var(--radius);padding:40px;box-shadow:0 10px 40px rgba(45,28,14,.08);border:1.5px solid var(--cream3)}
.form-warm h3{font-family:var(--font-ser);font-size:1.5rem;font-weight:700;margin-bottom:8px;color:var(--text)}
.form-warm h3 em{color:var(--terra);font-style:italic}
.form-warm .sub{font-size:.875rem;color:var(--muted);margin-bottom:28px;line-height:1.6}
.form-row-warm{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fg{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.fg label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fg input,.fg select,.fg textarea{background:var(--cream);border:1.5px solid var(--cream3);color:var(--text);padding:12px 16px;font-family:var(--font-san);font-size:.9rem;border-radius:var(--radius-sm);transition:.3s;width:100%}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(194,98,60,.1)}
.fg textarea{resize:vertical;min-height:90px}
.form-submit{width:100%;padding:16px;background:var(--terra);color:#fff;font-weight:700;font-size:1rem;border-radius:40px;border:none;cursor:pointer;transition:.3s;font-family:var(--font-san);display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px}
.form-submit:hover{background:var(--terra-d);transform:translateY(-2px);box-shadow:0 8px 28px rgba(194,98,60,.4)}

/* ── FOOTER ──────────────────────────────────────────── */
footer{background:var(--text);padding:72px 56px 32px}
.footer-top-warm{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand-warm p{font-size:.875rem;color:rgba(255,255,255,.55);line-height:1.8;margin:16px 0 24px;max-width:260px}
.footer-social-warm{display:flex;gap:10px}
.footer-social-warm a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:.875rem;color:rgba(255,255,255,.45);transition:.3s}
.footer-social-warm a:hover{border-color:var(--terra);color:var(--terra)}
.footer-col-warm h4{font-family:var(--font-ser);font-size:.875rem;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:18px}
.footer-col-warm ul li{margin-bottom:10px}
.footer-col-warm ul a{font-size:.875rem;color:rgba(255,255,255,.45);transition:.2s;display:block}
.footer-col-warm ul a:hover{color:var(--terra-l)}
.footer-bottom-warm{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:rgba(255,255,255,.35)}
.footer-bottom-warm a{color:var(--terra-l)}

.whatsapp-float{position:fixed;bottom:28px;right:28px;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;z-index:500;box-shadow:0 4px 20px rgba(37,211,102,.5);transition:.3s}
.whatsapp-float:hover{transform:scale(1.1)}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:1024px){
  #hero{grid-template-columns:1fr}
  .hero-right-panel{display:none}
  #about,#approach,#appointment{grid-template-columns:1fr;gap:48px}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .testi-grid-warm{grid-template-columns:1fr}
  nav{padding:18px 24px}
  #about,#approach,#testimonials,#appointment,footer{padding-left:32px;padding-right:32px}
  #services{padding-left:32px;padding-right:32px}
}
@media(max-width:640px){
  .hero-left-panel{padding:120px 24px 60px}
  .hero-stats-row{flex-wrap:wrap;gap:20px}
  .hero-btns{flex-direction:column}
  .creds-grid{grid-template-columns:1fr}
  .svc-grid{grid-template-columns:1fr}
  .form-row-warm{grid-template-columns:1fr}
  .footer-top-warm{grid-template-columns:1fr 1fr}
  #about,#approach,#testimonials,#appointment,footer,#services{padding-left:20px;padding-right:20px}
  .tagline-strip{padding:18px 20px;gap:16px}
}
