@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--paper:#fcf9f3;--ink:#293e36;--muted:#656a60;--accent:#a64e32;--line:#dddcd0;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #bd633e;outline-offset:5px}button{border:0}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:1.13}h1{font-size:clamp(3.2rem,4.5vw,5.1rem);margin-bottom:26px}h2{font-size:clamp(2.5rem,3.5vw,3.7rem);margin-bottom:22px}h3{font-size:1.3rem;line-height:1.35;font-weight:550}em{font-weight:400;color:var(--accent)}.topline{background:var(--ink);color:var(--paper);padding:9px 5%;font-size:.8rem;letter-spacing:.035em;display:flex;justify-content:space-between}.header{height:109px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}.brand-name{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.07em;font-size:2.55rem}.brand-dot{color:var(--accent)}.brand-sub{font-size:.625rem;font-weight:600;letter-spacing:.15em;margin-top:12px}.header nav{display:flex;gap:30px;font-size:.9rem}.header nav a{text-decoration:none}.header nav a:hover{color:var(--accent)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:51px;padding:13px 25px;font-size:.9rem;font-weight:600;border-radius:6px;text-decoration:none;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#42594d}.button-outline{border:1px solid var(--ink);background:transparent}.button-light{background:var(--paper);color:var(--ink)}.text-link{font-size:.95rem;font-weight:550}.menu-toggle,.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;padding:65px 7% 70px;max-width:1600px;margin:auto;align-items:center}.eyebrow{font-size:.7rem;font-weight:650;letter-spacing:.16em;line-height:1.6;margin-bottom:23px}.hero .eyebrow{display:flex;align-items:center;gap:9px}.hero .eyebrow span{width:22px;height:1px;background:var(--accent)}.hero-copy>p{max-width:475px;font-size:1.05rem;color:var(--muted);line-height:1.85}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:31px}.hero-note{display:flex;gap:15px;align-items:center;margin-top:47px;font-size:.83rem;line-height:1.7}.hero-note small{font-size:.8rem;color:var(--muted)}.small-star{font-size:2.7rem;font-family:Georgia;font-weight:400;color:var(--accent)}.hero-photo{height:540px;position:relative;margin-left:20px}.hero-photo>img{border-radius:180px 180px 8px 8px;object-position:center 49%}.photo-label{position:absolute;bottom:24px;left:25px;color:white;text-shadow:0 1px 12px #000}.photo-label span{font-size:.64rem;letter-spacing:.14em}.photo-label strong{display:block;font-family:var(--serif);font-size:1.75rem;font-weight:400}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;pointer-events:none;background:linear-gradient(transparent,#0005);border-radius:0 0 8px 8px}.photo-label{z-index:1}.roundel{position:absolute;right:-23px;top:28px;transform:rotate(11deg);background:#efdca7;color:var(--ink);border:1px solid #d7c387;outline:7px solid #efdca7;border-radius:50%;height:111px;width:111px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:.62rem;font-weight:650;letter-spacing:.09em;line-height:1.1}.roundel br{display:none}.roundel span{font-family:var(--serif);font-size:1.8rem;font-style:italic;line-height:1.2}.reassurance{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;margin:0 5%;padding:27px 2%;font-size:.85rem}.reassurance span{display:flex;align-items:center;gap:12px}.reassurance i{font-family:var(--serif);font-size:.9rem;font-style:italic;color:var(--accent)}.section{padding:100px 7%;max-width:1600px;margin:auto}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:40px}.section-intro>p{max-width:360px;color:var(--muted);margin-bottom:27px}.section-intro h2{margin-bottom:0}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.image-wrap{height:340px;position:relative;margin-bottom:25px;overflow:hidden;border-radius:7px}.image-wrap img{transition:transform .5s}.image-wrap:hover img{transform:scale(1.035)}.image-number{position:absolute;left:15px;bottom:15px;font-size:.62rem;letter-spacing:.09em;background:var(--paper);padding:5px 10px;border-radius:3px}.photo-card p{color:var(--muted);font-size:.95rem}.photo-card h3{margin-bottom:11px}.care{max-width:none;background:#edf0e8;display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:85px;padding-bottom:85px}.care-heading{max-width:540px}.care-heading>p:not(.eyebrow){color:var(--muted);max-width:430px}.care-heading .text-link{display:inline-block;margin-top:15px}.care-details article{display:flex;gap:25px;padding:24px 0;border-bottom:1px solid #cfd6ca}.care-details article:first-child{padding-top:0}.care-details article>span{font-family:var(--serif);font-style:italic;color:var(--accent)}.care-details h3{margin-bottom:10px}.care-details p{font-size:.95rem;color:var(--muted);margin-bottom:0}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:10%}.faq>div>p:not(.eyebrow){color:var(--muted);max-width:300px}.faq .button{margin-top:17px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;font-size:1rem;font-weight:550;padding:23px 30px 23px 0;cursor:pointer;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;font-weight:400;font-size:1.5rem;top:16px;color:var(--accent)}details[open] summary:after{content:'−'}.faq-list p{font-size:.95rem;color:var(--muted);padding-right:25px}.visit{background:var(--ink);color:var(--paper);padding:75px 7%;display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.visit h2 em{color:#eac497}.visit-copy>p:not(.eyebrow){max-width:500px;color:#d8dfd7}.visit address{font-style:normal;margin:25px 0;font-size:1rem}.visit-links{display:flex;gap:25px;align-items:center}.visit .visit-note{font-size:.8rem;margin-top:20px}.visit-aside{border-left:1px solid #617267;padding-left:18%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.visit-aside h3{font-family:var(--serif);font-size:2.7rem;font-weight:400;letter-spacing:-.035em}.visit-aside>p:not(.eyebrow){font-size:.95rem;color:#d8dfd7}.visit-aside>a{font-size:.9rem;margin-top:20px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 5%}footer p{margin:0;font-size:.8rem;color:var(--muted)}.footer-note{font-size:.75rem;color:var(--muted);text-align:right}.skip-link{position:fixed;top:-70px;left:10px;z-index:50;background:white;padding:10px}.skip-link:focus{top:10px}dialog{border:0;border-radius:16px;background:var(--paper);color:var(--ink);max-width:640px;width:calc(100% - 30px);padding:42px;max-height:90dvh;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#122a23aa;backdrop-filter:blur(4px)}body.modal-open{overflow:hidden}.dialog-close{position:absolute;right:18px;top:10px;background:none;color:var(--ink);font-size:2rem;width:35px;height:40px}.dialog-intro{color:var(--muted);font-size:.9rem}.step-label{color:var(--accent);font-size:.7rem;letter-spacing:.14em;margin-bottom:12px;font-weight:650}dialog h2{font-size:2.3rem;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:.85rem;font-weight:550}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{min-height:46px;border:1px solid #bbc5b9;border-radius:5px;padding:9px 11px;width:100%;background:#fffdf9;color:var(--ink);font-weight:400;font-size:1rem}.field textarea{resize:vertical;min-height:90px}.form-actions{display:flex;justify-content:space-between;gap:14px;margin-top:26px}.form-actions .button:only-child{margin-left:auto}.back-button{background:none;text-decoration:underline;color:var(--ink);padding:10px 0}.form-error{color:#9a3329;font-size:.85rem}.form-error:empty{display:none}.privacy-note{font-size:.75rem;color:var(--muted);margin:18px 0 0}.summary-box{border:1px solid var(--line);border-radius:6px;padding:20px;background:white;max-height:260px;overflow:auto;white-space:pre-wrap;font-size:.9rem}.review-note{padding:13px 16px;background:#edf0e8;border-radius:6px;font-size:.85rem}.status{font-size:.85rem;color:var(--ink)}[hidden]{display:none!important}
@media(min-width:1600px){.care,.visit{padding-left:calc((100% - 1376px)/2);padding-right:calc((100% - 1376px)/2)}}
@media(max-width:1050px){.header nav{gap:18px}.hero{gap:35px;padding:45px 5% 55px}.hero-photo{height:480px;margin-left:0}.hero-copy>p{font-size:1rem}h1{font-size:3.8rem}.hero-actions{gap:18px}.reassurance{flex-wrap:wrap;justify-content:center;gap:14px 35px}.section{padding:75px 5%}.image-wrap{height:290px}.care,.faq{gap:6%}.visit{padding:65px 5%;gap:6%}.visit-aside{padding-left:10%}.roundel{right:-5px;top:20px}.hero-note{margin-top:30px}}
@media(max-width:760px){html{scroll-padding-top:20px}.topline{font-size:.7rem;text-align:center;display:block;padding:8px 15px}.topline>span{display:none}.header{height:88px;padding:0 6%;gap:15px}.brand-name{font-size:2.15rem}.brand-sub{font-size:.55rem;margin-top:10px}.header nav,.nav-book{display:none}.menu-toggle{display:block;font-size:.9rem;background:transparent;border:1px solid var(--line);border-radius:5px;padding:8px 14px;color:var(--ink)}.mobile-nav{display:flex;flex-direction:column;padding:18px 6% 25px;border-bottom:1px solid var(--line);gap:17px}.mobile-nav>a{text-decoration:none}.hero{grid-template-columns:1fr;gap:36px;padding:42px 6% 35px}.hero h1{font-size:clamp(2.75rem,8.8vw,4rem)}.hero .eyebrow{font-size:.61rem;margin-bottom:19px}.hero-copy>p{font-size:.97rem;max-width:500px}.hero-photo{height:430px;width:100%;max-width:520px;justify-self:center}.hero-photo>img{border-radius:160px 160px 7px 7px}.hero-actions{gap:24px}.hero-actions .button{padding:13px 20px}.hero-actions .text-link{font-size:.85rem}.hero-note{margin-top:27px}.roundel{right:5px;width:100px;height:100px}.reassurance{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px;margin:0 6%;padding:23px 0;font-size:.74rem}.reassurance span{gap:8px}.section{padding:58px 6%}.section-intro{display:block;margin-bottom:30px}.section-intro>p{margin:22px 0 0}.eyebrow{font-size:.65rem}h2{font-size:2.6rem}.stay-grid{grid-template-columns:1fr;gap:30px}.image-wrap{height:350px;margin-bottom:18px}.photo-card p{margin-bottom:0}.care,.faq,.visit{grid-template-columns:1fr;gap:38px}.care-details article{padding:22px 0}.faq .button{margin-top:6px}.faq-list summary{font-size:.95rem}.visit{padding:55px 6%}.visit-aside{border-left:0;border-top:1px solid #617267;padding:35px 0 0}.visit-aside h3{font-size:2.4rem}footer{flex-direction:column;align-items:flex-start;padding:35px 6%;gap:25px}.footer-note{text-align:left}dialog{padding:37px 24px 25px}.form-grid{gap:16px}.field.full{grid-column:1/-1}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.form-actions .back-button{flex:0 0 auto}.visit-links{gap:20px}}
@media(max-width:390px){.form-grid{grid-template-columns:1fr}.hero-actions{gap:15px}.reassurance{font-size:.68rem}.hero-photo{height:380px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Retain the cattery’s original banner and existing contact services. */
:root{--accent:#ad4b20}
.original-masthead{background:white;padding:20px 6% 18px;border-top:4px solid #f7811d}
.original-masthead>a{display:block;max-width:1000px;margin:auto}
.original-masthead img{width:100%;height:auto;object-fit:contain}
.header{height:86px}.nav-home{font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}.header nav{gap:25px}
.footer-brand-name{font-family:var(--serif);font-size:1.8rem}.footer-brand-tagline{font-size:.8rem;line-height:1.7;margin-top:12px;color:var(--muted)}
.contact{border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-grid h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin-bottom:16px}.contact-grid iframe{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:white}.live-form-note{font-size:.875rem;background:#f5e9d9;border-left:3px solid #ed7d25;padding:13px 16px;margin-bottom:24px;line-height:1.6}.contact-map-panel>p{color:var(--muted);font-size:.95rem;line-height:1.8;margin-bottom:24px}.contact-map-panel>.text-link{display:inline-block;margin-top:20px}.embed-fallback{font-size:.875rem;color:var(--muted);margin-top:12px}.map-visit-note{margin-top:34px;border-top:1px solid var(--line);padding-top:25px}.map-visit-note p{color:var(--muted);font-size:.95rem}
@media(max-width:1050px){.nav-home{display:none}.header nav{gap:23px}.contact-grid{gap:25px}}
@media(max-width:760px){.original-masthead{padding:15px 3%}.header{height:67px}.nav-home{display:block;font-size:.875rem}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-map-panel iframe{height:370px}.original-masthead>a{max-width:600px}.contact-grid h3{font-size:1.65rem}}

/* Concise owner presentation: each section has one purpose. */
.header nav{margin-right:auto}.presentation-footer{border-top:1px solid var(--line);padding-top:30px;padding-bottom:30px}.presentation-footer .footer-brand-name{text-decoration:none;font-size:1.5rem}.back-to-top{font-size:.875rem}.service-area{color:var(--muted);font-size:.875rem;margin:22px 0 0}.map-visit-note{margin-top:24px}.contact-form-panel>.live-form-note{margin-top:0}.faq{align-items:start}
@media(max-width:760px){.header{justify-content:flex-end}.presentation-footer{gap:18px}.presentation-footer .footer-note{text-align:left}.hero-copy{padding-bottom:0}}
