:root{--paper:#f7f2e8;--ink:#12100c;--coral:#c99732;--coral-dark:#8e5c0d;--mint:#e4c47d;--yellow:#f3d99a;--cream:#eee2cc;--muted:#6e665b;--font-sans:'Montserrat',Arial,sans-serif;--font-serif:'Montserrat',Arial,sans-serif}
body{background:radial-gradient(circle at 85% 8%,#e8c66c18,transparent 24%),var(--paper)}
.announcement{background:#080807;border-bottom:1px solid #b88325;color:#f6eddc}.announcement strong{color:#e7c46f}
.nav nav a:after{background:linear-gradient(90deg,#8c5a0d,#f3d98d,#a56c12)}
.button,.button-mint{color:#171109;background:linear-gradient(115deg,#9b6510 0%,#e8c46b 42%,#fff0b5 53%,#bf8520 100%);border:1px solid #f0d98c;box-shadow:0 10px 26px #a56d1f38}.button:hover,.button-mint:hover{background:linear-gradient(115deg,#80500a,#d5aa48 45%,#f7e5a7 55%,#a97013);color:#080706}
.eyebrow,.kicker{color:#a66d14}.eyebrow i{background:linear-gradient(90deg,#9b6510,#edcf7d)}.hero h1 em,.kids-copy h2 em,.cta h2 em{color:#b57a18}
.hero-visual:before{background:linear-gradient(145deg,#6f4308,#c9942f 45%,#f2d98e 58%,#93600e)}
.scan-card{color:#f8eedc;background:linear-gradient(145deg,#171511,#080807);border:1px solid #b98324;box-shadow:0 17px 48px #0006,0 0 24px #d7a83d22}.scan-card small,.scan-card em{color:#cdbb98}.scan-orbit{background:linear-gradient(145deg,#f1da94,#b77a17);color:#171109}
.spark,.spark-two{color:#d7ad50}.ticker{background:linear-gradient(90deg,#080807,#1c1810 50%,#080807);border-block:1px solid #bf892c;color:#f3dca0}.ticker i{color:#d7a43b}
.service{border:1px solid #b6802555;box-shadow:0 18px 35px #2b1a0714}.service.coral,.service.lilac,.service.rose{color:#f8eedc;background:radial-gradient(circle at 88% 14%,#bc852b2b,transparent 26%),linear-gradient(145deg,#201c15,#090908)}.service.mint,.service.yellow,.service.blue{color:#171109;background:linear-gradient(135deg,#9c6711,#ddb85f 42%,#f5e2aa 56%,#bd8421)}.service.coral p,.service.lilac p,.service.rose p{color:#d8cdb9}.service.coral a,.service.lilac a,.service.rose a{border-color:#d8b864}.service-icon{color:#d4a749}
.kids-ortho{background:linear-gradient(145deg,#f8f2e7,#ead9b9)}.kids-benefits span{background:#11100d;color:#f8eedc;border:1px solid #b98324}.kids-benefits b{color:#e0b75c}.kids-gallery figure{border:1px solid #c28c2e;box-shadow:0 22px 60px #30200935}.kids-main figcaption{background:#11100dea;color:#f8eedc;border:1px solid #c38f34}.kids-side{border-color:#e4c47d}.kids-sticker{color:#f4dfaa;background:#11100d;border:1px solid #d0a144;box-shadow:0 10px 25px #0004}
.digital{background:radial-gradient(circle at 20% 35%,#9c671522,transparent 32%),#080807}.digital-art{background:linear-gradient(145deg,#211b11,#090908);border:1px solid #b57c1d}.digital-art:before{border-color:#d2a54266;box-shadow:0 0 0 45px #d2a5420d,0 0 0 90px #d2a54208}.digital-photo:after{background:linear-gradient(180deg,transparent 50%,#080807e8)}.float-label{background:#0b0a08;color:#e9c875;border:1px solid #b88325}.digital-copy .lead{color:#cfc3ad}.digital-copy li>b{background:linear-gradient(145deg,#f0db98,#b87c18);color:#171109}.digital-copy li span{color:#bdae95}
.step-icon,.steps article:nth-child(2) .step-icon,.steps article:nth-child(3) .step-icon{background:linear-gradient(145deg,#17140f,#050504);border:1px solid #c18a29;color:#e8c76f}.step-num{color:#ae7417}
.about-card{background:linear-gradient(135deg,#eee2cc,#f9f4e9)}.about-photo{background:linear-gradient(145deg,#17140f,#8f5c0c 48%,#dfba61)}.badge-round{background:linear-gradient(145deg,#191712,#050504);border:1px solid #c18a29;color:#f0d88f}.credentials span{border:1px solid #d7bd84}.credentials b{color:#9e6811}
.real-gallery figure{border:1px solid #b98324}.real-gallery figcaption{background:linear-gradient(transparent,#080807ed)}
.gift-card{background:radial-gradient(circle at 75% 35%,#b27b1a22,transparent 30%),#080807}.gift-photo{background:linear-gradient(135deg,#8d5809,#e2bc60 48%,#fff0b4 58%,#ac7416);box-shadow:0 28px 65px #0009,0 0 30px #c98f2630}.gift-copy .kicker,.gift-copy li:before{color:#e4c06a}.gift-copy p{color:#cfc3ad}
.location{background:linear-gradient(145deg,#f5efe4,#ead9b8)}.address-card,.hours-card{border:1px solid #d1ab63;box-shadow:0 14px 40px #3a250b22}.address-card .pin{background:linear-gradient(145deg,#e8c66d,#9b6310);color:#171109}.address-card small,.hours-card>small,.location-note a{color:#9f6811}.facade-card,.map-wrap{border-color:#f7eddb;box-shadow:0 18px 45px #35210a30}
.faq-list details{border-color:#d5c39f}.faq-list summary span{color:#ad7318}
.cta{background:radial-gradient(circle at 50% 0,#b77e1c28,transparent 32%),#080807;color:#f8eedc}.cta .kicker{color:#e6c56e}.cta h2 em{color:#e1b95b}.button-white{background:linear-gradient(115deg,#a36b10,#efd47f 50%,#b67c19);color:#171109}.button-outline{border-color:#d8b254;color:#edd797}
footer{background:#050504;border-top:1px solid #ae7418}.brand-light .brand-mark{background:linear-gradient(145deg,#e6c36b,#95600e);color:#15100a}.footer-grid>div>b{color:#e2bf67}.footer-grid a,.footer-grid span{color:#c9bea9}
@media(max-width:600px){.scan-card{box-shadow:0 12px 28px #0004}.service{box-shadow:0 12px 26px #2b1a0717}}

/* Legibilidad y contraste v1.3.1: optimizado para lectura en celular. */
:root{--gold-text:#7b4d08;--gold-on-dark:#f0cf78;--body-readable:#514a40}
.eyebrow,.kicker,.hero h1 em,.kids-copy h2 em,.step-num,.credentials b,
.address-card small,.hours-card>small,.location-note a{color:var(--gold-text)}
.digital .kicker,.gift-card .kicker,.cta .kicker,.footer-grid>div>b,
.service.coral .service-icon,.service.lilac .service-icon,.service.rose .service-icon{color:var(--gold-on-dark)}
.hero-copy>p,.section-heading>p,.kids-copy>p,.about-copy>p,
.address-card p,.location-note{color:var(--body-readable)}
.announcement{font-size:12px}.brand small{font-size:10px}.button,.text-link{font-size:14px}
.eyebrow,.kicker{font-size:12px}.trust-row small{font-size:11px}
.scan-card small{font-size:10px}.scan-card em{font-size:11px}.scan-card b{font-size:19px}
.service-num{font-size:11px}.service p{font-size:15px;line-height:1.65}.service a{font-size:13px}
.kids-benefits span{font-size:13px}.kids-main figcaption{font-size:12px}.kids-side figcaption span{font-size:11px}.kids-sticker{font-size:10px}
.float-label{font-size:10px}.digital-copy .lead{font-size:16px}.digital-copy li span{font-size:14px}.digital-copy li strong{font-size:15px}
.about-copy>p{font-size:15px}.credentials span{font-size:11px}.badge-round{font-size:9px}
.cta>p{font-size:15px}.real-gallery figcaption span{font-size:12px}.gift-copy li{font-size:14px}.photo-note{font-size:10px}
.address-card small,.hours-card>small{font-size:11px}.address-card p,.location-note{font-size:14px}.hours-card>div{font-size:13px}
.footer-grid p,.footer-grid a,.footer-grid span{font-size:13px}.footer-grid>div>b{font-size:12px}.copyright{font-size:11px}

@media(max-width:600px){
  body{font-size:16px}.announcement{font-size:10px;min-height:38px;height:auto;padding-block:8px}
  .brand small{font-size:9px}.button,.text-link{font-size:15px;line-height:1.35}
  .eyebrow,.kicker{font-size:12px;line-height:1.45;letter-spacing:.13em}
  .hero-copy>p,.section-heading>p,.kids-copy>p,.digital-copy .lead,.about-copy>p,.gift-copy p{font-size:16px;line-height:1.7}
  .trust-row small{font-size:11px;line-height:1.4}.scan-card small{font-size:11px}.scan-card em{font-size:12px}.scan-card b{font-size:20px}
  .service p{font-size:16px}.service a{font-size:14px}.kids-benefits span{font-size:14px;padding:12px 14px}
  .kids-main figcaption{font-size:12px}.kids-side figcaption span{font-size:12px;line-height:1.4}.kids-sticker{font-size:9px}
  .digital-copy li span{font-size:14px}.digital-copy li strong{font-size:16px}.float-label{font-size:11px}
  .about-copy>p,.gift-copy li,.location-note,.address-card p{font-size:15px}
  .credentials span{font-size:12px}.real-gallery figcaption span{font-size:13px}
  .hours-card>div{font-size:14px;line-height:1.5}.address-card small,.hours-card>small{font-size:11px}
  .footer-grid p,.footer-grid a,.footer-grid span{font-size:14px}.footer-grid>div>b{font-size:12px}.copyright{font-size:12px}
  .djr-whatsapp{font-size:14px}
}

/* Jerarquía tipográfica Montserrat: clara, elegante y consistente. */
body{font-weight:400;font-optical-sizing:auto}
h1,h2,.service h3,.steps h3,.scan-card b,.trust-row b,
.about-copy blockquote,.real-gallery figcaption b,.kids-side figcaption b,
.address-card strong{font-family:'Montserrat',Arial,sans-serif!important;font-weight:600;letter-spacing:-.035em}
.hero h1 em,.kids-copy h2 em,.cta h2 em{font-weight:600;font-style:normal}
.brand b{font-family:var(--font-sans);font-weight:700;letter-spacing:-.02em}
.announcement,.brand small,.nav nav,.button,.text-link,.eyebrow,.kicker,
.service-num,.float-label,.step-num,.address-card small,.hours-card>small,
.footer-grid>div>b,.djr-whatsapp{font-weight:700}
.hero-copy>p,.section-heading>p,.service p,.kids-copy>p,.digital-copy .lead,
.digital-copy li span,.about-copy>p,.gift-copy p,.gift-copy li,.address-card p,
.location-note,.hours-card>div,.footer-grid p,.footer-grid span{font-weight:400}
.service a,.kids-benefits span,.digital-copy li strong,.credentials span,
.real-gallery figcaption span,.footer-grid a{font-weight:600}
.badge-round{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-size:0!important;line-height:1.45;letter-spacing:.12em}
.badge-round::before{content:"ODONTOLOGÍA\A CON\A PROPÓSITO\A ✦";display:block;white-space:pre;text-align:center;font-family:'Montserrat',Arial,sans-serif;font-size:9px;font-weight:600;line-height:1.5;color:#f0d88f}
.service{display:flex;flex-direction:column;align-items:flex-start}
.service p{margin:0 0 22px}
.service a{position:static;margin-top:auto;align-self:flex-start}
.ticker-track{display:flex;width:max-content;animation:ticker-loop 24s linear infinite;will-change:transform}
.ticker .ticker-list{display:flex;align-items:center;flex:none;padding-right:24px}
.ticker-item{display:inline-flex;align-items:center}
.ticker:hover .ticker-track,.ticker:active .ticker-track{animation-play-state:paused}
@keyframes ticker-loop{to{transform:translateX(-50%)}}

@media(max-width:600px){
  .ticker{transform:none!important;width:100%;padding:15px 0;overflow:hidden}
  .ticker .ticker-list{width:max-content;padding-right:18px;white-space:nowrap;text-align:left;font-size:12px;line-height:1.2;letter-spacing:.045em}
  .ticker i{margin:0 16px;font-size:10px;flex:none}
  .ticker-track{animation-duration:20s}
  .hero{padding-top:8px}.hero-copy{padding-top:12px}
}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker{overflow-x:auto}.ticker-copy{display:none}}

/* Montserrat global: impide cualquier retorno accidental a tipografías serif. */
body,button,input,textarea,select,h1,h2,h3,h4,h5,h6,
.brand-mark,.ticker div,.service-icon,.step-icon,.portrait-placeholder span,
.faq-list summary{font-family:'Montserrat',Arial,sans-serif!important}
