:root{--ink:#20322d;--forest:#29463d;--cream:#f4efe5;--paper:#fbf9f4;--gold:#cf9b57;--line:#d9d7ce;--sans:'DM Sans',sans-serif;--serif:'Fraunces',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans)}a{color:inherit;text-decoration:none}.announcement{height:34px;background:var(--ink);color:white;text-align:center;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:10px}.announcement span{color:var(--gold)}.site-header{height:84px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(251,249,244,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(32,50,45,.08)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:15px}.brand-mark svg{width:19px;height:19px;display:block}.brand strong,.brand small{display:block}.brand strong{font-family:var(--serif);font-weight:600;font-size:18px}.brand small{text-transform:uppercase;font-size:8px;letter-spacing:.18em;margin-top:2px}.site-header nav{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:600}.nav-cta{border:1px solid var(--ink);padding:12px 21px;border-radius:999px}.menu{display:none;border:0;background:none}.hero{min-height:calc(100vh - 118px);position:relative;color:white;display:flex;align-items:center;padding:9vw 8vw;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/hero.jpg') center 55%/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,30,25,.82) 0%,rgba(15,30,25,.47) 45%,rgba(15,30,25,.08) 75%)}.hero-copy{position:relative;max-width:740px;z-index:1}.eyebrow{text-transform:uppercase;font-weight:700;font-size:10px;letter-spacing:.19em;margin:0 0 22px;color:#e7d1af}.eyebrow.dark{color:#8f6a3c}.hero h1{font-family:var(--serif);font-size:clamp(54px,7vw,98px);line-height:.92;font-weight:500;letter-spacing:-.035em;margin:0}.hero h1 em{font-weight:500;color:#ecd7b6}.lead{font-size:18px;line-height:1.65;max-width:570px;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;border-radius:3px;padding:16px 25px;font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.button.light{background:white;color:var(--ink)}.button.dark{background:var(--ink);color:white}.button.gold{background:var(--gold);color:#17241f;width:100%;justify-content:space-between}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);padding:6px 0}.text-link span,.plain-link span{margin-left:10px}.text-link.dark{border-color:var(--ink)}.hero-note{position:absolute;right:4vw;bottom:4vw;background:rgba(245,241,231,.94);color:var(--ink);padding:18px 24px;min-width:180px}.hero-note span,.hero-note strong{display:block}.hero-note span{text-transform:uppercase;font-size:8px;letter-spacing:.18em}.hero-note strong{font:500 18px var(--serif);margin-top:5px}.section-pad{padding:110px 7vw}.intro{text-align:center;max-width:1030px;margin:auto}.intro h2,.section-head h2,.about h2,.process h2,.inquiry h2,dialog h2{font:500 clamp(39px,5vw,68px)/1.06 var(--serif);letter-spacing:-.025em;margin:0}.intro>p:not(.eyebrow){max-width:670px;margin:28px auto 45px;line-height:1.8;color:#62706b}.trust-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.08em}.puppies{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px}.puppy-grid{display:grid;grid-template-columns:1fr 1fr .82fr;gap:22px}.puppy-card{background:white}.photo{height:390px;background-size:cover;background-position:center;position:relative}.photo.bernese{background-image:url('assets/puppy-bernese.jpg');background-position:center 30%}.photo.doodle{background-image:url('assets/puppy-doodle.jpg');background-position:center 35%}.badge{position:absolute;top:18px;left:18px;background:white;padding:8px 11px;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.1em}.card-copy{padding:22px;display:flex;justify-content:space-between;align-items:center}.card-copy h3,.waitlist-card h3{font:500 27px var(--serif);margin:0 0 5px}.card-copy p{margin:0;color:#78827f;font-size:12px}.arrow{font-size:20px}.waitlist-card{background:var(--forest);color:white;padding:44px 36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.waitlist-card p:not(.eyebrow){line-height:1.7;color:#d7e0dc;margin-bottom:30px}.waitlist-card .button{background:#f1e6d2;color:var(--ink)}.demo-note{font-size:11px;color:#7b827e;margin:17px 0 0}.breeds{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:white}.breeds article{padding:90px 7vw;display:grid;grid-template-columns:60px 1fr;gap:20px;border-right:1px solid rgba(255,255,255,.14)}.breed-number{font:500 17px var(--serif);color:var(--gold)}.breeds h2{font:500 clamp(36px,4vw,58px)/1.05 var(--serif);margin:0 0 25px}.breeds p:not(.eyebrow){color:#d2ddd9;line-height:1.75}.plain-link{border:0;border-bottom:1px solid rgba(255,255,255,.4);background:none;color:white;padding:12px 0 7px;font:700 11px var(--sans);text-transform:uppercase;letter-spacing:.09em;cursor:pointer}.about{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:9vw}.about-image{height:650px;background:url('assets/about.jpg') center 30%/cover no-repeat;display:grid;place-items:center}.image-label{border:1px dashed rgba(255,255,255,.8);color:white;background:rgba(32,50,45,.22);padding:16px 22px;font-size:12px}.about-copy>p:not(.eyebrow,.placeholder){color:#61716b;line-height:1.8;margin:30px 0}.about blockquote{margin:30px 0 8px;border-left:2px solid var(--gold);padding:8px 0 8px 22px;font:500 22px/1.45 var(--serif)}.placeholder{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8a8f8d}.process{background:#eee9de}.centered{justify-content:center;text-align:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid #c9c7bf}.steps article{padding:34px 35px 0 0}.steps b{font:500 14px var(--serif);color:#9d784c}.steps h3{font:500 24px var(--serif);margin:30px 0 12px}.steps p{font-size:13px;color:#68736f;line-height:1.7}.inquiry{background:var(--ink);color:white;padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.inquiry-intro>p:not(.eyebrow){max-width:480px;color:#cbd7d3;line-height:1.8}.contact-placeholder{margin-top:45px;display:grid;grid-template-columns:70px 1fr;gap:12px 20px;font-size:12px}.contact-placeholder span{text-transform:uppercase;font-size:9px;letter-spacing:.12em;color:#9eaca7}.contact-placeholder strong{font-weight:500}.inquiry form{background:#f8f5ed;color:var(--ink);padding:42px}.inquiry label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;display:block;margin-bottom:20px}.inquiry input,.inquiry select,.inquiry textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #bfc3bc;border-radius:0;padding:13px 0;font:400 14px var(--sans);color:var(--ink);outline:none;margin-top:3px}.inquiry textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-note{font-size:10px;color:#818a86;text-align:center}.form-success{background:#dce9df;padding:15px;margin-top:15px;font-size:12px}.form-success strong,.form-success span{display:block}.form-success span{margin-top:4px;color:#53655d}footer{padding:55px 7vw;background:#182722;color:#e6ece9;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}footer p,footer small{color:#aebcb7;font-size:11px}footer>div:not(.brand){display:flex;justify-content:end;gap:24px;font-size:12px}footer>small{grid-column:1/-1;border-top:1px solid #33463f;padding-top:25px}.footer-brand .brand-mark{color:var(--gold)}dialog{max-width:660px;width:calc(100% - 40px);padding:48px;border:0;box-shadow:0 20px 80px rgba(0,0,0,.25);color:var(--ink)}dialog::backdrop{background:rgba(17,30,25,.75)}.dialog-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:30px}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:30px 0}.fact-grid div{background:var(--paper);padding:18px}.fact-grid span,.fact-grid strong{display:block}.fact-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#7b8480}.fact-grid strong{font:500 17px var(--serif);margin-top:4px}
@media(max-width:850px){.site-header{height:70px;padding:0 20px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.menu{display:block}.menu span{display:block;width:24px;height:1px;background:var(--ink);margin:6px}.hero{min-height:720px;padding:100px 24px}.hero-shade{background:linear-gradient(90deg,rgba(15,30,25,.8),rgba(15,30,25,.25))}.hero-note{right:20px;bottom:20px}.section-pad{padding:75px 22px}.trust-row{grid-template-columns:1fr 1fr;gap:20px}.puppy-grid{grid-template-columns:1fr}.photo{height:360px}.waitlist-card{min-height:350px}.breeds{grid-template-columns:1fr}.breeds article{padding:70px 25px}.about{grid-template-columns:1fr}.about-image{height:450px}.steps{grid-template-columns:1fr 1fr}.inquiry{grid-template-columns:1fr;padding:75px 22px}.inquiry form{padding:28px 20px}footer{grid-template-columns:1fr}footer>div:not(.brand){justify-content:start;flex-wrap:wrap}footer>small{grid-column:1}.section-head{align-items:start;gap:25px;flex-direction:column}.section-head.centered{align-items:center}.breeds article{grid-template-columns:40px 1fr}}@media(max-width:520px){.hero h1{font-size:53px}.hero-copy .lead{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-note{display:none}.intro h2,.section-head h2,.about h2,.process h2,.inquiry h2{font-size:40px}.trust-row{grid-template-columns:1fr}.photo{height:330px}.steps{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.fact-grid{grid-template-columns:1fr}}
.litters{background:var(--paper)}.section-summary{max-width:430px;color:#68736f;line-height:1.7;font-size:13px}.litter-list{border-top:1px solid var(--line)}.litter-list article{display:grid;grid-template-columns:170px 1.3fr .6fr .6fr auto;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.litter-type{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8f6a3c;font-weight:700}.litter-main{display:flex;align-items:center;gap:16px}.parent-photos{display:flex;gap:8px;flex:0 0 auto}.parent-photos figure{margin:0}.parent-photos figcaption{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#8f6a3c;font-weight:700;text-align:center;margin-top:4px}.litter-parent-photo{display:block;width:70px;height:84px;object-fit:cover;object-position:center 32%;border-radius:4px}.litter-list h3{font:500 24px var(--serif);margin:0 0 4px}.litter-list p{font-size:12px;color:#77817d;margin:0}.litter-list span,.litter-list strong{display:block}.litter-list span{text-transform:uppercase;font-size:8px;letter-spacing:.12em;color:#8a918e}.litter-list strong{font-size:12px;margin-top:5px}.litter-list a{font-size:11px;font-weight:700;border-bottom:1px solid var(--ink);padding:7px 0}.litter-note{margin-top:22px;background:var(--cream);padding:22px 25px;display:flex;align-items:center;gap:20px;font-size:12px}.litter-note span{color:#6d7773}.litter-note a{margin-left:auto;font-weight:700}@media(max-width:850px){.litter-list article{grid-template-columns:1fr 1fr}.litter-list article>div:nth-child(2),.litter-list article>a{grid-column:1/-1}.litter-list article>a{justify-self:start}.litter-note{align-items:flex-start;flex-direction:column}.litter-note a{margin-left:0}}@media(max-width:520px){.litter-list article{grid-template-columns:1fr}.litter-list article>div:nth-child(2),.litter-list article>a{grid-column:auto}.litter-main{align-items:flex-start;flex-direction:column}.litter-parent-photo{width:104px;height:116px}}
/* Riverbank brand mark: a grounded bank, flowing water, and a tree silhouette. */
.brand-mark{width:40px;height:40px;background:var(--forest);overflow:hidden}
.brand-mark svg{width:30px;height:30px}
.riverbank-land{fill:var(--gold)}
.riverbank-water{fill:none;stroke:var(--paper);stroke-width:1.7;stroke-linecap:round}
.riverbank-tree{fill:var(--paper);stroke:var(--paper);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.footer-brand .brand-mark{background:transparent}
.footer-brand .riverbank-water,.footer-brand .riverbank-tree{stroke:#e6ece9;fill:#e6ece9}
.footer-brand .riverbank-water{fill:none}
@media(max-width:600px){.site-header .brand-mark{width:38px;height:38px;flex:0 0 38px}.site-header .brand-mark svg{width:28px;height:28px}}

/* Meet our dogs gallery */
.dogs{background:var(--paper)}
.dogs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dogs-grid img{width:100%;height:340px;object-fit:cover;display:block}
@media(max-width:850px){.dogs-grid{grid-template-columns:1fr 1fr}.dogs-grid img{height:250px}}
@media(max-width:520px){.dogs-grid{grid-template-columns:1fr 1fr;gap:8px}.dogs-grid img{height:170px}}

/* Deposit panel + dialog */
.deposit-panel{margin-top:22px;background:var(--forest);color:white;padding:44px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.deposit-panel h3{font:500 30px var(--serif);margin:0 0 8px}
.deposit-panel p:not(.eyebrow){margin:0;color:#d7e0dc;line-height:1.7;max-width:520px}
.deposit-panel .eyebrow{margin-bottom:12px}
.deposit-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}
.deposit-amount{font:500 40px var(--serif);color:#ecd7b6}
.deposit-label{text-transform:uppercase;font-size:9px;letter-spacing:.16em;color:#b9c6c1;margin-bottom:14px}
#deposit-dialog .button{width:100%;margin-top:6px;justify-content:space-between}
#deposit-dialog label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;display:block;margin-bottom:16px}
#deposit-dialog input,#deposit-dialog select,#deposit-dialog textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #bfc3bc;border-radius:0;padding:11px 0;font:400 14px var(--sans);color:var(--ink);outline:none;margin-top:3px}
.deposit-copy{color:#61716b;line-height:1.7;margin:18px 0 24px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form-error{background:#f0d9d2;padding:15px;margin-top:15px;font-size:12px}
.form-error strong,.form-error span{display:block}
.form-error span{margin-top:4px;color:#7a4a3c}
@media(max-width:850px){.deposit-panel{flex-direction:column;align-items:flex-start}.deposit-action{align-items:flex-start}}

/* Owner page */
.owner-body{background:var(--paper)}
.owner{max-width:1030px;margin:auto}
.owner h2{font:500 clamp(34px,4vw,52px)/1.06 var(--serif);letter-spacing:-.02em;margin:0 0 30px}
.owner-gate p:not(.eyebrow){color:#61716b;line-height:1.7;max-width:460px}
.gate-row{display:flex;gap:12px;margin-top:22px;max-width:460px}
.gate-row input{flex:1;border:1px solid var(--line);background:white;padding:14px 16px;font:400 15px var(--sans);color:var(--ink);outline:none}
.owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:10px}
.owner-card{background:var(--cream);padding:36px}
.owner-card h3{font:500 25px var(--serif);margin:0 0 20px}
.owner-card label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;display:block;margin-bottom:18px}
.owner-card input{width:100%;background:white;border:1px solid var(--line);padding:12px 14px;font:400 14px var(--sans);color:var(--ink);outline:none;margin-top:6px}
.owner-inbox-card{grid-column:1/-1}
.owner-note{font-size:12px;color:#6d7773;line-height:1.7;margin:0 0 18px}
.inbox-item{background:white;padding:18px 20px;margin-bottom:10px}
.inbox-item header{display:flex;justify-content:space-between;margin-bottom:10px}
.inbox-item header b{font:500 17px var(--serif)}
.inbox-item header time{font-size:11px;color:#8a918e}
.inbox-item div{display:grid;grid-template-columns:120px 1fr;gap:14px;font-size:12px;padding:3px 0}
.inbox-item span{text-transform:uppercase;font-size:9px;letter-spacing:.1em;color:#7b8480}
.inbox-empty{font-size:13px;color:#7b8480}
@media(max-width:850px){.owner-grid{grid-template-columns:1fr}.gate-row{flex-direction:column}}

.uno{background:var(--paper);display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center}.uno-photo img{width:100%;height:620px;object-fit:cover;object-position:center 32%;display:block}.uno-copy h2{font:500 clamp(48px,7vw,88px)/1 var(--serif);letter-spacing:-.03em;margin:0 0 24px}.uno-copy>p:not(.eyebrow){color:#61716b;line-height:1.8;max-width:470px;margin:0 0 30px}@media(max-width:850px){.uno{grid-template-columns:1fr}.uno-photo img{height:520px}}@media(max-width:520px){.uno-photo img{height:430px}.uno{gap:42px}}

.featured-parents{background:#eee9de}.featured-parents .section-head{margin-bottom:42px}.featured-parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1040px;margin:0 auto}.featured-parent-grid figure{margin:0;background:white}.featured-parent-grid img{width:100%;height:520px;display:block;object-fit:cover;object-position:center 30%}.featured-parent-grid figcaption{padding:22px 24px}.featured-parent-grid figcaption span,.featured-parent-grid figcaption strong,.featured-parent-grid figcaption small{display:block}.featured-parent-grid figcaption span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#8f6a3c;font-weight:700}.featured-parent-grid figcaption strong{font:500 25px var(--serif);margin-top:6px}.featured-parent-grid figcaption small{font-size:11px;color:#68736f;margin-top:4px}.featured-parent-note{max-width:1040px;margin:22px auto 0;background:var(--paper);padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:30px}.featured-parent-note p{margin:0;color:#61716b;line-height:1.65}.featured-parent-note p strong{color:var(--ink)}@media(max-width:850px){.featured-parent-grid img{height:420px}}@media(max-width:520px){.featured-parent-grid{grid-template-columns:1fr 1fr;gap:8px}.featured-parent-grid img{height:280px}.featured-parent-grid figcaption{padding:16px 14px}.featured-parent-grid figcaption strong{font-size:19px}.featured-parent-note{align-items:flex-start;flex-direction:column}}

.site-header .puppy-logo{overflow:hidden;border:2px solid var(--gold);background:white}.site-header .puppy-logo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 40%;border-radius:50%}

.breeding-stock{background:var(--cream)}.stock-groups{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stock-group{background:var(--paper);padding:30px}.stock-type{margin:0 0 18px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8f6a3c;font-weight:700}.stock-group h3{font:500 28px var(--serif);margin:0 0 16px}.stock-names{display:flex;flex-wrap:wrap;gap:8px}.stock-names span{border:1px solid var(--line);padding:10px 14px;background:white;font:500 17px var(--serif)}.featured-stock{grid-row:span 2}.stock-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stock-profile{background:white;border:1px solid var(--line);margin-bottom:10px}.stock-profile img{width:100%;height:260px;object-fit:cover;object-position:center 28%;display:block}.stock-profile strong{display:block;padding:15px;font:500 22px var(--serif)}@media(max-width:850px){.stock-groups{grid-template-columns:1fr}.featured-stock{grid-row:auto}.stock-profile img{height:300px}}@media(max-width:520px){.stock-split{grid-template-columns:1fr 1fr;gap:8px}.stock-group{padding:22px}.stock-profile img{height:210px}.stock-profile strong{font-size:19px;padding:12px}.stock-names span{font-size:15px}}

.litter-calendar{background:var(--paper)}.calendar-shell{max-width:900px;margin:0 auto;background:white;border:1px solid var(--line);padding:28px}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.calendar-toolbar h3{font:500 30px var(--serif);margin:0}.calendar-toolbar button{width:44px;height:44px;border:1px solid var(--line);background:var(--paper);font-size:20px;color:var(--ink)}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{text-align:center;text-transform:uppercase;font-size:8px;letter-spacing:.1em;color:#78827f}.calendar-day{aspect-ratio:1;border:1px solid #e6e2d9;background:var(--paper);color:var(--ink);position:relative;text-align:left;padding:9px;font:500 13px var(--sans)}.calendar-day.blank{border:0;background:transparent}.calendar-day.has-event{background:#efe1ca;border-color:var(--gold)}.calendar-day.has-event i{width:7px;height:7px;border-radius:50%;background:var(--forest);position:absolute;bottom:9px;left:9px}.calendar-day.selected{outline:2px solid var(--ink);outline-offset:1px}.calendar-detail{margin-top:18px;padding:24px;background:var(--cream)}.calendar-detail span,.calendar-detail strong{display:block}.calendar-detail span{text-transform:uppercase;font-size:9px;letter-spacing:.12em;color:#8f6a3c;font-weight:700}.calendar-detail strong{font:500 24px var(--serif);margin-top:7px}.calendar-detail p{color:#68736f;line-height:1.65;margin:10px 0}.calendar-detail a{font-size:11px;font-weight:700;border-bottom:1px solid var(--ink)}@media(max-width:520px){.calendar-shell{padding:16px}.calendar-toolbar h3{font-size:25px}.calendar-day{padding:6px;font-size:11px}.calendar-day.has-event i{bottom:6px;left:6px}.calendar-detail{padding:20px}}
