:root{
  --bg: #0a1020;
  --bg-2: #0b1a2b;
  --surface: rgba(15, 23, 42, 0.28);
  --text: #eaf2ff;
  --muted: #b7c2d9;
  --khaki: #d6c56d;
  --khaki-2: #c5b565;
  --navy: #0a1a36;
  --accent: #d6c56d;
  --accent-2: #1a2b58;
  --ring: 2px solid rgba(255, 236, 122, 0.95);
  --shadow: 0 6px 20px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html, body{height:100%}
html, body{
  margin:0;
  color:var(--text);
  background:
    linear-gradient(135deg, rgba(9,12,28,.95), rgba(2,6,20,.95)),
    repeating-linear-gradient(to right, rgba(180,170,110,.08) 0 1px, transparent 1px 40px),
    repeating-linear-gradient(to bottom, rgba(180,170,110,.08) 0 1px, transparent 1px 40px);
  background-blend-mode: overlay;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
  line-height:1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
html{font-size:16px}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
ul{margin:0; padding-left:1.25rem}
li{margin:.25rem 0}
.container{width:min(100%, 1200px); margin-inline:auto; padding-inline:1rem}
.grid{display:grid; gap:1rem}
.card{ border-radius:12px; padding:1rem; background: rgba(12,20,40,.28);
  border:1px solid rgba(255,255,255,.25);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
}
@supports not (backdrop-filter: blur(12px)){
  .card{ background: rgba(12,20,40,.56); }
}
header, nav, main, article, footer, aside{ display:block }
header, main, footer{ padding: .75rem 0 }
header{
  padding:1rem 0;
  text-align:center;
  margin: .5rem auto;
  border-radius:14px;
  background: rgba(10,14,30,.28);
  border:1px solid rgba(255,255,255,.25);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
header h1{ font-size: clamp(1.6rem, 2.5vw + 1rem, 3.2rem); line-height:1.08; margin:.25rem 0 .5rem; letter-spacing:.2px }
header .meta{ color:var(--muted); font-size: clamp(0.9rem, 1vw, 1.05rem); margin:.25rem 0 0 }
nav{ margin-top:.25rem }
nav a{ padding:.4rem .6rem; border-radius:6px; border:1px solid rgba(255,255,255,.25);
  color:var(--text); background: rgba(0,0,0,.25); transition: transform .2s ease, background .2s ease;
}
nav a:hover{ text-decoration:underline; background: rgba(0,0,0,.35) }
main{ padding: .25rem 0 1rem; }
article{ max-width: clamp(320px, 90vw, 900px); margin-inline:auto; padding: .5rem 0 1rem }
.featured-image{ margin:.75rem 0 }
.image-frame{ aspect-ratio:16/9; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.25);
  background:#111; display:block; box-shadow: 0 4px 14px rgba(0,0,0,.25) inset
}
.image-frame img{ width:100%; height:100%; object-fit:cover; display:block; }

h2{ font-size: clamp(1.4rem, 2.2vw + .5rem, 2rem); margin: .75rem 0 .5rem; color: var(--text) }
h3{ font-size: clamp(1.1rem, 1.8vw, 1.4rem); margin:.75rem 0; color:var(--text) }
p{ color:var(--muted); margin:.5rem 0 1rem }
blockquote{ margin: .75rem 0; padding-inline: .75rem; border-left: 3px solid var(--accent); color: var(--text); opacity:.95 }

ul{ padding-left:1rem }
ul li{ margin:.25rem 0 }

.product-ad{ display:block; margin:.75rem 0; }
.product-ad a{ display:block; padding:.75rem 1rem; border-radius:8px;
  background: rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.28);
  text-align:center; color:var(--text); transition: transform .2s ease, background .2s ease;
}
.product-ad a:hover{ transform: translateY(-2px); text-decoration: underline; background: rgba(0,0,0,.38) }

footer{ padding:1rem 0 2rem; text-align:center; color:var(--muted) }
footer p{ margin:.5rem 0 }
footer .sponsored-page a{ display:block; padding:.6rem 1rem; border-radius:8px; border:1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.23); margin:.25rem auto 0; width:max-content;
}
a:focus-visible, button:focus-visible{ outline: var(--ring); outline-offset: 4px; border-radius:6px }
a:focus-visible{ text-decoration:underline }
button, .btn, .cta{
  font: inherit; letter-spacing:.2px; cursor:pointer;
  border-radius:6px; padding:.55rem .9rem; border:1px solid rgba(255,255,255,.25);
  background: transparent; color: var(--text); transition: background .2s, color .2s, transform .2s;
}
.btn{ background: var(--accent); color:#0b0b0b; border-color: rgba(0,0,0,.15) }
.btn:hover{ background: #e6d97a; color:#0b0b0b }
.cta{ background: rgba(212,197,108,.95); color:#0b0b0b; border-color: rgba(0,0,0,.15) }
.cta:hover{ background: #f0e6a6 }
a, button, .btn, .cta{ text-decoration-color: rgba(255,255,255,.6) }

@media (min-width: 720px){
  .grid{ grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
}
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; }
}
@media print{
  html, body{ background: #fff; color:#000 }
  a{ text-decoration: underline }
}