/* ============================================================
   eboosterxt.com  |  broadsheet.css
   Pressroom Copper: newsprint paper, ink, copper rules, flame CTA.
   Sections: 1 tokens 2 reset 3 furniture 4 masthead 5 hero 6 blocks
   7 tables 8 packs 9 reviews 10 editorial 11 forms 12 rail 13 footer
   14 responsive
   ============================================================ */

/* 1 tokens ------------------------------------------------- */
:root{
  --paper:#f7f4ed;
  --paper2:#efe9dc;
  --card:#fffdf8;
  --ink:#14161a;
  --body:#3b424b;
  --steel:#6d757f;
  --rule:#d8d0bd;
  --rule2:#b9ae95;
  --copper:#a2490f;
  --flame:#e06a12;
  --flame2:#c25708;
  --keep:#146046;
  --dark:#191b1f;
  --measure:70ch;
}

/* 2 reset -------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--body);
  font-family:"Sofia Sans","Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.62;
  font-variant-numeric:tabular-nums}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--copper)}
h1,h2,h3,h4{font-family:Kadwa,Georgia,"Times New Roman",serif;color:var(--ink);
  line-height:1.16;margin:0 0 14px;font-weight:700}
h1{font-size:clamp(30px,4.3vw,49px);letter-spacing:-.005em}
h2{font-size:clamp(23px,2.7vw,32px)}
h3{font-size:19px}
p{margin:0 0 16px}
ul,ol{margin:0 0 16px;padding-left:20px}
li{margin:0 0 7px}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:3px solid var(--flame);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:60}
.skip:focus{left:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px}

/* 3 furniture ---------------------------------------------- */
.rib{background:var(--ink);color:#efe6d3;text-align:center;font-size:11px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;padding:8px 14px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  color:var(--copper);margin:0 0 10px}
.kicker{font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  color:var(--copper);margin:0 0 8px}
.btn{display:inline-block;background:var(--flame);color:#fff;text-decoration:none;font-weight:800;
  font-size:15px;letter-spacing:.05em;text-transform:uppercase;padding:15px 30px;border:2px solid var(--flame);
  border-radius:2px}
.btn:hover{background:var(--flame2);border-color:var(--flame2)}
.btn-ghost{display:inline-block;background:transparent;color:var(--ink);text-decoration:none;font-weight:800;
  font-size:14px;letter-spacing:.05em;text-transform:uppercase;padding:14px 26px;border:2px solid var(--ink);
  border-radius:2px}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.sec{padding:44px 0;border-top:1px solid var(--rule)}
.sec-alt{background:var(--paper2)}
.sec-h{margin-bottom:8px}
.sec-lead{max-width:var(--measure);font-size:18px}
.badge{display:inline-block;border:1px solid var(--rule2);color:var(--ink);font-size:10.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:2px;background:var(--card)}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.badges li{margin:0}
.note{border-left:3px solid var(--copper);background:var(--card);padding:14px 18px;margin:0 0 18px;
  font-size:16px}
.pull{font-family:Kadwa,Georgia,serif;font-size:21px;line-height:1.42;color:var(--ink);
  border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);padding:16px 0;margin:22px 0}
.byline{font-size:13px;color:var(--steel);border-bottom:1px solid var(--rule);padding-bottom:12px;
  margin:0 0 20px;letter-spacing:.02em}
.updated{font-size:12.5px;color:var(--steel);letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;margin:22px 0 0}

/* 4 masthead ----------------------------------------------- */
.mast{background:var(--paper);border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:40}
.mast-in{display:flex;align-items:center;gap:18px;padding-top:14px;padding-bottom:14px}
.flag{text-decoration:none;display:block;margin-right:auto}
.flag-n{display:block;font-family:Kadwa,Georgia,serif;font-weight:700;font-size:27px;color:var(--ink);
  line-height:1.05;letter-spacing:-.01em;margin:0}
.flag-s{display:block;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--steel);margin-top:3px}
.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.nav li{margin:0}
.nav a{color:var(--ink);text-decoration:none;font-size:12.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;padding-bottom:3px;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--copper);color:var(--copper)}
.mast-cta{background:var(--flame);color:#fff;text-decoration:none;font-size:12px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;padding:11px 17px;border-radius:2px;white-space:nowrap}
.mast-cta:hover{background:var(--flame2)}
.burger{display:none;background:none;border:1px solid var(--rule2);border-radius:2px;width:44px;height:40px;
  padding:9px 10px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);margin:4px 0}
