/*
Theme Name: Willow & Olive V93 Services Section Correct
Theme URI: https://willowandolivecounselling.co.uk
Author: OpenAI
Description: A warm, elegant, mobile-first WordPress theme for Willow & Olive Counselling.
].0-heading-tiny-raise
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
Text Domain: willow-olive-services-section-v34-heading-raised-1780150445
*/

:root{
  --ivory:#f7f4ee;
  --cream:#fffaf2;
  --linen:#eee7dc;
  --sage:#aab59b;
  --sage-soft:#dfe5d5;
  --olive:#5e6b4e;
  --deep-olive:#56624a;
  --gold:#c6a46a;
  --charcoal:#4d4f46;
  --muted:#7d7a70;
  --white:#ffffff;
  --shadow:0 24px 70px rgba(63,73,51,.14);
  --shadow-soft:0 14px 40px rgba(63,73,51,.09);
  --radius:30px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ivory);
  color:var(--charcoal);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
::selection{background:rgba(198,164,106,.28)}

.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,238,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(94,107,78,.10);
  box-shadow:0 6px 24px rgba(63,73,51,.045);
}
body.admin-bar .site-header{top:32px}
.header-inner{
  max-width:1180px;margin:0 auto;padding:0px 22px;
  min-height:48px;
  display:flex;align-items:center;justify-content:space-between;gap:22px;
}
.brand-spacer{flex:1;min-width:120px;height:1px}
.brand,.brand-main-logo,.brand-wordmark{display:none}
.nav-toggle{display:none;border:0;background:var(--deep-olive);color:var(--cream);border-radius:999px;padding:10px 14px;font-size:15px;font-weight:700}
.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:24px;color:var(--deep-olive);font-size:15px;font-weight:650;flex:0 1 auto;margin-left:auto}
.primary-nav a{opacity:.9;transition:.18s ease;white-space:nowrap}.primary-nav a:hover{opacity:1;color:var(--gold)}
.nav-cta{background:var(--deep-olive);color:var(--cream)!important;padding:12px 20px;border-radius:999px;box-shadow:0 12px 28px rgba(63,73,51,.18)}

.hero{position:relative;overflow:hidden;padding:42px 22px 58px;background:radial-gradient(circle at 84% 18%,rgba(198,164,106,.16),transparent 26%),linear-gradient(135deg,var(--ivory),#fffdf8)}
.hero::before{content:"";position:absolute;inset:0;background:url('assets/images/olive-border.jpg') top center/cover no-repeat;opacity:.16;pointer-events:none}
.hero::after{content:"";position:absolute;right:-90px;bottom:-160px;width:420px;height:420px;border-radius:999px;background:rgba(170,181,155,.22);filter:blur(3px);pointer-events:none}
.hero-inner{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;z-index:1}
.hero .reveal:first-child{display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-logo{width:min(330px,70vw);height:auto;margin:0 auto 28px;object-fit:contain;object-position:center center;filter:drop-shadow(0 10px 22px rgba(63,73,51,.04));background:transparent;border:0;box-shadow:none;border-radius:0;mix-blend-mode:multiply}
.hero .lead{margin-left:auto;margin-right:auto}
.hero .button-row{justify-content:center}
.hero .brand-chip{margin-left:auto;margin-right:auto}
.eyebrow{font-size:19px;text-transform:none;letter-spacing:.015em;color:var(--gold);font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;margin:0 0 16px;line-height:1.08}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--deep-olive);line-height:1.05;margin:0}
h1{font-size:clamp(36px,4.7vw,58px);font-weight:600;letter-spacing:-.032em}
h2{font-size:clamp(36px,5vw,60px);font-weight:600;letter-spacing:-.025em}
h3{font-size:30px;font-weight:600}
.lead{font-size:clamp(18px,2vw,22px);color:var(--muted);max-width:670px;margin:22px 0 0}
.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:800;border:1px solid transparent;transition:.2s ease;cursor:pointer}
.btn-primary{background:var(--deep-olive);color:var(--cream);box-shadow:0 18px 36px rgba(63,73,51,.22)}
.btn-secondary{border-color:rgba(94,107,78,.28);color:var(--deep-olive);background:rgba(255,255,255,.62)}
.btn:hover{transform:translateY(-2px)}
.hero-card{background:rgba(255,250,242,.92);border:1px solid rgba(198,164,106,.28);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);position:relative}
.hero-card::before{content:"";position:absolute;left:-18px;top:34px;width:64px;height:64px;border-radius:999px;background:rgba(198,164,106,.22);z-index:-1}
.hero-card img{border-radius:24px;aspect-ratio:4/5;object-fit:cover;width:100%}
.hero-note{margin:18px 4px 2px;color:var(--muted);font-size:15px}
.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1180px;margin:34px auto 0;position:relative;z-index:2}
.trust-item{background:rgba(255,250,242,.74);border:1px solid rgba(94,107,78,.12);border-radius:18px;padding:14px 16px;color:var(--deep-olive);font-weight:750;text-align:center;box-shadow:var(--shadow-soft)}


.brand-motif{position:relative;overflow:hidden}

.wo-theme-mark{
  position:absolute;
  z-index:0;
  pointer-events:none;
  user-select:none;
}
.wo-theme-mark img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:999px;
  opacity:.105;
  filter:saturate(.9);
}
.wo-theme-mark.hero-mark{
  left:clamp(22px,5.5vw,82px);
  top:clamp(42px,7vw,86px);
  width:clamp(74px,8vw,118px);
  height:clamp(74px,8vw,118px);
  z-index:0;
}
.wo-theme-mark.hero-mark img{
  opacity:.075;
  filter:saturate(.82) contrast(.9);
}
.wo-theme-mark.about-mark{left:5%;bottom:42px;width:96px;height:96px}
.wo-theme-mark.how-mark{right:8%;top:54px;width:86px;height:86px}
.wo-theme-mark.contact-mark{left:8%;top:70px;width:78px;height:78px}
.section > .container, .hero-inner, .trust-strip, .contact-wrap{position:relative;z-index:1}
.brand-motif::after{
  content:"";
  position:absolute;
  width:155px;
  height:155px;
  right:22px;
  bottom:18px;
  background:url('assets/images/intro-logo.jpg') center/contain no-repeat;
  opacity:.038;
  pointer-events:none;
}
.brand-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,250,242,.74);
  border:1px solid rgba(198,164,106,.26);
  color:var(--deep-olive);
  font-size:14px;
  font-weight:750;
}
.brand-chip img{width:34px;height:34px;border-radius:999px;object-fit:cover}
.section-mark{display:flex;justify-content:center;margin:0 auto 20px}
.section-mark img{width:58px;height:58px;border-radius:999px;object-fit:cover;border:1px solid rgba(198,164,106,.35);box-shadow:0 10px 24px rgba(63,73,51,.08)}

.section{padding:82px 22px}.section-soft{background:var(--cream)}
.container{max-width:1180px;margin:0 auto}.narrow{max-width:820px;text-align:center}
.section-intro{font-size:18px;color:var(--muted);margin:18px auto 0;max-width:760px}
.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center}
.split.reverse{grid-template-columns:1.05fr .95fr}
.copy p{color:var(--muted);font-size:18px}.copy p:last-child{margin-bottom:0}
.image-panel{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(198,164,106,.24);background:var(--linen)}
.image-panel img{width:100%;aspect-ratio:4/3;object-fit:cover}
.quote-box{margin-top:26px;padding:24px 26px;border-left:4px solid var(--gold);background:rgba(255,250,242,.84);border-radius:0 22px 22px 0;color:var(--deep-olive);font-family:"Cormorant Garamond",Georgia,serif;font-size:29px;line-height:1.25}

.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.service{padding:25px;border-radius:24px;background:rgba(255,250,242,.72);border:1px solid rgba(94,107,78,.13);box-shadow:0 12px 32px rgba(63,73,51,.07);transition:.2s ease;position:relative;overflow:hidden}
.service::before{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:999px;background:rgba(170,181,155,.16)}
.service:hover{transform:translateY(-4px);border-color:rgba(198,164,106,.42)}
.service strong{display:block;color:var(--deep-olive);font-size:19px;margin-bottom:8px}.service span{color:var(--muted)}
.icon-dot{width:42px;height:42px;border-radius:999px;background:rgba(198,164,106,.18);display:grid;place-items:center;margin-bottom:16px;color:var(--deep-olive);font-weight:900}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.card{background:rgba(255,255,255,.72);border:1px solid rgba(94,107,78,.13);border-radius:26px;padding:31px;box-shadow:0 15px 35px rgba(63,73,51,.08)}
.card-number{width:46px;height:46px;border-radius:999px;background:rgba(198,164,106,.2);display:grid;place-items:center;color:var(--deep-olive);font-weight:900;margin-bottom:18px}
.card p{color:var(--muted);margin:12px 0 0}

.reassurance{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(94,107,78,.08),rgba(198,164,106,.11)),var(--ivory)}
.reassurance::before{content:"";position:absolute;inset:0;background:url('assets/images/leaf-shadow.jpg') center/cover no-repeat;opacity:.12}
.reassurance .container{position:relative;text-align:center;max-width:930px}
.reassurance h2{font-size:clamp(40px,5.4vw,68px)}
.reassurance p{font-size:20px;color:var(--muted);max-width:760px;margin:22px auto 0}

