/* LolliBench — editorial desk for sweet puzzle games. Scarlet ink on white paper. */

:root{
  --ink:#111111;
  --ink-soft:#4a4a4a;
  --paper:#ffffff;
  --paper-2:#f2f2f2;
  --accent:#d81f2a;
  --line:#d81f2a;
  --hair:#e2e2e2;

  --font-display:"Instrument Serif", Didot, "Times New Roman", Georgia, serif;
  --font-body:"Work Sans", "Helvetica Neue", Arial, sans-serif;

  --t-micro:11px;
  --t-small:15px;
  --t-body:18px;
  --t-lead:20px;
  --t-sub:30px;

  --sp-5:5px; --sp-8:8px; --sp-10:10px; --sp-15:15px; --sp-20:20px;
  --sp-30:30px; --sp-50:50px;

  --r-link:3.75px;
  --r-block:25px;
  --r-pill:50px;

  --shell:1280px;
  --pad:clamp(20px, 5vw, 50px);
  --band:clamp(56px, 8vw, 104px);
}

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--t-body);
  font-weight:400;
  line-height:1.55;
  letter-spacing:0.02em;
  -webkit-font-smoothing:antialiased;
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{transition-duration:0.001ms !important;animation-duration:0.001ms !important;}
}

img{max-width:100%;display:block;}

a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:3px;}

h1,h2,h3,h4{margin:0;font-weight:400;}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

.lb-sprite{position:absolute;width:0;height:0;overflow:hidden;}

.lb-shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--pad);
}

.lb-skip{
  position:absolute;left:-9999px;top:0;
  background:var(--accent);color:#fff;
  padding:var(--sp-10) var(--sp-20);
  font-size:var(--t-small);letter-spacing:0.06em;text-transform:uppercase;
  z-index:60;
}
.lb-skip:focus{left:var(--sp-10);top:var(--sp-10);}

/* ---------- shared editorial atoms ---------- */

.lb-dateline{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--sp-20);
  padding-bottom:var(--sp-8);
  border-bottom:1px solid var(--line);
  margin-bottom:var(--sp-30);
}
.lb-dateline__label{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  line-height:1.5;
}
.lb-dateline__note{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
  text-align:right;
}

.lb-title{
  font-family:var(--font-display);
  font-size:clamp(40px, 6.2vw, 76px);
  line-height:1.0;
  letter-spacing:-0.005em;
  font-feature-settings:"clig" on,"liga" on;
  color:var(--ink);
}
.lb-title__accent{color:var(--accent);}

.lb-lede{
  font-size:var(--t-lead);
  line-height:1.45;
  color:var(--ink-soft);
  max-width:62ch;
  margin:var(--sp-20) 0 0;
}

