*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--cream:#f5f0e8;--warm:#e8ddd0;--mid:#c8b8a2;
--dark:#3a2e20;--text:#4a3f30;--muted:#7a6a55;
--accent:#8b6b3d;--white:#fdfcfa;
--sans:'Tahoma','Geneva',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:400;color:var(--text);background:var(--white);line-height:1.6;font-size:15px}
header{position:sticky;top:0;z-index:100;background:var(--white);border-bottom:1px solid var(--warm)}
nav{max-width:1200px;margin:0 auto;padding:0 2rem;height:64px;display:flex;align-items:center}
.logo{font-family:var(--sans);font-size:1.1rem;font-weight:700;color:var(--dark);text-decoration:none;letter-spacing:.02em;margin-right:auto}
nav ul{display:flex;list-style:none}
nav ul a{display:block;padding:0 .85rem;height:64px;line-height:64px;font-size:.78rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .2s}
nav ul a:hover,nav ul a.active{color:var(--dark)}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--dark);margin-left:auto}
.btn{display:inline-block;padding:.8rem 2rem;background:var(--dark);color:var(--white);text-decoration:none;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .2s;border:1px solid var(--dark);margin-right:.75rem}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn-outline{background:transparent;color:var(--dark)}
.btn-outline:hover{background:var(--dark);color:var(--white)}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
section{padding:5rem 0}
.section-title{font-family:var(--sans);font-size:1.4rem;font-weight:700;color:var(--dark);margin-bottom:2.5rem;text-transform:uppercase;letter-spacing:.08em}
.center{text-align:center}
.hero{min-height:88vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1200px;margin:0 auto;padding:4rem 2rem;gap:5rem}
.hero-eyebrow{font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem}
.hero h1{font-family:var(--sans);font-size:clamp(2.5rem,4vw,4rem);font-weight:700;line-height:1.15;color:var(--dark);margin-bottom:1.5rem}
.hero-body{color:var(--muted);max-width:380px;margin-bottom:2.5rem;font-size:1rem}
.hero-img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.placeholder{background:var(--warm);display:flex;align-items:center;justify-content:center;color:var(--mid);font-size:.85rem}
.intro{background:var(--cream)}
.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.intro-grid h2{font-family:var(--sans);font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:.75rem}
.intro-grid p{color:var(--muted);font-size:.92rem}
.dogs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:3rem}
.dog-card{text-decoration:none;color:inherit;display:block}
.dog-card-wrap{overflow:hidden}
.dog-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s ease}
.dog-card:hover .dog-card-img{transform:scale(1.03)}
.dog-card-ph{width:100%;aspect-ratio:4/3;background:var(--warm);display:flex;align-items:center;justify-content:center;color:var(--mid);font-size:.8rem}
.dog-card-info{padding:.75rem 0}
.dog-card-info h3{font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:.15rem}
.dog-card-info p{font-size:.78rem;color:var(--muted);margin-bottom:.4rem}
.tag{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--mid);padding:.15rem .5rem}
.dog-profile{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:0 auto;padding:4rem 2rem;gap:5rem;align-items:start}
.sticky{position:sticky;top:80px}
.sticky img{width:100%;display:block}
.back{display:inline-block;font-size:.78rem;letter-spacing:.04em;color:var(--muted);text-decoration:none;margin-bottom:1.5rem}
.back:hover{color:var(--dark)}
.dog-profile h1{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:var(--dark);line-height:1.15;margin-bottom:.4rem}
.reg-name{font-style:italic;color:var(--muted);font-size:.95rem;margin-bottom:.2rem}
.dob{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mid);margin-bottom:2rem}
.dog-profile p{margin-bottom:1.1rem;font-size:.93rem;color:var(--text)}
.pedigree-section{background:var(--cream)}
.ped-tree{display:flex;align-items:center;overflow-x:auto;padding-bottom:1rem}
.ped-col{display:flex;flex-direction:column;gap:.75rem;flex-shrink:0}
.ped-line{width:2.5rem;flex-shrink:0;height:1px;background:var(--mid)}
.ped-box{background:var(--white);border:1px solid var(--mid);padding:.65rem 1rem;font-size:.82rem;color:var(--dark);min-width:195px}
.ped-main{background:var(--dark);color:var(--white);border-color:var(--dark);font-size:1rem;font-weight:700;padding:1rem 1.25rem}
.ped-label{display:block;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-bottom:.2rem}
.ped-main .ped-label{color:var(--warm)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.gallery-grid img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:opacity .2s}
.gallery-grid img:hover{opacity:.88}
.gallery-ph{aspect-ratio:1;background:var(--warm)}
footer{background:var(--dark);color:var(--cream);padding:3.5rem 0;text-align:center}
footer .logo{color:var(--cream);font-size:1.1rem;font-weight:700;margin-bottom:.75rem;display:block}
footer a{color:var(--mid);text-decoration:none}
footer a:hover{color:var(--cream)}
.footer-small{font-size:.72rem;color:var(--muted);margin-top:.75rem}
@media(max-width:1024px){.dogs-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
.hero,.dog-profile{grid-template-columns:1fr;gap:2rem;padding:3rem 1.5rem}
.hero{min-height:auto}.hero-image{order:-1}
.hero-img{aspect-ratio:16/9}
.intro-grid{grid-template-columns:1fr;gap:2rem}
.dogs-grid{grid-template-columns:repeat(2,1fr)}
nav ul{display:none}.nav-toggle{display:block}
.sticky{position:static}
.sticky img{aspect-ratio:16/9;object-fit:cover}
}
@media(max-width:600px){
.gallery-grid{grid-template-columns:repeat(2,1fr)}
.hero h1{font-size:2rem}
}

/* Critiques */
.critiques { display: flex; flex-direction: column; gap: 2rem; max-width: 780px; }
.critiques blockquote { margin: 0; padding: 1.25rem 1.5rem; border-left: 3px solid #b8a88a; background: #faf8f5; }
.critiques blockquote p { margin: 0 0 0.75rem; font-style: italic; line-height: 1.7; color: #2c2c2c; }
.critiques blockquote cite { font-size: 0.85rem; font-style: normal; color: #666; }
