:root{--pink:#a52461;--deep:#741943;--accent:#ffc3da;--ink:#482136;--paper:#fffafd;--blush:#ffd7e7;--line:#dcbaca;--muted:#6f4b5c;--radius:1.4rem;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit}img{display:block;max-width:100%}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;line-height:1.04}h1{font-size:clamp(3rem,5.8vw,5.6rem);margin-bottom:1.6rem}h2{font-size:clamp(2.5rem,4.2vw,4rem);margin-bottom:1.5rem}h3{line-height:1.25;font-size:1.35rem}p{margin-bottom:1rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #a52461;outline-offset:5px}section{scroll-margin-top:6rem}.section-shell{width:min(1240px,calc(100% - 6rem));margin-inline:auto}.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.15em;font-size:.875rem;margin-bottom:1.4rem}.skip-link{position:fixed;top:-6rem;left:1rem;z-index:20;background:var(--blush);padding:1rem}.skip-link:focus{top:1rem}.site-header{width:min(1360px,calc(100% - 4rem));display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:auto;padding:1.3rem 0}.brand{display:flex;align-items:center;gap:.75rem;font-family:Georgia,serif;line-height:1.1;text-decoration:none;font-size:1.35rem;font-weight:bold}.brand-sub{display:block;font-size:1.15rem;font-weight:normal;margin-top:.2rem}.brand-icon{display:grid;place-items:center;width:3.5rem;height:3.5rem;background:var(--pink);border-radius:50%;color:white;font-size:1.35rem}nav{display:flex;gap:2rem}nav a{text-decoration:none;font-weight:600;font-size:.95rem}nav a:hover{text-decoration:underline;text-underline-offset:.4rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;background:var(--pink);color:#fff;text-decoration:none;border:2px solid transparent;border-radius:100px;font-weight:700;padding:.95rem 1.55rem;line-height:1.4;font-size:1rem;min-height:48px;transition:background .2s,transform .2s}.button:hover{background:var(--deep);transform:translateY(-2px)}.button.accent{background:var(--accent);color:var(--ink)}.button.accent:hover{background:#ffadd0}.button.small{font-size:.9rem;padding:.75rem 1.2rem}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:3rem 0 4.5rem}.lead{font-size:1.17rem;line-height:1.65;max-width:31rem;margin-bottom:1.7rem}.hero-note{font-size:.9rem;color:var(--muted);margin:1rem 0 0}.hero-art{position:relative;padding:1rem .5rem 1.5rem}.photo-frame{border-radius:46% 46% 1.5rem 1.5rem;background:var(--blush);overflow:hidden;transform:rotate(2deg);border:8px solid var(--blush)}.photo-frame img{width:100%;aspect-ratio:1/1.06;object-fit:cover;object-position:center}.art-caption{position:absolute;bottom:0;left:50%;transform:translateX(-50%) rotate(-3deg);width:max-content;max-width:95%;padding:.75rem 1.1rem;background:var(--paper);border:1px solid var(--ink);border-radius:.6rem;box-shadow:4px 4px 0 var(--deep);font-size:.9rem;font-weight:600}.art-caption span{color:#a52461;margin-right:.6rem}.trust-strip{background:var(--pink);color:#fff}.trust-inner{display:flex;justify-content:space-between;gap:1.5rem;padding:1.5rem 0;font-weight:600}.trust-inner span span{color:var(--blush);margin-right:.65rem}.care-section{padding:6rem 0}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;column-gap:3rem;margin-bottom:2.5rem;align-items:center}.section-heading .eyebrow{grid-column:1/-1}.section-heading h2{margin:0}.section-heading>p:last-child{font-size:1.1rem;max-width:29rem;margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.service-card{padding:2.5rem;border-radius:var(--radius)}.boarding{background:#ffe7f0}.service-number{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #c88ba8;padding-bottom:1.1rem;margin-bottom:1.7rem}.service-card h3{font-family:Georgia,serif;font-size:2.15rem;font-weight:500;letter-spacing:-.025em}.service-card p:not(.service-number){color:var(--muted)}.service-card ul{list-style:none;padding:0;margin:1.5rem 0 2rem}.service-card li{padding:.3rem 0}.service-card li::before{content:"✓";color:var(--pink);margin-right:.75rem;font-weight:bold}.service-card>a{font-weight:700;text-underline-offset:.4rem;display:flex;justify-content:space-between;gap:1rem}.meet-section{background:var(--pink);color:#fff}.meet-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;padding:5rem 0}.meet-title h2{max-width:20rem;font-size:clamp(3rem,5vw,4.75rem)}.handwritten{font-family:Georgia,serif;font-style:italic;font-size:1.5rem;color:var(--blush)}.meet-copy p{color:#ffebf3}.meet-copy .large-copy{font-size:1.45rem;line-height:1.5;color:white}.details-section{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;padding:6rem 0}.details-section>div:first-child>p:last-child{color:var(--muted);max-width:22rem}.details-list article{display:flex;align-items:flex-start;gap:1.2rem;padding:1.5rem 0;border-top:1px solid var(--line)}.details-list article:first-child{padding-top:0;border:0}.details-list article:last-child{padding-bottom:0}.detail-num{flex-shrink:0;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--blush);display:grid;place-items:center;font-weight:700}.details-list h3{font-size:1.1rem;margin-bottom:.6rem}.details-list p{margin:0;color:var(--muted)}.inquiry-section{background:#fce1ed;padding:5rem 0}.inquiry-inner{display:grid;grid-template-columns:.85fr 1.3fr;gap:4rem;align-items:start}.inquiry-copy>p:not(.eyebrow){font-size:1.1rem;max-width:22rem}.question-note{border-top:1px solid #cf8eac;margin-top:2.5rem;padding-top:1.5rem;max-width:22rem}.question-note h3{font-size:1.1rem;margin-bottom:.5rem}.question-note p{color:var(--muted)}.inquiry-form{background:var(--paper);padding:2.1rem;border-radius:var(--radius);box-shadow:0 8px 0 #e7b5cd}fieldset{padding:0;border:0;margin:0 0 1.4rem}legend{font-weight:700;font-size:.95rem;margin-bottom:.6rem}.radio-options{display:flex;gap:.5rem;flex-wrap:wrap}.radio-options label{position:relative}.radio-options input{position:absolute;opacity:0;width:1px;height:1px}.radio-options span{display:block;border:1px solid var(--line);padding:.65rem .85rem;border-radius:100px;font-weight:600;font-size:.9rem;cursor:pointer}.radio-options input:checked+span{background:var(--pink);color:white;border-color:var(--pink)}.radio-options input:focus-visible+span{outline:3px solid #a52461;outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}form label{display:block;font-size:.9rem;font-weight:600;margin-bottom:1.1rem}input:not([type=radio]):not([type=checkbox]),textarea{display:block;width:100%;min-width:0;border:1px solid #b6889d;border-radius:.55rem;padding:.8rem .85rem;background:#fff;color:var(--ink);font-size:1rem;font-weight:400;margin-top:.4rem;min-height:48px}input::placeholder,textarea::placeholder{color:#76566a;opacity:1}textarea{resize:vertical}.optional{font-weight:400}.field-note{font-size:.875rem;color:var(--muted);line-height:1.5;margin:.7rem 0 1.2rem}.inquiry-form>p:last-child{margin-bottom:0}.form-error{color:#9b241f;font-size:.95rem}.site-footer{padding:2rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}.footer-brand{font-family:Georgia,serif;font-size:1.3rem;text-decoration:none}.site-footer p{margin:0;color:var(--muted)}.site-footer>a:last-child{font-weight:600;text-underline-offset:.3rem}dialog{width:min(640px,calc(100% - 2rem));max-height:90vh;overflow:auto;border:0;border-radius:var(--radius);padding:2rem;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #52163455}dialog::backdrop{background:#681c46a6}dialog h2{font-size:2.4rem}.dialog-top{display:flex;justify-content:space-between;gap:1rem;align-items:center}.dialog-top .eyebrow{margin:0}.close-button{border:0;background:transparent;font-size:2rem;padding:0 .5rem;line-height:1.2;color:var(--ink);min-height:44px;min-width:44px}#inquiry-text{font-size:.95rem;line-height:1.6}.dialog-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.2rem}.text-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:.3rem;color:var(--ink);font-weight:600;padding:.8rem}.dialog-actions .button{padding:.8rem 1.1rem;font-size:.9rem}#copy-status{font-size:.95rem;margin:1rem 0 0;min-height:1.5rem}[hidden]{display:none!important}
@media(min-width:1500px){.hero{gap:5rem}}@media(max-width:1000px){.section-shell{width:calc(100% - 3rem)}.hero{gap:2rem}.meet-inner,.details-section,.inquiry-inner{gap:2.5rem}.site-header{width:calc(100% - 3rem)}nav{gap:1rem}.service-card{padding:2rem}.inquiry-form{padding:1.5rem}.trust-inner{font-size:.9rem}.hero-art{padding-inline:0}}
@media(max-width:760px){html{scroll-padding-top:1rem}section{scroll-margin-top:1rem}.section-shell,.site-header{width:calc(100% - 2rem)}.site-header{padding:1rem 0;gap:.75rem}.brand{font-size:1.1rem;gap:.5rem}.brand-sub{font-size:.95rem}.brand-icon{width:2.8rem;height:2.8rem;font-size:1.05rem}nav{display:none}.button.small{font-size:.875rem;padding:.65rem .9rem}.hero{grid-template-columns:1fr;padding:2rem 0 3rem;gap:2rem}.hero-copy{max-width:34rem}h1{font-size:clamp(3rem,10vw,4.7rem)}.hero-art{max-width:31rem;justify-self:center;width:100%}.photo-frame img{aspect-ratio:1.25}.trust-inner{flex-wrap:wrap;justify-content:center;gap:.65rem 1.5rem;text-align:center;font-size:.875rem;padding:1.2rem 0}.care-section,.details-section{padding:3.5rem 0}.section-heading{grid-template-columns:1fr;gap:1.3rem}.section-heading .eyebrow{margin:0}.section-heading h2 br{display:none}.service-grid,.meet-inner,.details-section,.inquiry-inner{grid-template-columns:1fr}.service-card{padding:1.7rem}.service-card h3{font-size:1.9rem}.meet-inner{padding:3.5rem 0;gap:1rem}.meet-title h2{max-width:none}.meet-copy .large-copy{font-size:1.25rem}.details-section{gap:1.5rem}.details-section h2 br{display:none}.inquiry-section{padding:3.5rem 0}.inquiry-inner{gap:1.5rem}.inquiry-copy h2 br{display:none}.question-note{margin-top:1.5rem;max-width:none}.site-footer{flex-wrap:wrap;justify-content:center;text-align:center}.site-footer .footer-brand{width:100%}.eyebrow{font-size:.875rem}.inquiry-copy>p:not(.eyebrow){max-width:none}}
@media(max-width:430px){.form-row{grid-template-columns:1fr;gap:0}.inquiry-form{padding:1.3rem}.radio-options{gap:.35rem}.radio-options span{padding:.6rem .7rem}.hero-note{font-size:.875rem}.art-caption{font-size:.875rem;padding:.65rem .8rem}.site-header .button.small{font-size:.875rem;padding:.6rem .7rem;min-height:44px}h1{font-size:3rem}dialog{padding:1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.boarding-story .service-card{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem}.boarding-story .service-card a{font-weight:700;text-underline-offset:.4rem;display:flex;justify-content:space-between;gap:1rem}.boarding-includes{border-left:1px solid #d4a0b8;padding-left:3rem;align-self:center}.boarding-includes h3{font-size:1.6rem}.boarding-includes ul{margin-bottom:0}.hours-card{background:#fce1ed;border-radius:1rem;padding:1.5rem;max-width:25rem;margin-top:2rem}.hours-card>span{display:block;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.hours-card strong{font-family:Georgia,serif;font-weight:500;font-size:2rem;display:block;margin:.25rem 0 .5rem}.hours-card p{margin:0;color:var(--muted);font-size:.95rem}.details-list a,.site-footer a{overflow-wrap:anywhere}.vaccination-check{display:flex;gap:.75rem;align-items:flex-start}.vaccination-check input{width:1.2rem;height:1.2rem;flex-shrink:0;margin:.15rem 0 0;accent-color:var(--pink)}.vaccination-check span{font-size:.95rem;line-height:1.5}.vaccination-reminder{background:#fce1ed;padding:1rem;border-radius:.6rem;font-size:.95rem}.reviews-section{padding:5rem 0 0}.reviews-section h2{max-width:50rem}.reviews-empty{border:1px solid var(--line);border-radius:1rem;padding:1.7rem;color:var(--muted);background:#ffedf5}.review-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.review-gallery:empty{display:none}.review-gallery figure{margin:0;background:#ffedf5;border:1px solid var(--line);border-radius:1rem;padding:1rem;min-width:0}.review-image-button{width:100%;border:0;background:white;padding:0;border-radius:.5rem;overflow:hidden}.review-image-button img{width:100%;height:auto}.review-gallery figcaption{margin-top:1rem;font-size:.95rem;line-height:1.6}.review-dialog{width:min(900px,calc(100% - 2rem))}.review-dialog h2{font-size:1.7rem;margin:0}.review-dialog .dialog-top{margin-bottom:1rem}#review-full-image{width:100%;height:auto}.site-footer{flex-wrap:wrap}
@media(max-width:1000px){nav{display:none}.boarding-story .service-card{gap:2rem}.boarding-includes{padding-left:2rem}.review-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.boarding-story .service-card{grid-template-columns:1fr;gap:1.5rem}.boarding-includes{padding-left:0;border-left:0;border-top:1px solid #d4a0b8;padding-top:1.5rem}.reviews-section{padding-top:3.5rem}.review-gallery{grid-template-columns:1fr}.hours-card{max-width:none}}
.reviews-intro{color:var(--muted);max-width:45rem;margin-bottom:2rem}.reviews-subtitle{font-size:1.5rem;font-family:Georgia,serif;font-weight:500}.review-gallery figure{align-self:start}.review-gallery figure h3{font-family:Georgia,serif;font-size:1.3rem;font-weight:500;margin:.2rem 0 1rem}.review-image-button{display:block;text-align:left}.review-image-button img{width:100%;height:23rem;object-fit:cover;object-position:top}.review-screenshot-label{display:block;padding:.7rem .8rem;font-size:.875rem;font-weight:600;color:var(--pink);border-top:1px solid var(--line)}.review-transcript{margin-top:1rem}.review-transcript summary{font-size:.95rem;font-weight:600;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem}.review-transcript summary::before{content:'+';font-size:1.2rem;color:var(--pink)}.review-transcript[open] summary::before{content:'−'}.review-transcript summary:focus-visible{outline:3px solid var(--pink);outline-offset:3px}.review-attribution{font-size:.875rem;color:var(--muted);font-weight:600;margin:1rem 0 .5rem}.review-transcript blockquote{margin:0 0 1rem;font-size:1rem;line-height:1.65}.reviews-controls{display:flex;justify-content:center;margin-top:2rem}.photo-consent{border-top:1px solid var(--line);padding-top:1rem;margin:1.2rem 0 0}.photo-consent legend{float:left;margin:0 0 .8rem;line-height:1.5}.consent-options{clear:both;display:grid;grid-template-columns:1fr 1fr}.consent-options label{margin-bottom:0}.consent-options span{border-radius:.6rem;height:100%;padding:.8rem;line-height:1.4}.photo-consent .field-note{margin-bottom:.5rem}.happy-customer-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:2rem 0 3rem}.happy-customer-gallery figure{margin:0}.happy-customer-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:1rem}.happy-customer-gallery figcaption{padding:.7rem 0;font-weight:600}.meet-copy{max-width:42rem}.meet-title{align-self:start;position:sticky;top:3rem}
@media(max-width:760px){.meet-title{position:static}.review-image-button img{height:26rem}.happy-customer-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.consent-options{grid-template-columns:1fr}}
.service-area{font-size:1rem;font-weight:600;color:var(--pink);margin-top:-.7rem;margin-bottom:1.3rem}.photo-frame.real-photo{border-radius:2rem}.photo-frame.real-photo img{aspect-ratio:4/5;object-position:center}.gallery-section{padding:5rem 0 0}.gallery-section h2{max-width:50rem}.gallery-section .happy-customer-gallery{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:0}.gallery-section .happy-customer-gallery figure{width:min(100%,32rem)}.gallery-photo-button{display:block;width:100%;padding:0;border:0;background:none;border-radius:1rem;overflow:hidden}.gallery-section .happy-customer-gallery img{aspect-ratio:4/5;object-position:center}.addons{margin-top:2rem}.addons>h3{font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.addon-grid article{border:1px solid var(--line);border-radius:1rem;padding:1.5rem}.addon-grid h4{font-size:1.05rem;margin:0 0 .65rem}.addon-price{font-size:1.5rem;font-family:Georgia,serif;margin:0}.addon-grid p:last-child{margin-bottom:0}.addon-choices{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.addon-choices legend{float:left;margin:0 0 .8rem}.addon-choices label:first-of-type{clear:both}.addon-check{display:flex;align-items:center;gap:.75rem}.addon-check input{width:1.2rem;height:1.2rem;flex-shrink:0;accent-color:var(--pink)}select{display:block;width:100%;min-height:48px;font:inherit;font-size:1rem;font-weight:400;color:var(--ink);background:white;border:1px solid #b6889d;border-radius:.55rem;padding:.8rem .65rem;margin-top:.4rem}select:focus-visible{outline:3px solid var(--pink);outline-offset:5px}
@media(max-width:760px){.gallery-section{padding-top:3.5rem}.gallery-section .happy-customer-gallery figure{width:100%;max-width:32rem}.addon-grid{grid-template-columns:1fr}.photo-frame.real-photo img{aspect-ratio:4/5}}
.boarding-story .service-card .boarding-price{font-family:Georgia,serif;font-size:2.7rem;line-height:1.15;color:var(--pink);margin:0 0 1.2rem}.boarding-price span{font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-size:1rem;font-weight:600;color:var(--muted)}.family-note{margin:1.2rem 0 0;color:var(--muted);max-width:50rem}.dog-count{max-width:18rem}
.hero-art{width:min(100%,24rem);justify-self:center;padding:.5rem 0 1.5rem}.photo-frame.real-photo{transform:none}.photo-frame.real-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.hero-art{max-width:22rem;width:100%}.photo-frame.real-photo img{aspect-ratio:auto}}
