:root{
  --bg:#FFF8F3;
  --bg-alt:#F7ECE3;
  --surface:#FFFFFF;
  --ink:#29241E;
  --ink-soft:#787064;
  --border:#EDDED4;
  --gold:#D2AA63;
  --gold-deep:#AE7829;
  --gold-soft:#F8F0DF;
  --shadow: 0 20px 50px -25px rgba(36,31,25,.35);
  --radius-lg: 22px;
  --radius-md: 14px;
  --maxw: 780px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Inter', system-ui, sans-serif; line-height:1.6; font-size:16px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Playfair Display', serif; font-weight:600; line-height:1.2; color:var(--ink);}
a{color:var(--gold-deep);}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 22px;}
header.site{
  position:sticky; top:0; z-index:20; background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(10px); border-bottom:1px solid var(--border);
}
.nav-row{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; max-width:1180px; margin:0 auto; padding-left:22px; padding-right:22px;}
.logo{display:flex; align-items:center; text-decoration:none;}
.logo img{display:block; height:56px; width:auto;}
@media (min-width:640px){ .logo img{height:66px;} }
@media (min-width:1160px){ .logo img{height:78px;} }
.back-link{
  display:inline-flex; align-items:center; gap:6px; text-decoration:none; color:var(--ink); font-weight:500; font-size:.9rem;
}
.back-link:hover{color:var(--gold-deep);}
main{padding:56px 0 70px;}
.eyebrow{
  text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:600; color:var(--gold-deep); margin:0 0 .9em;
}
h1{font-size:clamp(1.8rem,4vw,2.4rem); margin:0 0 28px;}
h2.sec{font-size:1.15rem; margin:34px 0 10px; font-family:'Inter'; font-weight:700;}
p{color:var(--ink-soft); margin:0 0 14px; text-align:justify; hyphens:auto;}
strong{color:var(--ink);}
.cc-table{width:100%; border-collapse:collapse; font-size:.9rem; margin:16px 0;}
.cc-table th,.cc-table td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--border); vertical-align:top; color:var(--ink-soft);}
.cc-table th{color:var(--ink); font-weight:600; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em;}
.hint{font-size:.8rem; color:var(--ink-soft); margin-top:-6px;}
ul.plain{margin:0 0 14px; padding-left:20px;}
ul.plain li{color:var(--ink-soft); margin-bottom:4px;}
ul.plain a{color:var(--gold-deep);}
footer.site{background:var(--ink); color:var(--bg); padding:64px 0 0; margin-top:20px;}
.footer-wrap{max-width:1180px; margin:0 auto; padding:0 22px 28px;}
.footer-grid{display:grid; gap:36px; padding-bottom:44px; border-bottom:1px solid color-mix(in srgb, var(--bg) 18%, transparent);}
@media (min-width:800px){ .footer-grid{grid-template-columns:1.3fr 1fr 1fr;} }
.footer-brand p{color:color-mix(in srgb, var(--bg) 70%, transparent); max-width:36ch; font-size:.9rem;}
.footer-col h4{font-size:.82rem; text-transform:uppercase; letter-spacing:.1em; margin:0 0 16px; color:color-mix(in srgb, var(--bg) 65%, transparent);}
.footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.footer-col a, .footer-col button.linklike{
  background:none; border:none; padding:0; text-align:left; cursor:pointer;
  color:color-mix(in srgb, var(--bg) 88%, transparent); text-decoration:none; font-size:.92rem; font-family:inherit;
}
.footer-col a:hover, .footer-col button.linklike:hover{color:var(--gold);}
.footer-bottom{display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding:22px 0 26px; font-size:.78rem; color:color-mix(in srgb, var(--bg) 55%, transparent);}
.social-row{display:flex; gap:10px; margin-top:8px;}
.social-row a{
  width:38px;height:38px;border-radius:50%; border:1px solid rgba(250,246,239,.25);
  display:flex; align-items:center; justify-content:center; text-decoration:none;
  color:color-mix(in srgb, var(--bg) 85%, transparent);
}
.social-row a:hover{border-color:var(--gold); color:var(--gold);}
