/* ============================================================
   American Malinois — Luxury Redesign
   site.css — section-level styles
   ============================================================ */

/* =====================================================
   NAV
===================================================== */
section[id]{
  scroll-margin-top:92px;
}
body.modal-open{
  overflow:hidden;
}
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:18px 0;
  color:var(--ink-on-dark);
  transition:background .4s var(--ease),color .4s var(--ease),padding .4s var(--ease),border-color .4s var(--ease);
  border-bottom:1px solid transparent;
}
.nav__inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  width:100%;max-width:var(--w-wide);margin:0 auto;
  padding:0 clamp(20px,4vw,48px);
}
.nav__brand{
  display:flex;align-items:center;gap:12px;color:inherit;
}
.nav__mark{width:30px;height:34px;color:var(--gold-soft);flex:0 0 auto}
.nav__wordmark{
  display:flex;flex-direction:column;line-height:1;
  font-family:var(--font-body);
  font-size:11px;letter-spacing:.32em;font-weight:500;
}
.nav__wordmark span:last-child{color:var(--gold-soft);margin-top:3px}

.nav__links{display:flex;align-items:center;gap:clamp(18px,2.4vw,30px)}
.nav__links a{
  font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:500;color:inherit;opacity:.85;
  transition:opacity .3s var(--ease),color .3s var(--ease);
}
.nav__links a:hover{opacity:1;color:var(--gold-soft)}
.nav__cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;
  padding:10px 18px;
  border:1px solid rgba(40,35,27,.34);
  background:rgba(248,245,238,.74);
  color:var(--ink)!important;
  opacity:1!important;
  white-space:nowrap;
  overflow:visible;
}
.nav__cta:hover{background:var(--gold);color:var(--ink-on-gold);border-color:var(--gold)}

.nav.is-scrolled{
  background:rgba(247,244,236,.94);
  backdrop-filter:saturate(140%) blur(14px);
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  color:var(--ink);
  padding:12px 0;
  border-bottom-color:var(--hairline);
}
.nav.is-scrolled .nav__mark{color:var(--gold-deep)}
.nav.is-scrolled .nav__wordmark span:last-child{color:var(--gold-deep)}
.nav.is-scrolled .nav__links a:hover{color:var(--gold-deep)}

.nav__toggle{
  display:none;width:30px;height:24px;position:relative;
}
.nav__toggle span{
  position:absolute;left:0;right:0;height:1px;background:currentColor;
  transition:transform .3s var(--ease),opacity .3s var(--ease);
}
.nav__toggle span:nth-child(1){top:4px}
.nav__toggle span:nth-child(2){top:11px}
.nav__toggle span:nth-child(3){top:18px}

@media (max-width:880px){
  .nav__links{
    position:fixed;inset:0;background:var(--bg-deep);
    flex-direction:column;justify-content:center;gap:28px;
    transform:translateY(-100%);transition:transform .5s var(--ease);
    color:var(--ink-on-dark);
  }
  .nav__links a{font-size:16px;letter-spacing:.2em}
  .nav.is-open .nav__links{transform:none}
  .nav__toggle{display:block;z-index:60}
  .nav.is-open .nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.is-open .nav__toggle span:nth-child(2){opacity:0}
  .nav.is-open .nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav.is-open{color:var(--ink-on-dark);background:transparent}
}

/* =====================================================
   HERO — full-viewport reel, restrained overlay
===================================================== */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:flex-end;
  overflow:hidden;
  color:var(--ink-on-dark);
  background:var(--bg-deep);
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__video,.hero__fallback{
  width:100%;height:100%;object-fit:cover;
  position:absolute;inset:0;
}
.hero__fallback{z-index:0}
.hero__video{z-index:1}
.hero__veil{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(180deg,rgba(18,17,16,.42) 0%,rgba(18,17,16,.08) 34%,rgba(18,17,16,.18) 62%,rgba(18,17,16,.62) 100%),
    radial-gradient(90% 55% at 18% 86%,rgba(18,17,16,.38),transparent 62%);
}
.hero__grain{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  opacity:.18;mix-blend-mode:overlay;
  background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:3px 3px;
}

.hero__content{
  position:relative;z-index:4;width:100%;
  padding:0 clamp(14px,3vw,28px) clamp(24px,4vw,42px);
  max-width:var(--w-wide);margin:0 auto;
}
.hero__inner{
  width:min(235px,20vw);
  min-width:210px;
  padding:12px 12px 11px;
  background:var(--bg-deep);
  border:1px solid rgba(201,167,101,.46);
  box-shadow:0 14px 38px rgba(0,0,0,.34);
  transition:opacity .8s var(--ease),visibility .8s var(--ease),transform .8s var(--ease);
}
.hero__content.is-hidden .hero__inner{
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
}
.hero__eyebrow{
  color:var(--gold-soft);
  font-size:7px;letter-spacing:.18em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:9px;
  font-weight:500;
  margin-bottom:7px;
  text-shadow:0 2px 18px rgba(0,0,0,.75);
}
.hero__eyebrow::before{
  content:"";width:14px;height:1px;background:var(--gold-soft);display:inline-block;
}
.hero__headline{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(23px,2.1vw,31px);
  line-height:1;
  letter-spacing:-.018em;
  color:var(--ink-on-dark);
  margin:0 0 9px;
  max-width:10ch;
  text-shadow:0 4px 34px rgba(0,0,0,.78);
}
.hero__headline em{font-style:italic;color:var(--gold-soft);font-weight:300}
.hero__sub{
  color:var(--ink-on-dark-2);
  font-size:clamp(15px,1.15vw,18px);
  line-height:1.55;
  max-width:54ch;
  margin-bottom:clamp(28px,3.5vw,40px);
  text-shadow:0 3px 20px rgba(0,0,0,.82);
}
.hero__actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.hero__actions .btn{
  min-height:36px;
  padding:10px 12px;
  font-size:9px;
  letter-spacing:.16em;
}
.hero__meta{
  margin-top:clamp(28px,4vw,44px);
  display:flex;gap:24px 36px;flex-wrap:wrap;align-items:center;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-on-dark-3);font-weight:500;
}
.hero__meta li{display:flex;align-items:center;gap:10px}
.hero__meta .dot{
  width:4px;height:4px;border-radius:50%;background:var(--gold-soft);display:inline-block;
}

