:root{--green:#2f5d3a;--green-d:#1f3d27;--sage:#a9c4a3;--cream:#f4f8f1;--sand:#dcebd6;--ink:#1e2a20;--rust:#3d7a4a;--mint:#e8f3e4;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:17px/1.65 'Lato',system-ui,sans-serif;color:var(--ink);background:var(--cream)}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.15;color:var(--green-d);margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}h3{font-size:1.3rem}
a{color:var(--green)}img,video{max-width:100%;display:block}
.container{width:min(1140px,92%);margin:0 auto}
.section{padding:80px 0}.section--alt{background:#fff}.section--green{background:var(--green);color:var(--cream)}.section--green h2,.section--green h3{color:var(--cream)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--rust);margin-bottom:.6em;display:block}
.lead{font-size:1.15rem;max-width:62ch}
.btn{display:inline-block;padding:.85em 1.6em;border-radius:999px;background:var(--rust);color:#fff;text-decoration:none;font-weight:700;transition:.25s}
.btn:hover{background:#1f3d27;transform:translateY(-2px)}.btn--ghost{background:transparent;border:2px solid currentColor;color:var(--green)}
.btn--ghost:hover{background:var(--green);color:#fff}
.tbc{font-size:.72em;font-weight:400;color:#5f7562;font-style:italic;white-space:nowrap}
.placeholder{background:#fff3c4;border:1px dashed #c9a640;padding:0 .35em;border-radius:4px;font-size:.92em}
/* header */
.site-header{position:sticky;top:0;z-index:10;background:rgba(31,61,39,.97);backdrop-filter:blur(6px);border-bottom:1px solid var(--sand)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 0;flex-wrap:wrap}
.site-title{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:700;color:var(--green-d);text-decoration:none}
.site-title small{display:block;font:600 .68rem 'Lato';letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.main-nav ul{list-style:none;display:flex;gap:1.4rem;margin:0;padding:0;flex-wrap:wrap;align-items:center}
.main-nav a{text-decoration:none;font-weight:700;color:var(--ink)}.main-nav a:hover,.main-nav .current-menu-item a{color:var(--rust)}
/* hover zoom */
.zoom{overflow:hidden;border-radius:var(--r)}.zoom img{transition:transform .6s ease;width:100%;height:100%;object-fit:cover}.zoom:hover img{transform:scale(1.06)}
/* hero */
.hero{padding:70px 0;background:linear-gradient(135deg,var(--cream) 55%,var(--sand))}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
.hero .zoom{aspect-ratio:4/5;box-shadow:0 25px 50px -20px rgba(43,63,42,.45)}
.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.4rem 0 2rem;padding:0;list-style:none}
.hero-badges li{background:#fff;border:1px solid var(--sand);border-radius:999px;padding:.35em 1em;font-size:.9rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.card{background:#fff;border-radius:var(--r);padding:2rem;box-shadow:0 8px 30px -18px rgba(0,0,0,.3);border:1px solid #d3e4cd}
.section--alt .card{background:var(--cream)}
.price{font-family:'Fraunces',serif;font-size:2rem;color:var(--rust);margin:.2em 0}
.card ul{padding-left:1.1em}
.video-card{margin:0}.video-card video{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r);background:#222;transition:transform .5s}
.video-card:hover video{transform:scale(1.03)}.video-card figcaption{font-size:.9rem;margin-top:.5rem;text-align:center;color:#4a5e4d}
.why-list{list-style:none;padding:0;margin:0;display:grid;gap:1rem}.why-list li{padding-left:2rem;position:relative}.why-list li:before{content:"🐾";position:absolute;left:0}
.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.photo-row .zoom{aspect-ratio:1}
.teaser{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:center}.teaser .zoom{aspect-ratio:4/5}
.cta{text-align:center}.cta p{max-width:60ch;margin:0 auto 1.6rem}
.site-footer{background:var(--green-d);color:var(--sage);padding:40px 0;font-size:.92rem}.site-footer a{color:var(--cream)}
.site-footer .container{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
/* about */
.page-hero{padding:60px 0 40px;background:var(--sand)}
.quals{list-style:none;padding:0;display:grid;gap:.6rem}.quals li{background:#fff;border-left:4px solid var(--green);padding:.7rem 1rem;border-radius:6px}
.tribute{background:#e8f3e4}.tribute-head{text-align:center;margin-bottom:2.5rem}.tribute-head h2{font-style:italic}
.tribute-body{display:grid;grid-template-columns:1.4fr .8fr;gap:3rem;align-items:start}
.tribute-body p:first-child::first-letter{font-family:'Fraunces',serif;font-size:3.4em;float:left;line-height:.9;margin:.05em .1em 0 0;color:var(--rust)}
.tribute-photos{display:grid;gap:1.2rem;position:sticky;top:100px}.tribute-photos figure{margin:0}.tribute-photos figcaption{font-size:.85rem;color:#4a5e4d;margin-top:.4rem;text-align:center}
.fun{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
.fun .card{display:flex;gap:1.4rem;align-items:flex-start}.fun .zoom{flex:0 0 160px}
.fun .tag{display:inline-block;background:var(--green);color:#fff;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.2em .7em;border-radius:999px;margin-bottom:.6rem}
.fun .caption{font-size:.88rem;color:#4a5e4d;font-style:italic}
@media (max-width:860px){.hero .container,.teaser,.tribute-body,.grid-2,.grid-3,.fun{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.tribute-photos{position:static;grid-template-columns:1fr 1fr}.section{padding:56px 0}.hero{padding:40px 0}.main-nav ul{gap:.9rem;font-size:.95rem}}
@media (max-width:480px){.fun .card{flex-direction:column}.fun .zoom{flex-basis:auto;width:160px}.site-header{position:static}}
.offers{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.2rem 0 1.8rem}
.offer{background:var(--green);color:#fff;border-radius:var(--r);padding:1rem 1.2rem;line-height:1.35}.offer strong{display:block;font-family:'Fraunces',serif;font-size:1.25rem;color:#ffe9b8}
@media (max-width:480px){.offers{grid-template-columns:1fr}}
/* green theme overrides */
.site-header{border-bottom-color:#2f5d3a}.site-title,.main-nav a{color:#fff}.site-title small{color:#a9c4a3}
.main-nav a:hover,.main-nav .current-menu-item a{color:#c8e6c0}.main-nav .btn{background:#a9c4a3;color:#1f3d27}.main-nav .btn:hover{background:#c8e6c0}
.hero{background:linear-gradient(135deg,#f4f8f1 50%,#cfe3c8)}
.hero-badges li{border-color:#a9c4a3;color:#1f3d27}
.section--alt{background:#e8f3e4}.section--alt .card{background:#fff}
.page-hero{background:linear-gradient(135deg,#2f5d3a,#1f3d27)}.page-hero h1{color:#fff}.page-hero .eyebrow{color:#c8e6c0}
.section--green .btn{background:#a9c4a3;color:#1f3d27}.section--green .btn:hover{background:#fff}
.offer strong{color:#d6f0cf}.site-footer{color:#c8dcc3}
.quals li{border-left-color:#3d7a4a}
.fun .zoom.corrie{flex:0 0 240px;width:240px;min-width:240px;max-width:240px;aspect-ratio:275/389;background:#e8f3e4}.fun .zoom.corrie img{object-fit:contain}
@media (max-width:1000px){.fun .card{flex-direction:column}}
/* lighter header/footer */
.site-header{background:rgba(106,159,114,.97);border-bottom-color:#5a8f62}
.site-title,.main-nav a{color:#14281a}.site-title small{color:#14281a;opacity:1}
.main-nav a:hover,.main-nav .current-menu-item a{color:#14281a;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}
.main-nav .btn{background:#1f3d27;color:#fff;text-decoration:none}.main-nav .btn:hover{background:#14281a;color:#fff}
.site-footer{background:#6a9f72;color:#14281a}.site-footer a,.site-footer strong{color:#14281a!important}


.site-footer a{color:#fff}
.cta-buttons .btn{margin:0 .3rem .5rem}
.contact-form{max-width:520px;margin:1.5rem auto 0;text-align:left;display:grid;gap:.8rem}
.contact-form label{display:grid;gap:.3rem;font-weight:700}
.contact-form input,.contact-form textarea{padding:.6rem;border:0;border-radius:6px;font:inherit}
.contact-form button{justify-self:start;cursor:pointer}
/* ---- WordPress additions ---- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus,.skip-link:focus{background:#fff;clip:auto!important;clip-path:none;color:#14281a;display:block;height:auto;left:8px;top:8px;padding:12px 20px;width:auto;z-index:100000;border-radius:6px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,.btn:focus-visible{outline:3px solid #14281a;outline-offset:3px}
.section--green a:focus-visible,.section--green .btn:focus-visible{outline-color:#fff}
.site-footer a{color:#14281a!important;text-decoration:underline}
.main-nav .current-menu-item .btn,.main-nav .btn{color:#fff;text-decoration:none}
.menu-toggle{display:none;background:#1f3d27;color:#fff;border:0;border-radius:999px;padding:.55em 1.1em;font:700 1rem 'Lato',sans-serif;cursor:pointer}
@media (max-width:700px){.menu-toggle{display:inline-block}.main-nav{width:100%}.main-nav ul{display:none;flex-direction:column;align-items:flex-start;padding:.5rem 0}.main-nav.is-open ul{display:flex}}
.entry-content>*:first-child{margin-top:0}.entry-content img{height:auto;border-radius:var(--r)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.gallery-grid figure{margin:0}.gallery-grid .zoom{aspect-ratio:1}.gallery-grid figcaption{font-size:.88rem;color:#4a5e4d;margin-top:.4rem;text-align:center}
@media (max-width:860px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.gallery-grid,.grid-4{grid-template-columns:1fr}}
.wp-block-image,.wp-block-gallery figure{overflow:hidden;border-radius:var(--r)}.wp-block-image img,.wp-block-gallery img{transition:transform .6s ease}.wp-block-image:hover img,.wp-block-gallery figure:hover img{transform:scale(1.06)}
.form-notice{padding:1rem 1.2rem;border-radius:8px;max-width:520px;margin:1rem auto;font-weight:700}.form-notice--ok{background:#d6f0cf;color:#14281a}.form-notice--err{background:#ffe1dc;color:#5a1a10}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form .req{color:#ffe9b8}.contact-form input,.contact-form textarea{color:#14281a}
.contact-details{list-style:none;padding:0;display:grid;gap:.6rem;font-size:1.1rem}
.section--green a:not(.btn){color:#fff}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.zoom:hover img,.video-card:hover video{transform:none}}

/* ===== v2: boutique refresh ===== */
:root{--gold:#b89b5e;--cream2:#fbf8f1;--r:20px}
body{background:var(--cream2)}
h1,h2{letter-spacing:-.01em}
.h3{font-size:1.3rem}
.eyebrow{color:var(--gold);letter-spacing:.2em}
.btn{background:var(--green);box-shadow:0 6px 18px -10px rgba(31,61,39,.6)}
.btn:hover{background:var(--green-d)}
.hero,.has-deco{position:relative;overflow:hidden}
.hero>.container,.has-deco>.container{position:relative;z-index:1}
.hero{background:radial-gradient(ellipse at 85% 10%,var(--mint),transparent 60%),linear-gradient(160deg,var(--cream2) 50%,#e9f1e3)}
.hero .zoom{border-radius:200px 200px var(--r) var(--r)}
.deco{position:absolute;pointer-events:none;color:var(--green);opacity:.06;z-index:0}
.deco--hero{width:min(560px,70vw);left:-60px;bottom:-30px}
.deco--right{width:min(380px,50vw);right:-40px;bottom:-20px;transform:scaleX(-1)}
.deco-img{opacity:.4;height:auto;transform:none;mix-blend-mode:multiply}.deco--hero.deco-img{width:min(300px,30vw);left:0;bottom:0}.deco--right.deco-img{width:min(220px,26vw);right:2%;bottom:0}.deco--cta.deco-img{width:min(220px,26vw);opacity:.18;mix-blend-mode:luminosity}
.deco--cta{width:min(420px,60vw);right:4%;bottom:-30px;color:#fff;opacity:.07;transform:scaleX(-1)}
.page-hero{background:linear-gradient(160deg,#e9f1e3,var(--sand));border-radius:0 0 48px 48px}
.one-to-one{display:flex;gap:1rem;align-items:flex-start;background:#fff;border:1px solid var(--sage);border-left:6px solid var(--gold);border-radius:var(--r);padding:1.2rem 1.4rem;margin:1.4rem 0;box-shadow:0 12px 30px -20px rgba(31,61,39,.5);max-width:62ch}
.one-to-one p{margin:.3rem 0 0}
.one-to-one__title{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--green-d)}
.one-to-one__icon{flex:0 0 44px;width:44px;height:44px;padding:9px;border-radius:50%;background:var(--green);color:#f3e7c9}
.paw{width:22px;height:22px;color:var(--gold)}
.paw-divider{display:flex;align-items:center;gap:.8rem;max-width:260px;margin:0 auto 1.8rem}
.paw-divider span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.site-footer .paw-divider{margin-bottom:1.6rem}
.paw-list{list-style:none;padding-left:0!important}
.paw-list li{padding-left:1.6rem;position:relative;margin:.3rem 0}
.paw-list li:before,.why-list li:before{content:"";position:absolute;left:0;top:.35em;width:1em;height:1em;background:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='16.5' rx='5' ry='4.2'/%3E%3Cellipse cx='5' cy='10' rx='2.1' ry='2.7'/%3E%3Cellipse cx='9.3' cy='5.6' rx='2.1' ry='2.8'/%3E%3Cellipse cx='14.7' cy='5.6' rx='2.1' ry='2.8'/%3E%3Cellipse cx='19' cy='10' rx='2.1' ry='2.7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='16.5' rx='5' ry='4.2'/%3E%3Cellipse cx='5' cy='10' rx='2.1' ry='2.7'/%3E%3Cellipse cx='9.3' cy='5.6' rx='2.1' ry='2.8'/%3E%3Cellipse cx='14.7' cy='5.6' rx='2.1' ry='2.8'/%3E%3Cellipse cx='19' cy='10' rx='2.1' ry='2.7'/%3E%3C/svg%3E") center/contain no-repeat}
.why-list li:before{width:1.2em;height:1.2em;top:.2em}
.hero-badges li{background:#fff;border-color:var(--sage)}
.hero-badges li:first-child{background:var(--green);color:#fff;border-color:var(--green);font-weight:700}
.card{border-color:#e3ecdd}
.offer strong{color:#f3e7c9}
@media (max-width:860px){.deco{opacity:.045}.deco-img{opacity:.22;width:150px}.hero .zoom{border-radius:140px 140px var(--r) var(--r)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.btn--ghost{background:transparent;box-shadow:none;color:var(--green)}.btn--ghost:hover{background:var(--green);color:#fff}
.hero-note{margin:0 0 1.6rem;font-size:.95rem}.hero-note a{font-weight:700}
/* v2.1.5 faded Parker restored, laid out in-flow so nothing covers him */
.cta .container{text-align:center}
.has-deco{display:flex;flex-direction:column}
.has-deco>.container{width:min(1140px,92%);margin-left:auto;margin-right:auto;align-self:center}
.has-deco>.deco--right.deco-img{position:relative;order:2;align-self:flex-end;right:auto;bottom:auto;width:min(200px,40vw);margin:1rem 4% -3rem 0;opacity:.4;z-index:1;transform:none}
.page-hero.has-deco>.deco--right.deco-img{position:absolute;right:3%;bottom:0;margin:0;width:min(160px,30vw);max-height:calc(100% - 1rem);object-fit:contain;object-position:bottom}
.page-hero.has-deco>.container h1{padding-right:170px}
@media (max-width:860px){.has-deco>.deco--right.deco-img{width:150px;opacity:.4;margin-bottom:-2rem}.page-hero.has-deco>.deco--right.deco-img{width:110px}.page-hero.has-deco>.container h1{padding-right:110px}}
@media (max-width:860px){.hero>.deco--hero.deco-img{display:none}}
.hero{display:flex;flex-direction:column}.hero>.container{width:min(1140px,92%);margin-left:auto;margin-right:auto;align-self:center}
.hero>.deco--hero.deco-img{position:relative;order:2;left:auto;bottom:auto;align-self:flex-start;width:min(170px,20vw);margin:.5rem 0 -3rem max(4%,calc((100% - 1140px)/2));opacity:.4;z-index:1}

/* v2.1.7 paw-divider: every variant centred, symmetric fading lines */
.paw-divider{width:100%;max-width:260px;margin-left:auto!important;margin-right:auto!important;justify-content:center;box-sizing:border-box}
.paw-divider .paw{flex:0 0 22px}
.paw-divider span{flex:1 1 0}
.paw-divider--start{max-width:200px;margin-bottom:1.2rem}
.paw-divider--hero{max-width:170px;margin-top:1rem;margin-bottom:0}.paw-divider--hero .paw{width:18px;height:18px;flex-basis:18px}
.paw-divider--light span{background:linear-gradient(90deg,transparent,#e9d7a6,transparent)}.paw-divider--light .paw{color:#e9d7a6}
.cta .paw-divider{margin-bottom:1.4rem}
.container>.paw-divider--section{margin-bottom:1.8rem}
/* 2.1.8: before/after toggle + gentle zoom on why-stripping photo row */
.photo-row .zoom{position:relative;display:block;isolation:isolate}
.photo-row .zoom img{transition:transform .5s ease,opacity .5s ease;transform:scale(1)}
.photo-row .zoom:hover img,.photo-row .zoom:focus-within img,.photo-row .zoom:focus-visible img{transform:scale(1.05)}
.ba{appearance:none;border:0;padding:0;margin:0;background:#e8f3e4;cursor:pointer;font:inherit;width:100%}
.ba .ba__img{position:absolute;inset:0}
.ba .ba__after{opacity:0}
.ba[aria-pressed="true"] .ba__after{opacity:1}
@media (hover:hover){.ba:hover .ba__after{opacity:1}.ba[aria-pressed="true"]:hover .ba__after{opacity:0}}
.ba:focus-visible{outline:3px solid #1f3d27;outline-offset:3px}
.ba__label{position:absolute;left:.5rem;bottom:.5rem;z-index:2;background:rgba(20,40,26,.72);color:#fff;font-size:.72rem;line-height:1;padding:.35em .6em;border-radius:999px;pointer-events:none;letter-spacing:.02em}
.ba__hint{font-style:normal;opacity:.85}
.ba__l-after{display:none}
.ba[aria-pressed="true"] .ba__l-before{display:none}.ba[aria-pressed="true"] .ba__l-after{display:inline}
@media (hover:hover){.ba:hover .ba__l-before{display:none}.ba:hover .ba__l-after{display:inline}.ba[aria-pressed="true"]:hover .ba__l-after{display:none}.ba[aria-pressed="true"]:hover .ba__l-before{display:inline}}
@media (prefers-reduced-motion:reduce){.photo-row .zoom img{transition:none!important;transform:none!important}}

/* 2.2.1: second before/after toggle */
.ba--pair2 .ba__after{object-position:25% 50%}
.ba--pair3{background:linear-gradient(#ddd4d4 0 50%,#9a938d 50% 100%)}.ba--pair3 .ba__img{object-fit:contain}

/* 2.2.2: Adele show-ring photo on About */
.about-show{margin:1.5rem 0 0}.about-show .zoom{aspect-ratio:700/834}.about-show figcaption{font-size:.88rem;color:#4a5e4d;margin-top:.4rem;text-align:center}
