:root{
  --sage:#2f4f3e;
  --sage-2:#5f7866;
  --soft-green:#dde6db;
  --warm:#f7f3ea;
  --paper:#fcfaf5;
  --charcoal:#1f2933;
  --muted:#687280;
  --line:#d9ddd6;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--paper);color:var(--charcoal);line-height:1.65}
h1,h2,h3,h4,.brand-name{font-family:'Playfair Display',serif;color:#183128}
a{color:inherit;text-decoration:none}.site-header{background:rgba(252,250,245,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(47,79,62,.08)}
.navbar-brand{display:flex;flex-direction:column;line-height:1}.brand-name{font-size:1.8rem}.brand-tagline{font-size:.68rem;color:var(--muted);margin-top:.35rem}.nav-link{font-size:.86rem;color:#22362d!important}.nav-link:hover{color:var(--sage)!important}.btn-primary{--bs-btn-bg:var(--sage);--bs-btn-border-color:var(--sage);--bs-btn-hover-bg:#223e30;--bs-btn-hover-border-color:#223e30}.btn-outline-dark{--bs-btn-color:#203129;--bs-btn-border-color:#5f6e66;--bs-btn-hover-bg:#203129;--bs-btn-hover-color:#fff}
.section-pad{padding:5.75rem 0}.section-soft{background:#f1f3ee}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:600;color:var(--sage-2)}
.hero{min-height:620px;background:linear-gradient(90deg,rgba(252,250,245,.98) 0%,rgba(252,250,245,.96) 43%,rgba(252,250,245,.15) 68%),url('../images/hero-botanical.svg') center/cover no-repeat;display:flex;align-items:center}
.hero h1{font-size:clamp(3rem,5vw,5.2rem);line-height:1.05;letter-spacing:-.03em}.hero .lead{max-width:650px;font-size:1.16rem}.hero-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.2rem;color:#365644;max-width:220px;margin-left:auto;margin-top:5rem}.hero-actions .btn{padding:.85rem 1.4rem}
.intro-copy h2,.about h2,.process h2,.cta h2{font-size:clamp(2.1rem,3vw,3.5rem);line-height:1.1}.help-grid .help-card{height:100%;padding:1.6rem;border:1px solid rgba(47,79,62,.08);border-radius:18px;background:rgba(255,255,255,.52);transition:.2s ease}.help-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(35,55,44,.07);background:#fff}.icon-disc{width:54px;height:54px;border-radius:50%;background:#edf1eb;display:grid;place-items:center;font-size:1.25rem;margin-bottom:1rem}.help-card h3{font-size:1.35rem}.help-card p{font-size:.92rem;color:var(--muted);margin-bottom:.6rem}.text-link{font-size:.88rem;font-weight:600;color:var(--sage)}
.about{background:linear-gradient(90deg,#eef0ea 0%,#f7f3ea 100%)}.portrait{max-width:220px;border-radius:18px;box-shadow:0 14px 40px rgba(42,60,50,.12)}.pullquote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.35rem;color:#425d4d}
.process-step{position:relative;padding-right:1.25rem}.step-num{width:42px;height:42px;border-radius:50%;background:var(--soft-green);display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:.8rem}.process-step h3{font-size:1.25rem}.process-step p{font-size:.92rem;color:var(--muted)}
.testimonial{background:linear-gradient(90deg,rgba(247,243,234,.9),rgba(221,230,219,.72)),url('../images/testimonial-botanical.svg') center/cover no-repeat}.testimonial blockquote{font-family:'Playfair Display',serif;font-size:1.45rem;font-style:italic;max-width:760px;margin:0 auto}.testimonial cite{font-family:'Inter',sans-serif;font-size:.9rem;font-style:normal;color:var(--muted)}
.cta{background:linear-gradient(110deg,#1f3f31,#2f5b45);color:#fff}.cta h2,.cta .eyebrow{color:#fff}.cta p{color:#e3ebe6}.site-footer{background:#faf8f2;border-top:1px solid var(--line)}.footer-links a:hover{color:var(--sage)}
.inner-hero{min-height:360px;display:flex;align-items:end;background:linear-gradient(90deg,rgba(247,243,234,.96),rgba(247,243,234,.62) 50%,rgba(247,243,234,.08)),url('../images/inner-calm.svg') center/cover no-repeat;padding:6rem 0 3rem}.inner-hero h1{font-size:clamp(3rem,5vw,4.8rem);line-height:1.05}.breadcrumb{font-size:.84rem}.content-prose{font-size:1.05rem}.content-prose h2{font-size:2.15rem;margin-top:2.8rem;margin-bottom:1rem}.check-list{list-style:none;padding:0}.check-list li{position:relative;padding-left:1.9rem;margin-bottom:.7rem}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--sage);font-weight:700}.aside-card{background:#f0f2ed;border-radius:20px;padding:1.8rem}.aside-card .quote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.3rem}.link-list a{display:block;padding:.65rem 0;border-bottom:1px solid var(--line);color:var(--sage);font-weight:600;font-size:.92rem}.link-list a:last-child{border-bottom:0}
@media (max-width:991.98px){.site-header{position:sticky}.hero{min-height:auto;padding:5.3rem 0 4rem;background:linear-gradient(180deg,rgba(252,250,245,.98) 0%,rgba(252,250,245,.88) 62%,rgba(252,250,245,.15) 100%),url('../images/hero-botanical.svg') center bottom/cover no-repeat}.hero-quote{display:none}.navbar-collapse{padding-top:1rem}.navbar-nav{align-items:stretch!important}.nav-link{padding:.65rem 0}.section-pad{padding:4rem 0}.portrait{max-width:170px;margin-bottom:1.5rem}.inner-hero{min-height:300px;padding-top:5rem}.process-step{padding-right:0}}
@media (max-width:575.98px){.brand-name{font-size:1.55rem}.hero h1{font-size:2.75rem}.hero .lead{font-size:1rem}.hero-actions .btn{width:100%;margin-bottom:.6rem}.section-pad{padding:3.3rem 0}.intro-copy h2,.about h2,.process h2,.cta h2{font-size:2.3rem}.help-card{padding:1.35rem!important}.inner-hero h1{font-size:2.9rem}}

/* Phase 2: reusable inner-page components */
.nav-link.active{color:var(--sage)!important;font-weight:600;position:relative}
.nav-link.active:after{content:'';position:absolute;left:.5rem;right:.5rem;bottom:.25rem;height:1px;background:var(--sage)}
.display-section{font-size:clamp(2rem,3vw,3rem);margin-bottom:1.5rem}
.plain-list{list-style:none;padding:0}.plain-list li{padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.92rem}.plain-list li:last-child{border-bottom:0}
.value-card,.directory-card,.price-card,.contact-card{height:100%;border:1px solid rgba(47,79,62,.1);border-radius:20px;background:rgba(255,255,255,.62);padding:1.75rem}
.value-card h3,.directory-card h3,.price-card h3{font-size:1.35rem}.value-card p,.directory-card p,.price-card p{color:var(--muted);margin-bottom:0}.directory-card{display:block;transition:.2s ease}.directory-card:hover{background:#fff;transform:translateY(-3px);box-shadow:0 15px 35px rgba(35,55,44,.07)}.directory-card .text-link{display:inline-block;margin-top:1rem}
.method-block{padding:1.8rem 0;border-bottom:1px solid var(--line)}.method-block:first-of-type{padding-top:.3rem}.method-block:last-child{border-bottom:0}.method-block h2{margin-top:0}
.price-card{display:flex;flex-direction:column}.price-card h2{font-size:3rem;margin:.6rem 0 .1rem}.price-card h3{margin-bottom:1rem}.price-card .btn{margin-top:auto;align-self:flex-start}.price-card.featured{background:linear-gradient(145deg,#edf2ec,#fff);border-color:rgba(47,79,62,.22);box-shadow:0 14px 35px rgba(35,55,44,.07)}
.note-box{background:#eef1eb;border-left:4px solid var(--sage);padding:1.25rem 1.4rem;border-radius:0 14px 14px 0;color:#304239}
.tf-accordion .accordion-item{background:transparent;border:0;border-bottom:1px solid var(--line)}.tf-accordion .accordion-button{font-family:'Playfair Display',serif;font-size:1.25rem;background:transparent;box-shadow:none;padding:1.25rem 0;color:#183128}.tf-accordion .accordion-button:not(.collapsed){background:transparent;color:#183128}.tf-accordion .accordion-button:focus{box-shadow:none}.tf-accordion .accordion-body{padding:0 0 1.35rem;color:var(--muted)}
.contact-card{padding:1.3rem}.contact-card a{display:block;margin-top:.35rem;color:var(--sage);font-weight:600;word-break:break-word}.contact-card .eyebrow{font-size:.66rem}
.inner-hero{background:linear-gradient(90deg,rgba(247,243,234,.98),rgba(247,243,234,.72) 60%,rgba(247,243,234,.15)),url('../images/inner-calm.svg') center/cover no-repeat}
@media (max-width:991.98px){.nav-link.active:after{display:none}.price-card h2{font-size:2.5rem}}

/* Phase 6: testimonial cards */
.testimonial-card{margin:0;padding:2rem;border:1px solid rgba(47,79,62,.1);border-radius:20px;background:rgba(255,255,255,.65)}
.testimonial-card blockquote{font-family:'Playfair Display',serif;font-size:1.25rem;line-height:1.55;font-style:italic;color:#294536;margin:0 0 1.25rem}
.testimonial-card figcaption{font-size:.86rem;color:var(--muted);font-weight:600}


/* Phase 8: launch accessibility hardening */
.skip-link{position:fixed;left:1rem;top:1rem;z-index:2000;padding:.75rem 1rem;border-radius:10px;background:#fff;color:#183128;border:2px solid #183128;transform:translateY(-180%);transition:transform .15s ease}
.skip-link:focus{transform:translateY(0)}
:where(a,button,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid #8b5f2f;outline-offset:3px;border-radius:4px}
.navbar-toggler:focus-visible,.accordion-button:focus-visible,.btn:focus-visible{box-shadow:none!important}
#main-content:focus{outline:none}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.help-card:hover,.directory-card:hover{transform:none}}

/* Final compliance pages and contact form */
.legal-copy h2{scroll-margin-top:7rem}.legal-copy h2:first-child{margin-top:0}.legal-copy p{margin-bottom:1rem}.legal-copy .check-list{margin-bottom:1.3rem}
.contact-form{background:#fff;border:1px solid rgba(47,79,62,.1);border-radius:20px;padding:1.6rem;margin:1.25rem 0 2.5rem}.contact-form .form-control{border-color:#bdc8c0;background:#fdfcf8;padding:.72rem .85rem}.contact-form .form-control:focus{border-color:var(--sage);box-shadow:0 0 0 .2rem rgba(47,79,62,.12)}.contact-form .form-check-input:checked{background-color:var(--sage);border-color:var(--sage)}.form-status{padding:1rem 1.2rem;border-radius:12px;margin-bottom:1rem}.form-status.success{background:#e7f0e7;color:#244230}.form-status.error{background:#f8e7e3;color:#68342c}

/* Phase 9: richer visual system based on the approved test-site layout */
:root{
  --terracotta:#a65d38;
  --terracotta-dark:#87482e;
  --terracotta-soft:#f2ddd1;
  --gold:#c79a4b;
  --gold-soft:#f3e7c7;
  --blue:#657f89;
  --blue-soft:#dce7e9;
  --sage-soft:#dce6d8;
}

/* Brand mark: decorative only; text remains the actual brand */
.brand-lockup{position:relative;display:flex!important;flex-direction:row!important;align-items:center;gap:.8rem}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-mark{position:relative;width:34px;height:43px;display:inline-block;flex:0 0 34px}
.brand-mark i{position:absolute;display:block;width:17px;height:29px;border-radius:100% 0 100% 0;transform-origin:bottom center}
.brand-mark i:nth-child(1){left:4px;top:0;background:#4e7359;transform:rotate(-34deg)}
.brand-mark i:nth-child(2){left:16px;top:2px;background:#78917b;transform:rotate(22deg)}
.brand-mark i:nth-child(3){left:11px;top:18px;background:var(--terracotta);transform:rotate(58deg) scale(.72)}
.brand-mark:after{content:'';position:absolute;left:16px;top:14px;width:1.5px;height:29px;background:#5a745f;transform:rotate(12deg);transform-origin:top}

/* Stronger but still gentle buttons */
.btn{font-weight:600;letter-spacing:.01em;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{--bs-btn-bg:#3f6951;--bs-btn-border-color:#3f6951;--bs-btn-hover-bg:#315641;--bs-btn-hover-border-color:#315641;box-shadow:0 8px 22px rgba(47,79,62,.14)}
.btn-warm{background:var(--terracotta);border:1px solid var(--terracotta);color:#fff!important;box-shadow:0 8px 22px rgba(166,93,56,.18)}
.btn-warm:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark);color:#fff!important}
.btn-warm-outline{border:1.5px solid var(--terracotta);color:var(--terracotta-dark);background:rgba(255,255,255,.65);padding:.85rem 1.4rem}
.btn-warm-outline:hover{background:var(--terracotta);border-color:var(--terracotta);color:#fff}

/* Page-specific palette hooks */
.hero-sage{--hero-accent:#456953;--hero-accent-soft:var(--sage-soft)}
.hero-rust{--hero-accent:var(--terracotta);--hero-accent-soft:var(--terracotta-soft)}
.hero-gold{--hero-accent:#a8792c;--hero-accent-soft:var(--gold-soft)}
.hero-blue{--hero-accent:#557683;--hero-accent-soft:var(--blue-soft)}

/* Homepage hero: imagery, but no portrait */
.hero.home-hero{
  min-height:620px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:linear-gradient(90deg,rgba(252,250,245,.98) 0%,rgba(252,250,245,.93) 41%,rgba(252,250,245,.52) 58%,rgba(252,250,245,.08) 82%),var(--hero-image);
  background-size:cover;
  background-position:center;
}
.hero.home-hero:after{content:'';position:absolute;inset:auto -8% -13% -8%;height:165px;background:var(--paper);border-radius:50% 50% 0 0/65% 65% 0 0;z-index:-1;opacity:.98}
.hero.home-hero h1{max-width:760px}
.hero.home-hero h1 br:last-child{display:block}
.hero.home-hero .hero-quote{background:rgba(252,250,245,.82);backdrop-filter:blur(7px);border-left:4px solid var(--hero-accent);padding:1.1rem 1.25rem;border-radius:0 18px 18px 0;color:#294536;box-shadow:0 12px 35px rgba(39,58,47,.12)}
.hero.home-hero .lead.text-secondary{color:#45524c!important;max-width:650px}

/* All content-page headers now use real, local imagery */
.inner-hero{
  --hero-accent:#456953;
  --hero-accent-soft:var(--sage-soft);
  position:relative;
  isolation:isolate;
  min-height:460px;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:5.8rem 0 4.7rem;
  background-image:linear-gradient(90deg,rgba(252,250,245,.98) 0%,rgba(252,250,245,.95) 37%,rgba(252,250,245,.68) 52%,rgba(252,250,245,.16) 76%),var(--hero-image)!important;
  background-size:cover!important;
  background-position:center!important;
}
.inner-hero:before{content:'';position:absolute;width:420px;height:420px;border-radius:50%;left:-245px;bottom:-260px;background:var(--hero-accent-soft);opacity:.74;z-index:-1}
.inner-hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,var(--hero-accent),rgba(255,255,255,0) 60%);opacity:.72}
.inner-hero-panel{max-width:690px;padding:1.65rem 1.8rem 1.75rem 0;position:relative}
.inner-hero-panel:before{content:'';position:absolute;left:0;top:-.3rem;width:76px;height:4px;border-radius:99px;background:var(--hero-accent)}
.inner-hero h1{font-size:clamp(3.2rem,5vw,5.05rem);letter-spacing:-.035em;margin:.7rem 0 .6rem}
.inner-hero .lead{font-family:'Playfair Display',serif;font-size:clamp(1.35rem,2.15vw,2rem);line-height:1.25;color:var(--hero-accent);font-weight:500;max-width:620px}
.inner-hero .breadcrumb{margin-bottom:1.25rem;color:#526159}
.inner-hero .breadcrumb a{color:#42594c}.inner-hero .breadcrumb-item.active{color:#68756e}

/* Colour throughout the cards without turning the site into a patchwork */
.icon-disc{background:var(--sage-soft);color:#315a43}
.help-grid>div:nth-child(2) .icon-disc,.help-grid>div:nth-child(5) .icon-disc{background:var(--terracotta-soft);color:var(--terracotta-dark)}
.help-grid>div:nth-child(3) .icon-disc,.help-grid>div:nth-child(6) .icon-disc{background:var(--gold-soft);color:#875f24}
.help-card{position:relative;overflow:hidden}
.help-card:after{content:'';position:absolute;height:4px;left:0;right:0;bottom:0;background:#6e8e77;opacity:.6}
.help-grid>div:nth-child(2) .help-card:after,.help-grid>div:nth-child(5) .help-card:after{background:var(--terracotta)}
.help-grid>div:nth-child(3) .help-card:after,.help-grid>div:nth-child(6) .help-card:after{background:var(--gold)}
.value-card,.directory-card,.price-card,.contact-card,.aside-card{box-shadow:0 9px 30px rgba(38,58,47,.045)}
.directory-card:nth-child(3n+2),.price-card:nth-child(3n+2){background:linear-gradient(145deg,#fff,var(--terracotta-soft))}
.price-card.featured{background:linear-gradient(145deg,var(--sage-soft),#fff)}
.note-box{background:linear-gradient(90deg,var(--sage-soft),#f5f4ef)}

/* John's photo appears only where deliberately placed in page content */
.portrait{aspect-ratio:1/1;object-fit:cover;object-position:center 35%;border-radius:22px;border:5px solid rgba(255,255,255,.82);box-shadow:0 16px 42px rgba(42,60,50,.16)}
.home .about .portrait{max-width:210px}
body.inner .portrait{max-width:235px}

/* CTA has a more lively two-tone treatment */
.cta{background:linear-gradient(112deg,#244936 0%,#315b43 65%,#70462f 125%)}

/* Decorative tonal rule beneath major headings */
.content-prose h2:after,.display-section:after{content:'';display:block;width:56px;height:3px;border-radius:10px;background:linear-gradient(90deg,#5f8269,var(--terracotta));margin-top:.65rem;opacity:.7}

@media (max-width:991.98px){
  .brand-mark{width:28px;height:36px;transform:scale(.86);transform-origin:left center;margin-right:-.1rem}
  .hero.home-hero{min-height:auto;padding:5rem 0 4.8rem;background-image:linear-gradient(180deg,rgba(252,250,245,.96) 0%,rgba(252,250,245,.88) 55%,rgba(252,250,245,.36) 100%),var(--hero-image)}
  .hero.home-hero:after{height:90px;bottom:-55px}
  .inner-hero{min-height:385px;padding:5rem 0 3.7rem;background-image:linear-gradient(90deg,rgba(252,250,245,.97),rgba(252,250,245,.88) 68%,rgba(252,250,245,.28)),var(--hero-image)!important;background-position:center!important}
  .inner-hero-panel{padding-right:0}
}
@media (max-width:575.98px){
  .brand-mark{display:none}
  .inner-hero{min-height:355px;padding:4rem 0 3.2rem;background-image:linear-gradient(180deg,rgba(252,250,245,.95) 0%,rgba(252,250,245,.91) 58%,rgba(252,250,245,.54) 100%),var(--hero-image)!important;background-position:center!important}
  .inner-hero h1{font-size:2.8rem}
  .inner-hero .lead{font-size:1.3rem}
  .inner-hero-panel{padding:1.3rem 0}
  .hero.home-hero h1{font-size:2.75rem}
}


/* 2026-09-20 image delivery hotfix */
.hero.home-hero,.inner-hero{background-image:none!important;position:relative;isolation:isolate;overflow:hidden}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;display:block}
.hero.home-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(252,250,245,.98) 0%,rgba(252,250,245,.93) 41%,rgba(252,250,245,.52) 58%,rgba(252,250,245,.08) 82%)}
.inner-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(252,250,245,.98) 0%,rgba(252,250,245,.95) 37%,rgba(252,250,245,.68) 52%,rgba(252,250,245,.16) 76%)}
.inner-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,var(--hero-accent),rgba(255,255,255,0) 60%);opacity:.72;z-index:1}
@media (max-width:991.98px){.hero.home-hero::before{background:linear-gradient(180deg,rgba(252,250,245,.96) 0%,rgba(252,250,245,.88) 55%,rgba(252,250,245,.36) 100%)}.inner-hero::before{background:linear-gradient(90deg,rgba(252,250,245,.97),rgba(252,250,245,.88) 68%,rgba(252,250,245,.28))}}
@media (max-width:575.98px){.inner-hero::before{background:linear-gradient(180deg,rgba(252,250,245,.95) 0%,rgba(252,250,245,.91) 58%,rgba(252,250,245,.54) 100%)}}

/* ---------------------------------------------------------
   2026-09-20 HERO CONTRAST UPDATE
   White typography over photography with darker overlays.
   --------------------------------------------------------- */

/* Homepage hero: darken the image behind the copy */
.hero.home-hero::before{
  background:linear-gradient(
    90deg,
    rgba(18,43,32,.88) 0%,
    rgba(18,43,32,.80) 38%,
    rgba(18,43,32,.58) 56%,
    rgba(18,43,32,.24) 76%,
    rgba(18,43,32,.08) 100%
  )!important;
}

.hero.home-hero h1,
.hero.home-hero .lead,
.hero.home-hero .lead.text-secondary,
.hero.home-hero .eyebrow,
.hero.home-hero p{
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.28);
}

.hero.home-hero .hero-quote{
  color:#fff!important;
  background:rgba(19,48,35,.70)!important;
  border-left-color:#e0b66c!important;
  text-shadow:0 1px 8px rgba(0,0,0,.30);
  box-shadow:0 14px 36px rgba(0,0,0,.18);
}

/* More colourful and legible hero actions */
.hero.home-hero .btn-primary,
.inner-hero .btn-primary{
  background:var(--terracotta)!important;
  border-color:var(--terracotta)!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
}
.hero.home-hero .btn-primary:hover,
.inner-hero .btn-primary:hover{
  background:var(--terracotta-dark)!important;
  border-color:var(--terracotta-dark)!important;
}
.hero.home-hero .btn-warm-outline,
.hero.home-hero .btn-outline-dark{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.92)!important;
  color:#fff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.hero.home-hero .btn-warm-outline:hover,
.hero.home-hero .btn-outline-dark:hover{
  background:#fff!important;
  border-color:#fff!important;
  color:#254536!important;
}

/* Inner-page heroes: white text on a darkened photo */
.inner-hero::before{
  background:linear-gradient(
    90deg,
    rgba(18,43,32,.88) 0%,
    rgba(18,43,32,.79) 38%,
    rgba(18,43,32,.58) 56%,
    rgba(18,43,32,.22) 77%,
    rgba(18,43,32,.06) 100%
  )!important;
}

.inner-hero h1,
.inner-hero .lead,
.inner-hero .breadcrumb,
.inner-hero .breadcrumb a,
.inner-hero .breadcrumb-item,
.inner-hero .breadcrumb-item.active{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.28);
}

.inner-hero .breadcrumb-item + .breadcrumb-item::before{
  color:rgba(255,255,255,.72)!important;
}

.inner-hero-panel::before{
  background:#e0b66c!important;
  box-shadow:0 1px 8px rgba(0,0,0,.16);
}

.inner-hero::after{
  background:linear-gradient(90deg,#e0b66c,var(--terracotta),rgba(255,255,255,0) 68%)!important;
  opacity:.92!important;
}

/* Ensure image itself remains rich rather than washed out */
.hero-media{
  filter:saturate(1.05) contrast(1.03);
}

@media (max-width:991.98px){
  .hero.home-hero::before{
    background:linear-gradient(
      180deg,
      rgba(18,43,32,.88) 0%,
      rgba(18,43,32,.80) 58%,
      rgba(18,43,32,.54) 100%
    )!important;
  }
  .inner-hero::before{
    background:linear-gradient(
      90deg,
      rgba(18,43,32,.89) 0%,
      rgba(18,43,32,.80) 68%,
      rgba(18,43,32,.43) 100%
    )!important;
  }
}

@media (max-width:575.98px){
  .inner-hero::before{
    background:linear-gradient(
      180deg,
      rgba(18,43,32,.91) 0%,
      rgba(18,43,32,.84) 62%,
      rgba(18,43,32,.68) 100%
    )!important;
  }
  .hero.home-hero::before{
    background:linear-gradient(
      180deg,
      rgba(18,43,32,.91) 0%,
      rgba(18,43,32,.84) 62%,
      rgba(18,43,32,.68) 100%
    )!important;
  }
}

/* ---------------------------------------------------------
   2026-09-20 HOMEPAGE CTA + BOTANICAL EDGE DECORATION
   --------------------------------------------------------- */

/* Homepage secondary CTA: solid dark button with white text */
.hero.home-hero .btn-warm-outline,
.hero.home-hero .hero-actions .btn-warm-outline{
  background:#244936!important;
  border-color:#244936!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(18,43,32,.24)!important;
}
.hero.home-hero .btn-warm-outline:hover,
.hero.home-hero .hero-actions .btn-warm-outline:hover{
  background:#18392b!important;
  border-color:#18392b!important;
  color:#fff!important;
  transform:translateY(-1px);
}

/* Decorative botanical branches at the sides of hero imagery.
   The SVG artwork is embedded directly in the CSS so no extra image file is required. */
.hero.home-hero > .container-xl,
.inner-hero > .container-xl{
  position:relative;
  isolation:isolate;
}
.hero.home-hero > .container-xl::before,
.inner-hero > .container-xl::before,
.hero.home-hero > .container-xl::after,
.inner-hero > .container-xl::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
  width:185px;
  height:270px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  opacity:.46;
  filter:drop-shadow(0 8px 20px rgba(20,48,35,.08));
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 270'%3E%3Cg fill='none' stroke='%235d7b65' stroke-width='2.1' stroke-linecap='round'%3E%3Cpath d='M77 258C75 202 82 153 103 112C118 83 139 57 158 34'/%3E%3Cpath d='M88 184C63 166 43 141 29 113'/%3E%3Cpath d='M101 136C77 116 61 92 53 66'/%3E%3Cpath d='M119 96C111 70 112 47 119 24'/%3E%3C/g%3E%3Cg fill='%236f8d75'%3E%3Cellipse cx='58' cy='160' rx='17' ry='34' transform='rotate(-47 58 160)'/%3E%3Cellipse cx='34' cy='111' rx='14' ry='29' transform='rotate(-42 34 111)'/%3E%3Cellipse cx='76' cy='104' rx='15' ry='31' transform='rotate(-34 76 104)'/%3E%3Cellipse cx='121' cy='62' rx='14' ry='31' transform='rotate(8 121 62)'/%3E%3Cellipse cx='151' cy='39' rx='13' ry='28' transform='rotate(31 151 39)'/%3E%3C/g%3E%3Cg fill='%23a85f3d'%3E%3Cellipse cx='96' cy='201' rx='12' ry='25' transform='rotate(32 96 201)'/%3E%3Cellipse cx='58' cy='73' rx='10' ry='21' transform='rotate(-12 58 73)'/%3E%3C/g%3E%3C/svg%3E");
}

/* left branch */
.hero.home-hero > .container-xl::before,
.inner-hero > .container-xl::before{
  left:-105px;
  bottom:-18px;
  transform:rotate(-8deg);
}

/* right branch, lighter and mirrored */
.hero.home-hero > .container-xl::after,
.inner-hero > .container-xl::after{
  right:-95px;
  top:-34px;
  transform:scaleX(-1) rotate(-5deg);
  opacity:.28;
}

/* Keep all hero content above the decorative foliage */
.hero.home-hero > .container-xl > .row,
.inner-hero > .container-xl > .row{
  position:relative;
  z-index:1;
}

@media (max-width:991.98px){
  .hero.home-hero > .container-xl::before,
  .inner-hero > .container-xl::before{
    left:-120px;
    bottom:-55px;
    opacity:.32;
  }
  .hero.home-hero > .container-xl::after,
  .inner-hero > .container-xl::after{
    right:-120px;
    top:-55px;
    opacity:.18;
  }
}

@media (max-width:575.98px){
  .hero.home-hero > .container-xl::before,
  .hero.home-hero > .container-xl::after,
  .inner-hero > .container-xl::before,
  .inner-hero > .container-xl::after{
    display:none;
  }
}