.hero__scroll{
  position:absolute;bottom:24px;left:50%;transform:translateX(-50%);
  z-index:5;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:10px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--ink-on-dark-2);font-weight:500;
}
.hero__scroll svg{animation:scrollNudge 2.4s var(--ease) infinite}
@keyframes scrollNudge{
  0%,100%{transform:translateY(0);opacity:.5}
  50%{transform:translateY(6px);opacity:1}
}
@media (max-width:700px){
  .hero{
    min-height:100svh;
  }
  .hero__content{
    padding:0 10px calc(28px + env(safe-area-inset-bottom));
  }
  .hero__inner{
    width:min(76vw,285px);
    min-width:0;
    max-width:285px;
    padding:14px 14px 13px;
    background:var(--bg-deep);
  }
  .hero__eyebrow{
    font-size:7px;
    letter-spacing:.15em;
    margin-bottom:7px;
  }
  .hero__headline{
    font-size:clamp(24px,7vw,31px);
    max-width:9.5ch;
    margin-bottom:9px;
  }
  .hero__actions .btn{
    width:100%;
    min-height:34px;
    padding:10px 11px;
    font-size:8px;
    line-height:1.25;
    letter-spacing:.12em;
    justify-content:center;
    white-space:normal;
    text-align:center;
    min-width:0;
  }
  .hero__actions .btn .arrow{
    flex:0 0 14px;
  }
  .hero__scroll{
    right:16px;
    left:auto;
    transform:none;
  }
}

/* =====================================================
   MANIFESTO
===================================================== */
.manifesto .display{
  margin-bottom:clamp(28px,3vw,40px);
  max-width:18ch;
}
.manifesto__hd{
  display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);
  align-items:start;
}
.manifesto__copy{
  display:flex;flex-direction:column;gap:24px;
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.7;
  color:var(--ink-2);
}
.manifesto__copy strong{font-weight:500;color:var(--ink)}
.manifesto__pull{
  margin:clamp(40px,5vw,72px) 0 0;
  padding:clamp(28px,3.5vw,44px) 0;
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  font-family:var(--font-display);
  font-style:italic;font-weight:300;
  font-size:clamp(22px,2.5vw,30px);
  line-height:1.32;
  color:var(--ink);
  letter-spacing:-.005em;
}
.manifesto__pull span{display:block;margin-top:14px;font-family:var(--font-body);font-style:normal;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);font-weight:500}

/* =====================================================
   PLACEMENT TRACKS
===================================================== */
.placement .section__head{
  display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(28px,5vw,80px);
  align-items:end;
  margin-bottom:clamp(48px,6vw,80px);
}
.placement .display{margin:0;max-width:14ch}
.placement .lede{margin:0}

.tracks{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--hairline);
}
.track{
  padding:clamp(28px,3vw,40px) clamp(20px,2.2vw,28px) clamp(36px,4vw,48px);
  border-right:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
  position:relative;
  display:flex;flex-direction:column;gap:18px;
}
.track:last-child{border-right:0}
.track__num{
  font-family:var(--font-display);
  font-weight:300;font-style:italic;
  font-size:13px;letter-spacing:.04em;
  color:var(--gold-deep);
}
.track h3{
  font-family:var(--font-display);
  font-weight:300;font-size:clamp(22px,2vw,28px);line-height:1.15;
  letter-spacing:-.005em;color:var(--ink);margin:0;
}
.track p{
  font-size:15px;color:var(--ink-3);line-height:1.55;
}
.track__icon{
  width:22px;height:22px;color:var(--gold-deep);opacity:.85;
}
.placement__foot{
  margin-top:clamp(40px,5vw,64px);
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.placement__duration{
  font-family:var(--font-display);
  font-weight:300;font-style:italic;
  font-size:clamp(20px,1.8vw,26px);
  color:var(--ink-2);
  max-width:50ch;
  line-height:1.5;
}
.placement__duration strong{font-weight:400;font-style:normal;color:var(--ink);letter-spacing:.005em}

@media (max-width:980px){
  .placement .section__head{grid-template-columns:1fr}
  .tracks{grid-template-columns:repeat(2,1fr)}
  .track:nth-child(2){border-right:0}
}
@media (max-width:560px){
  .tracks{grid-template-columns:1fr}
  .track{border-right:0!important}
}

/* =====================================================
   PROOF STRIP — real-life imagery
===================================================== */
.proof{
  background:var(--bg-deep);color:var(--ink-on-dark);
  padding-block:clamp(80px,10vw,140px);
}
.proof .section__head{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);
  align-items:end;
  margin-bottom:clamp(48px,6vw,80px);
}
.proof .display{color:var(--ink-on-dark);margin:0;max-width:14ch}
.proof .lede{color:var(--ink-on-dark-2);margin:0}

.proof__grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:160px;
  gap:clamp(10px,1.2vw,18px);
}
.proof__cell{
  position:relative;overflow:hidden;
  background:#0c0b0a;
}
.proof__cell img,.proof__cell video{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.4s var(--ease-out),filter 1.4s var(--ease-out);
  filter:saturate(.92) brightness(.95);
}
.proof__cell:hover img,.proof__cell:hover video{transform:scale(1.04);filter:saturate(1) brightness(1)}
.proof__cell::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.5) 100%);
  pointer-events:none;
}
.proof__cap{
  position:absolute;bottom:14px;left:16px;right:16px;z-index:2;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-on-dark);font-weight:500;
  display:flex;align-items:center;gap:10px;
}
.proof__cap::before{
  content:"";width:18px;height:1px;background:var(--gold-soft);display:inline-block;
}
.p-a{grid-column:span 6;grid-row:span 3}
.p-b{grid-column:span 3;grid-row:span 2}
.p-c{grid-column:span 3;grid-row:span 2}
.p-d{grid-column:span 4;grid-row:span 2}
.p-e{grid-column:span 3;grid-row:span 2}
.p-f{grid-column:span 3;grid-row:span 2}

@media (max-width:980px){
  .proof .section__head{grid-template-columns:1fr}
  .proof__grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:140px}
  .p-a{grid-column:span 6;grid-row:span 2}
  .p-b,.p-c{grid-column:span 3;grid-row:span 2}
  .p-d,.p-e,.p-f{grid-column:span 3;grid-row:span 2}
}
@media (max-width:560px){
  .proof__grid{grid-template-columns:1fr;grid-auto-rows:200px}
  .p-a,.p-b,.p-c,.p-d,.p-e,.p-f{grid-column:span 1;grid-row:span 1}
}

