
:root{
  --navy:#173f7a; --navy-2:#254f8d; --pink:#d72f7b; --pink-2:#e55c9a;
  --lav:#9b7dc8; --lav-light:#eee8f8; --blue:#43a3cf; --blue-soft:#dff2fa;
  --blush:#fff2f7; --ink:#17396d; --muted:#5e6f8a; --white:#fff;
  --shadow:0 18px 50px rgba(23,63,122,.12); --radius:26px;
  --serif:Georgia,'Times New Roman',serif; --sans:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.6}
a{color:inherit} img{display:block;max-width:100%}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.narrow{width:min(780px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,63,122,.08)}
.navbar{height:92px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:250px}.brand-mark{width:82px;height:72px;object-fit:contain}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-title{font-family:var(--serif);font-size:29px;color:#334b83;letter-spacing:-.02em}.brand-sub{font-size:11px;letter-spacing:.27em;color:#a176bc;font-weight:700;margin-top:8px}.brand-rule{width:92px;height:1px;background:#a176bc;margin-top:7px;position:relative}.brand-rule:after{content:'';width:6px;height:6px;border-radius:50%;background:#a176bc;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.navlinks{display:flex;align-items:center;gap:24px}.navlinks a{text-decoration:none;font-size:14px;font-weight:600;color:#244777}.navlinks a:hover{color:var(--pink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,var(--pink),var(--pink-2));color:#fff!important;text-decoration:none!important;font-weight:700;box-shadow:0 10px 28px rgba(215,47,123,.22);border:0}.btn:hover{transform:translateY(-1px)}.btn.secondary{background:#fff;color:var(--navy)!important;border:1px solid rgba(23,63,122,.16);box-shadow:none}.btn.small{min-height:42px;padding:0 18px;font-size:13px}.menu{display:none;width:46px;height:46px;border:1px solid rgba(23,63,122,.15);border-radius:50%;background:#fff}.menu span{display:block;width:20px;height:2px;background:var(--navy);margin:4px auto}
.hero{background:linear-gradient(90deg,#fff 0%,#fff7fb 44%,#e8f4fb 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;min-height:560px}.hero-copy{padding:56px 34px 54px 0;display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--navy);margin:0 0 15px}.hero h1,.page-hero h1{font-family:var(--serif);font-size:clamp(3.2rem,5.4vw,5rem);line-height:.98;letter-spacing:-.04em;margin:0 0 20px;font-weight:500}.hero h1 .pink{color:var(--pink)}.hero-lead{font-size:19px;line-height:1.45;max-width:540px;margin:0 0 28px;color:#1b4a80}.hero-visual{position:relative;min-height:560px;background:url('assets/hero-lotus.jpg') center/cover no-repeat}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,251,.25),transparent 30%)}
.section{padding:78px 0}.section-head{text-align:center;max-width:760px;margin:0 auto 38px}.section-head h2,.page-title{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.08;margin:0 0 12px;font-weight:500}.section-head h2 .pink{color:var(--pink)}.section-head p{color:var(--muted);margin:0}.services{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{padding:28px 22px 24px;border:1px solid rgba(23,63,122,.08);border-radius:24px;text-align:center;background:#fff;box-shadow:0 10px 30px rgba(23,63,122,.05);display:flex;flex-direction:column;min-height:350px}.service-card:nth-child(2){background:#fbf8ff}.service-card:nth-child(3){background:#f5fbff}.service-card:nth-child(4){background:#fff7fa}.service-icon{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#fde3ef;color:var(--pink);font-family:var(--serif);font-size:34px}.service-card:nth-child(2) .service-icon{background:#eee8fa;color:#6f5bb7}.service-card:nth-child(3) .service-icon{background:#e3f2fa;color:#2d73a8}.service-card h3{font-family:var(--serif);font-size:25px;line-height:1.05;margin:0 0 12px}.service-card p{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 18px}.service-card a{margin-top:auto;color:var(--pink);font-weight:800;text-decoration:none;font-size:14px}
.about-band{background:linear-gradient(90deg,#f3eef7,#f8f3fb 58%,#eef5ff)}.about-grid{display:grid;grid-template-columns:.78fr 1.22fr;align-items:stretch}.about-photo{min-height:470px;background:url('assets/nikki-portrait.jpg') center 32%/cover no-repeat}.about-copy{padding:50px 50px 50px 56px;display:flex;flex-direction:column;justify-content:center}.about-copy h2{font-family:var(--serif);font-size:48px;line-height:1.02;margin:0 0 16px;font-weight:500}.about-copy p{font-size:17px;color:#21497d;margin:0 0 14px}.about-copy .btn{align-self:flex-start;margin-top:12px}
.process{background:#fff}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{padding:30px 28px;text-align:center;border-radius:22px;background:linear-gradient(180deg,#fff7fa,#fff);border:1px solid rgba(215,47,123,.09)}.step-num{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--pink);color:#fff;margin:0 auto 16px;font-family:var(--serif);font-size:24px}.step:nth-child(2) .step-num{background:#8d75c6}.step:nth-child(3) .step-num{background:#4b89bd}.step h3{font-family:var(--serif);font-size:25px;margin:0 0 10px}.step p{color:var(--muted);font-size:14px;margin:0}
.cta{background:linear-gradient(160deg,#ffe5f0 0%,#f4dff6 45%,#d9e6ff 100%);padding:60px 0;position:relative;overflow:hidden}.cta:before,.cta:after{content:'';position:absolute;left:-10%;right:-10%;height:130px;border-radius:50%;opacity:.26}.cta:before{bottom:-78px;background:#6e78c8;transform:rotate(2deg)}.cta:after{bottom:-105px;background:#2f71b3;transform:rotate(-2deg)}.cta-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta h2{font-family:var(--serif);font-size:40px;margin:0 0 8px}.cta p{margin:0;color:#395680}.trust{display:grid;gap:8px;font-size:14px}.trust div{display:flex;gap:9px;align-items:center}.trust b{color:var(--navy)}
.site-footer{background:#0b3d73;color:#fff;padding:40px 0 26px}.footer-grid{display:grid;grid-template-columns:1.1fr 1.4fr;gap:40px;align-items:center}.footer-brand .brand-title{color:#fff;font-size:28px}.footer-brand .brand-sub{color:#c7a8dd}.footer-brand .brand-mark{width:78px}.footer-links{display:flex;gap:24px;justify-content:flex-end;flex-wrap:wrap}.footer-links a{color:#fff;text-decoration:none;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:12px;color:rgba(255,255,255,.78)}
.page-hero{padding:72px 0;background:linear-gradient(135deg,#fff5fa,#f1ebfb 56%,#e6f5fb)}.page-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}.page-hero p{font-size:18px;color:#385682;max-width:700px}.page-hero .hero-mark{max-width:350px;margin:auto;filter:saturate(1.08)}
.content-section{padding:70px 0}.content-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}.content-grid.reverse{grid-template-columns:1.1fr .9fr}.content-card{padding:36px;border-radius:24px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(23,63,122,.08)}.content-card h2,.content-section h2{font-family:var(--serif);font-size:36px;line-height:1.1;margin:0 0 16px;font-weight:500}.content-section p{color:#456080}.content-section ul{padding-left:20px;color:#456080}.portrait-large{border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.portrait-large img{width:100%;height:100%;object-fit:cover}.quote-box{padding:28px 30px;border-left:4px solid var(--pink);background:#fff6fa;border-radius:0 18px 18px 0;font-family:var(--serif);font-size:26px;line-height:1.3;color:#29477b}.subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.subnav a{padding:9px 14px;border-radius:999px;background:#f4effa;color:#4d4b91;text-decoration:none;font-size:13px;font-weight:700}
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px}.contact-card{padding:34px;background:#fff;border-radius:24px;box-shadow:var(--shadow)}.contact-card a{color:var(--pink);font-weight:700}.contact-list{list-style:none!important;padding:0!important}.contact-list li{margin:14px 0}
.notice{font-size:12px;color:#71809a;margin-top:18px}
@media(max-width:950px){.menu{display:block}.navlinks{display:none;position:absolute;top:92px;left:20px;right:20px;padding:16px;background:#fff;border-radius:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.brand{min-width:0}.hero-grid,.page-hero .wrap,.about-grid,.content-grid,.content-grid.reverse,.contact-grid{grid-template-columns:1fr}.hero-copy{padding:46px 0;text-align:center}.hero-lead{margin-left:auto;margin-right:auto}.hero-copy .btn{align-self:center}.hero-visual{min-height:420px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-photo{min-height:430px}.about-copy{padding:44px 32px}.steps{grid-template-columns:1fr}.cta-inner{flex-direction:column;text-align:center}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:600px){.wrap,.narrow{width:calc(100% - 28px)}.navbar{height:80px}.navlinks{top:80px;left:14px;right:14px}.brand-mark{width:58px;height:56px}.brand-title{font-size:22px}.brand-sub{font-size:9px}.brand-rule{width:72px}.hero-grid{min-height:auto}.hero-copy{padding:34px 0 30px}.hero h1,.page-hero h1{font-size:3rem}.hero-lead{font-size:17px}.hero-visual{min-height:330px}.section{padding:58px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.about-photo{min-height:370px}.about-copy h2{font-size:38px}.about-copy{padding:36px 22px}.page-hero{padding:50px 0}.page-hero .hero-mark{max-width:230px}.content-section{padding:54px 0}.content-card{padding:26px}.cta h2{font-size:34px}.footer-bottom{flex-direction:column}.footer-links{gap:16px}.footer-brand .brand-title{font-size:24px}}


/* Exact original uploaded logo, shown fully without alteration or cropping */
.site-logo, .brand-logo, .logo, .navbar-logo,
header .logo, nav .logo, .footer-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 320px !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
}
.site-logo img, .brand-logo img, .logo img, .navbar-logo img,
header .logo img, nav .logo img, .footer-logo img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}
@media (max-width: 768px) {
  .site-logo, .brand-logo, .logo, .navbar-logo,
  header .logo, nav .logo, .footer-logo {
    width: 230px !important;
  }
}


/* FINAL HEADER LOGO SIZING
   Uses the exact uploaded logo artwork unchanged. */
.brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 135px !important;
  max-width: 135px !important;
  min-width: 135px !important;
  height: 104px !important;
  flex: 0 0 135px !important;
  overflow: visible !important;
  text-decoration: none !important;
}
.brand img {
  display: block !important;
  width: 135px !important;
  max-width: 135px !important;
  height: 104px !important;
  max-height: 104px !important;
  object-fit: contain !important;
  object-position: center !important;
}
.brand-copy, .brand-title, .brand-sub, .brand-rule, .brand-mark {
  display: none !important;
}
.navbar {
  min-height: 110px !important;
  height: 110px !important;
  align-items: center !important;
  gap: 20px !important;
}
.navlinks {
  margin-left: auto !important;
}
@media (max-width: 900px) {
  .brand {
    width: 112px !important;
    max-width: 112px !important;
    min-width: 112px !important;
    height: 88px !important;
    flex-basis: 112px !important;
  }
  .brand img {
    width: 112px !important;
    max-width: 112px !important;
    height: 88px !important;
    max-height: 88px !important;
  }
  .navbar {
    min-height: 94px !important;
    height: 94px !important;
  }
}


/* Portrait sizing fix:
   Keep Nikki's image from becoming wider and more tightly cropped on large screens. */
.about-grid {
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr) !important;
  max-width: 1160px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.about-photo {
  width: 100% !important;
  max-width: 430px !important;
  min-height: 470px !important;
  justify-self: start !important;
  background-size: cover !important;
  background-position: center 28% !important;
}

/* About Nikki page portrait: show the photo at its natural proportions
   rather than stretching/cropping it to fill a larger grid cell. */
.portrait-large {
  width: 100% !important;
  max-width: 430px !important;
  justify-self: center !important;
}
.portrait-large img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center top !important;
}

@media (max-width: 900px) {
  .about-grid {
    grid-template-columns: 1fr !important;
  }
  .about-photo {
    max-width: 520px !important;
    width: calc(100% - 40px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    min-height: 430px !important;
    justify-self: center !important;
  }
}
@media (max-width: 600px) {
  .about-photo {
    width: calc(100% - 28px) !important;
    min-height: 370px !important;
  }
  .portrait-large {
    max-width: 100% !important;
  }
}


/* ===== Lotus Wave brand/photo corrections ===== */

/* Header logo: slightly larger than before, still normal navigation scale. */
.site-header .brand {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:168px !important;
  min-width:168px !important;
  max-width:168px !important;
  height:96px !important;
  flex:0 0 168px !important;
  overflow:visible !important;
  gap:0 !important;
}
.site-header .brand .full-logo {
  display:block !important;
  width:168px !important;
  max-width:168px !important;
  height:92px !important;
  max-height:92px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.site-header .navbar {
  min-height:104px !important;
  height:104px !important;
}

/* Full logo in footer; never crop. */
.site-footer .footer-brand {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:190px !important;
  min-width:190px !important;
  max-width:190px !important;
  height:auto !important;
  overflow:visible !important;
  gap:0 !important;
}
.site-footer .footer-brand .full-logo {
  display:block !important;
  width:190px !important;
  max-width:190px !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.brand-mark,.brand-copy,.brand-title,.brand-sub,.brand-rule {
  display:none !important;
}
.footer-grid > div:first-child {
  min-width:210px !important;
  overflow:visible !important;
}

/* Homepage Nikki portrait: fixed maximum width stops the image zooming on wide screens. */
.about-grid {
  grid-template-columns:minmax(300px,400px) minmax(0,1fr) !important;
  max-width:1160px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.about-photo {
  width:100% !important;
  max-width:400px !important;
  min-height:470px !important;
  justify-self:center !important;
  background-size:cover !important;
  background-position:center 30% !important;
}

/* About Nikki page: show the portrait at natural proportions. */
.portrait-large {
  width:100% !important;
  max-width:420px !important;
  justify-self:center !important;
}
.portrait-large img {
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center top !important;
}

/* Decorative marks on subpages should also never be clipped. */
.page-hero .hero-mark {
  width:min(240px,100%) !important;
  height:auto !important;
  max-height:240px !important;
  object-fit:contain !important;
  object-position:center !important;
  align-self:center !important;
}

@media (max-width:900px) {
  .site-header .brand {
    width:145px !important;
    min-width:145px !important;
    max-width:145px !important;
    height:88px !important;
    flex-basis:145px !important;
  }
  .site-header .brand .full-logo {
    width:145px !important;
    max-width:145px !important;
    height:82px !important;
    max-height:82px !important;
  }
  .site-header .navbar {
    min-height:94px !important;
    height:94px !important;
  }
  .about-grid { grid-template-columns:1fr !important; }
  .about-photo {
    max-width:420px !important;
    width:calc(100% - 40px) !important;
    min-height:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .site-footer .footer-brand,
  .site-footer .footer-brand .full-logo {
    width:175px !important;
    max-width:175px !important;
    min-width:0 !important;
  }
}

@media (max-width:600px) {
  .site-header .brand {
    width:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    height:80px !important;
    flex-basis:128px !important;
  }
  .site-header .brand .full-logo {
    width:128px !important;
    max-width:128px !important;
    height:74px !important;
    max-height:74px !important;
  }
  .site-header .navbar {
    min-height:86px !important;
    height:86px !important;
  }
  .about-photo {
    width:calc(100% - 28px) !important;
    min-height:370px !important;
  }
  .page-hero .hero-mark {
    width:min(200px,70vw) !important;
  }
}


/* v9: larger readable header logo; footer logo removed */
.site-header .brand {
  width: 205px !important;
  min-width: 205px !important;
  max-width: 205px !important;
  height: 116px !important;
  flex: 0 0 205px !important;
  overflow: visible !important;
}
.site-header .brand .full-logo,
.site-header .brand img {
  display: block !important;
  width: 205px !important;
  max-width: 205px !important;
  height: 110px !important;
  max-height: 110px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.site-header .navbar {
  min-height: 120px !important;
  height: 120px !important;
}
.site-footer .footer-brand {
  display: none !important;
}

@media (max-width: 900px) {
  .site-header .brand {
    width: 175px !important;
    min-width: 175px !important;
    max-width: 175px !important;
    height: 100px !important;
    flex-basis: 175px !important;
  }
  .site-header .brand .full-logo,
  .site-header .brand img {
    width: 175px !important;
    max-width: 175px !important;
    height: 94px !important;
    max-height: 94px !important;
  }
  .site-header .navbar {
    min-height: 104px !important;
    height: 104px !important;
  }
}
@media (max-width: 600px) {
  .site-header .brand {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    height: 90px !important;
    flex-basis: 150px !important;
  }
  .site-header .brand .full-logo,
  .site-header .brand img {
    width: 150px !important;
    max-width: 150px !important;
    height: 84px !important;
    max-height: 84px !important;
  }
  .site-header .navbar {
    min-height: 94px !important;
    height: 94px !important;
  }
}


/* v10 — palette and styling aligned to supplied Lotus Wave business card */
:root{
  --navy:#163993 !important; --navy-2:#284AA0 !important;
  --pink:#530A79 !important; --pink-2:#7956B4 !important;
  --lav:#C0AAED !important; --lav-light:#F3EFFF !important;
  --blue:#20AFD9 !important; --blue-soft:#EAF8FC !important;
  --blush:#FBF7FF !important; --ink:#163993 !important;
  --muted:#5068A0 !important; --shadow:0 16px 42px rgba(22,57,147,.10) !important;
  --card-purple:#530A79; --card-blue:#163993; --card-cyan:#20AFD9;
  --card-sky:#8BC4EF; --card-lav:#C0AAED; --card-mauve:#B774B9; --card-pale:#CDD3F8;
}
.site-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid rgba(83,10,121,.10) !important;
  box-shadow:0 5px 24px rgba(22,57,147,.05);
}
.site-header:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,transparent,rgba(192,170,237,.7) 22%,rgba(32,175,217,.7) 52%,rgba(121,86,180,.7) 78%,transparent);
}
.navlinks a{color:var(--card-blue) !important}.navlinks a:hover{color:var(--card-purple) !important}
.menu{border-color:rgba(83,10,121,.18) !important}.menu span{background:var(--card-purple) !important}
.btn{
  background:linear-gradient(135deg,var(--card-purple),var(--card-mauve)) !important;
  box-shadow:0 10px 26px rgba(83,10,121,.18) !important;
}
.btn:hover{box-shadow:0 13px 30px rgba(83,10,121,.23) !important}
.btn.secondary{background:#fff !important;color:var(--card-blue) !important;border:1px solid rgba(22,57,147,.18) !important}
.hero{
  background:radial-gradient(circle at 18% 18%,rgba(192,170,237,.20),transparent 30%),
             radial-gradient(circle at 47% 85%,rgba(139,196,239,.16),transparent 32%),
             linear-gradient(90deg,#fff 0%,#FCFAFF 46%,#F1F8FF 100%) !important;
}
.eyebrow{color:var(--card-blue) !important}
.hero h1,.page-hero h1,.page-title,.section-head h2,.about-copy h2,
.content-card h2,.content-section h2,.step h3,.service-card h3,.cta h2{color:var(--card-purple) !important}
.hero h1 .pink,.section-head h2 .pink{color:var(--card-mauve) !important}
.hero-lead,.about-copy p,.page-hero p,.content-section p,.content-section ul{color:var(--card-blue) !important}
.hero-visual:after{background:linear-gradient(90deg,rgba(255,255,255,.24),transparent 32%) !important}

.services{background:linear-gradient(180deg,#fff 0%,#FCFBFF 100%) !important}
.service-card{border:1px solid rgba(22,57,147,.09) !important;box-shadow:0 10px 28px rgba(22,57,147,.055) !important}
.service-card:nth-child(1){background:#FCFAFF !important}
.service-card:nth-child(2){background:#F7F3FF !important}
.service-card:nth-child(3){background:#F2FAFE !important}
.service-card:nth-child(4){background:#FAF6FD !important}
.service-icon{background:#F0E8FA !important;color:var(--card-purple) !important}
.service-card:nth-child(2) .service-icon{background:#EAE4FA !important;color:#7956B4 !important}
.service-card:nth-child(3) .service-icon{background:#E5F7FC !important;color:#159FC7 !important}
.service-card:nth-child(4) .service-icon{background:#F1E9FA !important;color:#9A64C7 !important}
.service-card p{color:#566A9B !important}.service-card a{color:var(--card-purple) !important}

.about-band{background:linear-gradient(115deg,rgba(205,211,248,.52),rgba(246,242,253,.92) 48%,rgba(139,196,239,.22)) !important}
.step{background:linear-gradient(180deg,#FBF8FF,#fff) !important;border:1px solid rgba(121,86,180,.12) !important}
.step-num{background:var(--card-purple) !important}.step:nth-child(2) .step-num{background:#7956B4 !important}.step:nth-child(3) .step-num{background:#20AFD9 !important}

.cta{
  background:linear-gradient(160deg,#FAF7FF 0%,#F0ECFC 44%,#EAF8FC 100%) !important;
  border-top:1px solid rgba(83,10,121,.06);
}
.cta:before{height:150px !important;bottom:-92px !important;background:linear-gradient(90deg,#C0AAED,#8BC4EF,#20AFD9) !important;opacity:.34 !important;transform:rotate(2deg) !important}
.cta:after{height:140px !important;bottom:-112px !important;background:linear-gradient(90deg,#7956B4,#C0AAED,#8BC4EF) !important;opacity:.28 !important;transform:rotate(-2deg) !important}
.cta p{color:#425E9D !important}.trust b{color:var(--card-purple) !important}

.page-hero{
  background:radial-gradient(circle at 78% 15%,rgba(192,170,237,.26),transparent 28%),
             linear-gradient(135deg,#fff 0%,#F8F5FD 56%,#ECF8FD 100%) !important;
}
.page-hero .hero-mark{filter:saturate(1.08) contrast(1.02) !important}
.content-card,.contact-card{border:1px solid rgba(22,57,147,.09) !important;box-shadow:0 14px 38px rgba(22,57,147,.08) !important}
.content-card + .content-card{margin-top:18px}
.quote-box{border-left-color:var(--card-purple) !important;background:#F8F3FC !important;color:var(--card-purple) !important}
.subnav a{background:#F0ECFA !important;color:#6843A3 !important;border:1px solid rgba(121,86,180,.08)}
.contact-card a{color:var(--card-purple) !important}

.site-footer{
  position:relative;background:#fff !important;color:var(--card-blue) !important;
  padding:66px 0 28px !important;overflow:hidden;border-top:0 !important;
}
.site-footer:before{
  content:"";position:absolute;left:-6%;right:-6%;top:-78px;height:108px;border-radius:50%;
  background:linear-gradient(90deg,rgba(121,86,180,.70),rgba(192,170,237,.68) 30%,rgba(32,175,217,.66) 62%,rgba(139,196,239,.62));
  transform:rotate(-1deg);
}
.site-footer:after{
  content:"";position:absolute;left:-6%;right:-6%;top:-94px;height:105px;border-radius:50%;
  background:linear-gradient(90deg,rgba(139,196,239,.55),rgba(32,175,217,.58) 38%,rgba(192,170,237,.55) 72%,rgba(121,86,180,.52));
  transform:rotate(1.4deg);
}
.footer-grid,.footer-bottom{position:relative;z-index:2}
.footer-grid{grid-template-columns:1fr !important}
.footer-links{justify-content:center !important;gap:22px !important}
.footer-links a{color:var(--card-blue) !important;font-weight:650}.footer-links a:hover{color:var(--card-purple) !important}
.footer-bottom{border-top:1px solid rgba(22,57,147,.13) !important;color:#6576A4 !important}

a:focus-visible,button:focus-visible{outline:3px solid rgba(32,175,217,.45);outline-offset:3px}
::selection{background:#DDD1F3;color:#3D0960}
@media(max-width:950px){
  .navlinks{border:1px solid rgba(83,10,121,.08) !important;box-shadow:0 16px 40px rgba(22,57,147,.12) !important}
}


/* =========================================================
   v11 — homepage strapline + business-card service colours
   ========================================================= */

/* Swap the strapline colour emphasis:
   Live Lighter becomes the softer mauve; Shine Brighter gets the
   stronger saturated business-card purple. */
.hero h1{
  color:#B774B9 !important;
}
.hero h1 .pink{
  color:#5B087F !important;
  text-shadow:0 1px 0 rgba(83,10,121,.04);
}

/* With the duplicate top-nav CTA removed, let the main navigation breathe. */
.navlinks{
  gap:30px !important;
}
.navlinks > a:not(.btn){
  font-weight:650;
}

/* Shared lotus icon treatment */
.service-icon{
  width:66px !important;
  height:66px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 7px 18px rgba(22,57,147,.07);
}
.service-icon svg{
  width:46px;
  height:46px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2.15;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Business-card activity palette:
   Pelvic = lavender, Menopause = blue, Health Anxiety = aqua,
   Smoking = purple. */
.service-card{
  position:relative;
  overflow:hidden;
  border-width:1px !important;
  border-style:solid !important;
  transition:transform .22s ease, box-shadow .22s ease;
}
.service-card:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:5px;
}
.service-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(22,57,147,.10) !important;
}

/* Health Anxiety — aqua/teal lotus from the business card */
.service-health{
  background:linear-gradient(180deg,#F1FCFC 0%,#FFFFFF 88%) !important;
  border-color:rgba(77,190,188,.25) !important;
}
.service-health:before{background:#63C7C2}
.service-health .service-icon{color:#55BBB8 !important}
.service-health h3,.service-health a{color:#168F92 !important}

/* Pelvic Health — lavender */
.service-pelvic{
  background:linear-gradient(180deg,#F7F3FF 0%,#FFFFFF 88%) !important;
  border-color:rgba(171,145,230,.27) !important;
}
.service-pelvic:before{background:#AD91E5}
.service-pelvic .service-icon{color:#A487DF !important}
.service-pelvic h3,.service-pelvic a{color:#7654B3 !important}

/* Menopause & Perimenopause — clear sky blue */
.service-menopause{
  background:linear-gradient(180deg,#F0F9FF 0%,#FFFFFF 88%) !important;
  border-color:rgba(91,174,234,.26) !important;
}
.service-menopause:before{background:#69B8ED}
.service-menopause .service-icon{color:#58AEE8 !important}
.service-menopause h3,.service-menopause a{color:#2678C4 !important}

/* Smoking & Vaping — purple */
.service-smoking{
  background:linear-gradient(180deg,#FBF4FF 0%,#FFFFFF 88%) !important;
  border-color:rgba(177,112,214,.25) !important;
}
.service-smoking:before{background:#B06FD4}
.service-smoking .service-icon{color:#A65BCB !important}
.service-smoking h3,.service-smoking a{color:#7D3BA6 !important}

.service-card p{
  color:#50628F !important;
}

@media(max-width:950px){
  .navlinks{gap:0 !important}
}


/* =========================================================
   v12 — blue strapline, logo hero and flowing prose subpages
   ========================================================= */

/* Use the two blues from the Lotus Wave identity for the homepage strapline. */
.hero h1{
  color:#163993 !important;
}
.hero h1 .pink{
  color:#20AFD9 !important;
  text-shadow:none !important;
}

/* Replace the photographic lotus hero with the exact, unaltered logo. */
.hero-logo-visual{
  min-height:560px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:58px 54px !important;
  background:
    radial-gradient(circle at 52% 46%,rgba(192,170,237,.22),transparent 37%),
    radial-gradient(circle at 58% 65%,rgba(32,175,217,.13),transparent 34%),
    linear-gradient(145deg,#FFFFFF 0%,#FAF7FF 50%,#EEF9FD 100%) !important;
}
.hero-logo-visual:after{
  display:none !important;
}
.hero-logo-visual img{
  display:block !important;
  width:min(520px,92%) !important;
  height:auto !important;
  max-height:500px !important;
  object-fit:contain !important;
}

/* Specialist pages are now editorial/paragraph layouts rather than card stacks. */
.prose-section{
  background:#fff !important;
  padding:72px 0 84px !important;
}
.prose-content{
  width:min(820px,calc(100% - 40px));
  margin:0 auto;
}
.prose-content > p{
  margin:0 0 24px !important;
  color:#314F8E !important;
  font-size:1.08rem;
  line-height:1.85;
}
.prose-content > p:first-child{
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.42rem;
  line-height:1.55;
  color:#530A79 !important;
}
.prose-action{
  margin:36px 0 42px;
}
.prose-subnav{
  margin-top:28px !important;
  padding-top:30px;
  border-top:1px solid rgba(22,57,147,.12);
}

/* The subpage hero mark should remain fully visible. */
.page-hero .hero-mark{
  object-fit:contain !important;
}

/* Slightly tighter service headings now that two labels are longer. */
.service-card h3{
  line-height:1.16 !important;
}

@media(max-width:900px){
  .hero-logo-visual{
    min-height:420px !important;
    padding:42px 30px !important;
  }
  .hero-logo-visual img{
    width:min(430px,88%) !important;
  }
}
@media(max-width:600px){
  .hero-logo-visual{
    min-height:330px !important;
    padding:30px 20px !important;
  }
  .hero-logo-visual img{
    width:min(320px,90%) !important;
  }
  .prose-section{padding:52px 0 64px !important;}
  .prose-content{width:min(100% - 30px,820px);}
  .prose-content > p{font-size:1rem;}
  .prose-content > p:first-child{font-size:1.25rem;}
}


/* v13 — strapline matched to the supplied business card */
.hero h1.brand-strapline,
.hero h1.brand-strapline span{
  color:#530A79 !important;
  font-family:"Brush Script MT","Segoe Script","Lucida Handwriting",cursive !important;
  font-weight:400 !important;
  font-style:normal !important;
  letter-spacing:-0.025em !important;
  line-height:.96 !important;
  text-shadow:none !important;
}
.hero h1.brand-strapline{
  font-size:clamp(3.4rem,5.8vw,5.7rem) !important;
  margin-bottom:28px !important;
}
.hero h1.brand-strapline span{
  color:#530A79 !important;
}
@media(max-width:600px){
  .hero h1.brand-strapline{
    font-size:clamp(3rem,13vw,4.4rem) !important;
  }
}


/* =========================================================
   v14 — stronger fuchsia/pink Lotus Wave direction
   Blues remain as supporting colours from the logo/card.
   ========================================================= */
:root{
  --fuchsia:#D51B78;
  --fuchsia-deep:#B51267;
  --fuchsia-bright:#EA3D96;
  --fuchsia-soft:#FCEAF4;
  --fuchsia-pale:#FFF5FA;
}

/* Header gets a subtle pink brand wash rather than stark white. */
.site-header{
  background:rgba(255,250,253,.98) !important;
  border-bottom-color:rgba(213,27,120,.13) !important;
}
.site-header:after{
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(213,27,120,.72) 25%,
    rgba(234,61,150,.70) 52%,
    rgba(192,170,237,.62) 78%,
    transparent 100%) !important;
}
.navlinks a:hover{color:var(--fuchsia) !important;}
.menu span{background:var(--fuchsia) !important;}

/* Hero: warmer pink/fuchsia glow while retaining a touch of blue. */
.hero{
  background:
    radial-gradient(circle at 15% 17%,rgba(234,61,150,.15),transparent 31%),
    radial-gradient(circle at 48% 83%,rgba(213,27,120,.10),transparent 34%),
    radial-gradient(circle at 88% 34%,rgba(139,196,239,.13),transparent 30%),
    linear-gradient(90deg,#FFF9FC 0%,#FFF4FA 47%,#F6F8FF 100%) !important;
}
.eyebrow{
  color:var(--fuchsia-deep) !important;
}
.hero h1.brand-strapline,
.hero h1.brand-strapline span{
  color:var(--fuchsia) !important;
}
.hero-lead{color:#314F8E !important;}

/* Make primary calls-to-action unmistakably fuchsia. */
.btn{
  background:linear-gradient(135deg,var(--fuchsia-deep),var(--fuchsia-bright)) !important;
  box-shadow:0 10px 27px rgba(213,27,120,.22) !important;
}
.btn:hover{
  box-shadow:0 14px 32px rgba(213,27,120,.28) !important;
}
.btn.secondary{
  color:var(--fuchsia-deep) !important;
  border-color:rgba(213,27,120,.22) !important;
}

/* Section titles pick up the fuchsia from the lotus petals. */
.section-head h2,
.about-copy h2,
.page-hero h1,
.page-title,
.content-section h2,
.cta h2{
  color:var(--fuchsia-deep) !important;
}

/* Specialist area remains colour coded, but the section itself feels pinker. */
.services{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF7FB 100%) !important;
}
.service-card{
  box-shadow:0 12px 30px rgba(181,18,103,.065) !important;
}
.service-card:hover{
  box-shadow:0 16px 36px rgba(181,18,103,.12) !important;
}

/* Nikki section: more visible blush/fuchsia tone. */
.about-band{
  background:
    radial-gradient(circle at 8% 30%,rgba(234,61,150,.11),transparent 28%),
    linear-gradient(115deg,#FCECF5 0%,#FAF2FB 50%,#EEF7FD 100%) !important;
}

/* Process section: use fuchsia as the main visual anchor. */
.step{
  background:linear-gradient(180deg,#FFF7FB,#FFFFFF) !important;
  border-color:rgba(213,27,120,.12) !important;
}
.step-num{background:var(--fuchsia) !important;}
.step:nth-child(2) .step-num{background:#B774B9 !important;}
.step:nth-child(3) .step-num{background:#20AFD9 !important;}

/* Discovery-call band: stronger pink, but still soft enough for a therapy brand. */
.cta{
  background:
    radial-gradient(circle at 15% 35%,rgba(234,61,150,.14),transparent 30%),
    linear-gradient(155deg,#FFF5FA 0%,#FBEAF4 48%,#F0F5FD 100%) !important;
}
.cta:before{
  background:linear-gradient(90deg,#D51B78,#EA3D96,#C0AAED,#8BC4EF) !important;
  opacity:.38 !important;
}
.cta:after{
  background:linear-gradient(90deg,#B51267,#D51B78,#B774B9,#20AFD9) !important;
  opacity:.26 !important;
}
.trust b{color:var(--fuchsia-deep) !important;}

/* Subpages: bring the same fuchsia identity through consistently. */
.page-hero{
  background:
    radial-gradient(circle at 76% 16%,rgba(234,61,150,.18),transparent 28%),
    radial-gradient(circle at 88% 65%,rgba(139,196,239,.12),transparent 30%),
    linear-gradient(135deg,#FFF9FC 0%,#FFF2F8 55%,#F3F8FD 100%) !important;
}
.prose-content > p:first-child{
  color:var(--fuchsia-deep) !important;
}
.quote-box{
  border-left-color:var(--fuchsia) !important;
  background:#FFF3F9 !important;
  color:var(--fuchsia-deep) !important;
}
.contact-card a{color:var(--fuchsia-deep) !important;}

/* Footer wave now leads with fuchsia and flows into the established blues. */
.site-footer:before{
  background:linear-gradient(90deg,
    rgba(213,27,120,.76),
    rgba(234,61,150,.70) 30%,
    rgba(192,170,237,.66) 58%,
    rgba(32,175,217,.62)) !important;
}
.site-footer:after{
  background:linear-gradient(90deg,
    rgba(181,18,103,.50),
    rgba(213,27,120,.53) 35%,
    rgba(183,116,185,.52) 67%,
    rgba(139,196,239,.50)) !important;
}

::selection{
  background:#F7C6DF !important;
  color:#7D0B49 !important;
}


/* =========================================================
   v15 — aligned to the approved fuchsia business card
   ========================================================= */
:root{
  --brand-fuchsia:#E5007D;
  --brand-fuchsia-deep:#A90A68;
  --brand-fuchsia-bright:#F52A98;
  --brand-purple:#74107F;
  --brand-blue:#1450B8;
  --brand-wave-blue:#026DB7;
  --brand-cyan:#20B8D8;

  /* Business-card specialist colours */
  --focus-pelvic:#FE74CA;
  --focus-menopause:#72C2FD;
  --focus-anxiety:#C18DEE;
  --focus-smoking:#026DB7;
}

/* Stronger fuchsia identity across the site. */
.site-header{
  background:rgba(255,250,253,.98) !important;
  border-bottom-color:rgba(229,0,125,.13) !important;
}
.site-header:after{
  background:linear-gradient(90deg,
    transparent,
    rgba(229,0,125,.82) 24%,
    rgba(245,42,152,.72) 47%,
    rgba(116,16,127,.62) 70%,
    rgba(2,109,183,.55) 88%,
    transparent) !important;
}
.navlinks a{color:var(--brand-blue) !important;}
.navlinks a:hover{color:var(--brand-fuchsia) !important;}

.hero{
  background:
    radial-gradient(circle at 13% 18%,rgba(245,42,152,.17),transparent 30%),
    radial-gradient(circle at 52% 82%,rgba(229,0,125,.10),transparent 33%),
    radial-gradient(circle at 91% 36%,rgba(32,184,216,.12),transparent 29%),
    linear-gradient(90deg,#FFF9FC 0%,#FFF3F9 46%,#F7FAFF 100%) !important;
}
.eyebrow{color:var(--brand-fuchsia-deep) !important;}
.hero-lead{color:#314F8E !important;}

/* Exact strapline treatment taken from the approved business card. */
.hero h1.brand-strapline-art{
  margin:8px 0 28px !important;
  line-height:1 !important;
  max-width:650px;
}
.hero h1.brand-strapline-art img{
  display:block;
  width:min(650px,100%);
  height:auto;
}

/* The approved fuchsia logo is now used in the header and hero. */
.hero-logo-visual{
  background:
    radial-gradient(circle at 48% 42%,rgba(245,42,152,.13),transparent 36%),
    radial-gradient(circle at 62% 67%,rgba(32,184,216,.11),transparent 32%),
    linear-gradient(145deg,#FFFFFF 0%,#FFF7FB 52%,#F2FAFE 100%) !important;
}

/* Fuchsia calls to action. */
.btn{
  background:linear-gradient(135deg,var(--brand-fuchsia-deep),var(--brand-fuchsia-bright)) !important;
  box-shadow:0 11px 28px rgba(229,0,125,.23) !important;
}
.btn:hover{box-shadow:0 15px 34px rgba(229,0,125,.30) !important;}
.btn.secondary{
  background:#fff !important;
  color:var(--brand-fuchsia-deep) !important;
  border-color:rgba(229,0,125,.22) !important;
}

/* Headings mirror the fuchsia/purple headline treatment on the card. */
.section-head h2,
.about-copy h2,
.page-hero h1,
.page-title,
.content-section h2,
.cta h2{
  color:var(--brand-purple) !important;
}
.section-head h2 .pink,
.hero h1 .pink{
  color:var(--brand-fuchsia) !important;
}

/* Focus areas: exact business-card colour mapping.
   Pelvic = pink, Menopause = light blue, Health Anxiety = lavender,
   Smoking/Vaping = dark wave blue. */
.services{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF7FB 100%) !important;
}
.service-card{
  background:#fff !important;
  border:1px solid rgba(20,80,184,.08) !important;
  box-shadow:0 12px 30px rgba(169,10,104,.06) !important;
}
.service-card:hover{
  box-shadow:0 17px 38px rgba(169,10,104,.11) !important;
}
.service-card h3,
.service-card a{
  color:var(--brand-blue) !important;
}
.service-card p{color:#50628F !important;}

.service-icon{
  width:62px !important;
  height:62px !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.service-icon svg{
  width:58px !important;
  height:58px !important;
  fill:currentColor !important;
  stroke:#fff !important;
  stroke-width:1.15 !important;
}

.service-pelvic{
  background:linear-gradient(180deg,#FFF7FC 0%,#FFFFFF 88%) !important;
  border-color:rgba(254,116,202,.25) !important;
}
.service-pelvic:before{background:var(--focus-pelvic) !important;}
.service-pelvic .service-icon{color:var(--focus-pelvic) !important;}

.service-menopause{
  background:linear-gradient(180deg,#F6FBFF 0%,#FFFFFF 88%) !important;
  border-color:rgba(114,194,253,.28) !important;
}
.service-menopause:before{background:var(--focus-menopause) !important;}
.service-menopause .service-icon{color:var(--focus-menopause) !important;}

.service-health{
  background:linear-gradient(180deg,#FBF8FF 0%,#FFFFFF 88%) !important;
  border-color:rgba(193,141,238,.27) !important;
}
.service-health:before{background:var(--focus-anxiety) !important;}
.service-health .service-icon{color:var(--focus-anxiety) !important;}

.service-smoking{
  background:linear-gradient(180deg,#F5F9FE 0%,#FFFFFF 88%) !important;
  border-color:rgba(2,109,183,.24) !important;
}
.service-smoking:before{background:var(--focus-smoking) !important;}
.service-smoking .service-icon{color:var(--focus-smoking) !important;}

/* Supporting sections keep the calm clinical feel but carry more pink. */
.about-band{
  background:
    radial-gradient(circle at 8% 30%,rgba(245,42,152,.13),transparent 28%),
    linear-gradient(115deg,#FCEBF5 0%,#FBF3FB 48%,#EFF8FD 100%) !important;
}
.step{
  background:linear-gradient(180deg,#FFF7FB,#FFFFFF) !important;
  border-color:rgba(229,0,125,.12) !important;
}
.step-num{background:var(--brand-fuchsia) !important;}
.step:nth-child(2) .step-num{background:#B774D2 !important;}
.step:nth-child(3) .step-num{background:var(--brand-wave-blue) !important;}

.cta{
  background:
    radial-gradient(circle at 15% 35%,rgba(245,42,152,.16),transparent 30%),
    linear-gradient(155deg,#FFF5FA 0%,#FCE8F4 48%,#EEF7FD 100%) !important;
}
.cta:before{
  background:linear-gradient(90deg,#E5007D,#F52A98,#C18DEE,#72C2FD,#026DB7) !important;
  opacity:.40 !important;
}
.cta:after{
  background:linear-gradient(90deg,#A90A68,#E5007D,#B774D2,#20B8D8) !important;
  opacity:.28 !important;
}
.trust b{color:var(--brand-fuchsia-deep) !important;}

/* Subpages use the same approved fuchsia lotus/wave mark. */
.page-hero{
  background:
    radial-gradient(circle at 77% 17%,rgba(245,42,152,.18),transparent 28%),
    radial-gradient(circle at 89% 67%,rgba(32,184,216,.11),transparent 29%),
    linear-gradient(135deg,#FFF9FC 0%,#FFF1F8 54%,#F2F9FD 100%) !important;
}
.prose-content > p:first-child{color:var(--brand-purple) !important;}
.quote-box{
  border-left-color:var(--brand-fuchsia) !important;
  background:#FFF3F9 !important;
  color:var(--brand-purple) !important;
}
.contact-card a{color:var(--brand-fuchsia-deep) !important;}

/* Footer waves now echo the pink/purple/blue business-card wave band. */
.site-footer:before{
  background:linear-gradient(90deg,
    rgba(229,0,125,.78),
    rgba(245,42,152,.72) 28%,
    rgba(193,141,238,.66) 53%,
    rgba(114,194,253,.64) 76%,
    rgba(2,109,183,.60)) !important;
}
.site-footer:after{
  background:linear-gradient(90deg,
    rgba(169,10,104,.50),
    rgba(229,0,125,.54) 34%,
    rgba(183,116,210,.52) 62%,
    rgba(32,184,216,.50)) !important;
}
.footer-links a:hover{color:var(--brand-fuchsia) !important;}

::selection{
  background:#F8C5E0 !important;
  color:#7D0A4E !important;
}

@media(max-width:700px){
  .hero h1.brand-strapline-art{
    max-width:100%;
    margin-bottom:24px !important;
  }
  .hero h1.brand-strapline-art img{
    width:100%;
  }
}


/* =========================================================
   v16 — exact business-card icons, two-line strapline,
         and business-card footer wave
   ========================================================= */

/* Larger two-line strapline using the exact script artwork from the card. */
.hero h1.brand-strapline-art{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
  width:min(650px,100%) !important;
  max-width:650px !important;
  margin:6px 0 30px !important;
}
.hero h1.brand-strapline-art .tagline-line{
  display:block !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.hero h1.brand-strapline-art .tagline-live{
  width:min(420px,82%) !important;
}
.hero h1.brand-strapline-art .tagline-shine{
  width:min(500px,96%) !important;
  margin-left:42px !important;
}

/* Exact lotus icons lifted from the approved business card.
   No CSS recolouring: each icon retains the precise card colour. */
.service-icon{
  width:68px !important;
  height:62px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.service-icon img{
  display:block !important;
  width:64px !important;
  height:58px !important;
  object-fit:contain !important;
}
.service-icon svg{display:none !important;}

/* Match the specialist accent bars to the exact business-card icon families. */
.service-pelvic:before{background:#F35ABC !important;}
.service-menopause:before{background:#64B5F3 !important;}
.service-health:before{background:#B181E4 !important;}
.service-smoking:before{background:#0879BE !important;}

/* Smoking/Vaping now uses the same clear dark blue as the card, not purple. */
.service-smoking{
  border-color:rgba(8,121,190,.24) !important;
  background:linear-gradient(180deg,#F4FAFE 0%,#FFFFFF 88%) !important;
}
.service-smoking .service-icon{color:#0879BE !important;}

/* Replace the abstract CSS footer waves with the actual business-card wave artwork. */
.site-footer{
  position:relative !important;
  background:#fff !important;
  padding:60px 0 165px !important;
  overflow:hidden !important;
}
.site-footer:before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  height:155px !important;
  border-radius:0 !important;
  transform:none !important;
  opacity:1 !important;
  background-image:url("assets/business-card-footer-wave.png") !important;
  background-size:100% 100% !important;
  background-position:center bottom !important;
  background-repeat:no-repeat !important;
}
.site-footer:after{
  display:none !important;
}
.footer-grid,.footer-bottom{
  position:relative !important;
  z-index:2 !important;
}

@media(max-width:700px){
  .hero h1.brand-strapline-art{
    width:100% !important;
    gap:0 !important;
  }
  .hero h1.brand-strapline-art .tagline-live{
    width:min(360px,84%) !important;
  }
  .hero h1.brand-strapline-art .tagline-shine{
    width:min(420px,98%) !important;
    margin-left:20px !important;
  }
  .site-footer{
    padding-bottom:125px !important;
  }
  .site-footer:before{
    height:112px !important;
    background-size:cover !important;
  }
}


/* =========================================================
   v17 — clean transparent icons, repaired footer, unclipped strapline
   ========================================================= */

/* Give the exact business-card lettering enough room so no strokes are clipped. */
.hero h1.brand-strapline-art{
  overflow:visible !important;
  width:min(700px,100%) !important;
  max-width:700px !important;
  gap:8px !important;
  padding:8px 10px 10px 2px !important;
  margin:0 0 28px !important;
}
.hero h1.brand-strapline-art .tagline-line{
  overflow:visible !important;
  object-fit:contain !important;
  object-position:left center !important;
}
.hero h1.brand-strapline-art .tagline-live{
  width:min(500px,88%) !important;
  margin-left:0 !important;
}
.hero h1.brand-strapline-art .tagline-shine{
  width:min(555px,96%) !important;
  margin-left:34px !important;
}

/* The card lotus assets now have real alpha transparency.
   Keep their containers transparent too. */
.service-icon,
.service-icon img{
  background:transparent !important;
}
.service-icon{
  overflow:visible !important;
}
.service-icon img{
  width:66px !important;
  height:60px !important;
  object-fit:contain !important;
}

/* Footer: clean white legal area with one controlled layered-wave asset.
   This replaces every previous footer pseudo-wave treatment. */
.site-footer{
  position:relative !important;
  background:#fff !important;
  color:#1450B8 !important;
  padding:38px 0 145px !important;
  overflow:hidden !important;
}
.site-footer:before{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  top:auto !important;
  width:100% !important;
  height:120px !important;
  border-radius:0 !important;
  transform:none !important;
  opacity:1 !important;
  background:url("assets/footer-waves.svg") center bottom / 100% 100% no-repeat !important;
}
.site-footer:after{
  content:none !important;
  display:none !important;
  background:none !important;
}
.footer-grid{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  min-height:0 !important;
  margin:0 auto !important;
  position:relative !important;
  z-index:2 !important;
}
.footer-grid > div:first-child{
  display:none !important;
}
.footer-links.legal-links{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:28px !important;
  margin:0 !important;
}
.footer-links.legal-links a{
  color:#74107F !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
.footer-links.legal-links a:hover{
  color:#E5007D !important;
}
.footer-bottom{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px 24px !important;
  margin-top:20px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(116,16,127,.12) !important;
  color:#6576A4 !important;
  text-align:center !important;
}
.legal-page-hero{
  min-height:430px;
}

@media(max-width:700px){
  .hero h1.brand-strapline-art{
    width:100% !important;
    padding-right:4px !important;
  }
  .hero h1.brand-strapline-art .tagline-live{
    width:min(430px,94%) !important;
  }
  .hero h1.brand-strapline-art .tagline-shine{
    width:min(470px,100%) !important;
    margin-left:12px !important;
  }
  .site-footer{
    padding-bottom:110px !important;
  }
  .site-footer:before{
    height:88px !important;
    background-size:cover !important;
  }
  .footer-links.legal-links{
    gap:20px !important;
  }
}


/* v18 — specialist lotus artwork has a genuinely transparent background */
.service-icon,
.service-icon img{
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
}


/* =========================================================
   v19 — contact CTA, other hypnotherapy page and pricing
   ========================================================= */

/* Make Contact the clear top-right call-to-action. */
.navlinks a.nav-contact{
  color:#fff !important;
  min-height:42px !important;
  padding:0 19px !important;
  margin-left:2px;
  border-radius:999px !important;
  background:linear-gradient(135deg,var(--brand-fuchsia-deep),var(--brand-fuchsia-bright)) !important;
  box-shadow:0 9px 22px rgba(229,0,125,.20) !important;
}
.navlinks a.nav-contact:hover{
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 12px 26px rgba(229,0,125,.27) !important;
}

/* With two additional navigation items, tighten desktop spacing slightly. */
@media(min-width:951px){
  .navlinks{gap:18px !important;}
  .navlinks > a:not(.btn){font-size:13px !important;}
}

/* Homepage link beneath the four core specialist areas. */
.other-areas-prompt{
  max-width:760px;
  margin:34px auto 0;
  padding-top:28px;
  border-top:1px solid rgba(116,16,127,.12);
  text-align:center;
}
.other-areas-prompt p{
  margin:0 auto 18px;
  color:#50628F;
  font-size:16px;
}

/* Flowing prose headings for the new broader-support page. */
.prose-content h2{
  margin:38px 0 10px !important;
  color:var(--brand-purple) !important;
  font-size:30px !important;
}
.prose-content h2 + p{
  margin-top:0 !important;
}

/* Pricing is intentionally open and editorial rather than a stack of cards. */
.pricing-section{
  background:linear-gradient(180deg,#fff 0%,#fff9fc 100%);
}
.pricing-list{
  width:min(900px,100%);
  margin:0 auto;
  border-top:1px solid rgba(116,16,127,.16);
}
.pricing-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:40px;
  align-items:start;
  padding:30px 4px;
  border-bottom:1px solid rgba(116,16,127,.16);
}
.pricing-row h2{
  margin:0 0 8px !important;
  font-size:28px !important;
  color:var(--brand-purple) !important;
}
.pricing-row p{
  max-width:680px;
  margin:0;
  color:#50628F !important;
}
.price{
  min-width:110px;
  text-align:right;
  font-family:Georgia,'Times New Roman',serif;
  font-size:34px;
  line-height:1.1;
  color:var(--brand-fuchsia-deep);
  font-weight:600;
}
.pricing-cta{
  width:min(900px,100%);
  margin:34px auto 0;
  text-align:center;
}
.pricing-cta p{
  margin:0 auto 18px;
  max-width:650px;
}

/* Mobile navigation keeps the Contact CTA full-width and obvious. */
@media(max-width:950px){
  .navlinks a.nav-contact{
    width:100%;
    margin:8px 0 0 !important;
  }
}
@media(max-width:600px){
  .pricing-row{
    grid-template-columns:1fr;
    gap:12px;
    padding:25px 0;
  }
  .price{
    text-align:left;
    font-size:31px;
  }
}


/* =========================================================
   v20 — updated Nikki portrait and simplified About page
   ========================================================= */
.about-hero-portrait{
  width:min(390px,38vw);
  justify-self:end;
  align-self:center;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 44px rgba(65,35,94,.13);
}
.about-hero-portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1 / 1.08;
  object-fit:cover;
  object-position:center 22%;
}
.about-story-section{
  padding:76px 0 86px !important;
  background:#fff !important;
}
.about-story{
  width:min(820px,calc(100% - 40px));
  margin:0 auto;
}
.about-story h2{
  margin:0 0 24px !important;
  color:var(--brand-purple,#74107F) !important;
}
.about-story > p:not(.eyebrow){
  margin:0 0 24px;
  color:#314F8E;
  font-size:1.08rem;
  line-height:1.85;
}
.about-story .subnav{
  margin-top:38px;
  padding-top:30px;
  border-top:1px solid rgba(116,16,127,.12);
}
@media(max-width:850px){
  .about-hero-portrait{
    width:min(390px,78vw);
    justify-self:center;
    margin-top:28px;
  }
}
@media(max-width:600px){
  .about-story-section{padding:54px 0 64px !important;}
  .about-story{width:min(100% - 30px,820px);}
  .about-story > p:not(.eyebrow){font-size:1rem;}
}


/* v23 — simplified Contact hero */
.contact-page-hero .wrap{
  grid-template-columns:minmax(0,760px) !important;
  justify-content:start !important;
}
.contact-page-hero .wrap > div{
  max-width:760px !important;
}


/* =========================================================
   v24 — repaired subpage mark, testimonials and privacy statement
   ========================================================= */

/* The repaired mark has extra breathing room below the wave so it is never cut off. */
.page-hero .hero-mark{
  width:min(300px,100%) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:4px 0 10px !important;
  box-sizing:border-box !important;
}

/* Keep the expanded desktop navigation comfortable with the new Testimonials tab. */
@media(min-width:951px){
  .navlinks{gap:12px !important;}
  .navlinks > a:not(.btn){font-size:12.5px !important; white-space:nowrap;}
  .navlinks a.nav-contact{padding-left:16px !important;padding-right:16px !important;}
}

/* Testimonials are presented as open editorial sections, not boxed cards. */
.testimonials-section{background:#fff !important;padding:72px 0 88px !important;}
.testimonials-list{width:min(900px,calc(100% - 40px));}
.testimonial-entry{padding:0 0 52px;margin:0 0 52px;border-bottom:1px solid rgba(116,16,127,.14);}
.testimonial-entry:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.testimonial-entry h2{font-family:var(--serif);font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.12;color:var(--brand-purple);margin:0 0 24px;}
.testimonial-entry p{font-size:1.08rem;line-height:1.85;color:#314F8E;margin:0 0 22px;}
.testimonial-entry p:last-child{margin-bottom:0;}

/* Long-form privacy statement styling. */
.legal-content-section{background:#fff !important;padding:66px 0 88px !important;}
.legal-content{width:min(900px,calc(100% - 40px));margin:0 auto;}
.legal-content h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.16;color:var(--brand-purple);margin:48px 0 16px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content h3{font-size:1.2rem;color:var(--brand-fuchsia-deep);margin:28px 0 10px;}
.legal-content p,.legal-content li{font-size:1rem;line-height:1.78;color:#314F8E;}
.legal-content p{margin:0 0 16px;}
.legal-content ul{margin:4px 0 22px;padding-left:24px;}
.legal-content li{margin:0 0 8px;}
.legal-content a{color:var(--brand-fuchsia-deep);font-weight:700;}

@media(max-width:600px){
  .page-hero .hero-mark{width:min(280px,78vw) !important;}
  .testimonials-section,.legal-content-section{padding:52px 0 64px !important;}
  .testimonials-list,.legal-content{width:min(100% - 30px,900px);}
  .testimonial-entry p{font-size:1rem;}
}


/* =========================================================
   v26 — full, uncropped header logo (including decorative dot)
   ========================================================= */
.site-header .navbar{
  min-height:124px !important;
  height:124px !important;
  padding-top:5px !important;
  padding-bottom:5px !important;
}
.site-header .brand{
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  height:114px !important;
  flex:0 0 150px !important;
  overflow:visible !important;
  align-items:center !important;
}
.site-header .brand .full-logo,
.site-header .brand img{
  display:block !important;
  width:124px !important;
  max-width:124px !important;
  height:112px !important;
  max-height:112px !important;
  object-fit:contain !important;
  object-position:center !important;
}
@media(max-width:950px){
  .site-header .navbar{min-height:106px !important;height:106px !important;padding:5px 0 !important;}
  .site-header .brand{width:125px !important;min-width:125px !important;max-width:125px !important;height:96px !important;flex-basis:125px !important;}
  .site-header .brand .full-logo,.site-header .brand img{width:108px !important;max-width:108px !important;height:94px !important;max-height:94px !important;}
  .navlinks{top:106px !important;}
}
@media(max-width:600px){
  .site-header .navbar{min-height:94px !important;height:94px !important;padding:5px 0 !important;}
  .site-header .brand{width:112px !important;min-width:112px !important;max-width:112px !important;height:84px !important;flex-basis:112px !important;}
  .site-header .brand .full-logo,.site-header .brand img{width:96px !important;max-width:96px !important;height:82px !important;max-height:82px !important;}
  .navlinks{top:94px !important;}
}
/* Website terms use the same calm editorial typography as the Privacy Statement. */
.legal-content .legal-intro{font-size:1.1rem;line-height:1.8;color:var(--brand-purple,#74107F) !important;margin-bottom:34px;}
.legal-page-hero .legal-updated{font-size:.98rem;color:#526693 !important;margin-top:22px;}

/* V28: Privacy analytics choice */
.analytics-choice{margin:22px 0 30px;padding:22px 24px;border:1px solid rgba(116,16,127,.14);border-radius:18px;background:#fbf9fd;}
.analytics-choice .btn{cursor:pointer;}
.analytics-choice p{margin:14px 0 0 !important;font-size:.95rem !important;}

/* =========================================================
   v29 — subpage Lotus Wave mark: full wave curve + clipping guard
   ========================================================= */
.page-hero,
.page-hero .wrap{
  overflow:visible !important;
}
.page-hero .hero-mark{
  display:block !important;
  width:min(320px,100%) !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
  padding:0 !important;
  overflow:visible !important;
  clip-path:none !important;
}
@media(max-width:600px){
  .page-hero .hero-mark{
    width:min(290px,80vw) !important;
  }
}
