@font-face{font-family:Marcellus;src:url(/fonts/marcellus.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;size-adjust:100%;ascent-override:92%;descent-override:24%}
@font-face{font-family:"Marcellus SC";src:url(/fonts/marcellus-sc.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --cream:#FBF6EF;
  --cream-2:#F7EFE5;
  --blush:#F2E0D6;
  --choc:#3E2A20;
  --body:#6A5245;
  --muted:#7C6355;
  --accent:#8A5A42;
  --dark:#2E1F18;
  --line:rgba(62,42,32,.14);
  --line-2:rgba(62,42,32,.075);

  --serif:Marcellus,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --serif-sc:"Marcellus SC",Marcellus,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",
         system-ui,Roboto,"Helvetica Neue",Arial,sans-serif;

  --wrap:1140px;
  --gut:clamp(20px,5vw,44px);
  --r:20px;
  --ease:cubic-bezier(.4,0,.2,1);
  --shadow:0 1px 2px rgba(62,42,32,.05),0 14px 40px -18px rgba(62,42,32,.22);

  --hero-scrim-top:0.53;
  --hero-scrim-mid:0.42;
  --hero-scrim-bot:0.70;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--cream);color:var(--body);font-family:var(--sans);
  font-size:17px;line-height:1.65;letter-spacing:-.003em;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
picture{display:contents}
a{color:inherit}
button{font:inherit;color:inherit}
::selection{background:var(--blush);color:var(--choc)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.narrow{max-width:760px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* SKIP-LINK:FOCUS */
a.sr-only:focus{position:fixed;top:.75rem;left:.75rem;z-index:200;width:auto;height:auto;
  margin:0;overflow:visible;clip:auto;clip-path:none;
  padding:.7rem 1.1rem;border-radius:var(--r,10px);
  background:var(--choc);color:var(--cream);font-size:.95rem;text-decoration:none;
  box-shadow:0 8px 24px rgba(46,31,24,.28)}

.h1,.h2,.h3,.h4{font-family:var(--serif);font-weight:400;color:var(--choc);margin:0;
  letter-spacing:-.005em}
.h1{font-size:clamp(2.5rem,6vw,3.85rem);line-height:1.06}
.h2{font-size:clamp(1.95rem,4vw,2.9rem);line-height:1.12}
.h3{font-size:clamp(1.3rem,2.1vw,1.55rem);line-height:1.22;letter-spacing:-.012em}
.h4{font-size:1.12rem;line-height:1.3;letter-spacing:-.008em}

.eyebrow{font-family:var(--serif-sc);font-size:.94rem;font-weight:400;letter-spacing:.11em;
  color:var(--accent);margin:0 0 .95rem}

.lede{font-family:var(--serif);font-size:clamp(1.16rem,1.9vw,1.4rem);line-height:1.62;
  color:var(--body);letter-spacing:0}
.prose{font-family:var(--serif);font-size:clamp(1.05rem,1.5vw,1.16rem);line-height:1.7;
  letter-spacing:0}
.prose p{margin:0 0 1.15em}
p{margin:0 0 1.1em}p:last-child{margin-bottom:0}
.sub{font-size:clamp(1rem,1.35vw,1.11rem);line-height:1.6;color:var(--muted);
  margin:1.15rem auto 0;max-width:52ch}
.fine{font-size:.87rem;line-height:1.55;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.95rem 1.9rem;border-radius:999px;background:var(--choc);color:var(--cream);
  text-decoration:none;font-size:.98rem;font-weight:500;border:0;cursor:pointer;
  letter-spacing:.005em;transition:transform .3s var(--ease),background .3s var(--ease)}
.btn:hover{transform:translateY(-2px);background:var(--dark)}
.btn:active{transform:translateY(0)}
.btn-light{background:var(--cream);color:var(--choc)}
.btn-light:hover{background:#fff}
.btn-quiet{background:transparent;color:var(--choc);border:1px solid var(--line);
  padding:.9rem 1.7rem}
.btn-quiet:hover{background:var(--cream);border-color:transparent}
.tlink{font-family:var(--sans);font-size:.97rem;font-weight:500;color:var(--accent);
  text-decoration:none;display:inline-flex;align-items:center;gap:.42rem}
.tlink svg{transition:transform .3s var(--ease)}
.tlink:hover svg{transform:translateX(4px)}

#hdr{position:fixed;top:0;left:0;right:0;z-index:80;
  transition:background .35s var(--ease),box-shadow .35s var(--ease),
             backdrop-filter .35s var(--ease)}
#hdr .bar{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;
  padding-block:1.05rem}
.brand{font-family:var(--serif);font-size:1.16rem;font-weight:400;letter-spacing:.004em;
  text-decoration:none;color:var(--cream);white-space:nowrap;line-height:1.1;
  transition:color .35s var(--ease)}
.brand small{display:block;font-family:var(--serif-sc);font-size:.68rem;font-weight:400;
  letter-spacing:.13em;opacity:.74;margin-top:.24rem}
.nav{display:flex;gap:1.75rem;align-items:center}
.nav a{text-decoration:none;font-size:.93rem;color:rgba(251,242,232,.86);
  transition:color .3s var(--ease)}
.nav a:hover,.nav a[aria-current=page]{color:#fff}
#hdr .btn{padding:.68rem 1.35rem;font-size:.9rem}
#hdr.solid{background:rgba(253,250,246,.9);backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  box-shadow:0 1px 0 var(--line-2),0 10px 30px -22px rgba(74,50,39,.5)}
#hdr.solid .brand{color:var(--choc)}
#hdr.solid .nav a{color:var(--muted)}
#hdr.solid .nav a:hover,#hdr.solid .nav a[aria-current=page]{color:var(--choc)}
@supports not (backdrop-filter:blur(1px)){#hdr.solid{background:var(--cream)}}
@media(max-width:900px){.nav{display:none}}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;
  padding-block:clamp(7rem,14vw,9rem) clamp(3.2rem,7vw,5rem);isolation:isolate;overflow:hidden}
.hero .media,.hero .media video,.hero .media img{position:absolute;inset:0;width:100%;
  height:100%;object-fit:cover}
.hero .media{z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(40,27,20,var(--hero-scrim-top)) 0%,
    rgba(40,27,20,var(--hero-scrim-mid)) 42%,
    rgba(40,27,20,var(--hero-scrim-bot)) 100%)}
.hero-in{max-width:min(700px,100%)}
.hero .eyebrow{color:rgba(244,227,213,.92)}
.hero .h1{color:#fff;text-wrap:balance}
.hero .sub{color:rgba(251,242,232,.9);margin-inline:0;max-width:44ch}
.hero .btn{margin-top:2rem}
.scroll-cue{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);
  width:1px;height:46px;background:linear-gradient(180deg,transparent,rgba(251,242,232,.7));
  z-index:1}

section[id]{scroll-margin-top:88px}
.sec{padding-block:clamp(5.5rem,11vw,9.5rem)}
.sec-cream{background:var(--cream-2)}
.sec-blush{background:var(--blush)}
.sec-hd{max-width:640px;margin-inline:auto;text-align:center;
  margin-bottom:clamp(2.6rem,5vw,4rem)}
.sec-hd .h2{text-wrap:balance}

.creed{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.6rem clamp(1rem,3vw,2.2rem);font-family:var(--serif);
  font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--choc)}
.creed span{display:inline-flex;align-items:center;gap:clamp(1rem,3vw,2.2rem)}
.creed span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);
  opacity:.55}