/* =====================================================
   DOGS / PRIVATE PLACEMENT GALLERY
===================================================== */
.dogs{background:var(--bg)}
.dogs__intro{
  margin-bottom:clamp(56px,7vw,96px);
  max-width:760px;
}
.dog-gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2vw,26px);
}
.dog-card{
  background:var(--surface);
  border:1px solid var(--hairline);
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}
.dog-card__media{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#0f0e0c;
}
.dog-card__media video,
.dog-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.94) contrast(1.02);
  transition:transform 1.25s var(--ease-out),filter 1.25s var(--ease-out);
}
.dog-card:hover .dog-card__media video,
.dog-card:hover .dog-card__media img{
  transform:scale(1.035);
  filter:saturate(1) contrast(1.04);
}
.dog-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.48) 100%);
  pointer-events:none;
}
.dog-card__badge{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
  color:var(--ink-on-dark);
  background:rgba(18,17,16,.78);
  border:1px solid rgba(201,167,101,.34);
  padding:7px 10px;
  font-size:9px;
  letter-spacing:.20em;
  text-transform:uppercase;
  font-weight:600;
}
.dog-card__body{
  padding:20px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.dog-card__body h3{
  margin:0;
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(25px,2.1vw,34px);
  line-height:1.04;
  letter-spacing:-.012em;
  color:var(--ink);
}
.dog-card__body p{
  margin:0;
  color:var(--ink-2);
  font-size:14px;
  line-height:1.55;
}
.dog-card__body dl{
  margin:4px 0 0;
  display:grid;
  grid-template-columns:1fr;
  border-top:1px solid var(--hairline);
}
.dog-card__body dl div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid var(--hairline);
}
.dog-card__body dt{
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-3);
  font-weight:600;
}
.dog-card__body dd{
  margin:0;
  text-align:right;
  font-family:var(--font-display);
  font-style:italic;
  color:var(--ink);
  font-size:15px;
}
.dog-card__profile-points{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:2px;
}
.dog-card__profile-points span{
  border:1px solid var(--hairline);
  color:var(--ink-3);
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:700;
  padding:7px 8px;
  background:rgba(248,245,238,.44);
}
.dog-card--placeholder{
  border-color:rgba(150,28,28,.28);
}
.dog-card__media--blank{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:8px;
  padding:18px;
  background:
    linear-gradient(135deg,rgba(160,24,24,.16),rgba(18,17,16,.88)),
    repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12px),
    #161412;
  border-bottom:1px solid rgba(150,28,28,.22);
}
.dog-card__media--blank::after{
  display:none;
}
.placeholder-kicker{
  color:#f0b3a8;
  font-size:9px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:700;
}
.placeholder-main{
  font-family:var(--font-display);
  font-size:clamp(38px,3.4vw,54px);
  line-height:.9;
  color:#ffd0c8;
  letter-spacing:-.02em;
}
.placeholder-sub{
  color:#ff7b6d;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
}
.fill-field{
  color:#b22222;
  background:rgba(178,34,34,.08);
  box-shadow:inset 0 -1px rgba(178,34,34,.35);
  padding:0 3px;
  border-radius:2px;
}
.dog-card__body h3 .fill-field{
  color:#9f1717;
  background:rgba(178,34,34,.10);
}
.dog-card__body p .fill-field{
  color:#a71c1c;
  font-weight:600;
}
.dogs__note{
  margin-top:clamp(28px,4vw,52px);
  padding:clamp(20px,3vw,34px);
  border:1px solid var(--hairline);
  background:var(--bg-warm);
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end;
}
.dogs__note p{
  max-width:62ch;
  margin:10px 0 0;
  color:var(--ink-2);
  line-height:1.65;
}
@media (max-width:1100px){
  .dog-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .dog-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .dog-card__media{aspect-ratio:4/5}
  .dog-card__body{padding:14px 12px 12px;gap:10px}
  .dog-card__body h3{font-size:24px}
  .dog-card__body p{font-size:12px}
  .dog-card__body dl div{display:block;padding:8px 0}
  .dog-card__body dd{text-align:left;font-size:13px;margin-top:3px}
  .placeholder-main{font-size:30px}
  .placeholder-sub{font-size:9px}
  .dogs__note{display:block}
  .dogs__note .link-arrow{display:inline-block;margin-top:18px}
}
@media (max-width:420px){
  .dog-gallery{grid-template-columns:1fr}
  .dog-card__media{aspect-ratio:16/11}
}

/* =====================================================
   DOG ENTRY BUILDER — internal intake page
===================================================== */
.dog-entry-page{
  background:var(--bg);
  color:var(--ink);
}
.entry-header{
  display:grid;
  grid-template-columns:220px 1fr auto;
  gap:clamp(24px,4vw,58px);
  align-items:start;
  padding:clamp(28px,5vw,72px);
  border-bottom:1px solid var(--hairline);
  background:var(--surface);
}
.entry-brand{
  display:flex;align-items:center;gap:12px;
  color:var(--ink);
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  font-weight:700;line-height:1.25;
}
.entry-header h1{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(42px,6vw,86px);
  line-height:.92;
  letter-spacing:-.04em;
  margin:14px 0 16px;
}
.entry-header p{
  max-width:72ch;
  margin:0;
  color:var(--ink-2);
  line-height:1.65;
}
.entry-link,
.entry-button{
  border:1px solid var(--hairline);
  background:transparent;
  color:var(--ink);
  padding:12px 14px;
  min-height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;
  cursor:pointer;
}
.entry-button--dark{
  width:100%;
  background:var(--ink);
  color:var(--bg);
  border-color:var(--ink);
  margin-top:22px;
}
.entry-shell{
  display:grid;
  grid-template-columns:minmax(240px,320px) 1fr;
  gap:clamp(24px,4vw,56px);
  padding:clamp(28px,5vw,72px);
}
.entry-sidebar{
  position:sticky;
  top:24px;
  align-self:start;
  border:1px solid var(--hairline);
  background:var(--surface);
  padding:24px;
}
.entry-sidebar h2{
  margin:0 0 16px;
  font-family:var(--font-display);
  font-weight:300;
  font-size:34px;
}
.entry-sidebar ol{
  margin:0 0 20px;
  padding-left:20px;
  color:var(--ink-2);
  line-height:1.6;
}
.entry-sidebar p{
  margin:0;
  color:var(--ink-3);
  font-size:14px;
  line-height:1.65;
}
.entry-workspace{
  display:grid;
  gap:24px;
}
.entry-card{
  border:1px solid var(--hairline);
  background:var(--surface);
  padding:clamp(20px,3vw,36px);
}
.entry-card__head{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:start;
  margin-bottom:26px;
}
.entry-card__head h2{
  margin:8px 0 0;
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(32px,4vw,56px);
  line-height:1;
}
.entry-grid{
  display:grid;
  grid-template-columns:1fr minmax(280px,420px);
  gap:clamp(22px,4vw,44px);
}
.entry-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.entry-fields label:nth-last-child(-n+5){
  grid-column:1/-1;
}
.entry-fields label,
.entry-upload,
.entry-gauges label{
  display:grid;
  gap:8px;
  color:var(--ink);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
}
.entry-fields input,
.entry-fields textarea{
  width:100%;
  border:1px solid var(--hairline);
  background:var(--bg);
  color:var(--ink);
  padding:12px;
  font:400 15px/1.45 var(--font-body);
  letter-spacing:0;
  text-transform:none;
}
.entry-fields textarea{
  resize:vertical;
}
.entry-preview-panel{
  display:grid;
  gap:16px;
  align-content:start;
}
.entry-media-preview{
  min-height:300px;
  border:1px solid var(--hairline);
  background:
    linear-gradient(135deg,rgba(33,31,28,.08),rgba(33,31,28,.02)),
    var(--bg);
  display:grid;
  place-items:center;
  color:var(--ink-3);
  text-align:center;
  overflow:hidden;
}
.entry-media-preview img,
.entry-media-preview video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.entry-upload{
  border:1px dashed var(--hairline);
  padding:14px;
  background:var(--bg);
}
.entry-upload input{
  font-size:12px;
  letter-spacing:0;
  text-transform:none;
  font-weight:400;
}
.entry-supporting-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.entry-supporting-preview img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border:1px solid var(--hairline);
}
.entry-gauges{
  display:grid;
  gap:14px;
  margin-top:8px;
}
.entry-gauges label{
  border-top:1px solid var(--hairline);
  padding-top:14px;
}
.entry-gauges label span{
  justify-self:end;
  margin-top:-22px;
  font-family:var(--font-display);
  color:var(--gold-deep);
  font-size:22px;
  font-weight:300;
}
.entry-gauges small{
  color:var(--ink-3);
  font-size:11px;
  letter-spacing:.04em;
  text-transform:none;
  font-weight:400;
}
.entry-gauges input[type="range"]{
  width:100%;
  accent-color:var(--gold-deep);
}

