/* Shared public depth — marketplace + mini-site atmosphere */
.mp-hero{
  min-height:min(78vh,640px);display:grid;align-items:end;position:relative;overflow:hidden;color:#fff;
  background:
    linear-gradient(105deg,rgba(10,28,20,.82) 0%,rgba(10,28,20,.4) 52%,rgba(10,28,20,.62) 100%),
    radial-gradient(ellipse at 72% 35%,rgba(90,140,110,.28),transparent 50%),
    linear-gradient(155deg,#1a4a35,#0d241a 58%,#142820);
  background-size:cover;background-position:center;
}
.mp-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 20% 90%,rgba(0,0,0,.25),transparent 45%);
  pointer-events:none;
}
.mp-hero-inner{position:relative;z-index:1;padding:clamp(2rem,7vh,4.5rem) 1.25rem 2.75rem;max-width:1120px;margin:0 auto;width:100%}
.mp-hero-brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.03em;text-decoration:none;color:#fff;margin-bottom:1.1rem}
.mp-hero-brand img{height:2.85rem;width:auto;max-width:7rem;max-height:3rem;border-radius:.45rem;object-fit:contain;background:rgba(255,255,255,.12);padding:.15rem;box-sizing:border-box}
.mp-hero h1{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.05;margin:0 0 .65rem;max-width:14ch;font-weight:700}
.mp-hero .lead{margin:0;max-width:34rem;font-size:clamp(1.02rem,2vw,1.2rem);opacity:.92;line-height:1.45}
.mp-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}
.mp-hero-actions .pub-btn-primary{background:#fff;color:var(--moss-deep)}
.mp-hero-actions .pub-btn-primary:hover{background:var(--leaf);color:var(--moss-deep)}
.mp-hero-actions .pub-btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.mp-hero-actions .pub-btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}

.mp-body{padding:1.75rem 0 3.5rem}
.mp-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.5rem}
.mp-rail{display:grid;gap:1.5rem}
@media(min-width:960px){
  .mp-rail{grid-template-columns:minmax(0,1fr) 240px;align-items:start}
  .mp-aside{position:sticky;top:1rem}
}

