/* ===== The MMI Rulebook: book styling ===== */
@font-face{font-family:"EB Garamond";src:url(assets/fonts/eb-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(assets/fonts/eb-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(assets/fonts/eb-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(assets/fonts/eb-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(assets/fonts/eb-garamond-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(assets/fonts/playfair-display-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(assets/fonts/playfair-display-latin-700-italic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(assets/fonts/playfair-display-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(assets/fonts/playfair-display-latin-900-normal.woff2) format("woff2");font-weight:900;font-display:swap}

:root{--leather:#0d2034;--leather-2:#16324f;--gilt:#d9a43a;--gilt-hi:#f6d88f;--parch:#f8f0dc;--parch-2:#efe3c4;--ink-b:#2a1f12;--rule:#c9b48a}

.rb-desk{
  background:
    radial-gradient(900px 500px at 80% 0%,rgba(217,164,58,.14),transparent 60%),
    radial-gradient(800px 600px at 0% 100%,rgba(0,0,0,.35),transparent 60%),
    #081625;
  color:#efe6d3;padding:80px 0 100px
}
.rb-intro{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:64px;align-items:center}
.rb-intro h1{color:#fff}
.rb-intro h1 em{color:var(--gilt);font-style:italic}
.rb-intro .lead{color:#d9ccb4}
.rb-intro .facts-row{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;font-size:1rem;color:#cdbfa6}
.rb-intro .facts-row b{display:block;font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--gilt)}

/* The cover */
.cover{
  position:relative;aspect-ratio:3/4;width:100%;border-radius:6px 14px 14px 6px;
  background:
    radial-gradient(120% 80% at 30% 20%,rgba(255,255,255,.08),transparent 60%),
    repeating-radial-gradient(circle at 40% 60%,rgba(255,255,255,.012) 0 2px,rgba(0,0,0,.02) 2px 4px),
    linear-gradient(135deg,var(--leather-2),var(--leather) 60%,#071422);
  box-shadow:
    inset 26px 0 0 -2px rgba(0,0,0,.35),            /* spine shadow */
    inset 30px 0 0 -2px rgba(217,164,58,.0),
    18px 0 0 -6px #e9dcb9, 22px 0 0 -6px #d8c8a0, 26px 0 0 -6px #e9dcb9, /* gilt page edges */
    0 40px 80px rgba(0,0,0,.6);
  transform:perspective(1400px) rotateY(-8deg);transition:transform .4s ease;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:12% 12% 12% 16%;color:var(--gilt)
}
.cover:hover{transform:perspective(1400px) rotateY(-2deg)}
.cover::before{ /* gilt frame */
  content:"";position:absolute;inset:6% 6% 6% 10%;border:2px solid var(--gilt);outline:1px solid rgba(217,164,58,.6);outline-offset:-8px;border-radius:3px;pointer-events:none
}
.cover::after{ /* spine bands */
  content:"";position:absolute;left:0;top:0;bottom:0;width:26px;border-radius:6px 0 0 6px;
  background:
    linear-gradient(transparent 14%,var(--gilt) 14% 15%,transparent 15% 18%,var(--gilt) 18% 19%,transparent 19% 81%,var(--gilt) 81% 82%,transparent 82% 85%,var(--gilt) 85% 86%,transparent 86%),
    linear-gradient(90deg,rgba(0,0,0,.4),rgba(255,255,255,.05) 60%,rgba(0,0,0,.3));
}
.cover img{width:34%;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5));margin-bottom:6%}
.cover .c-small{font-family:"EB Garamond",serif;letter-spacing:.32em;text-transform:uppercase;font-size:clamp(.6rem,1.6vw,.85rem);color:var(--gilt-hi)}
.cover .c-title{font-family:"Playfair Display",serif;font-weight:900;font-size:clamp(2rem,6vw,3.4rem);line-height:1;letter-spacing:.04em;margin:4% 0 3%;
  background:linear-gradient(180deg,var(--gilt-hi),var(--gilt) 55%,#a8741a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 1px 0 rgba(0,0,0,.2)}
.cover .c-orn{font-size:1.4rem;margin:2% 0}
.cover .c-sub{font-family:"EB Garamond",serif;font-style:italic;font-size:clamp(.85rem,2vw,1.1rem);color:var(--gilt-hi)}

/* The open book */
.book{background:#0b1b2c;padding:70px 0 100px}
.page{
  max-width:820px;margin:0 auto 40px;background:var(--parch);color:var(--ink-b);
  background-image:
    radial-gradient(120% 60% at 50% 0%,rgba(255,255,255,.5),transparent 60%),
    radial-gradient(140% 100% at 50% 100%,rgba(160,120,60,.12),transparent 70%);
  border-radius:4px;box-shadow:0 1px 0 #e6d7b2,0 3px 0 #dccaa0,0 5px 0 #e6d7b2,0 30px 60px rgba(0,0,0,.5);
  padding:64px 72px 56px;font-family:"EB Garamond",Georgia,serif;font-size:21px;line-height:1.6;position:relative
}
.page::before{content:"";position:absolute;inset:18px;border:1px solid var(--rule);pointer-events:none;border-radius:2px}
.page a{color:#7a4d10}
.ch-label{display:block;text-align:center;font-family:"Playfair Display",serif;font-weight:700;font-size:.85rem;letter-spacing:.35em;text-transform:uppercase;color:#a8741a;margin-bottom:10px}
.page h2{text-align:center;font-family:"Playfair Display",serif;font-weight:800;color:#13263b;font-size:clamp(1.7rem,3.6vw,2.4rem);margin:0 0 6px}
.orn{text-align:center;color:#a8741a;font-size:1.3rem;margin:4px 0 26px;letter-spacing:.6em}
.page h3{font-family:"Playfair Display",serif;font-weight:700;color:#13263b;font-size:1.3rem;margin:1.4em 0 .4em}
.page p{margin:0 0 .9em;text-align:justify;hyphens:auto}
.page .first::first-letter{float:left;font-family:"Playfair Display",serif;font-weight:900;font-size:4.2em;line-height:.85;margin:.06em .1em 0 0;color:#a8741a}
.page ul,.page ol{margin:0 0 1em;padding-left:1.4em}
.page li{margin-bottom:.4em}
.page li p{margin:0;text-align:left}
.rb-table{overflow-x:auto;margin:1.2em 0 1.4em}
.rb-table table{width:100%;border-collapse:collapse;font-size:.86em;line-height:1.4}
.rb-table th{font-family:"Playfair Display",serif;font-weight:700;text-align:left;color:#13263b;border-bottom:2px solid #13263b;padding:8px 10px;vertical-align:bottom}
.rb-table td{border-bottom:1px solid var(--rule);padding:8px 10px;vertical-align:top}
.rb-table tr:last-child td{border-bottom:2px solid #13263b}
.rb-brief{white-space:pre-wrap;font-family:"EB Garamond",serif;font-size:.82em;line-height:1.5;background:var(--parch-2);border:1px solid var(--rule);border-left:4px solid #a8741a;padding:20px 22px;border-radius:2px;color:var(--ink-b)}
.page .colophon{text-align:center;font-style:italic;color:#6b5a3e;margin-top:28px}

/* Contents */
.toc{list-style:none;padding:0;margin:0;counter-reset:none}
.toc li{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;font-size:1.05em}
.toc .n{font-family:"Playfair Display",serif;font-weight:700;color:#a8741a;min-width:3.2em}
.toc a{color:#13263b;text-decoration:none}
.toc a:hover{text-decoration:underline}
.toc .dots{flex:1;border-bottom:2px dotted var(--rule);transform:translateY(-5px)}
.toc .app .n{font-size:.9em}

.rb-dl{position:sticky;bottom:18px;z-index:40;display:flex;justify-content:center;pointer-events:none;margin-top:-60px}
.rb-dl a{pointer-events:auto;box-shadow:0 10px 30px rgba(0,0,0,.5)}

@media (max-width:900px){
  .rb-intro{grid-template-columns:1fr;justify-items:center;text-align:center}
  .rb-intro .facts-row,.rb-intro .btn-row{justify-content:center}
  .cover{max-width:360px;transform:none}
  .page{padding:48px 32px 40px;font-size:19px}
  .page::before{inset:10px}
  .page p{text-align:left}
}
@media (max-width:600px){
  .page{padding:40px 22px 32px;margin:0 10px 28px}
}

/* ===== Print / PDF ===== */
@media print{
  @page{size:A4;margin:18mm 18mm 20mm}
  @page:first{margin:0}
  .site-head,.site-foot,.rb-dl,.rb-intro .btn-row,.no-print{display:none!important}
  body{background:#fff}
  .rb-desk{background:#fff;padding:0}
  .rb-intro{display:block}
  .rb-intro > div:not(.cover-wrap){display:none}
  .cover-wrap{height:297mm;width:210mm;display:block;break-after:page}
  .cover{transform:none;width:210mm;height:297mm;aspect-ratio:auto;border-radius:0;box-shadow:inset 26px 0 0 -2px rgba(0,0,0,.35);-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .book{background:#fff;padding:0}
  .page{box-shadow:none;background:#fff;max-width:none;margin:0;padding:0;font-size:11.5pt;break-before:page}
  .page::before{display:none}
  .rb-table{overflow:visible}
  .rb-table tr{break-inside:avoid}
  .page h2,.page h3{break-after:avoid}
  .page a{color:#7a4d10;text-decoration:none}
  .ch-label,.orn,.page .first::first-letter,.rb-brief{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media print{
  html.pdf-cover .book,html.pdf-cover .rb-intro > div:not(.cover-wrap){display:none!important}
  html.pdf-cover .cover-wrap{width:210mm;height:297mm;margin:0}
  html.pdf-cover .cover{width:210mm;height:297mm;padding:40mm 28mm 40mm 36mm}
  html.pdf-cover .cover img{width:60mm;margin-bottom:12mm}
  html.pdf-cover .cover .c-small{font-size:12pt}
  html.pdf-cover .cover .c-title{font-size:46pt;margin:10mm 0 6mm}
  html.pdf-cover .cover .c-orn{font-size:20pt}
  html.pdf-cover .cover .c-sub{font-size:15pt}
  html.pdf-body .rb-desk{display:none!important}
  html.pdf-body .book > .page:first-child{break-before:auto}
}
.rb-feature{background:radial-gradient(900px 500px at 20% 0%,rgba(217,164,58,.16),transparent 60%),#081625;padding:90px 0}
.rb-feature .cover{text-decoration:none}
.rb-feature h2 em{font-style:italic}
/* cover lettering scales with the book itself */
.cover{container-type:inline-size}
.cover .c-title{font-size:13.5cqw}
.cover .c-small{font-size:3.4cqw}
.cover .c-sub{font-size:4.6cqw}
.cover .c-orn{font-size:5cqw}
.cover-wrap{width:100%}
@media (max-width:900px){.cover-wrap{max-width:360px}}
/* Charter additions */
.page h3.art{font-size:1.25rem;margin-top:1.6em;padding-top:.8em;border-top:1px solid var(--rule)}
.page h3.art span{color:#a8741a;font-weight:800;margin-right:.3em}
.page h3.art:first-child{border-top:0;padding-top:0}
.page.divider{text-align:center;padding:110px 72px}
.page .div-title{font-size:clamp(2.4rem,5vw,3.4rem)}
.page .div-sub{text-align:center;font-style:italic;font-size:1.15em;color:#6b5a3e}
.toc-h{font-size:1.05rem!important;letter-spacing:.2em;text-transform:uppercase;color:#a8741a!important;margin:1.4em 0 .6em!important}
.cover .c-title{font-size:12.5cqw}
.cover .c-sub{font-size:3.9cqw}
@media print{.page.divider{padding:60mm 0 0}}
.rb-table{max-width:100%}
.page{min-width:0;overflow-wrap:break-word}
@media (max-width:600px){.page{overflow:hidden}.rb-table table{min-width:520px}}
.page.foreword p{font-size:1.04em}
.page .motto{text-align:center;font-family:"Playfair Display",serif;font-style:italic;font-weight:700;font-size:1.5em;color:#13263b;margin:1.2em 0 .8em}
.page .sign{text-align:left;line-height:1.4;margin-top:.4em}
.page .sign .sig{font-family:"Playfair Display",serif;font-style:italic;font-weight:700;font-size:1.6em;color:#13263b}
