/* BASA v5 Premium — Orano Dark */
:root{--r:#CC1F1A;--dk:#080808;--dk2:#111;--dk3:#181818;--brd:rgba(255,255,255,.09);--txt:rgba(255,255,255,.5);--w:#fff;--ease:cubic-bezier(.76,0,.24,1);--ease2:cubic-bezier(.23,1,.32,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{background:var(--dk);scroll-behavior:auto}
body{font-family:'Inter',sans-serif;background:var(--dk);color:var(--w);overflow-x:hidden;cursor:none}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ── CURSOR ── */
#cur-dot,#cur-ring{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
#cur-dot{width:6px;height:6px;background:var(--r);transition:width .3s,height .3s,opacity .3s}
#cur-ring{width:34px;height:34px;border:1px solid rgba(204,31,26,.5);transition:width .4s var(--ease),height .4s var(--ease),border-color .3s}
body.hov #cur-dot{opacity:0}
body.hov #cur-ring{width:54px;height:54px;border-color:rgba(204,31,26,.8)}

/* ── LOADER ── */
#loader{position:fixed;inset:0;z-index:8000;background:var(--dk);display:flex;align-items:center;justify-content:center;transition:opacity .8s var(--ease),visibility .8s}
#loader.out{opacity:0;visibility:hidden}
#lc{position:absolute;inset:0;width:100%;height:100%}
.ld-content{position:relative;z-index:2;text-align:center}
.ld-logo{display:block;font-family:'Barlow Condensed',sans-serif;font-size:5.5rem;font-weight:900;letter-spacing:.12em;line-height:1}
.ld-sub{display:block;font-size:.65rem;letter-spacing:.35em;color:var(--txt);margin-bottom:28px}
.ld-bar{width:180px;height:1px;background:rgba(255,255,255,.08);margin:0 auto;overflow:hidden}
#ld-fill{height:100%;width:0;background:var(--r);transition:width .05s linear}

/* ── HUD ── */
#hud{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:28px 40px;transition:all .5s var(--ease)}
#hud.solid{background:rgba(8,8,8,.92);backdrop-filter:blur(24px);padding:16px 40px;border-bottom:1px solid var(--brd)}
.hud-logo{display:flex;align-items:baseline;gap:4px}
.lr{font-family:'Barlow Condensed',sans-serif;font-size:1.65rem;font-weight:900;color:var(--r);letter-spacing:.06em}
.ls{font-size:.58rem;letter-spacing:.2em;color:rgba(255,255,255,.28);text-transform:uppercase}
.logo-shield { height: 120px; width: auto; object-fit: contain; margin: -20px 0; }
.logo-text { height: 120px; width: auto; object-fit: contain; transform: translateY(1px); margin: -40px 0; }
.ld-content .logo-shield, .ld-content .logo-text { margin: 0; transform: none; }
.light-only { display: none; }
.dark-only { display: block; }
[data-theme="light"] .light-only { display: block; }
[data-theme="light"] .dark-only { display: none; }
[data-theme="light"] .cto-bg-word { color: rgba(0,0,0,0.03); }
.hud-tag{font-size:.6rem;letter-spacing:.18em;color:rgba(255,255,255,.25);text-transform:uppercase;opacity:0;transition:opacity .4s}
#hud.solid .hud-tag{opacity:1}
.hud-r{display:flex;align-items:center;gap:16px}
.hud-btn{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:none;color:var(--w)}
.mbl{font-size:.62rem;letter-spacing:.2em;color:rgba(255,255,255,.45);text-transform:uppercase}
#burger{display:flex;flex-direction:column;gap:5px}
#burger i{width:20px;height:1px;background:var(--w);display:block;transition:.35s var(--ease);font-style:normal}
#burger.open i:first-child{transform:rotate(45deg) translate(3px,3px)}
#burger.open i:last-child{transform:rotate(-45deg) translate(3px,-3px)}

/* ── FS MENU ── */
#fsmenu{position:fixed;inset:0;z-index:400;background:var(--dk);transform:translateY(-100%);transition:transform .75s var(--ease);display:flex;align-items:center}
#fsmenu.open{transform:translateY(0)}
.fsm-wrap{max-width:1100px;margin:0 auto;padding:120px 40px 60px;display:grid;grid-template-columns:1fr auto;gap:80px;align-items:end;width:100%}
.fsl{display:flex;align-items:center;justify-content:space-between;font-family:'Barlow Condensed',sans-serif;font-size:clamp(3rem,5.5vw,5rem);font-weight:900;color:rgba(255,255,255,.2);border-top:1px solid var(--brd);padding:10px 0;transition:color .3s,padding .3s;letter-spacing:.05em}
.fsl::before{content:attr(data-n);font-family:'Inter',sans-serif;font-size:.65rem;font-weight:400;color:var(--r);letter-spacing:.15em}
.fsl:last-child{border-bottom:1px solid var(--brd)}
.fsl:hover{color:var(--w);padding-left:12px}
.fsm-info{display:flex;flex-direction:column;gap:20px}
.fsm-info a,.fsm-info span{font-size:.82rem;color:rgba(255,255,255,.3);transition:color .2s}
.fsm-info a:hover{color:var(--w)}
#floating-wx { position: fixed; bottom: 30px; left: 30px; z-index: 900; background: rgba(8,8,8,0.85); backdrop-filter: blur(10px); border: 1px solid var(--brd); padding: 12px 20px; border-radius: 50px; display: flex; align-items: center; gap: 14px; box-shadow: 0 10px 30px rgba(0,0,0,0.5); pointer-events: none; transition: opacity 0.5s; }
.wx-pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--r); box-shadow: 0 0 10px var(--r); animation: pulseWx 2s infinite; }
.wx-pulse.day { background: #FFD700; box-shadow: 0 0 12px #FFD700; }
.wx-pulse.night { background: #88C0D0; box-shadow: 0 0 12px #88C0D0; }
@keyframes pulseWx { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.4); opacity: 0.5; } 100% { transform: scale(1); opacity: 1; } }
.wx-col { display: flex; flex-direction: column; gap: 2px; }
.wx-lbl { font-size: 0.55rem; letter-spacing: 0.2em; color: rgba(255,255,255,0.4); text-transform: uppercase; }
.wx-val { font-family: 'Barlow Condensed', sans-serif; font-size: 1.1rem; font-weight: 700; color: var(--w); letter-spacing: 0.05em; }

