:root{
  --stone:#eef2f0;--stone-deep:#dfe6e2;--ink:#1d2421;--ink-soft:#4a5651;--hair:#b9c4be;
  --sally:#b4236a;--sally-wash:#f6dbe8;
  --face-display:"Big Caslon","Bodoni 72","Hoefler Text",Didot,serif;
  --face-chart:"Andale Mono","Courier New",Courier,monospace;
  --measure:44rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--stone);color:var(--ink);font-family:var(--face-display);font-size:1.0625rem;line-height:1.55}
a{color:var(--sally);text-underline-offset:.18em}
a:focus-visible{outline:2px solid var(--sally);outline-offset:2px}
.jump-to{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--stone);padding:.4rem .8rem;font-family:var(--face-chart)}
.jump-to:focus{left:.5rem}
.belfry{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding:.9rem clamp(1rem,4vw,2.5rem);border-bottom:1px solid var(--ink)}
.belfry__name{color:var(--ink);text-decoration:none;font-size:1.35rem;letter-spacing:.01em}
.belfry__name em{font-style:normal;font-family:var(--face-chart);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;margin-left:.45rem;color:var(--sally)}
.ropes{display:flex;flex-wrap:wrap;gap:.15rem 1.1rem}
.ropes__pull{font-family:var(--face-chart);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;padding:.2rem 0;border-bottom:1px solid transparent}
.ropes__pull:hover,.ropes__pull[aria-current]{color:var(--ink);border-bottom-color:var(--sally)}
.nave{max-width:68rem;margin:0 auto;padding:1.5rem clamp(1rem,4vw,2.5rem) 3rem}
.nave--clauses{max-width:52rem}
.nave__title{font-weight:400;font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.15;margin:.8rem 0 1rem}
.nave__lead{max-width:var(--measure);color:var(--ink-soft)}
h1,h2{font-family:var(--face-display)}
h2{font-weight:400;font-size:1.3rem;margin:0 0 .5rem}
.peal{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.5rem 3rem;align-items:start;padding:1rem 0 2rem;border-bottom:1px solid var(--hair)}
.peal__mark{font-family:var(--face-chart);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .6rem}
.peal h1{font-weight:400;font-size:clamp(2rem,5.2vw,3.4rem);line-height:1.08;margin:0 0 1rem;max-width:14em}
.peal__words p{max-width:var(--measure)}
.peal__chart{margin:0;border-left:1px solid var(--ink);padding:.3rem 0 .3rem 1.2rem}
.chart-rows{list-style:none;margin:0;padding:0;font-family:var(--face-chart);font-size:1.35rem;line-height:1.7}
.chart-row{display:flex;gap:1.1rem;position:relative}
.chart-row[data-note]::after{content:attr(data-note);font-family:var(--face-chart);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);align-self:center;margin-left:.6rem}
.chart-row__bell{width:1.1em;text-align:center}
.chart-row__bell[data-line="treble"]{color:var(--sally);background:var(--sally-wash);font-weight:700}
.peal__caption{font-family:var(--face-chart);font-size:.72rem;line-height:1.45;color:var(--ink-soft);margin-top:.8rem;max-width:22rem}
.method-sheet{padding:2rem 0;border-bottom:1px solid var(--hair)}
.method-sheet p{max-width:var(--measure)}
.method-sheet__table{border-collapse:collapse;width:100%;max-width:52rem;margin:.6rem 0 1rem}
.method-sheet__table th,.method-sheet__table td{border-top:1px solid var(--hair);padding:.65rem .8rem .65rem 0;vertical-align:top;text-align:left}
.method-sheet__table tr:last-child th,.method-sheet__table tr:last-child td{border-bottom:1px solid var(--hair)}
.method-sheet__table th{font-family:var(--face-chart);font-weight:400;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;width:11rem;color:var(--sally)}
.tenor-note{margin:2rem 0;padding:1.2rem 1.4rem;background:var(--stone-deep);border-left:3px solid var(--ink)}
.tenor-note h2{font-family:var(--face-chart);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.tenor-note p{margin:0;max-width:var(--measure)}
.rounds-list{padding:1rem 0 2rem;border-bottom:1px solid var(--hair)}
.rounds-list__items{margin:0;padding:0;list-style:none;counter-reset:pull;max-width:52rem}
.rounds-list__items li{counter-increment:pull;display:grid;grid-template-columns:3.2rem 1fr;padding:.6rem 0;border-top:1px dotted var(--hair)}
.rounds-list__items li::before{content:"0" counter(pull);font-family:var(--face-chart);color:var(--sally);font-size:.85rem;padding-top:.15rem}
.hung-games{padding:2rem 0}
.letterbox{padding:2rem 0 0}
.letterbox h2{font-family:var(--face-chart);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.letterbox p{max-width:var(--measure)}
.bay{padding:1.2rem 0;border-top:1px solid var(--hair);max-width:var(--measure)}
.bay__address{font-style:normal;font-family:var(--face-chart);font-size:.95rem;line-height:1.7;margin:.4rem 0 1rem}
.bay__facts{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.35rem 1.2rem;margin:.4rem 0}
.bay__facts dt{font-family:var(--face-chart);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding-top:.2rem}
.bay__facts dd{margin:0;overflow-wrap:anywhere}
.clauses__stamp{font-family:var(--face-chart);font-size:.78rem;letter-spacing:.06em;color:var(--ink-soft);margin:.6rem 0 0}
.clauses__index{border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);padding:.6rem 0;margin:0 0 1.5rem}
.clauses__index ol{margin:0;padding-left:1.6rem;columns:2;column-gap:2rem;font-size:.95rem}
.clause{padding:.4rem 0 .6rem;border-top:1px solid var(--hair)}
.clause h2{margin-top:.8rem}
.clause p{overflow-wrap:anywhere}
.ringing-floor{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding:1.4rem clamp(1rem,4vw,2.5rem);border-top:1px solid var(--ink);font-size:.9rem;color:var(--ink-soft)}
.ringing-floor__who p{margin:.15rem 0}
.ringing-floor__who b{color:var(--ink);font-weight:400;font-family:var(--face-chart);letter-spacing:.06em}
.ringing-floor__links{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:0;align-self:flex-end}
@media (max-width:760px){
  .peal{grid-template-columns:1fr}
  .ropes{gap:0 1rem}
  .ropes__pull{padding:.8rem 0}
  .peal__chart{border-left:0;border-top:1px solid var(--ink);padding:1rem 0 0}
  .chart-rows{font-size:1.15rem}
  .method-sheet__table th{width:7.5rem}
  .clauses__index ol{columns:1}
  .bay__facts{grid-template-columns:1fr}
  .bay__facts dd{margin-bottom:.5rem}
}
