/* Raw & Co. · sistema visual: monocromo, editorial, mucho aire.
   Texto: --f-body. Detalles: --f-mono. Acento: plata, solo en lo oscuro. */
:root{
  --ink:#0E0E0E; --graphite:#2B2B2B; --stone:#6B6A67; --fog:#A8A6A1; --keycap:#D9D8D4;
  --paper:#F5F5F3; --paper-2:#EAEAE7; --white:#fff; --line:rgba(14,14,14,.14);
  --biscuit:#BDBDBA; --biscuit-l:#D9D8D4; --biscuit-d:#6F6F6C; /* acento plata (nombres heredados) */
  --gold:var(--biscuit-l);
  --f-head:'Archivo',system-ui,sans-serif;
  --f-body:'Archivo',system-ui,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,monospace;
  --chrome:#B8B7B2 url(../img/raw/metal-tex.webp);
  --brushed:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 38%,rgba(0,0,0,0) 60%,rgba(0,0,0,.16) 100%);
  --f-logo:'Anton',Impact,sans-serif;
  --ease:cubic-bezier(0.23,1,0.32,1);
  --ease-io:cubic-bezier(0.77,0,0.175,1);
  --pad:clamp(16px,4vw,32px);
  --r-xs:4px; --r-sm:8px; --r-md:12px; --r-lg:16px; --r-pill:99px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:linear-gradient(180deg,#F3F3F1,#E2E2DF) fixed;color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
p,h1,h2,h3,dl,dd,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
p{text-wrap:pretty}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:var(--r-xs)}
.dark :focus-visible{outline-color:var(--biscuit-l)}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 16px;border-radius:var(--r-sm);text-decoration:none;font-weight:600}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding-inline:var(--pad)}
main{overflow-x:clip}
.dark{background:var(--ink);color:var(--paper)}
h1,h2,h3{font-family:var(--f-head);font-weight:800;letter-spacing:-.045em;line-height:.96;text-wrap:balance}
.mono{font-family:var(--f-mono);font-size:13px;line-height:1.5}
.sec{padding-block:clamp(64px,9vw,128px)}
.sec.alt{background:var(--paper-2)}