.fees-box{background:var(--deep-olive);color:var(--cream);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.fees-box::after{content:"";position:absolute;inset:0;background:url('assets/images/olive-pattern.jpg') center/cover no-repeat;opacity:.08}
.fees-box > *{position:relative}.fees-box h3{color:var(--cream)}.fees-box p{color:rgba(255,250,242,.82)}
.fees-list{display:grid;gap:12px;margin-top:20px}.fees-list div{padding:14px 16px;border-radius:17px;background:rgba(255,250,242,.1);border:1px solid rgba(255,250,242,.14)}

.cta{margin:72px 22px;background:linear-gradient(135deg,var(--deep-olive),var(--olive));color:var(--cream);border-radius:36px;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;inset:0;background:url('assets/images/olive-pattern.jpg') center/cover no-repeat;opacity:.09}
.cta-inner{position:relative;max-width:980px;margin:0 auto;text-align:center;padding:68px 24px}
.cta h2{color:var(--cream)}.cta p{color:rgba(255,250,242,.84);font-size:18px}.cta .btn-primary{background:var(--cream);color:var(--deep-olive)}

.contact-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;margin-top:36px}.contact-card{background:var(--white);border-radius:26px;padding:32px;border:1px solid rgba(94,107,78,.13);box-shadow:0 15px 35px rgba(63,73,51,.07)}
.contact-row{display:flex;gap:12px;margin:14px 0;color:var(--muted)}
.contact-row strong{color:var(--deep-olive)}
.form-placeholder{display:grid;gap:12px}.form-placeholder input,.form-placeholder textarea{width:100%;border:1px solid rgba(94,107,78,.18);border-radius:17px;padding:14px 15px;background:#fff;color:var(--charcoal);font:inherit}.form-placeholder textarea{min-height:142px}.smallprint{font-size:13px;color:var(--muted);margin-top:18px}

.site-footer{padding:38px 22px;background:#eeeadf;color:var(--muted)}.footer-inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:14px}.footer-seal{width:54px;height:54px;border-radius:999px;object-fit:cover;border:1px solid rgba(198,164,106,.4)}.footer-inner strong{color:var(--deep-olive)}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer-links a{color:var(--deep-olive);font-weight:700}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:980px){.service-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){
 body.admin-bar .site-header{top:46px}
 .brand-spacer{flex:1;min-width:0}.nav-toggle{display:inline-flex;margin-left:auto}.primary-nav{display:none;position:absolute;left:16px;right:16px;top:64px;background:var(--cream);border:1px solid rgba(94,107,78,.14);border-radius:22px;padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.primary-nav.is-open{display:flex}.primary-nav a{padding:8px 4px}.hero{padding-top:34px}.hero-inner,.split,.split.reverse,.contact-wrap{grid-template-columns:1fr}.grid-3,.service-list,.trust-strip{grid-template-columns:1fr}h1{font-size:38px}.hero-logo{width:min(285px,76vw);margin-bottom:22px}.section{padding:58px 20px}.hero-card img{aspect-ratio:16/11}.cta{margin:48px 18px}.trust-strip{margin-top:26px}.header-inner{padding:4px 16px;min-height:58px}.hero{padding-left:18px;padding-right:18px}.button-row .btn{width:100%}
  .wo-theme-mark.hero-mark{left:18px;top:24px;width:70px;height:70px}
  .wo-theme-mark.hero-mark img{opacity:.06}

}



/* v35 approved settled-homepage refinement
   Important: these rules do not alter the 3-second intro splash. */
:root{
  --ivory:#fbf6eb;
  --cream:#fff9ee;
  --linen:#f1eadc;
}

.site-header{
  background:rgba(251,246,235,.94);
  border-bottom:1px solid rgba(198,164,106,.16);
  box-shadow:0 8px 28px rgba(63,73,51,.035);
}
.header-inner{
  max-width:1180px;
  min-height:72px;
  padding:13px clamp(18px,4vw,38px);
}
.brand,.brand-main-logo,.brand-wordmark,.brand-spacer{display:none!important;}
.primary-nav{margin-left:auto;}
.nav-toggle{
  display:none;
  border:1px solid rgba(198,164,106,.34);
  background:rgba(255,249,238,.64);
  color:var(--deep-olive);
  border-radius:999px;
  padding:15px 34px;
  font-size:18px;
  font-weight:800;
  box-shadow:0 16px 40px rgba(198,164,106,.13);
}

.hero{
  position:relative;
  min-height:calc(100svh - 72px);
  padding:clamp(86px,11vh,128px) 22px clamp(74px,9vh,110px);
  overflow:hidden;
  background:
    radial-gradient(circle at 48% 34%, rgba(255,252,246,.70), rgba(255,252,246,.10) 42%, transparent 65%),
    linear-gradient(180deg,#fbf6eb 0%,#fff8ed 48%,#fbf4e8 100%);
}
.hero::before{
  content:"";
  position:absolute;
  inset:-5% -3%;
  z-index:0;
  pointer-events:none;
  background:
    url('assets/images/olive-border.jpg') top center / 116% auto no-repeat,
    url('assets/images/olive-border.jpg') bottom center / 116% auto no-repeat;
  opacity:.13;
  filter:blur(.7px) saturate(.74) contrast(.82);
  mix-blend-mode:multiply;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(255,249,238,.50) 0%, rgba(255,249,238,.28) 30%, rgba(255,249,238,.08) 53%, transparent 73%),
    linear-gradient(90deg, rgba(251,246,235,.12) 0%, transparent 17%, transparent 83%, rgba(251,246,235,.12) 100%);
}
.hero-inner{
  position:relative;
  z-index:1;
  max-width:920px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:0;
  text-align:center;
}
.hero .reveal:first-child{
  position:relative;
  width:100%;
  max-width:860px;
  margin:0 auto;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.hero .reveal:first-child::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(92vw,860px);
  height:70%;
  transform:translate(-50%,-45%);
  z-index:-1;
  background:radial-gradient(ellipse at center, rgba(255,249,238,.78) 0%, rgba(255,249,238,.45) 45%, rgba(255,249,238,0) 74%);
  filter:blur(8px);
  pointer-events:none;
}
.hero-logo{
  width:min(500px,76vw);
  margin:0 auto clamp(76px,9vh,104px);
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 14px 26px rgba(63,73,51,.035));
  mix-blend-mode:multiply;
}
.hero h1{
  max-width:860px;
  margin:0 auto;
  font-size:clamp(54px,8vw,92px);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.035em;
  color:var(--deep-olive);
  text-shadow:0 1px 18px rgba(255,249,238,.76);
}
.hero .lead,
.hero .button-row,
.hero .brand-chip,
.hero-visual-space{
  display:none!important;
}

@media (max-width: 760px){
  .site-header{position:sticky;top:0;}
  body.admin-bar .site-header{top:46px;}
  .header-inner{
    min-height:92px;
    justify-content:flex-end;
    padding:14px 28px;
  }
  .nav-toggle{display:inline-flex;margin-left:auto;}
  .primary-nav{
    display:none;
    position:absolute;
    left:18px;
    right:18px;
    top:78px;
    background:rgba(255,249,238,.96);
    border:1px solid rgba(198,164,106,.25);
    border-radius:26px;
    padding:20px;
    box-shadow:0 24px 65px rgba(63,73,51,.12);
    flex-direction:column;
    align-items:stretch;
  }
  .primary-nav.is-open{display:flex;}
  .hero{
    min-height:calc(100svh - 92px);
    padding:clamp(120px,17vh,172px) 18px 88px;
    background:
      radial-gradient(circle at 50% 28%, rgba(255,252,246,.72), rgba(255,252,246,.16) 45%, transparent 68%),
      linear-gradient(180deg,#fbf6eb 0%,#fff8ed 48%,#fbf4e8 100%);
  }
  .hero::before{
    inset:-2% -28%;
    background:
      url('assets/images/olive-border.jpg') top center / 185% auto no-repeat,
      url('assets/images/olive-border.jpg') bottom center / 185% auto no-repeat;
    opacity:.145;
    filter:blur(.55px) saturate(.72) contrast(.82);
  }
  .hero::after{
    background:
      radial-gradient(ellipse at 50% 40%, rgba(255,249,238,.58) 0%, rgba(255,249,238,.36) 38%, rgba(255,249,238,.08) 64%, transparent 82%);
  }
  .hero-logo{
    width:min(540px,82vw);
    margin-bottom:clamp(88px,12vh,118px);
  }
  .hero h1{
    width:min(92vw,720px);
    font-size:clamp(52px,13.2vw,74px);
    line-height:1.13;
    letter-spacing:-.042em;
  }
}

@media (max-width: 420px){
  .header-inner{min-height:86px;padding:12px 30px;}
  .nav-toggle{padding:14px 31px;font-size:17px;}
  .primary-nav{top:72px;}
  .hero{
    min-height:calc(100svh - 86px);
    padding-top:clamp(108px,15vh,150px);
  }
  .hero-logo{width:min(500px,82vw);margin-bottom:84px;}
  .hero h1{font-size:clamp(48px,13vw,66px);}
}

/* Intro logo splash */
body.has-intro-splash{overflow:hidden}
.intro-splash{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 50% 42%, rgba(255,250,242,.96), rgba(247,244,238,.98) 48%, #efe9dd 100%);
  transition:opacity .65s ease, visibility .65s ease;
}
.intro-splash::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/images/olive-border.jpg') center/cover no-repeat;
  opacity:.17;
}
.intro-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.intro-splash-inner{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:28px;
  animation:splashComeForward 2.5s cubic-bezier(.22,1,.36,1) forwards;
}
.intro-splash-logo{
  width:min(46vw,220px);
  height:min(46vw,220px);
  object-fit:cover;
  border-radius:999px;
  border:1px solid rgba(198,164,106,.48);
  box-shadow:0 24px 70px rgba(63,73,51,.18);
  background:var(--cream);
}
.intro-splash-title{
  margin-top:22px;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(42px,7vw,80px);
  line-height:1;
  letter-spacing:-.04em;
  color:var(--deep-olive);
}
.intro-splash-subtitle{
  margin-top:10px;
  color:var(--gold);
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:600;
  letter-spacing:.015em;
  text-transform:none;
  font-size:clamp(30px,4.2vw,48px);
  line-height:1.04;
}
@keyframes splashComeForward{
  0%{transform:scale(.18);opacity:0;filter:blur(4px)}
  18%{opacity:1;filter:blur(0)}
  76%{transform:scale(1)}
  100%{transform:scale(1.08)}
}
@media (prefers-reduced-motion: reduce){
  body.has-intro-splash{overflow:auto}
  .intro-splash{display:none}
}
@media(max-width:720px){
  .intro-splash-logo{width:165px;height:165px}
  .intro-splash-inner{padding:22px}
}


.hero-logo{
display:block;
margin:0 0 1.5rem 0 !important;
max-width:340px;
}
.hero .reveal{
padding-top:0 !important;
}


/* v17 clean editorial refresh: removes decorative W&O watermarks and simplifies the homepage composition */
.site-header{
  background:rgba(250,248,243,.97);
  border-bottom:1px solid rgba(94,107,78,.12);
  box-shadow:none;
}
.header-inner{max-width:1240px;min-height:78px;padding:6px 34px;}
.primary-nav{gap:34px;font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;font-weight:600;color:#2f332b;}
.nav-cta{background:transparent;color:#2f332b!important;padding:0;border-radius:0;box-shadow:none;}
.nav-cta:hover{color:var(--gold)!important;}

.hero{
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:center;
  padding:70px 22px 92px;
  background:
    linear-gradient(90deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.94) 42%,rgba(250,248,243,.74) 63%,rgba(250,248,243,.42) 100%),
    url('assets/images/olive-border.jpg') right center/cover no-repeat,
    #faf8f3;
  border-bottom:1px solid rgba(94,107,78,.14);
}
.hero::before{display:none;}
.hero::after{display:none;}
.hero-inner{
  width:100%;
  grid-template-columns:minmax(0,650px) 1fr;
  max-width:1240px;
  gap:48px;
}
.hero .reveal:first-child{align-items:flex-start;text-align:left;}
.hero-logo{
  width:min(520px,82vw);
  max-width:520px!important;
  margin:0 0 44px 0!important;
  mix-blend-mode:multiply;
  filter:none;
}
h1{font-size:clamp(46px,5.8vw,76px);line-height:1.08;color:#30342d;font-weight:500;letter-spacing:-.035em;}
.hero .lead{
  margin:30px 0 0;
  max-width:600px;
  font-size:clamp(19px,2vw,23px);
  color:#3f4339;
  line-height:1.55;
}
.hero .button-row{justify-content:flex-start;margin-top:42px;}
.btn{border-radius:0;text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:800;padding:17px 38px;}
.btn-primary{background:var(--deep-olive);box-shadow:none;}
.btn-secondary{background:rgba(250,248,243,.54);border-color:var(--deep-olive);}
.hero-visual-space{min-height:520px;}
.hero-card,.trust-strip,.brand-chip,.section-mark,.wo-theme-mark,.brand-motif::after{display:none!important;}

.section{padding:92px 22px;}
.section-soft{background:#fffdf8;}
.container{max-width:1240px;}
.split{grid-template-columns:.96fr 1.04fr;gap:72px;}
.image-panel{border-radius:0;box-shadow:none;border:0;background:transparent;}
.image-panel img{aspect-ratio:4/3;object-fit:cover;}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.18em;
  font-family:Inter,system-ui,sans-serif;
  font-size:13px;
  font-weight:700;
  color:var(--gold);
  margin-bottom:20px;
}
h2{font-size:clamp(38px,4.6vw,58px);font-weight:500;line-height:1.1;color:#30342d;}
.copy p{color:#3f4339;font-size:18px;line-height:1.78;}
.copy::after{
  content:"";
  display:block;
  width:86px;
  height:1px;
  background:var(--gold);
  margin:30px 0 0;
}
.quote-box{display:none;}
.section-intro{color:#55584e;font-size:18px;line-height:1.75;}
.service,.card,.contact-card{box-shadow:none;background:rgba(255,250,242,.7);border-color:rgba(94,107,78,.14);border-radius:0;}
.service::before{display:none;}
.icon-dot,.card-number{border-radius:0;background:rgba(198,164,106,.16);}
.reassurance::before{display:none;}
.reassurance{background:#f4efe6;}
.cta{border-radius:0;box-shadow:none;}
.fees-box{border-radius:0;box-shadow:none;}
.contact-card{background:#fff;}

@media(max-width:820px){
  .header-inner{min-height:60px;padding:4px 18px;}
  .primary-nav{font-family:Inter,system-ui,sans-serif;font-size:15px;gap:14px;}
  .nav-cta{background:var(--deep-olive);color:var(--cream)!important;padding:10px 14px;border-radius:999px;}
  .hero{
    min-height:auto;
    padding:56px 20px 64px;
    background:
      linear-gradient(180deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.88) 58%,rgba(250,248,243,.78) 100%),
      url('assets/images/olive-border.jpg') right top/cover no-repeat,
      #faf8f3;
  }
  .hero-inner{grid-template-columns:1fr;gap:0;}
  .hero-visual-space{display:none;}
  .hero-logo{width:min(360px,86vw);margin-bottom:34px!important;}
  h1{font-size:clamp(40px,12vw,56px);}
  .button-row .btn{width:100%;}
  .section{padding:64px 20px;}
  .split{gap:36px;}
}


/* v20 logo-tone background refresh: restores the warm ivory, soft sage and muted gold tones from the logo across the whole website */
:root{
  --ivory:#fbf7ef;
  --cream:#fffaf1;
  --linen:#f1eadf;
  --sage:#c5c9a9;
  --sage-soft:#e6e7d8;
  --olive:#606b49;
  --deep-olive:#4f5d3f;
  --gold:#c99d4f;
  --charcoal:#3f4336;
  --muted:#746f63;
}

body{
  background:
    radial-gradient(circle at 8% 12%, rgba(201,157,79,.13), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(197,201,169,.22), transparent 30%),
    linear-gradient(180deg,#fbf7ef 0%,#f7f0e5 44%,#fbf8f1 100%);
  color:var(--charcoal);
}

.site-header{
  background:rgba(248,243,233,.96);
  border-bottom:1px solid rgba(201,157,79,.18);
}

.hero{
  background:
    linear-gradient(90deg,rgba(251,247,239,.98) 0%,rgba(251,247,239,.92) 39%,rgba(247,240,229,.72) 62%,rgba(247,240,229,.40) 100%),
    radial-gradient(circle at 18% 18%, rgba(201,157,79,.12), transparent 30%),
    radial-gradient(circle at 76% 20%, rgba(197,201,169,.25), transparent 34%),
    url('assets/images/olive-border.jpg') right center/cover no-repeat,
    #fbf7ef;
  border-bottom:1px solid rgba(201,157,79,.18);
}

.section,
.section-soft{
  background:
    radial-gradient(circle at 12% 10%, rgba(201,157,79,.055), transparent 28%),
    radial-gradient(circle at 90% 20%, rgba(197,201,169,.12), transparent 32%),
    linear-gradient(180deg,rgba(255,250,241,.94),rgba(247,240,229,.94));
}

.section:nth-of-type(even){
  background:
    radial-gradient(circle at 88% 8%, rgba(201,157,79,.06), transparent 30%),
    radial-gradient(circle at 8% 28%, rgba(197,201,169,.14), transparent 34%),
    linear-gradient(180deg,rgba(247,240,229,.94),rgba(251,247,239,.96));
}

.image-panel,
.service,
.card,
.contact-card,
.fees-box,
.cta{
  border-color:rgba(201,157,79,.18);
}

.service,
.card,
.contact-card{
  background:rgba(255,250,241,.74);
}

.reassurance{
  background:
    linear-gradient(135deg,rgba(197,201,169,.28),rgba(201,157,79,.10)),
    #f3ecdf;
}

.cta{
  background:
    linear-gradient(135deg,#596544,#6b7354 52%,#4f5d3f);
}

.site-footer{
  background:
    radial-gradient(circle at 12% 0%, rgba(201,157,79,.13), transparent 34%),
    linear-gradient(180deg,#f1eadf,#e8e1d4);
  border-top:1px solid rgba(201,157,79,.18);
}

@media(max-width:820px){
  .hero{
    background:
      linear-gradient(180deg,rgba(251,247,239,.98) 0%,rgba(247,240,229,.88) 58%,rgba(251,247,239,.80) 100%),
      radial-gradient(circle at 70% 8%, rgba(197,201,169,.23), transparent 30%),
      url('assets/images/olive-border.jpg') right top/cover no-repeat,
      #fbf7ef;
  }
}


/* v21 lighter W&O palette refinement: removes dark green blocks, uses warm ivory, soft sage and muted gold only */
:root{
  --ivory:#fbf8f0;
  --cream:#fffdf8;
  --linen:#f2eadf;
  --sage:#c3c8a6;
  --sage-light:#dfe2cc;
  --sage-wash:#eef0e2;
  --olive:#6d744f;
  --deep-olive:#4b533a;
  --gold:#c89a48;
  --gold-soft:#dfc38a;
  --charcoal:#3f4238;
  --muted:#747166;
  --line:rgba(200,154,72,.22);
  --panel:rgba(255,253,248,.86);
}

body{
  background:
    radial-gradient(circle at 10% 6%, rgba(223,195,138,.13), transparent 24%),
    radial-gradient(circle at 92% 14%, rgba(195,200,166,.22), transparent 30%),
    linear-gradient(180deg,#fbf8f0 0%,#f6efe4 42%,#fbf8f0 100%);
}

.site-header{
  background:rgba(249,244,234,.96);
  border-bottom:1px solid var(--line);
}

.nav-toggle,
.nav-cta,
.btn-primary,
button.btn-primary{
  background:linear-gradient(135deg,var(--sage-light),var(--sage));
  color:var(--deep-olive)!important;
  border:1px solid rgba(109,116,79,.22);
  box-shadow:0 14px 34px rgba(109,116,79,.14);
}

.nav-toggle:hover,
.nav-cta:hover,
.btn-primary:hover{
  background:linear-gradient(135deg,#e8ead8,#c8cdaa);
  color:var(--deep-olive)!important;
}

.btn-secondary{
  background:rgba(255,253,248,.74);
  border-color:rgba(109,116,79,.24);
  color:var(--deep-olive);
}

.primary-nav a:hover,
.eyebrow,
.intro-splash-subtitle{color:var(--gold);}

.hero,
.section,
.section-soft{
  background:
    radial-gradient(circle at 12% 10%, rgba(223,195,138,.08), transparent 28%),
    radial-gradient(circle at 92% 18%, rgba(195,200,166,.14), transparent 34%),
    linear-gradient(180deg,rgba(255,253,248,.95),rgba(246,239,228,.94));
}

.hero{
  background:
    linear-gradient(90deg,rgba(251,248,240,.98) 0%,rgba(251,248,240,.93) 40%,rgba(246,239,228,.74) 62%,rgba(246,239,228,.42) 100%),
    radial-gradient(circle at 20% 18%, rgba(223,195,138,.12), transparent 30%),
    radial-gradient(circle at 78% 18%, rgba(195,200,166,.24), transparent 34%),
    url('assets/images/olive-border.jpg') right center/cover no-repeat,
    #fbf8f0;
}

.reassurance{
  background:
    radial-gradient(circle at 82% 18%, rgba(195,200,166,.22), transparent 32%),
    linear-gradient(135deg,#fffdf8,#f3eadf);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.cta{
  margin:0;
  padding:82px 22px;
  background:
    linear-gradient(90deg,rgba(255,253,248,.97) 0%,rgba(255,253,248,.90) 56%,rgba(255,253,248,.68) 100%),
    url('assets/images/olive-border.jpg') right center/contain no-repeat,
    #fffdf8;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  box-shadow:none;
}

.cta-inner{
  background:rgba(255,253,248,.72);
  border:1px solid rgba(200,154,72,.18);
  box-shadow:0 20px 58px rgba(109,116,79,.08);
  color:var(--charcoal);
}
.cta h2,
.cta p{color:var(--deep-olive)!important;}

.fees-box{
  background:rgba(255,253,248,.78);
  color:var(--charcoal);
  border:1px solid rgba(200,154,72,.20);
  box-shadow:0 18px 50px rgba(109,116,79,.08);
}
.fees-box::after{
  background:url('assets/images/olive-pattern.jpg') center/cover no-repeat;
  opacity:.035;
}
.fees-box h3{color:var(--deep-olive);}
.fees-box p{color:var(--muted);}
.fees-list div{
  background:rgba(255,253,248,.68);
  color:var(--deep-olive);
  border:1px solid rgba(109,116,79,.14);
}

.service,
.card,
.contact-card{
  background:rgba(255,253,248,.76);
  border:1px solid rgba(200,154,72,.18);
  box-shadow:0 14px 38px rgba(109,116,79,.07);
}
.icon-dot,
.card-number{
  background:var(--sage-wash);
  color:var(--deep-olive);
  border:1px solid rgba(109,116,79,.18);
}

input,textarea{
  background:rgba(255,253,248,.88)!important;
  border-color:rgba(200,154,72,.22)!important;
  color:var(--deep-olive)!important;
}

.intro-splash{
  background:
    radial-gradient(circle at 50% 28%, rgba(223,195,138,.18), transparent 28%),
    linear-gradient(180deg,#fffdf8,#f4ecdf);
}
.intro-splash-logo{
  background:#fffdf8;
  border-color:rgba(200,154,72,.36);
  box-shadow:0 24px 70px rgba(109,116,79,.12);
}

.site-footer{
  background:
    radial-gradient(circle at 10% 0%, rgba(223,195,138,.14), transparent 30%),
    linear-gradient(180deg,#f7efe4,#eee6d9);
  border-top:1px solid var(--line);
}

@media(max-width:820px){
  .nav-toggle{
    padding:13px 20px;
    border-radius:999px;
    font-size:16px;
  }
  .nav-cta{background:linear-gradient(135deg,var(--sage-light),var(--sage));}
  .hero{
    background:
      linear-gradient(180deg,rgba(251,248,240,.98) 0%,rgba(246,239,228,.88) 58%,rgba(251,248,240,.82) 100%),
      radial-gradient(circle at 70% 8%, rgba(195,200,166,.22), transparent 30%),
      url('assets/images/olive-border.jpg') right top/cover no-repeat,
      #fbf8f0;
  }
  .cta{
    padding:58px 20px;
    background:
      linear-gradient(90deg,rgba(255,253,248,.98) 0%,rgba(255,253,248,.90) 62%,rgba(255,253,248,.74) 100%),
      url('assets/images/olive-border.jpg') right center/contain no-repeat,
      #fffdf8;
  }
}


/* v22 quiet luxury tonal palette: pale sage/stone replaces heavy green and orange gold */
:root{
  --ivory:#fbf8f1;
  --cream:#fffdf8;
  --linen:#f3eee4;
  --sage:#d9ddc9;
  --sage-light:#eef0e5;
  --sage-wash:#f4f5ec;
  --sage-border:#cfd4bd;
  --olive:#6f775c;
  --deep-olive:#46513c;
  --gold:#b99558;
  --gold-soft:#d8c091;
  --champagne:#eadfc9;
  --charcoal:#3f443a;
  --muted:#7a776d;
  --line:rgba(185,149,88,.18);
  --sage-line:rgba(111,119,92,.18);
  --shadow:0 22px 60px rgba(88,91,72,.10);
  --shadow-soft:0 14px 38px rgba(88,91,72,.07);
}

body{
  background:
    radial-gradient(circle at 10% 8%, rgba(234,223,201,.46), transparent 30%),
    radial-gradient(circle at 88% 12%, rgba(217,221,201,.42), transparent 34%),
    linear-gradient(180deg,#fbf8f1 0%,#f5efe5 46%,#fbf8f1 100%);
  color:var(--charcoal);
}

.site-header{
  background:rgba(248,244,235,.95);
  border-bottom:1px solid rgba(185,149,88,.16);
  box-shadow:0 8px 26px rgba(88,91,72,.035);
}

/* All highlighted / clickable filled elements now use pale logo-sage rather than dark olive or orange gold */
.nav-toggle,
.nav-cta,
.btn-primary,
button.btn-primary,
.button-row .btn-primary,
.form-placeholder button,
input[type="submit"]{
  background:linear-gradient(135deg,#f0f2e8 0%,#dfe3d0 58%,#d4d9c4 100%)!important;
  color:var(--deep-olive)!important;
  border:1px solid rgba(111,119,92,.20)!important;
  box-shadow:0 16px 36px rgba(88,91,72,.09)!important;
}

.nav-toggle:hover,
.nav-cta:hover,
.btn-primary:hover,
button.btn-primary:hover,
.form-placeholder button:hover{
  background:linear-gradient(135deg,#f5f6ef 0%,#e7eadc 58%,#dbe0cc 100%)!important;
  color:var(--deep-olive)!important;
  border-color:rgba(111,119,92,.26)!important;
}

.btn-secondary{
  background:rgba(255,253,248,.80)!important;
  color:var(--deep-olive)!important;
  border:1px solid rgba(111,119,92,.20)!important;
  box-shadow:0 12px 28px rgba(88,91,72,.045)!important;
}

/* Keep gold as a quiet champagne accent only */
.eyebrow,
.primary-nav a:hover,
.intro-splash-subtitle{
  color:var(--gold)!important;
}

.hero,
.section,
.section-soft,
.reassurance{
  background:
    radial-gradient(circle at 16% 10%, rgba(234,223,201,.30), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(217,221,201,.28), transparent 34%),
    linear-gradient(180deg,rgba(255,253,248,.94),rgba(247,241,230,.90))!important;
}

.hero{
  background:
    linear-gradient(90deg,rgba(251,248,241,.98) 0%,rgba(251,248,241,.94) 42%,rgba(246,241,231,.72) 66%,rgba(246,241,231,.46) 100%),
    radial-gradient(circle at 24% 16%, rgba(234,223,201,.26), transparent 30%),
    radial-gradient(circle at 76% 18%, rgba(217,221,201,.30), transparent 34%),
    url('assets/images/olive-border.jpg') right center/cover no-repeat,
    #fbf8f1!important;
}

h1,h2,h3,
.service strong,
.contact-row strong,
.footer-inner strong,
.footer-links a{
  color:var(--deep-olive)!important;
}

.lead,
.copy p,
.section-intro,
.service span,
.card p,
.contact-card,
.smallprint,
.fees-box p{
  color:var(--muted)!important;
}

.card-number,
.icon-dot,
.trust-item{
  background:linear-gradient(180deg,#f2f4ea,#e4e7d8)!important;
  color:var(--deep-olive)!important;
  border:1px solid rgba(111,119,92,.16)!important;
  box-shadow:0 10px 28px rgba(88,91,72,.05)!important;
}

.service,
.card,
.contact-card,
.fees-box,
.cta-inner,
.image-panel{
  background:rgba(255,253,248,.78)!important;
  border:1px solid rgba(185,149,88,.15)!important;
  box-shadow:0 18px 50px rgba(88,91,72,.07)!important;
}

.fees-box{
  color:var(--charcoal)!important;
}
.fees-list div{
  background:rgba(244,245,236,.62)!important;
  color:var(--deep-olive)!important;
  border:1px solid rgba(111,119,92,.15)!important;
}

.cta{
  background:
    linear-gradient(90deg,rgba(255,253,248,.97) 0%,rgba(255,253,248,.90) 60%,rgba(250,247,239,.78) 100%),
    url('assets/images/olive-border.jpg') right center/contain no-repeat,
    #fffdf8!important;
  border-top:1px solid rgba(185,149,88,.16)!important;
  border-bottom:1px solid rgba(185,149,88,.16)!important;
}
.cta h2,.cta p{color:var(--deep-olive)!important;}

.quote-box{
  border-left-color:var(--gold)!important;
  background:rgba(255,253,248,.78)!important;
  color:var(--deep-olive)!important;
}

input,textarea{
  background:rgba(255,253,248,.86)!important;
  border:1px solid rgba(111,119,92,.16)!important;
  color:var(--deep-olive)!important;
}

.intro-splash{
  background:
    radial-gradient(circle at 50% 30%, rgba(234,223,201,.46), transparent 34%),
    linear-gradient(180deg,#fffdf8,#f2ecdf)!important;
}
.intro-splash-logo{
  background:#fffdf8!important;
  border:1px solid rgba(185,149,88,.24)!important;
  box-shadow:0 24px 70px rgba(88,91,72,.10)!important;
}

.site-footer{
  background:
    radial-gradient(circle at 10% 0%, rgba(234,223,201,.32), transparent 32%),
    linear-gradient(180deg,#f8f2e8,#eee8dc)!important;
  border-top:1px solid rgba(185,149,88,.16)!important;
}

@media(max-width:820px){
  .nav-toggle{
    background:linear-gradient(135deg,#f0f2e8 0%,#dfe3d0 58%,#d4d9c4 100%)!important;
    color:var(--deep-olive)!important;
    border:1px solid rgba(111,119,92,.20)!important;
  }
  .primary-nav{
    background:rgba(255,253,248,.96)!important;
    border:1px solid rgba(185,149,88,.16)!important;
  }
  .hero{
    background:
      linear-gradient(180deg,rgba(251,248,241,.98) 0%,rgba(247,241,230,.90) 58%,rgba(251,248,241,.86) 100%),
      radial-gradient(circle at 72% 8%, rgba(217,221,201,.28), transparent 32%),
      url('assets/images/olive-border.jpg') right top/cover no-repeat,
      #fbf8f1!important;
  }
}


/* v23 light logo-led palette: soft original-logo ivory background with pale champagne-gold highlights instead of green fills */
:root{
  --ivory:#fbfaf5;
  --cream:#fffdf8;
  --paper:#fffefa;
  --linen:#f5f0e7;
  --logo-cream:#fbfaf4;
  --sage:#c9ccb0;
  --sage-light:#e6e7d7;
  --olive:#73775a;
  --deep-olive:#4b533f;
  --gold:#c9a363;
  --gold-soft:#e8dcc2;
  --gold-light:#f1e8d4;
  --champagne:#eadabc;
  --champagne-pale:#f6efe1;
  --charcoal:#41453b;
  --muted:#77736a;
  --line:rgba(201,163,99,.24);
  --sage-line:rgba(115,119,90,.14);
  --shadow:0 22px 62px rgba(96,88,66,.08);
  --shadow-soft:0 12px 36px rgba(96,88,66,.055);
}

html,body{
  background:#fbfaf5!important;
}
body{
  background:
    radial-gradient(circle at 16% 8%, rgba(246,239,225,.62), transparent 34%),
    radial-gradient(circle at 88% 14%, rgba(232,220,194,.34), transparent 36%),
    linear-gradient(180deg,#fffefa 0%,#fbfaf5 34%,#f8f4ed 68%,#fffefa 100%)!important;
  color:var(--charcoal)!important;
}

.site-header{
  background:rgba(251,250,245,.96)!important;
  border-bottom:1px solid rgba(201,163,99,.18)!important;
  box-shadow:0 8px 28px rgba(96,88,66,.028)!important;
}
.header-inner{background:transparent!important;}

/* Replace all green filled highlights with the lightest champagne-gold tone from the logo family */
.nav-toggle,
.nav-cta,
.btn-primary,
button.btn-primary,
.button-row .btn-primary,
.form-placeholder button,
input[type="submit"]{
  background:linear-gradient(135deg,#fffaf0 0%,#f3ead7 58%,#e9d7b5 100%)!important;
  color:#5f654d!important;
  border:1px solid rgba(201,163,99,.34)!important;
  box-shadow:0 16px 34px rgba(160,128,73,.10)!important;
}
.nav-toggle:hover,
.nav-cta:hover,
.btn-primary:hover,
button.btn-primary:hover,
.form-placeholder button:hover{
  background:linear-gradient(135deg,#fffdf8 0%,#f7efdf 58%,#ecdcc0 100%)!important;
  color:#4b533f!important;
  border-color:rgba(201,163,99,.42)!important;
}

.btn-secondary{
  background:rgba(255,254,250,.76)!important;
  color:#5f654d!important;
  border:1px solid rgba(201,163,99,.28)!important;
  box-shadow:0 12px 26px rgba(160,128,73,.055)!important;
}

.hero,
.section,
.section-soft,
.reassurance{
  background:
    radial-gradient(circle at 14% 9%, rgba(246,239,225,.52), transparent 32%),
    radial-gradient(circle at 86% 12%, rgba(232,220,194,.30), transparent 35%),
    linear-gradient(180deg,rgba(255,254,250,.96),rgba(250,247,240,.92))!important;
}
.hero{
  background:
    linear-gradient(90deg,rgba(255,254,250,.98) 0%,rgba(251,250,245,.94) 42%,rgba(248,244,237,.70) 66%,rgba(248,244,237,.44) 100%),
    radial-gradient(circle at 24% 16%, rgba(246,239,225,.42), transparent 32%),
    radial-gradient(circle at 78% 18%, rgba(232,220,194,.30), transparent 35%),
    url('assets/images/olive-border.jpg') right center/cover no-repeat,
    #fbfaf5!important;
}

/* Softer logo-led typography tones */
h1,h2,h3,
.service strong,
.contact-row strong,
.footer-inner strong,
.footer-links a{
  color:#4b533f!important;
}
.lead,
.copy p,
.section-intro,
.service span,
.card p,
.contact-card,
.smallprint,
.fees-box p{
  color:#77736a!important;
}
.eyebrow,
.primary-nav a:hover,
.intro-splash-subtitle{
  color:#c9a363!important;
}
.copy::after{
  background:#d7bf8f!important;
}

/* Cards and numbered boxes now match the pale logo background and champagne edging */
.service,
.card,
.contact-card,
.fees-box,
.cta-inner,
.image-panel{
  background:rgba(255,254,250,.82)!important;
  border:1px solid rgba(201,163,99,.18)!important;
  box-shadow:0 18px 46px rgba(96,88,66,.055)!important;
}
.card-number,
.icon-dot,
.trust-item{
  background:linear-gradient(180deg,#fffdf7,#f4eddc)!important;
  color:#5f654d!important;
  border:1px solid rgba(201,163,99,.24)!important;
  box-shadow:0 10px 24px rgba(160,128,73,.06)!important;
}

.fees-box{
  color:var(--charcoal)!important;
}
.fees-box::after{opacity:.025!important;}
.fees-list div{
  background:rgba(255,253,247,.72)!important;
  color:#5f654d!important;
  border:1px solid rgba(201,163,99,.22)!important;
}

.cta{
  background:
    linear-gradient(90deg,rgba(255,254,250,.97) 0%,rgba(255,254,250,.91) 60%,rgba(251,250,245,.78) 100%),
    url('assets/images/olive-border.jpg') right center/contain no-repeat,
    #fffefa!important;
  border-top:1px solid rgba(201,163,99,.18)!important;
  border-bottom:1px solid rgba(201,163,99,.18)!important;
  box-shadow:none!important;
}
.cta h2,.cta p{color:#4b533f!important;}

input,textarea{
  background:rgba(255,254,250,.88)!important;
  border:1px solid rgba(201,163,99,.24)!important;
  color:#4b533f!important;
}

.intro-splash{
  background:
    radial-gradient(circle at 50% 30%, rgba(246,239,225,.58), transparent 36%),
    linear-gradient(180deg,#fffefa,#fbfaf5 54%,#f7f2e9)!important;
}
.intro-splash::before{opacity:.10!important;}
.intro-splash-logo{
  background:#fffefa!important;
  border:1px solid rgba(201,163,99,.28)!important;
  box-shadow:0 24px 70px rgba(96,88,66,.09)!important;
}

.site-footer{
  background:
    radial-gradient(circle at 10% 0%, rgba(246,239,225,.46), transparent 34%),
    linear-gradient(180deg,#fbfaf5,#f4eee5)!important;
  border-top:1px solid rgba(201,163,99,.18)!important;
}

@media(max-width:820px){
  .nav-toggle{
    background:linear-gradient(135deg,#fffaf0 0%,#f3ead7 58%,#e9d7b5 100%)!important;
    color:#5f654d!important;
    border:1px solid rgba(201,163,99,.34)!important;
    box-shadow:0 14px 30px rgba(160,128,73,.10)!important;
  }
  .primary-nav{
    background:rgba(255,254,250,.97)!important;
    border:1px solid rgba(201,163,99,.20)!important;
  }
  .hero{
    background:
      linear-gradient(180deg,rgba(255,254,250,.98) 0%,rgba(251,250,245,.92) 58%,rgba(255,254,250,.86) 100%),
      radial-gradient(circle at 72% 8%, rgba(232,220,194,.34), transparent 34%),
      url('assets/images/olive-border.jpg') right top/cover no-repeat,
      #fbfaf5!important;
  }
}

/* v30 refined settled-page logo treatment
   Keeps the existing 3-second circular introduction intact; this only styles the page after the intro fades. */
.site-brand{
  display:flex!important;
  align-items:center;
  flex:0 0 auto;
  max-width:230px;
}
.site-brand img{
  width:clamp(150px,16vw,220px);
  height:auto;
  display:block;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 8px 18px rgba(63,73,51,.045));
}
.header-inner{
  justify-content:space-between;
  gap:clamp(22px,4vw,56px);
}
.primary-nav{
  margin-left:auto;
}
.hero{
  min-height:calc(100vh - 78px);
  align-items:center;
  background:
    linear-gradient(90deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.94) 43%,rgba(250,248,243,.74) 64%,rgba(250,248,243,.40) 100%),
    url('assets/images/olive-border.jpg') right center/cover no-repeat,
    #faf8f3;
}
.hero-inner{
  grid-template-columns:minmax(0,620px) 1fr;
  gap:clamp(44px,6vw,92px);
}
.hero .reveal:first-child{
  align-items:flex-start!important;
  text-align:left!important;
  max-width:650px;
}
.hero-logo{
  width:min(470px,82vw)!important;
  max-width:470px!important;
  margin:0 0 clamp(34px,5vw,58px) 0!important;
  mix-blend-mode:multiply;
  filter:drop-shadow(0 12px 26px rgba(63,73,51,.035));
}
.hero h1{
  max-width:760px;
}
.hero .lead{
  max-width:590px;
}
.hero .button-row{
  justify-content:flex-start!important;
}

@media(max-width:980px){
  .site-brand img{width:150px;}
  .primary-nav{gap:18px;font-size:16px;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual-space{display:none;}
}
@media(max-width:820px){
  .site-brand{max-width:165px;}
  .site-brand img{width:145px;}
  .nav-toggle{display:inline-flex;}
  .primary-nav{top:68px;}
  .hero{
    min-height:auto;
    padding-top:58px;
    padding-bottom:76px;
    background:linear-gradient(180deg,rgba(250,248,243,.98),rgba(255,253,248,.96)),#faf8f3;
  }
  .hero .reveal:first-child{align-items:center!important;text-align:center!important;}
  .hero-logo{width:min(340px,86vw)!important;margin-left:auto!important;margin-right:auto!important;}
  .hero .button-row{justify-content:center!important;}
}


/* v31 intro + opening-page continuity
   Keeps the 3 second circular W&O splash, adds the soft olive leaf watermark behind it,
   and carries the same elegant leaf background onto the settled first page instead of leaving it blank. */
.intro-splash{
  background:
    radial-gradient(circle at 50% 44%, rgba(255,250,242,.96) 0%, rgba(250,247,240,.97) 42%, rgba(241,234,222,.98) 100%) !important;
}
.intro-splash::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,253,248,.72), rgba(255,253,248,.88)),
    url('assets/images/olive-border.jpg') top center/cover no-repeat !important;
  opacity:.42 !important;
  filter:saturate(.8) contrast(.96);
  transform:scale(1.02);
}
.intro-splash::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:min(86vw,520px);
  height:min(86vw,520px);
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,250,242,.72) 0%, rgba(255,250,242,.38) 54%, transparent 72%);
  pointer-events:none;
}
.intro-splash-inner{z-index:1;}
.intro-splash-logo{
  width:min(44vw,210px);
  height:min(44vw,210px);
  box-shadow:0 22px 64px rgba(63,73,51,.14);
}

.hero,
body.home .hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(250,248,243,.98) 0%,rgba(250,248,243,.94) 43%,rgba(250,248,243,.76) 64%,rgba(250,248,243,.48) 100%),
    url('assets/images/olive-border.jpg') right center/cover no-repeat,
    #faf8f3 !important;
}
.hero::before{
  content:"" !important;
  display:block !important;
  position:absolute;
  inset:0;
  background:url('assets/images/olive-border.jpg') top right/cover no-repeat;
  opacity:.13;
  pointer-events:none;
  z-index:0;
}
.hero::after{
  content:"" !important;
  display:block !important;
  position:absolute;
  right:clamp(-160px,-9vw,-70px);
  top:clamp(80px,14vw,150px);
  width:clamp(420px,44vw,660px);
  height:clamp(420px,44vw,660px);
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,250,242,.42), rgba(247,240,229,.18) 58%, transparent 72%);
  pointer-events:none;
  z-index:0;
}
.hero-inner{position:relative;z-index:1;}
.hero-visual-space{
  min-height:520px;
  border-radius:0;
  background:
    linear-gradient(180deg,rgba(255,253,248,.18),rgba(255,253,248,.48)),
    url('assets/images/olive-border.jpg') center/contain no-repeat;
  opacity:.72;
  mix-blend-mode:multiply;
}

@media(max-width:980px){
  .hero-visual-space{display:block;min-height:220px;max-height:260px;background-position:center top;opacity:.32;}
}
@media(max-width:820px){
  .intro-splash::before{
    background:
      linear-gradient(180deg, rgba(255,253,248,.68), rgba(255,253,248,.90)),
      url('assets/images/olive-border.jpg') top center/cover no-repeat !important;
    opacity:.52 !important;
  }
  .intro-splash-logo{width:168px;height:168px;}
  .hero,
  body.home .hero{
    min-height:calc(100svh - 60px);
    padding-top:54px;
    padding-bottom:68px;
    background:
      linear-gradient(180deg,rgba(250,248,243,.97) 0%,rgba(250,248,243,.92) 52%,rgba(250,248,243,.86) 100%),
      url('assets/images/olive-border.jpg') top center/cover no-repeat,
      #faf8f3 !important;
  }
  .hero::before{
    background:url('assets/images/olive-border.jpg') top center/cover no-repeat;
    opacity:.18;
  }
  .hero::after{
    width:420px;
    height:420px;
    right:-190px;
    top:110px;
    opacity:.75;
  }
  .hero-visual-space{
    display:block !important;
    min-height:150px;
    width:100%;
    margin-top:24px;
    background:url('assets/images/olive-border.jpg') center/contain no-repeat;
    opacity:.20;
  }
}


/* ==========================================================
   v38 FINAL CODE BUILD
   Keeps the 3-second intro splash unchanged.
   Applies the approved banner + luxury homepage layout.
   ========================================================== */
:root{
  --wo-cream:#fbf7ef;
  --wo-ivory:#fffaf2;
  --wo-olive:#4f5d3f;
  --wo-text:#30362c;
  --wo-gold:#b08744;
  --wo-line:rgba(79,93,63,.42);
}
body{background:var(--wo-cream);color:var(--wo-text);}
.site-header{position:sticky!important;top:0;z-index:1000;background:rgba(251,247,239,.97)!important;border-bottom:1px solid rgba(79,93,63,.10)!important;box-shadow:none!important;backdrop-filter:blur(14px);}
body.admin-bar .site-header{top:32px;}
.header-inner{max-width:1280px!important;min-height:156px!important;margin:0 auto!important;padding:18px clamp(22px,5vw,68px)!important;display:grid!important;grid-template-columns:260px 1fr auto auto!important;align-items:center!important;gap:34px!important;}
.site-brand{display:block!important;width:240px!important;max-width:240px!important;justify-self:start!important;}
.site-brand img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;mix-blend-mode:multiply!important;}
.primary-nav{display:flex!important;position:static!important;align-items:center!important;justify-content:center!important;gap:42px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;flex-direction:row!important;font-family:Inter,system-ui,sans-serif!important;font-size:15px!important;font-weight:500!important;color:#20231e!important;}
.primary-nav a{position:relative;opacity:1!important;padding:0 0 10px!important;white-space:nowrap!important;color:#20231e!important;}
.primary-nav a.is-active::after,.primary-nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--wo-gold);}
.book-session,.header-book{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:194px!important;min-height:58px!important;padding:0 30px!important;border:1.25px solid var(--wo-line)!important;border-radius:8px!important;background:transparent!important;color:#30362c!important;font-family:Inter,system-ui,sans-serif!important;font-size:17px!important;font-weight:500!important;box-shadow:none!important;white-space:nowrap!important;}
.book-session:hover{background:rgba(255,250,242,.42)!important;}
.nav-toggle{display:none!important;background:transparent!important;border:0!important;border-radius:0!important;padding:8px!important;box-shadow:none!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;}
.nav-toggle span{display:block;width:27px;height:2px;background:#20231e;border-radius:2px;}
.wo-hero{min-height:660px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(251,247,239,1) 0%,rgba(251,247,239,.995) 18%,rgba(251,247,239,.97) 38%,rgba(251,247,239,.82) 58%,rgba(251,247,239,.45) 74%,rgba(251,247,239,.12) 88%,rgba(251,247,239,.04) 100%),url('assets/images/olive-vase.jpg') center right/cover no-repeat;border-bottom:1px solid rgba(79,93,63,.08);}
.wo-hero::after{content:"";position:absolute;inset:0;background:url('assets/images/leaf-shadow.jpg') left top/cover no-repeat;opacity:.10;mix-blend-mode:multiply;pointer-events:none;}
.wo-hero-content{position:relative;z-index:1;width:min(540px,48vw);margin-left:clamp(34px,7vw,110px);padding:44px 0 52px;}
.wo-hero h1{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(54px,5.6vw,84px)!important;line-height:1.04!important;letter-spacing:-.035em!important;font-weight:500!important;color:#30362c!important;margin:0 0 34px!important;}
.wo-hero p{max-width:410px;margin:0 0 34px;color:#20231e;font-size:17px;line-height:1.75;font-family:Inter,system-ui,sans-serif;font-weight:500;}
.learn-more{display:inline-flex;align-items:center;gap:18px;min-width:210px;height:60px;padding:0 32px;border:1.25px solid var(--wo-line);border-radius:7px;background:rgba(251,247,239,.36);color:#30362c;font-size:17px;font-weight:500;}
.learn-more span{font-size:22px;line-height:1;}
.wo-about{position:relative;display:grid;grid-template-columns:minmax(280px,440px) minmax(320px,1fr);gap:clamp(48px,7vw,96px);align-items:center;padding:70px clamp(34px,7vw,110px);background:linear-gradient(180deg,#fffaf2,#fbf7ef);overflow:hidden;}
.wo-about-image{border-radius:18px;overflow:hidden;box-shadow:none;border:0;}
.wo-about-image img{width:100%;aspect-ratio:1.28/1;object-fit:cover;border-radius:18px;}
.wo-about-copy{max-width:540px;}
.eyebrow{font-family:Inter,system-ui,sans-serif!important;text-transform:uppercase!important;letter-spacing:.18em!important;color:#565f44!important;font-size:12px!important;font-weight:700!important;margin:0 0 22px!important;}
.wo-about h2{font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(36px,4.2vw,52px)!important;line-height:1.08!important;font-weight:500!important;color:#30362c!important;margin:0 0 24px!important;}
.wo-about p{font-size:17px;line-height:1.75;color:#20231e;max-width:440px;font-weight:500;}
.wo-line-leaf{position:absolute;right:clamp(38px,9vw,150px);bottom:42px;width:170px;height:220px;background:url('assets/images/intro-logo.jpg') center/contain no-repeat;opacity:.11;filter:grayscale(1);}
.section{padding:72px 22px!important;background:var(--wo-cream);}
.section-soft{background:var(--wo-ivory)!important;}
.container{max-width:1180px!important;}
.narrow{text-align:center!important;}
.section h2,.card h3{font-family:"Cormorant Garamond",Georgia,serif!important;color:#30362c!important;font-weight:500!important;}
.section h2{font-size:clamp(34px,4vw,54px)!important;line-height:1.12!important;}
.section-intro,.card p{font-family:Inter,system-ui,sans-serif;color:#20231e!important;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{background:#fffaf2!important;border:1px solid rgba(79,93,63,.12)!important;border-radius:18px!important;box-shadow:none!important;padding:30px!important;}
.btn-primary{background:var(--wo-olive)!important;color:#fffaf2!important;border-radius:8px!important;box-shadow:none!important;}
.site-footer{background:#eee7dc!important;}
@media(max-width:980px){
  .header-inner{grid-template-columns:210px 1fr auto!important;gap:22px!important;min-height:132px!important;padding:14px 28px!important;}
  .site-brand{width:200px!important;max-width:200px!important;}
  .primary-nav{gap:24px!important;font-size:14px!important;}
  .header-book{min-width:164px!important;min-height:50px!important;font-size:15px!important;padding:0 20px!important;}
  .wo-hero-content{width:min(480px,52vw);margin-left:40px;}
}
@media(max-width:760px){
  body.admin-bar .site-header{top:46px;}
  .site-header{position:relative!important;}
  .header-inner{min-height:258px!important;padding:22px 22px 18px!important;grid-template-columns:1fr auto!important;grid-template-areas:"brand toggle" "book book"!important;gap:14px 16px!important;}
  .site-brand{grid-area:brand;width:min(265px,62vw)!important;max-width:265px!important;justify-self:center!important;margin-left:42px;}
  .header-book{grid-area:book;justify-self:center;min-width:190px!important;min-height:48px!important;font-size:14px!important;border-radius:6px!important;}
  .nav-toggle{display:inline-flex!important;grid-area:toggle;align-self:center;justify-self:end;}
  .primary-nav{display:none!important;position:absolute!important;left:18px!important;right:18px!important;top:196px!important;background:rgba(255,250,242,.98)!important;border:1px solid rgba(79,93,63,.14)!important;border-radius:18px!important;box-shadow:0 20px 60px rgba(63,73,51,.12)!important;padding:18px!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;font-size:15px!important;z-index:20!important;}
  .primary-nav.is-open{display:flex!important;}
  .primary-nav a{padding:8px 6px!important;}
  .wo-hero{min-height:520px;align-items:flex-start;background:linear-gradient(90deg,rgba(251,247,239,.96) 0%,rgba(251,247,239,.74) 45%,rgba(251,247,239,.04) 100%),url('assets/images/olive-vase.jpg') center right 35%/cover no-repeat;}
  .wo-hero-content{width:min(310px,72vw);margin-left:26px;padding-top:48px;padding-bottom:42px;}
  .wo-hero h1{font-size:clamp(42px,10vw,56px)!important;line-height:1.08!important;margin-bottom:24px!important;}
  .wo-hero p{max-width:290px;font-size:13px;line-height:1.65;margin-bottom:24px;}
  .learn-more{min-width:150px;height:46px;padding:0 20px;font-size:14px;border-radius:6px;gap:12px;background:rgba(251,247,239,.5);}
  .wo-about{grid-template-columns:1fr;gap:24px;padding:36px 24px 54px;}
  .wo-about-image img{aspect-ratio:1.42/1;}
  .wo-about h2{font-size:clamp(30px,8vw,40px)!important;}
  .wo-about p{font-size:14px;line-height:1.7;}
  .wo-line-leaf{right:22px;bottom:18px;width:130px;height:170px;opacity:.12;}
  .grid-3{grid-template-columns:1fr;}
}
@media(max-width:430px){
  .header-inner{min-height:238px!important;}
  .site-brand{width:min(235px,64vw)!important;margin-left:34px;}
  .primary-nav{top:178px!important;}
  .wo-hero{min-height:500px;background-position:center right 37%;}
  .wo-hero-content{margin-left:22px;width:73vw;padding-top:40px;}
  .wo-hero h1{font-size:clamp(39px,10.4vw,48px)!important;}
}


/* v38 contact update: Get in Touch details, no duplicate booking button */
.contact-details{text-align:center;}
.contact-details h2{margin-bottom:18px;}
.contact-list{
  width:min(560px,100%);
  margin:28px auto 0;
  padding:28px 32px;
  border:1px solid rgba(94,107,78,.22);
  border-radius:18px;
  background:rgba(255,250,242,.72);
  text-align:left;
}
.contact-list p{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin:0;
  padding:13px 0;
  border-bottom:1px solid rgba(94,107,78,.13);
  color:var(--muted);
}
.contact-list p:last-child{border-bottom:0;}
.contact-list strong{color:var(--deep-olive);font-weight:600;}
@media (max-width:640px){
  .contact-list{padding:22px 20px;border-radius:14px;}
  .contact-list p{display:block;}
  .contact-list span{display:block;margin-top:4px;}
}


/* v39 mobile header correction
   Only changes the MOBILE banner/header layout:
   logo left, outlined Book a Session in the same row, hamburger right.
   Desktop, intro screen, hero, images, copy and contact section stay unchanged. */
@media (max-width:760px){
  .site-header{position:relative!important;}
  .header-inner{
    min-height:128px!important;
    padding:18px 18px 18px!important;
    display:grid!important;
    grid-template-columns:minmax(0, 1fr) auto auto!important;
    grid-template-areas:"brand book toggle"!important;
    align-items:center!important;
    gap:12px!important;
  }
  .site-brand{
    grid-area:brand!important;
    justify-self:start!important;
    align-self:center!important;
    width:min(230px,46vw)!important;
    max-width:230px!important;
    margin:0!important;
  }
  .site-brand img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .header-book,
  .book-session.header-book{
    grid-area:book!important;
    justify-self:end!important;
    align-self:center!important;
    display:inline-flex!important;
    min-width:clamp(128px,31vw,170px)!important;
    min-height:48px!important;
    padding:0 18px!important;
    border:1.25px solid rgba(79,93,63,.42)!important;
    border-radius:7px!important;
    background:transparent!important;
    color:#30362c!important;
    font-size:clamp(13px,3.2vw,15px)!important;
    font-weight:500!important;
    box-shadow:none!important;
    white-space:nowrap!important;
  }
  .nav-toggle{
    grid-area:toggle!important;
    display:inline-flex!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    width:42px!important;
    height:42px!important;
    padding:8px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    flex-direction:column!important;
    gap:5px!important;
  }
  .nav-toggle span{
    display:block!important;
    width:27px!important;
    height:2px!important;
    background:#20231e!important;
    border-radius:2px!important;
  }
  .primary-nav{
    top:104px!important;
  }
}

@media (max-width:430px){
  .header-inner{
    min-height:122px!important;
    padding:16px 14px 16px!important;
    grid-template-columns:minmax(0, 1fr) auto auto!important;
    grid-template-areas:"brand book toggle"!important;
    gap:9px!important;
  }
  .site-brand{
    width:min(205px,44vw)!important;
    max-width:205px!important;
    margin:0!important;
  }
  .header-book,
  .book-session.header-book{
    min-width:128px!important;
    min-height:46px!important;
    padding:0 13px!important;
    font-size:13px!important;
  }
  .primary-nav{top:98px!important;}
}


/* v41 premium social handle panel
   Styled like the supplied example: refined email/follow lines with soft circular social icons.
   Positioned at the bottom of the hero/image section only. */
.hero-socials{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  width:min(620px, calc(100% - 44px));
  padding:18px 18px 16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:22px;
  background:rgba(251,247,239,.38);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 42px rgba(63,73,51,.08);
  color:rgba(77,79,70,.72);
}
.hero-socials p{
  margin:0;
  text-align:center;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(18px, 2.2vw, 28px);
  line-height:1.35;
  font-weight:400;
  letter-spacing:.01em;
  color:rgba(77,79,70,.64);
}
.hero-socials a{
  color:inherit;
  text-decoration:none;
}
.hero-socials .social-icons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin-top:8px;
}
.hero-socials .social-icon{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 12px 30px rgba(63,73,51,.09);
  color:rgba(77,79,70,.58);
  font-family:Inter,system-ui,sans-serif;
  font-size:27px;
  font-weight:600;
  line-height:1;
  transition:transform .18s ease, color .18s ease, background .18s ease;
}
.hero-socials .social-icon:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.92);
  color:var(--deep-olive);
}
.hero-socials .social-icon.instagram{
  font-size:30px;
  font-weight:400;
}
@media(max-width:760px){
  .hero-socials{
    bottom:14px;
    width:calc(100% - 36px);
    padding:13px 14px 12px;
    gap:7px;
    border-radius:18px;
    background:rgba(251,247,239,.42);
  }
  .hero-socials p{
    font-size:clamp(15px, 4vw, 19px);
    line-height:1.35;
  }
  .hero-socials .social-icons{
    gap:14px;
    margin-top:6px;
  }
  .hero-socials .social-icon{
    width:43px;
    height:43px;
    font-size:22px;
  }
  .hero-socials .social-icon.instagram{
    font-size:24px;
  }
}


/* v42 precise mobile social-card adjustment
   Only changes the social/contact card sizing and placement on mobile:
   - keeps it centred
   - makes it smaller
   - lowers it so it does not cover the Learn More button
   No header, logo, intro, hero image, typography or other layout rules are changed. */
@media(max-width:760px){
  .wo-hero{
    margin-bottom:54px!important;
  }
  .hero-socials{
    bottom:-34px!important;
    width:min(330px, calc(100% - 72px))!important;
    padding:10px 12px 10px!important;
    gap:5px!important;
    border-radius:16px!important;
    background:rgba(251,247,239,.46)!important;
    box-shadow:0 12px 30px rgba(63,73,51,.07)!important;
  }
  .hero-socials p{
    font-size:clamp(13px, 3.35vw, 16px)!important;
    line-height:1.28!important;
  }
  .hero-socials .social-icons{
    gap:12px!important;
    margin-top:4px!important;
  }
  .hero-socials .social-icon{
    width:36px!important;
    height:36px!important;
    font-size:19px!important;
  }
  .hero-socials .social-icon.instagram{
    font-size:21px!important;
  }
}
@media(max-width:430px){
  .wo-hero{
    margin-bottom:52px!important;
  }
  .hero-socials{
    bottom:-32px!important;
    width:min(318px, calc(100% - 58px))!important;
    padding:9px 11px 9px!important;
  }
}


/* v43 mobile social/contact spacing fix
   Only adjusts the existing hero social card on mobile so it sits below the Learn More button
   and is fully visible. No header, intro screen, hero image, typography, logo or other sections changed. */
@media(max-width:760px){
  .wo-hero{
    overflow:visible!important;
    margin-bottom:128px!important;
  }
  .hero-socials{
    bottom:-86px!important;
    width:min(310px, calc(100% - 86px))!important;
    padding:9px 12px 10px!important;
    gap:4px!important;
    border-radius:15px!important;
    background:rgba(251,247,239,.50)!important;
    box-shadow:0 14px 34px rgba(63,73,51,.08)!important;
  }
  .hero-socials p{
    font-size:clamp(12px, 3.1vw, 15px)!important;
    line-height:1.24!important;
  }
  .hero-socials .social-icons{
    gap:11px!important;
    margin-top:3px!important;
  }
  .hero-socials .social-icon{
    width:34px!important;
    height:34px!important;
    font-size:18px!important;
  }
  .hero-socials .social-icon.instagram{
    font-size:20px!important;
  }
}
@media(max-width:430px){
  .wo-hero{
    overflow:visible!important;
    margin-bottom:126px!important;
  }
  .hero-socials{
    bottom:-84px!important;
    width:min(300px, calc(100% - 72px))!important;
    padding:8px 10px 9px!important;
  }
}


/* v46 TRUE mobile social placement fix
   This only changes the hero social/contact card placement on mobile.
   It moves the card completely below the hero image and centres it inside the warm beige spacing before the next section.
   Header, intro splash, hero image, logo, typography, and all other sections are unchanged. */
@media(max-width:760px){
  .wo-hero{
    overflow:visible!important;
    margin-bottom:230px!important;
  }
  .hero-socials{
    position:absolute!important;
    left:50%!important;
    top:calc(100% + 54px)!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    width:min(300px, calc(100% - 76px))!important;
    padding:10px 12px 12px!important;
    gap:5px!important;
    border-radius:16px!important;
    background:rgba(251,247,239,.58)!important;
    backdrop-filter:blur(13px)!important;
    box-shadow:0 14px 34px rgba(63,73,51,.08)!important;
  }
  .hero-socials p{
    font-size:clamp(12px, 3vw, 15px)!important;
    line-height:1.25!important;
  }
  .hero-socials .social-icons{
    gap:12px!important;
    margin-top:4px!important;
  }
  .hero-socials .social-icon{
    width:35px!important;
    height:35px!important;
    font-size:18px!important;
  }
  .hero-socials .social-icon.instagram{
    font-size:20px!important;
  }
}
@media(max-width:430px){
  .wo-hero{
    margin-bottom:224px!important;
  }
  .hero-socials{
    top:calc(100% + 52px)!important;
    width:min(292px, calc(100% - 72px))!important;
    padding:9px 11px 11px!important;
  }
}


/* v47 contact section image integration
   Adds the approved "Change is possible" image into Get in Touch.
   No changes to header, intro, hero, social card or other sections. */
.contact-feature-image{
  width:min(760px,100%);
  margin:30px auto 28px;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(185,149,88,.15);
  box-shadow:0 18px 46px rgba(96,88,66,.055);
  background:rgba(255,254,250,.82);
}
.contact-feature-image img{
  width:100%;
  aspect-ratio:1.28/1;
  height:auto;
  object-fit:cover;
  object-position:center center;
  display:block;
}
@media(max-width:640px){
  .contact-feature-image{
    width:100%;
    margin:26px auto 24px;
    border-radius:20px;
  }
  .contact-feature-image img{
    aspect-ratio:1.08/1;
    object-position:center center;
  }
}


/* ==================================================
   Cream Luxury Tone
   Built fresh from original v47.
   Changes included:
   1) Header logo uses transparent PNG made from original logo.
   2) Site/header tone updated to the lighter cream luxury colour.
   No layout, typography, spacing or content changes.
================================================== */

:root{
  --wo-cream-luxury:#f4eee4;
  --wo-cream-luxury-soft:#f7f2eb;
}

html,
body,
.site{
  background-color:var(--wo-cream-luxury-soft)!important;
}

.site-header{
  background:var(--wo-cream-luxury)!important;
  border-bottom-color:rgba(146,126,94,.10)!important;
}

.site-brand img{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  border-radius:0!important;
}

/* Keep the hero/overlay in the same warm family without altering layout */
.hero::before,
.hero-overlay{
  background:linear-gradient(
    90deg,
    rgba(247,242,235,.90) 0%,
    rgba(247,242,235,.66) 38%,
    rgba(247,242,235,.10) 70%,
    rgba(247,242,235,0) 100%
  )!important;
}


/* ==================================================
   Slightly Creamier Editorial Tone
   Only colour warmth adjusted slightly.
================================================== */

:root{
  --wo-cream-luxury:#f3ece1;
  --wo-cream-luxury-soft:#f7f1e8;
}

html,
body,
.site{
  background-color:var(--wo-cream-luxury-soft)!important;
}

.site-header{
  background:var(--wo-cream-luxury)!important;
}

.hero::before,
.hero-overlay{
  background:linear-gradient(
    90deg,
    rgba(247,241,232,.92) 0%,
    rgba(247,241,232,.70) 38%,
    rgba(247,241,232,.12) 70%,
    rgba(247,241,232,0) 100%
  )!important;
}


/* Slightly warmer cream refinement */

:root{
  --wo-cream-luxury:#f1e9de;
  --wo-cream-luxury-soft:#f6efe6;
}

html,
body,
.site{
  background-color:var(--wo-cream-luxury-soft)!important;
}

.site-header{
  background:var(--wo-cream-luxury)!important;
}

.hero::before,
.hero-overlay{
  background:linear-gradient(
    90deg,
    rgba(246,239,230,.93) 0%,
    rgba(246,239,230,.72) 38%,
    rgba(246,239,230,.13) 70%,
    rgba(246,239,230,0) 100%
  )!important;
}

/* border tweak only */
.book-session,.btn,.button,.wp-block-button__link,a.btn,button,.hero .btn,.hero .button{border:1.5px solid rgba(53,45,36,.62)!important;}

/* SERVICES SECTION — CENTERED + ZOOMED OUT IMAGE ONLY
   Based on Option 3. Opacity/overlay treatment kept the same.
   Only changes here: text is centered; background image is zoomed out. */
#counselling.section-soft{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#f6efe6!important;
}
#counselling.section-soft::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:url('assets/images/services-editorial-option3.jpg');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:100% auto;
  opacity:.82;
  filter:saturate(.86) contrast(.94) brightness(1.08);
  pointer-events:none;
}
#counselling.section-soft::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(246,239,230,.10) 0%,
      rgba(246,239,230,.28) 33%,
      rgba(246,239,230,.82) 58%,
      rgba(246,239,230,.98) 100%),
    linear-gradient(180deg,
      rgba(246,239,230,.22) 0%,
      rgba(246,239,230,.04) 42%,
      rgba(246,239,230,.30) 100%);
  pointer-events:none;
}
#counselling.section-soft > .container{
  position:relative!important;
  z-index:2!important;
}
#counselling.section-soft .container.narrow{
  max-width:760px!important;
  width:min(86%,760px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
@media (max-width:760px){
  #counselling.section-soft::before{
    background-position:center center;
    background-size:118% auto;
    filter:saturate(.84) contrast(.92) brightness(1.08);
  }
  #counselling.section-soft::after{
    background:
      linear-gradient(90deg,
        rgba(246,239,230,.16) 0%,
        rgba(246,239,230,.50) 42%,
        rgba(246,239,230,.94) 72%,
        rgba(246,239,230,.99) 100%),
      linear-gradient(180deg,
        rgba(246,239,230,.18) 0%,
        rgba(246,239,230,.02) 42%,
        rgba(246,239,230,.28) 100%);
  }
  #counselling.section-soft .container.narrow{
    width:min(88%,560px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}
@media (max-width:430px){
  #counselling.section-soft::before{
    background-position:center center;
    background-size:126% auto;
  }
  #counselling.section-soft .container.narrow{
    width:88%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}


/* SERVICES IMAGE EDGE FEATHER ONLY
   Keeps current image opacity, position, text, spacing and colour unchanged.
   This only fades the image layer at the top/bottom edges so it does not look boxed. */
#counselling.section-soft::before{
  -webkit-mask-image: linear-gradient(to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.35) 6%,
    rgba(0,0,0,1) 16%,
    rgba(0,0,0,1) 84%,
    rgba(0,0,0,.35) 94%,
    rgba(0,0,0,0) 100%);
  mask-image: linear-gradient(to bottom,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.35) 6%,
    rgba(0,0,0,1) 16%,
    rgba(0,0,0,1) 84%,
    rgba(0,0,0,.35) 94%,
    rgba(0,0,0,0) 100%);
}


/* V4 — luxury feathered services image, no hard border / boxed edge.
   Keeps the section content and wording unchanged. */
#counselling.section-soft{
  background:#f6efe6!important;
  overflow:hidden!important;
  position:relative!important;
}
#counselling.section-soft::before{
  content:""!important;
  position:absolute!important;
  inset:-34px 0 -46px 0!important;
  z-index:0!important;
  background-image:url('assets/images/services-editorial-option3.jpg')!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:112% auto!important;
  opacity:.78!important;
  filter:saturate(.84) contrast(.92) brightness(1.10)!important;
  pointer-events:none!important;
  -webkit-mask-image:
    linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.10) 7%,
      rgba(0,0,0,.55) 16%,
      rgba(0,0,0,1) 27%,
      rgba(0,0,0,1) 69%,
      rgba(0,0,0,.55) 82%,
      rgba(0,0,0,.10) 93%,
      rgba(0,0,0,0) 100%),
    linear-gradient(to right,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.25) 8%,
      rgba(0,0,0,1) 20%,
      rgba(0,0,0,1) 80%,
      rgba(0,0,0,.25) 92%,
      rgba(0,0,0,0) 100%);
  -webkit-mask-composite:source-in;
  mask-image:
    linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.10) 7%,
      rgba(0,0,0,.55) 16%,
      rgba(0,0,0,1) 27%,
      rgba(0,0,0,1) 69%,
      rgba(0,0,0,.55) 82%,
      rgba(0,0,0,.10) 93%,
      rgba(0,0,0,0) 100%),
    linear-gradient(to right,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.25) 8%,
      rgba(0,0,0,1) 20%,
      rgba(0,0,0,1) 80%,
      rgba(0,0,0,.25) 92%,
      rgba(0,0,0,0) 100%);
  mask-composite:intersect;
}
#counselling.section-soft::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at center,
      rgba(246,239,230,0) 0%,
      rgba(246,239,230,.10) 44%,
      rgba(246,239,230,.54) 73%,
      rgba(246,239,230,.96) 100%),
    linear-gradient(180deg,
      rgba(246,239,230,.98) 0%,
      rgba(246,239,230,.20) 20%,
      rgba(246,239,230,.06) 48%,
      rgba(246,239,230,.36) 78%,
      rgba(246,239,230,.98) 100%),
    linear-gradient(90deg,
      rgba(246,239,230,.78) 0%,
      rgba(246,239,230,.12) 22%,
      rgba(246,239,230,.12) 66%,
      rgba(246,239,230,.90) 100%)!important;
}
#counselling.section-soft > .container{
  position:relative!important;
  z-index:2!important;
}
#counselling.section-soft .eyebrow::before,
#counselling.section-soft .eyebrow::after{
  content:none!important;
  display:none!important;
}
@media (max-width:760px){
  #counselling.section-soft{
    padding-top:92px!important;
    padding-bottom:118px!important;
  }
  #counselling.section-soft::before{
    inset:-46px -10px -60px -10px!important;
    background-position:center center!important;
    background-size:134% auto!important;
    opacity:.76!important;
  }
  #counselling.section-soft::after{
    background:
      radial-gradient(ellipse at center,
        rgba(246,239,230,0) 0%,
        rgba(246,239,230,.12) 43%,
        rgba(246,239,230,.60) 75%,
        rgba(246,239,230,.98) 100%),
      linear-gradient(180deg,
        rgba(246,239,230,1) 0%,
        rgba(246,239,230,.26) 22%,
        rgba(246,239,230,.08) 50%,
        rgba(246,239,230,.42) 78%,
        rgba(246,239,230,1) 100%),
      linear-gradient(90deg,
        rgba(246,239,230,.72) 0%,
        rgba(246,239,230,.08) 25%,
        rgba(246,239,230,.08) 64%,
        rgba(246,239,230,.88) 100%)!important;
  }
}
@media (max-width:430px){
  #counselling.section-soft::before{
    inset:-52px -12px -66px -12px!important;
    background-size:140% auto!important;
  }
}


/* V5 — SERVICES IMAGE: STRONGER ALL-EDGE FEATHER ONLY
   No content, typography, spacing, or section layout changes.
   This removes the visible rectangular image edge by fading the image on every side. */
#counselling.section-soft{
  background:#f6efe6!important;
}
#counselling.section-soft::before{
  opacity:.78!important;
  -webkit-mask-image:
    linear-gradient(to right,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.08) 8%,
      rgba(0,0,0,.45) 18%,
      rgba(0,0,0,.92) 31%,
      rgba(0,0,0,.92) 69%,
      rgba(0,0,0,.45) 82%,
      rgba(0,0,0,.08) 92%,
      rgba(0,0,0,0) 100%),
    linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.08) 8%,
      rgba(0,0,0,.45) 18%,
      rgba(0,0,0,.94) 32%,
      rgba(0,0,0,.94) 68%,
      rgba(0,0,0,.45) 82%,
      rgba(0,0,0,.08) 92%,
      rgba(0,0,0,0) 100%)!important;
  -webkit-mask-composite: source-in!important;
  mask-image:
    linear-gradient(to right,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.08) 8%,
      rgba(0,0,0,.45) 18%,
      rgba(0,0,0,.92) 31%,
      rgba(0,0,0,.92) 69%,
      rgba(0,0,0,.45) 82%,
      rgba(0,0,0,.08) 92%,
      rgba(0,0,0,0) 100%),
    linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.08) 8%,
      rgba(0,0,0,.45) 18%,
      rgba(0,0,0,.94) 32%,
      rgba(0,0,0,.94) 68%,
      rgba(0,0,0,.45) 82%,
      rgba(0,0,0,.08) 92%,
      rgba(0,0,0,0) 100%)!important;
  mask-composite: intersect!important;
}
#counselling.section-soft::after{
  background:
    radial-gradient(ellipse at center,
      rgba(246,239,230,0) 0%,
      rgba(246,239,230,.03) 38%,
      rgba(246,239,230,.26) 58%,
      rgba(246,239,230,.74) 78%,
      rgba(246,239,230,1) 100%),
    linear-gradient(90deg,
      rgba(246,239,230,.86) 0%,
      rgba(246,239,230,.28) 20%,
      rgba(246,239,230,.05) 45%,
      rgba(246,239,230,.34) 76%,
      rgba(246,239,230,.96) 100%),
    linear-gradient(180deg,
      rgba(246,239,230,1) 0%,
      rgba(246,239,230,.32) 18%,
      rgba(246,239,230,.04) 42%,
      rgba(246,239,230,.18) 66%,
      rgba(246,239,230,1) 100%)!important;
}
@media (max-width:760px){
  #counselling.section-soft::before{
    opacity:.76!important;
  }
  #counselling.section-soft::after{
    background:
      radial-gradient(ellipse at center,
        rgba(246,239,230,0) 0%,
        rgba(246,239,230,.04) 34%,
        rgba(246,239,230,.34) 55%,
        rgba(246,239,230,.82) 76%,
        rgba(246,239,230,1) 100%),
      linear-gradient(90deg,
        rgba(246,239,230,.94) 0%,
        rgba(246,239,230,.40) 18%,
        rgba(246,239,230,.08) 46%,
        rgba(246,239,230,.44) 78%,
        rgba(246,239,230,.98) 100%),
      linear-gradient(180deg,
        rgba(246,239,230,1) 0%,
        rgba(246,239,230,.42) 18%,
        rgba(246,239,230,.06) 44%,
        rgba(246,239,230,.26) 66%,
        rgba(246,239,230,1) 100%)!important;
  }
}


