:root{--ink:#063c43;--ink2:#0b5960;--green:#12a875;--lime:#b8e73d;--cyan:#21c7d8;--sky:#dff7fb;--ice:#f5fbfc;--white:#fff;--line:rgba(6,60,67,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}button,a{font:inherit}button{cursor:pointer}.topline{height:26px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:8px;letter-spacing:.18em}.navshell{height:118px;padding:0 5vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #e7f0f1;background:#fff;position:relative;z-index:20}.brand img{width:124px;height:88px;object-fit:contain}.navshell nav{display:flex;gap:38px}.navshell nav a,.nav-cta{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--ink);text-decoration:none}.nav-cta{justify-self:end;border:1px solid var(--ink);background:#fff;padding:15px 20px;border-radius:0}.nav-cta b{color:var(--green)}.mobile-menu{display:none;border:0;background:none}.mobile-menu i{display:block;width:24px;height:2px;background:var(--ink);margin:5px}.hero{min-height:760px;display:grid;grid-template-columns:44% 56%;position:relative;background:linear-gradient(120deg,#fff 0 47%,#eaf8fa 47% 100%);overflow:hidden}.hero-copy{padding:120px 3vw 130px 6vw;z-index:4}.micro,.route-title>p,.method-sticky>p,.family-copy>p,.lab-head>p,.team-copy>p{font-size:9px;letter-spacing:.24em;font-weight:900;color:var(--green)}.hero h1{font-size:clamp(4.4rem,7.2vw,8.8rem);line-height:.82;letter-spacing:-.075em;margin:28px 0 30px}.hero h1 span{color:var(--cyan)}.lead{max-width:530px;font-size:17px;line-height:1.65;color:#57737a}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:38px}.hero-actions button,.hero-actions a{border:0;text-decoration:none;font-weight:800;font-size:12px}.hero-actions button{background:var(--ink);color:#fff;padding:18px 24px}.hero-actions a{color:var(--ink)}.smile-portal{position:relative;display:grid;place-items:center;min-height:690px}.portal-media{width:min(80%,690px);aspect-ratio:1/1;border-radius:46% 54% 50% 50%/55% 40% 60% 45%;overflow:hidden;position:relative;z-index:2;box-shadow:0 30px 80px rgba(4,59,65,.12)}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transform:scale(1.07);transition:opacity 1s ease,transform 5.5s ease}.hero-slide.is-on{opacity:1;transform:scale(1)}.portal-rings i{position:absolute;border:1px solid rgba(18,168,117,.35);border-radius:50%;inset:13% 10%;animation:orbit 16s linear infinite}.portal-rings i:nth-child(2){inset:7% 20%;border-color:rgba(33,199,216,.4);animation-duration:23s;animation-direction:reverse}.portal-rings i:nth-child(3){inset:22% 3%;border-color:rgba(184,231,61,.45);animation-duration:31s}.portal-next{position:absolute;right:9%;bottom:19%;z-index:5;width:78px;height:78px;border-radius:50%;border:0;background:var(--lime);color:var(--ink);font-size:28px;transition:.35s}.portal-next:hover{transform:rotate(45deg) scale(1.08)}.portal-count{position:absolute;right:11%;bottom:13%;z-index:5;font-size:10px}.portal-count b{font-size:18px}.hero-ticker{position:absolute;left:0;right:0;bottom:0;height:58px;background:var(--cyan);color:var(--ink);display:flex;overflow:hidden;font-size:12px;font-weight:900;letter-spacing:.2em}.hero-ticker>div{flex:none;display:flex;align-items:center;gap:28px;padding-right:28px;animation:ticker 20s linear infinite}.hero-ticker b{color:#fff}.routes{min-height:900px;padding:120px 6vw;display:grid;grid-template-columns:38% 62%;background:#fff}.route-title h2,.method-sticky h2,.family-copy h2,.lab-head h2,.team-copy h2{font-size:clamp(4rem,6.6vw,8rem);line-height:.88;letter-spacing:-.065em;margin:25px 0}.route-title h2 em,.family-copy h2 em{font-style:normal;color:var(--lime)}.orbit-menu{width:min(680px,88vw);aspect-ratio:1;position:relative;margin:auto;border:1px dashed rgba(6,60,67,.25);border-radius:50%;display:grid;place-items:center;animation:pulseRing 5s ease-in-out infinite}.orbit-menu:before,.orbit-menu:after{content:"";position:absolute;border:1px solid rgba(33,199,216,.3);border-radius:50%;inset:13%}.orbit-menu:after{inset:26%;border-color:rgba(184,231,61,.5)}.orbit-core{width:48%;aspect-ratio:1;border-radius:50%;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;z-index:3}.orbit-core>span{font-size:54px;color:var(--lime)}.orbit-core h3{font-size:30px;margin:12px 0}.orbit-core p{font-size:13px;line-height:1.55;color:#cfe5e8}.orbit-core button{border:0;background:none;color:var(--cyan);font-weight:800}.orbit-node{--a:0deg;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--a)) translateX(285px) rotate(calc(var(--a)*-1));width:126px;height:126px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;z-index:4;transition:.35s}.orbit-node span{font-size:9px;color:var(--green)}.orbit-node b{font-size:13px}.orbit-node:hover,.orbit-node.is-active{background:var(--lime);transform:translate(-50%,-50%) rotate(var(--a)) translateX(285px) rotate(calc(var(--a)*-1)) scale(1.12)}.method{min-height:980px;padding:110px 0 0 6vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:30% 70%;overflow:hidden}.method-sticky{align-self:start;position:sticky;top:120px;padding-right:3vw}.method-sticky h2 span{color:var(--cyan)}.method-sticky small{color:#a9c5c9}.method-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 8vw 100px 0;scrollbar-width:none}.method-panel{flex:0 0 min(70vw,620px);scroll-snap-align:center;min-height:720px;position:relative;padding:24px 24px 40px;background:#fff;color:var(--ink);overflow:hidden}.method-panel>span{font-size:10px;font-weight:900;color:var(--green)}.panel-image{height:67%;overflow:hidden;margin:25px 0 30px;clip-path:polygon(0 7%,92% 0,100% 88%,8% 100%)}.panel-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.method-panel:hover img{transform:scale(1.07)}.method-panel h3{font-size:56px;letter-spacing:-.04em;margin:0}.method-panel p{max-width:430px;color:#58757a;line-height:1.6}.panel-b{background:var(--sky)}.panel-c{background:var(--lime)}.family{min-height:780px;display:grid;grid-template-columns:57% 43%;background:#fff}.family-image{position:relative;overflow:hidden;min-height:760px}.family-image img{width:100%;height:100%;object-fit:cover;object-position:center}.iris{position:absolute;width:180px;height:180px;border:22px solid rgba(255,255,255,.5);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px rgba(6,60,67,.08);animation:iris 5s ease-in-out infinite}.family-copy{padding:100px 7vw 80px 5vw;display:flex;flex-direction:column;justify-content:center}.family-copy>p:not(:first-child){font-size:18px;line-height:1.65;color:#58757a}.age-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.age-pills button{border:1px solid var(--ink);background:#fff;padding:10px 15px;border-radius:999px;font-size:9px;font-weight:900}.age-pills button:hover,.age-pills button.is-active{background:var(--ink);color:#fff}.age-note{margin-top:18px;padding:18px 0;border-top:1px solid var(--line);font-size:12px;color:var(--green);font-weight:800}.smile-lab{padding:120px 6vw;background:linear-gradient(135deg,#fff 0 62%,#edfbfd 62% 100%)}.lab-head{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:end}.lab-head h2{grid-column:2}.lab-head h2 span{color:var(--cyan)}.scan-stage{margin-top:60px;position:relative;min-height:650px}.scan-photo{position:absolute;left:0;top:0;width:66%;height:560px;overflow:hidden;border-radius:50% 14% 48% 12%/18% 47% 10% 52%}.scan-photo img{width:100%;height:100%;object-fit:cover}.scan-beam{position:absolute;left:0;right:0;height:5px;background:linear-gradient(90deg,transparent,var(--lime),var(--cyan),transparent);box-shadow:0 0 28px var(--cyan);animation:scan 4s ease-in-out infinite}.scan-data{position:absolute;right:0;top:80px;width:38%;display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#fff}.scan-data div{padding:34px 18px;border-right:1px solid rgba(255,255,255,.15)}.scan-data b{display:block;font-size:34px;color:var(--lime)}.scan-data span{font-size:8px;letter-spacing:.12em}.waveform{position:absolute;right:1%;bottom:45px;width:50%;height:150px;display:flex;align-items:center;justify-content:space-between;gap:8px}.waveform i{flex:1;background:linear-gradient(var(--cyan),var(--green));height:20%;animation:wave 1.8s ease-in-out infinite}.waveform i:nth-child(2n){animation-delay:.2s}.waveform i:nth-child(3n){animation-delay:.4s}.team{padding:120px 6vw;background:#f8fcfc}.team-copy{max-width:900px}.team-copy h2 span{color:var(--green)}.team-copy>p:last-child{max-width:560px;color:#678187;line-height:1.6}.team-cards{height:760px;position:relative;margin-top:40px}.team-card{position:absolute;border:0;background:none;padding:0;text-align:left;overflow:hidden;box-shadow:0 22px 55px rgba(6,60,67,.12)}.team-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .6s}.team-card span{position:absolute;left:22px;right:22px;bottom:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);padding:14px 16px}.team-card b,.team-card small{display:block}.team-card small{margin-top:4px;color:#607b80}.team-card:hover img{transform:scale(1.05);filter:saturate(1.12)}.card-main{left:0;top:40px;width:58%;height:610px;clip-path:polygon(0 5%,95% 0,100% 88%,8% 100%)}.card-doctor{right:5%;top:0;width:31%;height:390px;border-radius:50% 50% 8% 8%/38% 38% 12% 12%}.card-lab{right:0;bottom:0;width:35%;height:290px;clip-path:polygon(8% 0,100% 14%,92% 100%,0 86%)}.cta-band{min-height:480px;padding:80px 8vw;background:var(--cyan);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.cta-band:after{content:"SONRÍE";position:absolute;right:-2vw;bottom:-4vw;font-size:20vw;font-weight:900;color:rgba(255,255,255,.16);letter-spacing:-.08em}.cta-band p{font-size:9px;letter-spacing:.2em;font-weight:900}.cta-band h2{font-size:clamp(4rem,7vw,8.5rem);line-height:.86;letter-spacing:-.07em;margin:20px 0;position:relative;z-index:2}.cta-band h2 span{color:#fff}.cta-band button{width:170px;height:170px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-weight:900;position:relative;z-index:3;transition:.4s}.cta-band button:hover{transform:rotate(-8deg) scale(1.06);background:var(--green)}footer{padding:70px 6vw 24px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;background:#fff;border-top:1px solid var(--line);font-size:11px}.foot-brand img{width:160px;height:100px;object-fit:contain}.foot-brand p{max-width:350px;color:#698187;line-height:1.6}footer>div{display:flex;flex-direction:column;gap:11px}footer a,footer span{color:#6a8186;text-decoration:none}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;letter-spacing:.14em}.route-modal,.booking{position:fixed;z-index:101;background:rgba(255,255,255,.96);backdrop-filter:blur(24px);opacity:0;pointer-events:none;transition:.4s;box-shadow:0 35px 100px rgba(6,60,67,.22)}.route-modal{left:8vw;right:8vw;top:10vh;bottom:10vh;padding:8vw;transform:translateY(20px) scale(.98);border-radius:40px}.route-modal.is-open{opacity:1;pointer-events:auto;transform:none}.route-modal>p{font-size:9px;letter-spacing:.2em;color:var(--green);font-weight:900}.route-modal h3{font-size:clamp(4rem,9vw,10rem);line-height:.9;margin:24px 0}.route-modal a{color:var(--green);font-weight:900}.close-route,.close-booking{position:absolute;right:30px;top:20px;background:none;border:0;font-size:40px;color:var(--ink)}.booking{top:0;right:0;bottom:0;width:min(560px,100vw);padding:9vh 5vw;transform:translateX(100%)}.booking.is-open{opacity:1;pointer-events:auto;transform:none}.booking>p{font-size:9px;letter-spacing:.2em;color:var(--green);font-weight:900}.booking h3{font-size:56px;line-height:.95;letter-spacing:-.05em}.booking form{display:grid;gap:18px}.booking label{font-size:10px;font-weight:900}.booking input,.booking select{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:14px 0;background:none}.booking form button{border:0;background:var(--ink);color:#fff;padding:16px;font-weight:900}.shade{position:fixed;inset:0;background:rgba(4,45,50,.45);z-index:100;opacity:0;pointer-events:none;transition:.3s}.shade.is-on{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(30px);transition:.8s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes ticker{to{transform:translateX(-100%)}}@keyframes pulseRing{50%{box-shadow:0 0 0 28px rgba(33,199,216,.05)}}@keyframes iris{50%{width:250px;height:250px}}@keyframes scan{0%,100%{top:4%}50%{top:94%}}@keyframes wave{0%,100%{height:18%}50%{height:88%}}
@media(max-width:1050px){.navshell{grid-template-columns:1fr auto auto}.navshell nav{display:none}.mobile-menu{display:block}.hero{grid-template-columns:1fr;min-height:1100px}.hero-copy{padding:90px 7vw 20px}.smile-portal{min-height:650px}.routes{grid-template-columns:1fr}.route-title{max-width:800px}.orbit-menu{margin-top:80px}.method{grid-template-columns:1fr;padding-left:0}.method-sticky{position:relative;top:auto;padding:80px 7vw 40px}.method-track{padding-left:7vw}.family{grid-template-columns:1fr}.family-image{min-height:600px}.lab-head{grid-template-columns:1fr}.lab-head h2{grid-column:1}.scan-stage{min-height:820px}.scan-photo{width:100%;height:560px}.scan-data{top:520px;width:72%}.waveform{bottom:0;width:72%}.team-cards{height:920px}.card-main{width:78%}.card-doctor{width:38%}.card-lab{width:45%}footer{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media(max-width:700px){.topline{font-size:6px}.navshell{height:88px}.brand img{width:94px;height:65px}.nav-cta{display:none}.hero{min-height:880px}.hero-copy{padding-top:60px}.hero h1{font-size:16vw}.hero-actions{align-items:flex-start;flex-direction:column}.smile-portal{min-height:500px}.portal-media{width:86%}.portal-next{right:5%;bottom:17%;width:60px;height:60px}.routes{padding:80px 5vw;min-height:850px}.route-title h2,.method-sticky h2,.family-copy h2,.lab-head h2,.team-copy h2{font-size:15vw}.orbit-menu{width:86vw}.orbit-node{width:92px;height:92px;transform:translate(-50%,-50%) rotate(var(--a)) translateX(150px) rotate(calc(var(--a)*-1))}.orbit-node:hover,.orbit-node.is-active{transform:translate(-50%,-50%) rotate(var(--a)) translateX(150px) rotate(calc(var(--a)*-1)) scale(1.08)}.orbit-core{width:50%}.orbit-core>span{font-size:35px}.orbit-core h3{font-size:19px}.orbit-core p{display:none}.method{min-height:820px}.method-panel{flex-basis:82vw;min-height:620px}.panel-image{height:60%}.method-panel h3{font-size:44px}.family-image{min-height:520px}.family-copy{padding:70px 6vw}.lab-head{display:block}.scan-stage{min-height:760px}.scan-photo{height:480px}.scan-data{top:450px;width:100%}.scan-data b{font-size:24px}.waveform{width:100%;bottom:0}.team{padding:80px 5vw}.team-cards{height:auto;display:grid;gap:18px}.team-card{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;clip-path:none!important;border-radius:24px!important}.card-main{height:420px}.card-doctor,.card-lab{height:330px}.cta-band{min-height:520px;flex-direction:column;align-items:flex-start;padding:70px 6vw}.cta-band button{width:130px;height:130px}footer{grid-template-columns:1fr;padding:55px 6vw 20px}.foot-brand{grid-column:auto}.route-modal{inset:4vh 4vw;padding:16vw 7vw}.booking{padding:10vh 7vw}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* ============================================================
   SONRIENDO AJUSTE 03 — HEADER + RUTAS DE CUIDADO
   ============================================================ */
/* HERO: portal trapezoidal alto y limpio */
.hero{min-height:760px!important;overflow:hidden!important;grid-template-columns:42% 58%!important;background:linear-gradient(118deg,#fff 0 41.8%,#e8f9fc 41.9% 100%)!important}
.hero-copy{position:relative;z-index:6;padding:10vh 4vw 9vh 6vw!important;align-self:center}
.hero-actions button,.hero-actions a{border-radius:999px!important}
.hero-actions button{padding:16px 24px!important}
.hero-actions a{padding:13px 19px!important;border:1px solid rgba(6,60,67,.22)!important;text-decoration:none!important}
.smile-portal{position:relative!important;min-height:734px!important;height:734px!important;overflow:visible!important;display:flex!important;align-items:center!important;justify-content:center!important}
.portal-media{position:relative!important;width:min(88%,760px)!important;height:94%!important;border-radius:0!important;clip-path:polygon(13% 0,100% 0,87% 100%,0 100%)!important;overflow:hidden!important;z-index:4!important;box-shadow:0 28px 75px rgba(6,60,67,.13)}
.portal-media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;border-radius:0!important}
.portal-rings{position:absolute!important;inset:0!important;z-index:2!important;pointer-events:none!important}
.portal-rings i{position:absolute!important;left:50%!important;top:50%!important;border-radius:50%!important;border:1px solid rgba(33,199,216,.46)!important;background:transparent!important;transform-origin:center!important}
.portal-rings i:nth-child(1){width:86%;height:58%;margin:-29% 0 0 -43%;animation:ringOrbitA 13s linear infinite!important}
.portal-rings i:nth-child(2){width:98%;height:72%;margin:-36% 0 0 -49%;border-color:rgba(18,168,117,.34)!important;animation:ringOrbitB 17s linear infinite!important}
.portal-rings i:nth-child(3){width:112%;height:84%;margin:-42% 0 0 -56%;border-color:rgba(184,231,61,.42)!important;animation:ringOrbitA 22s linear infinite reverse!important}
.portal-rings:before,.portal-rings:after{content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(6,60,67,.12);border-radius:50%;transform-origin:center}
.portal-rings:before{width:74%;height:94%;margin:-47% 0 0 -37%;animation:ringOrbitB 19s linear infinite}
.portal-rings:after{width:120%;height:48%;margin:-24% 0 0 -60%;animation:ringOrbitA 25s linear infinite}
.portal-next,.portal-count{display:none!important}
.hero-ticker{overflow:hidden!important;white-space:nowrap!important;display:flex!important;width:100%!important;background:var(--cyan)!important;z-index:10!important}
.hero-ticker>div{flex:none!important;min-width:max-content!important;animation:tickerLoop 22s linear infinite!important;display:flex!important;align-items:center!important;gap:26px!important;padding-right:26px!important}
@keyframes ringOrbitA{to{transform:rotate(360deg)}}
@keyframes ringOrbitB{to{transform:rotate(-360deg) scale(1.025)}}
@keyframes tickerLoop{to{transform:translateX(-100%)}}

/* RUTAS: anatomía dental, no órbita */
.routes{min-height:980px!important;padding:92px 6vw 100px!important;display:block!important;background:linear-gradient(145deg,#fff 0%,#f7fdfe 52%,#e8f8fb 100%)!important;overflow:hidden!important}
.route-title{max-width:1180px!important;margin:0 auto 42px!important;text-align:center!important}
.route-title>p{display:none!important}
.route-title h2{font-size:clamp(3.8rem,6.1vw,7.2rem)!important;line-height:.92!important;letter-spacing:-.06em!important;margin:0!important}
.route-title h2 em{color:var(--cyan)!important;font-style:normal!important}
.route-intro{max-width:650px;margin:22px auto 0;color:#648086;line-height:1.6;font-size:15px}
.dental-anatomy{position:relative;width:min(1180px,92vw);height:650px;margin:0 auto}
.tooth-stage{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:390px;height:470px;display:grid;place-items:center;z-index:3}
.tooth-main{font-size:25rem!important;color:#0d6870!important;filter:drop-shadow(0 18px 28px rgba(6,60,67,.12));animation:toothBreathe 4.8s ease-in-out infinite}
.tooth-ghost{position:absolute;font-size:18rem!important;color:rgba(33,199,216,.10)!important;z-index:-1}.tooth-ghost.g1{transform:translate(-92px,45px) rotate(-18deg)}.tooth-ghost.g2{transform:translate(105px,36px) rotate(18deg)}
.scan-orbit{position:absolute;border:1px dashed rgba(18,168,117,.32);border-radius:50%;inset:8%;animation:spinDental 18s linear infinite}.scan-orbit.o2{inset:-5%;border-style:solid;border-color:rgba(33,199,216,.18);animation-duration:24s;animation-direction:reverse}
.dental-arrows{position:absolute;inset:0;width:100%;height:100%;z-index:2;color:rgba(6,60,67,.38);overflow:visible}.dental-arrows path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-dasharray:7 8;marker-end:url(#arrowHead);animation:dashMove 8s linear infinite}
.dental-point{position:absolute;width:215px;min-height:130px;border:1px solid rgba(6,60,67,.12);border-radius:26px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);padding:20px;text-align:left;color:var(--ink);z-index:5;box-shadow:0 16px 44px rgba(6,60,67,.06);transition:.35s ease}.dental-point:hover,.dental-point.is-active{transform:translateY(-8px);border-color:rgba(33,199,216,.65);box-shadow:0 24px 55px rgba(6,60,67,.12)}.dental-point>i{display:block;font-size:3.9rem;color:var(--cyan);margin-bottom:14px}.dental-point b,.dental-point small{display:block}.dental-point b{font-size:19px}.dental-point small{margin-top:6px;color:#6c858a;font-size:11px}.p1{left:2%;top:8%}.p2{right:2%;top:8%}.p3{left:1%;bottom:10%}.p4{right:1%;bottom:10%}
.dental-detail{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(620px,70%);text-align:center;z-index:6;background:rgba(255,255,255,.76);backdrop-filter:blur(10px);padding:18px 24px;border-radius:24px}.dental-detail span{font-size:9px;letter-spacing:.18em;color:var(--green);font-weight:900}.dental-detail h3{font-size:clamp(1.8rem,2.6vw,2.8rem);margin:8px 0;line-height:1.02}.dental-detail p{margin:0;color:#698187;line-height:1.55}
@keyframes toothBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.025)}}
@keyframes spinDental{to{transform:rotate(360deg)}}
@keyframes dashMove{to{stroke-dashoffset:-120}}

@media(max-width:1050px){.hero{grid-template-columns:1fr!important;min-height:1120px!important}.hero-copy{padding:72px 7vw 30px!important}.smile-portal{height:640px!important;min-height:640px!important}.portal-media{width:80%!important;height:94%!important}.routes{min-height:1100px!important}.dental-anatomy{height:780px}.tooth-stage{top:45%}.p1{left:0}.p2{right:0}.p3{left:0;bottom:4%}.p4{right:0;bottom:4%}.dental-detail{bottom:0}}
@media(max-width:700px){.hero{min-height:980px!important}.smile-portal{height:520px!important;min-height:520px!important}.portal-media{width:88%!important;height:94%!important;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)!important}.hero-actions button,.hero-actions a{width:auto!important}.routes{padding:70px 5vw 90px!important;min-height:auto!important}.route-title h2{font-size:14vw!important}.dental-anatomy{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:320px}.tooth-stage{top:150px;width:280px;height:300px}.tooth-main{font-size:16rem!important}.tooth-ghost{font-size:11rem!important}.dental-arrows{display:none}.dental-point{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;min-height:150px}.dental-detail{position:relative;left:auto;bottom:auto;transform:none;width:100%;grid-column:1/-1;margin-top:10px}.portal-rings i:nth-child(3),.portal-rings:after{display:none}}


/* ==========================================================
   SONRIENDO AJUSTE 04 — HERO + ANATOMÍA + CARRUSEL CIRCULAR
   ========================================================== */

/* 1) HERO: trapezoide mayor + muchos anillos independientes */
.hero{min-height:790px!important;grid-template-columns:40% 60%!important}
.smile-portal{min-height:760px!important;height:760px!important;overflow:visible!important}
.portal-media{width:min(96%,900px)!important;height:98%!important;clip-path:polygon(11% 0,100% 0,88% 100%,0 100%)!important;box-shadow:0 30px 90px rgba(6,60,67,.14)!important}
.portal-rings{inset:-3% -5%!important}
.portal-rings i{left:50%!important;top:50%!important;margin:0!important;transform:translate(-50%,-50%)!important;transform-origin:center!important;will-change:transform!important}
.portal-rings i:nth-child(1){width:82%!important;height:48%!important;animation:ringA 11s linear infinite!important;border-color:rgba(33,199,216,.50)!important}
.portal-rings i:nth-child(2){width:98%!important;height:62%!important;animation:ringB 17s linear infinite reverse!important;border-color:rgba(18,168,117,.38)!important}
.portal-rings i:nth-child(3){width:112%!important;height:74%!important;animation:ringC 23s linear infinite!important;border-color:rgba(184,231,61,.45)!important}
.portal-rings i:nth-child(4){width:126%!important;height:40%!important;animation:ringB 13s linear infinite!important;border-color:rgba(6,60,67,.16)!important}
.portal-rings i:nth-child(5){width:74%!important;height:88%!important;animation:ringC 19s linear infinite reverse!important;border-color:rgba(33,199,216,.30)!important}
.portal-rings i:nth-child(6){width:138%!important;height:54%!important;animation:ringA 29s linear infinite reverse!important;border-color:rgba(18,168,117,.24)!important}
.portal-rings i:nth-child(7){width:88%!important;height:102%!important;animation:ringB 21s linear infinite!important;border-color:rgba(184,231,61,.26)!important}
.portal-rings i:nth-child(8){width:148%!important;height:68%!important;animation:ringC 31s linear infinite!important;border-color:rgba(33,199,216,.20)!important}
.portal-rings i:nth-child(9){width:118%!important;height:94%!important;animation:ringA 37s linear infinite reverse!important;border-color:rgba(6,60,67,.10)!important}
.portal-rings:before,.portal-rings:after{display:none!important}
@keyframes ringA{0%{transform:translate(-50%,-50%) rotate(0deg) scale(1)}50%{transform:translate(-50%,-50%) rotate(180deg) scale(1.035)}100%{transform:translate(-50%,-50%) rotate(360deg) scale(1)}}
@keyframes ringB{0%{transform:translate(-50%,-50%) rotate(18deg) scaleX(1)}50%{transform:translate(-50%,-50%) rotate(198deg) scaleX(.95)}100%{transform:translate(-50%,-50%) rotate(378deg) scaleX(1)}}
@keyframes ringC{0%{transform:translate(-50%,-50%) rotate(-28deg) scaleY(1)}50%{transform:translate(-50%,-50%) rotate(152deg) scaleY(.96)}100%{transform:translate(-50%,-50%) rotate(332deg) scaleY(1)}}

/* 2) RUTAS: franja compacta, diente dominante, nodos sin cajas */
.routes{min-height:auto!important;padding:72px 5vw 64px!important;background:linear-gradient(145deg,#fff 0%,#f8fdfe 54%,#e9f9fb 100%)!important}
.route-title{margin-bottom:18px!important}
.route-title h2{font-size:clamp(3.7rem,5.6vw,6.7rem)!important}
.route-intro{margin-top:14px!important}
.dental-anatomy{position:relative!important;max-width:1320px!important;height:590px!important;margin:0 auto!important}
.tooth-stage{top:43%!important;width:480px!important;height:500px!important}
.tooth-main{font-size:31rem!important;line-height:1!important;filter:drop-shadow(0 22px 34px rgba(6,60,67,.11))!important}
.tooth-ghost{font-size:22rem!important;opacity:.75!important}
.tooth-ghost.g1{transform:translate(-115px,52px) rotate(-15deg)!important}.tooth-ghost.g2{transform:translate(120px,48px) rotate(15deg)!important}
.scan-orbit{inset:5%!important}.scan-orbit.o2{inset:-8%!important}.scan-orbit.o3{position:absolute;border:1px dotted rgba(184,231,61,.55);border-radius:50%;inset:-19%;animation:spinDental 31s linear infinite}
.dental-point{position:absolute!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:8px 12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;color:var(--ink)!important;transition:transform .35s ease,color .35s ease!important;z-index:6!important}
.dental-point:before,.dental-point:after{display:none!important}
.dental-point i{font-size:4.3rem!important;color:var(--cyan)!important;line-height:1!important;filter:drop-shadow(0 8px 14px rgba(33,199,216,.12));animation:nodeFloat 3.8s ease-in-out infinite}
.dental-point b{font-size:1.25rem!important;line-height:1.05!important}.dental-point small{font-size:.72rem!important;color:#6a858a!important;margin-top:4px!important}
.dental-point:hover,.dental-point.is-active{transform:translateY(-7px) scale(1.06)!important;color:var(--green)!important;background:transparent!important}
.dental-point.is-active i{color:var(--green)!important;animation:nodePulse 1.8s ease-in-out infinite}
.p1{left:4%!important;top:25%!important}.p2{right:4%!important;top:25%!important}.p3{left:6%!important;bottom:17%!important}.p4{right:6%!important;bottom:17%!important}
.dental-detail{position:absolute!important;left:50%!important;bottom:2%!important;transform:translateX(-50%)!important;width:min(680px,72%)!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 22px!important;text-align:center!important;z-index:8!important}
.dental-detail span{font-size:.68rem!important;letter-spacing:.18em!important;color:var(--green)!important;font-weight:900!important}.dental-detail h3{font-size:2.25rem!important;line-height:1!important;margin:7px 0 8px!important}.dental-detail p{font-size:.86rem!important;margin:0!important;color:#678188!important}
.dental-arrows{position:absolute!important;inset:9% 1% 15%!important;width:98%!important;height:76%!important;color:rgba(8,108,118,.42)!important;overflow:visible!important}
.dental-arrows path{fill:none!important;stroke:currentColor!important;stroke-width:1.35!important;stroke-dasharray:8 8!important;marker-end:url(#arrowHead)!important;animation:dashFlow 5s linear infinite!important}
.dental-arrows .a2,.dental-arrows .a4{animation-direction:reverse!important}
@keyframes nodeFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes nodePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes dashFlow{to{stroke-dashoffset:-64}}

/* 3) EXPERIENCIA: carrusel circular automático, visible sin bajar zoom */
.method{min-height:760px!important;padding:0 4vw 0 6vw!important;grid-template-columns:31% 69%!important;align-items:center!important;overflow:hidden!important}
.method-sticky{position:relative!important;top:auto!important;align-self:center!important;padding:0 3vw 0 0!important;z-index:9!important}
.method-sticky>p,.method-sticky>small{display:none!important}
.method-sticky h2{font-size:clamp(4rem,5.8vw,7rem)!important;margin:0!important}
.method-carousel{position:relative!important;height:680px!important;overflow:hidden!important;perspective:1500px!important;isolation:isolate!important}
.method-panel{position:absolute!important;top:50%!important;left:52%!important;width:min(43vw,520px)!important;height:590px!important;min-height:0!important;padding:20px!important;border-radius:28px!important;overflow:hidden!important;transition:transform .9s cubic-bezier(.22,.61,.36,1),opacity .7s ease,filter .7s ease!important;box-shadow:0 24px 60px rgba(0,0,0,.16)!important;scroll-snap-align:none!important;will-change:transform,opacity!important}
.method-panel .panel-watermark{position:absolute!important;right:-40px!important;bottom:-45px!important;font-size:17rem!important;opacity:.10!important;z-index:0!important;pointer-events:none!important;transform:rotate(-12deg)!important}
.method-panel .panel-image{position:relative!important;height:58%!important;margin:0 0 22px!important;clip-path:polygon(0 7%,94% 0,100% 88%,8% 100%)!important;z-index:2!important}
.method-panel .panel-image img{width:100%!important;height:100%!important;object-fit:cover!important}
.method-panel .panel-copy{position:relative!important;z-index:3!important}.method-panel .panel-copy span{font-size:.68rem!important;font-weight:900!important;letter-spacing:.18em!important}.method-panel h3{font-size:3.8rem!important;line-height:.9!important;margin:8px 0 12px!important}.method-panel p{font-size:.95rem!important;line-height:1.45!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-width:95%!important}
.panel-a{background:#fff!important}.panel-a h3{color:#063c43!important}.panel-a .panel-watermark{color:#21c7d8!important}
.panel-b{background:#dff7fb!important}.panel-b h3{color:#087687!important}.panel-b .panel-watermark{color:#12a875!important}
.panel-c{background:#b8e73d!important}.panel-c h3{color:#063c43!important}.panel-c .panel-watermark{color:#fff!important;opacity:.22!important}
.method-panel.is-pos-0{z-index:6!important;opacity:1!important;filter:none!important;transform:translate(-52%,-50%) translateX(0) rotateY(0deg) scale(1)!important}
.method-panel.is-pos-1{z-index:4!important;opacity:.72!important;filter:saturate(.82)!important;transform:translate(-52%,-50%) translateX(48%) translateZ(-180px) rotateY(-18deg) scale(.82)!important}
.method-panel.is-pos-2{z-index:2!important;opacity:0!important;pointer-events:none!important;filter:blur(3px)!important;transform:translate(-52%,-50%) translateX(-62%) translateZ(-260px) rotateY(22deg) scale(.72)!important}
.method-panel.is-pos-2 .panel-image{opacity:0!important}

@media(max-width:1050px){
  .hero{grid-template-columns:1fr!important;min-height:1160px!important}.smile-portal{height:680px!important;min-height:680px!important}.portal-media{width:88%!important;height:98%!important}
  .routes{padding:64px 4vw 58px!important}.dental-anatomy{height:620px!important}.tooth-stage{width:430px!important;height:470px!important}.tooth-main{font-size:28rem!important}.p1{left:1%!important}.p2{right:1%!important}.p3{left:2%!important}.p4{right:2%!important}
  .method{grid-template-columns:1fr!important;min-height:980px!important;padding:70px 5vw 40px!important}.method-sticky{text-align:center!important;padding:0!important}.method-sticky h2 br{display:none!important}.method-carousel{height:660px!important}.method-panel{left:50%!important;width:min(68vw,520px)!important}
}
@media(max-width:700px){
  .hero{min-height:980px!important}.smile-portal{height:540px!important;min-height:540px!important}.portal-media{width:94%!important;height:98%!important;clip-path:polygon(9% 0,100% 0,89% 100%,0 100%)!important}.portal-rings i:nth-child(7),.portal-rings i:nth-child(8),.portal-rings i:nth-child(9){display:block!important}
  .routes{padding:52px 4vw 48px!important}.route-title h2{font-size:13vw!important}.dental-anatomy{height:650px!important;display:block!important;padding:0!important}.tooth-stage{top:35%!important;width:300px!important;height:330px!important}.tooth-main{font-size:19rem!important}.tooth-ghost{font-size:13rem!important}.dental-arrows{display:block!important;inset:7% 0 20%!important;width:100%!important;height:72%!important}.dental-point{max-width:32vw!important}.dental-point i{font-size:3.1rem!important}.dental-point b{font-size:1rem!important}.dental-point small{font-size:.58rem!important}.p1{left:0!important;top:17%!important}.p2{right:0!important;top:17%!important}.p3{left:1%!important;bottom:20%!important}.p4{right:1%!important;bottom:20%!important}.dental-detail{bottom:0!important;width:92%!important}.dental-detail h3{font-size:1.55rem!important}.dental-detail p{font-size:.75rem!important}
  .method{min-height:820px!important;padding:54px 4vw 30px!important}.method-sticky h2{font-size:12vw!important}.method-carousel{height:560px!important}.method-panel{width:78vw!important;height:500px!important;padding:16px!important}.method-panel h3{font-size:3rem!important}.method-panel .panel-image{height:56%!important}.method-panel.is-pos-1{transform:translate(-52%,-50%) translateX(34%) translateZ(-180px) rotateY(-16deg) scale(.74)!important}.method-panel.is-pos-2{transform:translate(-52%,-50%) translateX(-52%) translateZ(-220px) rotateY(18deg) scale(.66)!important}
}


/* ==========================================================
   SONRIENDO AJUSTE 05 — MICROAJUSTES
   ========================================================== */

.hero-ticker{overflow:hidden!important}
.hero-ticker .ticker-group{
  flex:none!important;display:flex!important;align-items:center!important;
  gap:28px!important;padding-right:28px!important;min-width:max-content!important;
  white-space:nowrap!important;animation:tickerDense 28s linear infinite!important
}
@keyframes tickerDense{to{transform:translateX(-100%)}}

.dental-point.p3 i{font-size:4.8rem!important;font-weight:300!important}

.family-image:after{
  content:"";position:absolute;inset:0 0 0 auto;width:18%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92));
  pointer-events:none;z-index:3
}
.family-copy{position:relative;overflow:hidden}
.family-watermark{
  position:absolute;right:-4%;top:50%;transform:translateY(-50%) rotate(-8deg);
  font-size:28rem;line-height:1;color:var(--cyan);opacity:.07;z-index:0;pointer-events:none
}
.family-copy>*:not(.family-watermark){position:relative;z-index:2}

.smile-lab{
  padding:64px 6vw 72px!important;min-height:0!important;
  background:linear-gradient(125deg,#b9f3e1 0%,#83e5df 46%,#6bd8ed 100%)!important
}
.lab-head{display:block!important;text-align:center!important;margin:0 auto 34px!important}
.lab-head h2{
  grid-column:auto!important;margin:0!important;font-size:clamp(2.2rem,4vw,4.7rem)!important;
  line-height:1!important;letter-spacing:-.055em!important;white-space:nowrap!important;color:var(--ink)!important
}
.promo-rotator{
  position:relative;max-width:1280px;height:500px;margin:0 auto;overflow:hidden;
  border-radius:42px;box-shadow:0 28px 70px rgba(6,60,67,.12)
}
.promo-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.035);
  transition:opacity .9s ease,visibility .9s ease,transform 4.2s ease;overflow:hidden
}
.promo-slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.promo-slide img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.promo-slide:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(4,53,60,.78) 0%,rgba(4,53,60,.38) 40%,rgba(4,53,60,.06) 76%)
}
.promo-copy{position:absolute;left:5%;bottom:10%;z-index:3;max-width:580px;color:#fff}
.promo-copy span{font-size:.78rem;letter-spacing:.22em;font-weight:900;color:var(--lime)}
.promo-copy h3{font-size:clamp(2.8rem,5vw,6rem);line-height:.88;letter-spacing:-.055em;margin:12px 0}
.promo-copy p{margin:0;font-size:1rem}
.promo-dots{position:absolute;right:4%;bottom:6%;z-index:6;display:flex;gap:8px}
.promo-dots i{width:34px;height:4px;border-radius:999px;background:rgba(255,255,255,.45);transition:.4s}
.promo-dots i.is-on{width:64px;background:#fff}

@media(max-width:900px){
  .family-image:after{width:24%}
  .family-watermark{font-size:20rem}
  .lab-head h2{white-space:normal!important}
  .promo-rotator{height:430px;border-radius:30px}
}
@media(max-width:700px){
  .hero-ticker .ticker-group{gap:20px!important;padding-right:20px!important}
  .family-image:after{width:100%;height:18%;inset:auto 0 0;background:linear-gradient(0deg,#fff,transparent)}
  .family-watermark{font-size:15rem;right:-16%}
  .smile-lab{padding:48px 4vw 56px!important}
  .lab-head h2{font-size:10vw!important;line-height:.95!important}
  .promo-rotator{height:390px;border-radius:24px}
  .promo-copy{left:7%;right:7%;bottom:11%}
  .promo-copy h3{font-size:12vw}
}


/* ==========================================================
   SONRIENDO AJUSTE 06 — PROMOS FULL / EQUIPO MOSAICO / CTA
   ========================================================== */

/* Promo: ocupa el total de la franja */
.smile-lab{padding:0!important;min-height:0!important;background:transparent!important}
.promo-rotator--full{
  width:100%!important;max-width:none!important;height:clamp(560px,61vw,780px)!important;
  margin:0!important;border-radius:0!important;box-shadow:none!important
}
.promo-rotator--full .promo-slide{border-radius:0!important}
.promo-rotator--full .promo-slide img{
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 42%!important
}
.promo-rotator--full .promo-slide:after{display:none!important}
.promo-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(3,49,56,.74),rgba(3,49,56,.34) 42%,rgba(3,49,56,.04) 74%)
}
.promo-top-title{
  position:absolute;z-index:3;left:5vw;top:7%;color:#fff;
  font-size:clamp(2.3rem,4.4vw,5.3rem);font-weight:900;line-height:.94;letter-spacing:-.055em
}
.promo-rotator--full .promo-copy{left:5vw!important;bottom:10%!important;max-width:650px!important}
.promo-rotator--full .promo-copy h3{font-size:clamp(3rem,6vw,7rem)!important}
.promo-rotator--full .promo-dots{right:4vw!important;bottom:6%!important}

/* Equipo: dos columnas + mosaico */
.team{
  display:grid!important;
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr)!important;
  gap:5vw!important;align-items:center!important;
  padding:90px 5vw!important;min-height:760px!important;background:#f6fbfc!important;overflow:hidden!important
}
.team-title-col{display:flex;align-items:center;min-height:100%}
.team-title-col h2{
  margin:0!important;font-size:clamp(4.5rem,7.3vw,9rem)!important;
  line-height:.84!important;letter-spacing:-.07em!important;color:var(--ink)!important;font-weight:900!important
}
.team-title-col h2 em{display:block;color:#15b47d!important;font-style:normal!important}
.team-mosaic{
  display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;
  gap:18px;min-height:620px
}
.mosaic-card{
  position:relative;margin:0;overflow:hidden;border-radius:34px;min-height:0;background:#d9eff2
}
.mosaic-card--wide{grid-row:1 / 3}
.mosaic-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease}
.mosaic-card:hover img{transform:scale(1.045)}
.mosaic-card figcaption{
  position:absolute;left:20px;right:20px;bottom:20px;padding:14px 16px;border-radius:18px;
  background:rgba(255,255,255,.88);backdrop-filter:blur(12px);
  display:flex;flex-direction:column;gap:3px
}
.mosaic-card figcaption strong{font-size:1rem;color:var(--ink)}
.mosaic-card figcaption span{font-size:.84rem;color:#557078}

/* CTA final */
.cta-band{
  min-height:470px!important;padding:36px 6vw!important;
  display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:40px!important
}
.cta-band-copy h2{
  margin:0!important;font-size:clamp(5.6rem,10.6vw,12.8rem)!important;
  line-height:.76!important;letter-spacing:-.078em!important;font-weight:900!important
}
.cta-band-copy h2 span{color:#fff!important}
.cta-band-button{
  width:200px!important;height:200px!important;border-radius:50%!important;border:0!important;
  background:var(--ink)!important;color:#fff!important;font-size:1.06rem!important;font-weight:900!important;
  cursor:pointer!important;transition:transform .35s ease,background .35s ease!important
}
.cta-band-button:hover{transform:scale(1.08) rotate(-4deg);background:#07333a!important}

/* Formulario demo */
.booking{width:min(92vw,720px)!important}
.booking form{display:grid!important;gap:15px!important}
.booking form label{display:grid!important;gap:7px!important}
.booking form input,.booking form textarea{
  width:100%!important;box-sizing:border-box!important;border:1px solid #cddfe2!important;
  border-radius:16px!important;padding:14px 15px!important;font:inherit!important;background:#fbfeff!important
}
.booking-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.booking form button[type="submit"]{
  border-radius:999px!important;background:linear-gradient(90deg,#14b982,#24c6da)!important;
  color:#fff!important;border:0!important;padding:15px 20px!important;font-weight:900!important;cursor:pointer!important
}
.booking-thanks{text-align:center;padding:34px 10px 10px}
.booking-thanks span{
  display:grid;place-items:center;width:70px;height:70px;border-radius:50%;
  margin:0 auto 14px;background:#b9ef2c;color:#063f46;font-size:2rem;font-weight:900
}
.booking-thanks h4{font-size:3rem;margin:0 0 6px;color:var(--ink)}
.booking-thanks-close{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;margin-top:14px}

@media(max-width:1000px){
  .team{grid-template-columns:1fr!important;min-height:0!important}
  .team-title-col h2{font-size:clamp(4rem,12vw,7rem)!important}
  .team-mosaic{min-height:560px}
  .cta-band{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important}
}
@media(max-width:700px){
  .promo-rotator--full{height:570px!important}
  .promo-top-title{left:6vw;right:6vw;top:7%;font-size:11vw}
  .promo-overlay{background:linear-gradient(0deg,rgba(3,49,56,.76),rgba(3,49,56,.05) 72%)}
  .promo-rotator--full .promo-copy{left:6vw!important;right:6vw!important;bottom:9%!important}
  .team{padding:58px 5vw!important;gap:32px!important}
  .team-title-col h2{font-size:15vw!important}
  .team-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px;min-height:0}
  .mosaic-card--wide{grid-column:1/3;grid-row:1}
  .mosaic-card--portrait{grid-column:1;grid-row:2}
  .mosaic-card--lab{grid-column:2;grid-row:2}
  .cta-band{min-height:410px!important;padding:34px 5vw!important}
  .cta-band-copy h2{font-size:18vw!important}
  .cta-band-button{width:155px!important;height:155px!important}
  .booking-row{grid-template-columns:1fr}
}


/* ==========================================================
   SONRIENDO AJUSTE 07 — MICROAJUSTE EQUIPO + CTA
   ========================================================== */
@media (min-width:1001px){
  .team-title-col h2{
    font-size:clamp(5.6rem,8.7vw,10.8rem)!important;
    line-height:.77!important;
    letter-spacing:-.075em!important;
    max-width:100%!important;
  }
  .team-title-col{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
  }
}
.cta-band-button{
  background:#b9ef2c!important;
  color:#073f46!important;
  box-shadow:0 18px 45px rgba(7,63,70,.18)!important;
}
.cta-band-button:hover{
  background:#ffffff!important;
  color:#073f46!important;
  transform:scale(1.08) rotate(-4deg)!important;
}
@media(max-width:700px){
  .team-title-col h2{
    font-size:16vw!important;
    line-height:.79!important;
  }
}
