:root{--ivory:#f5f1e9;--paper:#faf8f3;--ink:#171514;--dark:#151413;--gold:#b28b45;--line:rgba(23,21,20,.15);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;line-height:1.65}.site-header{position:relative;background:var(--paper);border-bottom:1px solid var(--line);z-index:10}.header-inner{max-width:1240px;height:116px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:40px}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{display:block;width:210px;height:auto;max-height:86px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:31px}.site-nav a{color:var(--ink);font-size:13px;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.site-nav a:hover{color:var(--gold)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:.98;margin:0}.hero{position:relative;min-height:calc(100vh - 116px);display:flex;align-items:center;background-image:var(--hero);background-size:cover;background-position:center 30%;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 43%,rgba(0,0,0,.05) 78%)}.hero-content{position:relative;z-index:2;width:min(620px,90%);margin-left:max(7vw,32px);color:white}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:.23em;font-weight:600;margin-bottom:18px}.hero h1{font-size:clamp(68px,7.3vw,116px);letter-spacing:-.045em}.hero p{font-size:17px;max-width:600px;margin:30px 0 34px;color:rgba(255,255,255,.88)}.button{display:inline-flex;padding:15px 25px;text-decoration:none;letter-spacing:.1em;font-size:12px}.button-outline{border:1px solid rgba(205,166,91,.95);color:white}.button-outline:hover{background:var(--gold);color:white}.button-dark{border:1px solid var(--ink);color:var(--ink)}.scroll-cue{position:absolute;right:28px;bottom:38px;color:var(--gold);font-size:10px;letter-spacing:.18em;writing-mode:vertical-rl}.section-light{background:var(--ivory)}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:120px max(7vw,32px)}.about-copy{max-width:540px}.about-copy h2{font-size:clamp(60px,6vw,92px);margin-bottom:34px}.about-copy p{font-size:17px;max-width:560px}.about-image{overflow:hidden}.about-image img{width:100%;height:560px;object-fit:cover;object-position:center 35%;display:block;transition:transform 1s}.about-image:hover img{transform:scale(1.025)}.text-link{display:flex;width:max-content;gap:15px;align-items:center;margin-top:35px;color:var(--ink);font-size:11px;letter-spacing:.16em;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:10px}.text-link span{color:var(--gold);font-size:18px}.life-section{min-height:650px;background-image:var(--life);background-size:cover;background-position:center;position:relative;display:flex;align-items:center}.life-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,8,.73),rgba(10,10,8,.18) 60%,rgba(10,10,8,.04))}.life-content{position:relative;color:white;max-width:650px;margin-left:max(10vw,32px);padding:70px 0}.life-content h2{font-size:clamp(55px,6vw,88px);margin-bottom:25px}.life-content p{font-size:18px;color:rgba(255,255,255,.88)}.dogs-section{padding:105px max(7vw,32px) 120px}.section-heading{max-width:1100px;margin:0 auto 36px;display:flex;justify-content:space-between;gap:40px;align-items:end}.section-heading h2{font-size:clamp(54px,5vw,76px)}.section-heading>p{max-width:310px;font-size:13px;margin:0 0 4px}.dogs-feature{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.55fr .85fr;background:#e9e2d6}.dogs-image{min-height:590px;overflow:hidden}.dogs-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.dogs-copy{padding:70px 55px;display:flex;flex-direction:column;justify-content:center}.gold-line{width:27px;height:1px;background:var(--gold);margin-bottom:28px}.dogs-copy p{font-size:14px;margin:0 0 28px}.dogs-copy .text-link{margin-top:0;margin-bottom:13px}.purpose-section{background:var(--dark);color:white;padding:105px max(7vw,32px) 112px}.dark-heading{margin-bottom:44px}.dark-heading h2{font-size:clamp(55px,5vw,76px)}.purpose-grid{max-width:1115px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}.purpose-grid article{padding:35px 28px 10px;border-right:1px solid rgba(255,255,255,.18);min-height:205px}.purpose-grid article:first-child{padding-left:0}.purpose-grid article:last-child{border-right:0}.purpose-grid span{color:var(--gold);font-size:11px;letter-spacing:.1em}.purpose-grid h3{font-size:31px;margin:25px 0 15px}.purpose-grid p{font-size:14px;color:rgba(255,255,255,.72);max-width:220px}.news-section{padding:105px max(7vw,32px) 120px}.news-head{max-width:1115px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}.news-head h2{font-size:clamp(55px,5vw,76px)}.news-placeholder{max-width:1115px;margin:45px auto 0;border-top:1px solid var(--line);padding-top:24px;color:#777}.generic-page{background:var(--ivory);min-height:65vh;padding:100px 24px}.content-wrap{max-width:900px;margin:auto}.content-wrap h1{font-size:72px;margin:20px 0 40px}.site-footer{background:#11100f;color:white;padding:58px max(7vw,32px) 18px}.footer-inner{max-width:1160px;margin:auto;display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:70px;align-items:start}.footer-logo{width:245px;max-height:78px;object-fit:contain;filter:brightness(0) invert(1);margin:0 0 14px}.site-footer p{color:rgba(255,255,255,.75);font-size:14px}.footer-label{color:var(--gold);font-size:11px;letter-spacing:.2em}.footer-nav{display:flex;flex-direction:column;gap:8px;margin-top:18px}.footer-nav a,.site-footer .site-nav a{color:white;text-decoration:none;font-size:14px}.footer-inner .site-nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}.footer-bottom{max-width:1160px;margin:42px auto 0;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;color:rgba(255,255,255,.55);font-size:12px}.js .about-section,.js .life-content,.js .dogs-feature,.js .purpose-grid article,.js .news-section{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.js .is-visible{opacity:1;transform:none}@media(max-width:900px){.header-inner{height:86px}.site-nav{gap:14px;overflow:auto}.site-nav a{font-size:10px}.brand img{width:165px}.hero{min-height:78vh}.about-section{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}.about-image img{height:440px}.dogs-feature{grid-template-columns:1fr}.dogs-image{min-height:500px}.purpose-grid{grid-template-columns:1fr 1fr}.purpose-grid article:nth-child(2){border-right:0}.purpose-grid article:nth-child(3){border-top:1px solid rgba(255,255,255,.18)}.purpose-grid article:nth-child(4){border-top:1px solid rgba(255,255,255,.18)}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>div:last-child{display:none}}@media(max-width:620px){.header-inner{padding:0 16px}.site-nav{gap:11px}.site-nav a:nth-child(n+4){display:none}.hero-content{margin-left:24px}.hero h1{font-size:64px}.about-section,.dogs-section,.purpose-section,.news-section{padding-left:24px;padding-right:24px}.section-heading,.news-head{align-items:flex-start;flex-direction:column}.life-section{min-height:560px}.life-content{margin-left:24px;margin-right:24px}.purpose-grid{grid-template-columns:1fr}.purpose-grid article,.purpose-grid article:nth-child(2),.purpose-grid article:nth-child(3){border-right:0;border-top:1px solid rgba(255,255,255,.18);padding-left:0}.purpose-grid article:first-child{border-top:0}.footer-inner{grid-template-columns:1fr}}

/* House Of Herterr 0.1.4 refinements */
.site-header .brand img{width:285px!important;max-height:82px;height:auto}
.header-inner{min-height:112px}
.site-footer .footer-logo{width:260px!important;max-height:90px;height:auto}
.hoh-about{padding:90px 0}
.hoh-about-grid{display:grid;grid-template-columns:1fr .72fr;gap:64px;align-items:center}
.hoh-about-image{aspect-ratio:4/3;max-width:500px;margin-left:auto;overflow:hidden}
.hoh-about-image img{width:100%;height:100%;object-fit:cover}
.hoh-family{padding:90px 0;background:var(--ivory)}
.hoh-family-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:54px;align-items:center}
.hoh-family-image{aspect-ratio:16/9;overflow:hidden}
.hoh-family-image img{width:100%;height:100%;object-fit:cover}
.hoh-family-image img{object-position:center}
.hoh-family-copy h2{font:600 clamp(2.8rem,5vw,5rem)/.9 var(--serif);margin:12px 0 18px}
.hoh-family-links{display:flex;gap:30px;margin-top:28px}
.hoh-family-links a{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:12px}
@media(max-width:900px){
 .hoh-about-grid,.hoh-family-grid{grid-template-columns:1fr}
 .hoh-about-image{margin:0;max-width:none}
 .hoh-family-image{aspect-ratio:4/3}
}