@media (max-width:980px){
  .entry-header,
  .entry-shell,
  .entry-grid{
    grid-template-columns:1fr;
  }
  .entry-sidebar{
    position:static;
  }
}
@media (max-width:620px){
  .entry-fields{
    grid-template-columns:1fr;
  }
  .entry-card__head{
    display:grid;
  }
}

/* =====================================================
   CONTENT MANAGER — internal dogs / notes / stories
===================================================== */
.manager-shell{
  padding:clamp(24px,5vw,72px);
}
.manager-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:24px;
}
.manager-tab{
  min-height:42px;
  padding:12px 16px;
  border:1px solid var(--hairline);
  background:transparent;
  color:var(--ink-2);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:700;
  cursor:pointer;
}
.manager-tab.is-active{
  background:var(--ink);
  color:var(--bg);
  border-color:var(--ink);
}
.manager-panel{
  display:none;
}
.manager-panel.is-active{
  display:block;
}
.manager-panel__head{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:start;
  border:1px solid var(--hairline);
  background:var(--surface);
  padding:clamp(20px,3vw,34px);
  margin-bottom:22px;
}
.manager-panel__head h2{
  margin:10px 0 10px;
  font-family:var(--font-display);
  font-size:clamp(34px,4.5vw,66px);
  font-weight:300;
  line-height:.96;
  letter-spacing:-.035em;
}
.manager-panel__head p{
  margin:0;
  max-width:64ch;
  color:var(--ink-2);
  line-height:1.65;
}
.manager-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
.manager-list{
  display:grid;
  gap:22px;
}
.manager-card{
  border:1px solid var(--hairline);
  background:var(--surface);
  padding:clamp(20px,3vw,34px);
}
.manager-card__head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid var(--hairline);
}
.manager-card__head h3{
  margin:8px 0 0;
  font-family:var(--font-display);
  font-size:clamp(28px,3vw,48px);
  font-weight:300;
  line-height:1;
  letter-spacing:-.025em;
}
.manager-card__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:clamp(22px,4vw,44px);
}
.manager-card__grid--simple{
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
}

@media (max-width:980px){
  .manager-panel__head,
  .manager-card__grid,
  .manager-card__grid--simple{
    grid-template-columns:1fr;
    display:grid;
  }
  .manager-actions{
    justify-content:flex-start;
  }
}
@media (max-width:620px){
  .manager-shell{
    padding:18px;
  }
  .manager-tab,
  .manager-actions .entry-button,
  .manager-panel__head .entry-button{
    width:100%;
  }
  .manager-card__head{
    display:grid;
    align-items:start;
  }
}

/* =====================================================
   INDIVIDUAL DOG PROFILE TEMPLATE
===================================================== */
.profile-template{
  background:var(--bg);
}
.profile-hero{
  min-height:100svh;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  background:var(--bg-deep);
  color:var(--ink-on-dark);
}
.profile-hero__media{
  min-height:100svh;
}
.profile-blank{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  gap:10px;
  padding:clamp(22px,4vw,44px);
  background:
    linear-gradient(135deg,rgba(160,24,24,.18),rgba(18,17,16,.92)),
    repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12px),
    #151311;
  border:1px solid rgba(150,28,28,.26);
}
.profile-hero__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:22px;
  padding:clamp(90px,10vw,150px) clamp(28px,5vw,74px) clamp(44px,6vw,80px);
}
.profile-hero__copy h1{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(58px,8vw,112px);
  line-height:.9;
  font-weight:300;
  letter-spacing:-.03em;
}
.profile-tagline{
  margin:0;
  max-width:42ch;
  color:rgba(247,244,236,.78);
  font-size:18px;
  line-height:1.6;
}
.profile-stats{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-block:1px solid var(--hairline);
  background:var(--surface);
}
.profile-stats div{
  padding:22px clamp(14px,2vw,28px);
  border-right:1px solid var(--hairline);
}
.profile-stats div:last-child{border-right:0}
.profile-stats span{
  display:block;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:7px;
}
.profile-stats strong{
  display:block;
  font-family:var(--font-display);
  font-style:italic;
  font-weight:400;
  color:var(--ink);
  font-size:19px;
}
.profile-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,380px);
  gap:clamp(36px,6vw,90px);
}
.profile-narrative h2{
  font-family:var(--font-display);
  font-size:clamp(34px,4vw,58px);
  line-height:1;
  font-weight:300;
  margin:0 0 18px;
}
.profile-narrative h2:not(:first-of-type){
  margin-top:clamp(42px,6vw,72px);
}
.profile-narrative p{
  font-size:18px;
  line-height:1.75;
  color:var(--ink-2);
  max-width:68ch;
}
.profile-sidebar{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.profile-panel{
  padding:24px;
  border:1px solid var(--hairline);
  background:var(--bg-warm);
}
.profile-panel ul,
.profile-three ul{
  padding-left:18px;
  margin:16px 0 0;
  color:var(--ink-2);
  line-height:1.75;
}
.profile-gauges{
  background:var(--bg-deep);
  color:var(--ink-on-dark);
}
.profile-meter-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.profile-meter{
  padding:24px;
  border:1px solid rgba(201,167,101,.22);
  background:rgba(255,255,255,.04);
}
.profile-meter strong{
  display:block;
  font-family:var(--font-display);
  color:var(--ink-on-dark);
  font-size:25px;
  font-weight:300;
  line-height:1.05;
  margin-bottom:14px;
}
.profile-meter .fill-field{
  color:#ff8b7d;
  background:rgba(178,34,34,.18);
}
.profile-three{
  display:grid;
  grid-template-columns:1.1fr .95fr .95fr;
  gap:clamp(24px,4vw,54px);
}
.profile-three article,
.profile-two article{
  border-top:1px solid var(--hairline);
  padding-top:24px;
}
.profile-three h2,
.profile-two h2{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(34px,4vw,56px);
  line-height:1;
  margin:16px 0;
}
.profile-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,5vw,70px);
}
.profile-data{
  margin:24px 0 0;
  border-top:1px solid var(--hairline);
}
.profile-data div{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid var(--hairline);
}
.profile-data dt{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-3);
  font-weight:600;
}
.profile-data dd{margin:0;color:var(--ink-2)}
.profile-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:24px;
}
.profile-gallery .profile-blank{
  min-height:180px;
  padding:18px;
}
.profile-gallery .placeholder-main{
  font-size:34px;
}
@media (max-width:980px){
  .profile-hero{grid-template-columns:1fr}
  .profile-hero__media{min-height:58svh}
  .profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-grid,.profile-three,.profile-two{grid-template-columns:1fr}
  .profile-meter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .profile-stats,.profile-meter-grid{grid-template-columns:1fr}
  .profile-data div{grid-template-columns:1fr}
  .profile-gallery{grid-template-columns:1fr}
}

