/* Elementary teaching portfolio. Shared pricing links retain the site button style. */
.teaching-page { padding-top:clamp(48px,6vw,76px); padding-bottom:clamp(78px,10vw,126px); }
.teaching-hero { text-align:center; margin-bottom:clamp(48px,6vw,76px); }
.teaching-hero__image { width:min(100%, 738px); height:auto; margin:0 auto; }
.teaching-category { width:min(100%, 738px); margin-right:auto; margin-left:auto; scroll-margin-top:138px; }
.teaching-category + .teaching-category { margin-top:clamp(48px,6vw,76px); }
.teaching-category h2 { margin:0 0 24px; color:#2f2c2a; font-size:clamp(24px,3vw,32px); }
.teaching-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 28px; }
.teaching-card { margin:0; min-width:0; }
.teaching-card .video-preview { position:relative; overflow:hidden; border-radius:8px; background:#f5f2ef; }
.teaching-card img { width:100%; aspect-ratio:4/3; object-fit:contain; }
.teaching-card figcaption { margin-top:12px; color:#74706d; font-size:14px; text-align:center; }
.teaching-card button:focus-visible { outline:3px solid #8e7463; outline-offset:4px; }
.teaching-note { max-width:760px; margin:clamp(64px,8vw,100px) auto 0; padding-top:32px; border-top:1px solid #e8e5e1; }
.teaching-note p { margin:0 0 18px; }
.teaching-note p:last-child { margin-bottom:0; }
@media(max-width:700px) {
  .teaching-grid { grid-template-columns:1fr; gap:28px; }
  .teaching-category { scroll-margin-top:86px; }
}