.dateline{display:flex;flex-wrap:wrap;gap:0 26px;max-width:1180px;margin:0 auto;padding:7px 22px;
  border-top:1px solid var(--rule);font-size:10.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel)}
.crumbs{border-bottom:1px solid var(--rule);font-size:12.5px;padding:11px 0;color:var(--steel)}
.crumbs a{color:var(--steel);text-decoration:none}
.crumbs a:hover{color:var(--copper)}
.crumbs i{font-style:normal;margin:0 8px;color:var(--rule2)}

/* 5 hero --------------------------------------------------- */
.hero{padding:40px 0 34px}
.hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:46px;align-items:center}
.hero-txt h1{margin-bottom:18px}
.dossier{font-size:18.5px;color:var(--ink);border-left:3px solid var(--copper);padding-left:17px;
  margin:0 0 18px;font-weight:500}
.portal-p{font-size:15px;color:var(--steel);font-style:italic;margin:0 0 20px;max-width:60ch}
.hero-buy{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:0 0 6px}
.hero-price{font-family:Kadwa,Georgia,serif;font-size:20px;color:var(--ink)}
.hero-art{background:var(--paper2);border:1px solid var(--rule);padding:18px;text-align:center}
.hero-art img{margin:0 auto}
.hero-cap{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);
  margin:14px 0 0;font-weight:700}

/* 6 blocks ------------------------------------------------- */
.lede{border-top:3px solid var(--ink);border-bottom:1px solid var(--rule);padding:20px 0 8px;margin:0 0 34px}
.lede-h{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);
  margin:0 0 10px}
.lede-p{font-size:19px;color:var(--ink);max-width:76ch;margin:0 0 14px;line-height:1.55}
.refcard{border:1px solid var(--rule2);background:var(--card)}
.refcard-h{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#efe6d3;
  background:var(--ink);margin:0;padding:11px 18px}
.rc{font-size:15.5px}
.rc th{text-align:left;font-weight:700;color:var(--ink);width:38%;padding:11px 18px;
  border-bottom:1px solid var(--rule);vertical-align:top}
.rc td{padding:11px 18px;border-bottom:1px solid var(--rule);vertical-align:top}
.rc tr:last-child th,.rc tr:last-child td{border-bottom:0}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:26px 0 0;padding:0;list-style:none}
.pillars li{margin:0}
.pillar{border-top:3px solid var(--ink);padding-top:14px}
.pillar-n{font-family:Kadwa,Georgia,serif;font-size:13px;color:var(--copper);letter-spacing:.1em;margin:0 0 6px}
.pillar-h{font-size:19px;margin:0 0 8px}
.pillar-p{font-size:15.5px;margin:0}
.vows{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:24px 0 0;padding:0;list-style:none}
.vows li{margin:0}
.vow{border:1px solid var(--rule);background:var(--card);padding:20px}
.vow-n{font-family:Kadwa,Georgia,serif;font-size:30px;color:var(--rule2);line-height:1;margin:0 0 8px}
.feat{display:flex;flex-wrap:wrap;gap:12px 34px;margin:18px 0 0;padding:0;list-style:none}
.feat li{margin:0}
.feat-l{font-family:Kadwa,Georgia,serif;font-size:15px;color:var(--steel);letter-spacing:.04em}
.lotbox{border:1px solid var(--rule2);background:var(--card);padding:0;margin:26px 0 0}
.lot-h{font-family:Kadwa,Georgia,serif;font-size:17px;color:#efe6d3;background:var(--ink);margin:0;
  padding:13px 20px}
.lot-t{font-size:15px}
.lot-t th{text-align:left;font-weight:700;color:var(--ink);width:42%;padding:10px 20px;
  border-bottom:1px solid var(--rule)}