.creed span:last-child::after{display:none}

.grid{display:grid;gap:clamp(1rem,2.2vw,1.6rem)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--cream);border:1px solid var(--line-2);border-radius:var(--r);
  padding:clamp(1.6rem,2.6vw,2.2rem);box-shadow:var(--shadow)}
.sec-cream .card,.sec-blush .card{background:var(--cream)}
.card .h4{margin-bottom:.55rem}
.card p{font-size:.99rem;color:var(--muted);margin:0}
.card .eyebrow{font-size:.82rem;color:var(--accent);margin:0 0 .6rem}

.pups{display:grid;gap:clamp(1rem,2.2vw,1.5rem);
  grid-template-columns:repeat(auto-fit,minmax(272px,1fr))}
.pup{background:var(--cream);border:1px solid var(--line-2);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.pup:hover{transform:translateY(-5px);
  box-shadow:0 1px 2px rgba(74,50,39,.05),0 26px 54px -22px rgba(74,50,39,.34)}
.pup-fig{position:relative;aspect-ratio:3/4;background:
  linear-gradient(150deg,var(--blush),var(--cream))}
.pup-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tag{position:absolute;top:.85rem;left:.85rem;z-index:2;font-family:var(--sans);
  font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  padding:.42rem .72rem;border-radius:999px;background:rgba(253,250,246,.94);color:var(--choc);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.tag-now{background:#2F5B3F;color:#F2F8F3}
.tag-soon{background:rgba(143,98,71,.95);color:#FFF6EF}
.pup-body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;flex:1}
.pup-name{font-family:var(--serif);font-size:1.45rem;font-weight:400;color:var(--choc);
  line-height:1.1;margin:0}
.pup-gen{font-size:.85rem;color:var(--muted);margin:.3rem 0 0}
.spec{list-style:none;margin:auto 0 0;padding:.9rem 0 0;display:grid;gap:.42rem;
  border-top:1px solid var(--line-2)}
.spec li{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}
.spec dt,.spec .k{color:var(--muted)}
.spec .v{color:var(--choc);font-weight:500;text-align:right}
.price{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line-2);
  display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}
.price .amt{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--choc)}
.price .note{font-size:.8rem;color:var(--muted)}

.band{position:relative;isolation:isolate;min-height:clamp(430px,64vh,640px);display:flex;
  align-items:center;overflow:hidden}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(40,27,20,.30),rgba(40,27,20,.66))}