/* ── SECTION SYSTEM ── */
.sect{position:relative;overflow:hidden}
/* The section card wrapper — creates the "tab/panel" reveal effect */
.sw{max-width:1280px;margin:0 auto;padding:120px 40px;opacity:0;transform:translateY(50px) scale(.985);transition:opacity .95s var(--ease),transform .95s var(--ease);transform-origin:bottom center;will-change:transform,opacity}
.sw.in{opacity:1;transform:translateY(0) scale(1)}
/* Decorative top rule on each section */
.sect::before{content:'';position:absolute;top:0;left:40px;right:40px;height:1px;background:var(--brd)}

/* ── HERO ── */
.hero-sect{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}
.hero-sect::before{display:none}
.hero-photo{overflow:hidden;position:relative}
.hero-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(25%) brightness(.8);transform:scale(1.08);transition:transform 8s ease}
.hero-photo img.rdy{transform:scale(1.0)}
.hero-grad{position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--dk)),linear-gradient(to top,rgba(8,8,8,.6),transparent 40%)}
.hero-panel{display:flex;flex-direction:column;justify-content:center;padding:140px 60px 80px 44px;border-left:1px solid var(--brd)}
.hero-eye{font-size:.6rem;letter-spacing:.22em;color:rgba(255,255,255,.3);display:flex;align-items:center;gap:14px;margin-bottom:36px;text-transform:uppercase}
.eye-line{width:30px;height:1px;background:var(--r);flex-shrink:0}
.hero-h1{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.8rem,4.5vw,5.2rem);font-weight:900;line-height:.93;letter-spacing:.04em;margin-bottom:24px;overflow:hidden}
.hl{display:block;transform:translateY(110%);opacity:0;transition:transform .95s var(--ease),opacity .6s ease}
.hl.in{transform:translateY(0);opacity:1}
.red{color:var(--r)}
.hero-p{font-size:.88rem;color:var(--txt);line-height:1.85;max-width:360px;margin-bottom:40px;opacity:0;transform:translateY(16px);transition:opacity .8s .6s ease,transform .8s .6s ease}
.hero-p.in{opacity:1;transform:translateY(0)}
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(255,255,255,.22);font-size:.56rem;letter-spacing:.22em}
.hs-bar{width:1px;height:38px;background:linear-gradient(to bottom,var(--r),transparent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.25;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* CTA BUTTON */
.cta-btn{display:inline-flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.22);padding:15px 28px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-family:'Inter',sans-serif;font-weight:500;color:var(--w);cursor:none;transition:border-color .3s,background .3s,gap .3s;position:relative;overflow:hidden}
.cta-btn::before{content:'';position:absolute;inset:0;background:var(--r);transform:translateX(-100%);transition:transform .4s var(--ease);z-index:0}
.cta-btn:hover{border-color:var(--r);gap:22px}
.cta-btn:hover::before{transform:translateX(0)}
.cta-btn span,.cta-btn svg{position:relative;z-index:1}
.cta-btn.full{width:100%;justify-content:space-between;margin-top:24px}

/* EYEBROW */
.eyebrow{font-size:.6rem;letter-spacing:.24em;color:rgba(255,255,255,.28);text-transform:uppercase;display:block;margin-bottom:18px}

/* ── ADN / CANVAS ── */
#adn{min-height:100vh}
#adn .sw{padding:0;display:grid;grid-template-columns:1fr 1fr;max-width:none;min-height:100vh}
#tc{position:absolute;inset:0;width:100%;height:100%}
.adn-text{position:relative;z-index:2;grid-column:2;display:flex;flex-direction:column;justify-content:center;padding:100px 60px 100px 40px;border-left:1px solid var(--brd);background:linear-gradient(to right,transparent,rgba(8,8,8,.88))}
.adn-text h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.6rem,3.8vw,4.5rem);font-weight:900;line-height:1;letter-spacing:.06em;margin-bottom:22px}
.adn-text h2 em{font-style:normal;color:var(--r)}
.adn-text p{color:var(--txt);font-size:.88rem;line-height:1.85;max-width:380px}

