@charset "UTF-8";
:root{--red:#e60918;--red-hover:#bf0714;--ink:#1e1614;--night:#171311;--cream:#f6f2ea;--paper:#fbf9f5;--muted:#71675f;--line:#dfd8cf;--serif:'Plus Jakarta Sans',Arial,sans-serif;--display:'Plus Jakarta Sans',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:550;line-height:1.04;letter-spacing:-.05em}h2{font-size:clamp(38px,4.6vw,67px)}h2 em,h1 em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}h3{font-size:25px;letter-spacing:-.035em}p{overflow-wrap:break-word}::selection{background:var(--red);color:white}:focus-visible{outline:3px solid #c64131;outline-offset:5px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary::marker{content:''}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 100px));margin:auto}.section{padding:112px 0}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.16em;line-height:1.6;text-transform:uppercase;margin-bottom:23px}.muted{color:var(--muted)}.body-large{font-size:17px;line-height:1.85}.fineprint{font-size:11px;line-height:1.8;color:var(--muted)}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:51px;padding:13px 25px;border:1px solid transparent;border-radius:99px;font-size:12px;font-weight:650;line-height:1.4;transition:background .2s,transform .25s;white-space:normal;text-align:center}.button span{font-size:20px;line-height:1}.button:hover{transform:translateY(-2px)}.solid{background:var(--red);color:#fff}.solid:hover{background:var(--red-hover)}.outline{background:transparent;border-color:currentColor}.outline:hover{background:#ffffff12}.light{background:var(--cream);color:var(--ink)}.text-link{padding:12px 0;border-radius:0;border-bottom:1px solid currentColor;gap:32px;min-height:44px}.text-button{border:0;background:none;padding:12px 0;font-size:12px;text-decoration:underline;text-underline-offset:5px}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:#fff;color:var(--ink);padding:14px}.skip-link:focus{top:15px}
.site-header{height:88px;position:absolute;top:0;left:0;width:100%;padding:0 42px;z-index:30;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff1f;background:#1713112b}.site-header.is-scrolled{position:fixed;background:#1e1614f5;backdrop-filter:blur(18px);height:76px;animation:navIn .25s var(--ease)}@keyframes navIn{from{transform:translateY(-100%)}to{transform:none}}.brand{display:flex;gap:10px;align-items:center;line-height:1;flex-shrink:0}.brand img{width:45px;height:48px;object-fit:contain}.brand>span{font-size:21px;font-weight:750;letter-spacing:.01em}.brand small{display:block;font-size:9px;letter-spacing:.2em;margin-top:6px;font-weight:550}.desktop-nav{display:flex;align-items:center;gap:28px}.desktop-nav a{font-size:12px;color:#eee6dd;transition:color .2s}.desktop-nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:8px}.header-actions{display:flex;align-items:center;gap:25px}.languages{display:flex;align-items:center;gap:9px;font-size:11px}.languages a{padding:12px 0;color:#c4b9af}.languages [aria-current]{color:#fff}.languages>span{opacity:.4}.header-book{min-height:43px;font-size:11px;padding:10px 20px;gap:20px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:12px}.menu-toggle span{display:block;width:22px;height:1px;background:currentColor;margin:6px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;inset:76px 0 0;z-index:29;background:var(--ink);color:var(--cream);padding:25px;overflow:auto}.mobile-menu>a{display:flex;align-items:center;gap:18px;border-bottom:1px solid #ffffff20;padding:18px 0;font-size:28px;line-height:1.25}.mobile-menu small{font-size:10px;color:#b5a99f}.mobile-menu a>span{margin-left:auto}.mobile-menu .menu-phone{font-size:19px}.menu-open{overflow:hidden}
.hero{position:relative;min-height:800px;height:100svh;max-height:1150px;background:var(--night);color:#fff;isolation:isolate;display:flex;align-items:center}.hero-backdrop,.hero-background-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover}.hero-backdrop{object-position:center 60%}.hero-background-video{opacity:0;transition:opacity .5s}.hero-background-video.is-playing{opacity:1}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(20,14,11,.81),rgba(20,14,11,.47) 55%,rgba(20,14,11,.10)),linear-gradient(0deg,rgba(20,14,11,.95),transparent 42%,rgba(20,14,11,.1) 80%)}.hero-content{width:min(1280px,calc(100% - 100px));margin:10px auto 0;padding:115px 0 135px}.hero-content .eyebrow{font-size:10px;letter-spacing:.17em;display:flex;align-items:center;gap:11px;margin-bottom:29px}.hero-content .eyebrow:before{content:'';background:var(--red);width:7px;height:7px;flex-shrink:0;border-radius:50%;box-shadow:0 0 20px #e6091877}h1{font-size:clamp(51px,6.1vw,91px);max-width:1080px;line-height:1.05;letter-spacing:-.055em}h1 em{color:#edb8a1;font-size:1.08em}.hero-lead{font-size:16px;margin-top:28px;max-width:460px;line-height:1.8;color:#fff9f3}.hero-detail{font-size:12px;color:#e6dcd1;margin-top:7px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:31px}.hero-actions .outline{border-color:#ffffff60;background:#2419123a}.hero-reassurance{font-size:10px;color:#d8ccc2;margin-top:20px}.hero-reassurance span{margin-right:7px}.hero-bottom{position:absolute;bottom:30px;left:50px;right:50px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#e1d8cf}.scroll-link{display:flex;gap:12px;align-items:center}.scroll-link>span{font-size:10px}.hero-film{display:flex;align-items:center;gap:14px}.hero-film video{width:75px;height:83px;object-fit:cover;border-radius:8px;border:1px solid #ffffff30}.hero-film>div>span{display:block;margin-bottom:6px;font-size:10px}.film-toggle{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;background:none;color:#fff;border-radius:50%;transition:opacity .18s}.film-toggle:before{content:'';position:absolute;inset:6px;border:1px solid #ffffff66;border-radius:50%;background:#1e16146b}.film-toggle:hover:before{background:var(--ink)}.film-toggle svg{position:relative;width:13px;height:13px;pointer-events:none}.film-pause-icon,.film-toggle.is-playing .film-play-icon{display:none}.film-toggle.is-playing .film-pause-icon{display:block}.film-toggle.is-playing:not(:focus-visible){opacity:0;pointer-events:none}.film-toggle:focus-visible{opacity:1;pointer-events:auto}.hero-motto{max-width:220px}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:33px 50px;background:#211917;color:var(--cream);border-top:1px solid #ffffff15;gap:25px}.trust-strip>div{display:flex;align-items:center;justify-content:center;gap:15px;border-right:1px solid #ffffff22}.trust-strip>div:last-child{border:0}.trust-strip strong{font-size:26px;font-weight:500;letter-spacing:-.04em;white-space:nowrap}.trust-strip span{font-size:10px;max-width:108px;line-height:1.5;color:#c4b6ad}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:120px;align-items:center}.intro-copy h2{margin-bottom:27px}.intro-copy .body-large{margin-bottom:19px;max-width:505px}.intro-copy .muted{font-size:13px;margin-bottom:24px}.intro-visual{position:relative;max-width:490px;margin-left:auto;width:100%;padding:0 25px 25px 0}.intro-visual:before{content:'';position:absolute;inset:26px 0 0 26px;border:1px solid #c9b9a6;z-index:-1}.intro-visual>img,.intro-visual>.film{width:100%;height:460px;object-fit:cover;border-radius:3px}.intro-visual>img{object-position:center 40%}.heritage-seal{position:absolute;left:-48px;bottom:53px;background:var(--red);color:white;width:126px;height:126px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-11deg);box-shadow:0 5px 20px #1e161420}.heritage-seal span{font-size:7px;letter-spacing:.12em}.heritage-seal strong{font-family:var(--serif);font-size:45px;line-height:1.4;font-weight:400}.image-caption{position:absolute;bottom:2px;right:33px;font-size:8px;letter-spacing:.17em}.film{position:relative;overflow:hidden}.film video{width:100%;height:100%;object-fit:cover}.film>.film-toggle{position:absolute;right:15px;bottom:15px}
.services{background:var(--paper);border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading>p{font-size:14px;max-width:305px;color:var(--muted);padding-bottom:4px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.service-card{background:var(--cream);border:1px solid #e8e0d8;border-radius:5px;overflow:hidden;align-self:start}.service-photo{height:275px;position:relative;overflow:hidden}.service-photo>img,.service-photo>.film{width:100%;height:100%;object-fit:cover;object-position:center 36%;transition:transform .7s var(--ease)}.service-card:hover .service-photo>img{transform:scale(1.04)}.service-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(0deg,#211917a6,transparent);pointer-events:none}.service-photo .film-toggle{z-index:2;bottom:55px}.service-number{position:absolute;left:18px;top:17px;border:1px solid #ffffff80;color:white;border-radius:50%;width:29px;height:29px;font-size:10px;display:grid;place-items:center;background:#21191750}.service-name{position:absolute;bottom:18px;left:22px;font-size:12px;font-weight:600;color:white;z-index:1}.service-content{padding:26px 23px 20px}.service-content h3{font-size:24px;margin-bottom:15px;letter-spacing:-.045em;line-height:1.15}.service-content>p{font-size:12px;color:var(--muted);line-height:1.8;min-height:88px}.service-price{display:flex;align-items:center;justify-content:space-between;margin:20px 0 15px;font-size:11px}.service-price strong{font-size:31px;font-weight:500;letter-spacing:-.05em;margin:0 3px}.service-price a{display:grid;place-items:center;border:1px solid #cabfb2;border-radius:50%;width:36px;height:36px;font-size:21px}.rate-details{border-top:1px solid var(--line);padding-top:14px}.rate-details summary{display:flex;justify-content:space-between;font-size:11px;font-weight:600;align-items:center}.rate-details summary>span{font-size:20px}.rate-details dl{margin:15px 0 0}.rate-details dl>div{display:flex;gap:10px;justify-content:space-between;padding:8px 0;font-size:11px;border-top:1px solid var(--line)}dd{margin:0}.rate-details dd{white-space:nowrap}.included-note{margin-top:28px;display:flex;align-items:center;gap:25px;padding:25px 32px;background:#ece6dd;border-radius:4px}.included-note h3{font-size:10px;letter-spacing:.1em;font-weight:650;line-height:1.6;margin-bottom:5px}.included-note p{font-size:12px;color:#675d53}.paw{font-size:35px;color:var(--red)}.extras{margin-top:65px}.extras>.eyebrow{margin-bottom:12px}.extra-row{border-bottom:1px solid var(--line)}.extra-row summary{display:flex;gap:25px;padding:21px 0;align-items:center}.extra-index{font-size:10px;color:var(--muted)}.extra-row h3{font-size:22px}.plus{font-size:25px;font-weight:400;margin-left:auto;transition:transform .2s}.extra-row[open] .plus,.faq-item[open] .plus{transform:rotate(45deg)}.extra-body{padding:0 0 24px 38px;display:grid;grid-template-columns:1fr 1fr;gap:30px;color:var(--muted);font-size:13px}.extra-body ul{margin:0;padding-left:20px}.discounts{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:42px}.discounts>div{display:flex;align-items:center;gap:15px}.discounts strong{font-family:var(--serif);font-size:37px;font-weight:400}.discounts span{font-size:11px;line-height:1.5;max-width:170px}.discounts+.fineprint{margin-top:20px;max-width:1000px}
.gallery-section{background:var(--ink);color:var(--cream)}.gallery-section .eyebrow{color:#c6b9aa}.gallery-section .section-heading>p{color:#c6b9aa}.gallery-track{display:grid;grid-template-columns:1.15fr .9fr .9fr;gap:20px}.gallery-item{min-width:0}.gallery-item>img,.gallery-item>.film{width:100%;height:380px;object-fit:cover;object-position:center 40%;border-radius:4px}.gallery-item:nth-child(2){padding-top:48px}.gallery-item:nth-child(3){padding-top:96px}.gallery-item:nth-child(4){display:none}.gallery-item figcaption{font-size:11px;display:flex;gap:15px;margin-top:15px;color:#e0d2c6}.gallery-item figcaption>span{font-size:9px;color:#bdafa4}.care-band{background:#38221e;color:var(--cream);padding:65px 0;border-top:1px solid #ffffff10}.care-grid{display:grid;grid-template-columns:65px 1fr auto;gap:35px;align-items:center}.care-symbol{font-family:var(--serif);color:#edb8a1;font-size:65px}.care-band h2{font-size:36px}.care-band p:not(.eyebrow){max-width:630px;font-size:12px;color:#d3c1b6;margin-top:17px}.care-band .eyebrow{color:#d6b2a1;font-size:9px;margin-bottom:16px}.care-band .button{font-size:11px;max-width:210px;gap:15px;border-color:#92746a}
.planning{background:var(--cream)}.planning-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:45px;align-items:start}.calculator{background:var(--ink);color:var(--cream);padding:33px;border-radius:5px}.calculator>.eyebrow{font-size:10px}.calculator form{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:16px;font-size:12px}.calculator label{color:#e2d7cd}.calculator input,.calculator select{background:#322825;color:var(--cream);border:1px solid #64534b;width:100%;min-width:0;height:43px;border-radius:4px;padding:10px;font-size:12px}.calculator select{font-size:10px}.estimate-result{border-top:1px solid #ffffff25;margin-top:28px;padding-top:24px}.estimate-result>span{font-size:11px;color:#d6c7bc}.estimate-result>strong{font-family:var(--serif);font-weight:400;font-size:74px;display:block;line-height:1.2;letter-spacing:-.04em}.estimate-result>p{font-size:10px;color:#d6c7bc;margin-top:7px}.estimate-result #estimateError{color:#ffb9ac}.calculator .button{width:100%;margin-top:24px}.calculator .fineprint{color:#c2b2a7;font-size:10px;margin-top:20px}.reservation-panel{padding:8px 0 0}.reservation-panel>.eyebrow{font-size:10px;margin-bottom:18px}.reservation-panel h3{font-size:31px;line-height:1.2}.reservation-panel>.muted{font-size:12px;margin-top:10px}#reservationForm{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.field{min-width:0;display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;font-weight:600}.field input,.field select,.field textarea{border:1px solid #d2c6b9;border-radius:4px;background:#fcfaf6;color:var(--ink);width:100%;min-width:0;min-height:46px;padding:11px 12px;font-size:13px}.field textarea{resize:vertical;min-height:85px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ink);outline-offset:2px}.full{grid-column:1/-1}.form-actions{display:flex;align-items:center;gap:25px;margin-top:3px}.form-actions .button{font-size:11px}.form-status{font-size:12px}.form-status:empty{display:none}
.preparation{background:#ede7dd;padding:85px 0}.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.prep-grid h2{font-size:clamp(37px,3.8vw,53px)}.prep-item{display:flex;gap:24px;border-bottom:1px solid #d4c8ba;padding:20px 0}.prep-item:first-child{padding-top:0}.prep-item:last-child{border-bottom:0}.prep-item>span{font-size:10px;color:var(--muted);padding-top:3px}.prep-item h3{font-size:19px;letter-spacing:-.02em;margin-bottom:8px}.prep-item p{font-size:12px;color:#675d53}.prep-film{height:260px;margin-top:30px}.reviews{background:var(--paper)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.review{padding:10px 27px 12px 0;border-right:1px solid var(--line)}.review:last-child{border:0}.quote-mark{font-family:var(--serif);font-size:67px;line-height:.8;color:var(--red)}.review blockquote{margin:10px 0 27px;font-size:15px;line-height:1.8;min-height:170px}.review figcaption{display:flex;align-items:center;gap:12px}.review-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e9e0d5;color:#5c4d43;font-family:var(--serif);font-size:19px}.review figcaption strong{display:block;font-size:11px}.review figcaption small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.faq{border-top:1px solid var(--line);background:var(--paper);padding-top:80px}.faq-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.faq-grid .text-link{margin-top:25px}.faq-item{border-bottom:1px solid var(--line);padding:20px 0}.faq-item:first-child{padding-top:0}.faq-item summary{display:flex;align-items:center;gap:22px;font-size:15px;font-weight:550;line-height:1.5}.faq-item .plus{min-width:18px}.faq-item p{font-size:13px;color:var(--muted);padding:14px 30px 0 0}.journal{border-top:1px solid var(--line)}.journal h2{font-size:clamp(36px,4vw,55px)}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.journal-card>img{width:100%;height:225px;object-fit:cover;border-radius:4px;margin-bottom:21px}.journal-card>.eyebrow{font-size:9px;margin:0 0 10px;display:block}.journal-card h3{font-size:23px;line-height:1.2;display:flex;justify-content:space-between;gap:15px}.journal-card:hover h3{text-decoration:underline;text-underline-offset:5px}.journal-card h3>span{font-size:21px}
.visit{background:#2a201c;color:var(--cream)}.visit-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:130px}.visit .eyebrow{color:#c7b4a7}.visit .body-large{font-size:14px;color:#d1c2b6;margin-top:25px;max-width:440px}.visit address{font-style:normal;font-size:22px;line-height:1.5;letter-spacing:-.03em;margin-top:30px}.visit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.visit .outline{border-color:#796155}.visit-actions .button{font-size:11px;gap:15px}.email-link{display:inline-block;margin-top:22px;font-size:13px;color:#d1c2b6;text-decoration:underline;text-underline-offset:5px}.hours{padding-top:10px}.hours h3{font-size:22px}.hours dl{margin:26px 0 20px}.hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #ffffff24;font-size:12px}.hours>p{font-size:11px;color:#c7b4a7;max-width:360px}.location-card{margin:30px 0 21px;border:1px solid #6b5144;border-radius:4px;background:repeating-linear-gradient(30deg,transparent,transparent 34px,#ffffff05 35px,#ffffff05 36px);padding:26px;position:relative;overflow:hidden}.location-card strong{display:block;font-family:var(--serif);font-size:40px;font-weight:400;letter-spacing:-.03em}.location-card>span:last-child{font-size:8px;letter-spacing:.17em}.location-card>span:first-child{position:absolute;right:24px;top:28px;color:#d9ac94;font-size:36px}.site-footer{background:var(--night);color:var(--cream);padding:50px 0 24px}.footer-motto{font-family:var(--serif);font-size:clamp(33px,4.5vw,64px);font-style:italic;letter-spacing:-.025em;margin-bottom:45px;color:#d7c6b6}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:34px;border-bottom:1px solid #ffffff20}.footer-top>span{font-size:11px;color:#ac9c90}.footer-top>div{display:flex;gap:25px;font-size:11px}.footer-bottom{padding-top:20px;display:flex;justify-content:space-between;gap:25px;color:#b9aa9c;font-size:9px}.footer-bottom>div{display:flex;gap:20px;align-items:center}.footer-bottom button{border:0;background:none;padding:0;font-size:9px;color:inherit}.mobile-booking{display:none}.cookie-notice{position:fixed;bottom:20px;left:20px;width:min(430px,calc(100vw - 40px));padding:20px;background:#fffaf3;border:1px solid #d3c1af;color:var(--ink);border-radius:8px;z-index:60;box-shadow:0 15px 60px #0004}.cookie-notice p{font-size:12px}.cookie-notice a{text-decoration:underline;text-underline-offset:3px}.cookie-notice>div{display:flex;justify-content:flex-end;gap:12px;margin-top:15px}.cookie-notice button{border:1px solid #c8b8a7;border-radius:30px;padding:8px 13px;font-size:11px;background:none;min-height:38px}.cookie-notice button[data-consent=granted]{background:var(--ink);border-color:var(--ink);color:white}
@media(prefers-reduced-motion:no-preference){.js-ready .reveal{transition:opacity .75s var(--ease),transform .75s var(--ease)}.js-ready .reveal.waiting{opacity:0;transform:translateY(22px)}}
@media(min-width:1600px){.hero-content{padding-top:140px}.hero-shade{background:linear-gradient(90deg,#140e0be0,#140e0b77 60%,#140e0b10),linear-gradient(0deg,#140e0bf5,transparent 40%)}}
@media(max-width:1180px){.site-header{padding:0 25px;gap:20px}.desktop-nav{gap:19px}.desktop-nav a{font-size:11px}.header-actions{gap:17px}.wrap{width:calc(100% - 60px)}.hero-content{width:calc(100% - 60px)}.hero-bottom{left:30px;right:30px}.intro-grid{gap:70px}.trust-strip{padding:30px}.trust-strip>div{gap:10px}.trust-strip strong{font-size:23px}.trust-strip span{font-size:9px}.section{padding:90px 0}.care-grid{grid-template-columns:45px 1fr;gap:25px}.care-grid>.button{grid-column:2;justify-self:start}.planning-grid{gap:30px;grid-template-columns:.8fr 1.2fr}.calculator{padding:26px}.prep-grid,.faq-grid{gap:60px}.visit-grid{gap:65px}.service-content{padding:23px 18px 17px}.service-content h3{font-size:21px}.service-content>p{min-height:110px}.footer-top{gap:20px}.review blockquote{font-size:14px;min-height:190px}}
@media(max-width:960px){.desktop-nav{display:none}.menu-toggle{display:block}.site-header{height:76px}.header-actions{gap:20px}.hero{min-height:760px;max-height:950px}.hero-content{padding-bottom:150px}h1{font-size:clamp(50px,7.5vw,72px)}.hero-backdrop{object-position:60% center}.trust-strip{grid-template-columns:repeat(2,1fr);padding:28px 30px;gap:22px}.trust-strip>div{justify-content:flex-start;padding-left:25px}.trust-strip>div:nth-child(2){border:0}.trust-strip span{max-width:none;font-size:10px}.intro-grid{gap:55px}.intro-visual>img,.intro-visual>.film{height:400px}.heritage-seal{width:105px;height:105px;left:-30px}.heritage-seal strong{font-size:36px}.heritage-seal span{font-size:6px}.service-grid{gap:13px}.service-photo{height:220px}.service-content h3{font-size:20px}.service-content>p{min-height:150px}.service-price{font-size:10px}.service-price strong{font-size:27px}.gallery-item>img,.gallery-item>.film{height:310px}.planning-grid{grid-template-columns:1fr}.calculator{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px}.calculator>.eyebrow{grid-column:1/-1;margin:0}.calculator form{grid-column:1;grid-row:2/4}.estimate-result{grid-column:2;margin-top:0;padding-top:0;border:0}.calculator .button{grid-column:2;margin:0}.calculator>.fineprint{grid-column:1/-1;margin:0}.reservation-panel{padding-top:30px}.review-grid{gap:20px}.review{padding-right:17px}.review blockquote{min-height:255px}.faq-grid{grid-template-columns:.8fr 1.2fr;gap:35px}.journal-card h3{font-size:20px}.journal-card>img{height:185px}.visit-grid{gap:40px}.footer-top{flex-wrap:wrap}.footer-top>span{margin-left:auto}.footer-top>div{width:100%}}
@media(max-width:640px){html{scroll-padding-top:87px}.wrap{width:calc(100% - 40px)}.section{padding:70px 0}.site-header{padding:0 18px;gap:10px}.brand{gap:7px}.brand img{width:36px;height:40px}.brand>span{font-size:18px}.brand small{font-size:7px}.header-actions{gap:14px}.header-book{display:none}.languages{font-size:10px;gap:7px}.hero{min-height:760px;height:100svh;max-height:940px}.hero-content{width:calc(100% - 40px);padding:120px 0 190px;margin:0 auto;align-self:center}.hero-content .eyebrow{font-size:8px;letter-spacing:.12em;max-width:290px;gap:8px;margin-bottom:25px}.hero h1{font-size:clamp(40px,10.7vw,62px);line-height:1.07;letter-spacing:-.055em;max-width:560px}.hero h1 em{font-size:1.13em}.hero-lead{font-size:14px;max-width:295px;margin-top:25px;line-height:1.7}.hero-detail{font-size:10px;max-width:280px;line-height:1.7;margin-top:9px}.hero-actions{margin-top:27px;gap:9px}.hero-actions .button{font-size:10px;padding:13px 18px;gap:13px;min-height:47px}.hero-reassurance{max-width:285px;font-size:9px;margin-top:17px}.hero-backdrop{object-position:66% center}.hero-shade{background:linear-gradient(90deg,#140e0bd9,#140e0b5e),linear-gradient(0deg,#140e0bf7,transparent 65%,#140e0b33)}.hero-bottom{left:20px;right:20px;bottom:27px;align-items:flex-end;gap:10px}.hero-motto{font-size:9px;max-width:120px}.scroll-link{display:none}.hero-film video{width:54px;height:64px}.hero-film{gap:10px}.hero-film>div>span{font-size:8px;max-width:120px}.trust-strip{padding:28px 20px;gap:24px 12px}.trust-strip>div{padding-left:0;gap:9px;align-items:flex-start;flex-direction:column;border:0}.trust-strip strong{font-size:26px;line-height:1.1}.trust-strip span{font-size:9px;line-height:1.3}.intro-grid{grid-template-columns:1fr;gap:40px}.eyebrow{font-size:9px;margin-bottom:18px}h2{font-size:43px}.intro-copy .body-large{font-size:15px;line-height:1.8}.intro-copy .muted{font-size:12px}.intro-visual{width:calc(100% - 22px);max-width:none}.intro-visual>img,.intro-visual>.film{height:380px}.heritage-seal{left:-20px;width:109px;height:109px;bottom:55px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:13px;margin-top:23px;max-width:360px}.section-heading>.button{margin-top:20px}.service-grid{grid-template-columns:1fr;gap:24px}.service-photo{height:320px}.service-content{padding:26px 23px 20px}.service-content h3{font-size:26px}.service-content>p{min-height:0;font-size:13px}.service-price{font-size:12px}.service-price strong{font-size:35px}.rate-details summary{font-size:12px;min-height:32px}.rate-details dl>div{font-size:12px}.included-note{padding:21px 20px;gap:15px}.included-note p{font-size:11px}.included-note h3{font-size:9px}.paw{font-size:30px}.extras{margin-top:43px}.extra-row summary{gap:15px;padding:22px 0}.extra-row h3{font-size:21px}.extra-body{display:block;padding-left:26px;font-size:12px}.extra-body ul{margin-top:12px}.discounts{gap:20px;grid-template-columns:1fr;margin-top:28px}.discounts>div{gap:15px}.discounts strong{font-size:32px;min-width:65px}.discounts span{font-size:11px;max-width:none}.fineprint{font-size:10px}.gallery-track{display:flex;gap:15px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:15px;scrollbar-width:thin;scrollbar-color:#9d7766 #362823}.gallery-item{flex:0 0 82%;scroll-snap-align:start}.gallery-item>img,.gallery-item>.film{height:370px}.gallery-item:nth-child(2),.gallery-item:nth-child(3){padding-top:0}.gallery-item:nth-child(4){display:block}.gallery-item figcaption{font-size:10px}.care-band{padding:50px 0}.care-grid{grid-template-columns:1fr;gap:15px}.care-symbol{font-size:43px;line-height:1}.care-band h2{font-size:35px}.care-grid>.button{grid-column:1;margin-top:5px;max-width:none}.planning-grid{gap:25px}.calculator{display:block;padding:26px}.calculator>.eyebrow{margin-bottom:25px}.calculator form{gap:18px}.calculator input,.calculator select{font-size:12px;height:46px}.estimate-result{margin-top:26px;border-top:1px solid #ffffff25;padding-top:22px}.estimate-result>strong{font-size:71px}.calculator .button{margin-top:24px}.calculator>.fineprint{margin-top:20px}.reservation-panel{padding-top:15px}.reservation-panel h3{font-size:28px}.reservation-panel>.muted{font-size:11px}#reservationForm{gap:18px 13px}.field label{font-size:10px}.field input,.field select,.field textarea{font-size:16px;padding:10px 8px}.field select{font-size:13px}.field:nth-child(-n+4){grid-column:1/-1}.form-actions{flex-direction:column;align-items:stretch;gap:7px}.form-actions .button{font-size:12px}.form-actions .text-button{font-size:11px}.prep-grid{grid-template-columns:1fr;gap:35px}.prep-grid h2{font-size:39px}.prep-item{gap:18px}.prep-item h3{font-size:20px}.prep-item p{font-size:12px}.review-grid{grid-template-columns:1fr;gap:24px}.review{border-right:0;border-bottom:1px solid var(--line);padding:0 0 25px}.review blockquote{min-height:0;font-size:15px;margin:6px 0 20px}.quote-mark{font-size:60px}.review figcaption small{font-size:9px}.faq-grid{grid-template-columns:1fr;gap:36px}.faq-item summary{font-size:14px}.faq-item p{font-size:12px}.journal h2{font-size:40px}.journal-grid{grid-template-columns:1fr;gap:35px}.journal-card>img{height:225px}.journal-card h3{font-size:24px}.visit-grid{grid-template-columns:1fr;gap:50px}.visit h2{font-size:44px}.visit .body-large{font-size:14px}.hours{padding:0}.hours h3{font-size:22px}.hours dl>div{font-size:12px}.site-footer{padding:39px 0 90px}.footer-motto{font-size:36px;line-height:1.1;margin-bottom:30px;max-width:320px}.footer-top{gap:23px;padding-bottom:25px}.footer-top>span{margin:0;font-size:9px}.footer-top>div{font-size:11px}.footer-bottom{display:block;font-size:9px}.footer-bottom>div{margin-top:18px;gap:20px;flex-wrap:wrap}.footer-bottom button{font-size:9px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;width:100%;z-index:25;background:var(--cream);border-top:1px solid #d2c2b2;box-shadow:0 -4px 24px #0001;padding:9px 14px calc(9px + env(safe-area-inset-bottom));gap:10px}.mobile-booking>a{display:flex;align-items:center;justify-content:center;gap:20px;font-size:11px;min-height:40px;flex:1;border-radius:30px}.mobile-booking>a:last-child{background:var(--red);color:white;flex:1.35}.cookie-notice{bottom:76px;left:14px;width:calc(100vw - 28px);padding:17px}.cookie-notice p{font-size:11px}}
@media(max-width:640px){.hero-bottom{bottom:88px}.hero-background-video,.hero-backdrop{object-position:85% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}
/* Canine typography: balanced modern sans, inspired by 21st.dev Modern Landing Hero. */
h1,h2,h3,.footer-motto{font-family:var(--display);text-wrap:balance}
h1,h2{font-weight:700;letter-spacing:-.06em}h1 em,h2 em{font-family:var(--display);font-style:normal;font-weight:500;letter-spacing:-.055em}h1 em{font-size:1em}
h3{font-weight:650}.hero-content .eyebrow{font-weight:600}.hero-lead{font-size:17px}
.service-card{border-radius:17px}.service-photo{border-radius:15px 15px 0 0}.intro-visual>img,.intro-visual>.film{border-radius:22px 80px 22px 22px}
.included-note{border-radius:14px}.calculator{border-radius:20px}.gallery-item{border-radius:16px}.button:active{transform:scale(.98)}
.reservation-host{display:flex;align-items:center;gap:16px;margin:-22px 0 28px;padding:0 0 19px;border-bottom:1px solid var(--line)}
.club-pup{width:155px;flex:0 0 155px;pointer-events:none}.club-pup svg{display:block;width:100%;overflow:visible}
.pup-head{transform-origin:120px 145px}.pup-eyes{transform-origin:120px 94px}.pup-tail{transform-origin:174px 191px}
.club-pup.is-awake .pup-eyes{animation:pupBlink 6.7s infinite}.club-pup.is-awake .pup-tail{animation:pupWag 2.4s ease-in-out infinite}
.host-note .eyebrow{font-size:8px;letter-spacing:.12em;margin-bottom:7px;color:var(--red)}.host-note p{font-family:var(--display);font-size:20px;font-weight:650;line-height:1.3;letter-spacing:-.04em}.host-note>span:last-child{display:block;font-size:10px;color:var(--muted);margin-top:8px;max-width:220px}
@keyframes pupBlink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@keyframes pupWag{0%,65%,100%{transform:rotate(0deg)}72%,88%{transform:rotate(9deg)}80%,96%{transform:rotate(-6deg)}}
@media(max-width:640px){.hero-lead{font-size:14px}.reservation-host{margin-top:0;gap:12px}.club-pup{width:125px;flex-basis:125px}.host-note p{font-size:18px}.host-note .eyebrow{font-size:7px}.host-note>span:last-child{font-size:10px}.intro-visual>.film{border-radius:18px 65px 18px 18px}}
@media(prefers-reduced-motion:reduce){.club-pup *{animation:none!important;transition:none!important}}