/* House Of Herterr 0.1.5 */
.hoh-family-image{aspect-ratio:4/3;overflow:hidden}
.hoh-family-image img{width:100%;height:100%;object-fit:cover;object-position:center 68%}

.section-dark .feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  margin-top:54px;
  border-top:1px solid rgba(255,255,255,.18);
}
.section-dark .feature-card{
  min-height:230px;
  padding:38px 28px 30px 0;
  border-right:1px solid rgba(255,255,255,.18);
  display:flex;
  align-items:flex-end;
}
.section-dark .feature-card:last-child{border-right:0;padding-right:0;padding-left:28px}
.section-dark .feature-card:not(:first-child){padding-left:28px}
.section-dark .feature-card-content h3{
  margin:0 0 12px;
  color:#fff;
  font-family:var(--serif);
  font-size:34px;
  font-weight:500;
}
.section-dark .feature-card-content span{
  display:block;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.6;
  max-width:210px;
}
@media(max-width:900px){
 .section-dark .feature-grid{grid-template-columns:1fr 1fr}
 .section-dark .feature-card,
 .section-dark .feature-card:not(:first-child),
 .section-dark .feature-card:last-child{padding:28px 20px;min-height:190px;border-right:1px solid rgba(255,255,255,.18)}
 .section-dark .feature-card:nth-child(2){border-right:0}
}
@media(max-width:560px){
 .section-dark .feature-grid{grid-template-columns:1fr}
 .section-dark .feature-card,
 .section-dark .feature-card:not(:first-child),
 .section-dark .feature-card:last-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:26px 0}
}

