/* ===========================================================
   minnesotavikings.io — Bears vs Vikings watch guide
   Light editorial "printed game programme" layout.
   Scoped to body.page-bearsguide. All classes use the cb- prefix
   so nothing here can collide with style.css / watchguide.css.
   =========================================================== */

.page-bearsguide{
  --cb-paper:#F4F1EA;
  --cb-paper-2:#EDE8DE;
  --cb-card:#FFFFFF;
  --cb-ink:#171820;
  --cb-ink-2:#4A4A55;
  --cb-ink-3:#71707C;
  --cb-rule:#D8D2C7;
  --cb-rule-soft:#E5E0D6;
  --cb-purple:#4F2683;
  --cb-purple-2:#3B1C63;
  --cb-gold:#FFC62F;
  --cb-navy:#0B162A;
  --cb-orange:#C83803;
  --cb-shadow:0 1px 0 rgba(23,24,32,.05),0 10px 30px rgba(23,24,32,.07);

  background:var(--cb-paper);
  color:var(--cb-ink);
}

/* the site chrome sits on a dark bar; keep the paper below it */
.page-bearsguide .cb-page{background:var(--cb-paper)}

/* ---------- shared type ---------- */
.cb-kicker{
  display:block;font-family:var(--display);font-weight:600;font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--cb-purple);
}
.cb-h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(23px,3vw,34px);line-height:1.06;letter-spacing:.01em;
  color:var(--cb-ink);
}
.cb-h3{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:clamp(16px,1.7vw,19px);line-height:1.2;letter-spacing:.06em;
  color:var(--cb-ink);
}
.cb-sec{padding:44px 0;border-top:1px solid var(--cb-rule)}
.cb-sec:first-of-type{border-top:0}
.cb-sec-head{margin-bottom:22px}
.cb-sec-head .cb-h2{margin-top:6px}
.cb-lead{font-size:17px;line-height:1.65;color:var(--cb-ink-2);max-width:68ch}
.cb-p{font-size:15.5px;line-height:1.72;color:var(--cb-ink-2);max-width:72ch}
.cb-p + .cb-p{margin-top:14px}
.cb-p a,.cb-li a{color:var(--cb-purple);text-decoration:underline;text-underline-offset:2px}
.cb-p a:hover,.cb-li a:hover{color:var(--cb-purple-2)}
.cb-note{
  margin-top:18px;padding:14px 16px;background:var(--cb-paper-2);
  border-left:3px solid var(--cb-gold);font-size:14.5px;line-height:1.6;color:var(--cb-ink-2)
}

/* ---------- breadcrumb ---------- */
.cb-crumbs{background:var(--cb-paper-2);border-bottom:1px solid var(--cb-rule)}
.cb-crumbs ol{list-style:none;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 0;
  font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--cb-ink-3)}
.cb-crumbs a{color:var(--cb-purple)}
.cb-crumbs a:hover{text-decoration:underline}
.cb-crumbs li[aria-hidden]{color:var(--cb-rule)}
.cb-crumbs [aria-current]{color:var(--cb-ink)}