.lb-inkline{
  display:inline-flex;align-items:center;gap:var(--sp-10);
  border:1px solid var(--accent);
  border-radius:var(--r-pill);
  padding:12px 26px;
  font-size:var(--t-small);
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--accent);
  background:transparent;
  cursor:pointer;
  font-family:var(--font-body);
  transition:background-color .18s ease,color .18s ease;
}
.lb-inkline:hover{background:var(--accent);color:#fff;text-decoration:none;}
.lb-inkline--quiet{border-color:var(--ink);color:var(--ink);}
.lb-inkline--quiet:hover{background:var(--ink);color:#fff;}

.lb-runlink{
  display:inline-flex;align-items:center;gap:var(--sp-8);
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  border-radius:var(--r-link);
  border-bottom:1px solid var(--accent);
  padding-bottom:2px;
}
.lb-runlink:hover{text-decoration:none;opacity:.7;}

.lb-stars{display:inline-flex;align-items:center;gap:var(--sp-8);}
.lb-stars__track{position:relative;display:inline-block;line-height:0;}
.lb-stars__row{display:flex;gap:3px;}
.lb-stars__row svg{width:15px;height:15px;}
.lb-stars__row--base svg{fill:#cfcfcf;}
.lb-stars__fill{
  position:absolute;inset:0;overflow:hidden;
}
.lb-stars__fill svg{fill:var(--accent);}
.lb-stars__value{
  font-size:var(--t-small);
  letter-spacing:0.06em;
  color:var(--ink);
}
.lb-stars__count{
  font-size:var(--t-micro);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-soft);
}

/* ---------- 1. runhead (header) ---------- */

.lb-runhead{
  position:sticky;top:0;z-index:50;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.lb-runhead__bar{
  background:var(--accent);
  color:#fff;
}
.lb-runhead__bar-inner{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-15);
  min-height:32px;
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
}
.lb-runhead__inner{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-20);
  padding-block:var(--sp-15);
}
.lb-runhead__logo{
  font-family:var(--font-display);
  font-size:30px;
  line-height:1;
  letter-spacing:0.017em;
  text-transform:uppercase;
  color:var(--ink);
  white-space:nowrap;
}
.lb-runhead__logo:hover{text-decoration:none;}
.lb-runhead__logo-tail{color:var(--accent);}
.lb-runhead__menu{
  display:flex;align-items:center;gap:clamp(12px, 1.6vw, 26px);
  list-style:none;margin:0;padding:0;
}
.lb-runhead__link{
  font-size:clamp(12px, 1.05vw, 15px);
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink);
}
.lb-runhead__link:hover{color:var(--accent);text-decoration:none;}
.lb-runhead__toggle{
  display:none;
  border:1px solid var(--accent);
  border-radius:var(--r-pill);
  background:transparent;
  color:var(--accent);
  font-family:var(--font-body);
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  padding:10px 18px;
  cursor:pointer;
}

@media (max-width: 1023px){
  .lb-runhead__toggle{display:inline-block;}
  .lb-runhead__menu{
    display:none;
    position:absolute;left:0;right:0;top:100%;
    flex-direction:column;align-items:flex-start;gap:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:var(--sp-10) var(--pad) var(--sp-20);
  }
  .lb-runhead__menu.is-open{display:flex;}
  .lb-runhead__menu li{width:100%;border-top:1px solid var(--hair);}
  .lb-runhead__link{display:block;padding:14px 0;}
  .lb-runhead__inner{position:relative;}
}
@media (max-width: 599px){
  .lb-runhead__bar-inner span:last-child{display:none;}
}

/* ---------- 2. splash (hero) ---------- */

