/* DecDEPO — Stealth v1 · fekete + cián + Playfair serif */
:root{
  --bg:#000000;
  --fg:#ffffff;
  --muted:#6a6a6a;
  --dim:#2a2a2a;
  --line:#141414;
  --accent:#67e8f9;
  --accent-dim:rgba(103,232,249,.15);
  --display:'Playfair Display',Georgia,serif;
  --body:'Inter',system-ui,-apple-system,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--fg);font-family:var(--body);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--fg);text-decoration:none}

/* BACK link (50 versions) */
.back{position:fixed;top:1rem;right:1rem;z-index:100;font-family:var(--mono);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);padding:.5rem .75rem;border:1px solid var(--line);background:rgba(0,0,0,.7);backdrop-filter:blur(8px)}
.back:hover{color:var(--accent);border-color:var(--accent)}

/* ===== SPLASH (index.html) ===== */
.splash{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:2rem clamp(2rem,8vw,7rem);position:relative;text-align:left}
.splash::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(103,232,249,.05) 0%,transparent 60%);pointer-events:none}
.splash-row{display:flex;align-items:flex-end;gap:clamp(2rem,6vw,5rem);flex-wrap:wrap;width:100%;position:relative}
.splash-right{display:flex;flex-direction:column;align-items:flex-start;gap:1.75rem;transform:translateY(clamp(2rem,7vw,6rem))}
.splash-h{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(4rem,20vw,19rem);font-weight:400;letter-spacing:-.04em;line-height:.92;position:relative;transform-origin:left center;display:inline-block;animation:pulseFocus 12s ease-in-out infinite;will-change:filter,transform}
@keyframes pulseFocus{
  0%   {filter:blur(0);    transform:translateY(-12px) scaleY(1.85)}
  11%  {filter:blur(0);    transform:translateY(-7px)  scaleY(1.85)}
  16%  {filter:blur(7px);  transform:translateY(-4px)  scaleY(1.85)}
  22%  {filter:blur(0);    transform:translateY(-1px)  scaleY(1.85)}
  34%  {filter:blur(0);    transform:translateY(6px)   scaleY(1.85)}
  39%  {filter:blur(19px); transform:translateY(8px)   scaleY(1.85)}
  45%  {filter:blur(0);    transform:translateY(10px)  scaleY(1.85)}
  58%  {filter:blur(0);    transform:translateY(12px)  scaleY(1.85)}
  63%  {filter:blur(11px); transform:translateY(9px)   scaleY(1.85)}
  69%  {filter:blur(0);    transform:translateY(6px)   scaleY(1.85)}
  80%  {filter:blur(0);    transform:translateY(-1px)  scaleY(1.85)}
  85%  {filter:blur(26px); transform:translateY(-4px)  scaleY(1.85)}
  92%  {filter:blur(0);    transform:translateY(-8px)  scaleY(1.85)}
  100% {filter:blur(0);    transform:translateY(-12px) scaleY(1.85)}
}
.splash-h .dot{color:var(--accent)}
.splash-meta{font-family:var(--mono);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}
.splash-enter{display:inline-flex;align-items:center;gap:1rem;padding:1.1rem 2.75rem;border:1px solid var(--accent);color:var(--accent);font-family:var(--mono);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;transition:all .4s;position:relative}
.splash-enter:hover{background:var(--accent);color:var(--bg)}
.splash-enter .arr{transition:transform .4s;display:inline-block}
.splash-enter:hover .arr{transform:translateX(8px)}
.splash-foot{position:absolute;bottom:1.75rem;left:clamp(2rem,8vw,7rem);right:clamp(2rem,8vw,7rem);text-align:left;font-family:var(--mono);font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.splash-live{position:absolute;top:1.5rem;left:1.5rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.5rem}
.splash-live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}

/* ===== NAV (studio + sub-pages) ===== */
.nav{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 3rem;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:50}
.nav-logo{font-family:var(--display);font-weight:500;font-size:1.5rem;letter-spacing:-.03em;color:var(--fg)}
.nav-logo .dot{color:var(--accent)}
.nav ul{display:flex;gap:2.2rem;list-style:none}
.nav ul a{font-family:var(--mono);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);transition:color .3s;position:relative;padding-bottom:.35rem}
.nav ul a:hover{color:var(--accent)}
.nav ul a.active{color:var(--fg)}
.nav ul a.active::after{content:"";position:absolute;left:0;right:0;bottom:-.15rem;height:2px;background:var(--accent)}
.nav-lang{font-family:var(--mono);font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:flex;gap:1rem}
.nav-lang a{color:var(--muted)}
.nav-lang a.active{color:var(--fg)}
.nav-lang a:hover{color:var(--accent)}
.nav-toggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.nav-burger{display:none}

