:root{--sage:#78866d;--deep:#475b45;--cream:#faf7ef;--oat:#eee9dd;--ink:#333a31;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.announcement{background:var(--sage);color:white;text-align:center;font-size:.76rem;letter-spacing:.12em;padding:10px}.site-header{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px max(5%,calc((100% - 1250px)/2));background:var(--white);position:sticky;top:0;z-index:10;box-shadow:0 2px 15px #28381e10}.brand{display:flex;flex-direction:column;line-height:1.1}.brand-name,.footer-brand{font:600 clamp(1.5rem,2.7vw,2.3rem) 'Cormorant Garamond',Georgia,serif;color:var(--deep)}.brand-sub{font-size:.58rem;letter-spacing:.2em;margin-top:7px}nav{display:flex;align-items:center;gap:24px}nav a{font-size:.77rem;font-weight:600}nav a:hover,.text-link:hover{color:var(--sage)}.nav-cta,.btn{border-radius:100px;padding:12px 22px;font-size:.8rem;font-weight:700;display:inline-block;transition:transform .2s,background .2s}.nav-cta,.btn.primary{background:var(--sage);color:white}.btn:hover,.nav-cta:hover{transform:translateY(-2px)}.btn.secondary{border:1px solid var(--sage);color:var(--deep)}.menu-toggle{display:none;background:none;border:0;font-size:1.7rem;color:var(--deep)}.hero{min-height:610px;display:grid;grid-template-columns:44% 56%;align-items:center;background:linear-gradient(125deg,#f8f5ed,#eae9df);overflow:hidden}.hero-copy{padding:65px 5% 65px max(9%,calc((100vw - 1150px)/2));position:relative;z-index:1}.eyebrow{font-size:.71rem;font-weight:700;letter-spacing:.23em;color:var(--sage)}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.1}h1{font-size:clamp(3.6rem,6vw,6.8rem);font-weight:500;margin:25px 0}h1 em,h2 em{color:var(--sage);font-weight:500}h2{font-size:clamp(2.6rem,4.4vw,4.4rem);font-weight:500;margin:16px auto 22px;max-width:760px}.hero-copy p{font-size:1.08rem;max-width:380px}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.hero-image{height:100%;min-height:520px;display:flex;align-items:center;justify-content:center;padding:28px}.hero-image img{width:100%;max-width:760px;border-radius:22px;box-shadow:0 16px 50px #333a3120}.section{padding:95px max(7%,calc((100% - 1150px)/2));scroll-margin-top:90px}.intro{text-align:center;max-width:1100px;margin:auto}.intro p{max-width:720px;margin:0 auto 24px;font-size:1.04rem}.text-link{font-weight:700;color:var(--deep);font-size:.87rem}.breeds{text-align:center;background:var(--oat)}.breed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}.breed-card{background:var(--white);padding:38px 27px;border-radius:14px;box-shadow:0 5px 30px #333a310b}.breed-symbol{font-size:3rem}.breed-card h3,.placeholder-card h3,.steps h3{font-size:2rem;margin:15px 0 8px}.breed-card p{font-size:.91rem;min-height:80px}.breed-card a{color:var(--deep);font-size:.84rem;font-weight:700}.puppies{text-align:center}.section-lead{max-width:650px;margin:0 auto 32px}.placeholder-card{max-width:650px;margin:auto;background:#f1f1e8;border:1px dashed #9ba893;padding:40px;border-radius:16px}.placeholder-icon{font-size:3rem;color:var(--sage)}.placeholder-card p{margin-bottom:28px}.litters{text-align:center;background:#e6eade}.litters p{max-width:630px;margin:0 auto 28px}.journey{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:44px}.steps b{color:var(--sage);font-family:'Cormorant Garamond';font-size:2.5rem}.steps p{font-size:.9rem}.application{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:var(--oat)}.application h2{margin-left:0}.application form{background:var(--white);padding:35px;border-radius:16px;box-shadow:0 10px 30px #333a3110}label{display:block;font-size:.78rem;font-weight:700;margin-bottom:18px}input,select,textarea{display:block;width:100%;padding:13px;margin-top:6px;background:#fafaf7;border:1px solid #d6d9d0;border-radius:7px;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid var(--sage)}.form-note{font-size:.72rem;color:#6d726b}footer{text-align:center;background:var(--deep);color:#f7f5eb;padding:48px 15px}footer .footer-brand{color:#fff;font-size:2.5rem}footer p{font-size:.84rem;margin:8px}footer small{display:block;margin-top:28px;opacity:.7}@media(max-width:900px){.site-header{padding:16px 5%}nav{gap:12px}nav a{font-size:.68rem}.hero{grid-template-columns:1fr}.hero-copy{padding:65px 8% 30px;text-align:center}.hero-copy p{margin:auto}.buttons{justify-content:center}.hero-image{min-height:0;padding:20px 7% 50px}.hero-image img{max-width:620px}.application{grid-template-columns:1fr;gap:25px}}@media(max-width:680px){.menu-toggle{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);padding:20px;box-shadow:0 12px 20px #333a3115;flex-direction:column;align-items:stretch}nav.open{display:flex}.brand-name{font-size:1.75rem}.brand-sub{font-size:.48rem}.section{padding:65px 6%}.breed-grid,.steps{grid-template-columns:1fr}.breed-card p{min-height:0}.hero-copy{padding:60px 6% 15px}h1{font-size:3.8rem}.application form{padding:24px}}

/* Logo-first homepage */
.hero{display:flex;flex-direction:column;min-height:0;align-items:center;padding:26px 0 55px}
.hero-image{order:0;width:100%;min-height:0;height:auto;padding:12px 6% 0}
.hero-image img{width:100%;max-width:900px;display:block;margin:auto}
.hero-copy{order:1;padding:30px 6% 10px;text-align:center;width:100%;max-width:800px}
.hero-copy p{margin-left:auto;margin-right:auto}
.buttons{justify-content:center}
@media(max-width:680px){.hero{padding-top:12px;padding-bottom:30px}.hero-image{padding:8px 5% 0}.hero-copy{padding:22px 6% 8px}h1{font-size:3.1rem}}

/* Meet our moms */
.moms{text-align:center;background:#faf7f0}.mom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1100px;margin:35px auto 0}.mom-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 7px 24px #35433313;padding-bottom:24px}.mom-card img{display:block;width:100%;height:330px;object-fit:cover;object-position:center 30%}.mom-card h3{margin:20px 0 6px;font-family:"Cormorant Garamond",serif;font-size:2rem;color:#4d614b}.mom-card p{margin:0;color:#626b5b}@media(max-width:680px){.mom-grid{grid-template-columns:1fr;max-width:420px}.mom-card img{height:380px}}

/* Balanced spacing on breed cards without decorative emojis */
.breed-card h3{margin-top:0}

.mom-group-title{text-align:center;color:var(--deep);font-size:2.2rem;font-weight:500;margin:36px 0 20px}.mom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.mom-card{background:var(--white);border-radius:16px;overflow:hidden;text-align:center;box-shadow:0 6px 24px #333a3112;padding-bottom:18px}.mom-card img{width:100%;height:310px;object-fit:cover;display:block}.mom-card h3{font-size:2rem;margin:16px 0 3px}.mom-card p{margin:0 8px;font-size:.87rem;color:var(--deep)}@media(max-width:680px){.mom-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mom-card img{height:210px}.mom-card h3{font-size:1.6rem}.mom-card p{font-size:.75rem}}

/* Available puppy profile */
.available-puppy-card{max-width:1050px;margin:32px auto 0;background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 9px 30px #333a3115}.puppy-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:7px}.puppy-photo-grid img{width:100%;height:280px;object-fit:cover;border-radius:12px;display:block}.puppy-info{padding:26px 20px 38px}.puppy-info h3{font-size:3rem;margin:9px 0}.puppy-info p{margin:7px}.puppy-info .puppy-price{font-weight:700;color:var(--deep);font-size:1.6rem;margin:12px}.puppy-info .btn{margin-top:12px}@media(max-width:680px){.puppy-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.puppy-photo-grid img{height:185px}.puppy-photo-grid img:first-child{grid-column:span 2;height:290px}}

.available-puppy-card + .available-puppy-card {margin-top:2.5rem;}
.pumpkin-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;}
.pumpkin-photo-grid img {width:100%;min-width:0;max-width:100%;height:280px;object-fit:cover;border-radius:12px;}

/* Mobile puppy gallery: prevent cropped-off horizontal overflow */
.puppy-photo-grid {min-width:0;max-width:100%;}
.puppy-photo-grid img {min-width:0;max-width:100%;}
@media (max-width:680px) {
  .available-puppy-card {width:100%;max-width:100%;min-width:0;}
  .puppy-photo-grid,.puppy-photo-grid.pumpkin-photo-grid {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;max-width:100% !important;
    gap:8px !important;padding:8px !important;
    overflow:hidden;
  }
  .puppy-photo-grid img,.puppy-photo-grid.pumpkin-photo-grid img {
    display:block !important;width:100% !important;max-width:100% !important;
    min-width:0 !important;height:165px !important;
    grid-column:auto !important;object-fit:cover !important;
    border-radius:12px !important;
  }
  .puppy-photo-grid img:first-child,.puppy-photo-grid.pumpkin-photo-grid img:first-child {
    grid-column:1 / -1 !important;height:250px !important;
  }
  .puppy-info {padding:22px 12px 32px;overflow-wrap:break-word;}
  .puppy-info h3 {font-size:clamp(2.2rem,10vw,3rem);}
}

/* Gallery safeguard */
.available-puppy-card,.puppy-photo-grid{min-width:0;max-width:100%;}
@media(max-width:680px){.puppy-photo-grid,.pumpkin-photo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}.puppy-photo-grid img{width:100%!important;min-width:0!important;}.puppy-photo-grid img:first-child{grid-column:1/-1!important;}}

/* Puppy information and policies */
.puppy-information{background:#f8f7f1;text-align:center}.puppy-information .section-lead{max-width:730px;margin:0 auto 28px}.policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;text-align:left;max-width:1050px;margin:26px auto}.policy-card{min-width:0;background:#fffdf9;border:1px solid #e1e5d9;border-radius:18px;padding:25px;box-shadow:0 5px 20px rgba(49,65,46,.04)}.policy-card h3,.contract-panel h3{font-family:'Cormorant Garamond',serif;color:#3e5543;font-size:1.65rem;margin:0 0 10px}.policy-card p,.contract-panel p{line-height:1.75;margin:0 0 12px}.contract-panel{max-width:850px;margin:22px auto 0;padding:30px;background:#e8eee3;border-radius:20px}.contract-panel .btn{margin-top:12px;display:inline-block;max-width:100%;white-space:normal}@media(max-width:700px){.policy-grid{grid-template-columns:minmax(0,1fr);gap:13px}.policy-card{padding:21px}.contract-panel{padding:24px 18px}}

/* Contact options */
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 8px}.contact-actions .btn{max-width:100%;white-space:normal;text-align:center}.contact-address{overflow-wrap:anywhere;font-weight:600;color:#435a44;margin:4px 0 20px}@media(max-width:680px){.contact-actions{flex-direction:column}.contact-actions .btn{width:100%}}