.lot-t td{padding:10px 20px;border-bottom:1px solid var(--rule)}
.lot-note{font-size:13.5px;color:var(--steel);margin:0;padding:14px 20px}
.lot-cta{padding:0 20px 18px}
.qa{margin:24px 0 0}
.qa-q{font-size:21px;margin:26px 0 8px}
.qa-a{max-width:var(--measure);margin:0 0 12px}
.filed{border:2px solid var(--ink);background:var(--card);padding:24px 26px;margin:36px 0 0}
.filed-h{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);
  margin:0 0 12px}
.filed-l{margin:0;padding-left:20px}
.filed-l li{font-size:16.5px;color:var(--ink);margin:0 0 9px}
.cta-band{background:var(--dark);color:#e8e2d5;padding:46px 0;text-align:center}
.cta-band h2{color:#fff}
.cta-h{margin:0 0 12px}
.cta-p{max-width:64ch;margin:0 auto 22px;font-size:17px;color:#c9c2b3}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
.cta-band .btn-ghost{color:#fff;border-color:#5b6068}
.cta-band .btn-ghost:hover{background:#fff;color:var(--ink)}
.cta-trust{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center;margin:24px 0 0;padding:0;
  list-style:none;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8d949d}
.cta-trust li{margin:0}
.steps{counter-reset:st;list-style:none;margin:22px 0 0;padding:0}
.step{border-top:1px solid var(--rule);padding:18px 0 4px;display:grid;grid-template-columns:52px minmax(0,1fr);
  gap:18px}
.step-n{font-family:Kadwa,Georgia,serif;font-size:26px;color:var(--copper);line-height:1}
.step h3{margin:0 0 6px}
.step p{margin:0}
.gloss{margin:20px 0 0}
.gl-t{font-family:Kadwa,Georgia,serif;font-weight:700;color:var(--ink);margin:14px 0 4px;font-size:17px}
.gl-d{margin:0 0 10px;padding-left:0;font-size:15.5px}

/* 7 tables ------------------------------------------------- */
.tbl-wrap{overflow-x:auto;margin:22px 0;border:1px solid var(--rule2);background:var(--card)}
.tbl{font-size:15.5px;min-width:520px}
.tbl caption{text-align:left;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:#efe6d3;background:var(--ink);padding:11px 18px}
.tbl th{text-align:left;font-weight:700;color:var(--ink);padding:11px 18px;border-bottom:1px solid var(--rule)}
.tbl thead th{border-bottom:2px solid var(--ink);font-size:12px;letter-spacing:.09em;text-transform:uppercase}
.tbl td{padding:11px 18px;border-bottom:1px solid var(--rule)}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}
.tbl .yes{color:var(--keep);font-weight:700}
.tbl .no{color:var(--copper);font-weight:700}

/* 8 packs -------------------------------------------------- */
.packs-head{text-align:center;margin:0 0 8px}
.packs-save{text-align:center;font-family:Kadwa,Georgia,serif;font-size:21px;color:var(--ink);margin:0 0 26px}
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;list-style:none;
  align-items:start}
.packs li{margin:0}
.pack{border:1px solid var(--rule2);background:var(--card);text-align:center;padding:24px 20px 26px;
  position:relative}
.pack-best{border:2px solid var(--ink);background:var(--paper2)}
.pack-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--ink);color:#efe6d3;
  font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px;
  white-space:nowrap}
.pack-h{font-size:20px;margin:4px 0 2px}
.pack-sub{font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--steel);
  font-weight:700;margin:0 0 14px}
.pack-img{margin:0 auto 14px;max-width:190px}
.pack-price{font-family:Kadwa,Georgia,serif;font-size:44px;color:var(--ink);line-height:1;margin:0}
.pack-per{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--steel);font-weight:700;
  margin:6px 0 10px}