/* ── NOSOTROS ── */
#nosotros .sw{padding-top:110px;padding-bottom:110px}
.nos-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.nos-img{position:relative;overflow:hidden}
.nos-img img{width:100%;height:520px;object-fit:cover;filter:grayscale(45%);transition:filter .6s,transform .6s var(--ease)}
.nos-img:hover img{filter:grayscale(0%);transform:scale(1.03)}
.nos-badge{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;background:rgba(8,8,8,.82);font-size:.58rem;letter-spacing:.2em;color:rgba(255,255,255,.4);border-top:1px solid var(--brd)}
.nos-copy h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,3.2vw,4rem);font-weight:900;line-height:.96;letter-spacing:.05em;margin-bottom:24px}
.nos-copy h2 em{font-style:normal;color:var(--r)}
.nos-copy p{color:var(--txt);font-size:.88rem;line-height:1.85;margin-bottom:14px}
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--brd);margin-top:44px;padding-top:32px;gap:0}
.stat{padding-right:20px;border-right:1px solid var(--brd)}
.stat:last-child{border-right:none}
.sn{font-family:'Barlow Condensed',sans-serif;font-size:2.8rem;font-weight:900;line-height:1}
.su{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:900;color:var(--r)}
.stat em{display:block;font-style:normal;font-size:.58rem;letter-spacing:.15em;color:rgba(255,255,255,.28);margin-top:4px}