.mp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:1rem;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.mp-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(20,38,28,.12);color:inherit}
.mp-card-media{position:relative;aspect-ratio:16/11;background:linear-gradient(145deg,var(--moss),var(--moss-deep));background-size:cover;background-position:center}
.mp-card-parents{position:absolute;left:.75rem;bottom:.75rem;display:flex;gap:.4rem}
.mp-card-parents span{width:2.6rem;height:2.6rem;border-radius:999px;border:2px solid #fff;background:#5f7a68 center/cover;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.mp-card-body{padding:1.05rem 1.15rem 1.2rem;display:grid;gap:.35rem}
.mp-card-body h2{margin:0;font-family:var(--font-display);font-size:1.35rem;line-height:1.15}
.mp-card-meta{display:flex;flex-wrap:wrap;gap:.35rem .75rem;font-size:.88rem;color:rgba(20,38,28,.65)}
.mp-card-blurb{margin:.15rem 0 0;font-size:.92rem;color:rgba(20,38,28,.72);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mp-health{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}
.mp-health .chip{font-size:.7rem;padding:.18rem .45rem;border-radius:.3rem;background:var(--leaf);color:var(--moss-deep);font-weight:600;letter-spacing:.02em}
.mp-health .chip.is-muted{background:#f1eee6;color:#6a6558;font-weight:500}

.lt-story{font-size:1.08rem;line-height:1.65;max-width:42rem;margin:0}
.lt-section{margin:0 0 1.5rem}
.lt-section h2{margin:0 0 .85rem;font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.7rem)}
.lt-parents{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.lt-parent{position:relative;border-radius:1rem;overflow:hidden;min-height:280px;background:linear-gradient(145deg,#c5d5c9,#6f8f78);background-size:cover;background-position:center;color:#fff;display:flex;align-items:flex-end}
.lt-parent::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,22,16,.78))}
.lt-parent-body{position:relative;z-index:1;padding:1.15rem 1.2rem 1.25rem}
.lt-parent-body .role{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.lt-parent-body strong{display:block;font-family:var(--font-display);font-size:1.35rem;margin:.2rem 0 .35rem}
.lt-pups{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.lt-pup{border:1px solid var(--line);border-radius:.85rem;padding:1rem;background:#fff;transition:transform .2s ease}
.lt-pup:hover{transform:translateY(-2px)}

.ms-depth-hero{
  min-height:min(88vh,720px);display:grid;align-items:end;position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(145deg,var(--accent,#2f6f4e),#16382c 65%,#0f241c);
  background-size:cover;background-position:center;
}
.ms-depth-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,20,14,.15) 0%,rgba(8,20,14,.55) 55%,rgba(8,20,14,.82) 100%)}
.ms-depth-nav{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;flex-wrap:wrap;gap:.75rem 1.1rem;align-items:center;padding:1rem 1.35rem;font-size:.9rem}
.ms-depth-nav a{color:rgba(255,255,255,.88);text-decoration:none}
.ms-depth-nav a:hover{color:#fff}
.ms-depth-nav .brand{margin-right:auto;font-weight:700;color:#fff;display:inline-flex;align-items:center;gap:.55rem}
.ms-depth-nav .brand img{
  height:4.75rem;width:auto;max-width:12rem;max-height:5.25rem;
  object-fit:contain;object-position:center;border-radius:.5rem;
  border:1px solid rgba(255,255,255,.35);background:#fff;padding:.25rem;box-sizing:border-box;
}
.ms-depth-inner{position:relative;z-index:1;padding:clamp(3rem,10vh,6rem) 1.35rem 3rem;max-width:920px}
.ms-depth-inner h1{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,4.4rem);line-height:.98;margin:0 0 .85rem;font-weight:700;max-width:12ch}
.ms-depth-inner .bio{margin:0;max-width:36rem;font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.5;opacity:.94}
.ms-depth-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.6rem}
.ms-depth-actions .pub-btn-primary{background:#fff;color:var(--ink)}
.ms-depth-actions .pub-btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}
.ms-depth-main{max-width:1120px;margin:0 auto;padding:2.25rem 1.35rem 4rem}
.ms-depth-block{margin:0 0 2.75rem;scroll-margin-top:1rem}
.ms-depth-block > h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(1.45rem,3vw,1.9rem)}
.ms-depth-block > .lede{margin:0 0 1.1rem;color:rgba(20,38,28,.62);max-width:40rem}
.ms-prose{white-space:pre-wrap;line-height:1.7;font-size:1.05rem;max-width:40rem;color:rgba(20,38,28,.88)}
.ms-dogs-mosaic{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.ms-dog-tile{border-radius:1rem;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s ease,box-shadow .25s ease}
.ms-dog-tile{display:block;color:inherit;text-decoration:none}
.ms-dog-tile:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(20,38,28,.1)}
.ms-dog-tile .pic{aspect-ratio:1;background:linear-gradient(145deg,#7a9a82,#2f6f4e) center/cover}
.ms-dog-tile .cap{padding:.8rem .9rem}
.ms-dog-meta{margin-top:.35rem;font-size:.78rem;line-height:1.35;color:rgba(20,38,28,.68)}
.ms-dog-blurb{margin:.45rem 0 0;font-size:.85rem;line-height:1.45;color:rgba(20,38,28,.82)}
.ms-listing{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}

.ms-event-grid{display:grid;gap:1rem}
.ms-event-card{display:grid;grid-template-columns:88px 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.1rem 1.15rem;align-items:start}
@media(max-width:560px){.ms-event-card{grid-template-columns:1fr}}
.ms-event-date{background:var(--leaf);color:var(--moss-deep);border-radius:.75rem;padding:.75rem .5rem;text-align:center;min-height:88px;display:grid;align-content:center}
.ms-event-date .day{font-family:var(--font-display);font-size:1.85rem;font-weight:700;line-height:1}
.ms-event-date .mon{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-top:.25rem}
.ms-event-body h3{margin:.35rem 0 .35rem;font-family:var(--font-display);font-size:1.25rem;line-height:1.15}
.ms-event-body .where{margin:0;font-size:.9rem;color:rgba(20,38,28,.62)}
.ms-event-body .desc{margin:.45rem 0 0;font-size:.95rem;line-height:1.5;color:rgba(20,38,28,.82)}
.ms-event-interest{margin-top:.75rem}
.ms-event-interest summary{cursor:pointer;color:var(--moss);font-weight:600}
.ms-event-interest .pub-form{margin-top:.75rem;max-width:22rem}

/* Events Hub */
.eh-hero{
  background:
    linear-gradient(118deg,rgba(12,32,24,.88) 0%,rgba(18,48,36,.45) 48%,rgba(10,26,20,.78) 100%),
    radial-gradient(ellipse at 78% 28%,rgba(212,175,88,.22),transparent 52%),
    linear-gradient(160deg,#1c4634 0%,#0e241c 55%,#173028 100%);
}
.eh-hero-detail,.eh-hero-club{
  background:
    linear-gradient(115deg,rgba(10,28,20,.9) 0%,rgba(14,40,28,.5) 55%,rgba(8,22,16,.82) 100%),
    linear-gradient(150deg,#245540,#12281f 60%,#1a352c);
}
.eh-brand-mark{
  margin:0 0 .55rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;opacity:.88;color:rgba(255,236,190,.95);
}
.eh-filters{
  display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin:0 0 1.5rem;
  padding:1rem 1.1rem;background:rgba(255,255,255,.72);border:1px solid var(--line);border-radius:1rem;
}
.eh-field{display:grid;gap:.3rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:rgba(20,38,28,.62)}
.eh-field input,.eh-field select{
  min-width:7.5rem;border:1px solid var(--line);border-radius:.55rem;padding:.55rem .65rem;
  font:inherit;text-transform:none;letter-spacing:0;color:var(--ink);background:#fff;
}
.eh-grow{flex:1 1 12rem}
.eh-grow input{width:100%;min-width:12rem}
.eh-check{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:rgba(20,38,28,.78);padding-bottom:.35rem}
.eh-card-link{text-decoration:none;color:inherit;transition:transform .22s ease,box-shadow .22s ease}
.eh-card-link:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(20,38,28,.1);color:inherit}
.eh-badges{display:flex;flex-wrap:wrap;gap:.35rem}
.eh-badge-open{background:var(--moss);color:#fff}
.eh-empty{padding:1rem 0 2rem}
.eh-pager{margin-top:1.5rem}
.eh-detail-grid{display:grid;gap:1.5rem}
@media(min-width:900px){.eh-detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,.75fr);align-items:start}}
.eh-prose h2,.eh-section-title,.eh-club-bio h2{
  margin:0 0 .75rem;font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,1.7rem)
}
.eh-meta{display:grid;gap:.85rem;margin:1.25rem 0 0;padding:0}
.eh-meta div{border-top:1px solid var(--line);padding-top:.75rem}
.eh-meta dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(20,38,28,.55);margin:0 0 .2rem}
.eh-meta dd{margin:0;font-size:1.02rem}
.eh-aside{display:grid;gap:1rem}
.eh-host{
  background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.15rem 1.2rem;
  display:grid;gap:.55rem
}
.eh-host h3{margin:0;font-family:var(--font-display);font-size:1.25rem}
.eh-host p{margin:0;line-height:1.5;color:rgba(20,38,28,.75)}
.eh-open-note{font-weight:700;color:var(--moss)}
.eh-club-bio{margin:0 0 2rem;max-width:40rem}
@media(prefers-reduced-motion:reduce){
  .eh-card-link,.eh-card-link:hover{transition:none;transform:none}
}

.ms-partner-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ms-partner-card{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.2rem 1.2rem 1.3rem;display:grid;gap:.45rem;transition:transform .2s ease,box-shadow .2s ease}
.ms-partner-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(20,38,28,.1)}
.ms-partner-card.is-featured{border-color:rgba(47,111,78,.35);box-shadow:inset 0 0 0 1px rgba(47,111,78,.12)}
.ms-partner-card h3{margin:0;font-family:var(--font-display);font-size:1.3rem;line-height:1.15}
.ms-partner-meta{display:flex;flex-wrap:wrap;gap:.35rem .85rem;font-size:.85rem;color:rgba(20,38,28,.62)}
.ms-partner-card .blurb{margin:0;font-size:.95rem;line-height:1.5;color:rgba(20,38,28,.82)}
.ms-partner-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.35rem}
.ms-partner-actions .pub-btn{padding:.55rem .85rem;font-size:.88rem}
.ms-partner-cta{margin-top:1.25rem;padding:1.1rem 1.2rem;border-radius:.9rem;background:rgba(255,255,255,.7);border:1px dashed var(--line);display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}
.ms-partner-cta p{margin:0;flex:1 1 16rem;color:rgba(20,38,28,.72);font-size:.95rem}

.ms-branding-gallery-grid{
  display:grid;gap:.85rem;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
.ms-branding-gallery-item{
  margin:0;border-radius:1rem;overflow:hidden;
  background:#fff;border:1px solid var(--line);
  aspect-ratio:4/3;
}
.ms-branding-gallery-item img{
  display:block;width:100%;height:100%;object-fit:cover;
}
.ms-powered-by{
  margin:0;padding:1.75rem 1.35rem 2.25rem;
  text-align:center;border-top:1px solid var(--line, rgba(0,0,0,.08));
  background:rgba(255,255,255,.5);
}
.ms-powered-by-link{
  display:inline-flex;align-items:center;gap:.55rem;
  color:rgba(20,38,28,.62);text-decoration:none;font-size:.88rem;
  transition:color .2s ease;
}
.ms-powered-by-link:hover{color:var(--moss-deep, #2f6f4e)}
.ms-powered-by-link img{opacity:.85}

@media (prefers-reduced-motion:no-preference){
  .mp-hero-inner > *,.ms-depth-inner > *{animation:pub-rise .75s ease both}
  .mp-hero-inner > *:nth-child(2){animation-delay:.06s}
  .mp-hero-inner > *:nth-child(3){animation-delay:.12s}
  .mp-hero-inner > *:nth-child(4){animation-delay:.18s}
  .ms-depth-inner > *:nth-child(2){animation-delay:.08s}
  .ms-depth-inner > *:nth-child(3){animation-delay:.14s}
  .mp-card{animation:pub-rise .55s ease both}
}
@keyframes pub-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:640px){
  .mp-hero{min-height:68vh}
  .ms-depth-hero{min-height:78vh}
}

/* 3D award medals */
.award-medal{display:inline-grid;justify-items:center;gap:.55rem;margin:0;perspective:600px}
.award-medal__disc{
  position:relative;width:5.5rem;height:6.4rem;
  transform-style:preserve-3d;
}
.award-medal__rim,.award-medal__face{
  position:absolute;left:50%;top:0;width:4.6rem;height:4.6rem;margin-left:-2.3rem;
  border-radius:50%;
}
.award-medal__rim{
  background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(0,0,0,.25));
  box-shadow:0 10px 22px rgba(0,0,0,.28), inset 0 1px 2px rgba(255,255,255,.45);
  transform:translateZ(0);
}
.award-medal__face{
  display:grid;place-items:center;
  transform:translateZ(8px);
  box-shadow:inset 0 -8px 16px rgba(0,0,0,.22), inset 0 6px 10px rgba(255,255,255,.35);
}
.award-medal__sheen{
  position:absolute;inset:12% 18% auto;height:38%;border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.55),transparent);
  pointer-events:none;
}
.award-medal__glyph{
  position:relative;z-index:1;font-family:var(--font-display);font-size:1.65rem;font-weight:700;
  color:rgba(20,20,20,.72);text-shadow:0 1px 0 rgba(255,255,255,.35);
}
.award-medal__ribbon{
  position:absolute;left:50%;bottom:0;width:1.85rem;height:1.7rem;margin-left:-.925rem;
  background:linear-gradient(180deg,#7a1f2b,#4a1018);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);
  box-shadow:0 4px 10px rgba(0,0,0,.2);
}
.award-medal--gold .award-medal__face{background:radial-gradient(circle at 35% 30%,#ffe9a8,#d4a017 55%,#8a6a0a)}
.award-medal--silver .award-medal__face{background:radial-gradient(circle at 35% 30%,#f5f7fa,#9aa3ad 55%,#5c6570)}
.award-medal--bronze .award-medal__face{background:radial-gradient(circle at 35% 30%,#f0c9a0,#b87333 55%,#6e3f16)}
.award-medal--special .award-medal__face{background:radial-gradient(circle at 35% 30%,#e8d7ff,#7a5cff 50%,#2f1f6e)}
.award-medal--special .award-medal__glyph{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.award-medal__cap{font-size:.82rem;text-align:center;max-width:9rem;line-height:1.25;color:rgba(20,38,28,.78)}
.award-wall{display:flex;flex-wrap:wrap;gap:1.1rem 1.25rem;align-items:start}
@media(prefers-reduced-motion:no-preference){
  .award-medal__disc{transition:transform .45s ease}
  .award-medal:hover .award-medal__disc{transform:rotateY(18deg) rotateX(8deg) translateY(-2px)}
}
.combo-list{display:grid;gap:1.15rem;margin-top:.85rem}
.combo{padding:1.25rem 1.35rem 1.4rem}
.combo__header{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;margin:0 0 .85rem}
.combo__name{margin:0;font-family:var(--font-display);font-size:1.35rem}
.combo__health{display:flex;flex-wrap:wrap;gap:.35rem}
.combo__parents{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 1rem}
.combo__parent{display:flex;gap:.75rem;align-items:center}
.combo__photo{width:3.4rem;height:3.4rem;border-radius:999px;object-fit:cover;background:var(--leaf);flex-shrink:0}
.combo__photo--placeholder{background:linear-gradient(145deg,var(--leaf),#d5e0d8)}
.combo__role,.combo__scores{display:block;font-size:.82rem;color:rgba(20,38,28,.65)}
.combo__dog-name{display:block;font-size:1.02rem}
.combo__analysis p{margin:0 0 .75rem;line-height:1.65;max-width:46rem}
.combo__highlights-title{margin:0 0 .45rem;font-size:1.05rem;font-family:var(--font-display)}
.combo__highlights-list{margin:0;padding-left:1.15rem;line-height:1.55}
