@font-face{font-family:Bree;src:url('../assets/fonts/bree.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Nunito;src:url('../assets/fonts/nunito.woff2') format('woff2');font-display:swap;font-weight:400 800}
:root{--paper:#F1EEE6;--ink:#245E66;--sand:#E5AC72;--soft:#DFE8E2;--white:#fff;--error:#8A2B25;--body:Nunito,Arial,sans-serif;--display:Bree,Georgia,serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.55}::selection{background:var(--sand);color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}button{border:0}button:disabled{cursor:not-allowed;opacity:.55}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.07;letter-spacing:-.025em;text-wrap:balance}h2{font-size:clamp(40px,4.3vw,64px)}h3{font-size:29px}p{max-width:65ch}button{background:none}svg{display:block}.wrap{width:calc(100% - 96px);max-width:1536px;margin-inline:auto}.skip{position:absolute;top:-100px;left:16px;background:var(--ink);color:var(--paper);padding:12px;z-index:99}.skip:focus{top:10px}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:112px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-family:var(--display);font-size:31px;line-height:1.2;flex-shrink:0}.brand svg{width:43px;height:43px;fill:var(--ink)}.brand-sub{display:block;font-family:var(--body);font-size:12px;letter-spacing:.01em;margin-top:5px}.navigation{display:flex;gap:32px;position:relative;padding-bottom:9px;align-self:center}.navigation a{text-decoration:none;font-size:16px;padding:10px 0}.navigation a:hover{text-decoration:underline}.paw-position{position:absolute;font-size:9px;bottom:0;left:0;transform:translateX(28px);pointer-events:none}.header-actions{display:flex;align-items:center;gap:30px}.languages{display:flex;align-items:center;font-size:14px;gap:3px}.languages button{font-size:14px;min-height:44px;min-width:44px;padding:0}.languages button[aria-pressed=true]{font-weight:800;text-decoration:underline;text-underline-offset:5px}.header-book{text-decoration:none;font-weight:800;font-size:15px;border-bottom:1px solid var(--ink);padding:10px 0}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;padding-bottom:36px}.hero-copy{padding:30px 0}.hero h1{font-size:clamp(56px,6.3vw,96px);line-height:1.015;max-width:9.5em}.hero-copy>p:first-of-type{margin-top:28px;font-size:20px;max-width:25em}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--ink);color:var(--paper);min-height:55px;padding:15px 26px;border-radius:6px;text-decoration:none;font-size:16px;font-weight:800;transition:transform .2s,opacity .2s}.button:hover{transform:translateY(-3px)}.hero .button{margin-top:30px}.hero-copy .concept-note{font-size:13px;line-height:1.5;max-width:29em;margin-top:30px}.hero-portrait{position:relative;height:clamp(500px,47vw,715px);overflow:hidden;border-radius:46% 46% 8px 8px}.hero-portrait img{object-position:50% 45%}.hero-portrait figcaption{position:absolute;bottom:0;left:0;right:0;background:var(--sand);padding:18px 26px;display:flex;justify-content:space-between;gap:12px;font-size:15px;font-weight:700}.services{padding-block:90px 88px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading>p{max-width:27em}.service-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.service-rail article{border-top:1px solid var(--ink);padding-top:25px;display:flex;flex-direction:column}.service-rail h3{min-height:65px}.service-rail p{font-size:16px;margin-top:14px;flex:1}.service-rail button{font-weight:800;text-align:left;padding:18px 0 0;font-size:14px;align-self:start}.service-rail button:hover{text-decoration:underline;text-underline-offset:5px}.emergency{display:flex;gap:48px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);padding:40px 48px;border-radius:8px}.emergency h2{font-size:34px}.emergency p{font-size:16px;margin-top:12px;max-width:45em}.button-light{background:var(--paper);color:var(--ink);flex-shrink:0}.emergency :focus-visible{outline-color:var(--sand)}.care{display:grid;grid-template-columns:.9fr 1fr;gap:10%;padding-block:120px;align-items:center}.care-photo img{height:550px;border-radius:8px 8px 44% 44%;object-position:center}.care-photo>p{margin-top:18px;font-size:15px}.care-copy>p{margin-top:24px}.care-copy details{border-bottom:1px solid var(--ink);padding:22px 0}.care-copy details:first-of-type{margin-top:22px}.care-copy summary{font-size:20px;font-weight:800;display:flex;justify-content:space-between;align-items:center;min-height:44px;list-style:none;gap:20px}.care-copy summary::-webkit-details-marker{display:none}.care-copy summary:after{content:'+';font-size:26px;font-weight:400;line-height:1}.care-copy details[open] summary:after{content:'−'}.care-copy details p{font-size:16px;margin-top:15px}.care-copy .source-note{font-size:13px}.visit{display:grid;grid-template-columns:.8fr 1fr;gap:8%;padding-block:10px 120px;align-items:center}.visit-heading>p{margin-top:26px;font-size:20px}.visit-heading .visit-note{font-size:14px;max-width:30em}.visit-images{display:grid;grid-template-columns:1fr .6fr;gap:20px;align-items:end}.visit-images img:first-child{height:380px;border-radius:8px}.visit-images img:last-child{height:255px;border-radius:90px 90px 8px 8px}.booking{background:var(--soft);padding-block:95px 100px}.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.booking-intro>p{margin-top:24px;max-width:28em}.booking-intro>p:last-of-type{font-size:15px}.booking-intro dl{margin-top:45px;font-size:15px}.booking-intro dt{font-weight:800;margin-top:20px}.booking-intro dd{margin:6px 0 0}.booking-form{background:var(--paper);padding:38px;border-radius:8px}.form-lead{font-family:var(--display);font-size:30px;margin-bottom:28px}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.full{grid-column:1/-1}.field label{display:block;font-size:14px;font-weight:800;margin-bottom:7px}.field input,.field select{background:transparent;border:1px solid var(--ink);border-radius:4px;width:100%;min-height:50px;padding:10px 12px;caret-color:var(--ink);font-size:16px;min-width:0}.field select{padding-right:28px}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--error);outline-color:var(--error)}.field small{display:block;font-size:12px;line-height:1.5;margin-top:7px}.error{display:block;color:var(--error);font-size:13px;line-height:1.4;margin-top:5px}.error:empty{display:none}.form-feedback{color:var(--error);font-size:14px;margin-top:16px}.form-feedback:empty{margin:0}.booking-form .button{margin-top:26px}.privacy-note{font-size:12px;margin-top:14px}#review h3,#success h3{font-size:42px;margin-bottom:20px}#review>p,#success>p{font-size:16px}#review-details{display:grid;grid-template-columns:1fr 1.4fr;gap:14px 20px;font-size:16px;margin-block:30px}#review-details dt{font-weight:800}#review-details dd{margin:0;overflow-wrap:anywhere}.form-actions{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.form-actions .button{margin-top:0}.text-button{padding:12px 0;text-decoration:underline;text-underline-offset:5px;font-size:15px;font-weight:800}#success svg{width:68px;height:68px;margin-bottom:26px;fill:none;stroke:var(--ink);stroke-width:2}#success>p{margin-top:20px}#success-summary{font-weight:800}.footer{display:flex;justify-content:space-between;gap:70px;padding-block:65px}.footer-brand{font-family:var(--display);font-size:44px}.footer-brand p{font-family:var(--body);font-size:16px;max-width:19em;margin-top:12px}.footer-info{font-size:13px;max-width:31em;display:flex;flex-direction:column;gap:12px}.footer-info>a{align-self:start}dialog{background:var(--paper);color:var(--ink);border:0;border-radius:12px;padding:55px;width:min(600px,calc(100% - 36px));max-height:90vh}dialog::backdrop{background:#14383dcc}dialog h2{font-size:42px;margin-top:15px}dialog p{font-size:17px;margin-top:22px}dialog .button{margin-top:26px}.dialog-close{display:block;margin-left:auto;font-size:15px;padding:9px}.noscript{background:var(--sand);padding:18px;font-size:16px;margin-bottom:24px}[hidden]{display:none!important}
@media(min-width:1700px){.hero{gap:80px}.hero h1{font-size:104px}.hero-copy>p:first-of-type{font-size:23px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.navigation{gap:20px}.header-actions{gap:20px}.header-book{display:none}.hero{gap:28px}.hero h1{font-size:clamp(51px,6.6vw,74px)}.hero-portrait{height:570px}.hero-copy>p:first-of-type{font-size:18px}.section-heading{align-items:start}.service-rail{grid-template-columns:repeat(2,1fr);gap:35px}.service-rail h3{min-height:auto}.emergency{padding:35px;gap:25px}.emergency .button{max-width:220px}.care{gap:7%}.care-photo img{height:490px}.visit{gap:6%}.visit-images{gap:12px}.visit-images img:first-child{height:330px}.visit-images img:last-child{height:210px}.booking-layout{gap:6%;grid-template-columns:.75fr 1.25fr}.booking-form{padding:26px}.fields-grid{gap:18px 15px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{min-height:96px;gap:10px;flex-wrap:wrap;padding-block:20px}.brand{font-size:27px;gap:9px}.brand svg{width:35px;height:35px}.brand-sub{font-size:10px}.header-actions{margin-left:auto}.navigation{order:3;width:100%;justify-content:space-between;padding:0;gap:18px}.navigation a{font-size:14px;padding:7px 0 12px}.paw-position{bottom:3px}.hero{grid-template-columns:1fr;gap:26px;padding-top:20px}.hero-copy{padding:0}.hero h1{font-size:clamp(46px,11.8vw,75px);max-width:10em}.hero-copy>p:first-of-type{font-size:18px;max-width:26em;margin-top:22px}.hero .button{margin-top:22px}.hero-copy .concept-note{margin-top:18px;max-width:30em;font-size:12px}.hero-portrait{height:430px;border-radius:45% 45% 8px 8px}.hero-portrait figcaption{font-size:14px;padding:15px 20px}.services{padding-block:55px 60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px;font-size:17px}.service-rail{gap:30px 24px}.service-rail h3{font-size:25px}.service-rail p{font-size:15px}.service-rail button{font-size:13px;min-height:44px}.emergency{display:block;padding:30px 25px}.emergency h2{font-size:32px}.emergency .button{max-width:100%;margin-top:24px}.care{grid-template-columns:1fr;gap:40px;padding-block:65px}.care-photo{max-width:470px}.care-photo img{height:400px}.care-photo p{font-size:13px}.care-copy summary{font-size:18px}.care-copy details{padding-block:20px}.visit{grid-template-columns:1fr;gap:35px;padding-block:5px 65px}.visit-heading>p{font-size:18px}.visit-images img:first-child{height:300px}.visit-images img:last-child{height:210px}.booking{padding-block:60px}.booking-layout{grid-template-columns:1fr;gap:35px}.booking-intro dl{margin-top:28px}.booking-form{padding:25px 20px}.fields-grid{grid-template-columns:1fr;gap:18px}.full{grid-column:auto}.form-lead{font-size:28px}.footer{display:block;padding-block:45px}.footer-brand{font-size:40px}.footer-info{margin-top:35px}.footer-brand p{max-width:none}.footer-info{max-width:100%}#review h3,#success h3{font-size:36px}#review-details{grid-template-columns:1fr;gap:4px}#review-details dd{margin-bottom:14px}dialog{padding:28px}dialog h2{font-size:34px}}
.section-heading h2{flex:1;min-width:45%}.section-heading>p{flex:1}.care-copy details{border:0}.brand-sub,.field small,.privacy-note,.hero-copy .concept-note{font-size:13px}.footer-brand{font-family:var(--body);font-size:16px}.footer-brand>span{display:block;font-family:var(--display);font-size:44px;line-height:1.1}.reading{padding-block:24px;font-size:14px}.care-photo{overflow:hidden}.care-photo img{height:550px;object-fit:cover}.paw-position{font-size:13px}
@media(max-width:700px){.care-photo img{height:400px}.brand-sub{font-size:13px}.brand{font-size:25px}.header{gap:5px}.brand-sub{max-width:175px}.hero h1{font-size:clamp(46px,11.8vw,75px)}.section-heading h2{min-width:0}}
.service-rail article{border:0}.hero-portrait figcaption,.noscript{color:#173F45}.paw-position{width:15px;height:15px;fill:var(--ink);bottom:-5px}.footer-info .reading{padding:0}.footer-brand>span{font-size:32px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}