.lb-splash{
  padding-block:clamp(36px, 6vw, 78px) var(--band);
  border-bottom:1px solid var(--line);
}
.lb-splash__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:clamp(30px, 5vw, 64px);
  align-items:start;
}
.lb-splash__kicker,
.lb-lost__kicker{
  margin:0 0 var(--sp-20);
  padding-bottom:var(--sp-8);
  border-bottom:1px solid var(--line);
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.lb-splash__title{
  font-family:var(--font-display);
  font-size:clamp(56px, 9vw, 118px);
  line-height:1.0;
  letter-spacing:-0.005em;
  font-feature-settings:"clig" on,"liga" on;
}
.lb-splash__title-accent{color:var(--accent);}
.lb-splash__lead{
  font-size:var(--t-lead);
  line-height:1.45;
  color:var(--ink-soft);
  max-width:46ch;
  margin:var(--sp-30) 0 0;
}
.lb-splash__actions{
  display:flex;flex-wrap:wrap;gap:var(--sp-15);
  margin-top:var(--sp-30);
}
.lb-splash__meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--sp-20) var(--sp-30);
  list-style:none;margin:var(--sp-50) 0 0;padding:var(--sp-20) 0 0;
  border-top:1px solid var(--line);
}
.lb-splash__meta li{max-width:22ch;}
@media (max-width: 519px){ .lb-splash__meta{grid-template-columns:1fr;} }
.lb-splash__meta b{
  display:block;
  font-family:var(--font-display);
  font-size:36px;
  font-weight:400;
  line-height:1;
  color:var(--accent);
}
.lb-splash__meta span{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.lb-splash__figure{margin:0;}
.lb-splash__shot{
  width:100%;height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:50% 42%;
  border-radius:var(--r-block);
  background:var(--paper-2);
}
.lb-splash__caption{
  display:block;
  margin-top:var(--sp-10);
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.lb-splash__icons{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:var(--sp-10);
  list-style:none;margin:var(--sp-20) 0 0;padding:var(--sp-20) 0 0;
  border-top:1px solid var(--line);
}
.lb-splash__icons img{
  width:100%;height:auto;
  max-width:64px;
  aspect-ratio:1/1;
  border-radius:14px;
  background:var(--paper-2);
}

@media (max-width: 959px){
  .lb-splash__grid{grid-template-columns:1fr;}
}

/* ---------- 3. bench (games) ---------- */

.lb-bench{padding-block:var(--band);}
.lb-bench__head{margin-bottom:var(--sp-50);}
.lb-bench__list{list-style:none;margin:0;padding:0;}
.lb-ledger__grid,
.lb-colophon__grid{margin-top:var(--sp-50);}

.lb-slip{padding-block:var(--sp-50) 0;}
.lb-slip + .lb-slip{margin-top:var(--sp-50);border-top:1px solid var(--line);}
.lb-slip__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-20);
  padding-bottom:var(--sp-10);
  border-bottom:1px solid var(--line);
}
.lb-slip__label{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.lb-slip__body{
  display:grid;
  grid-template-columns:45% minmax(0,1fr);
  gap:clamp(20px, 3.5vw, 50px);
  align-items:start;
  padding-top:var(--sp-30);
}
.lb-slip__figure{margin:0;}
.lb-slip__shot{
  width:100%;height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:50% 42%;
  border-radius:var(--r-block);
  background:var(--paper-2);
}
.lb-slip__text{padding-top:var(--sp-5);}
.lb-slip__name{
  display:flex;align-items:center;gap:var(--sp-15);
  font-family:var(--font-display);
  font-size:clamp(32px, 4vw, 48px);
  line-height:1.05;
}
.lb-slip__name img{
  width:52px;height:52px;flex:none;
  border-radius:13px;
  background:var(--paper-2);
}
.lb-slip__maker{
  margin:var(--sp-10) 0 0;
  font-size:var(--t-small);
  letter-spacing:0.04em;
  color:var(--ink-soft);
}
.lb-slip__score{margin-top:var(--sp-15);}
.lb-slip__desc{margin:var(--sp-20) 0 0;max-width:60ch;}
.lb-slip__facts{
  display:flex;flex-wrap:wrap;gap:var(--sp-8);
  list-style:none;margin:var(--sp-20) 0 0;padding:0;
}
.lb-slip__facts li{
  border:1px solid var(--hair);
  border-radius:var(--r-pill);
  padding:6px 14px;
  font-size:var(--t-micro);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.lb-slip__label--aside{color:var(--ink-soft);}
.lb-slip__foot{
  display:flex;justify-content:flex-end;
  margin:var(--sp-20) 0 0;
}

@media (max-width: 767px){
  .lb-slip__body{grid-template-columns:1fr;}
  .lb-slip__name{font-size:30px;}
}

/* ---------- 4. ledger (editorial model) ---------- */

.lb-ledger{
  padding-block:var(--band);
  background:var(--paper-2);
}
.lb-ledger__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px, 5vw, 64px);
  align-items:start;
}
.lb-ledger__points{
  list-style:none;margin:var(--sp-30) 0 0;padding:0;
  counter-reset:lb-point;
}
.lb-ledger__points li{
  padding:var(--sp-20) 0;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  column-gap:var(--sp-15);
  align-items:start;
}
.lb-ledger__points li::before{
  counter-increment:lb-point;
  content:"0" counter(lb-point);
  grid-column:1;
  grid-row:1 / span 2;
  font-family:var(--font-display);
  font-size:26px;
  color:var(--accent);
  line-height:1.2;
}
.lb-ledger__points b{grid-column:2;}
.lb-ledger__points span{grid-column:2;}
.lb-ledger__points b{
  display:block;
  font-weight:500;
  font-size:var(--t-body);
  letter-spacing:0.02em;
}
.lb-ledger__points span{
  display:block;
  font-size:var(--t-small);
  line-height:1.6;
  color:var(--ink-soft);
  margin-top:4px;
}
.lb-ledger__figure{margin:0;}
.lb-ledger__figure img{
  width:100%;height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:50% 42%;
  border-radius:var(--r-block);
  background:var(--paper);
}
.lb-ledger__note{
  margin:var(--sp-20) 0 0;
  font-size:var(--t-small);
  line-height:1.6;
  color:var(--ink-soft);
}
@media (max-width: 899px){
  .lb-ledger__grid{grid-template-columns:1fr;}
}