/* ── SERVICIOS ── */
.srv-sect{padding-bottom:0}
.srv-sect .sw{padding-bottom:0}
.srv-hd{margin-bottom:56px}
.srv-hd h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,3.5vw,4rem);font-weight:900;letter-spacing:.06em}
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--brd);border-top:1px solid var(--brd)}
.srv-card{position:relative;overflow:hidden;cursor:none;background:var(--dk)}
.srv-bg{position:absolute;inset:0;background-image:var(--bg);background-size:cover;background-position:center;filter:grayscale(80%) brightness(.4);transform:scale(1.08);transition:transform .7s var(--ease),filter .6s}
.srv-card:hover .srv-bg{transform:scale(1);filter:grayscale(20%) brightness(.55)}
.srv-body{position:relative;z-index:2;padding:32px 28px 28px;display:flex;flex-direction:column;gap:10px;min-height:320px;background:linear-gradient(to top,rgba(8,8,8,.95) 0%,rgba(8,8,8,.6) 60%,transparent)}
.srv-icon{width:44px;height:44px;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:border-color .3s}
.srv-icon svg{width:22px;height:22px;stroke:rgba(255,255,255,.5);transition:stroke .3s}
.srv-card:hover .srv-icon{border-color:var(--r)}
.srv-card:hover .srv-icon svg{stroke:var(--w)}
.srv-n{font-size:.62rem;font-weight:600;color:var(--r);letter-spacing:.18em}
.srv-body h3{font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;font-weight:900;letter-spacing:.08em;line-height:1.05}
.srv-body p{font-size:.78rem;color:var(--txt);line-height:1.7;flex:1}
.srv-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.srv-chips span{font-size:.58rem;letter-spacing:.1em;color:rgba(255,255,255,.3);border:1px solid var(--brd);padding:3px 9px;text-transform:uppercase;transition:color .2s,border-color .2s}
.srv-card:hover .srv-chips span{border-color:rgba(204,31,26,.3);color:rgba(255,255,255,.5)}

/* ── PROYECTOS ── */
.proy-hd{margin-bottom:48px}
.proy-hd h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,3.5vw,4rem);font-weight:900;letter-spacing:.06em}
.proy-wrap{overflow:hidden;position:relative}
.proy-track{display:flex;gap:2px;transition:transform .7s var(--ease);will-change:transform}
.proy-card{min-width:calc(50% - 1px);height:500px;background-image:var(--pb);background-size:cover;background-position:center;position:relative;flex-shrink:0;filter:grayscale(45%);transition:filter .5s;cursor:none}
.proy-card:hover{filter:grayscale(0%)}
.pc-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.92) 0%,rgba(8,8,8,.1) 55%,transparent)}
.pc-body{position:absolute;bottom:0;left:0;right:0;padding:32px 36px}
.pc-body span{display:block;font-size:.62rem;letter-spacing:.2em;color:var(--r);margin-bottom:6px}
.pc-body h3{font-family:'Barlow Condensed',sans-serif;font-size:1.7rem;font-weight:900;letter-spacing:.06em;margin-bottom:8px}
.pc-body p{font-size:.8rem;color:var(--txt);line-height:1.65;margin-bottom:12px}
.pc-body em{font-style:normal;font-size:.58rem;letter-spacing:.18em;color:rgba(255,255,255,.3)}
.proy-nav{display:flex;align-items:center;gap:20px;margin-top:28px}
.proy-nav button{width:46px;height:46px;border:1px solid var(--brd);background:transparent;color:var(--w);font-size:1rem;cursor:none;transition:border-color .2s,background .2s}
.proy-nav button:hover{border-color:var(--r);background:rgba(204,31,26,.08)}
#pc{font-size:.68rem;letter-spacing:.15em;color:rgba(255,255,255,.28)}

/* ── PAGE TRANSITIONS & PRELOADER ── */
body { transition: opacity 0.45s ease; }
body.page-transitioning { opacity: 0; }

