:root{
  --bg:#0b0c0f;
  --surface:oklch(0.19 0.006 260 / 0.7);
  --surface-2:oklch(0.24 0.006 260);
  --border:oklch(0.3 0.008 260 / 0.8);
  --border-strong:oklch(0.45 0.01 260);
  --text:oklch(0.97 0.005 260);
  --muted:oklch(0.72 0.015 260);
  --subtle:oklch(0.58 0.015 260);
  --accent:oklch(0.93 0.02 95);
  --glow-warm:oklch(0.75 0.12 70 / 0.16);
  --glow-cool:oklch(0.65 0.14 255 / 0.18);
  --green:oklch(0.8 0.17 150);
  --radius:18px;
  --max:1160px;
  --font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;min-height:100vh;display:flex;flex-direction:column;
  font-family:var(--font);color:var(--text);background:var(--bg);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  position:relative;overflow-x:hidden;
}
/* ambient background: two soft glows + faint grid fading out */
body::before{
  content:"";position:absolute;inset:0 0 auto 0;height:820px;z-index:-1;pointer-events:none;
  background:
    radial-gradient(560px 380px at 32% 6%,var(--glow-warm),transparent 70%),
    radial-gradient(620px 420px at 68% 14%,var(--glow-cool),transparent 70%);
}
body::after{
  content:"";position:absolute;inset:0 0 auto 0;height:720px;z-index:-1;pointer-events:none;
  background-image:
    linear-gradient(oklch(1 0 0 / 0.035) 1px,transparent 1px),
    linear-gradient(90deg,oklch(1 0 0 / 0.035) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 30%,transparent 80%);
          mask-image:radial-gradient(ellipse 70% 60% at 50% 0%,#000 30%,transparent 80%);
}

a{color:var(--accent);text-decoration:none;transition:color .15s ease}
a:hover{color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

.container{max-width:var(--max);margin:0 auto;width:100%;padding:0 32px}
.container.narrow{max-width:860px}

/* header */
.site-header{
  position:sticky;top:0;z-index:10;
  background:oklch(0.14 0.005 260 / 0.6);
  -webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid oklch(1 0 0 / 0.06);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-0.02em;color:var(--text)}
.brand:hover{color:var(--text)}
.brand img{display:block;border-radius:9px;box-shadow:0 4px 14px -4px oklch(0.65 0.14 255 / .45);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.brand:hover img{transform:translateY(-1px) rotate(-6deg);box-shadow:0 6px 20px -4px oklch(0.65 0.14 255 / .6)}
.brand .tld{color:var(--subtle);font-weight:500}
.nav{display:flex;gap:4px;font-size:14px}
.nav a{color:var(--muted);padding:8px 12px;border-radius:999px}
.nav a:hover,.nav a[aria-current="page"]{color:var(--text);background:oklch(1 0 0 / 0.06)}

/* hero */
.hero{padding:104px 0 64px;text-align:center}
.hero .container{display:flex;flex-direction:column;align-items:center}
.pill{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.02em;
  color:oklch(0.85 0.01 260);background:oklch(0.2 0.006 260 / 0.7);
  border:1px solid var(--border);padding:6px 14px;border-radius:999px;margin-bottom:24px;
}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 oklch(0.8 0.17 150 / .6);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 oklch(0.8 0.17 150 / .55)}70%{box-shadow:0 0 0 8px oklch(0.8 0.17 150 / 0)}100%{box-shadow:0 0 0 0 oklch(0.8 0.17 150 / 0)}}
.hero h1{font-size:clamp(36px,5.6vw,60px);font-weight:750;letter-spacing:-0.04em;line-height:1.06;margin:0 0 20px}
.hero h1 .accent{
  background:linear-gradient(90deg,oklch(0.9 0.07 75),var(--accent) 45%,oklch(0.8 0.1 250));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{font-size:clamp(16px,1.6vw,18px);line-height:1.65;color:var(--muted);max-width:500px;margin:0}

/* services */
.services{padding:0 0 112px;flex:1}
.section-label{
  display:flex;align-items:center;gap:16px;max-width:740px;margin:0 auto 28px;
  font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle);
}
.section-label::before,.section-label::after{content:"";flex:1;height:1px}
.section-label::before{background:linear-gradient(90deg,transparent,var(--border))}
.section-label::after{background:linear-gradient(90deg,var(--border),transparent)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),360px));justify-content:center;gap:20px}