.band-in{max-width:640px;color:var(--cream);text-align:left}
.band-in .h2{color:#fff}
.band-in p{color:rgba(251,242,232,.9);margin-top:1.1rem}
.band .eyebrow{color:rgba(244,227,213,.9)}

.gal{display:grid;gap:clamp(.6rem,1.4vw,1rem);grid-template-columns:repeat(3,1fr)}
.gal figure{margin:0;position:relative;aspect-ratio:3/4;border-radius:var(--r);
  overflow:hidden;background:linear-gradient(150deg,var(--blush),var(--cream))}
.gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease)}
.gal figure:hover img{transform:scale(1.04)}

.checks{list-style:none;margin:0;padding:0;display:grid;gap:.75rem 2rem;
  grid-template-columns:repeat(2,minmax(0,1fr))}
.checks li{display:flex;align-items:flex-start;gap:.7rem;font-size:1rem;color:var(--choc)}
.checks svg{flex:none;margin-top:.28rem;color:var(--accent)}

.rail{list-style:none;margin:0;padding:0;display:grid;gap:0}
.rail li{display:grid;grid-template-columns:minmax(104px,138px) 1fr auto;align-items:center;
  gap:clamp(1rem,3vw,2.4rem);padding-block:clamp(1.2rem,2.4vw,1.7rem);border-top:1px solid var(--line)}
.rail li:last-child{border-bottom:1px solid var(--line)}
.rail .when{font-family:var(--serif-sc);font-size:.86rem;font-weight:400;letter-spacing:.09em;
  color:var(--accent);padding-top:.3rem}
.rail .what{margin:0}
.rail .what strong{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:400;
  color:var(--choc);letter-spacing:-.005em}
.rail .what span{font-size:.94rem;color:var(--muted)}

.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;gap:0}
.steps li{counter-increment:s;display:grid;grid-template-columns:auto 1fr;
  gap:clamp(1rem,2.6vw,2rem);padding-block:clamp(1.3rem,2.6vw,1.9rem);
  border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);
  font-size:1.05rem;color:var(--accent);opacity:.8;padding-top:.2rem;min-width:2ch}
.steps .h4{margin-bottom:.35rem}
.steps p{font-size:.97rem;color:var(--muted);margin:0}

