/* Mineral studio palette: a cooler, darker backdrop separates warm enamel. */
:root{--paper:#bdced0;--muted:#4e626a}
#world{background:#bdced0}
.world-glow{background:radial-gradient(ellipse at 66% 34%,#d7e0db 0%,#b1c4cb 47%,#8da8b6 100%);opacity:1}
.theme-lavender #world{background:#bec0d0}
.theme-lavender .world-glow{background:radial-gradient(ellipse at 36% 40%,#d4d3de 0%,#b5bdce 54%,#939fb7 100%)}
.theme-dark #world{background:#101b26}
.theme-dark .world-glow{background:radial-gradient(ellipse at 55% 45%,#2c455b80,transparent 72%)}
.grain{opacity:.065}
header{background:#c9d6d9b3;border-bottom-color:#516b7e20}
.theme-lavender header{background:#c6cad9b3}
.theme-dark header{background:#101b26b3}
.hero .serif,.implant-section .serif,.smile-section .serif{color:#4d7082}
.aligner-section .serif,.final-section .serif{color:#5b678d}
.annotation{background:#e4edf078;border-color:#f5f8fba0;box-shadow:0 10px 35px #233d5010}
.annotation small,.technical-coordinate,.top-label,.model-caption,.section-foot{color:#435f73}
.dark .technical-coordinate,.dark .model-caption,.dark .section-foot{color:#92adc5}
.fineprint,.range-labels,.hero-signature p{color:#526976}
.interactive-control output,.three-details span{color:#45637b}
.human-section{background:#c3d0d4}
.human-top>p:last-child,.journey p{color:#516772}
.human-top{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);column-gap:10%}
.human-top h2{max-width:640px;font-size:clamp(2.35rem,3.15vw,3.4rem);line-height:1.08;letter-spacing:-.045em}
.human-top h2 .serif{font-size:.98em}
footer{background:#b6bfd0;border-top-color:#5f758044}
footer small{color:#46576d}
.theme-dark .scene-section .serif{color:#9ab9d7}
.theme-dark .scene-section .fineprint{color:#9cafc0}
.theme-dark .annotation{color:#233d50}
.orthodontic-switch{display:flex;gap:.35rem;width:max-content;margin:1.5rem 0 .85rem;padding:.24rem;border:1px solid #526b7b42;border-radius:999px;background:#e4edf052;backdrop-filter:blur(12px)}
.orthodontic-switch button{border:0;border-radius:999px;padding:.58rem 1rem;background:transparent;color:#435f73;font:600 .67rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .35s,color .35s,box-shadow .35s}
.orthodontic-switch button.active{background:#f4f7f4;color:#203b4c;box-shadow:0 5px 18px #243d511c}
.theme-dark .orthodontic-switch{border-color:#a7bdd144;background:#15263799}
.theme-dark .orthodontic-switch button{color:#9db1c3}
.theme-dark .orthodontic-switch button.active{background:#cbd9e3;color:#1b3040}
.construction-controls{display:flex;gap:.55rem;margin:1rem 0 .65rem}
.construction-controls button{min-height:42px;padding:.72rem 1rem;border:1px solid #526b7b42;background:#f4f7f438;color:#435f73;font:600 .64rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;transition:background .3s,color .3s,border-color .3s}
.construction-controls button.active{background:#2c4658;color:#f4f7f8;border-color:#2c4658}
.rotation-hint{display:flex;align-items:center;gap:.65rem;margin:0 0 1.2rem;color:#607887;font-size:.62rem;letter-spacing:.05em}
.rotation-hint span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #526b7b42;border-radius:50%;font-size:.85rem}
.aligner-section .visual-anchor{pointer-events:auto;touch-action:none;cursor:grab}
.aligner-section .visual-anchor.is-dragging{cursor:grabbing}
.veneer-stage-labels{position:absolute;left:1%;right:1%;bottom:4%;display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s;pointer-events:none}
.show-veneer-steps .veneer-stage-labels{opacity:1;transform:none}
.treatment-photo{position:absolute;inset:2.2rem 0 0;width:100%;height:calc(100% - 2.2rem);display:block;object-fit:cover;object-position:center;border-radius:.35rem;background:#dbe4ee;box-shadow:0 1.2rem 4rem #020b1480;opacity:1;transition:opacity .35s,transform .45s;transform:translateZ(0)}
.treatment-photo[hidden]{display:none}
.has-treatment-photo .care-right .visual-anchor{isolation:isolate}
.has-treatment-photo #treatment-number{z-index:2;padding:.45rem .7rem;background:#101b26b8;backdrop-filter:blur(8px);border-radius:.2rem;color:#c8d6e4}

/* Editorial content sections */
.content-section{position:relative;z-index:2;padding:8.5rem 8%;background:#eef1f4;color:#202932}
.content-wrap{width:min(1220px,100%);margin:0 auto}
.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr);gap:2rem 8%;align-items:end;margin-bottom:4.5rem}
.section-heading .eyebrow{grid-column:1/-1;margin-bottom:.25rem}
.section-heading h2{margin:0}
.section-heading>p:last-child{margin:0;color:#707d89;font-size:.78rem;line-height:1.9}
.price-section{background:#142331;color:#edf3f8}
.price-section .serif{color:#9bb8d4}.price-section .section-heading>p:last-child{color:#9babb9}
.price-list{border-top:1px solid #9ab0c52e}
.price-list article{display:grid;grid-template-columns:3rem 1fr auto;gap:1.2rem;align-items:center;padding:1.35rem .5rem;border-bottom:1px solid #9ab0c52e}
.price-list span,.doctor-roles span{color:#7295b6;font-size:.58rem;letter-spacing:.12em}
.price-list h3{margin:0;font-size:1rem;font-weight:400}
.price-list strong{font-size:.92rem;font-weight:500;color:#b9d0e4}
.price-note{margin:1.4rem 0 0;color:#7f93a5;font-size:.62rem;line-height:1.7}
.doctors-section{background:#e8edf2}
.doctors-kicker{grid-column:1/-1;margin:0 0 .35rem;color:#657789;font:500 .72rem/1.4 Manrope,Arial,sans-serif}
.team-portrait{margin:0;position:relative;overflow:hidden;border-radius:.45rem;background:#d5e0e9}
.team-portrait img{display:block;width:100%;height:min(60vw,650px);object-fit:cover;object-position:center 38%}
.team-portrait figcaption{position:absolute;left:1.3rem;bottom:1.3rem;padding:.65rem .85rem;background:#101b26c7;color:#dce7ef;font-size:.58rem;letter-spacing:.12em;backdrop-filter:blur(10px)}
.doctor-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
.doctor-roles article{border-top:1px solid #8798a948;padding-top:1.25rem}
.doctor-roles h3{font-size:1.1rem;font-weight:400;margin:1.2rem 0 .75rem}
.doctor-roles p{color:#71808d;font-size:.7rem;line-height:1.85;margin:0}
.reviews-section{background:#dfe6ec}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#8295a83b;border:1px solid #8295a83b}
.review-grid blockquote{margin:0;padding:2rem;background:#edf1f4;min-height:260px;display:flex;flex-direction:column}
.review-grid .stars{color:#6c8eaf;letter-spacing:.2em;font-size:.75rem}
.review-grid blockquote>p{font:italic 1.15rem/1.65 Georgia,serif;margin:2rem 0;color:#33414e}
.reviews-section .review-grid blockquote footer{position:static;display:block;margin-top:auto;padding:1.2rem 0 0;background:transparent;border:0;color:#7a8996;font-size:.6rem;letter-spacing:.07em}
.contacts-section{background:#101b26;color:#edf2f6;padding-top:9rem;padding-bottom:9rem}
.contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:8%;align-items:start}
.contact-intro{max-width:30rem;color:#99aaba;line-height:1.9;margin-bottom:2rem}
.contacts-section .serif{color:#94b1ce}
.contacts-section address{font-style:normal;border-top:1px solid #8297aa40}
.contacts-section address div{display:grid;gap:.5rem;padding:1.25rem 0;border-bottom:1px solid #8297aa40}
.contacts-section address span{font-size:.58rem;letter-spacing:.14em;color:#71899f;text-transform:uppercase}
.contacts-section address strong,.contacts-section address a{font-size:.84rem;font-weight:400;color:#d9e4ed}
@media(max-width:760px){.content-section{padding:5.5rem 7%}.section-heading{display:block;margin-bottom:2.7rem}.section-heading .eyebrow{margin-bottom:1.5rem}.section-heading h2{margin-bottom:1.5rem}.human-top h2{max-width:18ch;font-size:clamp(2.05rem,10vw,2.65rem);line-height:1.1}.price-list article{grid-template-columns:2rem 1fr;gap:.7rem;padding:1.15rem 0}.price-list strong{grid-column:2}.doctor-roles,.review-grid{grid-template-columns:1fr}.team-portrait img{height:70vw;min-height:300px}.doctor-roles{gap:1.8rem}.review-grid blockquote{min-height:220px}.contact-grid{grid-template-columns:1fr;gap:3.5rem}.contacts-section{padding-bottom:6rem}}
.veneer-stage-labels span{padding-top:.55rem;border-top:1px solid #9bb1c84a;color:#b9c8d6;font-size:.56rem;line-height:1.35;letter-spacing:.04em;text-align:center}
.veneer-stage-labels b{display:block;margin-bottom:.25rem;color:#7599bd;font-size:.48rem;font-weight:500;letter-spacing:.12em}
@media(max-width:760px){.veneer-stage-labels{bottom:1%;gap:.2rem}.veneer-stage-labels span{font-size:.46rem}.veneer-stage-labels b{font-size:.42rem}}

/* AURA identity: editorial dental atlas, with direct typography and measured lines. */
:root{--paper:#c6d2d2;--ink:#182731;--muted:#52656c}
#world{background:#c6d2d2}
.world-glow{background:linear-gradient(104deg,#dce3df 0 44%,#b8c8cc 44.2% 100%);opacity:.82}
.theme-lavender #world{background:#c2c6d0}
.theme-lavender .world-glow{background:linear-gradient(104deg,#d8d9de 0 47%,#b6becd 47.2% 100%)}
.theme-dark .world-glow{background:linear-gradient(104deg,#142434 0 46%,#0d1823 46.2% 100%)}
.grain{display:none}
header{background:#cbd6d5e8;backdrop-filter:none}
.theme-lavender header{background:#c8ccd5eb}
.theme-dark header{background:#101d29eb}
.section-inner{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8%}
h1,h2{letter-spacing:-.055em}
.serif,h1 .serif{font-family:inherit;font-style:normal;font-size:1em;font-weight:300;color:inherit;display:inline-block;border-bottom:1px solid #5d7d96;padding-bottom:.06em}
.theme-dark .scene-section .serif{color:inherit;border-color:#88a8c4}
.eyebrow{letter-spacing:.13em;text-transform:none;border-left:2px solid #6b8ca5;padding-left:12px}
.chapter-number{border:0;border-radius:0;width:auto;height:auto;color:#56758d}
.annotation{background:transparent;border:0;border-left:1px solid #6c879a;box-shadow:none;backdrop-filter:none;border-radius:0;padding:4px 0 4px 18px}
.annotation-dot{display:none}
.model-caption{justify-content:flex-start;left:5%;right:5%;padding-top:9px;border-top:1px solid #6f87982e;letter-spacing:.12em}
.technical-coordinate,.top-label,.model-caption,.section-foot{letter-spacing:.11em}
.button,.outline-button{border-radius:0}
.button:hover{transform:translate(4px,-4px)}
.orthodontic-switch{border-radius:0;padding:0;gap:0;background:transparent;backdrop-filter:none}
.orthodontic-switch button{border-radius:0;border:1px solid #526b7b42;margin-left:-1px;padding:.7rem 1.15rem}
.orthodontic-switch button.active{box-shadow:inset 0 -3px 0 #5e7f99;background:#eef2ef}
.interactive-control input{height:2px;margin:25px 0;background:#5d788f;appearance:none}
.interactive-control input::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:0;background:#466b87;transform:rotate(45deg)}
.chapter-rail{right:2.2%;gap:5px;border-left:1px solid #70859540;padding:5px 0}
.chapter-rail a{min-width:48px;height:24px;justify-content:flex-start;padding-left:9px;gap:8px}
.chapter-rail span{opacity:.55;font-size:7px;order:2}
.chapter-rail a::after{width:13px;height:1px;border-radius:0;order:1}
.chapter-rail a.active::after{width:25px;height:2px;border-radius:0}
.chapter-rail a.active span{opacity:1}
.hero-outline{display:none}
@media(max-width:760px){.section-inner{display:flex}.serif,h1 .serif{border-bottom-width:1px}.world-glow{background:linear-gradient(166deg,#dce3df 0 48%,#b8c8cc 48.2% 100%)}}

/* Calm, compact heading system used across every content section. */
.scene-section:not(.hero) h2,
.content-section h2,
.human-section h2{
  max-width:15ch;
  margin:0 0 1.45rem;
  font-size:clamp(2.35rem,3.35vw,3.65rem);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.scene-section:not(.hero) h2 .serif,
.content-section h2 .serif,
.human-section h2 .serif{
  display:inline;
  padding:0;
  border:0;
  color:#58768f;
  font-family:Georgia,'Times New Roman',serif;
  font-size:.98em;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.035em;
}
.dark h2 .serif,.contacts-section h2 .serif{color:#a6bfd4}
.section-kicker{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin:0 0 1.15rem;
  color:#62737c;
  font-size:.72rem;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.015em;
}
.section-kicker::before{content:'';width:1.7rem;height:1px;background:currentColor;opacity:.55;flex:0 0 auto}
.dark .section-kicker,.contacts-section .section-kicker{color:#9db1c2}
.section-heading{align-items:center;margin-bottom:3.75rem}
.section-heading h2{max-width:13ch}
.section-heading>p:last-child{max-width:34rem}
.human-top h2{max-width:14ch}

@media(max-width:1100px){
  .scene-section:not(.hero) h2,.content-section h2,.human-section h2{font-size:clamp(2.2rem,4.6vw,3.15rem)}
}
@media(max-width:760px){
  .scene-section:not(.hero) h2,.content-section h2,.human-section h2{max-width:15ch;font-size:clamp(2rem,9.2vw,2.7rem);line-height:1.1;letter-spacing:-.04em;margin-bottom:1.2rem}
  .section-kicker{font-size:.7rem;margin-bottom:.85rem}
  .section-kicker::before{width:1.2rem}
  .section-heading{margin-bottom:2.5rem}
}