/* V6 — SERVICES TYPOGRAPHY SPACING ONLY
   Refines the Services text spacing so it feels more luxury and less crowded.
   No wording, imagery, colours, feathering, header, hero, FAQ or contact layout changed. */
#counselling.section-soft .container.narrow{
  max-width:920px!important;
}
#counselling.section-soft .eyebrow{
  margin-bottom:34px!important;
  line-height:1.35!important;
  letter-spacing:.24em!important;
}
#counselling.section-soft h2{
  max-width:900px!important;
  margin:0 auto 38px!important;
  line-height:1.19!important;
  letter-spacing:.002em!important;
}
#counselling.section-soft .section-intro{
  max-width:760px!important;
  margin:0 auto!important;
  line-height:1.78!important;
  letter-spacing:.006em!important;
}
@media (max-width:760px){
  #counselling.section-soft{
    padding-top:112px!important;
    padding-bottom:138px!important;
  }
  #counselling.section-soft .container.narrow{
    max-width:92vw!important;
  }
  #counselling.section-soft .eyebrow{
    margin-bottom:32px!important;
    line-height:1.4!important;
  }
  #counselling.section-soft h2{
    max-width:88vw!important;
    margin-bottom:40px!important;
    line-height:1.20!important;
  }
  #counselling.section-soft .section-intro{
    max-width:86vw!important;
    line-height:1.82!important;
  }
}
@media (max-width:430px){
  #counselling.section-soft{
    padding-top:118px!important;
    padding-bottom:146px!important;
  }
  #counselling.section-soft .eyebrow{
    margin-bottom:34px!important;
  }
  #counselling.section-soft h2{
    max-width:90vw!important;
    margin-bottom:42px!important;
    line-height:1.21!important;
  }
  #counselling.section-soft .section-intro{
    max-width:88vw!important;
    line-height:1.86!important;
  }
}

