/* DobbKins public site. Kept separate from the staff workspace. */
:root{--paper:#fbf8f3;--white:#fffdfb;--ink:#34454e;--muted:#66717a;--coral:#976275;--coral-soft:#f8e1e7;--sage:#e9edf0;--line:#dededb;--radius:22px;--shadow:0 18px 46px #34454e0a;--boy:#d8e9f5;--boy-line:#bad4e7;--girl:#f8e1e7;--girl-line:#e7bdca}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body.dialog-open{overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(3rem,6.3vw,5.8rem)}h2{font-size:clamp(2.15rem,4vw,3.6rem)}h3{font-size:1.65rem}p+p{margin-top:1em}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a,button,input,textarea,select,summary{outline-offset:5px}:focus-visible{outline:3px solid var(--coral)}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}button{color:inherit}button svg{pointer-events:none}[hidden]{display:none!important}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.eyebrow{font-size:.72rem;line-height:1.5;letter-spacing:.17em;font-weight:750;text-transform:uppercase;color:var(--coral)}.muted{color:var(--muted)}.lede{font-size:1.12rem;line-height:1.75;color:var(--muted);max-width:48ch}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 23px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--white);text-decoration:none;font-size:.88rem;font-weight:650;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#40534d;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:#a9b2a7}.button.secondary:hover{background:#eceee4}.button.coral{background:var(--coral);border-color:var(--coral)}.button.coral:hover{background:#903c2e}.text-link{display:inline-flex;gap:12px;align-items:center;font-size:.87rem;font-weight:650;min-height:44px}.text-link::after{content:"↗";font-size:1.15rem;text-decoration:none}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.skip-link{position:fixed;z-index:200;top:12px;left:12px;transform:translateY(-160%);background:var(--ink);color:white;padding:12px 20px;border-radius:8px}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:50;background:#fbf7eff5;border-bottom:1px solid #263b3814;backdrop-filter:blur(14px)}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.brand img{width:43px;height:43px;object-fit:contain}.brand-name{font-family:Georgia,serif;font-size:2rem;letter-spacing:-.055em;line-height:1.05}.brand-subtitle{display:block;font-size:.58rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-top:6px}.primary-nav{display:flex;align-items:center;gap:25px}.primary-nav>a{font-size:.83rem;font-weight:600;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;position:relative}.primary-nav>a:not(.button):hover,.primary-nav>a[aria-current="page"]{color:var(--coral)}.primary-nav>a[aria-current="page"]::after{content:"";position:absolute;bottom:5px;left:0;right:0;height:2px;background:currentColor}.primary-nav>a.button{min-height:42px;padding:10px 20px;color:var(--white)}.menu-toggle{display:none;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:var(--white);min-height:44px;font-size:.8rem;font-weight:650;gap:8px;align-items:center}.section{padding-block:86px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}.section-heading h2{margin-top:12px}.section-heading>.lede{max-width:33ch;font-size:.97rem}.section-heading .text-link{flex-shrink:0}.litter-group+.litter-group{margin-top:48px}.litter-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.litter-heading h3{font-size:1.5rem}.litter-dates{display:flex;gap:9px 22px;flex-wrap:wrap;margin-top:11px;color:var(--muted);font-size:.85rem}.litter-dates span{display:inline-flex;align-items:center;gap:7px}.litter-dates .ready-date{color:#376344;font-weight:650}.litter-count{font-size:.72rem;font-weight:650;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:5px 12px}.puppy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.puppy-card{display:block;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.puppy-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #273b3814}.puppy-card-media{aspect-ratio:1/1;position:relative;background:#e9e9db;overflow:hidden}.puppy-card-media img{width:100%;height:100%;object-fit:cover}.status-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:.68rem;line-height:1.5;font-weight:750;background:#f5f1e8;color:#554b3f;border:1px solid #ffffff4d}.puppy-card-media>.status-pill{position:absolute;left:15px;bottom:15px}.status-A{background:#e4f0db;color:#335c2d}.status-R{background:#ffedcd;color:#715226}.status-S{background:#f3e8e2;color:#754d42}.puppy-card-body{padding:21px 23px;display:flex;align-items:center;justify-content:space-between;gap:12px}.puppy-card-body h3{font-size:1.65rem}.puppy-card-body p{font-size:.75rem;color:var(--muted);margin-top:4px}.circle-arrow{display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:50%;width:37px;height:37px;font-size:1.1rem}.empty-state{padding:46px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}.empty-mark{display:grid;place-items:center;width:85px;height:85px;border-radius:50%;background:var(--coral-soft);font:42px/1 Georgia,serif;color:var(--coral)}.empty-state h3{margin-bottom:12px;font-size:1.9rem}.empty-state p{max-width:60ch;font-size:.96rem;color:var(--muted)}.empty-state .actions{margin-top:22px}.loading-state{padding:28px;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.error-state{padding:28px;background:var(--coral-soft);border-radius:var(--radius)}.error-state .button{margin-top:16px}.story-strip{background:var(--sage);padding:68px 0}.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center}.story-photo{border-radius:20px;aspect-ratio:1.25;object-fit:cover;object-position:center 35%;width:100%;box-shadow:var(--shadow)}.story-copy h2{margin:16px 0 23px;max-width:13ch}.story-copy .lede{font-size:1rem}.story-copy .text-link{margin-top:20px}.family-preview{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.family-preview h2{margin:15px 0 22px;max-width:14ch}.family-preview .text-link{margin-top:20px}.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.photo-stack figure{background:var(--white);padding:10px 10px 13px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.photo-stack figure:last-child{margin-top:65px}.photo-stack img{aspect-ratio:1/1.15;width:100%;object-fit:cover;border-radius:5px}.photo-stack figcaption{font:italic 1rem Georgia,serif;text-align:center;margin-top:12px}.contact-section{background:#263b38;color:var(--white);padding:70px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.contact-copy .eyebrow{color:#eab7a6}.contact-copy h2{margin:17px 0 22px;max-width:12ch}.contact-copy p{color:#d4dfd4;max-width:39ch}.contact-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:28px;gap:8px}.contact-links a{font-size:1.07rem;min-height:32px;overflow-wrap:anywhere}.waitlist-form{background:var(--paper);color:var(--ink);border-radius:var(--radius);padding:30px}.waitlist-form h3{font-size:1.6rem}.form-intro{font-size:.82rem;color:var(--muted);margin-top:8px;margin-bottom:19px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:15px}.field label{font-size:.75rem;font-weight:700}.field label span{font-weight:400;color:var(--muted)}.field input{border:1px solid #bfc6bb;border-radius:9px;width:100%;min-height:46px;padding:10px 12px;background:#fffdf9;color:var(--ink);font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.waitlist-form .button{width:100%;margin-top:5px}.form-privacy{font-size:.7rem;color:var(--muted);margin-top:11px}.form-message{font-size:.83rem;margin-top:13px}.form-message.error{color:#a22c21}.form-message.success{color:#2e622b}.site-footer{background:#20332f;color:#d5dfd5;padding-block:32px}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.72rem}.footer-nav{display:flex;gap:20px;flex-wrap:wrap}.footer-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.footer-nav a:hover{text-decoration:underline}.page-intro{padding:65px 0 45px}.page-intro h1{font-size:clamp(2.8rem,5.7vw,4.9rem);margin:17px 0 20px;max-width:15ch}.page-intro .lede{max-width:57ch}.page-intro+.section{padding-top:0}.toolbar{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:28px;padding-block:18px;border-block:1px solid var(--line)}.toolbar label{font-size:.77rem;font-weight:650;display:flex;align-items:center;gap:12px}.toolbar select,.toolbar input{min-height:44px;border:1px solid #bfc6bb;border-radius:8px;background:var(--white);padding:9px 12px;max-width:100%;color:var(--ink)}.toolbar input{min-width:230px;font-size:16px}.results-count{font-size:.78rem;color:var(--muted)}.archive-group{border-bottom:1px solid var(--line);padding:10px 0 26px;margin-bottom:30px}.archive-group summary{cursor:pointer;list-style:none;padding-block:12px;display:flex;align-items:center;justify-content:space-between;gap:20px}.archive-group summary::-webkit-details-marker{display:none}.archive-group summary h2{font-size:1.8rem}.archive-group summary p{margin-top:7px;color:var(--muted);font-size:.85rem}.archive-group summary::after{content:"+";display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:38px;height:38px;flex-shrink:0;font-size:22px}.archive-group[open] summary::after{content:"−"}.archive-group .puppy-grid{padding-top:20px}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.gallery-card{margin:0}.gallery-card>a{display:block;border-radius:18px;overflow:hidden;background:#e5e7dc;position:relative}.gallery-card img{aspect-ratio:4/5;width:100%;object-fit:cover;transition:transform .3s}.gallery-card a:hover img{transform:scale(1.025)}.photo-open-label{position:absolute;bottom:14px;right:14px;background:var(--white);padding:5px 12px;border-radius:999px;font-size:.7rem;font-weight:700}.gallery-card figcaption{padding:17px 3px}.gallery-card h2{font-size:1.6rem}.gallery-card p{font-size:.85rem;color:var(--muted);margin-top:8px;white-space:pre-line;overflow-wrap:anywhere}.gallery-date{font-size:.7rem;color:var(--muted);margin-top:8px;display:block}.load-more-row{text-align:center;margin-top:34px}.gallery-invite{margin-top:50px;padding:30px;background:var(--coral-soft);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:25px}.gallery-invite h3{font-size:1.6rem;margin-bottom:8px}.gallery-invite p{font-size:.9rem;color:var(--muted)}.gallery-invite .button{flex-shrink:0}.parent-profile{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-bottom:70px}.parent-profile:nth-child(even) .parent-photo{order:2}.parent-photo{aspect-ratio:1/1;width:100%;object-fit:cover;border-radius:var(--radius)}.parent-copy h2{margin:14px 0 20px}.parent-copy p{color:var(--muted);font-size:1rem}.parent-copy .eyebrow{color:var(--coral)}.belief{padding:50px;text-align:center;background:var(--coral-soft);border-radius:var(--radius);margin-top:12px}.belief h2{font-size:2.2rem;margin-bottom:20px}.belief p{max-width:65ch;margin-inline:auto;color:#67574f}.puppy-detail{display:grid;grid-template-columns:1.12fr .88fr;gap:55px;align-items:start}.puppy-main-link{display:block;position:relative;background:#e6e8df;border-radius:22px;overflow:hidden}.puppy-main-link>img{width:100%;aspect-ratio:1/1;object-fit:contain}.puppy-thumbnails{display:flex;gap:10px;padding:15px 2px;overflow-x:auto;overscroll-behavior-x:contain}.puppy-thumbnails a{flex:0 0 82px;border:2px solid transparent;border-radius:9px;overflow:hidden;display:block}.puppy-thumbnails a[aria-current="true"]{border-color:var(--coral)}.puppy-thumbnails img{aspect-ratio:1;width:100%;object-fit:cover}.puppy-copy{padding-top:15px}.puppy-copy h1{font-size:clamp(2.8rem,5vw,4.7rem);margin:15px 0}.puppy-copy .litter-dates{flex-direction:column;margin:23px 0;padding:20px 0;border-block:1px solid var(--line)}.puppy-description{color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.puppy-description p+p{margin-top:1em}.puppy-description h1,.puppy-description h2,.puppy-description h3,.puppy-description h4,.puppy-description h5,.puppy-description h6{font:700 1.1rem/1.5 inherit;letter-spacing:normal}.puppy-copy .actions{margin-top:27px}.back-link{margin-bottom:30px}.noscript-message{padding:15px 20px;background:var(--coral-soft);font-size:.85rem}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.container{width:calc(100% - 48px)}.primary-nav{gap:17px}.primary-nav>a{font-size:.77rem}.brand-name{font-size:1.8rem}.brand img{width:38px;height:38px}.story-grid,.parent-profile{gap:40px}.contact-grid{gap:40px}.puppy-detail{gap:30px}.puppy-grid{gap:17px}.puppy-card-body{padding:17px}}
@media(max-width:760px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.header-inner{min-height:77px;flex-wrap:wrap;gap:0}.brand-name{font-size:1.9rem}.brand img{width:38px;height:38px}.menu-toggle{display:inline-flex}.primary-nav{width:100%;flex-direction:column;gap:0;align-items:stretch;padding:8px 0 20px}.primary-nav>a{font-size:.95rem;padding:8px 5px;min-height:47px}.primary-nav>a[aria-current="page"]::after{display:none}.primary-nav>a.button{margin-top:10px}.js .primary-nav{display:none}.js .primary-nav.is-open{display:flex}.section{padding-block:55px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:28px}.section-heading .lede{max-width:50ch}.section-heading h2{margin-top:9px}.puppy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.puppy-card-body{padding:17px}.puppy-card-body h3{font-size:1.4rem}.puppy-card-body .circle-arrow{width:30px;height:30px;font-size:.95rem}.puppy-card-media>.status-pill{bottom:10px;left:10px}.status-pill{font-size:.65rem;padding:4px 9px}.litter-heading{gap:12px}.litter-heading h3{font-size:1.5rem}.litter-dates{gap:7px;font-size:.8rem;flex-direction:column}.litter-count{font-size:.65rem}.empty-state{padding:28px;gap:18px;grid-template-columns:1fr}.empty-mark{width:62px;height:62px;font-size:33px}.empty-state h3{font-size:1.8rem}.story-strip{padding-block:45px}.story-grid,.family-preview,.contact-grid,.parent-profile,.puppy-detail{grid-template-columns:1fr;gap:30px}.story-photo{aspect-ratio:1.35}.story-copy h2,.family-preview h2{max-width:17ch;font-size:2.6rem}.family-preview{gap:20px}.photo-stack{gap:13px;max-width:500px}.photo-stack figure:last-child{margin-top:40px}.contact-section{padding-block:48px}.contact-copy h2{max-width:16ch;font-size:2.6rem}.contact-copy p{font-size:.94rem;max-width:49ch}.contact-links{margin-top:22px}.waitlist-form{padding:26px}.footer-inner{align-items:flex-start;flex-direction:column;gap:10px}.footer-nav{gap:22px}.page-intro{padding-block:43px 34px}.page-intro h1{font-size:3.2rem;margin-top:13px}.page-intro .lede{font-size:1rem}.toolbar{align-items:stretch;gap:15px}.toolbar label{flex-wrap:wrap;gap:8px}.toolbar input{min-width:0;width:100%}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 16px}.gallery-card h2{font-size:1.4rem}.gallery-card figcaption{padding-top:14px}.gallery-card p{font-size:.8rem}.photo-open-label{font-size:.65rem;padding:4px 9px;bottom:10px;right:10px}.gallery-invite{flex-direction:column;align-items:flex-start;padding:25px;margin-top:30px;gap:18px}.parent-profile{margin-bottom:45px;gap:25px}.parent-profile:nth-child(even) .parent-photo{order:0}.parent-photo{aspect-ratio:1.15}.parent-copy h2{font-size:2.8rem}.belief{padding:30px 24px}.belief h2{font-size:2rem}.belief p{font-size:.94rem}.puppy-copy{padding-top:0}.puppy-copy h1{font-size:3.5rem}.back-link{margin-bottom:20px}.archive-group summary h2{font-size:1.5rem}}
@media(max-width:430px){.container{width:calc(100% - 32px)}.puppy-grid{grid-template-columns:1fr}.puppy-card-media{aspect-ratio:1.18}.puppy-card-body{padding:20px}.puppy-card-body h3{font-size:1.7rem}.photo-gallery{gap:20px 12px}.gallery-card h2{font-size:1.24rem}.photo-open-label{font-size:.58rem;right:7px;bottom:7px}.gallery-card p{font-size:.76rem}.gallery-date{font-size:.65rem}.litter-heading{flex-direction:column}.litter-count{display:none}.form-row{grid-template-columns:1fr;gap:0}.waitlist-form{padding:24px 20px}.photo-stack figcaption{font-size:.8rem}.page-intro h1{font-size:2.8rem}.brand-name{font-size:1.75rem}.brand img{width:34px;height:34px}.brand-subtitle{font-size:.53rem}.menu-toggle{padding-inline:12px}.archive-group summary h2{font-size:1.35rem}}
.site-header{background:#fbf8f3f5}.button,.button.coral{background:var(--boy);border-color:var(--boy-line);color:#2d4e66}.button:hover,.button.coral:hover{background:#c6dff0}.button.secondary{background:transparent;color:var(--ink);border-color:#b8c2c8}.button.secondary:hover{background:#e9eef1}.primary-nav>a.button{color:#2d4e66}.contact-section{background:#384c58}.site-footer{background:#2f414c}.contact-copy .eyebrow{color:#edc6d2}.contact-copy p{color:#dae3e8}.puppy-card.puppy-boy{border-color:var(--boy-line)}.puppy-card.puppy-girl{border-color:var(--girl-line)}.puppy-boy .puppy-card-body{background:#edf5fb}.puppy-girl .puppy-card-body{background:#fdf0f3}.puppy-boy .puppy-card-media,.puppy-boy .puppy-main-link{background:var(--boy)}.puppy-girl .puppy-card-media,.puppy-girl .puppy-main-link{background:var(--girl)}.puppy-boy .puppy-card-body .circle-arrow{background:var(--boy);border-color:var(--boy-line);color:#365e7a}.puppy-girl .puppy-card-body .circle-arrow{background:var(--girl);border-color:var(--girl-line);color:#815367}.puppy-detail.puppy-boy .puppy-copy>.eyebrow{color:#446b86}.puppy-detail.puppy-girl .puppy-copy>.eyebrow{color:#976275}.belief p{color:#675963}
html:not(.js) .waitlist-form{display:none}
@media(max-width:360px){.menu-toggle{width:44px;height:44px;padding:12px;justify-content:center}.menu-label{display:none}.brand-name{font-size:1.65rem}.brand-subtitle{font-size:.49rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* The original panorama: the whole litter has room to shine. */
.panorama-hero {
  position: relative;
  display: grid;
  isolation: isolate;
  background: #ffdfbf;
}
.panorama-image,
.panorama-copy { grid-area: 1 / 1; }
.panorama-image {
  width: 100%;
  height: max(560px, 47vw);
  object-fit: cover;
  object-position: center bottom;
}
.panorama-copy {
  z-index: 1;
  align-self: start;
  justify-self: center;
  width: min(660px, 58%);
  margin-top: clamp(30px, 3vw, 58px);
  text-align: center;
  overflow-wrap: anywhere;
}
.panorama-copy h1 {
  font-size: clamp(2.5rem, 4vw, 3.8rem);
  line-height: 1.08;
  text-wrap: balance;
}
.panorama-copy p {
  max-width: 46ch;
  margin: 16px auto 20px;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.5;
  color: #704454;
}
.panorama-copy .button { box-shadow: 0 4px 16px #34454e12; }
.panorama-hero::after {
  content: "";
  grid-area: 1 / 1;
  z-index: 2;
  align-self: end;
  height: clamp(28px, 5vw, 86px);
  margin-bottom: -1px;
  background: var(--paper);
  -webkit-mask: url("clouds.png") center bottom / 100% 100% no-repeat;
  mask: url("clouds.png") center bottom / 100% 100% no-repeat;
  pointer-events: none;
}
#our-puppies { padding-top: 48px; }
@media (max-width: 1000px) {
  .panorama-hero { background: var(--paper); }
  .panorama-copy {
    grid-area: auto;
    width: min(620px, calc(100% - 40px));
    margin: 0;
    padding: 32px 0 26px;
  }
  .panorama-copy h1 { font-size: clamp(2rem, 5.2vw, 3rem); }
  .panorama-copy p { max-width: 34ch; margin: 13px auto 19px; font-size: 1rem; }
  .panorama-image { grid-area: 2 / 1; height: auto; }
  .panorama-hero::after { grid-area: 2 / 1; }
  #our-puppies { padding-top: 32px; }
}

/* Familiar DobbKins personality, with calmer surfaces and clear actions. */
@font-face {
  font-family: "DobbKins Bubble";
  src: url("BubbleFont.ttf") format("truetype");
  font-display: swap;
}
:root { --action: #a43f60; --action-hover: #89334f; }
.brand-name { font-family: "DobbKins Bubble", sans-serif; letter-spacing: -.02em; }
.brand-subtitle { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.button.coral,
.primary-nav>a.button,
.quick-interest.button {
  background: var(--action);
  border-color: var(--action);
  color: white;
}
.button.coral:hover,
.primary-nav>a.button:hover,
.quick-interest.button:hover { background: var(--action-hover); border-color: var(--action-hover); }
body[data-page="home"] #our-puppies .section-heading {
  width: min(680px, 100%);
  justify-content: center;
  margin-inline: auto;
  padding: 20px;
  border: 1px solid var(--girl-line);
  border-radius: 24px;
  background: var(--girl);
  text-align: center;
}
#puppies-heading { margin: 0; font: 2.4rem/1.2 "DobbKins Bubble", sans-serif; letter-spacing: -.025em; }
.panorama-copy h1 { min-height: 2.16em; }
.home-discover {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding-top: 0;
  padding-bottom: 58px;
}
.discover-card {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px;
  border: 1px solid var(--boy-line);
  border-radius: 24px;
  background: #edf5fb;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.discover-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.discover-album { background: #fdf0f3; border-color: var(--girl-line); }
.discover-photo { width: 100px; height: 120px; border-radius: 16px; object-fit: cover; flex-shrink: 0; }
.discover-mark { width: 70px; height: 70px; object-fit: contain; flex-shrink: 0; margin-inline: 12px; }
.discover-copy h2 { font-size: 1.8rem; margin-bottom: 9px; }
.discover-copy p { font-size: .9rem; line-height: 1.6; color: var(--muted); }
.discover-arrow { font-size: 1.5rem; flex-shrink: 0; margin-left: auto; }
.puppy-card-media>.status-pill { max-width: calc(100% - 30px); }
.contact-copy h2 { margin-top: 0; }
.contact-section { padding-block: 48px; }
/* Social destinations remain visible even after an inquiry has been sent. */
.quick-connect {
  position: fixed;
  z-index: 60;
  left: 18px;
  bottom: 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.quick-socials { display: flex; flex-direction: column; gap: 9px; }
.quick-social {
  width: 76px;
  min-height: 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: 1px solid #e7d8d4;
  border-radius: 16px;
  background: var(--white);
  box-shadow: 0 3px 10px #34454e16;
  text-decoration: none;
  transition: transform .2s, background .2s;
}
.quick-social:hover { transform: translateY(-2px); background: #fcecf1; }
.quick-social svg { width: 23px; height: 23px; }
.quick-social-name { font-size: .63rem; font-weight: 700; }
.quick-instagram { color: #ad3a64; }
.quick-youtube { color: #b13e47; }
.quick-puppies { color: #27717d; }
.quick-interest.button { width: 104px; min-height: 78px; flex-direction: column; gap: 2px; padding: 8px; border-radius: 18px; font-size: .81rem; text-align: center; box-shadow: 0 5px 22px #89334f30; }
.quick-interest>span { font-size: 1.5rem; line-height: 1; }
body.dialog-open .quick-connect { visibility: hidden; }
html { scroll-padding-bottom: 100px; }
.site-footer { padding-bottom: 100px; }
.inquiry-dialog {
  width: min(510px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  border: 1px solid var(--girl-line);
  border-radius: 24px;
  padding: 0;
  background: var(--paper);
  color: var(--ink);
  overflow-y: auto;
  box-shadow: 0 20px 90px #182a3950;
}
.inquiry-dialog::backdrop { background: #263b3870; backdrop-filter: blur(3px); }
.inquiry-dialog .waitlist-form { padding: 32px; }
.inquiry-dialog .waitlist-form h3 { padding-right: 38px; font-family: "DobbKins Bubble", sans-serif; font-size: 1.9rem; }
.inquiry-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  border: 1px solid var(--girl-line);
  border-radius: 50%;
  background: var(--white);
  font-size: 27px;
  line-height: 1;
}
@media (max-width: 1399px), (max-height: 600px) {
  .quick-connect {
    left: 50%;
    bottom: max(12px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    width: max-content;
    max-width: calc(100% - 24px);
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border: 1px solid #decbd2;
    border-radius: 24px;
    background: #fffdfbf5;
    box-shadow: 0 5px 30px #34454e26;
  }
  .quick-socials { flex-direction: row; gap: 4px; }
  .quick-social { width: 68px; min-height: 52px; border: 0; box-shadow: none; background: transparent; }
  .quick-interest.button { width: auto; min-height: 50px; border-radius: 999px; flex-direction: row; gap: 10px; padding: 12px 20px; font-size: .88rem; box-shadow: none; white-space: nowrap; }
  .site-footer { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
}
@media (max-width: 1000px) {
  .home-discover { gap: 16px; }
  .discover-card { gap: 16px; padding: 20px; }
  .discover-photo { width: 76px; height: 100px; }
  .discover-mark { width: 60px; height: 60px; margin-inline: 5px; }
  .discover-copy h2 { font-size: 1.6rem; }
}
@media (max-width: 760px) {
  .home-discover { grid-template-columns: 1fr; padding-bottom: 38px; }
  .discover-photo { width: 88px; height: 100px; }
  .discover-mark { margin-inline: 14px; }
  #puppies-heading { font-size: 1.9rem; }
  body[data-page="home"] #our-puppies .section-heading { align-items: center; padding: 16px; }
  .quick-connect { max-width: calc(100% - 16px); border-radius: 22px; gap: 8px; }
  .quick-social { width: 44px; height: 46px; min-height: 46px; border-radius: 13px; }
  .quick-social-name { display: none; }
  .quick-interest.button { min-height: 46px; padding: 10px 15px; font-size: .8rem; gap: 8px; }
  .inquiry-dialog .waitlist-form { padding: 27px 23px; }
}
@media (max-width: 360px) {
  .quick-interest>span { display: none; }
  .quick-interest.button { padding-inline: 12px; }
  .discover-card { gap: 14px; padding: 16px; }
  .discover-photo { width: 70px; height: 90px; }
  .discover-mark { width: 52px; height: 52px; margin-inline: 9px; }
  .discover-copy h2 { font-size: 1.4rem; }
  .discover-copy p { font-size: .8rem; }
}

@media (min-width: 1400px) and (min-height: 601px) {
  .container { width: min(1180px, calc(100% - 260px)); }
}

/* The photo and its controls share the available viewport, including short phones. */
.lightbox {
  --photo-viewport-height: 100vh;
  --photo-viewport-top: 0px;
  --photo-safe-top: max(12px, env(safe-area-inset-top));
  --photo-safe-bottom: max(12px, env(safe-area-inset-bottom));
  position: fixed;
  top: calc(var(--photo-viewport-top) + var(--photo-safe-top));
  right: 0;
  bottom: auto;
  left: 0;
  margin: 0 auto;
  width: min(1100px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  height: calc(var(--photo-viewport-height) - var(--photo-safe-top) - var(--photo-safe-bottom));
  max-height: none;
  padding: 16px;
  border: 0;
  border-radius: 16px;
  background: #192723;
  color: white;
  overflow: hidden;
  overscroll-behavior: contain;
}
.lightbox:not([open]) { display: none; }
.lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; gap: 10px; }
.lightbox::backdrop { background: #12201be8; }
.lightbox-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; }
.lightbox-heading { font: 650 1rem/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: normal; overflow-wrap: anywhere; }
.lightbox-close,
.lightbox-nav { display: grid; place-items: center; min-width: 44px; min-height: 44px; flex-shrink: 0; padding: 0; border: 1px solid #ffffff70; border-radius: 50%; color: white; background: transparent; font-size: 24px; }
.lightbox-image { grid-row: 2; width: 100%; height: 100%; min-width: 0; min-height: 0; max-height: none; object-fit: contain; background: #17221e; touch-action: auto; }
.lightbox[data-photo-state="loading"] .lightbox-image { opacity: 0; }
.lightbox[data-photo-state="error"] .lightbox-image { visibility: hidden; }
.lightbox-feedback { grid-row: 3; display: flex; align-items: center; justify-content: space-between; gap: 12px; max-height: 100px; overflow: auto; }
.lightbox-status { margin: 0; color: #f5c9ba; font-size: .8rem; line-height: 1.4; }
.lightbox-retry { flex-shrink: 0; min-height: 44px; padding: 8px 12px; border: 1px solid #ffffff70; border-radius: 10px; background: #31483f; color: white; font-size: .8rem; }
.lightbox-controls { grid-row: 4; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-width: 0; }
.lightbox-controls a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: white; font-size: .8rem; text-align: center; }
.lightbox-counter { color: #ced7cc; font-size: .8rem; white-space: nowrap; }
.lightbox-nav:disabled { opacity: .3; cursor: default; }
@supports (height: 100dvh) {
  .lightbox { --photo-viewport-height: 100dvh; }
}
@media (max-width: 760px) {
  .lightbox { padding: 12px; border-radius: 12px; gap: 8px; }
  .lightbox-heading { font-size: .9rem; }
  .lightbox-controls { gap: 8px; }
  .lightbox-controls a { font-size: .75rem; }
  .lightbox-counter { font-size: .72rem; }
}
@media (max-width: 430px) {
  .lightbox-controls a { max-width: 96px; line-height: 1.35; }
  .lightbox-feedback { gap: 8px; }
}