.marks{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:clamp(1.2rem,3.4vw,2.8rem)}
.marks img{height:clamp(44px,6vw,60px);width:auto;opacity:.85;
  mix-blend-mode:multiply;
  filter:saturate(.2) contrast(.98);transition:opacity .3s var(--ease),filter .3s var(--ease)}
@supports not (mix-blend-mode:multiply){.marks img{mix-blend-mode:normal}}
.marks img:hover{opacity:1;filter:none}

.quotes{display:grid;gap:clamp(1rem,2.2vw,1.6rem);
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.quote{background:var(--cream);border:1px solid var(--line-2);border-radius:var(--r);
  padding:clamp(1.6rem,2.6vw,2.1rem);box-shadow:var(--shadow);display:flex;
  flex-direction:column;gap:1.1rem}
.quote blockquote{margin:0;font-family:var(--serif);font-size:1.06rem;line-height:1.62;
  color:var(--choc)}
.quote cite{font-style:normal;font-size:.86rem;color:var(--muted);letter-spacing:.03em}

.letter{text-align:center;max-width:660px;margin-inline:auto}
.sign{font-family:var(--serif);font-size:1.2rem;color:var(--choc);margin-top:1.8rem;
  line-height:1.5}

footer{background:var(--dark);color:rgba(251,242,232,.78);
  padding-block:clamp(3.4rem,7vw,5rem) 2.4rem}
footer a{color:rgba(251,242,232,.78);text-decoration:none}
footer a:hover{color:#fff}
.f-top{display:grid;gap:clamp(2rem,5vw,3rem);
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
.f-brand{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--cream);
  margin:0 0 .7rem}
.f-h{font-family:var(--serif-sc);font-size:.82rem;font-weight:400;letter-spacing:.12em;
  color:rgba(242,224,214,.66);margin:0 0 1rem}
.f-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;font-size:.95rem}
/* FOOTER:TAP-TARGETS */
@media (pointer:coarse){
  .f-list a{display:inline-block;padding-block:.62rem;margin-block:-.62rem}
  .f-list{gap:1.35rem}
}
.f-btm{margin-top:clamp(2.4rem,5vw,3.4rem);padding-top:1.6rem;
  border-top:1px solid rgba(251,242,232,.14);display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;
  justify-content:space-between;font-size:.85rem;color:rgba(251,242,232,.56)}

#cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:.6rem;
  padding:.7rem clamp(14px,4vw,20px) calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(253,250,246,.93);backdrop-filter:blur(18px) saturate(180%);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  border-top:1px solid var(--line-2);
  transform:translateY(110%);transition:transform .4s var(--ease)}
