:root{color-scheme:light;--ink:#073e43;--lime:#d8edb2;--paper:#f5f7f5}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:4px solid #e9be4e;outline-offset:5px}.topbar{height:84px;max-width:1720px;margin:auto;padding:0 4%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;flex-direction:column;gap:5px}.brand strong{font-size:23px;letter-spacing:1px}.brand strong span{color:#679392}.brand-note{font-size:10px;letter-spacing:1.9px}.top-note{font-size:14px}.scene{position:relative;overflow:hidden;background:#0a3438}.scene>img{display:block;width:100%;height:auto}.exterior{width:100%;max-width:none;height:calc(100svh - 208px);min-height:690px;aspect-ratio:auto}.exterior>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:22% center}.enter{position:absolute;left:16.25%;top:52%;transform:translate(-50%,-50%) rotate(-3deg);display:flex;align-items:center;gap:15px;border:2px solid #fff9;background:#fffef2;color:var(--ink);padding:15px 18px;font-size:18px;font-weight:800;letter-spacing:2px;box-shadow:0 6px 20px #0005;transition:background .2s,scale .2s}.enter:hover{background:var(--lime);scale:1.06}.enter span:last-child{font-size:25px}.street-sign{position:absolute;left:38%;top:69%;transform:rotate(-4deg);border:5px solid #fff;border-radius:10px;background:var(--ink);color:white;box-shadow:0 8px 0 #144b4c,0 13px 30px #0006;padding:12px 20px;display:flex;flex-direction:column;gap:9px;transition:transform .2s}.street-sign:hover{transform:rotate(-1deg) translateY(-4px)}.street-sign small{font-size:11px;letter-spacing:2px;color:var(--lime)}.street-sign strong{font-size:22px;line-height:1.08;letter-spacing:.8px}.street-sign>span{border-top:1px solid #ffffff60;padding-top:8px;font-size:14px;display:flex;justify-content:space-between;gap:20px}.caption{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4%;border-bottom:1px solid #cad7d4}.step{font-size:12px;letter-spacing:1.5px;white-space:nowrap}.caption p{font-size:20px;margin:0}.hint{font-size:14px;color:#4f6665}footer{display:flex;justify-content:space-between;padding:19px 4%;gap:15px;font-size:12px;color:#596e6c}.interior{height:calc(100svh - 208px);min-height:690px}.interior>img{height:100%;object-fit:cover;object-position:50% 40%}.back{position:absolute;left:3%;top:25px;background:#fcfffaef;border:1px solid #d5ded8;border-radius:30px;padding:12px 18px;color:var(--ink);font-size:14px}.dialogue{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:44%;max-width:580px;padding:29px 30px 20px;background:#f9fcf6f5;border:1px solid #ffffff;box-shadow:0 18px 70px #031f3655;border-radius:4px 24px 24px 24px;backdrop-filter:blur(15px)}.speaker{display:flex;align-items:center;gap:12px;font-size:12px;color:#57716b}.speaker-name{background:var(--ink);color:#fff;padding:8px 12px;letter-spacing:1.5px;font-size:12px}.dialogue-mark{margin-left:auto;font-size:24px;color:#477e68}h1{font-size:clamp(24px,2.3vw,36px);line-height:1.3;font-weight:500;letter-spacing:-.7px;margin:25px 0}h1 span{font-weight:700}h1:focus{outline:none}.choose{font-size:11px;letter-spacing:1.8px;color:#53756c;margin:24px 0 11px}.choices{display:grid;gap:9px}.choices a{display:flex;align-items:center;gap:13px;padding:15px 14px;border:1px solid #c3d2c8;background:#fff9;border-radius:6px;font-size:16px;line-height:1.4;transition:background .18s,transform .18s}.choices a:hover{background:var(--ink);color:white;transform:translateX(4px)}.number{font-size:12px;color:#718578}.choice-arrow{margin-left:auto}.whatsapp-note{font-size:12px;color:#61776d;line-height:1.5;margin:16px 0 0}[hidden]{display:none!important}.leaving{animation:walk-in .65s ease-in forwards;transform-origin:16% 52%}.arriving{animation:arrive .65s ease-out}@keyframes walk-in{to{transform:scale(1.9);opacity:0;filter:blur(6px)}}@keyframes arrive{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}#experience{overflow:hidden}
@media(min-width:1700px){.exterior{min-height:690px}.street-sign{top:72%}}
@media(max-width:900px){.top-note{display:none}.caption{flex-wrap:wrap;gap:10px}.caption p{font-size:18px}.hint{width:100%}.exterior{height:auto;min-height:0;max-height:none;aspect-ratio:1672/941}.enter{font-size:14px;padding:8px;gap:5px;letter-spacing:1px}.enter span:last-child{font-size:18px}.street-sign{top:69%;left:40%;padding:8px 12px;gap:5px;border-width:3px}.street-sign strong{font-size:16px}.street-sign small{display:none}.street-sign>span{font-size:12px;padding-top:4px}.interior{height:auto;min-height:0;overflow:visible;background:#073e43}.interior>img{height:auto;width:100%;object-fit:contain}.dialogue{position:relative;width:calc(100% - 32px);max-width:620px;right:auto;top:auto;transform:none;margin:-13% auto 0;padding:25px;border-radius:4px 20px 20px 20px}.interior{padding-bottom:24px}h1{font-size:28px}.back{top:15px;left:16px;font-size:13px;padding:10px 14px}.speaker{font-size:12px}.topbar{height:76px}.caption{padding:20px 5%}footer{padding:17px 5%;flex-wrap:wrap}.brand strong{font-size:21px}}
@media(max-width:480px){.exterior{aspect-ratio:1/1.1}.exterior>img{object-fit:cover;object-position:22% center}.enter{left:12%;top:52%;font-size:14px;writing-mode:vertical-rl;transform:translate(-50%,-50%);padding:10px 8px}.street-sign{left:45%;top:76%;padding:10px 15px}.street-sign strong{font-size:19px}.dialogue{padding:22px 18px;margin-top:-12%}h1{font-size:25px}.choices a{font-size:16px;padding:13px 11px}.caption p{width:100%;font-size:21px}.hint{font-size:13px}.speaker{gap:8px}.brand-note{font-size:9px}.whatsapp-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

#experience,#outside,#inside{width:100%;max-width:none;margin-inline:0;min-width:0}

/* Identificación profesional persistente en ambas escenas. */
.topbar{position:sticky;top:0;z-index:100;width:100%;max-width:none;min-height:84px;height:auto;padding:20px 4%;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;background:var(--paper);border-bottom:1px solid #cad7d4}
.brand{justify-self:start;white-space:nowrap}
.professional-id{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;font-size:14px;line-height:1.5;text-align:center}
.professional-id>strong,.professional-id>span:not(.id-separator){white-space:nowrap}
.professional-id strong{font-size:14px;letter-spacing:.3px}
.top-note{justify-self:end;text-align:right}
@media(max-width:1250px){.topbar{grid-template-columns:auto 1fr;gap:20px}.top-note{display:none}}
@media(max-width:900px){.topbar{grid-template-columns:1fr;gap:8px;padding:12px 4%;min-height:0}.brand{justify-self:center}.professional-id{gap:3px 6px;font-size:13px}.professional-id strong{font-size:13px}}
@media(max-width:560px){.professional-id{column-gap:8px;row-gap:0}.professional-id strong{flex-basis:100%}.professional-id .id-separator:first-of-type{display:none}}
@media(max-width:360px){.professional-id{flex-direction:column}.professional-id .id-separator{display:none}}

/* Marca fija, regreso y redes compartidas por ambas escenas. */
.topbar{grid-template-columns:1fr auto 1fr;padding-block:10px;gap:18px}
.header-logo{justify-self:end;display:block;width:66px;height:64px;flex-shrink:0}
.header-logo img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.back{left:auto;right:3%;z-index:2}
.insurers{padding:38px 4% 32px;background:#fff;border-bottom:1px solid #cad7d4;text-align:center}
.insurers h2{font-size:clamp(17px,2vw,22px);font-weight:500;line-height:1.5;margin:0 auto 26px;max-width:800px}
.insurer-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:28px;max-width:1100px;margin:auto}
.insurer-logos>div{height:110px;display:flex;justify-content:center;align-items:center;overflow:hidden}
.insurer-logos img{display:block;width:100%;max-width:220px;max-height:95px;object-fit:contain}
.insurer-logos img.federacion-logo{width:340px;max-width:none;max-height:110px;flex-shrink:0}
.regulatory{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(300px,1.35fr);align-items:center;gap:30px;padding:26px max(4%,calc((100% - 1200px)/2));background:#fff;border-bottom:1px solid #cad7d4;color:#596e6c}
.regulatory-professional,.regulatory-control{min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;font-size:14px;line-height:1.35}
.regulatory-professional{border-right:1px solid #bcc9c7}
.regulatory-professional strong,.regulatory-control strong{color:var(--ink);font-size:14px;letter-spacing:.2px}
.regulatory-control a{text-decoration:underline;text-underline-offset:3px}
.regulatory-control a:hover{color:var(--ink)}
.ssn-link{display:block;justify-self:center;width:100%;max-width:390px}
.ssn-link img{display:block;width:100%;height:auto}
footer{display:flex;flex-direction:column;align-items:center;gap:20px;padding:22px 4%}
.footer-info{display:flex;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap}
.instagram-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;color:var(--ink);font-weight:600}
.instagram-link:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.topbar{grid-template-columns:1fr auto}.brand{display:none}.professional-id{justify-self:center}.header-logo{grid-column:2;grid-row:1}}
@media(max-width:600px){.topbar{gap:10px;padding:10px 4%}.header-logo{width:54px;height:52px}.professional-id{font-size:12px;gap:0 4px}.professional-id strong{font-size:12px;flex-basis:100%}.professional-id .id-separator:first-of-type{display:none}.back{left:auto;right:16px}.insurers{padding:28px 5%}.insurer-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.insurer-logos>div{height:90px}.insurer-logos img{max-height:70px;max-width:170px}.insurer-logos img.federacion-logo{width:260px;max-width:none;max-height:85px}.footer-info{justify-content:center;text-align:center}}
@media(max-width:820px){.regulatory{grid-template-columns:1fr 1fr;gap:18px 0;padding:24px 5%}.regulatory-professional,.regulatory-control{padding:0 18px}.ssn-link{grid-column:1/-1;max-width:420px;border-top:1px solid #d5e0d9;padding-top:20px}}
@media(max-width:520px){.regulatory{grid-template-columns:1fr;gap:18px}.regulatory-professional,.regulatory-control{padding:0;min-height:0}.regulatory-professional{border-right:0;border-bottom:1px solid #d5e0d9;padding-bottom:18px}.ssn-link{grid-column:auto;max-width:360px}}
@media(max-width:420px){.professional-id{flex-direction:column}.professional-id .id-separator{display:none}}

/* Información visible desde la carga, compartida por las dos escenas. */
.content-section{padding:64px max(5%,calc((100% - 1120px)/2));border-bottom:1px solid #cad7d4}
.section-label{display:block;font-size:11px;letter-spacing:2px;font-weight:700;color:#4f7069;margin-bottom:18px;line-height:1.6}
.content-section h1,.content-section h2{font-size:clamp(27px,3vw,40px);line-height:1.2;letter-spacing:-.7px;margin:0 0 24px;font-weight:600}
.content-section p,.content-section li{font-size:16px;line-height:1.75;color:#365b58}
.introduction{background:#eaf0eb}.introduction p{max-width:850px}.introduction p:last-child{margin-bottom:0}
.section-intro{max-width:760px;margin-bottom:30px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-grid article{padding:25px;background:white;border:1px solid #d5e0d9;border-radius:12px}
.service-grid h3,.faqs h3{font-size:20px;line-height:1.4;margin:0 0 12px}
.service-grid p{margin:0;font-size:15px}
.service-contact{margin-top:32px}.service-contact p{font-size:20px;font-weight:600;color:var(--ink)}
.contact-button{display:inline-flex;align-items:center;gap:16px;padding:16px 22px;border-radius:6px;background:var(--ink);color:white;font-size:16px;line-height:1.5}.contact-button:hover{background:#155c60}
.faqs{background:white}.faqs article{max-width:880px;border-top:1px solid #d5e0d9;padding:26px 0}.faqs article:last-child{padding-bottom:0}.faqs p{margin:10px 0}.faqs ul{padding-left:23px;margin-bottom:0}
@media(max-width:900px){.content-section{padding:44px 5%}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.service-grid{grid-template-columns:1fr}.service-grid article{padding:22px}.content-section{padding:36px 5%}.section-label{font-size:10px;letter-spacing:1.4px}.contact-button{width:100%;justify-content:space-between}}

/* Ajustes posteriores al retiro de flechas y numeración. */
.enter span:last-child{font-size:inherit}
@media(max-width:480px){.caption .step{white-space:normal}}

/* Cartel luminoso de acceso al local. */
.enter{isolation:isolate;border:2px solid #d9fff5;border-radius:9px;background:#052f34ed;color:#f4fffb;padding:16px 24px;font-weight:900;letter-spacing:2.5px;text-shadow:0 0 4px #fff,0 0 9px #75ffdc,0 0 17px #3de5bd;box-shadow:0 0 4px #fff,0 0 13px #73ffdc,0 0 28px #1ecba1,0 0 46px #078f78aa,inset 0 0 10px #76ffe080;transition:background .2s,box-shadow .2s,filter .2s,scale .2s}
.enter::before{content:"";position:absolute;inset:4px;border:1px solid #8cffdf;border-radius:5px;box-shadow:inset 0 0 6px #54eabe;pointer-events:none}
.enter:hover,.enter:active{background:#074c50;filter:brightness(1.18);box-shadow:0 0 6px #fff,0 0 18px #8dffe3,0 0 38px #2be8ba,0 0 58px #06a889cc,inset 0 0 13px #8affe3;scale:1.07}
@keyframes neon-breathe{0%,100%{filter:brightness(.88);box-shadow:0 0 3px #fff,0 0 9px #73ffdc,0 0 20px #1ecba1,0 0 34px #078f7888,inset 0 0 8px #76ffe066}50%{filter:brightness(1.2);box-shadow:0 0 7px #fff,0 0 20px #8dffe3,0 0 42px #2be8ba,0 0 62px #06a889cc,inset 0 0 14px #8affe3}}
@media(max-width:900px){.enter{animation:neon-breathe 2.2s ease-in-out infinite;border-width:2px}}
