.visual-page .guide-hero{padding:30px 0 32px}.visual-page .breadcrumbs{margin-bottom:24px}.visual-page .guide-hero-grid{display:block}.visual-page .guide-art,.visual-page .guide-kicker{display:none}.visual-page .guide-hero h1{font-size:38px;max-width:1000px;letter-spacing:-1.5px;line-height:1.45;margin-bottom:13px}.visual-page .guide-hero .eyebrow{margin-bottom:15px}.visual-page .guide-lead{max-width:950px;font-size:15px;margin-bottom:0}.visual-intro{padding-bottom:15px}.visual-toolbar{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.visual-toolbar nav{display:flex;gap:10px;flex-wrap:wrap}.visual-toolbar nav a{font-size:12px;border:1px solid #c7d3c4;padding:7px 13px;border-radius:20px}.visual-toolbar nav a:hover{background:#edf5ef}.visual-focus-toggle{background:var(--green);color:white;border:0;border-radius:3px;padding:10px 16px;font-size:12px;white-space:nowrap}.visual-board{padding:45px 0 38px;border-bottom:1px solid var(--line);scroll-margin-top:115px}.visual-board-heading{margin-bottom:25px}.visual-board-heading .eyebrow{font-size:10px;margin-bottom:12px;letter-spacing:1.6px}.visual-board h2{font-size:29px;letter-spacing:-1px}.visual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.visual-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-card{min-width:0;background:#f4f8f5;border:1px solid #dce3d6;border-radius:5px;overflow:hidden}.visual-card-head{padding:23px 24px 0}.visual-card h3{font-size:24px;margin:0 0 3px;font-weight:500;letter-spacing:-.8px}.visual-card-head p{font-size:14px;color:var(--muted);margin:0}.visual-open{padding:0;display:block;position:relative;width:100%;color:var(--green);border:0;background:none;border-radius:2px;overflow:hidden}.visual-open img{width:100%;object-fit:contain;transition:transform .2s}.visual-open.diagram img{height:242px}.visual-open:hover img{transform:scale(1.025)}.zoom-mark{position:absolute;right:15px;bottom:10px;background:#fcfdfbe6;padding:4px 9px;border-radius:2px;font-size:10px;color:var(--green);box-shadow:0 1px 7px #203c3710}.visual-caption{font-size:14px;padding:0 24px 22px;margin:0;color:#526b61}.example-photo{margin:0;padding:0 23px 20px}.example-photo .visual-open{background:white;border:1px solid #d3ddce}.example-photo img{height:135px;object-fit:contain}.example-photo figcaption{font-size:12px;line-height:1.6;margin-top:10px}.example-photo small{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.example-photo small a{text-decoration:underline;text-underline-offset:2px}.visual-note{font-size:12px;color:var(--muted);line-height:1.9;margin:20px 0 0}.visual-to-text{display:inline-block;padding:25px 0 10px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.visual-page .guide-layout{border-top:1px solid var(--line);scroll-margin-top:115px}.public-illustration{margin-top:22px;font-size:14px}.public-illustration .example-photo{max-width:620px;margin:0 auto}.public-illustration .example-photo img{height:350px}.visual-focus .guide-layout,.visual-focus .footer,.visual-focus .guide-lead,.visual-focus .guide-hero,.visual-focus .mobile-booking,.visual-focus .visual-to-text{display:none}.visual-focus .visual-toolbar{position:sticky;top:100px;z-index:15;background:var(--paper)}.visual-focus .visual-board{scroll-margin-top:195px}.visual-focus .visual-open.diagram img{height:300px}.visual-dialog{padding:22px 28px;border:0;border-radius:6px;max-width:1180px;width:calc(100vw - 60px);height:calc(100dvh - 55px);max-height:940px;background:#fcfdfc;color:var(--ink);box-shadow:0 15px 80px #102c2850}.visual-dialog[open]{display:flex;flex-direction:column;gap:12px}.visual-dialog::backdrop{background:#102b27c4;backdrop-filter:blur(3px)}.visual-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.visual-dialog-head h2{font-size:25px;letter-spacing:-.8px;margin:0}.visual-dialog-close{border:1px solid #aebfac;background:white;color:var(--green);font-size:13px;padding:7px 13px;border-radius:3px;white-space:nowrap}.visual-dialog-stage{flex:1;min-height:0;background:#f0f3e9;display:flex;align-items:center;justify-content:center;overflow:auto;border:1px solid #dce4d6}.visual-dialog-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.visual-dialog-caption{font-size:16px;margin:0;padding:0 5px;line-height:1.7}.visual-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.visual-dialog-bottom button{color:var(--green);background:#e6eddf;border:1px solid #bbccb5;border-radius:3px;font-size:13px;padding:9px 14px;white-space:nowrap}.visual-dialog-credit{font-size:11px;color:var(--muted);text-align:center;line-height:1.5;margin:0}.visual-dialog-credit a{text-decoration:underline}.visual-page .guide-meta .visual-credits{padding-top:5px}.visual-credits li{margin-bottom:12px}
.visual-dialog-active{overflow:hidden}
.render-card .resin-stages.second-stage:hover img{transform:translateX(-50%)}
.render-card .visual-card-head{padding-bottom:20px}.render-card .render-3d{width:calc(100% - 32px);margin:0 16px 20px;aspect-ratio:1;background:#fbfaf5;border-radius:3px}.render-card .render-3d img{display:block;width:100%;height:100%;object-fit:contain}.render-card .render-3d:hover img{transform:none}.render-card .resin-stages img{width:200%;max-width:none;object-fit:fill;transition:none}.render-card .resin-stages.second-stage img{transform:translateX(-50%)}.resin-step-controls{display:flex;gap:8px;margin:0 16px 16px}.resin-step-controls button{flex:1;padding:10px 7px;border:1px solid #b9cab2;border-radius:3px;color:var(--green);background:#fcfdfc;font-size:12px}.resin-step-controls button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.render-card .visual-caption{min-height:0;padding-bottom:22px}.render-card .zoom-mark{bottom:12px;right:12px}
.restoration-detail .zoom-mark{top:8px;bottom:auto;right:8px}
.restoration-card .visual-open.diagram img{height:285px}.restoration-card .visual-caption{min-height:69px;padding-bottom:20px}.restoration-detail{margin:0 22px 22px;padding-top:14px;border-top:1px solid #d4decf}.restoration-detail .visual-open{background:#fbfcf7;border:1px solid #dce3d6}.restoration-detail img{height:155px}.restoration-detail figcaption{font-size:12px;line-height:1.7;color:#526b61;margin-top:11px}.clinic-treatment-note{padding:16px 20px;background:#e8eee1;border-left:3px solid #6f9073;color:#3f5e50;font-size:14px;line-height:1.8;margin:22px 0 0}.clinic-treatment-note strong{display:block;margin-bottom:3px;font-weight:500}.visual-focus .restoration-card .visual-open.diagram img{height:310px}
@media(max-width:1100px){.visual-grid{gap:12px}.visual-card-head{padding:20px 18px 0}.visual-card h3{font-size:22px}.visual-card-head p{font-size:13px}.visual-caption{padding-inline:18px;font-size:13px}.example-photo{padding-inline:18px}.visual-open.diagram img{height:220px}.visual-focus .visual-toolbar{top:85px}.visual-dialog-head h2{font-size:22px}}
@media(max-width:760px){.visual-page .guide-hero{padding:23px 0 24px}.visual-page .guide-hero h1{font-size:29px;letter-spacing:-1px}.visual-page .guide-lead{font-size:14px}.visual-toolbar{display:block;padding:18px 0}.visual-toolbar nav{gap:7px}.visual-toolbar nav a{font-size:11px;padding:6px 10px}.visual-focus-toggle{margin-top:13px;font-size:12px}.visual-board{padding:30px 0}.visual-board h2{font-size:25px}.visual-grid,.visual-grid.count-2{grid-template-columns:1fr;gap:17px}.visual-card-head{padding:20px 23px 0}.visual-card h3{font-size:24px}.visual-card-head p{font-size:14px}.visual-open.diagram img{height:235px}.visual-caption{font-size:14px;padding:0 23px 20px}.example-photo{padding-inline:23px}.example-photo img{height:165px}.example-photo small{font-size:11px}.visual-note{font-size:12px}.visual-focus .visual-toolbar{top:76px}.visual-focus .visual-board{scroll-margin-top:220px}.visual-focus .visual-open.diagram img{height:260px}.visual-dialog{width:calc(100vw - 20px);height:calc(100dvh - 25px);padding:15px;gap:10px}.visual-dialog-head h2{font-size:20px;line-height:1.5}.visual-dialog-close{padding:6px 10px;font-size:12px}.visual-dialog-caption{font-size:14px}.visual-dialog-bottom{gap:8px}.visual-dialog-bottom button{font-size:12px;padding:8px}.visual-dialog-credit{font-size:10px}.public-illustration .example-photo img{height:260px}}
@media print{.visual-toolbar,.zoom-mark,.visual-dialog,.visual-to-text{display:none!important}.visual-page .guide-hero{display:block!important}.visual-intro .visual-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.visual-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-board{break-inside:avoid;padding:20px 0}.visual-card{break-inside:avoid}.visual-open.diagram img,.visual-focus .visual-open.diagram img{height:145px}.visual-card h3{font-size:14pt}.visual-card-head p,.visual-caption{font-size:9pt}.example-photo img{height:90px}.visual-dialog{display:none}.visual-note{font-size:8pt}.visual-focus .guide-layout{display:grid!important}}

/* Clinical photo comparison. The original sheet is displayed through photo-only windows. */
.caries-lead{font-size:15px;line-height:1.8;color:var(--muted);margin:12px 0 0}
.caries-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#829c87 #f0f6f1;padding-bottom:12px}
.caries-scroll:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.caries-comparison{min-width:760px}.caries-photos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.caries-example{min-width:0;margin:0}.caries-number{font-size:11px;letter-spacing:1px;color:var(--muted);margin:0 0 10px}
.caries-photo{aspect-ratio:1;position:relative;overflow:hidden;background:#161918;border-radius:4px}
.caries-photo img,.caries-dialog .visual-dialog-stage img{position:absolute;left:0;top:var(--caries-y);display:block;width:439.823009%;max-width:none;height:auto;max-height:none;object-fit:fill;transform:none;transition:none}
.caries-photo:hover img{transform:none}.caries-photo .zoom-mark{right:7px;bottom:7px;padding:3px 6px}
.caries-example h3{font-size:15px;font-weight:500;line-height:1.6;letter-spacing:-.4px;margin:14px 0 0}
.caries-axis{margin:24px 3px 0}.caries-axis-bar{height:7px;border-radius:9px;position:relative;background:linear-gradient(90deg,#c8d7b9 0%,#8ba785 40%,#65765b 67%,#935d42 100%)}
.caries-axis-bar:after{content:'';position:absolute;right:-2px;top:-4px;border-left:12px solid #935d42;border-top:7px solid transparent;border-bottom:7px solid transparent}
.caries-axis-labels{display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#556a56;padding-top:13px}.caries-axis-labels span:last-child{color:#805038}
.caries-treatment{margin-top:26px;padding:24px;background:#eff6f1;border:1px solid #dbe3d2;border-radius:5px}.caries-treatment h3{font-size:17px;font-weight:500;margin:0 0 19px}
.caries-treatment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.caries-treatment-options>div{border-top:3px solid #b5c7a5;padding-top:14px}.caries-treatment-options>div:nth-child(2){border-color:#819577}.caries-treatment-options>div:nth-child(3){border-color:#9e8066}
.caries-treatment-options span{font-size:15px;font-weight:500;line-height:1.6}.caries-treatment-options p{font-size:13px;color:var(--muted);line-height:1.8;margin:8px 0 0}
.caries-scroll-tools{display:none}.caries-dialog .visual-dialog-stage{position:relative;flex:none;width:min(100%,420px,45dvh);aspect-ratio:1;align-self:center;overflow:hidden}.caries-dialog .visual-dialog-caption{margin-top:auto}
@media(max-width:900px){.caries-scroll-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 15px;font-size:12px;color:var(--muted)}.caries-scroll-tools>div{display:flex;gap:7px}.caries-scroll-tools button{min-width:44px;min-height:44px;background:#f0f6f1;color:var(--green);border:1px solid #becdb6;border-radius:4px;font-size:18px}.caries-scroll-tools button:disabled{opacity:.35}.caries-photos{gap:15px}}
@media(max-width:760px){.caries-lead{font-size:14px}.caries-comparison{width:760px}.caries-example h3{font-size:14px}.caries-axis-labels{font-size:12px}.caries-treatment{padding:20px;margin-top:19px}.caries-treatment-options{grid-template-columns:1fr;gap:17px}.caries-treatment-options>div{border-top:0;border-left:3px solid #b5c7a5;padding:0 0 0 13px}.caries-treatment-options p{margin:4px 0 0}.caries-treatment h3{font-size:16px}.caries-treatment-options br{display:none}.caries-photo .zoom-mark{font-size:9px}.caries-dialog .visual-dialog-stage{width:min(100%,45dvh)}}
@media print{.caries-scroll-tools{display:none}.caries-scroll{overflow:visible}.caries-comparison{width:100%;min-width:0}.caries-photos{gap:10px}.caries-example h3{font-size:9pt}.caries-treatment-options{grid-template-columns:repeat(3,minmax(0,1fr))}.caries-treatment{padding:12px}.caries-treatment-options p{font-size:8pt}}

/* Root canal: preserve the detail and four-stage sequence of the existing teaching art. */
.endo-lead{max-width:850px;font-size:15px;line-height:1.9;color:var(--muted);margin:13px 0 0}.endo-lead strong{font-weight:500;color:var(--ink)}
.endo-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:100%}.endo-sequence:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.endo-step{min-width:0;background:#f4f8f5;border:1px solid #dce3d6;border-radius:5px;padding:22px 18px 23px;scroll-snap-align:start}
.endo-step-heading{display:flex;align-items:center;gap:10px;margin-bottom:20px;min-height:34px}.endo-step-number{font-size:12px;letter-spacing:1px;border-bottom:2px solid #8ba785;padding-bottom:4px;color:#5d795f}.endo-step h3{font-size:20px;letter-spacing:-.8px;line-height:1.5;font-weight:500;margin:0}
.endo-art{aspect-ratio:129/181;width:100%;max-width:210px;margin:0 auto;position:relative;overflow:hidden;background:white;border-radius:3px}
.endo-art img,.endo-dialog .visual-dialog-stage img{position:absolute;left:var(--endo-x);top:-35.911602%;display:block;width:480.620155%;max-width:none;height:auto;max-height:none;object-fit:fill;transform:none;transition:none}
.endo-art:hover img{transform:none}.endo-art .zoom-mark{right:7px;bottom:7px}
.endo-look{font-size:13px;line-height:1.7;margin:20px 0 12px;color:#355b4e;min-height:45px}.endo-look span{display:block;font-size:10px;letter-spacing:.5px;color:#72866f;margin-bottom:4px}
.endo-description{font-size:13px;color:var(--muted);line-height:1.9;margin:0;padding-top:13px;border-top:1px solid #dce3d6}
.endo-course-note{padding:20px 23px;background:#f0f6f1;border-left:3px solid #829977;margin-top:24px}.endo-course-note strong{font-size:15px;font-weight:500}.endo-course-note p{font-size:13px;line-height:1.9;color:var(--muted);margin:8px 0 0}.endo-mobile-controls{display:none}
.endo-dialog .visual-dialog-stage{position:relative;flex:none;width:min(100%,360px,40dvh);aspect-ratio:129/181;align-self:center;overflow:hidden}.endo-dialog .visual-dialog-caption{margin-top:auto}
@media(min-width:761px) and (max-width:1100px){.endo-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.endo-art{max-width:220px}}
@media(max-width:760px){.endo-board h2{font-size:25px;line-height:1.5}.endo-lead{font-size:14px}.endo-mobile-controls{display:block;margin:0 0 17px}.endo-step-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.endo-step-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:58px;border:1px solid #c1cfb8;border-radius:4px;background:#f1f4ea;color:#56714f;padding:9px 3px;font-size:16px}.endo-step-nav button span{font-size:11px}.endo-step-nav button[aria-current=true]{background:var(--green);border-color:var(--green);color:white}.endo-mobile-controls>p{font-size:12px;color:var(--muted);margin:11px 0 0}.endo-sequence{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#829c87 #f0f6f1;padding-bottom:12px}.endo-step{flex:0 0 100%;box-sizing:border-box;padding:20px 20px 22px}.endo-step-heading{margin-bottom:15px}.endo-step h3{font-size:23px}.endo-art{max-width:205px}.endo-look{min-height:0;margin-top:17px;font-size:14px}.endo-description{font-size:14px}.endo-course-note{padding:18px;margin-top:18px}.endo-dialog .visual-dialog-stage{width:min(100%,36dvh)}}
@media print{.endo-mobile-controls{display:none}.endo-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow:visible}.endo-step{padding:10px;break-inside:avoid}.endo-step h3{font-size:11pt}.endo-art{max-width:110px}.endo-look,.endo-description{font-size:8pt}.endo-course-note p{font-size:8pt}}

/* Pediatric prevention: unchanged photographs from the existing teaching page. */
.child-photo-card .child-photo-stage{padding:22px 24px 20px;min-height:300px;display:flex;align-items:center}
.child-photo-card .visual-caption{line-height:1.85;padding-bottom:12px}
.child-photo-note{font-size:12px;line-height:1.8;color:var(--muted);margin:0;padding:0 24px 23px}
.sealant-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:center}
.sealant-window{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:white}
.sealant-window img{display:block;position:absolute;left:0;top:0;width:200%;height:auto;max-width:none;transition:none;object-fit:fill}
.sealant-window.after img{left:-100%;top:0}
.child-sealant-photo:hover img{transform:none}
.sealant-label{display:block;font-size:13px;padding:10px 0 2px;color:var(--green)}
.child-sealant-photo .zoom-mark{bottom:39px;right:8px}
.child-space-photo img{display:block;width:100%;height:275px;object-fit:contain}
@media(max-width:760px){.child-photo-card .child-photo-stage{min-height:0;padding:20px}.child-space-photo img{height:auto;max-height:300px}.child-photo-note{padding:0 20px 20px}.sealant-comparison{gap:7px}.sealant-label{font-size:12px}.child-sealant-photo .zoom-mark{font-size:9px;padding:3px 6px}}

/* Licensed sealant figure: preserve source pixels and display only the A/B row. */
.sealant-dialog .visual-dialog-stage{position:relative;flex:none;width:min(100%,110dvh);aspect-ratio:2649/1320;align-self:center;overflow:hidden}
.sealant-dialog .visual-dialog-stage img{position:absolute;left:0;top:0;display:block;width:100%;height:auto;max-width:none;max-height:none;object-fit:fill}
.sealant-dialog .visual-dialog-caption{margin-top:auto}
.child-photo-note a{text-decoration:underline;text-underline-offset:2px}

/* Individually exported selected images; no legacy sprite offsets. */
.caries-selected{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1}.caries-selected img{display:block;width:100%;height:100%;object-fit:cover}.endo-selected{display:block;position:relative;width:100%;margin:auto;background:white}.endo-selected img{display:block;width:100%;height:auto}
