:root{
  --red:#E04747;
  --red-dark:#B33131;
  --red-deep:#7A1F1F;
  --yellow:#FFC72C;
  --yellow-deep:#F2A900;
  --bg-light:#FFF6E6;
  --bg-card:#FFFFFF;
  --text-dark:#3A1610;
  --text-muted:#7A5C42;
  --line:#FFE3B8;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
html,body{
  background:#EDE3D4;
  font-family:'Be Vietnam Pro', sans-serif;
  color:var(--text-dark);
  -webkit-font-smoothing:antialiased;
}
body{display:flex; justify-content:center;}
.device{
  width:100%;
  max-width:420px;
  min-height:100vh;
  background:var(--bg-light);
  position:relative;
  overflow-x:hidden;
}

/* ---------- Top bar ---------- */
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  background:#A60102;
  position:sticky;
  top:0;
  z-index:30;
  box-shadow:0 2px 10px rgba(122,31,31,0.25);
}
.logo{display:flex; align-items:center; gap:8px;}
.logo .brand-logo{height:52px; width:auto; display:block;}
.back-pill{
  display:flex; align-items:center; gap:5px;
  background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.35);
  border-radius:20px;
  padding:7px 12px;
  font-size:12px;
  font-weight:700;
  color:#fff;
  text-decoration:none;
}

/* ---------- Page header ---------- */
.page-hero{
  padding:22px 20px 6px;
  text-align:center;
}
.page-eyebrow{
  display:inline-block;
  background:var(--red-dark);
  color:#fff;
  font-size:11px;
  font-weight:700;
  padding:5px 14px;
  border-radius:20px;
  margin-bottom:12px;
  letter-spacing:0.4px;
}
.page-title{
  font-family:'Baloo 2',sans-serif;
  font-weight:800;
  font-size:23px;
  line-height:1.3;
  color:var(--red-deep);
  margin-bottom:6px;
}
.page-updated{
  font-size:11.5px;
  color:var(--text-muted);
  margin-bottom:6px;
}

/* ---------- Content block (matches landing page) ---------- */
.content-block{
  margin:18px 16px 6px;
  background:var(--bg-card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px 18px 22px;
}
.content-block .cb-subtitle{
  font-family:'Baloo 2',sans-serif;
  font-weight:700;
  font-size:15.5px;
  color:var(--red-dark);
  margin:18px 0 6px;
  padding-top:10px;
  border-top:1px dashed var(--line);
}
.content-block .cb-subtitle:first-child{margin-top:0; padding-top:0; border-top:none;}
.content-block .cb-h4{
  font-weight:700;
  font-size:13.5px;
  color:var(--text-dark);
  margin:10px 0 6px;
}
.content-block p{
  font-size:12.5px;
  line-height:1.7;
  color:var(--text-muted);
  margin-bottom:12px;
  text-align:left;
}
.content-block p b{color:var(--red-dark);}
.content-block .cb-list{margin:0 0 14px 0; padding-left:20px;}
.content-block .cb-list li{
  font-size:12.5px;
  line-height:1.7;
  color:var(--text-muted);
  margin-bottom:6px;
}
.content-block a{color:var(--red-dark); font-weight:600;}

/* ---------- Contact cards ---------- */
.contact-grid{display:flex; flex-direction:column; gap:10px; margin-bottom:6px;}
.contact-card{
  display:flex;
  align-items:center;
  gap:12px;
  background:#FBF1DE;
  border:1px solid #F3DFB0;
  border-radius:14px;
  padding:12px 14px;
}
.contact-card .c-ico{
  width:36px;height:36px;
  border-radius:50%;
  background:var(--yellow);
  display:flex;align-items:center;justify-content:center;
  font-size:17px;
  flex-shrink:0;
}
.contact-card .c-t{font-weight:700; font-size:13px; color:var(--text-dark);}
.contact-card .c-d{font-size:11.5px; color:var(--text-muted);}

/* ---------- 18+ badge block ---------- */
.age-block{
  display:flex;
  align-items:center;
  gap:14px;
  background:linear-gradient(160deg, var(--red-dark) 0%, var(--red-deep) 100%);
  border-radius:16px;
  padding:16px 18px;
  margin:18px 16px;
}
.age-block .age-circle{
  flex:0 0 auto;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--yellow);
  color:var(--red-deep);
  font-family:'Baloo 2',sans-serif;
  font-weight:800;
  font-size:16px;
  display:flex;align-items:center;justify-content:center;
}
.age-block p{
  color:rgba(255,255,255,0.9);
  font-size:12px;
  line-height:1.6;
  margin:0;
}

/* ---------- Footer ---------- */
footer{padding:24px 20px 20px; text-align:center;}
footer .badges{
  display:flex; justify-content:center; gap:8px;
  margin-bottom:14px; flex-wrap:wrap;
}
footer .badge{
  font-size:10.5px; font-weight:700; color:var(--red-deep);
  background:#fff; border:1px solid var(--line);
  padding:5px 10px; border-radius:20px;
}
footer .footer-links{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:8px 10px; margin-bottom:14px;
}
footer .footer-links a{
  display:inline-flex; align-items:center; min-height:24px;
  padding:5px 8px;
  font-size:11px; font-weight:600;
  color:var(--text-dark); text-decoration:none;
}
footer .footer-links a:hover,
footer .footer-links a:focus-visible{color:var(--red); text-decoration:underline;}
footer .disclaimer{font-size:10.5px; color:var(--text-muted); line-height:1.6;}
footer .age{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px;height:22px; border-radius:50%;
  background:var(--red-deep); color:#fff;
  font-size:10px; font-weight:800; margin-right:5px;
  vertical-align:middle;
}