/* V8 — SERVICES SURROUNDING COLOUR MATCH ONLY
   Requested change only: the colour surrounding the Services image now matches the warm banner/social handle background tone.
   No layout, typography, spacing, image position, feathering, or content changes. */
#counselling.section-soft{
  background:#fbf7ef!important;
}
#counselling.section-soft::after{
  background:
    radial-gradient(ellipse at center,
      rgba(251,247,239,0) 0%,
      rgba(251,247,239,.04) 34%,
      rgba(251,247,239,.34) 55%,
      rgba(251,247,239,.82) 76%,
      rgba(251,247,239,1) 100%),
    linear-gradient(90deg,
      rgba(251,247,239,.94) 0%,
      rgba(251,247,239,.40) 18%,
      rgba(251,247,239,.08) 46%,
      rgba(251,247,239,.44) 78%,
      rgba(251,247,239,.98) 100%),
    linear-gradient(180deg,
      rgba(251,247,239,1) 0%,
      rgba(251,247,239,.42) 18%,
      rgba(251,247,239,.06) 44%,
      rgba(251,247,239,.26) 66%,
      rgba(251,247,239,1) 100%)!important;
}
@media (min-width:761px){
  #counselling.section-soft::after{
    background:
      radial-gradient(ellipse at center,
        rgba(251,247,239,0) 0%,
        rgba(251,247,239,.03) 38%,
        rgba(251,247,239,.26) 58%,
        rgba(251,247,239,.74) 78%,
        rgba(251,247,239,1) 100%),
      linear-gradient(90deg,
        rgba(251,247,239,.86) 0%,
        rgba(251,247,239,.28) 20%,
        rgba(251,247,239,.05) 45%,
        rgba(251,247,239,.34) 76%,
        rgba(251,247,239,.96) 100%),
      linear-gradient(180deg,
        rgba(251,247,239,1) 0%,
        rgba(251,247,239,.32) 18%,
        rgba(251,247,239,.04) 42%,
        rgba(251,247,239,.18) 66%,
        rgba(251,247,239,1) 100%)!important;
  }
}


/* V10 — ABOUT SECTION ONLY: centred luxury spacing
   Applies only to the About section. No Services, header, hero, contact, image feathering, colours, or content changed. */
.wo-about{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:clamp(78px, 9vw, 132px) clamp(28px, 7vw, 110px)!important;
  gap:0!important;
}
.wo-about-image{
  display:none!important;
}
.wo-about-copy{
  width:min(760px, 100%)!important;
  max-width:760px!important;
  margin:0 auto!important;
  text-align:center!important;
  position:relative!important;
  z-index:2!important;
}
.wo-about .eyebrow{
  text-align:center!important;
  margin:0 auto clamp(28px, 3.2vw, 38px)!important;
  letter-spacing:.24em!important;
}
.wo-about h2{
  max-width:720px!important;
  margin:0 auto clamp(34px, 4vw, 48px)!important;
  text-align:center!important;
  line-height:1.14!important;
  letter-spacing:-.025em!important;
}
.wo-about p:not(.eyebrow){
  max-width:720px!important;
  margin:0 auto!important;
  text-align:center!important;
  line-height:1.95!important;
}
.wo-line-leaf{
  right:clamp(20px, 8vw, 128px)!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  opacity:.085!important;
}
@media (max-width:760px){
  .wo-about{
    padding:76px 26px 92px!important;
  }
  .wo-about .eyebrow{
    margin-bottom:30px!important;
  }
  .wo-about h2{
    font-size:clamp(38px, 10.8vw, 54px)!important;
    line-height:1.16!important;
    margin-bottom:34px!important;
  }
  .wo-about p:not(.eyebrow){
    font-size:18px!important;
    line-height:1.9!important;
    max-width:350px!important;
  }
  .wo-line-leaf{
    width:190px!important;
    height:190px!important;
    right:-8px!important;
    top:57%!important;
    opacity:.075!important;
  }
}
@media (max-width:430px){
  .wo-about{
    padding:72px 24px 88px!important;
  }
  .wo-about h2{
    font-size:clamp(38px, 11.8vw, 50px)!important;
  }
  .wo-about p:not(.eyebrow){
    font-size:17px!important;
    line-height:1.9!important;
  }
}


