:root{
  --ink:#111; --muted:#4F4F4F; --bg:#F7F9FC; --card:#fff;
  --blue:#4F98E6; --orange:#FFA300; --green:#7BF576;
  --maxw:1200px; --shadow:0 8px 24px rgba(0,0,0,.06);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:radial-gradient(1200px 600px at 50% -200px,#fff 0%,var(--bg) 100%);
  color:var(--ink); font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:#246AD3; text-decoration:none}
a:hover{text-decoration:underline}
img{display:block; max-width:100%; height:auto}
.container{max-width:var(--maxw); margin:0 auto; padding:0 16px}

/* Header */
.topbar{background:linear-gradient(90deg,#263DA8 0%,#2A4ABF 100%); color:#fff; text-align:center; padding:8px; font-weight:600}
header{position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid #eee}
.nav{display:flex; align-items:center; justify-content:space-between; padding:12px 0}
.brand{display:flex; align-items:center; gap:10px; font-weight:800}
.brand-logo{width:38px; height:38px; border-radius:8px; background:conic-gradient(from 210deg,var(--orange),var(--blue))}
.btn{display:inline-block; background:var(--green); padding:10px 14px; border-radius:10px; font-weight:700; color:#000}

/* Hero panels */
.hero{padding:42px 0 24px}
.panel{background:#fff; border:2px solid var(--orange); border-radius:16px; box-shadow:var(--shadow); padding:28px}
.hero h1{margin:0 0 8px; font-size:clamp(28px,3.2vw,44px)}
.hero p{margin:0 0 16px; color:var(--muted)}
.cta{display:flex; gap:12px; flex-wrap:wrap}

/* Grid cards */
.grid{display:grid; gap:18px; margin:28px 0}
@media (min-width:901px){ .grid{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1201px){ .grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:900px){ .grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:600px){ .grid{grid-template-columns:1fr} }

.card{background:var(--card); border:2px solid #eee; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); transition:.15s}
.card:hover{transform:translateY(-2px); border-color:var(--orange)}
.card-media{aspect-ratio:16/10; background:#EEF6FF; position:relative}
.card-body{padding:16px}
.card h2{margin:0 0 6px; font-size:18px}
.pill{display:inline-block; padding:4px 8px; font-size:12px; font-weight:700; border-radius:999px; background:#fff5e0; border:1px solid var(--orange); color:#8a5a00}
.badge{position:absolute; top:10px; left:10px; background:#fff; border:1.5px solid var(--orange); border-radius:999px; padding:4px 8px; font-size:12px; font-weight:700}

/* Breadcrumbs / intro / SEO */
.breadcrumbs{font-size:14px; color:#555; margin:12px 0}
.intro{background:#fff; border:2px solid var(--orange); border-radius:12px; padding:18px; box-shadow:var(--shadow); margin:12px 0 20px}
.intro h1{margin:0 0 6px; font-size:clamp(24px,3vw,36px)}
.intro p{margin:0; color:var(--muted)}

/* Footer */
footer{margin-top:40px; padding:28px 0; background:#fff; border-top:1px solid #eee}
.footer-columns{display:grid; gap:18px; grid-template-columns:2fr 1fr 1fr}
@media (max-width:900px){ .footer-columns{grid-template-columns:1fr} }
.muted{color:var(--muted)}
.legal{margin-top:10px; font-size:13px; color:#666}

/* Product page */
.product{display:grid; gap:22px; grid-template-columns:1fr 1.2fr; margin:24px 0 40px}
@media (max-width:900px){ .product{grid-template-columns:1fr} }
.product .media{aspect-ratio:1/1; background:#EEF6FF; border:2px solid #eee; border-radius:12px; overflow:hidden}
.product h1{margin:0 0 10px; font-size:clamp(24px,3vw,36px)}
.price{font-weight:800; margin:0 0 12px}
.actions .btn{margin-right:8px}