@font-face{font-family:'Michroma';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/michroma-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-var.woff2) format('woff2')}
/* Cobertura Total landing — Turpial Digital Labs brand tokens (BRAND.md): night background, cyan accent used sparingly,
   Michroma headings, Inter text, JetBrains Mono labels, 2 px radius and 41° chamfers. */
:root{
  --cyan:#16EAEB;--sky:#4DD5EB;--black:#000;--night:#0B0F10;--surface:#12181A;--line:#22292C;--mist:#F4F7F7;
  --fg:#E9EEEF;--muted:#9AA4A7;--red:#c0241e;
  --display:"Michroma","Eurostile",Arial,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,"Cascadia Code",monospace;
  --cut:14px;--cut-y:calc(var(--cut)*.87);--ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--night);color:var(--fg);font:400 1rem/1.6 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--cyan);text-underline-offset:3px}
a:hover{color:var(--sky)}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.skip{position:absolute;left:12px;top:-60px;background:var(--cyan);color:#000;padding:8px 14px;z-index:100;font-weight:600}
.skip:focus{top:12px}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
.muted{color:var(--muted)}.small{font-size:.875rem}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:50;background:rgba(11,15,16,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.top-in{display:flex;align-items:center;gap:20px;min-height:64px}
.brand{display:block;flex:none}.brand img{height:34px;width:auto}
.nav{display:flex;gap:4px;margin-left:12px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{font:400 .72rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:12px 12px;white-space:nowrap}
.nav a:hover{color:var(--cyan)}
.top-r{display:flex;align-items:center;gap:12px;margin-left:auto}
.lang{font:500 .75rem/1 var(--mono);letter-spacing:.14em;color:var(--fg);text-decoration:none;border:1px solid var(--line);padding:9px 10px}
.lang:hover{border-color:var(--cyan);color:var(--cyan)}
.btn{display:inline-block;font:600 1rem/1 var(--body);padding:14px 22px;text-decoration:none;text-align:center;border:1px solid transparent;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut-y),100% 100%,0 100%);transition:background .16s var(--ease),color .16s var(--ease)}
.btn-primary{background:var(--cyan);color:#000}.btn-primary:hover{background:var(--sky);color:#000}
.btn-ghost{background:transparent;color:var(--cyan);border-color:var(--cyan);clip-path:none;border-radius:2px}.btn-ghost:hover{background:rgba(22,234,235,.1)}
.btn-sm{padding:10px 16px;font-size:.9rem;--cut:10px}

/* ---------- type ---------- */
h1,h2,h3,h4{margin:0 0 .5em}
h2{font:400 clamp(1.4rem,3.4vw,2.2rem)/1.15 var(--display);letter-spacing:.06em;text-transform:uppercase}
h3{font:600 1.15rem/1.3 var(--body)}
h4{font:500 .75rem/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow{font:500 .75rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px;display:flex;align-items:center;gap:10px}
.rec{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--red);box-shadow:0 0 0 3px rgba(192,36,30,.25);animation:rec 1.4s steps(2) infinite}
@keyframes rec{50%{opacity:.25}}
.sub{margin-top:40px}

/* ---------- hero ---------- */
.hero{position:relative;padding:72px 0 56px;min-height:min(86vh,760px);display:flex;align-items:center;border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,rgba(11,15,16,.97) 0%,rgba(11,15,16,.86) 38%,rgba(11,15,16,.35) 72%,rgba(11,15,16,.15) 100%),url(/img/arte-keyart.jpg) center right/cover no-repeat,var(--night)}
.hero-in{max-width:1120px;width:100%}
.hero h1{margin:0 0 20px}
.hero-logo{width:min(420px,78vw);height:auto;image-rendering:auto}
.lead{font-size:clamp(1.05rem,2.2vw,1.3rem);line-height:1.55;max-width:56ch;margin:0 0 28px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 20px;padding:0}
.chips li{font:500 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg);border:1px solid var(--line);background:rgba(18,24,26,.85);padding:8px 10px}
.notice{font-size:.9rem;color:var(--muted);max-width:60ch;margin:0}

/* ---------- sections ---------- */
.sec{padding:88px 0;border-bottom:1px solid var(--line)}
.sec.alt{background:var(--surface)}
.two{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}
.facts-list{margin:0;display:grid;gap:0;border:1px solid var(--line);background:var(--surface)}
.sec.alt .facts-list{background:var(--night)}
.facts-list div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}
.facts-list div:last-child{border-bottom:0}
.facts-list dt{font:500 .72rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.facts-list dd{margin:0}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;list-style:none;margin:32px 0 0;padding:0}
.card{background:var(--night);border:1px solid var(--line);padding:24px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 17px,100% 100%,0 100%)}
.card .num{display:block;font:500 .75rem/1 var(--mono);color:var(--cyan);letter-spacing:.14em;margin-bottom:16px}
.card p{margin:0;color:var(--muted)}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px}
.controls ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
kbd{font:500 .8rem/1 var(--mono);background:var(--night);border:1px solid var(--line);border-bottom-width:2px;padding:4px 8px;margin-right:6px;color:var(--fg)}
.tip{margin:24px 0 0;color:var(--muted)}