.pack-was{font-size:15px;color:var(--steel);margin:0 0 10px}
.pack-was s{color:var(--rule2)}
.keep{display:inline-block;background:var(--keep);color:#fff;font-size:11.5px;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;padding:5px 11px;border-radius:2px;margin-left:6px}
.pack-tot{font-size:16px;color:var(--ink);font-weight:700;margin:0 0 4px}
.pack-ship{font-size:13.5px;color:var(--steel);margin:0 0 16px}
.pack-cta{display:block;background:var(--flame);color:#fff;text-decoration:none;font-weight:800;font-size:15px;
  letter-spacing:.06em;text-transform:uppercase;padding:14px 10px;border-radius:2px}
.pack-cta:hover{background:var(--flame2)}
.pack-guar{font-size:12.5px;color:var(--steel);margin:12px 0 0}
.packs-note{text-align:center;font-size:14px;color:var(--steel);margin:24px 0 0}

/* 9 reviews ------------------------------------------------ */
.score{display:flex;flex-wrap:wrap;align-items:flex-end;gap:26px;margin:0 0 26px}
.score-n{font-family:Kadwa,Georgia,serif;font-size:66px;color:var(--ink);line-height:.9;margin:0}
.score-m{font-size:14.5px;color:var(--steel);margin:0}
.stars{color:var(--flame);letter-spacing:.18em;font-size:19px;margin:0 0 4px}
.ledger{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule2);
  border:1px solid var(--rule2);margin:26px 0}
.led-item{background:var(--card);padding:18px 16px;text-align:center}
.led-n{font-family:Kadwa,Georgia,serif;font-size:29px;color:var(--ink);line-height:1;margin:0 0 6px}
.led-l{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--steel);font-weight:700;margin:0}
.crit{margin:22px 0 0;padding:0;list-style:none}
.crit li{margin:0}
.crit-row{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:14px;align-items:center;
  border-bottom:1px solid var(--rule);padding:11px 0}
.crit-n{font-size:15.5px;color:var(--ink)}
.crit-v{font-family:Kadwa,Georgia,serif;font-size:17px;color:var(--copper);text-align:right}
.bars{margin:20px 0 0;padding:0;list-style:none}
.bars li{margin:0}
.bar-row{display:grid;grid-template-columns:96px minmax(0,1fr) 54px;gap:14px;align-items:center;padding:6px 0}
.bar-l{font-size:14px;color:var(--ink)}
.bar{background:var(--paper2);border:1px solid var(--rule);height:15px}
.bar-fill{background:var(--copper);height:100%}
.bar-v{font-size:14px;color:var(--steel);text-align:right}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:20px 0 0;padding:0;list-style:none}
.revs li{margin:0}
.rev{border:1px solid var(--rule);background:var(--card);padding:20px;height:100%}
.rev-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 4px}
.rev-name{font-family:Kadwa,Georgia,serif;font-size:16px;color:var(--ink);margin:0}
.rev-meta{font-size:12.5px;color:var(--steel);margin:0 0 8px}
.rev-badge{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--keep);
  white-space:nowrap}
.rev-body{font-size:15.5px;margin:0}
.rev-cat{font-family:Kadwa,Georgia,serif;font-size:20px;color:var(--ink);margin:30px 0 4px}
.rev-catsub{font-size:14px;color:var(--steel);margin:0 0 14px}

/* 10 editorial --------------------------------------------- */
.prose{max-width:var(--measure)}
.prose h2{margin-top:34px}
.prose h3{margin-top:24px}
.lf-p:first-of-type::first-letter{font-family:Kadwa,Georgia,serif;font-size:56px;line-height:.82;float:left;
  padding:6px 10px 0 0;color:var(--copper)}
.cite{font-size:11.5px;vertical-align:super;color:var(--copper);font-weight:700;text-decoration:none}
.refs{border-top:3px solid var(--ink);margin:44px 0 0;padding:22px 0 0}
.refs-h{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--copper);
  font-family:"Sofia Sans",sans-serif;margin:0 0 14px}
.rlist{list-style:none;margin:0;padding:0;counter-reset:none}
.rlist li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;font-size:14px;color:var(--steel);
  margin:0 0 10px}
.rnum{font-family:Kadwa,Georgia,serif;color:var(--copper)}
.rtxt{overflow-wrap:anywhere}
.rtxt a{color:var(--copper)}
.mednote{font-size:13.5px;color:var(--steel);border-left:3px solid var(--rule2);padding-left:14px;
  margin:22px 0 0}

/* 11 forms ------------------------------------------------- */
.infogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:24px 0 0;padding:0;list-style:none}
.infogrid li{margin:0}
.info{border-top:3px solid var(--ink);padding-top:14px}
.info h3{margin:0 0 6px}
.info p{margin:0;font-size:15.5px}
.cform{border:1px solid var(--rule2);background:var(--card);padding:24px;margin:26px 0 0;max-width:620px}
.field{margin:0 0 16px}
.flabel{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);margin:0 0 6px}
.finput,.ftextarea{width:100%;border:1px solid var(--rule2);background:var(--paper);padding:11px 13px;
  font-family:inherit;font-size:16px;color:var(--ink);border-radius:2px}