/* ===== La tecla (logo): imagen original del logo ===== */
.key{--s:64px;display:block;width:var(--s);height:var(--s);flex:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.18))}
.key img{width:100%;height:100%;display:block}
/* ===== Metal: botones y teclas ===== */
.kbtn{display:inline-block;border-radius:14px;background:#5F5F5C;padding-bottom:6px;text-decoration:none;color:#141414;font:700 16px/1.2 var(--f-body);border:0;cursor:pointer;box-shadow:0 12px 20px -10px rgba(0,0,0,.45)}
.kbtn-top{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:15px 22px;border-radius:14px;background:var(--brushed),var(--chrome);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(0,0,0,.18);text-shadow:0 1px 0 rgba(255,255,255,.6);transition:transform 120ms var(--ease)}
.kbtn-top::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.8) 50%,transparent 65%);transform:translateX(-130%);transition:transform 600ms var(--ease);pointer-events:none}
@media (hover:hover) and (pointer:fine){.kbtn:hover .kbtn-top::after{transform:translateX(130%)}}
.kbtn:active .kbtn-top{transform:translateY(5px)}
.kbtn .kk{font:500 12px/1 var(--f-mono);padding:4px 7px;border:1px solid rgba(0,0,0,.4);border-radius:5px;color:#222;background:rgba(255,255,255,.35);text-shadow:none;white-space:nowrap}
.under{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.round{width:52px;height:52px;border-radius:50%;border:0;padding:0 0 4px;background:#5F5F5C;cursor:pointer;color:#141414}
.round span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--brushed),var(--chrome);box-shadow:inset 0 1px 0 #fff;font:700 22px/1 var(--f-body);transition:transform 120ms var(--ease)}
.round:active span{transform:translateY(4px)}

/* ===== Cabecera ===== */
.top{position:sticky;top:0;z-index:40;background:rgba(245,245,243,.94);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;height:88px}
.top nav{margin-inline-start:auto;display:flex;align-items:center;gap:clamp(18px,2.6vw,36px)}
.top nav a:not(.kbtn){font:500 15px var(--f-body);text-decoration:none;padding:8px 2px}
@media (hover:hover) and (pointer:fine){.top nav a:not(.kbtn):hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}}
.top .kbtn{font-size:15px}
.top .kbtn-top{padding:10px 16px}
.menu-btn{display:none;margin-inline-start:auto;width:48px;height:48px;border:0;background:none;cursor:pointer;color:var(--ink);padding:0}
.menu-btn i{display:block;width:24px;height:2px;background:currentColor;margin:6px auto;transition:transform 200ms var(--ease),opacity 200ms var(--ease)}
.menu-open .menu-btn i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-open .menu-btn i:nth-child(2){opacity:0}
.menu-open .menu-btn i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.nav-panel{position:fixed;inset:88px 0 0 0;z-index:45;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;gap:6px;padding:32px var(--pad);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity 220ms var(--ease),transform 220ms var(--ease),visibility 0s linear 220ms}
.menu-open .nav-panel{opacity:1;transform:none;visibility:visible;transition-delay:0s}
.nav-panel a:not(.kbtn){font:800 34px/1.2 var(--f-head);letter-spacing:-.04em;text-decoration:none;padding:10px 0}
.nav-panel .kbtn{margin-top:20px;align-self:flex-start}
.menu-open{overflow:hidden}
@media (max-width:900px){.top nav{display:none}.menu-btn{display:block}}
@media (min-width:901px){.nav-panel{display:none}}

/* ===== Hero ===== */
.hero{padding-block:clamp(40px,6vw,96px) clamp(56px,7vw,104px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px,5vw,80px);align-items:center}
.hero h1{font-size:clamp(40px,6.2vw,96px);line-height:.93;overflow-wrap:break-word}
.hero .lead{margin-top:28px;max-width:30em;font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--graphite)}
.hero .acts{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px}
.hero .proof{margin-top:28px;font:500 13px/1.5 var(--f-mono);color:var(--stone)}
.stage{position:relative;width:100%;max-width:470px;justify-self:center;padding-bottom:clamp(40px,6vw,72px)}
.stage .photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.bigkey-wrap{position:absolute;left:-18%;bottom:0;width:64%;perspective:900px;z-index:3}
.bigkey{display:block;position:relative;aspect-ratio:1/.92;border-radius:clamp(18px,2.2vw,30px);background:#4D4D4A;text-decoration:none;color:#161616;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform 220ms var(--ease);box-shadow:0 40px 50px -24px rgba(0,0,0,.6)}
.bigkey .face{position:absolute;inset:0 0 7% 0;border-radius:inherit;background:var(--brushed),var(--chrome);box-shadow:inset 0 2px 0 #fff,inset 0 -3px 0 rgba(0,0,0,.22);display:flex;flex-direction:column;justify-content:space-between;padding:11%;overflow:hidden;text-shadow:0 1px 0 rgba(255,255,255,.65);transition:transform 140ms var(--ease)}
.bigkey .face::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--lx,30%) var(--ly,20%),rgba(255,255,255,.85),transparent 45%);mix-blend-mode:soft-light;pointer-events:none}
.bigkey:active .face{transform:translateY(5%)}
.bigkey .e{font:800 clamp(30px,4.2vw,56px)/1 var(--f-head);letter-spacing:-.045em}
.bigkey .s{font:600 clamp(12px,1.1vw,15px)/1.3 var(--f-body)}
@media (max-width:860px){.hero .wrap{grid-template-columns:minmax(0,1fr)}.stage{max-width:400px;margin-left:0}.bigkey-wrap{left:-4%;width:58%}}

