/* Native designed lead form + modal (shared by the concepts and the Gazette site). Preview: no network. */
/* ---------------- native form ---------------- */
.nf [hidden],.nfb [hidden]{display:none!important}
.nfb{background:var(--card);color:var(--card-fg);padding:clamp(24px,3.4vw,44px);position:relative}
.nfb__k{font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.7;margin-bottom:10px}
.nfb__h{font-family:var(--fd);font-size:clamp(26px,2.6vw,36px);line-height:1.1;margin-bottom:12px}
.nfb__p{font-size:15px;opacity:.86;margin-bottom:6px}
.nfb__n{font-size:13px;opacity:.7;margin-bottom:20px}
.nf__fields{display:grid;gap:14px}
.nf__f{display:grid;gap:6px}
.nf__f label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.nf__f label small{text-transform:none;letter-spacing:0;font-weight:400;opacity:.7}
.nf input[type=text],.nf input[type=email],.nf input[type=tel]{width:100%;min-height:50px;padding:12px 16px;font:inherit;font-size:16px;color:var(--field-fg);background:var(--field);border:1px solid var(--field-line);border-radius:var(--fr,0);transition:border-color .2s,box-shadow .2s}
.nf input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 30%,transparent)}
.nf__f.is-err input{border-color:#c0392b}
.nf__err{font-size:13px;color:var(--err,#e0786a);min-height:0}
.nf__c{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:12.5px;line-height:1.45;opacity:.85;cursor:pointer}
.nf__c input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--acc)}
.nf__go{min-height:54px;margin-top:6px;border:0;background:var(--acc);color:var(--acc-ink);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:14px;cursor:pointer;border-radius:var(--fr,0);position:relative;overflow:hidden;transition:filter .2s}
.nf__go:hover{filter:brightness(1.08)}
.nf__go.is-busy span{opacity:0}
.nf__go.is-busy::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nfspin .7s linear infinite}
@keyframes nfspin{to{transform:rotate(360deg)}}
.nf__legal{font-size:12px;opacity:.7;margin:0}
.nf__about{font-size:14px;padding:10px 14px;border:1px dashed var(--field-line);margin:0}
.nf__about span{opacity:.7;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.nf__ok{padding:12px 0;outline:none;animation:nfok .6s cubic-bezier(.2,.7,.2,1)}
.nf__ok-k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--acc);margin-bottom:6px}
.nf__ok-h{font-family:var(--fd);font-size:clamp(28px,3vw,40px);line-height:1.1;margin-bottom:12px}
.nf__ok-pv{font-size:12px;opacity:.6;border-top:1px solid var(--field-line);padding-top:12px;margin-top:18px}
.nf__again{background:none;border:0;border-bottom:1px solid currentColor;padding:4px 0;cursor:pointer;font-size:14px}
@keyframes nfok{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.form__alt{font-size:13.5px;margin:18px 0 0;opacity:.85}

/* modal */
.nfm{padding:0;border:0;max-width:min(980px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 24px);background:transparent;color:var(--card-fg);overflow:visible}
.nfm::backdrop{background:rgba(8,5,3,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.nfm[open]{animation:nfmin .5s cubic-bezier(.2,.7,.2,1)}
.nfm[open]::backdrop{animation:nfmbg .5s ease}
@keyframes nfmin{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes nfmbg{from{opacity:0}to{opacity:1}}
.nfm__in{display:grid;background:var(--card);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
@media (min-width:900px){.nfm__in{grid-template-columns:.85fr 1.15fr}}
.nfm__art{display:none;position:relative;min-height:100%}
@media (min-width:900px){.nfm__art{display:flex;align-items:center;background:#0f0a07}.nfm__art picture{width:100%}}
.nfm__body{position:relative;padding:clamp(24px,3.6vw,48px)}
.nfm__x{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:inherit;opacity:.7}
.nfm__x:hover{opacity:1}
body.nfm-open{overflow:hidden}


/* THE GAZETTE — Elite Boerboels site theme (chosen concept F, 15/10). Layer on top of site.css: same markup, Gazette look.
   Newsprint cream + ink + rust, night bands, Fraunces + Manrope, square corners, rules, subtle warm photo tone. */
@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-italic-var.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url(/assets/fonts/manrope-var.woff2) format("woff2");font-weight:200 800;font-display:swap}
:root{--hdr-h:64px;
  --ink:#17110d;--ink-2:#201813;--ink-3:#2b211a;
  --maroon:#9b3a16;--maroon-2:#7e2e10;--maroon-3:#b2481f;
  --copper:#d47a3e;--copper-2:#e08c52;--copper-ink:#9b3a16;
  --paper:#ece3d2;--cream:#e4d9c4;--sand:#d9c9a8;
  --text:#1c1510;--muted:#54463a;--line:rgba(28,21,16,.22);
  --on-dark:#efe5d3;--on-dark-muted:#c7b79f;--line-dark:rgba(239,229,211,.18);
  --head:Fraunces,Georgia,serif;--sans:Manrope,system-ui,sans-serif;
  --r:0;--r2:0;--shadow:0 24px 48px -28px rgba(28,21,16,.5);
  --photo-tone:sepia(.14) saturate(.86) contrast(1.02);
  /* form tokens */
  --card:#f7f0e2;--card-fg:#1c1510;--field:#fffbf3;--field-fg:#1c1510;--field-line:rgba(28,21,16,.3);--acc:#9b3a16;--acc-ink:#fbf4e7;--fd:Fraunces,Georgia,serif;--err:#a3301c}
@media (min-width:1081px){:root{--hdr-h:76px}}
body{background:var(--paper);color:var(--text)}
::selection{background:var(--maroon);color:var(--paper)}
h1,h2,h3,h4,h5{font-weight:800;letter-spacing:-.015em;font-variation-settings:"opsz" 144}
.display{font-weight:800;letter-spacing:-.025em}
.eyebrow{font-family:var(--sans);font-weight:800;letter-spacing:.3em}
.pull{font-style:italic;font-weight:500;border-left:3px double var(--ink)}

/* header: fixed height in CSS (never measured), full width, flush to the top, iPhone safe area */
.hdr{height:calc(var(--hdr-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--ink);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid rgba(239,229,211,.12)}
.hdr__in{height:100%;padding-top:0;padding-bottom:0;max-width:none}
.brand__logo{width:96px}
@media (min-width:1081px){.brand__logo{width:112px}}
.nav ul a{font-family:var(--sans);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.nav__cta,.hdr .btn--copper{background:var(--copper)!important;color:var(--ink)!important}
@media (max-width:1080px){.nav{inset:calc(var(--hdr-h) + env(safe-area-inset-top,0px)) 0 auto 0;height:calc(100dvh - var(--hdr-h) - env(safe-area-inset-top,0px))}.nav ul a{font-family:var(--head);font-weight:700;text-transform:none;letter-spacing:0}}
main{padding-top:calc(var(--hdr-h) + env(safe-area-inset-top,0px))}
html{scroll-padding-top:calc(var(--hdr-h) + 12px)}

/* gazette strip */
.gz-strip{display:flex;justify-content:space-between;gap:12px;max-width:var(--wrap);margin:14px auto 0;padding:8px var(--gut);font:800 10.5px/1.3 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--text);background:linear-gradient(var(--ink),var(--ink)) var(--gut) 0/calc(100% - 2 * var(--gut)) 3px no-repeat,linear-gradient(var(--ink),var(--ink)) var(--gut) 6px/calc(100% - 2 * var(--gut)) 1px no-repeat,linear-gradient(var(--ink),var(--ink)) var(--gut) 100%/calc(100% - 2 * var(--gut)) 1px no-repeat}
.gz-strip span{padding-top:4px}
@media (max-width:700px){.gz-strip span:first-child,.gz-strip span:last-child{display:none}.gz-strip{justify-content:center}}

/* buttons: square, ink / rust */
.btn{border-radius:0;font-family:var(--sans);font-weight:800;letter-spacing:.14em}
.btn--copper{background:var(--maroon);color:#fbf4e7}
.btn--copper:hover{background:var(--maroon-2)}
.sec--ink .btn--copper,.sec--dark .btn--copper,.phero .btn--copper,.hero .btn--copper,.post-cta .btn--copper,.ftr .btn--copper,.mcta .btn--copper{background:var(--copper);color:var(--ink)}
.btn--maroon{background:var(--ink);color:var(--paper)}
.btn--maroon:hover{background:var(--maroon)}
.btn--line-dark{border-color:var(--ink);color:var(--ink)}
.btn--line-dark:hover{background:var(--ink);color:var(--paper)}
.link-arrow,.card__more{color:var(--maroon);border-bottom:1px solid currentColor}

/* sections */
.sec--paper{background:var(--paper)}
.sec--cream{background:var(--cream)}
.sec--ink,.sec--dark,.sec--maroon{background:var(--ink);color:var(--on-dark)}
.sec--maroon .eyebrow,.sec--ink .eyebrow,.sec--dark .eyebrow,.eyebrow--copper{color:#d9905a}
.sec__head{position:relative;padding-top:18px}
.sec__head::before{content:"";position:absolute;left:0;right:0;top:0;height:7px;border-top:1px solid currentColor;border-bottom:3px solid currentColor;opacity:.85}
.sec--ink .sec__head::before,.sec--dark .sec__head::before{opacity:.35}

/* heroes: sepia photo plates */
.hero,.phero{background:var(--ink)}
.hero__media img,.phero__media img{filter:sepia(.3) contrast(1.04) brightness(.92)}
.hero__h,.phero__h{font-family:var(--head);font-weight:800;letter-spacing:-.025em}
.bhero{background:var(--paper);border-bottom:3px double var(--ink)}
.bhero .display--xl{font-weight:900}

/* photos: subtle warm tone to marry real photos to the newsprint (coats unchanged); full colour on hover */
.card__img img,.featured__img img,.trio__img img,.mosaic img,.split__img img,.raise__img img,.person__img img,.prof__media img,.fig img,.post__hero-img img,.member img,.letter__img img,.feature__img img{filter:var(--photo-tone);transition:filter .6s}
@media (hover:hover) and (pointer:fine){.card:hover .card__img img,.featured:hover .featured__img img,.trio__item:hover img,.prof__media img:hover,.fig img:hover{filter:none}}
.split__img picture,.raise__img picture,.person__img picture,.letter__img picture,.prof__media picture,.fig picture,.post__hero-img picture,.mosaic picture,.member picture{border-radius:0;border:1px solid var(--ink);padding:6px;background:var(--card);box-shadow:none}
.post__hero-img picture{aspect-ratio:16/9}
/* in-article photos: full-width 16:9 frame, cover with per-photo focal point (set inline by build) */
.fig--wide picture{aspect-ratio:16/9;width:100%;max-height:none}
.fig--wide img{width:100%;height:100%;object-fit:cover}

/* cards: newspaper columns */
.card,.trio__item,.featured,.dog,.steps li,.avail__notes,.author,.toc,.table-wrap{border-radius:0;border:1px solid var(--ink);background:var(--card);box-shadow:none}
.card:hover,.trio__item:hover{transform:none;box-shadow:6px 6px 0 rgba(28,21,16,.12)}
.card__img{aspect-ratio:16/9;border-bottom:1px solid var(--ink)}
.card h3,.trio__body h3,.dog h3{font-weight:800}
.featured__img{aspect-ratio:16/9;min-height:0}
.dog .tag{border-radius:0;background:var(--ink);color:var(--paper)}
.dog__price{color:var(--maroon)}
.avail__count{border-radius:0;border-color:var(--ink);color:var(--ink)}
.avail__count span{background:var(--maroon)}
.steps .num{color:var(--maroon);font-family:var(--head)}
.pager a{border-radius:0;border-color:var(--ink);background:var(--card)}
.pager a[aria-current=page]{background:var(--ink);border-color:var(--ink)}
.jump{background:var(--paper);border-bottom:1px solid var(--ink)}
.jump a{border-radius:0;border-color:var(--ink);background:var(--card)}
.tq{border-radius:0;background:var(--ink-2)}
.tqs--light .tq{background:var(--card);border-color:var(--ink)}
.tq blockquote{font-family:var(--head);font-style:italic}
.oq{border-left:3px double var(--copper)}
.partner{filter:grayscale(1) contrast(1.1)}
.faq summary{font-family:var(--head);font-weight:700}
.faq summary::after{color:var(--maroon)}

/* prose / articles */
.prose a{color:var(--maroon)}
.prose blockquote{border-left:3px double var(--ink);font-family:var(--head);font-style:italic}
.post__hero{background:var(--paper);border-bottom:3px double var(--ink)}
.post__hero-grid{grid-template-columns:1fr 1fr}
@media (max-width:900px){.post__hero-grid{grid-template-columns:1fr}}
.post__body>p:first-of-type::first-letter{float:left;font-family:var(--head);font-weight:800;font-size:3.6em;line-height:.85;padding:6px 10px 0 0;color:var(--maroon)}
.post-cta{border-radius:0;background:var(--ink)}
.table-wrap th{background:var(--cream)}
.yt{border-radius:0}
.yt__play{background:var(--copper)}

/* reservation (dark) */
.pcard,.bank{border-radius:0}

/* forms */
.form-card{border-radius:0;border-top:0;padding:clamp(22px,3vw,40px);background:var(--card);color:var(--card-fg);outline:1px solid rgba(239,229,211,.4);outline-offset:8px;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.sec--paper .form-card,.sec--cream .form-card{outline-color:var(--line)}
.nf__go{background:var(--ink);color:var(--paper)}
.nf__go:hover{background:var(--maroon)}

/* footer */
.ftr{background:var(--ink);border-top:3px double var(--copper)}
.ftr .eyebrow{color:#d9905a}
.mcta{background:rgba(23,17,13,.96)}
.mcta__wa{border-radius:0}

.featured{grid-template-columns:1.1fr .9fr}
.featured__txt .display{font-size:clamp(24px,2.2vw,36px);overflow-wrap:anywhere}
@media (max-width:800px){.featured{grid-template-columns:1fr}}

/* ---- Rui review 15/10 ---- */
/* heroes that must never crop heads (Males: Tarzan, About: Rui): the photo is shown whole as a framed print beside the title */
.phero--nat .phero__media img{object-fit:contain;filter:sepia(.12) contrast(1.03)}
@media (min-width:900px){
  .phero--nat{min-height:clamp(560px,80vh,780px);align-items:center}
  .phero--nat .phero__media{left:50%;display:flex;align-items:center;justify-content:center;padding:clamp(28px,4vh,48px) var(--gut)}
  .phero--nat .phero__media picture{display:block;height:100%;width:auto;max-width:100%}
  .phero--nat .phero__media img{height:100%;width:auto;max-width:100%;padding:8px;border:1px solid rgba(239,229,211,.45);background:#221a14;box-shadow:0 40px 80px -30px rgba(0,0,0,.8)}
  .phero--nat .hero__shade{display:none}
  .phero--nat .phero__in{padding-top:clamp(48px,8vh,96px)}
  .phero--nat .phero__in>*{max-width:min(560px,44vw)}
}
@media (max-width:899px){
  .phero--nat{flex-direction:column;align-items:stretch;min-height:0}
  .phero--nat .phero__media{position:relative;inset:auto;padding:24px var(--gut) 0}
  .phero--nat .phero__media picture{display:block;height:auto}
  .phero--nat .phero__media img{display:block;width:auto;max-width:100%;height:auto;max-height:58vh;margin:0 auto;padding:6px;border:1px solid rgba(239,229,211,.45);background:#221a14}
  .phero--nat .hero__shade{display:none}
  .phero--nat .phero__in{padding-top:28px}
}

/* males / females: an ornamental double rule between dogs so each profile reads as its own notice */
.profs{gap:0}
.prof{padding:clamp(56px,7vw,104px) 0}
.prof:first-child{padding-top:0}
.prof:last-child{padding-bottom:0}
.prof+.prof{position:relative;border-top:1px solid var(--ink)}
.prof+.prof::before{content:"";position:absolute;left:0;right:0;top:4px;border-top:3px solid var(--ink)}
.prof+.prof::after{content:"✦";position:absolute;left:50%;top:3px;transform:translate(-50%,-50%);padding:0 18px;background:var(--paper);color:var(--maroon,#9b3a16);font-size:20px;line-height:1}
/* males: one column per dog (text, then photo, then video) */
.profs--stack .prof{grid-template-columns:1fr;max-width:860px;margin:0 auto;gap:clamp(24px,3vw,40px);align-items:start}
.profs--stack .prof__txt{order:-1}
.profs--stack .prof--rev .prof__media{order:0}
.profs--stack .prof__media{gap:20px}
.profs--stack .prof__media picture{width:100%;max-width:600px;margin:0 auto;max-height:none}
.profs--stack .prof__media .yt{width:100%}

/* reservation: the talking video large and centred, CTA below it */
.rsv{display:grid;gap:clamp(28px,4vw,48px);justify-items:center;text-align:center}
.rsv__txt{max-width:760px}
.rsv__vid{width:100%;max-width:1000px}
.rsv__cta{display:flex;justify-content:center}
.t-foot--center{grid-template-columns:1fr!important;justify-items:center;text-align:center;margin-top:clamp(32px,4vw,56px)}
.t-foot--center .yt{width:100%;max-width:340px;margin:0 auto}
.sec__head--center{margin-left:auto;margin-right:auto;text-align:center}
