/* Contacto: canales visibles, fotografías completas y una sola solicitud. */
.contact-page { background:#09080d; }
.ct-header { position:relative; min-height:108px; }
.ct-header .mobile-menu { position:fixed; }
.ct-main { overflow:hidden; }
.ct-hero { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr); align-items:center; gap:clamp(48px,6vw,100px); padding:clamp(28px,5vh,72px) var(--pad) 24px; min-height:calc(100svh - 108px); }
.ct-hero::before { content:""; position:absolute; z-index:-1; width:min(84vw,1180px); aspect-ratio:1; right:-28%; top:-34%; background:radial-gradient(ellipse,var(--amber),var(--orange) 12%,var(--pink) 24%,var(--violet) 43%,var(--blue) 57%,transparent 69%); opacity:.22; filter:blur(75px); pointer-events:none; }
.ct-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 24px; font:600 10px/1.5 var(--font-body); letter-spacing:.16em; text-transform:uppercase; }
.ct-signal { width:7px; height:7px; flex:none; border-radius:50%; background:var(--amber); box-shadow:0 0 15px rgba(255,174,0,.55); }
.ct-hero h1 { margin:0; font:900 clamp(34px,3.55vw,67px)/1.12 var(--font-title); letter-spacing:-.025em; text-transform:uppercase; }
.ct-hero h1 em { font-style:normal; color:transparent; background:linear-gradient(100deg,#837aff 5%,#bd72ff 32%,#ff7bba 65%,#ffc56b); background-clip:text; -webkit-background-clip:text; }
.ct-intro { max-width:530px; margin:24px 0; color:rgba(255,246,224,.76); font:400 clamp(14px,1.12vw,18px)/1.75 var(--font-body); }
.ct-direct { display:flex; flex-wrap:wrap; align-items:flex-start; gap:20px; margin-top:28px; }
.ct-channel-group { min-width:0; max-width:100%; }
.ct-channel-group>p { margin:0 0 10px; color:rgba(255,246,224,.66); font:500 10px/1.5 var(--font-body); }
.ct-direct .ct-channel { justify-content:center; min-height:45px; padding:11px 16px; text-align:center; font-size:clamp(12px,.95vw,15px); }
.ct-form-link { display:inline-flex; align-items:center; gap:25px; padding:13px 0; margin-top:18px; font:500 11px/1.5 var(--font-body); border-bottom:1px solid rgba(255,246,224,.25); }
.ct-form-link span { font-size:20px; color:var(--amber); }
.ct-hero-figure { position:relative; margin:0 0 0 auto; width:100%; max-width:590px; }
.ct-photo-wrap { position:relative; }
.ct-photo-wrap img { display:block; width:100%; height:auto; border-radius:2px; }
.ct-photo-outline { position:absolute; inset:-11px; border:1px solid rgba(255,246,224,.15); pointer-events:none; }
.ct-photo-outline::before,.ct-photo-outline::after { content:""; position:absolute; width:36px; height:36px; border:2px solid var(--amber); }
.ct-photo-outline::before { top:-1px; left:-1px; border-right:0; border-bottom:0; }
.ct-photo-outline::after { bottom:-1px; right:-1px; border-left:0; border-top:0; border-color:var(--pink); }
.ct-hero-figure figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:28px; font:400 9px/1.6 var(--font-body); letter-spacing:.065em; text-transform:uppercase; color:rgba(255,246,224,.6); }
.ct-hero-baseline { grid-column:1/-1; display:flex; align-items:center; gap:28px; padding-top:24px; margin-top:12px; font:500 9px/1.5 var(--font-body); letter-spacing:.12em; text-transform:uppercase; color:rgba(255,246,224,.58); }
.ct-heat-line { position:relative; flex:1; height:1px; background:linear-gradient(90deg,var(--blue),var(--violet),var(--pink),var(--orange),var(--amber)); }
.ct-heat-line::after { content:""; position:absolute; top:-2px; left:0; width:16px; height:5px; background:var(--cream); box-shadow:0 0 12px var(--orange); animation:ct-signal-travel 7s ease-in-out infinite; animation-play-state:var(--contact-motion-state,running); }
.ct-request { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(48px,9vw,150px); margin-top:0; padding:clamp(50px,7vw,112px) var(--pad); border-top:1px solid rgba(255,246,224,.14); background:linear-gradient(140deg,#110b20,#09080d 48%); scroll-margin-top:28px; }
.ct-request h2,.ct-location h2 { margin:0 0 28px; font:900 clamp(30px,3vw,53px)/1.15 var(--font-title); text-transform:uppercase; letter-spacing:-.02em; }
.ct-request-intro>p:not(.ct-eyebrow) { max-width:440px; color:rgba(255,246,224,.69); font:400 14px/1.85 var(--font-body); }
.ct-detail-photo { margin:32px 0 20px; max-width:440px; }
.ct-detail-photo img { display:block; width:100%; height:auto; }
.ct-call { display:flex; flex-wrap:wrap; gap:8px 15px; font-size:11px; line-height:1.8; color:rgba(255,246,224,.6); }
.ct-call span { color:var(--cream); border-bottom:1px solid rgba(255,246,224,.3); }
.ct-form-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:0 0 25px; border-bottom:1px solid rgba(255,246,224,.22); }
.ct-form-heading h3 { margin:0; font:900 clamp(14px,1.25vw,21px)/1.5 var(--font-title); letter-spacing:-.02em; text-transform:uppercase; }
.ct-form-intro { max-width:42ch; margin:10px 0 0; color:rgba(255,246,224,.74); font:400 13px/1.7 var(--font-body); }
.ct-form-heading>span { font-size:9px; line-height:1.6; color:rgba(255,246,224,.55); }
.ct-form { display:grid; gap:27px; margin-top:29px; }
.ct-form-row { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.ct-form label { display:block; min-width:0; font:500 11px/1.5 var(--font-body); }
.ct-form :is(input:not([type=hidden]),select,textarea) { display:block; width:100%; min-width:0; margin:9px 0 0; padding:13px 0; border:0; border-bottom:1px solid rgba(255,246,224,.24); border-radius:0; color:var(--cream); background:transparent; font:400 14px/1.6 var(--font-body); outline-offset:6px; transition:border-color .2s; }
.ct-form :is(input,textarea)::placeholder { color:rgba(255,246,224,.37); }
.ct-form :is(input,select,textarea):focus { border-bottom-color:var(--amber); outline:1px solid rgba(255,174,0,.5); }
.ct-form select { color-scheme:dark; cursor:pointer; }
.ct-form select option { background:#171220; color:var(--cream); }
.ct-form textarea { resize:vertical; min-height:145px; }
.ct-form-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ct-form-bottom p { max-width:235px; margin:0; color:rgba(255,246,224,.5); font-size:10px; line-height:1.8; }
.ct-form-bottom .ct-submit { min-height:52px; padding:14px 21px; font:600 12px/1.5 var(--font-body); cursor:pointer; }
.ct-submit span { margin-left:18px; color:var(--amber); font-size:22px; }
.ct-form-alternative { margin:24px 0 0; font-size:10px; line-height:1.8; color:rgba(255,246,224,.52); }
.ct-form-alternative a { color:var(--cream); text-decoration:underline; text-underline-offset:5px; }
.ct-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ct-form-status { margin-top:24px; padding:18px 20px; border-left:2px solid var(--amber); background:rgba(255,174,0,.07); font-size:13px; line-height:1.75; }
.ct-form-status--sent { border-color:#a3dcaa; background:rgba(97,167,110,.1); }
.ct-location { display:grid; grid-template-columns:.75fr 1.25fr; gap:60px; align-items:center; padding:50px var(--pad) 90px; }
.ct-location iframe { width:100%; height:420px; border:0; border-radius:3px; }
.ct-talent { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:46px var(--pad); border-block:1px solid rgba(255,246,224,.16); background:linear-gradient(100deg,rgba(106,0,255,.1),transparent); }
.ct-talent .ct-eyebrow { margin-bottom:12px; color:rgba(255,246,224,.6); }
.ct-talent h2 { margin:0; font:900 clamp(16px,1.5vw,24px)/1.5 var(--font-title); letter-spacing:-.02em; text-transform:uppercase; }
.ct-talent p:not(.ct-eyebrow) { margin:8px 0 0; font-size:12px; line-height:1.75; color:rgba(255,246,224,.58); }
.ct-talent .contact-cta { font-size:12px; padding:15px 20px; }
.ct-talent .contact-cta>span { margin-left:14px; color:var(--amber); }
.ct-main a:focus-visible { outline:2px solid var(--cream); outline-offset:6px; }
@keyframes ct-signal-travel { 0%,12% {left:0;opacity:0} 18%{opacity:1} 75%{opacity:1} 90%,100%{left:calc(100% - 16px);opacity:0} }
@media (min-width:1100px) and (max-height:780px) { .ct-hero { padding-top:20px; gap:20px 6vw; } .ct-hero h1 {font-size:clamp(34px,3.25vw,59px)} .ct-eyebrow{margin-bottom:17px} .ct-intro{margin:18px 0;font-size:13px} .ct-hero-baseline{margin-top:0;padding-top:16px} }
@media (min-width:821px) and (max-width:1100px) { .ct-hero {grid-template-columns:1.15fr .85fr;gap:35px} .ct-hero h1{font-size:clamp(31px,3.8vw,44px)} .ct-direct{gap:15px} .ct-hero-baseline{gap:20px;font-size:8px} .ct-request{gap:50px} }
@media (max-width:820px) { .ct-header{min-height:86px} .ct-hero{grid-template-columns:1fr;min-height:auto;padding-top:30px;gap:40px} .ct-hero h1{font-size:clamp(31px,6.6vw,51px)} .ct-intro{max-width:580px;font-size:14px} .ct-direct{display:flex} .ct-hero-figure{max-width:520px;margin-inline:auto} .ct-hero-baseline{grid-column:auto;gap:16px;padding-top:12px} .ct-hero-baseline>span:last-child{display:none} .ct-request{grid-template-columns:1fr;gap:42px;margin-top:0;padding-top:50px} .ct-request-intro>p:not(.ct-eyebrow){max-width:600px} .ct-detail-photo{max-width:460px;margin-top:25px} .ct-request h2 br{display:none} .ct-request h2{font-size:32px} .ct-location{grid-template-columns:1fr;gap:20px} .ct-talent{align-items:flex-start;flex-direction:column;gap:22px} }
@media (max-width:480px) { .ct-direct{display:grid;grid-template-columns:1fr;gap:19px} .ct-direct .ct-channel{min-height:44px;font-size:13px} .ct-hero h1{font-size:clamp(28px,7.6vw,37px)} .ct-hero-figure figcaption{font-size:8px;gap:15px} .ct-photo-outline{inset:-7px} .ct-form-row{grid-template-columns:1fr;gap:27px} .ct-form-heading{align-items:flex-start;flex-direction:column;gap:8px} .ct-form-bottom{align-items:flex-start;flex-direction:column;gap:20px} .ct-form-bottom .ct-submit{width:100%;justify-content:space-between} .ct-form-bottom p{max-width:none} .ct-request h2{font-size:28px} .ct-talent .contact-cta{max-width:100%;font-size:11px;padding:13px} }
@media (prefers-reduced-motion:reduce) { .ct-heat-line::after{animation:none;display:none} .ct-form :is(input,select,textarea){transition:none} }