/* ---------- 1. banner + masthead ---------- */
.cb-top{padding:26px 0 8px}
.cb-plate{
  position:relative;border:1px solid var(--cb-rule);background:var(--cb-card);
  padding:10px;box-shadow:var(--cb-shadow)
}
.cb-plate img{width:100%;height:clamp(190px,30vw,360px);object-fit:cover;object-position:center 34%}
.cb-plate-cap{
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:9px 2px 1px;font-family:var(--display);font-weight:500;font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--cb-ink-3)
}
.cb-mast{padding:26px 0 0}
.cb-mast h1{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(30px,5.4vw,60px);line-height:.98;letter-spacing:.005em;
  color:var(--cb-ink);max-width:16ch
}
.cb-mast .cb-standfirst{
  margin-top:16px;font-size:clamp(16px,1.9vw,19px);line-height:1.55;
  color:var(--cb-ink-2);max-width:56ch
}
.cb-dateline{
  margin-top:22px;border-top:2px solid var(--cb-ink);border-bottom:1px solid var(--cb-rule);
  padding:11px 0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;
  font-family:var(--display);font-weight:600;font-size:clamp(11px,1.35vw,13.5px);
  letter-spacing:.16em;text-transform:uppercase;color:var(--cb-ink)
}
.cb-dateline .cb-dot{width:5px;height:5px;border-radius:50%;background:var(--cb-orange);flex:none}
.cb-intro{padding:26px 0 8px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:34px;align-items:start}
.cb-intro .cb-drop::first-letter{
  float:left;font-family:var(--display);font-weight:700;font-size:62px;line-height:.82;
  padding:4px 10px 0 0;color:var(--cb-purple)
}
.cb-facts{border:1px solid var(--cb-rule);background:var(--cb-card);padding:16px 18px 18px;box-shadow:var(--cb-shadow)}
.cb-facts h2{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cb-purple);padding-bottom:10px;border-bottom:1px solid var(--cb-rule)}
.cb-facts dl{margin:0}
.cb-facts .cb-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px dotted var(--cb-rule)}
.cb-facts .cb-row:last-child{border-bottom:0;padding-bottom:0}
.cb-facts dt{font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--cb-ink-3);margin:0}
.cb-facts dd{margin:0;font-size:13.5px;font-weight:600;text-align:right;color:var(--cb-ink)}

/* ---------- 2. route finder ---------- */
.cb-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cb-route{
  border:1px solid var(--cb-rule);background:var(--cb-card);min-width:0;
  display:flex;flex-direction:column;transition:border-color var(--t),box-shadow var(--t)
}
.cb-route:hover{border-color:var(--cb-purple)}
.cb-route h3{margin:0}
.cb-route-btn{
  width:100%;display:flex;align-items:center;gap:12px;text-align:left;
  padding:16px 16px;min-height:64px;color:var(--cb-ink);
  font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.03em;
  text-transform:uppercase;line-height:1.2
}
.cb-route-num{
  flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  background:var(--cb-paper-2);color:var(--cb-purple);
  font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:0
}
.cb-route-chev{flex:none;margin-left:auto;width:15px;height:15px;color:var(--cb-purple);
  transition:transform var(--t)}
.cb-route-ans{padding:0 16px 18px;border-top:1px solid var(--cb-rule-soft);margin-top:-1px}
.cb-route-ans .cb-ans-do{
  display:block;margin:14px 0 8px;font-family:var(--display);font-weight:700;
  font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--cb-purple)
}
.cb-route-ans p{font-size:14px;line-height:1.62;color:var(--cb-ink-2)}
.cb-route-ans p + p{margin-top:9px}

/* JS-enhanced state — without JS every answer stays visible */
.cb-route-grid.cb-js .cb-route-ans[hidden]{display:none}
.cb-route-grid.cb-js .cb-route.cb-open{grid-column:1/-1;border-color:var(--cb-purple);
  box-shadow:0 8px 24px rgba(79,38,131,.14)}
