:root{
  --cream:#fbf8ea; --paper:#fffdf4; --ink:#08120c; --green:#082a16; --green2:#14351f;
  --lime:#a7d700; --lime2:#cbe936; --line:#c4cf82; --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.45;overflow-x:hidden}a{text-decoration:none;color:inherit}
.site-header{height:118px;padding:0 clamp(28px,5vw,72px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;background:rgba(255,253,244,.96);border-bottom:1px solid rgba(8,42,22,.12);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.brand,.footer-brand{display:flex;align-items:center;gap:14px}.brand img{width:78px;height:78px;object-fit:contain;background:white}.brand strong{font-family:var(--serif);font-size:30px;line-height:.82;display:block}.brand small,.footer-brand small{display:block;color:#6f9300;font-size:12px;font-weight:900;letter-spacing:.04em;margin-top:6px}.main-nav{justify-self:center;display:flex;gap:34px;align-items:center;text-transform:uppercase;font-size:14px;font-weight:900}.main-nav a{padding:42px 0 12px;border-bottom:3px solid transparent}.main-nav a.active,.main-nav a:hover{color:#76a000;border-color:var(--lime)}
.book{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--lime);color:#020400;border:0;border-radius:16px;padding:18px 36px;font-weight:950;text-transform:uppercase;font-size:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 3px 0 rgba(0,0,0,.12)}.learn{display:inline-flex;align-items:center;justify-content:center;border:2px solid #0a0a0a;border-radius:14px;padding:16px 34px;text-transform:uppercase;font-size:14px;font-weight:950;background:rgba(255,255,255,.48)}.menu-toggle{display:none}
/* STAGE 1: HERO. Full-bleed image, no max-width wrapper, no side bars. The hero height follows the image aspect ratio so the dogs and yin-yang are not cropped. */
.hero{position:relative;width:100vw;min-height:calc(100vw * 1052 / 1495);isolation:isolate;overflow:hidden;background:#f7f3df}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right bottom;transform:scale(1.16) translateY(-22px);transform-origin:right bottom;z-index:0}.hero-fade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,253,244,.98) 0%,rgba(255,253,244,.94) 18%,rgba(255,253,244,.72) 30%,rgba(255,253,244,.18) 42%,rgba(255,253,244,0) 54%),linear-gradient(180deg,rgba(255,253,244,.05),rgba(237,247,201,.26) 91%,rgba(229,239,194,.62) 100%)}
.hero-content{position:absolute;z-index:2;left:clamp(42px,6vw,120px);top:clamp(60px,9vw,165px);width:620px;max-width:42vw}.hero h1{font-family:var(--serif);font-size:clamp(64px,6vw,96px);line-height:.92;margin:0;text-transform:uppercase;letter-spacing:-.035em}.hero h1 span,.hero h1 em{display:block;font-style:normal}.hero h1 em{color:#7eaa00}.rule{width:min(360px,100%);display:flex;align-items:center;gap:18px;margin:27px 0 23px;color:#8ab500}.rule:before,.rule:after{content:"";height:2px;background:#8ab500;flex:1}.hero-content p{font-size:clamp(18px,1.25vw,22px);max-width:560px;margin:0}.hero-actions{display:flex;gap:18px;margin:34px 0 30px}.mini{font-size:16px!important;display:flex;gap:12px;align-items:center}.mini span{font-size:24px;color:#8cb600}
/* STAGE 2: SERVICES / VALUES */
.values{background:linear-gradient(90deg,#082815,#14351f);color:#fff;display:grid;grid-template-columns:140px repeat(4,1fr);padding:34px clamp(34px,6vw,94px);align-items:center}.value-logo img{width:82px;height:82px;border-radius:50%;background:#fff}.values article{min-height:92px;display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;padding:0 26px;border-left:1px solid rgba(167,215,0,.55)}.values .icon{width:58px;height:58px;border:3px solid var(--lime);border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:28px}.values h3{font-family:var(--serif);margin:0 0 5px;text-transform:uppercase;font-size:20px}.values p{margin:0;color:#fff;opacity:.92;font-size:16px}.services{padding:34px clamp(32px,6vw,94px) 60px;background:#fffdf5}.section-title{text-align:center}.section-title h2{font-family:var(--serif);font-size:40px;text-transform:uppercase;margin:0}.section-title span{color:#98bd00}.section-title p{margin:2px 0 0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;max-width:1320px;margin-inline:auto}.service-grid article{text-align:center;padding:0 38px;border-left:1px solid var(--line)}.service-grid article:first-child{border-left:0}.round-icon{width:88px;height:88px;margin:0 auto 15px;border:3px solid #9bb628;border-radius:50%;display:grid;place-items:center;font-size:34px;background:radial-gradient(circle,#fff 50%,#eef6d1)}.service-grid h3{font-family:var(--serif);font-size:20px;text-transform:uppercase;margin:0 0 8px}.service-grid p{margin:0;font-size:16px}
/* STAGE 3: ABOUT / CTA */
.about-band{min-height:360px;background:linear-gradient(90deg,#edf1df 0%,#f7f4e5 70%,#eef1dc 100%);display:grid;grid-template-columns:420px minmax(520px,1fr) 360px;align-items:stretch;overflow:hidden}.about-text{padding:58px 34px 44px 70px;position:relative;z-index:2}.about-text h2{font-family:var(--serif);font-size:26px;text-transform:uppercase;margin:0}.small-rule{width:265px;display:flex;align-items:center;gap:14px;color:#8aad00;margin:15px 0}.small-rule:before,.small-rule:after{content:"";height:1px;background:#8aad00;flex:1}.about-text p{max-width:390px}.script{font-family:'Brush Script MT','Segoe Script',cursive!important;color:#8daa00;font-size:34px!important;margin-top:24px!important}.paw-end{display:block;color:#9bc100;font-size:25px;margin-left:95px}.about-dogs{background:url('assets/about-dogs.png') left bottom / contain no-repeat;min-height:360px;margin-left:-35px;position:relative;z-index:1}.cta{background:linear-gradient(135deg,#d4eb4b,#a9d605);border-radius:30px 30px 0 0;padding:38px 34px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.cta img{width:72px;height:72px;border-radius:50%;background:#fff}.cta h2{font-family:var(--serif);font-size:27px;line-height:1.05;text-transform:uppercase;margin:16px 0 10px}.cta p{margin:0 0 18px}.book.dark{background:#122718;color:#fff;border-radius:999px}.social{display:flex;gap:14px;margin:20px 0 8px}.social span{width:28px;height:28px;border-radius:50%;background:#172917;color:#fff;display:grid;place-items:center;font-weight:bold}.based{font-size:14px!important;margin:0!important}.site-footer{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;background:#082815;color:#fff;padding:22px clamp(30px,6vw,70px)}.footer-brand img{width:54px;height:54px}.footer-brand strong{font-family:var(--serif);font-size:18px}.site-footer nav{display:flex;gap:30px;justify-content:center;text-transform:uppercase;font-size:12px}.site-footer nav a:first-child{color:var(--lime)}.site-footer p{font-size:13px;margin:0;color:#e9eed9}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media (min-width:1700px){.hero-content{left:6vw;top:10vw}.hero h1{font-size:98px}.hero-image{transform:scale(1.13) translateY(-18px)}}
@media (max-width:1100px){.site-header{height:auto;padding:15px 22px;grid-template-columns:auto auto}.main-nav{grid-column:1/-1;order:3;flex-wrap:wrap;justify-content:center;gap:18px}.top-book{display:none}.hero{min-height:calc(100vw * 1052 / 1495)}.hero-content{left:5vw;top:7vw;width:46vw;max-width:520px}.hero h1{font-size:clamp(42px,7vw,66px)}.values{grid-template-columns:1fr 1fr}.value-logo{display:none}.service-grid{grid-template-columns:1fr 1fr;gap:32px}.service-grid article:nth-child(odd){border-left:0}.about-band{grid-template-columns:1fr}.cta{border-radius:30px;margin:0 24px 24px}.site-footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.site-footer nav{flex-wrap:wrap}}
@media (max-width:700px){.brand img{width:60px;height:60px}.brand strong{font-size:23px}.main-nav{display:none}.main-nav.open{display:flex}.menu-toggle{display:block;justify-self:end;border:0;background:var(--lime);border-radius:12px;padding:10px 13px;font-weight:900}.hero{min-height:760px}.hero-image{height:100%;object-fit:cover;object-position:62% bottom;transform:none}.hero-fade{background:linear-gradient(180deg,rgba(255,253,244,.96) 0%,rgba(255,253,244,.86) 43%,rgba(255,253,244,.18) 70%,rgba(229,239,194,.8) 100%)}.hero-content{left:24px;right:24px;top:36px;width:auto}.hero h1{font-size:48px}.rule{width:100%}.hero-content p{font-size:18px}.hero-actions{flex-direction:column}.values,.service-grid{grid-template-columns:1fr}.values article{border-left:0;border-top:1px solid rgba(168,214,0,.35);padding:22px 0}.service-grid article{border-left:0;border-top:1px solid var(--line);padding-top:26px}.about-text{padding:42px 22px}.about-dogs{min-height:240px}.site-footer nav{display:none}}
.text-link{display:inline-block;margin-top:12px;color:#6f9300;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.04em}
.eyebrow{margin:0 0 12px;color:#789d00;font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:13px}
.page-hero{min-height:520px;display:flex;align-items:center;padding:72px clamp(28px,7vw,110px);background:linear-gradient(90deg,rgba(255,253,244,.98),rgba(255,253,244,.78) 45%,rgba(255,253,244,.12)),url('assets/hero-background.png') center 62%/cover no-repeat;position:relative}.page-hero-approach{background-position:center 68%}.page-hero-copy{max-width:670px}.page-hero h1{font-family:var(--serif);font-size:clamp(48px,6vw,82px);line-height:.96;text-transform:uppercase;margin:0 0 22px}.page-hero-copy>p:not(.eyebrow){font-size:20px;max-width:610px;margin:0 0 28px}.content-shell{max-width:1240px;margin-inline:auto;padding-inline:32px}.page-intro{padding-top:72px;padding-bottom:34px}.page-intro h2,.approach-story h2,.change-section h2{font-family:var(--serif);font-size:clamp(34px,4vw,54px);line-height:1;text-transform:uppercase;margin:0 0 20px}.page-intro p{max-width:880px;font-size:18px}.pricing-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:22px;padding-bottom:72px}.price-card{background:#fffdf5;border:1px solid #d8dfaf;border-radius:24px;padding:30px;box-shadow:0 16px 38px rgba(8,42,22,.08)}.price-card.featured{background:linear-gradient(145deg,#f8ffe0,#fffdf5);border:2px solid var(--lime)}.price-kicker{display:inline-block;background:var(--green);color:#fff;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.price-card h3{font-family:var(--serif);font-size:25px;text-transform:uppercase;margin:18px 0 4px}.price{font-family:var(--serif);font-size:52px;font-weight:900;color:#789d00;margin:0 0 12px}.price-card ul{padding-left:20px}.price-card li{margin:8px 0}.info-strip{background:linear-gradient(90deg,#082815,#14351f);color:#fff;padding:38px 0}.info-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.info-columns h3{font-family:var(--serif);text-transform:uppercase;margin-top:0;color:var(--lime2)}.info-columns p{margin-bottom:0}.service-list{padding-top:70px;padding-bottom:70px}.service-detail{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:34px 0;border-bottom:1px solid #cfd7a2}.service-detail:last-child{border-bottom:0}.detail-icon{width:76px;height:76px;border-radius:50%;background:#edf6c9;display:grid;place-items:center;font-size:34px;border:2px solid #9db82b}.service-detail h2{font-family:var(--serif);text-transform:uppercase;font-size:30px;margin:0 0 10px}.service-detail h2 span{display:inline-block;color:#789d00;font-size:18px;margin-left:8px}.service-detail p{max-width:900px;font-size:17px}.mini-prices{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.mini-prices span{background:#f2f7dc;border-radius:999px;padding:10px 15px}.note{font-size:14px!important;color:#5b6540}.page-cta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:40px clamp(30px,7vw,110px);background:linear-gradient(135deg,#d4eb4b,#a9d605)}.page-cta img{width:76px;height:76px;border-radius:50%;background:#fff}.page-cta h2{font-family:var(--serif);font-size:34px;text-transform:uppercase;margin:0}.page-cta .eyebrow{color:#284000;margin-bottom:5px}.approach-lead{padding-top:68px;padding-bottom:34px;text-align:center}.approach-lead blockquote{font-family:var(--serif);font-size:clamp(30px,4vw,52px);line-height:1.08;margin:0 auto;max-width:920px}.quote-credit{color:#789d00;font-weight:900}.approach-story{display:grid;grid-template-columns:1fr 1.08fr;gap:50px;align-items:center;padding-top:36px;padding-bottom:76px}.story-copy p{font-size:18px}.story-art img{width:100%;display:block}.principles{background:#fffdf5;padding:64px 0}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px}.principle-grid article{background:#f3f7df;border-radius:22px;padding:26px}.principle-grid article>span{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lime);font-weight:900}.principle-grid h3{font-family:var(--serif);font-size:22px;text-transform:uppercase}.change-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;padding-top:76px;padding-bottom:76px}.change-section p{font-size:18px}.change-section .learn{margin-top:12px}
@media(max-width:900px){.page-hero{min-height:560px;background-position:64% center}.pricing-grid,.info-columns,.approach-story,.change-section,.principle-grid{grid-template-columns:1fr 1fr}.pricing-grid .featured{grid-column:1/-1}.page-cta{grid-template-columns:1fr;text-align:center}.page-cta img{margin:auto}.page-cta .book{justify-self:center}}
@media(max-width:650px){.page-hero{min-height:640px;align-items:flex-start;padding-top:58px;background:linear-gradient(180deg,rgba(255,253,244,.98),rgba(255,253,244,.83) 52%,rgba(255,253,244,.12)),url('assets/hero-background.png') 66% bottom/cover no-repeat}.pricing-grid,.info-columns,.approach-story,.change-section,.principle-grid{grid-template-columns:1fr}.content-shell{padding-inline:22px}.service-detail{grid-template-columns:1fr}.service-detail h2 span{display:block;margin:8px 0 0}.page-hero h1{font-size:46px}}