/* Legacy large dog story styles retained for future individual profile pages */
.dog{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:clamp(32px,5vw,80px);
  align-items:center;
  padding-block:clamp(56px,7vw,96px);
  border-top:1px solid var(--hairline);
}
.dog:last-of-type{border-bottom:1px solid var(--hairline)}
.dog--reverse{grid-template-columns:1fr 1.05fr}
.dog--reverse .dog__media{order:2}
.dog--reverse .dog__body{order:1}

.dog__media{
  position:relative;aspect-ratio:4/5;overflow:hidden;
}
.dog__media img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.94);
  transition:transform 1.4s var(--ease-out);
}
.dog:hover .dog__media img{transform:scale(1.03)}
.dog__badge{
  position:absolute;top:18px;left:18px;
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-on-dark);font-weight:500;
  padding:7px 12px;background:rgba(18,17,16,.6);
  backdrop-filter:blur(4px);
  border:1px solid rgba(232,222,196,.2);
}

.dog__body{display:flex;flex-direction:column;gap:20px}
.dog__name{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(40px,5vw,72px);
  line-height:1;letter-spacing:-.015em;
  color:var(--ink);margin:0;
}
.dog__tag{
  font-family:var(--font-display);
  font-style:italic;font-weight:300;
  font-size:clamp(18px,1.6vw,22px);
  color:var(--gold-deep);margin:0;line-height:1.4;
}
.dog__body p{
  font-size:16px;line-height:1.7;color:var(--ink-2);
  max-width:54ch;
}
.dog__stats{
  margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--hairline);
}
.dog__stats > div{
  padding:14px 12px 14px 0;
  border-right:1px solid var(--hairline);
}
.dog__stats > div:last-child{border-right:0}
.dog__stats dt{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-3);font-weight:500;
  margin-bottom:6px;
}
.dog__stats dd{
  margin:0;font-size:14px;color:var(--ink);font-weight:500;
  font-family:var(--font-display);font-style:italic;font-weight:400;font-size:17px;
}

@media (max-width:860px){
  .dog,.dog--reverse{grid-template-columns:1fr;gap:32px}
  .dog--reverse .dog__media{order:0}
  .dog--reverse .dog__body{order:1}
  .dog__media{aspect-ratio:5/4}
}

/* =====================================================
   LITTER CALLOUT
===================================================== */
.litter{
  background:var(--bg-warm);
}
.litter__wrap{
  display:grid;grid-template-columns:1.1fr 1fr;
  gap:clamp(40px,6vw,96px);align-items:center;
}
.litter__media{
  position:relative;aspect-ratio:4/3;overflow:hidden;
}
.litter__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.95)}
.litter__media::after{
  content:"";position:absolute;inset:0;
  border:1px solid var(--gold-soft);outline-offset:-14px;
  outline:1px solid rgba(176,138,62,.0);
}
.litter__copy{display:flex;flex-direction:column;gap:22px}
.litter__copy h2{margin:0}
.litter__mini{
  margin-top:8px;
  display:flex;gap:18px;align-items:center;
  padding:18px;background:var(--surface);
  border:1px solid var(--hairline);
}
.litter__mini img{width:84px;height:84px;object-fit:cover;flex:0 0 auto}
.litter__mini strong{
  display:block;font-family:var(--font-display);font-weight:400;font-style:italic;
  font-size:18px;color:var(--ink);margin-bottom:4px;
}
.litter__mini span{font-size:14px;color:var(--ink-3);line-height:1.5}

@media (max-width:860px){
  .litter__wrap{grid-template-columns:1fr}
}

/* =====================================================
   GAUGES — half-circle, restrained notches
===================================================== */
.gauges{background:var(--bg-deep);color:var(--ink-on-dark)}
.gauges .section__head{
  text-align:left;margin-bottom:clamp(48px,6vw,80px);
  max-width:720px;
}
.gauges .display{color:var(--ink-on-dark)}
.gauges .lede{color:var(--ink-on-dark-2)}

.gauge-card{
  border:1px solid var(--hairline-on-dark);
  background:rgba(232,222,196,.025);
  padding:clamp(28px,4vw,56px);
}
.gauge-card__head{
  display:flex;justify-content:space-between;align-items:flex-end;
  flex-wrap:wrap;gap:24px;
  padding-bottom:clamp(28px,3.5vw,40px);
  border-bottom:1px solid var(--hairline-on-dark);
  margin-bottom:clamp(40px,5vw,64px);
}
.gauge-card__head h3{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(22px,2vw,28px);line-height:1.2;
  color:var(--ink-on-dark);margin:8px 0 0;letter-spacing:-.005em;
  max-width:32ch;
}
.gauge-card__chip{
  display:flex;flex-direction:column;gap:6px;text-align:right;
}
.gauge-card__chip span{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-on-dark-3);
}
.gauge-card__chip strong{
  font-family:var(--font-display);font-weight:400;font-style:italic;
  font-size:22px;color:var(--gold-soft);
}

.gauge-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(20px,2vw,32px);
}
.gauge{
  display:flex;flex-direction:column;gap:14px;margin:0;
  padding:8px 4px 0;
}
.gauge svg{width:100%;height:auto;max-width:220px;margin:0 auto}
.gauge__track{stroke:rgba(232,222,196,.16);stroke-width:2}
.gauge__arc{
  stroke:var(--gold);stroke-width:2;
  stroke-dasharray:251.3;stroke-dashoffset:251.3;
  transition:stroke-dashoffset 1.6s var(--ease-out);
  filter:drop-shadow(0 0 6px rgba(201,167,101,.25));
}
.gauge.is-in .gauge__arc{stroke-dashoffset:var(--arc-off,180)}
.gauge__needle{
  stroke:var(--ink-on-dark);stroke-width:1.4;stroke-linecap:round;
  transform-origin:100px 110px;
  transform:rotate(-90deg);
  transition:transform 1.6s var(--ease-out);
}
.gauge.is-in .gauge__needle{transform:rotate(var(--needle-rot,0deg))}
.gauge__hub{fill:var(--gold-soft)}
.gauge__notch{stroke:rgba(232,222,196,.32);stroke-width:1}
.gauge__notch--mid{stroke:rgba(232,222,196,.5);stroke-width:1.2}

