/* Optional teaching image and native disclosures. Every rule is component-scoped. */
.dental-model{padding:76px 0;background:#eee5d9;color:#514539;scroll-margin-top:108px}
.dental-model .dm-wrap{max-width:1200px}
.dental-model .dm-heading{max-width:760px;margin-bottom:36px}
.dental-model .dm-eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 18px;color:#765630;font:500 11px/1.7 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.dental-model .dm-eyebrow::before{content:"";width:36px;height:1px;flex:none;background:#94754b}
.dental-model .dm-heading h2{margin:0 0 20px;color:#30261f;font-family:var(--serif);font-size:clamp(32px,4vw,48px);font-weight:300;line-height:1.16}
.dental-model .dm-intro{max-width:680px;margin:0;font-size:16px;line-height:1.85;color:#594c3e}
.dental-model .dm-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:42px;align-items:start}
.dental-model .dm-figure{min-width:0;margin:0;background:#211a15}
.dental-model .dm-image{position:relative;isolation:isolate}
.dental-model .dm-image img{position:static;display:block;width:100%;max-width:100%;height:auto;object-fit:contain}
.dental-model [hidden]{display:none!important}
.dental-model .dm-image video{display:block;width:100%;height:auto;max-width:100%;background:#211a15;object-fit:contain}
.dental-model .dm-video-play{position:absolute;z-index:3;bottom:20px;left:20px;display:flex;align-items:center;gap:13px;max-width:calc(100% - 40px);min-height:54px;padding:12px 17px;border:1px solid #bfa074;border-radius:2px;background:rgba(35,27,19,.94);color:#fff5e6;text-align:left;font:500 14px/1.5 var(--sans);cursor:pointer}
.dental-model .dm-video-play small{display:block;color:#e1d0b9;font:400 12px/1.6 var(--sans)}
.dental-model .dm-video-icon{flex:none;color:#e5c89d;font-size:15px}
.dental-model .dm-video-play:hover{background:#413120;border-color:#ead2ad}
.dental-model .dm-video-play:focus-visible,.dental-model .dm-image video:focus-visible{outline:3px solid #fff0d5;outline-offset:-6px}
.dental-model .dm-video-fallback,.dental-model .dm-video-status{margin:0;padding:0 22px 18px;color:#e8dac7;font-size:13px;line-height:1.8}
.dental-model .dm-video-fallback a{color:#f3dfbd;text-decoration:underline;text-underline-offset:4px}
.dental-model .dm-video-fallback a:focus-visible{outline-color:#fff0d5}
.dental-model .dm-ai-label{position:absolute;z-index:2;right:12px;top:12px;padding:4px 7px;border:0;background:rgba(18,14,10,.82);color:#f3eadf;font-size:12px;line-height:1.5;pointer-events:none}
.dental-model .dm-marker{position:absolute;z-index:1;display:grid;place-items:center;transform:translate(-50%,-50%);width:32px;height:32px;border:1px solid #f0dec0;border-radius:50%;background:#30251a;color:#fff5e6;font:600 12px/1 var(--sans);box-shadow:0 1px 7px rgba(0,0,0,.3);pointer-events:none}
.dental-model .dm-figure figcaption{position:static;margin:0;padding:18px 22px;background:#211a15;color:#dcd0c1;font-size:13px;line-height:1.8;text-shadow:none;letter-spacing:normal}
.dental-model .dm-explanations{min-width:0}
.dental-model .dm-marker-note{margin:0 0 18px;color:#645341;font-size:13px;line-height:1.75}
.dental-model .dm-details{border-top:1px solid #ad9473}
.dental-model .dm-detail{margin:0;border:0;border-bottom:1px solid #ad9473;scroll-margin-top:108px}
.dental-model .dm-detail summary{display:grid;grid-template-columns:27px minmax(0,1fr) 17px;align-items:center;gap:14px;min-height:68px;padding:20px 5px;list-style:none;color:#34291f;font:400 26px/1.25 var(--serif);cursor:pointer;transition:background-color .2s ease}
.dental-model .dm-detail summary::-webkit-details-marker{display:none}
.dental-model .dm-detail summary::marker{content:""}
.dental-model .dm-detail summary:hover{background:#e6d8c5}
.dental-model .dm-number{color:#765630;font:500 12px/1.4 var(--sans);letter-spacing:.04em}
.dental-model .dm-toggle{position:relative;display:block;width:16px;height:16px}
.dental-model .dm-toggle::before,.dental-model .dm-toggle::after{content:"";position:absolute;top:7px;left:0;width:16px;height:1px;background:#765630}
.dental-model .dm-toggle::after{transform:rotate(90deg)}
.dental-model .dm-detail[open] .dm-toggle::after{display:none}
.dental-model .dm-detail[open] summary{color:#241c16}
.dental-model .dm-answer{padding:0 5px 23px 46px}
.dental-model .dm-answer p{margin:0;color:#514539;font-size:15px;line-height:1.85}
.dental-model .dm-link{display:inline-block;margin-top:18px;color:#4c3822;font:500 14px/1.7 var(--sans);text-decoration:underline;text-decoration-color:#80613b;text-underline-offset:4px}
.dental-model .dm-link span{white-space:nowrap}
.dental-model .dm-note{margin:24px 0 0;color:#685744;font-size:13px;line-height:1.8}
.dental-model .dm-source{max-width:800px;margin:26px 0 0;color:#685744;font-size:12px;line-height:1.8}
.dental-model .dm-source a{color:#4c3822;text-decoration:underline;text-decoration-color:#80613b;text-underline-offset:4px;overflow-wrap:anywhere}
.dental-model summary:focus-visible,.dental-model a:focus-visible{outline:3px solid #765630;outline-offset:4px}
@media(max-width:1000px){
  .dental-model .dm-layout{gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .dental-model .dm-detail summary{font-size:24px;gap:10px}
  .dental-model .dm-answer{padding-left:42px}
}
@media(max-width:850px){
  .dental-model{padding:60px 0}
  .dental-model .dm-layout{grid-template-columns:1fr;gap:30px}
  .dental-model .dm-figure{max-width:720px;width:100%;justify-self:center}
}
@media(max-width:560px){
  .dental-model{padding:48px 0}
  .dental-model .dm-heading{margin-bottom:26px}
  .dental-model .dm-eyebrow{font-size:10px;letter-spacing:.15em}
  .dental-model .dm-layout{gap:24px}
  .dental-model .dm-figure figcaption{padding:16px 18px}
  .dental-model .dm-ai-label{top:9px;right:9px;font-size:11px}
  .dental-model .dm-video-play{left:12px;bottom:12px;max-width:calc(100% - 24px);gap:10px;padding:10px 13px}
  .dental-model .dm-video-fallback,.dental-model .dm-video-status{padding:0 18px 16px}
  .dental-model .dm-marker{width:28px;height:28px;font-size:11px}
  .dental-model .dm-detail summary{min-height:64px;padding:18px 2px;grid-template-columns:24px minmax(0,1fr) 16px;font-size:24px}
  .dental-model .dm-answer{padding:0 2px 22px}
  .dental-model .dm-note{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){
  .dental-model .dm-detail summary{transition:none}
}