#cta-bar.up{transform:translateY(0)}
#cta-bar .btn{flex:1;padding:.85rem 1rem;font-size:.95rem}
@supports not (backdrop-filter:blur(1px)){#cta-bar{background:var(--cream)}}
@media(max-width:900px){#cta-bar{display:flex}body{padding-bottom:0}}

.r{opacity:0;transform:translateY(18px);
  transition:opacity .75s var(--ease),transform .75s var(--ease)}
.r.in{opacity:1;transform:none}
.r-2{transition-delay:.08s}.r-3{transition-delay:.16s}.r-4{transition-delay:.24s}

@media(max-width:900px){
  .g3{grid-template-columns:1fr}
  .f-top{grid-template-columns:1fr 1fr}
  .f-brand-col{grid-column:1/-1}
}
@media(max-width:680px){
  body{font-size:16.5px}
  .g2{grid-template-columns:1fr}
  .gal{grid-template-columns:repeat(2,1fr)}
  .gal figure:nth-child(n+5){display:none}
  .checks{grid-template-columns:1fr}
  .hero{min-height:100svh;min-height:100dvh;align-items:flex-end}
  .hero-in{max-width:none}
  .rail li{grid-template-columns:1fr;gap:.4rem}
  .rail .when{padding-top:0}
  .f-top{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
  .r{opacity:1;transform:none}
  .pup:hover{transform:none}
  .gal figure:hover img{transform:none}
  .scroll-cue{display:none}
}
@media(prefers-reduced-transparency:reduce){
  #hdr.solid,#cta-bar{background:var(--cream);backdrop-filter:none;-webkit-backdrop-filter:none}
  .tag{background:var(--cream);backdrop-filter:none;-webkit-backdrop-filter:none}
}

.pup-more{margin-top:.9rem;width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:.6rem;background:none;border:0;border-top:1px solid var(--line-2);padding:.85rem 0 0;
  cursor:pointer;font-size:.93rem;font-weight:500;color:var(--accent);text-align:left}
.pup-more svg{flex:none;transition:transform .3s var(--ease)}
.pup-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.pup-more:hover{color:var(--choc)}
.pup-detail{padding-top:.85rem}
.pup-detail p{font-size:.95rem;line-height:1.6;color:var(--muted);margin:0 0 .9rem}

.rail-cta{padding:.62rem 1.15rem;font-size:.88rem;white-space:nowrap}

@media(max-width:680px){
  .hero{text-align:center}
  .hero-in{max-width:none;margin-inline:auto}
  .hero .sub{margin-inline:auto}
  .hero .eyebrow{text-align:center}

  .pups{grid-template-columns:1fr;gap:1rem}

  .rail li{grid-template-columns:1fr;gap:.5rem;justify-items:start}
  .rail-cta{margin-top:.5rem}
}

@media(hover:none){
  .pup:hover{transform:none;box-shadow:var(--shadow)}
  .gal figure:hover img{transform:none}
}

.sec-top{padding-top:clamp(8.5rem,14vw,11rem)}
.sec-top .h1{font-size:clamp(2.1rem,4.6vw,3.1rem)}

.hero-short{min-height:clamp(420px,62vh,620px)}
@media(max-width:680px){.hero-short{min-height:clamp(380px,58svh,520px)}}
.hero-short picture{display:contents}
.fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-short picture,.hero picture{display:contents}

.faq{border-top:1px solid var(--line)}
.faq:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;
  justify-content:space-between;gap:1.5rem;padding-block:clamp(1.1rem,2.2vw,1.5rem);
  font-family:var(--serif);font-size:clamp(1.08rem,1.8vw,1.28rem);color:var(--choc);
  letter-spacing:-.012em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:11px;height:11px;margin-top:.45rem;
  border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);
  transform:rotate(45deg);transition:transform .3s var(--ease)}
.faq[open] summary::after{transform:rotate(-135deg)}
.faq summary:hover{color:var(--accent)}
.faq-a{padding-bottom:clamp(1.1rem,2.2vw,1.5rem);max-width:62ch}
.faq-a p{font-size:1rem;line-height:1.65;color:var(--body);margin:0}
.fig-cover picture{display:contents}
.fig-cover img{width:100%;height:100%;object-fit:cover}

/* ENQUIRY FORM */
.ef{max-width:640px;margin-inline:auto;display:grid;gap:clamp(1.4rem,2.6vw,1.9rem)}
.ef-set{border:0;padding:0;margin:0}
.ef-legend,.ef-label{display:block;font-size:.9rem;font-weight:600;color:var(--choc);
  margin-bottom:.7rem;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;padding:.6rem 1.05rem;border-radius:999px;
  border:1px solid var(--line);background:var(--cream);font-size:.93rem;color:var(--body);
  cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.chip span:hover{border-color:var(--accent)}
.chip input:checked+span{background:var(--choc);border-color:var(--choc);color:var(--cream)}
.chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.ef-input{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;
  background:var(--cream);color:var(--choc);font:inherit;font-size:1rem;
  transition:border-color .2s var(--ease)}
.ef-input:focus{outline:none;border-color:var(--accent)}
textarea.ef-input{resize:vertical;min-height:112px;line-height:1.55}
.ef-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:560px){.ef-row{grid-template-columns:1fr}}
.ef-hp{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ef-send{justify-self:start;min-width:190px}
.ef-send[disabled]{opacity:.6;cursor:progress}
.ef-msg{margin:0;font-size:.95rem;min-height:1.2em}
.ef-msg.err{color:#9B3A2E}
.ef-msg.ok{color:#2F5B3F}
.ef-done{text-align:center;padding:clamp(2rem,5vw,3rem) 0}
.ef-done .h2{margin-bottom:.8rem}


.sec-hd.left{text-align:left;margin-inline:0;max-width:560px}
.sec-hd.wide{max-width:760px}
.hd-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.5rem,4vw,3.5rem);align-items:end;margin-bottom:clamp(2.4rem,5vw,3.6rem)}
.hd-split .sub{margin:0;max-width:46ch}
@media(max-width:820px){.hd-split{grid-template-columns:1fr;align-items:start}}

.gal-f{display:grid;gap:clamp(.7rem,1.5vw,1.1rem);
  grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}
.gal-f figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r);
  background:linear-gradient(150deg,var(--blush),var(--cream))}