/* V11 — ABOUT SECTION ONLY: move W&O watermark lower and make it slightly more visible.
   No text, layout, colours, Services section, hero, header, footer, or image feathering changed. */
.wo-about .wo-line-leaf,
.wo-line-leaf{
  left:50%!important;
  right:auto!important;
  top:80%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:clamp(220px, 27vw, 320px)!important;
  height:clamp(220px, 27vw, 320px)!important;
  opacity:.115!important;
  z-index:1!important;
  pointer-events:none!important;
}
.wo-about-copy{
  position:relative!important;
  z-index:2!important;
}
@media (max-width:760px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    left:50%!important;
    right:auto!important;
    top:74%!important;
    transform:translate(-50%,-50%)!important;
    width:245px!important;
    height:245px!important;
    opacity:.105!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:75%!important;
    width:232px!important;
    height:232px!important;
    opacity:.105!important;
  }
}


/* V12 — ABOUT SECTION ONLY: move the W&O watermark further down so it sits beneath the “understood.” line.
   No other sections, typography, colours, spacing, images, or feathering changed. */
.wo-about .wo-line-leaf,
.wo-line-leaf{
  top:82%!important;
}
@media (max-width:760px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:82.5%!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:83%!important;
  }
}

/* V14 — SERVICES LABEL POSITION ONLY
   Moves the visible “Services” label from the top of the Services image to below the image,
   above the “How do I start?” cards. No colours, images, feathering, typography, contact details,
   About section, or layout content changed. */
#counselling.section-soft .eyebrow{
  visibility:hidden!important;
}
.services-label-below-image{
  background:#fbf7ef!important;
  color:#565f44!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.24em!important;
  line-height:1.4!important;
  text-transform:uppercase!important;
  text-align:center!important;
  margin:0!important;
  padding:0 22px 38px!important;
}
.services-label-below-image + #faq.section{
  padding-top:0!important;
}
@media (max-width:760px){
  .services-label-below-image{
    padding-bottom:34px!important;
  }
}


/* V18 — ABOUT WATERMARK POSITION ONLY
   Centres the W&O watermark behind the two ABOUT paragraphs so it feels intentional and balanced.
   No text, colours, layout, imagery, links, buttons, Services section, Hero section, Contact section, or spacing changed. */
.wo-about{
  position:relative!important;
}
.wo-about .wo-line-leaf,
.wo-line-leaf{
  left:50%!important;
  right:auto!important;
  top:67%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:clamp(250px, 30vw, 360px)!important;
  height:clamp(250px, 30vw, 360px)!important;
  opacity:.085!important;
  z-index:1!important;
  pointer-events:none!important;
}
.wo-about-copy{
  position:relative!important;
  z-index:2!important;
}
@media (max-width:760px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:68%!important;
    width:285px!important;
    height:285px!important;
    opacity:.08!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:68.5%!important;
    width:275px!important;
    height:275px!important;
    opacity:.08!important;
  }
}


/* V19 — ABOUT WATERMARK ONLY
   Moves only the W&O watermark slightly higher and increases only its opacity a touch,
   so it sits centrally behind the two About paragraphs. No text, layout, spacing, colours,
   links, buttons, images, hero, services, contact or footer styling changed. */
.wo-about .wo-line-leaf,
.wo-line-leaf{
  top:64.5%!important;
  opacity:.115!important;
}
@media (max-width:760px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:64.5%!important;
    opacity:.112!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:64.5%!important;
    opacity:.112!important;
  }
}

/* V20 — ABOUT WATERMARK OPACITY ONLY
   Requested change only: increase the ABOUT watermark opacity by a subtle 5–8%.
   No position, layout, text, colours, spacing, images, links, buttons, or other sections changed. */
.wo-about .wo-line-leaf,
.wo-line-leaf{
  opacity:.123!important;
}
@media (max-width:760px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    opacity:.120!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    opacity:.120!important;
  }
}


/* V21 — SERVICES HEADING RESTORED ABOVE IMAGE ONLY
   Restores the Services label above the counselling image and removes the duplicate label below it.
   No About, Hero, Contact, colours, text, image feathering, or spacing changes made. */
#counselling.section-soft .eyebrow{
  visibility:visible!important;
  display:block!important;
}
.services-label-below-image{
  display:none!important;
}
#counselling + #faq.section{
  padding-top:clamp(54px,7vw,86px)!important;
}


#counselling.section-soft::before{
background-position:center 62% !important;
background-size:88% auto !important;
}
.services-content{max-width:760px;margin:0 auto;text-align:center;position:relative;z-index:3;}
.services-focus{padding:2rem 0; margin:1rem auto;}
.services-focus ul{list-style:disc;display:inline-block;text-align:left;}


/* V28: Services background image only — larger and spanning the full bullet list */
#counselling .services-focus{
  position: relative;
  z-index: 2;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
  padding: 2.25rem 0 2.25rem;
}

#counselling .services-focus::before{
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 0;
  width: 112%;
  height: 100%;
  transform: translateX(-50%);
  background-image: url('assets/images/hero-warm-counselling.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 0.78;
  pointer-events: none;
  border-radius: 0;
}

#counselling.section-soft::before{
  display: none !important;
}

@media (max-width: 767px){
  #counselling .services-focus{
    padding: 2.15rem 0 2.15rem;
  }

  #counselling .services-focus::before{
    width: 120%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    opacity: 0.82;
  }
}


/* V32 — image treatment only. Text, fonts, colours and layout are left as the original V28. */
#counselling.section-soft::before,
#counselling .container.narrow::before{
  display:none !important;
}
#counselling .services-editorial-image{
  display:none !important;
}
#counselling .services-focus::before{
  background-image:url('assets/images/services-editorial-option3.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
  opacity:.72 !important;
  filter:saturate(.78) contrast(.92) brightness(1.18) !important;
  border-radius:0 !important;
}
@media (max-width:767px){
  #counselling .services-focus::before{
    background-position:center center !important;
    background-size:cover !important;
    opacity:.70 !important;
  }
}


/* V34 — only move the services-focus heading up slightly. No font, colour, image, list, or layout changes. */
#counselling .services-focus > p:first-child{
  transform: translateY(-18px) !important;
}

@media (max-width:767px){
  #counselling .services-focus > p:first-child{
    transform: translateY(-22px) !important;
  }
}


/* V35: tiny raise only for the “I offer counselling for adults experiencing:” heading */
#counselling .services-focus > p:first-child,
#counselling .services-focus > strong:first-child,
#counselling .services-focus h3:first-child,
#counselling .services-focus-heading {
  position: relative !important;
  top: -18px !important;
  margin-bottom: -18px !important;
}




/* V40: reduce only the mobile gap above SERVICES */
@media (max-width: 768px) {
  #counselling,
  section#counselling,
  .section#counselling,
  .home-section#counselling {
    padding-top: 2.5rem !important;
    margin-top: 0 !important;
  }

  #counselling .section-inner,
  #counselling .container,
  #counselling .container.narrow {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
}




/* V46: reduce ONLY the gap between the end of About Olivia text and SERVICES */
@media (max-width: 768px) {
  .wo-about {
    padding-bottom: 28px !important;
  }

  #counselling.section-soft,
  section#counselling.section-soft {
    padding-top: 42px !important;
    margin-top: 0 !important;
  }
}


/* V68: mobile header spacing fix for longer consultation button */
@media (max-width: 768px) {
  .site-header .header-inner,
  .main-header .header-inner,
  .header-inner {
    display: grid !important;
    grid-template-columns: minmax(130px, 0.95fr) minmax(185px, 1.15fr) 44px !important;
    align-items: center !important;
    column-gap: 14px !important;
  }

  .site-header .brand,
  .site-header .logo,
  .header-inner .brand,
  .header-inner .logo,
  .site-logo {
    min-width: 0 !important;
    justify-self: start !important;
  }

  .site-header .brand img,
  .site-header .logo img,
  .header-inner .brand img,
  .header-inner .logo img,
  .site-logo img {
    max-width: 150px !important;
    height: auto !important;
  }

  .book-session,
  .header-book {
    justify-self: end !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 10px 18px !important;
    white-space: nowrap !important;
    font-size: clamp(14px, 3.45vw, 17px) !important;
    line-height: 1.1 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .nav-toggle {
    justify-self: end !important;
    width: 38px !important;
    min-width: 38px !important;
    margin-left: 4px !important;
  }
}

@media (max-width: 390px) {
  .site-header .header-inner,
  .main-header .header-inner,
  .header-inner {
    grid-template-columns: minmax(115px, 0.85fr) minmax(170px, 1.2fr) 40px !important;
    column-gap: 10px !important;
  }

  .site-header .brand img,
  .site-header .logo img,
  .header-inner .brand img,
  .header-inner .logo img,
  .site-logo img {
    max-width: 135px !important;
  }

  .book-session,
  .header-book {
    padding: 9px 14px !important;
    font-size: clamp(13px, 3.35vw, 15px) !important;
  }
}


/* V69: definitive mobile header layout correction */
@media (max-width: 768px) {
  header .header-inner,
  .site-header .header-inner,
  .header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding-left: 28px !important;
    padding-right: 24px !important;
  }

  header .site-branding,
  header .brand,
  header .logo,
  .header-inner .site-branding,
  .header-inner .brand,
  .header-inner .logo,
  .site-logo {
    flex: 0 0 34% !important;
    max-width: 34% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  header .site-branding img,
  header .brand img,
  header .logo img,
  .header-inner .site-branding img,
  .header-inner .brand img,
  .header-inner .logo img,
  .site-logo img {
    max-width: 165px !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  .book-session,
  .header-book,
  a.book-session,
  a.header-book {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 48vw !important;
    margin-left: auto !important;
    margin-right: 10px !important;
    padding: 9px 15px !important;
    white-space: nowrap !important;
    font-size: clamp(13px, 3.2vw, 16px) !important;
    line-height: 1.1 !important;
    text-align: center !important;
  }

  .nav-toggle,
  button.nav-toggle {
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 390px) {
  header .header-inner,
  .site-header .header-inner,
  .header-inner {
    gap: 12px !important;
    padding-left: 24px !important;
    padding-right: 20px !important;
  }

  header .site-branding,
  header .brand,
  header .logo,
  .header-inner .site-branding,
  .header-inner .brand,
  .header-inner .logo,
  .site-logo {
    flex-basis: 32% !important;
    max-width: 32% !important;
  }

  header .site-branding img,
  header .brand img,
  header .logo img,
  .header-inner .site-branding img,
  .header-inner .brand img,
  .header-inner .logo img,
  .site-logo img {
    max-width: 145px !important;
  }

  .book-session,
  .header-book,
  a.book-session,
  a.header-book {
    max-width: 50vw !important;
    padding: 8px 12px !important;
    font-size: clamp(12px, 3.1vw, 14px) !important;
    margin-right: 8px !important;
  }
}


/* V74: remove empty header consultation box only */
.header-book:empty,
.book-session:empty {
  display: none !important;
}


/* V79: Fees section */
.fees-section {
  padding: 64px clamp(24px, 7vw, 110px);
  background: #fbf7ef;
}
.fees-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}
.fees-section h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(34px, 5vw, 54px) !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;
  color: #30362c !important;
  margin: 0 0 32px !important;
}
.fees-item {
  border-top: 1px solid rgba(48,54,44,.16);
  padding: 22px 0;
}
.fees-item:last-child {
  border-bottom: 1px solid rgba(48,54,44,.16);
}
.fees-item h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
  color: #30362c !important;
  margin: 0 0 8px !important;
}
.fees-item p {
  margin: 0;
  color: #30362c;
  font-size: 16px;
  line-height: 1.75;
}
@media (max-width: 768px) {
  .fees-section {
    padding: 48px 24px;
  }
  .fees-item h3 {
    font-size: 24px !important;
  }
  .fees-item p {
    font-size: 14px;
  }
}


/* V83: Professional Membership section */
.professional-membership-section {
  padding: 64px clamp(24px, 7vw, 110px);
  background: #fffaf2;
}
.professional-membership-inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: left;
}
.professional-membership-section h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(34px, 5vw, 54px) !important;
  line-height: 1.05 !important;
  font-weight: 500 !important;
  color: #30362c !important;
  margin: 0 0 28px !important;
}
.professional-membership-section p:not(.eyebrow) {
  margin: 0 0 20px;
  color: #30362c;
  font-size: 16px;
  line-height: 1.75;
}
.professional-membership-section p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .professional-membership-section {
    padding: 48px 24px;
  }
  .professional-membership-section p:not(.eyebrow) {
    font-size: 14px;
  }
}


/* V84: centre Professional Membership and Fees sections */
.professional-membership-inner,
.professional-membership-section,
.fees-inner,
.fees-section {
  text-align: center !important;
}

.professional-membership-section .eyebrow,
.fees-section .eyebrow {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.professional-membership-section h2,
.fees-section h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.professional-membership-section p:not(.eyebrow),
.fees-section p,
.fees-section h3 {
  text-align: center !important;
}

.fees-item {
  text-align: center !important;
}


/* V85 FORCE CENTER */
.professional-membership-section,
.professional-membership-section *,
.professional-membership-inner,
.fees-section,
.fees-section *,
.fees-inner {
    text-align: center !important;
}

.professional-membership-inner,
.fees-inner {
    margin-left: auto !important;
    margin-right: auto !important;
}

.fees-section h2,
.fees-section .eyebrow,
.professional-membership-section h2,
.professional-membership-section .eyebrow {
    text-align: center !important;
}


/* V86 Qualifications heading */
.qualifications-section .eyebrow {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.qualifications-section h3 {
  text-align: center !important;
}




/* V93 — Services section final clean premium layout */
#counselling.section-soft {
  background: #fbf7ef !important;
}

#counselling .container.narrow {
  max-width: 920px !important;
  text-align: center !important;
}

#counselling .eyebrow {
  visibility: visible !important;
  display: block !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#counselling h2 {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

#counselling .services-content {
  max-width: 820px !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative !important;
  z-index: 3 !important;
}

#counselling .services-content > p {
  max-width: 680px !important;
  margin: 1.4rem auto 2.6rem !important;
  text-align: center !important;
  font-size: clamp(15px, 2.2vw, 19px) !important;
  line-height: 1.7 !important;
  color: #4d4f46 !important;
}

/* Image is decorative only: no inner heading, no inner paragraph */
#counselling .services-focus {
  position: relative !important;
  overflow: hidden !important;
  z-index: 2 !important;
  max-width: 820px !important;
  min-height: 480px !important;
  margin: 0 auto !important;
  padding: clamp(3rem, 7vw, 5rem) clamp(2rem, 6vw, 4.5rem) !important;
  border-radius: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 28px 70px rgba(70, 64, 50, 0.08) !important;
}

#counselling .services-focus::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  background-image: url('assets/images/services-editorial-option3.jpg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  opacity: 0.58 !important;
  filter: saturate(.82) contrast(.96) brightness(1.08) !important;
  pointer-events: none !important;
}

#counselling .services-focus::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: rgba(250, 247, 239, 0.70) !important;
  pointer-events: none !important;
}

#counselling .services-focus p,
#counselling .services-focus h1,
#counselling .services-focus h2,
#counselling .services-focus h3,
#counselling .services-focus h4,
#counselling .services-focus strong {
  display: none !important;
}

/* No icons, no bullets: just typography */
#counselling .services-concerns-list,
#counselling .services-focus ul {
  width: min(100%, 720px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: clamp(2rem, 6vw, 4.8rem) !important;
  row-gap: 1.15rem !important;
  text-align: left !important;
}

#counselling .services-concerns-list li,
#counselling .services-focus li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: clamp(17px, 2.25vw, 21px) !important;
  line-height: 1.35 !important;
  color: #3f443a !important;
  font-weight: 500 !important;
}

#counselling .services-concerns-list li::before,
#counselling .services-focus li::before {
  display: none !important;
  content: none !important;
}

@media (max-width: 767px) {
  #counselling .services-content > p {
    font-size: 18px !important;
    line-height: 1.72 !important;
    margin-bottom: 2.2rem !important;
  }

  #counselling .services-focus {
    width: calc(100vw - 44px) !important;
    max-width: none !important;
    min-height: 600px !important;
    margin-left: 50% !important;
    transform: translateX(-50%) !important;
    padding: 3.2rem 2.1rem !important;
    border-radius: 34px !important;
  }

  #counselling .services-focus::before {
    opacity: 0.50 !important;
  }

  #counselling .services-focus::after {
    background: rgba(250, 247, 239, 0.76) !important;
  }

  #counselling .services-concerns-list,
  #counselling .services-focus ul {
    grid-template-columns: 1fr !important;
    row-gap: 1rem !important;
    max-width: 340px !important;
    text-align: center !important;
  }

  #counselling .services-concerns-list li,
  #counselling .services-focus li {
    font-size: 17px !important;
    line-height: 1.38 !important;
    text-align: center !important;
  }
}


/* V94 FIX — attach image to entire services card */
#counselling .services-focus{
  background-image:url('assets/images/services-editorial-option3.jpg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
#counselling .services-focus::before{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}


/* V94 REAL editorial Professional Membership background image */
#professional-membership.professional-membership-section {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #fffaf2 !important;
  padding: clamp(78px, 8vw, 118px) clamp(24px, 7vw, 110px) !important;
  min-height: 720px;
}

#professional-membership.professional-membership-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("assets/images/professional-membership-editorial-bg.jpg");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 63% auto;
  opacity: 0.58;
  filter: saturate(0.82) contrast(0.96);
  transform: scale(1.04);
  transform-origin: left center;
}

#professional-membership.professional-membership-section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(255,250,242,0.10) 0%, rgba(255,250,242,0.64) 43%, #fffaf2 72%),
    radial-gradient(circle at 72% 42%, rgba(255,255,255,0.72) 0%, rgba(255,250,242,0.52) 34%, rgba(255,250,242,0.18) 62%, rgba(255,250,242,0) 100%);
}

#professional-membership .professional-membership-inner {
  position: relative !important;
  z-index: 1 !important;
  max-width: 620px !important;
  margin: 0 clamp(28px, 8vw, 120px) 0 auto !important;
  text-align: left !important;
}

#professional-membership .eyebrow,
#professional-membership h2,
#professional-membership p:not(.eyebrow) {
  text-align: left !important;
}

#professional-membership h2 {
  max-width: 600px !important;
  margin-bottom: 34px !important;
}

#professional-membership h2::after {
  content: "";
  display: block;
  width: 74px;
  height: 1px;
  margin-top: 28px;
  background: rgba(94, 107, 78, 0.34);
}

#professional-membership p:not(.eyebrow) {
  font-size: clamp(16px, 1.32vw, 19px) !important;
  line-height: 1.78 !important;
  max-width: 590px !important;
}

@media (max-width: 860px) {
  #professional-membership.professional-membership-section {
    padding: 76px 22px 88px !important;
    min-height: 760px;
    background: #fffaf2 !important;
  }

  /* V95: stronger high-end editorial mobile treatment.
     The botanical image now lives as a visible left-side panel and fades into the copy,
     instead of being washed across the whole section. */
  #professional-membership.professional-membership-section::before {
    inset: 0 auto 0 0;
    width: 48%;
    height: 100%;
    background-position: 42% center;
    background-size: cover;
    opacity: 0.86;
    filter: saturate(0.86) contrast(1.04) brightness(0.98);
    transform: none;
  }

  #professional-membership.professional-membership-section::after {
    background:
      linear-gradient(90deg,
        rgba(255,250,242,0.00) 0%,
        rgba(255,250,242,0.12) 28%,
        rgba(255,250,242,0.64) 48%,
        rgba(255,250,242,0.94) 68%,
        #fffaf2 100%),
      radial-gradient(circle at 73% 36%, rgba(255,255,255,0.56) 0%, rgba(255,250,242,0.28) 42%, rgba(255,250,242,0) 74%);
  }

  #professional-membership .professional-membership-inner {
    width: 62% !important;
    max-width: 520px !important;
    margin: 0 0 0 auto !important;
    text-align: left !important;
  }

  #professional-membership .eyebrow,
  #professional-membership h2,
  #professional-membership p:not(.eyebrow) {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #professional-membership .eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.22em !important;
  }

  #professional-membership h2 {
    font-size: clamp(40px, 9.8vw, 58px) !important;
    line-height: 0.96 !important;
    margin-bottom: 32px !important;
  }

  #professional-membership h2::after {
    margin-left: 0;
    margin-right: 0;
    width: 68px;
  }

  #professional-membership p:not(.eyebrow) {
    font-size: clamp(15px, 3.6vw, 17px) !important;
    line-height: 1.76 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 430px) {
  #professional-membership.professional-membership-section {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  #professional-membership.professional-membership-section::before {
    width: 45%;
    opacity: 0.82;
    background-position: 46% center;
  }

  #professional-membership .professional-membership-inner {
    width: 66% !important;
  }

  #professional-membership h2 {
    font-size: clamp(36px, 9.4vw, 44px) !important;
  }

  #professional-membership p:not(.eyebrow) {
    font-size: 15px !important;
  }
}


/* V94 Editorial Professional Membership */
.professional-membership-section{
 position:relative;
 overflow:hidden;
 background:#fbf7ef !important;
}
.professional-membership-section::before{
 content:"";
 position:absolute;
 left:0;
 top:0;
 bottom:0;
 width:42%;
 background:url('assets/images/leaf-shadow.jpg') left center/cover no-repeat;
 opacity:1 !important;
 filter:none;
}
.professional-membership-section::after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(90deg, rgba(251,247,239,0.15) 0%, rgba(251,247,239,0.78) 34%, rgba(251,247,239,0.95) 55%, rgba(251,247,239,1) 100%);
 pointer-events:none;
}
.professional-membership-inner{
 position:relative;
 z-index:2;
 max-width:720px;
 margin-left:auto !important;
 margin-right:6% !important;
}
@media(max-width:768px){
 .professional-membership-section::before{
   width:48%;
   opacity:1 !important;
   background-size:cover;
   background-position:left center;
 }
 .professional-membership-section::after{
   background:linear-gradient(90deg, rgba(251,247,239,0.20) 0%, rgba(251,247,239,0.72) 38%, rgba(251,247,239,0.92) 58%, rgba(251,247,239,1) 100%);
 }
 .professional-membership-inner{
   max-width:460px;
   margin-right:4% !important;
 }
}

/* V55 — editorial Services card, full-strength image with soft right-side text panel */
#counselling.section-soft{
  background:#fffaf2 !important;
  padding-top:clamp(82px, 10vw, 130px) !important;
  padding-bottom:clamp(78px, 10vw, 125px) !important;
}

#counselling .container.narrow{
  max-width:1040px !important;
}

#counselling .eyebrow{
  text-align:center !important;
  margin-bottom:1.8rem !important;
}

