/* ==========================================================================
   HAPPYCASTLE — LEGAL STYLESHEET (privacy.html & terms-of-service.html)
   These pages load ONLY this sheet and define their own colour scheme.
   Background: Warm Parchment #EFEAE0  |  Ink text: #211A12
   Flame Burnt accents: #B24F11      |  Night bands: #1D1B22
   No rgba, no opacity decimals, no text gradients. Strong contrast only.
   ========================================================================== */

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-size:16px;
}

body.legal-page{
  margin:0;
  padding:0;
  font-size:16px;
  font-family:Georgia,"Iowan Old Style",Palatino,"Book Antiqua","Times New Roman",serif;
  background-color:#EFEAE0;
  color:#211A12;
  line-height:1.8;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

body.legal-page a{color:#B24F11;text-decoration:none;}
body.legal-page a:hover{color:#211A12;text-decoration:underline;}
body.legal-page img{max-width:100%;}

.legal-gutter{
  max-width:1020px;
  margin:0 auto;
  padding:0 24px;
}

/* ---------- Skip link ---------- */
.legal-skip{
  position:absolute;
  left:-9999px;
  top:0;
}
.legal-skip:focus{
  position:static;
  display:block;
  background-color:#1D1B22;
  color:#EFEAE0;
  padding:10px 16px;
}

/* ---------- Top banner (solid band, strong h1) ---------- */
.legal-banner{
  background-color:#1D1B22;
  color:#EFEAE0;
  padding:22px 0 0 0;
}
.legal-banner .legal-gutter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.legal-brand{
  display:inline-block;
  background-color:#B24F11;
  color:#1D1B22;
  font-weight:bold;
  letter-spacing:2px;
  text-transform:uppercase;
  border-radius:6px;
  padding:8px 12px;
}
.legal-brand a{color:#1D1B22;}
.legal-brand a:hover{color:#EFEAE0;text-decoration:none;}
.legal-chip a,
.legal-chip{
  color:#EFEAE0;
  padding:9px 14px;
  border:1px solid #6A6253;
  border-radius:20px;
}
.legal-chip a:hover{color:#B24F11;text-decoration:none;}

.legal-titlebar{background-color:#1D1B22;color:#EFEAE0;}
.legal-titlebar .legal-gutter{padding-top:34px;padding-bottom:38px;}
.legal-kicker{
  display:inline-block;
  color:#B24F11;
  text-transform:uppercase;
  letter-spacing:4px;
  font-size:13px;
  font-weight:bold;
  margin-bottom:12px;
}
.legal-titlebar h1{
  font-size:40px;
  line-height:1.1;
  margin:0 0 10px 0;
  color:#FFF7EA;
  font-weight:bold;
}
.legal-titlebar p{max-width:680px;color:#CFC7B8;margin:0;}

/* ---------- Table of contents ---------- */
.legal-toc{
  background-color:#E3DCCB;
  border:1px solid #CFC5B0;
  border-radius:10px;
  margin:34px 0 10px 0;
  padding:22px 26px;
}
.legal-toc-title{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:3px;
  color:#6A5A3E;
  font-weight:bold;
  margin:0 0 12px 0;
}
.legal-toc ol{margin:0;padding-left:20px;columns:2;-webkit-columns:2;
  column-gap:40px;}
.legal-toc li{margin-bottom:7px;break-inside:avoid;}
.legal-toc a{font-weight:bold;}
.legal-toc a:hover{text-decoration:underline;}
@media (max-width:720px){.legal-toc ol{columns:1;-webkit-columns:1;}}

/* ---------- Scope isolation ---------- */
.legal-content .content-section{
  background-color:transparent !important;
}

/* ---------- Main paper ---------- */
.legal-paper{background-color:#EFEAE0;}

.legal-breadcrumb{
  color:#6A5A3E;
  font-size:14px;
  margin:22px 0 6px 0;
}
.legal-breadcrumb a{font-weight:bold;}

/* Content sections and headings must keep width + auto centring */
.legal-content .content-section{
  max-width:760px;
  margin:0 auto;
  padding:0 24px;
}
.legal-slim{
  max-width:760px;
  margin:0 auto;
  padding:24px;
  color:#2E2619;
}

.legal-content h2{
  scroll-margin-top:24px;
  font-size:26px;
  line-height:1.25;
  color:#2B2417;
  border-bottom:2px solid #B24F11;
  padding-bottom:8px;
  margin:52px 0 18px 0;
  font-weight:bold;
  display:flex;
  align-items:baseline;
  gap:12px;
}
.legal-content h2 .seg{
  color:#B24F11;
  font-size:15px;
  letter-spacing:1px;
}
.legal-content .content-section > p,
.legal-content .content-section > ul,
.legal-content .content-section > ol{
  margin:0 0 16px 0;
}
.legal-content ul,.legal-content ol{margin:0 0 18px 20px;padding:0;}
.legal-content li{margin-bottom:9px;}
.legal-content li strong{color:#1D1B22;}
.legal-content p{color:#211A12;}
.legal-content .note{
  background-color:#E3DCCB;
  border-left:5px solid #B24F11;
  padding:12px 16px;
  color:#2E2619;
}
.legal-up{
  display:block;
  text-align:right;
  margin:26px 0 6px 0;
  font-weight:bold;
}
.legal-up::before{
  content:"";
  display:inline-block;
  width:0;height:0;
  margin-right:6px;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-bottom:8px solid #B24F11;
}

.legal-content h3{
  font-size:19px;
  color:#3A2E1C;
  margin:22px 0 10px 0;
}

/* ---------- Footer / back to homepage ---------- */
.legal-page .legal-foot{
  background-color:#1D1B22;
  color:#CCC5B6;
  margin-top:44px;
}
.legal-foot .legal-return{
  max-width:760px;
  margin:0 auto;
  padding:40px 0 30px 0;
  text-align:center;
}
.legal-foot .home-link{
  display:inline-block;
  background-color:#B24F11;
  color:#1D1B22;
  font-weight:bold;
  letter-spacing:1px;
  border-radius:6px;
  padding:14px 28px;
}
.legal-foot .home-link:hover{background-color:#EFEAE0;color:#1D1B22;text-decoration:none;}
.legal-foot .firm-note{
  color:#89806D;
  font-size:14px;
  margin-top:16px;
}
.legal-foot .firm-note strong{color:#EFEAE0;}
.legal-foot .made-by{
  color:#B24F11;
  font-weight:bold;
}
.legal-foot-bottom{
  border-top:2px solid #3A3324;
  color:#766D5C;
  font-size:13px;
}
.legal-foot-bottom .legal-return{padding:14px 0;text-align:center;}

@media print{
  body.legal-page{background-color:#FFFFFF;}
}