.gauge__cap{
  text-align:center;display:flex;flex-direction:column;gap:6px;
  padding-top:6px;border-top:1px solid var(--hairline-on-dark);
}
.gauge__label{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-on-dark-3);font-weight:500;
}
.gauge__value{
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:17px;color:var(--gold-soft);line-height:1.25;
}
.gauge__anchors{
  display:flex;justify-content:space-between;
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-on-dark-3);font-weight:500;
  margin-top:2px;
}

.gauge-card__foot{
  margin-top:clamp(36px,4vw,52px);
  padding-top:clamp(28px,3vw,36px);
  border-top:1px solid var(--hairline-on-dark);
  font-size:14px;color:var(--ink-on-dark-3);line-height:1.6;
  max-width:78ch;
}

@media (max-width:980px){
  .gauge-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:520px){
  .gauge-grid{grid-template-columns:1fr;gap:32px}
}

/* =====================================================
   FIELD NOTES
===================================================== */
.field-notes .section__head{
  display:grid;grid-template-columns:1.1fr 1fr;
  gap:clamp(32px,5vw,80px);
  align-items:end;margin-bottom:clamp(48px,6vw,72px);
}
.field-notes .display{margin:0;max-width:16ch}
.field-notes .lede{margin:0}

.notes{
  display:grid;grid-template-columns:repeat(12,1fr);
  gap:clamp(20px,2.5vw,36px);
}
.note{display:flex;flex-direction:column;gap:18px;grid-column:span 6}
.note--small{grid-column:span 3}
.note__media{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:#0c0b0a;display:block;
}
.note--small .note__media{aspect-ratio:4/5}
.note__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out);filter:saturate(.95)}
.note:hover .note__media img{transform:scale(1.04)}
.note__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 50%,rgba(0,0,0,.55) 100%);
}
.note__play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border:1px solid rgba(232,222,196,.7);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  z-index:2;
  transition:background .3s var(--ease),border-color .3s var(--ease);
}
.note__play::after{
  content:"";display:block;
  width:0;height:0;
  border-style:solid;
  border-width:8px 0 8px 13px;
  border-color:transparent transparent transparent var(--ink-on-dark);
  margin-left:3px;
}
.note:hover .note__play{background:var(--gold);border-color:var(--gold)}
.note:hover .note__play::after{border-left-color:var(--ink-on-gold)}
.note__duration{
  position:absolute;bottom:14px;right:14px;z-index:2;
  font-size:11px;letter-spacing:.14em;
  background:rgba(18,17,16,.65);color:var(--ink-on-dark);
  padding:5px 9px;font-weight:500;
}
.note__tag{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:500;
  display:inline-flex;align-items:center;gap:10px;
}
.note__tag::before{content:"";width:16px;height:1px;background:var(--gold);display:inline-block}
.note h3{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(20px,1.7vw,26px);line-height:1.2;
  letter-spacing:-.005em;color:var(--ink);margin:0;
  max-width:30ch;
}
.note--small h3{font-size:clamp(17px,1.3vw,20px)}
.note p{font-size:15px;color:var(--ink-3);line-height:1.55;max-width:46ch}

@media (max-width:980px){
  .field-notes .section__head{grid-template-columns:1fr}
  .notes{grid-template-columns:repeat(6,1fr)}
  .note{grid-column:span 6}
  .note--small{grid-column:span 3}
}
@media (max-width:560px){
  .notes{grid-template-columns:1fr}
  .note,.note--small{grid-column:span 1}
}

/* =====================================================
   STANDARDS / INCLUDED — restrained, editorial list
===================================================== */
.standards{background:var(--bg-warm)}
.standards .section__head{
  display:grid;grid-template-columns:1.1fr 1fr;
  gap:clamp(32px,5vw,80px);align-items:end;
  margin-bottom:clamp(40px,5vw,64px);
}
.standards .display{margin:0;max-width:14ch}
.standards .lede{margin:0}

.standards__list{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--hairline);
}
.standards__list li{
  padding:clamp(28px,3vw,40px) clamp(20px,2vw,28px) clamp(36px,4vw,48px) 0;
  border-bottom:1px solid var(--hairline);
  border-right:1px solid var(--hairline);
  display:flex;flex-direction:column;gap:10px;
}
.standards__list li:nth-child(3n){border-right:0;padding-right:0}
.standards__list .n{
  font-family:var(--font-display);font-style:italic;font-weight:300;
  font-size:14px;color:var(--gold-deep);
  display:block;margin-bottom:4px;
}
.standards__list .t{
  font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.2;
  color:var(--ink);
}
.standards__list .d{font-size:14px;color:var(--ink-2);line-height:1.58;max-width:36ch}

@media (max-width:860px){
  .standards .section__head{grid-template-columns:1fr}
  .standards__list{grid-template-columns:repeat(2,1fr)}
  .standards__list li:nth-child(3n){border-right:1px solid var(--hairline);padding-right:clamp(20px,2vw,28px)}
  .standards__list li:nth-child(2n){border-right:0;padding-right:0}
}
@media (max-width:520px){
  .standards__list{grid-template-columns:1fr}
  .standards__list li,
  .standards__list li:nth-child(2n),
  .standards__list li:nth-child(3n){border-right:0;padding-right:0}
}

/* =====================================================
   TRAINING CIRCLE — featured trainers
===================================================== */
.training-circle{
  background:var(--surface);
}
.training-circle .section__head{
  display:grid;grid-template-columns:1fr 1.05fr;
  gap:clamp(32px,5vw,84px);align-items:end;
  margin-bottom:clamp(44px,5vw,68px);
}
.training-circle .display{margin:0;max-width:16ch}
.training-circle .lede{margin:0;max-width:58ch}

.trainer-feature{
  display:grid;grid-template-columns:minmax(280px,.78fr) 1fr;
  gap:clamp(28px,4vw,64px);
  align-items:center;
  margin-bottom:clamp(36px,5vw,72px);
  padding:clamp(20px,2.5vw,32px);
  border:1px solid var(--hairline);
  background:linear-gradient(180deg,rgba(248,245,238,.58),rgba(248,245,238,.18));
}
.trainer-feature__media{
  position:relative;
  max-width:360px;
  width:100%;
  justify-self:center;
  background:var(--bg-deep);
  border:1px solid var(--hairline);
  box-shadow:0 24px 70px rgba(33,31,28,.16);
}
.trainer-feature__media::before{
  content:"";
  display:block;
  aspect-ratio:9/16;
}
.trainer-feature__media video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.trainer-feature__copy{
  max-width:58ch;
  display:flex;flex-direction:column;align-items:flex-start;gap:18px;
}
.trainer-feature__copy h3{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(30px,4vw,58px);
  line-height:.98;
  letter-spacing:-.025em;
  color:var(--ink);
  margin:0;
  max-width:14ch;
}
.trainer-feature__title{
  max-width:18ch!important;
  margin-top:6px!important;
}
.trainer-feature__title .ee-brand{
  display:block;
  white-space:nowrap;
  font-family:"Nunito Sans",var(--font-body);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.018em;
  font-size:clamp(25px,2.9vw,42px);
  line-height:1;
  color:var(--ink);
  transform:scaleX(.94);
  transform-origin:left center;
}
.trainer-feature__title .ee-byline{
  display:block;
  margin-top:16px;
  font-family:var(--font-display);
  font-weight:300;
  text-transform:none;
  letter-spacing:-.025em;
  font-size:clamp(30px,3.6vw,54px);
  line-height:.98;
  color:var(--ink);
}
.trainer-feature__title .ee-byline span{
  display:block;
  white-space:nowrap;
}
.nowrap{white-space:nowrap}

