// ─────────── Doctors ─────────── const DOCTORS = [ { id: 'abhijit', name: 'Dr. Abhijit Shanbhag', specialty: 'Co-Founder · Head Orthodontist & Dentofacial Orthopaedist', bio: 'MDS in Orthodontics from NITTE University. Certified Invisalign provider. Specialises in braces, clear aligners, smile design, and complex bite correction — with a written plan in your hands before any wire is placed.', cred: [ { k: 'MDS', v: 'NITTE University' }, { k: 'Invisalign', v: 'Certified Provider' }, { k: 'Cases treated', v: '2,500+' }, { k: 'Experience', v: '12+ years' }, ], tag: 'Treating since 2014', quote: 'Each treatment is curated to the patient\'s specific dental needs. Happy patient, happy us.', }, { id: 'sonali', name: 'Dr. Sonali Shanbhag', specialty: 'Co-Founder · Head Prosthodontist & Implantologist', bio: 'MDS in Prosthodontics & Implantology from KLE VKIDS. Member of the Indian Prosthodontic Society. Best Poster Award winner at the 24th IPS Convention. Specialises in implants, crowns, full-mouth rehabilitation, and smile restoration.', cred: [ { k: 'MDS', v: 'KLE VKIDS' }, { k: 'Membership', v: 'Indian Prosthodontic Society' }, { k: 'Restorations', v: '1,800+' }, { k: 'Experience', v: '10+ years' }, ], tag: 'Treating since 2016', quote: 'A calm chair, a confident plan, and a result that quietly speaks for itself.', }, ]; const DoctorsSection = () => { const [active, setActive] = React.useState('abhijit'); const doc = DOCTORS.find(d => d.id === active); return (

The team

Meet the Shanbhags.

A husband-and-wife specialist team, treating Mulund families since 2018. The kind of dental duo where one finishes the other's sentences, and the rest of your treatment plan.

Dr. Abhijit and Dr. Sonali Shanbhag
Mulund West · 2024
Dr. Abhijit & Dr. Sonali
Co-founders, Align-O-Dent
2018→
{DOCTORS.map(d => ( ))}

{doc.name}

{doc.specialty}

{doc.bio}

"{doc.quote}"

{doc.cred.map(c => (
{c.k}
{c.v}
))}
scrollTo('book')}>Book with {doc.name.split(' ')[1]} Full Profile
); }; // ─────────── Treatment showcase ─────────── const TREATMENTS = [ { id: 'invisalign', name: 'Invisalign', label: '01 / Aligners', h: 'Clear aligners, designed in 3D.', desc: 'Custom-trayed clear aligners that nobody notices. We scan with iTero, simulate your final smile before you commit, then ship trays in pre-numbered weekly sets.', stats: [{k:'Avg. duration', v:'8–14 mo'}, {k:'Visits', v:'Every 6 wks'}, {k:'Visibility', v:'Near-invisible'}], incl: ['Digital scan', 'ClinCheck simulation', 'Refinements', 'Retainers'], }, { id: 'braces', name: 'Braces', label: '02 / Orthodontics', h: 'Metal, ceramic, lingual.', desc: 'Self-ligating systems that need fewer adjustments and feel gentler than what you remember from school. Ceramic for the camera-shy. Lingual for the truly stealthy.', stats: [{k:'Avg. duration', v:'12–24 mo'}, {k:'Adjustments', v:'Every 4 wks'}, {k:'Pain rating', v:'Low'}], incl: ['Self-ligating', 'Ceramic', 'Lingual', 'Damon system'], }, { id: 'implants', name: 'Dental Implants', label: '03 / Restorative', h: 'Titanium roots, lifetime bite.', desc: 'Single-tooth replacement to full-arch All-on-4. Bone graft, sinus lift and immediate-load options in-house. No shuttling between clinics.', stats: [{k:'Success rate', v:'98%'}, {k:'Healing', v:'3–4 mo'}, {k:'Warranty', v:'5 years'}], incl: ['CBCT planning', 'All-on-4', 'Bone graft', 'Immediate load'], }, { id: 'crowns', name: 'Crowns & Veneers', label: '04 / Cosmetic', h: 'Photo-mocked smile design.', desc: 'Zirconia, layered porcelain, and ultra-thin E-max veneers. We show you a digital preview before any tooth prep so the result is never a surprise.', stats: [{k:'Materials', v:'Zirconia · E-max'}, {k:'Visits', v:'2–3'}, {k:'Longevity', v:'15+ yrs'}], incl: ['Digital smile design', 'Wax-up trial', 'Shade matching', 'Bite analysis'], }, { id: 'rct', name: 'Root Canal', label: '05 / Endodontics', h: 'Single-sitting, painless RCT.', desc: 'Rotary endodontics with apex locators. Most patients leave saying "that was it?" Anaesthesia is given time to work, and we don\'t rush the rinse.', stats: [{k:'Duration', v:'45–90 min'}, {k:'Sittings', v:'Usually 1'}, {k:'Pain', v:'Numb start'}], incl: ['Rotary instruments', 'Apex locator', 'Crown after', 'Follow-up scan'], }, { id: 'whitening', name: 'Whitening', label: '06 / Cosmetic', h: 'Up to 8 shades, in one chair.', desc: 'In-chair laser whitening for events, plus take-home trays for gradual results. Sensitivity management is built into the protocol, not an afterthought.', stats: [{k:'Sitting', v:'60 min'}, {k:'Shades', v:'4–8 lighter'}, {k:'Duration', v:'~12 mo'}], incl: ['Pre-clean', 'Laser-activated', 'Sensitivity gel', 'Take-home kit'], }, ]; const TreatmentsSection = () => { const [active, setActive] = React.useState('invisalign'); const t = TREATMENTS.find(x => x.id === active); return (