#counselling h2{
  max-width:720px !important;
  margin:0 auto clamp(2.9rem, 6vw, 4.7rem) !important;
  text-align:center !important;
}

#counselling .services-content{
  max-width:980px !important;
  margin:0 auto !important;
  text-align:center !important;
}

#counselling .services-focus{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  max-width:960px !important;
  min-height:760px !important;
  margin:0 auto !important;
  padding:clamp(4rem, 7vw, 6.2rem) clamp(3rem, 7vw, 5.0rem) !important;
  border-radius:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  isolation:isolate !important;
  background-image:url('assets/images/services-editorial-option3.jpg') !important;
  background-size:cover !important;
  background-position:left center !important;
  background-repeat:no-repeat !important;
  box-shadow:0 28px 80px rgba(68,62,49,.08) !important;
}

#counselling .services-focus::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  z-index:-2 !important;
  background-image:url('assets/images/services-editorial-option3.jpg') !important;
  background-size:cover !important;
  background-position:left center !important;
  background-repeat:no-repeat !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

#counselling .services-focus::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-1 !important;
  background:
    linear-gradient(90deg,
      rgba(250,247,239,.04) 0%,
      rgba(250,247,239,.08) 22%,
      rgba(250,247,239,.42) 45%,
      rgba(250,247,239,.82) 67%,
      rgba(250,247,239,.94) 100%) !important;
  pointer-events:none !important;
}

#counselling .services-concerns-list,
#counselling .services-focus ul{
  position:relative !important;
  z-index:2 !important;
  width:min(100%, 520px) !important;
  max-width:520px !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
  list-style:none !important;
  display:block !important;
  text-align:left !important;
}

#counselling .services-concerns-list li,
#counselling .services-focus li{
  position:relative !important;
  list-style:none !important;
  margin:0 !important;
  padding:1.02rem 0 !important;
  font-size:clamp(19px, 2.3vw, 24px) !important;
  line-height:1.28 !important;
  color:#30382f !important;
  font-weight:500 !important;
  text-align:left !important;
  letter-spacing:-.01em !important;
}

#counselling .services-concerns-list li + li::before,
#counselling .services-focus li + li::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  width:170px !important;
  height:1px !important;
  background:rgba(111,121,91,.26) !important;
}

#counselling .services-content > p{
  max-width:720px !important;
  margin:2.6rem auto 0 !important;
  text-align:center !important;
  font-size:clamp(18px, 2.2vw, 21px) !important;
  line-height:1.72 !important;
  color:#4d4f46 !important;
}

@media (max-width:767px){
  #counselling.section-soft{
    padding-top:72px !important;
    padding-bottom:82px !important;
  }

  #counselling .container.narrow{
    max-width:none !important;
    width:100% !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  #counselling .eyebrow{
    margin-bottom:1.55rem !important;
  }

  #counselling h2{
    max-width:360px !important;
    margin:0 auto 3rem !important;
    padding:0 24px !important;
  }

  #counselling .services-content{
    max-width:none !important;
    width:100% !important;
  }

  #counselling .services-focus{
    width:calc(100vw - 38px) !important;
    max-width:none !important;
    min-height:880px !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
    padding:4rem 1.5rem 4rem calc(44vw - 30px) !important;
    border-radius:36px !important;
    align-items:center !important;
    justify-content:flex-end !important;
    background-position:left center !important;
    background-size:cover !important;
  }

  #counselling .services-focus::before{
    opacity:1 !important;
    filter:none !important;
    background-position:left center !important;
    background-size:cover !important;
  }

  #counselling .services-focus::after{
    background:
      linear-gradient(90deg,
        rgba(250,247,239,.00) 0%,
        rgba(250,247,239,.05) 24%,
        rgba(250,247,239,.32) 42%,
        rgba(250,247,239,.76) 64%,
        rgba(250,247,239,.93) 100%) !important;
  }

  #counselling .services-concerns-list,
  #counselling .services-focus ul{
    width:100% !important;
    max-width:350px !important;
    margin:0 0 0 auto !important;
    text-align:left !important;
  }

  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    font-size:18.5px !important;
    line-height:1.32 !important;
    padding:.93rem 0 !important;
    text-align:left !important;
  }

  #counselling .services-concerns-list li + li::before,
  #counselling .services-focus li + li::before{
    width:118px !important;
    left:0 !important;
    background:rgba(111,121,91,.26) !important;
  }

  #counselling .services-content > p{
    width:calc(100% - 48px) !important;
    max-width:360px !important;
    margin:2.2rem auto 0 !important;
    font-size:18px !important;
    line-height:1.72 !important;
  }
}

@media (max-width:390px){
  #counselling .services-focus{
    padding-left:calc(40vw - 22px) !important;
    padding-right:1.25rem !important;
  }
  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    font-size:17.5px !important;
  }
}

/* V56 — TRUE editorial services card: full-strength image panel + text column */
#counselling.section-soft{
  background:#fbf7ef !important;
  overflow:hidden !important;
}

#counselling .container.narrow{
  max-width:980px !important;
}

#counselling .services-focus{
  position:relative !important;
  overflow:hidden !important;
  width:min(100%, 900px) !important;
  max-width:900px !important;
  min-height:680px !important;
  margin:0 auto !important;
  padding:clamp(3.8rem, 6vw, 5.0rem) clamp(3rem, 6vw, 5.0rem) !important;
  border-radius:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  background:none !important;
  box-shadow:0 30px 80px rgba(66, 58, 43, .08) !important;
  isolation:isolate !important;
}

#counselling .services-focus::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-3 !important;
  background-image:url('assets/images/services-editorial-candle-book.jpg') !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-position:left center !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  pointer-events:none !important;
}

/* soft editorial veil: clear on the left, readable on the right */
#counselling .services-focus::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:-2 !important;
  background:
    linear-gradient(90deg,
      rgba(251,247,239,.04) 0%,
      rgba(251,247,239,.10) 30%,
      rgba(251,247,239,.50) 47%,
      rgba(251,247,239,.88) 62%,
      rgba(251,247,239,.94) 100%) !important;
  pointer-events:none !important;
}

#counselling .services-concerns-list,
#counselling .services-focus ul{
  position:relative !important;
  z-index:2 !important;
  width:min(48%, 420px) !important;
  max-width:420px !important;
  margin:0 0 0 auto !important;
  padding:0 !important;
  display:block !important;
  list-style:none !important;
  text-align:left !important;
}

#counselling .services-concerns-list li,
#counselling .services-focus li{
  list-style:none !important;
  margin:0 !important;
  padding:1.02rem 0 !important;
  font-size:clamp(18px, 2vw, 22px) !important;
  line-height:1.32 !important;
  font-weight:500 !important;
  color:#343a31 !important;
  text-align:left !important;
}

#counselling .services-concerns-list li + li,
#counselling .services-focus li + li{
  border-top:1px solid rgba(112, 121, 86, .24) !important;
}

#counselling .services-concerns-list li::before,
#counselling .services-focus li::before{
  display:none !important;
  content:none !important;
}

@media (max-width: 767px){
  #counselling .services-focus{
    width:calc(100vw - 44px) !important;
    max-width:none !important;
    min-height:790px !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
    padding:3.8rem 1.75rem 3.8rem 0 !important;
    border-radius:34px !important;
    justify-content:flex-end !important;
    background:none !important;
  }

  #counselling .services-focus::before{
    opacity:1 !important;
    background-image:url('assets/images/services-editorial-candle-book.jpg') !important;
    background-size:cover !important;
    background-position:23% center !important;
    filter:none !important;
  }

  #counselling .services-focus::after{
    background:
      linear-gradient(90deg,
        rgba(251,247,239,.00) 0%,
        rgba(251,247,239,.06) 31%,
        rgba(251,247,239,.45) 49%,
        rgba(251,247,239,.86) 64%,
        rgba(251,247,239,.94) 100%) !important;
  }

  #counselling .services-concerns-list,
  #counselling .services-focus ul{
    width:50% !important;
    max-width:330px !important;
    margin:0 0 0 auto !important;
    text-align:left !important;
  }

  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    font-size:17px !important;
    line-height:1.32 !important;
    padding:.88rem 0 !important;
    text-align:left !important;
  }
}

@media (max-width: 420px){
  #counselling .services-focus{
    min-height:760px !important;
    padding-right:1.45rem !important;
  }
  #counselling .services-concerns-list,
  #counselling .services-focus ul{
    width:52% !important;
  }
  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    font-size:16px !important;
    padding:.82rem 0 !important;
  }
}

/* V57 — Services image crop adjustment: keep editorial layout, zoom photo out */
@media (max-width: 767px){
  #counselling .services-focus::before{
    background-size:145% auto !important;
    background-position:34% bottom !important;
    background-repeat:no-repeat !important;
  }
}

@media (max-width: 420px){
  #counselling .services-focus::before{
    background-size:150% auto !important;
    background-position:35% bottom !important;
  }
}

/* V58 — Services image only: use zoomed-out editorial portrait crop, keep layout unchanged */
@media (max-width: 767px){
  #counselling .services-focus::before{
    background-image:url('assets/images/services-editorial-candle-book-zoomed-out.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}


/* V59 — Client Counselling Agreement download section */
.client-agreement-section{
  background:#fbf7ef;
  padding:clamp(4.5rem, 8vw, 7rem) 1.5rem;
  text-align:center;
}

.client-agreement-inner{
  max-width:760px;
  margin:0 auto;
}

.client-agreement-section .eyebrow{
  color:var(--olive);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:1.15rem;
}

.client-agreement-section h2{
  font-family:var(--serif);
  color:var(--deep-olive);
  font-size:clamp(2.4rem, 5vw, 4.4rem);
  line-height:.98;
  margin:0 0 1.4rem;
  font-weight:400;
}

.client-agreement-section h2::after{
  content:"";
  display:block;
  width:92px;
  height:1px;
  background:rgba(112, 121, 86, .38);
  margin:1.4rem auto 0;
}

.client-agreement-section p:not(.eyebrow){
  max-width:680px;
  margin:0 auto 2rem;
  color:var(--deep-olive);
  font-size:clamp(1.05rem, 2.1vw, 1.28rem);
  line-height:1.75;
}

.agreement-download-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:50px;
  padding:.9rem 1.45rem;
  border:1px solid rgba(112, 121, 86, .42);
  border-radius:999px;
  background:rgba(255,250,242,.42);
  color:var(--deep-olive);
  text-decoration:none;
  font-weight:600;
  letter-spacing:.01em;
  box-shadow:0 14px 36px rgba(66,58,43,.06);
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.agreement-download-button::before{
  content:"↓";
  font-size:1.05em;
  line-height:1;
}

.agreement-download-button:hover,
.agreement-download-button:focus-visible{
  background:rgba(255,250,242,.78);
  border-color:rgba(112, 121, 86, .68);
  transform:translateY(-1px);
}

@media (max-width:767px){
  .client-agreement-section{
    padding:4.2rem 1.35rem;
  }
  .client-agreement-section p:not(.eyebrow){
    font-size:1.04rem;
    line-height:1.72;
  }
  .agreement-download-button{
    width:100%;
    max-width:360px;
    padding:.95rem 1.1rem;
  }
}

/* V60 — Client agreement alignment and soft outlined PDF button only */
#client-agreement.client-agreement-section{
  text-align:center !important;
  overflow:hidden;
}
#client-agreement .client-agreement-inner{
  width:min(100%, 760px) !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:clamp(1.35rem, 5vw, 2rem) !important;
  padding-right:clamp(1.35rem, 5vw, 2rem) !important;
  box-sizing:border-box !important;
  text-align:center !important;
}
#client-agreement .eyebrow,
#client-agreement h2,
#client-agreement p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#client-agreement .agreement-download-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.85rem !important;
  width:min(100%, 650px) !important;
  min-height:70px !important;
  margin:1rem auto 0 !important;
  padding:1rem 1.35rem !important;
  border:1.5px solid rgba(93, 108, 77, .68) !important;
  border-radius:18px !important;
  background:rgba(255, 252, 246, .58) !important;
  color:var(--deep-olive) !important;
  text-align:center !important;
  text-decoration:none !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  box-shadow:0 18px 44px rgba(72, 64, 48, .055) !important;
  box-sizing:border-box !important;
}
#client-agreement .agreement-download-button::before{
  content:none !important;
}
#client-agreement .agreement-pdf-icon{
  flex:0 0 auto;
  width:38px;
  height:46px;
  border:1.5px solid rgba(93, 108, 77, .72);
  border-radius:5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.68rem;
  line-height:1;
  letter-spacing:.02em;
  color:var(--deep-olive);
  background:rgba(255, 252, 246, .45);
}
@media (max-width:767px){
  #client-agreement.client-agreement-section{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  #client-agreement .client-agreement-inner{
    max-width:100% !important;
  }
  #client-agreement h2{
    max-width:20rem !important;
  }
  #client-agreement p:not(.eyebrow){
    max-width:21.5rem !important;
  }
  #client-agreement .agreement-download-button{
    width:min(100%, 22.5rem) !important;
    min-height:76px !important;
    border-radius:18px !important;
  }
}


/* V61 — Narrow client agreement section and outlined PDF button only */
#client-agreement.client-agreement-section-v61{
  text-align:center !important;
  padding-left:1.5rem !important;
  padding-right:1.5rem !important;
}
#client-agreement.client-agreement-section-v61 .client-agreement-inner{
  width:100% !important;
  max-width:680px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
  text-align:center !important;
}
#client-agreement.client-agreement-section-v61 .eyebrow{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#client-agreement.client-agreement-section-v61 h2{
  max-width:520px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
#client-agreement.client-agreement-section-v61 .client-agreement-copy{
  max-width:560px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
#client-agreement.client-agreement-section-v61 .agreement-download-button-v61{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:1rem !important;
  width:min(100%, 620px) !important;
  max-width:620px !important;
  min-height:76px !important;
  margin:1.35rem auto 0 !important;
  padding:1rem 1.35rem !important;
  border:1.5px solid rgba(93,108,77,.72) !important;
  border-radius:18px !important;
  background:rgba(255,252,246,.56) !important;
  color:var(--deep-olive) !important;
  text-align:left !important;
  text-decoration:none !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  box-shadow:0 18px 44px rgba(72,64,48,.055) !important;
  box-sizing:border-box !important;
}
#client-agreement.client-agreement-section-v61 .agreement-download-button-v61::before{
  content:none !important;
}
#client-agreement.client-agreement-section-v61 .agreement-pdf-icon{
  flex:0 0 38px !important;
  width:38px !important;
  height:46px !important;
  border:1.5px solid rgba(93,108,77,.72) !important;
  border-radius:5px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  font-size:.68rem !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  color:var(--deep-olive) !important;
  background:rgba(255,252,246,.45) !important;
}
#client-agreement.client-agreement-section-v61 .agreement-download-text{
  display:inline-block !important;
  text-align:left !important;
}
@media (max-width:767px){
  #client-agreement.client-agreement-section-v61{
    padding-left:1.45rem !important;
    padding-right:1.45rem !important;
  }
  #client-agreement.client-agreement-section-v61 .client-agreement-inner{
    max-width:22.5rem !important;
  }
  #client-agreement.client-agreement-section-v61 h2{
    max-width:20.5rem !important;
  }
  #client-agreement.client-agreement-section-v61 .client-agreement-copy{
    max-width:21rem !important;
  }
  #client-agreement.client-agreement-section-v61 .agreement-download-button-v61{
    width:100% !important;
    max-width:100% !important;
    padding:1rem 1rem !important;
    gap:.85rem !important;
  }
  #client-agreement.client-agreement-section-v61 .agreement-download-text{
    font-size:.98rem !important;
  }
}

/* V62 — Match client agreement heading to qualifications heading only */
#client-agreement.client-agreement-section-v61 h2{
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-weight:500 !important;
  letter-spacing:-.025em !important;
  color:#56624a !important;
}


/* V63 — Client agreement heading matched to qualifications heading only */
#client-agreement.client-agreement-section-v61 .client-agreement-title{
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-size:30px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  line-height:1.05 !important;
  color:var(--deep-olive) !important;
  max-width:520px !important;
  margin:0 auto 1.4rem !important;
  text-align:center !important;
}
#client-agreement.client-agreement-section-v61 .client-agreement-title::after{
  content:"" !important;
  display:block !important;
  width:92px !important;
  height:1px !important;
  background:rgba(112,121,86,.38) !important;
  margin:1.4rem auto 0 !important;
}
@media (max-width:767px){
  #client-agreement.client-agreement-section-v61 .client-agreement-title{
    max-width:20.5rem !important;
    font-size:30px !important;
  }
}


/* v64 qualifications spacing refinement */
.qualifications-section{
  margin-bottom:110px!important;
}
.qualifications-list{
  text-align:center;
  margin:40px auto 0;
  max-width:700px;
}
.qualifications-list p{
  margin:0 0 18px;
  font-size:clamp(1.2rem,2.8vw,1.6rem);
}
#contact .eyebrow{
  margin-top:30px!important;
}


/* v65 footer social and professional profile links */
.footer-profile-links{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  margin:8px auto 4px;
}
.footer-social-icons{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:34px;
}
.footer-icon-link{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--deep-olive);
  opacity:.86;
  text-decoration:none;
}
.footer-icon-link svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}
.footer-icon-link:nth-child(2) svg,
.footer-icon-link:nth-child(3) svg{
  fill:currentColor;
  stroke:none;
}
.footer-professional-logos{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:48px;
  flex-wrap:wrap;
}
.footer-wordmark{
  color:var(--deep-olive);
  opacity:.88;
  text-decoration:none;
  line-height:.9;
  text-align:center;
}
.footer-wordmark-cd{
  font-family:Georgia,serif;
  font-size:25px;
  font-weight:700;
}
.footer-wordmark-cd span{
  font-family:Arial,sans-serif;
  font-size:.85em;
}
.footer-wordmark-bacp{
  font-family:Arial,sans-serif;
  font-size:38px;
  font-weight:800;
  letter-spacing:-.05em;
  display:flex;
  align-items:center;
  gap:10px;
}
.footer-wordmark-bacp small{
  font-size:14px;
  line-height:1.05;
  letter-spacing:0;
  font-weight:700;
  text-align:left;
}
.footer-wordmark-pt{
  font-family:Impact,'Arial Narrow',Arial,sans-serif;
  font-size:28px;
  letter-spacing:-.04em;
}
@media(max-width:820px){
  .footer-inner{
    justify-content:center!important;
    text-align:center;
    gap:28px;
  }
  .footer-brand{
    justify-content:center;
    text-align:left;
  }
  .footer-links{
    justify-content:center;
    width:100%;
    gap:20px;
  }
  .footer-profile-links{
    gap:24px;
    margin-top:2px;
  }
  .footer-social-icons{
    gap:30px;
  }
  .footer-icon-link{
    width:38px;
    height:38px;
  }
  .footer-professional-logos{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    max-width:520px;
    align-items:center;
  }
  .footer-wordmark-cd{font-size:20px;}
  .footer-wordmark-bacp{font-size:30px;justify-content:center;gap:6px;}
  .footer-wordmark-bacp small{font-size:10px;}
  .footer-wordmark-pt{font-size:22px;}
}
@media(max-width:430px){
  .footer-professional-logos{
    grid-template-columns:1fr;
    gap:18px;
  }
  .footer-wordmark-bacp{
    justify-content:center;
  }
}

/* v66 footer legal links — replace duplicate page nav with trust/compliance links only */
.footer-terms-link{
  display:block;
  width:100%;
  text-align:center;
  color:var(--deep-olive);
  font-weight:700;
  text-decoration:none;
  margin:8px 0 2px;
  opacity:.9;
}

/* Privacy Policy page */
.privacy-policy-section {
  background: #fbf8f0;
  padding: clamp(5rem, 10vw, 8rem) 1.5rem;
}

.privacy-policy-inner {
  max-width: 760px;
  margin: 0 auto;
  color: #30382f;
  font-size: clamp(1.05rem, 2.7vw, 1.18rem);
  line-height: 1.85;
}

.privacy-policy-inner .eyebrow {
  text-align: center;
  margin-bottom: 1.2rem;
}

.privacy-policy-inner h1 {
  font-family: 'Cormorant Garamond', serif;
  color: #4f5b49;
  text-align: center;
  font-size: clamp(3.15rem, 12vw, 5.55rem);
  line-height: 0.95;
  font-weight: 600;
  margin: 0 auto 1.4rem;
}

.privacy-practice-name {
  text-align: center;
  font-weight: 700;
  color: #4f5b49;
  margin-bottom: 3rem;
}

.privacy-policy-inner h2 {
  font-family: 'Cormorant Garamond', serif;
  color: #4f5b49;
  font-size: clamp(2rem, 7vw, 3.1rem);
  line-height: 1;
  margin: 3.3rem 0 1rem;
  font-weight: 600;
}

.privacy-policy-inner p,
.privacy-policy-inner li {
  color: #30382f;
}

.privacy-policy-inner ul {
  padding-left: 1.4rem;
  margin: 0 0 1.5rem;
}

.privacy-policy-inner a {
  color: #4f5b49;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.generic-page .page-content {
  text-align: left;
}







