/* Midnight studio: a single visual identity across engineering and software. */
:root{color-scheme:dark;--ink:#f2f2ff;--muted:#b1bbd1;--paper:#121629;--line:#8596cc30;--green:#92dcf4;--red:#b99afa;--red-dark:#9569e0;--navy:#090d1d;--cyan:#8ae9fb}
body{background:#090d1d;color:var(--ink)}
::selection{background:#9ee9ff;color:#091022}
:focus-visible{outline-color:#8ae9fb}
header,body.has-scrolled header{background:#0b1023ee;border-color:#b195ff28;box-shadow:0 8px 32px #0002}
.brand-logo{position:relative;width:360px;height:72px;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.brand-logo img{position:absolute;width:390px;height:auto;max-width:none;left:-15px;top:-30px;object-fit:unset;filter:brightness(0) saturate(100%) invert(91%) sepia(17%) saturate(815%) hue-rotate(156deg) brightness(103%) contrast(98%)}
.brand:hover .brand-logo img{filter:brightness(0) invert(1)}
@media(max-width:1100px){.brand-logo{width:250px;height:64px}.brand-logo img{width:275px;left:-12px;top:-21px}}
@media(max-width:850px){.brand-logo{width:210px;height:68px;overflow:visible}.brand-logo img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}}
.nav a{color:#c4cde1}.nav a:hover,.nav a[aria-current]{color:#97ebff}
.nav .nav-cta{background:linear-gradient(115deg,#6941cb,#345fbe);border:1px solid #b296f56b;border-radius:30px;color:#fff}
.nav .nav-cta:hover{background:#714cd0}
.button,.modern-hero .button{background:linear-gradient(115deg,#7146d5,#355fc8);border-color:#b79aff70;color:#fff;border-radius:30px;box-shadow:0 8px 28px #6d46cc24}
.button:hover,.modern-hero .button:hover{background:linear-gradient(115deg,#8355e5,#4073db);box-shadow:0 8px 32px #9b70ff45}
.button.secondary{background:#1b2240;color:#e4e9ff}.button.secondary:hover{background:#2c3151}
.menu-toggle{background:#171e34;color:#e7eaff;border-color:#9e8de050;border-radius:10px}
.skip{background:#1b2240;color:#fff}
.modern-hero{background:radial-gradient(ellipse at 3% 15%,#794bda32,transparent 55%),radial-gradient(ellipse at 80% 90%,#24add523,transparent 55%),#090d1d;padding-top:80px}
.modern-hero:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#a7b9ff06 1px,transparent 1px),linear-gradient(90deg,#a7b9ff06 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(#000,transparent)}
.hero-layout{position:relative}.modern-hero .eyebrow{color:#b8a2ed}
.modern-hero h1 em{background:linear-gradient(100deg,#b79bff,#efa5df 50%,#83e6ff);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-visual{border-radius:32px;border:1px solid #b49aef65;box-shadow:0 0 65px #8460ef20,0 28px 65px #0004}
.hero-visual:after{background:linear-gradient(180deg,#8154cc18,#12112f15 35%,#090e27ed)}
.visual-index{border-radius:20px;background:#12162a9c}.hero-actions .text-link{color:#d6d4f1}
.intro-strip{background:linear-gradient(90deg,#19172f,#101f30);border-block:1px solid #a193ff24}
.intro-inner strong{color:#ddd5f7}.disciplines{color:#aebdd7}
#servicios{background:radial-gradient(ellipse at 100% 45%,#6436b919,transparent 60%),#0e1223}
.eyebrow{color:#a8a8ff}.service-explorer{background:linear-gradient(125deg,#141b30,#1a1731);border-radius:24px;box-shadow:0 20px 60px #0002}
.service-tabs{background:#0c1223;padding:16px;gap:5px}.service-tab{border-radius:12px;color:#b9c5db}
.service-tab:hover{background:#28213e;color:#fff}
.service-tab[aria-selected=true]{background:linear-gradient(110deg,#6942b96b,#33658740);box-shadow:inset 3px 0 #ba9cff;color:#fff}
.service-panel .service-icon{background:linear-gradient(130deg,#a574ff24,#56ddff16);color:#9fe8ff;border-color:#b597f44d;border-radius:18px;box-shadow:0 0 26px #9063ee16}
.service-panel li{background:#ffffff05;border-color:#b29bff30;color:#c1c5dd;border-radius:20px}
.service-tail .text-link{color:#c5acff}
#empresa{background:radial-gradient(ellipse at 5% 50%,#2b9db41c,transparent 55%),#0e1425}
.company-photo{border-radius:26px;border:1px solid #8bcad44a;box-shadow:0 20px 55px #0003}
.company-vision{border-color:#b794ff;background:linear-gradient(90deg,#a77bff0b,transparent);padding-block:14px}
.company-values{gap:10px;color:#b9e8f5}.company-values span{border:1px solid #81c9ed30;border-radius:24px;padding:6px 12px;background:#a1d7ff06}
.brochure-link{color:#c6a7ff}
.approach{background:radial-gradient(ellipse at 80% 50%,#8057df20,transparent 60%),#0b0e1e;border-block:1px solid #a18ae826}
.steps li{border-color:#a08bc331;border-radius:12px}.steps li.step-current{background:linear-gradient(110deg,#9466ed17,#76ddf905);border-color:#b194e76b;box-shadow:inset 3px 0 #b89bff}
.steps li.step-current .number{color:#d8c7ff}.journey-progress{background:#262442}.journey-progress:before{background:linear-gradient(90deg,#ad86ff,#7ee7ff)}
#contacto{background:radial-gradient(ellipse at 100% 10%,#9061e220,transparent 55%),#101527}
.contact-whatsapp{background:#7addf806;border:1px solid #7dd7f82e;border-radius:18px;padding:20px;color:#9fe8f5;transition:background .25s,border-color .25s}.contact-whatsapp:hover{background:#7addf80e;border-color:#8acde8}
.form-shell{background:linear-gradient(145deg,#1c2036,#131c30);border-color:#ad95df40;border-radius:24px;box-shadow:0 20px 50px #0002}
input,select,textarea{background:#0d1427;color:#eef0ff;border-color:#8295bf50;border-radius:10px}input::placeholder,textarea::placeholder{color:#94a3be}
input:focus,select:focus,textarea:focus{border-color:#b996ff;box-shadow:0 0 0 4px #ad82ff16}
.faq summary{color:#deddf3}.faq details[open] summary{color:#a9e4f5}
footer{background:#080c18;border-top:1px solid #ac92e629}.footer-brand{color:#c0bcf9}
.reading-progress{background:linear-gradient(90deg,#a37bff,#f391db,#68e4ff)}
.floating-whatsapp{background:#165369;border:1px solid #8de9ee88;box-shadow:0 0 24px #66dbf42b}
dialog{--neon:#c4a4ff;background:#13192c;border-color:#9f84db65;color:#f2f0ff;box-shadow:0 25px 90px #0009}
.dialog-header{background:#171c31}.dialog-close{background:#242641;color:#eee7ff;border-color:#a48acf50}.dialog-close:hover{background:#42305f}
.dialog-body .saving{color:#d4bcff;background:#a67bff18}.dialog-body .price-row strong{color:#fff}
@media(max-width:850px){.nav{background:#101629;border-bottom:1px solid #aa8fec40}.modern-hero{padding-top:40px}}
@media(max-width:650px){.hero-visual{border-radius:22px}.service-explorer{border-radius:18px}.service-tabs{padding:10px}.form-shell{border-radius:18px}.company-photo{border-radius:22px}}
@media print{body,.form-shell,.request-summary{background:white;color:#111}input,select,textarea{color:#111;background:white}}
