:root{
  --red: #B23A2B;
  --red-light: #D14E3A;
  --red-dark: #8E2E22;
  --beige: #EAE0CA;
  --bg: #FBF9F4;
  --ink: #2E2823;
  --ink-soft: #605850;
  --line: #E3D8BF;
}
*{box-sizing:border-box;}
img{max-width:100%; height:auto;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family: 'Source Sans 3', 'Segoe UI', Arial, sans-serif;
  font-size:18px;
  line-height:1.6;
}
h1,h2,h3{
  font-family: 'Lora', Georgia, serif;
  font-weight:600;
  margin:0 0 .5rem;
  color:var(--ink);
}
a{color:var(--red);}
.wrap{max-width:1040px; margin:0 auto; padding:0 clamp(16px, 4vw, 24px);}

header{
  background:var(--red-dark);
  color:var(--bg);
  padding:14px 0;
}
header .wrap{display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:12px;}
.brand img{width:58px; height:58px; object-fit:contain; display:block;}
.brand .name{font-family:'Lora', Georgia, serif; font-size:21px; font-weight:600; line-height:1; color:#fff;}
.brand .tag{font-size:12px; color:var(--beige); margin-top:3px;}
nav a{color:var(--beige); text-decoration:none; margin-left:26px; font-size:16px;}
nav a:hover{color:#fff;}

.menu-btn{
  display:none; background:transparent; border:none; cursor:pointer;
  width:36px; height:36px; padding:0; align-items:center; justify-content:center;
}
.menu-btn span, .menu-btn span::before, .menu-btn span::after{
  content:""; display:block; width:22px; height:2px; background:var(--beige);
  position:relative; transition: transform .2s ease, opacity .2s ease;
}
.menu-btn span::before{position:absolute; top:-7px;}
.menu-btn span::after{position:absolute; top:7px;}
.menu-btn.open span{background:transparent;}
.menu-btn.open span::before{transform:translateY(7px) rotate(45deg); background:#fff;}
.menu-btn.open span::after{transform:translateY(-7px) rotate(-45deg); background:#fff;}

.btn{
  display:inline-block; padding:13px 26px; border-radius:8px; font-size:16px;
  text-decoration:none; font-weight:600; border:1.5px solid transparent; cursor:pointer;
  transition: transform .12s ease;
}
.btn-primary{background:var(--red); color:#fff;}
.btn-primary:hover{background:var(--red-dark);}
.btn-outline{border-color:var(--red); color:var(--red); background:transparent;}
.btn-outline:hover{background:var(--red); color:#fff;}

footer{
  background:var(--red-dark); color:var(--beige); padding:28px 0; font-size:14px;
}
footer .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; align-items:center;}
footer .foot-brand{display:flex; align-items:center; gap:10px; font-weight:600; color:#fff;}
footer .foot-brand img{width:36px; height:36px; object-fit:contain;}
footer a{color:var(--beige);}

/* =========================================================
   Simple content pages (privacy / error / not-found)
   ========================================================= */

.content-page{max-width:1040px; margin:0 auto; padding:56px clamp(16px, 4vw, 24px) 80px;}
.content-page .breadcrumb{font-family:'Lora', Georgia, serif; font-weight:600; color:var(--red); margin-bottom:8px;}
.content-page .lede{color:var(--ink-soft);}

@media (max-width:640px){
  header .wrap{gap:12px; position:relative; flex-wrap:wrap;}
  .brand .tag{display:none;}
  .menu-btn{display:flex;}
  nav{
    display:none; flex-direction:column; width:100%;
    margin:14px 0 4px; padding-top:14px; border-top:1px solid rgba(234,224,202,0.25);
  }
  nav.open{display:flex;}
  nav a{margin-left:0; margin-bottom:14px; font-size:17px;}
  nav a:last-child{margin-bottom:0;}

  footer .wrap{flex-direction:column; text-align:center;}
}
