@font-face{font-family:Manrope;src:url('assets/manrope-cyrillic.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--ivory:#f7f4e9;--forest:#204c40;--forest-hover:#153d32;--muted:#556459;--orange:#e98948;--sage:#e5e9dc;--pale:#eeebdf;--white:#fffdf6;--line:#d9ddcf;--radius:24px;--gutter:clamp(24px,5.3vw,88px);--section:clamp(80px,8.4vw,132px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--ivory);color:var(--forest);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550}a,button,summary,input{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:6px}::selection{background:var(--orange);color:var(--forest)}.wrap{padding-inline:var(--gutter);max-width:1600px;margin-inline:auto}.section{padding-block:var(--section)}.icon{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;z-index:20;top:12px;left:12px;transform:translateY(-200%);padding:12px 18px;background:var(--forest);color:var(--ivory)}.skip-link:focus{transform:none}.button{min-height:54px;display:inline-flex;justify-content:center;align-items:center;padding:16px 28px;background:var(--forest);color:var(--ivory);font-size:14px;font-weight:600;line-height:1.5;border-radius:50px;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:var(--forest-hover);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-small{min-height:46px;padding:13px 23px;font-size:13px}.button-light{background:var(--ivory);color:var(--forest)}.button-light:hover{background:var(--sage)}.text-link{background:none;padding:0;font-size:14px;font-weight:550;line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;transition:color .2s}.text-link:hover{color:var(--muted)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:118px;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;flex:none}.brand span{font-size:13px;font-weight:650;line-height:1.5;letter-spacing:-.2px}.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:30px}.desktop-nav a{font-size:13px;transition:color .2s}.desktop-nav a:hover{color:var(--orange)}.menu-toggle,.mobile-menu{display:none}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:24px;min-height:644px;padding-top:28px;padding-bottom:54px;align-items:center}.hero-copy{padding-block:22px;position:relative;z-index:2}.location{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;margin-bottom:30px}.location .icon{width:16px;height:16px;color:var(--orange)}h1{font-size:clamp(48px,5.2vw,79px);line-height:1.09;letter-spacing:-4.2px;white-space:nowrap}.hero-description{font-size:15px;line-height:1.85;max-width:410px;margin-top:32px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.hero-actions .text-link{font-size:13px}.hero-note{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.6;margin-top:44px;color:var(--muted)}.hero-note .icon{width:29px;height:29px;color:var(--forest)}.hero-art{position:relative;height:550px;isolation:isolate;align-self:end}.hero-field{position:absolute;inset:40px 0 37px 14px;background:var(--forest);border-radius:48% 48% 38% 38%;z-index:-1;transform:rotate(4deg)}.hero-pets{position:absolute;width:112%;max-width:none;left:-7%;bottom:19px;height:auto;object-fit:contain}.hero-flower{position:absolute;right:-12px;top:44px;width:81px;height:81px;color:var(--orange);transform:rotate(10deg);z-index:1}.family-note{position:absolute;bottom:77px;right:-12px;display:flex;align-items:center;gap:12px;padding:17px 22px;background:var(--ivory);border-radius:16px;transform:rotate(5deg);font-size:13px;line-height:1.6;z-index:2}.family-note .icon{color:var(--orange);width:28px;height:28px}.family-note strong{font-weight:650}.hero-art-caption{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-size:13px;color:var(--muted)}
h2{font-size:clamp(36px,3.55vw,54px);line-height:1.16;letter-spacing:-2.3px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.section-heading>p{font-size:14px;color:var(--muted);padding-bottom:4px;max-width:330px}.services{padding-top:72px}.services-grid{display:grid;grid-template-columns:1fr .91fr 1fr;gap:20px}.service-card{border-radius:var(--radius);position:relative;overflow:hidden;padding:29px;isolation:isolate}.service-card h3{font-size:25px;letter-spacing:-.9px;line-height:1.3;margin-bottom:12px}.service-card p{font-size:13px;line-height:1.75}.therapy-card{background:var(--sage);min-height:472px}.vaccine-card{background:var(--pale);min-height:472px}.therapy-card img,.vaccine-card img{position:absolute;width:76%;height:330px;object-fit:contain;object-position:center bottom;bottom:-5px;left:15%;z-index:-1}.vaccine-card img{width:73%;left:27%;height:345px}.service-card-copy{position:relative;z-index:1}.service-stack{display:grid;grid-template-rows:1fr 1fr;gap:20px}.diagnostic-card{background:var(--forest);color:var(--ivory)}.surgery-card{background:var(--sage)}.service-icon{position:absolute;right:23px;top:25px;width:35px;height:35px;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;fill:none;opacity:.7}.service-stack h3{font-size:24px;padding-right:30px}.service-stack p{max-width:190px;margin-bottom:24px}.service-button{border-radius:40px;padding:11px 18px;background:var(--white);font-size:13px;font-weight:600;line-height:1.5;transition:background .2s,transform .2s}.service-button:hover{background:var(--orange);transform:translateY(-2px)}.therapy-card .service-button,.vaccine-card .service-button{position:absolute;bottom:25px;left:29px}.diagnostic-card .service-button{color:var(--forest)}.vaccination-note{display:flex;align-items:center;gap:18px;margin-top:24px;padding:22px 27px;background:var(--pale);border-radius:16px}.small-cross{color:var(--orange);font-size:38px;line-height:1}.vaccination-note p{font-size:13px;color:var(--muted);flex:1}.vaccination-note strong{color:var(--forest);font-weight:650}.vaccination-note a{font-size:13px;flex:none}
.care{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,7vw,108px);align-items:center}.care-photo{position:relative}.care-photo>img{width:100%;height:545px;object-fit:cover;border-radius:var(--radius)}.photo-note{position:absolute;bottom:26px;left:26px;display:flex;align-items:center;gap:14px;background:var(--ivory);border-radius:16px;padding:17px 22px;font-size:13px;line-height:1.6}.photo-note .icon{color:var(--orange)}.care-copy h2{margin-bottom:28px}.care-copy>p{color:var(--muted);font-size:14px;max-width:420px;margin-bottom:20px}.care-copy .care-lead{font-size:17px;line-height:1.75;color:var(--forest)}.care-principle{display:flex;gap:14px;align-items:center;margin-top:28px;margin-bottom:30px}.care-principle .icon{color:var(--orange);width:31px;height:31px}.care-principle p{font-size:13px;line-height:1.7}
.visit{background:var(--forest);color:var(--ivory)}.visit-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,8vw,120px)}.visit-intro{position:relative}.visit-intro>p{margin-top:25px;margin-bottom:30px;font-size:14px;opacity:.75}.visit-fox{width:72px;height:72px;margin-top:42px;opacity:.9}.questions{padding-top:2px}.questions details{border-bottom:1px solid #ffffff26}.questions details:first-child{border-top:1px solid #ffffff26}.questions summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 0;font-size:15px;font-weight:500}.questions summary::-webkit-details-marker{display:none}.plus{position:relative;width:18px;height:18px;flex:none}.plus::before,.plus::after{content:'';position:absolute;background:currentColor;left:0;top:8px;width:18px;height:1px;transition:transform .2s}.plus::after{transform:rotate(90deg)}details[open] .plus::after{transform:rotate(0)}.answer{font-size:13px;line-height:1.9;max-width:480px;padding:0 28px 25px 0;color:#e2e7db}.questions summary:hover{color:var(--orange)}
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.contact-copy h2{margin-bottom:30px}.contact-address{font-size:27px;line-height:1.5;letter-spacing:-.7px;font-weight:500}.contact-copy>p:not(.contact-address){margin-top:20px;font-size:13px;line-height:1.9;color:var(--muted)}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}.contact-actions .text-link{font-size:13px}.contact-copy .contact-hint{margin-top:27px!important;font-size:13px!important}.copy-status{display:block;font-size:13px;min-height:24px;margin-top:8px}.address-card{background:var(--sage);border-radius:var(--radius);min-height:440px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:45px}.address-card>img{width:65px;height:65px;margin-bottom:24px}.address-card-title{font-size:31px;line-height:1.25;letter-spacing:-1.2px;margin-bottom:25px}.address-card>.icon{width:21px;height:21px;margin-bottom:12px;color:var(--orange)}.address-card>p:not(.address-card-title){font-size:13px;line-height:1.6}.address-card>span{font-size:13px;margin-top:16px;color:var(--muted)}.site-footer{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--pale)}.site-footer .brand span{font-size:13px}.site-footer>p{font-size:13px;color:var(--muted)}.site-footer>.text-link{font-size:13px}
dialog{width:min(540px,calc(100% - 32px));padding:44px;border:0;border-radius:var(--radius);background:var(--ivory);color:var(--forest);max-height:calc(100svh - 48px);overflow:auto;box-shadow:0 20px 90px #0003}dialog::backdrop{background:#10271f88;backdrop-filter:blur(5px)}dialog h2{font-size:32px;letter-spacing:-1.3px;line-height:1.2;margin-bottom:22px;padding-right:15px}dialog>p,dialog li{font-size:14px;color:var(--muted)}dialog ul{padding-left:18px;margin:22px 0}dialog li{margin-bottom:9px}.dialog-close{position:absolute;right:16px;top:12px;background:none;width:40px;height:40px;font-size:30px;line-height:1;font-weight:300;border-radius:50%}.dialog-close:hover{background:var(--sage)}.dialog-mark{margin-bottom:18px;color:var(--orange)}.dialog-note{font-size:13px!important;line-height:1.8;margin-bottom:27px}.checklist{display:grid;gap:10px;margin:24px 0}.checklist label{display:flex;gap:13px;align-items:center;padding:15px 16px;border-radius:12px;background:var(--sage);cursor:pointer;font-size:13px;line-height:1.6}.checklist input{width:18px;height:18px;flex:none;accent-color:var(--forest)}.checklist label:has(input:checked) span{text-decoration:line-through;color:var(--muted)}.checklist-progress{margin-bottom:20px}
@media(min-width:1100px){.hero-art{animation:pet-entrance 1.1s var(--ease) both}.hero-copy{animation:copy-entrance .85s var(--ease) both}}@keyframes pet-entrance{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@keyframes copy-entrance{from{transform:translateY(10px);opacity:.5}to{transform:none;opacity:1}}
@media(min-width:1600px){h1{font-size:80px}.hero{min-height:700px}.hero-art{height:580px}}
@media(max-width:1150px){.desktop-nav{gap:22px;margin-right:0}.site-header{gap:20px}.brand span{font-size:13px}.hero{min-height:570px;gap:5px}.hero-art{height:465px}h1{letter-spacing:-3px}.hero-description{font-size:13px}.hero-actions{gap:18px}.hero-actions .button{padding-inline:22px}.hero-actions .text-link{font-size:13px}.hero-note{margin-top:30px}.service-card{padding:24px}.service-card h3,.service-stack h3{font-size:21px}.service-icon{width:27px;height:27px;right:19px}.services-grid{gap:16px}.service-stack{gap:16px}.care-photo>img{height:500px}.contact-actions{align-items:flex-start;flex-direction:column}.family-note{right:-5px}.care-copy>p{font-size:13px}}
@media(max-width:900px){:root{--gutter:32px;--section:80px}.site-header{min-height:100px}.desktop-nav{gap:20px}.desktop-nav a{font-size:13px}.header-action{font-size:13px;padding:12px 17px}.hero{min-height:510px;padding-top:8px;padding-bottom:30px}.hero-art{height:400px}h1{font-size:48px;letter-spacing:-2.5px}.location{font-size:13px;margin-bottom:24px}.hero-description{font-size:13px;margin-top:27px;max-width:310px}.desktop-break{display:none}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:25px}.hero-actions .button{min-height:48px;font-size:13px;padding:13px 24px}.hero-note{font-size:13px;margin-top:28px}.hero-flower{width:62px;right:0;top:46px}.hero-field{inset:43px 0 35px 0}.family-note{padding:12px 15px;font-size:13px;right:-4px;bottom:50px}.family-note .icon{width:22px;height:22px}.hero-art-caption{font-size:13px}.hero-pets{width:120%;left:-13%;bottom:22px}.section-heading>p{font-size:13px}.services{padding-top:64px}.service-card{padding:24px}.services-grid{grid-template-columns:1fr 1fr;gap:18px}.service-stack{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:18px}.therapy-card,.vaccine-card{min-height:400px}.therapy-card img,.vaccine-card img{height:300px;width:80%}.service-stack p{font-size:13px;margin-bottom:20px;min-height:42px;max-width:220px}.service-stack h3{font-size:23px}.vaccine-card img{left:20%}.vaccination-note{padding:20px;gap:13px}.vaccination-note p{font-size:13px}.care{gap:40px}.care-photo>img{height:475px}.care-copy h2{font-size:34px;margin-bottom:23px;letter-spacing:-1.5px}.care-copy .care-lead{font-size:15px}.care-copy>p{font-size:13px;margin-bottom:17px}.care-principle{margin-block:23px}.care-principle p{font-size:13px}.care-copy .button{font-size:13px;padding-inline:23px}.photo-note{left:20px;bottom:20px;font-size:13px;padding:14px 17px}.visit-inner{gap:45px;grid-template-columns:.9fr 1.1fr}.visit h2{font-size:34px;letter-spacing:-1.5px}.visit-intro>p{font-size:13px}.visit .button{font-size:13px;padding-inline:24px}.questions summary{font-size:13px;gap:16px;padding-block:20px}.answer{font-size:13px;padding-right:10px}.contacts{gap:45px}.contact-address{font-size:24px}.address-card{padding:30px;min-height:420px}.address-card-title{font-size:27px}.site-footer .brand span{font-size:13px}.site-footer>p{font-size:13px}.site-footer>.text-link{font-size:13px}}
@media(max-width:680px){:root{--gutter:24px;--section:66px;--radius:22px}html{scroll-padding-top:22px}.site-header{min-height:88px;gap:16px}.brand{gap:10px}.brand>img{width:42px;height:42px}.brand span{font-size:13px;line-height:1.55}.desktop-nav,.header-action{display:none}.menu-toggle{display:flex;width:44px;height:44px;flex:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:var(--sage);border-radius:50%}.menu-toggle span{width:18px;height:1.5px;background:var(--forest);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-menu:not([hidden]){position:absolute;left:24px;right:24px;top:78px;display:flex;flex-direction:column;padding:16px;background:var(--forest);color:var(--ivory);border-radius:20px;box-shadow:0 10px 40px #10271f25}.mobile-menu a{padding:13px 15px;font-size:14px}.hero{grid-template-columns:1fr;gap:15px;padding-top:22px;padding-bottom:25px;min-height:auto}.hero-copy{padding:0}.location{font-size:13px;gap:7px;margin-bottom:24px}.location .icon{width:14px;height:14px}h1{font-size:clamp(36px,10.4vw,61px);line-height:1.1;letter-spacing:-2.4px}.hero-description{font-size:13px;line-height:1.85;margin-top:28px;max-width:350px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}.hero-actions .button{font-size:13px;padding:14px 22px;min-height:48px}.hero-actions .text-link{font-size:13px;max-width:95px;line-height:1.7}.hero-note{display:none}.hero-art{height:390px;margin-top:5px;max-width:430px;width:100%;justify-self:center}.hero-field{inset:43px 9px 34px 12px}.hero-pets{width:112%;left:-6%;bottom:11px}.hero-flower{width:61px;right:3px;top:43px}.family-note{right:0;bottom:55px;font-size:13px;padding:12px 16px}.hero-art-caption{font-size:13px;bottom:0}.services{padding-top:44px}.section-heading{display:block;margin-bottom:30px}h2{font-size:36px;letter-spacing:-1.7px;line-height:1.15}.section-heading>p{font-size:13px;margin-top:20px}.services-grid{gap:14px;grid-template-columns:1fr 1fr}.service-card{padding:20px}.service-card h3,.service-stack h3{font-size:20px;margin-bottom:9px;letter-spacing:-.7px}.service-card p{font-size:13px;line-height:1.65}.therapy-card,.vaccine-card{grid-column:span 2;min-height:310px}.therapy-card img,.vaccine-card img{left:auto;right:-10px;height:275px;width:68%;bottom:-3px}.service-card-copy{max-width:60%}.therapy-card .service-button,.vaccine-card .service-button{left:20px;bottom:22px;font-size:13px}.vaccine-card{grid-row:3}.vaccine-card img{right:-15px;width:65%;height:280px}.service-stack{grid-template-columns:1fr 1fr;gap:14px}.service-stack .service-card{padding:20px 17px}.service-stack h3{font-size:17px;padding-right:0;margin-top:38px;letter-spacing:-.5px}.service-stack p{font-size:13px;min-height:50px;max-width:130px;margin-bottom:19px}.service-icon{top:17px;left:17px;width:25px;height:25px}.service-button{font-size:13px;padding:10px 15px}.vaccination-note{align-items:flex-start;flex-wrap:wrap;padding:19px 20px;gap:10px 13px;margin-top:16px}.small-cross{font-size:30px}.vaccination-note p{font-size:13px;flex:1}.vaccination-note strong{display:block;margin-bottom:5px}.vaccination-note a{margin-left:32px;font-size:13px}.care{grid-template-columns:1fr;gap:32px;padding-top:0}.care-photo>img{height:395px;object-position:50% 45%}.care-copy h2{font-size:36px;letter-spacing:-1.7px}.care-copy>p{font-size:13px;max-width:none}.care-copy .care-lead{font-size:16px}.care-principle p{font-size:13px}.care-copy .button{font-size:13px;min-height:52px}.photo-note{font-size:13px}.visit-inner{grid-template-columns:1fr;gap:35px}.visit h2{font-size:36px}.visit-intro>p{font-size:13px;margin-top:22px;margin-bottom:25px}.visit-fox{display:none}.visit .button{min-height:50px;font-size:13px}.questions summary{font-size:13px;padding-block:22px}.answer{font-size:13px;line-height:1.9}.contacts{grid-template-columns:1fr;gap:35px}.contact-copy h2{margin-bottom:25px}.contact-address{font-size:25px}.contact-copy>p:not(.contact-address){font-size:13px;margin-top:18px}.contact-actions{flex-direction:row;align-items:center;gap:21px}.contact-actions .button{font-size:13px;padding-inline:23px}.contact-actions .text-link{font-size:13px;max-width:90px;line-height:1.8}.contact-copy .contact-hint{margin-top:23px!important}.address-card{min-height:370px;padding:32px}.address-card-title{font-size:29px}.address-card>img{width:60px;height:60px}.site-footer{min-height:auto;padding-top:28px;padding-bottom:28px;flex-wrap:wrap;gap:24px 20px}.site-footer .brand{margin-right:auto}.site-footer .brand span{font-size:13px}.site-footer>p{order:3;flex-basis:100%;font-size:13px}.site-footer>.text-link{font-size:13px}dialog{padding:36px 24px;max-height:calc(100svh - 32px)}dialog h2{font-size:29px}dialog>p,dialog li{font-size:13px}.checklist label{padding:14px 12px;font-size:13px}}
@media(max-width:370px){:root{--gutter:20px}.hero-art{height:350px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:20px}.service-stack .service-card{padding-inline:14px}.service-stack h3{font-size:16px}.service-card-copy{max-width:64%}.contact-actions{gap:18px}.contact-actions .button{padding-inline:19px}.site-footer .brand{gap:8px}.site-footer .brand span{font-size:13px}}
/* Final optical alignment and readable type across viewport sizes. */
.hero-pets{width:110%;left:-5%;height:100%;object-fit:contain}
.hero-description{font-size:16px;max-width:450px}
.section-heading>p,.care-copy>p,.visit-intro>p,.answer{font-size:16px}
.service-card p,.service-stack p{font-size:14px}
.service-stack p{max-width:225px}
.service-stack h3{padding-right:35px}
.service-button{min-height:44px;font-size:13px}
.hero-note,.hero-art-caption,.hero-actions .text-link,.family-note,.vaccination-note p,.vaccination-note a,.care-principle p,.photo-note,.contact-copy .contact-hint,.address-card>span,.site-footer>p,.site-footer>.text-link{font-size:13px!important}
.contact-copy>p:not(.contact-address),.questions summary{font-size:15px}
.brand span,.site-footer .brand span{font-size:12px}
.questions summary{padding-block:24px}
.answer{line-height:1.8}
.questions details{border:0!important;background:#ffffff08;padding-inline:20px;border-radius:16px;margin-bottom:10px}
.questions details[open]{background:#ffffff10}
.service-card{transition:background .25s}
@media(min-width:901px){.hero-art{height:530px}.hero{min-height:650px}.hero-description{max-width:440px}.service-stack .service-card{padding-top:26px}.service-stack h3{font-size:23px}.service-icon{width:29px;height:29px}}
@media(min-width:681px) and (max-width:900px){.hero-description{font-size:15px;max-width:330px}.hero-actions .text-link{font-size:13px!important}.hero-art{height:410px}.hero-art-caption{font-size:11px!important}.family-note{font-size:11px!important}.hero-note{font-size:12px!important}.service-stack p{min-height:50px}.care-copy>p,.visit-intro>p,.answer{font-size:15px}.care-copy .care-lead{font-size:17px}.care-photo>img{height:560px}.care-principle p{font-size:12px!important}.visit-inner{grid-template-columns:1fr;gap:35px}.visit-fox{display:none}.questions{width:100%}.hero-flower{right:-4px}.desktop-nav{gap:16px}.desktop-nav a{font-size:12px}.brand span{font-size:11px}.header-action{padding-inline:17px;font-size:12px}}
@media(max-width:680px){.hero-description{font-size:15px;max-width:350px}.hero-actions{gap:21px}.hero-actions .text-link{font-size:12px!important;max-width:120px}.hero-art{height:380px;margin-top:19px}.hero-art-caption{font-size:11px!important}.family-note{font-size:11px!important}.hero-pets{bottom:15px}.location{font-size:12px}.therapy-card,.vaccine-card{min-height:380px}.service-card-copy{max-width:100%}.therapy-card img,.vaccine-card img{height:255px;bottom:0;width:72%;right:-9px}.service-card-copy p{max-width:260px}.service-stack{grid-template-columns:1fr}.service-stack .service-card{padding:24px}.service-stack h3{font-size:23px;padding-right:35px;margin-top:0}.service-stack p{font-size:14px;min-height:0;max-width:230px;margin-bottom:23px}.service-icon{left:auto;right:24px;top:25px;width:29px;height:29px}.service-button{min-height:44px;font-size:13px}.therapy-card .service-button,.vaccine-card .service-button{font-size:13px}.service-card h3{font-size:23px}.vaccination-note{display:grid;grid-template-columns:18px 1fr;gap:12px}.vaccination-note a{grid-column:2;margin-left:0;justify-self:start}.care-copy .care-lead{font-size:18px}.care-copy>p{font-size:16px}.care-principle p{font-size:13px!important}.care-copy .button{font-size:13px}.questions summary{font-size:14px;padding-block:22px}.answer{font-size:15px;padding-right:0}.visit-intro>p{font-size:16px}.questions details{padding-inline:18px}.photo-note{font-size:12px!important}.contact-actions{gap:20px}.contact-actions .text-link{font-size:13px;max-width:100px}.contact-copy>p:not(.contact-address){font-size:15px}.address-card>span{font-size:12px!important}.site-footer .brand span{font-size:11px}}
@media(max-width:370px){.hero-art{height:335px}.brand span{font-size:11px}.hero-actions{gap:17px}.hero-actions .text-link{font-size:11px!important}.hero-actions .button{padding-inline:19px}.contact-actions{flex-direction:column;align-items:flex-start}.contact-actions .text-link{max-width:none}.photo-note{font-size:11px!important}}
/* The image's chest meets the next section; its paws extend beyond this scene. */
.hero-art.hero-paw-scene{align-self:end;justify-self:center;width:100%;height:auto;aspect-ratio:1 / .9794;max-width:610px;margin:0;isolation:isolate}
.hero-paw-image{position:absolute;z-index:2;top:0;left:-20%;width:132%;max-width:none;height:auto;pointer-events:none;filter:drop-shadow(0 10px 7px #102b2238)}
@media(min-width:681px) and (max-width:1050px){.hero{grid-template-columns:1.05fr 1fr;gap:24px}.hero h1{font-size:clamp(36px,4.9vw,52px);letter-spacing:-2.5px}}
/* Readable text and a calmer hierarchy, with the street address only in contacts. */
body{font-size:17px;line-height:1.7}
.brand span,.site-footer .brand span{font-size:13px}
.desktop-nav a{font-size:14px}
.location{font-size:14px;margin-bottom:26px}
h1{font-weight:600;letter-spacing:-.045em;white-space:normal}
.hero-description{font-size:18px;line-height:1.7;max-width:470px}
.hero-note{font-size:14px!important;line-height:1.65}
.button{font-size:15px;padding:16px 28px;min-height:56px}
.button-small{font-size:14px;min-height:48px;padding:13px 24px}
.hero-actions .text-link{font-size:14px!important;max-width:160px;line-height:1.65}
h2{font-weight:600;letter-spacing:-.04em}
.section-heading>p,.care-copy>p,.visit-intro>p{font-size:17px;line-height:1.75}
.service-card h3,.service-stack h3{font-size:27px;font-weight:600;letter-spacing:-1px}
.service-card p,.service-stack p{font-size:16px;line-height:1.65}
.service-stack p{max-width:250px}
.service-stack .service-card{padding:30px}
.service-card{padding:30px}
.therapy-card,.vaccine-card{min-height:510px}
.service-button{font-size:14px;min-height:46px;padding:12px 20px}
.therapy-card .service-button,.vaccine-card .service-button{left:30px;bottom:28px}
.vaccination-note p,.vaccination-note a{font-size:15px!important;line-height:1.7}
.vaccination-note{padding:26px 28px;gap:20px}
.care-copy .care-lead{font-size:20px;line-height:1.65}
.care-principle p{font-size:15px!important}
.questions summary{font-size:17px;line-height:1.6;padding-block:24px}
.answer{font-size:17px;line-height:1.8;padding-bottom:28px}
.questions details{padding-inline:24px}
.contact-address{font-size:32px;line-height:1.45}
.contact-copy>p:not(.contact-address){font-size:17px;line-height:1.7}
.contact-copy .contact-hint{font-size:15px!important}
.contact-actions .text-link,.site-footer>p,.site-footer>.text-link{font-size:14px!important}
dialog>p,dialog li,.checklist label{font-size:16px;line-height:1.7}
@media(min-width:681px) and (max-width:1050px){.desktop-nav{gap:18px}.desktop-nav a{font-size:13px}.header-action{padding-inline:19px;font-size:13px}.brand span{font-size:12px}.hero-description{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .text-link{max-width:none}.service-card h3,.service-stack h3{font-size:25px}.care{gap:36px}.care-copy .care-lead{font-size:18px}.care-principle p{font-size:14px!important}.care-copy .button{font-size:14px;padding-inline:23px}}
@media(max-width:680px){.brand span{font-size:12px}.hero h1{font-size:clamp(36px,10.2vw,60px);letter-spacing:-.045em}.location{font-size:13px;line-height:1.5;gap:8px}.hero-description{font-size:17px;line-height:1.75;max-width:none}.hero-actions{gap:24px;margin-top:30px}.hero-actions .button{font-size:14px;min-height:52px;padding:14px 22px}.hero-actions .text-link{font-size:13px!important;max-width:128px}.section-heading{margin-bottom:36px}.section-heading>p{font-size:17px;margin-top:20px}.service-card,.service-stack .service-card{padding:26px}.service-card h3,.service-stack h3{font-size:26px}.service-card p,.service-stack p{font-size:16px}.therapy-card,.vaccine-card{min-height:414px}.therapy-card .service-button,.vaccine-card .service-button{left:26px;bottom:26px;font-size:14px}.service-card-copy p{max-width:270px}.vaccination-note{padding:24px;gap:12px}.vaccination-note p,.vaccination-note a{font-size:14px!important}.care-copy>p,.visit-intro>p{font-size:17px}.care-copy .care-lead{font-size:19px}.care-principle p{font-size:14px!important}.care-copy .button,.visit .button{font-size:14px;min-height:54px}.questions summary{font-size:16px;gap:20px}.questions details{padding-inline:22px}.answer{font-size:16px;line-height:1.8}.contact-address{font-size:28px}.contact-copy>p:not(.contact-address){font-size:16px}.contact-actions .button{font-size:14px;min-height:54px}.contact-actions{gap:24px}.contact-actions .text-link{font-size:14px!important;max-width:100px}.site-footer .brand span{font-size:12px}.site-footer>p{font-size:14px!important}dialog>p,dialog li,.checklist label{font-size:16px}}
@media(max-width:370px){.brand span{font-size:11px}.hero-actions{flex-direction:column;align-items:flex-start;gap:22px}.hero-actions .text-link{max-width:none}.hero-paw-caption{font-size:11px}.service-card,.service-stack .service-card{padding:24px}.therapy-card .service-button,.vaccine-card .service-button{left:24px}.service-card h3,.service-stack h3{font-size:24px}.questions details{padding-inline:20px}.contact-address{font-size:26px}.contact-actions{align-items:flex-start;flex-direction:column}.contact-actions .text-link{max-width:none}}
/* Buttons and their single corner paw share one fill, including hover states. */
:where(.button,.service-button){position:relative;overflow:visible}
.button,.service-button{--action-fill:var(--forest);--action-hover:var(--forest-hover);--paw-size:52px;--paw-top:-23px;--paw-right:-16px;background:var(--action-fill);border-radius:18px 22px 18px 18px}
.button,.hero-actions .button,.care-copy .button,.visit .button,.contact-actions .button{padding:17px 42px 17px 26px;min-height:58px}
.button.button-small{--paw-size:46px;--paw-top:-19px;--paw-right:-14px;padding:15px 38px 15px 24px;min-height:52px;border-radius:16px 20px 16px 16px}
.button-light{--action-fill:var(--ivory);--action-hover:var(--sage)}
.service-button{--action-fill:var(--forest);--action-hover:var(--forest-hover);--paw-size:46px;--paw-top:-20px;--paw-right:-15px;padding:15px 37px 15px 21px;min-height:52px;border-radius:16px 20px 16px 16px;color:var(--ivory)}
.diagnostic-card .service-button{--action-fill:var(--white);--action-hover:var(--ivory);color:var(--forest)}
.button:hover,.service-button:hover{--action-fill:var(--action-hover);background:var(--action-fill)}
.therapy-card,.surgery-card{--paw-edge:var(--sage)}
.vaccine-card{--paw-edge:var(--pale)}
.diagnostic-card,.visit{--paw-edge:var(--forest)}
.button::before,.button::after,.service-button::before,.service-button::after{content:"";position:absolute;top:var(--paw-top);right:var(--paw-right);width:var(--paw-size);height:var(--paw-size);transform:rotate(20deg);pointer-events:none;mask-position:center;mask-size:contain;mask-repeat:no-repeat;transition:background .2s}
.button::before,.service-button::before{background:var(--paw-edge,var(--ivory));mask-image:url('assets/button-paw-outline.svg');z-index:1}
.button::after,.service-button::after{background:var(--action-fill);mask-image:url('assets/button-paw.svg');z-index:2}
.hero-actions{column-gap:34px}
.contact-actions{gap:30px}
.service-stack p{margin-bottom:30px}
@media(min-width:681px) and (max-width:900px){.site-header{column-gap:16px}.desktop-nav{gap:14px}.button.header-action{padding-inline:18px 30px;font-size:12px;--paw-size:42px;--paw-top:-18px;--paw-right:-12px}}
@media(max-width:680px){.button{--paw-size:48px;--paw-top:-21px;--paw-right:-14px}.button,.hero-actions .button,.care-copy .button,.visit .button,.contact-actions .button{padding:16px 38px 16px 22px;min-height:56px}.service-button{--paw-size:44px;--paw-top:-19px;--paw-right:-14px;padding:14px 35px 14px 21px;min-height:52px}.hero-actions{column-gap:30px}.hero-actions .text-link{max-width:112px}.contact-actions{gap:30px}.contact-actions .text-link{max-width:90px}}
/* One continuous composition: ivory hero above a full-width green services section. */
.hero.hero-bridge{position:relative;z-index:2;min-height:620px;padding-top:28px;padding-bottom:0;overflow:visible}
.hero-bridge .hero-copy{padding-block:18px 66px}
.hero-bridge .hero-paw-scene{align-self:end;margin:0;animation:none}
.services{position:relative;z-index:1;background:var(--forest);color:var(--ivory);padding-top:72px;padding-bottom:var(--section)}
.services .section-heading{display:block;margin-bottom:44px;text-align:left}
.services .section-heading>p{max-width:650px;margin:24px 0 0;padding:0;color:var(--ivory);font-size:clamp(20px,1.7vw,24px);font-weight:500;line-height:1.6}
.services .service-card{color:var(--forest)}
.services .diagnostic-card{background:#315d50;color:var(--ivory);--paw-edge:#315d50}
.services .vaccination-note{color:var(--forest)}
.care{padding-top:var(--section)}
@media(min-width:681px) and (max-width:1050px){.hero.hero-bridge{min-height:560px;padding-top:20px}.hero-bridge .hero-copy{padding-bottom:56px}.hero-bridge .hero-paw-image{left:-23%}.services{padding-top:60px}}
@media(max-width:680px){.hero.hero-bridge{min-height:0;padding-top:22px;gap:20px}.hero-bridge .hero-copy{padding:0}.hero-bridge .hero-paw-scene{max-width:430px;aspect-ratio:1 / .8162;margin:0}.hero-bridge .hero-paw-image{width:110%;left:-5%}.services{padding-top:clamp(108px,28vw,154px);padding-bottom:66px}.services .section-heading{margin-bottom:36px}.services .section-heading>p{margin-top:22px;max-width:none}.services .service-card-copy{max-width:100%}.care{padding-top:66px}}
.contact-map{min-width:0;height:440px;overflow:hidden;border-radius:var(--radius);background:var(--sage)}
.contact-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:900px){.contact-map{height:420px}}
@media(max-width:680px){.contact-map{height:370px}}
/* Raised controls and soft surface depth use the existing ivory and forest palette. */
.button,.service-button{--action-depth:#12392e;box-shadow:inset 0 1px 0 #ffffff26,0 5px 0 var(--action-depth),0 11px 20px #102b2229;transition:background .2s,transform .2s,box-shadow .2s}
.button-light,.diagnostic-card .service-button{--action-depth:#c5cebe;box-shadow:inset 0 1px 0 #ffffffcc,0 5px 0 var(--action-depth),0 11px 20px #0e281f26}
.button:hover,.service-button:hover{box-shadow:inset 0 1px 0 #ffffff30,0 7px 0 var(--action-depth),0 15px 24px #102b2230}
.button:active,.service-button:active{transform:translateY(3px);box-shadow:inset 0 1px 0 #ffffff20,0 2px 0 var(--action-depth),0 5px 10px #102b2226}
.hero-bridge .hero-description{margin-top:26px}
.hero-bridge .hero-actions{margin-top:36px}
.hero-paw-image{filter:drop-shadow(0 17px 11px #102b2245)}
.services{background:linear-gradient(180deg,var(--forest) 0%,#1b4438 100%)}
.service-card{--card-highlight:#fffdf6b3;box-shadow:inset 0 1px 0 var(--card-highlight),0 6px 0 #0f2e2459,0 20px 36px #0c241c30;transition:transform .25s,box-shadow .25s}
.services .diagnostic-card{--card-highlight:#ffffff26}
.services-grid,.service-stack{gap:24px}
.vaccination-note{margin-top:32px;box-shadow:inset 0 1px 0 #ffffffb3,0 4px 0 #0f2e2440,0 14px 28px #0c241c26}
.care-photo>img{border:6px solid var(--white);box-shadow:0 7px 0 #dce0d3,0 24px 40px #204c401f}
.photo-note{box-shadow:0 5px 0 #cdd3c5aa,0 14px 26px #153d3230}
.questions details{box-shadow:inset 0 1px 0 #ffffff14,0 5px 12px #10271f29;transition:background .2s,box-shadow .2s}
.questions details[open]{box-shadow:inset 0 1px 0 #ffffff20,0 8px 18px #10271f38}
.contact-map{border:6px solid var(--white);box-shadow:0 7px 0 #dce0d3,0 20px 36px #204c401a}
.menu-toggle{box-shadow:inset 0 1px 0 #ffffffa6,0 3px 0 #cbd3c2,0 6px 12px #204c4014}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--card-highlight),0 9px 0 #0f2e2459,0 26px 42px #0c241c40}}
@media(max-width:680px){.hero-bridge .hero-description{margin-top:24px}.hero-bridge .hero-actions{margin-top:30px}.hero.hero-bridge{gap:32px}.services-grid,.service-stack{gap:22px}.vaccination-note{margin-top:26px}.care-photo>img,.contact-map{border-width:5px}.service-card{box-shadow:inset 0 1px 0 var(--card-highlight),0 5px 0 #0f2e2459,0 14px 24px #0c241c26}}
/* Compact spacing keeps the hero close to the header and the paws on the section seam. */
:root{--section:clamp(56px,5.5vw,88px)}
.site-header{min-height:100px}
.hero.hero-bridge{min-height:0;padding-top:0}
.hero-bridge .hero-copy{align-self:start;padding-block:48px 40px}
.services{padding-top:56px}
.services .section-heading{margin-bottom:34px}
.services .section-heading>p{margin-top:18px}
@media(min-width:680.01px) and (max-width:1050px){.hero-bridge .hero-copy{padding-block:32px}.hero-bridge .hero-paw-image{left:-23%}.services{padding-top:48px}}
@media(max-width:680px){.site-header{min-height:80px}.hero.hero-bridge{padding-top:16px;gap:24px}.hero-bridge .hero-copy{padding:0}.hero-bridge .hero-description{margin-top:22px}.hero-bridge .hero-actions{margin-top:28px}.services{padding-top:clamp(100px,27vw,144px);padding-bottom:56px}.services .section-heading{margin-bottom:30px}.services .section-heading>p{margin-top:20px}.care{padding-top:56px}}
/* White paw print on the green section, with compact, equally sized service tiles. */
.services::before{content:"";position:absolute;inset:0;background:url('assets/paw-pattern.svg') repeat;opacity:.16;pointer-events:none;mask-image:linear-gradient(110deg,transparent 5%,#000 70%)}
.services>.wrap{position:relative;z-index:1}
.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.services .service-card{display:flex;flex-direction:column;align-items:flex-start;grid-column:auto;grid-row:auto;min-height:276px;padding:28px;overflow:visible}
.services .service-card-copy{max-width:none}
.services .service-card h3{font-size:25px;padding-right:0;margin-bottom:14px}
.services .service-card p{font-size:16px;line-height:1.65;max-width:none;margin-bottom:32px}
.services .service-card .service-icon{display:none}
.services .service-card .service-button{position:relative;top:auto;bottom:auto;left:auto;right:auto;margin-top:auto;flex-shrink:0;z-index:2}
.services .vaccination-note{margin-top:28px}
@media(max-width:1150px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.services .service-card{min-height:244px}}
@media(max-width:580px){.services-grid{grid-template-columns:1fr;gap:20px}.services .service-card{min-height:0;padding:26px}.services .service-card h3{font-size:26px}.services .service-card p{margin-bottom:30px}.services .vaccination-note{margin-top:24px}.services::before{background-size:220px 204px;opacity:.18;mask-image:linear-gradient(90deg,transparent,#000 80%)}}
/* Larger copy and a smaller puppy share a compact hero, without an action row. */
.hero.hero-bridge{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}
.hero-bridge .hero-copy{align-self:center;padding-block:24px 40px}
.hero-bridge h1{font-size:clamp(48px,6vw,88px);line-height:1.06;letter-spacing:-.052em;white-space:normal}
.hero-bridge .hero-description{font-size:clamp(20px,1.65vw,24px);line-height:1.6;max-width:600px;margin-top:24px}
.hero-bridge .hero-paw-scene{max-width:540px;aspect-ratio:1 / .87556}
.hero-bridge .hero-paw-image{width:118%;left:-14%}
@media(min-width:680.01px) and (max-width:1050px){.hero.hero-bridge{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}.hero-bridge .hero-copy{padding-block:24px 32px}.hero-bridge h1{font-size:clamp(39px,5.8vw,61px)}.hero-bridge .hero-description{font-size:19px;margin-top:20px}}
@media(max-width:680px){.hero.hero-bridge{grid-template-columns:1fr;gap:18px;padding-top:14px}.hero-bridge .hero-copy{padding:0}.hero-bridge h1{font-size:clamp(38px,11vw,62px);line-height:1.07;letter-spacing:-.05em}.hero-bridge .hero-description{font-size:18px;line-height:1.65;max-width:520px;margin-top:20px}.hero-bridge .hero-paw-scene{max-width:350px;aspect-ratio:1 / .742}.hero-bridge .hero-paw-image{width:100%;left:0}.services{padding-top:clamp(96px,24vw,116px)}}
/* A readable wordmark and warm service accents. */
.site-header .brand span{font-size:clamp(20px,1.7vw,26px);font-weight:700;line-height:1.35;letter-spacing:-.45px}
.services .diagnostic-card,.services .vaccine-card{--service-orange:#e58c52;--paw-edge:var(--service-orange);--card-highlight:#ffffff60;background:var(--service-orange);color:#fff}
.services .diagnostic-card::before,.services .vaccine-card::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:url('assets/paw-pattern.svg') 10px 0/200px 185px repeat;opacity:.3;mask-image:linear-gradient(135deg,transparent 5%,#000 90%);pointer-events:none}
.services .diagnostic-card p,.services .vaccine-card p{font-weight:500}
.services .diagnostic-card .service-button,.services .vaccine-card .service-button{--action-fill:#fff;--action-hover:#fff;--action-depth:#edd8ca;color:#b85c2b}
.services .service-button{padding-inline:24px;border-radius:16px}
.services .service-button::before,.services .service-button::after{content:none;display:none}
@media(max-width:1050px){.site-header .brand span{font-size:20px}}
@media(max-width:900px){.site-header .brand span{font-size:18px}}
@media(max-width:370px){.site-header .brand span{font-size:16px;letter-spacing:-.3px}}
/* Decorative pet faces peek through the rounded lower-right corners. */
.services .service-peek{--peek-angle:-14deg;position:absolute;inset:0;z-index:1;border-radius:inherit;overflow:hidden;pointer-events:none}
.services .service-peek img{position:absolute;top:auto;left:auto;right:-18px;bottom:-16px;width:min(54%,166px,calc(100% - 130px));height:auto;max-width:none;z-index:0;object-fit:contain;transform:rotate(var(--peek-angle));transform-origin:70% 80%;filter:drop-shadow(-3px 3px 5px #204c4026);pointer-events:none}
.services .service-peek-cat{--peek-angle:-10deg}
.services .service-peek-cat img{right:-24px}
.services .surgery-card .service-peek{--peek-angle:-6deg}
.services .surgery-card .service-peek img{transform:rotate(var(--peek-angle)) scaleX(-1);transform-origin:50% 80%}
.services .service-card p{margin-bottom:48px}
@media(min-width:581px) and (max-width:1280px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Free vaccination is an independent, contrasting section between services and care. */
.vaccination-feature{--vaccination-red:#c34e43;position:relative;background:var(--vaccination-red);color:#fff;padding-block:clamp(36px,4vw,60px);box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #762c2520}
.vaccination-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}
.vaccination-label{display:inline-flex;align-items:center;gap:12px;background:#ffffff14;box-shadow:inset 0 0 0 2px #ffffffb3;border-radius:50px;padding:11px 24px;margin-bottom:20px;font-size:clamp(26px,2.3vw,34px);font-weight:800;line-height:1.25;letter-spacing:-.03em}
.vaccination-label .icon{width:30px;height:30px;stroke-width:2}
.vaccination-heading h2{font-size:clamp(34px,3.5vw,52px);line-height:1.15;letter-spacing:-.04em}
.vaccination-copy p{max-width:440px;font-size:clamp(19px,1.8vw,24px);line-height:1.6;margin-bottom:26px}
.vaccination-feature .vaccination-action{--action-fill:#fff;--action-hover:#fff;--action-depth:#e7c5bc;color:var(--vaccination-red);padding:16px 26px;min-height:56px;border-radius:18px;font-size:16px;white-space:normal;text-align:center;box-shadow:inset 0 1px 0 #fff,0 5px 0 var(--action-depth),0 11px 20px #762c2533}
.vaccination-feature .vaccination-action:hover{box-shadow:inset 0 1px 0 #fff,0 7px 0 var(--action-depth),0 15px 24px #762c2540}
.vaccination-feature .vaccination-action:active{box-shadow:inset 0 1px 0 #fff,0 2px 0 var(--action-depth),0 5px 10px #762c2533}
.vaccination-feature .vaccination-action:focus-visible{outline-color:#fff}
.vaccination-action::before,.vaccination-action::after{content:none;display:none}
#vaccination-dialog .dialog-mark{color:#c34e43}
#vaccination-dialog>p+p{margin-top:18px}
@media(max-width:680px){.vaccination-inner{grid-template-columns:1fr;gap:22px}.vaccination-label{font-size:27px;padding:10px 20px;margin-bottom:18px}.vaccination-copy p{font-size:19px;margin-bottom:22px}.vaccination-feature .vaccination-action{padding-inline:22px;font-size:15px}}
/* Open chevrons indicate each question's expanded state. */
.visit .visit-intro>p{margin-bottom:0}
.visit .questions summary{font-size:clamp(20px,1.65vw,24px);font-weight:600;line-height:1.45;gap:20px;padding-block:22px}
.visit .answer{font-size:clamp(18px,1.4vw,21px);line-height:1.7;color:var(--ivory);max-width:56ch;padding:0 0 26px}
.care-copy>p:last-child{margin-bottom:0}
.faq-chevron{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.questions details[open] .faq-chevron{transform:rotate(180deg)}
/* Phone access and a compact, fixed mobile navigation control. */
.site-header{gap:24px;z-index:50}
.desktop-nav{gap:clamp(18px,1.8vw,28px);margin-right:0}
.desktop-nav a{font-size:15px;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:30px;flex:none}
.site-header .button-small{font-size:15px}
.site-header .header-call{--action-fill:#e58c52;--action-hover:#d9773f;--action-depth:#b86435;--paw-edge:var(--ivory);color:#fff}
.site-header .header-call:hover{--action-fill:var(--action-hover)}
.phone-copy::before,.phone-copy::after{content:none;display:none}
.menu-backdrop{display:none}
.contact-phone{display:grid;gap:6px;margin-top:24px}
.contact-phone>span{font-size:15px;color:var(--muted)}
.contact-phone>a{font-size:clamp(24px,2.15vw,32px);font-weight:650;line-height:1.4;letter-spacing:-.035em;justify-self:start;white-space:nowrap}
.contact-phone>a:hover{color:var(--forest-hover);text-decoration:underline;text-underline-offset:6px}
.phone-number{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:16px;padding:14px 12px;margin:8px 0 24px;background:var(--pale);color:var(--forest);font-size:clamp(21px,4vw,29px);font-weight:650;letter-spacing:-.04em;text-align:center}
.phone-copy{padding-inline:24px;font-size:16px}
#phone-dialog .phone-copy-status{min-height:26px;margin-top:18px;font-size:15px;line-height:1.6}
@media(max-width:1100px){
  body.menu-open{overflow:hidden}
  .site-header{min-height:88px;padding-right:88px}
  .site-header .brand{min-width:0}
  .desktop-nav,.header-actions{display:none}
  .site-header .menu-toggle{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:102;display:flex;width:48px;height:48px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0;border:0;border-radius:16px;background:transparent;box-shadow:none;color:var(--forest);transition:color .2s,background .2s}
  .site-header .menu-toggle span{display:block;width:24px;height:2px;border-radius:2px;background:currentColor;transform:none;transition:transform .2s}
  .site-header .menu-toggle.is-on-dark{color:var(--ivory)}
  .site-header .menu-toggle[aria-expanded=true]{color:var(--ivory);background:#ffffff12}
  .site-header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:100;background:#10271f66;backdrop-filter:blur(5px)}
  .mobile-menu:not([hidden]){display:flex;flex-direction:column;position:fixed;inset:auto;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));left:12px;z-index:101;max-width:440px;max-height:calc(100dvh - 24px);margin-left:auto;overflow:auto;overscroll-behavior:contain;padding:26px;background:var(--forest);color:var(--ivory);border:1px solid #ffffff29;border-radius:26px;box-shadow:inset 0 1px 0 #ffffff12,0 8px 0 #12392e,0 24px 60px #10271f55}
  .mobile-menu-caption{font-size:14px;font-weight:650;color:#f1ab79;padding-right:44px;margin-bottom:24px;line-height:1.6}
  .mobile-menu-links{display:flex;flex-direction:column}
  .mobile-menu .mobile-menu-links a{padding:15px 0;border-bottom:1px solid #ffffff24;font-size:clamp(21px,5.6vw,27px);font-weight:550;line-height:1.35;letter-spacing:-.025em}
  .mobile-menu .mobile-menu-links a:first-child{padding-top:0}
  .mobile-menu .mobile-menu-links a:hover{color:#f1ab79}
  .mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;padding-bottom:7px}
  .mobile-menu .menu-action{min-height:52px;padding:14px 12px;border-radius:16px;font-size:14px;font-weight:700;line-height:1.4;white-space:normal;text-align:center}
  .mobile-menu .menu-call{--action-fill:var(--ivory);--action-hover:#fff;--action-depth:#cbd3c2;color:var(--forest)}
  .mobile-menu .menu-directions{--action-fill:transparent;--action-hover:#ffffff14;color:var(--ivory);border:1px solid #ffffff70;box-shadow:none}
  .mobile-menu .menu-action::before,.mobile-menu .menu-action::after{content:none;display:none}
}
@media(max-width:370px){.site-header{padding-right:72px}.mobile-menu:not([hidden]){padding:24px 20px}.mobile-menu-actions{gap:10px}.mobile-menu .menu-action{font-size:13px;padding-inline:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.service-card:hover{transform:none}}