/* ---------- 5. hallmark (features) ---------- */

.lb-hallmark{padding-block:var(--band);}
.lb-hallmark__grid{
  margin-top:var(--sp-50);
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:1px;
  background:var(--hair);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.lb-hallmark__item{
  background:var(--paper);
  padding:var(--sp-30);
}
.lb-hallmark__icon{
  width:32px;height:32px;
  color:var(--accent);
}
.lb-hallmark__title{
  margin:var(--sp-20) 0 var(--sp-10);
  font-family:var(--font-display);
  font-size:28px;
  line-height:1.1;
}
.lb-hallmark__text{
  margin:0;
  font-size:var(--t-small);
  line-height:1.65;
  color:var(--ink-soft);
}

/* ---------- 6. stamp (pricing) ---------- */

.lb-stamp{padding-block:var(--band);background:var(--paper-2);}
.lb-stamp__grid{
  margin-top:var(--sp-50);
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:var(--sp-30);
}
.lb-stamp__plan{
  background:var(--paper);
  border-radius:var(--r-block);
  padding:var(--sp-30);
  border:1px solid var(--hair);
  display:flex;flex-direction:column;
}
.lb-stamp__plan--plus{border-color:var(--accent);}
.lb-stamp__tier{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.lb-stamp__price{
  font-family:var(--font-display);
  font-size:64px;
  line-height:1;
  margin:var(--sp-15) 0 var(--sp-5);
}
.lb-stamp__cycle{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.lb-stamp__list{
  list-style:none;margin:var(--sp-20) 0 var(--sp-30);padding:0;
  font-size:var(--t-small);line-height:1.6;
}
.lb-stamp__list li{
  padding:var(--sp-10) 0;
  border-top:1px solid var(--hair);
}
.lb-stamp__plan .lb-inkline{margin-top:auto;align-self:flex-start;}
.lb-stamp__note{
  margin:var(--sp-30) 0 0;
  padding-top:var(--sp-20);
  border-top:1px solid var(--line);
  font-size:var(--t-small);
  line-height:1.6;
  color:var(--ink-soft);
}

/* ---------- 7. signup (form) ---------- */

.lb-signup{padding-block:var(--band);}
.lb-signup__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px, 5vw, 64px);
  align-items:start;
}
.lb-signup__form{margin-top:var(--sp-10);}
.lb-signup__field{margin-bottom:var(--sp-20);}
.lb-signup__label{
  display:block;
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:var(--sp-8);
}
.lb-signup__input{
  width:100%;
  border:1px solid var(--hair);
  border-radius:var(--r-pill);
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:var(--t-body);
  letter-spacing:0.02em;
  padding:14px 22px;
}
.lb-signup__input:focus{border-color:var(--accent);outline:none;}
.lb-signup__check{
  display:flex;gap:var(--sp-10);align-items:flex-start;
  font-size:var(--t-small);line-height:1.55;color:var(--ink-soft);
  margin-bottom:var(--sp-20);
}
.lb-signup__check input{
  width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--accent);
}
.lb-signup__msg{
  display:none;
  margin-top:var(--sp-20);
  border:1px solid var(--accent);
  border-radius:var(--r-block);
  padding:var(--sp-15) var(--sp-20);
  font-size:var(--t-small);
  color:var(--ink);
}
.lb-signup__msg.is-visible{display:block;}
.lb-signup__fine{
  margin:var(--sp-20) 0 0;
  font-size:var(--t-micro);
  line-height:1.7;
  letter-spacing:0.04em;
  color:var(--ink-soft);
}

@media (max-width: 899px){
  .lb-signup__grid{grid-template-columns:1fr;}
}

/* ---------- 8. query (FAQ) ---------- */