#preloader { position: fixed; inset: 0; background: #0d0d0d; z-index: 9999; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity 0.8s ease, visibility 0.8s; }
[data-theme="light"] #preloader { background: #f2f0ed; }
#preloader.prel-hidden { opacity: 0; visibility: hidden; }
.prel-logo { font-size: 2.5rem; margin-bottom: 30px; letter-spacing: -0.02em; }
.prel-logo .lr { font-family: 'Barlow Condensed', sans-serif; font-weight: 900; color: var(--r); }
.prel-logo .ls { font-family: 'Inter', sans-serif; font-weight: 300; font-size: 0.35em; color: var(--w); letter-spacing: 0.3em; margin-left: 12px; vertical-align: middle; }
[data-theme="light"] .prel-logo .ls { color: #0d0d0d; }
.prel-bar { width: 140px; height: 2px; background: rgba(255,255,255,0.1); position: relative; overflow: hidden; }
[data-theme="light"] .prel-bar { background: rgba(0,0,0,0.1); }
.prel-prog { position: absolute; left: -100%; top: 0; height: 100%; width: 100%; background: var(--r); animation: prelLoad 1.2s cubic-bezier(0.8, 0, 0.2, 1) forwards; }
@keyframes prelLoad { 0% { left: -100%; } 100% { left: 0; } }

/* ── HERRAMIENTAS ── */
.ht-hd{margin-bottom:56px}
.ht-hd h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.4rem,3.5vw,4rem);font-weight:900;letter-spacing:.06em;margin-bottom:18px}
.ht-hd h2 em{font-style:normal;color:var(--r)}
.ht-hd p{font-size:.88rem;color:var(--txt);line-height:1.8;max-width:460px}
.ht-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--brd);border:1px solid var(--brd)}
.htc{background:var(--dk);padding:32px 28px;transition:background .3s;cursor:none}
.htc:hover{background:var(--dk3)}
.htc.featured{background:rgba(204,31,26,.06)}
.htc.featured:hover{background:rgba(204,31,26,.11)}
.ht-icon{width:40px;height:40px;border:1px solid var(--brd);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:border-color .3s}
.htc:hover .ht-icon{border-color:rgba(255,255,255,.25)}
.ht-icon svg{width:20px;height:20px;stroke:rgba(255,255,255,.35)}
.red-icon{border-color:var(--r)!important}
.red-icon svg{stroke:var(--r)!important}
.htc b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.1em;margin-bottom:8px}
.htc p{font-size:.8rem;color:var(--txt);line-height:1.7}

/* ── CONTACTO ── */
.cto-sect{position:relative;overflow:hidden}
.cto-bg-word{position:absolute;bottom:-10%;left:50%;transform:translateX(-50%);font-family:'Barlow Condensed',sans-serif;font-size:28vw;font-weight:900;color:rgba(255,255,255,.016);pointer-events:none;letter-spacing:.1em;white-space:nowrap}
.cto-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;align-items:start;position:relative;z-index:2}
.cto-l h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(3rem,5vw,5.5rem);font-weight:900;letter-spacing:.04em;line-height:.94;margin-bottom:22px}
.cto-l h2 em{font-style:normal;color:var(--r)}
.cto-l p{color:var(--txt);font-size:.88rem;line-height:1.85;margin-bottom:36px}
.cto-links{border-top:1px solid var(--brd)}
.cto-links a{display:flex;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--brd);font-size:.84rem;color:rgba(255,255,255,.5);transition:color .2s}
.cto-links a:hover{color:var(--w)}
.cto-links span{font-size:.55rem;letter-spacing:.18em;color:rgba(255,255,255,.22);min-width:42px;text-transform:uppercase}
.cto-form{border:1px solid var(--brd);padding:36px}
.fg{border-bottom:1px solid var(--brd);padding:4px 0 0}
.fg:first-child{border-top:1px solid var(--brd)}
.fg label{display:block;font-size:.56rem;letter-spacing:.18em;color:rgba(255,255,255,.25);padding-top:10px;margin-bottom:6px}
.fg input,.fg select,.fg textarea{width:100%;background:transparent;border:none;outline:none;padding:6px 0 10px;color:var(--w);font-family:'Inter',sans-serif;font-size:.88rem;cursor:none;transition:opacity .2s}
.fg select option{background:var(--dk)}
.fg textarea{resize:none}

