
:root{--ink:#21180f;--wood:#2c1c10;--wood2:#1c120b;--cream:#f4ead6;--paper:#efe1c7;--blue:#123f53;--blue2:#0e3446;--white:#fffaf0;--shadow:0 18px 45px rgba(21,13,8,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#f7f1e6;font-family:Georgia,serif;line-height:1.55}img,video{max-width:100%;display:block}a{color:inherit}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:10px 4vw;background:rgba(30,18,10,.97);color:var(--white);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1;font-family:Georgia,serif;min-width:190px;font-weight:700}.brand-top{font-size:.75rem;color:#e3d0af}.brand small{letter-spacing:.2em;color:#b7cfd8;margin-top:4px;font-size:.65rem}
.site-nav{display:flex;align-items:center;gap:16px;margin-left:auto}.site-nav a{text-decoration:none;font:700 .73rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.04em;padding:9px 0;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a.active{color:#b9d8e5;border-color:#b9d8e5}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:white;font-size:1.8rem}
.hero{min-height:700px;display:grid;grid-template-columns:.92fr 1.08fr;overflow:hidden;background:linear-gradient(90deg,#ead6b5 0 44%,#6c4a2e 100%)}.hero-copy{padding:60px 5vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 28% 30%,rgba(255,243,217,.8),transparent 56%)}
.logo-badge{width:min(440px,100%);text-align:center;border:3px solid var(--ink);outline:1px solid rgba(33,24,15,.4);outline-offset:-10px;border-radius:28px;background:rgba(244,234,214,.95);box-shadow:var(--shadow);padding:20px 28px 22px;transform:rotate(-1deg)}
.logo-badge .top{letter-spacing:.25em;font-size:.9rem}.logo-badge .name{font-size:clamp(2.8rem,5vw,4.8rem);font-weight:700;line-height:1}.logo-badge .sub{font-size:1.6rem;font-weight:700;letter-spacing:.08em}.ribbon{margin:14px -10px -9px;padding:8px;background:var(--blue);color:#fff;letter-spacing:.2em;font:700 1rem Arial,sans-serif}
.eyebrow{font:700 1rem Arial,sans-serif;letter-spacing:.14em;margin:36px 0 0}.hero h1,.page-hero h1,.section-title,.profile-copy h1{font-family:cursive;color:var(--blue)}.hero h1{font-size:clamp(4rem,8vw,7.2rem);line-height:1;margin:-6px 0 10px}.hero p{max-width:620px;font-size:1.08rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border-radius:8px;text-decoration:none;border:1px solid transparent;font:700 .95rem Arial,sans-serif;cursor:pointer}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 0 var(--blue2)}.secondary{background:rgba(255,250,240,.55);border-color:#6d523c}
.hero-media{position:relative;min-height:700px}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 45%;mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 100%)}
.stamp{position:absolute;right:5%;bottom:7%;width:165px;height:165px;border-radius:50%;background:rgba(244,234,214,.96);border:3px double var(--ink);display:grid;place-items:center;text-align:center;padding:18px;box-shadow:var(--shadow);transform:rotate(-5deg)}.stamp span{display:block;color:var(--blue);font:700 .73rem Arial,sans-serif;letter-spacing:.1em}.stamp strong{font-family:cursive;font-size:1.6rem;line-height:1.05}
.trust{display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper);padding:28px 4vw;border-top:1px solid #cdbd9f;border-bottom:1px solid #cdbd9f}.trust article{text-align:center;padding:12px 18px;border-right:1px solid #cfbea0}.trust article:last-child{border-right:0}.trust .icon{font-size:1.9rem;color:var(--blue)}.trust h3{font:700 .9rem Arial,sans-serif;text-transform:uppercase;margin:6px 0}.trust p{font-size:.9rem;margin:0}
.section{padding:72px 6vw}.center{text-align:center}.parchment{background:linear-gradient(rgba(244,234,214,.97),rgba(244,234,214,.97)),radial-gradient(circle at 12% 20%,#c5aa82 1px,transparent 1px);background-size:auto,16px 16px}.dark{background:linear-gradient(135deg,var(--wood2),#4c2f1c);color:var(--white)}
.kicker{font:700 .76rem Arial,sans-serif;color:var(--blue);letter-spacing:.15em}.dark .kicker{color:#bfd8e2}.section-title{font-size:clamp(2.8rem,6vw,5rem);margin:4px 0 12px}.lede{max-width:820px;margin:0 auto 34px;font-size:1.05rem}
.page-hero{display:grid;grid-template-columns:1fr 1fr;min-height:390px;background:linear-gradient(90deg,#ead8b8,#6a4830)}.page-hero .copy{padding:55px 6vw;display:flex;flex-direction:column;justify-content:center}.page-hero h1{font-size:clamp(3.7rem,7vw,6.3rem);margin:0 0 10px}.page-hero img{width:100%;height:100%;object-fit:cover;object-position:center 42%;mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%)}
.puppy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1250px;margin:0 auto}.puppy-card,.info-card,.contact-card{background:#fffaf0;border:1px solid #d5c4a8;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.puppy-card .cover{display:block;aspect-ratio:4/3;overflow:hidden}.puppy-card img{width:100%;height:100%;object-fit:cover}.card-body{padding:20px}.badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:7px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font:700 .67rem Arial,sans-serif;letter-spacing:.06em}.available{background:#dceadf;color:#28583b}.female{background:#f5dfe7;color:#7b3954}.male{background:#dce9f5;color:#305779}.meta{color:#695843;font:400 .88rem Arial,sans-serif}.card-link{color:var(--blue);font-weight:700}
.profile{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}.profile-main img{width:100%;border-radius:18px;box-shadow:var(--shadow)}.profile-copy h1{font-size:clamp(3rem,6vw,5rem);margin:0}.profile-copy .color{font-size:1.35rem;font-weight:700}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}.gallery a,.gallery video{aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#ddd}.gallery img,.gallery video{width:100%;height:100%;object-fit:cover}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:0 auto}.info-card{padding:24px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:start}.application-form,.contact-form{max-width:950px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:flex;flex-direction:column;gap:7px;font:700 .86rem Arial,sans-serif}input,select,textarea{width:100%;padding:13px;border:1px solid #b8aa94;border-radius:8px;background:#fffdf7;font:inherit;color:var(--ink)}.full{grid-column:1/-1}
details{max-width:900px;margin:0 auto;border-bottom:1px solid #d3c2a4;padding:18px 0}summary{cursor:pointer;font-weight:700}.notice{max-width:950px;margin:24px auto 0;padding:14px 18px;text-align:left;border-left:4px solid var(--blue);background:#edf4f6}.site-footer{text-align:center;padding:35px 6vw;background:linear-gradient(90deg,#24160d,#4f301c,#24160d);color:#f4ead6}.footer-script{font-family:cursive;font-size:clamp(2rem,4vw,3.4rem)}
@media(max-width:1050px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:61px;left:0;right:0;flex-direction:column;align-items:stretch;padding:18px 5vw;background:#23160d}.site-nav.open{display:flex}.hero,.page-hero{grid-template-columns:1fr}.hero-media{min-height:520px}.trust{grid-template-columns:repeat(2,1fr)}.trust article{border-right:0;border-bottom:1px solid #cfbea0}.trust article:last-child{grid-column:1/-1}.puppy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.brand{min-width:0}.brand span:nth-child(2){font-size:.87rem}.hero-copy{padding:42px 6vw 28px}.hero-media{min-height:430px}.stamp{width:125px;height:125px}.trust,.puppy-grid,.info-grid,.two-col,.profile,.application-form,.contact-form{grid-template-columns:1fr}.trust article:last-child,.full{grid-column:auto}.gallery{grid-template-columns:repeat(2,1fr)}.section{padding:56px 6vw}}

.exact-home-hero{
  background:#1d120b;
  width:100%;
  overflow:hidden;
}
.exact-home-hero img{
  width:100%;
  height:auto;
  display:block;
}
.home-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  padding:24px 6vw 30px;
  background:var(--paper);
  border-bottom:1px solid #cdbd9f;
}
@media(max-width:700px){
  .exact-home-hero img{
    min-width:100%;
  }
  .home-actions{
    padding:18px 6vw 24px;
  }
}

/* Exact homepage artwork with real clickable navigation layered over it. */
.clickable-home{
  position:relative;
  width:100%;
  background:#1d120b;
  overflow:hidden;
}
.clickable-home-image{
  display:block;
  width:100%;
  height:auto;
}
.hero-hotspots{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hotspot{
  position:absolute;
  display:block;
  pointer-events:auto;
  border-radius:7px;
  outline:none;
  background:rgba(255,255,255,0);
  transition:background .18s ease, box-shadow .18s ease;
}
.hotspot span{
  position:absolute;
  width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.hotspot:focus-visible{
  background:rgba(173,213,229,.18);
  box-shadow:0 0 0 3px rgba(173,213,229,.9);
}
@media (hover:hover) and (pointer:fine){
  .hotspot:hover{background:rgba(173,213,229,.11)}
}

/* Percent-based hit areas mapped to the exact uploaded 1536×1099 artwork. */
.hs-home{left:27.7%;top:2.5%;width:4.3%;height:5.2%}
.hs-available{left:32.2%;top:2.5%;width:9.1%;height:5.2%}
.hs-dogs{left:42.0%;top:2.5%;width:5.5%;height:5.2%}
.hs-about{left:48.0%;top:2.5%;width:5.8%;height:5.2%}
.hs-info{left:54.6%;top:2.5%;width:10.0%;height:5.2%}
.hs-past{left:65.1%;top:2.5%;width:7.5%;height:5.2%}
.hs-faq{left:72.8%;top:2.5%;width:3.7%;height:5.2%}
.hs-contact{left:77.1%;top:2.5%;width:5.3%;height:5.2%}
.hs-application{left:82.6%;top:1.7%;width:15.1%;height:6.1%}
.hs-view-puppies{left:10.1%;top:64.3%;width:23.6%;height:7.1%}

.mobile-home-nav{
  display:none;
  background:var(--paper);
  padding:14px 5vw 20px;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  border-bottom:1px solid #cdbd9f;
}
.mobile-home-nav a{
  text-decoration:none;
  padding:10px 13px;
  border-radius:8px;
  background:var(--blue);
  color:white;
  font:700 .82rem Arial,sans-serif;
}

@media(max-width:760px){
  .hero-hotspots{display:none}
  .mobile-home-nav{display:flex}
}

/* Expanded breeder story / parent / past-puppy sections */
.parent-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:1100px;margin:0 auto}
.parent-card{display:grid;grid-template-columns:.82fr 1.18fr;background:#fffaf0;color:var(--ink);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.parent-card img{width:100%;height:100%;min-height:330px;object-fit:cover}
.parent-card>div{padding:24px}.parent-card h3{font-size:2rem;margin:8px 0}.parent-card a{color:var(--blue);font-weight:700}
.puppy-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}
.puppy-facts div{background:#fffaf0;border:1px solid #d7c8ae;border-radius:10px;padding:10px 12px}
.puppy-facts strong,.puppy-facts span{display:block}.puppy-facts strong{font:700 .72rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}
.story-callout{margin:32px 0 4px;padding:18px 20px;border-left:5px solid var(--blue);background:#fffaf0;border-radius:8px}
.dog-feature{display:grid;grid-template-columns:1.12fr .88fr;gap:38px;align-items:center;max-width:1180px;margin:0 auto}
.dog-feature.reverse{grid-template-columns:1.05fr .95fr}.dog-feature-copy p{font-size:1.05rem}
.dog-photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dog-photo-stack.single{grid-template-columns:1fr}
.dog-photo-stack img{width:100%;height:360px;object-fit:cover;border-radius:15px;box-shadow:var(--shadow)}
.dog-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1180px;margin:34px auto 0}
.dog-gallery img{width:100%;height:240px;object-fit:cover;border-radius:12px}
.past-section{background:#e9dcc4}.past-card{max-width:1100px;margin:0 auto 30px;display:grid;grid-template-columns:340px 1fr;background:#fffaf0;border:1px solid #d2bea0;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}
.past-cover img{width:100%;height:100%;min-height:340px;object-fit:cover}.past-copy{padding:28px}.past-copy h2{font-family:cursive;color:var(--blue);font-size:3rem;margin:6px 0}.past-copy blockquote{margin:20px 0 0;padding:15px 18px;border-left:4px solid var(--blue);background:#edf4f6;font-style:italic}
.past-gallery{grid-column:1/-1;padding:0 24px 24px;border-top:1px solid #ddceb4}.past-gallery summary{padding:18px 0;font-weight:700;color:var(--blue)}.past-gallery>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.past-gallery img{width:100%;height:220px;object-fit:cover;border-radius:10px}
.family{background:#e8dfc8;color:#655034}
@media(max-width:850px){
  .parent-pair,.parent-card,.dog-feature,.dog-feature.reverse,.past-card{grid-template-columns:1fr}
  .parent-card img{min-height:280px;max-height:420px}
  .dog-photo-stack{grid-template-columns:1fr 1fr}
  .dog-gallery{grid-template-columns:repeat(2,1fr)}
  .past-gallery>div{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .dog-photo-stack,.dog-gallery,.past-gallery>div,.puppy-facts{grid-template-columns:1fr}
  .dog-photo-stack img,.dog-gallery img,.past-gallery img{height:auto;max-height:none}
}

.netlify-honeypot{
  position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;
  width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;border:0!important;
}
.form-status{min-height:24px;margin-top:4px;font-family:Arial,sans-serif;font-weight:700}
.form-status.success{padding:14px 16px;border-radius:8px;background:#dceadf;color:#28583b}
.form-status.error{padding:14px 16px;border-radius:8px;background:#f6dddd;color:#7a2d2d}
button:disabled{opacity:.65;cursor:not-allowed}
