/* ============================================================
   Christmas Toy Slider — document pages.
   A parchment sheet on a dark workshop wall, with the section
   index pinned alongside it.
   ============================================================ */

:root{
  --pine-900:#140d08;
  --pine-800:#1e130b;
  --brass:#c9973f;
  --brass-hi:#f0cd7e;
  --brass-lo:#8a6423;
  --paper:#f6ead1;
  --paper-2:#eddcbc;
  --ink:#33200f;
  --ink-2:#5b4128;
  --holly:#1d6144;
  --berry:#a8232c;

  --shell:min(1140px, 92vw);
  --serif:"Cinzel", Georgia, "Times New Roman", serif;
  --body:"Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:96px}
body{
  margin:0;
  font-family:var(--body);
  font-size:17px; line-height:1.72;
  color:#e6d5b6;
  background:var(--pine-900);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:var(--brass-hi); text-decoration:none}
a:hover{color:#ffe6ac; text-decoration:underline}

/* ---------------- top bar — same rail as the home page ---------------- */
.top{
  position:sticky; top:0; z-index:40;
  background:linear-gradient(180deg,rgba(20,13,8,.98),rgba(20,13,8,.9));
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(201,151,63,.34);
  box-shadow:0 8px 30px rgba(0,0,0,.5);
}
.top__in{
  width:var(--shell); margin:0 auto; height:74px;
  display:flex; align-items:center; gap:26px; flex-wrap:wrap;
}
.top__brand{display:flex; align-items:center; gap:11px}
.top__brand img{height:38px; width:auto}
.top__name{
  font-family:var(--serif); font-weight:700; font-size:14.5px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--paper);
}
.top__links{display:flex; gap:3px; margin-left:auto; flex-wrap:wrap}
.top__links a{
  font-size:13px; font-weight:600; color:#b39a74;
  padding:8px 13px; border-radius:8px;
  border:1px solid transparent; transition:.18s;
}
.top__links a:hover{color:var(--paper); border-color:rgba(201,151,63,.4);
  background:rgba(201,151,63,.08); text-decoration:none}
.top__links a.is-here{
  color:var(--pine-900); background:linear-gradient(180deg,var(--brass-hi),var(--brass));
  border-color:var(--brass-lo); font-weight:700;
}

/* ---------------- page head ---------------- */
.head{
  width:var(--shell); margin:0 auto; padding:64px 0 44px; text-align:center;
}
.head__tag{
  display:inline-block; font-size:11px; font-weight:800;
  letter-spacing:.22em; text-transform:uppercase; color:var(--brass);
  border:1px solid rgba(201,151,63,.42); border-radius:99px;
  padding:6px 16px; margin-bottom:20px;
}
.head h1{
  font-family:var(--serif); font-size:clamp(32px,5vw,50px); font-weight:800;
  margin:0 0 12px; color:var(--paper); letter-spacing:.01em;
}
.head__meta{margin:0; font-size:14px; color:#8d7855; letter-spacing:.06em}

/* ---------------- sheet + index ---------------- */
.doc{
  width:var(--shell); margin:0 auto 90px;
  display:grid; grid-template-columns:1fr 236px; gap:44px; align-items:start;
}

.sheet{
  background:linear-gradient(172deg,var(--paper),var(--paper-2));
  color:var(--ink-2);
  border:2px solid var(--brass-lo);
  border-radius:18px;
  padding:52px 54px 46px;
  box-shadow:0 26px 64px rgba(0,0,0,.58), inset 0 0 0 2px rgba(255,255,255,.4);
}
.sheet section{margin-bottom:38px}
.sheet section:last-child{margin-bottom:0}
.sheet h2{
  font-family:var(--serif); font-size:23px; font-weight:700;
  color:var(--ink); margin:0 0 14px; letter-spacing:.01em;
  padding-bottom:11px; border-bottom:1px solid rgba(138,100,35,.28);
}
.sheet h3{
  font-family:var(--serif); font-size:18px; color:var(--ink);
  margin:26px 0 10px; letter-spacing:.01em;
}
.sheet p{margin:0 0 14px}
.sheet p:last-child{margin-bottom:0}
.sheet ul{margin:0 0 14px; padding-left:22px}
.sheet li{margin-bottom:9px}
.sheet li::marker{color:var(--brass-lo)}
.sheet a{color:#8a5a12; font-weight:600}
.sheet a:hover{color:var(--berry)}
.sheet b, .sheet strong{color:var(--ink)}

/* callout */
.note{
  background:rgba(29,97,68,.09);
  border-left:4px solid var(--holly);
  border-radius:0 10px 10px 0;
  padding:16px 20px; margin:18px 0;
}
.note p{margin:0; font-size:16px}
.note--warn{background:rgba(168,35,44,.08); border-left-color:var(--berry)}

/* small table for the data listing */
.tbl{width:100%; border-collapse:collapse; margin:6px 0 16px; font-size:15.5px}
.tbl th,.tbl td{text-align:left; padding:11px 12px; vertical-align:top;
  border-bottom:1px solid rgba(138,100,35,.22)}
.tbl th{font-family:var(--serif); font-size:13px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink); font-weight:700}
.tbl tr:last-child td{border-bottom:0}

/* ---------------- index rail ---------------- */
.toc{
  position:sticky; top:98px;
  border-left:2px solid rgba(201,151,63,.32);
  padding-left:20px;
}
.toc h4{
  font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--brass); margin:0 0 14px; font-weight:800;
}
.toc a{
  display:block; font-size:14px; color:#a48f6e; padding:6px 0;
  line-height:1.4; transition:color .16s, padding-left .16s;
}
.toc a:hover{color:var(--brass-hi); padding-left:5px; text-decoration:none}

/* ---------------- footer ---------------- */
.dfoot{
  border-top:1px solid rgba(201,151,63,.24);
  background:var(--pine-800); padding:32px 0;
}
.dfoot__in{
  width:var(--shell); margin:0 auto;
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-size:13.5px; color:#7a6749;
}
.dfoot__links{display:flex; gap:20px; flex-wrap:wrap}
.dfoot__links a{color:#a48f6e; font-size:13.5px}

/* ---------------- responsive ---------------- */
@media (max-width:960px){
  .doc{grid-template-columns:1fr}
  .toc{position:static; border-left:0; border-top:2px solid rgba(201,151,63,.32);
    padding-left:0; padding-top:22px}
  .toc a{display:inline-block; margin-right:18px}
}
@media (max-width:680px){
  body{font-size:16px}
  .top__in{height:auto; padding:14px 0; gap:14px}
  .top__links{margin-left:0; width:100%}
  .sheet{padding:32px 24px 30px; border-radius:14px}
  .head{padding:44px 0 32px}
  .dfoot__in{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important} html{scroll-behavior:auto}
}
