:root{
  /* Palette tokens (olive + crimson) */
  --bg: #1b1f14;
  --bg-2: #2a3511;
  --text: #e9f3d8;
  --muted: #a8b79a;
  --accent: #b01828;
  --accent-2: #e31a3a;
  --glass: rgba(255,255,255,0.08);
  --glass-2: rgba(255,255,255,0.18);
  --stroke: rgba(255,255,255,0.28);
  --ring: 0 0 0 3px rgba(224, 36, 36, 0.9);
  --shadow: 0 6px 20px rgba(0,0,0,.35);
}

/* Base / Layout Utilities */
*{box-sizing:border-box}
html, body{height:100%}
html{font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif}
body{
  margin:0;
  color:var(--text);
  background:
    linear-gradient(135deg, rgba(28,35,17,.95) 0%, rgba(16,20,10,.95) 60%, rgba(18,22,10,.95) 100%),
    radial-gradient(circle at 15% 0%, rgba(0,0,0,.25), transparent 40%),
    radial-gradient(circle at 95% 0%, rgba(0,0,0,.25), transparent 40%);
  background-blend-mode: overlay, overlay, normal;
  min-height:100%;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  color-scheme: dark;
  position:relative;
}
body::before{
  content:"";
  position:fixed; inset:0;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.04) 0px, rgba(0,0,0,.04) 1px, transparent 1px, transparent 2px
    ),
    linear-gradient(to bottom, rgba(0,0,0,.15), rgba(0,0,0,.0) 40%, rgba(0,0,0,.15) 100%);
  mix-blend-mode: overlay;
  pointer-events:none;
  opacity:.38;
}
body::after{
  content:"";
  position:fixed; inset:0;
  background: radial-gradient(circle at 50% 50%, rgba(0,0,0,.08), transparent 60%);
  mix-blend-mode: overlay;
  pointer-events:none;
  opacity:.25;
}
img{max-width:100%; display:block}

/* Section headers (sectioning) */
 /* Base */ 
html, body, header, nav, main, article, aside, footer{ display:block }

/* Structure */
.container{width:100%; max-width: clamp(340px, 92vw, 1120px); margin-inline:auto; padding-inline: clamp(14px, 4vw, 28px)}
.grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1rem}
.card{ background: var(--glass); border:1px solid var(--stroke); border-radius:12px; padding: .9rem; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.aside{ background: var(--glass); border:1px solid var(--stroke); border-radius:12px; padding:.9rem; }

/* Typography & headings */
h1{ font-size: clamp(1.6rem, 1.6rem + 1vw, 2.6rem); line-height:1.15; margin:.2em 0 .5em; letter-spacing:.2px; color:var(--text) }
p{ margin:0 0 0.9rem; color: var(--muted); line-height:1.5 }
.content{ padding:1rem; border-radius:12px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.25); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }

/* Header / Nav / Hero */}
header{ text-align:center; padding: clamp(14px, 4vw, 28px) 0; position:relative; z-index:2 }
header h1{ color:var(--text); font-weight:700; text-shadow:0 1px 0 rgba(0,0,0,.4) }
nav{ display:flex; justify-content:center; gap:.75rem; padding-top:.25rem }
nav a{ color:var(--text); text-decoration:none; padding:.4rem .75rem; border-radius:8px; border:1px solid rgba(255,255,255,.25); background: rgba(0,0,0,.25) }
a{ color:inherit; text-decoration:none }
a:hover{ text-decoration:underline }
a:focus-visible, button:focus-visible{ outline:3px solid rgba(255,255,255,.95); outline-offset:2px; }

/* Image frame styling */
.image-frame{ aspect-ratio: 16 / 9; width:100%; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.28); box-shadow: var(--shadow); background: rgba(0,0,0,.25) }
.image-frame img{ width:100%; height:100%; object-fit:cover; display:block; filter: saturate(0.95) contrast(1.02) }

/* Footer / CTAs / ads */
footer{ padding: clamp(14px, 4vw, 28px); display:grid; gap:.6rem; justify-items:center; align-items:center; color:var(--muted) }
.product-ad a, .sponsored-page a{ display:block; text-align:center; padding:.75rem 1rem; border-radius:9px; border:1px solid rgba(255,255,255,.28); background: rgba(0,0,0,.28); color: var(--text); transition: transform .15s ease, background .2s ease }
.product-ad a:hover, .sponsored-page a:hover{ transform: translateY(-1px); background: rgba(0,0,0,.34) }
.product-ad p, .sponsored-page p{ margin:.25rem 0 0; font-size:.95rem; }
footer p{ font-size:.9rem; color:var(--muted) }

/* Utility visuals */
.tag{ display:inline-block; padding:.15em .5em; border-radius:999px; font-size:.75rem; background: rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.25); color:var(--text) }

/* Glass panels with fallback */
.glass{ background: var(--glass); border:1px solid var(--stroke); border-radius:12px; padding:.75rem; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px) }
@supports not (backdrop-filter: blur(8px)){
  .glass{ background: rgba(0,0,0,.25); border-color: rgba(255,255,255,.4) }
}

/* Forms (minimal) */
input, textarea, select, button{ font-family:inherit; font-size:1rem; color:var(--text) }
input, button{ background: rgba(0,0,0,.25); border:1px solid rgba(255,255,255,.3); border-radius:6px; padding:.5rem .75rem; }
button, .btn, .cta{ cursor:pointer; }

/* Accessibility: focus visibility on interactive elements */
:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }

/* Responsive tweaks */
@media (min-width: 720px){
  main{ padding: clamp(18px, 3vw, 48px) 0 }
}
@media (prefers-reduced-motion: reduce){
  * { transition: none !important; animation: none !important }
}

/* Print readability */
@media print{
  body{ background: #fff; color:#000; }
  a{ text-decoration:underline }
  header, footer{ display:none }
}