:root{--ink:#21342f;--cream:#fffaf0;--paper:#f5ead6;--gold:#d79649;--rust:#a9502d;--forest:#234d43;--mint:#d8e4d9;--white:#fff;--line:rgba(33,52,47,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 1rem/1.65 "DM Sans",sans-serif}h1,h2,h3{font-family:"Fraunces",serif;line-height:1.04;margin:0}h2{font-size:clamp(2.25rem,5vw,4.4rem);letter-spacing:-.04em}h3{font-size:1.45rem}p{margin:0 0 1rem}a{color:inherit}.skip-link{position:fixed;top:-5rem;left:1rem;background:#fff;padding:.8rem;z-index:20}.skip-link:focus{top:1rem}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);background:rgba(255,250,240,.94);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;line-height:1}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--rust);color:#fff;font:700 1rem "Fraunces"}.brand strong,.brand small{display:block}.brand strong{font:700 1.1rem "Fraunces"}.brand small{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;margin-top:.3rem}.site-header nav{display:flex;align-items:center;gap:2rem}.site-header nav a{text-decoration:none;font-weight:600;font-size:.92rem}.nav-cta{padding:.75rem 1.15rem;border:1px solid var(--ink);border-radius:99px}.menu-button{display:none;background:none;border:1px solid var(--ink);border-radius:99px;padding:.55rem .9rem}.hero{height:calc(100vh - 86px);min-height:650px;position:relative;overflow:hidden;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,45,40,.8) 0%,rgba(24,45,40,.4) 42%,rgba(24,45,40,.03) 70%)}.hero-copy{position:absolute;left:clamp(1.25rem,7vw,7.5rem);top:50%;transform:translateY(-50%);width:min(650px,82vw)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:.75rem;margin-bottom:1rem}.eyebrow.dark{color:var(--rust)}.hero h1{font-size:clamp(3.25rem,7.2vw,7.25rem);letter-spacing:-.055em}.hero h1 em{color:#ffd596;font-weight:600}.hero-copy>p:not(.eyebrow){max-width:530px;font-size:1.08rem;margin:1.5rem 0}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;border-radius:99px;padding:.9rem 1.35rem;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;font:700 .95rem "DM Sans"}.button.primary{background:var(--rust);color:#fff}.button.secondary{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(5px)}.hero-note{position:absolute;right:clamp(1rem,4vw,4rem);bottom:2rem;background:rgba(255,250,240,.92);color:var(--ink);padding:1rem 1.3rem;border-radius:12px;font-size:.85rem}.hero-note span{display:block;font:700 1.2rem "Fraunces"}.section-pad{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,7vw,7.5rem)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}.intro-copy{font-size:1.15rem;max-width:620px;padding-top:2rem}.soft-note{font-size:.9rem;border-left:3px solid var(--gold);padding-left:1rem;color:#65746f}.puppies{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3rem}.section-heading>p{max-width:370px;color:#61706b}.section-heading.centered{justify-content:center;text-align:center}.puppy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.puppy-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 14px 45px rgba(43,53,48,.08)}.photo-slot{height:330px;position:relative;display:flex;align-items:end;padding:1.2rem;background:linear-gradient(145deg,#ebd1af,#f6ead7);color:rgba(33,52,47,.65)}.photo-slot:before{content:"";position:absolute;width:140px;height:140px;border:2px dashed rgba(33,52,47,.28);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-55%)}.photo-slot span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-weight:600}.photo-slot b{margin-left:auto;background:rgba(255,255,255,.88);padding:.45rem .75rem;border-radius:99px;font-size:.75rem}.photo-slot.tricolor{background:linear-gradient(145deg,#c8d8d0,#eef1eb)}.photo-slot.ruby{background:linear-gradient(145deg,#ddb09a,#f3dfce)}.card-copy{padding:1.5rem}.card-copy .status{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--rust);font-weight:700}.card-copy h3{margin:.6rem 0}.card-copy p{color:#71807b}.card-copy a{font-weight:700;text-decoration:none}.care{background:var(--forest);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.care-copy p:not(.eyebrow){color:#d9e4df;max-width:530px;margin-top:1.5rem}.care-list>div{padding:1.5rem 0;border-bottom:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:50px 1fr;column-gap:1rem}.care-list span{grid-row:1/3;color:#efbd7c;font-weight:700}.care-list p{grid-column:2;color:#cbd9d4;margin:.5rem 0}.steps{list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:item}.steps li{border-top:1px solid var(--line);padding-top:1.5rem}.steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mint);margin-bottom:2rem;font-weight:700}.steps p{color:#64736e}.inquiry{background:var(--rust);color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.inquiry-intro>p:not(.eyebrow){color:#f7ddd1;margin-top:1.5rem}.inquiry blockquote{font:600 1.35rem/1.35 "Fraunces";border-left:2px solid #f4be7b;margin:2.5rem 0 0;padding-left:1.2rem}.inquiry form{background:#fff;color:var(--ink);border-radius:20px;padding:clamp(1.4rem,4vw,3rem);display:grid;gap:1rem}.inquiry label{font-weight:700;font-size:.85rem}.inquiry input,.inquiry select,.inquiry textarea{display:block;width:100%;margin-top:.45rem;border:1px solid #c8cfcb;border-radius:9px;background:#fff;padding:.85rem;font:inherit;color:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.button.light{width:max-content;background:var(--forest)}.privacy{font-size:.75rem;color:#73807c}.form-result{background:#edf3ee;border-radius:10px;padding:1rem}.form-result textarea{font-size:.8rem}#copy-message{border:0;background:var(--ink);color:#fff;padding:.65rem 1rem;border-radius:99px;font-weight:700;cursor:pointer}footer{padding:3rem clamp(1.25rem,7vw,7.5rem);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.footer-small{grid-column:2;font-size:.8rem;color:#6e7b77}.footer-brand{grid-row:1/3}@media(max-width:850px){.menu-button{display:block}.site-header nav{display:none;position:absolute;top:76px;left:1rem;right:1rem;background:#fff;padding:1.25rem;border-radius:15px;box-shadow:0 15px 40px rgba(0,0,0,.15);flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.hero{height:760px}.hero>img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(24,45,40,.82),rgba(24,45,40,.25))}.hero-note{display:none}.intro,.care,.inquiry{grid-template-columns:1fr}.puppy-grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.section-heading{align-items:start;flex-direction:column}}@media(max-width:560px){.brand small{display:none}.hero{min-height:650px;height:calc(100svh - 86px)}.hero-copy{top:auto;bottom:2rem;transform:none}.hero h1{font-size:clamp(2.9rem,14vw,4.25rem)}.puppy-grid,.steps,.form-row{grid-template-columns:1fr}.photo-slot{height:260px}footer{grid-template-columns:1fr}.footer-small{grid-column:1}.footer-brand{grid-row:auto}.section-pad{padding-top:4.5rem;padding-bottom:4.5rem}}

/* Family reviews */
.reviews{background:#fffaf0}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.review-card{margin:0;display:flex;flex-direction:column;justify-content:space-between;min-height:250px;padding:1.8rem;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px rgba(43,53,48,.05)}
.review-card blockquote{margin:0 0 1.8rem;font:600 clamp(1.15rem,1.5vw,1.38rem)/1.4 "Fraunces",serif}
.review-card figcaption{border-top:1px solid var(--line);padding-top:.9rem;display:flex;flex-direction:column;gap:.1rem;font-size:.9rem}
.review-card figcaption span{color:#63716b}
@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr}.review-card{min-height:0}}

.hero-note{max-width:300px;line-height:1.45}.hero-note small{display:block;margin-top:.45rem;font-size:.78rem}

.parents{background:#fff}.parents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.parents-grid figure{margin:0;overflow:hidden;border-radius:18px;background:var(--paper)}.parents-grid img{display:block;width:100%;height:clamp(260px,32vw,440px);object-fit:cover;object-position:center 54%}.parents-grid figcaption{padding:.85rem 1.15rem;font-weight:600}@media(max-width:650px){.parents-grid{grid-template-columns:1fr}.parents-grid img{height:300px}}

/* Cavalier photo backgrounds */
.hero-slides{position:absolute;inset:0;overflow:hidden}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroPhotos 30s infinite}.hero-slide:nth-child(1){animation-delay:0s}.hero-slide:nth-child(2){animation-delay:6s}.hero-slide:nth-child(3){animation-delay:12s}.hero-slide:nth-child(4){animation-delay:18s}.hero-slide:nth-child(5){animation-delay:24s}@keyframes heroPhotos{0%{opacity:0}3%{opacity:1}19%{opacity:1}22%,100%{opacity:0}}.hero-shade{z-index:1}.hero-copy,.hero-note{z-index:2}.hero-slide:nth-child(1){background-position:55% center}.hero-slide:nth-child(5){background-position:55% center}@media(max-width:560px){.hero-slide{background-position:63% center}.hero-slide:nth-child(1){background-position:61% center}.hero-slide:nth-child(5){background-position:58% center}}@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0}.hero-slide:first-child{opacity:1}}
