:root{
  --bone:#FFF6E8;--bone-2:#FFE9C8;--bark:#2C1810;--ink:#1a120c;
  --red:#C8102E;--red-d:#9A0C23;--red-soft:#FFE8EC;
  --gold:#F0B429;--sky:#5BA3C9;--green:#3d8b6e;--green-soft:#e6f5ef;
  --card:#fff;--muted:#6b5344;
  --shadow:4px 4px 0 var(--bark);
  --font-display:"Fredoka",system-ui,sans-serif;
  --font-body:"Nunito",system-ui,sans-serif;
  --safe-b:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:var(--font-body);
  background:var(--bone);color:var(--ink);line-height:1.5;
  min-height:100dvh;padding-bottom:calc(28px + var(--safe-b));
}
a{color:inherit;text-decoration:none}
.wrap{width:min(1040px,calc(100% - 1.5rem));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:20;
  background:rgba(255,246,232,.95);backdrop-filter:blur(8px);
  border-bottom:3px solid var(--bark);
}
.topbar-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.55rem;font-weight:800}
.brand img{width:42px;height:42px;border-radius:12px;border:3px solid var(--bark);box-shadow:2px 2px 0 var(--bark)}
.brand .name{font-family:var(--font-display);font-size:1.15rem}
.brand .tag{display:block;font-size:.72rem;color:var(--muted);font-weight:700}
.nav{display:flex;flex-wrap:wrap;gap:.4rem}
.nav a,.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:3px solid var(--bark);border-radius:999px;padding:10px 16px;
  font-weight:800;font-size:14px;box-shadow:2px 2px 0 var(--bark);
  background:#fff;cursor:pointer;font-family:inherit;
}
.btn-red{background:var(--red);color:#fff}
.btn-gold{background:var(--gold);color:var(--bark)}
.btn-sky{background:var(--sky);color:#fff}
.hero{padding:1.4rem 0 1rem}
h1{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.1;margin:.35rem 0 .5rem}
.lead{font-weight:700;max-width:42rem}
.muted{color:var(--muted);font-weight:700;font-size:.92rem}
.chip{
  display:inline-flex;border:2.5px solid var(--bark);border-radius:999px;
  padding:5px 10px;font-size:12px;font-weight:800;background:var(--bone-2);
}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.card{background:var(--card);border:3.5px solid var(--bark);border-radius:22px;box-shadow:var(--shadow);padding:1.05rem}
.card h3{font-family:var(--font-display);margin:.2rem 0 .4rem}
.price{font-weight:900;font-size:1.25rem}
.row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
label{display:block;font-size:12px;font-weight:800;margin:12px 0 5px}
input,textarea,select{
  width:100%;padding:12px;border:2.5px solid var(--bark);border-radius:12px;
  font:inherit;font-weight:600;background:#fff;
}
textarea{min-height:90px}
.banner{background:var(--red-soft);border:3px solid var(--bark);border-radius:16px;padding:.8rem 1rem;margin:.8rem 0;font-weight:700}
.ok{background:var(--green-soft)}
.math{display:grid;gap:.35rem;margin-top:.7rem;font-weight:700;font-size:.95rem}
.math span{display:flex;justify-content:space-between;gap:1rem}
.footer{margin:2rem 0 1rem;font-size:.85rem;font-weight:700;color:var(--muted)}
