:root { --cream:#f7f7f1; --deep:#10283b; --sea:#1f5c61; --pale:#b1d3c5; }
body { margin:0; background:var(--cream); color:var(--deep); }
.preview-bar { display:flex; justify-content:space-between; gap:1rem; align-items:center; background:var(--deep); color:#fff; padding:10px 5vw; font:11px 'DM Mono',monospace; letter-spacing:.04em; }
.preview-bar a,.mock-header a,.mock-footer a { color:inherit; }
.preview-bar a:hover { color:var(--pale); }
.mock-header { display:flex; justify-content:space-between; align-items:center; padding-inline:5vw; }
.mock-header .book { white-space:nowrap; }
#inicio .hero-light::before { opacity:0; }
#inicio .actions { margin-top:clamp(28px,4.5vw,64px); }
@media (prefers-reduced-motion:no-preference) {
  #inicio.is-lit .hero-light::before { animation:luz-odontologia 4.7s cubic-bezier(.37,0,.63,1) both; }
}
@keyframes luz-odontologia {
  0% { opacity:0; transform:translate(-32%,13%); }
  43% { opacity:.94; }
  75% { opacity:.64; }
  100% { opacity:0; transform:translate(47%,-17%); }
}
.inside { width:min(86%,1240px); margin-inline:auto; }
main > section { scroll-margin-top:0; }
main > section:not(.hero) h2 { font:400 clamp(2.65rem,6.2vw,6.6rem)/.99 'Playfair Display',Georgia,serif; letter-spacing:-.053em; margin:0; }
main h2 em { color:var(--sea); font-weight:400; }
.body-copy { max-width:36ch; margin:28px 0 0; font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.7; }
.scene { isolation:isolate; position:relative; overflow:hidden; }
.direction { background:var(--cream); }
.direction::before { content:""; position:absolute; inset:0 0 0 54%; z-index:-1; background:url(media/precisao-editorial.png) center 64%/cover no-repeat; mask-image:linear-gradient(90deg,transparent,black 40%); }
.direction .inside { position:relative; padding-block:clamp(68px,8vw,116px); }
.direction h2 { max-width:14ch; }
.experience { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 14px; margin:40px 0 0; color:var(--sea); }
.experience strong { font:400 clamp(2.9rem,5.4vw,5.3rem)/1 'Playfair Display',Georgia,serif; white-space:nowrap; }
.experience span { max-width:16ch; font-size:.82rem; }
.image-note { display:block; margin-top:22px; color:inherit; font:11px 'DM Mono',monospace; }
.technology { padding:84px 0 32px; background:#0d2634; color:#fff; }
.tech-header { display:grid; grid-template-columns:1fr auto; align-items:end; column-gap:24px; margin-bottom:36px; }
.tech-header .overline { grid-column:1/-1; }
.technology h2 em,.treatment-scene h2 em,.last-scene h2 em { color:var(--pale); }
.tech-controls { display:none; align-items:center; gap:20px; }
.scroll-hint { color:var(--pale); font:11px 'DM Mono',monospace; }
#tech-index { font:12px 'DM Mono',monospace; white-space:nowrap; }
.tech-track { display:grid; }
.tech-slide { display:flex; align-items:end; min-height:clamp(320px,45vw,570px); padding:45px 7vw; background-position:center; background-size:cover; }
.tech-slide > div { max-width:36ch; }
.tech-slide h3,.locations h3 { font:400 clamp(2rem,4vw,3.9rem)/1.03 'Playfair Display',Georgia,serif; margin:0; }
.tech-slide p:not(.overline) { margin:18px 0 0; line-height:1.65; }
.tech-slide.scan { background-image:linear-gradient(90deg,#081c29 0%,#0b2638c4 34%,#0b263810 88%),url(media/scanner-editorial.png); background-position:center,center 56%; }
.tech-slide.plan { background-image:linear-gradient(90deg,#081c29 0%,#0b2638a0 31%,transparent 68%),url(media/planejamento.png); }
.tech-slide.radio { background-image:linear-gradient(90deg,#081c29 0%,#0b2638a0 31%,transparent 68%),url(media/radiografia.png); }
.tech-slide.comfort { background-image:linear-gradient(90deg,#081c29 0%,#0b2638a0 31%,transparent 68%),url(media/anestesia.png); }
.scene-note { margin-block:16px 0; font:11px/1.6 'DM Mono',monospace; color:#c5dcd5; }
.tech-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:14px; font-size:.85rem; }
.tech-footer .scene-note { margin:0; }
.technology.is-lateral { height:calc(100svh + 3 * min(64svh, 540px)); padding:0; }
.is-lateral .tech-stage { position:sticky; top:0; height:100svh; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; }
.is-lateral .tech-header { margin-block:clamp(22px,5svh,52px) 22px; }
.is-lateral .tech-header h2 { font-size:clamp(2.3rem,4.2vw,4.8rem); }
.is-lateral .tech-controls { display:flex; }
.is-lateral .tech-track { display:flex; min-width:0; transform:translate3d(var(--tech-x,0px),0,0); will-change:transform; }
.is-lateral .tech-slide { min-height:0; min-width:0; flex:0 0 100%; background-position:center, center 57%; }
.treatment-scene { background:#0d282b; color:#fff; }
.backdrop,.backdrop i { position:absolute; inset:0; z-index:-1; }
.backdrop i { opacity:0; background-size:cover; background-position:center; transition:opacity .42s ease; }
.backdrop i:nth-child(1) { background-image:url(media/precisao-editorial.png); background-position:center 58%; }
.backdrop i:nth-child(2) { background-image:url(media/tratamentos-editorial.png); }
.backdrop i:nth-child(3) { background: url(media/alinhador-transparente.png) 90% center/min(56vw,660px) auto no-repeat,radial-gradient(ellipse at 76% 50%,#4e8b83,#0d282b 68%); }
.backdrop i:nth-child(4) { background-image:url(media/precisao-editorial.png); background-position:center 79%; }
.treatment-scene[data-area="0"] .backdrop i:nth-child(1),.treatment-scene[data-area="1"] .backdrop i:nth-child(2),.treatment-scene[data-area="2"] .backdrop i:nth-child(3),.treatment-scene[data-area="3"] .backdrop i:nth-child(4) { opacity:.8; }
.backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#081f24 3%,#081f24d9 36%,#081f244d 100%),linear-gradient(0deg,#081f24e0,transparent 66%); }
.treatment-inner { min-height:620px; padding-block:96px 58px; }
.circles { display:flex; gap:clamp(8px,2vw,26px); margin:38px 0 20px; }
.circles a { width:clamp(105px,11.5vw,165px); aspect-ratio:1; border-radius:50%; border:1px solid #d5e6dfbd; color:#fff; background:#10283b33; font:600 clamp(.8rem,1.25vw,1rem)/1.35 Manrope,sans-serif; display:grid; place-content:center; text-align:center; text-decoration:none; transition:color .2s,background .2s; }
.circles a span { display:block; margin-bottom:7px; font:11px 'DM Mono',monospace; }
.circles a.is-current,.circles a:hover { background:#cae5d9; color:#0f2c30; }
.area-detail { min-height:52px; max-width:46ch; }
.area-detail p { margin:0; }
.catalog-link { display:inline-block; font-size:.88rem; text-underline-offset:4px; }
.catalog { padding-block:clamp(55px,8vw,106px); }
.catalog .body-copy { max-width:54ch; }
.catalog-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px 7vw; margin-top:52px; }
.catalog-group { border-top:2px solid var(--sea); padding-top:18px; scroll-margin-top:24px; }
.catalog-group h3 { font:400 clamp(1.65rem,3.1vw,2.85rem)/1.05 var(--serif); margin:4px 0 22px; }
.catalog-group dl { margin:0; }
.catalog-group dt { font-weight:700; }
.catalog-group dd { margin:3px 0 13px; padding-bottom:13px; border-bottom:1px solid #42675f30; color:#39535b; line-height:1.52; font-size:.91rem; }
.care-scene { padding-block:120px; background:radial-gradient(ellipse at 77% 45%,#dcebe4,transparent 55%),#eaf1eb; }
.care-scene .inside { position:relative; }
.instruments { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.instruments img { position:absolute; object-fit:contain; transition:transform .2s ease-out; filter:drop-shadow(15px 22px 23px #15393129); }
.mirror { width:min(28vw,350px); height:94%; top:0; right:0; transform:translate(var(--float-x,0px),var(--float-y,0px)) rotate(14deg); }
.aligner { width:min(26vw,330px); top:45%; right:19%; transform:translate(calc(var(--float-x,0px) * -.65),calc(var(--float-y,0px) * -.65)) rotate(-15deg); }
.care-steps { list-style:none; padding:0; margin:34px 0 0; width:min(420px,100%); }
.care-steps li { padding:14px 0; border-bottom:1px solid #557d7360; }
.care-steps span { margin-right:14px; font:12px 'DM Mono',monospace; color:var(--sea); }
.team-scene,.faq-scene { display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,6vw,90px); padding-block:100px; }
.team-scene.inside { width:min(86%,1240px); margin-inline:auto; aspect-ratio:auto; min-height:0; align-items:center; }
.people-preview { display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:end; }
.people-preview article { border-top:1px solid #42675f63; }
.portrait-note { grid-column:1/-1; font:11px/1.6 'DM Mono',monospace; color:#325953; }
.people-preview h3 { margin:10px 0 2px; font-size:1rem; }
.people-preview p { margin:0; font-size:.83rem; }
.units-scene { background:#e5eee9; padding-block:90px; }
.locations { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-top:42px; }
.locations article { padding-top:20px; border-top:1px solid #42675f63; }
.locations p { line-height:1.65; }
.unit-whatsapp { display:inline-block; margin-top:5px; color:var(--sea); font-weight:700; text-underline-offset:4px; }
.answers { align-self:center; }
.answers details { border-bottom:1px solid #42675f63; padding:16px 0; }
.answers summary { cursor:pointer; font-weight:650; }
.answers summary:hover { color:var(--sea); }
.last-scene { background:var(--deep); color:#fff; padding-block:80px; }
.last-scene .body-copy { max-width:54ch; }
.last-scene a { display:inline-block; color:inherit; margin-top:26px; }
.mock-footer { display:flex; justify-content:space-between; gap:12px; padding:20px 7vw; font-size:.8rem; }
@media(max-width:800px) {
  .mock-header nav { display:none; }
  .direction::before { inset:0 0 auto; height:235px; background-position:center 68%; mask-image:linear-gradient(180deg,black 40%,transparent); }
  .direction .inside { padding-top:200px; padding-bottom:58px; }
  .tech-header { grid-template-columns:1fr; row-gap:14px; }
  .tech-slide { min-height:350px; padding:24px 7vw; background-position:center,65% center; background-blend-mode:normal; }
  .tech-slide > div { text-shadow:0 1px 9px #031821; }
  .tech-slide:is(.scan,.plan,.radio,.comfort) { background-image:linear-gradient(0deg,#081c29 0%,#081c29e8 26%,#081c2920 80%),var(--photo); }
  .tech-slide.scan { --photo:url(media/scanner-editorial.png); }
  .tech-slide.plan { --photo:url(media/planejamento.png); }
  .tech-slide.radio { --photo:url(media/radiografia.png); }
  .tech-slide.comfort { --photo:url(media/anestesia.png); }
  .tech-slide.scan { background-position:center,65% center; }
  .is-lateral .tech-header { margin-block:16px 12px; row-gap:8px; }
  .is-lateral .tech-header .overline { margin:0; }
  .is-lateral .tech-header h2 { font-size:clamp(1.75rem,7vw,2.4rem); }
  .is-lateral .tech-slide { padding-block:18px; background-position:center,65% center; }
  .is-lateral .tech-slide .overline { margin-bottom:8px; }
  .is-lateral .tech-slide h3 { font-size:clamp(1.7rem,7vw,2.4rem); overflow-wrap:anywhere; }
  .is-lateral .tech-slide p:not(.overline) { margin-top:12px; line-height:1.5; }
  .is-lateral .tech-footer { padding-block:10px; }
  .technology,.team-scene,.faq-scene,.units-scene,.last-scene { padding-block:56px; }
  .treatment-inner { min-height:0; padding-block:58px 44px; }
  .circles { flex-wrap:wrap; max-width:360px; }
  .circles a { width:clamp(92px,24vw,126px); }
  .care-scene { padding-block:270px 60px; }
  .mirror { top:0; right:7%; width:34vw; height:250px; }
  .aligner { top:52px; right:40%; width:39vw; }
  .team-scene,.faq-scene,.locations,.catalog-grid { grid-template-columns:1fr; }
  .catalog-grid { gap:32px; margin-top:34px; }
  .preview-bar { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