/* MOVE ORIGINAL ABOUT WATERMARK ONLY — centred behind heading */
.wo-about{
  position:relative!important;
}
.wo-about .wo-line-leaf{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  top:52%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:clamp(310px, 42vw, 440px)!important;
  height:clamp(310px, 42vw, 440px)!important;
  background:url('assets/images/intro-logo.jpg') center center / contain no-repeat!important;
  opacity:.075!important;
  filter:grayscale(1)!important;
  z-index:1!important;
  pointer-events:none!important;
}
.wo-about-copy{
  position:relative!important;
  z-index:2!important;
}
.wo-about-copy .about-heading-watermark{
  position:relative!important;
  text-align:center!important;
  margin:0 auto!important;
  padding:0!important;
  background:none!important;
}
.wo-about-copy .about-heading-watermark::before{
  content:none!important;
  display:none!important;
}
.wo-about-copy .about-heading-watermark h2{
  position:relative!important;
  z-index:2!important;
  text-align:center!important;
}
@media (max-width:760px){
  .wo-about .wo-line-leaf{
    top:74%!important;
    width:340px!important;
    height:340px!important;
    max-width:92vw!important;
    opacity:.073!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf{
    top:74%!important;
    width:330px!important;
    height:330px!important;
    max-width:92vw!important;
    opacity:.073!important;
  }
}


/* FAQ accordion section */
.faq-section{
  padding:72px 20px;
  background:#fffaf2;
}
.faq-inner{
  max-width:920px;
  margin:0 auto;
  text-align:center;
}
.faq-inner h2{
  margin:0 0 28px;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:500;
  color:#30362c;
}
.faq-list{
  display:grid;
  gap:12px;
  text-align:left;
}
.faq-item{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(79,93,63,.14);
  border-radius:18px;
  padding:0;
  overflow:hidden;
}
.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:20px 56px 20px 22px;
  position:relative;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:1.35rem;
  line-height:1.25;
  color:#30362c;
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-item summary::after{
  content:"+";
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  font-family:Inter, system-ui, sans-serif;
  font-size:1.6rem;
  color:#5e6b4e;
}
.faq-item[open] summary::after{
  content:"–";
}
.faq-item p{
  margin:0;
  padding:0 22px 22px;
  color:#20231e;
  line-height:1.75;
}
@media (max-width:760px){
  .faq-section{
    padding:56px 18px;
  }
  .faq-item summary{
    font-size:1.2rem;
    padding:18px 50px 18px 18px;
  }
  .faq-item p{
    padding:0 18px 20px;
  }
}


/* FAQ standalone page spacing */
.faq-page-section{
  padding:120px 20px 72px!important;
}
.faq-inner h1{
  margin:0 0 34px!important;
  font-family:"Cormorant Garamond", Georgia, serif!important;
  font-size:clamp(2.4rem,7vw,4.6rem)!important;
  line-height:.95!important;
  font-weight:500!important;
  color:#30362c!important;
  text-align:center!important;
}
.faq-list{
  display:grid!important;
  gap:18px!important;
  text-align:left!important;
}
.faq-item{
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(79,93,63,.14)!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.faq-item summary{
  cursor:pointer!important;
  list-style:none!important;
  padding:20px 56px 20px 22px!important;
  position:relative!important;
  font-family:"Cormorant Garamond", Georgia, serif!important;
  font-size:1.35rem!important;
  line-height:1.25!important;
  color:#30362c!important;
}
.faq-item summary::-webkit-details-marker{
  display:none!important;
}
.faq-item summary::after{
  content:"+"!important;
  position:absolute!important;
  right:22px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  font-family:Inter, system-ui, sans-serif!important;
  font-size:1.6rem!important;
  color:#5e6b4e!important;
}
.faq-item[open] summary::after{
  content:"–"!important;
}
.faq-item p{
  margin:0!important;
  padding:0 22px 22px!important;
  color:#20231e!important;
  line-height:1.75!important;
}
@media (max-width:760px){
  .faq-page-section{
    padding:100px 18px 56px!important;
  }
  .faq-item summary{
    font-size:1.2rem!important;
    padding:18px 50px 18px 18px!important;
  }
  .faq-item p{
    padding:0 18px 20px!important;
  }
}


/* What to Expect standalone page */
.what-to-expect-section {
  background: #fbf8f0;
  padding: clamp(5rem, 10vw, 8rem) 1.5rem;
}

.what-to-expect-inner {
  max-width: 760px;
  margin: 0 auto;
  color: #30382f;
  font-size: clamp(1.05rem, 2.7vw, 1.18rem);
  line-height: 1.85;
}

.what-to-expect-inner .eyebrow {
  text-align: center;
  margin-bottom: 1.2rem;
}

.what-to-expect-inner h1 {
  font-family: 'Cormorant Garamond', serif;
  color: #4f5b49;
  text-align: center;
  font-size: clamp(3.4rem, 13vw, 5.8rem);
  line-height: 0.95;
  font-weight: 600;
  margin: 0 auto 2.6rem;
}

.what-to-expect-inner h2 {
  font-family: 'Cormorant Garamond', serif;
  color: #4f5b49;
  font-size: clamp(2rem, 7vw, 3.1rem);
  line-height: 1;
  margin: 3.3rem 0 1rem;
  font-weight: 600;
}

.what-to-expect-inner p,
.what-to-expect-inner li {
  color: #30382f;
}

.what-to-expect-inner ul,
.what-to-expect-inner ol {
  padding-left: 1.4rem;
  margin: 0 0 1.5rem;
}

.what-to-expect-inner a {
  color: #4f5b49;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* What to Expect - refined high-end card layout */
.wte-luxury-page .what-to-expect-inner {
  max-width: 980px;
  margin: 0 auto;
}

.wte-enhanced-content {
  margin-top: 2.25rem;
}

.wte-intro-card,
.wte-card {
  background: rgba(250, 247, 239, 0.82);
  border: 1px solid rgba(95, 107, 82, 0.22);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(64, 63, 51, 0.06);
}

.wte-intro-card {
  padding: clamp(1.35rem, 4vw, 2.15rem);
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.wte-card-grid {
  display: grid;
  gap: clamp(1rem, 3vw, 1.4rem);
}

.wte-card {
  padding: clamp(1.25rem, 4vw, 2rem);
}

.wte-card-title,
.wte-enhanced-content .wte-card-title {
  margin: 0 0 0.85rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid rgba(196, 159, 92, 0.34);
  color: #566247;
  font-family: inherit;
  font-size: clamp(1.05rem, 3.4vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.35;
  text-transform: uppercase;
}

.wte-card-body p,
.wte-intro-card p,
.wte-enhanced-content p {
  color: #45483d;
  font-size: clamp(1.02rem, 3.9vw, 1.16rem);
  line-height: 1.82;
  margin: 0 0 1rem;
}

.wte-card-body p:last-child,
.wte-intro-card p:last-child {
  margin-bottom: 0;
}

.wte-card-highlight {
  background: linear-gradient(135deg, rgba(250, 247, 239, 0.95), rgba(239, 231, 215, 0.94));
  border-color: rgba(196, 159, 92, 0.44);
}

.wte-enhanced-content ul,
.wte-enhanced-content ol {
  margin: 0.7rem 0 1rem 1.25rem;
  color: #45483d;
  line-height: 1.75;
}

@media (min-width: 860px) {
  .wte-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wte-card-highlight,
  .wte-card:nth-last-child(1):nth-child(odd) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .wte-luxury-page .what-to-expect-inner {
    padding-left: 1.15rem;
    padding-right: 1.15rem;
  }
  .wte-intro-card,
  .wte-card {
    border-radius: 18px;
  }
  .wte-enhanced-content {
    margin-top: 1.5rem;
  }
}

/* V100 — add breathing room below Services list introduction only */
#counselling .services-content > p.services-list-intro {
  margin-bottom: 3.6rem !important;
}
@media (max-width: 767px) {
  #counselling .services-content > p.services-list-intro {
    margin-bottom: 3.4rem !important;
  }
}

/* V80 — services reasons list centring only.
   Centres the list block inside the image card on desktop and mobile,
   while keeping each list item/text left-aligned for readability.
   No colours, fonts, images, spacing elsewhere, or content changed. */
.services-list,
.services-reasons,
.services-reasons-list,
.reasons-list,
.services-items {
  margin-left: auto !important;
  margin-right: auto !important;
}

.services-list li,
.services-reasons li,
.services-reasons-list li,
.reasons-list li,
.services-items li {
  text-align: left !important;
}

@media (min-width: 768px) {
  .services-list,
  .services-reasons,
  .services-reasons-list,
  .reasons-list,
  .services-items {
    width: min(520px, 100%) !important;
    max-width: 520px !important;
  }
}

@media (max-width: 767px) {
  .services-list,
  .services-reasons,
  .services-reasons-list,
  .reasons-list,
  .services-items {
    width: min(360px, 100%) !important;
    max-width: 360px !important;
  }
}

/* V81 — actually centre the Services concerns list.
   Targets the real list: .services-focus > .services-concerns-list.
   The list block is centred on both mobile and desktop; item text remains left-aligned.
   No colours, fonts, images, or other sections changed. */
#counselling .services-focus{
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

#counselling .services-focus .services-concerns-list{
  margin-left:auto!important;
  margin-right:auto!important;
  justify-self:center!important;
  align-self:center!important;
  text-align:left!important;
  box-sizing:border-box!important;
}

#counselling .services-focus .services-concerns-list li{
  text-align:left!important;
}

@media (min-width:768px){
  #counselling .services-focus .services-concerns-list{
    width:min(520px, 100%)!important;
    max-width:520px!important;
  }
}

@media (max-width:767px){
  #counselling .services-focus .services-concerns-list{
    width:min(330px, 100%)!important;
    max-width:330px!important;
  }
}


/* V86 — Reduce mobile spacing between Client Agreement and Qualifications only */
@media (max-width: 767px){
  #client-agreement.client-agreement-section-v61{
    padding-bottom:2.3rem !important;
  }
  #contact.section-soft{
    padding-top:1.8rem !important;
  }
}

@media (min-width: 768px){
  #client-agreement.client-agreement-section-v61{
    padding-bottom:4.8rem !important;
  }
  #contact.section-soft{
    padding-top:4.6rem !important;
  }
}


/* V87 — Centre services list text only */
#counselling .services-focus .services-concerns-list,
#counselling .services-focus .services-concerns-list li{
  text-align:center !important;
}




/* V91 - restore services section visibility and simple centering */
#counselling .services-focus{
  overflow: visible !important;
  transform: none !important;
}

#counselling .services-concerns-list,
#counselling .services-focus ul{
  transform: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  max-width: 100% !important;
  width: auto !important;
}

#counselling .services-concerns-list li,
#counselling .services-focus li{
  text-align:center !important;
}

/* V92 — Services panel rounded corners only.
   Matches the soft rounded treatment used elsewhere on the site.
   No text, layout, spacing, image, colour, or section changes. */
#counselling .services-focus::before{
  border-radius: 32px !important;
}

@media (max-width: 767px){
  #counselling .services-focus::before{
    border-radius: 30px !important;
  }
}

/* V94 — Services image corner and bottom-strip fix only
   Keeps the services layout intact while ensuring the full image panel clips to rounded corners
   and removes the duplicate/blurred bottom band caused by layered background pseudos. */
#counselling .services-focus {
  border-radius: 34px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 34px) !important;
  -webkit-mask-image: -webkit-radial-gradient(white, black) !important;
  isolation: isolate !important;
  background-image: url('assets/images/services-editorial-option3.jpg') !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center bottom !important;
}

#counselling .services-focus::before {
  display: none !important;
  content: none !important;
  background: none !important;
}

#counselling .services-focus::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(90deg, rgba(250,247,239,0.34) 0%, rgba(250,247,239,0.64) 56%, rgba(250,247,239,0.78) 100%) !important;
}

#counselling .services-concerns-list,
#counselling .services-focus ul {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 767px) {
  #counselling .services-focus {
    border-radius: 34px !important;
    clip-path: inset(0 round 34px) !important;
    background-position: center bottom !important;
  }
}

/* v96 about watermark refinement: move logo lower so heading stays cleaner */
.wo-about .wo-line-leaf{
  top:74%!important;
}
@media (max-width:760px){
  .wo-about .wo-line-leaf{
    top:64%!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf{
    top:64%!important;
  }
}


.wo-contact-strip{background:#eae5da;padding:34px 0 42px;display:flex;justify-content:center}
.wo-contact-strip .hero-socials{position:relative;left:auto;bottom:auto;transform:none;width:min(620px, calc(100% - 44px));}
@media(min-width:761px){
 .wo-hero .hero-socials{display:none;}
}

/* v99 — desktop-only contact card placement fix
   Keeps mobile untouched. On desktop/tablet, the contact card is removed from
   absolute hero-style positioning and becomes a normal centred card in its
   own strip directly below the hero image. */
@media (min-width: 761px){
  .wo-hero{
    margin-bottom: 0 !important;
    overflow: hidden !important;
  }

  .wo-contact-strip{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    clear: both !important;
    z-index: 3 !important;
    margin: 0 !important;
    padding: 54px 22px 60px !important;
    background: #eae5da !important;
    transform: none !important;
  }

  .wo-contact-strip .hero-socials{
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(620px, calc(100% - 44px)) !important;
    max-width: 620px !important;
    margin: 0 auto !important;
  }
}

/* v100 — desktop contact card truly below hero
   Desktop only: hide the old globally-positioned contact card and use a separate
   normal-flow contact card below the hero. Mobile contact card is untouched. */
.wo-desktop-contact-strip{display:none;}
@media (min-width: 761px){
  .wo-contact-strip{display:none!important;}
  .wo-hero .hero-socials{display:none!important;}
  .wo-desktop-contact-strip{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding:54px 22px 62px!important;
    margin:0!important;
    background-image:url('assets/images/professional-membership-editorial-bg.jpg')!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    position:relative!important;
    z-index:1!important;
  }
  .wo-desktop-contact-card{
    width:min(620px, calc(100% - 44px))!important;
    max-width:620px!important;
    margin:0 auto!important;
    padding:18px 18px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    gap:10px!important;
    border:1px solid rgba(255,255,255,.34)!important;
    border-radius:22px!important;
    background:rgba(251,247,239,.50)!important;
    backdrop-filter:blur(12px)!important;
    box-shadow:0 18px 42px rgba(63,73,51,.08)!important;
    color:rgba(77,79,70,.72)!important;
    position:static!important;
    transform:none!important;
  }
  .wo-desktop-contact-card p{
    margin:0!important;
    text-align:center!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(18px,2.2vw,28px)!important;
    line-height:1.35!important;
    font-weight:400!important;
    letter-spacing:.01em!important;
    color:rgba(77,79,70,.64)!important;
  }
  .wo-desktop-contact-card a{color:inherit!important;text-decoration:none!important;}
  .wo-desktop-contact-card .social-icons{display:flex!important;justify-content:center!important;align-items:center!important;gap:18px!important;margin-top:8px!important;}
  .wo-desktop-contact-card .social-icon{
    width:54px!important;height:54px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    border-radius:999px!important;background:rgba(255,255,255,.72)!important;border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 12px 30px rgba(63,73,51,.09)!important;color:rgba(77,79,70,.58)!important;
    font-family:Inter,system-ui,sans-serif!important;font-size:27px!important;font-weight:600!important;line-height:1!important;
  }
  .wo-desktop-contact-card .social-icon.instagram{font-size:30px!important;font-weight:400!important;}
}


/* v101 — desktop-only styled contact card below hero
   Mobile is intentionally untouched. On desktop, the contact details are a
   normal centred card below the hero, not an overlay inside the hero image. */
@media (min-width: 761px){
  /* Remove any leftover/floating hero contact overlay on desktop only */
  .wo-hero .hero-socials,
  .wo-hero > .hero-socials,
  .wo-hero-content .hero-socials{
    display:none!important;
  }

  /* Keep the contact section in normal page flow under the hero */
  .wo-contact-strip{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
    margin:0!important;
    padding:58px 24px 66px!important;
    background-image:url('assets/images/professional-membership-editorial-bg.jpg')!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    position:relative!important;
    z-index:2!important;
    transform:none!important;
    clear:both!important;
  }

  /* Rebuild the card treatment for desktop only */
  .wo-contact-strip .hero-socials{
    display:flex!important;
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(610px, calc(100% - 80px))!important;
    max-width:610px!important;
    margin:0 auto!important;
    padding:24px 34px 26px!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:9px!important;
    text-align:center!important;
    border-radius:26px!important;
    border:1px solid rgba(255,255,255,.56)!important;
    background:rgba(251,247,239,.72)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    backdrop-filter:blur(14px)!important;
    box-shadow:0 18px 44px rgba(63,73,51,.075)!important;
    color:rgba(77,79,70,.72)!important;
  }

  .wo-contact-strip .hero-socials p{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(17px,1.55vw,22px)!important;
    line-height:1.35!important;
    font-weight:400!important;
    letter-spacing:.005em!important;
    color:rgba(77,79,70,.68)!important;
  }

  .wo-contact-strip .hero-socials p::before{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.58)!important;
    border:1px solid rgba(255,255,255,.65)!important;
    box-shadow:0 8px 20px rgba(63,73,51,.045)!important;
    color:rgba(94,107,78,.68)!important;
    font-family:Inter,system-ui,sans-serif!important;
    font-size:13px!important;
    line-height:1!important;
  }
  .wo-contact-strip .hero-socials p:nth-child(1)::before{content:"✉"!important;}
  .wo-contact-strip .hero-socials p:nth-child(2)::before{content:"⌾"!important;}
  .wo-contact-strip .hero-socials p:nth-child(3)::before{content:"☎"!important;}

  .wo-contact-strip .hero-socials a{
    color:inherit!important;
    text-decoration:none!important;
  }

  .wo-contact-strip .hero-socials .social-icons{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:16px!important;
    margin-top:12px!important;
  }
  .wo-contact-strip .hero-socials .social-icon{
    width:50px!important;
    height:50px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.78)!important;
    border:1px solid rgba(255,255,255,.78)!important;
    box-shadow:0 12px 30px rgba(63,73,51,.09)!important;
    color:rgba(77,79,70,.58)!important;
    font-family:Inter,system-ui,sans-serif!important;
    font-size:25px!important;
    font-weight:600!important;
    line-height:1!important;
  }
  .wo-contact-strip .hero-socials .social-icon.instagram{
    font-size:28px!important;
    font-weight:400!important;
  }

  /* The temporary separate desktop strip is not used in v101 */
  .wo-desktop-contact-strip{display:none!important;}
}


@media (max-width:760px){
 .wo-contact-strip{display:none!important;}
 .wo-hero .hero-socials{display:flex!important;}
}

/* v103 — restore mobile contact card only
   Desktop is not changed. This reverses the mobile-only hiding rule from v102
   and displays the existing contact markup as the same soft centred card below
   the hero, without adding an extra colour band. */
@media (max-width:760px){
  .wo-hero{
    margin-bottom:0!important;
  }
  .wo-contact-strip{
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
    width:100%!important;
    margin:0!important;
    padding:48px 0 74px!important;
    background:transparent!important;
    position:relative!important;
    z-index:2!important;
    transform:none!important;
    clear:both!important;
  }
  .wo-contact-strip .hero-socials{
    display:flex!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(330px, calc(100% - 72px))!important;
    max-width:330px!important;
    margin:0 auto!important;
    padding:13px 14px 14px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    text-align:center!important;
    border-radius:18px!important;
    border:1px solid rgba(255,255,255,.44)!important;
    background:rgba(251,247,239,.58)!important;
    -webkit-backdrop-filter:blur(13px)!important;
    backdrop-filter:blur(13px)!important;
    box-shadow:0 14px 34px rgba(63,73,51,.08)!important;
    color:rgba(77,79,70,.70)!important;
  }
  .wo-contact-strip .hero-socials p{
    display:block!important;
    width:100%!important;
    margin:0!important;
    text-align:center!important;
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(13px, 3.35vw, 16px)!important;
    line-height:1.28!important;
    font-weight:400!important;
    letter-spacing:.01em!important;
    color:rgba(77,79,70,.64)!important;
  }
  .wo-contact-strip .hero-socials p::before{
    content:none!important;
    display:none!important;
  }
  .wo-contact-strip .hero-socials a{
    color:inherit!important;
    text-decoration:none!important;
  }
  .wo-contact-strip .hero-socials .social-icons{
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:14px!important;
    margin-top:6px!important;
  }
  .wo-contact-strip .hero-socials .social-icon{
    width:43px!important;
    height:43px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.72)!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 12px 30px rgba(63,73,51,.09)!important;
    color:rgba(77,79,70,.58)!important;
    font-family:Inter,system-ui,sans-serif!important;
    font-size:22px!important;
    font-weight:600!important;
    line-height:1!important;
  }
  .wo-contact-strip .hero-socials .social-icon.instagram{
    font-size:24px!important;
    font-weight:400!important;
  }
}
@media (max-width:430px){
  .wo-contact-strip{
    padding:46px 0 70px!important;
  }
  .wo-contact-strip .hero-socials{
    width:min(318px, calc(100% - 58px))!important;
    padding:12px 13px 13px!important;
  }
}

/* v104 — MOBILE ONLY: move About Olivia watermark upward behind the heading.
   Opacity is intentionally unchanged. Desktop is not changed. */
@media (max-width:760px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 105px)!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 105px)!important;
  }
}

/* v105 — MOBILE ONLY: reduce About Olivia watermark size only.
   Keeps the v104 mobile position and existing opacity. Desktop unchanged. */
@media (max-width:760px){
  .wo-about .wo-line-leaf{
    width:285px!important;
    height:285px!important;
    max-width:78vw!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf{
    width:270px!important;
    height:270px!important;
    max-width:78vw!important;
  }
}


/* v106 — MOBILE ONLY: fine tune About Olivia watermark.
   Slightly higher and a touch smaller so it sits behind the heading only.
   Desktop unchanged. */
@media (max-width:760px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 125px)!important;
    width:270px!important;
    height:270px!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 125px)!important;
    width:255px!important;
    height:255px!important;
  }
}


/* v107 — MOBILE ONLY: move About Olivia watermark slightly lower.
   Keeps current size and opacity. Desktop unchanged. */
@media (max-width:760px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 105px)!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 105px)!important;
  }
}

/* v108 — MOBILE ONLY: move About Olivia watermark a little further down.
   Keeps current size and opacity. Desktop unchanged. */
@media (max-width:760px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 88px)!important;
  }
}
@media (max-width:430px){
  .wo-about .wo-line-leaf{
    top:calc(60% - 88px)!important;
  }
}

/* v109 — MOBILE ONLY: move About Olivia watermark slightly lower to avoid touching photo. No other changes. */
@media (max-width:760px){.wo-about .wo-line-leaf{top:calc(60% - 78px)!important;}}
@media (max-width:430px){.wo-about .wo-line-leaf{top:calc(60% - 78px)!important;}}

.location-section{text-align:center;padding:5px 0 50px;}
.location-section h3{font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem;}
.location-section > p:nth-of-type(2){margin-bottom:1.35rem;}
.location-section > p:nth-of-type(3){margin-bottom:0.8rem;}
.location-map img{width:75%;max-width:525px;height:auto;border-radius:8px;margin:0 auto 1.5rem;display:block;}
.location-address{margin:1rem 0;}

/* v113 — MOBILE ONLY: gently tighten the space between Qualifications and Location.
   No heading, text, map position, or internal Location spacing changed. */
@media (max-width:767px){
  .qualifications-section{
    margin-bottom:65px!important;
  }
}


@media (max-width: 768px){
.hero-socials p:first-child{white-space:nowrap;font-size:0.95rem;}
}

/* v119 — Services list readability: lighter background image + slightly bolder text only. */
#counselling .services-focus{
  background-color:#fbf7ef !important;
}

#counselling .services-focus::before{
  opacity:.04 !important;
}

#counselling .services-concerns-list li,
#counselling .services-focus li{
  font-weight:600 !important;
}

@media (max-width:767px){
  #counselling .services-focus::before{
    opacity:.04 !important;
  }

  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    font-weight:600 !important;
  }
}


@media (min-width: 1024px){
  .wo-hero{
    min-height: 920px;
    background-size: auto 100%;
    background-position: right center;
  }
}


/* v128 — DESKTOP ONLY: lift hero heading + intro copy upward.
   Button remains in its current position. */
@media (min-width:1024px){
  .wo-hero-content{
    padding-top:10px !important;
  }
  .wo-hero h1{
    margin-top:-70px !important;
  }
  .wo-hero p{
    margin-top:-10px !important;
  }
}


