/* Customer-facing redesign. Scoped to the home and booking pages. */
.premium-site [hidden]{display:none!important}
html[data-theme="light"] body.premium-site{background:#f7f5ef!important;color:#292c28}
.premium-site .brand-word,.premium-site .brand-word span{color:#292c28}
.premium-site .p-kicker,.premium-site .p-service,.premium-site .p-trust,.premium-site .p-faq-item summary{color:#292c28}
.premium-site .p-pet-photo{background-size:300% auto;background-position-y:top}
.premium-site .nav-cta{display:inline-flex}
.premium-site .flow-progress li em{display:block}
.premium-site .flow-actions{position:static;box-shadow:none}
.premium-site .flow-submit-hint{display:none}
.premium-site .flow-main:has(.flow-step:last-of-type.active) .flow-submit-hint{display:block}
body.premium-site .p-pet-photo{background-size:300% auto;background-position-y:top}
.premium-site .lang-menu>summary,.premium-site .lang-menu[open]>summary{background:transparent;border:1px solid #d8ddcf;color:#525a49}
.premium-site .lang-pop{background:#f7f5ef;border-color:#d8ddcf;box-shadow:0 12px 25px #292c2815}
.premium-site .lang-pop a{color:#292c28}
.premium-site .lang-pop a:hover{background:#e9ecdf}
.premium-site .booking-intro{background:#eeeee5;border-color:#dcded4;box-shadow:none}
.premium-site .flow-progress li.active{box-shadow:none}
.premium-site .pet-choice:focus-within>span,.premium-site .service-choice:focus-within>span,.premium-site .slot-choice:focus-within>span{outline:3px solid #4e71a4;outline-offset:3px}
@media(min-width:1001px){body.premium-site .p-hero-scene{height:clamp(360px,calc(100svh - 455px),650px)}}
.premium-site{--paper:#f7f5ef;--ink:#292c28;--muted:#71736b;--rose:#a8c0e6;--line:#dcded4;--navy:#292c28;--sky:#a8c0e6;--pink:#a8c0e6;--text:#292c28;background:var(--paper);color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-weight:400;overflow-x:clip}
.premium-site *, .premium-site *::before,.premium-site *::after{box-sizing:border-box}
.premium-site a{color:inherit}.premium-site p{line-height:1.75}.premium-site h1,.premium-site h2,.premium-site h3{color:var(--ink);font-weight:500;letter-spacing:-.055em}.premium-site h2{font-size:clamp(36px,4.5vw,68px);line-height:1.09;margin:20px 0 26px}.premium-site h3{font-size:25px;line-height:1.25}.premium-site em{font-style:normal;color:#808575}.premium-site :focus-visible{outline:3px solid #4e71a4;outline-offset:5px}.premium-site section[id]{scroll-margin-top:110px}.premium-site .container{width:calc(100% - 96px);max-width:1400px}
.premium-site .site-nav{background:rgba(247,245,239,.97);border:0;box-shadow:none;backdrop-filter:blur(14px)}.premium-site .site-nav-inner{height:98px;gap:24px;transition:height .3s}.premium-site .site-nav.is-scrolled .site-nav-inner{height:76px}.premium-site .brand-logo{max-height:64px;width:auto;max-width:155px;object-fit:contain}.premium-site .nav-sections{gap:24px}.premium-site .nav-section{font-size:12px;font-weight:500;white-space:nowrap}.premium-site .nav-end{gap:14px}.premium-site .btn{background:var(--rose);color:var(--ink);border:1px solid transparent;border-radius:999px;box-shadow:none;font-weight:600;min-height:48px;transition:transform .25s,background .25s}.premium-site .btn:hover{background:#b9ceed;transform:translateY(-2px);box-shadow:none}.premium-site .btn:active,.p-button:active{transform:scale(.97)}.premium-site .nav-cta{font-size:12px;padding:14px 21px;gap:16px}.premium-site .nav-cta span{font-size:19px}.premium-site .nav-lang summary,.premium-site .lang-menu summary{color:var(--ink)}.premium-site .nav-sheet{background:var(--paper);color:var(--ink)}.premium-site .nav-sheet-link,.premium-site .nav-close{color:var(--ink)}.premium-site .nav-sheet-link:hover{background:#eae7df}.premium-site .nav-burger{color:var(--ink);background:transparent;border-color:var(--line)}.premium-site .nav-burger-bars i{background:var(--ink)}.premium-skip{position:fixed;top:-100px;left:20px;z-index:9999;background:var(--paper);padding:16px}.premium-skip:focus{top:10px}
.p-hero{padding:34px 48px 0;max-width:1600px;margin:auto}.p-hero-top{display:flex;justify-content:space-between;align-items:center}.p-kicker{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.14em;font-weight:600;line-height:1.7}.p-kicker i{width:7px;height:7px;border-radius:50%;background:#8b997b}.p-hero-note{font-size:11px;color:var(--muted)}.premium-site .p-hero h1{font-size:clamp(52px,6.3vw,99px);line-height:1.06;margin:26px 0 34px;font-weight:500;letter-spacing:-.065em}.p-hero h1 span{color:#7d8375}.p-hero-scene{position:relative;isolation:isolate;height:clamp(390px,46vw,650px);border-radius:14px;overflow:hidden;background:#d9d1bd}.p-hero-scene picture,.p-hero-scene picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 62%}.p-hero-card{position:absolute;top:26px;left:26px;background:rgba(247,245,239,.97);padding:28px;border-radius:10px;width:310px}.p-hero-card p{font-size:13px;margin:0 0 24px;color:#65695e;line-height:1.8}.p-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 24px;min-height:54px;background:var(--ink);color:#fff!important;border-radius:999px;font-size:12px;font-weight:600;transition:transform .3s,background .3s;text-decoration:none}.p-button:hover{background:#454b3f}.p-button span{font-size:20px;font-weight:400;transition:transform .3s}.p-button:hover span{transform:translate(3px,-3px)}.p-hero-card .p-button{width:100%}.p-text-link{display:inline-flex;align-items:center;gap:20px;font-size:12px;font-weight:600;padding:14px 0;border-bottom:1px solid currentColor;min-height:44px}.p-hero-card .p-text-link{border:0;display:flex;justify-content:center;padding-bottom:0}.p-scene-label{position:absolute;bottom:27px;left:28px;font-size:10px;letter-spacing:.13em;background:var(--paper);padding:12px 16px;border-radius:50px}.p-image-note{position:absolute;bottom:18px;right:20px;font-size:9px;color:#fff;text-shadow:0 1px 5px #000}.p-trust{display:flex;align-items:center;gap:34px;padding:26px 0;border-bottom:1px solid var(--line);font-size:11px}.p-trust a{margin-inline-start:auto;text-decoration:underline;text-underline-offset:4px}
.p-section{max-width:1400px;margin:0 auto;padding:105px 48px}.p-heading{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:45px}.p-heading h2{margin-bottom:0}.p-heading>p{max-width:290px;font-size:13px;color:var(--muted);margin-bottom:5px}.p-how{padding-top:90px}.p-road{height:76px;margin:34px 0 30px;border-bottom:1px dashed #b6baaa;position:relative}.p-road-van{display:block;position:absolute;bottom:-6px;left:0;width:110px;color:#ddd9cd;will-change:transform}.p-road-van svg{width:100%;display:block}.p-road-end{position:absolute;right:0;bottom:0;font-size:44px;line-height:1.3;color:#a2a994}.p-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:64px}.p-steps article>span{font-size:11px;color:#969c89;letter-spacing:.13em}.p-steps h3{margin:20px 0 12px}.p-steps p{font-size:13px;color:var(--muted);max-width:280px}.p-services{background:#eeeee5;border-radius:24px}.p-service-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}.p-service-photo{position:relative;min-height:510px;border-radius:160px 160px 12px 12px;overflow:hidden}.p-pet-photo{background-image:url('../images/premium-pets.webp');background-size:300% 100%;background-repeat:no-repeat;width:100%;height:100%;background-color:#abc3d8}.p-pet-before{background-position:left center}.p-pet-after{background-position:center}.p-pet-cat{background-position:right center}.p-service-photo>.p-pet-photo{position:absolute;inset:0}.p-service-photo>span{position:absolute;bottom:26px;inset-inline:24px;text-align:center;font-size:13px;background:var(--paper);padding:16px;border-radius:8px}.p-service{display:flex;align-items:flex-start;gap:20px;padding:28px 0;border-top:1px solid #cdd0c3;transition:transform .3s}.p-service:hover{transform:translateX(6px)}.p-service-number{font-size:10px;color:var(--muted);margin-top:8px}.p-service h3{margin:0 0 9px}.p-service p{font-size:12px;margin:0 0 8px;color:#686e60}.p-service small{font-size:11px;line-height:1.65;color:#686e60;display:block}.p-service strong{font-size:12px;display:block;margin-top:17px;font-weight:600}.p-service strong span{font-size:10px;font-weight:400;color:var(--muted)}.p-service-arrow{margin-inline-start:auto;font-size:24px}.p-caption{font-size:10px!important;line-height:1.7!important;color:var(--muted)}.p-extras{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.p-extras a{border:1px solid #ced1c4;border-radius:8px;padding:17px 20px;flex:1;min-width:160px;display:flex;justify-content:space-between;gap:14px;font-size:12px;transition:background .3s}.p-extras a:hover{background:var(--paper)}.p-extras small{font-size:10px;white-space:nowrap}
.p-transformation{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;padding-top:120px;padding-bottom:120px}.p-transform-copy>p{font-size:14px;color:var(--muted);max-width:320px}.p-drag-hint{margin:32px 0}.p-transform-copy small{display:block;max-width:320px}.p-comparison{height:540px;width:100%;max-width:460px;position:relative;border-radius:150px 150px 12px 12px;overflow:hidden;isolation:isolate}.p-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.p-comparison input{position:absolute;inset:0;opacity:0;z-index:3;width:100%;height:100%;cursor:ew-resize;margin:0;direction:ltr;touch-action:pan-y}.p-comparison:focus-within{outline:3px solid #4e71a4;outline-offset:6px}.p-before-label,.p-after-label{position:absolute;bottom:26px;font-size:9px;letter-spacing:.14em;background:var(--paper);padding:9px 12px;border-radius:30px}.p-before-label{left:20px}.p-after-label{right:20px}.p-compare-line{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:#fff;pointer-events:none}.p-compare-line>span{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;background:var(--paper);font-size:22px}
.p-van-section{background:#e8eadd;border-radius:24px}.p-van-image{margin:0;position:relative}.p-van-image img{display:block;width:100%;height:570px;object-fit:cover;border-radius:12px}.p-van-image figcaption{font-size:10px;line-height:1.6;color:#686e60;margin-top:14px}.p-van-pin{position:absolute;bottom:130px;left:35%;display:flex;align-items:center;gap:12px;font-size:12px;background:var(--paper);padding:12px 20px 12px 12px;border-radius:40px;box-shadow:0 5px 20px #0001}.p-van-pin span{display:grid;place-items:center;width:30px;height:30px;background:var(--rose);border-radius:50%;font-size:20px}.p-benefits{display:grid;grid-template-columns:1fr 1fr;gap:100px}.p-benefit-list article{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:25px 0}.p-benefit-list article>span{font-size:10px;margin-top:6px;color:var(--muted)}.p-benefit-list h3{font-size:21px;margin:0 0 10px}.p-benefit-list p{font-size:12px;color:var(--muted);margin:0}.p-gallery-section{padding-top:20px}.p-gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:15px}.p-gallery figure{margin:0;flex:1 0 29%;height:430px;position:relative;overflow:hidden;border-radius:10px;scroll-snap-align:start}.p-gallery figure:nth-child(2){height:350px;margin-top:50px;flex-basis:34%}.p-gallery img{width:100%;height:100%;object-fit:cover;object-position:88% center}.p-gallery figcaption{position:absolute;bottom:16px;inset-inline:16px;background:rgba(247,245,239,.96);padding:17px;border-radius:7px;transform:translateY(4px);transition:transform .35s}.p-gallery figure:hover figcaption{transform:translateY(-5px)}.p-gallery figcaption strong{font-size:12px;display:block}.p-gallery figcaption span{font-size:10px;display:block;margin-top:6px;color:var(--muted)}.p-reviews{background:#edece6;border-radius:24px}.p-review-empty{border-top:1px solid #d1d3c9;padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.p-review-empty p{font-size:22px;line-height:1.4;margin:0;letter-spacing:-.03em}.p-review-empty>span{font-size:12px;color:var(--muted);line-height:1.8;max-width:450px}.p-review-empty a{width:max-content}.p-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.p-review-grid article{padding:25px;background:var(--paper);border-radius:12px}.p-review-grid article>span{color:#5f7da8;letter-spacing:3px}.p-review-grid blockquote{margin:25px 0;font-size:14px;line-height:1.8}.p-review-grid strong,.p-review-grid small{display:block;font-size:12px}.p-review-grid small{font-size:10px;color:var(--muted);margin-top:8px}
.p-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.p-faq-item{border-bottom:1px solid var(--line)}.p-faq-item summary{display:flex;justify-content:space-between;gap:25px;cursor:pointer;padding:24px 0;font-size:13px;list-style:none;font-weight:500}.p-faq-item summary::-webkit-details-marker{display:none}.p-faq-item summary span{font-size:22px;font-weight:400;transition:transform .25s}.p-faq-item[open] summary span{transform:rotate(45deg)}.p-faq-item p{font-size:12px;color:var(--muted);margin:0 0 24px;padding-inline-end:35px}.p-final-cta{max-width:1304px;margin:0 auto 100px;display:grid;grid-template-columns:1.2fr .8fr;min-height:430px;background:#b5cae9;border-radius:16px;overflow:hidden}.p-final-cta>div:first-child{padding:65px}.premium-site .p-final-cta h2{font-size:clamp(45px,5vw,76px)}.p-final-cta em{color:#4b6a98}.p-cta-pet{min-height:430px;mix-blend-mode:multiply}.p-mobile-book{display:none}
.premium-site .premium-footer{background:#292c28;color:#eeeede;border:0;padding:70px 0 0}.premium-site .footer-grid{gap:40px;padding-bottom:50px;grid-template-columns:1.4fr 1fr 1fr 1.2fr}.premium-site .footer-grid p,.premium-site .footer-grid a,.premium-site .footer-grid span{color:#d4d7cc;font-size:12px}.premium-site .footer-grid h4{color:#f3f4eb;font-size:11px;font-weight:500;margin-bottom:24px}.premium-site .footer-grid .brand-logo{background:#f7f5ef;border-radius:8px;padding:5px}.premium-site .powered{background:none;color:#aaa;text-shadow:none;font-size:9px;animation:none}.premium-site .powered:before{display:none}.p-footer-wordmark{font-size:clamp(90px,20.6vw,310px);line-height:.95;letter-spacing:-.07em;text-align:center;border-top:1px solid #4d5247;padding-top:25px;overflow:hidden;font-weight:600;color:#cfd3c4}.p-footer-bottom{display:flex;justify-content:space-between;padding:22px 0;font-size:10px;color:#adb4a4}
/* The existing validated booking flow keeps its fields, map and live estimate. */
.premium-site .booking-section{background:var(--paper);padding-top:55px}.premium-site .booking-section-head{align-items:flex-end}.premium-site .booking-section h2{font-size:clamp(35px,4vw,58px)}.premium-site .eyebrow{background:none;color:#777f6b;border:0;padding:0;font-size:10px;letter-spacing:.12em}.premium-site .booking-intro .lead{color:var(--muted);font-size:13px}.premium-site .booking-intro-list span{background:#e9ece0;border-color:#dadfcf;color:#58624d}.premium-site .flow-main,.premium-site .summary-panel{background:#fffefa;border:1px solid var(--line);box-shadow:none;border-radius:18px;color:var(--ink)}.premium-site .flow-main{padding:32px}.premium-site .summary-panel{background:#e9ece0}.premium-site .flow-head,.premium-site .flow-progress,.premium-site .booking-group-head{border-color:var(--line)}.premium-site .flow-meta,.premium-site .flow-step-intro,.premium-site .summary-note,.premium-site .caption,.premium-site .hint{color:#737969}.premium-site .flow-track{background:#e5e7df}.premium-site .flow-track span{background:#adbf99}.premium-site .flow-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.premium-site .flow-progress li{color:#808875;background:none}.premium-site .flow-progress em{color:inherit;font-size:11px}.premium-site .flow-progress li.active{color:#292c28}.premium-site .flow-progress .flow-num{border:1px solid #cbd3bf;background:#fffefa;color:#647153}.premium-site .flow-progress li.active .flow-num,.premium-site .flow-progress li.done .flow-num{background:#dce5cf;color:#292c28;border-color:#aaba99}.premium-site .flow-step h3{color:var(--ink);font-size:28px}.premium-site .booking-group,.premium-site .booking-details,.premium-site .booking-details summary{background:transparent;border-color:var(--line);color:var(--ink)}.premium-site .booking-group-head strong,.premium-site .field>label{color:var(--ink)}.premium-site input:not([type=checkbox]):not([type=radio]):not([type=range]),.premium-site select,.premium-site textarea{background:#fffefa;border:1px solid #cbd1c2;border-radius:9px;color:var(--ink);min-height:48px;box-shadow:none}.premium-site .pet-choice span,.premium-site .service-choice span,.premium-site .slot-choice span{background:#f7f7f1;color:var(--ink);border:1px solid #dbe0d1;border-radius:10px;box-shadow:none}.premium-site .pet-choice input:checked+span,.premium-site .service-choice input:checked+span,.premium-site .slot-choice input:checked+span{background:#e6ebdc;color:var(--ink);border-color:#7c8f68;box-shadow:0 0 0 1px #7c8f68}.premium-site .service-choice small,.premium-site .booking-group-head span{color:#717966}.premium-site .btn.alt{background:transparent;border:1px solid #c9cfbf;color:var(--ink)}.premium-site .flow-actions{background:#fffefa}.premium-site .capacity-note,.premium-site .notice,.premium-site .summary-box>div,.premium-site .summary-checks span,.premium-site .review-card>div{background:#f0f3e9;color:#505d43;border-color:#d2dac6}.premium-site .summary-price{color:var(--ink)}.premium-site .confirm-check{color:var(--ink)}.premium-site .flow-submit-hint{color:#4a6896}.premium-site .slot-choice.disabled span{color:#93988d;background:#ededE8}.premium-site .field-error,.premium-site .notice.error{color:#325d9e}.premium-site .booking-section .form-grid{min-width:0}.premium-site .flow-step{min-width:0}
[dir=rtl] .p-hero-card{left:auto;right:26px}[dir=rtl] .p-hero h1{letter-spacing:-.03em;font-size:clamp(48px,6vw,90px)}[dir=rtl] .p-kicker{letter-spacing:0}[dir=rtl] .p-service:hover{transform:translateX(-6px)}
@media(min-width:1600px){.p-hero-scene{height:570px}}
@media(max-width:1200px){.premium-site .nav-sections{gap:14px}.premium-site .nav-section{font-size:10px}.premium-site .site-nav-inner{gap:15px}.p-section{padding:80px 40px}.p-service-layout{gap:35px}.p-final-cta{margin-inline:40px}.p-transformation,.p-benefits,.p-faq{gap:50px}}
@media(max-width:1000px){.premium-site .nav-sections{display:none}.premium-site .nav-burger{display:flex}.premium-site .nav-end{margin-inline-start:auto}.p-hero h1{font-size:clamp(50px,7vw,75px)}.p-hero-card{width:280px;padding:22px}.p-hero-scene{height:500px}.p-hero-scene picture img{object-position:65% center}.p-steps{gap:30px}.p-service-photo{min-height:460px}.p-transformation{gap:40px}.p-comparison{height:440px}.p-van-image img{height:440px}.premium-site .footer-grid{grid-template-columns:repeat(2,1fr)}.p-trust{gap:20px}.p-gallery figure{height:370px}.p-gallery figure:nth-child(2){height:300px}.p-final-cta>div:first-child{padding:45px}.premium-site .booking-flow{grid-template-columns:1fr}.premium-site .summary-panel{position:static}}
@media(max-width:700px){.premium-site .container{width:calc(100% - 40px)}.premium-site .site-nav-inner{height:78px;gap:10px}.premium-site .brand-logo{max-width:100px;max-height:48px}.premium-site .nav-end{gap:8px}.premium-site .nav-cta{font-size:10px;padding:11px 14px;min-height:42px}.premium-site .nav-cta span{display:none}.premium-site .nav-burger{width:42px;height:42px}.p-hero{padding:24px 20px 0}.p-hero-note{display:none}.p-kicker{font-size:8px;letter-spacing:.12em}.premium-site .p-hero h1{font-size:clamp(39px,8.5vw,60px);margin:22px 0 26px;line-height:1.12}.p-hero-scene{height:565px;border-radius:12px;background:transparent;display:flex;flex-direction:column}.p-hero-scene picture{height:340px;order:0;border-radius:12px;overflow:hidden}.p-hero-scene picture img{object-position:70% center}.p-hero-card,[dir=rtl] .p-hero-card{position:relative;top:auto;left:auto;right:auto;width:auto;margin:-25px 14px 0;padding:22px;background:#efeee5;z-index:1}.p-hero-card p{font-size:12px;margin-bottom:18px}.p-hero-card .p-text-link{padding-top:14px}.p-scene-label{top:16px;bottom:auto;left:14px;font-size:7px;padding:9px 12px}.p-image-note{top:290px;bottom:auto;right:14px;font-size:8px}.p-trust{gap:10px;justify-content:space-between;flex-wrap:wrap;padding:20px 0;font-size:9px}.p-trust a{display:none}.p-section{padding:66px 24px}.p-heading{display:block;margin-bottom:30px}.p-heading>p{max-width:360px;font-size:12px;margin-top:22px}.premium-site h2{font-size:38px;margin-top:16px;letter-spacing:-.05em}.p-steps{grid-template-columns:1fr;gap:0}.p-steps article{position:relative;padding:23px 0 23px 42px;border-bottom:1px solid var(--line)}.p-steps article>span{position:absolute;left:0;top:30px}.p-steps h3{font-size:24px;margin:0 0 10px}.p-steps p{margin:0;max-width:none}.p-road{margin:10px 0 15px;height:62px}.p-road-van{width:90px}.p-services,.p-van-section,.p-reviews{border-radius:18px;margin-inline:10px;padding-inline:20px}.p-service-layout{grid-template-columns:1fr;gap:28px}.p-service-photo{min-height:400px;max-width:400px;width:100%;margin:auto}.p-service-photo .p-pet-photo{background-size:300% 125%;background-position:center 36%}.p-service{padding:23px 0;gap:14px}.p-service h3{font-size:24px}.p-service strong span{display:block;margin-top:6px}.p-extras{gap:10px;margin-top:20px}.p-extras a{font-size:11px;min-width:135px;padding:15px;display:block}.p-extras small{display:block;margin-top:8px}.p-transformation{grid-template-columns:1fr;gap:30px}.p-transform-copy small{max-width:100%}.p-transform-copy>p{max-width:100%}.p-drag-hint{margin:20px 0}.p-comparison{height:440px;max-width:400px;margin:auto;border-radius:120px 120px 12px 12px}.p-van-image img{height:340px;object-position:65% center}.p-van-pin{left:15px;bottom:80px;font-size:10px;max-width:calc(100% - 30px);padding:9px 14px 9px 9px}.p-van-image figcaption{font-size:9px}.p-benefits{grid-template-columns:1fr;gap:15px}.p-benefit-list article{gap:20px}.p-benefit-list h3{font-size:21px}.p-gallery-section{padding-top:10px}.p-gallery{gap:15px;margin-inline-end:-24px;padding-inline-end:24px}.p-gallery figure{flex:0 0 78%;height:390px}.p-gallery figure:nth-child(2){flex-basis:78%;height:340px;margin-top:25px}.p-review-empty{grid-template-columns:1fr;gap:18px}.p-review-empty p{font-size:21px}.p-review-grid{grid-template-columns:1fr}.p-faq{grid-template-columns:1fr;gap:25px}.p-faq-item summary{font-size:12px;padding:23px 0}.p-final-cta{margin:0 14px 60px;grid-template-columns:1fr;min-height:0}.p-final-cta>div:first-child{padding:38px 28px}.premium-site .p-final-cta h2{font-size:46px}.p-cta-pet{min-height:330px;height:330px;background-size:300% 160%;background-position:left 25%}.p-mobile-book{display:flex;position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));inset-inline:22px;z-index:35;background:var(--ink);box-shadow:0 5px 22px #0002;padding:14px 24px}.premium-site .premium-footer{padding-top:48px;padding-bottom:85px}.premium-site .footer-grid{gap:35px 20px}.premium-site .footer-grid>div:first-child{grid-column:1/-1}.p-footer-wordmark{font-size:22vw}.p-footer-bottom{font-size:8px;gap:20px}.premium-site .booking-section{padding:25px 0 45px}.premium-site .flow-main{padding:20px 15px}.premium-site .flow-progress{grid-template-columns:repeat(5,minmax(0,1fr))}.premium-site .flow-progress em{font-size:8px}.premium-site .flow-progress .flow-num{width:27px;height:27px}.premium-site .flow-step h3{font-size:24px}.premium-site .booking-section h2{font-size:38px}.premium-site .flow-actions{bottom:0;padding-bottom:12px}.premium-site .flow-actions .btn{font-size:12px}.premium-site .booking-group{padding:14px}.premium-site .booking-intro-list{flex-wrap:wrap}.premium-site .summary-panel{padding:24px}.premium-site .booking-section .choice-grid{grid-template-columns:1fr!important}.premium-site .nav-sheet-link{font-size:25px}[dir=rtl] .p-steps article{padding-left:0;padding-right:42px}[dir=rtl] .p-steps article>span{left:auto;right:0}}
@media(prefers-reduced-motion:reduce){.premium-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.p-road-van{transform:none!important}}

/* The real van photograph needs its own framing, without an overlay on the vehicle. */
body.premium-site .p-hero-photo-layout {
  height: auto;
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
  overflow: hidden;
}
body.premium-site .p-hero-photo-layout picture {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 0;
}
body.premium-site .p-hero-photo-layout picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
body.premium-site .p-hero-photo-layout .p-hero-card {
  position: static;
  width: auto;
  margin: 0;
  padding: 24px 30px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  display: grid;
  grid-template-columns: minmax(200px, 1fr) auto auto;
  align-items: center;
  gap: 30px;
  background: linear-gradient(110deg, #f8fbfe, #eaf1f6);
}
body.premium-site .p-hero-photo-layout .p-hero-card p {
  max-width: 510px;
  margin: 0;
  font-size: 14px;
}
body.premium-site .p-hero-photo-layout .p-button { width: auto; min-width: 210px; }
body.premium-site .p-hero-photo-layout .p-text-link { padding: 12px 0; white-space: nowrap; }
body.premium-site .p-hero-photo-layout .p-scene-label { top: 22px; bottom: auto; left: 24px; font-size: 9px; }
body.premium-site .p-hero-photo-layout .p-image-note {
  position: static;
  padding: 0 30px 15px;
  text-align: end;
  background: #eaf1f6;
  color: #4d799d;
  text-shadow: none;
  font-size: 9px;
}
@media(max-width:1000px) {
  body.premium-site .p-hero-photo-layout .p-hero-card { grid-template-columns: 1fr auto; gap: 16px 24px; }
  body.premium-site .p-hero-photo-layout .p-hero-card p { grid-column: 1 / -1; max-width: none; }
}
@media(max-width:700px) {
  body.premium-site .p-hero-photo-layout { border: 4px solid #f8fbfe; border-radius: 24px; box-shadow: 0 14px 35px #3c607b13; }
  body.premium-site .p-hero-photo-layout picture { aspect-ratio: 3 / 2; }
  body.premium-site .p-hero-photo-layout .p-hero-card { grid-template-columns: 1fr; padding: 23px 20px 10px; gap: 16px; }
  body.premium-site .p-hero-photo-layout .p-hero-card p { font-size: 13px; }
  body.premium-site .p-hero-photo-layout .p-button { width: 100%; }
  body.premium-site .p-hero-photo-layout .p-scene-label { display: none; }
  body.premium-site .p-hero-photo-layout .p-image-note { padding: 0 20px 18px; text-align: center; font-size: 8px; }
}

/* Ocean blue, soft cyan and warm white: the customer brand palette. */
.p-service-photo .p-pet-photo, .p-gallery figure>img, .p-gallery figure>.p-pet-photo { transition: transform 550ms cubic-bezier(.2,.7,.25,1); }
@media(hover:hover) {
  .p-service-photo:hover .p-pet-photo, .p-gallery figure:hover>img, .p-gallery figure:hover>.p-pet-photo { transform: scale(1.035); }
}
html[data-theme="light"] body.premium-site {
  --ink: #223644;
  --muted: #766b7c;
  --rose: #b1ccf0;
  --paper: #f5f9fc;
  --line: #dde3e9;
  --navy: #223644;
  background: radial-gradient(ellipse 75% 700px at 85% 0, #dff0fa 0, transparent 76%),
    radial-gradient(ellipse 65% 750px at 0 180px, #daebfa 0, transparent 75%), #f5f9fc !important;
  color: var(--ink);
}
.premium-site h1, .premium-site h2 { font-weight: 600; letter-spacing: -.055em; }
.premium-site h2 em, .premium-site .p-hero h1 span {
  color: #537aa9;
  background: linear-gradient(110deg, #5081a1 0%, #527eb8 55%, #4379a8 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.premium-site .site-nav {
  width: calc(100% - 48px);
  max-width: 1440px;
  margin: 18px auto 0;
  top: 12px;
  border: 1px solid #ffffffd9;
  border-radius: 26px;
  background: #f9fcfee8;
  box-shadow: 0 8px 38px #4066810a, inset 0 1px 0 #fff;
}
.premium-site .site-nav-inner { width: calc(100% - 40px); height: 76px; }
.premium-site .site-nav.is-scrolled {
  background: #f7fbfef5;
  box-shadow: 0 12px 40px #34536915;
}
.premium-site .site-nav.is-scrolled .site-nav-inner { height: 66px; }
.premium-site .nav-section { padding: 10px 0; position: relative; }
.premium-site .nav-section::after {
  content: ''; position: absolute; bottom: 3px; inset-inline: 0;
  height: 2px; border-radius: 3px; background: linear-gradient(90deg, #83a6d3, #9ac3dd);
  transform: scaleX(0); transition: transform 280ms ease;
}
.premium-site .nav-section:hover::after { transform: scaleX(1); }
.premium-site .btn, .premium-site .nav-cta {
  background: linear-gradient(115deg, #bad1ed, #b8cff5 65%, #a8d0f3);
  color: #25384b;
  border: 1px solid #ffffff80;
  box-shadow: 0 5px 16px #7394be22, inset 0 1px 0 #ffffffa0;
}
.premium-site .btn:hover {
  background: linear-gradient(115deg, #b0c9e5, #a9c4f0 65%, #98c6ee);
  box-shadow: 0 9px 24px #7394be2b;
}
.premium-site .lang-menu>summary, .premium-site .lang-menu[open]>summary {
  border-color: #dfe4e9; background: #eff3f7; color: #3e627d;
}
.premium-site .p-kicker { color: #4b7899; font-size: 10px; letter-spacing: .15em; }
.p-kicker i { background: #7593b4; box-shadow: 0 0 0 5px #d0dce84d; }
.p-hero { padding-top: 45px; }
.p-hero-top { padding: 0 4px; }
.p-hero-note { color: #527ba7; font-size: 12px; }
.premium-site .p-hero h1 { margin: 28px 0 38px; }
.p-hero-scene {
  border: 6px solid #f6fafe;
  border-radius: 28px;
  box-shadow: 0 22px 60px #37507017, 0 2px 4px #30456009;
}
.p-hero-card {
  border: 1px solid #fff;
  background: linear-gradient(145deg, #fffdf9f7, #edf3f9f5);
  border-radius: 22px;
  box-shadow: 0 14px 38px #28395115;
}
.p-hero-card p { color: #47708f; font-size: 14px; }
.p-button {
  background: linear-gradient(115deg, #325167, #3c5d7b 60%, #4d719c);
  box-shadow: 0 8px 22px #37567125, inset 0 1px 0 #ffffff26;
  font-size: 13px;
  border: 1px solid #ffffff20;
}
.p-button:hover { background: linear-gradient(115deg, #3d617b, #4a6e95); box-shadow: 0 12px 28px #37567135; transform: translateY(-3px); }
.p-text-link { text-decoration: none; border-color: #aab8c7; transition: gap .3s, color .3s; }
.p-text-link:hover { gap: 27px; color: #4d729d; }
.p-scene-label { background: #f6fafeed; color: #3b5979; box-shadow: 0 4px 20px #1e2b3d12; }
.p-trust { border-color: #dbe1e7; padding: 27px 8px; font-size: 12px; }
.p-trust>span { color: #487192; }
.p-heading>p, .p-steps p, .p-transform-copy>p { font-size: 14px; color: #786e7d; }
.p-steps { gap: 20px; }
.p-steps article {
  background: linear-gradient(140deg, #fff 10%, #ecf3f9);
  padding: 30px;
  border: 1px solid #e7ebf0;
  border-radius: 22px;
  box-shadow: 0 8px 30px #41688505;
  transition: transform 350ms ease, box-shadow 350ms ease;
}
.p-steps article:nth-child(2) { background: linear-gradient(140deg, #fff, #ebf4fc); }
.p-steps article:nth-child(3) { background: linear-gradient(140deg, #fff, #edf2e9); }
.p-steps article:hover { transform: translateY(-5px); box-shadow: 0 15px 32px #4168850d; }
.p-steps article>span {
  display: inline-grid; place-items: center; width: 38px; height: 38px;
  border-radius: 12px; color: #6c889f; background: #ffffffb8; border: 1px solid #dfe7ee;
}
.p-road { border-color: #b8c4cf; }
.p-road-van { color: #c9d8e3; }
.p-road-end { color: #859aad; }
.p-services {
  background: radial-gradient(ellipse at 100% 0, #ddeef8, transparent 65%),
    linear-gradient(135deg, #ecf1f9, #e7f0f8);
  border: 1px solid #fff;
  border-radius: 36px;
  box-shadow: 0 20px 65px #70879f09;
}
.p-service-photo { border: 6px solid #f9fcfe; box-shadow: 0 16px 42px #44628b1c; border-radius: 160px 160px 28px 28px; }
.p-service-photo>span { border-radius: 14px; background: #f5fafef0; color: #3d5a7b; }
.p-service { padding: 25px 20px; border-color: #ccd5de; border-radius: 14px; transition: background .3s, transform .3s, box-shadow .3s; }
.p-service:hover { background: #f8fbfec9; box-shadow: 0 8px 28px #4d719c10; }
.p-service h3 { font-weight: 600; }
.p-service p { font-size: 13px; color: #756879; }
.p-service small { color: #756879; }
.p-service strong { color: #4a6e97; }
.p-service-number { color: #8599ae; }
.p-service-arrow {
  flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center;
  border: 1px solid #ccd6df; border-radius: 50%; color: #517ea5; font-size: 22px;
}
.p-extras a { background: #ffffff8c; border-color: #ffffffbd; border-radius: 14px; box-shadow: 0 4px 14px #3a5c7706; color: #426787; }
.p-extras a:hover { background: #fff; transform: translateY(-2px); }
.p-comparison { border: 6px solid #fff; box-shadow: 0 20px 65px #425f871c; border-radius: 160px 160px 28px 28px; }
.p-compare-line>span { background: linear-gradient(130deg, #eff6fd, #d8e8f4); color: #426785; box-shadow: 0 3px 20px #2f45602b; }
.p-drag-hint { color: #6983a2!important; }
.p-van-section {
  background: radial-gradient(ellipse at 95% 10%, #3e5d7d, transparent 64%),
    linear-gradient(140deg, #253c4a, #294254 52%, #35506c);
  border-radius: 36px;
  box-shadow: 0 20px 55px #263c4c1a;
}
.premium-site .p-van-section h2 { color: #f4f9fe; }
.premium-site .p-van-section h2 em {
  background-image: linear-gradient(100deg, #c1d8ed, #b7d8f5);
  color: #c1d8ed;
}
.premium-site .p-van-section .p-kicker { color: #b1c3d5; }
.p-van-section .p-heading>p { color: #cfd9e2; }
.p-van-image img { border-radius: 22px; border: 1px solid #ffffff30; }
.p-van-image figcaption { color: #b9c5d0; }
.p-van-pin { background: #f4f9fef5; color: #3d607c; box-shadow: 0 10px 32px #20334124; }
.p-van-pin span { background: linear-gradient(135deg, #bbd3f2, #c3dff1); }
.p-benefit-list { display: grid; gap: 12px; }
.p-benefit-list article { background: #f9fcfe; border: 1px solid #e0e6eb; border-radius: 20px; padding: 25px; transition: transform .3s, background .3s; }
.p-benefit-list article:hover { background: #eef3f8; transform: translateX(4px); }
.p-benefit-list article>span { color: #849ab1; }
.p-benefit-list p { font-size: 13px; color: #7d7180; }
.p-gallery { gap: 26px; padding-top: 12px; padding-bottom: 25px; }
.p-gallery figure { border: 5px solid #fff; border-radius: 24px; box-shadow: 0 12px 25px #42628512; }
.p-gallery figure:nth-child(1) { border-radius: 100px 100px 24px 24px; }
.p-gallery figure:nth-child(3) { border-radius: 24px 24px 100px 24px; }
.p-gallery figcaption { border-radius: 14px; background: #f5fafef5; box-shadow: 0 4px 20px #2f455f12; }
.p-gallery figcaption strong { color: #44678a; font-size: 13px; }
.p-reviews {
  background: radial-gradient(ellipse at 0 100%, #dae6f3, transparent 65%),
    linear-gradient(120deg, #ebf3fa, #eaf3fa 70%, #e8e4f6);
  border: 1px solid #fff;
  border-radius: 36px;
}
.p-review-empty { border-color: #cfd7df; }
.p-review-empty p { color: #45688b; }
.p-review-empty>span { color: #4d7b9d; font-size: 13px; }
.p-review-grid article { background: #f9fcfedb; border: 1px solid #fff; border-radius: 22px; }
.p-faq-item { border: 1px solid #dee4e9; border-radius: 16px; background: #f9fcfe; margin-bottom: 12px; overflow: hidden; transition: background .3s, box-shadow .3s; }
.p-faq-item summary { padding: 22px; font-size: 14px; }
.p-faq-item summary span { background: #e5ecf2; color: #527ea5; width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; }
.p-faq-item[open] { background: linear-gradient(130deg, #f7fbfe, #ebf1f7); box-shadow: 0 8px 28px #446b8b0a; }
.p-faq-item p { padding-inline: 22px; font-size: 13px; }
.p-final-cta {
  background: radial-gradient(ellipse at 30% 90%, #e7f3fc, transparent 70%),
    linear-gradient(115deg, #c5d8ed, #bbd0f5 62%, #b4d6f3);
  border: 1px solid #fff;
  border-radius: 32px;
  box-shadow: 0 20px 70px #7c99bb25;
}
.premium-site .p-final-cta h2 { color: #304860; }
.premium-site .p-final-cta h2 em { background-image: linear-gradient(100deg, #608aa6, #5077ac); }
.p-cta-pet { opacity: .96; }
.premium-site .premium-footer {
  background: radial-gradient(ellipse at 90% 80%, #385571, transparent 60%),
    linear-gradient(135deg, #213744, #274050);
  border-radius: 36px 36px 0 0;
}
.premium-site .footer-grid h4 { color: #ceddef; }
.premium-site .footer-grid a, .premium-site .footer-grid p, .premium-site .footer-grid span { color: #c2cdd6; }
.premium-site .footer-grid a:hover { color: #d8e6f9; }
.p-footer-wordmark { color: #b6c6d7; background: linear-gradient(100deg, #bfd8ec, #bdd2f1 65%, #bbd9f4); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; border-color: #ffffff20; }
.p-footer-bottom { color: #b5c2cd; }
.premium-site .nav-sheet { background: radial-gradient(ellipse at 100% 0, #dcebf5, transparent 65%), #f5f9fc; }
.premium-site .nav-sheet-link:hover { background: #e3ebf2; }
.premium-site .booking-section { background: transparent; }
.premium-site .booking-intro { background: linear-gradient(135deg, #f8fbfe, #e6eff6); border: 1px solid #fff; border-radius: 22px; box-shadow: 0 10px 32px #4e799f0a; }
.premium-site .booking-intro-list span { background: #e7edf2; color: #4c759b; border-color: #d8e0e8; }
.premium-site .flow-main { border: 1px solid #fff; border-radius: 26px; background: #fbfdfe; box-shadow: 0 15px 45px #456a8c0d; }
.premium-site .summary-panel { background: linear-gradient(145deg, #e6edf5, #e4f0f7 65%, #e3eff9); border: 1px solid #fff; border-radius: 26px; box-shadow: 0 12px 35px #456a8c0b; }
.premium-site .flow-track { background: #e5eaef; border-radius: 20px; }
.premium-site .flow-track span { background: linear-gradient(90deg, #91aecf, #8fb6ce, #acc3e7); }
.premium-site .flow-progress .flow-num { border-color: #d6e0e7; color: #758fa3; }
.premium-site .flow-progress li.active .flow-num, .premium-site .flow-progress li.done .flow-num { background: linear-gradient(135deg, #c8dbf3, #cfe6f5); border-color: #bacede; color: #3f6481; }
.premium-site .flow-progress li.active { color: #487093; }
.premium-site input:not([type=checkbox]):not([type=radio]):not([type=range]), .premium-site select, .premium-site textarea {
  border-color: #d6dde4; border-radius: 12px; background: #fbfdfe; transition: border-color .25s, box-shadow .25s;
}
.premium-site input:not([type=checkbox]):not([type=radio]):focus, .premium-site select:focus, .premium-site textarea:focus { border-color: #8ba2b8; box-shadow: 0 0 0 4px #c8d9ea33; }
.premium-site .booking-group { border-radius: 18px; border-color: #dfe4e9; }
.premium-site .pet-choice span, .premium-site .service-choice span, .premium-site .slot-choice span { border-color: #dce3e8; background: #f6f9fb; border-radius: 14px; }
.premium-site .pet-choice input:checked+span, .premium-site .service-choice input:checked+span, .premium-site .slot-choice input:checked+span { background: linear-gradient(120deg, #e4edf8, #e4f0f8); border-color: #8ba4b9; box-shadow: 0 0 0 1px #8ba4b9; }
.premium-site .capacity-note, .premium-site .summary-box>div, .premium-site .review-card>div { background: #f4f8fb; border-color: #dae3eb; color: #426986; }
.premium-site .btn.alt { background: #fafcfe; border-color: #d3dbe2; color: #4c7799; }
.premium-site .flow-actions { background: #fbfdfe; border-color: #e3e9ee; }
.premium-site .summary-line { border-color: #ced9e2; }
.premium-site .summary-line span, .premium-site .summary-note { color: #4d7b9c; }
.premium-site .eyebrow { color: #6d869e; }
.premium-site .p-mobile-book { background: linear-gradient(110deg, #324f65, #5078a3); box-shadow: 0 8px 30px #34526947; }
@media(max-width:1000px) {
  .premium-site .site-nav { width: calc(100% - 28px); margin-top: 12px; }
  .p-steps article { padding: 23px; }
}
@media(max-width:700px) {
  .premium-site .site-nav { top: 8px; width: calc(100% - 20px); border-radius: 20px; margin-top: 10px; }
  .premium-site .site-nav-inner { width: calc(100% - 24px); height: 66px; }
  .premium-site .site-nav.is-scrolled .site-nav-inner { height: 62px; }
  .premium-site .brand-mark { height: 37px; }
  .premium-site .brand-word { font-size: 17px; }
  .premium-site .nav-cta { padding: 10px 12px; }
  .p-hero { padding-top: 32px; }
  .premium-site .p-kicker { font-size: 8px; letter-spacing: .09em; }
  .premium-site .p-hero h1 { font-size: clamp(37px,8.5vw,59px); margin: 24px 0 28px; }
  .p-hero-scene { border: 0; border-radius: 20px; box-shadow: none; height: auto; overflow: visible; padding-bottom: 10px; }
  .p-hero-scene picture { border-radius: 22px; border: 4px solid #f6fafe; height: 335px; }
  .p-hero-card { background: linear-gradient(145deg, #f9fcfe, #e6eef5); border-radius: 20px; margin-top: -28px; }
  .p-hero-card p { font-size: 13px; }
  .p-image-note { top: 285px; }
  .p-trust { font-size: 9px; padding-inline: 0; gap: 8px; }
  .p-steps { gap: 12px; }
  .p-steps article, [dir=rtl] .p-steps article { padding: 25px; padding-inline-start: 78px; }
  .p-steps article>span, [dir=rtl] .p-steps article>span { inset-inline-start: 22px; left: auto; right: auto; top: 24px; }
  [dir=ltr] .p-steps article>span { left: 22px; }
  [dir=rtl] .p-steps article>span { right: 22px; }
  .p-steps h3 { font-size: 23px; }
  .p-steps p { font-size: 13px; }
  .p-services, .p-van-section, .p-reviews { border-radius: 25px; }
  .p-service-photo { border-width: 4px; }
  .p-service { padding: 23px 5px; gap: 12px; }
  .p-service-arrow { flex-basis: 32px; height: 32px; width: 32px; font-size: 18px; }
  .p-service h3 { font-size: 24px; }
  .p-service-number { display: none; }
  .p-extras a { padding: 14px; }
  .p-benefit-list article { padding: 22px; }
  .p-gallery { gap: 18px; }
  .p-faq-item summary { padding: 19px 16px; font-size: 12px; gap: 14px; }
  .p-faq-item p { padding-inline: 16px; }
  .p-final-cta { border-radius: 26px; }
  .premium-site .p-final-cta h2 { font-size: 43px; }
  .premium-site .flow-main, .premium-site .summary-panel { border-radius: 22px; }
  .premium-site .premium-footer { border-radius: 26px 26px 0 0; }
}
@media(forced-colors:active) {
  .premium-site h2 em, .premium-site .p-hero h1 span, .p-footer-wordmark { -webkit-text-fill-color: currentColor; background: none; }
}

/* Editorial hero: an immediate booking action and an unobstructed photographic stage. */
body.premium-site .p-hero-editorial { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 24px 48px; padding-top: 40px; }
.p-hero-editorial .p-hero-top { grid-column: 1/-1; }
.premium-site .p-hero-editorial h1 { font-size: clamp(48px,5.05vw,78px); line-height: 1.08; margin: 2px 0 12px; align-self: center; letter-spacing: -.065em; }
.premium-site .p-hero-editorial h1 span { background-image: linear-gradient(100deg,#257daf,#396de0 62%,#367caa); }
body.premium-site .p-hero-editorial>.p-hero-card { position: static; width: auto; margin: 0; padding: 0 0 0 25px; border: 0; border-inline-start: 1px solid #c7ddec; border-radius: 0; box-shadow: none; background: none; align-self: center; }
.p-hero-editorial>.p-hero-card p { font-size: 13px; line-height: 1.75; margin-bottom: 17px; color: #5c7487; }
.p-hero-editorial>.p-hero-card .p-button { min-height: 55px; font-size: 12px; }
.p-hero-editorial>.p-hero-card .p-text-link { padding-top: 10px; font-size: 11px; }
body.premium-site .p-hero-editorial .p-hero-photo-layout { grid-column: 1/-1; border: 0; border-radius: 26px; box-shadow: 0 25px 60px #254d6d22; position: relative; isolation: isolate; }
body.premium-site .p-hero-editorial .p-hero-photo-layout picture { aspect-ratio: 1.92; }
body.premium-site .p-hero-editorial .p-hero-photo-layout picture img { object-position: center 46%; }
body.premium-site .p-hero-editorial .p-hero-photo-layout .p-image-note { position: absolute; inset: auto 16px 13px auto; width: auto; padding: 6px 10px; background: #122e43ba; color: #fff; font-size: 8px; border-radius: 6px; }
body.premium-site .p-hero-editorial .p-hero-photo-layout .p-scene-label { top: 20px; left: 20px; padding: 10px 15px; border: 1px solid #ffffff90; background: #f5fbffea; font-size: 8px; }
.p-hero-details { grid-column: 1/-1; display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-top: -5px; }
.p-photo-credit { font-size: 12px; color: #60798b; }
.p-original-trigger { display: flex; align-items: center; gap: 13px; background: #ffffffa6; border: 1px solid #dbe9f3; border-radius: 50px; padding: 6px 15px 6px 6px; font: inherit; font-size: 11px; color: #3d6785; cursor: pointer; transition: box-shadow .3s,transform .3s; }
.p-original-trigger:hover { transform: translateY(-2px); box-shadow: 0 8px 20px #2e64871a; }
.p-original-trigger img { object-fit: cover; border-radius: 50%; width: 36px; height: 36px; }
.p-original-trigger>span { font-size: 19px; }
.p-hero-editorial .p-trust { grid-column: 1/-1; margin-top: -15px; padding: 19px 0; border-top: 1px solid #dae7ef; font-size: 11px; }
.premium-site .p-button { background: linear-gradient(110deg,#1a567d,#2e73b5 65%,#3286bc); box-shadow: 0 7px 18px #286fad29,inset 0 1px 0 #ffffff25; }
.premium-site .p-button:hover { background: linear-gradient(110deg,#194966,#265c9d 65%,#2974a5); }
.premium-site .nav-cta { background: linear-gradient(110deg,#cae7fa,#b2d5f5); box-shadow: 0 5px 15px #3875a519; }
.premium-site .site-nav { border-radius: 20px; }
.p-service { margin-bottom: 8px; }
.p-service:hover .p-service-arrow { background: #327bb3; color: #fff; border-color: #327bb3; }
.p-service-arrow { transition: color .3s,background .3s; }
.p-gallery figure figcaption { border: 1px solid #ffffffbd; }
.p-faq-item[open] summary { color: #286ea2; }
.premium-site .p-van-dialog { padding: 0; border: 1px solid #dceaf5; border-radius: 20px; background: #f5faff; width: min(560px,calc(100vw - 30px)); max-height: 90dvh; overflow: auto; box-shadow: 0 30px 100px #06243b66; }
.p-van-dialog::backdrop { background: #09263ad4; backdrop-filter: blur(7px); }
.p-dialog-head { display: flex; gap: 20px; justify-content: space-between; align-items: center; padding: 16px 20px; position: sticky; top: 0; background: #f5faff; }
.premium-site .p-dialog-head h2 { font-size: 22px; margin: 0; }
.p-dialog-head button { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #d2e3ef; background: #e6f1fa; color: #365d7a; border-radius: 50%; font-size: 28px; cursor: pointer; }
.p-van-dialog>img { width: 100%; height: auto; display: block; }
@media(min-width:1500px) { body.premium-site .p-hero-editorial { max-width: 1500px; } }
@media(max-width:1100px) {
  body.premium-site .p-hero-editorial { grid-template-columns: minmax(0,1fr) 260px; gap: 22px 25px; }
  .premium-site .p-hero-editorial h1 { font-size: clamp(44px,5.2vw,60px); }
}
@media(max-width:800px) {
  body.premium-site .p-hero-editorial { grid-template-columns: 1fr; gap: 20px; padding-top: 30px; }
  .premium-site .p-hero-editorial h1 { font-size: clamp(40px,7.8vw,62px); margin: 0; max-width: 650px; }
  body.premium-site .p-hero-editorial>.p-hero-card { padding: 0; border: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
  .p-hero-editorial>.p-hero-card p { grid-column: 1/-1; margin: 0 0 3px; font-size: 13px; max-width: 550px; }
  .p-hero-editorial>.p-hero-card .p-text-link { padding: 0; justify-content: center; }
  body.premium-site .p-hero-editorial .p-hero-photo-layout { border-radius: 20px; margin-top: 2px; }
  body.premium-site .p-hero-editorial .p-hero-photo-layout picture { aspect-ratio: 1.5; }
  .p-hero-details { margin: 0; flex-wrap: wrap; gap: 13px; }
  .p-photo-credit { font-size: 11px; max-width: 250px; line-height: 1.7; }
  .p-hero-editorial .p-trust { margin: 0; font-size: 9px; gap: 7px; }
}
@media(max-width:400px) {
  .premium-site .p-hero-editorial h1 { font-size: 40px; }
  .p-hero-editorial>.p-hero-card .p-button { padding-inline: 16px; gap: 13px; font-size: 10px; }
  .p-hero-editorial>.p-hero-card .p-text-link { font-size: 10px; }
}

/* Desktop proportions are bounded by the viewport, not an oversized image ratio. */
@media(min-width:1001px) {
  .premium-site .site-nav { max-width: 1180px; margin-top: 14px; }
  .premium-site .site-nav-inner { height: 64px; }
  .premium-site .site-nav.is-scrolled .site-nav-inner { height: 60px; }
  body.premium-site .p-hero-editorial { max-width: 1228px; padding: 24px 24px 0; grid-template-columns: minmax(0,1fr) 300px; gap: 16px 36px; }
  .premium-site .p-hero-editorial h1 { font-size: clamp(46px,4.2vw,62px); line-height: 1.09; margin: 0; }
  body.premium-site .p-hero-editorial>.p-hero-card { padding-inline-start: 22px; }
  .p-hero-editorial>.p-hero-card p { font-size: 12px; line-height: 1.65; margin-bottom: 12px; }
  .p-hero-editorial>.p-hero-card .p-button { min-height: 48px; padding: 12px 20px; }
  .p-hero-editorial>.p-hero-card .p-text-link { min-height: 30px; padding-top: 5px; }
  body.premium-site .p-hero-editorial .p-hero-photo-layout { border-radius: 20px; width: min(100%,calc(clamp(350px,100svh - 420px,540px) * 1.92)); justify-self: center; }
  body.premium-site .p-hero-editorial .p-hero-photo-layout picture { aspect-ratio: 1.92; height: auto; position: relative; overflow: hidden; background: #476a86; }
  body.premium-site .p-hero-editorial .p-hero-photo-layout picture img { position: relative; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
  .p-hero-editorial .p-hero-details { gap: 20px; }
  .p-hero-editorial .p-trust { padding: 12px 0; margin-top: -5px; }
  .p-original-trigger img { width: 28px; height: 28px; }
  .premium-site .p-section { max-width: 1180px; padding: 76px 32px; }
  .premium-site .p-section h2 { font-size: clamp(40px,3.5vw,52px); }
  .p-heading { gap: 45px; margin-bottom: 32px; }
  .p-services,.p-van-section,.p-reviews { border-radius: 28px; }
  .p-service-layout { gap: 42px; grid-template-columns: .85fr 1.15fr; }
  .p-service-photo { min-height: 460px; }
  .p-steps { gap: 18px; }
  .p-steps article { padding: 24px; }
  .p-transformation,.p-benefits,.p-faq { gap: 60px; }
  .p-comparison { height: 460px; max-width: 400px; }
  .p-van-image img { height: 470px; }
  .p-gallery figure { height: 380px; }
  .p-gallery figure:nth-child(2) { height: 320px; margin-top: 30px; }
  .p-final-cta { max-width: 1180px; min-height: 360px; }
  .p-final-cta>div:first-child { padding: 48px; }
  .premium-site .p-final-cta h2 { font-size: 58px; }
  .p-cta-pet { min-height: 360px; }
  .premium-site .premium-footer>.container { max-width: 1180px; }
  .p-footer-wordmark { font-size: min(20vw,235px); }
}

.p-care-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.p-care-card { padding:28px; border:1px solid #dfeaf2; border-radius:24px; background:linear-gradient(145deg,#fff,#edf7fd); box-shadow:0 12px 30px #32628108; transition:transform .3s,box-shadow .3s; }
.p-care-card:nth-child(2) { background:linear-gradient(145deg,#fff,#eaf2fc); }
.p-care-card:nth-child(3) { background:linear-gradient(145deg,#fff,#e9f6f5); }
.p-care-card:hover { transform:translateY(-4px); box-shadow:0 16px 35px #32628115; }
.p-care-card-top { display:flex; justify-content:space-between; align-items:center; color:#8aa6ba; font-size:11px; }
.p-care-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:17px; background:#ffffffd9; border:1px solid #deebf5; color:#4184b1; }
.p-care-icon svg { width:32px; height:32px; }
.premium-site .p-care-card h3 { font-size:23px; margin:26px 0 14px; letter-spacing:-.04em; }
.p-care-card p { color:#617b8d; font-size:13px; margin:0; line-height:1.85; }
.p-care-note { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:25px; padding:25px 30px; background:#eaf3fa; border-radius:18px; }
.p-care-note strong { font-size:14px; color:#355c78; }
.p-care-note p { font-size:12px; color:#698395; margin:8px 0 0; max-width:600px; }
.p-care-note .p-text-link { white-space:nowrap; }
.premium-site .p-visit-prep { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; padding-top:15px; }
.p-prep-list article { display:flex; gap:25px; padding:24px 0; border-bottom:1px solid #dbe7ef; }
.p-prep-list article>span { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border:1px solid #cfe0ed; border-radius:50%; color:#628aab; font-size:10px; }
.premium-site .p-prep-list h3 { font-size:21px; margin:0 0 10px; }
.p-prep-list p { font-size:13px; color:#617b8d; margin:0; }
@media(max-width:900px) { .p-care-grid { grid-template-columns:1fr; } .p-care-card { padding:25px; } .premium-site .p-visit-prep { grid-template-columns:1fr; gap:20px; } .p-care-note { flex-direction:column; align-items:flex-start; gap:12px; padding:24px; } }
@media(prefers-reduced-motion:reduce) { .p-care-card:hover { transform:none; } }

/* Booking options are independent, clearly selectable surfaces. */
.premium-site .booking-flow { scroll-margin-top: 105px; }
.premium-site .booking-service-picker { gap: 14px; }
.premium-site .service-choice { position: relative; display: block; }
.premium-site .service-choice>span { position: relative; padding: 22px; padding-inline-end: 57px; min-height: 104px; background: #fff; border: 2px solid #d5e3ee; border-radius: 17px; box-shadow: 0 4px 12px #25496808; transition: border-color .25s, background .25s, box-shadow .25s; }
.premium-site .service-choice>span::after { content: ''; position: absolute; inset-inline-end: 20px; top: 24px; width: 21px; height: 21px; border: 2px solid #b6cadd; border-radius: 50%; background: #fff; }
.premium-site .service-choice input:checked+span { border-color: #397eaf; background: linear-gradient(115deg,#edf7ff,#e1f0fc); box-shadow: 0 0 0 3px #397eaf12; }
.premium-site .service-choice input:checked+span::after { border: 6px solid #397eaf; }
.premium-site .service-choice strong { font-size: 18px; line-height: 1.3; color: #284e6b; }
.premium-site .service-choice small { font-size: 12px; line-height: 1.75; color: #5c7589; font-weight: 400; }
.premium-site .addon-picker { margin-top: 25px; padding-top: 20px; border-top: 1px solid #dce7ef; }
.premium-site .addon-choice { position: relative; display: block; }
.premium-site .addon-choice>span { padding: 18px; padding-inline-start: 47px; position: relative; min-height: 90px; border: 1px solid #cfdfeb; background: #f8fbfd; box-shadow: none; }
.premium-site .addon-choice>span::before { content: ''; position: absolute; inset-inline-start: 16px; top: 20px; width: 18px; height: 18px; border: 1.5px solid #9ebbd1; border-radius: 5px; background: white; }
.premium-site .addon-choice input:checked+span::before { content: '✓'; display: grid; place-items: center; background: #397eaf; color: #fff; font-size: 12px; border-color: #397eaf; }
.premium-site .addon-choice strong { font-size: 13px; color: #315774; }
.premium-site .addon-choice small { font-size: 11px; color: #647f92; line-height: 1.65; }
.premium-site .slot-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.premium-site .slot-choice { position: relative; }
.premium-site .slot-choice span { padding: 16px 8px; min-height: 52px; border: 2px solid #d5e3ee; background: #fff; font-size: 13px; }
.premium-site .slot-choice input:checked+span { border-color: #397eaf; background: #dceefb; box-shadow: 0 0 0 2px #397eaf12; color: #204e71; }
.premium-site .booking-group { background: #f6fafd; border: 1px solid #d8e5ef; padding: 20px; }
.premium-site .booking-details { background: #f6fafd; border: 1px solid #d8e5ef; }
.premium-site .summary-panel { border: 1px solid #bed7e9; background: linear-gradient(145deg,#e5f2fc,#d8e9f7); }
.premium-site .flow-actions { gap: 12px; padding-top: 18px; margin-top: 24px; border-top: 1px solid #d9e6ef; }
.premium-site .flow-actions .btn { min-height: 50px; padding: 13px 22px; }
@media(max-width:700px) {
  .premium-site .container { width: calc(100% - 28px); }
  .premium-site .booking-section { padding-top: 24px; }
  .premium-site .booking-section h2 { font-size: 32px; line-height: 1.15; margin: 14px 0 18px; }
  .premium-site .booking-section-head { gap: 15px; margin-bottom: 22px; }
  .premium-site .booking-intro { padding: 16px; border-radius: 16px; }
  .premium-site .booking-intro .lead { font-size: 12px; line-height: 1.65; }
  .premium-site .booking-intro-list { gap: 6px; }
  .premium-site .booking-intro-list span { font-size: 9px; padding: 7px 10px; }
  .premium-site .flow-main { padding: 20px 15px; border-radius: 20px; }
  .premium-site .flow-head { margin-bottom: 15px; }
  .premium-site .flow-meta { font-size: 11px; line-height: 1.65; }
  .premium-site .flow-progress { margin-bottom: 25px; gap: 4px; }
  .premium-site .flow-progress em { font-size: 9px; overflow-wrap: anywhere; }
  .premium-site .flow-step h3 { font-size: 23px; margin-bottom: 12px; }
  .premium-site .flow-step-intro { font-size: 12px; line-height: 1.7; margin-bottom: 20px; }
  .premium-site .booking-group { padding: 16px 12px; border-radius: 15px; }
  .premium-site .field>label { font-size: 12px; }
  .premium-site .booking-section input:not([type=radio]):not([type=checkbox]), .premium-site .booking-section select, .premium-site .booking-section textarea { font-size: 16px; min-height: 49px; padding: 12px; }
  .premium-site .service-choice>span { padding: 19px 16px; padding-inline-end: 49px; min-height: 100px; }
  .premium-site .service-choice>span::after { inset-inline-end: 15px; top: 21px; }
  .premium-site .service-choice strong { font-size: 18px; }
  .premium-site .service-choice small { font-size: 11px; }
  .premium-site .slot-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .premium-site .flow-actions { margin: 22px 0 0; padding: 16px 0 0; }
  .premium-site .flow-actions .btn { flex: 1; font-size: 12px; }
  .premium-site .summary-panel { padding: 22px; border-radius: 20px; }
  .premium-site .summary-line { font-size: 12px; }
  .premium-site .summary-panel h3 { font-size: 26px; }
  .premium-site .p-section { padding-inline: 20px; }
  .premium-site .p-section h2 { font-size: clamp(30px,8.5vw,38px); }
  .p-heading { margin-bottom: 25px; }
  .p-heading>p { font-size: 13px; }
  .p-care-card { padding: 23px; }
  .p-coverage-card { padding: 24px; }
  .p-hero-details { gap: 12px; }
  .premium-site .p-hero-editorial h1 { font-size: clamp(35px,9.8vw,47px); }
  .premium-site .p-hero-editorial>.p-hero-card { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 12px; }
}

.p-interior { display:grid; grid-template-columns:.75fr 1.25fr; gap:45px; align-items:center; margin-top:45px; padding-top:40px; border-top:1px solid #ffffff26; }
.premium-site .p-interior-copy h3 { color:#f2faff; font-size:36px; line-height:1.15; margin:18px 0; }
.p-interior-copy p { color:#cbdeee; font-size:13px; line-height:1.85; }
.p-interior-copy ul { padding:0; margin:23px 0 0; list-style:none; display:grid; gap:13px; color:#e0eff9; font-size:12px; }
.p-interior-copy li::before { content:'✓'; margin-inline-end:10px; color:#98d5f3; }
.p-interior-photo { position:relative; display:block; overflow:hidden; border-radius:18px; border:1px solid #ffffff30; }
.p-interior-photo img { display:block; width:100%; height:auto; }
.p-interior-photo span { position:absolute; bottom:16px; inset-inline-end:16px; padding:12px 17px; border-radius:30px; background:#f3faff; color:#315c7d; font-size:12px; box-shadow:0 5px 18px #0002; }
.premium-site .p-interior-dialog { width:min(960px,calc(100vw - 30px)); }
@media(max-width:700px) { .p-interior { grid-template-columns:1fr; gap:25px; margin-top:30px; padding-top:30px; } .premium-site .p-interior-copy h3 { font-size:30px; } .p-interior-photo span { font-size:10px; bottom:10px; inset-inline-end:10px; padding:10px 14px; } }

/* A quieter hero and a compact, direct start to booking. */
.premium-site .p-hero-editorial h1, .premium-site .p-hero-editorial h1 span { color:#256ba2; background:linear-gradient(105deg,#183d63 5%,#216dc4 50%,#269aa9 100%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; font-weight:600; letter-spacing:-.055em; }
.p-hero-editorial .p-hero-note { display:none; }
.p-hero-editorial .p-trust { border-top:0; }
.booking-page .booking-section-head { margin-bottom:16px; }
.booking-page .booking-section-head .eyebrow,.booking-page .booking-intro { display:none; }
.premium-site.booking-page .booking-section { padding-top:20px; }
.premium-site.booking-page .booking-section-head h2 { font-size:30px; margin:0; }
.booking-page .booking-flow:has([data-step="0"].active) .summary-panel { display:none; }
.booking-page .booking-flow:has([data-step="0"].active) { max-width:760px; margin:auto; grid-template-columns:1fr; }
.booking-page .booking-section-head { max-width:760px; margin-inline:auto; }
.booking-page [data-step="0"] .booking-group-head { display:none; }
.booking-page [data-step="0"] .booking-group>.form-grid { grid-template-columns:1fr 1fr; gap:13px; }
.booking-page .pet-type-field { order:-1; }
.booking-page .pet-count-field { order:5; }
.booking-page .extra-pets-field { order:6; }

.p-pet-types { display:flex; gap:10px; }
.p-pet-types button { flex:1; min-height:48px; padding:12px; border:1.5px solid #c9ddea; border-radius:12px; background:white; color:#52728b; font:inherit; font-size:14px; cursor:pointer; }
.p-pet-types button[aria-pressed=true] { border-color:#2a79b2; background:linear-gradient(110deg,#e0f0ff,#e1f5fa); box-shadow:0 0 0 2px #3883bc12; color:#205c85; font-weight:700; }
.p-select { position:relative; min-width:0; }
.p-select>button { width:100%; display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:49px; padding:12px 14px; border:1px solid #cbddea; border-radius:12px; background:#fff; color:#345c78; font:inherit; font-size:14px; text-align:start; cursor:pointer; }
.p-select>button::after { content:'';display:inline-block;width:18px;height:18px;background:currentColor;mask:url('/assets/icons/chevron-down.svg') center / contain no-repeat;-webkit-mask:url('/assets/icons/chevron-down.svg') center / contain no-repeat; font-size:20px; line-height:1; }
.p-select>button[aria-expanded=true] { border-color:#347dab; box-shadow:0 0 0 3px #3b82b315; }
.p-select-list { position:absolute; inset-inline:0; top:calc(100% + 5px); max-height:220px; overflow:auto; overscroll-behavior:contain; padding:6px; border:1px solid #c8deed; border-radius:13px; background:#fff; box-shadow:0 12px 35px #1d4c7026; z-index:45; }
.p-select-list button { width:100%; display:block; min-height:44px; padding:11px 12px; font:inherit; font-size:14px; text-align:start; border:0; background:#fff; color:#42667f; border-radius:8px; cursor:pointer; }
.p-select-list button[aria-selected=true] { color:#215e8c; background:#e6f2fc; font-weight:600; }
.p-select-list button:hover,.p-select-list button:focus { background:#edf7fe; }
.booking-page .flow-main,.booking-page .booking-group { overflow:visible; }
.booking-page .pui-date-trigger { min-height:50px; background:#fff; border:1px solid #bcd5e7; border-radius:12px; color:#315f80; }
.booking-page .pui-cal { background:#fff; color:#305774; border:1px solid #cbdfea; border-radius:18px; box-shadow:0 15px 50px #1b4c7226; padding:16px; }
.booking-page .pui-cal-title { color:#305774; }
.booking-page .pui-cal-nav { background:#edf6fc; color:#305774; border:1px solid #d5e6f2; min-width:40px; min-height:40px; }
.booking-page .pui-cal-day { border-radius:9px; min-height:38px; color:#426781; }
.booking-page .pui-cal-day.is-selected { background:linear-gradient(130deg,#286ca6,#398fb8); color:#fff; }
.booking-page .pui-cal-day:disabled { color:#a4b4c0; background:#f5f8fa; }
.booking-page .pui-cal-dow { color:#7d98ac; }
@media(max-width:700px) {
  .premium-site.booking-page .site-nav-inner { height:56px; }
  .booking-page .nav-cta { display:none!important; }
  .premium-site.booking-page .booking-section { padding-top:14px; }
  .premium-site.booking-page .booking-section-head h2 { font-size:25px; }
  .booking-page .booking-section-head { margin-bottom:13px; }
  .premium-site.booking-page .flow-main { padding:16px 14px; }
  .premium-site.booking-page .flow-head { margin-bottom:10px; }
  .premium-site.booking-page .flow-progress { margin-bottom:17px; }
  .premium-site.booking-page .flow-step h3 { font-size:21px; margin-bottom:10px; }
  .booking-page [data-step="0"]>.flow-step-intro { display:none; }
  .premium-site.booking-page [data-step="0"] .booking-group { padding:0; border:0; background:transparent; }
  .booking-page [data-step="0"] .booking-group>.form-grid { gap:12px; }
  .booking-page .pet-count-field { display:grid; grid-template-columns:1fr 110px; align-items:center; gap:15px; }
  .booking-page .pet-count-field>label { line-height:1.5; }
  .booking-page .booking-details { margin-top:0; }
  .booking-page .booking-details>summary { padding:13px; font-size:11px; }
  .premium-site.booking-page .flow-actions { margin-top:15px; padding-top:13px; }
  .premium-site.booking-page .flow-actions .btn { min-height:46px; padding-block:11px; }
  .p-pet-types button { font-size:13px; min-height:46px; padding:10px; }
  .p-select>button { font-size:14px; padding:11px; }
  .booking-page .extra-pet-card { padding:15px; border:1px solid #c9deec; border-radius:14px; background:#eef7fd; }
}

.p-pet-types { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.p-pet-types>button { min-width:0; }
.p-more-pets { position:relative; min-width:0; }
.p-more-pets>summary { list-style:none; cursor:pointer; padding:12px 8px; min-height:48px; border:1.5px solid #c9ddea; border-radius:12px; background:#fff; color:#52728b; font-size:12px; text-align:center; display:grid; place-items:center; }
.p-more-pets>summary::-webkit-details-marker { display:none; }
.p-more-pets.is-selected>summary { background:#e1f1fc; border-color:#2a79b2; color:#205c85; }
.p-more-pet-options { position:absolute; top:calc(100% + 6px); inset-inline-end:0; width:230px; max-height:230px; overflow:auto; display:grid; grid-template-columns:1fr 1fr; gap:7px; padding:10px; background:#fff; border:1px solid #cbddea; border-radius:14px; box-shadow:0 12px 30px #254f7725; z-index:46; }
.p-more-pet-options button { font-size:12px; }
.p-more-pets:not([open])>.p-more-pet-options { display:none; }
.booking-page .booking-details>summary { min-height:44px; }
@media(max-width:700px) { .premium-site.booking-page .booking-details>summary { padding:12px; } .premium-site.booking-page .booking-details { padding:0; } }

@media(max-width:700px) and (max-height:740px) {
  .booking-page .booking-section-head { display:none; }
  .booking-page .flow-head { display:none; }
  .premium-site.booking-page .flow-main { padding:12px; }
  .premium-site.booking-page .flow-progress { margin-bottom:12px; }
  .booking-page [data-step="0"] .booking-group>.form-grid { gap:8px; }
  .premium-site.booking-page .flow-actions { margin-top:10px; padding-top:10px; }
}

/* Booking is an app-sized viewport: only the active step can scroll. */
html:has(body.booking-page) { height:100%; overflow:hidden; }
body.premium-site.booking-page { height:100dvh; overflow:hidden; display:flex; flex-direction:column; }
.premium-site.booking-page .site-nav { flex:0 0 auto; position:relative; top:auto; margin-top:10px; }
.premium-site.booking-page .site-nav-inner { height:58px; }
.booking-page>.premium-footer,.booking-page .booking-section-head { display:none; }
.premium-site.booking-page .booking-section { flex:1 1 auto; min-height:0; overflow:hidden; padding:14px 0 max(12px,env(safe-area-inset-bottom)); }
.booking-page .booking-section>.container { height:100%; max-width:1080px; }
.premium-site.booking-page .booking-flow,
.premium-site.booking-page .booking-flow:has([data-step="0"].active) { height:100%; min-height:0; max-width:760px; margin:auto; display:block; }
.booking-page .summary-panel { display:none!important; }
.premium-site.booking-page .flow-main { height:100%; min-height:0; display:flex; flex-direction:column; padding:20px 24px 14px; overflow:hidden; }
.booking-page .flow-head { flex:0 0 auto; margin-bottom:12px; }
.premium-site.booking-page .flow-progress { flex:0 0 auto; margin:0 0 18px; }
.booking-page .flow-step { min-height:0; }
.booking-page .flow-step.active { flex:1 1 auto; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#b7d3e8 transparent; padding:4px 6px 12px; scroll-padding:16px; }
.premium-site.booking-page .flow-actions { flex:0 0 auto; position:relative; margin:0; padding:12px 0 0; background:#fffdfa; }
.booking-page .flow-submit-hint { flex:0 0 auto; margin:8px 0 0; padding:7px 10px; font-size:10px; }
.booking-page .location-layout { grid-template-columns:1fr; gap:12px; }
.booking-page #map { height:230px; }
.booking-page .location-fields { grid-template-columns:1fr 1fr; }
.booking-page .booking-details[open] { overflow:visible; }
.booking-page .p-select-list { position:relative; top:auto; margin-top:5px; box-shadow:0 5px 12px #1d4c7014; }
.booking-page .p-more-pet-options { position:relative; top:auto; margin-top:5px; width:100%; grid-template-columns:1fr; }
.booking-page .p-more-pets[open] { grid-column:1/-1; }
.booking-page .p-more-pets[open] .p-more-pet-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:700px) {
  .premium-site.booking-page .site-nav-inner { height:50px; }
  .premium-site.booking-page .booking-section { padding-top:10px; padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .premium-site.booking-page .flow-main { padding:14px 12px 12px; border-radius:18px; }
  .premium-site.booking-page .flow-head { display:none; }
  .premium-site.booking-page .flow-progress { margin-bottom:12px; }
  .booking-page .flow-step.active { padding:3px 3px 12px; }
  .premium-site.booking-page .flow-actions { padding-top:10px; }
  .premium-site.booking-page .flow-actions .btn { min-height:46px; }
  .booking-page .location-fields { grid-template-columns:1fr; }
  .booking-page #map { height:190px; }
}
@media(max-height:500px) { .premium-site.booking-page .site-nav { display:none; } .premium-site.booking-page .flow-progress .flow-num { display:none; } .premium-site.booking-page .flow-progress { margin-bottom:5px; } }

.premium-site .p-required { display:inline; margin-inline-start:5px; font-size:10px; font-weight:600; color:#98602d; white-space:nowrap; }
.premium-site.booking-page input[aria-invalid="true"],.premium-site.booking-page textarea[aria-invalid="true"] { border:2px solid #ba4a51!important; background:#fff8f7!important; }
.premium-site.booking-page .input-error { font-size:11px; color:#a83c44; line-height:1.5; }

/* More restrained corners throughout the booking interface. */
.premium-site.booking-page .site-nav { border-radius:12px; }
.premium-site.booking-page .flow-main { border-radius:12px; }
.premium-site.booking-page .booking-group,
.premium-site.booking-page .booking-details,
.premium-site.booking-page .extra-pet-card { border-radius:8px; }
.premium-site.booking-page .btn,
.premium-site.booking-page .nav-burger,
.premium-site.booking-page .p-select>button,
.premium-site.booking-page .p-pet-types button,
.premium-site.booking-page .p-more-pets>summary,
.premium-site.booking-page .service-choice>span,
.premium-site.booking-page .addon-choice>span,
.premium-site.booking-page .slot-choice>span,
.premium-site.booking-page .pui-date-trigger { border-radius:8px; }
.premium-site.booking-page input:not([type=radio]):not([type=checkbox]),
.premium-site.booking-page select,
.premium-site.booking-page textarea { border-radius:8px; }
.premium-site.booking-page .p-select-list,
.premium-site.booking-page .p-more-pet-options,
.premium-site.booking-page .pui-cal { border-radius:10px; }
.premium-site.booking-page .p-select-list button { border-radius:5px; }

.p-extra-services { margin-top:24px; padding:18px; border:1px solid #b9d6e9; border-radius:10px; background:#eef7fd; }
.p-primary-service-label { margin:0 0 12px; font-size:14px; font-weight:700; color:#3276a5; }
.p-pet-quote { font-size:12px; color:#3b7399; font-weight:600; }
.p-extra-services-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:17px; }
.p-extra-services-head strong { font-size:14px; color:#345d7c; }
.p-extra-services-head .btn { font-size:11px; min-height:42px; padding:10px 13px; }
[data-extra-service-picker] { display:grid; gap:16px; }
.p-map-help { font-size:11px; color:#637f93; line-height:1.7; margin:0 0 10px; }
.premium-site.booking-page #map { height:clamp(230px,35dvh,340px); border:1px solid #c2d9e9; border-radius:9px; cursor:grab; touch-action:none; }
.premium-site.booking-page #map:active { cursor:grabbing; }
.premium-site.booking-page .leaflet-control-zoom a { width:40px; height:40px; line-height:40px; color:#2d668e; }
@media(max-width:700px) { .p-extra-services { padding:14px; } .p-extra-services-head { flex-wrap:wrap; gap:10px; } }

/* A complete route from discovering the service to checking local coverage. */
.p-coverage { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: center; }
.p-coverage>div>p { max-width: 460px; color: #667b8b; font-size: 14px; }
.p-coverage-card { padding: 38px; border: 1px solid #fff; border-radius: 28px; background: radial-gradient(ellipse at 100% 0, #d1eef8, transparent 70%), linear-gradient(140deg, #f1f8ff, #e7f1fc); box-shadow: 0 16px 45px #346d9910; }
.p-location-icon { display: grid; place-items: center; width: 65px; height: 65px; border-radius: 20px; background: #ffffffc9; color: #397cac; box-shadow: 0 5px 20px #346d9910; }
.p-location-icon svg { width: 35px; height: 35px; }
.p-coverage-card h3 { margin: 24px 0; font-size: 29px; }
.p-coverage-card dl { margin: 0 0 27px; }
.p-coverage-card dl>div { display: flex; justify-content: space-between; gap: 25px; padding: 15px 0; border-bottom: 1px solid #cedeec; }
.p-coverage-card dt { font-size: 12px; color: #647d91; }
.p-coverage-card dd { font-size: 13px; font-weight: 600; margin: 0; color: #365d79; }
.p-coverage-card .p-button { width: 100%; }
.premium-site .p-heading h2 { text-wrap: balance; }
.p-how { padding-bottom: 85px; }
.p-gallery-section { padding-bottom: 80px; }
.p-reviews .p-heading { margin-bottom: 30px; }
.p-coverage+.p-faq { padding-top: 30px; }
.p-faq { padding-bottom: 85px; }
.p-final-cta { margin-bottom: 65px; }
.premium-site .p-service p, .premium-site .p-benefit-list p, .premium-site .p-review-empty>span { line-height: 1.8; }
.premium-site .p-footer-bottom { border-top: 1px solid #ffffff14; }
@media(max-width:1000px) { .p-coverage { gap: 35px; } }
@media(max-width:700px) {
  .p-coverage { grid-template-columns: 1fr; gap: 28px; }
  .p-coverage-card { padding: 27px; border-radius: 24px; }
  .p-coverage-card h3 { font-size: 27px; }
  .p-how, .p-gallery-section, .p-faq { padding-bottom: 60px; }
  .p-final-cta { margin-bottom: 48px; }
  .premium-site .p-heading h2 { text-wrap: initial; }
}

/* Completed steps retain their number and a clear green state. */
.premium-site .flow-progress li.done { color: #15803d; }
.premium-site .flow-progress li.done .flow-num { background: #15803d; border-color: #15803d; color: #fff; box-shadow: 0 2px 7px #15803d22; }
.premium-site .flow-progress li.done .flow-num:after { content: none; display: none; }

/* Consistent public-page shell for booking results, tracking and help pages. */
.premium-site.public-page { background: #f4f9ff; color: #17334b; }
.public-page main.section { min-height: calc(100dvh - 90px); padding: clamp(30px,6vw,76px) 0; background: radial-gradient(ellipse at 90% 0%,#d9f2ff,transparent 60%); }
.public-page .panel { background: #fff; border: 1px solid #dce8f2; border-radius: 16px; box-shadow: 0 15px 50px #244b7410; padding: clamp(22px,4vw,42px); color: #17334b; }
.public-page h1 { color: #17334b; font-size: clamp(30px,4vw,48px); line-height: 1.14; letter-spacing: -.035em; margin: 16px 0 24px; }
.public-page .lead { color: #526b80; font-size: 16px; line-height: 1.7; }
.public-page .hero-actions { flex-wrap: wrap; margin-top: 24px; gap: 12px; }
.public-page .notice.error { background: #fff5ed; color: #8b4520; border: 1px solid #f0d8c5; padding: 16px; border-radius: 10px; }

/* Every pet has an independent, equally weighted details card. */
.premium-site .p-pet-details-card, .premium-site .extra-pet-card { background: #f8fbff; border: 1px solid #d4e4f2; border-radius: 12px; padding: 16px; margin: 0; }
.premium-site .p-pet-details-card .booking-group-head, .premium-site .extra-pet-title { border: 0; margin: 0 0 12px; padding: 0; color: #234e70; }
.premium-site .extra-pets { display: grid; gap: 14px; }

/* Keep service options readable without burying other pets below large cards. */
.premium-site.booking-page .booking-service-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.premium-site.booking-page .booking-service-picker .service-choice span { min-height: 100px; padding: 14px; }
.premium-site.booking-page .booking-service-picker .service-choice strong { font-size: 16px; padding-inline-end: 18px; }
.premium-site.booking-page .booking-service-picker .service-choice small { font-size: 12px; line-height: 1.5; }
.premium-site.booking-page .p-extra-services { margin-top: 16px; padding: 14px; }
.premium-site.booking-page .flow-step { animation: none; }
@media(max-width:600px) {
 .premium-site.booking-page .booking-service-picker { grid-template-columns: 1fr; gap: 8px; }
 .premium-site.booking-page .booking-service-picker .service-choice span { min-height: 0; padding: 12px 14px; }
 .premium-site.booking-page .booking-service-picker .service-choice strong { font-size: 16px; }
 .premium-site.booking-page .booking-service-picker .service-choice small { margin-top: 4px; }
}

.p-map-draggable-pin { cursor: grab; touch-action: none; }
.p-map-draggable-pin:active { cursor: grabbing; }
.p-map-draggable-pin span { display:block; width:28px; height:28px; margin:6px; background:#2478b3; border:3px solid white; border-radius:50% 50% 50% 0; transform:rotate(-45deg); box-shadow:0 3px 8px #12395555; }
.p-map-draggable-pin span:after { content:''; position:absolute; width:8px; height:8px; top:7px; left:7px; border-radius:50%; background:white; }
.p-map-draggable-pin:focus-visible { outline:3px solid #2478b3; outline-offset:3px; border-radius:8px; }

/* Homepage hero: a calm editorial introduction beside the full van photograph. */
body.premium-site .p-hero-renewed { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr); align-items:center; gap:32px 42px; max-width:1280px; margin:0 auto; padding:64px 32px 20px; position:relative; }
.p-hero-renewed::before { content:''; position:absolute; z-index:-1; inset:-70px -5vw 0; background:radial-gradient(ellipse at 85% 35%,#ccecff 0,transparent 60%); pointer-events:none; }
.p-hero-renewed .p-hero-intro { min-width:0; }
.p-hero-renewed .p-hero-top { display:block; margin:0 0 24px; }
.p-hero-renewed .p-kicker { display:inline-flex; align-items:center; gap:9px; padding:8px 12px; background:#e8f3fb; border:1px solid #d1e6f5; border-radius:7px; color:#356886; font-size:10px; letter-spacing:.12em; }
.premium-site .p-hero-renewed h1 { font-size:clamp(42px,4.2vw,62px); line-height:1.07; font-weight:650; letter-spacing:-.055em; margin:0 0 24px; color:#153951; background:none; -webkit-text-fill-color:currentColor; }
.premium-site .p-hero-renewed h1 span { background:linear-gradient(110deg,#1875ce 10%,#168db9 58%,#2bafa9); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.p-hero-renewed .p-hero-intro .p-hero-card { display:flex; flex-wrap:wrap; align-items:center; gap:18px 24px; position:static; width:auto; padding:0; border:0; background:transparent; box-shadow:none; border-radius:0; }
.p-hero-renewed .p-hero-intro .p-hero-card p { flex:0 0 100%; max-width:410px; color:#567086; font-size:16px; line-height:1.75; margin:0 0 8px; }
.p-hero-renewed .p-hero-card .p-button { min-height:54px; padding:15px 23px; border-radius:10px; background:linear-gradient(120deg,#126ab7,#158da9); color:white; box-shadow:0 8px 22px #167cb627; font-size:13px; }
.p-hero-renewed .p-hero-card .p-text-link { color:#315a77; font-size:13px; padding:12px 0; min-height:44px; }
body.premium-site .p-hero-renewed .p-hero-photo-layout { grid-column:auto; width:100%; margin:0; border-radius:22px; overflow:hidden; border:6px solid #fff; box-shadow:0 22px 65px #194f7624; transform:rotate(1deg); }
body.premium-site .p-hero-renewed .p-hero-photo-layout picture { display:block; aspect-ratio:1.5; height:auto; }
body.premium-site .p-hero-renewed .p-hero-photo-layout picture img { width:100%; height:100%; position:static; object-fit:cover; object-position:center; }
.p-hero-renewed .p-trust { grid-column:1/-1; display:flex; justify-content:center; flex-wrap:wrap; gap:18px 36px; padding:22px 0 0; margin:0; font-size:12px; color:#557187; }
@media(max-width:900px) {
 body.premium-site .p-hero-renewed { grid-template-columns:1fr; gap:28px; padding:36px 24px 16px; max-width:720px; }
 .p-hero-renewed .p-hero-intro { text-align:center; }
 .premium-site .p-hero-renewed h1 { font-size:clamp(39px,7vw,60px); }
 .p-hero-renewed .p-hero-intro .p-hero-card { justify-content:center; }
 .p-hero-renewed .p-hero-intro .p-hero-card p { max-width:490px; }
 body.premium-site .p-hero-renewed .p-hero-photo-layout { transform:none; }
 .p-hero-renewed .p-trust { gap:12px 20px; padding-top:0; font-size:11px; }
}
@media(max-width:480px) {
 body.premium-site .p-hero-renewed { padding:28px 18px 12px; gap:24px; }
 .p-hero-renewed .p-hero-top { margin-bottom:20px; }
 .p-hero-renewed .p-kicker { font-size:9px; letter-spacing:.08em; }
 .premium-site .p-hero-renewed h1 { font-size:clamp(35px,10vw,46px); margin-bottom:18px; }
 .p-hero-renewed .p-hero-intro .p-hero-card p { font-size:14px; line-height:1.65; }
 .p-hero-renewed .p-hero-intro .p-hero-card { gap:10px 20px; }
 .p-hero-renewed .p-hero-card .p-button { font-size:12px; padding:14px 18px; }
 .p-hero-renewed .p-hero-card .p-text-link { font-size:12px; }
 body.premium-site .p-hero-renewed .p-hero-photo-layout { border-width:4px; border-radius:16px; }
}
.p-hero-renewed .p-hero-intro .p-hero-card .p-button { width:auto; flex:0 0 auto; gap:24px; }
.p-hero-renewed .p-hero-intro .p-hero-card .p-text-link { width:auto; flex:0 0 auto; }
body.premium-site .p-hero-renewed h1 { height:auto; min-height:0; max-height:none; padding:0; margin:0 0 26px; }
body.premium-site .p-hero-renewed .p-hero-intro .p-hero-card { margin:0; inset:auto; transform:none; }

/* Screen-sized chapters, with natural overflow for longer content. */
html:has(.p-scroll-story) { scroll-snap-type:y proximity; scroll-padding-top:100px; scroll-behavior:smooth; }
.p-scroll-story > header, .p-scroll-story > section { scroll-snap-align:start; scroll-margin-top:0; min-height:calc(100svh - 100px); box-sizing:border-box; align-content:center; }
.p-scroll-story > .p-hero-renewed { min-height:calc(100svh - 100px); padding-top:36px; padding-bottom:30px; }
.p-scroll-story > section { padding-block:clamp(40px,7vh,80px); }
.p-scroll-story .p-motion-item { transition:opacity .7s ease, translate .85s cubic-bezier(.2,.7,.2,1); }
.p-scroll-story .p-motion-wait { opacity:0; translate:0 26px; }
.p-scroll-story .p-motion-visible { opacity:1; translate:0 0; }
.p-scroll-story .p-button { transition:transform .25s ease, box-shadow .25s ease, background .25s ease; }
.p-scroll-story .p-button:hover { transform:translateY(-3px); box-shadow:0 12px 28px #167cb635; }
.p-scroll-story .p-hero-photo-layout { animation:p-photo-arrive 1s cubic-bezier(.2,.7,.2,1) both; }
@keyframes p-photo-arrive { from { opacity:0; translate:0 24px; } to { opacity:1; translate:0 0; } }
@media(max-width:700px) {
 html:has(.p-scroll-story) { scroll-padding-top:96px; }
 .p-scroll-story > header, .p-scroll-story > section { min-height:calc(100svh - 96px); }
 .p-scroll-story > section { padding-block:40px; }
}
@media(prefers-reduced-motion:reduce) {
 html:has(.p-scroll-story) { scroll-behavior:auto; scroll-snap-type:none; }
 .p-scroll-story .p-motion-item, .p-scroll-story .p-button, .p-scroll-story .p-hero-photo-layout { animation:none; transition:none; translate:none; opacity:1; }
}

/* Fit the content itself to the viewport; Lenis controls the scroll motion. */
html:has(.p-scroll-story) { scroll-snap-type:none; scroll-behavior:auto; }
.p-scroll-story > header, .p-scroll-story > section { scroll-snap-align:none; }
@media(min-width:901px) {
 body.premium-site .p-scroll-story > section { min-height:calc(100svh - 110px); padding-block:28px; }
 .p-scroll-story .p-heading { margin-bottom:22px; gap:30px; }
 .premium-site .p-scroll-story h2 { font-size:clamp(30px,4.6vh,46px); }
 .p-scroll-story .p-service-photo { min-height:0; height:clamp(230px,42vh,390px); }
 .p-scroll-story .p-service { padding:12px 0; }
 .p-scroll-story .p-service h3 { font-size:23px; margin-bottom:5px; }
 .p-scroll-story .p-service strong { margin-top:8px; }
 .p-scroll-story .p-extras { margin-top:16px; }
 .p-scroll-story .p-extras a { padding:12px; }
 .p-scroll-story .p-comparison { height:clamp(280px,58vh,470px); }
 .p-scroll-story .p-gallery figure, .p-scroll-story .p-gallery figure:nth-child(2) { height:clamp(250px,48vh,420px); margin-top:0; }
 .p-scroll-story .p-care-card { padding:20px; }
 .p-scroll-story .p-care-note { margin-top:18px; padding:18px; }
 .p-scroll-story .p-faq-item summary { padding:15px 0; }
 .p-scroll-story .p-van-section { display:grid; grid-template-columns:1fr 1fr; gap:20px 28px; }
 .p-scroll-story .p-van-section > .p-heading { grid-column:1/-1; margin:0; }
 .p-scroll-story .p-van-image { margin:0; align-self:center; }
 .p-scroll-story .p-van-image img { height:clamp(220px,38vh,330px); object-fit:cover; }
 .p-scroll-story .p-interior { margin:0; padding:0; border:0; grid-template-columns:1fr; gap:12px; }
 .p-scroll-story .p-interior-copy h3 { font-size:24px; margin:8px 0; }
 .p-scroll-story .p-interior-copy h3 br { display:none; }
 .p-scroll-story .p-interior-copy p { margin:6px 0; line-height:1.5; }
 .p-scroll-story .p-interior-copy ul { display:flex; flex-wrap:wrap; gap:8px 14px; margin:8px 0; font-size:11px; }
 .p-scroll-story .p-interior-photo img { height:clamp(150px,25vh,230px); object-fit:cover; }
 .p-scroll-story .p-final-cta .p-cta-pet { height:55vh; min-height:0; }
}
@media(max-width:900px) {
 .p-scroll-story > section { padding-block:26px; }
 .p-scroll-story .p-heading { margin-bottom:18px; }
 .p-scroll-story .p-heading h2 { margin-top:8px; }
 .p-scroll-story .p-heading > p { margin-top:12px; }
 .p-scroll-story .p-service-photo { min-height:0; height:180px; border-radius:16px; }
 .p-scroll-story .p-service-layout { gap:14px; }
 .p-scroll-story .p-service { padding:12px 0; }
 .p-scroll-story .p-service h3 { font-size:21px; }
 .p-scroll-story .p-extras { margin-top:12px; }
 .p-scroll-story .p-extras a { padding:10px; }
 .p-scroll-story .p-steps article { padding-block:15px; }
 .p-scroll-story .p-comparison { height:270px; }
 .p-scroll-story .p-care-card { padding:16px; }
 .p-scroll-story .p-care-grid { gap:10px; }
 .p-scroll-story .p-care-note { padding:14px; margin-top:14px; }
 .p-scroll-story .p-van-image img { height:190px; }
 .p-scroll-story .p-interior { margin-top:16px; padding-top:16px; gap:12px; grid-template-columns:1fr 1fr; }
 .p-scroll-story .p-interior-copy h3 { font-size:22px; margin:8px 0; }
 .p-scroll-story .p-interior-copy p { font-size:12px; line-height:1.5; }
 .p-scroll-story .p-interior-copy ul { gap:6px; margin-top:10px; font-size:10px; }
 .p-scroll-story .p-interior-photo img { height:230px; object-fit:cover; }
 .p-scroll-story .p-interior-photo span { padding:7px; font-size:9px; }
 .p-scroll-story .p-faq-item summary { padding:14px 0; }
}
@media(max-width:700px) {
 .p-scroll-story .p-services .p-service-photo { display:none; }
 .p-scroll-story .p-service p { margin:4px 0; line-height:1.4; }
 .p-scroll-story .p-service small { line-height:1.4; }
 .p-scroll-story .p-service strong { margin-top:7px; }
 .p-scroll-story .p-services .p-extras { gap:6px; }
 .p-scroll-story .p-services .p-extras a { min-width:100px; font-size:10px; padding:8px; }
 .p-scroll-story .p-care-card { padding:12px 16px; }
 .p-scroll-story .p-care-card h3 { font-size:19px; margin:8px 0; }
 .p-scroll-story .p-care-card p { font-size:12px; line-height:1.5; margin:6px 0; }
 .p-scroll-story .p-care-card ul { margin:8px 0; gap:5px; }
 .p-scroll-story .p-care-card li { font-size:11px; line-height:1.4; }
 .p-scroll-story .p-care-icon { width:28px; height:28px; margin:0; }
 .p-scroll-story .p-faq { gap:14px; }
}

/* Preserve the photographs instead of forcing them into short viewport crops. */
body.premium-site .p-scroll-story .p-van-image img,
body.premium-site .p-scroll-story .p-interior-photo img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; }
body.premium-site .p-scroll-story .p-services .p-service-photo { display:block; height:clamp(300px,36vw,460px); min-height:0; }
body.premium-site .p-scroll-story .p-comparison { height:440px; }
body.premium-site .p-scroll-story .p-gallery figure { height:440px; }
body.premium-site .p-scroll-story .p-gallery figure:nth-child(2) { height:390px; }
body.premium-site .p-scroll-story .p-final-cta .p-cta-pet { height:480px; }
@media(max-width:700px) {
 body.premium-site .p-scroll-story .p-interior { grid-template-columns:1fr; gap:20px; }
 body.premium-site .p-scroll-story .p-services .p-service-photo { height:360px; max-width:400px; margin-inline:auto; }
 body.premium-site .p-scroll-story .p-comparison { height:390px; }
 body.premium-site .p-scroll-story .p-gallery figure { height:390px; }
 body.premium-site .p-scroll-story .p-gallery figure:nth-child(2) { height:340px; }
 body.premium-site .p-scroll-story .p-final-cta .p-cta-pet { height:330px; }
}

/* The service portrait is the middle 512×1024 panel: preserve its 1:2 ratio. */
body.premium-site .p-scroll-story .p-services .p-service-photo { height:auto; width:min(100%,260px); max-width:260px; min-height:0; align-self:center; justify-self:center; margin:0 auto; border-radius:18px; overflow:hidden; background:#fff; }
body.premium-site .p-scroll-story .p-service-photo > .p-pet-photo { position:relative; inset:auto; width:100%; height:auto; aspect-ratio:1 / 2; background-size:300% 100%; background-position:center center; transform:none; border-radius:0; }
body.premium-site .p-scroll-story .p-service-photo > span { position:static; display:block; margin:0; padding:12px 8px; font-size:11px; border-radius:0; background:#fff; color:#315a77; }
@media(max-width:700px) {
 body.premium-site .p-scroll-story .p-services .p-service-photo { width:min(100%,210px); }
}

/* The following chapter slides over the hero in normal document scrolling. */
@media(min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference) {
 body.premium-site .p-scroll-story > .p-hero-renewed { position:sticky; top:96px; z-index:0; }
 .p-scroll-story > section { position:relative; z-index:1; background-color:#f4f9fd; }
 body.premium-site .p-scroll-story > .p-how { max-width:none; width:100%; border-radius:36px 36px 0 0; box-shadow:0 -20px 65px #194f7618; border-top:1px solid #fff; padding-inline:max(32px,calc((100vw - 1116px)/2)); background:linear-gradient(160deg,#fff,#eaf5fc); }
 .p-scroll-story > .p-services { background-color:#eaf4fb; }
 .p-scroll-story > .p-van-section { background-color:#183d59; }
}
.p-arrival-loader { position:fixed; inset:0; z-index:10000; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; background:radial-gradient(ellipse at 65% 35%,#d8efff,#f6fbff 70%); pointer-events:none; transition:opacity .45s ease,visibility .45s; }
.p-arrival-loader.is-leaving { opacity:0; visibility:hidden; }
.p-arrival-loader strong { font-size:28px; letter-spacing:-.04em; color:#18527b; }
.p-loader-orbit { width:74px; height:74px; border:2px solid #b6dcef; border-top-color:#1687b4; border-radius:50%; display:grid; place-items:center; animation:p-loader-spin 1.3s linear infinite; }
.p-loader-orbit span { font-size:30px; animation:p-loader-spin 1.3s linear infinite reverse; }
.p-loader-line { width:100px; height:3px; border-radius:3px; background:#d6e8f4; overflow:hidden; }
.p-loader-line i { display:block; height:100%; background:linear-gradient(90deg,#1875ce,#29b2b4); transform-origin:left; animation:p-loader-fill .7s ease both; }
@keyframes p-loader-spin { to { transform:rotate(360deg); } }
@keyframes p-loader-fill { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) { .p-arrival-loader { display:none; } }

/* A clear foreground sheet rises over the stationary hero on every screen. */
@media(prefers-reduced-motion:no-preference) {
 body.premium-site .p-scroll-story { isolation:isolate; }
 body.premium-site .p-scroll-story > .p-hero-renewed { position:sticky; top:0; z-index:0; padding-bottom:64px; }
 body.premium-site .p-scroll-story > section { position:relative; z-index:2; background-color:#f4f9fd; }
 body.premium-site .p-scroll-story > .p-how { width:100%; max-width:none; margin-top:0; border-radius:42px 42px 0 0; border-top:1px solid #fff; box-shadow:0 -24px 65px #174e7638; background:linear-gradient(145deg,#fff 10%,#e7f4fc); padding-top:64px; padding-inline:max(24px,calc((100vw - 1116px)/2)); }
 .p-scroll-story > .p-how::before { content:''; position:absolute; top:18px; left:50%; transform:translateX(-50%); width:56px; height:5px; border-radius:5px; background:#a6cbe3; }
 body.premium-site .p-scroll-story > .p-van-section { background-color:#183d59; }
 body.premium-site .p-scroll-story > .p-services { background-color:#eaf4fb; }
}

/* A balanced two-photo tour, with clear captions and unobstructed images. */
body.premium-site .p-scroll-story > .p-van-showcase { display:grid; grid-template-columns:1fr 1fr; gap:28px; padding:38px; background:linear-gradient(135deg,#123751,#1d5371); border-radius:24px; color:#f4fbff; }
.premium-site .p-van-showcase > .p-heading { grid-column:1/-1; margin:0 0 4px; align-items:center; }
.premium-site .p-van-showcase .p-heading h2 { color:#fff; }
.premium-site .p-van-showcase .p-heading h2 em { color:#99dbf3; }
.premium-site .p-van-showcase .p-heading p { color:#c0d8e7; font-size:14px; line-height:1.7; }
.premium-site .p-van-showcase .p-kicker { color:#a2d7ef; }
body.premium-site .p-scroll-story .p-van-showcase .p-van-image,
body.premium-site .p-scroll-story .p-van-showcase .p-interior { margin:0; padding:0; border:1px solid #ffffff24; border-radius:16px; background:#ffffff09; overflow:hidden; align-self:start; }
body.premium-site .p-scroll-story .p-van-showcase .p-van-image { display:flex; flex-direction:column; }
body.premium-site .p-scroll-story .p-van-showcase .p-van-image img { height:auto; width:100%; border-radius:0; }
body.premium-site .p-scroll-story .p-van-showcase .p-van-image figcaption { position:static; color:#c2d9e7; background:none; padding:16px 20px 8px; font-size:11px; line-height:1.6; }
body.premium-site .p-van-showcase .p-van-pin { position:static; align-self:flex-start; margin:8px 20px 20px; padding:10px 16px; border-radius:8px; background:#e7f6ff; color:#1c5275; box-shadow:none; font-size:12px; max-width:calc(100% - 40px); }
body.premium-site .p-scroll-story .p-van-showcase .p-interior { display:flex; flex-direction:column; gap:0; }
body.premium-site .p-scroll-story .p-van-showcase .p-interior-photo { order:-1; border:0; border-radius:0; }
body.premium-site .p-scroll-story .p-van-showcase .p-interior-photo img { height:auto; width:100%; object-fit:contain; }
body.premium-site .p-van-showcase .p-interior-photo span { bottom:12px; inset-inline-end:12px; padding:9px 12px; border-radius:8px; font-size:11px; }
body.premium-site .p-van-showcase .p-interior-copy { padding:18px 20px; }
body.premium-site .p-van-showcase .p-interior-copy h3 { font-size:24px; margin:8px 0; color:white; }
body.premium-site .p-van-showcase .p-interior-copy h3 br { display:none; }
body.premium-site .p-van-showcase .p-interior-copy p { font-size:13px; line-height:1.6; margin:8px 0 12px; color:#c2d9e7; }
body.premium-site .p-van-showcase .p-interior-copy ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; }
body.premium-site .p-van-showcase .p-interior-copy li { font-size:10px; padding:6px 8px; background:#ffffff0c; border:1px solid #ffffff18; border-radius:6px; }
@media(max-width:700px) {
 body.premium-site .p-scroll-story > .p-van-showcase { grid-template-columns:1fr; padding:24px 16px; gap:20px; border-radius:18px; }
 .premium-site .p-van-showcase > .p-heading { display:block; }
 .premium-site .p-van-showcase .p-heading p { font-size:13px; }
}
body.premium-site .p-scroll-story > .p-van-showcase { height:auto; max-height:none; grid-template-rows:auto auto; align-content:start; padding-bottom:38px; overflow:visible; }
body.premium-site .p-van-showcase .p-interior-copy h3 br::after { content:' '; }

/* Compact footer with a quiet legal row. */
body.premium-site .p-footer-clean { position:relative; z-index:3; background:#edf5fa; background-image:none; color:#24465e; border-radius:0; border-top:1px solid #d8e5ef; padding:44px 0 22px; box-shadow:none; }
.p-footer-clean .p-footer-content { display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:48px; max-width:1180px; }
.p-footer-clean .p-footer-brand .brand { justify-content:flex-start; }
.p-footer-clean .p-footer-brand p { color:#658093; font-size:13px; margin:12px 0 0; }
.p-footer-clean h4 { margin:0 0 14px; font-size:12px; font-weight:650; color:#24465e; }
.p-footer-clean .p-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.p-footer-clean .p-footer-links h4 { margin-bottom:4px; }
.p-footer-clean a { font-size:13px; color:#365a73; text-decoration:none; }
.p-footer-clean a:hover { color:#127eb4; text-decoration:underline; text-underline-offset:4px; }
.p-footer-clean .p-footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.p-footer-clean .p-footer-contact h4 { margin-bottom:4px; }
.p-footer-clean .p-footer-contact > span { font-size:11px; color:#658093; }
.p-footer-clean .p-footer-social { display:flex; gap:18px; }
.p-footer-clean .p-footer-legal { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-top:32px; padding-top:20px; border-top:1px solid #d8e5ef; color:#6c8496; font-size:11px; }
.p-footer-clean .p-footer-legal > div { display:flex; flex-wrap:wrap; gap:18px; }
.p-footer-clean .p-footer-legal a, .p-footer-clean .p-footer-legal small { font-size:11px; color:#6c8496; }
@media(max-width:700px) {
 body.premium-site .p-footer-clean { padding:30px 0 86px; }
 .p-footer-clean .p-footer-content { grid-template-columns:1fr 1fr; gap:28px 20px; }
 .p-footer-clean .p-footer-brand { grid-column:1/-1; }
 .p-footer-clean .p-footer-social { flex-wrap:wrap; gap:10px; }
 .p-footer-clean .p-footer-legal { align-items:flex-start; flex-direction:column; margin-top:24px; gap:12px; }
}

.p-footer-clean .p-footer-legal { display:grid; grid-template-columns:1fr auto 1fr; }
.p-footer-clean .p-footer-legal > span { grid-column:1; grid-row:1; }
.p-footer-clean .p-footer-legal > div { grid-column:3; grid-row:1; justify-content:flex-end; }
.p-footer-clean .p-footer-legal .p-powered-link { grid-column:2; grid-row:1; justify-self:center; text-align:center; color:#47728c; padding:8px 14px; border-radius:9px; background:#e4f3fc; border:1px solid #c7e7f7; box-shadow:0 0 18px #4fb8ec25; transition:box-shadow .25s ease; }
.p-footer-clean .p-powered-link strong { color:#147caf; text-shadow:0 0 12px #36b4ef70; font-weight:650; }
.p-footer-clean .p-footer-legal .p-powered-link:hover { box-shadow:0 0 24px #37b3ed55; text-decoration:none; }
.p-footer-clean .p-powered-link:focus-visible { outline:2px solid #147caf; outline-offset:4px; }
@media(max-width:700px) {
 .p-footer-clean .p-footer-legal { grid-template-columns:1fr; justify-items:center; text-align:center; }
 .p-footer-clean .p-footer-legal > span { grid-column:1; grid-row:1; }
 .p-footer-clean .p-footer-legal > div { grid-column:1; grid-row:2; justify-content:center; }
 .p-footer-clean .p-footer-legal .p-powered-link { grid-column:1; grid-row:3; }
}
@media(prefers-reduced-motion:reduce) { .p-footer-clean .p-footer-legal .p-powered-link { transition:none; } }

/* A focused final invitation, with an undistorted portrait. */
body.premium-site .p-scroll-story > .p-closing-invite { min-height:0; height:auto; max-width:1116px; margin:48px auto 64px; padding:0; display:grid; grid-template-columns:1.35fr .65fr; align-items:center; gap:24px; border-radius:28px; overflow:hidden; background:radial-gradient(ellipse at 25% 10%,#277b9d,transparent 70%),linear-gradient(120deg,#143f5d,#0c304a); box-shadow:0 22px 55px #173f681c; }
body.premium-site .p-closing-invite > div:first-child { padding:48px 54px; }
body.premium-site .p-closing-invite .p-kicker { color:#a8deec; font-size:10px; letter-spacing:.15em; }
body.premium-site .p-closing-invite h2 { font-size:clamp(38px,4.4vw,60px); line-height:1.08; letter-spacing:-.045em; color:#fff; margin:20px 0; }
body.premium-site .p-closing-invite h2 em { color:#8de0ee; background:none; -webkit-text-fill-color:currentColor; }
body.premium-site .p-closing-invite .p-closing-copy { color:#c7e1ed; font-size:15px; line-height:1.7; max-width:330px; margin:0 0 26px; }
body.premium-site .p-closing-invite .p-button { display:inline-flex; width:auto; gap:28px; padding:16px 22px; border-radius:10px; background:#f0fbff; color:#164e71; font-size:13px; box-shadow:0 8px 24px #071e3620; }
body.premium-site .p-scroll-story .p-closing-invite .p-cta-pet { height:auto; min-height:0; width:100%; max-width:235px; aspect-ratio:1 / 2; background-size:300% 100%; background-position:left center; margin:28px 38px 28px 0; justify-self:center; border:5px solid #ffffff22; border-radius:120px 120px 20px 20px; box-sizing:content-box; }
@media(max-width:700px) {
 body.premium-site .p-scroll-story > .p-closing-invite { grid-template-columns:1fr; gap:0; margin:28px 16px 36px; border-radius:22px; text-align:center; }
 body.premium-site .p-closing-invite > div:first-child { padding:32px 24px 24px; }
 body.premium-site .p-closing-invite h2 { font-size:40px; }
 body.premium-site .p-closing-invite .p-closing-copy { margin-inline:auto; font-size:14px; }
 body.premium-site .p-scroll-story .p-closing-invite .p-cta-pet { width:160px; margin:0 auto 28px; }
}
body.premium-site .p-scroll-story .p-closing-invite .p-cta-pet { mix-blend-mode:normal; filter:none; opacity:1; background-blend-mode:normal; }
body.premium-site .p-scroll-story .p-closing-invite .p-button, body.premium-site .p-scroll-story .p-closing-invite .p-button span { color:#164e71; -webkit-text-fill-color:#164e71; }

body.premium-site .p-scroll-story > .p-hero-renewed.p-hero-covered { visibility:hidden; pointer-events:none; }

/* The closing content follows its natural height rather than filling screens. */
body.premium-site .p-scroll-story > .p-faq { min-height:0; height:auto; padding-block:44px; align-items:start; align-content:start; gap:40px; }
body.premium-site .p-faq h2 { margin:12px 0 18px; }
body.premium-site .p-faq .p-faq-item { margin:0; border:0; border-bottom:1px solid #d4e3ee; border-radius:0; background:transparent; }
body.premium-site .p-faq .p-faq-item summary { min-height:52px; padding:14px 4px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:13px; line-height:1.5; }
body.premium-site .p-faq .p-faq-item summary > span { flex:0 0 26px; width:26px; height:26px; display:grid; place-items:center; font-size:20px; line-height:1; }
body.premium-site .p-faq .p-faq-item p { margin:0; padding:0 4px 18px; font-size:13px; line-height:1.65; }
body.premium-site .p-scroll-story > .p-closing-invite { min-height:0; margin-block:24px 40px; }
body.premium-site .p-closing-invite > div:first-child { padding:32px 42px; }
body.premium-site .p-scroll-story .p-closing-invite .p-cta-pet { max-width:180px; margin-block:22px; }
body.premium-site .p-footer-clean { min-height:0; padding-top:30px; }
body.premium-site .p-footer-clean .p-footer-legal { margin-top:24px; }
@media(max-width:700px) {
 body.premium-site .p-scroll-story > .p-faq { padding:28px 20px; gap:20px; }
 body.premium-site .p-faq > div:first-child { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; }
 body.premium-site .p-faq > div:first-child > .p-kicker { flex:0 0 100%; }
 body.premium-site .p-faq h2 { font-size:32px; margin:8px 0; }
 body.premium-site .p-faq h2 br { display:none; }
 body.premium-site .p-faq h2 em::before { content:' '; }
 body.premium-site .p-faq .p-text-link { margin:0; min-height:44px; padding:10px 0; }
 body.premium-site .p-scroll-story > .p-closing-invite { margin:16px 16px 28px; grid-template-columns:1fr; }
 body.premium-site .p-closing-invite > div:first-child { padding:28px 22px 18px; }
 body.premium-site .p-closing-invite h2 { font-size:34px; margin:12px 0; }
 body.premium-site .p-closing-invite .p-closing-copy { margin-bottom:18px; }
 body.premium-site .p-scroll-story .p-closing-invite .p-cta-pet { width:120px; margin:0 auto 22px; }
 body.premium-site .p-footer-clean { padding:28px 0 26px; }
 body.premium-site .p-footer-clean .p-footer-content { gap:20px 16px; }
 body.premium-site .p-footer-clean .p-footer-legal { margin-top:20px; gap:10px; }
 body.premium-site:has(.p-footer-clean:hover) .p-mobile-book { visibility:hidden; }
}

/* Consistent content-led layout across the homepage. */
body.premium-site .p-scroll-story > section { min-height:0; height:auto; padding-block:52px; margin-block:0; }
body.premium-site .p-scroll-story > .p-hero-renewed { min-height:0; padding-block:42px 54px; }
body.premium-site .p-scroll-story > .p-how { padding-top:60px; }
body.premium-site .p-scroll-story > .p-closing-invite { display:block; min-height:0; margin:28px auto 44px; padding:0; text-align:center; }
body.premium-site .p-closing-invite > div:first-child { padding:42px 32px; }
body.premium-site .p-closing-invite .p-closing-copy { max-width:480px; margin-inline:auto; }
body.premium-site .p-scroll-story .p-service-layout { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:38px; align-items:center; }
body.premium-site .p-scroll-story .p-services .p-service-photo { width:100%; max-width:300px; border-radius:16px; }
body.premium-site .p-scroll-story .p-comparison { border-radius:16px; }
body.premium-site .p-scroll-story > .p-van-showcase { padding:32px; margin-block:20px; border-radius:20px; }
body.premium-site .p-scroll-story .p-care-card, body.premium-site .p-scroll-story .p-coverage-card { border-radius:16px; }
body.premium-site .p-scroll-story .p-heading { gap:28px; margin-bottom:28px; }
body.premium-site .p-scroll-story .p-heading > p { font-size:14px; line-height:1.7; max-width:340px; }
body.premium-site .p-scroll-story .p-service p, body.premium-site .p-scroll-story .p-service small { font-size:13px; line-height:1.65; }
body.premium-site .p-scroll-story .p-caption, body.premium-site .p-scroll-story .p-van-image figcaption { font-size:12px!important; line-height:1.6!important; }
body.premium-site .p-footer-clean a { font-size:14px; }
body.premium-site .p-footer-clean .p-footer-legal a, body.premium-site .p-footer-clean .p-footer-legal { font-size:12px; }
@media(max-width:700px) {
 body.premium-site .p-scroll-story > section { padding-block:32px; }
 body.premium-site .p-scroll-story > .p-hero-renewed { padding-block:26px 32px; }
 body.premium-site .p-scroll-story .p-service-layout { grid-template-columns:minmax(0,1fr); gap:22px; }
 body.premium-site .p-scroll-story .p-services .p-service-photo { max-width:180px; }
 body.premium-site .p-scroll-story .p-service { padding:12px 0; }
 body.premium-site .p-scroll-story .p-heading > p { font-size:14px; }
 body.premium-site .p-scroll-story .p-care-card p, body.premium-site .p-scroll-story .p-prep-list p { font-size:13px; line-height:1.65; }
 body.premium-site .p-scroll-story > .p-van-showcase { padding:24px 16px; margin-block:12px; }
 body.premium-site .p-scroll-story > .p-closing-invite { margin:20px 16px 28px; padding:0; }
 body.premium-site .p-closing-invite > div:first-child { padding:32px 22px; }
 body.premium-site .p-scroll-story .p-comparison { height:360px; }
}
body.premium-site .p-scroll-story .p-van-showcase .p-interior-photo { flex:0 0 auto; aspect-ratio:4 / 3; width:100%; }
body.premium-site .p-scroll-story .p-van-showcase .p-interior-photo img { aspect-ratio:4 / 3; }

/* Signature landing composition: generous type, a clean photo, quiet details. */
body.premium-site .p-scroll-story > .p-hero-signature { max-width:1360px; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:32px 48px; padding:68px 48px 34px; align-items:center; }
body.premium-site .p-hero-signature::before { inset:-100px -3vw 0; background:radial-gradient(ellipse at 78% 48%,#bce8f9 0,transparent 60%); }
body.premium-site .p-hero-signature h1 { font-size:clamp(48px,4.6vw,70px); line-height:1.04; letter-spacing:-.06em; font-weight:650; margin-bottom:28px; color:#102f48; }
body.premium-site .p-hero-signature h1 span { background:linear-gradient(115deg,#116eb9 10%,#168caf 65%,#47b5b3); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
body.premium-site .p-hero-signature .p-hero-intro .p-hero-card p { font-size:16px; line-height:1.8; max-width:370px; margin-bottom:12px; color:#526e83; }
body.premium-site .p-hero-signature .p-hero-intro .p-hero-card { gap:14px 24px; }
body.premium-site .p-hero-signature .p-hero-card .p-button { background:#126fa6; color:#fff; -webkit-text-fill-color:#fff; border:1px solid #126fa6; padding:17px 24px; border-radius:10px; box-shadow:0 8px 20px #186eae22; font-size:14px; }
body.premium-site .p-hero-signature .p-hero-card .p-button span { color:inherit; }
body.premium-site .p-hero-signature .p-hero-photo-layout { transform:none; border:0; border-radius:22px; box-shadow:0 26px 55px #14395422; width:100%; }
body.premium-site .p-hero-signature .p-hero-photo-layout picture { aspect-ratio:3 / 2; }
body.premium-site .p-hero-signature .p-image-note { top:auto; bottom:12px; right:12px; font-size:9px; padding:5px 8px; background:#163a51b8; border-radius:5px; }
body.premium-site .p-hero-signature .p-trust { display:flex; align-items:center; justify-content:flex-start; gap:28px; border-top:1px solid #cbdfea; padding:20px 0 0; margin:10px 0 0; font-size:12px; color:#5b788c; }
body.premium-site .p-hero-signature .p-trust a { margin-inline-start:auto; }
@media(max-width:900px) {
 body.premium-site .p-scroll-story > .p-hero-signature { grid-template-columns:1fr; max-width:720px; padding:34px 24px 26px; gap:28px; }
 body.premium-site .p-hero-signature h1 { font-size:clamp(40px,7.5vw,58px); margin-bottom:22px; }
 body.premium-site .p-hero-signature .p-hero-intro .p-hero-card p { max-width:440px; font-size:15px; line-height:1.65; }
 body.premium-site .p-hero-signature .p-trust { justify-content:center; flex-wrap:wrap; gap:12px 18px; font-size:11px; margin:0; padding-top:16px; }
}
@media(max-width:480px) {
 body.premium-site .p-scroll-story > .p-hero-signature { padding:28px 20px 24px; gap:24px; }
 body.premium-site .p-hero-signature h1 { font-size:clamp(38px,10.5vw,48px); }
 body.premium-site .p-hero-signature .p-hero-intro .p-hero-card p { font-size:14px; }
 body.premium-site .p-hero-signature .p-hero-card .p-button { padding:15px 20px; font-size:13px; }
 body.premium-site .p-hero-signature .p-hero-photo-layout { border-radius:16px; }
 body.premium-site .p-hero-signature .p-trust { font-size:10px; gap:12px; }
}