/* ---------- screenshots + lightbox (CSS only) ---------- */
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:28px 0 0;padding:0}
.shots a{display:block;position:relative;border:1px solid var(--line);background:var(--surface);color:var(--fg);text-decoration:none;overflow:hidden}
.shots img{width:100%;aspect-ratio:1200/560;object-fit:cover;transition:transform .5s var(--ease)}
.shots a:hover img{transform:scale(1.03)}
.shots span{display:block;padding:10px 12px;font:500 .72rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lb{display:none}
.lb:target{display:grid;place-items:center;position:fixed;inset:0;z-index:90;background:rgba(5,7,8,.96);padding:24px}
.lb figure{margin:0;max-width:min(1200px,100%)}
.lb img{width:100%;border:1px solid var(--line)}
.lb figcaption{margin-top:12px;color:var(--muted);font-size:.95rem;text-align:center}
.lb-x{position:absolute;top:14px;right:20px;font-size:2.4rem;line-height:1;color:var(--fg);text-decoration:none}

/* ---------- art ---------- */
.art{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;list-style:none;margin:28px 0 0;padding:0}
.art li{border:1px solid var(--line);background:var(--night)}
.art img{width:100%;height:auto}
.art span{display:block;padding:10px 12px;font-size:.85rem;color:var(--muted)}
.art-0{grid-column:span 3}.art-1{grid-column:span 3}.art-2{grid-column:span 2}.art-3{grid-column:span 2}.art-4{grid-column:span 2}
.art-3 img,.art-4 img{object-fit:cover;aspect-ratio:16/8}

/* ---------- facts ---------- */
.aside{border-left:3px solid var(--cyan);padding:4px 0 4px 24px}
.aside ul{margin:0 0 16px;padding-left:18px;display:grid;gap:10px}

/* ---------- legal pages ---------- */
.doc{padding:72px 0 88px}
.doc h1{font:400 clamp(1.5rem,4vw,2.4rem)/1.15 var(--display);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
.doc h2{font:600 1.2rem/1.3 var(--body);letter-spacing:0;text-transform:none;margin:40px 0 8px;color:var(--fg)}
.doc p,.doc li{color:#cfd7d9}
.doc ul{padding-left:20px;display:grid;gap:8px}
.lead-sm{font-size:1.1rem;margin:20px 0 0}
.back{margin-top:56px}

/* ---------- footer ---------- */
.foot{background:#080b0c;border-top:1px solid var(--line);padding:56px 0 32px}
.foot-in{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px}
.foot h2{font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.foot-nav{display:grid;gap:10px;align-content:start}
.foot-nav a{color:var(--fg);text-decoration:none}.foot-nav a:hover{color:var(--cyan)}
.foot-brand p{color:var(--muted);margin:14px 0 0;max-width:34ch}
.foot-legal{grid-column:1/-1;margin:16px 0 0;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}

/* ---------- 404 ---------- */
.nf{display:grid;min-height:100vh;place-items:center;text-align:center}
.nf-main{padding:48px 24px;max-width:560px}
.nf-code{font:400 clamp(2.4rem,9vw,4.6rem)/1 var(--display);letter-spacing:.08em;display:flex;justify-content:center;align-items:center;gap:16px;margin:0 0 24px}
.nf-main h1{font:400 1.3rem/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase}
.nf-hr{border:0;border-top:1px solid var(--line);margin:32px 0}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .two{grid-template-columns:1fr;gap:32px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .shots{grid-template-columns:repeat(2,1fr)}
  .art{grid-template-columns:repeat(2,1fr)}.art-0,.art-1{grid-column:span 2}.art-2,.art-3,.art-4{grid-column:span 1}.art-4{grid-column:span 2}
}
@media (max-width:640px){
  .wrap{padding:0 18px}
  .top-in{flex-wrap:wrap;gap:8px 12px;padding-top:8px;padding-bottom:4px}
  .nav{order:3;flex:1 1 100%;margin-left:-8px}
  .brand img{height:30px}
  .hero{padding:40px 0 36px;background:linear-gradient(180deg,rgba(11,15,16,.8),rgba(11,15,16,.95)),url(/img/arte-keyart.jpg) center/cover no-repeat,var(--night)}
  .sec{padding:56px 0}
  .cards,.shots,.controls{grid-template-columns:1fr}
  .facts-list div{grid-template-columns:1fr;gap:2px}
  .foot-in{grid-template-columns:1fr}
  .art{grid-template-columns:1fr}.art li{grid-column:auto!important}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rec{animation:none}.shots img{transition:none}}