.ftextarea{min-height:130px;resize:vertical}
.fhint{font-size:13px;color:var(--steel);margin:14px 0 0}

/* 12 rail -------------------------------------------------- */
.rail{position:fixed;left:0;right:0;bottom:0;background:var(--dark);border-top:3px solid var(--flame);
  z-index:45}
.rail-in{display:flex;align-items:center;gap:14px;padding-top:11px;padding-bottom:11px}
.rail-go{display:flex;align-items:center;gap:14px;flex:1;text-decoration:none;color:#e8e2d5;flex-wrap:wrap}
.rail-chip{background:#c1121f;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 11px;border-radius:2px}
.rail-txt{font-size:14.5px}
.rail-txt b{color:#fff}
.rail-btn{margin-left:auto;background:var(--flame);color:#fff;font-size:13px;font-weight:800;
  letter-spacing:.07em;text-transform:uppercase;padding:11px 20px;border-radius:2px;white-space:nowrap}
.rail-x{background:none;border:1px solid #4a4f56;color:#b7b0a3;width:34px;height:34px;font-size:19px;
  line-height:1;cursor:pointer;border-radius:2px}
.rail-x:hover{color:#fff;border-color:#7d838b}
body.with-rail{padding-bottom:82px}
.rail-off .rail{display:none}
body.rail-off{padding-bottom:0}

/* 13 footer ------------------------------------------------ */
.foot{background:var(--paper2);border-top:3px solid var(--ink);padding:42px 0 30px;margin-top:0}
.fgrid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px}
.fbrand .flag-n{font-size:23px;margin-bottom:10px}
.fblurb{font-size:14.5px;color:var(--steel);margin:0 0 14px}
.faddr{font-style:normal;font-size:14px;color:var(--steel);line-height:1.75}
.faddr a{color:var(--copper);text-decoration:none}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin:0 0 8px}
.fcol a{color:var(--body);text-decoration:none;font-size:14.5px}
.fcol a:hover{color:var(--copper)}
.fh{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);
  font-family:"Sofia Sans",sans-serif;margin:0 0 12px}
.fportal{border-top:1px solid var(--rule2);margin:32px 0 0;padding:18px 0 0;font-size:13px;
  font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.fnote{font-size:12.5px;color:var(--steel);margin:0 0 10px;max-width:100ch}
.fcopy{font-size:12.5px;color:var(--steel);border-top:1px solid var(--rule2);padding-top:16px;margin:16px 0 0}

/* 14 responsive -------------------------------------------- */
@media (max-width:1000px){
  .fgrid{grid-template-columns:1fr 1fr;gap:26px}
  .hero-in{grid-template-columns:1fr;gap:30px}
  .hero-art img{max-width:430px}
  .pillars,.vows,.revs,.infogrid{grid-template-columns:1fr 1fr}
  .ledger{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .burger{display:block;order:3}
  .mast-cta{order:2;padding:10px 13px;font-size:11px}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:3px solid var(--ink);
    visibility:hidden;opacity:0;transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s}
  .nav[data-open="1"]{visibility:visible;opacity:1;transform:none;transition:opacity .18s ease,
    transform .18s ease,visibility 0s}
  .nav ul{flex-direction:column;gap:0;padding:6px 22px 14px}
  .nav li{border-bottom:1px solid var(--rule)}
  .nav a{display:block;padding:13px 0;border-bottom:0}
  .packs{grid-template-columns:1fr;gap:30px}
  .pack-img{max-width:210px}
  .hero-art img{max-width:320px}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .pillars,.vows,.revs,.infogrid,.fgrid{grid-template-columns:1fr}
  .rail-btn{margin-left:0}
  .rail-txt{font-size:13px}
  .dateline{gap:0 14px;font-size:9.5px}
  .step{grid-template-columns:38px minmax(0,1fr);gap:12px}
  body.with-rail{padding-bottom:124px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important}
}
