﻿:root{font-family:"DM Sans",sans-serif;color:#2e3e36;background:#f9f5ef;font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit}button{font:inherit}img{max-width:100%;display:block}.container{width:min(100% - 48px,1180px);margin-inline:auto}.skip-link{position:absolute;top:-60px;left:12px;z-index:100;background:#fff;padding:10px}.skip-link:focus{top:12px}.announcement{background:#6f8b76;color:#fff;text-align:center;padding:9px 16px;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:700}.announcement span{padding:0 12px;color:#dce8d9}.site-header{position:relative;z-index:20;background:#f9f5ef}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:#365343;flex:none}.brand-mark{width:43px;height:43px;border:1.5px solid #809b82;border-radius:50%;display:grid;place-items:center;font-size:28px;line-height:1;color:#738f77;transform:rotate(-15deg)}.brand-type{display:flex;flex-direction:column;line-height:1}.brand-type strong{font:600 25px/1.08 "Fraunces",serif;letter-spacing:-0.055em}.brand-type small{font-size:8px;letter-spacing:.28em;font-weight:700;margin-top:5px}.nav{display:flex;align-items:center;gap:34px}.nav a{font-size:13px;font-weight:700;text-decoration:none;transition:color .2s}.nav a:hover{color:#8b9e75}.nav .nav-contact{background:#365343;color:#fff;padding:13px 20px;border-radius:30px}.nav .nav-contact:hover{background:#667f69;color:#fff}.nav-contact span{margin-left:12px}.menu-toggle{display:none}.hero{min-height:670px;position:relative;display:flex;align-items:center;overflow:hidden;background:#5b624d}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url("../images/hero-dog.webp") center center/cover no-repeat}.hero-shade{background:linear-gradient(90deg, rgba(29, 45, 32, 0.78) 0%, rgba(29, 45, 32, 0.51) 36%, rgba(29, 45, 32, 0.02) 72%)}.hero-content{position:relative;display:flex;align-items:center;min-height:670px}.hero-copy{color:#fff;max-width:585px;padding:52px 0 85px}.eyebrow{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:#758b75;margin:0 0 18px}.eyebrow.light{color:#e4eddf}.hero h1,h2,h3,p{margin-top:0}.hero h1,h2,.gallery-caption p,.contact-card h3{font-family:"Fraunces",serif}.hero h1{font-size:clamp(60px,6.5vw,100px);line-height:1.01;letter-spacing:-0.055em;font-weight:500;margin:0 0 27px}.hero h1 em,h2 em{font-weight:400}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:440px;color:#f4f4ee;margin-bottom:33px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;border-radius:99px;padding:17px 24px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-cream{background:#f9f5ef;color:#314a39}.button-cream:hover{background:#e6ecdf}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link:hover{color:#789577}.light-link{color:#fff}.light-link:hover{color:#e6ecdf}.hero-stamp{position:absolute;right:0;bottom:35px;width:116px;height:116px;border-radius:50%;background:#ecdebe;color:#365343;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;transform:rotate(11deg);box-shadow:0 8px 24px rgba(34,34,34,.2)}.hero-stamp span{font-size:9px;line-height:1.4;letter-spacing:.1em;font-weight:700}.hero-stamp b{font-size:21px;line-height:1.2}.section-pad{padding:112px 0}.intro-section{background:#f9f5ef}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%}.section-heading{padding-top:4px}h2{font-size:clamp(44px,4.3vw,68px);font-weight:500;line-height:1.1;letter-spacing:-0.05em;margin:0;color:#344b3a}.intro-copy{max-width:530px}.intro-copy .lead{font:500 27px/1.35 "Fraunces",serif;color:#344b3a;margin-bottom:20px}.intro-copy p:not(.lead){line-height:1.8;color:#657166;font-size:15px;margin-bottom:16px}.intro-copy .text-link{margin-top:14px}.services-section{background:#eaf0e7}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-top>p{max-width:290px;line-height:1.65;font-size:14px;color:#647264;margin:0 0 5px}.services-grid{display:grid;grid-template-columns:repeat(3, 1fr);border-top:1px solid #cbd8c9;border-left:1px solid #cbd8c9}.service-card{padding:38px 36px 32px;min-height:217px;border-right:1px solid #cbd8c9;border-bottom:1px solid #cbd8c9;transition:background .2s}.service-card:hover{background:#f5f8f2}.service-icon{display:block;color:#799b7e;font-size:29px;line-height:1;margin-bottom:20px}.service-card h3{font:500 24px/1.2 "Fraunces",serif;margin-bottom:12px;color:#354d3c}.service-card p{font-size:14px;line-height:1.65;color:#68776a;margin-bottom:0}.service-note{display:flex;align-items:center;gap:17px;padding-top:35px;color:#3e5b47}.service-note>span{font-size:25px}.service-note p{margin:0;font:500 19px/1.4 "Fraunces",serif;flex:1}.service-note a{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.gallery-section{background:#f9f5ef}.gallery-grid{display:grid;grid-template-columns:1.05fr 1.05fr .8fr;gap:15px;height:410px}.gallery-image{background-size:cover;background-position:center;border-radius:4px}.gallery-one{background-image:url("../images/hero-dog.webp");background-position:70% 40%}.gallery-two{background-image:url("../images/gallery-dogs.webp");background-position:center}.gallery-caption{background:#eadfcf;border-radius:4px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;color:#365343}.caption-sparkle{font-size:42px;line-height:1}.gallery-caption p{font-size:clamp(24px,2.2vw,36px);line-height:1.15;letter-spacing:-0.04em;margin:0}.caption-small{font-size:9px;line-height:1.5;letter-spacing:.16em;font-weight:700}.image-note{font-size:11px;color:#849085;margin:13px 0 0}.reviews-section{background:#3d5946;color:#fff;text-align:center;position:relative;overflow:hidden}.reviews-section:before,.reviews-section:after{content:"✳";position:absolute;color:#607c63;opacity:.35;font-size:290px;line-height:1}.reviews-section:before{top:-55px;left:-35px}.reviews-section:after{bottom:-85px;right:-35px}.reviews-inner{position:relative;z-index:1;max-width:730px}.reviews-sparkle{display:block;font-size:44px;color:#e8dcb9;margin-bottom:24px}.reviews-section h2{color:#fff;margin-bottom:25px}.reviews-section .eyebrow{color:#c6d9c6}.reviews-section p:not(.eyebrow){line-height:1.8;color:#dce7dc;max-width:525px;margin:0 auto 28px}.review-links{display:flex;justify-content:center;align-items:center;gap:30px}.contact-section{background:#f6f0e6}.contact-grid{display:grid;grid-template-columns:1.1fr .7fr;gap:15%;align-items:center}.contact-grid>div>p:not(.eyebrow){color:#667168;line-height:1.75;max-width:480px;font-size:15px;margin:28px 0 32px}.contact-links{display:flex;flex-direction:column;max-width:490px}.contact-links a{display:grid;grid-template-columns:1fr auto;align-items:center;border-top:1px solid #d8d6cc;text-decoration:none;color:#354d3c;font:500 clamp(18px, 2vw, 25px)/1.3 "Fraunces",serif;padding:18px 0}.contact-links a:last-child{border-bottom:1px solid #d8d6cc}.contact-links a span{grid-column:1/-1;font:700 10px/1.5 "DM Sans",sans-serif;letter-spacing:.17em;color:#859785;margin-bottom:5px}.contact-links a b{font:400 20px "DM Sans",sans-serif}.contact-links a:hover{color:#789577}.contact-card{background:#e4eadf;border-radius:190px 190px 5px 5px;padding:65px 44px 45px;text-align:center;min-height:485px}.contact-card-icon{width:66px;height:66px;border:1px solid #95ad97;border-radius:50%;display:grid;place-items:center;margin:0 auto 28px;color:#7c9b80;font-size:27px}.contact-card h3{font-size:32px;line-height:1.18;font-weight:500;letter-spacing:-0.045em;color:#354d3c;margin-bottom:17px}.contact-card p{color:#657464;font-size:14px;line-height:1.7;max-width:280px;margin:0 auto}.contact-card-line{width:38px;height:1px;background:#97a99a;margin:25px auto}.contact-card>span{font-size:10px;letter-spacing:.17em;font-weight:700;color:#55715b}.social-links{display:flex;justify-content:center;gap:20px;margin-top:27px}.social-links a{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.site-footer{background:#344b3a;color:#e9f0e7;padding:35px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .brand{color:#fff}.site-footer .brand-mark{color:#d9e3d7;border-color:#d9e3d7}.site-footer .brand-type strong{font-size:20px}.site-footer p{font:400 15px "Fraunces",serif;margin:0}.site-footer small{font-size:11px;color:#becfbe}@media(max-width: 900px){.nav{gap:16px}.nav a{font-size:12px}.hero,.hero-content{min-height:610px}.intro-grid{gap:5%}.gallery-grid{height:340px}.gallery-caption{padding:25px}.contact-grid{gap:7%}}@media(max-width: 700px){.container{width:min(100% - 36px,1180px)}.announcement{font-size:9px;letter-spacing:.11em}.header-inner{min-height:72px}.brand-type strong{font-size:21px}.brand-mark{width:38px;height:38px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{width:24px;height:2px;background:#365343}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f9f5ef;padding:18px;box-shadow:0 16px 25px rgba(38,56,42,.1098039216);flex-direction:column;align-items:stretch;gap:0}.nav.is-open{display:flex}.nav a{padding:14px 8px;font-size:14px}.nav .nav-contact{text-align:center;margin-top:8px;padding:14px}.hero,.hero-content{min-height:680px}.hero-photo{background-position:63% center}.hero-shade{background:linear-gradient(0deg, rgba(29, 45, 32, 0.91), rgba(29, 45, 32, 0.45) 53%, rgba(29, 45, 32, 0.04) 100%)}.hero-content{align-items:end}.hero-copy{padding:70px 0 75px}.hero h1{font-size:clamp(51px,12vw,75px)}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.65}.hero-stamp{right:5px;top:26px;bottom:auto;width:86px;height:86px}.hero-stamp span{font-size:7px}.hero-stamp b{font-size:16px}.section-pad{padding:76px 0}.intro-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.intro-copy .lead{font-size:24px}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:18px}.services-grid{grid-template-columns:repeat(2, 1fr)}.service-card{padding:27px 20px;min-height:190px}.service-card h3{font-size:20px}.service-note{flex-wrap:wrap}.service-note p{font-size:17px}.service-note a{margin-left:41px}.gallery-grid{grid-template-columns:1fr 1fr;height:auto;gap:10px}.gallery-image{height:240px}.gallery-caption{grid-column:1/-1;min-height:190px}.gallery-caption p{max-width:300px}.reviews-section:before,.reviews-section:after{font-size:190px}.contact-card{max-width:450px;justify-self:center;width:100%;min-height:0}.footer-inner{flex-direction:column;text-align:center}.site-footer .brand{text-align:left}}@media(max-width: 420px){.hero-actions{gap:20px}.hero-actions .text-link{font-size:12px}.services-grid{grid-template-columns:1fr}.service-card{min-height:0}.gallery-image{height:175px}.review-links{flex-direction:column;gap:20px}.contact-links a{font-size:17px}.contact-card{padding:58px 28px 40px}}@media(prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto !important;transition:none !important}}.enquiry-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:8%;margin-top:110px;padding-top:75px;border-top:1px solid #d8d6cc}.enquiry-heading h2{font-size:clamp(36px,3.2vw,52px)}.enquiry-heading>p:last-child{color:#667168;line-height:1.7;margin-top:20px;max-width:300px}.enquiry-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-form label:not(.consent):not(.honeypot){display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#405745}.enquiry-form input:not([type=checkbox]),.enquiry-form select,.enquiry-form textarea{width:100%;border:1px solid #cdd4c9;background:#fffcf8;border-radius:5px;padding:13px 14px;font:400 14px "DM Sans",sans-serif;color:#2e3e36;outline:none}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:#64836a;box-shadow:0 0 0 3px rgba(100,131,106,.1725490196)}.enquiry-form textarea{resize:vertical;min-height:110px}.booking-fields{display:flex;flex-direction:column;gap:20px}.booking-fields[hidden]{display:none}.form-help{font-size:12px;color:#68776a;margin:0}.honeypot{position:absolute !important;left:-10000px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:#5e6e60}.consent input{margin:2px 0 0;accent-color:#365343}.form-bottom{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.button-dark{background:#365343;color:#fff;border:0;cursor:pointer}.button-dark:hover{background:#667f69}.button-dark:disabled{opacity:.6;cursor:wait}.form-status{margin:0;font-size:13px;line-height:1.5;color:#365343}.form-status.error{color:#a13f37}@media(max-width: 700px){.enquiry-wrap{grid-template-columns:1fr;gap:25px;margin-top:75px;padding-top:60px}.enquiry-heading>p:last-child{max-width:none}}@media(max-width: 420px){.form-row{grid-template-columns:1fr}}