/* training.css */
.train-hero h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); max-width: 16ch; }

.train-detail { background: var(--paper); }
.train-detail--alt { background: var(--sand); }
.train-detail h2 { line-height:0.98; }
.split-copy p + p { margin-top: 16px; }
.split-copy .lead + p { margin-top: 20px; }
.split-copy .btn { margin-top: 30px; }

/* HOW */
.how { background: var(--forest); position:relative; overflow:hidden; }
.how::before { content:""; position:absolute; inset:0; background:radial-gradient(60% 120% at 50% 0%, rgba(47,96,102,0.35), transparent 55%); }
.how .container { position:relative; }
.how-list { list-style:none; max-width: 820px; margin: 0 auto; padding: 0; display:grid; gap: 40px; }
.how-item { display:grid; grid-template-columns: 64px 1fr; gap: 26px; align-items:start; }
.how-num { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:var(--clay); color:var(--paper); font-family:var(--display); font-size:1.7rem; }
.how-item h3 { color:var(--sand); margin: 14px 0 12px; }
.how-item p { color: rgba(250,246,236,0.78); }
.how-item p + p { margin-top: 12px; }

/* PRINCIPLES */
.train-principles { background: var(--sand); }
.principles-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.principle h2 { font-size: clamp(2rem, 3.6vw, 2.8rem); margin-bottom: 18px; }
.principle p + p { margin-top: 14px; }
.how-cta { text-align:center; margin-top: 56px; }
.principles-cta { grid-column: 1 / -1; text-align:center; }

/* GALLERY */
.train-gallery { background: var(--paper); padding-top: 90px; }
.gallery-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.gallery-grid .ph { aspect-ratio: 4/5; border-radius: var(--radius); }

@media (max-width:1200px){ .split{gap:46px;} }
@media (max-width:980px){ .gallery-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:850px){ .principles-grid{ grid-template-columns:1fr; gap:40px; } }
@media (max-width:650px){
  .how-item{ grid-template-columns: 48px 1fr; gap:18px; }
  .how-num{ width:48px; height:48px; font-size:1.3rem; }
  .how-item h3{ margin-top:8px; }
  .gallery-grid{ grid-template-columns:1fr; }
}
.cta-band { background: var(--paper); padding-bottom: 80px; }

/* TRAINER PORTRAIT */
.trainer-photo {
  display: block; width: 100%; height: auto; border-radius: var(--radius);
  box-shadow: 0 30px 60px -30px rgba(25,28,22,0.4);
}

/* REAL DOG PHOTOGRAPHY */
.gallery-photo { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: var(--radius); }
.nature-photo { display: block; width: 100%; height: auto; border-radius: var(--radius); box-shadow: 0 30px 60px -30px rgba(25,28,22,0.4); }

/* MEET YOUR TRAINER */
.trainer .split { align-items: start; }
.trainer .split-media { position: sticky; top: 110px; }
@media (max-width:980px){ .trainer .split-media { position: static; } }