/* ── FOOTER ── */
footer{border-top:1px solid var(--brd);padding:56px 0 0}
.ft-wrap{max-width:1280px;margin:0 auto;padding:0 40px 48px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;border-bottom:1px solid var(--brd)}
.ft-logo .lr{font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:900;color:var(--r)}
.ft-logo .ls{font-size:.55rem;letter-spacing:.18em;color:rgba(255,255,255,.25);text-transform:uppercase;margin-left:3px}
.ft-logo p{font-size:.78rem;color:rgba(255,255,255,.28);margin-top:8px;line-height:1.6}
.ft-nav{display:flex;flex-direction:column;gap:10px}
.ft-nav a{font-size:.72rem;letter-spacing:.14em;color:rgba(255,255,255,.28);text-transform:uppercase;transition:color .2s}
.ft-nav a:hover{color:var(--w)}
.ft-r{display:flex;flex-direction:column;gap:10px;text-align:right}
.ft-r a{font-size:.8rem;color:rgba(255,255,255,.3);transition:color .2s}
.ft-r a:hover{color:var(--w)}
.ft-copy{max-width:1280px;margin:0 auto;padding:16px 40px;font-size:.62rem;letter-spacing:.1em;color:rgba(255,255,255,.18)}

/* ── WA ── */
.wa-fab{position:fixed;bottom:28px;right:28px;width:48px;height:48px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;z-index:300;box-shadow:0 4px 22px rgba(37,211,102,.28);transition:transform .3s var(--ease);cursor:none}
.wa-fab:hover{transform:scale(1.12)}

/* ── SPLIT TEXT ── */
.word-wrap{display:inline-block;overflow:hidden;vertical-align:bottom}
.word-inner{display:inline-block;transform:translateY(100%);transition:transform .85s var(--ease)}
.word-inner.in{transform:translateY(0)}