/* ===== Lo que incluye: teclado ===== */
.first .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}
.first h2{font-size:clamp(34px,4.8vw,72px)}
.first .txt{margin-top:22px;max-width:30em;font-size:18px;color:var(--graphite)}
.kb{position:relative;display:grid;gap:26px;justify-items:start}
.kb-screen{width:min(100%,560px);min-height:124px;padding:22px 26px;border-radius:16px;background:#0E0E0E;color:#EDEDEA;box-shadow:inset 0 0 0 2px #2B2B2B,inset 0 0 50px rgba(255,255,255,.05),0 18px 30px -18px rgba(0,0,0,.5)}
.kb-screen b{display:block;font:700 22px/1.2 var(--f-head);letter-spacing:-.025em}
.kb-screen span{display:block;margin-top:8px;color:#B9B9B6}
.kb-screen i{display:inline-block;width:9px;height:18px;margin-left:6px;vertical-align:-3px;background:#EDEDEA;animation:blink 1.1s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
.kb-rows{display:grid;gap:12px}
.kb-row{display:flex;gap:12px}
.kb-row.off{margin-left:clamp(32px,5vw,68px)}
.kb-key{width:clamp(84px,10.5vw,128px);aspect-ratio:1;border:0;border-radius:16px;background:#5F5F5C;padding:0 0 7px;cursor:pointer;color:#141414;box-shadow:0 12px 18px -10px rgba(0,0,0,.5)}
.kb-key>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;height:100%;border-radius:16px;background:var(--brushed),var(--chrome);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(0,0,0,.18);font:600 12px/1.2 var(--f-body);text-align:center;padding:6px;text-shadow:0 1px 0 rgba(255,255,255,.6);transition:transform 120ms var(--ease),filter 120ms var(--ease)}
.kb-key svg{width:30px;height:30px;stroke:#141414;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.kb-key[aria-pressed="true"]>span{transform:translateY(6px);filter:brightness(.82)}
@media (max-width:860px){.first .wrap{grid-template-columns:minmax(0,1fr)}}

/* ===== Proyectos: celulares de cromo ===== */
.works{background:var(--ink);color:var(--paper);overflow:hidden}
.works .head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 48px;margin-bottom:clamp(28px,4vw,48px)}
.works h2{font-size:clamp(38px,5.4vw,84px)}
.works .head p{margin-top:16px;max-width:380px;color:var(--fog)}
.works .nav{display:flex;gap:12px}
.reel{display:flex;gap:clamp(22px,3vw,44px);overflow-x:auto;scroll-snap-type:x mandatory;padding:20px max(var(--pad),calc((100% - 1240px)/2 + var(--pad))) 56px;scroll-padding-inline:max(var(--pad),calc((100% - 1240px)/2 + var(--pad)));scrollbar-width:thin;scrollbar-color:#555 transparent}
.reel>li{position:relative;flex:none;width:clamp(210px,21vw,264px);scroll-snap-align:start}
.reel>li:nth-child(even){margin-top:44px}
.ph{display:block;text-decoration:none;color:var(--paper)}
.ph .bz{border-radius:40px;padding:9px;background:var(--chrome);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 34px 44px -22px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08);transition:transform 280ms var(--ease)}
.ph:nth-child(odd) .bz{transform:rotate(-2deg)}
.reel>li:nth-child(even) .bz{transform:rotate(2deg)}
@media (hover:hover) and (pointer:fine){.ph:hover .bz{transform:rotate(0) translateY(-10px)!important}}
.ph .scr{border-radius:32px;overflow:hidden;aspect-ratio:585/1080;background:#000;position:relative}
.ph .scr img{width:100%;height:100%;object-fit:cover;object-position:top}
.ph .blank{display:grid;place-items:center;height:100%;font:500 13px/1.5 var(--f-mono);color:#8a8a87;text-align:center;padding:16px}
.ph .tx{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:18px;padding-inline:6px}
.ph b{font:700 18px/1.2 var(--f-head);letter-spacing:-.02em}
.ph .ty{display:block;margin-top:2px;font-size:15px;color:var(--fog)}
.ph .tag{flex:none;font:500 12px/1 var(--f-mono);padding:5px 8px;border:1px solid #6B6A67;border-radius:99px;color:var(--keycap)}
.ph .tag.on{background:var(--keycap);color:var(--ink);border-color:var(--keycap)}
.ph.cta .scr{background:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;padding:22px}
.ph.cta .scr b{font:800 26px/1 var(--f-head);letter-spacing:-.04em}
.ph.cta .scr span{margin-top:12px;font-weight:600;text-decoration:underline;text-underline-offset:5px}

/* ===== Cómo funciona: escalera de teclas ===== */
.steps h2{font-size:clamp(36px,5vw,76px)}
.steps .head{max-width:640px;margin-bottom:clamp(36px,5vw,64px)}
.steps .head p{margin-top:18px;font-size:18px;color:var(--graphite)}
.stairs{display:grid;gap:clamp(18px,2.4vw,32px)}
.stairs li{display:flex;align-items:center;gap:clamp(18px,3vw,40px);margin-left:calc(var(--i)*clamp(0px,7vw,110px))}
.sk{flex:none;width:clamp(96px,12vw,150px);aspect-ratio:1;border-radius:20px;background:#5F5F5C;padding-bottom:8px;box-shadow:0 14px 20px -12px rgba(0,0,0,.5)}
.sk span{display:flex;align-items:center;justify-content:center;height:100%;border-radius:20px;background:var(--brushed),var(--chrome);box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 rgba(0,0,0,.18);font:800 clamp(34px,5vw,58px)/1 var(--f-head);letter-spacing:-.05em;text-shadow:0 1px 0 rgba(255,255,255,.7);transform:translateY(-8px);transition:transform 220ms var(--ease)}
.stairs li.down .sk span{transform:translateY(0)}
.stairs h3{font-size:clamp(24px,2.8vw,38px)}
.stairs p{margin-top:8px;color:var(--graphite);max-width:30em}
.steps .note{margin-top:40px;font:500 14px/1.5 var(--f-mono);color:var(--stone)}
@media (max-width:620px){.stairs li{margin-left:calc(var(--i)*14px)}}

/* ===== Nosotros ===== */
.us .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}
.us .bezel{padding:12px;border-radius:26px;background:var(--chrome);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 30px 40px -24px rgba(0,0,0,.6);max-width:470px;transform:rotate(-1.5deg)}
.us .bezel img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px}
.us h2{font-size:clamp(36px,5vw,76px)}
.us .who{margin-top:36px;display:grid;border-top:2px solid var(--ink)}
.us .who>div{padding:24px 0;border-bottom:1px solid var(--line)}
.us .who h3{font:800 26px/1.1 var(--f-head);letter-spacing:-.03em;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.us .who h3 span{font:500 13px var(--f-mono);letter-spacing:0;color:var(--stone)}
.us .who p{margin-top:8px;max-width:34em;color:var(--graphite)}
.us .zone{margin-top:24px;font:500 14px/1.5 var(--f-mono);color:var(--stone)}
@media (max-width:860px){.us .wrap{grid-template-columns:minmax(0,1fr)}}

/* ===== Preguntas ===== */
.faq .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq h2{font-size:clamp(34px,4.4vw,64px)}
.qs{border-top:2px solid var(--ink)}
.qs details{border-bottom:1px solid var(--line)}
.qs summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:20px 0;font:700 clamp(18px,1.8vw,22px)/1.25 var(--f-head);letter-spacing:-.02em;min-height:64px}
.qs summary::-webkit-details-marker{display:none}
.qs summary i{flex:none;width:38px;height:38px;border-radius:10px;background:#5F5F5C;padding-bottom:4px;position:relative}
.qs summary i::before{content:"";position:absolute;inset:0 0 4px 0;border-radius:10px;background:var(--brushed),var(--chrome);box-shadow:inset 0 1px 0 #fff;transition:transform 140ms var(--ease)}
.qs summary i::after{content:"+";position:absolute;inset:0 0 4px 0;display:grid;place-items:center;font:700 22px/1 var(--f-body);transition:transform 140ms var(--ease)}
.qs details[open] summary i::before,.qs details[open] summary i::after{transform:translateY(3px)}
.qs details[open] summary i::after{content:"\2212"}
.qs details p{padding:0 0 24px;max-width:40em;color:var(--graphite)}
@media (max-width:860px){.faq .wrap{grid-template-columns:minmax(0,1fr)}}

/* ===== Revisión ===== */
.rev .box{background:#0E0E0E;color:var(--paper);padding:clamp(24px,5vw,64px);border-radius:28px;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:center;box-shadow:inset 0 0 0 2px #2B2B2B,0 40px 50px -30px rgba(0,0,0,.6)}
.rev h2{font-size:clamp(28px,3.6vw,52px)}
.rev .box>div>p{margin-top:14px;color:var(--fog);max-width:30em}
.rev form{display:grid;gap:16px}
.rev label{display:block;font:500 13px/1.2 var(--f-mono);margin-bottom:6px;color:var(--fog)}
.rev input{width:100%;min-height:52px;padding:0 14px;border:1px solid #3A3A3A;border-radius:10px;background:#181818;font:500 17px var(--f-body);color:var(--paper)}
.rev input::placeholder{color:#6B6A67}
.rev input:focus{outline:3px solid var(--keycap);outline-offset:2px}
.rev input[aria-invalid="true"]{border-color:#E0705F}
.rev .err{min-height:22px;font:500 13px/1.4 var(--f-mono);color:#F0A294}
.rev .kbtn{justify-self:start}
@media (max-width:860px){.rev .box{grid-template-columns:minmax(0,1fr)}}

/* ===== Contacto + pie ===== */
.close{padding-block:clamp(72px,9vw,128px) 0;overflow:hidden}
.close h2{font-size:clamp(40px,6.4vw,100px);line-height:.94;max-width:11em;overflow-wrap:break-word}
.close p.l{margin-top:24px;max-width:32em;font-size:19px;color:var(--keycap)}
.close .kbtn{margin-top:34px}
.giant{margin-top:clamp(40px,6vw,88px);font:900 clamp(44px,14vw,270px)/.8 var(--f-head);letter-spacing:-.07em;white-space:nowrap;background:linear-gradient(180deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 45%,rgba(0,0,0,.3) 100%),#B8B7B2 url(../img/raw/metal-tex.webp);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;padding-left:var(--pad);transform:translateY(12%)}
.foot{padding:28px 0 36px;border-top:1px solid rgba(245,245,243,.14);position:relative;z-index:2}
.foot .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px}
.foot p{font:500 13px/1.6 var(--f-mono);color:var(--fog)}
.foot a{color:var(--paper)}
.foot .r{margin-inline-start:auto;text-align:right}
@media (max-width:860px){.foot .r{margin-inline-start:0;text-align:left}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .kb-screen i{animation:none}
}
