/* Navegación y páginas independientes. */
.skip-link{position:absolute;left:20px;top:-100px;z-index:10;background:white;color:var(--ink);padding:12px 18px;font-size:13px}.skip-link:focus{top:10px}nav a[aria-current=page]:not(.button){color:var(--ink);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}nav{gap:23px}nav a{white-space:nowrap}nav .button[aria-current=page]{box-shadow:inset 0 -3px 0 #70a7b7}.page-intro{padding:30px 7% 62px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f3f4ef,var(--paper))}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:10px;color:#6b7b80;margin-bottom:45px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.page-intro h1{font-size:54px;font-weight:500;letter-spacing:-2px;line-height:1.12;max-width:900px;margin-top:22px}.page-lead{font-size:14px;line-height:1.95;color:var(--muted);max-width:670px;margin-top:24px;margin-bottom:0}.home-page .hero-copy h1{font-size:58px;line-height:1.12;font-weight:500;letter-spacing:-2px}.home-services{padding-top:60px;padding-bottom:65px}.home-complement{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:35px;padding:35px 7%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#edf1eb}.home-complement h2{font-size:25px;letter-spacing:-.6px;margin:0}.home-complement>a{justify-self:end}.service-directory{padding-top:45px;padding-bottom:65px}.directory-complement{border-top:1px solid var(--line);background:#edf1eb;display:flex;align-items:center;justify-content:space-between;gap:35px}.directory-complement h2{font-size:32px}.directory-complement p:not(.eyebrow){font-size:13px;max-width:580px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.detail-block h2{font-size:29px;letter-spacing:-1px}.detail-block>p{font-size:13px;color:var(--muted);line-height:1.9}.detail-block ul{list-style:none;margin:25px 0 0;padding:0}.detail-block li{padding:15px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.85;color:#4c636c}.detail-block li:before{content:'—';margin-right:12px;color:#579299}.page-cta{padding:38px 7%;background:#e8efed;border-top:1px solid #d0ddda;display:flex;align-items:center;justify-content:space-between;gap:35px}.page-cta h2{font-size:28px;margin:0 0 10px}.page-cta p{font-size:12px;color:var(--muted);margin:0}.page-cta .button{flex-shrink:0}.faq{border-top:1px solid var(--line);padding-top:50px}.faq h2{font-size:32px;margin-bottom:30px}.faq details{border-top:1px solid var(--line);padding:21px 0;max-width:900px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:14px;font-weight:500;line-height:1.6;list-style:none;display:flex;justify-content:space-between;gap:25px}.faq summary:after{content:'+';font-size:20px;color:var(--ink)}.faq details[open] summary:after{content:'−'}.faq details p{font-size:13px;color:var(--muted);line-height:1.9;max-width:760px;padding-right:25px;margin-bottom:0}.inner-page .holiday{margin-top:50px}.inner-page .calculator-section{padding-top:15px}.scope-note,.coverage{background:#edf1eb;border-top:1px solid var(--line)}.scope-note h2,.coverage h2{font-size:32px}.scope-note>p:not(.eyebrow),.coverage p:not(.eyebrow){font-size:13px;max-width:740px;color:var(--muted);line-height:1.9}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-options h2{font-size:31px}.contact-options p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}.contact-options .button{margin-top:18px}.contact-placeholder{border-top:1px solid var(--line);padding-top:20px;font-size:11px!important}.inner-page .process h2{font-size:34px}.home-page footer{border-top:0}
@media(max-width:1100px){header{position:relative}.menu{display:block;border:1px solid #c8d2d2;border-radius:0;padding:10px 13px;background:transparent;color:var(--ink);font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:8;padding:25px 6%;background:var(--paper);box-shadow:0 15px 20px #173f3615}nav.open{display:flex;flex-direction:column;gap:23px;align-items:stretch}nav a:not(.button){display:block}nav .button{width:fit-content}.home-page .hero-copy h1{font-size:46px}.home-complement{grid-template-columns:1fr 1.5fr}.home-complement>a{justify-self:start;grid-column:2}.page-intro h1{font-size:47px}.detail-grid,.contact-options{gap:40px}}
@media(max-width:650px){.page-intro{padding:20px 6% 38px}.breadcrumb{margin-bottom:30px;font-size:9px}.page-intro h1{font-size:37px;letter-spacing:-1.4px;line-height:1.15}.page-lead{font-size:13px;line-height:1.85;margin-top:20px}.home-page .hero-copy h1{font-size:46px}.home-complement{display:block;padding:30px 6%}.home-complement h2{margin:18px 0 22px;font-size:26px}.home-services{padding-top:40px;padding-bottom:35px}.home-services .section-head>a{display:inline-block;margin-top:12px}.directory-complement,.page-cta{display:block;padding:30px 6%}.directory-complement h2{font-size:28px}.directory-complement .button,.page-cta .button{margin-top:22px}.detail-grid,.contact-options{grid-template-columns:1fr;gap:35px}.detail-block h2{font-size:27px}.detail-block li{padding:13px 0;font-size:12px}.page-cta h2{font-size:26px}.faq h2,.scope-note h2,.coverage h2,.inner-page .process h2{font-size:29px}.faq summary{font-size:13px}.faq details p{font-size:12px}.inner-page .holiday{margin-top:35px}.inner-page .calculator-section{padding-top:5px}.contact-options h2{font-size:28px}}

.legal-content{max-width:850px;margin:0 auto;padding:0 6% 70px;line-height:1.85;font-size:15px}.legal-content h2{font-size:25px;margin:32px 0 14px}.legal-content p{margin-bottom:18px}.legal-content a{text-decoration:underline;overflow-wrap:anywhere}.legal-review{padding:20px;border-left:3px solid var(--blue,#176781);background:#eaf0ef;font-size:13px;margin-bottom:30px}.legal-content dt{font-weight:600;margin-top:16px}.legal-content dd{margin:3px 0;overflow-wrap:anywhere}.legal-links{display:flex;flex-wrap:wrap;gap:15px;grid-column:1/-1;padding-top:25px;border-top:1px solid #ffffff35;font-size:11px}

#summary{max-height:90vh;overflow:auto}#request-form{display:grid;gap:14px;margin:24px 0}#request-form label{display:grid;gap:6px}#request-form input{padding:12px;border:1px solid #adbabc;background:white;color:#203a40;width:100%;box-sizing:border-box}#request-form a{text-decoration:underline}#request-status{font-size:13px;line-height:1.6}#summary #copy{margin-top:15px;padding:10px;cursor:pointer}

.contact-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}#email-request:disabled{opacity:.6;cursor:wait}

/* Exotikos — calculadora y solicitud, revisión visual 25/10/2026. */
.calculator-section{--calc-blue:#16617d;--calc-ink:#173f53;--calc-muted:#587080;--calc-line:#d9e4e9;max-width:1440px;margin-inline:auto}
.calculator-section .calc-tabs{padding:5px;background:#eaf0f3;border:1px solid var(--calc-line);border-radius:10px;gap:5px;margin:25px 0 32px}
.calculator-section .calc-tabs button{min-height:48px;padding:13px 25px;border-radius:6px;font-size:13px;font-weight:600;color:var(--calc-muted);transition:background .18s,color .18s}
.calculator-section .calc-tabs [aria-selected=true]{background:var(--calc-blue);color:#fff;box-shadow:0 2px 5px #173f5312}
.calculator-section .calc-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:32px}
#calc-form{background:#fff;border:1px solid var(--calc-line);border-radius:12px;padding:30px 32px;box-shadow:0 6px 25px #173f5304}
#calc-form .form-title{margin:6px 0 24px;padding-bottom:16px;gap:12px;border-bottom:1px solid #e7eef1}
#calc-form .form-title span{display:grid;place-items:center;width:30px;height:30px;background:#edf5f7;border:1px solid #d8e8ee;border-radius:50%;font-size:10px;font-weight:700;color:var(--calc-blue)}
#calc-form .form-title h3{margin:0;font-size:18px;font-weight:600;color:var(--calc-ink);letter-spacing:-.35px}
#calc-form .grid{gap:22px 20px;margin-bottom:34px}
#calc-form label{font-size:12px;font-weight:600;color:var(--calc-ink);line-height:1.5}
#calc-form label>input:not([type=checkbox]),#calc-form select{height:48px;padding:12px 13px;border:1px solid #ccdbe2;border-radius:6px;background:#fbfdfe;font-size:14px;color:#254e63;box-shadow:inset 0 1px 2px #173f5303;transition:border-color .18s,box-shadow .18s}
#calc-form input:hover,#calc-form select:hover{border-color:#90b1c1}
#calc-form input:focus-visible,#calc-form select:focus-visible,#request-form input:focus-visible{outline:2px solid #16617d;outline-offset:2px;background:#fff;box-shadow:0 0 0 5px #16617d0d}
#calc-form label small{font-size:11px;line-height:1.6;font-weight:400;color:var(--calc-muted)}
#calc-form fieldset{border-top:1px solid #e7eef1;padding-top:18px;margin-top:10px}
#calc-form legend{padding:0 12px 0 0;font-size:14px;font-weight:600;color:var(--calc-ink)}
#calc-form .extras{gap:10px}
#calc-form .extras label{padding:12px 14px;background:#f4f8fa;border:1px solid #e1eaf0;border-radius:6px;min-height:48px;font-weight:400}
#calc-form .extras input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:var(--calc-blue);margin:0 3px 0 0}
#calc-form .extras #glassarea{width:68px;height:35px;margin:0;padding:5px 7px;background:#fff}
#calc-form .field-note{font-size:11px;line-height:1.75;margin-bottom:0;color:var(--calc-muted)}
.calculator-section .estimate{background:#f1f7fa;border:1px solid #cddfe8;border-top:4px solid var(--calc-blue);border-radius:10px;padding:27px 28px 24px;top:24px;box-shadow:0 12px 35px #173f5308}
.estimate>.eyebrow{color:var(--calc-blue);font-size:10px;margin-top:0;letter-spacing:1.7px}
.estimate .demo-pill{background:#e0edf2;color:#205771;font-size:9px;font-weight:700;letter-spacing:.7px;padding:7px 10px;border-radius:4px}
.estimate h3{color:var(--calc-ink);font-size:19px;font-weight:600;margin:24px 0 14px}
.estimate #price{font-size:clamp(29px,2.8vw,41px);line-height:1.2;letter-spacing:-1.5px;color:var(--calc-blue);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.estimate #price.custom{font-size:27px;letter-spacing:-.7px}
.estimate #unit{font-size:11px;line-height:1.7;color:var(--calc-muted);margin:12px 0 22px}
.estimate #breakdown{padding-top:9px;border-color:#ccdee7}
.estimate #breakdown>div{align-items:baseline;font-size:12px;line-height:1.6;padding:7px 0;margin:0;gap:18px;color:#4d697a}
.estimate #breakdown>div>span:last-child{text-align:right;color:var(--calc-ink);font-weight:600;font-variant-numeric:tabular-nums}
.estimate #monthly{font-size:11px;line-height:1.8;color:var(--calc-blue)}
.estimate .included{border-color:#ccdee7;padding-top:19px;margin-top:19px;line-height:1.7}
.estimate .included strong{color:var(--calc-ink);font-size:12px}
.estimate .included p{font-size:12px;line-height:1.8;color:var(--calc-muted)}
.estimate .estimate-note{font-size:11px;line-height:1.8;color:var(--calc-muted);margin:20px 0}
.estimate .button{min-height:50px;border-radius:6px;background:var(--calc-blue);font-size:13px;transition:background .18s,box-shadow .18s}
.estimate .button:hover{background:#114e65;box-shadow:0 4px 12px #16617d20}
.estimate .no-send{font-size:10px;line-height:1.7;color:var(--calc-muted)}
/* Modal: resumen compacto y elección de canal antes de los datos de contacto. */
#summary{width:min(720px,calc(100% - 32px));max-width:720px;max-height:calc(100dvh - 40px);padding:35px 38px 28px;border:1px solid #d9e5eb;border-top:4px solid #16617d;border-radius:12px;background:#fff;color:#173f53;box-shadow:0 25px 90px #0b304d40;overscroll-behavior:contain;scrollbar-gutter:stable}
#summary::backdrop{background:#102e42b8;backdrop-filter:blur(4px)}
#summary #close{float:none;position:sticky;top:0;display:grid;place-items:center;margin:-17px -20px -26px auto;width:38px;height:38px;border:1px solid #dbe6eb;border-radius:50%;background:#fff;color:#466578;font-size:20px;z-index:1}
#summary #close:hover{background:#edf4f7;color:#163f55}
#summary>.eyebrow{font-size:10px;letter-spacing:1.7px;color:#16617d;margin:0 42px 12px 0}
#summary>h2{font-size:30px;font-weight:600;letter-spacing:-1px;line-height:1.2;margin:0 25px 22px 0}
#summary #summary-text{font:12px/1.8 Arial,Helvetica,sans-serif;color:#476272;background:#f5f8fa;border:1px solid #dfe9ee;border-radius:7px;padding:18px 20px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;margin:0 0 22px;scrollbar-width:thin}
#summary #whatsapp-request{width:100%;min-height:50px;padding:16px 20px;justify-content:center;border:1px solid #b9d6ca;border-radius:6px;background:#ecf6f0;color:#205f48;font-size:13px;font-weight:700}
#summary #whatsapp-request:hover{background:#dfeee5;border-color:#87b59f}
#summary>.field-note{font-size:11px;line-height:1.75;color:#5d7380;margin:11px 0 24px}
#summary>h3{padding-top:22px;border-top:1px solid #e1e9ed;font-size:17px;font-weight:600;letter-spacing:-.3px;margin:0}
#summary #request-form{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px;margin:20px 0 0;padding:0}
#summary #request-form>label{display:block;font-size:12px;font-weight:600;color:#294e61;line-height:1.5}
#summary #request-form>label:has(#contact-phone){grid-column:1/-1}
#summary #request-form input{height:47px;border:1px solid #cbdbe3;border-radius:6px;background:#fbfdfe;color:#173f53;margin-top:7px;padding:12px;font-size:16px;font-weight:400}
#summary #request-form>.field-note,#summary #email-request,#summary #request-status{grid-column:1/-1}
#summary #request-form>.field-note{font-size:11px;line-height:1.8;color:#607784;margin:0}
#summary #request-form>.field-note strong{font-weight:600;color:#3b5b6d}
#summary #request-form a{color:#16617d;text-underline-offset:3px}
#summary #email-request{background:#16617d;border-radius:6px;min-height:50px;justify-content:center;font-size:13px;margin-top:3px}
#summary #email-request:hover{background:#114e65}
#summary #email-request:disabled{opacity:.65;cursor:wait}
#summary #request-status{font-size:12px;line-height:1.8;margin:0;color:#224f67;overflow-wrap:anywhere}
#summary #request-status:not(:empty){padding:13px 15px;background:#eff5f8;border-left:3px solid #16617d;border-radius:3px}
#summary #copy{display:block;width:100%;background:transparent;border:0;border-top:1px solid #e1e9ed;border-radius:0;padding:18px 10px 0;margin-top:22px;font-size:12px;color:#5c7584;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#summary #copy:hover{color:#16617d}
@media(max-width:1000px){.calculator-section .calc-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);gap:22px}#calc-form{padding:24px}.calculator-section .estimate{padding:23px}#calc-form .grid{gap:20px 15px}}
@media(max-width:800px){.calculator-section .calc-layout{grid-template-columns:1fr}.calculator-section .estimate{position:static}.estimate #price{font-size:39px}.calculator-section .calc-tabs{width:100%}.calculator-section .calc-tabs button{flex:1}}
@media(max-width:520px){#calc-form{padding:21px 18px;border-radius:9px}#calc-form .grid{grid-template-columns:1fr;gap:19px}#calc-form label>input:not([type=checkbox]),#calc-form select{font-size:16px;min-width:0}.calculator-section .calc-tabs button{padding:12px 10px;font-size:11px;line-height:1.6}.calculator-section .estimate{padding:24px 21px}.estimate #price{font-size:35px}#summary{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:28px 20px 23px;border-radius:10px}#summary #close{margin:-14px -7px -24px auto}#summary>h2{font-size:26px}#summary #summary-text{font-size:11px;max-height:190px;padding:15px}#summary #request-form{grid-template-columns:1fr;gap:17px}#summary #request-form>*{min-width:0}#summary #email-request,#summary #whatsapp-request{font-size:12px}}
@media(prefers-reduced-motion:reduce){.calculator-section *,#summary *{transition:none!important}}

/* Exotikos · revisión visual coherente. */
.home-page .hero{padding:0;gap:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1.12fr}
.home-page .hero-art{border-radius:0;box-shadow:none}
.home-page .hero-copy{padding:65px 11% 50px 12.5%}
.home-page .hero-copy h1{color:var(--charcoal);font-weight:500}
.home-page .home-services{padding-top:70px;padding-bottom:70px}
.home-page .services,.service-directory .services{border:0;gap:20px;overflow:visible;align-items:stretch}
.home-page .services article,.home-page .services article+article,.home-page .services article:last-child,
.service-directory .services article,.service-directory .services article+article,.service-directory .services article:last-child{border:1px solid #dce3df;padding:30px;background:#fffefa;border-radius:6px;display:flex;flex-direction:column}
.home-page .services article:nth-child(3),.service-directory .services article:nth-child(3){background:#edf3f2;border-color:#cbdedb}
.home-page .services h3,.service-directory .services h3{font-size:22px;line-height:1.3;margin:28px 0 16px}
.home-page .services p,.service-directory .services p{min-height:0;flex:1;margin:0 0 25px}
.home-page .services .text-link,.service-directory .services .text-link{border-top:1px solid #d6e0df;padding-top:18px;display:block}
.home-complement{margin:0 7% 55px;padding:38px 4%;border:0;border-radius:6px;background:#e9efec;grid-template-columns:1fr 1.6fr 1fr;gap:28px}
.home-complement .eyebrow{line-height:1.9}
.home-complement h2{font-size:27px;line-height:1.35;font-weight:400}
.home-complement>a{line-height:1.8}
.page-cta{background:#e9efec;border-top:0}
.page-cta h2{line-height:1.35}
footer{display:grid;grid-template-columns:170px 1fr 1fr;gap:24px 45px;padding:30px 7% 24px;align-items:center}
footer .legal-links{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;justify-content:flex-end;gap:20px;color:#566e77;line-height:1.7}
footer .footer-links>a{line-height:1.7}
@media(max-width:1100px){.home-page .hero-copy{padding:45px 10%}.home-complement{grid-template-columns:1fr 1.5fr}.home-complement>a{grid-column:2;justify-self:start}.home-page .services article,.home-page .services article+article,.home-page .services article:last-child,.service-directory .services article,.service-directory .services article+article,.service-directory .services article:last-child{padding:24px}}
@media(max-width:800px) and (min-width:651px){.home-page .services,.service-directory .services{grid-template-columns:1fr}.home-page .services h3,.service-directory .services h3{margin-top:18px}}
@media(max-width:650px){.home-page .hero{grid-template-columns:1fr}.home-page .hero-copy{padding:40px 7% 30px}.home-page .hero-art{margin:0;border-radius:0}.home-page .home-services{padding-top:46px;padding-bottom:40px}.home-page .services,.service-directory .services{gap:14px}.home-page .services article,.home-page .services article+article,.home-page .services article:last-child,.service-directory .services article,.service-directory .services article+article,.service-directory .services article:last-child{padding:25px;border:1px solid #dce3df}.home-page .services h3,.service-directory .services h3{margin-top:18px}.home-complement{display:block;margin:0 6% 40px;padding:28px 25px}.home-complement h2{font-size:26px;margin:18px 0 22px}footer{grid-template-columns:115px 1fr;gap:20px;padding:22px 6%}footer .footer-links{grid-column:1/-1}footer .legal-links{justify-content:flex-start;gap:12px 18px;padding-top:18px}}

/* Revisión global: crédito legible y bloques sin numeración decorativa. */
footer .developer-credit{grid-column:1/-1;text-align:center;font-size:13px;line-height:1.8;color:#52656d;padding:16px 0 0;border-top:1px solid var(--line)}
footer .developer-credit a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
footer .legal-links{padding-bottom:0;justify-content:flex-start;border-top:0;padding-top:0}
.process article h3{margin-top:0;line-height:1.4}
.process>div{padding-top:28px}
.holiday-list>div{gap:0}
.form-title{gap:0}
.home-page .services h3,.service-directory .services h3{margin-top:0}
@media(max-width:650px){footer .developer-credit{text-align:left;font-size:13px;padding-top:16px}.process>div{padding-top:0}.process article h3{margin-top:0}}
footer .developer-credit{font-size:14px}
footer .footer-links{font-size:12px}
footer .legal-links{font-size:12px}
.legal-content{padding-top:35px}
@media(max-width:650px){footer .developer-credit{font-size:14px}.legal-content{padding-top:25px}}

/* Portada sin control visual; conserva movimiento reducido y pausa al ocultar la pestaña. */
.realistic-scene .motion-toggle{display:none!important}