/* v129 — DESKTOP ONLY: raise hero text further and slightly increase headline size.
   Button untouched. */
@media (min-width:1024px){
  .wo-hero h1{
    margin-top:-130px !important;
    font-size:clamp(5.1rem,5.8vw,6.2rem) !important;
  }
  .wo-hero p{
    margin-top:-20px !important;
  }
}


@media(min-width:1024px){
  .wo-hero h1{margin-bottom:34px!important;}
  .wo-hero p{margin-top:40px!important;margin-bottom:50px!important;}
  .learn-more{margin-top:20px!important;}
}


@media (min-width:1024px){
  .header-inner{
    min-height:52px !important;
    padding-top:0px !important;
    padding-bottom:0px !important;
  }
}


@media (min-width:1024px){
  .header-inner{
    min-height:44px !important;
    padding-top:0px !important;
    padding-bottom:0px !important;
  }
}


/* v136 — MOBILE ONLY: slightly tighten header vertical spacing.
   Logo and menu sizing unchanged. Desktop unchanged. */
@media (max-width:768px){
  header .header-inner,
  .site-header .header-inner,
  .header-inner{
    padding-top:4px !important;
    padding-bottom:4px !important;
    min-height:66px !important;
  }
}

/* v137 — MOBILE ONLY: reduce header height by 10px.
   Keeps logo and menu icon sizing unchanged; only trims vertical header space. */
@media (max-width:768px){
  header .header-inner,
  .site-header .header-inner,
  .header-inner{
    padding-top:0px !important;
    padding-bottom:0px !important;
    min-height:56px !important;
  }

  .primary-nav{
    top:56px !important;
  }
}


/* v138b — MOBILE ONLY: optically raise logo and hamburger without changing header height */
@media (max-width:768px){
  .site-logo,
  .header-inner .brand,
  .header-inner .logo,
  .site-branding{
    transform:translateY(-3px) !important;
  }

  .nav-toggle,
  .menu-toggle,
  .mobile-menu-toggle,
  .hamburger{
    transform:translateY(-3px) !important;
  }
}


/* v144 — desktop-only header Book CTA button. Mobile remains locked. */
@media (min-width: 769px) {
  .primary-nav a.nav-book {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 24px !important;
    margin-top: -10px !important;
    border: 1.25px solid rgba(79,93,63,.42) !important;
    border-radius: 999px !important;
    background: rgba(255,250,242,.52) !important;
    color: #30362c !important;
    box-shadow: none !important;
    transition: background .18s ease, border-color .18s ease, color .18s ease !important;
  }

  .primary-nav a.nav-book::after {
    display: none !important;
    content: none !important;
  }

  .primary-nav a.nav-book:hover {
    background: rgba(255,250,242,.84) !important;
    border-color: rgba(176,135,68,.58) !important;
    color: #30362c !important;
  }
}

/* v145 — DESKTOP ONLY: make header Book CTA match header cream, with soft outline and understated hover. Mobile remains locked. */
@media (min-width: 769px) {
  .primary-nav a.nav-book {
    background: var(--wo-cream-luxury) !important;
    border: 1.25px solid rgba(79,93,63,.42) !important;
    color: #30362c !important;
    box-shadow: none !important;
  }

  .primary-nav a.nav-book:hover {
    background: rgba(176,135,68,.10) !important;
    border-color: rgba(176,135,68,.58) !important;
    color: #30362c !important;
  }
}

/* v146 — DESKTOP ONLY: balance header navigation across remaining space.
   Logo position/size and mobile layout remain locked. */
@media (min-width: 769px) {
  .site-header .header-inner {
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  .site-header .primary-nav {
    width: 100% !important;
    justify-content: space-between !important;
    gap: 0 !important;
    justify-self: stretch !important;
    padding-left: clamp(48px, 6vw, 96px) !important;
  }
}

/* v147 — DESKTOP ONLY: gently tighten header navigation spacing after v146.
   Logo, Book styling, header height and all mobile rules remain unchanged. */
@media (min-width: 769px) {
  .site-header .primary-nav {
    width: 88% !important;
    max-width: 720px !important;
    justify-self: end !important;
    justify-content: space-between !important;
    gap: 0 !important;
    padding-left: 0 !important;
  }
}

/* v148 — DESKTOP ONLY: slightly widen About Olivia portrait. Mobile remains locked. */
@media (min-width: 769px) {
  .about-olivia-photo img {
    max-width: 297px !important;
    width: 76% !important;
  }
}


/* v150 desktop only: lower about watermark slightly to clear portrait */
@media (min-width:761px){
.wo-about .wo-line-leaf{top:76%!important;}
}


/* v151 DESKTOP ONLY: slightly reduce space below About section */
@media (min-width:761px){
  .wo-about{
    padding-bottom:20px!important;
    margin-bottom:0!important;
  }
  #services, .services-section{
    margin-top:0!important;
  }
}

/* v152 DESKTOP ONLY: scale Services image card down uniformly. Mobile remains locked. */
@media (min-width: 769px) {
  #counselling .services-focus {
    max-width: 700px !important;
    min-height: 410px !important;
    padding: clamp(2.55rem, 5.95vw, 4.25rem) clamp(1.7rem, 5.1vw, 3.8rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* v153 DESKTOP ONLY: reduce Services image card a further 20% uniformly. Mobile remains locked. */
@media (min-width: 769px) {
  #counselling .services-focus {
    max-width: 560px !important;
    min-height: 328px !important;
    padding: clamp(2.05rem, 4.75vw, 3.4rem) clamp(1.35rem, 4.05vw, 3.05rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v154 DESKTOP ONLY: reduce gap between services intro line and services card. Mobile remains locked. */
.services-list-intro {
  margin-bottom: 3.6rem !important;
}

@media (min-width: 769px) {
  #counselling .services-list-intro {
    margin-bottom: 2rem !important;
  }
}

/* v155 — Services card image opacity reduced by 10% on desktop and mobile only.
   No size, spacing, typography, layout or mobile structure changes. */
#counselling .services-focus{
  background-image:
    linear-gradient(rgba(251,247,239,.10), rgba(251,247,239,.10)),
    url('assets/images/services-editorial-option3.jpg') !important;
}

/* v156 desktop only: match Working Together background to warm stone contact strip */
@media (min-width: 761px){
  #working-together.section{
    background-image:url('assets/images/professional-membership-editorial-bg.jpg')!important;
    background-size:cover!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
}

/* v158 DESKTOP ONLY: refine Professional Membership image into a tall editorial portrait accent.
   Mobile remains locked. No text, spacing, typography or other sections changed. */
@media (min-width: 861px) {
  #professional-membership.professional-membership-section {
    background: #fffaf2 !important;
    overflow: hidden !important;
  }

  #professional-membership.professional-membership-section::before {
    content: "" !important;
    position: absolute !important;
    left: clamp(72px, 10vw, 150px) !important;
    top: 50% !important;
    width: clamp(230px, 25vw, 340px) !important;
    height: clamp(330px, 38vw, 470px) !important;
    inset: auto auto auto clamp(72px, 10vw, 150px) !important;
    z-index: -2 !important;
    background-image: url('assets/images/professional-membership-editorial-bg.jpg') !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: 32% center !important;
    opacity: 0.52 !important;
    filter: saturate(0.78) contrast(0.94) brightness(1.03) !important;
    transform: translateY(-50%) !important;
    transform-origin: center !important;
  }

  #professional-membership.professional-membership-section::after {
    background: none !important;
  }
}


/* Desktop only: lower Professional Membership editorial image */
@media (min-width: 1025px){
  .professional-membership .editorial-image,
  .professional-membership .membership-image,
  .professional-membership .section-image,
  .professional-membership img.editorial{
    margin-top:60px !important;
    position:relative;
  }
}

/* v160 DESKTOP ONLY: lower Professional Membership linen image.
   Image styling and all layout remain unchanged; mobile remains locked. */
@media (min-width: 861px) {
  #professional-membership.professional-membership-section::before {
    top: calc(50% + 20px) !important;
  }
}

/* v162 DESKTOP ONLY: align Professional Membership eyebrow, heading and decorative line with paragraph.
   Paragraph position, linen image, layout and mobile remain unchanged. */
@media (min-width: 861px) {
  #professional-membership .eyebrow,
  #professional-membership h2 {
    transform: translateX(24px) !important;
  }
}

/* v163 DESKTOP ONLY: centre Professional Membership eyebrow, heading and decorative line.
   Paragraph position, linen image, layout and mobile remain unchanged. */
@media (min-width: 861px) {
  #professional-membership .eyebrow,
  #professional-membership h2 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  #professional-membership h2::after {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* v165 DESKTOP ONLY: centre heading group over body copy only. Mobile locked. */
@media (min-width:861px){
#professional-membership .section-header,
#professional-membership .heading-group{
  max-width:540px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
#professional-membership .eyebrow,
#professional-membership h2,
#professional-membership .section-divider{
  text-align:center!important;
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
}

/* v168 — DESKTOP ONLY: reduce location map display height by scaling the full image proportionally; mobile unchanged. */
@media (min-width: 769px){
  .location-map img{
    width:auto;
    max-width:525px;
    max-height:497px;
    height:auto;
  }
}

/* v169 — desktop contact details hyperlinks
   Desktop only: ensure bottom contact-section details are active links. Mobile remains untouched. */
@media (min-width: 761px){
  .contact-list a{
    pointer-events:auto!important;
    position:relative!important;
    z-index:2!important;
    cursor:pointer!important;
  }
}

/* v170 — desktop-only bottom contact box link activation
   Makes each bottom contact-detail row clickable on desktop. Mobile remains untouched. */
@media (min-width: 761px){
  .contact-list p{
    position:relative!important;
  }
  .contact-list p a{
    position:relative!important;
    z-index:2!important;
    pointer-events:auto!important;
    cursor:pointer!important;
  }
  .contact-list p a::after{
    content:""!important;
    position:absolute!important;
    inset:-13px -32px!important;
    z-index:1!important;
  }
}

/* v171 desktop intro refinement: desktop only; mobile intro remains unchanged. */
@media (min-width:821px){
  .intro-splash-inner{
    animation-duration:2.5s !important;
  }
  .intro-splash::after{
    display:none !important;
  }
  .intro-splash-logo{
    box-shadow:none !important;
  }
}

/* V174 — DESKTOP ONLY: move the About section W&O watermark down so it sits behind the text only.
   Keeps the same size, opacity and horizontal centring. Mobile remains locked. */
@media (min-width:761px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    top:80%!important;
  }
}


/* V175 — DESKTOP ONLY: reduce About watermark size slightly. Position unchanged. Mobile locked. */
@media (min-width:761px){
  .wo-about .wo-line-leaf,
  .wo-line-leaf{
    width:clamp(235px,28vw,340px)!important;
    height:clamp(235px,28vw,340px)!important;
  }
}

/* v178 — DESKTOP ONLY: standardise main reading widths across the page.
   Paragraph/readable copy width only. Mobile locked. No colours, fonts, images, spacing, links, buttons or layout changed. */
@media (min-width: 761px){
  :root{
    --wo-standard-reading-width: 670px;
  }

  .wo-about p:not(.eyebrow),
  #counselling .services-content,
  #professional-membership p:not(.eyebrow),
  .fees-section .fees-item p,
  .client-agreement-copy,
  .qualifications-list,
  .location-section > p,
  .section-intro{
    max-width: var(--wo-standard-reading-width) !important;
  }

  .wo-about p:not(.eyebrow),
  #counselling .services-content,
  .fees-section .fees-item p,
  .client-agreement-copy,
  .qualifications-list,
  .location-section > p,
  .section-intro{
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* v179 DESKTOP ONLY: subtle Services list polish.
   Increased item breathing room, tightened list intro gap, softened dividers,
   and added a text-only hover darkening. Mobile locked. */
@media (min-width: 769px){
  #counselling .services-list-intro{
    margin-bottom: 1.4rem !important;
  }

  #counselling .services-focus{
    min-height: 338px !important;
  }

  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    padding-top: 1.18rem !important;
    padding-bottom: 1.18rem !important;
    transition: color .22s ease !important;
  }

  #counselling .services-concerns-list li + li,
  #counselling .services-focus li + li{
    border-top-color: rgba(112, 121, 86, .16) !important;
  }

  #counselling .services-concerns-list li:hover,
  #counselling .services-focus li:hover{
    color: #252b24 !important;
  }
}

/* v180 DESKTOP ONLY: reduce the gap above the Services image by approximately 15px.
   No other Services styling changed. Mobile locked. */
@media (min-width: 769px){
  #counselling .services-content > p.services-list-intro{
    margin-bottom: 0.46rem !important;
  }
}

.credential{margin:0 0 34px;text-align:center}
.credential-title{font-size:clamp(1.15rem,2.6vw,1.45rem)!important;font-weight:500;margin:0 0 6px!important}
.credential-sub{font-size:clamp(1rem,2.2vw,1.2rem)!important;color:#6d6a60;margin:0!important}
.credential-divider{width:120px;height:1px;background:#cdbf9d;margin:18px auto 34px;opacity:.8}
.credential-number{font-size:.95rem!important;color:#7b7568;margin-top:6px!important}

/* v184 — DESKTOP ONLY: subtly refine informational paragraph widths.
   Reduces Services intro and Location/Getting Here copy by approx. 6% for a calmer editorial measure.
   About Olivia, Qualifications, Contact, mobile, spacing, fonts, colours, images, links and buttons unchanged. */
@media (min-width: 769px){
  #counselling .services-content > p,
  .location-section > p:not(.eyebrow){
    max-width: 630px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* v185 — DESKTOP ONLY: refine Services panel visual weight.
   Keeps the panel width and page alignment unchanged. Shortens the panel height, slightly reduces list type, and tightens vertical spacing for a more premium editorial feel. Mobile locked. */
@media (min-width: 769px){
  #counselling .services-focus{
    width:min(100%, 900px) !important;
    max-width:900px !important;
    min-height:590px !important;
    padding:clamp(3.05rem, 4.8vw, 4.25rem) clamp(3rem, 6vw, 5rem) !important;
  }

  #counselling .services-concerns-list,
  #counselling .services-focus ul{
    width:min(48%, 420px) !important;
    max-width:420px !important;
  }

  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    font-size:clamp(17px, 1.65vw, 20px) !important;
    line-height:1.28 !important;
    padding-top:.78rem !important;
    padding-bottom:.78rem !important;
  }
}

/* v186 — DESKTOP ONLY: reduce Services image panel scale.
   Refines only the desktop Services panel: smaller overall image width/height and slightly smaller list type.
   Mobile locked. No other sections, text, colours, links, buttons, or spacing changed. */
@media (min-width: 769px){
  #counselling .services-focus{
    width:min(100%, 720px) !important;
    max-width:720px !important;
    min-height:470px !important;
    padding:2.05rem 3rem !important;
    border-radius:30px !important;
  }

  #counselling .services-focus::before{
    border-radius:30px !important;
  }

  #counselling .services-concerns-list,
  #counselling .services-focus ul{
    width:min(100%, 410px) !important;
    max-width:410px !important;
  }

  #counselling .services-concerns-list li,
  #counselling .services-focus li{
    font-size:clamp(16px, 1.35vw, 18.5px) !important;
    line-height:1.24 !important;
    padding-top:.47rem !important;
    padding-bottom:.47rem !important;
  }
}


/* Desktop refinement: services intro/outro paragraph typography */
@media (min-width: 1024px){
.services-section .section-intro,
.services-section .section-outro,
.services-section .services-intro,
.services-section .services-outro{
  font-size:0.6875rem;
}
}

/* v191 — DESKTOP ONLY: reduce Services paragraph text by 2px.
   Applies only to the two Services body paragraphs above and below the image.
   Keeps the list intro line, Services image/list, mobile, and all other sections unchanged. */
@media (min-width: 769px){
  #counselling .services-content > p:not(.services-list-intro){
    font-size: clamp(15px, 2.1vw, 18px) !important;
  }
}


@media (min-width:769px){
  #client-agreement.client-agreement-section-v61 .client-agreement-copy{
    font-size: calc(1em - 2px) !important;
  }
}


/* v194 — DESKTOP ONLY: final 1px reduction for the two Services body paragraphs.
   Applies only to the intro and closing Services paragraphs. Mobile, list intro, Services image/list, and all other sections unchanged. */
@media (min-width: 769px){
  #counselling .services-content > p:not(.services-list-intro){
    font-size: clamp(14px, 2.0vw, 17px) !important;
  }
}

/* V195 — What to Expect page desktop-only centralised layout refinement */
@media (min-width: 768px) {
  .what-to-expect-section .what-to-expect-inner {
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .what-to-expect-section .what-to-expect-content,
  .what-to-expect-section .wte-enhanced-content {
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .what-to-expect-section .wte-intro-card,
  .what-to-expect-section .wte-card {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .what-to-expect-section .wte-card-grid {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
  }

  .what-to-expect-section .wte-card {
    width: 100% !important;
  }

  .what-to-expect-section .wp-block-columns {
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }

  .what-to-expect-section .wp-block-column {
    text-align: center !important;
  }

  .what-to-expect-section .wp-block-image,
  .what-to-expect-section figure,
  .what-to-expect-section img {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .what-to-expect-section ul,
  .what-to-expect-section ol {
    display: inline-block !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    text-align: center !important;
    list-style-position: inside !important;
  }

  .what-to-expect-section li {
    text-align: center !important;
  }
}


/* V196 — What to Expect page desktop-only: stack and centre image/session flow.
   Changes only the What to Expect page layout on desktop. Mobile remains untouched. */
@media (min-width: 768px) {
  .what-to-expect-section .wp-block-columns {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2.4rem !important;
    max-width: 820px !important;
  }

  .what-to-expect-section .wp-block-column {
    flex-basis: auto !important;
    width: 100% !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .what-to-expect-section .wp-block-column:has(.wp-block-image),
  .what-to-expect-section .wp-block-column:has(img) {
    max-width: 430px !important;
  }

  .what-to-expect-section .wp-block-media-text {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    grid-template-columns: none !important;
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    gap: 2.4rem !important;
  }

  .what-to-expect-section .wp-block-media-text__media {
    width: 100% !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  .what-to-expect-section .wp-block-media-text__content {
    width: 100% !important;
    max-width: 720px !important;
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    text-align: center !important;
  }

  .what-to-expect-section .wp-block-image {
    max-width: 430px !important;
    width: 100% !important;
    margin: 0 auto 2.2rem auto !important;
    text-align: center !important;
  }

  .what-to-expect-section .wp-block-image img,
  .what-to-expect-section .wp-block-media-text__media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* V197 — Round What to Expect content images on desktop and mobile */
.wte-enhanced-content img,
.what-to-expect-content img,
.page-template-page-what-to-expect img{
  border-radius:22px;
  overflow:hidden;
  display:block;
}

/* V199 — What to Expect page title 5px smaller on desktop and mobile only */
.what-to-expect-section .what-to-expect-inner > h1 {
  font-size: clamp(3.0875rem, calc(13vw - 5px), 5.4875rem) !important;
}

/* V200 — What to Expect page title reduced by a further 4px on desktop and mobile only */
.what-to-expect-section .what-to-expect-inner > h1 {
  font-size: clamp(2.8375rem, calc(13vw - 9px), 5.2375rem) !important;
}

/* V201 — Desktop FAQ: remove blue focus line on opened answers only */
@media (min-width: 761px){
  .faq-page-section .faq-item summary:focus,
  .faq-page-section .faq-item summary:focus-visible,
  .faq-page-section .faq-item[open] summary,
  .faq-page-section .faq-item[open] summary:focus,
  .faq-page-section .faq-item[open] summary:focus-visible{
    outline: none !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }
}

/* V202 — Desktop FAQ: completely remove click/focus blue line from accordion */
@media (min-width: 761px){
  .faq-page-section .faq-item,
  .faq-page-section .faq-item:focus,
  .faq-page-section .faq-item:focus-within,
  .faq-page-section .faq-item[open],
  .faq-page-section .faq-item[open]:focus,
  .faq-page-section .faq-item[open]:focus-within,
  .faq-page-section .faq-item > summary,
  .faq-page-section .faq-item > summary:hover,
  .faq-page-section .faq-item > summary:active,
  .faq-page-section .faq-item > summary:focus,
  .faq-page-section .faq-item > summary:focus-visible,
  .faq-page-section .faq-item[open] > summary,
  .faq-page-section .faq-item[open] > summary:hover,
  .faq-page-section .faq-item[open] > summary:active,
  .faq-page-section .faq-item[open] > summary:focus,
  .faq-page-section .faq-item[open] > summary:focus-visible{
    outline: 0 !important;
    outline-color: transparent !important;
    outline-style: none !important;
    outline-width: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .faq-page-section .faq-item > summary,
  .faq-page-section .faq-item[open] > summary{
    display: block !important;
    border: 0 !important;
    border-top: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    background: transparent !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .faq-page-section .faq-item > summary::-moz-focus-inner{
    border: 0 !important;
  }
}

@media (min-width:761px){
  .faq-item summary,
  .faq-item summary:focus,
  .faq-item summary:focus-visible{
    outline:none!important;
    box-shadow:none!important;
    -webkit-tap-highlight-color:transparent;
  }
}


/* v205 — MOBILE ONLY: use the supplied linen shadow image behind the hero contact card.
   Desktop locked. Contact card styling, spacing, typography and all other sections unchanged. */
@media (max-width: 760px){
  .wo-contact-strip{
    background-image: url('assets/images/mobile-contact-linen-shadow.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #eae5da !important;
  }
}

/* v206 — MOBILE ONLY: balance linen contact panel spacing.
   Reduces bottom spacing to match the top spacing; desktop and all other styling locked. */
@media (max-width: 760px){
  .wo-contact-strip{
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
}

/* v207 — MOBILE ONLY: reduce Services image panel height while keeping the list vertically centred.
   Width, text, row spacing, dividers, image positioning and desktop styling remain unchanged. */
@media (max-width: 767px){
  #counselling .services-focus{
    min-height: 775px !important;
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
    align-items: center !important;
  }
}

/* v208 — MOBILE ONLY: reduce Services image panel height by 12% from the current mobile version.
   Removes the height evenly from the top and bottom by keeping the list locked to the vertical centre.
   Width, text, alignment, row spacing, dividers, image positioning and desktop styling remain unchanged. */
@media (max-width: 767px){
  #counselling .services-focus{
    min-height: 682px !important;
    align-items: center !important;
    justify-content: center !important;
  }
}


@media (max-width: 767px){
  #counselling .services-concerns-list,
  #counselling .services-focus ul{
    position: relative !important;
    left: 5px !important;
  }
}

/* v210 — MOBILE ONLY: reduce gap between Services list intro heading and image panel by 12px.
   No changes to panel, list, typography, width, desktop or other sections. */
@media (max-width: 767px){
  #counselling .services-content > p.services-list-intro{
    margin-bottom: calc(3.6rem - 12px) !important;
  }
}
