/* Super Pig Studio — theme.css (clean SaaS-style redesign) */
:root{
  --bg:#f7f7f8; --panel:#ffffff; --panel2:#fbfbfa; --line:#ececec;
  --text:#101113; --muted:#6c6c74;
  --art:#ff6b3d;   --art-soft:#ffe7dc; --art-dark:#c94f28;
  --game:#22c3ac;  --game-soft:#d9f7f2; --game-dark:#189482;
  --app:#7c6af2;   --app-soft:#ece8fe; --app-dark:#5c4bd1;
  --header-bg:#ffffff;
  --shadow:0 1px 2px rgba(16,17,19,.04), 0 10px 28px rgba(16,17,19,.06);
  --radius:16px;
  /* nav + neutral buttons invert against the page background */
  --nav-bg:#111113; --nav-text:#f6f6f7; --nav-muted:#a7a8b0;
  --nav-chip-bg:rgba(255,255,255,.08); --nav-chip-border:rgba(255,255,255,.16);
  --invert-bg:#111113; --invert-text:#ffffff;
}
:root[data-theme="dark"]{
  --bg:#0e0f12; --panel:#17181d; --panel2:#1c1e24; --line:#2a2c33;
  --text:#edeef0; --muted:#93949c;
  --art-soft:#3a2015; --game-soft:#12312c; --app-soft:#241f3d;
  --header-bg:#17181d;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 10px 28px rgba(0,0,0,.35);
  --nav-bg:#ffffff; --nav-text:#111113; --nav-muted:#6c6c74;
  --nav-chip-bg:rgba(0,0,0,.05); --nav-chip-border:rgba(0,0,0,.12);
  --invert-bg:#ffffff; --invert-text:#111113;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  transition:background-color .2s ease, color .2s ease;
}
h1,h2,h3,.disp{font-family:'Inter',sans-serif;font-weight:800;letter-spacing:-0.02em;line-height:1.08;margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.muted{color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600}

/* header — floating rounded nav bar */
.site-header{position:sticky;top:0;z-index:50;background:transparent;padding:16px 20px 0}
.nav{display:flex;align-items:center;justify-content:space-between;max-width:1080px;margin:0 auto;
  padding:10px 10px 10px 20px;background:var(--nav-bg);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow)}
.logo{font-family:'Inter';font-weight:800;font-size:17px;letter-spacing:-0.01em;color:var(--nav-text)}
.logo span{color:var(--art)}
.navlinks{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;font-size:14px;color:var(--nav-muted)}
.navlinks a{transition:color .15s}
.navlinks a:hover,.navlinks a.active{color:var(--nav-text)}
.navtoggle{display:none;background:var(--nav-chip-bg);border:1px solid var(--nav-chip-border);color:var(--nav-text);width:36px;height:36px;border-radius:999px;font-size:16px;cursor:pointer}
.theme-toggle{background:var(--nav-chip-bg);border:1px solid var(--nav-chip-border);color:var(--nav-text);width:36px;height:36px;border-radius:999px;
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;flex:none}
.theme-toggle svg{width:16px;height:16px}
.theme-toggle .icon-moon{display:none}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:none}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:block}
@media(max-width:780px){
  .navlinks{position:fixed;inset:76px 16px auto 16px;background:var(--nav-bg);border:1px solid var(--line);border-radius:20px;
    box-shadow:var(--shadow);flex-direction:column;padding:22px 24px;gap:18px;font-size:16px;display:none;align-items:flex-start}
  .navlinks.open{display:flex}
  .navtoggle{display:block}
}