.cb-route-grid.cb-js .cb-route.cb-open .cb-route-btn{background:var(--cb-purple);color:#fff}
.cb-route-grid.cb-js .cb-route.cb-open .cb-route-num{background:var(--cb-gold);color:#231800}
.cb-route-grid.cb-js .cb-route.cb-open .cb-route-chev{color:var(--cb-gold);transform:rotate(90deg)}
.cb-route-grid.cb-js .cb-route.cb-open .cb-route-ans{max-width:70ch}

/* ---------- 3. ticket module ---------- */
.cb-ticket{
  position:relative;background:var(--cb-card);border:1px solid var(--cb-rule);
  box-shadow:var(--cb-shadow);overflow:hidden
}
.cb-ticket::before,.cb-ticket::after{
  content:"";position:absolute;left:0;right:0;height:10px;pointer-events:none;
  background-image:radial-gradient(circle at 10px 50%,var(--cb-paper) 5px,transparent 5.5px);
  background-size:20px 20px;background-repeat:repeat-x
}
.cb-ticket::before{top:-5px}
.cb-ticket::after{bottom:-5px}
.cb-ticket-main{
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;gap:16px;padding:30px 26px 26px
}
.cb-ticket-team{min-width:0;text-align:center}
.cb-ticket-team img{width:56px;height:56px;object-fit:contain;margin:0 auto 12px}
.cb-ticket-team .cb-tname{
  font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:1.05;
  font-size:clamp(17px,2.5vw,28px);letter-spacing:.02em
}
.cb-ticket-team .cb-trole{
  display:block;margin-top:7px;font-family:var(--display);font-weight:500;font-size:10.5px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--cb-ink-3)
}
.cb-ticket-team.cb-min .cb-tname{color:var(--cb-purple)}
.cb-ticket-team.cb-chi .cb-tname{color:var(--cb-navy)}
.cb-ticket-team.cb-chi .cb-trole{color:var(--cb-orange)}
.cb-ticket-at{
  flex:none;width:52px;height:52px;border-radius:50%;border:2px solid var(--cb-ink);
  display:grid;place-items:center;font-family:var(--display);font-weight:700;
  font-size:15px;letter-spacing:.08em;text-transform:uppercase
}
.cb-ticket-strip{
  border-top:1px dashed var(--cb-rule);padding:14px 26px;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
  background:var(--cb-paper-2)
}
.cb-ticket-strip .cb-tinfo{
  font-family:var(--display);font-weight:600;font-size:clamp(11px,1.4vw,14px);
  letter-spacing:.15em;text-transform:uppercase;color:var(--cb-ink)
}
.cb-barcode{
  flex:none;width:132px;height:38px;
  background-image:repeating-linear-gradient(90deg,
    var(--cb-ink) 0 2px,transparent 2px 4px,
    var(--cb-ink) 4px 5px,transparent 5px 9px,
    var(--cb-ink) 9px 12px,transparent 12px 14px,
    var(--cb-ink) 14px 15px,transparent 15px 19px)
}

/* ---------- 4. coverage map ---------- */
.cb-map-wrap{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start
}
.cb-map-card{border:1px solid var(--cb-rule);background:var(--cb-card);padding:16px;box-shadow:var(--cb-shadow)}
.cb-map-svg{display:block;width:100%;height:auto;max-height:380px}
.cb-map-svg text{font-family:var(--display);font-weight:600;letter-spacing:.06em}
.cb-map-msg{
  margin-top:12px;padding:12px 14px;background:var(--cb-paper-2);border:1px dashed var(--cb-rule);
  font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--cb-ink-2);text-align:center
}
.cb-legend{margin-top:4px}
.cb-legend li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;
  border-bottom:1px dotted var(--cb-rule);font-size:14px;color:var(--cb-ink-2)}
.cb-legend li:last-child{border-bottom:0}
.cb-swatch{flex:none;width:14px;height:14px;border-radius:50%;margin-top:3px;border:2px solid var(--cb-card);
  box-shadow:0 0 0 1px rgba(23,24,32,.18)}
.cb-swatch.cb-sw-min{background:var(--cb-purple)}
.cb-swatch.cb-sw-chi{background:var(--cb-orange)}
.cb-swatch.cb-sw-tbd{background:var(--cb-rule)}
.cb-checked{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--cb-rule);
  font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cb-ink-3)
}
.cb-out{
  display:inline-flex;align-items:center;gap:8px;margin-top:14px;min-height:44px;
  padding:11px 18px;background:var(--cb-purple);color:#fff;
  font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  transition:background var(--t)
}
.cb-out:hover{background:var(--cb-purple-2)}
.cb-out svg{width:14px;height:14px;flex:none}

/* ---------- 5. Sunday setup scenarios ---------- */
.cb-scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cb-scen article{border:1px solid var(--cb-rule);background:var(--cb-card);min-width:0;
  display:flex;flex-direction:column;box-shadow:var(--cb-shadow)}
