/* Broadway Vet V3 — official sand-gold / taupe palette. 2026-10-20 */
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&family=Ma+Shan+Zheng&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');
:root{--pine:#6C5543;--pine-deep:#5B4D43;--pine-black:#443328;--pine-light:#9E8A70;--sage:#E9DED0;--sage-soft:#F5EFE7;--cream:#FAF7F2;--ivory:#FFFDF9;--paper:#F3EBE1;--sand:#E8DCCC;--sand-dark:#B69E80;--peach:#E7D0B9;--peach-soft:#F8EADA;--ink:#332B27;--muted:#72685E;--line:#E5DAD0;--white:#fff;--display:'DM Serif Display',Georgia,'Noto Serif SC',serif;--body:'DM Sans','Noto Sans SC',system-ui,-apple-system,sans-serif;--radius:16px;--container:1180px;--shadow:0 18px 54px rgba(68,51,40,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--body);font-size:15px;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden}body[data-lang=zh]{letter-spacing:.005em}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}a,button{transition:color .2s,background .2s,border .2s,transform .2s}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ae9a79;outline-offset:3px}svg{display:block;flex-shrink:0}img{display:block;max-width:100%}.is-broken{display:none!important}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{letter-spacing:-.035em}p{margin:0 0 1em}strong,b{font-weight:700}.container{width:min(var(--container),calc(100% - 72px));margin:0 auto}.eyebrow{display:block;color:var(--pine-light);font-size:11px;letter-spacing:.21em;text-transform:uppercase;font-weight:700;line-height:1.6;margin-bottom:16px}body[data-lang=zh] .eyebrow{letter-spacing:.15em}.section{padding:100px 0}.section-heading{max-width:650px;margin-bottom:39px}.section-heading h2,.line-heading h2{font-family:var(--display);font-size:clamp(38px,4.2vw,58px);line-height:1.13;color:var(--pine-deep);margin:0 0 17px}.section-heading p{color:var(--muted);font-size:16px;line-height:1.85;max-width:610px}.section-end{text-align:center;margin-top:42px}.text-link{display:inline-flex;align-items:center;gap:11px;color:var(--pine);font-size:13px;font-weight:700;padding-bottom:5px;border-bottom:1px solid currentColor}.text-link svg{width:20px}.text-link:hover{gap:18px;color:#a57d5f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:49px;padding:12px 22px;border-radius:100px;font-weight:700;font-size:12px;letter-spacing:.01em;line-height:1.2;white-space:nowrap;border:1px solid var(--pine);cursor:pointer;box-shadow:none}.btn .btn-arrow svg{width:16px;height:16px}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--pine);border-color:var(--pine);color:#fff}.btn--primary:hover{background:var(--pine-deep);border-color:var(--pine-deep)}.btn--light{background:var(--ivory);color:var(--pine);border-color:var(--ivory)}.btn--light:hover{background:var(--sage)}.btn--outline-light{color:#fff;border:1px solid rgba(255,255,255,.52);background:transparent}.btn--outline-light:hover{background:rgba(255,255,255,.12)}.btn--outline{color:var(--pine);background:transparent;border-color:#CBB9A7}.btn--outline:hover{background:var(--sage-soft)}
.skip-link{position:absolute;z-index:1000;left:15px;top:-80px;background:#fff;padding:10px 20px}.skip-link:focus{top:12px}.announcement{background:var(--pine-deep);color:#e9e9df;height:32px}.announcement-inner{height:100%;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;letter-spacing:.07em}.announcement-inner>span,.announcement-inner>a{display:flex;align-items:center;gap:8px}.announcement-inner svg{color:#cab298}.announcement-inner i{width:3px;height:3px;background:#bb9c82;border-radius:50%;margin:0 9px}.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,241,.97);border-bottom:1px solid #eae9e1;backdrop-filter:blur(14px)}.header-inner{height:86px;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-logo{width:51px;height:54px;display:flex;align-items:center;justify-content:center}.brand-logo img{max-height:54px;max-width:57px;object-fit:contain}.brand-name{display:flex;flex-direction:column;line-height:1.12;letter-spacing:.055em;font-size:16px;font-weight:700;color:var(--pine-deep)}.brand-name>b{display:inline;font-size:15px;font-weight:700}.brand-name small{font-size:8px;font-weight:600;letter-spacing:.16em;color:#9a8a77;margin-top:6px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.6vw,26px);height:100%;flex:1}.desktop-nav>a,.nav-dropdown>a{font-size:12px;font-weight:700;color:#625245;white-space:nowrap}.desktop-nav>a:hover,.nav-dropdown>a:hover{color:#af8d67}.caret{font-size:14px;vertical-align:2px;margin-left:3px}.nav-dropdown{position:relative;height:100%;display:flex;align-items:center}.dropdown-panel{position:absolute;top:calc(100% - 4px);left:-100px;min-width:505px;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:19px;background:#fffdf8;border:1px solid #ece8dd;border-radius:0 0 18px 18px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(9px);transition:.2s ease}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;transform:none}.dropdown-panel a{display:flex;align-items:center;gap:12px;padding:12px 10px;color:var(--pine);font-size:12px;border-radius:9px;line-height:1.3}.dropdown-panel a:hover{background:var(--sage-soft)}.dropdown-panel .menu-intro{grid-column:span 2;font-weight:700;background:#F5EFE7;justify-content:space-between}.dropdown-panel .menu-intro svg{width:16px}.nav-small-icon{width:27px;height:27px;border-radius:7px;background:var(--sage-soft);display:grid;place-items:center;color:var(--pine)}.header-actions{display:flex;align-items:center;gap:12px}.header-book{font-size:11px;min-height:42px;padding:9px 15px;gap:10px}.header-book .btn-arrow svg{width:14px}.lang-switch{padding:7px 6px;font-weight:700;font-size:12px;color:var(--pine)}.menu-toggle{display:none;width:42px;height:42px;background:transparent;border:1px solid #D8CABC;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer}.menu-toggle span{width:18px;height:1.7px;background:var(--pine);border-radius:3px;transition:.25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(5.6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-5.6px) rotate(-45deg)}.mobile-nav{display:none}
.hero{position:relative;overflow:hidden;color:#fff;background:var(--pine);min-height:650px}.hero-grid{min-height:645px;display:grid;grid-template-columns:1.04fr 1fr;gap:35px;align-items:center;position:relative;z-index:2}.hero-ambient{position:absolute;border-radius:50%;pointer-events:none}.hero-ambient-1{width:700px;height:700px;background:rgba(197,211,181,.06);left:-400px;top:-450px}.hero-ambient-2{width:480px;height:480px;background:rgba(207,191,149,.05);right:-230px;bottom:-320px}.hero-copy{padding:55px 0 88px}.hero-kicker{color:#e9dac8;display:flex;align-items:center;gap:13px;font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;margin-bottom:25px}.hero-kicker .kicker-line{width:30px;height:1px;background:#D4B291}.hero-kicker .dot{width:4px;height:4px;border-radius:50%;background:#cfc1ad}.hero h1{font-family:var(--display);font-size:clamp(57px,5.4vw,78px);line-height:1.06;margin:0 0 26px;max-width:615px;letter-spacing:-.045em}.hero h1 em{display:block;font-style:italic;font-weight:400;color:#e7cdb9}.hero-divider{height:1px;width:58px;background:#d5a889;margin:0 0 26px}.hero-description{font-size:15px;line-height:1.9;color:#F4ECE4;max-width:455px;margin-bottom:28px}.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hero-mantra{display:flex;align-items:center;gap:13px;margin-top:60px;max-width:465px}.mantra-icon{height:40px;width:40px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.42);color:#dbc0a6}.hero-mantra>div{display:flex;flex-direction:column;gap:0}.hero-mantra strong{font-size:12px;font-weight:500;letter-spacing:.035em}.hero-mantra span:not(.mantra-icon){font-size:11px;color:#E8DDD1}.hero-art{height:100%;min-height:650px;position:relative;display:flex;align-items:center;justify-content:center}.hero-image-shell{width:90%;height:455px;max-width:505px;position:relative;transform:rotate(2.5deg);background:#e9ddcd;overflow:hidden;border-radius:260px 260px 40px 40px;box-shadow:26px 24px 0 rgba(51,38,31,.18);isolation:isolate}.hero-image-shell:after{content:'';position:absolute;inset:0;border:8px solid rgba(255,255,255,.06);border-radius:inherit;pointer-events:none}.hero-pets,.hero-fallback{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}.hero-pets{z-index:2}.hero-fallback{z-index:1;object-fit:contain;padding:28px 5px 0;background:#e6dac7}.hero-circle-stamp{position:absolute;right:0;top:100px;width:116px;height:116px;border-radius:50%;background:var(--peach);color:var(--pine);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;transform:rotate(8deg);z-index:5;box-shadow:0 10px 45px rgba(0,0,0,.09)}.hero-circle-stamp span{text-align:center;font-size:10px;font-weight:800;line-height:1.34;letter-spacing:.1em}.hero-arch{position:absolute;width:350px;height:350px;border:1px solid rgba(232,213,190,.19);border-radius:50%;right:-160px;bottom:-90px;z-index:-1}.hero-pebble{width:50px;height:50px;position:absolute;left:4%;bottom:110px;background:#e6b89d;border-radius:51% 49% 39% 61%;opacity:.85}.hero-bottom-curve{position:absolute;bottom:-34px;left:-4%;height:60px;width:108%;border-radius:50% 50% 0 0;background:var(--cream);z-index:3}.benefits{position:relative;margin-top:-1px;background:var(--cream);padding:22px 0 6px}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #E4DBD1;padding-bottom:25px}.benefits-grid>div{display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px;font-weight:700;color:var(--pine);padding:9px 20px}.benefits-grid>div:not(:first-child){border-left:1px solid #dedfd3}.benefits-grid svg{color:#a79477}
.services-section{padding-top:92px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{display:flex;flex-direction:column;background:var(--ivory);border:1px solid #eeeae0;border-radius:13px;overflow:hidden;box-shadow:0 8px 26px rgba(45,67,49,.035);min-width:0}.service-card:hover{transform:translateY(-7px);box-shadow:0 26px 45px rgba(45,67,49,.095);border-color:#DACEBF}.service-card-image{position:relative;height:196px;overflow:hidden;background:#E6DBCE}.service-card-image--diagnostics{background:#E8DFD2}.service-card-image--dentistry{background:#F0DFD0}.service-card-image--surgery{background:#e8dcd0}.service-card-image--ongoing{background:#E9DFCF}.service-card-image--additional{background:#eadfd1}.service-card-photo{width:100%;height:100%;object-fit:cover;opacity:.83;filter:saturate(.75);mix-blend-mode:multiply;transition:transform .65s ease,opacity .3s}.service-card:hover .service-card-photo{transform:scale(1.06);opacity:.62}.service-card-image--surgery .service-card-photo{object-position:center 40%}.service-card-image--dentistry .service-card-photo{object-position:center 45%}.service-card-image--ongoing .service-card-photo{object-position:center 50%}.service-card-image--additional .service-card-photo{object-position:center 60%}.service-card-graphic{position:absolute;z-index:3;right:22px;bottom:-15px;width:91px;height:91px;border-radius:50%;background:rgba(255,253,248,.9);display:grid;place-items:center;color:var(--pine);box-shadow:0 8px 21px rgba(29,65,41,.08)}.service-number{position:absolute;z-index:4;left:22px;top:18px;color:var(--pine-deep);background:rgba(251,248,241,.94);font-size:10px;font-weight:700;letter-spacing:.14em;border-radius:30px;padding:5px 11px}.service-card-body{flex:1;padding:32px 27px 27px;display:flex;flex-direction:column}.service-card .eyebrow{margin-bottom:10px;font-size:9.5px}.service-card h3{font-family:var(--display);font-size:27px;line-height:1.23;color:var(--pine-deep);margin:0 0 12px;letter-spacing:-.018em}.service-card p{color:var(--muted);line-height:1.72;font-size:13px;margin-bottom:22px}.card-more{font-size:12px;font-weight:700;color:var(--pine);display:flex;align-items:center;gap:9px;margin-top:auto}.card-more svg{width:19px;height:19px}.clinic-section{background:#F3ECE4;padding:107px 0 120px;overflow:hidden}.clinic-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:11%;align-items:center}.clinic-collage{position:relative;height:480px}.clinic-image-main{width:79%;height:400px;background:#DDD0C0;border-radius:230px 230px 24px 24px;overflow:hidden;position:relative;box-shadow:17px 18px 0 #E4D6C6}.clinic-original{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.clinic-fallback{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.clinic-image-mini{position:absolute;right:0;bottom:-2px;width:42%;height:233px;overflow:hidden;border:9px solid #F3ECE4;border-radius:120px 120px 12px 12px;background:#DCCFC0}.clinic-image-mini img{width:100%;height:100%;object-fit:cover}.collage-accent{position:absolute;bottom:10px;left:5%;width:74px;height:74px;border-radius:50%;background:#eacdb4;display:grid;place-items:center;color:var(--pine)}.clinic-copy .section-heading{margin-bottom:25px}.clinic-copy .section-heading h2{max-width:460px}.check-list{display:flex;flex-direction:column;gap:14px;margin-bottom:32px;font-size:13px;color:#48574d}.check-list>div{display:flex;align-items:center;gap:12px}.check-list svg{background:#E8DDCF;border-radius:50%;padding:2px;color:var(--pine)}
.values-section{background:var(--ivory)}.values-grid{display:grid;grid-template-columns:.95fr 1fr;gap:13%;align-items:center}.values-left .section-heading{margin-bottom:25px}.value-steps{border-left:1px solid #e4e4db}.value-steps>div{display:grid;grid-template-columns:40px 55px 1fr;gap:19px;padding:25px 10px 25px 27px;align-items:start}.value-steps>div:not(:last-child){border-bottom:1px solid #ECE5DC}.step-num{font-size:11px;font-weight:700;color:#a8aa9e;margin-top:13px}.step-icon{color:var(--pine);width:46px;height:46px;border-radius:50%;background:#EEE3D7;display:grid;place-items:center}.value-steps h3{font-family:var(--display);font-size:23px;line-height:1.25;color:var(--pine);margin:2px 0 6px}.value-steps p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}
.packages-section{background:#f2e9dd}.packages-top{display:flex;align-items:end;justify-content:space-between;gap:30px}.packages-top .section-heading{margin-bottom:32px}.packages-top .text-link{margin-bottom:43px}.package-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.package-card{background:rgba(255,255,255,.66);border:1px solid #e3d4c2;border-radius:12px;padding:25px 20px;min-height:218px;display:flex;flex-direction:column}.package-card.featured{background:var(--pine);color:#fff;border-color:var(--pine);transform:translateY(-7px)}.package-index{font-size:10px;font-weight:700;letter-spacing:.14em;color:#a08469}.featured .package-index{color:#d6c5ac}.package-card h3{font-size:16px;font-weight:700;line-height:1.35;letter-spacing:0;margin:14px 0 auto;min-height:45px;color:var(--pine-deep)}.package-card.featured h3{color:#fff}.package-price{font-family:var(--display);font-size:40px;letter-spacing:-.05em;color:var(--pine);line-height:1;margin:17px 0 11px}.package-price span{font-family:var(--body);font-size:12px;vertical-align:8px;margin-right:2px;letter-spacing:0}.featured .package-price{color:#fff}.package-small{font-size:10px;line-height:1.45;color:#91897f}.featured .package-small{color:#D9CEBF}.package-note{font-size:11px;color:#817263;display:flex;align-items:flex-start;gap:8px;margin:22px 0 0}.package-note svg{flex-shrink:0;margin-top:2px}.journal-section{background:var(--cream)}.line-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:35px}.line-heading h2{margin-bottom:0}.journal-preview,.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.story-card{min-width:0}.story-card-image{height:235px;position:relative;background:#e6d7c5;border-radius:9px;overflow:hidden;margin-bottom:21px}.story-card:nth-child(2) .story-card-image{background:#E5D8C9}.story-card:nth-child(3) .story-card-image{background:#e4dec6}.story-card-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .5s}.story-card-image .story-fallback{object-fit:contain;padding:12px;opacity:.95}.story-card:hover .story-photo{transform:scale(1.06)}.story-meta{font-size:10px;font-weight:700;letter-spacing:.12em;color:#9c8975;text-transform:uppercase;display:flex;align-items:center;gap:11px;margin:0 0 10px}.story-meta span{width:4px;height:4px;background:#bca88d;border-radius:50%}.story-card h3{font-family:var(--display);font-size:25px;line-height:1.2;color:var(--pine);margin:0 0 10px}.story-card p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:15px}.story-more{font-size:12px;font-weight:700;color:var(--pine);display:inline-flex;align-items:center;gap:9px}.story-more svg{width:17px;height:17px}.action-band{background:var(--pine);color:#fff;position:relative;overflow:hidden}.action-band:before{content:'';position:absolute;height:450px;width:450px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-160px;top:-150px}.action-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:56px 0}.action-band .eyebrow{color:#cfbda6}.action-band h2{font-family:var(--display);font-size:clamp(32px,3.6vw,48px);line-height:1.1;letter-spacing:-.02em;margin:0 0 10px}.action-band p{font-size:13px;color:#E4D7C7;margin:0}.action-buttons{display:flex;gap:10px;align-items:center;flex-shrink:0}
.site-footer{background:var(--pine-black);color:#f1f1e7;padding:73px 0 20px}.footer-top{display:grid;grid-template-columns:1.7fr .8fr 1fr 1.15fr;gap:6%;padding-bottom:65px}.footer-brand .eyebrow{color:#d0b599}.footer-brand h2{font-family:var(--display);font-size:36px;letter-spacing:-.025em;line-height:1.1;max-width:340px;margin:0 0 5px}.footer-zh{font-size:13px;font-weight:500;color:#d8bfa3;margin:7px 0 22px}.footer-brand>p:last-of-type{color:#D9CFC5;font-size:12px;line-height:1.8;max-width:270px}.footer-col h3{color:#e9ceb6;font-weight:700;font-size:12px;letter-spacing:.08em;margin:0 0 20px}.footer-col>a{display:block;color:#E6DBD0;font-size:12px;line-height:1.8;margin:0 0 10px}.footer-col>a:hover{color:#e8c3a1}.socials{display:flex;gap:16px;font-size:11px;font-weight:700;color:#eacdb3;margin-top:27px}.socials a:hover{color:white}.hour-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#E6DBD0;font-size:10.5px;padding:4px 0}.hour-line b{font-weight:500}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid rgba(255,255,255,.12);padding:20px 0 0;font-size:10px;color:#becbbd}.footer-bottom a{display:inline-flex;align-items:center;gap:6px;color:#e5d0be}.footer-bottom a svg{width:15px;height:15px}.mobile-fixed-cta{display:none}
.page-hero{background:#F2ECE4;padding:83px 0 88px;position:relative;overflow:hidden}.page-hero:before{content:'';width:570px;height:570px;border-radius:50%;background:rgba(193,213,186,.2);position:absolute;right:-200px;top:-300px}.page-hero-text{position:relative;z-index:2;max-width:745px}.page-hero .eyebrow{margin-bottom:22px}.page-hero h1{font-family:var(--display);font-size:clamp(46px,5.2vw,73px);line-height:1.07;letter-spacing:-.037em;margin:0 0 24px;color:var(--pine-deep)}.page-hero p{font-size:16px;color:#637366;line-height:1.9;max-width:590px;margin:0}.page-hero--simple{min-height:315px}.page-hero--service,.page-hero--booking,.page-hero--about{padding:68px 0}.page-hero-grid{display:grid;grid-template-columns:1.05fr .72fr;gap:10%;align-items:center}.page-hero-grid .page-hero-text{max-width:660px}.page-hero-grid h1{font-size:clamp(44px,4.7vw,67px)}.page-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}.page-hero-photo{position:relative;width:100%;height:330px;overflow:hidden;background:#cfdbca;border-radius:180px 180px 14px 14px;box-shadow:16px 18px 0 rgba(52,94,69,.14)}.page-hero-photo .photo-main{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.breadcrumbs{display:flex;gap:10px;align-items:center;color:#7c877d;font-size:11px;font-weight:600;padding:26px 0}.breadcrumbs>a:hover{color:var(--pine)}.fees-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:center;background:var(--pine);color:white;padding:25px 31px;border-radius:13px}.fees-bar>div{display:flex;align-items:center;gap:16px}.fees-bar>div span{display:flex;flex-direction:column;font-size:11px;color:#d2e0d3}.fees-bar strong{font-size:12px}.fees-bar b{font-family:var(--display);font-weight:400;font-size:26px;color:#fff}.fees-bar .text-link{color:#eecdb5}.fees-fine{font-size:11px;color:#778376;margin:12px 0 37px}.services-overview-grid{margin-top:0}.detail-section{padding-top:45px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10%;align-items:start}.detail-main .section-heading h2{font-size:clamp(31px,3.8vw,47px)}.detail-main .section-heading{margin-bottom:15px}.detail-items{margin-top:25px}.detail-item{display:grid;grid-template-columns:53px 1fr;gap:14px;padding:26px 0;border-bottom:1px solid #e0e4da}.item-number{font-family:var(--display);font-size:25px;color:#acbdab}.detail-item h3{font-size:19px;font-weight:700;line-height:1.3;color:var(--pine);margin:0 0 8px}.detail-item p{color:#68756d;font-size:14px;line-height:1.85;max-width:620px;margin:0}.detail-sidebar{position:sticky;top:113px}.sidebar-card{border-radius:13px;padding:31px;background:#edf2e9}.sidebar-card h3{font-family:var(--display);font-size:31px;color:var(--pine);line-height:1.2;margin:0 0 15px}.sidebar-card p{font-size:13px;color:#657363;line-height:1.8;margin-bottom:23px}.sidebar-card .btn{width:100%;justify-content:space-between}.side-phone{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;color:var(--pine);font-size:13px;font-weight:700}.sidebar-other{padding:25px 6px 0}.sidebar-other h4{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#969e92;margin:0 0 13px}.sidebar-other>a{padding:12px 0;display:flex;justify-content:space-between;align-items:center;gap:11px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;color:var(--pine);line-height:1.4}.sidebar-other>a:hover{color:#b28e70}.sidebar-other>a svg{width:16px}.highlight-note{display:flex;align-items:flex-start;gap:16px;background:#e7eee5;border-left:3px solid #90a890;padding:23px;margin-top:29px}.highlight-note>svg{color:var(--pine)}.highlight-note h3{font-size:16px;font-weight:700;color:var(--pine);margin-bottom:5px}.highlight-note p{font-size:12px;line-height:1.8;color:#697467;margin:0}
.about-content{background:var(--ivory)}.about-split{display:grid;grid-template-columns:1fr 1.12fr;gap:12%;align-items:start}.about-split h2{font-family:var(--display);font-size:clamp(42px,4.7vw,62px);line-height:1.12;color:var(--pine);margin:0 0 13px}.about-split h3{font-size:20px;font-weight:500;color:#ae9376;margin:0 0 30px}.about-seal{display:flex;align-items:center;gap:15px;color:#8c917d;font-size:12px}.about-seal svg{color:var(--pine)}.about-narrative p{font-size:16px;color:#606e64;line-height:2;margin-bottom:23px}.people-band{background:#F2ECE4}.people-grid{display:grid;grid-template-columns:.83fr 1fr;gap:12%;align-items:center}.people-photo{position:relative;height:470px;background:#d6decf;border-radius:270px 270px 16px 16px;overflow:hidden}.people-photo .photo-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about-facilities{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px}.about-facilities span{display:flex;gap:6px;align-items:center;padding:6px 13px;border:1px solid #cdd8cb;color:var(--pine);border-radius:30px;font-size:11px}.partners{background:var(--ivory)}.partner-list{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.partner-list span{background:#f4f6f0;color:#607365;text-align:center;padding:22px 15px;border:1px solid #e2e7dd;border-radius:10px;font-family:var(--display);font-size:23px}.partner-fine{font-size:10px;line-height:1.6;margin-top:20px;color:#919b91}
.two-col{display:grid;grid-template-columns:1.1fr .85fr;gap:12%;align-items:start}.booking-main{background:var(--ivory)}.numbered-steps{list-style:none;padding:0;margin:0}.numbered-steps li{display:flex;align-items:center;gap:20px;border-bottom:1px solid #e1e5dd;padding:17px 0}.numbered-steps li span{flex:none;width:42px;height:42px;border-radius:50%;background:#F0E5D8;display:grid;place-items:center;color:var(--pine);font-family:var(--display);font-size:20px}.numbered-steps li p{margin:0;color:#58685d;font-size:14px}.booking-prices{background:#F4ECE3;padding:40px 34px;border-radius:13px}.booking-prices h2{font-family:var(--display);font-size:37px;line-height:1.15;color:var(--pine);margin:0 0 30px}.fee-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #d9e1d3;padding:18px 0;color:var(--pine)}.fee-row>div{font-size:14px;font-weight:700}.fee-row small{display:block;font-size:10px;color:#849384;font-weight:500}.fee-row b{font-family:var(--display);font-size:26px;font-weight:400;white-space:nowrap}.booking-prices>p{font-size:11px;line-height:1.8;color:#7d897d;margin-top:17px}.booking-prices .urgent-note{display:flex;gap:9px;color:#8b634e;background:#fffaf2;padding:13px;border-radius:7px}.booking-prices .btn{width:100%;margin-top:10px;justify-content:space-between}
.contact-section{background:var(--ivory)}.contact-grid{display:grid;grid-template-columns:.83fr 1.1fr;gap:12%}.contact-card{padding:0 0 31px;margin-bottom:27px;border-bottom:1px solid var(--line)}.contact-icon{color:var(--pine);width:49px;height:49px;background:#e8efe7;border-radius:50%;display:grid;place-items:center;margin-bottom:16px}.contact-card h2{font-family:var(--display);color:var(--pine);font-size:30px;margin:0 0 6px}.contact-card p{font-size:14px;color:#677568;line-height:1.7;margin:0 0 14px}.contact-card .contact-small{font-size:11px;color:#9b7766}.contact-hours{background:#F5EFE7;border-radius:12px;padding:25px 24px}.contact-hour{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:#687668;padding:7px 0}.contact-hour strong{color:var(--pine);font-weight:600}.contact-form-panel{padding:37px 42px;border-radius:13px;background:#f5f1e8}.contact-form-panel h2{font-family:var(--display);font-size:41px;line-height:1.16;color:var(--pine);margin:0 0 9px}.contact-form-panel>p{font-size:13px;color:#667367;margin-bottom:23px}.contact-form-panel form{display:flex;flex-direction:column;gap:15px}.contact-form-panel label{font-size:11px;font-weight:700;color:var(--pine);display:flex;flex-direction:column;gap:6px}.contact-form-panel .form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form-panel input,.contact-form-panel textarea,.contact-form-panel select{width:100%;padding:12px 13px;border:1px solid #d7dcd0;border-radius:6px;background:#fffefa;color:var(--ink);font-size:13px;outline-color:#a5b9a3}.contact-form-panel textarea{resize:vertical;min-height:120px}.contact-form-panel button{margin-top:6px;align-self:flex-start}.contact-form-panel .form-small{font-size:11px;color:#879287;line-height:1.5;margin:0}.wechat-section{display:flex;align-items:center;gap:15px;border-top:1px solid #e0ddcf;margin-top:25px;padding-top:20px}.wechat-img{width:90px;height:90px;object-fit:contain;background:#fff}.wechat-section p{font-size:12px;color:#69766b;margin:0}.map-section{padding:60px 0 100px;background:var(--cream)}.map-and-parking{display:grid;grid-template-columns:1.35fr .7fr;gap:25px}.map-wrap{height:365px;background:#e2e9dd;position:relative;border-radius:11px;overflow:hidden}.map-wrap iframe{border:0;width:100%;height:100%;position:relative;z-index:2}.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--pine);z-index:1;text-align:center}.map-fallback h3{font-family:var(--display);font-size:27px;margin:0}.map-fallback p{font-size:12px;color:var(--muted);margin:0}.parking-details{border-radius:10px;background:var(--sage-soft);padding:30px}.parking-details>svg{color:var(--pine);margin-bottom:15px}.parking-details h3{font-family:var(--display);font-size:29px;line-height:1.2;color:var(--pine);margin-bottom:13px}.parking-details p{font-size:12px;color:#68776b;line-height:1.85}.parking-lines{font-size:11px;font-weight:600;color:var(--pine);margin-top:19px}.parking-lines div{padding:8px 0;border-bottom:1px solid #d8e1d6}
.story-grid{row-gap:55px}.article-hero{padding:75px 0 65px;background:#F2ECE4}.article-hero .container{max-width:820px}.article-crumb{padding:0 0 36px}.article-hero h1{font-family:var(--display);font-size:clamp(44px,5.3vw,71px);line-height:1.12;color:var(--pine);margin:8px 0 23px}.article-hero p{font-size:17px;color:#718076;max-width:690px;line-height:1.8;margin:0}.article-body-section{background:var(--ivory)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:11%;align-items:start}.article-cover{height:330px;position:relative;background:#e0e7d8;border-radius:10px;overflow:hidden;margin-bottom:45px}.article-cover .photo-main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.article-body section{padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid #ebeee7}.article-body section h2{font-family:var(--display);font-size:27px;color:var(--pine);line-height:1.27;margin-bottom:13px}.article-body section p{font-size:15px;color:#67776b;line-height:1.96;margin-bottom:17px}.article-disclaimer{display:flex;align-items:flex-start;gap:12px;padding:19px 21px;border-radius:9px;background:#edf3eb;color:#637166;font-size:12px;line-height:1.75;margin:22px 0 30px}.article-disclaimer svg{color:var(--pine)}.article-actions{display:flex;gap:22px;flex-wrap:wrap;align-items:center}.article-actions .text-link{margin-left:8px}.notfound{text-align:center;min-height:55vh;display:flex;align-items:center}.notfound h1{font-family:var(--display);color:var(--pine);font-size:58px}.notfound p{max-width:430px;margin:0 auto 25px;color:var(--muted)}.notfound .btn{margin:5px}
@media (max-width:1160px){.container{width:min(var(--container),calc(100% - 48px))}.desktop-nav{gap:12px}.desktop-nav>a,.nav-dropdown>a{font-size:11px}.header-actions{gap:5px}.header-book{padding:10px}.brand-logo{width:42px}.brand-name{font-size:14px}.hero h1{font-size:63px}.hero-image-shell{height:425px}.hero-circle-stamp{right:-10px}.footer-top{gap:3%}.package-card{padding:23px 14px}}
@media (max-width:930px){.desktop-nav{display:none}.header-inner{height:75px}.menu-toggle{display:flex}.mobile-nav{position:absolute;top:100%;left:0;right:0;z-index:51;background:var(--cream);box-shadow:0 15px 30px #2d503c1a;display:none;padding:10px 24px 25px;max-height:calc(100svh - 110px);overflow-y:auto;border-top:1px solid #e6e8df}.mobile-nav.is-open{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.mobile-nav>a{display:flex;align-items:center;gap:12px;font-size:13px;padding:12px;color:var(--pine);border-bottom:1px solid #E8DDD3}.mobile-nav .nav-small-icon{display:none}.mobile-nav .btn{grid-column:span 2;justify-content:space-between;margin-top:10px;color:#fff}.header-book{margin-right:10px}.hero-grid{grid-template-columns:1fr 1fr;gap:7px}.hero h1{font-size:clamp(45px,6vw,65px)}.hero-copy{padding-bottom:100px}.hero-image-shell{height:370px;width:92%}.hero-art{min-height:570px}.hero-mantra{margin-top:34px}.hero-circle-stamp{width:95px;height:95px;right:-11px;top:140px}.hero-circle-stamp span{font-size:8px}.services-grid{grid-template-columns:repeat(2,1fr)}.clinic-grid{gap:8%}.clinic-collage{height:390px}.clinic-image-main{height:340px}.clinic-image-mini{height:190px}.values-grid{gap:7%}.package-grid{grid-template-columns:repeat(3,1fr)}.package-card.featured{transform:none}.package-card{min-height:195px}.package-grid .package-card:nth-child(n+4){grid-column:span 1}.journal-preview,.story-grid{grid-template-columns:repeat(2,1fr)}.journal-preview .story-card:last-child{display:none}.footer-top{grid-template-columns:1.4fr 1fr;gap:50px 65px}.detail-layout,.article-layout{grid-template-columns:minmax(0,1fr) 260px;gap:5%}.page-hero-grid{gap:6%}.page-hero-photo{height:270px}.about-split{gap:7%}.contact-grid{gap:6%}}
@media (max-width:680px){body{font-size:14px;padding-bottom:62px}.container{width:calc(100% - 36px)}.announcement{height:30px}.announcement-inner{font-size:9px;letter-spacing:0}.announcement-inner>span{gap:6px}.announcement-inner i,.announcement-inner>span svg:nth-of-type(2){display:none}.announcement-inner a{white-space:nowrap}.site-header{top:0}.header-inner{height:66px;gap:6px}.brand{gap:5px}.brand-logo{width:38px;height:43px}.brand-logo img{max-height:43px;max-width:39px}.brand-name{font-size:11.5px}.brand-name>b{font-size:11.5px}.brand-name small{font-size:6.4px;letter-spacing:.13em}.header-book{display:none}.lang-switch{font-size:12px;margin-right:4px}.menu-toggle{height:40px;width:40px}.mobile-nav.is-open{grid-template-columns:1fr}.mobile-nav .btn{grid-column:span 1}.mobile-nav>a{padding:10px 2px;font-size:12px}.hero{min-height:0}.hero-grid{display:flex;flex-direction:column;gap:0;min-height:0}.hero-copy{padding:53px 0 0;width:100%}.hero-kicker{font-size:9px;letter-spacing:.12em;margin-bottom:22px}.hero h1{font-size:clamp(46px,11.2vw,69px);line-height:1.08;margin-bottom:20px}.hero-description{font-size:13px;line-height:1.8;max-width:550px;margin-bottom:23px}.hero-actions{gap:9px}.hero-actions .btn{padding:11px 18px;min-height:46px}.hero-mantra{margin-top:30px}.hero-mantra strong{font-size:11px}.hero-art{min-height:365px;width:100%;height:365px;align-items:flex-start;padding-top:10px}.hero-image-shell{width:78%;height:312px;max-width:380px;margin-left:0;border-radius:190px 190px 23px 23px;transform:rotate(2deg)}.hero-circle-stamp{top:45px;right:4%;width:89px;height:89px}.hero-pebble{bottom:44px;left:5%;width:32px;height:32px}.hero-bottom-curve{bottom:-29px;height:45px}.benefits{padding:13px 0 0}.benefits-grid{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:18px}.benefits-grid>div{padding:8px 7px;justify-content:start;gap:7px;font-size:10px}.benefits-grid>div:nth-child(2){border-left:1px solid #dedfd3;padding-left:17px}.benefits-grid>div:last-child{grid-column:span 2;justify-content:center;border-left:0;padding:0 0 4px}.benefits-grid svg{width:18px;height:18px}.section{padding:65px 0}.section-heading{margin-bottom:28px}.section-heading h2,.line-heading h2{font-size:clamp(35px,8.9vw,47px);line-height:1.16;margin-bottom:12px}.section-heading p{font-size:13px;line-height:1.8}.eyebrow{font-size:9px;letter-spacing:.18em;margin-bottom:12px}.services-section{padding-top:70px}.services-grid{grid-template-columns:1fr;gap:18px}.service-card-image{height:170px}.service-card-body{padding:24px 23px 22px}.service-card h3{font-size:27px}.service-card p{margin-bottom:17px}.service-card-graphic{width:70px;height:70px;bottom:-16px}.service-card-graphic svg{width:36px;height:36px}.section-end{margin-top:29px}.clinic-section{padding:65px 0 75px}.clinic-grid{grid-template-columns:1fr;gap:22px}.clinic-collage{height:330px;margin:0 0 9px}.clinic-image-main{height:287px;width:75%}.clinic-image-mini{height:166px;width:43%;right:0;bottom:0;border-width:6px}.collage-accent{width:54px;height:54px;bottom:10px}.clinic-copy .section-heading{margin-bottom:20px}.check-list{gap:9px}.values-grid{grid-template-columns:1fr;gap:20px}.value-steps{border-left:0}.value-steps>div{grid-template-columns:24px 39px 1fr;gap:13px;padding:19px 0}.step-icon{width:39px;height:39px}.step-icon svg{width:21px}.value-steps h3{font-size:21px}.values-left .section-heading{margin-bottom:22px}.packages-top{display:block}.packages-top .text-link{margin:0 0 24px}.package-grid{grid-template-columns:repeat(2,1fr);gap:10px}.package-card{padding:21px 15px;min-height:166px}.package-card h3{font-size:14px;min-height:33px}.package-price{font-size:37px;margin:15px 0 8px}.package-price span{font-size:10px;vertical-align:7px}.package-small{font-size:9px}.package-grid .package-card:nth-child(3){grid-column:span 2}.package-grid .package-card:nth-child(3) h3{min-height:0}.package-note{margin-top:19px;font-size:10px}.journal-preview,.story-grid{grid-template-columns:1fr;gap:35px}.journal-preview .story-card:last-child{display:block}.story-card-image{height:215px;margin-bottom:15px}.story-card h3{font-size:26px}.line-heading{align-items:start;gap:15px}.line-heading h2{font-size:34px}.line-heading .text-link{font-size:10px;white-space:nowrap;align-self:end;margin-bottom:6px}.action-inner{padding:47px 0;display:block}.action-band h2{font-size:37px}.action-band p{font-size:12px}.action-buttons{margin-top:22px;gap:8px;flex-wrap:wrap}.action-buttons .btn{font-size:11px}.site-footer{padding:59px 0 26px}.footer-top{grid-template-columns:1fr 1fr;gap:37px 20px;padding-bottom:43px}.footer-brand{grid-column:span 2}.footer-brand h2{font-size:37px;max-width:400px}.footer-col h3{font-size:11px;margin-bottom:13px}.footer-col>a{font-size:11px;margin-bottom:7px}.footer-bottom{flex-wrap:wrap;gap:10px;font-size:10px}.footer-bottom>span:nth-child(2){display:none}.mobile-fixed-cta{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;height:62px;z-index:60;background:var(--cream);box-shadow:0 -4px 25px #163c2e1c;border-top:1px solid #e2e8dc;padding:9px 12px env(safe-area-inset-bottom)}.mobile-fixed-cta>a{display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:12px;color:var(--pine);border-right:1px solid #e1e5dc}.mobile-fixed-cta>a:last-child{border:0;border-radius:5px;background:var(--pine);color:#fff}.page-hero{padding:55px 0;min-height:0}.page-hero h1{font-size:clamp(43px,10.3vw,58px)}.page-hero p{font-size:14px;line-height:1.8}.page-hero-grid{grid-template-columns:1fr;gap:34px}.page-hero--service,.page-hero--booking,.page-hero--about{padding:51px 0 58px}.page-hero-photo{height:225px;border-radius:150px 150px 12px 12px;width:80%;margin:0 auto}.page-hero-actions{margin-top:23px;gap:9px}.page-hero-actions .btn{font-size:11px}.breadcrumbs{padding:20px 0;flex-wrap:wrap;gap:8px;font-size:10px}.fees-bar{grid-template-columns:1fr 1fr;gap:15px;padding:22px 19px}.fees-bar>div{align-items:start;gap:8px}.fees-bar>div svg{width:20px;height:20px}.fees-bar b{font-size:21px}.fees-bar .text-link{grid-column:span 2;justify-self:start}.fees-fine{font-size:10px;margin-bottom:25px}.detail-section{padding-top:10px}.detail-layout{grid-template-columns:1fr;gap:28px}.detail-item{grid-template-columns:39px 1fr;gap:11px;padding:19px 0}.item-number{font-size:21px}.detail-item h3{font-size:17px}.detail-item p{font-size:12.5px}.detail-sidebar{position:static}.sidebar-card{padding:24px}.sidebar-card h3{font-size:27px}.sidebar-other{display:none}.about-split,.people-grid{grid-template-columns:1fr;gap:25px}.about-split h2{font-size:45px}.about-split h3{font-size:17px}.about-narrative p{font-size:14px;line-height:1.9}.people-photo{width:83%;height:340px;margin:0 auto}.partner-list{grid-template-columns:repeat(2,1fr);gap:9px}.partner-list span{font-size:21px;padding:17px 10px}.two-col{grid-template-columns:1fr;gap:40px}.booking-prices{padding:30px 22px}.booking-prices h2{font-size:33px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-form-panel{padding:30px 20px}.contact-form-panel h2{font-size:35px}.contact-form-panel .form-row{grid-template-columns:1fr}.map-section{padding:50px 0 75px}.map-and-parking{grid-template-columns:1fr}.map-wrap{height:280px}.parking-details{padding:25px}.article-hero{padding:43px 0 48px}.article-crumb{padding-bottom:26px}.article-hero h1{font-size:44px}.article-hero p{font-size:14px}.article-layout{grid-template-columns:1fr;gap:30px}.article-cover{height:230px;margin-bottom:30px}.article-body section h2{font-size:25px}.article-body section p{font-size:14px}.notfound h1{font-size:45px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* V2 editorial improvements: genuine clinic photography without cartoon fallback */
.hero-image-shell,.clinic-image-main,.clinic-image-mini,.service-card-image,.story-card-image,.page-hero-photo,.article-cover,.people-photo {background:linear-gradient(135deg,#F1E8DD 0%,#D4C4B2 58%,#efe7da 100%);}
.hero-fallback,.clinic-fallback,.story-fallback{display:none!important}
.hero-pets,.clinic-original,.service-card-photo,.photo-main,.story-photo {object-fit:cover;object-position:center}
.story-card-image{border-radius:13px;overflow:hidden}
.story-card:hover .story-photo{transform:scale(1.025);transition:transform .45s ease}
.migrated-content{font-size:16px;line-height:1.92;color:#3b4942;max-width:760px}
.migrated-content p{margin:0 0 1.45em;white-space:normal}
.migrated-content h2{margin:1.6em 0 .7em;font-size:clamp(22px,2.1vw,29px);line-height:1.35;color:#214b3e}
.migrated-content ul{padding-left:1.35em;margin:0 0 1.5em}.migrated-content li{margin:.55em 0}
@media(max-width:680px){.migrated-content{font-size:14px;line-height:1.86}.migrated-content h2{font-size:22px}.article-cover{height:230px}}


/* V3 | source-of-truth logo palette: #9E8A70 / #D8D0C6 / #5B4D43 */
:root{--brand-logo:#9E8A70;--brand-deep:#5B4D43;--brand-muted:#D8D0C6;--display:'DM Serif Display',Georgia,'Noto Serif SC',serif;--shadow:0 18px 54px rgba(77,56,40,.10)}
body{background:#FAF7F2;color:#332B27}
.announcement{background:#5B4D43;color:#F8F2E9}
.announcement-inner svg,.announcement-inner i{color:#DEC7A8}
.site-header{background:rgba(252,249,244,.985);border-bottom:1px solid #E7DED4}
.header-inner{display:grid;grid-template-columns:minmax(180px,222px) minmax(0,1fr) auto;gap:18px;height:82px;align-items:center}
.brand{display:flex;gap:9px;align-items:center;min-width:0}
.brand-logo{width:51px;height:57px;flex:none}.brand-logo img{max-height:56px;max-width:59px;object-fit:contain}
.brand-name{display:block;font-size:15px;font-weight:800;letter-spacing:.032em;line-height:1.22;color:#5B4D43;white-space:nowrap}
.brand-name>b{font-size:inherit;display:inline;color:#5B4D43}.brand-name small{display:block;color:#9E8A70;font-size:8px;font-weight:700;letter-spacing:.16em;margin-top:4px}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.15vw,23px);min-width:0;height:100%}
.desktop-nav>a,.nav-dropdown>a{display:inline-flex;align-items:center;justify-content:center;height:48px;line-height:1.15;color:#5B4D43;font-size:12px;font-weight:700;white-space:nowrap}
.desktop-nav>a:hover,.nav-dropdown>a:hover,.lang-switch:hover{color:#9E8A70}
.nav-dropdown{height:auto;align-self:center}.nav-dropdown>a{gap:6px}.caret{font-size:14px;vertical-align:0;margin:0;line-height:1}
.dropdown-panel{background:#FFFDF9;border:1px solid #E8DED4;box-shadow:0 18px 48px #43322520}.dropdown-panel a{color:#5B4D43}.dropdown-panel .menu-intro{background:#F5EFE7}.dropdown-panel a:hover{background:#F6EFE6}
.header-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;flex-shrink:0;min-width:max-content}
.lang-switch{color:#5B4D43;font-weight:800}.header-book{height:44px;min-height:44px;padding:9px 16px;background:#5B4D43;color:#FFF9F2;border-color:#5B4D43}
.btn--primary{background:#5B4D43;border-color:#5B4D43;color:#FFFDF9}.btn--primary:hover{background:#453329;border-color:#453329}
.btn--outline{border-color:#C8B5A0;color:#5B4D43}.btn--outline:hover{background:#F2E8DD}
.hero{background:radial-gradient(circle at 8% 16%,rgba(255,249,235,.09),transparent 38%),linear-gradient(114deg,#796550 0%,#947B61 56%,#806B56 100%);color:#fff}
.hero-description{color:#FAF0E6}.hero-kicker{color:#FBF1E2}.hero h1 em{color:#F5DEC0}.hero-mantra span:not(.mantra-icon){color:#F0E4D8}
.hero-image-shell{background:#E6DDCF;box-shadow:21px 23px 0 #5A493E6A}.hero-circle-stamp{background:#EAD2B5;color:#5B4D43}
.benefits-grid>div{color:#5B4D43}.benefits-grid svg{color:#A38A69}
.service-card{box-shadow:0 7px 22px #5B4D4310;border-color:#EAE0D3}.service-card:hover{box-shadow:0 20px 45px #5B4D4327;border-color:#CAB9A6}
.service-card-image{background:#E9DED0}.service-card-photo{mix-blend-mode:normal;filter:saturate(.89);opacity:.92}.service-card:hover .service-card-photo{opacity:1}
.service-card-graphic{color:#5B4D43;background:#FFFDF4E8}.service-number{color:#5B4D43;background:#FFFDF4E8}
.clinic-section{background:#F3ECE4}.clinic-image-mini{border-color:#F3ECE4}
.values-section{background:#FFFDF9}.packages-section{background:#F2E8DD}.package-card.featured{background:#5B4D43;border-color:#5B4D43}
.page-hero,.article-hero{background:#F3ECE4}.page-hero h1,.article-hero h1{color:#5B4D43}
.article-hero p{color:#75685D}.article-body-section{background:#FFFDF9}
.site-footer{background:#443328}.footer-col>a{color:#EEE0D0}.footer-brand .footer-zh{color:#E8CDB0}
.migrated-content{font-size:16px;color:#3E342E;line-height:1.95}.migrated-content h2{color:#5B4D43}
.migrated-content p{white-space:normal;margin:0 0 1.4em}
.article-inline-figure{margin:28px 0 39px;width:100%;background:#F4EFE7;border-radius:12px;overflow:hidden;border:1px solid #EBE1D5}
.article-inline-figure img{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;margin:auto}
.article-provenance{border-top:1px solid #E9DED2;padding:23px 0 6px;margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:#756B62}
.article-provenance a{display:inline-flex;align-items:center;gap:8px;color:#5B4D43;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.article-provenance a svg{height:17px;width:17px}
.article-archive-flag{display:inline-flex;margin-top:19px;padding:12px 17px;border-left:3px solid #9E8A70;background:#FFF9EF;color:#6E523E;font-size:12px;line-height:1.75}
.clinic-life-section{background:#FFFDF9;padding:86px 0 95px}
.clinic-life-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:31px}
.clinic-life-head h2{font:400 clamp(35px,4vw,53px)/1.12 var(--display);color:#5B4D43;margin:0 0 11px}
.clinic-life-head p{font-size:14px;color:#746B64;max-width:580px;margin:0}
.clinic-life-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.clinic-life-card{display:block;overflow:hidden;border-radius:10px;background:#F4EEE7;color:#5B4D43;font-weight:800}
.clinic-life-card>div{height:245px;overflow:hidden;background:#EDE3D8}
.clinic-life-card img{height:100%;width:100%;object-fit:cover;transition:transform .35s}
.clinic-life-card:hover img{transform:scale(1.035)}.clinic-life-card span{display:block;padding:13px 17px;font-size:13px}
@media(max-width:1120px){.desktop-nav{display:none}.header-inner{display:flex;justify-content:space-between;height:76px;gap:14px}.menu-toggle{display:flex}.mobile-nav{position:absolute;top:100%;left:0;right:0;z-index:51;background:#FFFDF9;box-shadow:0 15px 30px #5B4D4323;display:none;padding:12px 28px 24px;max-height:calc(100svh - 115px);overflow-y:auto;border-top:1px solid #E8DDD3}.mobile-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.mobile-nav>a{display:flex;align-items:center;gap:12px;font-size:13px;padding:12px;color:#5B4D43;border-bottom:1px solid #E8DED3}.mobile-nav .nav-small-icon{display:none}.mobile-nav .btn{grid-column:span 2;justify-content:space-between;margin-top:10px;color:#FFFDF9}}
@media(max-width:680px){.header-inner{height:67px;gap:9px}.brand-logo{width:37px;height:47px}.brand-logo img{max-height:45px;max-width:42px}.brand-name,.brand-name>b{font-size:12px}.brand-name small{font-size:6.7px;letter-spacing:.11em}.header-book{display:none}.mobile-nav.is-open{grid-template-columns:1fr}.mobile-nav .btn{grid-column:span 1}.hero h1{font-size:clamp(37px,9.25vw,56px);line-height:1.11;overflow-wrap:anywhere}.hero h1 em{font-size:.96em}.hero-image-shell{background:#EFE5D7}.hero-circle-stamp{font-size:9px}.hero-mantra{margin-top:23px}.clinic-life-section{padding:59px 0 69px}.clinic-life-head{display:block}.clinic-life-head .text-link{margin-top:13px}.clinic-life-grid{grid-template-columns:1fr;gap:16px}.clinic-life-card>div{height:230px}.migrated-content{font-size:14px}.article-inline-figure{margin:22px 0 27px}.article-provenance{font-size:11px}}

/* V3 embedded fallback: preserves real clinic imagery if an external Wix photograph cannot load. */
.hero-reception-fallback{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:1}
.hero-image-shell .hero-pets{z-index:2}
.hero-image-shell .hero-reception-fallback{filter:saturate(.95)}
@media(max-width:680px){.clinic-life-card img{object-fit:cover}.hero-image-shell .hero-reception-fallback{object-position:center}}

/* V4 restrained homepage — keeps services on their own pages */
.hero--compact{min-height:0;padding:60px 0 44px}.hero--compact .hero-grid{min-height:0;align-items:center}.hero--compact .hero-art{min-height:360px}.hero--compact .hero-image-shell{max-height:410px}.hero--compact .hero-copy{padding-top:0;padding-bottom:0}.hero--compact .hero-copy h1{font-size:clamp(2.1rem,4.3vw,4.25rem)}.hero--compact .hero-description{margin-top:20px}.home-package-section{padding:52px 0 45px;background:#fff9f2}.home-package-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:24px}.home-package-heading h2,.home-featured h2,.home-contact h2{margin:8px 0;font-size:clamp(1.45rem,2.9vw,2.25rem)}.home-package-heading p{margin:5px 0;max-width:590px;color:#68605a}.home-package-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.home-package{background:white;border:1px solid #e7ddd0;border-radius:18px;padding:19px 15px;display:flex;flex-direction:column;gap:9px;color:#493c33;text-decoration:none;min-height:144px;transition:transform .2s,border-color .2s}.home-package:hover{border-color:#9e8a70;transform:translateY(-3px)}.home-package span{font-size:.65rem;letter-spacing:.08em;color:#84705a}.home-package h3{font-size:.97rem;font-weight:500;line-height:1.42;margin:0;flex:1}.home-package strong{font-size:1.5rem}.home-featured{padding:46px 0}.home-featured-head{display:flex;align-items:center;justify-content:space-between}.home-carousel-actions{display:flex;gap:8px}.home-carousel-actions button{height:36px;width:36px;border-radius:50%;border:1px solid #c8b7a4;background:#fff;cursor:pointer;color:#5b4d43;font-size:1.5rem;line-height:1}.home-slide{display:grid;grid-template-columns:minmax(0,290px) 1fr;gap:24px;align-items:center;text-decoration:none;color:inherit;padding:15px;border:1px solid #eadfd4;border-radius:18px;min-height:205px}.home-slide[hidden]{display:none}.home-slide-image{height:175px;overflow:hidden;background:#f4eee8;border-radius:12px}.home-slide-image img{width:100%;height:100%;object-fit:contain}.home-slide h3{margin:8px 0;font-size:1.32rem}.home-slide p{margin:0 0 8px;max-width:640px;color:#645c54;line-height:1.55}.home-contact{background:#f2ece4;padding:40px 0}.home-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.home-contact p{margin:6px 0}.home-contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.home-contact-links>a:not(.btn){display:inline-flex;gap:6px;align-items:center;color:#5b4d43;text-decoration:none}.article-body .migrated-content p{white-space:normal}.article-inline-figure img{object-fit:contain;max-height:680px}.service-card-image:not(:has(img)) {background:linear-gradient(145deg,#e6d7c4,#faf5ee)}.service-card-image:not(:has(img)) .service-card-graphic{opacity:1;color:#6f5843}.page-hero-grid .page-hero-photo:has(img[src=""]){display:none}
@media(max-width:960px){.home-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero--compact{padding:40px 0}.home-contact-inner{flex-direction:column;align-items:flex-start}.home-carousel .home-slide{grid-template-columns:210px 1fr}}
@media(max-width:600px){.hero--compact{padding:32px 0}.hero--compact .hero-art{min-height:225px}.hero--compact .hero-image-shell{max-height:260px}.home-package-section{padding:34px 0}.home-package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-package{min-height:120px;padding:15px}.home-package-heading{align-items:start}.home-package-heading>.text-link{white-space:nowrap}.home-package h3{font-size:.86rem}.home-package strong{font-size:1.25rem}.home-featured{padding:30px 0}.home-slide{display:block;padding:12px}.home-slide-image{height:165px;margin-bottom:16px}.home-slide h3{font-size:1.15rem}.home-contact-links{flex-direction:column;align-items:flex-start}.home-contact{padding:32px 0}}

/* V4.1: single collapsed Services accordion on mobile and tablet.
   The original desktop mega-menu is intentionally unaffected. */
@media (max-width:930px){
  .mobile-nav.is-open{display:flex;flex-direction:column;gap:0}
  .mobile-nav>a{width:100%;min-height:49px;display:flex;align-items:center;padding:12px 8px;font-size:14px;line-height:1.35}
  .mobile-nav>.mobile-services{width:100%;border-bottom:1px solid #E8DED3}
  .mobile-services-toggle{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    width:100%;min-height:49px;padding:12px 8px;border:0;border-radius:0;
    background:transparent;text-align:left;cursor:pointer;
    color:#5B4D43;font-family:inherit;font-size:14px;font-weight:inherit;line-height:1.35
  }
  .mobile-services-toggle:focus-visible{outline:2px solid #9E8A70;outline-offset:-2px}
  .mobile-services-chevron{flex:none;transition:transform .2s ease;color:#796956}
  .mobile-services-toggle[aria-expanded="true"] .mobile-services-chevron{transform:rotate(180deg)}
  .mobile-services-submenu[hidden]{display:none!important}
  .mobile-services-submenu{
    display:flex;flex-direction:column;margin:0 0 12px 13px;padding:3px 0 3px 18px;
    border-left:2px solid #C5AB90
  }
  .mobile-services-submenu>a{
    display:flex;align-items:center;gap:8px;min-height:42px;width:100%;
    padding:9px 8px;border-bottom:1px solid #EDE4DB;
    color:#63564C;font-size:13px;line-height:1.4;text-decoration:none
  }
  .mobile-services-submenu>a:last-child{border-bottom:0}
  .mobile-services-submenu>a:hover,.mobile-services-submenu>a:focus-visible{
    color:#47382E;background:#F4ECE3
  }
  .mobile-nav .btn{grid-column:auto;width:100%;margin-top:13px}
  .mobile-nav{max-height:calc(100dvh - 145px);overscroll-behavior:contain}
}
@media (prefers-reduced-motion:reduce){
  .mobile-services-chevron{transition:none}
}

@media(max-width:930px){.mobile-services-toggle[aria-expanded="false"] + .mobile-services-submenu{display:none!important}}

/* A compact, opt-in Instagram gallery: real posts and locally hosted thumbnails. */
.ig-gallery{padding:35px 0 38px;background:#fffdf9;border-top:1px solid #eee4da}
.ig-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}
.ig-head h2{font-size:clamp(1.5rem,2.7vw,2.2rem);margin:5px 0;color:#5b4d43}
.ig-head p{font-size:13px;color:#776a5e;margin:4px 0}
.ig-follow{font-size:12px;color:#72583f;text-decoration:none;white-space:nowrap;border-bottom:1px solid #bda38a;padding-bottom:4px}
.ig-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ig-tile{position:relative;overflow:hidden;display:block;aspect-ratio:1;border-radius:12px;background:#e9dfd2}
.ig-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.ig-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#251e19a8);color:white;font-size:11px;line-height:1.3;padding:27px 12px 12px}
.ig-tile:hover img{transform:scale(1.04)}
.ig-tile:focus-visible{outline:3px solid #9e8a70;outline-offset:2px}
@media(max-width:700px){.ig-gallery{padding:27px 0}.ig-head{align-items:start}.ig-head h2{font-size:23px}.ig-head p{font-size:12px}.ig-follow{font-size:11px}.ig-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px}.ig-tile{flex:0 0 min(58vw,225px);scroll-snap-align:start}}
@media(prefers-reduced-motion:reduce){.ig-tile img{transition:none}}

/* V5.1 — Services is a direct destination; only the arrow expands subcategories. */
@media(max-width:930px){
  .mobile-nav .mobile-services-head{display:flex;align-items:stretch;width:100%;min-height:51px}
  .mobile-nav .mobile-services-link{
    display:flex;align-items:center;flex:1 1 auto;min-width:0;
    min-height:51px;padding:12px 8px;font-size:14px;line-height:1.35;
    text-decoration:none;color:#5B4D43
  }
  .mobile-nav .mobile-services-link:hover,
  .mobile-nav .mobile-services-link:focus-visible{color:#8C6E51;background:#F4ECE3}
  .mobile-nav .mobile-services-toggle{
    display:flex;align-items:center;justify-content:center;flex:0 0 52px;
    width:52px;min-width:52px;min-height:51px;padding:0;margin:0;
    border-left:1px solid #E8DED3;border-radius:0
  }
  .mobile-nav .mobile-services-toggle:focus-visible{outline:2px solid #9E8A70;outline-offset:-3px}
  .mobile-nav .mobile-services-submenu[hidden]{display:none!important}
  .mobile-nav .mobile-services-submenu{margin-top:0}
}
@media(min-width:931px){
  .desktop-nav .dropdown-panel{grid-template-columns:repeat(2,minmax(0,1fr));min-width:480px;gap:4px}
}
/* V5.1 — an authentic single-scene photograph instead of the overlapping,
   tilted arch-shaped pet collage. Keeps the confirmed sand-gold visual system. */
.hero--compact{padding:45px 0 34px}
.hero--compact .hero-grid{
  min-height:425px;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px
}
.hero--compact .hero-art{
  min-height:390px;display:flex;justify-content:flex-end;align-items:center
}
.hero--compact .hero-image-shell.hero-clinic-shell{
  width:100%;height:375px;max-height:none;max-width:100%;
  transform:none;border-radius:18px;
  box-shadow:0 22px 50px rgba(35,24,17,.16);
  overflow:hidden;background:#E3D6C4
}
.hero--compact .hero-image-shell.hero-clinic-shell:after{
  border:1px solid rgba(255,255,255,.25);border-radius:18px
}
.hero--compact .hero-clinic-photo{
  display:block;position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:65% center;z-index:2;
  filter:saturate(.96)
}
@media(max-width:930px) and (min-width:821px){
  .hero--compact .hero-grid{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero--compact .hero-art{min-height:350px}
  .hero--compact .hero-image-shell.hero-clinic-shell{height:330px}
  .hero--compact .hero-copy{padding:0}
}
@media(max-width:820px){
  .hero--compact{padding:32px 0 30px}
  .hero--compact .hero-grid{
    display:flex;flex-direction:column;align-items:stretch;gap:22px;min-height:0
  }
  .hero--compact .hero-copy{width:100%;padding:0}
  .hero--compact .hero-art{
    width:100%;height:270px;min-height:270px;max-height:270px;
    flex:none;margin:0;display:block
  }
  .hero--compact .hero-image-shell.hero-clinic-shell{
    width:100%;height:270px;min-height:0;max-height:none;border-radius:15px
  }
  .hero--compact .hero-image-shell.hero-clinic-shell:after{border-radius:15px}
}
@media(max-width:680px){
  .hero--compact .hero-grid{gap:19px}
  .hero--compact .hero-art{
    height:210px;min-height:210px;max-height:210px
  }
  .hero--compact .hero-image-shell.hero-clinic-shell{
    height:210px;border-radius:14px
  }
  .hero--compact .hero-image-shell.hero-clinic-shell:after{border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
  .mobile-services-chevron{transition:none}
}


/* V7 — Restore separate Blog and News & Offers navigation */
@media(min-width:931px){
  .header-inner{grid-template-columns:minmax(172px,208px) minmax(0,1fr) auto;gap:12px}
  .desktop-nav{gap:clamp(8px,1.1vw,17px)}
  .desktop-nav>a,.desktop-nav .nav-dropdown>a{font-size:11.5px;letter-spacing:.004em}
}

/* Original Broadway Vet homepage pets, extracted from the original Wix hero.
   No collage, card, fake clinic scene or tilted arch. */
.hero.hero--compact{
  color:#4C3D33;
  background:linear-gradient(120deg,#E6C8A9 0%,#DEBD9A 100%);
  overflow:hidden;
  padding:35px 0 0;
}
.hero--compact .hero-grid{
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  min-height:470px;gap:8px;align-items:center;
}
.hero--compact .hero-copy{padding:32px 0 55px;z-index:3}
.hero--compact .hero-kicker{color:#604D3D}
.hero--compact .hero-copy h1{color:#4C3B30}
.hero--compact .hero-copy h1 em{color:#775943}
.hero--compact .hero-description{color:#5A463A;max-width:460px}
.hero--compact .hero-mantra strong{color:#4C3B30}
.hero--compact .hero-mantra span:not(.mantra-icon){color:#5F4C3F}
.hero--compact .mantra-icon{border-color:rgba(83,59,41,.22);color:#7E6148}
.hero--compact .btn--light{background:#FFF9F1;color:#4A392C}
.hero--compact .btn--outline-light{border-color:rgba(87,66,52,.5);color:#4C3B30}
.hero--compact .btn--outline-light:hover{background:rgba(255,255,255,.22)}
.hero--compact .hero-art.hero-art--original-pets{
  position:relative;align-self:stretch;display:flex;
  align-items:flex-end;justify-content:flex-end;
  min-height:470px;height:auto;max-height:none;
  z-index:1;overflow:visible;
}
.hero--compact .hero-original-pets-photo{
  display:block;width:113%;max-width:none;height:auto;
  max-height:475px;min-width:0;object-fit:contain;
  object-position:right bottom;flex:none;align-self:end;
  filter:drop-shadow(0 9px 12px rgba(71,49,30,.045));
  transform:translate(20px,8px);
}
@media(max-width:1020px) and (min-width:821px){
  .hero--compact .hero-grid{gap:4px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero--compact .hero-art.hero-art--original-pets{min-height:400px}
  .hero--compact .hero-original-pets-photo{max-height:405px;transform:translate(5px,6px)}
}
@media(max-width:820px){
  .hero.hero--compact{padding:30px 0 0}
  .hero--compact .hero-grid{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-height:0}
  .hero--compact .hero-copy{width:100%;padding:7px 0 8px}
  .hero--compact .hero-art.hero-art--original-pets{
    display:flex;align-items:end;justify-content:center;
    width:100%;height:auto;min-height:0;max-height:none;
    margin:0;flex:none;overflow:visible;
  }
  .hero--compact .hero-original-pets-photo{
    display:block;transform:none;margin:0 auto -3px;
    width:100%;max-width:540px;max-height:none;height:auto;
  }
}
@media(max-width:680px){
  .hero--compact .hero-grid{gap:6px}
  .hero--compact .hero-art.hero-art--original-pets{height:auto;min-height:0;max-height:none}
  .hero--compact .hero-original-pets-photo{width:108%;max-width:none;margin:0 -4% -2px}
  .hero--compact .hero-mantra{margin-top:22px}
}

/* Home grooming teaser: concise service positioning, link to the dedicated page */
.home-grooming-preview{padding:44px 0 46px;background:#F4EBE0;border-top:1px solid #E8DAC9}
.grooming-preview-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;align-items:center}
.grooming-preview-copy h2{font-family:var(--display);font-size:clamp(25px,3vw,38px);line-height:1.23;color:#554237;margin:9px 0 15px;max-width:580px}
.grooming-preview-copy p{font-size:14px;line-height:1.82;color:#685B51;margin:0 0 17px;max-width:560px}
.grooming-preview-benefits{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}
.grooming-preview-benefits span{font-size:12px;padding:7px 12px;background:#FFFBF5;border:1px solid #E1D3C3;border-radius:100px;color:#68513F}
.grooming-preview-visual{text-align:center;min-width:0}
.grooming-preview-poster{padding:12px;border-radius:16px;background:#FFFDF9;border:1px solid #E8DDD1;box-shadow:0 12px 26px rgba(65,47,32,.07)}
.grooming-preview-poster img{display:block;width:100%;height:auto;aspect-ratio:1498/1050;object-fit:contain;border-radius:7px}
.grooming-preview-visual>p{font-size:10px;line-height:1.5;color:#836F5F;margin:10px 0 0}
.detail-inline-link{display:inline-flex;gap:7px;align-items:center;margin-top:12px;font-size:13px;font-weight:700;color:#846442;text-decoration:none}
.detail-inline-link svg{width:16px;height:16px}
.detail-inline-link:hover{text-decoration:underline}
.grooming-detail-menu{margin:38px 0 0;padding:25px 24px;background:#FBF7F1;border:1px solid #E6DACB;border-radius:18px}
.grooming-detail-menu-intro h2{font-size:clamp(21px,2.5vw,27px);color:#5B4D43;line-height:1.3;margin:9px 0}
.grooming-detail-menu-intro p{color:#675A50;line-height:1.75;font-size:13.5px}
.grooming-menu-open{display:block;margin-top:16px;color:#7F6147;text-decoration:none}
.grooming-menu-open img{display:block;width:100%;height:auto;border:1px solid #E7DAD0;background:white;border-radius:10px}
.grooming-menu-open>span{display:block;text-align:right;font-size:12px;margin-top:8px;font-weight:700}
@media(max-width:760px){
  .home-grooming-preview{padding:32px 0}
  .grooming-preview-layout{grid-template-columns:1fr;gap:21px}
  .grooming-preview-copy h2{font-size:27px}
  .grooming-preview-poster{padding:9px}
  .grooming-detail-menu{padding:19px 15px}
}

/* Common bilingual article typography: original copy, correct editorial hierarchy */
.article-hero{padding:54px 0 42px}
.article-hero h1{font-size:clamp(30px,3.7vw,51px);line-height:1.22;letter-spacing:-.015em;overflow-wrap:anywhere}
.article-hero p{font-size:15px;line-height:1.78;color:#706359}
.article-body-section .migrated-content{font-size:15px;line-height:1.85;color:#45392F;overflow-wrap:break-word}
.article-body-section .migrated-content h2,
.article-body-section .migrated-content .article-section-heading{
  font-family:'DM Sans','Noto Sans SC',system-ui,sans-serif;
  font-size:clamp(20px,2.35vw,27px);font-weight:700;
  line-height:1.43;color:#574436;
  border-left:3px solid #AC8F6E;
  padding-left:14px;margin:35px 0 15px;
}
.article-body-section .migrated-content h3{font-size:20px;line-height:1.45;color:#5B4D43;font-weight:700}
.article-body-section .migrated-content p{font-size:15px;line-height:1.85;margin:0 0 17px}
.article-body-section .migrated-content p.article-list-intro{
  font-size:14.5px;font-weight:650;color:#675244;
  margin:14px 0 8px;
}
.article-body-section .migrated-content ul{margin:0 0 22px;padding-left:22px}
.article-body-section .migrated-content li{font-size:14.5px;line-height:1.75;padding-left:2px;margin:8px 0}
.article-body-section .migrated-content .article-item-list{
  display:grid;gap:7px;list-style:none;
  padding:0;margin:7px 0 23px;
}
.article-body-section .migrated-content .article-item-list li{
  position:relative;margin:0;padding:9px 12px 9px 36px;
  border:1px solid #EFE5D9;background:#FEFCF9;
  border-radius:9px;
}
.article-body-section .migrated-content .article-item-list li:before{
  content:'✓';position:absolute;top:9px;left:13px;
  color:#8A7054;font-weight:700;font-size:15px
}
.article-body-section .migrated-content .article-steps{
  display:grid;gap:9px;padding-left:25px;margin-bottom:24px
}
.article-body-section .migrated-content .article-steps li{padding:6px 6px 6px 4px}
.article-body-section .migrated-content .article-steps li::marker{font-weight:800;color:#9E8A70}
.article-body .migrated-content .article-package-panel{
  background:#FBF6F0;border:1px solid #E7DBCE;
  border-radius:15px;padding:20px 21px;margin:23px 0;
  box-shadow:0 6px 20px rgba(64,43,27,.035)
}
.article-body .migrated-content .article-package-heading{
  display:flex;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;gap:10px;margin:0 0 8px;
  font-family:'DM Sans','Noto Sans SC',sans-serif;
  font-size:20px;font-weight:700;color:#4F4034;line-height:1.4;
}
.article-body .migrated-content .article-package-heading strong{
  flex:none;display:inline-block;padding:4px 11px;
  font-size:17px;line-height:1.25;white-space:nowrap;color:#785D44;
  border-radius:9px;background:#EEE0D1;
}
.article-body .migrated-content .article-package-description{font-size:14px;color:#726051;margin:0 0 13px;line-height:1.65}
.article-body .migrated-content .article-contact-line{
  font-size:13px;color:#79685B;margin:5px 0;line-height:1.65
}
.article-body .migrated-content .article-feature-line,
.article-body .migrated-content .article-rte-point{
  border-left:3px solid #DDC6A8;
  background:#FAF5EE;color:#624C3B;
  font-size:14px;line-height:1.7;
  padding:9px 13px;margin:14px 0;border-radius:0 8px 8px 0
}
.article-body-section .migrated-content figure.article-inline-figure{
  margin:24px auto 28px;padding:0;text-align:center
}
.article-body-section .migrated-content .article-inline-figure img{
  display:block;max-width:100%;width:auto;max-height:720px;height:auto;
  margin:0 auto;border-radius:12px;object-fit:contain
}
.article-body-section .migrated-content a{color:#8C6648;text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){
  .article-hero{padding:31px 0 32px}
  .article-hero h1{font-size:clamp(28px,7.7vw,36px)}
  .article-hero p{font-size:13.5px;line-height:1.74}
  .article-body-section .migrated-content{font-size:14.5px;line-height:1.78}
  .article-body-section .migrated-content p{font-size:14px}
  .article-body-section .migrated-content h2,
  .article-body-section .migrated-content .article-section-heading{font-size:21px;padding-left:11px;margin-top:28px}
  .article-body .migrated-content .article-package-panel{padding:16px 14px;border-radius:12px}
  .article-body .migrated-content .article-package-heading{font-size:17px}
  .article-body .migrated-content .article-package-heading strong{font-size:15px}
  .article-body-section .migrated-content li{font-size:13.5px}
}

/* Direct-access affordance on the grooming item inside Additional Services. */
.detail-item-title-link{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none}
.detail-item-title-link svg{width:18px;height:18px;flex:none;color:#9E8A70;transition:transform .18s ease}
.detail-item-title-link:hover{color:#8A6F52}
.detail-item-title-link:hover svg{transform:translateX(3px)}
.detail-item-title-link:focus-visible{outline:2px solid #9E8A70;outline-offset:4px;border-radius:3px}
@media(prefers-reduced-motion:reduce){.detail-item-title-link svg{transition:none}}

/* V8: branded partner identification with original licensed-by-source logos */
.partner-groups{display:grid;gap:32px;margin-top:25px}
.partner-group h3{font-size:16px;line-height:1.4;font-weight:700;color:#594639;margin:0 0 16px}
.partner-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.partner-logo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;min-height:174px;padding:18px 12px 16px;border:1px solid #EAE0D3;background:#FFFCF7;border-radius:15px;color:#584537;text-decoration:none;transition:transform .18s,box-shadow .18s}
.partner-logo-card:hover{transform:translateY(-2px);box-shadow:0 9px 19px rgba(55,37,22,.09)}
.partner-logo-card:focus-visible{outline:3px solid #AD8D68;outline-offset:3px}
.partner-logo-img{height:66px;display:flex;align-items:center;justify-content:center;width:100%}
.partner-logo-img img{display:block;max-width:160px;max-height:62px;width:auto;height:auto;object-fit:contain}
.partner-logo-name{font-size:13px;font-weight:750;line-height:1.35}
.partner-logo-card small{font-size:11px;line-height:1.35;color:#806E60}
.partner-fine{color:#887467;line-height:1.7;font-size:12px;max-width:880px}
@media(max-width:720px){.partner-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-logo-card{min-height:135px;padding:13px 8px}.partner-logo-img{height:55px}.partner-logo-img img{max-width:132px;max-height:51px}}
@media(max-width:380px){.partner-logo-card small{font-size:10px}}

/* Detailed service pages: link directly from the relevant category row */
.detail-item .detail-inline-link{margin-top:12px}
.service-pricing,.service-product-spotlight,.service-faq{margin:38px 0 0}
.service-pricing{border:1px solid #E8DBCD;background:#FFF9F2;border-radius:17px;padding:26px}
.service-pricing h2,.service-product-spotlight h2,.service-faq h2{font-size:clamp(22px,2.2vw,30px);line-height:1.3;color:#524032;margin:10px 0}
.service-pricing>p{font-size:13.5px;line-height:1.77;color:#706055;margin:10px 0 19px}
.service-price-grid{display:grid;gap:10px}
.service-price-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-radius:11px;background:white;border:1px solid #EDE2D6}
.service-price-row>div{display:flex;flex-direction:column;gap:4px}
.service-price-row strong{color:#59483B;font-weight:750;font-size:14px}
.service-price-row small{color:#7D6C5F;line-height:1.4;font-size:11.5px}
.service-price-row b{color:#795B42;font-size:18px;white-space:nowrap}
.service-pricing .service-disclaimer{margin:15px 0 0;font-size:12px;color:#7B6D5E}
.service-product-spotlight{display:grid;grid-template-columns:1.12fr .88fr;gap:20px;align-items:center;padding:25px;background:#F2E6D8;border-radius:18px;border:1px solid #E1CEBB}
.service-product-copy>p{color:#67564B;line-height:1.8;font-size:14px}
.service-product-points{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.service-product-points span{padding:7px 10px;border-radius:30px;background:#FFF9F1;border:1px solid #DCC9B6;color:#765E48;font-size:11px}
.service-product-actions{display:grid;gap:12px}
.service-product-actions a{display:inline-flex;gap:7px;align-items:center;font-size:12px;color:#76573F;text-decoration:underline;text-underline-offset:3px}
.service-product-actions svg{width:16px;height:16px}
.service-product-poster img{display:block;width:100%;height:auto;object-fit:contain;border-radius:13px;border:1px solid #DBC9B6}
.service-faq{border-top:1px solid #E7DCCF;padding-top:27px}
.service-faq-list{display:grid;gap:9px;margin-top:17px}
.service-faq-list details{border:1px solid #E4D8CA;border-radius:11px;background:#FFFCF8;overflow:hidden}
.service-faq-list summary{list-style:none;position:relative;padding:16px 43px 16px 18px;cursor:pointer;font-size:14px;font-weight:750;color:#594536}
.service-faq-list summary::-webkit-details-marker{display:none}
.service-faq-list summary:after{content:'+';position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:21px;color:#997C60;font-weight:400}
.service-faq-list details[open] summary:after{content:'−'}
.service-faq-list details p{margin:0;padding:0 18px 18px;color:#68584B;line-height:1.75;font-size:13.5px}
@media(max-width:760px){.service-product-spotlight{grid-template-columns:1fr}.service-product-poster{max-width:350px;margin:auto}.service-pricing,.service-product-spotlight{padding:17px}.service-price-row{padding:13px 11px;gap:9px}.service-price-row b{font-size:16px}.service-price-row strong{font-size:13px}}

/* Detailed side-by-side parking map and operator-specific guidance */
.map-and-parking{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:start;gap:24px}
.map-and-parking .map-wrap{height:490px;position:sticky;top:98px;background:#E8DED2}
.parking-guide{border-radius:17px;background:#FCF8F2;border:1px solid #E7DCCF;padding:25px;color:#584537}
.parking-guide-intro h3{font-size:clamp(23px,2.4vw,29px);font-weight:700;line-height:1.26;margin:7px 0 9px;color:#564131}
.parking-guide-intro p{font-size:13px;line-height:1.75;color:#78665A;margin:0 0 20px}
.parking-option{padding:18px 0 16px;border-top:1px solid #E6DACC}
.parking-option-title{display:flex;gap:13px;align-items:start;margin-bottom:11px}
.parking-option-number{display:grid;place-items:center;border-radius:50%;background:#EADAC8;color:#795E46;width:34px;height:34px;font-size:13px;font-weight:750;flex:0 0 34px}
.parking-option-title h4{margin:1px 0 5px;font-size:15px;line-height:1.36;color:#544234}
.parking-option-title small{font-size:11px;color:#987C60;font-weight:700}
.parking-option p{font-size:12.5px;line-height:1.74;margin:7px 0;color:#706054}
.parking-option p strong{color:#533F30}
.parking-option .parking-option-note{font-size:11.7px;color:#806E5E}
.parking-option>a{display:inline-flex;font-size:12px;font-weight:750;color:#866341;margin-top:8px;text-decoration:underline;text-underline-offset:3px}
.parking-arrival-note{display:flex;gap:12px;margin-top:9px;padding:14px;border-radius:12px;background:#EEE1D2}
.parking-arrival-note>svg{flex:none;color:#957251;margin-top:2px}
.parking-arrival-note strong{font-size:13px;color:#513E30}
.parking-arrival-note p{font-size:12px;line-height:1.7;color:#745D4D;margin:7px 0 9px}
.parking-arrival-note a{font-weight:750;font-size:12px;color:#77573E;text-decoration:underline}
@media(max-width:930px){.map-and-parking{grid-template-columns:1fr}.map-and-parking .map-wrap{position:relative;top:auto;height:345px}.parking-guide{padding:21px}}
@media(max-width:480px){.map-and-parking .map-wrap{height:285px}.parking-guide{padding:18px}.parking-option-title h4{font-size:14px}}

/* Email hand-off status and reliable fallback if a mailto handler is absent */
.contact-form-panel .form-small{font-size:11.5px;color:#75665B;line-height:1.7}
.form-small strong{font-weight:800;color:#694C35}
.compose-followup[hidden]{display:none!important}
.compose-followup{margin-top:17px;padding:17px;background:#EFE6D9;border:1px solid #DCCABA;border-radius:12px}
.compose-followup h3{font-size:16px;margin:0 0 8px;color:#594435}
.compose-followup p{font-size:12px;line-height:1.7;color:#6E5948;margin:0 0 12px}
.compose-followup-actions{display:flex;gap:10px;flex-wrap:wrap}
.compose-followup-actions>.btn{font-size:12px;min-height:41px;padding:9px 13px;white-space:normal}
.compose-followup #compose-copy-result{margin:11px 0 0;font-weight:750;color:#6E543E}

/* Verified source SVG for Gentle Waves uses white lettering; contrast panel keeps it readable. */
.partner-logo-card[href*="gentlewaves.co.nz"] .partner-logo-img{
  background:#385866;border-radius:10px;max-width:218px;height:67px;
  padding:13px 15px;margin:0 auto
}
.partner-logo-card[href*="gentlewaves.co.nz"] .partner-logo-img img{max-height:39px;max-width:182px}
/* The Catfé Māo mark is supplied as a tightly trimmed separate partner asset. */

/* V9: consistent navigation affordance; SVG arrow is centered with Services text */
.desktop-nav .nav-dropdown>.services-main-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.3;white-space:nowrap}
.desktop-nav .nav-dropdown>.services-main-link .nav-caret{display:block;flex:none;width:14px;height:14px;position:relative;top:0;transition:transform .2s ease}
.desktop-nav .nav-dropdown:hover .nav-caret,.desktop-nav .nav-dropdown:focus-within .nav-caret{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.desktop-nav .nav-dropdown .nav-caret{transition:none}}


/* Real clinic photography, editorial rather than promotional collage. */
.clinic-real-gallery{padding:72px 0;background:#faf6f0}
.clinic-real-gallery-heading{max-width:710px;margin-bottom:25px}
.clinic-real-gallery-heading h2{font-size:clamp(27px,3vw,38px);line-height:1.18;color:#554438;margin:10px 0}
.clinic-real-gallery-heading p{color:#7b6b60;line-height:1.7}
.clinic-real-gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:15px}
.clinic-real-gallery-grid figure{margin:0;min-width:0}
.clinic-real-gallery-grid img{width:100%;height:285px;object-fit:cover;border-radius:13px;display:block;background:#e7ded3}
.clinic-real-gallery-grid figcaption{font-size:12px;padding-top:9px;color:#756458}
.partner-logo-card[href*="gentlewaves.co.nz"] .partner-logo-img{background:transparent!important;padding:0!important;max-width:100%;height:67px}
.partner-logo-card[href*="gentlewaves.co.nz"] .partner-logo-img img{max-width:100%;max-height:58px;width:auto;height:auto;object-fit:contain}
@media(max-width:720px){.clinic-real-gallery{padding:46px 0}.clinic-real-gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.clinic-real-gallery-large{grid-column:span 2}.clinic-real-gallery-grid img{height:205px}.clinic-real-gallery-large img{height:280px}}

/* SonoVet's horizontal outlined wordmark is illegible at the generic 160px cap.
   Give the actual logo room without distorting the supplied official artwork. */
.partner-logo-card[href*="sonovet.co.nz"]{min-height:174px}
.partner-logo-card[href*="sonovet.co.nz"] .partner-logo-img{height:78px}
.partner-logo-card[href*="sonovet.co.nz"] .partner-logo-img img{
  width:min(100%,280px);max-width:280px;height:auto;max-height:72px;
  object-fit:contain;filter:contrast(1.08)
}
@media(max-width:720px){
  /* The 4.6:1 wordmark needs a full card width to remain readable on phones. */
  .partner-logo-card[href*="sonovet.co.nz"]{grid-column:1/-1;min-height:158px}
  .partner-logo-card[href*="sonovet.co.nz"] .partner-logo-img{height:74px}
  .partner-logo-card[href*="sonovet.co.nz"] .partner-logo-img img{
    width:min(100%,290px);max-width:290px;max-height:70px
  }
}

/* All partner cards retain the SAME background, border and shadow.
   Only the image bounding box changes for extra-wide or extra-tall marks. */
.partner-logo-card[href*="catfemao.com"] .partner-logo-img{height:86px}
.partner-logo-card[href*="catfemao.com"] .partner-logo-img img{
  display:block;width:auto;height:auto;
  max-width:170px;max-height:84px;object-fit:contain;
  transform:none;filter:none
}
@media(max-width:720px){
  .partner-logo-card[href*="catfemao.com"]{min-height:155px}
  .partner-logo-card[href*="catfemao.com"] .partner-logo-img{height:74px}
  .partner-logo-card[href*="catfemao.com"] .partner-logo-img img{
    max-width:143px;max-height:71px
  }
}

/* Real clinic pictures on the six service pages: photos complement text,
   with opt-in disclosure for close-up dental procedure photographs. */
.service-card-image--general .service-card-photo{object-position:center 48%}
.service-card-image--diagnostics .service-card-photo{object-position:center 32%}
.service-card-image--dentistry .service-card-photo{object-position:center 45%}
.service-card-image--surgery .service-card-photo{object-position:center 40%}
.service-card-image--ongoing .service-card-photo{object-position:center 38%}
.service-card-image--additional .service-card-photo{object-position:center 34%}
.service-clinic-gallery{
  margin:34px 0 7px;padding-top:25px;border-top:1px solid #e8ddd2
}
.service-clinic-gallery h2{
  font-family:var(--display);font-size:clamp(25px,2.5vw,33px);
  font-weight:400;line-height:1.22;color:#554238;margin:0 0 16px
}
.service-clinic-photo-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;max-width:790px
}
.service-clinic-photo{margin:0;min-width:0}
.service-clinic-photo img{
  display:block;width:100%;height:235px;object-fit:cover;
  border-radius:12px;background:#eee5db
}
.service-clinic-photo figcaption{
  padding:9px 2px 0;font-size:12px;line-height:1.5;color:#77695d
}
.service-clinic-photo-note{
  color:#786757;font-size:12px;line-height:1.7;margin:0 0 14px
}
.service-clinical-details{
  margin-top:12px;padding:0 18px 16px;
  border:1px solid #e6d9ca;border-radius:12px;background:#fffaf4
}
.service-clinical-details summary{
  cursor:pointer;list-style:revert;padding:16px 0;
  font-size:13px;font-weight:700;color:#574638
}
.service-clinical-details summary:focus-visible{outline:2px solid #9e8a70;outline-offset:3px}
.service-clinical-details[open] summary{margin-bottom:5px}
.service-clinical-details .service-clinic-photo img{
  height:228px;object-fit:contain;background:#ede7df
}
@media(max-width:680px){
  .service-clinic-gallery{margin-top:26px;padding-top:20px}
  .service-clinic-gallery h2{font-size:25px}
  .service-clinic-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .service-clinic-photo img,.service-clinical-details .service-clinic-photo img{height:190px}
  .service-clinical-details{padding:0 12px 12px}
}
@media(max-width:420px){
  .service-clinic-photo-grid{grid-template-columns:minmax(0,1fr)}
  .service-clinic-photo img,.service-clinical-details .service-clinic-photo img{height:230px}
}

/* Comfort and quality-of-life consultation guide:
   practical and calm; no numerical 'good/bad pet' scoring interface. */
.qol-guide{margin:37px 0 0;padding:29px 0 0;border-top:1px solid #e9ded1}
.qol-guide h2{margin:8px 0 11px;font-size:clamp(23px,2.3vw,30px);line-height:1.32;color:#564437;letter-spacing:-.015em}
.qol-guide-intro,.qol-guide-foot{max-width:780px;color:#6c5c51;font-size:13.8px;line-height:1.85}
.qol-guide-intro{margin:0 0 19px}
.qol-guide-foot{margin:17px 0 0;font-size:12.9px}
.qol-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;list-style:none;padding:0;margin:0}
.qol-guide-list li{display:flex;flex-direction:column;gap:8px;border:1px solid #e9ddcf;background:#fffcf8;border-radius:12px;padding:17px 18px;min-width:0}
.qol-guide-list li:last-child:nth-child(odd){grid-column:1/-1}
.qol-guide-list strong{font-size:14px;line-height:1.45;color:#5b483a}
.qol-guide-list span{font-size:12.8px;line-height:1.78;color:#75665b}
.qol-guide-urgent{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px 22px;border-radius:12px;border:1px solid #dccab7;background:#f9f1e7}
.qol-guide-urgent>div{min-width:0}
.qol-guide-urgent strong{display:block;font-size:14.5px;color:#634735;line-height:1.4;margin-bottom:6px}
.qol-guide-urgent p{margin:0;color:#6b5a4d;font-size:12.9px;line-height:1.8}
.qol-guide-urgent a{display:inline-flex;align-items:center;gap:7px;flex:none;padding:11px 14px;min-height:44px;border:1px solid #c8b297;background:#fffcf8;color:#694e3c;border-radius:30px;text-decoration:none;font-size:12.5px;font-weight:700;white-space:nowrap}
.qol-guide-urgent a svg{width:16px;height:16px}
.qol-guide-urgent a:hover{background:white;border-color:#a68765}
.qol-guide-urgent a:focus-visible{outline:2px solid #94775c;outline-offset:3px}
@media(max-width:760px){
 .qol-guide{margin-top:26px;padding-top:23px}
 .qol-guide h2{font-size:23px}
 .qol-guide-intro{font-size:13px}
 .qol-guide-list{grid-template-columns:1fr;gap:9px}
 .qol-guide-list li:last-child:nth-child(odd){grid-column:auto}
 .qol-guide-list li{padding:15px}
 .qol-guide-urgent{padding:18px;flex-direction:column;align-items:stretch;gap:13px}
 .qol-guide-urgent a{align-self:flex-start}
}

/* Official Afterpay and Newmarket logos remain unaltered on the same card treatment. */
.partner-logo-card[href*="afterpay.com"] .partner-logo-img img,
.partner-logo-card[href*="newmarket.co.nz"] .partner-logo-img img{
  max-width:min(93%,222px);max-height:61px;object-fit:contain
}
@media(max-width:720px){
 .partner-logo-card[href*="afterpay.com"] .partner-logo-img img,
 .partner-logo-card[href*="newmarket.co.nz"] .partner-logo-img img{
  max-width:min(98%,176px);max-height:51px
 }
}

/* In-depth service guides and end-of-life consultation. Purposeful, calm
   typography rather than repeating short marketing cards. */
.service-depth-guide{margin:31px 0 0;padding:27px 0 0;border-top:1px solid #e7dacc}
.service-depth-guide h2{margin:8px 0 16px;color:#554337;font-size:clamp(22px,2.1vw,29px);line-height:1.36;letter-spacing:-.015em}
.service-depth-items{display:grid;gap:0}
.service-depth-item{padding:17px 0 18px;border-top:1px solid #eee5da}
.service-depth-item:first-child{border-top:0;padding-top:6px}
.service-depth-item h3{color:#5b4638;font-size:15px;line-height:1.4;font-weight:720;margin:0 0 7px}
.service-depth-item p{color:#6a5a4d;font-size:13.5px;line-height:1.88;margin:0;max-width:740px}
.service-depth-disclaimer{margin:7px 0 0;color:#887466;line-height:1.75;font-size:11.8px}
.eol-guide{border-top:1px solid #dbc9b8;margin:41px 0 0;padding:35px 0 0}
.eol-guide>h2{color:#503d31;font-size:clamp(24px,2.45vw,32px);line-height:1.26;margin:8px 0 13px;letter-spacing:-.015em}
.eol-guide-intro{max-width:760px;color:#635348;line-height:1.9;font-size:14px;margin:0 0 22px}
.eol-guide-steps{display:grid;gap:0;border-top:1px solid #e9ded1}
.eol-guide-step{padding:18px 0 20px;border-bottom:1px solid #e9ded1}
.eol-guide-step h3{font-size:15px;font-weight:735;color:#594433;margin:0 0 9px;line-height:1.45}
.eol-guide-step p{font-size:13.5px;line-height:1.9;color:#68574b;margin:0}
.eol-guide-note{color:#786455;font-size:12.2px;line-height:1.83;margin:14px 0 0}
.gentle-waves-choice{margin-top:30px;padding:25px 23px 23px;background:#fcf7f0;border:1px solid #dfcebb;border-radius:14px;scroll-margin-top:125px}
.gentle-waves-identity{display:flex;gap:18px;align-items:center}
.gentle-waves-identity img{display:block;flex:none;width:150px;height:67px;max-width:38%;object-fit:contain;padding:7px;background:#fff;border:1px solid #ede4dc;border-radius:9px}
.gentle-waves-identity>div{min-width:0}
.gentle-waves-choice .eyebrow{font-size:10px;color:#8e735b}
.gentle-waves-choice h2{font-size:clamp(18px,2vw,24px);line-height:1.32;color:#553f30;margin:6px 0 0}
.gentle-waves-lead{font-size:13.5px;line-height:1.87;color:#635347;margin:18px 0 15px}
.gentle-waves-options{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.gentle-waves-options li{background:rgba(255,255,255,.76);padding:13px 14px;border:1px solid #e9ddcf;border-radius:9px;min-width:0;display:flex;flex-direction:column;gap:7px}
.gentle-waves-options strong{font-size:12.9px;line-height:1.45;color:#604b3c}
.gentle-waves-options span{font-size:12px;line-height:1.74;color:#766356}
.gentle-waves-foot{font-size:12px;color:#78665a;line-height:1.8;margin:17px 0 16px}
.gentle-waves-links{display:flex;flex-wrap:wrap;gap:9px}
.gentle-waves-links a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:12px;font-weight:720;color:#664d39;background:white;border:1px solid #d8c2ab;border-radius:40px;padding:10px 12px;line-height:1.4;min-height:42px}
.gentle-waves-links a:hover{background:#f5ece2;border-color:#a88c70}
.gentle-waves-links a:focus-visible{outline:2px solid #8b6c52;outline-offset:3px}
.gentle-waves-links a svg{width:14px;height:14px;flex:none}
.eol-guide-urgent{background:#f5ece1;border-left:3px solid #a88a6d;margin-top:24px;padding:16px 18px;display:flex;align-items:start;flex-wrap:wrap;gap:8px 16px}
.eol-guide-urgent strong{display:block;font-size:13.5px;color:#583f30;flex-basis:100%}
.eol-guide-urgent p{margin:0;line-height:1.8;color:#6c5646;font-size:12.8px;flex:1 1 300px}
.eol-guide-urgent a{font-size:12px;color:#654634;font-weight:720;display:inline-flex;align-items:center;gap:6px}
.eol-guide-urgent a svg{height:14px;width:14px}
#euthanasia{scroll-margin-top:120px}
@media(max-width:740px){
 .service-depth-guide{margin-top:23px;padding-top:20px}
 .service-depth-guide h2{font-size:23px}
 .service-depth-item{padding:14px 0 15px}
 .eol-guide{margin-top:31px;padding-top:27px}
 .eol-guide>h2{font-size:25px}
 .eol-guide-intro,.eol-guide-step p{font-size:13.2px}
 .gentle-waves-choice{padding:19px 15px}
 .gentle-waves-options{grid-template-columns:1fr;gap:8px}
 .gentle-waves-identity{gap:12px;align-items:flex-start}
 .gentle-waves-identity img{width:110px;height:58px}
 .gentle-waves-choice h2{font-size:20px}
 .gentle-waves-links a{font-size:11.5px}
}

/* Pet travel: prominent service discovery without implying export accreditation. */
.pet-travel-feature{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 27px;margin-top:30px;background:#f8f1e8;border:1px solid #e4d4c3;border-radius:14px}
.pet-travel-feature-copy{max-width:760px;min-width:0}
.pet-travel-feature h2{color:#503e32;font-size:clamp(20px,2.1vw,26px);line-height:1.32;margin:7px 0 9px;letter-spacing:-.015em}
.pet-travel-feature p{color:#6d5b4e;font-size:13.5px;line-height:1.77;margin:0}
.pet-travel-feature-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 15px;border-radius:24px;background:#5b4d43;color:#fff;font-size:12.5px;line-height:1.4;font-weight:700;text-decoration:none;white-space:nowrap}
.pet-travel-feature-link:hover{background:#45382f}
.pet-travel-feature-link:focus-visible{outline:3px solid #9b7f64;outline-offset:3px}
.pet-travel-feature-link svg{width:17px;height:17px;flex-shrink:0}
.travel-export-guidance{padding:24px 25px;margin:28px 0 8px;background:#fbf7f1;border:1px solid #e5d7c7;border-radius:12px}
.travel-export-guidance h2{font-size:21px;line-height:1.35;color:#503e32;margin:10px 0}
.travel-export-guidance p{font-size:13.5px;line-height:1.85;color:#6b5b4f;margin:0 0 14px}
.travel-export-official-links{display:flex;gap:10px 22px;flex-wrap:wrap}
.travel-export-official-links a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12.5px;font-weight:700;color:#70553e;text-decoration:underline;text-underline-offset:3px}
.travel-export-official-links a svg{width:15px;height:15px}
.travel-export-official-links a:focus-visible{outline:2px solid #9b7f64;outline-offset:3px}
@media(max-width:760px){
 .pet-travel-feature{flex-direction:column;align-items:flex-start;padding:20px 18px;gap:15px}
 .pet-travel-feature h2{font-size:22px}
 .pet-travel-feature p{font-size:13px}
 .pet-travel-feature-link{white-space:normal}
 .travel-export-guidance{padding:19px 16px}
 .travel-export-guidance h2{font-size:20px}
 .travel-export-guidance p{font-size:13px}
}

/* Paw Hub, editorial partner profile: logo + heading, then full-width copy.
   The former two-column card squeezed text beside the image at tablet widths. */
.grooming-pawhub{
 display:block;min-width:0;max-width:100%;box-sizing:border-box;
 margin:38px 0 40px;padding:clamp(20px,2.6vw,30px);
 border:1px solid #e5d8c9;border-radius:18px;background:#fdf9f3;
}
.grooming-pawhub-head{display:flex;align-items:center;gap:20px;min-width:0;margin-bottom:20px}
.grooming-pawhub-logo{
 display:flex;align-items:center;justify-content:center;flex:0 0 122px;
 width:122px;height:114px;min-height:0;padding:10px;
 background:#fff;border:1px solid #eee3d6;border-radius:13px;
 box-sizing:border-box;
}
.grooming-pawhub-logo img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.grooming-pawhub-heading-copy,.grooming-pawhub-copy{min-width:0;max-width:100%}
.grooming-pawhub-heading-copy .eyebrow{display:block;font-size:10.5px;letter-spacing:.11em;line-height:1.5}
.grooming-pawhub-heading-copy h2{font-size:clamp(20px,2.35vw,27px);line-height:1.25;margin:10px 0 8px;color:#503f34;overflow-wrap:normal}
.grooming-pawhub-since{display:block;font-size:12px;color:#8e735d;line-height:1.55}
.grooming-pawhub-copy p{max-width:66ch;font-size:14px;line-height:1.8;color:#64574b;margin:0 0 11px;overflow-wrap:break-word}
.grooming-pawhub-copy p.grooming-pawhub-note{font-size:13px;color:#7b6a5b;margin-bottom:0}
.grooming-pawhub-actions{
 display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));
 gap:11px;margin-top:22px;max-width:100%;
}
.grooming-pawhub-actions a{
 display:flex;justify-content:space-between;align-items:center;gap:10px;
 min-width:0;min-height:46px;padding:11px 16px;box-sizing:border-box;
 font-size:13px;font-weight:700;line-height:1.5;
 border-radius:10px;text-decoration:none;white-space:normal;
}
.grooming-pawhub-actions a > span:first-child{min-width:0;overflow-wrap:break-word}
.grooming-pawhub-actions .grooming-pawhub-action--primary{background:#5b4d43;color:#fff;border:1px solid #5b4d43}
.grooming-pawhub-actions .grooming-pawhub-action--primary:hover{background:#45382f}
.grooming-pawhub-actions .grooming-pawhub-action--secondary{background:#fff;color:#5b4d43;border:1px solid #d6c5b3}
.grooming-pawhub-actions .grooming-pawhub-action--secondary:hover{background:#f5ede3}
.grooming-pawhub-action-icon{font-size:16px;font-weight:500;flex:0 0 auto;line-height:1;display:block}
.grooming-pawhub a:focus-visible{outline:3px solid #a88a66;outline-offset:3px}
.partner-logo-card img[src$="paw-hub-logo.webp"]{max-height:76px}
@media(max-width:650px){
 .grooming-pawhub{padding:20px 18px;margin:32px 0 34px}
 .grooming-pawhub-head{gap:14px;margin-bottom:15px}
 .grooming-pawhub-logo{flex-basis:102px;width:102px;height:102px;padding:8px}
 .grooming-pawhub-heading-copy h2{font-size:21px;margin:7px 0 5px}
 .grooming-pawhub-copy p{font-size:13.5px;line-height:1.75}
 .grooming-pawhub-actions{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:380px){
 .grooming-pawhub{padding:19px 15px}
 .grooming-pawhub-logo{flex-basis:90px;width:90px;height:90px}
 .grooming-pawhub-head{gap:12px}
 .grooming-pawhub-heading-copy h2{font-size:19px}
 .grooming-pawhub-heading-copy .eyebrow{font-size:9px}
 .grooming-pawhub-since{font-size:10.5px}
}
/* Four-up information cards: equal-height editorial previews instead of one wide slide */
.home-featured{padding:50px 0 57px;background:#FBF8F4}
.home-featured-head{margin-bottom:20px;gap:22px}
.home-featured-head h2{margin:0;line-height:1.3}
.home-carousel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:stretch;min-width:0}
.home-carousel .home-slide{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:345px;height:100%;padding:0;overflow:hidden;min-width:0;background:#FFFCF8;border:1px solid #E7D9C9;border-radius:15px;box-shadow:0 4px 16px rgba(62,44,26,.035);transition:transform .18s ease,box-shadow .18s ease}
.home-carousel .home-slide[hidden]{display:none!important}
.home-carousel .home-slide:hover{transform:translateY(-2px);box-shadow:0 13px 26px rgba(62,44,26,.1)}
.home-carousel .home-slide:focus-visible{outline:3px solid #967957;outline-offset:3px}
.home-carousel .home-slide-image{width:100%;height:auto;aspect-ratio:1.6;overflow:hidden;flex:none;border-radius:0;background:#F1EBE3;margin:0}
.home-carousel .home-slide-image img{display:block;width:100%;height:100%;object-fit:cover}
.home-carousel .home-slide-copy{padding:15px 15px 17px;display:flex;flex-direction:column;flex:1;min-width:0;gap:0}
.home-carousel .home-slide .eyebrow{font-size:9.8px;line-height:1.4;letter-spacing:.07em;color:#9B8064}
.home-carousel .home-slide h3{font-size:15px;line-height:1.45;font-weight:700;margin:11px 0 10px;color:#44352D;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-carousel .home-slide p{font-size:12px;line-height:1.68;margin:0 0 15px;color:#746457;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:unset}
.home-carousel .home-slide .text-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;color:#78583D;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.home-carousel .home-slide .text-link svg{width:15px;height:15px}
.home-carousel-actions button{display:inline-flex;align-items:center;justify-content:center;font-size:20px;transition:background .18s ease}
.home-carousel-actions button:hover:not(:disabled){background:#EADFD1}
.home-carousel-actions button:disabled{opacity:.35;cursor:default;background:#FBF7F1}
@media(max-width:1079px){.home-carousel{grid-template-columns:repeat(2,minmax(0,1fr))}.home-carousel .home-slide{min-height:350px}.home-carousel .home-slide-image{aspect-ratio:1.7}}
@media(max-width:639px){.home-featured{padding:32px 0 40px}.home-featured-head{align-items:center;margin-bottom:17px}.home-featured-head h2{font-size:25px}.home-carousel{grid-template-columns:minmax(0,1fr)}.home-carousel .home-slide{min-height:340px}.home-carousel .home-slide-image{aspect-ratio:1.8}.home-carousel .home-slide h3{font-size:17px;margin:9px 0}.home-carousel .home-slide p{font-size:13px;line-height:1.65}.home-carousel .home-slide-copy{padding:17px}}

/* Homepage arrival guide replaces the redundant "Welcome to Broadway Vet" strip */
.location-feature{background:#F2EAE0;border-top:1px solid #E8DCCD;padding:47px 0 53px}
.location-feature-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}
.location-feature-heading h2{color:#4E3D32;font-size:clamp(25px,2.7vw,37px);line-height:1.2;margin:10px 0}
.location-feature-heading p{color:#766354;font-size:13px;line-height:1.6;margin:0}
.location-feature-more{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:750;color:#79583D;text-decoration:underline;text-underline-offset:4px}
.location-feature-more svg{width:16px;height:16px}
/* Balanced desktop cards: equal-height map and parking guide, with no dead space. */
.location-feature-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:22px;align-items:stretch}
.location-feature-map{background:#FFFBF6;padding:10px;border:1px solid #E6D8C7;border-radius:17px;display:flex;flex-direction:column;min-width:0;min-height:0}
.location-feature-map iframe{display:block;width:100%;height:285px;min-height:285px;flex:1 1 285px;border:0;border-radius:11px;background:#EADFD1}
.location-feature-map>a{padding:12px 8px 3px;display:inline-flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;color:#765840;font-size:12px;font-weight:750}
.location-feature-map>a:hover{text-decoration:underline}
.location-feature-options{border:1px solid #E6D8C7;background:#FFFBF6;border-radius:17px;padding:19px 21px;display:flex;flex-direction:column;min-width:0}
.location-feature-options article{display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px;padding:10px 0 12px;border-bottom:1px solid #EAE0D5}
.location-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#E9DAC7;color:#886A50;font-size:11px;font-weight:750}
.location-feature-options h3{font-size:14px;line-height:1.4;font-weight:750;color:#49372D;margin:0 0 5px}
.location-feature-options p{font-size:12px;line-height:1.65;color:#705D50;margin:0}
/* Keep the detail link aligned with the map-card bottom; expanded parking advice fills the card naturally. */
.location-feature-cta{display:inline-flex;justify-content:space-between;gap:8px;align-items:center;margin-top:auto;padding:18px 0 1px;min-height:40px;font-weight:750;font-size:13px;color:#795A41;text-decoration:none}
.location-feature-cta svg{height:16px;width:16px}
.location-feature-cta:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.location-feature{padding:34px 0 40px}.location-feature-heading{align-items:start;flex-direction:column;gap:12px}.location-feature-grid{grid-template-columns:1fr;align-items:start}.location-feature-map iframe{height:280px;min-height:280px;flex:0 0 auto}.location-feature-options{padding:17px}.location-feature-cta{margin-top:12px}}
@media(max-width:420px){.location-feature-map iframe{height:235px;min-height:235px}.location-feature-heading h2{font-size:26px}}

/* Footer WeChat QR complements existing Instagram and Facebook links */
.footer-wechat{display:flex;align-items:center;gap:13px;margin-top:20px;max-width:285px}
.footer-wechat-qr{display:block;flex:none;background:#FFFDF8;width:86px;height:86px;object-fit:contain;padding:5px;border:1px solid rgba(255,255,255,.3);border-radius:9px}
.footer-wechat div{display:flex;flex-direction:column;gap:8px;min-width:0}
.footer-wechat strong{color:#F3DDC6;font-size:12px;line-height:1.3}
.footer-wechat span{color:#DFCCBB;font-size:11px;line-height:1.55}
@media(max-width:680px){.footer-wechat{margin-top:18px;max-width:none}.footer-wechat-qr{width:88px;height:88px}}

/* Supplementary, readable parasite product comparisons */
.parasite-products{margin:38px 0 0}
.parasite-products-head h2{font-size:clamp(23px,2.5vw,30px);line-height:1.3;color:#554133;margin:11px 0 10px}
.parasite-products-head p{font-size:13.5px;color:#746357;line-height:1.75;margin:0 0 19px}
.parasite-products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.parasite-product-card{position:relative;display:flex;flex-direction:column;padding:22px 18px 17px;border:1px solid #E5D7C7;border-radius:14px;background:#FFFCF8;min-width:0}
.parasite-product-index{display:inline-flex;align-items:center;justify-content:center;background:#EEE2D4;color:#8D704F;width:31px;height:31px;border-radius:50%;font-size:11px;font-weight:750;margin-bottom:13px}
.parasite-product-card h3{font-size:16px;line-height:1.35;color:#4F3D30;margin:0 0 7px}
.parasite-product-card>strong{color:#8B694D;font-size:12px;font-weight:700;margin-bottom:10px}
.parasite-product-card p{font-size:12.5px;color:#705F52;line-height:1.7;margin:0 0 9px}
.parasite-product-card a{font-size:12px;font-weight:750;color:#775A41;text-decoration:underline;text-underline-offset:3px;margin-top:auto;padding-top:11px}
.parasite-products-note{font-size:12px;color:#8A7665;margin:16px 0 0;line-height:1.75;border-left:3px solid #CDB69D;padding:6px 0 6px 11px}
@media(max-width:650px){.parasite-products-grid{grid-template-columns:1fr}.parasite-product-card{padding:18px 15px}}

/* Related service navigation within dental, surgical and boarding subpages */
.service-related{margin-top:40px;border-top:1px solid #E8DBCE;padding-top:26px}
.service-related h2{color:#4E3C2D;font-size:24px;line-height:1.3;margin:8px 0 18px}
.service-related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-related-link{display:flex;align-items:center;justify-content:space-between;gap:9px;border:1px solid #E6D8C6;background:#FCF8F2;color:#70523E;font-weight:700;font-size:13px;line-height:1.45;text-decoration:none;padding:15px 13px;border-radius:10px}
.service-related-link:hover{background:#F1E6D8}
.service-related-link svg{width:16px;height:16px;flex:none}
.service-related>p{font-size:11px;line-height:1.7;color:#8A7565;margin:14px 0 0}
@media(max-width:560px){.service-related-links{grid-template-columns:1fr}.service-related h2{font-size:22px}}

/* V9.1 — Only one clear, accessible destination link per service row. */
.detail-item>.item-number,.detail-item .item-number{color:#A5896D}
.detail-item-title-link{display:inline-flex;align-items:center;gap:8px}
.detail-item-title-link svg{width:17px;height:17px}
@media(max-width:680px){.detail-item-title-link svg{width:16px;height:16px}}

/* V10: Keep the complete official paw mark inside the header without clipping. */
.site-header .brand{overflow:visible}
.site-header .brand-logo{width:62px;height:62px;flex:0 0 62px;overflow:visible}
.site-header .brand-logo img{display:block;width:58px;height:58px;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
@media(max-width:680px){.site-header .brand-logo{width:45px;height:48px;flex-basis:45px}.site-header .brand-logo img{width:44px;height:44px}}
/* Product headings use usage categories rather than a meaningless numeric ranking. */
.parasite-product-index{width:auto;height:auto;min-width:0;padding:7px 11px;border-radius:99px;text-transform:uppercase;font-size:10px;letter-spacing:.035em}
.article-package-panel{scroll-margin-top:140px}

/* V13: the slogan is live typography, never an opaque email-banner image. */
.brand-signature{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;width:100%;max-width:100%;background:none!important;border:none!important;box-shadow:none!important}
.brand-signature-en{
 font-family:'Dancing Script','Segoe Script','Brush Script MT',cursive!important;
 font-weight:500!important;font-style:normal!important;letter-spacing:-.023em!important;
 line-height:1.07!important;color:inherit!important;margin:0!important;
 text-transform:none!important;max-width:100%;
}
.brand-signature-en span{display:block;white-space:nowrap}
.brand-signature-zh{display:block;font-family:'Ma Shan Zheng','KaiTi','STKaiti',serif;font-weight:400;line-height:1.38;letter-spacing:.025em;white-space:normal;color:inherit}
.brand-signature--hero{max-width:620px;color:#523D30;margin:3px 0 24px}
.hero--compact .hero-copy .brand-signature--hero .brand-signature-en{font-size:clamp(49px,5.15vw,72px)!important}
.brand-signature--hero .brand-signature-zh{font-size:clamp(20px,2.13vw,27px);margin:12px 0 0 7%;color:#604839}
.brand-signature--about{max-width:610px;color:#5A4337;margin:5px 0 27px}
.about-split .brand-signature--about .brand-signature-en{font-size:clamp(46px,4.7vw,67px)!important}
.brand-signature--about .brand-signature-zh{font-size:clamp(18px,1.8vw,23px);margin:10px 0 0 5%}
.brand-signature--footer{max-width:355px;color:#F1DBC2;margin:4px 0 16px}
.site-footer .brand-signature--footer .brand-signature-en{font-size:clamp(36px,3.1vw,44px)!important}
.brand-signature--footer .brand-signature-zh{color:#E5CEB5;font-size:clamp(16px,1.5vw,19px);margin:11px 0 0 3%}
@media (min-width:821px) and (max-width:1220px){
 .hero--compact .hero-copy .brand-signature--hero .brand-signature-en{font-size:clamp(44px,4.7vw,59px)!important}
 .brand-signature--hero .brand-signature-zh{font-size:clamp(19px,2vw,23px)}
}
@media (max-width:820px){
 .brand-signature--hero{max-width:570px;margin:0 0 18px}
 .hero--compact .hero-copy .brand-signature--hero .brand-signature-en{font-size:clamp(43px,7.4vw,61px)!important}
 .brand-signature--hero .brand-signature-zh{font-size:clamp(19px,3vw,24px)}
 .brand-signature--about{max-width:560px}
 .about-split .brand-signature--about .brand-signature-en{font-size:clamp(43px,7.4vw,60px)!important}
}
@media (max-width:480px){
 .hero--compact .hero-copy .brand-signature--hero .brand-signature-en{font-size:clamp(34px,9.1vw,44px)!important}
 .brand-signature--hero .brand-signature-zh{font-size:clamp(17px,4.4vw,21px);margin:12px 0 0 3%}
 .about-split .brand-signature--about .brand-signature-en{font-size:clamp(33px,8.7vw,43px)!important}
 .brand-signature--about .brand-signature-zh{font-size:clamp(17px,4.4vw,21px);margin-left:3%}
 .site-footer .brand-signature--footer .brand-signature-en{font-size:clamp(35px,9.2vw,43px)!important}
 .brand-signature--footer .brand-signature-zh{font-size:17px}
}
/* Editorial browsing: all articles remain in HTML for search engines.
   Topic filters progressively enhance the complete article archive. */
.home-featured-more{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 23px;margin-top:18px}
.home-featured-more a{display:inline-flex;align-items:center;min-height:44px;gap:7px;color:#70543e;font-size:12.5px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.home-featured-more a svg{width:16px;height:16px;flex-shrink:0}
.home-featured-more a:focus-visible{outline:2px solid #977653;outline-offset:4px;border-radius:3px}
.blog-topic-browser{margin:0 0 31px}
.blog-topic-intro{margin-bottom:12px;font-size:13px;font-weight:700;color:#645144}
.blog-topic-nav{display:flex;flex-wrap:wrap;gap:9px}
.blog-topic-nav button{min-height:44px;padding:10px 15px;border-radius:24px;border:1px solid #d9c9b9;background:#fffaf4;color:#654f40;font:inherit;font-size:12.5px;line-height:1.3;cursor:pointer;transition:background .16s,border-color .16s}
.blog-topic-nav button span{margin-left:4px;font-size:11px;opacity:.7}
.blog-topic-nav button[aria-pressed="true"]{background:#5b4d43;border-color:#5b4d43;color:#fff}
.blog-topic-nav button:hover:not([aria-pressed="true"]){background:#f1e8dc;border-color:#ad947e}
.blog-topic-nav button:focus-visible{outline:2px solid #96775b;outline-offset:3px}
.blog-topic-count{font-size:12px;color:#806b5a;margin:13px 0 0}
.story-grid .story-card[hidden]{display:none!important}
@media(max-width:640px){
 .home-featured-more{justify-content:flex-start;gap:1px 20px}
 .blog-topic-browser{margin-bottom:23px}
 .blog-topic-nav{gap:8px}
 .blog-topic-nav button{padding:10px 12px;font-size:12px}
}
/* About: actual team members, roles and restrained no-photo profiles. */
.team-directory{background:#F7F0E7;padding:70px 0 78px}
.team-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:36px}
.team-directory-heading h2{font-family:var(--display);font-size:clamp(28px,3.1vw,43px);line-height:1.22;color:#4F3F33;max-width:730px;margin:11px 0 12px}
.team-directory-heading p{color:#706054;line-height:1.76;font-size:14px;max-width:760px;margin:0}
.team-contact-link{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#775941;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;padding-bottom:9px}
.team-contact-link svg{width:17px;height:17px}
.team-group{margin-top:32px}
.team-group>h3{color:#795F49;font-size:13px;font-weight:750;letter-spacing:.05em;margin:0 0 14px;display:flex;align-items:center;gap:13px}
.team-group>h3:after{content:'';flex:1;border-top:1px solid #DFD0C0}
.team-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.team-card{display:flex;flex-direction:column;background:#FFFCF7;border:1px solid #E6D9CA;border-radius:15px;padding:25px 23px 27px;min-width:0;box-shadow:0 3px 12px rgba(75,52,30,.025)}
.team-card-heading{display:flex;flex-direction:column;justify-content:flex-start;min-height:98px}
.team-card h4{margin:0;font-size:18px;font-weight:750;line-height:1.42;letter-spacing:0;color:#49382E;overflow-wrap:anywhere}
.team-card-role{margin:7px 0 0!important;color:#8B6C50!important;font-size:12px!important;line-height:1.55!important;font-weight:720!important}
.team-card-bio{margin:0!important;padding-top:15px;border-top:1px solid #EEE3D7;color:#63574E!important;font-size:13.15px!important;line-height:1.85!important}
.team-group:last-child .team-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.team-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.team-group:last-child .team-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.team-directory{padding:55px 0}}
@media(max-width:640px){.team-directory{padding:38px 0 44px}.team-directory-heading{display:block;margin-bottom:23px}.team-directory-heading h2{font-size:29px}.team-contact-link{margin-top:13px}.team-cards,.team-group:last-child .team-cards{grid-template-columns:1fr;gap:11px}.team-card{padding:20px 19px 22px}.team-card-heading{min-height:0;margin-bottom:14px}.team-card h4{font-size:17px}.team-group{margin-top:24px}}

/* Management follows every care team, with quieter horizontal profiles. */
.team-group--management{margin-top:48px;padding-top:30px;border-top:1px solid #D8C8B7}
.team-group--management>h3{margin-bottom:10px}
.team-management-intro{max-width:760px;margin:0 0 22px;color:#706054;font-size:13px;line-height:1.8}
.team-group.team-group--management .team-cards{grid-template-columns:minmax(0,1fr);gap:0;border:1px solid #E0D3C4;border-radius:15px;overflow:hidden;background:#F5ECE1}
.team-group--management .team-card{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.8fr);gap:28px;padding:24px;background:transparent;border:0;border-radius:0;box-shadow:none}
.team-group--management .team-card+.team-card{border-top:1px solid #E0D3C4}
.team-group--management .team-card-heading{min-height:0;margin:0}
.team-group--management .team-card-bio{padding:0;border:0}
@media(max-width:640px){
 .team-group--management{margin-top:34px;padding-top:24px}
 .team-group--management .team-card{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px 19px}
 .team-management-intro{margin-bottom:18px}
}

/* Contact: one-tap direct channels replace the form entirely. */
.contact-section--direct .contact-grid{grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr);gap:clamp(25px,5vw,75px);align-items:stretch}
/* Make the location/hours and contact channels two aligned full-height panels. */
.contact-section--direct .contact-information{
 display:flex;flex-direction:column;min-width:0;
 padding:29px;border:1px solid #E6D8C9;border-radius:18px;background:#F6EFE6
}
.contact-section--direct .contact-information .contact-card{
 margin:0 0 23px;padding:0 0 23px;border-bottom:1px solid #E5D7C8
}
.contact-section--direct .contact-hours{
 display:flex;flex:1;flex-direction:column;min-width:0;
 padding:0;border-radius:0;background:transparent
}
.contact-section--direct .contact-hours .hours-public-note{
 margin-top:auto!important;padding-top:14px
}
.contact-section--direct .contact-direct-panel{
 display:flex;flex-direction:column;min-width:0
}
.contact-section--direct .contact-wechat-direct{margin-top:auto}
.contact-direct-panel{border:1px solid #E6D8C9;background:#F6EFE6;border-radius:18px;padding:29px 29px 25px}
.contact-direct-panel h2{font-family:var(--display);font-size:clamp(27px,3vw,38px);line-height:1.2;color:#514034;margin:9px 0 12px}
.contact-direct-panel>p{font-size:13.5px;line-height:1.8;color:#706156;margin:0 0 20px}
.contact-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-method-card{display:flex;align-items:flex-start;gap:10px;position:relative;padding:16px 13px 16px 14px;min-width:0;background:#FFFCF8;border:1px solid #E4D6C7;border-radius:12px;text-decoration:none;transition:transform .17s ease,border-color .17s ease,background .17s ease}
.contact-method-card:hover{transform:translateY(-2px);border-color:#B79A79;background:white}
.contact-method-card:focus-visible{outline:3px solid #A38563;outline-offset:2px}
.contact-method-icon{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border-radius:10px;background:#F2E6D8;color:#80644F}
.contact-method-copy{display:flex;flex-direction:column;gap:5px;min-width:0;padding-top:1px}
.contact-method-copy>strong{font-size:13px;color:#513E31;line-height:1.35}
.contact-method-copy>span{font-size:12px;line-height:1.5;color:#785C47;overflow-wrap:anywhere}
.contact-method-copy>small{font-size:10.5px;color:#8C7A6A;line-height:1.5}
.contact-method-arrow{position:absolute;top:9px;right:10px;color:#A4896A;font-size:11px}
.contact-social-links{display:flex;flex-wrap:wrap;gap:9px;margin:19px 0}
.contact-social-links a{border:1px solid #D8C6B4;border-radius:100px;background:#FFFBF6;color:#785D47;font-size:12px;padding:9px 15px;text-decoration:none}
.contact-social-links a:hover{background:white}
.contact-wechat-direct{display:flex;align-items:center;gap:18px;border-top:1px solid #E5D7C8;padding-top:19px;margin-top:5px}
.contact-direct-qr{display:block;width:108px;height:108px;object-fit:contain;background:white;border:1px solid #E3D5C4;border-radius:10px;padding:7px}
.contact-wechat-direct>div:last-child{min-width:0}
.contact-wechat-direct strong{color:#503D30;font-size:14px}
.contact-wechat-direct p{font-size:12px;line-height:1.7;color:#746155;margin:6px 0 0}
.hours-public-note{border-left:2px solid #D9BA98;padding-left:10px;margin:15px 0 0!important;color:#8C735E!important;font-size:11px!important;line-height:1.7!important;font-weight:500}
@media(max-width:880px){.contact-section--direct .contact-grid{grid-template-columns:1fr;gap:18px}.contact-section--direct .contact-information,.contact-direct-panel{padding:23px}.contact-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-section--direct .contact-wechat-direct{margin-top:5px}}
@media(max-width:500px){.contact-method-grid{grid-template-columns:1fr}.contact-section--direct .contact-information,.contact-direct-panel{padding:19px}.contact-section--direct .contact-information .contact-card{margin-bottom:19px;padding-bottom:19px}.contact-method-card{padding:13px}.contact-wechat-direct{gap:13px}.contact-direct-qr{width:96px;height:96px}}

/* Instagram: original clinic posts, locally optimized and browsable on
   desktop (arrow buttons/trackpad) and touch devices (horizontal swipe). */
.ig-gallery{padding:49px 0 51px}
.ig-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:21px}
.ig-head>div:first-child{min-width:0;flex:1}
.ig-head p{max-width:750px}
.ig-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex:none}
.ig-carousel-controls{display:inline-flex;align-items:center;gap:8px}
.ig-carousel-controls button{
 display:inline-flex;align-items:center;justify-content:center;
 width:40px;height:40px;min-width:40px;border-radius:50%;
 border:1px solid #d6c6b6;background:#fffbf6;color:#695442;
 font-size:25px;line-height:1;cursor:pointer;
 transition:background .18s ease,border-color .18s ease
}
.ig-carousel-controls button:not(:disabled):hover{background:#f5eade;border-color:#ac9175}
.ig-carousel-controls button:focus-visible{outline:2px solid #917556;outline-offset:3px}
.ig-carousel-controls button:disabled{opacity:.34;cursor:default}
.ig-grid{
 --ig-card-size:clamp(178px,18vw,232px);
 display:grid;grid-auto-flow:column;
 grid-template-columns:none;grid-template-rows:repeat(2,var(--ig-card-size));
 grid-auto-columns:var(--ig-card-size);
 gap:11px;overflow-x:auto;overflow-y:hidden;
 padding:2px 2px 14px;
 scroll-behavior:smooth;scroll-snap-type:x proximity;
 scrollbar-width:thin;scrollbar-color:#c4b29e transparent;
 overscroll-behavior-inline:contain;
 -webkit-overflow-scrolling:touch
}
.ig-grid:focus-visible{outline:2px solid #9e866b;outline-offset:3px;border-radius:10px}
.ig-tile{
 display:block;position:relative;width:100%;height:100%;min-width:0;min-height:0;
 border-radius:12px;border:1px solid #eaddd0;aspect-ratio:1/1;
 background:#e8ddd1;scroll-snap-align:start;overflow:hidden
}
.ig-tile img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.ig-media-tag{
 position:absolute;top:9px;left:9px;padding:5px 8px;border-radius:100px;
 color:white;font-size:10px;background:rgba(40,32,27,.6);backdrop-filter:blur(7px)
}
.ig-play-indicator{
 position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
 display:grid;place-items:center;width:56px;height:56px;
 background:rgba(255,249,241,.94);border:1px solid white;border-radius:50%;
 color:#6d533e;font-size:23px;text-indent:4px;
 box-shadow:0 7px 19px rgba(30,21,13,.12);pointer-events:none
}
.ig-tile:hover .ig-play-indicator{background:white}
.ig-caption{font-size:11px;padding:27px 10px 11px}
.ig-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:17px;margin-top:18px}
.ig-gallery-bottom span{color:#907a66;font-size:11.5px;line-height:1.5}
.ig-gallery-bottom a svg{width:16px;height:16px}
@media(max-width:850px){
 .ig-head{align-items:flex-start;flex-direction:column;gap:15px}
 .ig-head-actions{justify-content:space-between;width:100%}
}
@media(max-width:700px){
 .ig-gallery{padding:32px 0 33px}
 .ig-grid{--ig-card-size:clamp(145px,42vw,186px);gap:9px;padding:2px 2px 11px}
 .ig-caption{font-size:10px;line-height:1.3;padding:22px 8px 9px}
 .ig-media-tag{font-size:9px;top:6px;left:6px}
 .ig-play-indicator{width:44px;height:44px;font-size:19px}
 .ig-gallery-bottom{flex-direction:column;align-items:flex-start;gap:7px;margin-top:12px}
 .ig-carousel-controls button{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
 .ig-grid{scroll-behavior:auto}
 .ig-tile img{transition:none}
}

/* Footer: tighter columns, all useful actions on one deliberate baseline. */
.site-footer{padding:50px 0 18px;background:#453529}
.footer-top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.72fr) minmax(0,1.08fr) minmax(0,1.07fr);gap:clamp(15px,2.8vw,39px);padding-bottom:32px;align-items:start}
.footer-brand .eyebrow{letter-spacing:.14em;font-size:10px}
.footer-brand .footer-purpose{max-width:290px;color:#E0CDBD;font-size:12px;line-height:1.75;margin:14px 0 0}
.footer-col h3{margin:5px 0 14px;color:#E6C9A9;font-size:12px;letter-spacing:.04em}
.footer-col>a{font-size:12px;margin:0 0 10px;line-height:1.65;overflow-wrap:anywhere}
.footer-contact-main{display:flex!important;align-items:center;gap:8px;font-size:13px!important;font-weight:750}
.footer-hours .hour-line{font-size:11.5px;gap:10px;padding:5px 0;white-space:nowrap}
.footer-hours .hours-public-note{font-size:10.5px!important;color:#D6BCA3!important;border-color:#B49475;margin-top:12px!important}
.footer-connect{display:flex;align-items:center;gap:30px;padding:22px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.13);justify-content:space-between}
.footer-connect-social{display:flex;flex-direction:column;gap:9px}
.footer-connect-social .eyebrow{color:#E4C3A3;font-size:10px}
.footer-connect-social>div{display:flex;align-items:center;gap:17px}
.footer-connect-social a{font-size:12px;font-weight:700;color:#F2E1D1}
.footer-connect-social a:hover{text-decoration:underline}
.footer-connect-wechat{display:flex;align-items:center;gap:13px}
.footer-connect-wechat .footer-wechat-qr{display:block;width:74px;height:74px;object-fit:contain;padding:4px;background:white;border-radius:7px;border:1px solid #EAD5C0}
.footer-connect-wechat>div{display:flex;flex-direction:column;gap:4px}
.footer-connect-wechat strong{font-size:12px;font-weight:700;color:#F3DFC9}
.footer-connect-wechat span{font-size:11px;color:#DAC1AA;line-height:1.5}
.footer-connect-china{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(14px,1.8vw,25px);min-width:0}
.footer-connect-china .footer-connect-wechat{flex:none}
.footer-connect-xhs{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}
.footer-connect-xhs strong{font-size:12px;font-weight:700;color:#F3DFC9;line-height:1.4}
.footer-connect-xhs span{font-size:11px;color:#DAC1AA;line-height:1.5}
@media(max-width:1050px){.footer-connect-china{flex:1 1 auto}}
@media(max-width:600px){.footer-connect-china{flex:1 1 100%;gap:12px}.footer-connect-xhs{padding-left:13px}}
@media(max-width:385px){.footer-connect-xhs{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid rgba(255,255,255,.16);flex-basis:100%}}

.footer-book-link{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:12px 18px;border-radius:100px;background:#ECD8C2;color:#4B3529;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}
.footer-book-link:hover{background:#FFEEE0}
.footer-book-link svg{width:17px;height:17px}
.footer-bottom{border:0;padding:18px 0 0;color:#D7C3AF;font-size:10.5px}
.footer-measurement-choice{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 16px;margin-top:8px;padding:8px 0 0;border-top:1px solid rgba(255,255,255,.09);font-size:10.5px;color:#CCB9A7}
.footer-measurement-choice .measurement-settings-link{display:inline-flex;align-items:center;min-height:36px;padding:5px 0;color:#F4DFC9;font-size:10.5px;font-weight:650}
.footer-measurement-choice .measurement-settings-link:hover{text-decoration-thickness:2px}
.footer-measurement-choice .measurement-settings-link:focus-visible{outline:2px solid #E6C9A9;outline-offset:3px;border-radius:3px}
@media(max-width:600px){.footer-measurement-choice{justify-content:flex-start}}

@media(max-width:1050px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 35px}.footer-connect{flex-wrap:wrap}.site-footer{padding-top:43px}}
@media(max-width:600px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 20px}.footer-brand{grid-column:span 2}.footer-hours{grid-column:span 2;max-width:320px}.footer-connect{gap:20px;justify-content:space-between}.footer-connect-social{flex-basis:100%}.footer-connect-wechat{flex:1}.footer-book-link{font-size:11px;padding:12px}.footer-bottom{display:flex;flex-wrap:wrap;gap:10px 17px}}
@media(max-width:385px){.footer-top{grid-template-columns:1fr}.footer-brand,.footer-hours{grid-column:auto}.footer-col{padding-bottom:5px}.footer-connect-wechat .footer-wechat-qr{width:70px;height:70px}.footer-book-link{width:100%}}

/* V11 hotfix: bound the generic inline arrow SVG in the footer contact column. */
.site-footer .footer-col a svg{width:15px;height:15px;min-width:15px;display:inline-block;vertical-align:middle;flex:none}
.site-footer .footer-col a:has(svg){display:inline-flex;align-items:center;gap:8px}


/* Same content and composition at all widths: measured scaling, not different styling. */
.hero--compact .hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:clamp(12px,2.2vw,32px)}
.hero--compact .hero-copy{min-width:0}
.hero--compact .hero-actions{gap:12px}
.hero--compact .hero-actions .btn{min-height:46px}
.home-package,.service-card,.team-card{min-width:0}
@media(min-width:821px) and (max-width:1180px){
 .brand-signature--hero{max-width:min(100%,540px)!important}
 .hero--compact .hero-copy{padding:25px 0 42px}
 .hero--compact .hero-description{font-size:14px;line-height:1.75}
}
@media(max-width:820px){
 .hero--compact .hero-grid{display:flex;flex-direction:column;gap:10px}
 .hero--compact .hero-copy{padding:10px 0 7px;max-width:650px}
 .brand-signature--hero{width:100%!important;max-width:560px!important;margin:0 0 16px!important}
 .brand-signature--about{max-width:560px!important}
 .hero--compact .hero-description{max-width:580px}
 .hero--compact .hero-actions{display:flex;flex-wrap:wrap;gap:10px}
 .hero--compact .hero-art.hero-art--original-pets{align-self:center}
}
@media(max-width:480px){
 .brand-signature--hero{max-width:100%!important;margin-bottom:12px!important}
 .hero--compact .hero-actions .btn{flex:1 1 140px;min-width:0;padding:12px 14px;gap:8px;white-space:normal;text-align:center}
 .hero--compact .hero-description{font-size:14px;line-height:1.7;margin-bottom:18px}
 .brand-signature--footer{max-width:100%!important}
 .site-footer .footer-col>a{overflow-wrap:anywhere}
 .contact-method-card,.team-card,.service-card{max-width:100%}
}
/* Prevent unexpected horizontal overflow and retain comparable gutters. */
.home-package-grid,.services-grid,.team-cards,.footer-top,.grooming-preview-layout{min-width:0}


/* V13: give the original tightly cropped transparent paw artwork clear
   space on ALL four sides, instead of forcing its edge against the header. */
.site-header .brand{display:flex;align-items:center;gap:10px;overflow:visible;min-width:0;flex-shrink:0}
.site-header .brand-logo{
 display:flex;align-items:center;justify-content:center;
 width:76px;height:76px;flex:0 0 76px;padding:4px;overflow:visible;
}
.site-header .brand-logo img{
 display:block;width:100%;height:100%;max-width:none;max-height:none;
 object-fit:contain;object-position:center;overflow:visible;
}
.site-header .brand-name{min-width:0}
@media(max-width:1120px){
 .site-header .brand-logo{width:70px;height:70px;flex-basis:70px;padding:4px}
}
@media(max-width:680px){
 .site-header .brand{gap:6px}
 .site-header .brand-logo{width:61px;height:61px;flex-basis:61px;padding:3px}
 .site-header .brand-logo img{width:100%;height:100%}
 .site-header .brand-name{font-size:12px}
}
@media(max-width:360px){
 .site-header .brand-logo{width:55px;height:55px;flex-basis:55px;padding:3px}
 .site-header .brand-name{font-size:11px}
 .site-header .brand-name small{font-size:6px;letter-spacing:.06em}
}

/* Cards for unordered services, checks, products and points of guidance.
   Numbered timelines are ONLY used on genuine chronological care flows. */
.detail-items--cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:24px;align-items:stretch}
.detail-items--cards .detail-item--card{
 display:block;min-width:0;height:100%;padding:21px 22px 22px;
 background:#FFFCF8;border:1px solid #E6D8C7;border-radius:15px;
 box-shadow:0 5px 18px rgba(84,61,42,.045);
 transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.detail-items--cards .detail-item--card::before{
 content:'';display:block;width:27px;height:3px;border-radius:4px;
 background:#AC8E6E;margin:0 0 17px;
}
.detail-items--cards .detail-item--card:hover{
 transform:translateY(-2px);border-color:#C4A98C;box-shadow:0 11px 24px rgba(84,61,42,.08);
}
.detail-items--cards .detail-item--card h3{font-size:17px;line-height:1.37;color:#523D30;margin:0 0 10px;font-weight:700}
.detail-items--cards .detail-item--card p{font-size:13px;line-height:1.76;color:#736358;margin:0;max-width:none}
.detail-items--cards .detail-item-title-link{display:inline-flex;align-items:center;gap:7px}
.detail-items--cards .detail-item-title-link svg{width:16px;height:16px}
.detail-items--steps{padding:0;margin:24px 0 0;list-style:none;display:grid;gap:14px}
.detail-items--steps .detail-item--step{
 display:grid;grid-template-columns:43px minmax(0,1fr);gap:15px;
 padding:17px 20px 18px 0;border-bottom:1px solid #E4D8CC;align-items:start;
}
.detail-items--steps .item-number{
 display:grid;place-items:center;width:41px;height:41px;border-radius:50%;
 background:#ECE0D2;color:#78583E;font-family:var(--body);
 font-size:12px;font-weight:750;letter-spacing:.025em;
}
.detail-items--steps .detail-item h3{font-size:18px;color:#523D30;line-height:1.4;margin:4px 0 7px}
.detail-items--steps .detail-item p{font-size:13.5px;color:#736358;line-height:1.75}
.parasite-product-type{display:inline-flex;padding:6px 11px;border:1px solid #E4D4C3;background:#F0E6DA;color:#775A42;border-radius:100px;font-size:11px;font-weight:700;line-height:1.4;margin:0 0 13px}
@media(max-width:700px){
 .detail-items--cards{grid-template-columns:1fr;gap:11px}
 .detail-items--cards .detail-item--card{padding:19px}
 .detail-items--cards .detail-item--card h3{font-size:16.5px}
 .detail-items--cards .detail-item--card p{font-size:13px}
 .detail-items--steps .detail-item--step{gap:11px;padding:15px 0}
}
@media(prefers-reduced-motion:reduce){.detail-items--cards .detail-item--card{transition:none}}



/* Official logos wherever confirmed; text-only names when brand assets are unavailable. */
.partner-type-logo{display:flex;align-items:center;justify-content:center;min-height:55px;width:100%;font-family:var(--display);font-size:clamp(16px,1.5vw,22px);line-height:1.1;letter-spacing:-.025em;text-align:center;font-weight:750;color:#695445;overflow-wrap:anywhere;padding:0 10px}
.partner-logo-img img[src$="gentle-waves.svg"]{width:100%;height:65px;max-width:230px;object-fit:contain;filter:none}

/* Selected birds and rabbits: clear pre-booking instructions, without
   implying that every shift has an exotic-pet veterinarian available. */
.home-exotic-intro{padding:24px 0 0;background:#fffaf3}
.booking-exotic-intro{padding:23px 0 0}
.exotic-care-notice{
  display:flex;align-items:center;justify-content:space-between;
  gap:clamp(15px,2vw,30px);min-width:0;
  padding:20px 22px;border:1px solid #e4d9ca;border-radius:13px;
  background:#fcf8f1;color:#584a40;
}
.exotic-care-copy{min-width:0;max-width:760px}
.exotic-care-copy h2{
  margin:0 0 5px;font-size:clamp(17px,1.5vw,19px);line-height:1.35;
  font-weight:730;color:#514235;
}
.exotic-care-copy p{margin:0;font-size:13px;line-height:1.75;color:#75665a}
.exotic-care-link{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;flex:none;padding:12px 15px;
  border:1px solid #cbb49a;border-radius:100px;
  background:#fffcf7;color:#644d3b;text-decoration:none;
  font-size:12px;font-weight:750;white-space:nowrap;
  min-height:44px
}
.exotic-care-link svg{width:15px;height:15px;flex:none}
.exotic-care-link:hover{background:#fff;border-color:#a78665}
.exotic-care-link:focus-visible{outline:2px solid #a78665;outline-offset:3px}
.exotic-care-notice--services{margin:22px 0 28px}
@media(max-width:760px){
 .exotic-care-notice{flex-direction:column;align-items:stretch;padding:18px 19px;gap:13px}
 .exotic-care-copy p{font-size:12.8px}
 .exotic-care-link{align-self:flex-start}
 .home-exotic-intro{padding-top:17px}
}

/* Contact FAQ: searchable answers across all clinical service pages.
   Native disclosure lists remain usable without scripts or hover effects. */
.contact-faq-section{background:#faf6ef;border-top:1px solid #e8ddcf;padding:66px 0 76px;scroll-margin-top:110px}
.contact-faq-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:25px}
.contact-faq-head>div{max-width:740px}
.contact-faq-head .eyebrow{margin-bottom:11px}
.contact-faq-head h2{font-family:var(--display);color:#523f32;font-size:clamp(27px,3.15vw,39px);letter-spacing:-.02em;line-height:1.26;margin:0 0 11px}
.contact-faq-head p{color:#6f5f52;font-size:13.5px;line-height:1.8;margin:0}
.contact-faq-total{font-size:12px;font-weight:700;color:#846b55;white-space:nowrap;padding:0 0 4px}
.contact-faq-tools{margin-bottom:20px}
.contact-faq-tools>label{display:block;font-size:12.5px;color:#625043;font-weight:700;margin-bottom:8px}
.contact-faq-searchbox{display:flex;align-items:center;gap:8px;max-width:680px;padding:4px 7px 4px 17px;background:#fffdf9;border:1px solid #d8c7b6;border-radius:12px}
.contact-faq-searchbox:focus-within{border-color:#9c7d62;box-shadow:0 0 0 2px rgba(156,125,98,.13)}
.contact-faq-searchbox input{display:block;flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;min-height:43px;font-size:14px;color:#554236;appearance:none}
.contact-faq-searchbox input:focus-visible{outline:0}
.contact-faq-searchbox input::placeholder{color:#998675;opacity:1}
.contact-faq-searchbox button{border:0;background:#f1e6da;color:#634a37;font-size:12px;font-weight:700;padding:9px 12px;min-height:37px;border-radius:8px;cursor:pointer;white-space:nowrap}
.contact-faq-searchbox button:focus-visible{outline:2px solid #9c7d62;outline-offset:2px}
.contact-faq-searchbox [hidden]{display:none!important}
.contact-faq-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0 0}
.contact-faq-suggestions button{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px solid #dfd0c0;border-radius:100px;background:transparent;color:#765f4c;font-size:11.5px;font-weight:650;cursor:pointer;min-height:35px}
.contact-faq-suggestions button:hover,.contact-faq-suggestions button:focus-visible{border-color:#a88a70;background:#fff9f2}
.contact-faq-suggestions button:focus-visible{outline:2px solid #9c7d62;outline-offset:2px}
.contact-faq-status{font-size:12px;line-height:1.7;color:#807061;margin:11px 0 0}
.contact-faq-categories{display:grid;gap:11px}
.contact-faq-group{border:1px solid #e5d7c7;background:#fffdf9;border-radius:13px;overflow:hidden}
.contact-faq-group[hidden],.contact-faq-item[hidden]{display:none!important}
.contact-faq-group>summary{list-style:none;display:flex;align-items:center;gap:13px;cursor:pointer;padding:19px 22px;min-height:62px;color:#584234;font-size:16px;font-weight:730;line-height:1.45}
.contact-faq-group>summary::-webkit-details-marker,.contact-faq-item>summary::-webkit-details-marker{display:none}
.contact-faq-group>summary>span:first-child{flex:1;min-width:0}
.contact-faq-group-count{font-size:11.5px;font-weight:650;color:#8c7867;white-space:nowrap}
.contact-faq-group>summary::after{content:"+";font-size:22px;font-weight:400;color:#977b64;margin-left:8px;line-height:1}
.contact-faq-group[open]>summary::after{content:"−"}
.contact-faq-group[open]>summary{border-bottom:1px solid #ece2d6}
.contact-faq-group>summary:hover{background:#faf4ec}
.contact-faq-group>summary:focus-visible,.contact-faq-item>summary:focus-visible{outline:2px solid #a2856b;outline-offset:-3px;border-radius:6px}
.contact-faq-category-body{padding:0 22px 12px}
.contact-faq-list{padding:0}
.contact-faq-topic{padding:0;border:0}
/* Keep service-topic dividers on the question-list baseline, not floating in the gap. */
.contact-faq-topic + .contact-faq-topic{margin-top:12px}
.contact-faq-topic:not(:last-child) .contact-faq-list{border-bottom:1px solid #e7dacc}
.contact-faq-topic[hidden]{display:none!important}
.contact-faq-topic-heading{
 display:flex;align-items:center;justify-content:space-between;
 flex-wrap:wrap;gap:9px 18px;padding:11px 0 9px
}
.contact-faq-topic-heading h3{
 color:#795d47;font-size:13px;font-weight:740;line-height:1.5;
 margin:0;min-width:0;letter-spacing:0
}
.contact-faq-topic-heading a{
 display:inline-flex;align-items:center;gap:5px;color:#876c54;
 font-size:11.2px;font-weight:650;line-height:1.5;
 text-decoration:underline;text-underline-offset:3px
}
.contact-faq-topic-heading a svg{width:13px;height:13px}
.contact-faq-topic-heading a:hover{color:#553c2c}

.contact-faq-item{border-bottom:1px solid #efe7dd}
.contact-faq-item:last-child{border-bottom:0}
.contact-faq-item>summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 22px;align-items:center;gap:14px;cursor:pointer;padding:14px 6px 15px 0;min-height:55px;color:#604b3b;font-size:13.3px;font-weight:680;line-height:1.55}
.contact-faq-item>summary::after{content:"+";font-weight:400;font-size:19px;color:#a38a75;line-height:1;justify-self:end;grid-column:2}
.contact-faq-item[open]>summary::after{content:"−"}
.contact-faq-item>summary:hover{color:#835d43}
.contact-faq-question{display:block;grid-column:1;min-width:0;overflow-wrap:anywhere}
.contact-faq-answer{padding:0 36px 19px 0;color:#716052}
.contact-faq-answer p{font-size:12.8px;line-height:1.85;margin:0}
.contact-faq-answer a{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:#795b42;font-size:12px;font-weight:720;text-decoration:underline;text-underline-offset:3px}
.contact-faq-answer a svg{width:15px;height:15px}
.contact-faq-help{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:22px 0 0;border-top:1px solid #e4d7ca;padding-top:19px}
.contact-faq-help p{font-size:12px;line-height:1.8;color:#806d5d;margin:0;max-width:730px}
.contact-faq-help a{display:inline-flex;align-items:center;gap:7px;flex:none;white-space:nowrap;font-size:12px;font-weight:750;color:#6f513d;text-decoration:underline;text-underline-offset:3px}
.contact-faq-help a svg{width:15px;height:15px}
.contact-faq-jump{display:inline-flex;align-items:center;gap:7px;margin:0 0 17px;color:#7b5a43;font-size:12.5px;font-weight:710;text-decoration:underline;text-underline-offset:4px}
.contact-faq-jump svg{width:17px;height:17px}
.service-faq{scroll-margin-top:125px}
@media(max-width:680px){
 .contact-faq-section{padding:39px 0 48px}
 .contact-faq-head{display:block;margin-bottom:18px}
 .contact-faq-head h2{font-size:28px}
 .contact-faq-head p{font-size:13px}
 .contact-faq-total{display:block;margin-top:10px}
 .contact-faq-group>summary{padding:16px 13px;font-size:14px;min-height:60px;gap:8px}
 .contact-faq-group-count{font-size:10.5px}
 .contact-faq-group>summary::after{font-size:20px;margin-left:2px}
 .contact-faq-category-body{padding:0 13px 8px}
 .contact-faq-list{padding:0}
 .contact-faq-topic-heading{align-items:flex-start;gap:4px 13px;padding:13px 0 8px}
 .contact-faq-topic-heading h3{font-size:12.5px}
 .contact-faq-item>summary{padding:14px 3px 14px 0;font-size:12.9px;gap:11px;grid-template-columns:minmax(0,1fr) 20px}
 .contact-faq-answer{padding-right:12px;padding-bottom:18px}
 .contact-faq-help{display:block}
 .contact-faq-help a{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
 .contact-faq-group,.contact-faq-item,.contact-faq-suggestions button{transition:none!important}
}

/* Align opening times in both footer and Contact with tabular figures. */
.site-footer .footer-hours .hour-line{
 display:grid;grid-template-columns:minmax(0,1fr) 11.5ch;
 align-items:baseline;column-gap:12px;justify-content:initial;
 font-variant-numeric:tabular-nums;
}
.site-footer .footer-hours .hour-line > span{min-width:0}
.site-footer .footer-hours .hour-line > b{
 display:block;justify-self:stretch;width:100%;min-width:0;
 text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums;
 font-feature-settings:"tnum" 1;
}
.contact-hours .contact-hour{
 display:grid;grid-template-columns:minmax(0,1fr) 11.5ch;
 align-items:baseline;column-gap:15px;justify-content:initial;
 font-variant-numeric:tabular-nums;
}
.contact-hours .contact-hour > strong{
 display:block;min-width:0;text-align:left;white-space:nowrap;
 font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}
@media(max-width:385px){
 .site-footer .footer-hours .hour-line{column-gap:8px}
 .contact-hours .contact-hour{column-gap:10px}
}


/* Clear contact entry points and more usable mobile reading order. */
.contact-jump-nav{background:#f5eee5;border-bottom:1px solid #e5d7c8;scroll-margin-top:110px}
.contact-jump-inner{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:12px 0}
.contact-jump-caption{font-size:11px;font-weight:750;color:#7d6654;margin-right:6px}
.contact-jump-inner a{display:inline-flex;align-items:center;min-height:42px;padding:9px 13px;border:1px solid #dac7b3;border-radius:999px;background:#fffcf7;color:#674e3d;text-decoration:none;font-size:12px;font-weight:700}
.contact-jump-inner a:hover{background:#fff;border-color:#a88a6f}
.contact-jump-inner a:focus-visible{outline:2px solid #977452;outline-offset:3px}
#contact-methods,#contact-hours,#emergency,#parking,#faq{scroll-margin-top:115px}
@media(max-width:880px){
 .contact-section--direct .contact-information{order:2}
 .contact-section--direct .contact-direct-panel{order:1}
 .contact-jump-inner{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain;padding:11px 0}
 .contact-jump-caption,.contact-jump-inner a{flex:none;white-space:nowrap}
}
@media(max-width:500px){.contact-jump-inner a{min-height:44px}.contact-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-method-card{flex-direction:column;gap:8px}.contact-method-copy>small{display:none}}
@media(max-width:360px){.contact-method-grid{grid-template-columns:1fr}.contact-method-card{flex-direction:row}}

/* Evergreen service entry and clearly separated historical announcements. */
.news-live{margin:0 0 47px}
.news-live-heading,.news-archive-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 22px}
.news-live-heading>div,.news-archive-head>div{max-width:760px}
.news-live-heading h2,.news-archive-head h2{font-family:var(--display);font-size:clamp(25px,2.6vw,35px);line-height:1.25;color:#513d30;margin:9px 0 11px}
.news-live-heading p,.news-archive-head p{font-size:13px;line-height:1.7;color:#746354;margin:0}
.news-live-all{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:#79583d;font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.news-live-all svg,.news-live-link svg{width:16px;height:16px}
.news-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.news-live-card{display:flex;flex-direction:column;min-width:0;padding:20px 17px;border:1px solid #e6d7c6;background:#fffdf9;border-radius:15px;text-decoration:none;min-height:230px}
.news-live-card:hover{background:#fff;border-color:#bb9e80;box-shadow:0 9px 25px rgba(62,44,26,.06)}
.news-live-card:focus-visible{outline:3px solid #967957;outline-offset:3px}
.news-live-card .eyebrow{font-size:10px;color:#927356}
.news-live-card h3{font-size:17px;line-height:1.4;color:#503c2e;margin:10px 0 8px}
.news-live-card>strong{font-size:14px;color:#815d41}
.news-live-card p{font-size:12px;line-height:1.7;color:#746455;margin:11px 0 18px}
.news-live-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;color:#78573f;font-weight:750;font-size:12px}
.news-archive-head{margin-top:0;border-top:1px solid #e5d8ca;padding-top:34px}
.article-archive-flag a{color:#674932;text-decoration:underline;font-weight:750}
@media(max-width:980px){.news-live-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.news-live{margin-bottom:32px}.news-live-grid{gap:10px}.news-live-card{padding:15px 12px;min-height:225px}.news-live-card h3{font-size:15px}.news-live-card>strong{font-size:13px}.news-live-heading{display:block}.news-live-all{margin-top:11px}.news-archive-head{padding-top:27px}.contact-jump-caption{display:none}}
@media(max-width:370px){.news-live-grid{grid-template-columns:1fr}.news-live-card{min-height:0}}
/* V15: Authentic, transparent source lettering from the email signature.
   There is no opaque white/cream banner and no approximated web handwriting. */
.brand-signature{
 display:block;position:relative;min-width:0;width:100%;max-width:100%;
 background:transparent!important;border:0!important;box-shadow:none!important;
 isolation:auto;
}
.brand-signature-semantic{
 position:absolute!important;width:1px!important;height:1px!important;
 padding:0!important;margin:-1px!important;overflow:hidden!important;
 clip:rect(0,0,0,0)!important;white-space:nowrap!important;
 border:0!important;clip-path:inset(50%)!important;
}
.brand-signature-image{
 display:block;width:100%;height:auto;max-width:100%;aspect-ratio:656/289;
 object-fit:contain;object-position:left center;margin:0;padding:0;
 background:transparent!important;box-shadow:none!important;border:0!important;
}
.brand-signature--hero{
 width:100%;max-width:565px!important;margin:2px 0 20px!important;
 color:#0A4F5E;
}
.brand-signature--about{
 width:100%;max-width:530px!important;margin:8px 0 25px!important;
 color:#0A4F5E;
}
.brand-signature--footer{
 width:100%;max-width:335px!important;margin:4px 0 15px!important;
 padding:0!important;background:transparent!important;
}
.site-footer .brand-signature--footer{
 background:none!important;border:none!important;
}
/* Repaired 167px source mark is complete, with ample transparent padding.
   Keep it proportional to the site title and entirely inside the header. */
.site-header .brand{display:flex;align-items:center;gap:10px;min-width:0;overflow:visible}
.site-header .brand-logo{
 display:grid;place-items:center;flex:0 0 65px;
 width:65px;height:65px;padding:2px;min-width:65px;
 overflow:visible;background:transparent;border:0;
}
.site-header .brand-logo img{
 width:100%;height:100%;max-width:100%;max-height:100%;
 display:block;object-fit:contain;object-position:center;
 overflow:visible;
}
.site-header .brand-name{min-width:0;line-height:1.2}
@media(max-width:1120px){
 .site-header .brand-logo{width:59px;height:59px;flex-basis:59px;min-width:59px;padding:2px}
}
@media(max-width:820px){
 .brand-signature--hero{max-width:min(100%,565px)!important;margin:0 0 15px!important}
 .brand-signature--about{max-width:min(100%,530px)!important}
 .brand-signature--footer{max-width:335px!important}
}
@media(max-width:680px){
 .site-header .brand{gap:7px}
 .site-header .brand-logo{width:52px;height:52px;flex-basis:52px;min-width:52px;padding:2px}
 .site-header .brand-logo img{width:100%;height:100%}
 .brand-signature--hero{max-width:100%!important;margin:0 0 14px!important}
 .brand-signature--about{max-width:100%!important}
 .brand-signature--footer{max-width:min(100%,335px)!important}
}
@media(max-width:360px){
 .site-header .brand-logo{width:47px;height:47px;flex-basis:47px;min-width:47px;padding:2px}
 .site-header .brand{gap:5px}
}

/* Match the clinic's warm coffee-and-sand palette while retaining the exact
   transparent handwritten strokes from the email signature artwork.
   A CSS mask recolours the ink only, never the transparent background. */
@supports (mask-image: url("/assets/media/brand-slogan-original-transparent.png")) {
  .brand-signature--hero,
  .brand-signature--about {
    --signature-ink: #674F42;
  }
  .brand-signature--hero::after,
  .brand-signature--about::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-color: var(--signature-ink);
    -webkit-mask-image: url("/assets/media/brand-slogan-original-transparent.png");
    mask-image: url("/assets/media/brand-slogan-original-transparent.png");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
  .brand-signature--hero .brand-signature-image,
  .brand-signature--about .brand-signature-image {
    opacity: 0;
  }
}
/* Footer intentionally keeps the existing cream-coloured handwriting. */

/* Consistent legal-name + preferred-name treatment on all team cards. */
.team-card-preferred{
  font-size:.91em;
  font-weight:650;
  color:#8B6C50;
  white-space:normal;
}
.ig-gallery-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ig-gallery-links a{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#77583F}
.ig-gallery-links a:hover{color:#402F25}
@media(max-width:700px){
  .ig-gallery-links{gap:12px}
  .ig-gallery-links a{font-size:11px}
}

.measurement-settings-link{font:inherit;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;color:inherit;cursor:pointer}
.privacy-document{max-width:850px;margin:auto;padding:35px 0 60px}.privacy-document h1{font-size:clamp(28px,3vw,42px);margin:15px 0 30px}.privacy-document section{margin:0 0 26px}.privacy-document h2{font-size:20px;margin:0 0 10px}.privacy-document p{line-height:1.9;overflow-wrap:anywhere}

/* Desktop tuning: preserve the full navigation and ample hero composition. */
@media (min-width:931px) {
 .site-header .desktop-nav{min-width:0;white-space:nowrap}
 .site-header .desktop-nav > a,.site-header .desktop-nav .services-main-link{transition:color .15s ease}
 .site-header .desktop-nav > a:focus-visible,
 .site-header .desktop-nav .services-main-link:focus-visible,
 .site-header .lang-switch:focus-visible,
 .site-header .header-book:focus-visible{outline:2px solid #9e8a70;outline-offset:4px;border-radius:5px}
 .fees-bar > div{min-width:0}
 .fees-bar > div span{min-width:0}
}

/* Mobile tuning: keep all content, while reducing scroll and visual crowding. */
@media (max-width:680px) {
 .hero.hero--compact{padding-top:20px}
 .hero--compact .hero-copy{padding:4px 0 5px}
 .hero--compact .hero-kicker{margin-bottom:13px}
 .hero--compact .brand-signature--hero{margin-bottom:8px!important}
 .hero--compact .hero-description{margin-top:11px!important;margin-bottom:15px;line-height:1.66}
 .hero--compact .hero-actions{gap:8px}
 .hero--compact .hero-actions .btn{min-height:44px;padding:10px 11px}
 .hero--compact .hero-grid{gap:3px}
 /* Keep each service consultation fee close to its label and keep both prices aligned. */
 .fees-bar{gap:0 12px;padding:17px 17px 9px;align-items:start}
 .fees-bar > div{display:grid;grid-template-columns:19px minmax(0,1fr);gap:8px;align-items:start;min-width:0;padding-bottom:12px}
 .fees-bar > div + div{border-left:1px solid rgba(255,255,255,.22);padding-left:12px}
 .fees-bar > div svg{width:19px;height:19px;margin-top:2px}
 .fees-bar > div span{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;min-height:0;min-width:0}
 .fees-bar strong{display:block;line-height:1.42;font-size:11.5px;min-height:2.84em}
 .fees-bar b{font-size:24px;line-height:1.15;white-space:nowrap}
 .fees-bar .text-link{grid-column:1/-1;display:flex;align-items:center;justify-content:center;justify-self:stretch;gap:9px;min-height:44px;margin:0;padding:11px 0 2px;border-top:1px solid rgba(255,255,255,.23);font-size:12px;text-align:center}
 .site-header .lang-switch:focus-visible,
 .site-header .menu-toggle:focus-visible{outline:2px solid #9e8a70;outline-offset:3px}
}
@media (max-width:360px) {
 .hero.hero--compact{padding-top:15px}
 .hero--compact .hero-description{font-size:13px}
 .fees-bar{gap:0 8px;padding:15px 11px 8px}
 .fees-bar > div{grid-template-columns:16px minmax(0,1fr);gap:6px}
 .fees-bar > div + div{padding-left:8px}
 .fees-bar > div svg{width:16px;height:16px}
 .fees-bar strong{font-size:10.5px;min-height:2.84em}
 .fees-bar b{font-size:21px}
}

/* Device-class layout: compact phones, expanded foldables, tablets and desktop. */
/* The secondary navigation intentionally appears only when the primary desktop
   row cannot comfortably accommodate all routes; it is not a hidden menu. */
.fold-nav{display:none}
@media(min-width:640px) and (max-width:1100px){
 .site-header .desktop-nav{display:none}
 .site-header .menu-toggle{display:flex}
 .site-header .header-book{display:none}
 .site-header .header-inner{height:75px;gap:14px}
 .site-header .header-actions{margin-left:auto}
 .fold-nav{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;
  align-items:stretch;padding:8px max(18px,calc((100vw - 1320px)/2));
  border-top:1px solid #e9dfd4;background:#faf6ee;
 }
 .fold-nav a{
  min-width:0;display:flex;justify-content:center;align-items:center;gap:4px;
  min-height:39px;padding:8px 5px;text-align:center;text-decoration:none;
  border-radius:8px;color:#655044;font-size:clamp(11px,1.2vw,12.5px);
  font-weight:700;line-height:1.3;transition:background .18s;
 }
 .fold-nav a:hover,.fold-nav a:focus-visible{background:#e9ddce;color:#49372c}
 .fold-nav .fold-nav-book{background:#5b4d43;color:#fff}
 .fold-nav .fold-nav-book:hover,.fold-nav .fold-nav-book:focus-visible{background:#49372e;color:#fff}
 .fold-nav svg{width:13px;height:13px;flex-shrink:0}
 .home-package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-related-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-grooming-preview .grooming-preview-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px}
 .location-feature-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}
 .location-feature-map iframe{height:300px;min-height:300px}
 .home-featured-head h2{font-size:clamp(24px,3.1vw,32px)}
}
@media(min-width:640px) and (max-width:739px){
 .fold-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 6px;padding:7px 16px}
 .fold-nav a{min-height:35px}
 .home-grooming-preview .grooming-preview-layout,.location-feature-grid{grid-template-columns:1fr}
 .hero--compact .hero-original-pets-photo{width:85%;max-width:470px;margin:0 auto -2px}
}
@media(min-width:740px) and (max-width:930px){
 .hero.hero--compact{padding:24px 0 0}
 .hero--compact .hero-grid{
  display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
  align-items:center;gap:15px;min-height:400px
 }
 .hero--compact .hero-copy{width:100%;padding:18px 0 27px;max-width:none}
 .hero--compact .brand-signature--hero{width:100%!important;max-width:100%!important;margin:0 0 11px!important}
 .hero--compact .hero-kicker{margin-bottom:13px}
 .hero--compact .hero-description{font-size:13.5px;line-height:1.65;margin:11px 0 17px}
 .hero--compact .hero-art.hero-art--original-pets{
  width:100%;min-height:0;height:100%;display:flex;align-items:end;
  justify-content:flex-end;overflow:visible;margin:0
 }
 .hero--compact .hero-original-pets-photo{
  width:112%;max-width:none;max-height:400px;height:auto;
  margin:0 -7% -2px 0;object-position:right bottom;transform:none
 }
 .hero--compact .hero-actions .btn{min-height:43px;flex:1 1 125px;padding:10px 12px}
}
@media(min-width:820px) and (max-width:1100px){
 .detail-layout{grid-template-columns:minmax(0,1fr) minmax(205px,235px);gap:23px}
 .detail-main{min-width:0}
 .detail-sidebar{min-width:0}
 .detail-sidebar .sidebar-card{padding:20px}
 .detail-items--cards{gap:12px}
 .detail-items--cards .detail-item--card{padding:18px}
}
@media(min-width:640px) and (max-width:819px){
 .detail-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .detail-main,.detail-sidebar{min-width:0}
}

/* Explicit package inclusions; never imply a test is included by inheritance. */
.health-package-comparison{margin:40px 0 18px;padding-top:27px;border-top:1px solid #e6d8c8}
.health-package-comparison>h2{font-size:clamp(25px,3vw,34px);line-height:1.23;color:#544032;margin:10px 0 13px}
.health-package-intro{font-size:13px;line-height:1.75;color:#756253;max-width:820px;margin:0 0 24px}
.health-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.health-package-card{display:flex;flex-direction:column;min-width:0;gap:0;padding:20px 17px;border:1px solid #dfcfbd;background:#fffbf5;border-radius:15px;box-shadow:0 5px 17px rgba(82,55,31,.035)}
.health-package-card--standard{background:#f8efe3;border-color:#c9b39b}
.health-package-card-heading{min-height:115px}
.health-package-tier{display:block;font-size:9px;font-weight:750;color:#93765c;letter-spacing:.09em}
.health-package-card h3{font-size:17px;line-height:1.32;color:#503d30;margin:9px 0 8px}
.health-package-price{display:block;font-size:27px;line-height:1.1;font-family:var(--display);color:#6d4f3a}
.health-package-audience{font-size:12px;line-height:1.65;margin:14px 0;color:#756153;min-height:48px}
.health-package-card h4{font-size:12.5px;color:#584333;font-weight:750;margin:0 0 10px}
.health-package-includes{display:grid;gap:9px;padding:0;margin:0 0 15px;list-style:none}
.health-package-includes li{position:relative;padding-left:17px;font-size:12px;line-height:1.62;color:#5c4b3e}
.health-package-includes li:before{content:"✓";position:absolute;left:0;top:0;color:#85694f;font-weight:800}
.health-package-card-note{font-size:11px;line-height:1.6;padding:11px 10px;background:#efe4d8;border-radius:8px;color:#715640;margin:2px 0 14px}
.health-package-cta{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding:12px 0 0;border-top:1px solid #e1d2c0;font-size:12px;font-weight:750;color:#75543c;text-decoration:none}
.health-package-cta svg{width:15px;height:15px;flex:none}
.health-package-terms{font-size:11.5px;line-height:1.8;color:#786757;margin:18px 0}
@media(min-width:640px) and (max-width:1100px){
 .health-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .health-package-card--comprehensive{grid-column:span 2}
}
@media(max-width:639px){
 .health-package-grid{grid-template-columns:minmax(0,1fr)}
 .health-package-card{padding:20px 19px}
 .health-package-card-heading{min-height:0}
 .health-package-audience{min-height:0}
 .health-package-comparison{margin-top:29px}
 .health-package-comparison>h2{font-size:25px}
}

/* Book-sized foldable canvases: balanced two-column hero instead of a stretched phone layout. */
@media (min-width:600px) and (max-width:739px){
 .fold-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 6px;padding:7px 16px}
 .fold-nav a{min-height:35px}
 .hero.hero--compact{padding:21px 0 0}
 .hero--compact .hero-grid{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  align-items:end;gap:10px;min-height:370px;
 }
 .hero--compact .hero-copy{width:100%;min-width:0;padding:11px 0 25px}
 .hero--compact .hero-kicker{font-size:9px;line-height:1.45;margin-bottom:10px}
 .hero--compact .brand-signature--hero{max-width:100%!important;width:100%!important;margin:0 0 9px!important}
 .hero--compact .hero-description{font-size:13px;line-height:1.6;margin:8px 0 13px;max-width:100%}
 .hero--compact .hero-actions{flex-direction:column;align-items:stretch;gap:8px}
 .hero--compact .hero-actions .btn{flex:0 0 auto;width:100%;min-height:41px;padding:9px 12px}
 .hero--compact .hero-art.hero-art--original-pets{
   display:flex;align-self:stretch;align-items:flex-end;justify-content:flex-end;
   height:auto;min-height:0;max-height:none;margin:0;overflow:visible;width:100%
 }
 .hero--compact .hero-original-pets-photo{
   display:block;flex:none;align-self:flex-end;max-width:none;max-height:360px;
   width:122%;height:auto;object-fit:contain;object-position:right bottom;
   margin:0 -10% -2px 0;transform:none
 }
}
/* Medium tablets still expose the hamburger: make it fully operable rather than inert. */
@media(min-width:931px) and (max-width:1100px){
 .site-header .mobile-nav{
  display:none;position:absolute;top:100%;left:0;right:0;z-index:90;
  padding:14px 26px 24px;background:#fffaf3;border-top:1px solid #e6d8c8;
  box-shadow:0 13px 30px rgba(45,32,19,.13);max-height:calc(100dvh - 165px);
  overflow-y:auto
 }
 .site-header .mobile-nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
 .site-header .mobile-nav>a,.site-header .mobile-nav>.mobile-services{min-width:0;padding:8px 10px;border-bottom:1px solid #e9dfd4}
 .site-header .mobile-nav .mobile-services-head{display:flex;align-items:center}
 .site-header .mobile-nav .mobile-services-link{flex:1;min-height:44px;display:flex;align-items:center;padding:7px 5px}
 .site-header .mobile-nav .mobile-services-toggle{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border:0;background:transparent;cursor:pointer}
 .site-header .mobile-nav .mobile-services-submenu[hidden]{display:none!important}
 .site-header .mobile-nav .mobile-services-submenu{display:grid;grid-template-columns:1fr;gap:5px;grid-column:1/-1;padding:7px 15px}
 .site-header .mobile-nav .mobile-services-submenu>a{display:flex;align-items:center;gap:8px;padding:9px 6px;border-bottom:1px solid #f0e5da}
 .site-header .mobile-nav>.btn{grid-column:1/-1;justify-content:center;max-width:320px}
}

/* One-row expanded-fold navigation: avoid a large sticky header on book-sized screens. */
@media(min-width:600px) and (max-width:739px){
 .fold-nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:6px 12px}
 .fold-nav a{min-height:37px;padding:6px 2px;font-size:10.5px;white-space:normal}
 .fold-nav .fold-nav-book svg{display:none}
}

/* Historical Wix editorial: preserve the article but route visitors to current services. */
.archive-current-links{margin:28px 0 23px;padding:19px 21px;background:#faf1e6;border:1px solid #dac5ad;border-radius:13px;color:#5b4535}
.archive-current-links>strong{display:block;font-size:16px;line-height:1.4;margin:0 0 7px}
.archive-current-links>p{font-size:12px;line-height:1.75;margin:0 0 14px;color:#786453}
.archive-current-links>div{display:flex;gap:8px;flex-wrap:wrap}
.archive-current-links a{display:inline-flex;align-items:center;gap:7px;border-radius:8px;padding:9px 12px;border:1px solid #cbb298;background:#fffaf5;font-size:12px;line-height:1.4;color:#654b38;text-decoration:none;font-weight:750}
.archive-current-links a:hover,.archive-current-links a:focus-visible{border-color:#987b60;background:#fff;color:#412c1e}
.archive-current-links a svg{width:14px;height:14px;flex-shrink:0}
@media(max-width:640px){.archive-current-links{padding:16px 15px}.archive-current-links>div{flex-direction:column}.archive-current-links a{justify-content:space-between;min-height:43px}}

/* Navigation exclusivity: precisely one visible navigation system per width.
 * <600px: hamburger/drawer. 600-1100px: top-level horizontal nav only.
 * >1100px: integrated desktop nav. Never show drawer alongside fold-nav. */
@media (min-width:600px) and (max-width:1100px) {
 .site-header .menu-toggle{display:none}
 .site-header .mobile-nav,
 .site-header .mobile-nav.is-open{display:none}
 .site-header .fold-nav{display:grid}
 .site-header .header-book{display:none}
}
@media (max-width:599px) {
 .site-header .fold-nav{display:none}
 .site-header .desktop-nav{display:none}
 .site-header .menu-toggle{display:flex}
}
@media (min-width:1101px) {
 .site-header .fold-nav{display:none}
 .site-header .menu-toggle{display:none}
 .site-header .mobile-nav,
 .site-header .mobile-nav.is-open{display:none}
 .site-header .desktop-nav{display:flex}
}

/* Three real connected-ink layers. Each full-size mask contains intact
   strokes, so the descenders never get cut by a horizontal seam. */
.signature-row-ink{display:none;position:absolute;inset:0;pointer-events:none;background:#674f42;
 -webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-size:100% 100%;mask-size:100% 100%;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.signature-row-ink--1{-webkit-mask-image:url('/assets/media/brand-slogan-ink-1.png');mask-image:url('/assets/media/brand-slogan-ink-1.png')}
.signature-row-ink--2{-webkit-mask-image:url('/assets/media/brand-slogan-ink-2.png');mask-image:url('/assets/media/brand-slogan-ink-2.png')}
.signature-row-ink--3{-webkit-mask-image:url('/assets/media/brand-slogan-ink-3.png');mask-image:url('/assets/media/brand-slogan-ink-3.png')}
@supports ((mask-image:url('/assets/media/brand-slogan-ink-1.png')) or (-webkit-mask-image:url('/assets/media/brand-slogan-ink-1.png'))){
 .hero-entrance-playing .brand-signature--hero::after{opacity:0}
 .hero-entrance-playing .signature-row-ink{display:block;animation:signature-write-ink .76s cubic-bezier(.24,.12,.32,1) both}
 .hero-entrance-playing .signature-row-ink--1{animation-delay:.10s}
 .hero-entrance-playing .signature-row-ink--2{animation-delay:.92s}
 .hero-entrance-playing .signature-row-ink--3{animation-delay:1.74s;animation-duration:.62s}
}
@keyframes signature-write-ink{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.hero-entrance-playing .hero-kicker{animation:hero-copy-arrive .30s .03s ease both}
.hero-entrance-playing .hero-description{animation:hero-copy-arrive .40s .60s ease both}
.hero-entrance-playing .hero-actions{animation:hero-copy-arrive .40s .88s ease both}
.hero-entrance-playing .hero-original-pets-photo{animation:hero-pets-arrive .68s .18s ease-out both}
@keyframes hero-copy-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-pets-arrive{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){
 .hero-entrance-playing .brand-signature--hero::after{opacity:1!important;animation:none!important}
 .hero-entrance-playing .signature-row-ink{display:none!important;animation:none!important}
 .hero-entrance-playing .hero-kicker,.hero-entrance-playing .hero-description,
 .hero-entrance-playing .hero-actions,.hero-entrance-playing .hero-original-pets-photo{
  animation:none!important;opacity:1!important;transform:none!important;translate:none!important;filter:none!important}
}
/* Restrained clinic-wide motion; touch gets no fake hover movement. */
@media(hover:hover) and (pointer:fine){
 .btn:hover,.home-package:hover,.service-card:hover,.story-card:hover{transform:translateY(-2px)}
 .service-card:hover .service-card-photo,.story-card:hover .story-photo,.ig-tile:hover img{transform:scale(1.015)}
}
@media(hover:none),(pointer:coarse){
 .btn:hover,.home-package:hover,.service-card:hover,.story-card:hover,.ig-tile:hover,
 .service-card:hover .service-card-photo,.story-card:hover .story-photo,.ig-tile:hover img{transform:none!important}
}
.btn,.home-package,.service-card,.story-card,.ig-tile,.service-card-photo,.story-photo,.ig-tile img{transition-duration:.18s!important;transition-timing-function:ease-out!important}
.hero-entrance-complete .brand-signature--hero::after{opacity:1!important}
.hero-entrance-complete .signature-row-ink{display:none!important}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .hero-entrance-playing .brand-signature--hero::after{opacity:1!important}
 .hero-entrance-playing .signature-row-ink{display:none!important}
}

/* Navigation legibility: desktops can carry comfortable editorial-scale
   labels; preserve the proven single mobile menu at <=599px. */
@media(min-width:1101px){
  .site-header .header-inner{
    height:clamp(86px,6.5vw,94px);
    gap:clamp(12px,1.4vw,22px)
  }
  .site-header .desktop-nav{gap:clamp(10px,1.25vw,20px)}
  .site-header .desktop-nav>a,
  .site-header .desktop-nav .services-main-link{
    display:inline-flex;align-items:center;
    min-height:44px;font-size:clamp(13px,1.05vw,15px);
    line-height:1.35;color:#57483c
  }
  .site-header .dropdown-panel a{font-size:13px;min-height:44px}
  .site-header .header-book{
    min-height:46px;padding:10px 17px;
    font-size:clamp(12px,.9vw,13px)
  }
  .site-header .lang-switch{font-size:13px}
  .site-header .brand-logo{
    width:70px;height:70px;min-width:70px;flex-basis:70px
  }
  .site-header .brand-name{font-size:clamp(15px,1.1vw,17px)}
}
@media(min-width:1101px) and (max-width:1250px){
  /* Keep the entire primary nav on one row on smaller laptop displays. */
  .site-header .header-inner{gap:12px}
  .site-header .desktop-nav{gap:10px}
  .site-header .desktop-nav>a,
  .site-header .desktop-nav .services-main-link{font-size:13px}
  .site-header .brand-logo{
    width:59px;height:59px;min-width:59px;flex-basis:59px
  }
  .site-header .header-book{padding:10px 13px;font-size:12px}
}
@media(min-width:740px) and (max-width:1100px){
  /* The existing compact two-row navigation is retained on smaller screens. */
  .site-header .fold-nav a{
    min-height:43px;
    font-size:clamp(12.5px,1.35vw,14px);
    line-height:1.35
  }
}

/* Temporary staff-training and Labour Day notice, 24–26 October 2026.
   Placed immediately below the sticky site header. Quiet, legible motion,
   with a pinned date and reduced-motion static fallback. */
.holiday-notice{
  position:relative;z-index:10;
  color:#4f3b2e;background:#f0e1d0;
  border-bottom:1px solid #ddc7b0
}
.holiday-notice[hidden],.holiday-notice [hidden]{display:none!important}
.holiday-notice-inner{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;gap:clamp(10px,1.5vw,19px);
  min-height:48px;padding-block:6px
}
.holiday-notice-label{
  white-space:nowrap;display:inline-flex;align-items:center;
  border-radius:5px;background:#594334;color:#fff7ed;
  padding:7px 11px;letter-spacing:.025em;
  font-size:11.5px;font-weight:750;line-height:1.25
}
.holiday-notice-viewport{min-width:0;overflow:hidden;position:relative}
.holiday-notice-track{
  display:flex;align-items:center;width:max-content;
  animation:holiday-notice-scroll 32s linear infinite;will-change:transform
}
.holiday-notice-segment{
  display:inline-flex;align-items:center;gap:22px;flex:none;
  padding-right:42px;white-space:nowrap;
  font-size:12px;line-height:1.7;font-weight:580;color:#604b3b
}
.holiday-notice-friday{font-weight:730;color:#63442f}
.holiday-notice-segment::after{content:"•";color:#b99372}
@keyframes holiday-notice-scroll{to{transform:translateX(-50%)}}
.holiday-notice:hover .holiday-notice-track,
.holiday-notice:focus-within .holiday-notice-track{animation-play-state:paused}
.holiday-notice-accessible{
  position:absolute!important;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0
}
.holiday-notice-call{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  flex:none;white-space:nowrap;
  color:#61462f;border:1px solid #c7aa8e;background:#fff9f0;
  font-size:11.5px;font-weight:730;min-height:33px;
  padding:7px 11px;text-decoration:none;border-radius:20px
}
.holiday-notice-call svg{width:13px;height:13px}
.holiday-notice-call:hover{background:#fff;border-color:#a58563}
.holiday-notice-call:focus-visible{outline:2px solid #85674e;outline-offset:3px}
@media(max-width:680px){
  .holiday-notice-inner{
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px 10px;padding-block:8px 9px
  }
  .holiday-notice-label{font-size:11px;padding:6px 9px;justify-self:start}
  .holiday-notice-call{font-size:11px;min-height:32px;padding:6px 10px}
  .holiday-notice-viewport{grid-column:1/-1;grid-row:2}
  .holiday-notice-segment{font-size:11.8px;gap:17px}
  .holiday-notice-track{animation-duration:36s}
}
@media(prefers-reduced-motion:reduce){
 .holiday-notice-track{display:none}
 .holiday-notice-accessible{
  position:static!important;width:auto;height:auto;
  margin:0;padding:0;overflow:visible;clip:auto;white-space:normal;
  line-height:1.65;color:#604b3b;font-size:12px
 }
}

/* Responsive readability review - October 2026. */
/* Keep the existing layout and palette, improving small-screen reading and
   contact actions rather than shrinking content to make it fit. */
.page-hero h1,.page-hero-grid h1,.section-heading h2,
.home-package-heading h2,.article-hero h1{text-wrap:balance}
.service-depth-disclaimer,.health-package-terms,.fees-fine,
.package-note,.grooming-preview-visual>p,.parking-option-note{font-size:12.5px;line-height:1.8}
.hours-public-note{font-size:12.5px!important;line-height:1.8}
.health-package-includes li,.health-package-audience{font-size:13px;line-height:1.75}
.service-price-row small{font-size:12.5px;line-height:1.65}
.contact-faq-item>summary{font-size:14px;line-height:1.7}
.contact-faq-answer p{font-size:14px;line-height:1.85}
.contact-faq-topic-heading h3{font-size:13.5px}
.contact-faq-searchbox input::placeholder{color:#7b6756}
.home-carousel-actions button,.ig-carousel-controls button{min-width:44px;min-height:44px}
.contact-faq-suggestions button{min-height:44px;font-size:12.5px;padding:9px 13px}
.contact-faq-searchbox button{min-width:44px;min-height:44px}
.contact-faq-topic-heading a{display:inline-flex;align-items:center;min-height:40px;font-size:12px}
.site-header .lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
@media(max-width:680px){
 .contact-faq-searchbox input{font-size:16px;min-height:46px}
 .contact-faq-item>summary{font-size:14px;line-height:1.7;padding-top:14px;padding-bottom:14px}
 .contact-faq-answer{padding-right:4px}
 .contact-faq-topic-heading{padding-top:14px;padding-bottom:5px;gap:2px 12px}
 .contact-faq-topic-heading a{min-height:44px}
 .contact-faq-topic-heading h3{font-size:13.5px}
 .contact-faq-status,.contact-faq-help p{font-size:12.5px}
 .home-package-heading{display:block;margin-bottom:20px}
 .home-package-heading>div{width:100%;min-width:0}
 .home-package-heading>.text-link{margin-top:7px;min-height:44px;align-items:center}
 .home-package-heading h2{font-size:26px;line-height:1.3}
 .home-package-heading p{font-size:14px;line-height:1.8}
 .home-package h3{font-size:14px}
 .health-package-includes li{font-size:13.5px}
 .service-depth-item p,.service-faq-list details p{font-size:14px;line-height:1.85}
 .home-featured-head{gap:12px}
 .home-carousel-actions{flex-shrink:0}
 .site-footer .footer-col>a{overflow-wrap:anywhere}
}
@media(min-width:386px) and (max-width:600px){
 .site-footer .footer-top{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);column-gap:16px}
}
@media(hover:none),(pointer:coarse){
 .home-package:hover{transform:none}
}

/* Current service updates appear before historic campaign copy. */
.article-policy-update{margin:0 0 28px}
.article-policy-update>p{font-size:14px;line-height:1.85}
.article-policy-update a{min-height:44px}

/* Align FAQ topic labels with their larger touch links. */
@media(max-width:680px){.contact-faq-topic-heading{align-items:center}}

/* Concise clinical references, sourced without implying unverified clinician review. */
.article-medical-resources{margin:30px 0 22px;padding:20px 22px;border:1px solid #e4d5c5;border-radius:14px;background:#fffaf5}
.article-medical-resources h2{font-size:18px;line-height:1.35;margin:0 0 8px}
.article-medical-resources p{font-size:14px;line-height:1.75;margin:0 0 10px}
.article-medical-resources ul{margin:0;padding-left:19px;display:grid;gap:8px}
.article-medical-resources li{font-size:14px;line-height:1.7}
.article-medical-resources a{color:#74513c;text-underline-offset:3px}
@media(max-width:680px){.article-medical-resources{padding:18px 16px}}

.service-related-reading{margin:28px 0;padding-top:18px;border-top:1px solid #eadbcd}
.service-related-reading h2{font-size:19px;line-height:1.35;margin:0 0 14px}
.service-related-reading>div{display:grid;gap:10px}
.service-related-reading a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid #e7d9cc;border-radius:11px;min-height:48px;color:#73513d;text-decoration:none;font-size:14px;line-height:1.6}
.service-related-reading a:hover,.service-related-reading a:focus-visible{border-color:#bca28d;background:#fffaf6}
.service-related-reading a svg{width:17px;height:17px;flex:none}

/* Readable grooming prices transcribed from the original published menu. */
.home-grooming-preview .grooming-preview-poster{display:block;color:inherit;text-decoration:none;transition:border-color 150ms ease,box-shadow 150ms ease}
.home-grooming-preview .grooming-preview-poster:hover,.home-grooming-preview .grooming-preview-poster:focus-visible{border-color:#b8a089;box-shadow:0 10px 22px rgba(65,47,32,.09)}
.grooming-detail-menu{scroll-margin-top:115px;min-width:0;max-width:100%;overflow-x:clip}
.grooming-detail-menu-intro{margin-bottom:22px}
.grooming-detail-menu-intro p{font-size:14px;line-height:1.8;max-width:690px}
.grooming-price-group{border-top:1px solid #e6d7c8;padding-top:21px;margin:23px 0}
.grooming-group-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 12px;margin-bottom:15px}
.grooming-group-heading h3{color:#554438;font-size:clamp(20px,2vw,24px);line-height:1.35;margin:0}
.grooming-group-heading>span{font-size:12px;color:#806c58}
.grooming-size-field{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 14px}
.grooming-size-field label{font-size:14px;font-weight:700;color:#594536}
.grooming-size-field select{min-height:44px;max-width:100%;width:min(265px,100%);padding:9px 37px 9px 13px;border:1px solid #bfa996;border-radius:9px;background:#fffdf9;color:#564438;font:inherit;font-size:14px}
.grooming-size-field select:focus-visible,.grooming-all-prices summary:focus-visible,.grooming-original-menu summary:focus-visible,.grooming-menu-open:focus-visible{outline:2px solid #8f745d;outline-offset:3px}
.grooming-size-caption{font-size:12px;color:#806b59;margin:9px 0 13px}
.grooming-price-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grooming-price-card{min-width:0;border:1px solid #e6d7c9;background:#fffdf9;padding:15px 16px;border-radius:13px}
.grooming-price-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px 12px;flex-wrap:wrap}
.grooming-price-card h3{font-size:15px;line-height:1.45;color:#574334;margin:0}
.grooming-price-card strong{white-space:nowrap;font-size:18px;line-height:1.35;color:#825f43;font-variant-numeric:tabular-nums}
.grooming-price-card p{font-size:13px;line-height:1.75;color:#726052;margin:9px 0 0}
.grooming-all-prices{margin-top:18px;border:1px solid #dfcfbf;border-radius:12px;background:#fffdf9;overflow:hidden;min-width:0;max-width:100%}
.grooming-all-prices summary,.grooming-original-menu summary{cursor:pointer;color:#664c36;font-size:13.5px;font-weight:700;line-height:1.6;padding:14px 16px}
.grooming-all-prices[open] summary,.grooming-original-menu[open] summary{border-bottom:1px solid #eaded2}
.grooming-weight-table-scroll{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.grooming-weight-table{border-collapse:collapse;min-width:805px;width:100%;font-size:12.5px;color:#584b40}
.grooming-weight-table caption{padding:12px 10px;text-align:left;font-weight:700;font-size:13px}
.grooming-weight-table th,.grooming-weight-table td{border:1px solid #ece0d4;padding:10px 9px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.grooming-weight-table thead th{background:#eee2d6;font-weight:700;white-space:normal;min-width:85px}
.grooming-weight-table tbody th{text-align:left;white-space:normal;min-width:160px;font-weight:600;background:#f8f0e7}
.grooming-weight-table tbody tr:nth-child(even) td{background:#fffaf5}
.grooming-table-hint{font-size:12px;margin:9px 14px 12px;color:#816c59}
.grooming-price-note{font-size:12.5px;line-height:1.8;color:#756455;margin:15px 0}
.grooming-small-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grooming-small-price{display:flex;flex-direction:column;justify-content:space-between;gap:7px;background:#fffdf9;border:1px solid #e6d7c9;border-radius:11px;padding:12px 14px;min-width:0}
.grooming-small-price span{font-size:13px;line-height:1.5;color:#655447}
.grooming-small-price strong{font-size:15px;line-height:1.3;color:#805e44;font-variant-numeric:tabular-nums}
.grooming-original-menu{border-top:1px solid #e8daca;margin-top:19px}
.grooming-menu-open{appearance:none;background:transparent;border:0;display:block;width:100%;text-align:left;padding:6px 0 0;cursor:zoom-in;color:#775c45}
.grooming-menu-open>span{font-size:12.5px;text-align:right;display:block;margin:8px 0}
.grooming-menu-open img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid #e5d9cb;border-radius:10px}
.site-image-lightbox{border:0;border-radius:16px;background:#fffaf5;color:#534235;box-shadow:0 26px 65px rgba(0,0,0,.24);width:min(96vw,1280px);max-width:96vw;max-height:95dvh;padding:20px;overflow:auto}
.site-image-lightbox::backdrop{background:rgba(21,16,13,.78)}
.site-image-lightbox-shell{position:relative;display:grid;justify-items:center;padding-top:34px}
.site-image-lightbox-shell img{display:block;max-width:100%;max-height:calc(90dvh - 125px);height:auto;width:auto;object-fit:contain}
.site-image-lightbox-caption{font-size:13px;line-height:1.6;color:#756255;margin:12px 0 0;text-align:center}
.site-image-lightbox-close{position:absolute;top:0;right:0;z-index:1;display:grid;place-items:center;width:42px;height:42px;min-width:42px;border-radius:50%;border:1px solid #e3d4c5;background:#fff;color:#574638;cursor:pointer;font-size:28px;line-height:1}
img[data-zoomable-image]{cursor:zoom-in}
img[data-zoomable-image]:focus-visible{outline:3px solid #846446;outline-offset:3px}
@media(max-width:680px){
 .grooming-detail-menu{padding:20px 15px;scroll-margin-top:94px}
 .grooming-price-cards,.grooming-small-price-grid{grid-template-columns:1fr}
 .grooming-size-field{display:block}
 .grooming-size-field label{display:block;margin-bottom:8px}
 .grooming-size-field select{width:100%}
 .grooming-price-card{padding:13px 14px}
 .grooming-small-price{flex-direction:row;align-items:center;gap:8px}
 .grooming-small-price strong{text-align:right;flex-shrink:0;font-size:14px}
 .site-image-lightbox{padding:12px;width:98vw;max-width:98vw;border-radius:10px}
 .site-image-lightbox-shell img{max-height:calc(90dvh - 108px)}
}
@media(prefers-reduced-motion:reduce){.home-grooming-preview .grooming-preview-poster{transition:none}}

/* Keep wide comparison tables inside their scroll region on narrow screens. */
.detail-layout,.detail-main,.grooming-price-group{min-width:0}

/* A same-document, CSS-powered viewer remains usable if client JS is delayed.
   Only the enlarged image scrolls; the main page remains at its original size. */
.grooming-image-viewer{display:none;position:fixed;inset:0;z-index:100100;padding:12px;justify-content:center;align-items:center;background:rgba(28,19,15,.78)}
.grooming-image-viewer:target{display:flex}
.grooming-image-backdrop{position:absolute;inset:0;display:block}
.grooming-image-panel{position:relative;z-index:1;display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:8px;align-items:center;width:min(1220px,96vw);max-width:100%;max-height:94dvh;overflow:hidden;border-radius:16px;padding:56px 14px 16px;background:#fffaf5;box-shadow:0 25px 80px rgba(0,0,0,.32)}
.grooming-image-close{position:absolute;top:8px;right:10px;display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 14px;border:1px solid #dfcdbb;background:#fffdf9;border-radius:28px;color:#5b4532;font-size:24px;text-decoration:none;line-height:1}
.grooming-image-close span{font-size:14px;font-weight:700}
.grooming-image-close:focus-visible,.grooming-image-zoom-control:focus-visible,.grooming-image-scroll:focus-visible{outline:3px solid #826344;outline-offset:3px}
.grooming-image-zoom-control{margin:0;align-self:center;accent-color:#866b53}
.grooming-image-zoom-label{font-size:13px;font-weight:650;line-height:1.6;color:#674e3b;cursor:pointer}
.grooming-image-scroll{grid-column:1/-1;display:flex;justify-content:center;align-items:flex-start;max-height:calc(94dvh - 118px);margin-top:11px;overflow:auto;background:#fff;overscroll-behavior:contain;border-radius:9px;border:1px solid #eaded4}
.grooming-image-scroll img{display:block;width:auto;max-width:100%;max-height:calc(94dvh - 121px);height:auto;object-fit:contain}
.grooming-image-zoom-control:checked ~ .grooming-image-scroll{justify-content:flex-start}
.grooming-image-zoom-control:checked ~ .grooming-image-scroll img{width:1400px;max-width:none;max-height:none}
body:has(.grooming-image-viewer:target){overflow:hidden}
@media(max-width:600px){.grooming-image-viewer{padding:6px}.grooming-image-panel{padding:54px 10px 11px;max-height:96dvh;width:100%;border-radius:12px}.grooming-image-scroll{max-height:calc(96dvh - 112px)}.grooming-image-scroll img{max-height:calc(96dvh - 115px)}}

/* Broadway Vet x Catfe Mao: shared founder, rescue and adoption. */
.catfe-community{position:relative;padding:clamp(36px,5.6vw,74px) 0;background:#faf4ec;border-top:1px solid #eee1d3;border-bottom:1px solid #eadbcc}
.catfe-community--about{background:#fffaf4}
.catfe-community-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.28fr);gap:clamp(20px,4vw,70px);align-items:center}
.catfe-community-identity{min-width:0;padding:clamp(19px,2.7vw,34px);background:#fffdf8;border:1px solid #e3d4c3;border-radius:18px;text-align:center}
.catfe-community-identity>.eyebrow{color:#8b755e;letter-spacing:.1em;font-size:10px;line-height:1.7}
.catfe-community-logos{display:flex;align-items:center;justify-content:center;gap:clamp(7px,1.7vw,19px);margin:17px auto}
.catfe-community-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;flex:1}
.catfe-community-brand img{display:block;width:69px;height:69px;object-fit:contain;max-width:100%}
.catfe-community-brand--catfe img{width:77px;height:69px}
.catfe-community-brand strong{font-family:var(--body);font-size:clamp(12px,1.3vw,16px);line-height:1.3;font-weight:700;color:#60503f;white-space:nowrap}
.catfe-community-heart{display:grid;flex:0 0 34px;place-items:center;color:#97785a}
.catfe-community-heart svg{width:28px;height:28px}
.catfe-community-identity-note{margin:4px auto 0;max-width:280px;color:#76665a;font-size:12px;line-height:1.8}
.catfe-community-copy{min-width:0}
.catfe-community-copy>.eyebrow{color:#947455;letter-spacing:.12em}
.catfe-community-copy h2{font-family:var(--display);font-size:clamp(25px,3.2vw,39px);line-height:1.3;color:#544137;margin:12px 0 15px;text-wrap:balance}
.catfe-community-copy>p{font-size:clamp(14px,1.5vw,16px);color:#6c5b4d;line-height:1.95;max-width:720px;margin:0}
.catfe-community-actions{display:flex;gap:10px 25px;align-items:center;flex-wrap:wrap;margin-top:23px}
.catfe-community-cta,.catfe-community-secondary{display:inline-flex;align-items:center;gap:10px;min-height:44px;line-height:1.5;text-decoration:none;font-size:14px;font-weight:700}
.catfe-community-cta{border-radius:28px;background:#6c533f;color:#fffdf7;padding:11px 18px}
.catfe-community-cta:hover,.catfe-community-cta:focus-visible{background:#513e2d;color:#fff}
.catfe-community-secondary{color:#6c523d;padding:8px 2px;text-decoration:underline;text-underline-offset:4px}
.catfe-community-cta:focus-visible,.catfe-community-secondary:focus-visible{outline:2px solid #8a6a51;outline-offset:3px}
.catfe-community-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px}
.catfe-community-point{min-width:0;padding:22px 20px 24px;background:#fffdf9;border:1px solid #e7d9cb;border-radius:14px}
.catfe-community-point h3{font-size:17px;font-weight:700;line-height:1.4;color:#574133;margin:0 0 9px}
.catfe-community-point p{font-size:13.5px;line-height:1.83;color:#766354;margin:0}
.catfe-community-addresses{margin:18px 1px 0;font-size:12.5px;line-height:1.85;color:#766557}
@media(min-width:681px) and (max-width:1040px){
 .catfe-community-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:22px}
 .catfe-community-point{padding:18px 15px}
 .catfe-community-point h3{font-size:15px}
}
@media(max-width:680px){
 .catfe-community{padding:33px 0 36px}
 .catfe-community-layout{grid-template-columns:minmax(0,1fr);gap:19px}
 .catfe-community-identity{padding:18px 13px}
 .catfe-community-logos{margin:10px 0;gap:6px}
 .catfe-community-brand img{width:58px;height:58px}
 .catfe-community-brand--catfe img{width:68px;height:58px}
 .catfe-community-brand strong{font-size:13px}
 .catfe-community-heart{flex-basis:26px}
 .catfe-community-heart svg{width:22px;height:22px}
 .catfe-community-identity-note{font-size:11.5px}
 .catfe-community-copy h2{margin:8px 0 12px;font-size:27px}
 .catfe-community-copy>p{font-size:14px;line-height:1.85}
 .catfe-community-actions{margin-top:17px}
 .catfe-community-points{grid-template-columns:1fr;gap:10px;margin-top:24px}
 .catfe-community-point{padding:17px}
 .catfe-community-point p{font-size:13px}
 .catfe-community-addresses{margin-top:15px}
}
@media(min-width:681px) and (max-width:790px){
 .catfe-community-points{grid-template-columns:1fr;gap:12px}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
 .catfe-community-cta{transition:background-color 160ms ease-out}
}

/* Expanded foldable / tablet navigation: seven clear, evenly spaced
   destinations, including Home before Services. Desktop and drawer unchanged. */
@media(min-width:600px) and (max-width:1100px){
 .site-header .fold-nav{grid-template-columns:repeat(7,minmax(0,1fr))}
 .site-header .fold-nav a{min-width:0;min-height:44px}
 .site-header .fold-nav .fold-nav-home{background:#f0e5d7;border:1px solid #dcc9b7}
 .site-header .fold-nav .fold-nav-home:hover,
 .site-header .fold-nav .fold-nav-home:focus-visible{background:#e6d7c5;color:#49372c}
 .site-header .fold-nav .fold-nav-home[aria-current="page"]{background:#5b4d43;border-color:#5b4d43;color:#fff}
}

/* Surgery positioning: restrained, factual and bilingual. */
.surgery-entry{padding:13px 0 30px;background:#fff9f2}
.surgery-entry--services{padding:28px 0 6px;background:transparent}
.surgery-entry-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:26px 30px;border-radius:17px;border:1px solid #dcd2c6;background:#f7f2ea;box-shadow:0 7px 20px rgba(66,50,37,.045)}
.surgery-entry h2{margin:8px 0 9px;font-size:clamp(21px,2.5vw,28px);line-height:1.3;color:#503f34}
.surgery-entry p{max-width:760px;margin:0;font-size:14px;line-height:1.8;color:#68594e}
.surgery-entry-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 18px;border:1px solid #5b4d43;border-radius:26px;text-decoration:none;white-space:nowrap;color:#fff;background:#5b4d43;font-size:13px;font-weight:700}
.surgery-entry-link:hover{background:#45382f}
.surgery-entry-link:focus-visible,.surgery-estimate a:focus-visible,.surgery-estimate summary:focus-visible{outline:3px solid #9b7f64;outline-offset:3px}
.surgery-entry-link svg{width:17px;height:17px;flex-shrink:0}
.surgery-estimate{margin:0 0 27px;padding:27px 30px;border:1px solid #e0d3c4;border-radius:17px;background:#faf6f0}
.surgery-estimate>h2{font-size:clamp(22px,2.5vw,29px);line-height:1.33;color:#503f34;margin:10px 0 13px}
.surgery-estimate>p{font-size:14px;line-height:1.85;color:#66574b;margin:0 0 12px}
.surgery-estimate>p.surgery-estimate-note{color:#746355;font-size:13.5px}
.surgery-estimate-actions{display:flex;flex-wrap:wrap;gap:10px;margin:21px 0 23px}
.surgery-estimate-faq{border-top:1px solid #e4d8cc;padding-top:18px}
.surgery-estimate-faq h3{margin:0 0 9px;font-size:17px;line-height:1.45;color:#513f34}
.surgery-estimate-question{border-bottom:1px solid #e4d9ce;padding:0}
.surgery-estimate-question summary{cursor:pointer;padding:13px 3px;font-weight:650;color:#554439;font-size:13.5px;line-height:1.6}
.surgery-estimate-question p{padding:0 3px 15px;margin:0;color:#695a4f;font-size:13px;line-height:1.82}
@media(max-width:840px){.surgery-entry-shell{grid-template-columns:1fr}.surgery-entry-link{justify-self:start;white-space:normal}}
@media(max-width:600px){.surgery-entry{padding:8px 0 25px}.surgery-entry--services{padding:19px 0 5px}.surgery-entry-shell{padding:20px 19px;gap:16px}.surgery-entry h2{font-size:23px}.surgery-entry p{font-size:13.5px}.surgery-estimate{padding:21px 18px}.surgery-estimate-actions a{width:100%;justify-content:center}.surgery-estimate-question summary{font-size:13px}}

/* 2026-10-23: proportional wordmark sizing across desktop, foldables and phones. */
.site-header .brand-name{font-size:16.7px;line-height:1.19;letter-spacing:.024em}
.site-header .brand-name>b{font-size:inherit}
.site-header .brand-name small{font-size:9px;letter-spacing:.10em;margin-top:3px}
@media(min-width:1251px){
 .site-header .brand-name{font-size:17.6px}
 .site-header .brand-name small{font-size:9.4px}
}
@media(min-width:1101px) and (max-width:1250px){
 .site-header .brand-name{font-size:15.9px}
}
@media(min-width:681px) and (max-width:1100px){
 .site-header .brand-name{font-size:15.4px}
 .site-header .brand-name small{font-size:8.7px}
}
@media(max-width:680px){
 .site-header .brand-name{font-size:13.3px}
 .site-header .brand-name small{font-size:7.7px;letter-spacing:.07em}
}
@media(max-width:360px){
 .site-header .brand-name{font-size:12.3px}
 .site-header .brand-name small{font-size:7.1px}
}
/* Related surgery options: real reading order, a compact button and a bounded arrow.
   Do not use the generic inline SVG here: its intrinsic width caused Chinese
   text to wrap one character per line in narrower content columns. */
.surgery-related-quote{
 box-sizing:border-box;width:100%;min-width:0;
 margin:28px 0 16px;padding:clamp(20px,2.2vw,27px);
 border:1px solid #dfd2c4;background:#fbf6ee;border-radius:14px;
 display:flex;flex-direction:column;align-items:flex-start;
}
.surgery-related-quote h2{margin:0 0 12px;font-size:clamp(20px,2.15vw,25px);line-height:1.35;color:#503f34;max-width:100%}
.surgery-related-quote p{margin:0 0 19px;font-size:13.5px;line-height:1.8;color:#6b5a4c;max-width:72ch}
.surgery-related-quote .surgery-related-quote-link{
 box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
 align-self:flex-start;gap:10px;width:auto;max-width:100%;min-width:0;min-height:44px;
 padding:10px 16px;border:1px solid #cbb49b;border-radius:9px;background:#fff9f1;
 color:#5b4d43;font-size:13.5px;line-height:1.5;font-weight:750;
 text-decoration:none;white-space:normal;word-break:keep-all;overflow-wrap:normal;
 transition:background .18s ease,border-color .18s ease;
}
.surgery-related-quote .surgery-related-quote-link:hover{background:#f1e5d8;border-color:#b59677}
.surgery-related-quote .surgery-related-quote-label{display:inline;min-width:0}
.surgery-related-quote .surgery-related-quote-icon{
 display:inline-block;width:17px;height:17px;flex:0 0 17px;
 font-size:17px;line-height:17px;font-weight:500;text-align:center;
}
.surgery-related-quote .surgery-related-quote-link:focus-visible{outline:3px solid #9b7f64;outline-offset:3px}
@media(max-width:600px){
 .surgery-related-quote{padding:19px 17px;margin:25px 0 14px}
 .surgery-related-quote h2{font-size:21px}
 .surgery-related-quote .surgery-related-quote-link{font-size:13px;gap:8px;padding:10px 13px}
}
@media(prefers-reduced-motion:reduce){.surgery-related-quote .surgery-related-quote-link{transition:none}}

/* Surgical service cards and second-opinion section are separate reading blocks. */
.detail-main > .detail-items--cards + .surgery-estimate{
 margin-top:clamp(36px,4vw,54px);
}
@media(max-width:680px){
 .detail-main > .detail-items--cards + .surgery-estimate{margin-top:32px}
}

/* Folding tablet and narrow-open phone: fit seven navigation actions in one accessible row. */
@media(min-width:600px) and (max-width:739px){
 .site-header .fold-nav{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:7px 10px}
 .site-header .fold-nav a{min-height:44px;padding:7px 3px;font-size:clamp(9px,1.55vw,11px);line-height:1.25;overflow-wrap:anywhere}
 .site-header .fold-nav .fold-nav-book{font-weight:750}
}
@media(min-width:740px) and (max-width:1100px){
 .site-header .fold-nav a{min-height:44px}
}
/* Comparison is a true nested scrolling region; service labels remain visible. */
.grooming-all-prices{contain:layout;max-width:100%}
.grooming-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 8px;background:#f8f1e9}
.grooming-table-hint{margin:0;line-height:1.5;font-size:12px;color:#65513f}
.grooming-table-controls{display:flex;gap:8px;flex:none}
.grooming-table-scroll-button{width:44px;height:44px;border:1px solid #cbb59d;border-radius:10px;background:#fff;color:#644a36;cursor:pointer;font-size:21px}
.grooming-table-scroll-button:disabled{opacity:.36;cursor:default}
.grooming-table-scroll-button:focus-visible{outline:3px solid #88684d;outline-offset:2px}
.grooming-weight-table-scroll{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;position:relative}
.grooming-weight-table th:first-child{position:sticky;left:0;z-index:2;box-shadow:2px 0 0 #dfccba}
.grooming-weight-table thead th:first-child{z-index:3;background:#eee2d6}
.grooming-weight-table tbody th:first-child{background:#f8f0e7}
@media(max-width:500px){.grooming-table-toolbar{padding:8px 10px}.grooming-table-hint{font-size:11.5px}.grooming-table-scroll-button{width:44px;height:44px}.grooming-weight-table tbody th{min-width:132px}}

/* Boarding photographs from the clinic's original Canva posters; keep the
   poster artwork intact. The existing site lightbox handles enlargement. */
.cat-boarding-gallery{margin:36px 0 27px;padding:clamp(17px,2vw,27px);border:1px solid #e6d9c9;border-radius:17px;background:#fffaf3}
.cat-boarding-gallery-heading{margin-bottom:19px}
.cat-boarding-gallery-heading .eyebrow{color:#96816b;font-size:11px;letter-spacing:.12em}
.cat-boarding-gallery-heading h2{font-family:var(--display);font-weight:400;color:#5b4d43;font-size:clamp(24px,2.4vw,33px);line-height:1.2;margin:8px 0 11px}
.cat-boarding-gallery-heading p{margin:0;line-height:1.8;font-size:14px;color:#62594f}
.cat-boarding-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cat-boarding-gallery-card{min-width:0;margin:0}
.cat-boarding-gallery-open{display:block;width:100%;position:relative;appearance:none;border:1px solid #e7ded1;border-radius:13px;background:#f7f2ea;overflow:hidden;cursor:zoom-in;padding:0;box-shadow:0 6px 16px #5b4d4310;transition:box-shadow .18s ease,border-color .18s ease}
.cat-boarding-gallery-open:hover{border-color:#b9a58d;box-shadow:0 12px 26px #5b4d4320}
.cat-boarding-gallery-open:focus-visible{outline:3px solid #9e8a70;outline-offset:3px}
.cat-boarding-gallery-open img{display:block;width:100%;height:auto;aspect-ratio:376/532;object-fit:contain}
.cat-boarding-gallery-zoom{position:absolute;left:9px;right:9px;bottom:9px;text-align:center;display:block;border-radius:7px;padding:8px 5px;background:#493b33db;color:#fffaf4;font-size:11px;font-weight:700;letter-spacing:.02em}
.cat-boarding-gallery-card figcaption{color:#5b4d43;font-size:13px;line-height:1.4;font-weight:700;padding:10px 2px 0}
.cat-boarding-gallery-note{font-size:12px;line-height:1.7;color:#76695b;margin:20px 0 0}
@media(max-width:700px){
  .cat-boarding-gallery{margin-top:27px;padding:17px 14px}
  .cat-boarding-gallery-grid{grid-auto-flow:column;grid-auto-columns:minmax(235px,78%);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 2px 12px;scrollbar-width:thin}
  .cat-boarding-gallery-card{scroll-snap-align:start}
  .cat-boarding-gallery-zoom{padding:10px 7px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.cat-boarding-gallery-open{transition:none}}

/* Dedicated contact details live alongside the original boarding gallery.
   Current rates are deliberately not inferred from expired Canva promotions. */
.cat-boarding-contact{display:block;gap:clamp(18px,2.8vw,34px);margin:30px 0 8px;padding:clamp(20px,2.7vw,32px);border:1px solid #dccdbb;border-radius:16px;background:#fffdf9}
.cat-boarding-contact h2{font-family:var(--display);font-size:clamp(23px,2.3vw,30px);font-weight:400;color:#5b4d43;line-height:1.25;margin:8px 0 13px}
.cat-boarding-contact p{font-size:14px;line-height:1.7;color:#62594f;margin:0 0 14px}
.cat-boarding-contact-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.cat-boarding-contact-links a{display:flex;flex-direction:column;gap:4px;max-width:100%;overflow-wrap:anywhere;padding:12px 15px;border:1px solid #decab2;border-radius:10px;background:#fff8ed;color:#493b33;text-decoration:none}
.cat-boarding-contact-links strong{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#846d56}
.cat-boarding-contact-links span{font-size:15px;font-weight:700}
.cat-boarding-contact-links a:hover,.cat-boarding-contact-links a:focus-visible{border-color:#90785d;outline-offset:2px}
.cat-boarding-contact .cat-boarding-contact-location{margin:7px 0}
.cat-boarding-contact .cat-boarding-contact-note{font-size:12px;color:#74685d}
@media(max-width:700px){.cat-boarding-contact{padding:19px 15px}.cat-boarding-contact-links{flex-direction:column}.cat-boarding-contact-links a{width:100%}}

/* Official boarding WeChat contact — keep QR pixels sharp at every viewport. */
.cat-boarding-wechat{display:flex;align-items:center;gap:clamp(16px,2.5vw,30px);padding:18px;margin:20px 0 18px;border:1px solid #e2d4c4;border-radius:14px;background:#f8f5ef}
.cat-boarding-wechat-qr{display:block;width:clamp(156px,18vw,216px);height:auto;aspect-ratio:383/378;object-fit:contain;background:#fff;padding:8px;border-radius:10px;flex:none;image-rendering:auto}
.cat-boarding-wechat-details{min-width:0;display:grid;gap:6px;color:#544b40}
.cat-boarding-wechat-details strong{font-size:18px;color:#584637}
.cat-boarding-wechat-details span{overflow-wrap:anywhere;font-size:14px}
.cat-boarding-wechat-details p{margin:4px 0 0;font-size:13px;line-height:1.65}
@media(max-width:520px){.cat-boarding-wechat{flex-direction:column;align-items:flex-start;padding:15px}.cat-boarding-wechat-qr{width:min(100%,218px);align-self:center}.cat-boarding-wechat-details{width:100%}}

.cat-boarding-wechat-direct{display:inline-flex;align-items:center;min-height:42px;margin-top:4px;font-size:13px;font-weight:700;color:#6a513b;text-decoration:underline;text-underline-offset:4px}
.cat-boarding-wechat-direct:hover,.cat-boarding-wechat-direct:focus-visible{color:#3d3025}
/* Quiet motion for a clinical website. The three-line handwritten brand
   entrance is managed separately and is deliberately preserved. */
@view-transition{navigation:auto}

@media(prefers-reduced-motion:no-preference){
  /* Fade only: moving a page snapshot also moves its fixed header. */
  ::view-transition-old(root){animation:110ms ease-out both bv-page-out}
  ::view-transition-new(root){animation:160ms ease-out both bv-page-in}
  @keyframes bv-page-out{from{opacity:1}to{opacity:.9}}
  @keyframes bv-page-in{from{opacity:.9}to{opacity:1}}
  .page-hero-text,.article-hero>.container{
    animation:bv-content-arrive 240ms ease-out both
  }
  .page-hero-photo{animation:bv-content-arrive 260ms 30ms ease-out both}
  @keyframes bv-content-arrive{
    from{opacity:.88;translate:0 4px}
    to{opacity:1;translate:0 0}
  }
  /* Reveals are one-shot and never hide content while waiting for scripts. */
  .motion-entered{animation:bv-scroll-arrive 250ms ease-out both}
  @keyframes bv-scroll-arrive{
    from{opacity:.86;translate:0 4px}
    to{opacity:1;translate:0 0}
  }
  .home-carousel .home-slide.is-current{animation:bv-card-change 180ms ease-out both}
  @keyframes bv-card-change{from{opacity:.84}to{opacity:1}}
  .site-header .mobile-nav.is-open,
  .site-header .mobile-services-submenu:not([hidden]){
    animation:bv-nav-open 160ms ease-out both
  }
  @keyframes bv-nav-open{from{opacity:.85;translate:0 -3px}to{opacity:1;translate:0 0}}
  .service-faq-list details[open]>p,
  .contact-faq-item[open]>.contact-faq-answer,
  .service-clinical-details[open] .service-clinic-photo-grid{
    animation:bv-answer-open 160ms ease-out both
  }
  @keyframes bv-answer-open{from{opacity:.8}to{opacity:1}}
}

@media(hover:hover) and (pointer:fine){
  .site-header .desktop-nav>a,.site-header .desktop-nav .services-main-link{position:relative}
  .site-header .desktop-nav>a::after,
  .site-header .desktop-nav .services-main-link::after{
    content:"";position:absolute;bottom:9px;left:0;right:0;height:1px;
    background:#967455;opacity:.9;transform:scaleX(0);transform-origin:left center;
    transition:transform 160ms ease-out;pointer-events:none
  }
  .site-header .desktop-nav>a:hover::after,
  .site-header .desktop-nav>a:focus-visible::after,
  .site-header .nav-dropdown:hover .services-main-link::after,
  .site-header .nav-dropdown:focus-within .services-main-link::after{transform:scaleX(1)}
  .partner-logo-card,.team-card,.contact-method-card,.service-related-link{
    transition:border-color 160ms ease,box-shadow 160ms ease,background-color 160ms ease,transform 160ms ease
  }
  .partner-logo-card:hover,.contact-method-card:hover,.service-related-link:hover{
    transform:translateY(-1px);box-shadow:0 7px 17px rgba(69,49,31,.05)
  }
  .team-card:hover{border-color:#d7c3ae;box-shadow:0 7px 17px rgba(69,49,31,.04)}
  .ig-tile:hover{border-color:#bda48a}
  .ig-tile:hover .ig-play-indicator{scale:1.03}
  .footer-connect-social a:hover,.footer-col>a:hover{color:#fff2e3}
  .btn .btn-arrow svg,.text-link svg,.card-more svg,.story-more svg,
  .detail-item-title-link svg,.service-related-link svg,
  .location-feature-more svg,.location-feature-cta svg,.home-carousel .text-link svg{
    transition:transform 160ms ease-out
  }
  .btn:hover .btn-arrow svg,.text-link:hover svg,
  .service-card:hover .card-more svg,.story-card:hover .story-more svg,
  .service-related-link:hover svg,.detail-item-title-link:hover svg,
  .location-feature-more:hover svg,.location-feature-cta:hover svg,
  .home-carousel .home-slide:hover .text-link svg{transform:translateX(2px)}
}

:is(.btn,.menu-toggle,.home-carousel-actions button,.ig-carousel-controls button,
    .contact-method-card,.service-related-link,.partner-logo-card,.grooming-menu-open,
    .contact-social-links a,.footer-book-link){
  scale:1;touch-action:manipulation;
  transition:scale 100ms ease-out,background-color 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out
}
:is(.btn,.menu-toggle,.home-carousel-actions button,.ig-carousel-controls button,
    .contact-method-card,.service-related-link,.partner-logo-card,.grooming-menu-open,
    .contact-social-links a,.footer-book-link):active:not(:disabled){scale:.985}
:is(.home-carousel-actions button,.ig-carousel-controls button):disabled{scale:1;cursor:default}

/* Touch browsers can retain :hover after a tap; cards should stay in place. */
@media(hover:none),(pointer:coarse){
  .service-card:hover,.btn:hover,.partner-logo-card:hover,
  .contact-method-card:hover,.service-related-link:hover{transform:none}
  .service-card:hover .service-card-photo,.story-card:hover .story-photo{transform:none}
  .text-link:hover{gap:11px}
}
.service-faq-list details{transition:border-color 160ms ease,background-color 160ms ease}
.service-faq-list details[open]{border-color:#d7beaa;background:#fffaf4}
.service-faq-list details summary{transition:color 150ms ease,background-color 150ms ease}
.service-faq-list details summary:hover{color:#74543c;background:#fff9f1}
.service-faq-list details[open] summary{color:#684934}
.service-faq-list details summary:focus-visible{outline:2px solid #987960;outline-offset:-3px}

@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  html{scroll-behavior:auto!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  .motion-entered,.page-hero-text,.page-hero-photo,
  .article-hero>.container,.home-carousel .home-slide.is-current,
  .site-header .mobile-nav.is-open,.site-header .mobile-services-submenu:not([hidden]),
  .service-faq-list details[open]>p,.contact-faq-item[open]>.contact-faq-answer,
  .service-clinical-details[open] .service-clinic-photo-grid{
    animation:none!important;opacity:1!important;translate:none!important
  }
  .site-header .desktop-nav>a::after,.site-header .desktop-nav .services-main-link::after{transition:none!important}
  :is(.btn,.menu-toggle,.home-carousel-actions button,.ig-carousel-controls button,
      .contact-method-card,.service-related-link,.partner-logo-card,.grooming-menu-open,
      .contact-social-links a,.footer-book-link){scale:1!important}
  .service-card:hover,.partner-logo-card:hover,.contact-method-card:hover,.service-related-link:hover{transform:none!important}
}
/* Audit follow-up: keep the clinic palette while making information legible. */
main .eyebrow{color:#705b47!important}
.package-note,.grooming-price-note,.grooming-preview-visual>p,.ig-gallery-bottom>span,
.contact-faq-status,.contact-faq-group-count,.grooming-pawhub-since{color:#685746!important}
.sidebar-card>p{color:#465742!important}
.sidebar-other>h4{color:#625647!important}
.location-number{color:#60452f!important}
.package-note,.grooming-price-note,.grooming-preview-visual>p{font-size:14px;line-height:1.7}
.contact-faq-group-count{font-size:12px}
.contact-faq-status{font-size:14px}
.emergency-care{background:#f7f1e8;border-block:1px solid #d9c8b6;scroll-margin-top:140px}
.emergency-care-heading{max-width:850px;margin-bottom:24px}
.emergency-care-heading>p{color:#51493f;line-height:1.75}
.emergency-care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.emergency-hospital{min-width:0;background:#fffdf9;border:1px solid #d4c2ae;border-radius:14px;padding:22px}
.emergency-hospital h3{font-size:21px;margin:0 0 14px;color:#4e3e31}
.emergency-phone{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;background:#5b4d43;color:#fff;border-radius:8px;font-size:16px;font-weight:700;text-decoration:none}
.emergency-phone:hover{background:#44372e;color:#fff}
.emergency-hospital p,.emergency-hospital li{font-size:14px;line-height:1.7;color:#54483d}
.emergency-hospital ul{list-style:none;padding:0;margin:14px 0}
.emergency-hospital li+li{border-top:1px solid #e3d7c9;margin-top:12px;padding-top:12px}
.emergency-hospital li span{display:block;overflow-wrap:anywhere}
.emergency-hospital li a,.emergency-provider-site{display:inline-flex;align-items:center;min-height:32px;color:#62462d;text-decoration:underline;text-underline-offset:3px;font-weight:650;font-size:14px}
.emergency-care-note{font-size:13px;line-height:1.7;color:#625344;margin:20px 0 0}
.emergency-phone:focus-visible,.emergency-hospital a:focus-visible{outline:3px solid #705033;outline-offset:3px}
@media(max-width:850px){.emergency-care-grid{grid-template-columns:1fr}.emergency-hospital{padding:20px}.emergency-care{scroll-margin-top:180px}}
@media(max-height:500px) and (min-width:601px){.fold-nav>a{min-height:36px;padding-block:7px}.holiday-notice-inner{padding-block:6px}.holiday-notice-segment{font-size:12px}.site-header .header-inner{min-height:62px}}


/* Site-wide compact icon invariant (links, buttons, cards, footers, stories).
   Explicit SVG dimensions in the generator plus this independent CSS cap
   prevent intrinsic SVG sizing from shrinking text into vertical columns. */
svg.bv-inline-arrow{
 display:inline-block;
 width:18px;height:18px;
 max-width:18px;max-height:18px;
 flex:0 0 auto;vertical-align:middle;
}
