/* v3: warm, friendly clinic design inspired by the supplied visual references. */
:root{--teal:#805a22;--deep:#735022;--ink:#71532e;--muted:#8a806f;--orange:#f1b72b;--cream:#f8f5ed;--mint:#edf4e5;--line:#e8e1d4;--leaf:#8fc63d;--leaf-dark:#567f24;--leaf-pale:#dcebd2;--serif:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
body{color:var(--ink);font-weight:500}.container{width:min(1280px,calc(100% - 88px))}h1,h2,h3,h4{font-weight:700}.section-title h2{font-size:32px;font-weight:700;letter-spacing:.06em}.eyebrow{font-size:12px;letter-spacing:.24em;color:#829b50}.text-link{color:var(--deep)}.text-link svg{padding:5px;width:29px;height:29px;border-radius:50%;background:var(--leaf);color:#fff;stroke-width:2}.button{border-radius:100px;min-height:55px;padding:13px 29px;font-weight:700}.orange{background:var(--orange);color:#694914}.orange:hover{background:#e6aa1f}.teal{background:var(--leaf);color:#355816}.teal:hover{background:#a0d354}.outline{border-color:#b5c78f;background:white;color:var(--deep)}.outline:hover{background:#f1f6e8}.line{background:var(--leaf);color:#355816}.line:hover{background:#a0d354}.pending{font-size:9px}.preview-bar{background:#7a8e59;height:22px;line-height:22px;font-size:9px}.site-header{background:var(--cream);box-shadow:none;border-bottom:1px solid #eee8dd}.header-main{min-height:94px;width:min(1440px,calc(100% - 50px));gap:25px}.brand{background:#fff;padding:12px 22px 13px 0;border-radius:0 0 30px 0;align-self:stretch;display:flex;align-items:center}.logo-art{width:255px}.header-caption{color:#938b7d;font-size:10px;letter-spacing:.04em}.header-phone small{color:#9b8a6b}.header-phone span{color:var(--deep);font-size:22px}.header-actions{gap:10px}.header-actions .button{min-width:120px;min-height:48px;border-radius:40px}.main-nav{max-width:1280px;padding:0 20px 15px;gap:7px}.main-nav>a{font-size:14px;font-weight:700;padding:3px 14px;letter-spacing:.03em}.main-nav small{font-size:8px;color:#a1937a;letter-spacing:.08em}.main-nav a[aria-current]:after{background:var(--leaf);height:4px;border-radius:6px;bottom:-15px;width:35px;left:calc(50% - 17px)}.main-nav a:hover span{color:var(--leaf-dark)}
.hero{background:var(--cream);padding:25px 0 85px}.hero-layout{max-width:1440px;width:calc(100% - 65px);grid-template-columns:40% 60%;gap:0}.hero-copy{padding:30px 20px 30px 20px}.location-kicker{display:inline-flex;font-size:11px;color:#8a6936;background:white;border-radius:20px;padding:5px 15px;margin-bottom:23px}.location-kicker>span{width:7px;height:7px;background:var(--leaf);border-radius:50%}.hero h1{font-size:clamp(44px,4vw,62px);font-weight:700;letter-spacing:.07em;line-height:1.7;margin-bottom:24px;color:var(--deep)}.hero h1>span:first-child{font-size:.77em}.hero h1 .period{color:var(--leaf)}.hero-message{font-weight:600;font-size:14px;line-height:2.15;letter-spacing:.04em}.hero-cta{gap:20px}.hero-cta .text-link{gap:12px;font-size:13px}.hero-facts{color:#93856c;font-size:10px;gap:15px;margin-top:24px}.hero-facts svg{color:#92b65c}.hero-visual{width:100%;margin:0;padding:0 0 15px}.hero-visual>img{height:470px;border-radius:100px 35px 100px 35px;object-position:50% 49%}.hero-visual:after{border-radius:100px 35px 100px 35px;background:linear-gradient(90deg,#f8f5ed40,transparent 35%)}.hero-visual:before{display:block;content:'';position:absolute;inset:16px -16px 0 16px;background:#deebcf;border-radius:100px 35px 100px 35px}.hero-note{bottom:36px;right:26px;font-size:12px;letter-spacing:.05em}.hero-bottom{display:none}
.photo-menu-section{background:#fff;border-radius:65px 65px 0 0;margin-top:-60px;padding:60px 0 45px;position:relative;z-index:3}.photo-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px}.photo-menu-card{display:block;position:relative;min-width:0;padding-bottom:0;border-radius:21px;transition:transform .2s}.photo-menu-card:hover{transform:translateY(-5px)}.photo-menu-card>img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:21px;transition:filter .2s}.photo-menu-card:hover>img{filter:brightness(1.05)}.photo-menu-card:first-child>img{object-position:50% 65%;filter:brightness(1.12)}.photo-menu-card:nth-child(3)>img{object-position:50% 29%}.photo-menu-card:nth-child(4)>img{object-position:48% 49%}.photo-menu-label{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:13px;padding:15px 15px 2px 0;background:#fff;border-radius:0 24px 0 0;max-width:95%;min-height:54px}.photo-menu-label:before{content:'';position:absolute;left:0;top:-19px;width:20px;height:20px;background:radial-gradient(circle at 100% 0,transparent 19px,#fff 19.5px)}.photo-menu-label:after{content:'';position:absolute;right:-19px;bottom:0;width:20px;height:20px;background:radial-gradient(circle at 100% 0,transparent 19px,#fff 19.5px)}.photo-menu-label>b{font-size:15px;line-height:1.7;letter-spacing:.02em;white-space:nowrap}.photo-menu-label>i{border-radius:50%;width:27px;height:27px;display:grid;place-items:center;background:var(--leaf);color:white;flex-shrink:0}.photo-menu-label svg{width:17px;height:17px;stroke-width:2}.news-strip{padding:20px 0 35px;margin-bottom:12px;border-color:#e9e5db;grid-template-columns:190px 1fr}.news-strip h2{font-weight:700}.news-tag{background:#edf5df;color:#688f31;border-radius:30px}.news-list time{color:#a29171}.news-strip .text-link svg{width:21px;height:21px;padding:4px}.visit-section{padding-top:60px;padding-bottom:75px}.visit-grid{gap:65px}.visit-grid h2{font-size:30px;font-weight:700}.hours-card{background:#f8f5eb;border-radius:30px;padding:28px 33px}.schedule-table td{color:#83ac47}.schedule-table th,.schedule-table td{border-color:#e1dac8}.schedule-table thead th{color:#8c7a5a}.quick-links{display:none}.greeting-section{background:var(--cream);border-radius:60px 60px 0 0}.greeting-main{border-radius:35px 90px 35px 35px;height:440px}.greeting-director{border-radius:100px;border:8px solid var(--cream);object-position:center 25%}.greeting-copy p{color:#83735d;line-height:2.2}.director-sign strong{font-family:var(--sans);font-size:27px;font-weight:700}.director-sign small{color:#a28e6b}.photo-label{color:#9c8b6e}.greeting-copy .button{background:#fff;border:0;color:var(--deep)}
.values-section{background:var(--leaf-pale);padding:65px 0 75px;position:relative;overflow:hidden}.values-heading{text-align:center;position:relative;margin-bottom:42px}.values-heading .eyebrow{color:#668c37;font-size:11px;margin-bottom:17px}.values-heading h2{position:relative;display:inline-block;padding:15px 42px 17px;font-size:31px;font-weight:700;background:#749f2c;border-radius:60px;color:white;letter-spacing:.12em}.values-heading>p{font-size:13px;margin:20px 0 0;color:#667747;letter-spacing:.04em}.values-heading>.values-paw{display:inline-block;position:absolute;color:#9abf64;left:calc(50% + 330px);top:18px;transform:rotate(18deg)}.values-paw svg{width:64px;height:64px;stroke-width:1.2}.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.value-item{background:#fff;border-radius:28px;padding:29px 31px;display:flex;align-items:center;gap:25px;outline:1.5px dotted #b59b63;outline-offset:-9px;min-height:170px}.value-icon{width:70px;height:70px;border-radius:50%;background:#fbf3df;display:flex;align-items:center;justify-content:center;color:#bf8e27;flex-shrink:0}.value-icon svg{width:42px;height:42px;stroke-width:1.7}.value-item:nth-child(2n) .value-icon{background:#f0f7e6;color:#80a547}.value-item h3{font-size:18px;color:#835e23;line-height:1.8;letter-spacing:.02em}.value-item p{font-size:13px;line-height:1.9;margin:9px 0 0;color:#988466}
.care-section{background:white}.care-photo>img{border-radius:40px 40px 90px 40px}.care-photo>div{border-radius:25px;background:#fffffff2;color:#896224}.care-items>a{border-color:#e5dece}.care-items>a>span{color:#9bc44f;font-family:Arial,sans-serif;font-weight:700;font-size:22px}.care-items h3{color:#835c22}.care-items p{color:#93856f}.care-items>a>svg{background:var(--leaf);color:white;border-radius:50%;padding:5px;width:28px;height:28px}.facility-section{background:var(--cream);border-radius:60px 60px 0 0}.facility-card img{border-radius:25px}.facility-card>span{color:#835b26;font-weight:700}.facility-card svg{background:var(--leaf);color:white;border-radius:50%;padding:4px;width:25px;height:25px}.service-note{border-color:#e4dccb}.service-note h3{color:#805d27}.service-note>span{color:#9bbd59}.faq-list details{border-color:#e9e0cf}.faq-list .q{color:#91b64d;font-weight:700;font-family:Arial,sans-serif;font-size:23px}.faq-list summary{font-weight:700;color:#815f2d}.faq-list summary>svg{color:#8bad53}.answer{color:#8f806a}.answer>span{color:#d6a849;font-family:Arial,sans-serif}.related-section{background:#f9f6ed;border-radius:50px 50px 0 0}.related-card{border-radius:25px}.recruit-banner{background:#e5edda}.recruit-banner h3{font-family:var(--sans);font-weight:700;color:#7e5a27}.recruit-banner img{border-radius:55px 0 0 0}.related-card h3{font-family:var(--sans);font-weight:700}.booking-banner{background:#fbefcd}.insurance-panel{border-radius:25px}.insurance-link{border-radius:15px}.insurance-panel h3{color:#84602a}.insurance-link>b{color:#8b7757}.contact-band{background:#dcebcf;color:#765729;border-radius:70px 70px 0 0;margin-top:0;padding:65px 0}.contact-band .eyebrow{color:#7b984f}.contact-band h2{font-family:var(--sans);font-size:31px;font-weight:700}.contact-band p{color:#7e795d}.contact-band .minor-actions .text-link,.line-text{color:#75592a}.phone-large{color:#765629}.phone-large svg{color:#8aa950}.site-footer{background:var(--cream);color:#837052}.footer-insurance a{border-radius:12px;border-color:#e9e1d2}.footer-nav{color:#8c6c3c}.copyright{border-color:#e6ddca;color:#9f9075}.sub-hero{background:#f8f5ed;border-radius:0 0 45px 45px}.sub-hero h1{font-size:37px;font-weight:700;color:#7e5b28}.sub-paw{color:#e3edce}.breadcrumb{color:#a49982}.reservation-notice{background:#eef5e2;border-radius:30px}.reservation-notice>div:first-child{color:#81602f}.animal-labels>span{border-radius:35px;color:#88642c;font-family:var(--sans);font-weight:700;background:#f8f3e4}.medical-intro>img{border-radius:40px}.medical-index a{border-color:#e4dece;color:#896633}.medical-index a>span{color:#9fba6d}.medical-index a>svg{color:#8daf4e}.medical-detail{border-color:#dce4ce}.medical-detail h3{color:#815d28}.medical-detail .detail-label{color:#9bb46d}.detail-label>span{color:#9bb46d;font-style:normal;font-weight:700}.medical-detail>p{color:#867862}.consult-tags>span{border-radius:15px;background:#eff5e4;color:#6f8844}.consult-box{border-radius:25px;background:#f8f5eb}.consult-box h3{color:#82602c}.review-note{border-radius:0 20px 20px 0;background:#fff8e5}.about-director>img{border-radius:70px 30px 70px 30px}.access-photo img{border-radius:30px}.pale{background:#edf4e4}.data-list>div{border-color:#e6dece}.access-details h3{color:#85622b}.info-dialog{border-radius:30px}.image-dialog{border-radius:25px}.form-notice{border-radius:0 18px 18px 0}.field-row input:not([type=radio]),.field-row textarea{border-color:#ddd5c2;border-radius:12px}.form-result{border-color:#b7c895;border-radius:15px}.news-tag{color:#567f24}.news-list>a:hover .news-name{color:#567f24}
@media(min-width:1600px){.hero-layout{grid-template-columns:39% 61%}.hero-copy{padding-left:45px}.hero h1{font-size:65px}.hero-visual>img{height:520px}.photo-menu-card>img{aspect-ratio:1.5}.photo-menu-label>b{font-size:17px}}
@media(max-width:1100px){.container{width:calc(100% - 60px)}.header-main{width:calc(100% - 40px);gap:15px}.logo-art{width:235px}.header-caption{display:none}.main-nav>a{font-size:13px;padding-inline:9px}.hero-layout{width:calc(100% - 45px)}.hero h1{font-size:47px}.hero-copy{padding-left:8px}.hero-visual>img{height:430px}.photo-menu-grid{gap:23px}.photo-menu-label{gap:8px;padding-right:11px}.photo-menu-label>b{font-size:13px}.photo-menu-label>i{width:23px;height:23px}.value-item{gap:18px;padding:28px 24px}.value-item h3{font-size:16px}.value-icon{width:59px;height:59px}.values-heading>.values-paw{left:calc(50% + 280px)}.greeting-grid{gap:50px}}
@media(max-width:960px){.site-header{border-bottom:1px solid #e8e1d2}.header-main{min-height:85px}.brand{padding-right:20px}.logo-art{width:223px}.main-nav{background:var(--cream);border-radius:0 0 30px 30px;padding:20px;box-shadow:0 15px 20px #866b3020}.main-nav>a{font-size:14px}.menu-toggle>span{background:#86632c;height:2px}.menu-toggle small{color:#86632c}.hero{padding-top:20px;padding-bottom:70px}.hero-layout{grid-template-columns:43% 57%;width:calc(100% - 45px)}.hero h1{font-size:42px;line-height:1.7;letter-spacing:.05em}.hero-message{font-size:12px}.hero-cta{gap:15px}.hero-cta .text-link{font-size:11px;gap:8px}.hero-visual>img{height:410px;border-radius:85px 25px 85px 25px}.hero-visual:after,.hero-visual:before{border-radius:85px 25px 85px 25px}.hero-visual:before{inset:12px -12px 0 12px}.hero-note{font-size:9px;right:20px;bottom:30px}.hero-facts{font-size:8px;gap:7px}.photo-menu-section{padding-top:40px;border-radius:50px 50px 0 0;margin-top:-45px}.photo-menu-grid{gap:23px 26px;grid-template-columns:1fr 1fr}.photo-menu-card>img{aspect-ratio:1.65}.photo-menu-label{min-height:49px;padding-top:12px;gap:12px}.photo-menu-label>b{font-size:15px}.values-grid{gap:22px}.values-heading h2{font-size:27px;padding-inline:30px}.values-heading>.values-paw{left:calc(50% + 240px);top:25px}.values-paw svg{width:45px;height:45px}.value-item{flex-direction:column;align-items:flex-start;gap:13px;min-height:230px;padding:27px}.value-icon{width:51px;height:51px}.value-icon svg{width:32px;height:32px}.value-item h3{font-size:16px}.value-item p{font-size:12px}.greeting-section{border-radius:45px 45px 0 0}.greeting-grid{gap:35px}.contact-band{border-radius:50px 50px 0 0}.sub-hero h1{font-size:34px}}
@media(max-width:640px){.container{width:calc(100% - 40px)}body{font-size:14px}.section{padding:60px 0}.section-title h2{font-size:25px;letter-spacing:.04em}.eyebrow{font-size:9px;margin-bottom:13px}.header-main{width:calc(100% - 28px);min-height:78px;gap:8px}.brand{padding:8px 15px 8px 0;border-radius:0 0 24px 0}.logo-art{width:205px}.preview-bar{font-size:7px;height:20px;line-height:20px}.preview-bar span{font-size:6px}.menu-toggle{width:43px;margin-left:auto}.main-nav{padding:18px 16px}.main-nav>a{font-size:13px;padding:15px 10px}.mobile-menu-actions .button{font-size:12px}.hero{padding:15px 0 55px}.hero-layout{width:100%;display:flex;flex-direction:column}.hero-copy{padding:8px 25px 20px;width:100%}.location-kicker{font-size:9px;padding:4px 12px;margin-bottom:13px;gap:7px}.location-kicker>span{width:6px;height:6px}.hero h1{font-size:43px;line-height:1.65;letter-spacing:.06em;margin-bottom:17px}.hero h1>span:first-child{font-size:.77em}.hero-message{font-size:12px;line-height:2;margin-bottom:0;font-weight:500}.hero-cta{margin-top:19px;gap:18px}.hero-cta .button{font-size:12px;min-width:148px;padding:12px 18px;min-height:48px}.hero-cta .text-link{font-size:11px;gap:7px}.hero-cta .text-link svg{width:24px;height:24px}.hero-facts{margin-top:19px;gap:11px;font-size:8px}.hero-facts svg{width:13px;height:13px}.hero-visual{width:calc(100% - 40px);align-self:center;padding:0 0 12px;margin:8px 0 0}.hero-visual>img{height:235px;border-radius:50px 18px 50px 18px;object-position:49% 49%}.hero-visual:after{border-radius:50px 18px 50px 18px;background:linear-gradient(90deg,#f8f5ed30,transparent 35%)}.hero-visual:before{border-radius:50px 18px 50px 18px;inset:10px -10px 0 10px}.hero-note{font-size:8px;bottom:27px;right:15px}.photo-menu-section{border-radius:35px 35px 0 0;margin-top:-35px;padding:32px 0 27px}.photo-menu-grid{gap:20px 18px}.photo-menu-card>img{aspect-ratio:1.15;border-radius:15px}.photo-menu-card:nth-child(3)>img{object-position:50% 24%}.photo-menu-label{padding:10px 10px 1px 0;min-height:43px;gap:7px;border-radius:0 18px 0 0;max-width:98%}.photo-menu-label>b{font-size:12px;letter-spacing:0}.photo-menu-label>i{width:21px;height:21px}.photo-menu-label svg{width:13px;height:13px}.photo-menu-label:before,.photo-menu-label:after{width:15px;height:15px;background:radial-gradient(circle at 100% 0,transparent 14px,#fff 14.5px)}.photo-menu-label:before{top:-14px}.photo-menu-label:after{right:-14px}.photo-menu-card:first-child .photo-menu-label{flex-wrap:wrap;gap:1px 5px;padding-right:7px}.photo-menu-card:first-child .photo-menu-label>b{font-size:12px}.news-strip{padding:17px 0 25px;gap:10px;grid-template-columns:1fr}.news-strip h2{font-size:17px}.news-strip>div:first-child{gap:10px}.news-strip .news-list>a{gap:3px 11px}.visit-section{padding:35px 0 50px}.visit-grid h2{font-size:25px}.visit-grid{display:block}.hours-card{padding:20px 18px;border-radius:23px}.visit-grid>div:first-child>.text-link{bottom:25px;font-size:10px}.hours-bottom{font-size:9px}.hours-bottom .text-link{font-size:10px}.hours-bottom .text-link svg{width:21px;height:21px;padding:4px}.greeting-section{border-radius:35px 35px 0 0}.greeting-grid{gap:25px}.greeting-photos{padding-bottom:65px}.greeting-main{height:290px;border-radius:25px 65px 25px 25px}.greeting-director{width:128px;height:160px;border-radius:80px;border-width:5px}.photo-label{font-size:9px;bottom:28px}.greeting-copy .section-title h2{font-size:25px}.greeting-copy p{font-size:12px;line-height:2.2}.director-sign strong{font-size:23px}.greeting-copy .button{font-size:12px}.values-section{padding:45px 0 50px}.values-heading{margin-bottom:27px}.values-heading .eyebrow{font-size:8px;margin-bottom:14px}.values-heading h2{font-size:20px;padding:12px 21px 14px;letter-spacing:.06em;border-radius:40px}.values-heading>p{font-size:10px;line-height:1.9;max-width:260px;margin:16px auto 0}.values-heading>.values-paw{display:none}.values-grid{grid-template-columns:1fr;gap:15px}.value-item{flex-direction:row;align-items:center;min-height:139px;border-radius:22px;padding:23px 21px;gap:16px;outline-offset:-7px}.value-icon{width:46px;height:46px}.value-icon svg{width:30px;height:30px}.value-item h3{font-size:15px;line-height:1.8}.value-item p{font-size:12px;line-height:1.95;margin-top:6px}.care-items h3{font-size:16px}.care-items>a>span{font-size:19px}.care-items>a>svg{width:24px;height:24px;padding:4px}.care-photo>img{border-radius:25px 25px 60px 25px;height:270px}.care-photo>div{border-radius:15px}.facility-section{border-radius:35px 35px 0 0}.facility-card img{border-radius:17px}.facility-card svg{width:21px;height:21px}.facility-card>span{font-size:13px}.faq-list summary{font-size:12px}.faq-list .q{font-size:21px}.answer{font-size:11px}.related-section{border-radius:30px 30px 0 0;padding:40px 0 45px}.related-card{border-radius:19px}.related-card h3{font-size:18px}.recruit-banner h3{font-size:19px}.insurance-panel{border-radius:22px}.insurance-panel h3{font-size:16px}.insurance-link{border-radius:12px}.insurance-link>b{font-size:9px}.contact-band{border-radius:35px 35px 0 0;padding:45px 0}.contact-band h2{font-size:25px}.phone-large{font-size:29px}.footer-logo .logo-art{width:220px}.footer-insurance a{border-radius:10px}.footer-nav{font-size:10px}.mobile-dock{background:var(--cream);border-radius:18px 18px 0 0;overflow:hidden;box-shadow:0 -3px 20px #7d5a2412}.dock-item{color:#83602c;border-color:#ebe2cf}.dock-item.reserve{background:var(--orange);color:#684711}.line-dock{background:#e9f2da;color:#658936}.sub-hero{border-radius:0 0 30px 30px;padding-bottom:32px}.sub-hero h1{font-size:29px}.sub-paw svg{width:95px;height:95px}.medical-intro .section-title h2{font-size:24px}.medical-intro>img{border-radius:25px}.medical-index a{font-size:11px}.medical-detail h3{font-size:18px}.medical-detail>p{font-size:12px}.medical-detail h4{font-size:13px}.review-note{font-size:10px}.consult-box{border-radius:22px}.about-director>img{border-radius:50px 25px 50px 25px}.access-photo img{border-radius:22px}.reservation-notice{border-radius:23px}.schedule-table td{font-size:12px}}
@media(max-width:359px){.container{width:calc(100% - 32px)}.logo-art{width:184px}.header-main{width:calc(100% - 24px)}.hero-copy{padding-inline:20px}.hero h1{font-size:38px}.hero-cta{gap:13px}.hero-cta .button{min-width:136px}.hero-cta .text-link{font-size:10px;gap:5px}.hero-facts{font-size:7px;gap:7px}.hero-visual>img{height:210px}.photo-menu-grid{gap:16px 12px}.photo-menu-label>b{font-size:11px}.photo-menu-label>i{width:18px;height:18px}.photo-menu-card:first-child .photo-menu-label>b{font-size:11px}.photo-menu-label{gap:5px;padding-right:8px}.values-heading h2{font-size:18px;padding-inline:18px}.value-item{gap:11px;padding-inline:18px}.value-icon{width:38px;height:38px}.value-icon svg{width:25px;height:25px}.value-item h3{font-size:14px}.value-item p{font-size:11px}.visit-grid>div:first-child>.text-link{position:static}.section-title h2{font-size:23px}}
