/* SAC Riverpet: white editorial panels over stationary, full-color photography. */
:root{--ink:#263447;--teal:#263447;--paper:#fff;--muted:#626971;--border:#dedede;--gold:#a78853}
html{scroll-padding-top:180px}body{background:#fff;color:var(--ink);font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400}body::before{content:'';position:fixed;inset:0;z-index:-1;background-image:linear-gradient(#10192369,#10192369),var(--page-photo);background-position:center;background-size:cover;opacity:1;pointer-events:none}body:has(.site-header){isolation:isolate}main{background:transparent}h1,h2,h3{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:300;letter-spacing:.035em}h2{font-size:clamp(30px,3.6vw,48px);line-height:1.2}h3{font-size:23px}em{font-style:normal;color:inherit}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.23em;color:var(--muted)}p{line-height:1.85}.preview{background:#f3f3f1;color:#666;font-size:9px;letter-spacing:.1em;padding:6px 15px;text-align:center}.site-header{position:sticky;top:0;z-index:30;display:block;padding:0;background:#fff;border:0;box-shadow:0 2px 10px #00000008}.masthead{max-width:1400px;margin:auto;min-height:105px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:13px 5%;gap:20px}.brand{justify-content:center;gap:12px;min-width:0}.brand img{width:59px;height:66px;object-fit:contain;mix-blend-mode:normal}.brand strong{font-weight:400;font-size:18px;letter-spacing:.18em;white-space:nowrap}.brand small{font-size:11px;letter-spacing:.44em;text-align:center;margin-top:6px}.header-contact{display:flex;flex-direction:column;align-items:flex-start;gap:7px;font-size:12px;color:#666}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.social-top{display:flex;gap:17px;font-size:11px}.social-top small{font-size:9px;color:#777}.button{font-size:11px;line-height:1.4;font-weight:500;letter-spacing:.11em;text-transform:uppercase;border:1px solid var(--ink);border-radius:0;box-shadow:none;padding:15px 25px;background:var(--ink);color:white;min-height:44px}.button:hover{background:#435064;transform:none}.button.outline{color:var(--ink);background:transparent}.button.outline:hover{background:var(--ink);color:white}.header-actions .button{padding:10px 20px;font-size:10px}.button.glass{border-color:#fff;background:#00000012;color:#fff}.button.glass:hover{background:#fff;color:var(--ink)}#navigation{display:flex;position:relative;justify-content:center;gap:33px;padding:17px 20px;border-top:1px solid #f0f0f0;background:#fff}#navigation>a,.nav-dropdown>summary{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;padding:0;line-height:20px;white-space:nowrap}nav a:hover,nav a[aria-current],.nav-about.current>summary{color:#8b6a33}.nav-dropdown{position:relative}.nav-dropdown summary{cursor:pointer;list-style:none}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary span{font-size:12px}.nav-sub{position:absolute;top:calc(100% + 17px);left:-20px;width:240px;padding:10px 0;background:#fff;border:1px solid #e5e5e5;box-shadow:0 12px 25px #00000015;z-index:40}.nav-sub a{display:block;font-size:12px;line-height:1.5;padding:12px 20px;letter-spacing:.03em}.nav-sub a:hover{background:#f7f5f1}.menu{display:none}.page-hero{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:390px;max-width:none;padding:65px 25px;background:transparent;border:0;color:#fff;gap:0}.page-hero>div{max-width:1000px}.page-hero .eyebrow{color:#fff;opacity:.9;margin-bottom:26px}.page-hero h1{font-size:clamp(34px,4.5vw,64px);font-weight:200;text-transform:uppercase;letter-spacing:.14em;line-height:1.3;margin:0}.page-hero h1 br{display:block}.page-hero p{max-width:750px;margin:22px auto 0;font-size:17px;font-weight:300;letter-spacing:.06em;color:#fff}.page-hero-image{display:none}body[data-page=index] .page-hero{min-height:600px;padding:75px 20px}.page-hero h1 span{font-size:.62em;letter-spacing:.18em}.page-hero .hero-signature{font-family:Georgia,serif;font-style:italic;letter-spacing:.02em;font-size:24px;margin:32px 0 24px}.section{max-width:none;margin:0;background:#fff;padding:90px max(6vw,calc((100vw - 1180px)/2));border:0}.editorial-section{text-align:center}.editorial-section>p{max-width:780px;margin:20px auto;color:var(--muted);font-size:16px}.editorial-section>h2{text-transform:uppercase;letter-spacing:.07em}.editorial-section>.eyebrow{margin-bottom:22px}.editorial-section .lead{font-size:21px;font-weight:300;color:#4e565e;line-height:1.7}.editorial-section>.button,.editorial-section>.text-link{margin-top:25px}.welcome-rule{height:1px;width:65px;margin:28px auto;background:var(--gold)}.photo-break,.color-window{padding:80px 20px;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;background:transparent;gap:24px}.photo-break .eyebrow,.color-window .eyebrow{color:#fff;margin:0}.photo-break h2,.color-window h2{font-size:clamp(30px,4vw,50px);font-weight:200;max-width:850px;margin:0;text-transform:uppercase;letter-spacing:.08em}.color-window{min-height:480px;background-image:linear-gradient(#13203355,#13203355),var(--window-photo);background-size:cover;background-position:center 42%;background-attachment:fixed}.ranch-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px;text-align:center}.ranch-cards>a{border:1px solid #e4e4e4;background:#fff;transition:box-shadow .2s}.ranch-cards>a:hover{box-shadow:0 12px 35px #00000012}.ranch-cards img{display:block;width:100%;height:275px;object-fit:cover}.ranch-cards h3{margin:25px 10px 12px;text-transform:uppercase;font-size:20px}.ranch-cards p{padding:0 20px;color:var(--muted);font-size:14px}.ranch-cards span{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.15em;margin:10px 0 28px;color:#816332}.home-links{display:flex;justify-content:center;flex-wrap:wrap;gap:35px;margin:35px 0;font-size:14px}.editorial-grid{gap:30px;margin-top:45px;text-align:left}.editorial-grid article{padding:25px 5px;background:#fff;border:0;border-top:1px solid #cfc6b6;border-radius:0}.editorial-grid article>span{color:#9b8157;font-size:12px}.editorial-grid h3{text-transform:uppercase;font-size:20px;line-height:1.5}.editorial-grid p{color:var(--muted)}.story-grid{gap:80px}.story-grid h2,.team-preview h2,.contact-grid h3{text-transform:uppercase}.notice{background:#f7f5f0;color:#5e5b52;border:1px solid #e8e1d4;border-left:2px solid #aa9169;font-size:14px;padding:22px;margin:30px 0;line-height:1.8;text-align:left}.editorial-section>.notice{max-width:850px;margin:30px auto}.soft-cta{background:#f7f6f2;border-color:#e1dcd2}.price-table th{background:#344253}.price-table caption{background:#f5f3ef;color:#56514a}.price-table td{border-color:#e4e4e4}.price-controls input,.price-controls select{background:white;border-color:#ccc}.active-offer{background:#faf7ef;border-color:#d6cbb7}.offer-dates{color:#66512d}.promo-dot{background:#a37a31}.promo-live{color:#856128}.contact-grid article{border-color:#d9d2c5}.social-section{background:#f8f7f4}.social-cards a{background:#fff;border-color:#dedbd4}.site-footer{display:block;padding:65px 6% 25px;background:#fff;color:var(--ink);border-top:1px solid #e2e2e2}.footer-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:40px}.footer-intro p{font-family:Georgia,serif;font-style:italic;color:#666}.footer-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;border-top:1px solid #e8e8e8;padding:35px 0;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #e8e8e8;padding-top:25px;font-size:11px;color:#777}#booking-modal{background:white;border-radius:3px;max-width:720px;box-shadow:0 25px 100px #0004}#booking-modal::backdrop{background:#172131a6;backdrop-filter:blur(5px)}#booking-modal .close{background:#fff;color:#263447}.booking-content h2{font-weight:300;font-size:42px;letter-spacing:.01em}.booking-content .eyebrow{color:#8b7045}.booking-content .booking-status{background:#f5f3ed;color:#635c4f}.booking-content .button{background:#263447}.browse-button{color:#666}.booking-picture{height:220px}.booking-content{padding:35px 40px}.booking-content>p{font-size:15px}.booking-content .booking-status{font-size:13px}.booking-content .browse-button{font-size:13px}.text-link{color:#66512d;border-color:#b7a687}.section .eyebrow{color:#887147}.price-notice strong{color:#645332}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b68e46;outline-offset:5px}
@media(min-width:901px){.nav-dropdown:hover:not([open])>summary{color:#8b6a33}}
@media(max-width:1100px){#navigation{gap:21px}.masthead{padding:13px 3%}.brand strong{font-size:15px}.header-contact{font-size:11px}.section{padding:70px 6%}.ranch-cards img{height:230px}}
@media(max-width:900px){html{scroll-padding-top:95px}.masthead{display:flex;justify-content:space-between;min-height:83px;padding:10px 5%}.masthead>.brand{order:0}.header-contact,.header-actions{display:none}.brand img{width:45px;height:50px}.brand strong{font-size:15px}.brand small{font-size:9px}.menu{display:block;position:static;order:1;border:1px solid #ddd;background:#fff;min-width:44px;min-height:44px}#navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 6% 20px;max-height:calc(100dvh - 105px);overflow:auto;box-shadow:0 12px 20px #0002}#navigation.open{display:flex;flex-direction:column;align-items:stretch;gap:0}#navigation>a,.nav-dropdown>summary{display:block;padding:13px 0;border-bottom:1px solid #eee;font-size:12px}.nav-sub{position:static;box-shadow:none;width:auto;border:0;background:#f7f6f3;padding:4px 10px}.nav-sub a{font-size:12px;padding:13px 12px}.page-hero{min-height:330px;padding:55px 22px}body[data-page=index] .page-hero{min-height:530px}.page-hero h1{font-size:42px}.page-hero p{font-size:15px}.footer-intro{flex-wrap:wrap}.footer-intro p{display:none}.story-grid{gap:30px}.color-window{background-attachment:scroll}}
@media(max-width:600px){body::before{background-position:45% center}.preview{font-size:8px;padding:5px 8px}.page-hero h1{font-size:31px;letter-spacing:.1em}.page-hero .eyebrow{font-size:9px}.page-hero .hero-signature{font-size:22px}.section{padding:58px 6%}.editorial-section>h2{font-size:28px}.editorial-section .lead{font-size:18px}.photo-break,.color-window{min-height:330px;padding:60px 7%}.ranch-cards{grid-template-columns:1fr;gap:25px}.ranch-cards img{height:270px}.ranch-cards p{font-size:15px}.editorial-grid{grid-template-columns:1fr;gap:15px}.home-links{flex-direction:column;gap:22px}.footer-directory{grid-template-columns:repeat(2,1fr);gap:20px}.footer-bottom{gap:20px;align-items:flex-start}.footer-intro{justify-content:flex-start}.booking-content{padding:28px 24px}.booking-content h2{font-size:32px}.booking-picture{height:180px}.page-hero p{line-height:1.7}.photo-break h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.color-window{background-attachment:scroll}}
/* Reset legacy layout constraints for the shared photographic theme. */
body{max-width:none;margin:0}.site-header{height:auto}.page-hero .eyebrow,.editorial-section>.eyebrow{justify-content:center}.nav-sub{border-radius:0}.nav-dropdown[open]>summary span{transform:rotate(180deg)}.editorial-grid h3,.contact-grid h3,.soft-cta h3{font-family:'Helvetica Neue',Arial,sans-serif;font-weight:300}.booking-picture{min-height:0}#booking-modal[open]{display:block}.booking-picture img{object-position:center 38%}.site-footer .brand{flex-shrink:1}.site-footer .footer-intro{text-align:left}.promo-live{font-size:8px}@keyframes offerPulse{50%{color:#87622e;text-shadow:0 0 12px #b68e4640}}
/* Readable typography and face-safe photographic framing. */
:root{--header-height:180px}body::before{top:var(--header-height);background-color:#26323c;background-image:linear-gradient(90deg,#26323c 0%,#26323c 35%,#26323c99 52%,#26323c00 74%),var(--page-photo);background-size:100% 100%,auto 130%;background-position:center,right 30%;background-repeat:no-repeat}
.page-hero{align-items:flex-start;text-align:left;padding:65px 6%;min-height:520px}.page-hero>div{width:47%;max-width:650px}.page-hero h1{font-size:clamp(40px,4.2vw,66px);letter-spacing:.09em;overflow-wrap:normal}.page-hero .eyebrow{justify-content:flex-start;font-size:14px}.page-hero p{font-size:21px;margin:25px 0 0;line-height:1.65}.page-hero h1 span{font-size:.67em}body[data-page=index] .page-hero{min-height:650px;padding:65px 6%;align-items:flex-start}.page-hero .hero-signature{font-size:27px;margin:30px 0}.hero-pet-mobile{display:none}.photo-break{align-items:flex-start;text-align:left;padding-left:6%}.photo-break h2{max-width:46%;font-size:clamp(32px,3.4vw,50px)}.photo-break .eyebrow{font-size:14px}.pet-pair{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:50px 6% 85px}.pet-pair img{width:100%;height:410px;object-fit:contain;background:#f7f6f3}
body{font-size:18px}.header-contact,.social-top{font-size:15px}.social-top small{font-size:12px}.header-actions .button{font-size:13px}.preview{font-size:12px}#navigation{gap:clamp(16px,2.2vw,32px);padding:19px 20px}#navigation>a,.nav-dropdown>summary{font-size:15px;letter-spacing:.065em}.nav-sub{width:275px}.nav-sub a{font-size:17px;padding:13px 20px}.button,.booking-content .button,.contact-grid .button{font-size:15px;padding:16px 25px;letter-spacing:.07em}.eyebrow,.booking-content .eyebrow{font-size:14px}.editorial-section>p,.story-grid p,.editorial-grid p,.section-heading>p,.contact-grid p,.social-section p,.soft-cta p,.ranch-cards p,.care-accordion details p{font-size:19px;line-height:1.8}.editorial-section .lead{font-size:24px}.notice,.notice p,.booking-content>p{font-size:17px;line-height:1.75}.notice strong{font-size:19px}.notice a,.text-link,.home-links{font-size:17px}.editorial-grid small,.draft,.booking-content .booking-status,.booking-content .browse-button{font-size:15px}.editorial-grid h3,.ranch-cards h3{font-size:25px}.ranch-cards span,.editorial-grid article>span,.offer-dates{font-size:15px}.care-accordion summary{font-size:21px}.price-controls label,#price-count{font-size:16px}.price-controls input,.price-controls select{font-size:18px}.price-table{font-size:18px}.price-table caption,.price-table th,.price-table td:last-child{font-size:16px}.footer-directory,.footer-bottom{font-size:15px}.footer-bottom small{font-size:14px}.social-cards span{font-size:16px}.brand strong{font-size:21px}.brand small{font-size:13px}.color-window .eyebrow{font-size:14px}.booking-picture{height:260px}.booking-picture img{object-fit:contain;background:#26323c}
@media(max-width:1150px) and (min-width:901px){#navigation{gap:17px}#navigation>a,.nav-dropdown>summary{font-size:13px}.brand strong{font-size:17px}.header-contact,.social-top{font-size:13px}.header-actions .button{font-size:11px}.page-hero h1{font-size:45px}}
@media(max-width:900px){body::before{background-size:100% 100%,auto 100%;background-position:center,center top}.page-hero,body[data-page=index] .page-hero{display:block;padding:0 0 40px;min-height:0;background:#26323c;text-align:center}.hero-pet-mobile{display:block;width:100%;height:360px;object-fit:contain;background:#26323c;margin-bottom:35px}.page-hero>div{width:auto;max-width:650px;margin:auto;padding:0 24px}.page-hero .eyebrow{justify-content:center}.page-hero h1{font-size:40px}.page-hero p{font-size:20px;margin:20px auto 0}.page-hero .hero-signature{margin:25px 20px}.photo-break{align-items:center;text-align:center;background:#26323c77;padding:60px 7%}.photo-break h2{max-width:100%}#navigation>a,.nav-dropdown>summary,.nav-sub a{font-size:17px}.brand strong{font-size:17px}.brand small{font-size:11px}.pet-pair{gap:18px}.pet-pair img{height:280px}.booking-picture{height:210px}}
@media(max-width:600px){.preview{font-size:10px}.hero-pet-mobile{height:340px}.page-hero h1{font-size:34px}.page-hero .eyebrow{font-size:12px}.editorial-section>p,.story-grid p,.editorial-grid p,.section-heading>p,.contact-grid p,.social-section p,.soft-cta p,.ranch-cards p,.care-accordion details p{font-size:18px}.editorial-section .lead{font-size:21px}.notice,.notice p,.booking-content>p{font-size:16px}.booking-content .booking-status,.booking-content .browse-button{font-size:15px}.pet-pair{grid-template-columns:1fr}.pet-pair img{height:320px}.price-table{font-size:17px}.price-table th,.price-table td:last-child{font-size:15px}.footer-directory{font-size:16px}.brand strong{font-size:16px}}
/* A bounded photo scale keeps eyes visible even on unusually tall displays. */
@media(min-width:901px){body::before{background-size:100% 100%,auto 780px;background-position:center,right top}.page-hero{min-height:600px}}
@media(max-width:900px){.hero-pet-mobile{object-fit:cover;object-position:center 30%}.booking-picture img{object-fit:cover;object-position:center 30%}}
@media(min-width:901px){body::before{background-size:100% 100%,auto 900px;background-position:center,right -40px}body[data-page=index]::before{background-size:100% 100%,auto 1100px;background-position:center,right -100px}}
/* Quiet, spacious masthead with locally hosted Jost typography. */
@font-face{font-family:Jost;src:url('assets/fonts/jost-light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Jost;src:url('assets/fonts/jost-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Jost;src:url('assets/fonts/jost-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
body,h1,h2,h3,.editorial-grid h3,.contact-grid h3,.soft-cta h3,.price-controls input,.price-controls select{font-family:Jost,'Helvetica Neue',sans-serif}body{font-weight:400}.site-header{box-shadow:none}.masthead{max-width:none;min-height:158px;padding:20px 4% 12px;grid-template-columns:1fr 1.4fr 1fr}.masthead>.brand{flex-direction:column;gap:6px}.masthead .brand img{width:68px;height:68px}.masthead .brand strong{font-family:Jost,sans-serif;font-size:25px;font-weight:400;letter-spacing:.19em;line-height:1.2}.masthead .brand small{font-family:Jost,sans-serif;font-weight:400;font-size:11px;letter-spacing:.5em;margin-top:7px}.header-contact{align-self:center}.phone-button{display:inline-flex;align-items:center;gap:12px;border:1px solid #555;padding:9px 15px;color:#292929;font-size:18px;font-weight:400;letter-spacing:.02em;white-space:nowrap}.phone-button svg{width:17px;height:17px}.phone-button:hover{background:#f7f6f3}.header-actions{gap:17px;align-self:center}.social-top{gap:18px}.social-top a{display:flex;padding:3px;color:#555}.social-top svg{width:18px;height:18px}.header-contact-button.button{font-family:Jost,sans-serif;font-size:16px;font-weight:400;padding:9px 20px;min-height:0;letter-spacing:.04em;color:#292929;border-color:#555}.header-contact-button.button:hover{color:#fff}#navigation{border-top:0;padding:17px 20px 26px;gap:clamp(20px,2.5vw,38px)}#navigation>a,.nav-dropdown>summary{font-family:Jost,sans-serif;font-weight:400;font-size:16px;letter-spacing:.055em;line-height:1.5;color:#292929}#navigation>a[aria-current],#navigation>a:hover,.nav-dropdown>summary:hover{color:#b38c3e}.nav-dropdown>summary{display:flex;align-items:center;gap:7px}.nav-dropdown>summary span{font-size:14px}.nav-sub a{font-family:Jost,sans-serif;font-size:17px;font-weight:400}.page-hero h1{font-weight:300;letter-spacing:.085em}.page-hero p{font-weight:300;font-size:23px}.page-hero .hero-signature{font-family:Georgia,serif;font-weight:400;font-size:27px}.button{font-family:Jost,sans-serif;font-weight:400;font-size:16px}.editorial-section>h2{font-weight:300;letter-spacing:.055em}.eyebrow{font-weight:500;letter-spacing:.18em}.preview-note{font-size:14px;color:#717171;padding-top:15px;line-height:1.6}.brand small{text-align:center}
@media(max-width:1150px) and (min-width:901px){#navigation{gap:20px}#navigation>a,.nav-dropdown>summary{font-size:14px}.masthead .brand strong{font-size:22px}.phone-button{font-size:16px}}
@media(max-width:900px){.masthead{min-height:100px;padding:14px 5%;display:flex}.masthead>.brand{flex-direction:row;gap:12px}.masthead .brand img{width:52px;height:58px}.masthead .brand strong{font-size:19px;letter-spacing:.13em}.masthead .brand small{font-size:10px;margin-top:7px}.header-contact,.header-actions{display:none}#navigation{padding:12px 6% 24px;max-height:calc(100dvh - 100px)}#navigation>a,.nav-dropdown>summary{font-size:17px}.page-hero p{font-size:21px}.nav-sub{margin:0}}
@media(max-width:420px){.masthead .brand strong{font-size:16px}.masthead .brand img{width:45px}.masthead>.brand{gap:9px}.masthead .brand small{font-size:9px}}
/* Full-bleed moving photography; editorial imagery belongs with its content. */
.motion-hero{position:relative;isolation:isolate;overflow:hidden;min-height:620px;height:calc(100svh - var(--header-height));max-height:850px;background:#283032;color:#fff;display:flex;align-items:center}
.motion-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 50%;z-index:-3;filter:none}
.motion-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#10181dc9 0%,#10181d7a 34%,#10181d12 65%,#10181d08),linear-gradient(0deg,#10181d55,transparent 25%)}
.motion-copy{width:52%;padding:40px 0 90px 6%}.motion-copy .eyebrow{color:#fff;font-size:13px;letter-spacing:.2em;margin-bottom:30px}.motion-copy h1{font-family:Jost,sans-serif;font-weight:300;font-size:clamp(38px,4.3vw,68px);letter-spacing:.105em;line-height:1.25;margin:0 0 26px}.motion-copy h1 span{display:block;font-size:.62em;letter-spacing:.24em;margin-top:20px}.motion-subtitle{font-size:24px;font-weight:300;line-height:1.6;margin:25px 0 30px}.motion-footer{position:absolute;left:6%;right:4%;bottom:26px;display:flex;align-items:center;justify-content:space-between;gap:20px}.motion-footer>a{font:italic 20px Georgia,serif}.motion-footer>a span{margin-left:25px;font:22px Jost,sans-serif}.motion-footer button{color:#fff;background:#14202b55;border:1px solid #ffffff80;padding:10px 17px;font:14px Jost,sans-serif;min-height:44px}.motion-footer button:hover{background:#14202baa}
.care-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;margin-top:55px;text-align:left;align-items:center}.care-feature-photo{height:560px;overflow:hidden}.care-feature-photo img{width:100%;height:100%;object-fit:cover;object-position:38% center}.care-feature-copy h3{font:300 40px/1.25 Jost,sans-serif;letter-spacing:.02em;margin:25px 0}.care-feature-copy>p:not(.eyebrow){font-size:19px;line-height:1.8;color:var(--muted)}.care-feature-copy>a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d6d6d0;padding:18px 0;font-size:18px}.care-feature-copy>a:hover{color:#98753b}.care-feature-copy>a span{font-size:22px}
@media(max-width:900px){.motion-hero{min-height:660px;height:calc(100svh - var(--header-height));max-height:none}.motion-copy{width:55%;padding-left:5%}.motion-copy h1{font-size:36px}.motion-copy .eyebrow{font-size:11px}.motion-subtitle{font-size:21px}.care-feature{gap:5%}.care-feature-photo{height:460px}.care-feature-copy h3{font-size:32px}}
@media(max-width:600px){.motion-hero{min-height:720px;height:calc(100svh - var(--header-height));align-items:flex-start}.motion-hero video{object-position:70% center}.motion-shade{background:linear-gradient(180deg,#10181dcc 0%,#10181d80 32%,#10181d00 56%,#10181d88 100%)}.motion-copy{width:100%;padding:38px 7% 100px}.motion-copy h1{font-size:37px;letter-spacing:.075em}.motion-copy h1 span{font-size:25px;margin-top:12px}.motion-copy .eyebrow{font-size:10px;margin:0 0 22px}.motion-subtitle{font-size:21px;line-height:1.4;margin:22px 0}.motion-subtitle br{display:none}.motion-copy .button{font-size:14px;padding:13px 19px}.motion-footer{left:7%;right:7%;bottom:22px;align-items:flex-end}.motion-footer>a{font-size:16px;max-width:170px;line-height:1.5}.motion-footer>a span{margin-left:8px}.motion-footer button{font-size:12px;white-space:nowrap;padding:10px}.care-feature{grid-template-columns:1fr;gap:30px;margin-top:35px}.care-feature-photo{height:350px}.care-feature-copy h3{font-size:34px}}
/* Warm architectural surfaces give the photography and content more depth. */
:root{--paper:#f3efe7;--border:#d9d1c4;--muted:#64635f}
body{background:#f3efe7}.site-header,#navigation,.nav-sub{background:#faf7f0}.site-header{box-shadow:0 2px 18px #352d2210}.nav-sub a:hover{background:#eee7da}.section{background:#f3efe7}.section:nth-of-type(even){background:#eee8dc}.editorial-section{box-shadow:inset 0 1px 0 #ffffff70}.editorial-grid article{background:transparent;border-color:#c9bcaa}.notice,.booking-content .booking-status{background:#e6decd;border-color:#d2c3a9;color:#504a40}.soft-cta{background:#e5ddce;border:1px solid #d5c7b2}.social-section{background:#e8e1d4}.social-cards a{background:#f8f4eb;border-color:#d7cbbc}.site-footer{background:#e3dbcd;border-color:#cfc2ad}.footer-directory,.footer-bottom{border-color:#cbbfae}.price-table-wrap{background:#faf7f0;border-color:#d8cdbc}.price-table caption{background:#e5dac8}.price-table tbody tr:hover{background:#eee5d5}.price-controls input,.price-controls select{background:#faf7f0;border-color:#cfc2ad}.care-feature-photo{box-shadow:18px 18px 0 #ddd3c2}.care-feature-copy>a{border-color:#cbbfae}.ranch-cards>a{background:#faf7f0}#booking-modal{background:#f7f2e8}.booking-content .button{background:#263447}.welcome-rule{background:#a28756}.preview-note{color:#625d55}.menu{background:#faf7f0;border-color:#cfc4b2}.footer-intro .button{background:transparent}.section .eyebrow{color:#80663d}
@media(max-width:600px){.care-feature-photo{box-shadow:10px 10px 0 #ddd3c2}}
.brand img{mix-blend-mode:multiply}
@media(max-width:600px){.motion-hero{min-height:830px;background:#26323c}.motion-hero video{top:350px;height:calc(100% - 350px);object-position:65% center}.motion-shade{background:linear-gradient(180deg,#26323c 0%,#26323c 39%,#26323c00 56%,#10181d55 100%)}.motion-copy{padding-top:34px}.motion-copy .eyebrow{margin-bottom:18px}.motion-subtitle{margin:18px 0}.motion-copy .button{margin-top:0}}
/* Each photograph belongs to one page; intervening calls to action use tonal surfaces. */
.editorial-band{padding:70px 6%;text-align:center;background:#ded4c3;color:var(--ink);border-top:1px solid #cec0aa;border-bottom:1px solid #cec0aa}.editorial-band .eyebrow{justify-content:center;color:#79603a}.editorial-band h2{font-weight:300;font-size:clamp(30px,3.4vw,46px);margin:24px auto;max-width:850px}.editorial-band .glass{color:var(--ink);border-color:#6c6a60;background:transparent}.editorial-band .glass:hover{color:#fff;background:var(--ink)}#booking-modal{max-width:640px}.booking-content{padding:58px 48px 42px}.booking-content h2{font-size:44px}.booking-content .eyebrow{padding-right:24px}body[data-page=promotions]::before{background-size:100% 100%,auto 710px;background-position:center,right top}
@media(max-width:600px){.booking-content{padding:48px 26px 30px}.booking-content h2{font-size:35px}.editorial-band{padding:55px 7%}}

/* Compact, non-blocking appointment corner panel. */
#booking-modal{position:fixed;inset:auto 24px 24px auto;margin:0;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border:1px solid #d7c9b3;border-radius:16px;box-shadow:0 12px 48px #17213130;z-index:1000;overflow:auto;background:#faf7f0}
#booking-modal[open]{display:block}
#booking-modal .close{top:12px;right:12px;width:32px;height:32px;font-size:24px;background:#eee7da}
#booking-modal .booking-content{padding:28px 24px 22px}
#booking-modal .eyebrow{font-size:10px;letter-spacing:.12em;padding-right:24px}
#booking-modal h2{font-size:29px;line-height:1.2;margin:18px 0 12px}
#booking-modal .booking-content>p{font-size:15px;line-height:1.55;margin:12px 0}
#booking-modal .booking-status{font-size:12px;padding:12px;border-radius:6px;margin:16px 0}
#booking-modal .button{display:flex;justify-content:space-between;font-size:13px;padding:13px 16px;letter-spacing:.03em;border-radius:5px}
#booking-modal .browse-button{font-size:12px;margin-top:14px}
@media(max-width:600px){#booking-modal{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:340px;max-width:calc(100vw - 24px)}#booking-modal .booking-content{padding:24px 22px 20px}}

/* Frame each pet within the actual 600px banner, never the viewport height. */
body:not([data-page=index]){--pet-focus:50% 50%;background-color:#26323c}
body[data-page=team]{--pet-focus:50% 62%}
body[data-page=financial-resources]{--pet-focus:50% 55%}
body[data-page=pet-nutrition]{--pet-focus:50% 48%}
body[data-page=services]{--pet-focus:50% 40%}
body[data-page=dentistry]{--pet-focus:50% 40%}
body[data-page=contact]{--pet-focus:50% 30%}
body[data-page=careers]{--pet-focus:50% 20%}
body[data-page=pet-insurance]{--pet-focus:50% 23%}
@media(min-width:901px){
body:not([data-page=index])::before{left:44%;right:0;top:var(--header-height);bottom:auto;height:600px;background-image:linear-gradient(90deg,#26323c 0%,#26323c00 24%),var(--page-photo);background-size:100% 100%,cover;background-position:center,var(--pet-focus);background-repeat:no-repeat}
body:not([data-page=index]) .page-hero{height:600px;min-height:600px;padding:60px 4.5%}
body:not([data-page=index]) .page-hero>div{width:43%;max-width:650px}
body:not([data-page=index]) .page-hero h1{font-size:clamp(38px,3.7vw,62px)}
}
@media(max-width:900px){body:not([data-page=index])::before{display:none}.hero-pet-mobile{object-position:var(--pet-focus);height:360px}}

body[data-page=after-hours]{--pet-focus:50% 25%}
@media(min-width:901px){body[data-page=careers]::before,body[data-page=pet-insurance]::before{background-size:100% 100%,auto 720px;background-position:center,right center}}
@media(max-width:900px){body[data-page=feeding-guide] .hero-pet-mobile{height:auto;aspect-ratio:1.5;object-fit:contain}}
@media(min-width:901px){body[data-page=careers]::before,body[data-page=pet-insurance]::before{left:auto;width:540px;max-width:56vw;background-size:100% 100%,cover;background-position:center,center 35%}}
.price-table td:last-child{font-size:18px;color:var(--ink)}
@media(max-width:600px){.price-table td:last-child{font-size:17px}}

/* Full masthead at the top; compact navigation while reading. */
:root{--full-header-height:230px}
.header-space{height:var(--full-header-height);flex:none}
.site-header{position:fixed;left:0;right:0;top:0;width:100%}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
.motion-hero{height:calc(100svh - var(--full-header-height))}
.site-header.is-compact{box-shadow:0 3px 20px #17213118}
.site-header.is-compact .masthead{min-height:68px;padding:8px 4%;gap:15px}
.site-header.is-compact .masthead>.brand{flex-direction:row;gap:10px}
.site-header.is-compact .masthead .brand img{width:42px;height:44px}
.site-header.is-compact .masthead .brand strong{font-size:18px;letter-spacing:.12em}
.site-header.is-compact .masthead .brand small{font-size:8px;letter-spacing:.4em;margin-top:4px}
.site-header.is-compact .header-actions{flex-direction:row;align-items:center;gap:18px}
.site-header.is-compact #navigation{padding:9px 20px 12px}
.site-header.is-compact .phone-button,.site-header.is-compact .header-contact-button{font-size:14px;padding:7px 12px}
@media(max-width:1100px) and (min-width:901px){.site-header.is-compact .social-top{display:none}}
@media(max-width:900px){:root{--full-header-height:100px}.site-header.is-compact .masthead{min-height:72px;padding:8px 5%}.site-header.is-compact .masthead .brand strong{font-size:16px}.site-header.is-compact .header-actions{display:none}.site-header.is-compact #navigation{padding:12px 6% 24px;max-height:calc(100dvh - 72px)}}

/* Preserve the hospital’s requested mixed-case name. */
.brand strong,.brand small,.motion-copy h1{text-transform:none}
.brand strong{letter-spacing:.09em}.motion-copy h1{letter-spacing:.05em}
#booking-modal .contact-email{display:block;font-size:14px;margin-top:12px;overflow-wrap:anywhere;text-decoration:underline}
.site-footer .footer-intro p{font-family:Jost,sans-serif;font-style:normal;font-size:16px}

.hospital-name{text-transform:none}body[data-page=sitemap]::before{display:none}body[data-page=sitemap] main a{text-decoration:underline}body[data-page=sitemap] main li{margin:14px 0}

/* Address directly below the masthead phone number. */
.header-contact{gap:9px}
.header-address{font:400 14px/1.45 Jost,sans-serif;color:#555;letter-spacing:.01em;text-decoration:none}
.header-address:hover{text-decoration:underline;color:var(--ink)}
.site-header.is-compact .header-contact{gap:4px}
.site-header.is-compact .header-address{font-size:11px;line-height:1.3}

/* Shared type scale for the phone and address. */
.header-address{font-family:Jost,sans-serif;font-size:18px;font-weight:400;letter-spacing:.02em;color:#292929;line-height:1.45}
@media(max-width:1150px) and (min-width:901px){.header-address{font-size:16px}}
.site-header.is-compact .header-address{font-size:14px;font-weight:400;line-height:1.3}

/* Background footage must never display native player chrome or receive clicks. */
#hero-video{pointer-events:none}
#hero-video::-webkit-media-controls{display:none!important}
#hero-video::-webkit-media-controls-enclosure{display:none!important}
#hero-video::-webkit-media-controls-panel{display:none!important}
#hero-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
#hero-video::-webkit-media-controls-overlay-play-button{display:none!important}