.gal-f img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease)}
.gal-f figure:hover img{transform:scale(1.045)}
.gal-f .tall{grid-column:span 2;grid-row:span 2;aspect-ratio:4/5}
.gal-f .wide{grid-column:span 2;aspect-ratio:3/2}
.gal-f .std{grid-column:span 1;aspect-ratio:3/4}
@media(max-width:820px){
  .gal-f{grid-template-columns:repeat(2,1fr)}
  .gal-f .tall{grid-column:span 2;grid-row:auto;aspect-ratio:4/5}
  .gal-f .wide{grid-column:span 2}
  .gal-f .std{grid-column:span 1}
}
@media(hover:none){.gal-f figure:hover img{transform:none}}

/* CARD LINKS OUT */
.pup-card{position:relative}
.pup-link{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line-2);
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  font-size:.95rem;font-weight:500;color:var(--accent);text-decoration:none}
.pup-link svg{transition:transform .3s var(--ease)}
.pup-card:hover .pup-link{color:var(--choc)}
.pup-card:hover .pup-link svg{transform:translateX(4px)}
.pup-link::after{content:"";position:absolute;inset:0;border-radius:var(--r)}

/* PUPPY PAGE */
.crumb{font-size:.85rem;color:var(--muted);margin:0 0 clamp(1.4rem,3vw,2.2rem)}
.crumb a{color:var(--accent);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.crumb span{margin:0 .45rem;opacity:.5}
.pp-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.8rem,4vw,3.5rem);align-items:start}
.pp-hero{margin:0;position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;
  background:linear-gradient(150deg,var(--blush),var(--cream));box-shadow:var(--shadow)}
.pp-hero picture{display:contents}
.pp-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pp-hero .tag{top:1rem;left:1rem}
.pp-side .h1{font-size:clamp(2rem,4vw,2.8rem)}
.pp-side .pup-gen{font-size:1rem;margin:.5rem 0 1.6rem}
.pp-spec{border-top:1px solid var(--line);margin:0 0 1.6rem;padding-top:1.1rem}
.pp-spec li{font-size:.98rem;padding-block:.25rem}
.pp-prose{margin-bottom:1.9rem}
.pp-prose p{font-size:1.04rem}
@media(max-width:820px){.pp-grid{grid-template-columns:1fr}}

.ef-card{background:#FFFDFA;border-radius:clamp(22px,3vw,30px);
  padding:clamp(1.8rem,4.5vw,3.4rem);max-width:760px;margin-inline:auto;
  box-shadow:0 1px 2px rgba(74,50,39,.06),0 30px 70px -30px rgba(74,50,39,.42)}
.ef-head{text-align:center;margin-bottom:clamp(1.8rem,3.5vw,2.6rem)}
.ef-head .sub{margin-top:.8rem}
.ef{display:grid;gap:clamp(1.5rem,3vw,2.1rem)}
.ef-legend{display:flex;align-items:center;gap:.6rem;font-family:var(--sans);
  font-size:.98rem;font-weight:600;color:var(--choc);margin-bottom:.9rem;padding:0}
