  :root{
    --cream:#FFF0F6;
    --cream-deep:#FBE2EE;
    --forest:#FA0174;
    --forest-deep:#9B0148;
    --green-mid:#FA0174;
    --espresso:#3E2A1B;
    --gold:#E3A13C;
    --gold-soft:#F1C77E;
    --white:#FFFFFF;
    --daisy-yellow:#F4C430;
    --ink:#2B2118;
    --line: rgba(62,42,27,0.14);
    --shadow: 0 10px 30px rgba(47,80,36,0.12);
    --radius: 14px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Nunito Sans', system-ui, sans-serif;
    font-size:17px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Baloo 2', system-ui, sans-serif;
    font-weight:700;
    color:var(--espresso);
    line-height:1.08;
    margin:0;
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
  .measure{max-width:62ch;}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background-color:#fff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='230' height='74' viewBox='0 0 230 74'%3E%3Cg fill='none' stroke='%23FA0174' stroke-width='1.2' opacity='.09'%3E%3Cg transform='translate(36 22) rotate(12)'%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(0)'/%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(45)'/%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(90)'/%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(135)'/%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(180)'/%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(225)'/%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(270)'/%3E%3Cellipse cx='0' cy='-7.2' rx='1.9' ry='4.3' transform='rotate(315)'/%3E%3Ccircle r='2.6' fill='%23fff'/%3E%3C/g%3E%3Cg transform='translate(152 50) rotate(-18) scale(.0185) translate(-646 -609)' stroke-width='65'%3E%3Cellipse cx='200' cy='555' rx='165' ry='205' transform='rotate(-20 200 555)'/%3E%3Cellipse cx='458' cy='275' rx='172' ry='235' transform='rotate(-5 458 275)'/%3E%3Cellipse cx='835' cy='275' rx='172' ry='235' transform='rotate(5 835 275)'/%3E%3Cellipse cx='1090' cy='555' rx='165' ry='205' transform='rotate(20 1090 555)'/%3E%3Cpath d='M640 515C520 515 450 600 400 700 340 800 180 850 180 985c0 115 90 195 220 190 100-5 160-75 245-75s155 70 255 75c120 5 205-75 205-190 0-135-155-185-215-285C840 600 760 515 640 515z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-size:230px 74px;
  }
  header::after{
    content:""; position:absolute; left:0; right:0; bottom:-14px; height:16px; pointer-events:none;
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 16' preserveAspectRatio='none'%3E%3Cpath d='M0 0H600V8C550 16 500 16 450 8S350 0 300 8 200 16 150 8 50 0 0 8Z' fill='white'/%3E%3Cpath d='M0 8C50 0 100 0 150 8S250 16 300 8 400 0 450 8 550 16 600 8' fill='none' stroke='%23FA0174' stroke-width='3'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px; max-width:1120px; margin:0 auto; gap:20px;
  }
  .brand{display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0;}
  .brand img{width:auto;}
  .brand-icon{height:80px;}
  .brand-wordmark{height:60px;}
  .brand-name{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.15rem; color:var(--espresso); white-space:nowrap;}
  .brand-name span{color:var(--forest);}
  nav.links{display:flex; gap:22px; align-items:center; flex-shrink:0;}
  nav.links a{
    text-decoration:none; color:var(--espresso); font-weight:600; font-size:0.94rem;
    opacity:0.82; white-space:nowrap; margin-right:22px;
  }
  nav.links a:last-child{margin-right:0;}
  nav.links a:hover{opacity:1;}
  .nav-cta{
    background:var(--forest); color:var(--white)!important; opacity:1!important;
    padding:10px 18px; border-radius:999px; font-weight:700;
  }
  .nav-cta:hover{background:var(--forest-deep);}
  .menu-btn{display:none; background:none; border:none; cursor:pointer; padding:6px;}
  .nav-quick{display:none; gap:8px; margin-left:auto; flex-shrink:0;}
  .nav-quick a{display:inline-flex; align-items:center; gap:5px; padding:7px 11px; border-radius:999px; background:#fff; border:2px solid var(--forest); color:var(--forest); font-weight:800; font-size:.86rem; text-decoration:none; line-height:1;}
  .nav-quick svg{width:15px; height:15px;}
  .menu-btn span{display:block; width:24px; height:2.5px; background:var(--espresso); margin:5px 0; border-radius:2px;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    padding:64px 0 0;
    overflow:hidden;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center;
  }
  .eyebrow-tag{
    display:inline-block; background:var(--gold-soft); color:var(--espresso);
    padding:6px 14px; border-radius:999px; font-weight:700; font-size:0.86rem;
    margin-bottom:18px;
  }
  .hero h1{font-size:clamp(2.2rem, 4.4vw, 3.4rem); letter-spacing:-0.01em;}
  .hero h1 .h1-sub{
    display:block; margin-top:12px; font-size:clamp(1.05rem, 1.6vw, 1.25rem);
    font-weight:600; letter-spacing:0; color:var(--forest); line-height:1.3;
  }
  .hero h1 em{
    font-style:normal; color:var(--forest);
  }
  .hero p.lede{
    margin-top:20px; font-size:1.18rem; color:#4a3c2e; max-width:46ch;
  }
  .hero-actions{display:flex; gap:14px; margin-top:30px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    padding:15px 28px; border-radius:999px; font-weight:700; font-size:1.02rem;
    text-decoration:none; border:2px solid transparent; cursor:pointer;
    transition:transform .15s ease, background .15s ease;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--forest); color:var(--white);}
  .btn-primary:hover{background:var(--forest-deep);}
  .btn-outline{background:transparent; border-color:var(--espresso); color:var(--espresso);}
  .btn-outline:hover{background:var(--espresso); color:var(--white);}

  .trust-line{
    margin-top:26px; font-size:0.95rem; color:#5a4a38; font-weight:600;
  }
  .trust-line .dot{color:var(--gold); margin:0 10px;}

  .hero-art{
    position:relative;
    display:flex; justify-content:center; align-items:flex-end;
  }
  .hero-art img{
    width:100%; max-width:440px;
    filter:drop-shadow(0 18px 26px rgba(47,80,36,0.22));
    position:relative; z-index:2;
  }
  .grass-divider{
    display:block; width:100%; height:auto; margin-top:56px;
  }

  /* ---------- Trust bar ---------- */
  .trustbar{
    background:#2F5024; color:var(--white); padding:16px 0;
  }
  .trustbar .wrap{
    display:flex; flex-wrap:wrap; gap:10px 32px; justify-content:center;
    font-weight:700; font-size:0.98rem;
  }
  .trustbar .wrap span{opacity:0.96; display:inline-flex; align-items:center; gap:7px; margin-right:32px;}
  .trustbar .wrap span:last-child{margin-right:0;}
  .paw{fill:var(--forest); flex-shrink:0;}
  /* Phones: stack the trust items as one centered block so the paws line up */
  @media (max-width: 640px){
    .trustbar .wrap{flex-direction:column; align-items:flex-start; width:fit-content;}
    .trustbar .wrap span{margin-right:0;}
  }

  /* ---------- Section shared ---------- */
  section{padding:84px 0;}
  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head .kicker{
    color:var(--forest); font-weight:800; font-size:1rem; margin-bottom:8px; display:block;
  }
  .section-head h2{font-size:clamp(1.8rem, 3vw, 2.4rem);}
  .section-head p{margin-top:14px; color:#5a4a38; font-size:1.08rem;}

  /* ---------- How it works ---------- */
  .steps{
    display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
  }
  .step{position:relative; padding-left:6px;}
  .step .num{
    font-family:'Baloo 2',sans-serif; font-size:1.3rem; font-weight:800;
    color:var(--white); line-height:1; margin-bottom:16px;
    width:42px; height:42px; border-radius:50%;
    background:var(--forest);
    display:flex; align-items:center; justify-content:center;
  }
  .step h3{font-size:1.25rem; margin-bottom:10px;}
  .step p{color:#5a4a38; font-size:1rem;}

  /* ---------- Pricing ---------- */
  .pricing-wrap{
    background:var(--white); border-radius:20px; padding:44px; box-shadow:var(--shadow);
    border:1px solid var(--line);
  }
  .pricing-top{
    display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px;
    margin-bottom:28px;
  }
  .pricing-top .from{font-family:'Baloo 2',sans-serif; font-size:2.6rem; color:var(--forest); font-weight:800;}
  .pricing-top .from small{font-size:1rem; color:var(--ink); font-weight:600; display:block; margin-top:4px;}
  table.rates{width:100%; border-collapse:collapse;}
  table.rates th{
    text-align:left; font-family:'Baloo 2',sans-serif; font-size:1rem; color:var(--forest);
    padding:10px 14px; border-bottom:2px solid var(--forest);
  }
  table.rates td{
    padding:14px; border-bottom:1px solid var(--line); font-weight:600;
  }
  table.rates tr:last-child td{border-bottom:none;}
  table.rates td:first-child{color:var(--espresso); font-weight:700;}
  .price-note{
    margin-top:24px; font-size:0.94rem; color:#6a5b48; background:var(--cream-deep);
    padding:16px 18px; border-radius:12px;
  }

  /* ---------- Service area ---------- */
  .area-layout{
    display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;
  }
  .zone-list{list-style:none; margin:0; padding:0;}
  .zone-list li{
    display:flex; align-items:baseline; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);
  }
  .zone-list li:first-child{padding-top:0;}
  .zone-tag{
    font-family:'Baloo 2',sans-serif; font-weight:700; color:var(--forest);
    min-width:34px;
  }
  .zone-name{font-weight:700; color:var(--espresso);}
  .zone-note{color:#6a5b48; font-size:0.95rem; margin-top:2px;}
  .area-aside{
    background:var(--forest); color:var(--white); border-radius:18px; padding:36px;
  }
  .area-aside h3{color:var(--white); font-size:1.35rem; margin-bottom:12px;}
  .area-aside p{opacity:0.92; margin-bottom:20px;}

  /* ---------- Quote form ---------- */
  .quote-section{background:var(--cream-deep);}
  .quote-layout{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:start;}
  .quote-side h2{font-size:clamp(1.8rem,3vw,2.3rem);}
  .quote-side p{color:#5a4a38; margin-top:16px;}
  .quote-perks{margin-top:28px; list-style:none; padding:0;}
  .quote-perks li{
    display:flex; gap:12px; padding:10px 0; font-weight:700; color:var(--espresso);
  }
  .quote-perks li::before{
    content:"✓"; color:var(--forest); font-weight:800;
  }

  form.quote-form{
    background:var(--white); border-radius:20px; padding:36px; box-shadow:var(--shadow);
    border:1px solid var(--line);
  }
  .field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .field{margin-bottom:18px;}
  .field label{
    display:block; font-weight:700; font-size:0.92rem; color:var(--espresso); margin-bottom:6px;
  }
  .field input, .field select, .field textarea{
    width:100%; padding:12px 14px; border-radius:10px; border:1.5px solid var(--line);
    font-family:inherit; font-size:1rem; background:var(--cream); color:var(--ink);
  }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:3px solid var(--gold-soft); border-color:var(--forest);
  }
  form.quote-form .btn{width:100%; margin-top:6px;}

  /* ---------- Footer ---------- */
  footer{background:var(--forest-deep); color:var(--white); padding:56px 0 28px;}
  .footer-top{
    display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; padding-bottom:40px;
    border-bottom:1px solid rgba(255,255,255,0.14);
  }
  .footer-brand{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .footer-brand img{height:44px;}
  .footer-brand span{font-family:'Baloo 2',sans-serif; font-weight:700; font-size:1.2rem;}
  footer p{color:rgba(255,255,255,0.72); font-size:0.96rem;}
  footer h4{font-family:'Baloo 2',sans-serif; color:var(--white); font-size:1rem; margin-bottom:14px;}
  footer ul{list-style:none; padding:0; margin:0;}
  footer ul li{margin-bottom:10px;}
  footer ul a{color:rgba(255,255,255,0.78); text-decoration:none; font-weight:600;}
  footer ul a:hover{color:var(--white);}
  .footer-bottom{
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    padding-top:24px; font-size:0.86rem; color:rgba(255,255,255,0.55);
  }

  /* ---------- Responsive ---------- */
  @media (max-width: 880px){
    nav.links{display:none;}
    .menu-btn{display:block;}
    .nav-quick{display:flex;}
    .nav{gap:10px;}
    .hero-grid{grid-template-columns:1fr; text-align:left;}
    .hero-art{order:-1; max-width:280px; margin:0 auto 20px;}
    .steps{grid-template-columns:1fr;}
    .area-layout{grid-template-columns:1fr;}
    .quote-layout{grid-template-columns:1fr;}
    .field-row{grid-template-columns:1fr;}
    .footer-top{grid-template-columns:1fr; gap:28px;}
    .pricing-wrap{padding:26px;}
    section{padding:60px 0;}
  }

  /* ---------- Price calculator section ---------- */
  .anchor{display:block; position:relative; top:-90px; visibility:hidden;}
  .price-layout{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,0.85fr); gap:40px; align-items:start;}
  .price-side{background:var(--white); border-radius:20px; padding:30px; border:1px solid var(--line); box-shadow:var(--shadow); position:sticky; top:96px;}
  .price-side h3{font-size:1.35rem; margin-bottom:14px;}
  .price-list{list-style:none; margin:0 0 6px; padding:0;}
  .price-list li{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font-weight:600;}
  .price-list li:last-child{border-bottom:none;}
  .price-list li strong{color:var(--espresso);}
  .price-list li span{white-space:nowrap; color:var(--forest); font-weight:800;}
  .price-side .price-note{margin-top:14px;}

  /* ---------- Guarantee ---------- */
  .guarantee-layout{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;}
  .guarantee-card{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:32px; box-shadow:var(--shadow);}
  .guarantee-card h3{font-size:1.3rem; margin-bottom:10px;}
  .guarantee-card p{color:#5a4a38;}
  details.faq{background:var(--cream-deep); border-radius:14px; padding:18px 22px;}
  details.faq + details.faq{margin-top:12px;}
  details.faq summary{cursor:pointer; font-weight:800; color:var(--espresso); list-style-position:outside;}
  details.faq p{margin:12px 0 0; color:#5a4a38;}
  .guarantee-badge{display:inline-flex; align-items:center; gap:8px; background:var(--forest); color:var(--white); font-weight:800; padding:8px 16px; border-radius:999px; margin-bottom:16px;}

  @media (max-width: 880px){
    .price-layout{grid-template-columns:1fr;}
    .price-side{position:static;}
    .guarantee-layout{grid-template-columns:1fr;}
  }

/* ---------- Services ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.svc-card{display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-radius:20px; padding:26px 24px; box-shadow:var(--shadow); text-decoration:none; color:inherit; transition:transform .15s ease, border-color .15s ease;}
a.svc-card:hover{transform:translateY(-3px); border-color:var(--forest);}
.svc-ico{width:52px; height:52px; border-radius:50%; background:var(--cream-deep); color:var(--forest); display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.svc-ico svg{width:28px; height:28px;}
.svc-card h3{font-size:1.2rem; margin-bottom:8px;}
.svc-card p{color:#5a4a38; font-size:.98rem; flex:1;}
.svc-more{margin-top:14px; font-weight:800; color:var(--forest-deep);}
.page-hero{background:var(--cream-deep); padding:56px 0 48px;}
.page-hero .svc-ico{margin-bottom:18px;}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem); margin:6px 0 12px;}
.page-hero p.lede{max-width:680px; font-size:1.12rem; color:#5a4a38; margin:0;}
.crumbs{font-size:.92rem; font-weight:700; margin-bottom:14px;}
.crumbs a{color:var(--forest-deep); text-decoration:none;}
.svc-layout{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr); gap:44px; align-items:start;}
.svc-main h2{font-size:1.6rem; margin:0 0 14px;}
.svc-main h2:not(:first-child){margin-top:40px;}
.svc-main p, .svc-main li{color:#4a3c2e;}
ol.visit-steps{list-style:none; counter-reset:s; padding:0; margin:0;}
ol.visit-steps li{counter-increment:s; position:relative; padding:0 0 18px 56px; min-height:44px;}
ol.visit-steps li::before{content:counter(s); position:absolute; left:0; top:-2px; width:40px; height:40px; border-radius:50%; background:var(--forest); color:var(--white); font-weight:800; display:flex; align-items:center; justify-content:center;}
ol.visit-steps li strong{display:block; color:var(--espresso); font-size:1.05rem;}
ul.checks{list-style:none; padding:0; margin:0;}
ul.checks li{position:relative; padding:0 0 10px 32px;}
ul.checks li svg{position:absolute; left:0; top:3px; width:20px; height:20px; color:var(--forest);}
.svc-aside{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:28px; box-shadow:var(--shadow); position:sticky; top:96px;}
.svc-aside h3{font-size:1.3rem; margin-bottom:8px;}
.svc-aside p{color:#5a4a38; font-size:.98rem;}
.svc-aside .btn{width:100%; justify-content:center; text-align:center; margin-top:8px;}
.svc-aside .alt{font-size:.92rem; margin-top:12px; text-align:center;}
.callout{background:var(--cream-deep); border-radius:16px; padding:18px 22px; margin:22px 0;}
.faq-group h2{font-size:1.5rem; margin:44px 0 14px;}
.faq-group:first-child h2{margin-top:0;}
.more-q{margin-top:22px; font-weight:700;}
@media (max-width: 980px){ .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width: 880px){ .svc-layout{grid-template-columns:1fr;} .svc-aside{position:static;} }
@media (max-width: 560px){ .svc-grid{grid-template-columns:1fr;} }
.page-hero .svc-ico{background:var(--white); width:60px; height:60px;}

/* ---------- Homepage price tiles ---------- */
.price-tiles{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;}
.price-tile{background:var(--white); border:1px solid var(--line); border-radius:18px; padding:22px 18px; text-align:center; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:4px;}
.price-tile.featured{border:2px solid var(--forest);}
.pt-label{font-weight:800; color:var(--espresso);}
.pt-price{font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:2.2rem; line-height:1.1; color:var(--espresso);}
.pt-price small{font-size:.45em; font-weight:700; color:#6a5b48;}
.pt-note{font-size:.85rem; font-weight:800; color:var(--forest-deep);}
.price-cta{text-align:center; margin:28px 0 8px;}
.price-fine{text-align:center; font-size:.9rem; color:#6a5b48; max-width:640px; margin:0 auto;}
@media (max-width: 880px){ .price-tiles{grid-template-columns:repeat(2,minmax(0,1fr));} }

/* ---------- Mascot illustrations ---------- */
.svc-art{display:block; width:100%; max-width:200px; height:150px; object-fit:contain; margin:0 auto 14px;}
.hero-split{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr); gap:32px; align-items:center;}
.hero-art{width:100%; max-width:340px; height:auto; justify-self:center;}
.hero-banner{display:block; width:100%; max-width:1000px; height:auto; margin:28px auto -48px;}
.callout-art{display:flex; gap:18px; align-items:center;}
.callout-art img{width:120px; height:auto; flex:0 0 auto;}
@media (max-width: 760px){
  .hero-split{grid-template-columns:1fr;}
  .hero-art{max-width:220px; order:-1;}
  .callout-art{flex-direction:column; text-align:left; align-items:flex-start;}
}

@media (max-width: 400px){ .nav-quick a{padding:7px 9px;} .nav-quick span{display:none;} .nav-quick svg{width:18px; height:18px;} }

/* Pricing page illustration */
.price-head{position:relative; max-width:none; min-height:150px; padding-right:220px;}
.price-head p{max-width:640px;}
.price-head-art{position:absolute; right:0; bottom:-18px; width:200px; height:auto;}
@media (max-width: 760px){
  .price-head{padding-right:0; min-height:0;}
  .price-head-art{position:static; display:block; width:130px; margin:0 0 6px;}
}

/* Larger header logo, stepped down on small screens so the Text/Call buttons still fit */
@media (max-width: 880px){ .brand-icon{height:62px;} .brand-wordmark{height:46px;} .brand{gap:8px;} }
@media (max-width: 480px){ .brand-icon{height:54px;} .brand-wordmark{height:40px;} .brand{gap:6px;} }
@media (max-width: 430px){ .nav{padding-left:16px; padding-right:16px;} }
@media (max-width: 360px){ .brand-icon{height:46px;} .brand-wordmark{height:33px;} }

/* Footer logo: large, on a white card so the brown lettering is readable */
footer .footer-brand{display:block; margin-bottom:16px;}
footer .footer-brand img{height:150px; width:auto; background:var(--cream); border-radius:18px; padding:12px 16px; box-sizing:content-box;}
@media (max-width: 560px){ footer .footer-brand img{height:130px;} }

/* Trust line: phrases stay whole but the line can wrap between them; grid columns may shrink on phones */
.trust-line .tl-item{display:inline-block;}
.hero-grid > *{min-width:0;}

/* Quote form inside a service-page sidebar (community & commercial page) */
.svc-aside .field{margin-bottom:12px; text-align:left;}
.svc-aside .field input, .svc-aside .field select, .svc-aside .field textarea{background:#fff;}
.svc-aside form.quote-form{background:none; border:0; box-shadow:none; padding:0; margin:14px 0 0; border-radius:0;}

/* Page not found */
.notfound{padding:64px 0 80px;}
.notfound-inner{text-align:center; max-width:640px;}
.notfound-inner img{width:240px; height:auto; margin:0 auto 18px; display:block;}
.notfound-inner .kicker{display:block; color:var(--forest); font-weight:800; margin-bottom:6px;}
.notfound-inner h1{font-size:clamp(2rem,5vw,2.8rem); margin:0 0 12px;}
.notfound-inner .lede{margin:0 auto 26px; color:#5a4a38; font-size:1.1rem;}
.notfound-actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center;}
.notfound-alt{margin-top:26px; font-weight:700;}

/* Service page hero with a full scene illustration instead of a cut-out pup */
.hero-split--photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.hero-art.hero-photo{max-width:540px; border-radius:22px; box-shadow:0 10px 30px rgba(155,1,72,.15);}
@media (max-width: 880px){ .hero-split--photo{grid-template-columns:1fr;} .hero-art.hero-photo{max-width:100%;} }

/* ---------- Real photos (hero, visit strip, Meet Britni, About) ---------- */
.hero-photo{position:relative; justify-self:center; width:100%; max-width:430px; margin-bottom:8px;}
.hero-photo-img{display:block; width:100%; height:auto; border-radius:28px; border:6px solid var(--white); box-shadow:0 18px 40px rgba(155,1,72,.18); transform:rotate(1.5deg);}
.hero-photo-badge{position:absolute; right:-44px; bottom:-34px; width:170px; height:auto; filter:drop-shadow(0 8px 14px rgba(47,80,36,.25));}
.hero-photo-tag{position:absolute; top:22px; left:-18px; background:var(--forest); color:var(--white); font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:1.05rem; padding:6px 16px; border-radius:999px; box-shadow:0 6px 14px rgba(155,1,72,.25); transform:rotate(-4deg);}
.visit-strip{margin-top:56px;}
.visit-strip-head{font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:1.3rem; color:var(--espresso); margin:0 0 16px;}
.visit-photos{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.visit-photos figure{margin:0; background:var(--white); border-radius:18px; overflow:hidden; box-shadow:var(--shadow);}
.visit-photos img{display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover;}
.visit-photos figcaption{padding:12px 14px 14px; font-size:.95rem; color:#5a4a38; line-height:1.35;}
.visit-photos figcaption b{display:block; color:var(--forest-deep); font-size:1rem;}
.meet{background:var(--cream-deep);}
.meet-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:48px; align-items:center;}
.meet-photo{display:block; width:100%; max-width:380px; height:auto; border-radius:24px; border:6px solid var(--white); box-shadow:var(--shadow); justify-self:center;}
.meet h2{font-size:clamp(1.8rem,3vw,2.4rem); margin:6px 0 12px;}
.meet .kicker{color:var(--forest); font-weight:800;}
.meet p{color:#5a4a38; font-size:1.08rem; max-width:52ch; margin:0 0 22px;}
@media (max-width: 880px){
  .hero-photo{max-width:270px; order:-1; margin:0 auto 30px;}
  .hero-photo-badge{width:110px; right:-18px; bottom:-24px;}
  .hero-photo-tag{left:-6px; font-size:.95rem;}
  .visit-photos{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
  .meet-grid{grid-template-columns:1fr; gap:28px;}
  .meet-photo{max-width:300px;}
}
.about-hero-photo{display:block; width:100%; max-width:420px; height:auto; justify-self:center; border-radius:26px; border:6px solid var(--white); box-shadow:0 18px 40px rgba(155,1,72,.18); transform:rotate(-1.5deg);}
.about-story-grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:48px; align-items:center;}
.about-copy h2{font-size:clamp(1.8rem,3vw,2.4rem); margin:0 0 16px;}
.about-copy p{color:#5a4a38; font-size:1.08rem; max-width:62ch; margin:0 0 16px;}
.about-side-photo{display:block; width:100%; max-width:340px; height:auto; justify-self:center; border-radius:24px; border:6px solid var(--white); box-shadow:var(--shadow); transform:rotate(2deg);}
.about-promises{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
.about-promises figure{margin:0; background:var(--white); border-radius:18px; overflow:hidden; box-shadow:var(--shadow);}
.about-promises img{display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover;}
.about-promises figcaption{padding:14px 16px 16px; color:#5a4a38; font-size:.97rem; line-height:1.4;}
.about-promises figcaption b{display:block; color:var(--forest-deep); font-size:1.05rem; margin-bottom:2px;}
.about-fact-list{list-style:none; padding:0; margin:0 0 40px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px;}
.about-fact-list li{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; color:#5a4a38;}
.about-fact-list b{display:block; color:var(--espresso); font-family:'Baloo 2',system-ui,sans-serif; font-size:1.15rem;}
.about-cta{text-align:center; background:var(--forest); color:var(--white); border-radius:22px; padding:36px 24px;}
.about-cta h3{color:var(--white); font-size:1.6rem; margin:0 0 8px;}
.about-cta p{margin:0 auto 20px; max-width:52ch;}
.about-cta a:not(.btn){color:var(--white); font-weight:800;}
.about-cta .btn-primary{background:var(--white); color:var(--forest);}
@media (max-width: 880px){
  .about-hero-photo{max-width:260px; order:-1;}
  .about-story-grid{grid-template-columns:1fr; gap:28px;}
  .about-side-photo{max-width:280px;}
  .about-promises{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
  .about-fact-list{grid-template-columns:1fr;}
}
/* ---------- Refer & Earn ---------- */
.refer-numbers{display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 4px;}
.refer-numbers div{background:var(--white); border:1px solid var(--line); border-radius:16px; padding:12px 18px; min-width:120px; display:flex; flex-direction:column;}
.refer-numbers b{font-family:'Baloo 2',system-ui,sans-serif; font-size:1.9rem; line-height:1.05; color:var(--forest);}
.refer-numbers span{font-size:.9rem; color:#5a4a38; font-weight:700;}
.refer-numbers .refer-numbers-total{background:var(--forest); border-color:var(--forest);}
.refer-numbers .refer-numbers-total b,.refer-numbers .refer-numbers-total span{color:var(--white);}
.refer-form-grid{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:start;}
.refer-fine{font-size:.85rem; color:#7a6a5a; margin:10px 0 0; text-align:center;}
.refer-done{background:#EAF5EC; color:#1E5A32; font-weight:700; padding:18px 20px; border-radius:14px; margin:0;}
@media (max-width: 880px){ .refer-form-grid{grid-template-columns:1fr; gap:28px;} .refer-form-grid .field-row{grid-template-columns:1fr; gap:0;} }
/* ---------- Scripture references ---------- */
.verse{text-align:right; margin:22px 0 0; font-family:'Baloo 2',system-ui,sans-serif; font-style:italic; font-weight:600; font-size:.95rem; color:var(--forest-deep); opacity:.75;}
.verse--footer{color:rgba(255,255,255,.75); opacity:1; margin:0; padding:0 0 18px; border-bottom:1px solid rgba(255,255,255,0.14);}
.footer-top:has(+ .verse--footer){border-bottom:0; padding-bottom:12px;}
.about-sign{font-family:'Baloo 2',system-ui,sans-serif; font-weight:800; font-size:1.35rem !important; color:var(--forest) !important; margin-top:4px !important;}
/* ---------- About: Cola memorial ---------- */
.about-side{display:flex; flex-direction:column; align-items:center; gap:18px; justify-self:center; margin:0;}
.cola-memory{margin:0; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;}
.cola-memory figcaption{font-family:'Baloo 2',system-ui,sans-serif; font-weight:700; font-style:italic; color:var(--forest-deep); font-size:1.05rem; line-height:1.3;}
.cola-memory figcaption span{display:block; font-style:normal; font-weight:600; font-size:.92rem; color:#7a5b50; letter-spacing:.04em;}
/* ---------- Healthy Yard education page (/healthy-yard) ---------- */
.hy-kicker{display:block; color:var(--forest); font-weight:800; margin-bottom:4px;}
.hy-pink{color:var(--forest);}
.hy-sub{font-family:'Baloo 2',system-ui,sans-serif; font-weight:700; font-size:clamp(1.15rem,2vw,1.4rem); color:var(--espresso); margin:0 0 14px;}
.hy-hero .lede + .lede{margin-top:10px;}
.hy-hero .hero-actions{margin-top:24px;}
.hy-hero-img{max-width:420px; transform:rotate(1.5deg); border:6px solid var(--white);}
.hy-cards{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.hy-card{display:flex; flex-direction:column; background:var(--white); border:1px solid var(--line); border-top:5px solid var(--forest); border-radius:20px; padding:24px 22px; box-shadow:var(--shadow);}
.hy-card h3{font-size:1.2rem; margin-bottom:10px;}
.hy-card p{color:#5a4a38; font-size:.98rem; margin:0 0 10px;}
.hy-src{font-size:.84rem !important; color:#7a6a5a !important; margin-top:auto !important; padding-top:6px;}
.hy-src a{color:var(--forest-deep); font-weight:700;}
.hy-fact-section{padding:0 0 84px;}
.hy-fact{display:flex; gap:24px; align-items:flex-start; background:#EEF7E6; border:2px dashed #7DB35A; border-radius:24px; padding:34px 36px;}
.hy-fact-daisy{width:64px; height:64px; flex:0 0 auto;}
.hy-fact h2{font-size:clamp(1.7rem,3vw,2.2rem); color:#2F5024; margin-bottom:10px;}
.hy-fact p{color:#3f3a2c; margin:0 0 10px; max-width:64ch;}
.hy-fact-big{font-size:1.2rem; font-weight:700;}
.hy-fact-big strong{color:var(--forest-deep);}
.hy-fact-fine{font-size:.92rem; color:#5f5a48 !important;}
.hy-fact-link{font-weight:800; color:#2F5024;}
#healthy-habits{background:var(--cream-deep);}
.hy-steps{max-width:720px;}
.hy-steps li{color:#4a3c2e; padding-top:8px;}
.hy-steps li strong{font-size:1.1rem;}
.hy-habits .hy-src{margin-top:12px !important;}
.hy-help .svc-main h2{font-size:clamp(1.7rem,3vw,2.2rem);}
.hy-checks{margin:18px 0 6px;}
.hy-checks a{color:var(--forest-deep); font-weight:700;}
.hy-area-head{font-size:1.2rem; margin:24px 0 6px;}
.hy-aside-art{width:100%; max-width:170px; height:auto; margin:0 auto 10px;}
.hy-aside-alt{margin-top:10px !important;}
.hy-refs{background:var(--white);}
.hy-ref-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.hy-ref{background:var(--cream); border-radius:16px; padding:20px 22px;}
.hy-ref h3{font-size:1.08rem; margin-bottom:10px;}
.hy-ref ul{margin:0; padding-left:18px;}
.hy-ref li{margin-bottom:6px;}
.hy-ref a{color:var(--forest-deep); font-weight:700;}
.hy-disclaimer{margin:28px 0 0; font-size:.92rem; color:#6a5b48; background:var(--cream-deep); border-radius:12px; padding:14px 18px;}
.hy-teaser{margin-top:32px;}
.hy-teaser img{width:110px; border-radius:16px; border:4px solid var(--white);}
.hy-teaser h3{font-size:1.3rem; margin-bottom:6px;}
.hy-teaser p{color:#5a4a38; margin:0 0 14px;}
.hy-teaser .btn{padding:11px 22px; font-size:.96rem;}
@media (max-width: 980px){ .hy-cards{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width: 880px){ .hy-ref-grid{grid-template-columns:1fr;} .hero-art.hy-hero-img{max-width:250px;} }
@media (max-width: 560px){ .hy-cards{grid-template-columns:1fr;} .hy-fact{flex-direction:column; padding:26px 22px;} .hy-fact-daisy{width:48px; height:48px;} .hy-fact-section{padding-bottom:60px;} }
.hy-help .svc-main h2{margin-top:0 !important;}
