:root{--green:#153f2d;--cream:#faf5e7;--gold:#efb947;--ink:#253a31;--line:#d8ddce;--red:#ad3525}
header{padding-top:14px;padding-bottom:14px;border-bottom:1px solid #153f2d12}
.brand{gap:20px}.brand-logo{width:145px;height:130px}.brand>span{font-size:10px;max-width:100px;letter-spacing:1.8px}
.hero{padding-top:30px;padding-bottom:65px;gap:55px}.hero-photo{border:6px solid #fffaf0;outline:1px solid #d6c9aa;box-shadow:0 15px 40px #183c2912}
h1 span{color:var(--red)}
.hero-brand{position:absolute;width:195px;right:calc(50% - 95px);bottom:35px;transform:rotate(-7deg);filter:drop-shadow(0 7px 6px #183c2930)}
.hero-brand img{display:block;width:100%;height:auto}
.button{background:var(--green);border-bottom:3px solid #0a291b}
.button:hover{background:#28583d}.text-link{text-decoration-color:var(--red);text-underline-offset:7px}
.town-strip{border-bottom:5px solid var(--gold)}
.services h3:before{content:'';display:block;width:34px;height:4px;background:var(--gold);margin-bottom:22px;border-radius:4px}
.services>a:nth-child(2) h3:before{background:var(--red)}.services>a:nth-child(3) h3:before{background:#5f8440}
.area{background:#e9eddb;border-top:1px solid #d9dfc8;border-bottom:1px solid #d9dfc8}
.contact-mascot{width:160px;height:165px;margin-bottom:14px}.contact form{background:#fffaf0;padding:30px;border:1px solid #ded8c5;border-radius:12px;box-shadow:0 10px 35px #183c2908}
.footer-logo{width:110px;height:105px;object-fit:contain;float:left;margin-right:23px}.footer-logo+strong{display:inline-block;margin-top:20px}footer{border-top:5px solid var(--gold);align-items:center}
@media(max-width:800px){header{padding:12px 6% 18px;gap:12px}.brand-logo{width:110px;height:100px}.brand>span{max-width:150px}.hero{padding-top:20px;gap:30px}.hero-brand{width:145px;right:auto;left:3%;bottom:35px}.hero-photo{height:420px}.contact form{padding:22px}.contact-mascot{width:130px;height:135px}nav{gap:16px}footer{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.adventure-heading{grid-template-columns:minmax(220px,.8fr) minmax(0,1.3fr);gap:65px;align-items:center}
.adventure-heading .mischief-dog{display:block;width:100%;height:330px;object-fit:contain}
.adventure-copy h2{max-width:650px;text-wrap:balance;line-height:1.15;margin-bottom:22px}
.adventure-copy>p:last-child{max-width:580px;margin-bottom:0}
@media(max-width:800px){.adventure-heading{grid-template-columns:minmax(150px,.65fr) minmax(0,1fr);gap:25px}.adventure-heading .mischief-dog{height:270px}.adventure-copy h2{font-size:32px;letter-spacing:-1px}}
@media(max-width:540px){.adventure-heading{grid-template-columns:1fr;gap:22px}.adventure-heading .mischief-dog{height:230px}.adventure-copy h2{font-size:35px}.adventure-copy{text-align:left}}
.page-body{max-width:1320px;padding:0 5% 65px}
.page-body>img:first-child{display:block;height:340px;max-height:none;margin:0 0 30px;object-fit:cover;object-position:center 15%}
.page-body h2{margin-top:32px;margin-bottom:18px}
.page-body p{max-width:none}
.page-body .services{gap:32px;padding:12px 0 24px}
.page-body .services>div{min-width:0}
.page-body .services h3{font-size:25px}
@media(max-width:800px){.page-body{padding:0 6% 50px}.page-body>img:first-child{height:300px;margin-bottom:26px}.page-body .services{gap:12px}}
@media(max-width:540px){.page-body>img:first-child{height:240px}.page-body h2{font-size:30px}}
.page-body>img[src$="dog-training.avif"]:first-child,.page-body>img[src$="dog-sitting-up.jpg"]:first-child{height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.page-hero{padding-bottom:28px}
.page-hero>p:last-child{margin-bottom:0}
@media(max-width:540px){.page-hero{padding-bottom:22px}}