.cb-scen-art{display:block;width:100%;height:150px;background:var(--cb-paper-2);border-bottom:1px solid var(--cb-rule)}
.cb-scen-body{padding:16px 18px 20px}
.cb-scen-body .cb-h3{margin-bottom:9px}
.cb-scen-body p{font-size:14px;line-height:1.62;color:var(--cb-ink-2)}
.cb-scen-body p + p{margin-top:8px}

/* ---------- 6. dual schedule strip ---------- */
.cb-dual{position:relative;padding:6px 0}
.cb-dual::before{
  content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;
  background:linear-gradient(180deg,var(--cb-rule),var(--cb-purple),var(--cb-rule))
}
.cb-dual-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);
  align-items:center;gap:0;padding:16px 0}
.cb-dual-node{
  justify-self:center;width:20px;height:20px;border-radius:50%;background:var(--cb-card);
  border:3px solid var(--cb-purple);position:relative;z-index:1
}
.cb-dual-item.cb-return .cb-dual-node{border-color:var(--cb-orange)}
.cb-dual-item.cb-next .cb-dual-node,
.cb-dual-item.cb-return .cb-dual-node{grid-column:2;grid-row:1}
.cb-dual-card{border:1px solid var(--cb-rule);background:var(--cb-card);padding:16px 18px;
  box-shadow:var(--cb-shadow);min-width:0}
.cb-dual-item.cb-next .cb-dual-card{grid-column:1;text-align:right;border-left:4px solid var(--cb-purple)}
.cb-dual-item.cb-return .cb-dual-card{grid-column:3;border-left:4px solid var(--cb-orange)}
.cb-dual-tag{
  display:inline-block;padding:4px 10px;font-family:var(--display);font-weight:700;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px
}
.cb-next .cb-dual-tag{background:var(--cb-purple);color:#fff}
.cb-return .cb-dual-tag{background:var(--cb-orange);color:#fff}
.cb-dual-card h3{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(15px,1.8vw,20px);letter-spacing:.03em;line-height:1.15}
.cb-dual-card .cb-when{margin-top:7px;font-size:13.5px;color:var(--cb-ink-2)}
.cb-dual-card .cb-where{margin-top:3px;font-size:12.5px;color:var(--cb-ink-3)}

/* ---------- 7. newspaper clippings ---------- */
.cb-clips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cb-clip{
  min-width:0;background:var(--cb-paper-2);border:1px solid var(--cb-rule);
  padding:20px 20px 18px;display:flex;flex-direction:column;
  box-shadow:2px 3px 0 rgba(23,24,32,.06);transition:transform var(--t),box-shadow var(--t)
}
.cb-clip:hover{transform:translateY(-3px);box-shadow:2px 8px 20px rgba(23,24,32,.13)}
.cb-clip-rule{height:0;border-top:3px double var(--cb-ink);margin-bottom:12px}
.cb-clip-src{font-family:var(--display);font-weight:500;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cb-ink-3);margin-bottom:10px}
.cb-clip h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(19px,2.5vw,27px);line-height:1.04;letter-spacing:.005em;color:var(--cb-ink)
}
.cb-clip .cb-clip-score{
  margin-top:12px;padding-top:11px;border-top:1px solid var(--cb-rule);
  font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.05em;color:var(--cb-purple)
}
.cb-clip.cb-chi-win .cb-clip-score{color:var(--cb-orange)}
.cb-clip time{display:block;margin-top:5px;font-size:12.5px;color:var(--cb-ink-3)}
.cb-clip .cb-clip-go{
  margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:8px;
  font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--cb-purple)
}
.cb-clip .cb-clip-go svg{width:14px;height:14px}