Signature treatments

Pick a chair.
We'll walk you through it.

Hover the list to preview. Every treatment is planned in writing. What we're doing, how long it takes, what it costs, before you sit down.

    {TREATMENTS.map(tt => (
  • setActive(tt.id)} onClick={() => setActive(tt.id)} > {tt.name}
  • ))}
{t.label}

{t.h}

{t.desc}

{t.stats.map(s => (
{s.k}
{s.v}
))}
{t.incl.map(i => {i})}
); }; // ─────────── Before / After ─────────── const SmileSVG = ({ variant }) => { // Two illustrated states: crooked and aligned if (variant === 'before') { return ( {/* Crooked teeth */} {[0,1,2,3,4,5,6,7,8,9,10,11].map((i) => { const x = 60 + i * 24; const rot = (i % 2 === 0 ? -1 : 1) * (5 + (i % 3) * 6); const yOff = (i % 3) * 4 - 2; return ( ); })} ); } return ( {[0,1,2,3,4,5,6,7,8,9,10,11].map((i) => { const x = 60 + i * 24; return ( ); })} ); }; const BEFORE_AFTER_CASES = [ { id: 'crowded', label: 'Crowding', months: '14 months · Invisalign' }, { id: 'gap', label: 'Spacing', months: '11 months · Ceramic braces' }, { id: 'overbite', label: 'Overbite', months: '18 months · Self-ligating' }, ]; const BeforeAfterSection = () => { const [split, setSplit] = React.useState(50); const [activeCase, setActiveCase] = React.useState('crowded'); const stageRef = React.useRef(null); const dragging = React.useRef(false); const move = React.useCallback((clientX) => { if (!stageRef.current) return; const r = stageRef.current.getBoundingClientRect(); const pct = Math.max(4, Math.min(96, ((clientX - r.left) / r.width) * 100)); setSplit(pct); }, []); React.useEffect(() => { const onMove = (e) => { if (dragging.current) move(e.clientX || e.touches?.[0]?.clientX); }; const onUp = () => { dragging.current = false; document.body.style.cursor = ''; }; window.addEventListener('mousemove', onMove); window.addEventListener('touchmove', onMove); window.addEventListener('mouseup', onUp); window.addEventListener('touchend', onUp); return () => { window.removeEventListener('mousemove', onMove); window.removeEventListener('touchmove', onMove); window.removeEventListener('mouseup', onUp); window.removeEventListener('touchend', onUp); }; }, [move]); const c = BEFORE_AFTER_CASES.find(x => x.id === activeCase); return (

Smile transformations

Drag to see
the difference.

Real case archetypes from our practice, not stock photos. Slide the handle to compare before and after, and tap a case below to switch.

{ dragging.current = true; document.body.style.cursor = 'ew-resize'; move(e.clientX); }} onTouchStart={(e) => { dragging.current = true; move(e.touches[0].clientX); }} style={{'--split': `${split}%`}} >
Before treatment Before
After treatment After · {c.months}
{BEFORE_AFTER_CASES.map(b => ( ))}
); }; Object.assign(window, { DoctorsSection, TreatmentsSection, BeforeAfterSection });