@media (max-width:700px){
  .trainer-feature__title{
    max-width:100%!important;
  }
  .trainer-feature__title .ee-brand{
    font-size:clamp(31px,7.8vw,38px);
    letter-spacing:.01em;
    transform:scaleX(.92);
  }
  .trainer-feature__title .ee-byline{
    font-size:clamp(38px,9.5vw,48px);
    line-height:.98;
    margin-top:18px;
  }
}
.trainer-feature__copy p{
  color:var(--ink-3);
  font-size:16px;
  line-height:1.65;
  margin:0;
  max-width:48ch;
}
.trainer-feature__copy a,
.trainer-feature__button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;
  padding:10px 14px;
  border:1px solid var(--hairline);
  background:transparent;
  color:var(--ink);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;
  font-family:var(--font-body);
  cursor:pointer;
  transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);
}
.trainer-feature__copy a:hover,
.trainer-feature__button:hover{
  background:var(--ink);border-color:var(--ink);color:var(--bg);
}

.law-enforcement-card{
  display:none;
  position:fixed;
  inset:0;
  z-index:120;
  place-items:center;
  padding:clamp(18px,4vw,54px);
  background:rgba(18,17,15,.82);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.law-enforcement-card:target,
.law-enforcement-card.is-open{
  display:grid;
}
.law-enforcement-card__close{
  position:absolute;
  top:clamp(16px,3vw,34px);right:clamp(16px,3vw,34px);
  display:inline-flex;align-items:center;justify-content:center;
  min-height:38px;
  padding:10px 14px;
  border:1px solid rgba(232,222,196,.5);
  color:#f4ead2;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;
  background:rgba(18,17,15,.48);
  z-index:2;
}
.law-enforcement-card__image{
  width:min(94vw,760px);
  max-height:86vh;
  border:1px solid rgba(232,222,196,.42);
  background:var(--bg-deep);
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}
.law-enforcement-card__image img{
  width:100%;
  max-height:86vh;
  display:block;
  object-fit:contain;
  filter:saturate(.94) contrast(1);
}

.trainer-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--hairline);
  border-bottom:1px solid var(--hairline);
}
.trainer-card{
  display:block;
  min-height:clamp(320px,32vw,430px);
  border-right:1px solid var(--hairline);
  background:linear-gradient(180deg,rgba(248,245,238,.42),rgba(248,245,238,0));
}
.trainer-card:last-child{border-right:0}
.trainer-card__media{
  position:relative;overflow:hidden;
  background:
    linear-gradient(135deg,rgba(33,31,28,.84),rgba(33,31,28,.58)),
    radial-gradient(circle at 30% 18%,rgba(201,167,101,.28),transparent 42%);
  display:flex;align-items:flex-end;
  padding:clamp(18px,2vw,26px);
}
.trainer-card__media::after{
  content:"";position:absolute;inset:18px;
  border:1px solid rgba(232,222,196,.18);
  pointer-events:none;
}
.trainer-card__reel-label{
  position:absolute;top:clamp(18px,2vw,26px);left:clamp(18px,2vw,26px);
  z-index:2;
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-soft);font-weight:500;
}
.trainer-card__media .fill-field{
  position:relative;z-index:2;
  max-width:22ch;
  color:#7b1f1f;
  background:rgba(255,242,238,.88);
  border-color:rgba(123,31,31,.45);
}
.trainer-card__media--photo{
  background:
    linear-gradient(180deg,rgba(33,31,28,.05),rgba(33,31,28,.44)),
    var(--trainer-photo) center/cover no-repeat;
}
.trainer-card__media--photo::before{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,14,12,.08),rgba(15,14,12,.4));
  z-index:1;
}
.trainer-card__media--photo .trainer-card__reel-label{
  color:#f2e7c8;
  text-shadow:0 1px 10px rgba(0,0,0,.36);
}
.trainer-card__body{
  display:flex;flex-direction:column;justify-content:flex-start;
  gap:18px;padding:clamp(28px,4vw,52px);
}
.trainer-card__eyebrow{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold-deep);font-weight:500;
}
.trainer-card h3{
  font-family:var(--font-display);font-size:clamp(30px,3.4vw,52px);
  font-weight:300;letter-spacing:-.025em;line-height:.95;
  margin:0;color:var(--ink);
}
.trainer-card__company{
  font-family:var(--font-display);font-style:italic;font-weight:300;
  color:var(--gold-deep);font-size:clamp(18px,1.8vw,24px);
  margin:0 0 10px;
}
.trainer-card p{
  color:var(--ink-3);font-size:15px;line-height:1.65;
  max-width:none;margin:0;
}
.trainer-inline-photo{
  margin:8px 0 18px;
  width:100%;
  border:1px solid var(--hairline);
  background:var(--surface);
  overflow:hidden;
}
.trainer-inline-photo img{
  width:100%;
  max-height:420px;
  display:block;
  object-fit:contain;
  filter:saturate(.88) contrast(.96);
}
.trainer-inline-photo--contain{
  background:var(--bg-deep);
}
.trainer-inline-photo--contain img{
  height:auto;
  object-fit:contain;
}
.trainer-inline-photo--full img{
  height:auto;
  object-fit:contain;
}
.trainer-card__credentials{
  display:grid;gap:8px;
  margin:8px 0 0;padding:0;list-style:none;
}
.trainer-card__credentials li{
  position:relative;
  padding-left:18px;
  color:var(--ink-2);
  font-size:13px;
  line-height:1.45;
}
.trainer-card__credentials li::before{
  content:"";
  position:absolute;left:0;top:.72em;
  width:7px;height:1px;background:var(--gold);
}
.trainer-card__links{
  display:flex;flex-wrap:wrap;gap:10px;
  margin-top:10px;
  margin-bottom:14px;
}
.trainer-card__links a{
  min-height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 13px;
  border:1px solid var(--hairline);
  color:var(--ink);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;
  transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);
}
.trainer-card__links a:hover{
  background:var(--ink);border-color:var(--ink);color:var(--bg);
}
.trainer-card__links a.trainer-link--instagram{
  background:#b85f24;
  border-color:#b85f24;
  color:#fff7ec;
  box-shadow:0 10px 24px rgba(184,95,36,.16);
}
.trainer-card__links a.trainer-link--instagram:hover{
  background:#964719;
  border-color:#964719;
  color:#fff7ec;
}
.trainer-card__links a.trainer-link--dark{
  background:#3f3d39;
  border-color:#3f3d39;
  color:#f6f0e5;
}
.trainer-card__links a.trainer-link--dark:hover{
  background:#25231f;
  border-color:#25231f;
  color:#f6f0e5;
}
.trainer-card__links a[aria-disabled="true"]{
  pointer-events:none;
}
.trainer-card__links .fill-field{
  padding:0;border:0;background:transparent;color:#9c2323;
}
.trainer-proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}
.trainer-proof img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border:1px solid var(--hairline);
  filter:saturate(.86) contrast(.96);
  background:var(--surface);
}
.trainer-proof img:first-child{
  object-position:center top;
}
.trainer-proof--stack{
  grid-template-columns:1fr;
  gap:24px;
}
.trainer-proof--stack img{
  aspect-ratio:auto;
  height:auto;
  max-height:430px;
  object-fit:contain;
  padding:10px;
  background:var(--surface);
}
.trainer-proof--mike{
  grid-template-columns:1fr;
  margin-top:18px;
}
.trainer-video-card{
  position:relative;
  grid-column:1/-1;
  display:block;
  overflow:hidden;
  border:1px solid var(--hairline);
  background:var(--bg-deep);
  color:var(--gold-soft);
  margin-top:4px;
}
.trainer-video-card img{
  width:100%;
  aspect-ratio:16/9;
  max-height:380px;
  display:block;
  object-fit:cover;
  filter:saturate(.88) contrast(.98) brightness(.86);
  transition:transform .45s var(--ease),filter .45s var(--ease);
}
.trainer-video-card::before{
  content:"";
  position:absolute;inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(15,14,12,.05),rgba(15,14,12,.52));
}
.trainer-video-card::after{
  content:"▶";
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  width:54px;height:54px;
  border:1px solid rgba(232,222,196,.72);
  border-radius:50%;
  display:grid;place-items:center;
  padding-left:4px;
  font-size:18px;
  color:#f4ead2;
  background:rgba(18,17,15,.42);
}
.trainer-video-card span{
  position:absolute;left:16px;bottom:14px;z-index:2;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;
  color:#f4ead2;
}
.trainer-video-card:hover img{
  transform:scale(1.025);
  filter:saturate(.96) contrast(1) brightness(.92);
}
.trainer-proof--single{
  grid-template-columns:minmax(140px,220px);
}
.trainer-proof--single img{
  aspect-ratio:4/3;
  object-position:center center;
}
.training-circle__disclaimer{
  margin:clamp(28px,3vw,40px) 0 0 auto;
  max-width:78ch;
  color:var(--ink);
  font-size:14px;
  line-height:1.65;
  border-left:1px solid var(--gold);
  padding:clamp(18px,2vw,26px) 0 clamp(18px,2vw,26px) 22px;
}
.training-circle__disclaimer p{margin:0 0 10px}
.training-circle__disclaimer p:first-child{
  font-weight:700;
}
.training-circle__disclaimer strong{
  color:var(--ink);
  font-weight:500;
}
.training-circle__disclaimer a{
  display:inline-flex;margin-top:2px;
  color:var(--gold-deep);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;
}
.training-circle__contacts{
  display:flex;flex-wrap:wrap;gap:10px 18px;
  align-items:center;
  margin-top:6px;
}
.training-circle__contacts .fill-field{
  color:#9c2323;
  background:rgba(255,242,238,.72);
  border-color:rgba(156,35,35,.3);
}

