:root{--bg:#050505;--panel:#0d0d0d;--ink:#ECECEC;--muted:#9A9A9A;--line:#2a2a2a;--silver:linear-gradient(180deg,#fff 0%,#9c9c9c 48%,#e8e8e8 100%);
--disp:Michroma,"Eurostile","Arial Black",sans-serif;--body:Jost,system-ui,sans-serif;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#050505}}
:root[data-theme="dark"]{--bg:#050505}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 4rem);scroll-behavior:smooth;background:var(--bg)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:300 1.0625rem/1.65 var(--body)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:10}
a{color:inherit}
:focus-visible{outline:2px solid #fff;outline-offset:4px}
.wrap{max-width:1080px;margin:0 auto;padding:0 1.5rem}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--bg);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:4rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.bars{display:block}
.word{font:400 1.05rem var(--disp);letter-spacing:.38em;background:var(--silver);-webkit-background-clip:text;background-clip:text;color:transparent}
nav{display:none;gap:1.8rem}
nav a{font:400 .72rem var(--body);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:.3rem 0}
nav a:hover{color:#fff}
@media(min-width:820px){nav{display:flex}}
details.menu{position:relative}
details.menu summary{list-style:none;cursor:pointer;padding:.5rem;font-size:1.4rem;line-height:1}
details.menu summary::-webkit-details-marker{display:none}
details.menu[open] nav{display:flex;flex-direction:column;position:absolute;right:0;top:100%;background:var(--panel);border:1px solid var(--line);padding:1rem 1.4rem;gap:1rem;min-width:12rem}
@media(min-width:820px){details.menu{display:none}}
.hero{min-height:min(88vh,640px);display:grid;place-items:center;text-align:center;background:linear-gradient(rgba(5,5,5,.15),var(--bg)),url(../img/hero.webp) center/cover}
.hero .bars{margin:0 auto 1.1rem}
.hero .word{font-size:clamp(2.2rem,9vw,4.2rem);display:block}
.hero p{font:400 .8rem var(--body);letter-spacing:.34em;text-transform:uppercase;margin:1.6rem 0 2rem;color:#d6d6d6}
.hero small{display:block;margin-top:1.5rem;font:400 .7rem var(--body);letter-spacing:.3em;color:var(--muted)}
.btn{display:inline-block;border:1px solid #fff;padding:.9rem 1.9rem;font:500 .75rem var(--body);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}
.btn:hover{background:#fff;color:#000}
.chap{padding:4.5rem 0;border-top:1px solid var(--line)}
.chap .wrap{display:grid;gap:3rem;align-items:center}
@media(min-width:820px){.chap .wrap{grid-template-columns:1fr 1fr}}
h2{font:400 clamp(1.4rem,4.4vw,2.2rem)/1.25 var(--disp);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.4rem}
.chap p{max-width:36ch;color:#cfcfcf;margin:0 0 2rem}
.watch{width:min(100%,380px);margin:0 auto;display:block}
.id{min-height:480px;display:flex;align-items:center;border-top:1px solid var(--line);background:linear-gradient(90deg,var(--bg) 20%,rgba(5,5,5,.35)),url(../img/identidad.webp) center/cover}
.id p{max-width:34ch;color:#cfcfcf;margin:0 0 2rem}
.soon{padding:4.5rem 0;border-top:1px solid var(--line)}
.soon .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}
@media(min-width:820px){.soon .grid{grid-template-columns:repeat(4,1fr)}}
.tile{background:var(--panel);padding:2rem 1.2rem;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end}
.tile b{font:400 .85rem var(--disp);letter-spacing:.16em}
.tile span{font-size:.85rem;color:var(--muted);margin-top:.3rem}
.tile.on{background:#161616}
.tile.on span{color:#fff}
footer{border-top:1px solid var(--line);padding:3rem 0 2.5rem;text-align:center}
footer .bars{margin:0 auto 1rem}
footer p{font:400 .72rem var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:.4rem 0}
.vals{padding:0;border-top:1px solid var(--line)}
.vals .wrap{display:grid;gap:0}
@media(min-width:820px){.vals .wrap{grid-template-columns:repeat(3,1fr)}}
.val{padding:2.5rem 1.5rem;text-align:center;border-bottom:1px solid var(--line)}
@media(min-width:820px){.val{border-bottom:0;border-right:1px solid var(--line)}.val:last-child{border-right:0}}
.val svg{margin:0 auto 1rem;display:block}
.val b{display:block;font:400 .85rem var(--disp);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.5rem}
.val span{color:var(--muted);font-size:.95rem}
.specs{margin:0 0 2rem;max-width:36ch}
.specs div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.specs dt{font:400 .72rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.specs dd{margin:0;text-align:right}
.contact{padding:4.5rem 0;border-top:1px solid var(--line)}
.contact .wrap{max-width:560px}
.contact label{display:block;font:400 .72rem var(--body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 .4rem}
.contact input,.contact textarea{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);font:inherit;padding:.8rem 1rem;border-radius:0}
.contact input:focus,.contact textarea:focus{border-color:#fff;outline:none}
.contact button{margin-top:1.6rem;background:none;color:var(--ink);cursor:pointer;font-family:var(--body)}
.contact button:hover{background:#fff;color:#000}
.social{display:flex;justify-content:center;gap:1.6rem;margin:1rem 0}
.social a{font:400 .72rem var(--body);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.social a:hover{text-decoration:underline}
@media(prefers-reduced-motion:no-preference){.hero .bars,.hero .word,.hero p,.hero .btn,.hero small{opacity:0;animation:rise .9s ease forwards}.hero .word{animation-delay:.25s}.hero p{animation-delay:.5s}.hero .btn{animation-delay:.7s}.hero small{animation-delay:.9s}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.coll{padding:4.5rem 0;border-top:1px solid var(--line)}
.coll .grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2rem}
@media(min-width:820px){.coll .grid{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--panel);padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:1.4rem;display:block}
.card h3{font:400 1rem var(--disp);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .4rem}
.card p{margin:0 0 .8rem;color:var(--muted);font-size:.95rem}
.card .pr{font:400 1.05rem var(--disp);margin-bottom:1.2rem}
.card .btn{padding:.7rem 1.4rem}

/* --- Añadidos: formulario, legal y titulares --- */
h1.word{margin:0}
.intro{color:#cfcfcf;max-width:44ch;margin:0}
.contact select{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);font:inherit;padding:.8rem 1rem;border-radius:0;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9a9a9a 50%),linear-gradient(135deg,#9a9a9a 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.contact select:focus{border-color:#fff;outline:none}
.contact .check{display:flex;gap:.7rem;align-items:flex-start;text-transform:none;letter-spacing:.02em;font-size:.9rem;color:var(--muted);margin-top:1.4rem}
.contact .check input{width:auto;margin-top:.3rem;accent-color:#fff}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal a{text-decoration:none}.legal a:hover{color:#fff}
.page{padding:4rem 0}.page .wrap{max-width:760px}
.page h1{font:400 clamp(1.4rem,4vw,2rem)/1.25 var(--disp);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2rem}
.page h2{font-size:1rem;letter-spacing:.14em;margin:2.2rem 0 .8rem}
.page p,.page li{color:#cfcfcf}
.fill{background:#3a2f00;color:#ffd75e;padding:0 .3em}
.msg{text-align:center;padding:7rem 0}
.msg p{color:#cfcfcf;margin:0 0 2rem}
.aviso{margin-top:2rem;padding:1.6rem;border:1px solid var(--line);background:var(--panel)}
.aviso p{color:#cfcfcf;margin:0 0 1.4rem}
[hidden]{display:none!important}