.lb-query{padding-block:var(--band);background:var(--paper-2);}
.lb-query__list{
  list-style:none;margin:var(--sp-50) 0 0;padding:0;
  border-top:1px solid var(--line);
  width:100%;
}
.lb-query__item{border-bottom:1px solid var(--line);}
.lb-query__q{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-20);
  background:transparent;border:0;
  padding:var(--sp-20) 0;
  font-family:var(--font-display);
  font-size:clamp(22px, 2.6vw, 30px);
  line-height:1.2;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.lb-query__q:hover{color:var(--accent);}
.lb-query__sign{
  flex:none;width:22px;height:22px;color:var(--accent);
  transition:transform .18s ease;
}
.lb-query__item.is-open .lb-query__sign{transform:rotate(45deg);}
.lb-query__a{
  display:none;
  padding:0 0 var(--sp-20);
  font-size:var(--t-small);
  line-height:1.7;
  color:var(--ink-soft);
  max-width:78ch;
}
.lb-query__item.is-open .lb-query__a{display:block;}

/* ---------- 9. voices (reviews) ---------- */

.lb-voices{padding-block:var(--band);}
.lb-voices__grid{
  margin-top:var(--sp-50);
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:var(--sp-30);
}
.lb-voices__item{
  background:var(--paper-2);
  border-radius:var(--r-block);
  padding:var(--sp-30);
}
.lb-voices__game{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:var(--sp-10);
}
.lb-voices__text{
  margin:0 0 var(--sp-20);
  font-size:var(--t-small);
  line-height:1.7;
}
.lb-voices__who{
  margin:0;
  padding-top:var(--sp-15);
  border-top:1px solid var(--hair);
  font-size:var(--t-micro);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-soft);
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-15);
}
.lb-voices__who b{color:var(--ink);font-weight:500;}
.lb-voices__note{
  margin:var(--sp-30) 0 0;
  padding-top:var(--sp-20);
  border-top:1px solid var(--line);
  font-size:var(--t-small);
  color:var(--ink-soft);
}

/* ---------- 10. plate (gallery) ---------- */

.lb-plate{padding-block:var(--band);}
.lb-plate__grid{
  margin-top:var(--sp-50);
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:var(--sp-15);
}
.lb-plate__frame{
  margin:0;
  border-radius:var(--r-block);
  overflow:hidden;
  background:var(--paper-2);
}
.lb-plate__frame img{
  width:100%;height:auto;
  aspect-ratio:640/1138;
  object-fit:cover;
}
@media (max-width: 1023px){
  .lb-plate__grid{grid-template-columns:repeat(4, minmax(0,1fr));}
}
@media (max-width: 599px){
  .lb-plate__grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}

/* ---------- 11. colophon (about) ---------- */

.lb-colophon{padding-block:var(--band);background:var(--paper-2);}
.lb-colophon__grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);
  gap:clamp(30px, 5vw, 64px);
  align-items:start;
}
.lb-colophon__text p{margin:var(--sp-20) 0 0;max-width:64ch;}
.lb-colophon__figure{margin:0 0 var(--sp-30);}
.lb-colophon__figure img{
  width:100%;height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  border-radius:var(--r-block);
  background:var(--paper);
}
.lb-colophon__credit{
  margin-top:var(--sp-10);
  font-size:var(--t-micro);
  line-height:1.6;
  letter-spacing:0.06em;
  color:var(--ink-soft);
}
.lb-colophon__facts{
  list-style:none;margin:0;padding:0;
  border-top:1px solid var(--line);
}
.lb-colophon__facts li{
  display:grid;
  grid-template-columns:minmax(0,10ch) minmax(0,1fr);
  gap:var(--sp-15);
  padding:var(--sp-15) 0;
  border-bottom:1px solid var(--hair);
  font-size:var(--t-small);
  line-height:1.6;
}
.lb-colophon__facts a{color:var(--accent);}
.lb-colophon__facts b{
  font-weight:400;
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
}
@media (max-width: 899px){
  .lb-colophon__grid{grid-template-columns:1fr;}
}

/* ---------- 12. gutter (footer) ---------- */

