:root{
  --plum:#5a3a52;
  --plum-deep:#3f2839;
  --rose:#c48b9f;
  --rose-light:#e6c9d3;
  --cream:#faf3f0;
  --cream-warm:#f5e9e4;
  --ink:#2e2129;
  --muted:#6f5f68;
  --white:#ffffff;
  --shadow:0 10px 40px rgba(90,58,82,.10);
  --shadow-lg:0 20px 60px rgba(90,58,82,.16);
  --radius:16px;
  --radius-lg:28px;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Nunito Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.7;font-size:17px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;color:var(--plum-deep)}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.accent{color:var(--rose)}

/* Buttons */
.btn{display:inline-block;padding:15px 30px;border-radius:50px;font-weight:700;font-size:15px;letter-spacing:.3px;transition:all .25s ease;cursor:pointer;border:none;text-align:center}
.btn-primary{background:var(--plum);color:var(--white);box-shadow:0 8px 24px rgba(90,58,82,.28)}
.btn-primary:hover{background:var(--plum-deep);transform:translateY(-2px);box-shadow:0 12px 32px rgba(90,58,82,.35)}
.btn-outline{background:transparent;color:var(--plum);border:2px solid var(--rose)}
.btn-outline:hover{background:var(--rose-light);border-color:var(--plum)}

/* Header */
header{position:sticky;top:0;z-index:100;background:rgba(250,243,240,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(196,139,159,.25)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:8px 24px;max-width:1180px;margin:0 auto}
.nav-logo img{height:92px;width:auto}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none}
.nav-links a{font-weight:600;font-size:15px;color:var(--plum);transition:color .2s}
.nav-links a:hover{color:var(--rose)}
.nav-cta{padding:11px 22px;border-radius:50px;background:var(--plum);color:var(--white)!important;font-size:14px;box-shadow:0 6px 18px rgba(90,58,82,.25)}
.nav-cta:hover{background:var(--plum-deep)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;font-size:26px;color:var(--plum)}

/* Hero */
.hero{background:linear-gradient(160deg,var(--cream) 0%,var(--cream-warm) 100%);padding:70px 0 80px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.eyebrow{display:inline-block;background:rgba(196,139,159,.18);color:var(--plum);font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:8px 18px;border-radius:50px;margin-bottom:22px}
.hero h1{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:22px}
.hero p.lead{font-size:19px;color:var(--muted);margin-bottom:32px;max-width:520px}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:30px}
.hero-badges{display:flex;gap:24px;flex-wrap:wrap}
.hero-badge{font-size:14px;font-weight:600;color:var(--plum);display:flex;align-items:center;gap:7px}
.hero-badge span{color:var(--rose);font-weight:800}
.hero-photo{position:relative}
.hero-photo-frame{background:var(--white);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-lg);max-width:400px;margin-left:auto}
.hero-photo-frame img{border-radius:20px}
.hero-photo-name{text-align:center;padding:16px 10px 6px}
.hero-photo-name strong{font-family:var(--serif);font-size:22px;color:var(--plum-deep);display:block}
.hero-photo-name span{font-size:13px;color:var(--muted);letter-spacing:.3px}

