/* 1. Tokens & Basics */
:root{
  --bg: #0b0f14;
  --bg-2: #0a141a;
  --peach: #FF7A60;
  --peach-2: #FFB39E;
  --mint: #2DE2C9;
  --mint-2: #4FF0D0;
  --text: #eafff6;
  --muted: #b8e8d9;
  --surface: rgba(255,255,255,.08);
  --surface-2: rgba(255,255,255,.14);
  --border: rgba(255,255,255,.25);
  --shadow: 0 8px 24px rgba(0,0,0,.28);
  --radius: 14px;
  --radius-sm: 10px;
}
html, body { height: 100%; }
html { -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif; }

/* Layered, GPU-friendly background (gradient + subtle noise/scanlines) */
body {
  margin: 0;
  color: var(--text);
  min-height: 100dvh;
  background-color: var(--bg);
  background-image:
    linear-gradient(135deg, rgba(255,122,96,.28) 0, rgba(45,226,201,.20) 60%, rgba(0,0,0,0) 100%),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.04) 0 1px, transparent 1px 2px),
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.08), transparent 40%),
    linear-gradient(#0b0f14, #0a0f14);
  background-blend-mode: overlay, overlay, screen, normal;
  color-scheme: dark;
  text-rendering: optimizeLegibility;
}

/* 2. Layout helpers */
.container { width: min(92vw, 1200px); margin: 0 auto; padding-inline: 1rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem; box-shadow: var(--shadow); }

/* 3. Typography & sections */
header, nav, main, article, aside, footer { display: block; }
header { text-align: center; padding: 1.25rem 1rem; }
header h1 { font-size: clamp(1.6rem, 1.2vw + 1rem, 3rem); line-height: 1.15; margin: .15rem 0 0.25rem; }
header .meta { font-size: .92rem; color: var(--muted); margin-top: .25rem; }
nav { margin-top: .4rem; }
nav a { display: inline-block; padding: .5rem .75rem; border-radius: 999px; color: var(--text); border: 1px solid rgba(255,255,255,.25); text-decoration: none; }
nav a:hover, nav a:focus { background: rgba(255,255,255,.08); text-decoration: underline; outline: none; }

/* 4. Content surfaces (glass panels) */
.content, .product-ad { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.25); border-radius: var(--radius); padding: 1rem; backdrop-filter: blur(12px) saturate(1.2); -webkit-backdrop-filter: blur(12px); box-shadow: var(--shadow); }
.content { max-width: 70ch; margin: 0 auto; }
.image-frame, .featured-image { border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,.25); background: #000; }
.image-frame { aspect-ratio: 16 / 9; width: min(100%, 860px); margin: 1rem auto; box-shadow: 0 6px 18px rgba(0,0,0,.28); }
.image-frame img, .featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 5. Interactive elements (buttons/links) */
a, button, .btn, .cta { color: var(--text); text-decoration: none; font: inherit; }
a:hover, a:focus { text-decoration: underline; outline: none; }
.btn, .cta { display: inline-block; padding: .7rem 1.15rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.35); background: rgba(0,0,0,.15); cursor: pointer; transition: transform .15s ease, background .2s ease; }
.btn.primary { background: linear-gradient(135deg, var(--mint), var(--mint-2)); border-color: rgba(0,0,0,.15); color: #032; font-weight: 600; }
.btn.outline { background: transparent; border-color: rgba(46,226,201,.8); color: var(--text); }
.btn:hover { transform: translateY(-1px); }
.btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(46,226,152,.65); outline-offset: 2px; }

/* 6. Typography helpers & lists */
ul, ol { padding-left: 1.25rem; }
li { margin: .25rem 0; }
.section { margin: 1rem 0; }

/* 7. Print & motion preferences */
@media print {
  body { background: white; color: black; }
  a { text-decoration: underline; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}

/* 8. Accessibility helpers for sections/parts commonly used */
aside { display: none; } /* reserved for future side content */
.section-header { font-weight: 700; margin-bottom: .4rem; font-size: clamp(1.1rem, .8vw + 0.9rem, 1.4rem); }

 /* 9. Generic utilities (minor) */
.tag { display: inline-block; padding: .25em .6em; border-radius: 999px; font-size: .75rem; background: rgba(45,226,201,.25); color: #eafff5; border: 1px solid rgba(45,226,201,.6); }