.lb-gutter{
  border-top:1px solid var(--line);
  padding-block:var(--sp-50) var(--sp-30);
}
.lb-gutter__grid{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(3, minmax(0,1fr));
  gap:var(--sp-30);
}
.lb-gutter__logo{
  font-family:var(--font-display);
  font-size:36px;
  line-height:1;
  letter-spacing:0.017em;
  text-transform:uppercase;
  color:var(--ink);
  display:inline-block;
}
.lb-gutter__logo:hover{text-decoration:none;}
.lb-gutter__logo span{color:var(--accent);}
.lb-gutter__blurb{
  margin:var(--sp-15) 0 0;
  font-size:var(--t-small);
  line-height:1.65;
  color:var(--ink-soft);
  max-width:38ch;
}
.lb-gutter__title{
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:var(--sp-15);
}
.lb-gutter__links{list-style:none;margin:0;padding:0;}
.lb-gutter__links li{margin-bottom:var(--sp-10);}
.lb-gutter__links a{
  font-size:var(--t-small);
  letter-spacing:0.04em;
  color:var(--ink);
}
.lb-gutter__links a:hover{color:var(--accent);}
.lb-gutter__bottom{
  display:flex;flex-wrap:wrap;gap:var(--sp-15);
  align-items:center;justify-content:space-between;
  margin-top:var(--sp-50);
  padding-top:var(--sp-20);
  border-top:1px solid var(--line);
  font-size:var(--t-micro);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
@media (max-width: 899px){
  .lb-gutter__grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (max-width: 519px){
  .lb-gutter__grid{grid-template-columns:1fr;}
}

/* ---------- cookie notice + back to top ---------- */

.lb-crumb{
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  background:var(--paper);
  border-top:1px solid var(--line);
  padding:var(--sp-20) 0;
  display:none;
}
.lb-crumb.is-visible{display:block;}
.lb-crumb__inner{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--sp-20);
}
.lb-crumb__text{
  margin:0;
  font-size:var(--t-small);
  line-height:1.6;
  max-width:70ch;
  color:var(--ink-soft);
}
.lb-crumb__actions{display:flex;flex-wrap:wrap;gap:var(--sp-10);}

.lb-uptick{
  position:fixed;right:20px;bottom:96px;z-index:54;
  width:48px;height:48px;
  display:none;align-items:center;justify-content:center;
  border:1px solid var(--accent);
  border-radius:var(--r-pill);
  background:var(--paper);
  color:var(--accent);
  cursor:pointer;
}
.lb-uptick.is-visible{display:flex;}
.lb-uptick:hover{background:var(--accent);color:#fff;}
.lb-uptick svg{width:18px;height:18px;}

/* ---------- legal pages ---------- */

.lb-sheet{padding-block:var(--band);}
.lb-sheet__meta{
  margin:var(--sp-15) 0 0;
  font-size:var(--t-micro);
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.lb-sheet__body{margin-top:var(--sp-50);}
.lb-sheet__body h2{
  font-family:var(--font-display);
  font-size:clamp(26px, 3.4vw, 38px);
  line-height:1.15;
  margin:var(--sp-50) 0 var(--sp-15);
  padding-top:var(--sp-20);
  border-top:1px solid var(--line);
}
.lb-sheet__body h2:first-child{margin-top:0;}
.lb-sheet__body p,
.lb-sheet__body li{
  font-size:var(--t-small);
  line-height:1.75;
  max-width:80ch;
}
.lb-sheet__body ul{padding-left:var(--sp-20);}
.lb-sheet__body li{margin-bottom:var(--sp-8);}
.lb-sheet__actions{margin-top:var(--sp-50);}

.lb-lost{padding-block:clamp(60px, 12vw, 150px);text-align:center;}
.lb-lost__code{
  font-family:var(--font-display);
  font-size:clamp(90px, 20vw, 200px);
  line-height:1;
  color:var(--accent);
}
.lb-lost__text{margin:var(--sp-20) auto 0;max-width:52ch;color:var(--ink-soft);}
.lb-lost__actions{margin-top:var(--sp-30);}