/* Stats bar */
.stats{background:var(--plum);color:var(--white);padding:44px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stat b{font-family:var(--serif);font-size:2.6rem;color:var(--rose-light);display:block;line-height:1}
.stat span{font-size:13px;letter-spacing:.5px;opacity:.9;margin-top:8px;display:block}

/* Sections */
section{padding:80px 0}
.section-tag{text-align:center;color:var(--rose);font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px}
.section-title{text-align:center;font-size:clamp(2rem,4vw,2.9rem);margin-bottom:16px}
.section-sub{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 54px;font-size:18px}
.tint{background:var(--cream)}

/* Problem cards */
.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.prob-card{background:var(--white);border-radius:var(--radius);padding:36px 30px;box-shadow:var(--shadow);border:1px solid rgba(196,139,159,.15);transition:transform .25s}
.prob-card:hover{transform:translateY(-5px)}
.prob-ic{font-size:34px;margin-bottom:18px}
.prob-card h3{font-size:1.5rem;margin-bottom:12px}
.prob-card p{color:var(--muted);font-size:15.5px}

/* Difference / split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split-visual{background:linear-gradient(150deg,var(--rose-light),var(--cream-warm));border-radius:var(--radius-lg);padding:60px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.split-visual img{max-width:260px}
.split h2{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:22px}
.checklist{list-style:none;margin:24px 0 30px}
.checklist li{padding:10px 0 10px 34px;position:relative;color:var(--ink);font-size:16px}
.checklist li::before{content:"✓";position:absolute;left:0;top:9px;width:22px;height:22px;background:var(--rose);color:var(--white);border-radius:50%;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step{text-align:center;position:relative}
.step-num{width:44px;height:44px;background:var(--plum);color:var(--white);border-radius:50%;font-family:var(--serif);font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.step-ic{font-size:38px;margin-bottom:14px}
.step h3{font-size:1.5rem;margin-bottom:10px}
.step p{color:var(--muted);font-size:15.5px;padding:0 8px}

/* Services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.svc-card{background:var(--white);border-radius:var(--radius);padding:38px 30px;box-shadow:var(--shadow);border:1px solid rgba(196,139,159,.18);position:relative;transition:transform .25s}
.svc-card:hover{transform:translateY(-6px)}
.svc-card.featured{border:2px solid var(--rose);box-shadow:var(--shadow-lg)}
.svc-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--rose);color:var(--white);font-size:12px;font-weight:800;letter-spacing:.5px;padding:6px 18px;border-radius:50px;text-transform:uppercase}
.svc-ic{font-size:34px;margin-bottom:12px}
.svc-card h3{font-size:1.7rem;margin-bottom:8px}
.svc-card>p{color:var(--muted);font-size:15px;margin-bottom:20px;min-height:44px}
.svc-list{list-style:none;margin-bottom:26px}
.svc-list li{padding:8px 0 8px 28px;position:relative;font-size:14.5px;color:var(--ink);border-bottom:1px solid rgba(196,139,159,.12)}
.svc-list li::before{content:"✓";position:absolute;left:0;color:var(--rose);font-weight:800}
.svc-card .btn{width:100%}

/* Testimonial */
.testi{background:linear-gradient(160deg,var(--plum) 0%,var(--plum-deep) 100%);color:var(--white)}
.testi .section-tag{color:var(--rose-light)}
.testi .section-title{color:var(--white)}
.testi-card{max-width:820px;margin:0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(230,201,211,.2);border-radius:var(--radius-lg);padding:50px 48px;backdrop-filter:blur(6px)}
.testi-quote{font-size:64px;font-family:var(--serif);color:var(--rose);line-height:.6;height:30px}
.testi-card p{font-size:18px;line-height:1.8;color:#f3e9ee;margin-bottom:26px;font-style:italic}
.testi-author{display:flex;align-items:center;gap:14px}
.testi-avatar{width:52px;height:52px;border-radius:50%;background:var(--rose);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:22px;font-weight:700}
.testi-author strong{display:block;font-size:16px;color:var(--white)}
.testi-author span{font-size:13.5px;color:var(--rose-light)}

/* Why / trust */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.why-card{display:flex;gap:18px;background:var(--white);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);border:1px solid rgba(196,139,159,.14)}
.why-ic{font-size:30px;flex-shrink:0}
.why-card h4{font-size:1.35rem;margin-bottom:6px}
.why-card p{color:var(--muted);font-size:15px}

/* Service area */
.areas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:820px;margin:0 auto}
.area-pill{background:var(--white);border:1px solid rgba(196,139,159,.3);color:var(--plum);font-weight:600;font-size:14.5px;padding:10px 20px;border-radius:50px;box-shadow:0 4px 14px rgba(90,58,82,.06)}

/* CTA band */
.cta-band{background:linear-gradient(150deg,var(--cream-warm),var(--rose-light));text-align:center}
.cta-band h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:16px}
.cta-band p{color:var(--muted);max-width:560px;margin:0 auto 30px;font-size:18px}
.cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.phone-line{margin-top:26px;font-size:20px;font-weight:700;color:var(--plum)}
.phone-line a{color:var(--plum)}