@media (max-width:1100px){
  .trainer-feature{grid-template-columns:1fr}
  .trainer-feature__copy{max-width:100%}
  .trainer-card{grid-template-columns:1fr}
  .trainer-card__media{min-height:220px}
}
@media (max-width:520px){
  .trainer-proof{grid-template-columns:1fr 1fr}
  .trainer-proof--stack,
  .trainer-proof--mike{
    grid-template-columns:1fr;
  }
  .trainer-inline-photo,
  .trainer-proof--stack img,
  .trainer-video-card{
    width:100%;
  }
}
@media (max-width:860px){
  .training-circle .section__head{grid-template-columns:1fr}
  .trainer-grid{grid-template-columns:1fr}
  .trainer-card{border-right:0;border-bottom:1px solid var(--hairline)}
  .trainer-card:last-child{border-bottom:0}
}

/* =====================================================
   INQUIRE — closing CTA
===================================================== */
.inquire{
  position:relative;overflow:hidden;
  background:var(--bg-deep);color:var(--ink-on-dark);
  padding-block:clamp(96px,12vw,180px);
}
.inquire__media{position:absolute;inset:0;z-index:0}
.inquire__media img{width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(.85) contrast(1.05)}
.inquire__media::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(80% 60% at 50% 50%,rgba(18,17,16,.4),rgba(18,17,16,.85) 90%),
    linear-gradient(180deg,rgba(18,17,16,.55),rgba(18,17,16,.85));
}
.inquire__content{
  position:relative;z-index:2;text-align:center;
  max-width:760px;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;gap:clamp(24px,3vw,36px);
}
.inquire .display{color:var(--ink-on-dark);max-width:18ch}
.inquire .display em{color:var(--gold-soft)}
.inquire .lede{color:var(--ink-on-dark-2);text-align:center}
.inquire__cta{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
.inquire__rule{
  width:48px;height:1px;background:var(--gold-soft);margin-bottom:4px;
}

/* =====================================================
   FOOTER
===================================================== */
.footer{
  background:var(--bg-deep-2);color:var(--ink-on-dark-2);
  padding:clamp(56px,7vw,80px) 0 clamp(28px,3vw,40px);
}
.footer__inner{
  display:grid;grid-template-columns:1.3fr 1fr 1fr;
  gap:clamp(28px,4vw,56px);align-items:start;
}
.footer__brand{display:flex;gap:14px;align-items:center}
.footer__brand .nav__mark{color:var(--gold-soft)}
.footer__wordmark{
  font-size:11px;letter-spacing:.32em;font-weight:500;
  color:var(--ink-on-dark);margin:0;
}
.footer__tag{
  font-family:var(--font-display);font-style:italic;font-weight:300;
  font-size:14px;color:var(--ink-on-dark-3);margin-top:4px;
}
.footer__col h4{
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-on-dark-3);font-weight:500;margin:0 0 14px;
}
.footer__col a,.footer__col li{
  display:block;font-size:14px;color:var(--ink-on-dark-2);
  padding:5px 0;
  transition:color .3s var(--ease);
}
.footer__col a:hover{color:var(--gold-soft)}
.footer__legal{
  margin-top:clamp(40px,5vw,64px);
  padding-top:clamp(20px,2.5vw,28px);
  border-top:1px solid var(--hairline-on-dark);
  font-size:12px;color:var(--ink-on-dark-3);line-height:1.6;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;
}

@media (max-width:760px){
  .footer__inner{grid-template-columns:1fr;gap:36px}
}

/* =====================================================
   Shared section head helpers
===================================================== */
.section__head{margin-bottom:clamp(40px,5vw,72px)}
.section__head .display{margin-top:14px}
.section__head .lede{margin-top:20px}