/* ===== STUDIO INTRO ===== */
.studio-intro{display:flex;align-items:baseline;justify-content:space-between;gap:clamp(1.5rem,3vw,3rem);text-align:left;padding:1.75rem clamp(1.5rem,4vw,3rem);border-bottom:1px solid var(--line);position:relative;flex-wrap:wrap}
.studio-intro .k{font-family:var(--mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin:0;flex-shrink:0}
.studio-intro h1{font-family:var(--display);font-size:clamp(1.1rem,2.6vw,2rem);font-weight:400;letter-spacing:-.02em;line-height:1.1;white-space:nowrap;margin:0;flex:0 1 auto}
.studio-intro h1 em{font-style:italic;color:var(--accent);font-weight:400}
.studio-intro p{font-family:var(--body);font-size:.82rem;color:var(--muted);max-width:48ch;margin:0;line-height:1.55;flex:1 1 280px}

/* ===== TILE GRID ===== */
.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.tile{background:var(--bg);padding:2.75rem 2.5rem;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition:background .5s ease;cursor:pointer;overflow:hidden}
.tile::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,var(--accent-dim) 0%,transparent 70%);opacity:0;transition:opacity .6s;pointer-events:none}
.tile:hover{background:#060809}
.tile:hover::before{opacity:1}

.tile-num{font-family:var(--mono);font-size:.62rem;letter-spacing:.35em;color:var(--muted);transition:color .4s}
.tile:hover .tile-num{color:var(--accent)}

.tile-svg{margin:1.5rem 0;flex:1;display:flex;align-items:center;justify-content:center;min-height:140px}
.tile-svg svg{width:100%;max-width:220px;height:auto;overflow:visible}
.tile-svg path,.tile-svg line,.tile-svg circle,.tile-svg rect,.tile-svg polyline,.tile-svg polygon{fill:none;stroke:#3a3a3a;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}
.tile:hover .tile-svg path,.tile:hover .tile-svg line,.tile:hover .tile-svg circle,.tile:hover .tile-svg rect,.tile:hover .tile-svg polyline,.tile:hover .tile-svg polygon{stroke:var(--accent)}

/* line-draw reveal on load */
@keyframes draw{to{stroke-dashoffset:0}}
.tile-svg .anim{stroke-dasharray:800;stroke-dashoffset:800;animation:draw 2.2s ease-out forwards}
.tile:nth-child(1) .tile-svg .anim{animation-delay:.15s}
.tile:nth-child(2) .tile-svg .anim{animation-delay:.35s}
.tile:nth-child(3) .tile-svg .anim{animation-delay:.55s}
.tile:nth-child(4) .tile-svg .anim{animation-delay:.75s}
.tile:nth-child(5) .tile-svg .anim{animation-delay:.95s}
.tile:nth-child(6) .tile-svg .anim{animation-delay:1.15s}

/* re-draw on hover */
.tile:hover .tile-svg .anim{animation:draw 1.2s ease-out forwards;animation-delay:0s}


.tile-body{display:flex;flex-direction:column;gap:.4rem;position:relative;z-index:1}
.tile-t{font-family:var(--display);font-size:1.9rem;font-weight:400;letter-spacing:-.015em;color:var(--fg);transition:color .4s}
.tile:hover .tile-t{color:var(--accent)}
.tile-cat{font-family:var(--mono);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}

/* ===== CTA BLOCK (studio bottom) ===== */
.studio-cta{text-align:center;padding:5rem 2rem 4.5rem;border-bottom:1px solid var(--line)}
.studio-cta .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}
.studio-cta h2{font-family:var(--display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;max-width:24ch;margin:0 auto 1.75rem}
.studio-cta .email{display:inline-block;font-family:var(--mono);font-size:.9rem;letter-spacing:.15em;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:.15rem;transition:opacity .3s}
.studio-cta .email:hover{opacity:.7}
.studio-cta .meta{margin-top:2rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}

/* ===== PROJECTS PAGE — uses .tile-grid for consistency ===== */
/* ghost tile: same frame as a real tile but dashed + muted */
.tile-ghost{background:var(--bg);padding:2.75rem 2.5rem;min-height:380px;display:flex;flex-direction:column;justify-content:space-between;position:relative;border:1px dashed var(--dim);margin:-1px}
.tile-ghost .tile-num{color:var(--dim)}
.tile-ghost .tile-svg{opacity:.25}
.tile-ghost .tile-svg path,.tile-ghost .tile-svg line,.tile-ghost .tile-svg rect,.tile-ghost .tile-svg circle{stroke:#2a2a2a}
.tile-ghost .tile-t{color:var(--muted);font-style:italic}
.tile-ghost .tile-cat{color:var(--dim)}

/* ===== SUB-PAGE (webb/ai/process/priser/kontakt) ===== */
.page{max-width:1080px;margin:0 auto;padding:3.5rem clamp(1.5rem,4vw,3rem) 5rem}
.page-head{padding:2rem 0 3rem;border-bottom:1px solid var(--line);margin-bottom:3rem}
.page-head .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}
.page-head h1{font-family:var(--display);font-size:clamp(2rem,5vw,3.6rem);font-weight:400;letter-spacing:-.025em;line-height:1.08;margin-bottom:1.5rem;max-width:22ch}
.page-head h1 em{font-style:italic;color:var(--accent)}
.page-head .lead{font-family:var(--body);font-size:1.05rem;line-height:1.7;color:#c4c4c4;max-width:62ch}

.sec-block{padding:2.75rem 0;border-top:1px solid var(--line)}
.sec-block:first-child{border-top:0;padding-top:0}
.sec-k{font-family:var(--mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}
.sec-block h2{font-family:var(--display);font-size:clamp(1.4rem,2.8vw,2rem);font-weight:400;letter-spacing:-.02em;margin:0 0 1.25rem;max-width:32ch}
.sec-block h2 em{font-style:italic;color:var(--accent)}

.prose{max-width:62ch}
.prose p{font-family:var(--body);font-size:1rem;line-height:1.75;color:#c4c4c4;margin:0 0 1rem}
.prose p strong{color:var(--fg);font-weight:500}
.prose p:last-child{margin-bottom:0}

.items{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.items li{background:var(--bg);padding:1.75rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;transition:background .4s}
.items li:hover{background:#060809}
.items .i-n{font-family:var(--mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.items li:hover .i-n{color:var(--accent)}
.items .i-t strong{display:block;font-family:var(--display);font-size:1.25rem;font-weight:400;letter-spacing:-.01em;color:var(--fg);margin-bottom:.4rem}
.items .i-t p{font-family:var(--body);font-size:.92rem;line-height:1.6;color:#a8a8a8;margin:0}

.stack{display:flex;flex-wrap:wrap;gap:.5rem}
.tag{display:inline-block;padding:.45rem .85rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;color:var(--muted);border:1px solid var(--line);text-transform:uppercase;transition:all .3s}
.tag:hover{color:var(--accent);border-color:var(--accent)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:.5rem}
.step{background:var(--bg);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:background .4s}
.step:hover{background:#060809}
.step .s-n{font-family:var(--mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}
.step h4{font-family:var(--display);font-size:1.3rem;font-weight:400;letter-spacing:-.015em;color:var(--fg);margin:0}
.step p{font-family:var(--body);font-size:.88rem;line-height:1.6;color:#a8a8a8;margin:0}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.tier{background:var(--bg);padding:2.25rem 1.75rem;display:flex;flex-direction:column;gap:1rem;position:relative;transition:background .4s}
.tier:hover{background:#060809}
.tier.hot{background:#03080a;border-top:1px solid var(--accent)}
.tier .t-k{font-family:var(--mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}
.tier.hot .t-k{color:var(--accent)}
.tier h3{font-family:var(--display);font-size:1.8rem;font-weight:400;letter-spacing:-.015em;color:var(--fg);margin:0}
.tier .t-price{font-family:var(--mono);font-size:1.1rem;font-weight:500;color:var(--accent);letter-spacing:-.01em;padding-bottom:1rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.25rem}
.tier .t-price small{font-size:.62rem;letter-spacing:.25em;color:var(--muted);font-weight:400;text-transform:uppercase}
.tier ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;flex:1}
.tier ul li{font-family:var(--body);font-size:.88rem;line-height:1.5;color:#b8b8b8;padding-left:1rem;position:relative}
.tier ul li::before{content:"·";position:absolute;left:0;color:var(--accent);font-weight:700}
.tier ul li strong{color:var(--fg);font-weight:500}
.tier .t-cta{margin-top:auto}
.btn{display:inline-flex;align-items:center;gap:.75rem;padding:.85rem 1.5rem;border:1px solid var(--line);color:var(--fg);font-family:var(--mono);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;transition:all .35s}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.btn.primary:hover{background:transparent;color:var(--accent)}
.btn .arr{transition:transform .3s}
.btn:hover .arr{transform:translateX(4px)}

.next{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;border:1px solid var(--line);margin-top:1rem;transition:all .35s;color:var(--fg)}
.next:hover{border-color:var(--accent);background:#060809}
.next .n-k{font-family:var(--mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.next:hover .n-k{color:var(--accent)}
.next .n-t{font-family:var(--display);font-size:1.2rem;color:var(--fg)}
.next .n-arr{font-family:var(--mono);color:var(--accent);font-size:1.1rem;transition:transform .35s}
.next:hover .n-arr{transform:translateX(6px)}

.contact{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:2.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-mail{font-family:var(--display);font-size:clamp(1.6rem,4vw,2.8rem);font-weight:400;letter-spacing:-.02em;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:.25rem;transition:opacity .3s}
.contact-mail:hover{opacity:.75}
.contact-meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);line-height:2}

/* ===== FOOTER ===== */
.foot{padding:2.5rem 3rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:1rem}
.foot a{color:var(--muted)}
.foot a:hover{color:var(--accent)}

/* ===== RESPONSIVE ===== */
@media (max-width:1000px){
  .tile-grid{grid-template-columns:repeat(2,1fr)}
  .nav{padding:1.2rem 1.5rem}
  .nav ul{gap:1.3rem}
  .nav ul a{font-size:.62rem;letter-spacing:.2em}
  .foot{padding:2rem 1.5rem}
  .steps{grid-template-columns:repeat(2,1fr)}
  .tiers{grid-template-columns:1fr}
  .studio-intro{flex-direction:column;align-items:flex-start}
  .studio-intro h1{white-space:normal}
}
@media (max-width:640px){
  .tile-grid{grid-template-columns:1fr}
  .nav{flex-wrap:wrap;position:relative}
  .nav-logo{order:1}
  .nav-lang{order:2;margin-left:auto;margin-right:1rem}
  .nav-burger{order:3;display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;cursor:pointer}
  .nav-burger span{display:block;width:22px;height:2px;background:var(--fg);transition:transform .25s,opacity .25s}
  .nav-toggle:checked~.nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle:checked~.nav-burger span:nth-child(2){opacity:0}
  .nav-toggle:checked~.nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav ul{display:none;order:10;flex-basis:100%;flex-direction:column;gap:0;padding:1rem 0 .5rem;margin-top:1rem;border-top:1px solid var(--line)}
  .nav-toggle:checked~ul{display:flex}
  .nav ul li{padding:.85rem 0}
  .nav ul a{font-size:.75rem}
  .splash-h{font-size:clamp(3.5rem,20vw,7rem)}
  .splash-enter{padding:.9rem 2rem;font-size:.65rem}
  .studio-intro{padding:1.5rem 1.25rem}
  .tile{padding:2rem 1.75rem;min-height:320px}
  .foot{flex-direction:column;text-align:center}
  .items{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .page{padding:2.5rem 1.25rem 4rem}
  .contact-mail{word-break:break-all}
  .gen-frame{height:70vh}
}

/* ===== GENERATOR (Skapa / Create) ===== */
.beta{display:inline-block;margin-left:.5rem;padding:.18rem .45rem;font-family:var(--mono);font-size:.55rem;letter-spacing:.25em;color:var(--accent);border:1px solid var(--accent);border-radius:2px;vertical-align:middle}
.gen-frame{position:relative;width:100%;height:82vh;min-height:640px;border:1px solid var(--line);background:var(--bg);overflow:hidden}
.gen-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--bg)}
.gen-cover{position:absolute;top:0;left:0;right:0;height:0;background:var(--bg);z-index:2;pointer-events:none}
.gen-fs{position:absolute;top:10px;right:10px;z-index:3;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:rgba(10,12,16,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:4px;color:rgba(255,255,255,.7);cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-size:14px;line-height:1;padding:0}
.gen-fs:hover{background:rgba(10,12,16,.6);color:#fff;border-color:var(--accent)}
.gen-fs svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}
.gen-frame:fullscreen{border:0;height:100vh;min-height:0}
.gen-frame:fullscreen .gen-iframe{inset:0}

/* ===== KORT / CARDS PREVIEW ===== */
.card-preview{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;padding:1.5rem 0 2rem;margin:1rem 0 2rem}
.card-mock{flex:1 1 360px;max-width:460px;display:flex;flex-direction:column;gap:.65rem}
.card-mock-label{font-family:var(--mono);font-size:.58rem;letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}
.card-mock svg{width:100%;height:auto;display:block;background:#efede4;border:1px solid rgba(255,255,255,.06);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.6)}
@media (max-width:640px){.card-preview{gap:1.25rem;padding:1rem 0}}