/* House Of Herterr 0.1.6 — purpose cards */
.purpose-section{background:var(--dark);color:#fff;padding:110px 0 100px}
.purpose-section .section-heading{margin-bottom:0}
.purpose-section .dark-heading{color:#fff}
.purpose-grid{
  max-width:1115px;
  margin:54px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.18);
}
.purpose-grid article{
  min-height:245px;
  padding:34px 28px 28px 0;
  border-right:1px solid rgba(255,255,255,.18);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.purpose-grid article:not(:first-child){padding-left:28px}
.purpose-grid article:last-child{border-right:0}
.purpose-grid article>span{
  color:var(--gold);
  font-size:11px;
  letter-spacing:.18em;
  margin-bottom:auto;
}
.purpose-grid h3{
  margin:0 0 10px;
  color:#fff;
  font-family:var(--serif);
  font-size:34px;
  font-weight:500;
}
.purpose-grid p{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:15px;
  line-height:1.6;
  max-width:215px;
}
.dogs-image img{object-position:center 43%}
@media(max-width:900px){
 .purpose-grid{grid-template-columns:1fr 1fr}
 .purpose-grid article,.purpose-grid article:not(:first-child){padding:28px 20px;min-height:200px}
 .purpose-grid article:nth-child(2){border-right:0}
}
@media(max-width:560px){
 .purpose-grid{grid-template-columns:1fr}
 .purpose-grid article,.purpose-grid article:not(:first-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:26px 0}
}

/* 0.1.7 hard fix: purpose cards */
main .purpose-section .purpose-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  width:100% !important;
  max-width:1115px !important;
  margin:54px auto 0 !important;
  visibility:visible !important;
  opacity:1 !important;
}
main .purpose-section .purpose-grid article{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:245px !important;
  box-sizing:border-box !important;
  padding:34px 28px 28px 0 !important;
  border-right:1px solid rgba(255,255,255,.18) !important;
  color:#fff !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
}
main .purpose-section .purpose-grid article:nth-child(n+2){padding-left:28px !important}
main .purpose-section .purpose-grid article:last-child{border-right:0 !important}
main .purpose-section .purpose-grid article > span{
  display:block !important;
  color:var(--gold) !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  margin-bottom:auto !important;
}
main .purpose-section .purpose-grid h3{
  display:block !important;
  margin:0 0 10px !important;
  color:#fff !important;
  font-family:var(--serif) !important;
  font-size:34px !important;
  line-height:1.1 !important;
  font-weight:500 !important;
}
main .purpose-section .purpose-grid p{
  display:block !important;
  margin:0 !important;
  color:rgba(255,255,255,.68) !important;
  font-size:15px !important;
  line-height:1.6 !important;
  max-width:215px !important;
}
@media(max-width:900px){
 main .purpose-section .purpose-grid{grid-template-columns:1fr 1fr !important}
 main .purpose-section .purpose-grid article,
 main .purpose-section .purpose-grid article:nth-child(n+2){
   padding:28px 20px !important;min-height:200px !important
 }
 main .purpose-section .purpose-grid article:nth-child(2){border-right:0 !important}
}
@media(max-width:560px){
 main .purpose-section .purpose-grid{grid-template-columns:1fr !important}
 main .purpose-section .purpose-grid article,
 main .purpose-section .purpose-grid article:nth-child(n+2){
   border-right:0 !important;border-bottom:1px solid rgba(255,255,255,.18) !important;padding:26px 0 !important
 }
}

/* House Of Herterr 0.1.9 — About Us */
.about-page{background:var(--ivory)}
.about-hero{min-height:620px;display:flex;align-items:flex-end;padding:90px 0;background:var(--dark);color:#fff}
.about-hero-inner{width:min(var(--max),calc(100% - 80px));margin:0 auto}
.about-hero h1{font-family:var(--serif);font-size:clamp(76px,9vw,150px);font-weight:500;line-height:.84;letter-spacing:-.045em;margin:22px 0 34px}
.about-hero p{max-width:650px;font-size:19px;line-height:1.65;color:rgba(255,255,255,.76)}
.about-story{max-width:1115px;margin:0 auto;padding:130px 0;display:grid;grid-template-columns:1fr .9fr;gap:90px;align-items:center}
.about-story-copy h2,.about-founder-copy h2{font-family:var(--serif);font-weight:500;font-size:clamp(52px,6vw,86px);line-height:.92;letter-spacing:-.035em;margin:20px 0 30px}
.about-story-copy p,.about-founder-copy p{font-size:17px;line-height:1.75;max-width:580px}
.about-story-image{aspect-ratio:4/5;overflow:hidden}
.about-story-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.about-values{background:var(--dark);color:#fff;padding:120px max(40px,calc((100vw - 1115px)/2)) 110px}
.about-values-head h2{font-family:var(--serif);font-size:clamp(52px,6vw,88px);font-weight:500;line-height:.92;letter-spacing:-.035em;margin:20px 0 70px}
.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.about-values-grid article{min-height:260px;padding:30px 26px 24px 0;border-right:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}
.about-values-grid article:not(:first-child){padding-left:26px}
.about-values-grid article:last-child{border-right:0}
.about-values-grid span{color:var(--gold);font-size:11px;letter-spacing:.18em}
.about-values-grid h3{font-family:var(--serif);font-size:34px;font-weight:500;margin:auto 0 10px}
.about-values-grid p{color:rgba(255,255,255,.68);line-height:1.6;margin:0;max-width:220px}
.about-founder{max-width:1115px;margin:0 auto;padding:130px 0;display:grid;grid-template-columns:.85fr 1fr;gap:90px;align-items:center}
.about-founder-image{aspect-ratio:4/5;overflow:hidden}
.about-founder-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.about-location{background:#e8e2d7;display:flex;justify-content:space-between;align-items:center;padding:90px max(40px,calc((100vw - 1115px)/2))}
.about-location h2{font-family:var(--serif);font-size:clamp(50px,6vw,82px);font-weight:500;line-height:.9;margin:20px 0 0}
.button-outline-dark{color:var(--ink);border-color:var(--ink)}
@media(max-width:900px){
 .about-hero{min-height:520px}
 .about-story,.about-founder{grid-template-columns:1fr;padding:90px 30px;gap:50px}
 .about-values{padding:90px 30px}
 .about-values-grid{grid-template-columns:1fr 1fr}
 .about-values-grid article:nth-child(2){border-right:0}
 .about-values-grid article:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}
 .about-location{padding:70px 30px}
}
@media(max-width:560px){
 .about-hero{padding:70px 24px}
 .about-hero-inner{width:100%}
 .about-story{padding:70px 24px}
 .about-values{padding:70px 24px}
 .about-values-grid{grid-template-columns:1fr}
 .about-values-grid article,.about-values-grid article:not(:first-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:28px 0}
 .about-values-grid article:last-child{border-bottom:0}
 .about-founder{padding:70px 24px}
 .about-location{padding:60px 24px;display:block}
 .about-location .button{margin-top:35px}
}

/* 0.1.9 refinements */
.brand img{width:250px;max-height:94px}
.footer-logo{filter:brightness(0) invert(1);opacity:.92}

/* 0.2.1 — Dogs archive, taxonomy and profile */
.dogs-page{background:var(--paper);padding:90px 24px 110px}
.dogs-wrap{max-width:1240px;margin:0 auto}
.dogs-intro{max-width:760px;margin-bottom:70px}
.dogs-intro h1{font-size:clamp(64px,8vw,118px);margin:12px 0 24px}
.dogs-intro p{font-size:18px;line-height:1.7;max-width:620px}
.dogs-switch{display:flex;gap:28px;border-bottom:1px solid var(--line);margin-bottom:44px}
.dogs-switch a{padding:0 0 15px;text-decoration:none;color:var(--ink);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.dogs-switch a:hover,.dogs-switch a.current{color:var(--gold)}
.dog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.dog-card{display:block;text-decoration:none;color:var(--ink)}
.dog-card-image{aspect-ratio:4/5;overflow:hidden;background:#ddd}
.dog-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.dog-card:hover .dog-card-image img{transform:scale(1.035)}
.dog-card-meta{padding:18px 0 8px}
.dog-card-name{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1.05}
.dog-card-call{margin-top:7px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#777}
.dogs-empty{padding:70px 0;font-size:18px;color:#666}
.dog-single{background:var(--paper)}
.dog-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);min-height:680px}
.dog-hero-image{min-height:680px;background:#e8e2d7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.dog-hero-photo{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.dog-hero-image img{width:100%;height:100%;object-fit:contain;display:block}
.dog-hero-copy{display:flex;align-items:center;padding:80px 8vw 80px 6vw;position:relative}
.dog-hero-copy:before{content:'';position:absolute;left:0;top:18%;width:1px;height:64px;background:var(--gold)}
.dog-hero-copy h1{font-size:clamp(58px,7vw,112px);margin:12px 0 28px;letter-spacing:-.045em}
.dog-call{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.dog-details{padding:95px 24px}
.dog-details-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:80px}
.dog-facts{border-top:1px solid var(--line)}
.dog-fact{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.dog-fact-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#8a7a5b}
.dog-fact-value{font-size:16px}
.dog-section-title{font-family:Georgia,'Times New Roman',serif;font-size:48px;margin:0 0 24px}
.dog-achievements{white-space:pre-line;line-height:1.8}
.dog-gallery{padding:0 24px 120px}
.dog-gallery-inner{max-width:1240px;margin:0 auto}
.dog-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.dog-gallery-grid a{position:relative;display:block;overflow:hidden;background:#e8e2d7;text-decoration:none}
.dog-gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .7s ease}
.dog-gallery-grid a:hover img{transform:scale(1.035)}
.dog-gallery-overlay{position:absolute;right:16px;bottom:14px;color:#fff;font-size:10px;letter-spacing:.16em;opacity:0;transform:translateY(7px);transition:.3s ease;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.dog-gallery-overlay b{font-size:17px;font-weight:400;margin-left:5px}
.dog-gallery-grid a:hover .dog-gallery-overlay{opacity:1;transform:none}
body.hoh-lightbox-open{overflow:hidden}
.hoh-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(12,11,10,.96);display:flex;align-items:center;justify-content:center;padding:50px 80px}
.hoh-lightbox[hidden]{display:none}
.hoh-lightbox figure{margin:0;max-width:min(1200px,90vw);max-height:90vh;display:flex;align-items:center;justify-content:center}
.hoh-lightbox figure img{max-width:100%;max-height:88vh;width:auto;height:auto;display:block}
.hoh-lightbox button{position:absolute;border:0;background:none;color:#fff;cursor:pointer;font-family:Georgia,serif;font-size:42px;line-height:1}
.hoh-lightbox-close{top:22px;right:30px;font-family:Arial,sans-serif!important;font-size:34px!important;font-weight:200}
.hoh-lightbox-prev{left:28px;top:50%;transform:translateY(-50%)}
.hoh-lightbox-next{right:28px;top:50%;transform:translateY(-50%)}
.hoh-lightbox button:hover{color:var(--gold)}
@media(max-width:800px){
  .dog-grid{grid-template-columns:1fr 1fr}
  .dog-hero{grid-template-columns:1fr}
  .dog-hero-image{min-height:600px}
  .dog-hero-copy{padding:60px 24px 70px}
  .dog-hero-copy:before{display:none}
  .dog-details-inner{grid-template-columns:1fr;gap:50px}
  .hoh-lightbox{padding:45px 48px}
}
@media(max-width:560px){
  .dog-grid,.dog-gallery-grid{grid-template-columns:1fr}
  .dogs-switch{gap:20px}
  .dog-hero-image{min-height:500px}
  .dog-fact{grid-template-columns:1fr;gap:5px}
  .hoh-lightbox{padding:45px 20px}
  .hoh-lightbox-prev{left:8px}.hoh-lightbox-next{right:8px}
}

/* 0.2.5 — Puppies page */
.puppies-page{background:var(--paper)}
.puppies-hero{min-height:560px;background:var(--dark);color:#fff;display:flex;align-items:flex-end;padding:90px 24px}
.puppies-hero-inner{width:min(1240px,100%);margin:0 auto}
.puppies-hero h1{font-family:var(--serif);font-size:clamp(76px,9vw,150px);font-weight:500;line-height:.84;letter-spacing:-.045em;margin:22px 0 0}
.puppies-status{background:var(--ivory);padding:120px 24px}
.puppies-status-inner{max-width:1115px;margin:auto}
.puppies-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:20px;align-items:start}
.puppies-status h2,.puppies-intro h2,.puppies-ready h2{font-family:var(--serif);font-weight:500;font-size:clamp(52px,6vw,84px);line-height:.92;letter-spacing:-.035em;margin:15px 0 30px}
.puppies-status p,.puppies-ready-copy p{font-size:17px;line-height:1.75;max-width:560px}
.puppies-status .button{margin-top:20px}
.puppies-approach{padding:125px 24px;background:var(--paper)}
.puppies-approach-inner{max-width:1115px;margin:auto}
.puppies-intro{max-width:700px;margin-bottom:70px}
.puppies-intro p{font-size:18px;line-height:1.75;max-width:620px}
.puppies-points{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.puppies-points article{min-height:260px;padding:30px 26px 24px 0;border-right:1px solid var(--line)}
.puppies-points article:not(:first-child){padding-left:26px}
.puppies-points article:last-child{border-right:0}
.puppies-points span{color:var(--gold);font-size:11px;letter-spacing:.18em}
.puppies-points h3{font-family:var(--serif);font-size:34px;font-weight:500;margin:42px 0 15px}
.puppies-points p{color:#666;line-height:1.65;margin:0;max-width:230px}
.puppies-ready{background:#e8e2d7;padding:105px 24px 115px}
.puppies-ready-inner{max-width:1115px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.puppies-ready-copy .text-link{margin-top:30px}
@media(max-width:900px){
 .puppies-hero{min-height:500px;padding:70px 30px}
 .puppies-status{padding:90px 30px}.puppies-status-grid,.puppies-ready-inner{grid-template-columns:1fr;gap:45px}
 .puppies-approach{padding:90px 30px}.puppies-points{grid-template-columns:1fr 1fr}
 .puppies-points article:nth-child(2){border-right:0}.puppies-points article:nth-child(n+3){border-top:1px solid var(--line)}
}
@media(max-width:560px){
 .puppies-hero{padding:65px 24px}.puppies-status,.puppies-approach,.puppies-ready{padding-left:24px;padding-right:24px}
 .puppies-points{grid-template-columns:1fr}.puppies-points article,.puppies-points article:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.puppies-points article:last-child{border-bottom:0}
}

/* Keep the dog profile hero compact while adding the Puppies template. */
.dog-hero{height:680px;min-height:0}
.dog-hero-image{height:680px;min-height:0}
@media(max-width:800px){.dog-hero{height:auto;min-height:0}.dog-hero-image{height:600px;min-height:0}}
@media(max-width:560px){.dog-hero-image{height:500px;min-height:0}}

/* 0.2.5 — Breeder Info page */
.breeder-page{background:var(--paper)}
.breeder-hero{min-height:560px;background:var(--dark);color:#fff;display:flex;align-items:flex-end;padding:90px 24px}
.breeder-hero-inner{width:min(1240px,100%);margin:0 auto}
.breeder-hero h1{font-family:var(--serif);font-size:clamp(72px,9vw,145px);font-weight:500;line-height:.86;letter-spacing:-.045em;margin:22px 0 28px}
.breeder-hero p{max-width:680px;font-size:18px;line-height:1.65;margin:0;color:#e8e4dd}
.breeder-intro{padding:125px 24px;background:var(--ivory)}
.breeder-intro-inner{max-width:1115px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.breeder-intro-copy h2,.breeder-health h2,.breeder-cta h2{font-family:var(--serif);font-size:clamp(54px,6vw,86px);font-weight:500;line-height:.92;letter-spacing:-.035em;margin:18px 0 30px}
.breeder-intro-copy p,.breeder-copy p{font-size:17px;line-height:1.75;max-width:580px}
.breeder-intro-image{overflow:hidden}
.breeder-intro-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.breeder-facts{padding:125px 24px;background:var(--paper)}
.breeder-facts-inner{max-width:1115px;margin:auto}
.breeder-facts-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:35px}
.breeder-facts article{min-height:285px;padding:30px 24px 25px 0;border-right:1px solid var(--line)}
.breeder-facts article:not(:first-child){padding-left:24px}
.breeder-facts article:last-child{border-right:0}
.breeder-facts span{color:var(--gold);font-size:11px;letter-spacing:.18em}
.breeder-facts h3,.breeder-care h3{font-family:var(--serif);font-size:34px;font-weight:500;margin:45px 0 15px}
.breeder-facts p,.breeder-care p{color:#666;line-height:1.65;margin:0;max-width:245px}
.breeder-health{padding:120px 24px;background:#e8e2d7}
.breeder-health-inner{max-width:1115px;margin:auto}
.breeder-health-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;margin-top:20px}
.breeder-copy{padding-top:8px}
.breeder-care{padding:120px 24px;background:var(--paper)}
.breeder-care-inner{max-width:1115px;margin:auto}
.breeder-care-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:35px;border-top:1px solid var(--line)}
.breeder-care article{padding:30px 24px 25px 0;border-right:1px solid var(--line);min-height:245px}
.breeder-care article:not(:first-child){padding-left:24px}
.breeder-care article:last-child{border-right:0}
.breeder-care h3{margin:38px 0 15px}
.breeder-cta{padding:120px 24px;background:var(--dark);color:#fff}
.breeder-cta-inner{max-width:1115px;margin:auto}
.breeder-cta h2{max-width:800px;color:#fff;margin-bottom:28px}
.breeder-cta p{max-width:620px;font-size:18px;line-height:1.7;color:#ddd8d0;margin-bottom:35px}
@media(max-width:900px){
 .breeder-hero{min-height:500px;padding:70px 30px}.breeder-intro{padding:90px 30px}.breeder-intro-inner,.breeder-health-grid{grid-template-columns:1fr;gap:55px}
 .breeder-facts,.breeder-care{padding:90px 30px}.breeder-facts-grid,.breeder-care-grid{grid-template-columns:1fr 1fr}.breeder-facts article:nth-child(2),.breeder-care article:nth-child(2){border-right:0}.breeder-facts article:nth-child(n+3),.breeder-care article:nth-child(n+3){border-top:1px solid var(--line)}
 .breeder-health,.breeder-cta{padding:90px 30px}
}
@media(max-width:560px){
 .breeder-hero{padding:65px 24px}.breeder-intro,.breeder-facts,.breeder-health,.breeder-care,.breeder-cta{padding-left:24px;padding-right:24px}
 .breeder-facts-grid,.breeder-care-grid{grid-template-columns:1fr}.breeder-facts article,.breeder-facts article:not(:first-child),.breeder-care article,.breeder-care article:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.breeder-facts article:last-child,.breeder-care article:last-child{border-bottom:0}
}

/* 0.2.6 — Contact page */
.contact-page{background:var(--paper)}
.contact-hero{min-height:560px;background:var(--dark);color:#fff;display:flex;align-items:flex-end;padding:90px 24px}
.contact-hero-inner{width:min(1240px,100%);margin:0 auto}
.contact-hero h1{font-family:var(--serif);font-size:clamp(72px,9vw,145px);font-weight:500;line-height:.86;letter-spacing:-.045em;margin:22px 0 28px}
.contact-hero p{max-width:690px;font-size:18px;line-height:1.65;margin:0;color:#e8e4dd}
.contact-main{padding:125px 24px;background:var(--ivory)}
.contact-main-inner{max-width:1115px;margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:100px;align-items:start}
.contact-intro h2,.contact-bottom h2{font-family:var(--serif);font-size:clamp(54px,6vw,86px);font-weight:500;line-height:.92;letter-spacing:-.035em;margin:18px 0 30px}
.contact-intro p,.contact-bottom p{font-size:17px;line-height:1.75;max-width:560px}
.contact-details{margin-top:55px;border-top:1px solid var(--line)}
.contact-details div{padding:22px 0;border-bottom:1px solid var(--line)}
.contact-details span{display:block;color:var(--gold);font-size:10px;letter-spacing:.18em;margin-bottom:8px}
.contact-details strong{font-weight:500}
.contact-form-wrap{border-top:1px solid var(--line);padding-top:5px}
.hoh-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.contact-field{padding:22px 0;border-bottom:1px solid #cfc8bd}
.contact-field:nth-child(5){grid-column:1/-1}
.contact-field label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;color:#555}
.contact-field label span{text-transform:none;letter-spacing:0;color:#888}
.contact-field input,.contact-field textarea{width:100%;border:0;border-radius:0;background:transparent;padding:7px 0;font:inherit;color:var(--dark);outline:none;box-sizing:border-box}
.contact-field textarea{resize:vertical;min-height:150px}
.contact-field input:focus,.contact-field textarea:focus{box-shadow:0 1px 0 var(--gold)}
.contact-consent{display:flex;gap:10px;align-items:flex-start;margin:25px 0 28px;font-size:13px;line-height:1.55;color:#666}
.contact-consent input{margin-top:3px;accent-color:#b8863b}
.contact-form-wrap .button{cursor:pointer;background:transparent}
.contact-notice{padding:18px 20px;margin-bottom:25px;font-size:14px;line-height:1.5}
.contact-success{background:#e5eadf;color:#3e4b38}
.contact-error{background:#eee0dc;color:#6b3c32}
.contact-bottom{padding:120px 24px;background:var(--dark);color:#fff}
.contact-bottom-inner{max-width:1115px;margin:auto}
.contact-bottom h2{color:#fff;max-width:900px}
.contact-bottom p{color:#ddd8d0;max-width:650px}
@media(max-width:900px){.contact-hero{min-height:500px;padding:70px 30px}.contact-main{padding:90px 30px}.contact-main-inner{grid-template-columns:1fr;gap:60px}.contact-bottom{padding:90px 30px}}
@media(max-width:560px){.contact-hero{padding:65px 24px}.contact-main,.contact-bottom{padding-left:24px;padding-right:24px}.hoh-contact-form{grid-template-columns:1fr}.contact-field:nth-child(5){grid-column:auto}}


/* News */
.news-page{background:var(--paper)}
.news-hero{min-height:560px;background:var(--dark);color:#fff;display:flex;align-items:flex-end;padding:90px 24px}
.news-hero-inner{width:min(1240px,100%);margin:0 auto}
.news-hero h1{font-family:var(--serif);font-size:clamp(76px,9vw,150px);font-weight:500;line-height:.84;letter-spacing:-.045em;margin:22px 0 28px}
.news-hero p{max-width:690px;font-size:18px;line-height:1.65;margin:0;color:#e8e4dd}
.news-list{padding:120px 24px;background:var(--ivory)}
.news-list-inner{max-width:1115px;margin:auto}
.news-list-header{display:flex;justify-content:space-between;align-items:end;gap:40px;border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:0}
.news-list-header h2{font-family:var(--serif);font-size:clamp(54px,6vw,86px);font-weight:500;line-height:.92;letter-spacing:-.035em;margin:15px 0 0}
.news-list-header p{font-size:15px;line-height:1.6;max-width:350px;margin:0;color:#666}
.news-card{display:grid;grid-template-columns:220px 1fr auto;gap:45px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line)}
.news-card-date{font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.news-card h3{font-family:var(--serif);font-size:38px;font-weight:500;line-height:1.02;margin:0 0 12px;letter-spacing:-.02em}
.news-card-excerpt{font-size:16px;line-height:1.65;color:#666;margin:0;max-width:650px}
.news-card-link{font-size:11px;letter-spacing:.16em;color:#111;text-decoration:none;white-space:nowrap}
.news-card-link span{color:var(--gold);font-size:16px;margin-left:8px}
.news-empty{padding:100px 0 35px}
.news-empty h2{font-family:var(--serif);font-size:clamp(50px,6vw,82px);font-weight:500;line-height:.95;letter-spacing:-.035em;max-width:700px;margin:15px 0 25px}
.news-empty p{font-size:17px;line-height:1.75;color:#555;max-width:600px;margin:0}
.news-note{background:#e8e2d7;padding:105px 24px 115px}
.news-note-inner{max-width:1115px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.news-note h2{font-family:var(--serif);font-size:clamp(54px,6vw,86px);font-weight:500;line-height:.92;letter-spacing:-.035em;margin:18px 0 0;max-width:650px}
.news-note p{font-size:17px;line-height:1.75;max-width:560px;margin:0 0 24px}
@media (max-width:900px){
 .news-hero{min-height:500px;padding:70px 30px}
 .news-list{padding:90px 30px}.news-list-header{display:block}.news-list-header p{margin-top:25px}
 .news-card{grid-template-columns:150px 1fr;gap:25px}.news-card-link{grid-column:2}
 .news-note{padding:90px 30px}.news-note-inner{grid-template-columns:1fr;gap:45px}
}
@media (max-width:600px){
 .news-hero{padding:65px 24px}.news-list,.news-note{padding-left:24px;padding-right:24px}
 .news-card{grid-template-columns:1fr;gap:12px}.news-card-link{grid-column:auto;margin-top:8px}
}
/* Single News post */
.news-single{
  background:var(--ivory);
  padding:110px 24px 130px;
}

.news-single .content-wrap{
  max-width:1115px;
  margin:0 auto;
}

.news-featured-image{
  width:100%;
  margin:0 0 55px;
  overflow:hidden;
}

.news-featured-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:720px;
  object-fit:cover;
}

.news-single .eyebrow{
  margin-bottom:18px;
}

.news-single h1{
  font-family:var(--serif);
  font-size:clamp(52px,6vw,88px);
  font-weight:500;
  line-height:.95;
  letter-spacing:-.035em;
  max-width:950px;
  margin:0 0 22px;
}

.news-meta{
  color:#8a7a5b;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-bottom:45px;
}

.news-content{
  max-width:780px;
  font-size:17px;
  line-height:1.75;
}

.news-content p{
  margin:0 0 22px;
}

.news-content img{
  max-width:100%;
  height:auto;
}

@media(max-width:900px){
  .news-single{
    padding:80px 30px 100px;
  }

  .news-featured-image{
    margin-bottom:40px;
  }

  .news-single h1{
    font-size:clamp(48px,8vw,72px);
  }
}

@media(max-width:600px){
  .news-single{
    padding:65px 24px 80px;
  }

  .news-single h1{
    font-size:48px;
  }

  .news-content{
    font-size:16px;
  }
}