﻿/* Contacto: composición comercial independiente del panel administrativo. */
html > body.contact-panel{margin:0;background:#f7f7fb;color:#24233e;font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.6;--border:#e4e4ef;--muted:#72738b;--bg-soft:#f8f8fc;}
.contact-panel header.nav{position:sticky;top:0;border-radius:0;background:#fff;border-bottom:1px solid #e4e4ef;box-shadow:none;}
.contact-panel header.nav .nav-inner{max-width:1280px;min-height:88px;padding:16px 32px;}
.contact-panel main{max-width:1280px;margin:auto;padding:48px 32px 64px;}
.contact-panel .hero-bg,.contact-panel #canales::before{display:none;}
.contact-panel .hero-wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;max-width:none;padding:32px 0 56px;}
.contact-panel .contact-eyebrow,.contact-panel .contact-kicker{display:block;padding:0;border:0;background:none;box-shadow:none;border-radius:0;font-size:11px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:#3d3789;}
.contact-panel .hero-title{margin:20px 0 24px;font-size:clamp(38px,4.7vw,64px);line-height:1.08;letter-spacing:-.045em;font-weight:750;color:#24233e;}
.contact-panel .hero-title-accent{color:#3d3789;}
.contact-panel .hero-wrap p{font-size:16px;line-height:1.8;color:#72738b;max-width:490px;}
.contact-panel .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.contact-panel .btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 19px;border-radius:10px;font:inherit;font-size:13px;font-weight:650;text-decoration:none;}
.contact-panel .btn-primary{background:#ef7d00;border-color:#ef7d00;color:#fff;box-shadow:0 6px 16px #ef7d001a;}
.contact-panel .btn-primary:hover{background:#cb6900;border-color:#cb6900;}
.contact-panel .btn-ghost{background:#fff;color:#3d3789;border-color:#dfdeea;}
.contact-panel .btn-ghost:hover{background:#efedf8;border-color:#b8b2ed;}
.contact-panel .hero-services{display:flex;flex-wrap:wrap;gap:8px 20px;padding:22px 0 0;margin-top:26px;border-top:1px solid #e4e4ef;font-size:12px;color:#72738b;}
.contact-panel .contact-concierge{position:relative;overflow:hidden;isolation:isolate;border-radius:24px;padding:36px;background:linear-gradient(135deg,#29254f,#46408c);color:#fff;box-shadow:0 20px 48px #29254f18;}
.contact-panel .contact-concierge::before{content:'';position:absolute;z-index:-1;width:260px;height:260px;border:1px solid #ffffff12;border-radius:50%;right:-130px;top:-80px;box-shadow:0 0 0 40px #ffffff04,0 0 0 80px #ffffff03;}
.contact-panel .concierge-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:25px;border-bottom:1px solid #ffffff22;}
.contact-panel .concierge-top strong{letter-spacing:.09em;font-size:13px;}
.contact-panel .concierge-top span{font-size:11px;color:#d0cae9;}
.contact-panel .contact-concierge h2{font-size:28px;letter-spacing:-.025em;line-height:1.25;margin:28px 0 12px;max-width:320px;color:#fff;}
.contact-panel .contact-concierge p{color:#d8d3ec;font-size:14px;margin:0;}
.contact-panel .concierge-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;color:#fff;text-decoration:none;border-bottom:1px solid #ffffff22;font-size:14px;}
.contact-panel .concierge-link small{display:block;font-size:11px;color:#c8c1e1;}
.contact-panel .concierge-link:hover{color:#ffbb72;}
.contact-panel .concierge-foot{display:block;margin-top:22px;font-size:11px;color:#c8c1e1;}
.contact-panel #canales{max-width:none;padding:38px 0 48px;border-top:1px solid #e4e4ef;}
.contact-panel .contact-section-head{max-width:none;text-align:left;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;column-gap:56px;align-items:end;}
.contact-panel .contact-kicker{grid-column:1/-1;margin-bottom:12px;}
.contact-panel .contact-title{font-size:30px;line-height:1.2;letter-spacing:-.025em;color:#24233e;margin:0;max-width:380px;}
.contact-panel .contact-subtitle{margin:0;font-size:14px;line-height:1.8;color:#72738b;}
.contact-panel .contact-grid{gap:18px;grid-template-columns:repeat(6,minmax(0,1fr));}
.contact-panel .contact-card{grid-column:span 2;display:flex;flex-direction:column;min-width:0;padding:26px;background:#fff;border:1px solid #e4e4ef;border-radius:18px;box-shadow:0 4px 16px #29254f03;backdrop-filter:none;transition:border-color .18s,box-shadow .18s;}
.contact-panel .contact-card:hover{border-color:#c6c1df;box-shadow:0 10px 28px #29254f09;}
.contact-panel .contact-card-wide{grid-column:span 3;}
.contact-panel .contact-card::before{display:none;}
.contact-panel .contact-card-featured{border-top:3px solid #ef7d00;}
.contact-panel .contact-card-top{gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.contact-panel .contact-icon-wrap{width:44px;height:44px;border:0;border-radius:12px;background:#efedf8;color:#3d3789;}
.contact-panel .contact-badge{font-size:10px;font-weight:650;background:#f5f4fa;color:#625c82;padding:5px 9px;white-space:normal;}
.contact-panel .contact-card-featured .contact-badge{background:#fff3e5;color:#995000;}
.contact-panel .contact-card-title{font-size:18px;font-weight:650;color:#24233e;}
.contact-panel .contact-card-text,.contact-panel .contact-mini{font-size:13px;color:#72738b;line-height:1.75;}
.contact-panel .contact-main-value{font-size:24px;font-weight:650;color:#3d3789;letter-spacing:-.02em;overflow-wrap:anywhere;}
.contact-panel .contact-main-value-sm{font-size:16px;}
.contact-panel .contact-actions{margin-top:auto;padding-top:24px;gap:10px;}
.contact-panel .contact-social-pill{border-radius:10px;font-size:13px;background:#f8f8fc;border-color:#e4e4ef;}
.contact-panel #contacto{max-width:none;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start;padding:38px;background:#fff;border:1px solid #e4e4ef;border-radius:22px;scroll-margin-top:110px;}
.contact-panel .contact-form-intro h2{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:16px 0;color:#24233e;}
.contact-panel .contact-form-intro p{font-size:14px;line-height:1.8;color:#72738b;}
.contact-panel .contact-form-note{padding:18px 0;margin-top:24px;border-top:1px solid #e4e4ef;}
.contact-panel #contacto-form{padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;min-width:0;}
.contact-panel #contacto > .flash-box{grid-column:1/-1;}
.contact-panel .form-control{min-height:46px;border-radius:10px;background:#f8f8fc;border:1px solid #e4e4ef;color:#24233e;font:inherit;font-size:14px;}
.contact-panel select.form-control{appearance:auto;}
.contact-panel textarea.form-control{resize:vertical;}
.contact-panel .label-headline{display:block;color:#3d3789;font-size:12px;font-weight:650;margin-bottom:7px;}
.contact-panel #btn-enviar-contacto{background:#3d3789;border-color:#3d3789;min-width:180px;box-shadow:none;}
.contact-panel :is(a,button,input,select,textarea):focus-visible{outline:3px solid #ef7d00;outline-offset:3px;}
.contact-panel .footer{background:#fff;border-top:1px solid #e4e4ef;padding:28px 32px;}
@media(max-width:1000px){.contact-panel .hero-wrap{gap:32px;}.contact-panel .contact-concierge{padding:26px;}.contact-panel .contact-card{grid-column:span 3;}.contact-panel .contact-card:last-child{grid-column:span 6;}.contact-panel #contacto{gap:28px;grid-template-columns:1fr 1.4fr;padding:28px;}}
@media(max-width:760px){.contact-panel main{padding:24px 20px 36px;}.contact-panel .hero-wrap{grid-template-columns:1fr;padding:16px 0 32px;gap:28px;}.contact-panel .hero-title{max-width:540px;}.contact-panel .contact-section-head{grid-template-columns:1fr;gap:14px;}.contact-panel .contact-kicker{margin-bottom:0;}.contact-panel #contacto{grid-template-columns:1fr;gap:22px;}.contact-panel .contact-form-note{margin-top:12px;}.contact-panel .contact-title{font-size:27px;}}
@media(max-width:540px){.contact-panel .contact-grid{grid-template-columns:1fr;}.contact-panel .contact-card,.contact-panel .contact-card:last-child{grid-column:auto;}.contact-panel #contacto{padding:24px 20px;}.contact-panel .hero-actions .btn{flex:1 1 auto;}.contact-panel .contact-concierge{padding:26px;}.contact-panel .footer{padding:24px 16px;}}
@media(prefers-reduced-motion:reduce){.contact-panel .contact-card{transition:none;}}

/* Fondo independiente del contenido: cambios suaves ligados al recorrido. */
html > body.contact-panel{position:relative;isolation:isolate;}
.contact-scroll-background{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 5% 15%,#3d37895c,transparent 68%),linear-gradient(135deg,#eeebfa,#f7f7fb);}
.contact-panel main,.contact-panel>.footer{position:relative;z-index:1;}
.contact-scroll-background span{position:absolute;inset:-8%;display:block;width:116%;height:116%;}
.contact-scroll-background .contact-gradient-purple{background:radial-gradient(ellipse at 5% 15%,#3d37895c,transparent 68%),radial-gradient(ellipse at 95% 80%,#3d378938,transparent 65%),linear-gradient(135deg,#eeebfa,#f7f7fb);}
.contact-scroll-background .contact-gradient-blue{background:radial-gradient(ellipse at 95% 20%,#3c53f15c,transparent 68%),radial-gradient(ellipse at 5% 80%,#3c53f138,transparent 65%),linear-gradient(135deg,#edf1ff,#f7f7fb);opacity:0;}
.contact-scroll-background .contact-gradient-orange{background:radial-gradient(ellipse at 8% 85%,#ef7d005c,transparent 68%),radial-gradient(ellipse at 95% 15%,#ef7d0038,transparent 65%),linear-gradient(135deg,#fff3e7,#f7f7fb);opacity:0;}
.contact-scroll-background::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,#ffffff38,transparent 80%);}
@media(prefers-reduced-motion:reduce){.contact-scroll-background .contact-gradient-blue{opacity:.2;}.contact-scroll-background .contact-gradient-orange{opacity:.15;}}
@media print{.contact-scroll-background{display:none;}}
.contact-panel main{background:transparent;}