/* buttons / chips */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:10px;font-size:14px;font-weight:600;
  border:1px solid var(--line);transition:transform .15s ease, box-shadow .15s ease}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-art{background:linear-gradient(135deg,#ff8a5c,var(--art));color:#fff;border-color:transparent}
.btn-game{background:linear-gradient(135deg,#4fe0c9,var(--game));color:#06322c;border-color:transparent}
.btn-app{background:linear-gradient(135deg,#9c8ef7,var(--app));color:#fff;border-color:transparent}
.btn-ghost{background:var(--invert-bg);color:var(--invert-text);border-color:transparent}
.btn-ghost:hover{opacity:.88;border-color:transparent}
.store-icon{width:17px;height:17px;flex:none;margin-right:2px}
.btn.store-btn{display:inline-flex;align-items:center;gap:8px}

/* hero */
.hero{position:relative;overflow:hidden;padding:64px 0 80px}
.hero .wrap{position:relative;z-index:1}
.hero .eyebrow{margin-bottom:22px;background:var(--panel);border:1px solid var(--line);color:var(--muted);box-shadow:var(--shadow)}
.hero h1{font-size:clamp(36px,6vw,68px);max-width:16ch;margin-bottom:22px;color:var(--text)}
.hero p{max-width:54ch;color:var(--muted);font-size:17px;margin:0 0 34px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
/* only forced-light text when a real photo/video sits behind the hero */
.hero.has-image{border-radius:24px;margin:0 20px;padding:80px 40px}
.hero.has-image h1{color:#f7f7f8}
.hero.has-image p{color:#d3d4da}

/* watch-video link on detail pages */
.watch-video{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:14px;font-weight:600;
  border:1px solid var(--line);padding:11px 18px;border-radius:999px;background:var(--panel);cursor:pointer}
.watch-video svg{width:13px;height:13px}
.watch-video:hover{border-color:currentColor}

/* video modal (shared, plays YouTube or direct video links) */
.video-overlay{position:fixed;inset:0;background:rgba(10,10,12,.88);display:none;align-items:center;justify-content:center;z-index:200;padding:24px}
.video-overlay.open{display:flex}
.video-box{position:relative;width:100%;max-width:960px;aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}
.video-box iframe,.video-box video{width:100%;height:100%;border:0;display:block}
.video-box img{width:100%;height:100%;object-fit:contain;display:block;background:#0b0b0d}
.video-close{position:absolute;top:-46px;right:0;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;
  width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:16px}

/* screenshots gallery on detail pages */
.block-title{font-family:'Inter';font-weight:700;letter-spacing:-0.01em;font-size:20px;margin:4px 0 18px}
.shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.shots img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;cursor:pointer;border:1px solid var(--line);
  transition:transform .15s ease;box-shadow:var(--shadow)}
.shots img:hover{transform:translateY(-3px)}

/* section shell */
.sec{padding:64px 0}
.sec.panel{background:transparent}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}
.sechead h2{font-size:clamp(26px,3.6vw,38px)}
.sechead .desc{font-size:13.5px;color:var(--muted);max-width:34ch;text-align:right}
@media(max-width:700px){.sechead{flex-direction:column;align-items:flex-start}.sechead .desc{text-align:left}}

/* stats strip — individual cards */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:8px 0 12px}
@media(max-width:780px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.stat b{display:block;font-weight:800;font-size:32px;letter-spacing:-0.02em}
.stat span{font-size:13px;color:var(--muted)}

/* art portfolio — image on top, clean white content below */
.afeatured{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--panel);
  margin-bottom:14px;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.afeatured .swatch{width:100%;aspect-ratio:21/9;background-size:cover;background-position:center;transition:transform .4s ease}
.afeatured:hover .swatch{transform:scale(1.02)}
.afeatured .info{padding:22px 24px}
.afeatured h3{font-weight:700;font-size:20px;letter-spacing:-0.01em;margin-bottom:8px;color:var(--text)}
.afeatured .svc{display:inline-flex;padding:5px 12px;border-radius:999px;background:var(--art-soft);color:var(--art-dark);font-size:12px;font-weight:600}
@media(max-width:700px){.afeatured .swatch{aspect-ratio:4/3}}

.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}
@media(max-width:900px){.agrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.agrid{grid-template-columns:1fr}}
.atile{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--panel);
  display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .15s ease}
.atile:hover{transform:translateY(-3px)}
.atile .swatch{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;transition:transform .4s ease}
.atile:hover .swatch{transform:scale(1.04)}
.atile .info{padding:16px 18px}
.atile h3{font-weight:700;font-size:16px;letter-spacing:-0.01em;margin-bottom:8px;color:var(--text)}
.atile .svc{display:inline-flex;padding:4px 11px;border-radius:999px;background:var(--art-soft);color:var(--art-dark);font-size:11px;font-weight:600}

/* product cards (games / apps) */
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pgrid{grid-template-columns:1fr}}
.pcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);
  transition:transform .15s ease}
.pcard:hover{transform:translateY(-3px)}
.picon{width:100%;aspect-ratio:1;border-radius:14px;margin-bottom:16px;background-size:cover;background-position:center}
.pcard h3{font-weight:700;font-size:16px;letter-spacing:-0.01em;margin-bottom:8px}
.pcard .genre{display:inline-flex;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:600;margin-bottom:12px}
.sec.games .genre{background:var(--game-soft);color:var(--game-dark)}
.sec.apps .genre{background:var(--app-soft);color:var(--app-dark)}
.plat{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.plat span{border:1px solid var(--line);padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.plat span .store-icon{width:12px;height:12px;margin-right:0}

/* detail page */
.detail-hero{padding:48px 0 0}
.detail-media{width:100%;aspect-ratio:16/7;border-radius:var(--radius);background-size:cover;background-position:center;
  border:1px solid var(--line);margin:24px 0 36px;box-shadow:var(--shadow)}
.detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;padding-bottom:70px}
@media(max-width:860px){.detail-grid{grid-template-columns:1fr}}
.detail-body p{color:var(--muted);font-size:16px;margin:0 0 18px}
.detail-side{border:1px solid var(--line);border-radius:var(--radius);padding:24px;height:max-content;background:var(--panel);box-shadow:var(--shadow)}
.detail-side dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:16px}
.detail-side dt:first-child{margin-top:0}
.detail-side dd{margin:4px 0 0;font-size:15px;font-weight:600}
.detail-side .btn{width:100%;justify-content:center;margin-top:20px}
.back-link{font-size:13px;color:var(--muted);display:inline-flex;align-items:center;gap:6px;margin-bottom:18px}
.back-link:hover{color:var(--text)}

/* about / contact */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}
.field input,.field textarea{width:100%;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--text);font-family:inherit;font-size:14px}
.field textarea{min-height:120px;resize:vertical}

/* legal / policy pages */
.legal{max-width:740px}
.legal h2{font-weight:700;letter-spacing:-0.01em;font-size:20px;margin:34px 0 12px}
.legal p,.legal li{color:var(--muted);font-size:15.5px}
.legal ul{padding-left:20px;margin:0 0 14px}
.legal li{margin-bottom:6px}

footer{border-top:1px solid var(--line);padding:40px 0;color:var(--muted);font-size:13px}
.footrow{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
.footrow a{margin-right:16px}
.footrow a:hover{color:var(--text)}