.ef-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  border-radius:50%;background:var(--blush);color:var(--accent);font-size:.78rem;font-weight:700;flex:none}
.chips{gap:.55rem}
.chip span{padding:.7rem 1.2rem;font-size:.95rem;background:#fff;border-color:rgba(74,50,39,.22)}
.ef-label{display:block;font-size:.9rem;font-weight:600;color:var(--choc);margin-bottom:.5rem}
.ef-field{min-width:0}
.ef-input{padding:.95rem 1.05rem;border-radius:16px;background:#fff;
  border:1px solid rgba(74,50,39,.26)}
.ef-input:hover{border-color:rgba(74,50,39,.42)}
.ef-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(138,90,66,.14)}
.ef-input::placeholder{color:var(--muted);opacity:.75}
.ef-row{gap:1.1rem}
.ef-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;
  border-top:1px solid var(--line-2);padding-top:clamp(1.3rem,2.6vw,1.8rem)}
.ef-foot .fine{margin:0}
.ef-send{padding:1rem 2.1rem}
@media(max-width:560px){.ef-send{width:100%}.ef-foot{flex-direction:column;align-items:stretch;text-align:center}}

/* WHICH DOG THIS ENQUIRY IS ABOUT */
.ef-about{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .7rem;
  background:var(--blush);border-radius:14px;padding:.85rem 1.1rem}
.ef-about-k{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent)}
.ef-about strong{font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--choc)}
.ef-about-g{font-size:.88rem;color:var(--muted)}
.ef-opt{font-weight:400;color:var(--muted);font-size:.82rem}

.ef-compact{max-width:560px;padding:clamp(1.5rem,3.2vw,2.4rem)}
.ef-compact .ef-head{margin-bottom:clamp(1.3rem,2.4vw,1.8rem)}
.ef-compact .ef-head .h2{font-size:clamp(1.6rem,2.8vw,2.1rem)}
.ef-compact .ef{gap:clamp(1rem,2vw,1.3rem)}

/* HAMBURGER + MOBILE MENU */
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center;
  flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:0}
.burger span{display:block;width:22px;height:1.5px;background:var(--cream);border-radius:2px;
  transition:transform .3s var(--ease),opacity .3s var(--ease),background .3s var(--ease)}
#hdr.solid .burger span{background:var(--choc)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:75;background:var(--cream);
  padding:calc(72px + env(safe-area-inset-top)) var(--gut) calc(2rem + env(safe-area-inset-bottom));
  overflow-y:auto;overscroll-behavior:contain}
.menu-in{display:flex;flex-direction:column;gap:.25rem;max-width:var(--wrap);margin-inline:auto}
.menu-in a{font-family:var(--serif);font-size:1.75rem;color:var(--choc);text-decoration:none;
  padding:.7rem 0;border-bottom:1px solid var(--line-2)}
.menu-in a:active{color:var(--accent)}
.menu-cta{align-self:flex-start;margin-top:1.6rem;font-family:var(--sans)!important;
  font-size:1rem!important;color:var(--cream)!important;border-bottom:0!important;padding:.95rem 1.9rem!important}
.menu-mail{font-family:var(--sans)!important;font-size:.95rem!important;color:var(--accent)!important;
  border-bottom:0!important;margin-top:1.2rem;word-break:break-all}
body.menu-open{overflow:hidden}