/* Contact / Calendly */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}
.contact-info h2{font-size:2.2rem;margin-bottom:18px}
.contact-info p{color:var(--muted);margin-bottom:28px}
.contact-item{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:16px}
.contact-item .ci-ic{width:44px;height:44px;background:var(--cream-warm);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.contact-item strong{color:var(--plum-deep)}
.contact-item a{color:var(--plum);font-weight:600}
.calendly-box{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid rgba(196,139,159,.18);overflow:hidden;min-height:660px}
.calendly-inline-widget{min-width:320px;height:660px}

/* About page */
.about-hero{background:linear-gradient(160deg,var(--cream),var(--cream-warm));padding:64px 0}
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}
.about-photo img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.about-body h1{font-size:clamp(2.4rem,4.5vw,3.4rem);margin-bottom:10px}
.about-role{color:var(--rose);font-weight:700;font-size:17px;letter-spacing:.5px;margin-bottom:20px}
.about-body p{color:var(--muted);margin-bottom:16px;font-size:16.5px}
.creds{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.cred{background:var(--white);border:1px solid rgba(196,139,159,.25);border-radius:50px;padding:9px 18px;font-size:14px;font-weight:600;color:var(--plum)}
.prose{max-width:780px;margin:0 auto}
.prose h3{font-size:1.7rem;margin:32px 0 12px}
.prose p{color:var(--muted);margin-bottom:16px}

/* Services page */
.svc-detail{max-width:900px;margin:0 auto}
.svc-block{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid rgba(196,139,159,.16);padding:44px;margin-bottom:30px}
.svc-block.featured{border:2px solid var(--rose)}
.svc-block-head{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.svc-block-head h2{font-size:2rem;margin:0}
.svc-block p.desc{color:var(--muted);margin-bottom:20px;font-size:16.5px}
.svc-two-col{columns:2;column-gap:36px}
.svc-two-col li{break-inside:avoid;margin-bottom:10px;list-style:none;padding-left:28px;position:relative;font-size:15px}
.svc-two-col li::before{content:"✓";position:absolute;left:0;color:var(--rose);font-weight:800}
.note-box{background:var(--cream);border-left:4px solid var(--rose);border-radius:10px;padding:22px 26px;margin:30px auto 0;max-width:900px;color:var(--muted);font-size:15.5px}

/* Footer */
footer{background:var(--plum-deep);color:#e8dbe2;padding:60px 0 28px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:44px}
.foot-logo img{height:56px;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.95}
.foot-brand p{font-size:14.5px;color:#c9b6c2;line-height:1.7;max-width:320px}
.foot-col h4{color:var(--white);font-size:15px;font-family:var(--sans);font-weight:700;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:10px}
.foot-col a,.foot-contact div{color:#c9b6c2;font-size:14.5px;transition:color .2s}
.foot-col a:hover{color:var(--rose-light)}
.foot-contact div{margin-bottom:12px;display:flex;gap:8px}
.foot-bottom{border-top:1px solid rgba(230,201,211,.15);padding-top:24px;text-align:center;font-size:13px;color:#a893a2}
.foot-bottom p{margin-bottom:4px}

/* Responsive */
@media(max-width:900px){
  .hero-grid,.split,.contact-grid,.about-grid{grid-template-columns:1fr}
  .hero-photo-frame{margin:0 auto}
  .prob-grid,.steps,.svc-grid,.why-grid,.foot-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .svc-two-col{columns:1}
  .foot-grid{gap:32px}
  .nav-links{position:fixed;top:0;right:-100%;height:100vh;width:270px;background:var(--cream);flex-direction:column;align-items:flex-start;padding:80px 30px;gap:22px;box-shadow:-10px 0 40px rgba(90,58,82,.2);transition:right .3s;z-index:200}
  .nav-links.open{right:0}
  .menu-toggle{display:block;z-index:201}
  .about-photo{max-width:340px;margin:0 auto}
}
@media(max-width:560px){
  section{padding:56px 0}
  .hero{padding:48px 0 56px}
  .testi-card,.svc-block{padding:32px 24px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
