:root{
  --bg:#f6f1e8;
  --surface:#fffaf3;
  --text:#183046;
  --muted:#5d6975;
  --line:#dfd7cb;
  --accent:#1d3b57;
  --accent-soft:#dfe8dd;
  --rust:#f5ece1;
  --gold:#f7f0d8;
  --teal:#e4f0ee;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:20;background:#f8f4ec;border-bottom:1px solid var(--line)}
.nav{max-width:1200px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;font-size:1.1rem;letter-spacing:.02em;color:var(--text)}
.brandmark{width:42px;height:42px;border-radius:50%;background:#ca7e5c;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem}
.navlinks{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.navlinks>a,.dropbtn{padding:14px 18px;border-radius:18px;font-size:1rem;font-weight:700;color:var(--text);background:transparent;border:none;cursor:pointer}
.dropdown{position:relative}
.dropdown-content{display:none;position:absolute;left:0;top:100%;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px 0;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.dropdown-content a{display:block;padding:12px 18px;color:var(--text);font-weight:700}
.dropdown:hover .dropdown-content,.dropdown:focus-within .dropdown-content{display:block}
main{min-height:60vh}
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:#e9e1d4}
.hero-photo{width:100%;height:min(68vw,620px);object-fit:cover;object-position:center 34%;filter:brightness(.60)}
.hero::after{content:'';position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(180deg,rgba(0,0,0,0) 0%, rgba(0,0,0,.12) 24%, rgba(0,0,0,.34) 100%);pointer-events:none}
.hero-inner{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:0;z-index:1}
.hero-copy{max-width:700px;margin:0 0 30px 58px;padding:0;color:#fff;background:none;box-shadow:none;border-radius:0}
.hero-copy h1{margin:.12em 0 .14em;font-size:clamp(2.2rem,4.8vw,4.35rem);line-height:1;text-shadow:0 3px 18px rgba(0,0,0,.40)}
.lead{font-size:clamp(1rem,1.65vw,1.24rem);max-width:700px;text-shadow:0 2px 14px rgba(0,0,0,.42);margin:0}
.eyebrow{display:inline-block;margin-bottom:8px;padding:0;border-radius:0;background:none;font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:.92rem;color:var(--accent)}
.hero .eyebrow{background:none;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.section{max-width:1200px;margin:0 auto;padding:48px 32px}
.section.tight{padding-top:18px}
.page-title{font-size:clamp(2.2rem,6vw,4.6rem);line-height:.98;margin:.1em 0 .25em}
.grid2,.grid3,.profile{display:grid;gap:28px}
.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile{grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:start}
.card,.photo-card,.placeholder,.callout{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:0 2px 0 rgba(0,0,0,.02)}
.card.rust{background:var(--rust)}
.card.gold{background:var(--gold)}
.card.teal{background:var(--teal)}
.photo-card{padding:0;overflow:hidden}
.photo-card img{width:100%;height:auto;object-fit:cover}
.caption{padding:16px 18px;color:var(--muted)}
.profile-photo{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:18px;overflow:hidden}
.profile-photo img{border-radius:18px;width:100%;object-fit:cover}
.placeholder{display:flex;align-items:center;justify-content:center;min-height:360px;text-align:center;color:var(--muted);background:linear-gradient(180deg,#fbf8f2,#f1ebe0)}
.meta{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 18px}
.meta span,.badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#eef1f4;color:var(--accent);font-weight:700;font-size:.93rem}
.badge{background:#f2eadf}
.btnrow{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.btn{display:inline-block;padding:14px 18px;border-radius:14px;background:var(--accent);color:#fff;font-weight:800}
.btn.secondary{background:#efe7dc;color:var(--text)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.gallery figure{margin:0;background:var(--surface);padding:0;border:1px solid var(--line);border-radius:24px;overflow:hidden}
.gallery figcaption{padding:14px 16px;color:var(--muted)}
.soft{border:none;border-top:1px solid var(--line);margin:22px 0}
.notice{margin-top:18px;padding:14px 16px;border-radius:18px;background:#f4eee3;color:var(--text)}
.callout{text-align:center;padding:34px}
.footer-inner{max-width:1200px;margin:0 auto;padding:24px 32px;display:grid;grid-template-columns:2fr 1fr;gap:22px}
footer{margin-top:28px;border-top:1px solid var(--line);background:#f7f2e9}
.revline{text-align:center;padding:12px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem}
.small{color:var(--muted);font-size:.95rem}

.timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:25px}
.step{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px 18px 16px;box-shadow:0 2px 0 rgba(0,0,0,.02)}
.dog-summary-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:28px;margin-top:30px;align-items:start}
.dog-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 2px 0 rgba(0,0,0,.02)}
.dog-summary-card.rust{background:var(--rust)}
.dog-summary-card.teal{background:var(--teal)}
.dog-summary-card img{width:100%;height:auto;object-fit:contain;display:block;background:#f2ede5}
.dog-summary-card .card-body{padding:22px 24px 24px}
.dog-summary-card h3{margin:0 0 8px}
.history-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start;margin-top:24px}
.info-list{margin:0;padding-left:20px}
.info-list li{margin:0 0 8px}
.section-note{margin-top:18px}
@media (max-width:900px){
  .grid2,.grid3,.profile,.footer-inner,.gallery,.timeline,.dog-summary-grid,.history-grid{grid-template-columns:1fr}
  .nav{align-items:flex-start;flex-direction:column}
  .navlinks{width:100%}
  .dropdown-content{position:static;display:block;box-shadow:none;border:none;background:transparent;padding:0}
  .dropbtn{padding-left:0}
  .dropdown-content a{padding-left:0}
  .hero-inner{justify-content:flex-start;padding:0}
  .hero-copy{margin:0 18px 18px 18px;max-width:none;padding:0}
  .hero-copy h1{font-size:clamp(2rem,10vw,3rem)}
  .lead{max-width:none;font-size:1rem}
}

.about-photo img{width:100%;height:auto;object-fit:contain;display:block}
.size-note{font-size:.9rem;color:var(--muted);margin-top:8px}


/* Phase 4 — release-candidate functional polish */
.contactbox{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
.formmock{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:26px}
.formmock h3{margin-top:0}
.formmock label{display:block;font-weight:800;margin:15px 0 6px}
.formmock input,.formmock select,.formmock textarea{
  width:100%;font:inherit;color:var(--text);background:white;border:1px solid #cfc6b9;
  border-radius:12px;padding:12px 13px;outline:none
}
.formmock input:focus,.formmock select:focus,.formmock textarea:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(29,59,87,.12)
}
.formmock button{
  margin-top:18px;border:0;border-radius:14px;padding:14px 18px;background:var(--accent);
  color:white;font:inherit;font-weight:800;cursor:pointer
}
.formmock button[disabled]{opacity:.6;cursor:wait}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin-top:16px}
.checkbox-row input{width:auto;margin-top:5px}
.form-status{margin-top:14px;padding:12px 14px;border-radius:12px;display:none}
.form-status.ok{display:block;background:#e7f2e8;color:#214b2b}
.form-status.error{display:block;background:#f8e6e2;color:#7a2c20}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.footer-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}
.privacy-card{max-width:860px}
.privacy-card h2{margin-top:30px}
.release-note{background:#edf2f5;border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-top:18px}
@media (max-width:900px){
  .contactbox,.form-row{grid-template-columns:1fr}
}


/* rev 0.9.1 — compact Our Dogs photo-card gallery */
.dog-card-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
  align-items:stretch;
}
.dog-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:0 2px 0 rgba(0,0,0,.02);
  background:var(--surface);
}
.dog-card.rust{background:var(--rust)}
.dog-card.teal{background:var(--teal)}
.dog-card.gold{background:var(--gold)}
.dog-card-photo{
  background:#ebe5db;
  border-bottom:1px solid var(--line);
  padding:0;
}
.dog-card-photo img{
  width:100%;
  height:205px;
  object-fit:contain;
  object-position:center;
  display:block;
  background:#efe9df;
}
.dog-card-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:17px 17px 18px;
}
.dog-card h3{font-size:1.18rem;margin:0 0 8px}
.dog-card .meta{gap:6px;margin:6px 0 12px}
.dog-card .meta span{font-size:.76rem;padding:6px 8px}
.dog-card p{font-size:.94rem;margin:0 0 14px}
.dog-card .profile-link{margin-top:auto;font-weight:800}
@media (max-width:1180px){.dog-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.dog-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dog-card-photo img{height:220px}}
@media (max-width:500px){.dog-card-grid{grid-template-columns:1fr}.dog-card-photo img{height:auto;max-height:360px}}

.studio-credit{
  text-align:center;
  padding:10px 18px 2px;
  color:var(--muted);
  font-size:.88rem;
}
.studio-credit a{
  color:var(--accent);
  font-weight:700;
}

.secure-check{
  margin-top:18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#f8f5ee;
}