/* ---------- 8. Soldier Field + arrival clock timeline ---------- */
.cb-photo{border:1px solid var(--cb-rule);background:var(--cb-card);padding:10px;box-shadow:var(--cb-shadow);margin:0}
.cb-photo img{width:100%;height:clamp(170px,24vw,300px);object-fit:cover;object-position:center 40%}
.cb-photo figcaption{padding:9px 2px 1px;font-size:12.5px;color:var(--cb-ink-3)}
.cb-clock-rail{
  list-style:none;margin:26px 0 0;padding:0;
  grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;position:relative
}
.cb-clock-step{text-align:center;min-width:0;position:relative;padding-top:6px}
.cb-clock-step::before{
  content:"";position:absolute;top:38px;left:-5px;right:calc(50% + 34px);height:2px;background:var(--cb-rule)
}
.cb-clock-step:first-child::before{display:none}
.cb-clock-dial{width:66px;height:66px;display:block;margin:0 auto 10px}
.cb-clock-step .cb-ct{
  display:block;font-family:var(--display);font-weight:700;font-size:12.5px;
  letter-spacing:.09em;text-transform:uppercase;color:var(--cb-ink)
}
.cb-clock-step .cb-cd{display:block;margin-top:5px;font-size:12.5px;line-height:1.45;color:var(--cb-ink-2)}
.cb-clock-step.cb-kick .cb-ct{color:var(--cb-orange)}

/* ---------- tables ---------- */
.cb-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--cb-rule);background:var(--cb-card)}
.cb-tbl{width:100%;border-collapse:collapse;min-width:440px}
.cb-tbl caption{text-align:left;padding:12px 16px;background:var(--cb-paper-2);
  border-bottom:1px solid var(--cb-rule);font-family:var(--display);font-weight:700;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--cb-purple)}
.cb-tbl th,.cb-tbl td{padding:11px 16px;border-bottom:1px solid var(--cb-rule-soft);
  font-size:14px;text-align:left;vertical-align:top}
.cb-tbl thead th{background:var(--cb-paper-2);font-family:var(--display);font-weight:600;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cb-ink-3);
  border-bottom:1px solid var(--cb-rule)}
.cb-tbl tbody th{font-family:var(--body);font-weight:600;color:var(--cb-ink);width:42%}
.cb-tbl td{color:var(--cb-ink-2)}
.cb-tbl tbody tr:last-child th,.cb-tbl tbody tr:last-child td{border-bottom:0}
.cb-tbl .cb-num{font-family:var(--display);font-weight:600;letter-spacing:.05em;color:var(--cb-ink)}

/* ---------- article lists ---------- */
.cb-body h3{margin-top:26px}
.cb-body h3 + .cb-p{margin-top:9px}
.cb-body .cb-scroll{margin-top:18px}
.cb-list{list-style:none;margin:14px 0 0;padding:0;max-width:72ch}
.cb-li{position:relative;padding-left:26px;font-size:15px;line-height:1.68;color:var(--cb-ink-2)}
.cb-li + .cb-li{margin-top:9px}
.cb-li::before{content:"";position:absolute;left:6px;top:10px;width:6px;height:6px;
  border-radius:50%;background:var(--cb-gold)}
ol.cb-list{counter-reset:cb-n}
ol.cb-list .cb-li{counter-increment:cb-n;padding-left:34px}
ol.cb-list .cb-li::before{
  content:counter(cb-n);left:0;top:2px;width:22px;height:22px;border-radius:50%;
  background:var(--cb-purple);color:#fff;font-family:var(--display);font-weight:700;
  font-size:11.5px;display:grid;place-items:center
}
.cb-steps{list-style:none;counter-reset:cb-s;margin:8px 0 0;padding:0}
.cb-steps > li{counter-increment:cb-s}
.cb-steps h3{display:flex;align-items:center;gap:12px;margin-top:24px}
.cb-steps h3::before{
  content:counter(cb-s);flex:none;width:30px;height:30px;border:2px solid var(--cb-purple);
  color:var(--cb-purple);border-radius:50%;display:grid;place-items:center;font-size:13px
}