/* FOOTER CREDIT */
.f-credit{margin:1.4rem 0 0;font-size:.82rem;color:rgba(251,242,232,.5)}
.f-credit a{color:rgba(251,242,232,.72);text-decoration:underline;text-underline-offset:3px}
.f-credit a:hover{color:#fff}

@media(max-width:900px){
  .burger{display:flex}
  .hdr-cta{display:none}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  footer{padding-bottom:2.4rem}
}
@media(min-width:901px){.menu{display:none!important}}

.hero{background:var(--dark)}
@media(max-width:900px){
  .hero{min-height:100svh;min-height:100dvh;padding-top:calc(5.5rem + env(safe-area-inset-top))}
  .hero .media,.hero .media video,.hero .media img{height:100%}
}

/* ENQUIRY FORM ON A PHONE */
@media(max-width:560px){
  .ef-card,.ef-compact{padding:1.3rem 1.15rem;border-radius:20px}
  .ef-head{margin-bottom:1.2rem;text-align:left}
  .ef-head .h2{font-size:1.5rem}
  .ef-head .sub{margin-top:.5rem;font-size:.95rem}
  .ef{gap:1rem}
  .ef-row{grid-template-columns:1fr;gap:1rem}
  .ef-input{font-size:16px;padding:.85rem .95rem;border-radius:12px}
  .ef-label{font-size:.88rem;margin-bottom:.4rem}
  .ef-about{padding:.7rem .9rem;border-radius:12px}
  .ef-about strong{font-size:1rem}
  .ef-foot{padding-top:1.1rem;gap:.8rem}
  .ef-foot .fine{font-size:.85rem}
}

body.menu-open #hdr{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
body.menu-open .brand{color:var(--choc)}
body.menu-open .brand small{opacity:.6}
body.menu-open .burger span{background:var(--choc)}

html{overscroll-behavior-x:none}
body{overflow-x:clip;overscroll-behavior-x:none;max-width:100%}

/* PUPPY PAGE ON MOBILE */
@media(max-width:820px){
  .pp-side .btn{display:block;width:100%;text-align:center}
}
@media(max-width:680px){
  .pup-page ~ .sec .gal,.pp-gal{grid-template-columns:1fr;gap:.9rem}
  .pup-page ~ .sec .gal figure,.pp-gal figure{aspect-ratio:4/5}
}

/* LITTER TILES */
.rail:has(.lit-plain){grid-template-columns:1fr}
.rail .lit-plain{display:grid;grid-template-columns:minmax(104px,138px) 1fr auto;align-items:center;
  border-bottom:1px solid var(--line);padding:1.15rem 0;max-width:820px;margin-inline:auto;width:100%}
.lit-row{margin-top:clamp(1.6rem,3vw,2.4rem);overflow-x:auto;overflow-y:hidden;touch-action:pan-x;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.lit-row::-webkit-scrollbar{display:none}
.lit-track{display:flex;flex:none;width:max-content;list-style:none;margin:0;padding:0;will-change:transform}
.lit-track .lit{display:flex;flex-direction:column;align-items:stretch;
  flex:0 0 auto;width:clamp(232px,26vw,300px);margin-right:clamp(14px,1.6vw,22px);
  border-bottom:0;padding:0}
.lit-fig{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;
  background:linear-gradient(140deg,var(--blush),#E9D6CA);
  box-shadow:0 1px 2px rgba(62,42,32,.06),0 12px 28px -14px rgba(62,42,32,.28)}
.lit-fig picture,.lit-fig img{display:block;width:100%;height:100%;object-fit:cover}
.lit-body{padding-top:1.05rem;display:flex;flex-direction:column;flex:1}
.lit-track .lit .when{padding-top:0;display:block;margin-bottom:.3rem}
.lit-track .lit .what{margin:0 0 .9rem}
.lit-track .lit .rail-cta{margin-top:auto;align-self:start}
@media (max-width:700px){
  .rail .lit-plain{grid-template-columns:1fr;gap:.5rem;justify-items:start}
}

/* LITTER DIALOG */
.lit-dlg{border:0;padding:0;max-width:min(560px,92vw);width:100%;border-radius:6px;
  background:var(--cream);color:var(--body);
  box-shadow:0 24px 70px -20px rgba(46,31,24,.5)}
.lit-dlg::backdrop{background:rgba(46,31,24,.55);backdrop-filter:blur(3px)}
.lit-dlg-in{padding:clamp(1.5rem,4vw,2.4rem)}
.lit-dlg .h2{margin:.1rem 0 .35rem}
.lit-dlg-sub{margin:0 0 1.3rem;color:var(--muted)}
.lit-dlg-x{position:absolute;top:0;right:0;margin:0}
.lit-dlg-close{appearance:none;background:transparent;border:0;cursor:pointer;
  font-size:1.6rem;line-height:1;padding:.55rem .85rem;color:var(--body);border-radius:4px}
.lit-dlg-close:hover{color:var(--choc)}
.lit-dlg-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){
  .lit-dlg[open]{animation:litIn .24s cubic-bezier(.2,.7,.3,1)}
  @keyframes litIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