/* ── RESPONSIVE MOBILE ── */
@media(max-width:1100px){
  .hero-sect{grid-template-columns:1fr;min-height:auto}
  .hero-photo{height:55vh}
  .hero-panel{border-left:none;border-top:1px solid var(--brd);padding:64px 32px}
  #adn .sw{grid-template-columns:1fr;min-height:auto}
  .adn-text{grid-column:1;border-left:none;padding:72px 32px;background:linear-gradient(to bottom, rgba(8,8,8,.4) 0%, rgba(8,8,8,.9) 50%, rgba(8,8,8,.95) 100%)}
  .nos-grid{grid-template-columns:1fr;gap:40px}
  .cto-inner{grid-template-columns:1fr;gap:48px}
  .srv-grid{grid-template-columns:repeat(2,1fr)}
  .ht-grid{grid-template-columns:repeat(2,1fr)}
  .ft-wrap{grid-template-columns:1fr 1fr}
  .ft-r{text-align:left}
}
@media(max-width:768px){
  #hud{padding:18px 20px}
  #hud.solid{padding:12px 20px}
  .hud-tag{display:none!important}
  .sw{padding:72px 20px}
  .sect::before{left:20px;right:20px}
  .srv-grid,.ht-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:repeat(2,1fr);gap:24px 0}
  .stat{border-right:none;border-bottom:1px solid var(--brd);padding-bottom:16px}
  .proy-card{min-width:88vw}
  .ft-wrap{grid-template-columns:1fr;padding:0 20px 40px}
  .ft-r{text-align:left}
  .ft-copy{padding:16px 20px}
  .fsm-wrap{grid-template-columns:1fr;padding:100px 24px 40px}
  .fsm-info{display:none}
  .hero-panel{padding:48px 20px}
  .cto-form{padding:24px 20px}
  /* Mobile: disable custom cursor */
  #cur-dot,#cur-ring{display:none}
  body{cursor:auto}
  a,button{cursor:pointer}
}
@media(max-width:480px){
  .hero-h1{font-size:2.6rem}
  .srv-body{min-height:260px}
}
/* ── LIGHT THEME ── */
[data-theme="light"]{
  --dk:#f2f0ed;--dk2:#e8e6e3;--dk3:#dddbd8;
  --brd:rgba(0,0,0,.1);--txt:rgba(0,0,0,.52);--w:#0d0d0d
}
[data-theme="light"] html,[data-theme="light"] body{background:#f2f0ed;color:#0d0d0d}
[data-theme="light"] #loader{background:#f2f0ed}
[data-theme="light"] #hud.solid{background:rgba(242,240,237,.92)}
[data-theme="light"] #fsmenu{background:#f2f0ed}
[data-theme="light"] .fsl{color:rgba(0,0,0,.15)}
[data-theme="light"] .fsl:hover{color:#0d0d0d}
[data-theme="light"] .fsm-info a,[data-theme="light"] .fsm-info span{color:rgba(0,0,0,.35)}
[data-theme="light"] .hud-tag{color:rgba(0,0,0,.3)}
[data-theme="light"] .ls{color:rgba(0,0,0,.3)}
[data-theme="light"] .mbl{color:rgba(0,0,0,.4)}
[data-theme="light"] #burger i{background:#0d0d0d}
[data-theme="light"] .eyebrow{color:rgba(0,0,0,.3)}
[data-theme="light"] .srv-card{background:#f2f0ed}
[data-theme="light"] .srv-bg{filter:grayscale(80%) brightness(.75)}
[data-theme="light"] .srv-body{background:linear-gradient(to top,rgba(242,240,237,.98) 0%,rgba(242,240,237,.7) 55%,transparent)}
[data-theme="light"] .srv-body h3,[data-theme="light"] .srv-body p{color:var(--w)}
[data-theme="light"] .srv-chips span{color:rgba(0,0,0,.4)}
[data-theme="light"] .srv-icon svg{stroke:rgba(0,0,0,.4)}
[data-theme="light"] .cta-btn{border-color:rgba(0,0,0,.2);color:#0d0d0d}
[data-theme="light"] .hero-grad{background:linear-gradient(to right,transparent 55%,#f2f0ed),linear-gradient(to top,rgba(242,240,237,.5),transparent 40%)}
[data-theme="light"] .adn-text{background:linear-gradient(to right,transparent,rgba(242,240,237,.9))}
@media(max-width:1100px) {
  [data-theme="light"] .adn-text{background:linear-gradient(to bottom, rgba(242,240,237,.4) 0%, rgba(242,240,237,.9) 50%, rgba(242,240,237,.95) 100%)}
}
[data-theme="light"] .hero-scroll{color:rgba(0,0,0,.25)}
[data-theme="light"] .hero-eye{color:rgba(0,0,0,.35)}
[data-theme="light"] .ld-bar{background:rgba(0,0,0,.08)}
[data-theme="light"] .ft-logo p,[data-theme="light"] .ft-nav a,[data-theme="light"] .ft-r a,[data-theme="light"] .ft-copy{color:rgba(0,0,0,.35)}
[data-theme="light"] .ft-nav a:hover,[data-theme="light"] .ft-r a:hover{color:#0d0d0d}
[data-theme="light"] .word-inner{color:#0d0d0d}
[data-theme="light"] .cto-links a { color: rgba(0,0,0,0.6); }
[data-theme="light"] .cto-links span { color: rgba(0,0,0,0.4); }
[data-theme="light"] .fg label { color: rgba(0,0,0,0.5); }
[data-theme="light"] #floating-wx { background: rgba(255,255,255,0.85); border-color: rgba(0,0,0,0.1); }
[data-theme="light"] .wx-lbl { color: rgba(0,0,0,0.4); }

/* discipline page light fixes */
[data-theme="light"] .dsc-hero-panel{background:rgba(242,240,237,.82)}
[data-theme="light"] .dp-card{background:#e8e6e3}

/* ── HUD BUTTONS (Theme & Music) ── */
.theme-btn, .music-btn{
  width:36px;height:36px;border:1px solid var(--brd);background:transparent;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  cursor:none;transition:border-color .3s,background .3s;flex-shrink:0;
  color:var(--w);
}
.theme-btn:hover, .music-btn:hover{border-color:var(--r);background:rgba(204,31,26,.08)}
.theme-btn svg, .music-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;
  stroke-width:1.5;stroke-linecap:round;pointer-events:none;transition:opacity .3s}
.ico-sun{display:none}
.ico-moon{display:block}
[data-theme="light"] .ico-sun{display:block}
[data-theme="light"] .ico-moon{display:none}
[data-theme="light"] .music-btn{color:#0d0d0d}

/* ── FOLDERS FOR DOWNLOADS ── */
.dl-folder { background: var(--dk); border: 1px solid var(--brd); margin-bottom: 12px; border-radius: 4px; }
.dl-folder-summary { display: flex; align-items: center; padding: 24px; cursor: pointer; list-style: none; }
.dl-folder-summary::-webkit-details-marker { display: none; }
.dl-folder-summary:hover { background: var(--dk3); }
.dl-folder-summary .dl-icon { width: 48px; height: 48px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.15); border-radius: 4px; border: 1px solid var(--brd); margin-right: 20px; }
.dl-folder-summary .dl-icon svg { width: 24px; height: 24px; stroke: var(--w); }
.dl-folder-summary .dl-info { flex: 1; }
.dl-folder-summary .dl-info h4 { font-family: 'Barlow Condensed', sans-serif; font-size: 1.4rem; font-weight: 700; color: var(--w); margin-bottom: 4px; }
.dl-folder-summary .dl-info p { font-size: .8rem; color: rgba(255,255,255,.5); }
.folder-arrow { margin-left: auto; font-size: .9rem; color: rgba(255,255,255,.5); transition: transform 0.3s; }
.dl-folder[open] .folder-arrow { transform: rotate(180deg); }
.dl-folder-content { padding: 0 24px 24px; display: flex; flex-direction: column; gap: 8px; }
.dl-folder-content .dl-item { background: rgba(0,0,0,.2); border: 1px solid var(--brd); padding: 16px; margin: 0; }
[data-theme="light"] .dl-folder { background: #f2f0ed; }
[data-theme="light"] .dl-folder-summary:hover { background: #e8e6e3; }
[data-theme="light"] .dl-folder-summary .dl-icon svg { stroke: #0d0d0d; }
[data-theme="light"] .dl-folder-summary .dl-info h4 { color: #0d0d0d; }
[data-theme="light"] .dl-folder-summary .dl-info p { color: rgba(0,0,0,.5); }
[data-theme="light"] .folder-arrow { color: rgba(0,0,0,.5); }
[data-theme="light"] .dl-folder-content .dl-item { background: rgba(255,255,255,.5); }

/* Logo in blog cards and article header */
.bc-img[style*="letras_negro"] { filter: invert(1) brightness(2) !important; background-size: contain !important; background-repeat: no-repeat; background-position: center; }
.art-bg[style*="letras_negro"] { filter: invert(1) brightness(2) !important; background-size: contain !important; background-repeat: no-repeat; background-position: center; opacity: 0.05 !important; }
[data-theme="light"] .bc-img[style*="letras_negro"] { filter: none !important; }
[data-theme="light"] .art-bg[style*="letras_negro"] { filter: none !important; opacity: 0.05 !important; }


/* Music Button States */
.ico-mute{display:block}
.ico-play{display:none}
.music-btn.playing .ico-mute{display:none}
.music-btn.playing .ico-play{display:block}
.music-btn.playing svg{stroke:var(--r)}

/* srv-card as link */
.srv-card{display:block;color:inherit}
.srv-card:hover .srv-n::after{content:' →';color:var(--r)}