/* ---------- related links ---------- */
.cb-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px}
.cb-related a{
  display:flex;align-items:center;gap:11px;min-height:56px;padding:14px 16px;min-width:0;
  border:1px solid var(--cb-rule);background:var(--cb-card);
  font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.05em;
  text-transform:uppercase;color:var(--cb-ink);transition:border-color var(--t),color var(--t)
}
.cb-related a:hover{border-color:var(--cb-purple);color:var(--cb-purple)}
.cb-related svg{width:17px;height:17px;flex:none;color:var(--cb-purple)}
.cb-related .cb-ar{margin-left:auto;width:14px;height:14px}

/* ---------- FAQ ---------- */
.cb-faq{border-top:1px solid var(--cb-rule);max-width:82ch}
.cb-faq details{border-bottom:1px solid var(--cb-rule);background:var(--cb-card)}
.cb-faq summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;
  padding:16px 18px;min-height:56px;
  font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--cb-ink)
}
.cb-faq summary::-webkit-details-marker{display:none}
.cb-faq summary:hover{color:var(--cb-purple)}
.cb-faq .cb-plus{
  flex:none;margin-left:auto;width:20px;height:20px;position:relative
}
.cb-faq .cb-plus::before,.cb-faq .cb-plus::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--cb-purple);
  transform:translate(-50%,-50%);transition:transform var(--t),opacity var(--t)
}
.cb-faq .cb-plus::before{width:14px;height:2px}
.cb-faq .cb-plus::after{width:2px;height:14px}
.cb-faq details[open] .cb-plus::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.cb-faq .cb-ans{padding:0 18px 18px;font-size:14.5px;line-height:1.68;color:var(--cb-ink-2);max-width:70ch}

/* ---------- updated stamp ---------- */
.cb-stamp{
  display:inline-block;margin-bottom:20px;padding:7px 13px;border:1px solid var(--cb-rule);
  background:var(--cb-paper-2);font-family:var(--display);font-weight:500;font-size:11px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--cb-ink-3)
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .cb-intro{grid-template-columns:minmax(0,1fr);gap:24px}
  .cb-map-wrap{grid-template-columns:minmax(0,1fr)}
  .cb-scen{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cb-scen article:last-child{grid-column:1/-1}
  .cb-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cb-related{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cb-clock-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}
  .cb-clock-step::before{display:none}
}
@media (max-width:760px){
  .cb-sec{padding:34px 0}
  .cb-clips{grid-template-columns:minmax(0,1fr)}
  .cb-scen{grid-template-columns:minmax(0,1fr)}
  .cb-scen article:last-child{grid-column:auto}
  .cb-route-grid{grid-template-columns:minmax(0,1fr)}
  .cb-related{grid-template-columns:minmax(0,1fr)}

  /* ticket becomes a vertical event pass */
  .cb-ticket-main{grid-template-columns:minmax(0,1fr);gap:10px;padding:24px 20px 20px;text-align:center}
  .cb-ticket-at{margin:0 auto}
  .cb-ticket-strip{flex-direction:column;align-items:center;text-align:center;gap:12px}
  .cb-ticket-strip .cb-tinfo{letter-spacing:.12em;line-height:1.7}

  /* dual strip becomes a single left rail */
  .cb-dual::before{left:10px;margin-left:0}
  .cb-dual-item{grid-template-columns:20px minmax(0,1fr);gap:16px;padding:12px 0}
  .cb-dual-item.cb-next .cb-dual-node,
  .cb-dual-item.cb-return .cb-dual-node{grid-column:1;grid-row:1;justify-self:start}
  .cb-dual-item.cb-next .cb-dual-card,
  .cb-dual-item.cb-return .cb-dual-card{grid-column:2;text-align:left}
  .cb-intro .cb-drop::first-letter{font-size:50px}
}
@media (max-width:520px){
  .cb-clock-rail{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cb-barcode{width:108px}
  .cb-mast h1{max-width:none}
}

@media (prefers-reduced-motion:reduce){
  .page-bearsguide *,.page-bearsguide *::before,.page-bearsguide *::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important
  }
  .cb-clip:hover{transform:none}
  .cb-route-grid.cb-js .cb-route.cb-open .cb-route-chev{transform:none}
}