.card{
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);
  color:var(--text);
  transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s ease,box-shadow .25s ease;
}
a.card:hover{color:var(--text);transform:translateY(-4px);border-color:var(--border-strong);box-shadow:0 24px 60px -12px oklch(0 0 0 / .55),0 0 0 1px oklch(1 0 0 / .04) inset}
.card-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid var(--border);background:var(--surface-2)}
.card-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
a.card:hover .card-thumb img{transform:scale(1.04)}
.card-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,oklch(0.17 0.006 260 / .55))}
.badge{
  position:absolute;top:12px;left:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:600;letter-spacing:.02em;color:var(--text);
  background:oklch(0.15 0.005 260 / .7);border:1px solid oklch(1 0 0 / .1);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  padding:4px 10px;border-radius:999px;
}
.badge .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.card-body{display:flex;flex-direction:column;gap:8px;padding:22px 24px 24px;flex:1}
.card-title{font-size:18px;font-weight:650;letter-spacing:-0.01em}
.card-desc{font-size:14.5px;line-height:1.55;color:var(--muted)}
.card-cta{margin-top:auto;padding-top:12px;font-size:13.5px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:6px}
.card-cta .arrow{transition:transform .25s ease}
a.card:hover .card-cta .arrow{transform:translateX(4px)}

.card.placeholder{
  align-items:center;justify-content:center;text-align:center;gap:10px;padding:32px;min-height:260px;
  background:transparent;border-style:dashed;color:var(--subtle);font-size:14px;
}
.card.placeholder .plus{width:40px;height:40px;border-radius:12px;border:1px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--muted)}

/* app cards: centered icon instead of a full-bleed screenshot */
.card-thumb.app-thumb{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,oklch(0.32 0.06 155),oklch(0.18 0.02 160) 75%)}
.card-thumb.app-thumb img{width:120px;height:120px;border-radius:22.5%;box-shadow:0 18px 40px -12px oklch(0 0 0 / .7)}
a.card:hover .card-thumb.app-thumb img{transform:scale(1.06)}
.card-thumb.app-thumb::after{display:none}

/* app page */
.app-icon{display:block;width:128px;height:128px;border-radius:22.5%;box-shadow:0 24px 60px -16px oklch(0.6 0.15 155 / .45),0 0 0 1px oklch(1 0 0 / .08);margin-bottom:28px}
.app-section{padding:0 0 72px}
.app-section .container{max-width:860px}
.app-section h2{font-size:22px;font-weight:700;letter-spacing:-0.02em;margin:0 0 20px}
.app-section p{font-size:15.5px;line-height:1.7;color:var(--muted);margin:0 0 14px}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}
.feature{padding:22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}
.feature h3{font-size:16px;font-weight:650;margin:0 0 8px}
.feature p{font-size:14.5px;line-height:1.6;margin:0}
.feature ul{margin:0;padding-left:18px;font-size:14.5px;line-height:1.6;color:var(--muted)}
.feature li{margin:0 0 6px}
.feature .price{font-size:13px;font-weight:600;color:var(--green);margin:0 0 10px}

/* footer */
.site-footer{border-top:1px solid oklch(1 0 0 / 0.07)}
.site-footer .container{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;padding-bottom:28px;font-size:13px;color:var(--subtle)}
.site-footer nav{display:flex;gap:20px}
.site-footer a{color:var(--muted)}
.site-footer a:hover{color:var(--text)}

/* legal pages */
.legal{padding:64px 0 96px;flex:1}
.legal-content{font-size:15px;line-height:1.75;color:oklch(0.78 0.012 260);overflow-wrap:break-word}
.legal-content h1{font-size:clamp(28px,4vw,38px);font-weight:750;letter-spacing:-0.03em;line-height:1.15;margin:0 0 36px;color:var(--text)}
.legal-content h2{font-size:19px;font-weight:700;letter-spacing:-0.01em;margin:40px 0 12px;color:var(--text)}
.legal-content h3{font-size:16px;font-weight:700;margin:28px 0 10px;color:var(--text)}
.legal-content h4{font-size:15px;font-weight:700;margin:22px 0 8px;color:var(--text)}
.legal-content p{margin:0 0 16px}
.legal-content ul{margin:0 0 16px;padding-left:20px}
.legal-content li{margin:0 0 8px}
.legal-divider{border:none;border-top:1px solid var(--border);margin:64px 0}

@media (max-width:640px){
  .container{padding:0 16px}
  .site-header .container{height:60px}
  .nav a{padding:6px 8px;font-size:13px}
  .nav .hide-sm{display:none}
  .card.placeholder{min-height:140px}
  .hero{padding:56px 0 36px}
  .legal{padding:40px 0 64px}
  .site-footer .container{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
