/* Shared editorial introduction. Deliberately scoped away from calculators. */
.cc-hero-shell {
  --hero-ink:#183c33; --hero-action:#235c49; --hero-muted:#53655d;
  --hero-paper:#f7faf8; --hero-tint:#e8f2ed; --hero-line:#ccdcd1;
  background:var(--hero-paper); color:var(--hero-ink);
  border-bottom:1px solid var(--hero-line); padding:56px 0;
}
.cc-hero-shell.cc-hero-cerebellum { --hero-paper:#f5f9fa; --hero-tint:#eef7fa; }
.cc-hero-shell .cc-hero-layout {
  display:grid; grid-template-columns:minmax(0,1fr) 360px;
  align-items:center; gap:clamp(36px,5vw,72px); max-width:1200px;
}
.cc-hero-shell .cc-hero-intro { min-width:0; }
.cc-hero-shell .cc-hero-title {
  font-family:Georgia,'Times New Roman',serif; font-weight:400;
  font-size:clamp(2.5rem,3.8vw,3.25rem); line-height:1.12;
  letter-spacing:-1.5px; text-wrap:balance; max-width:24ch;
  margin:0; color:var(--hero-ink);
}
.cc-hero-shell .cc-hero-description {
  max-width:55ch; font-size:1rem; line-height:1.7;
  color:var(--hero-muted); margin:20px 0 24px;
}
.cc-hero-choices { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; }
.cc-hero-shell :is(.cc-hero-primary,.cc-hero-secondary,.cc-offer-copy,.cc-offer-destination) {
  font-family:inherit; font-size:.875rem; font-weight:700;
  min-height:48px; display:inline-flex; align-items:center; justify-content:center;
  gap:12px; text-decoration:none; touch-action:manipulation;
}
.cc-hero-shell .cc-hero-primary {
  color:#fff; background:var(--hero-action); padding:12px 20px;
  border:1px solid var(--hero-action); border-radius:7px;
  transition:background-color 160ms ease;
}
.cc-hero-shell .cc-hero-primary:hover { background:#173f32; }
.cc-hero-shell .cc-hero-secondary { color:var(--hero-action); text-decoration:underline; text-underline-offset:5px; text-decoration-color:#91ab9e; }
.cc-hero-shell .cc-hero-secondary:hover { text-decoration-color:currentColor; }
.cc-hero-shell .cc-hero-context { font-size:.8125rem; color:var(--hero-muted); line-height:1.65; margin:22px 0 0; }
.cc-offer-ticket { min-width:0; width:100%; background:white; border:1px solid var(--hero-line); border-radius:12px; padding:24px; box-shadow:0 12px 28px #183c3308; }
.cc-offer-brand { height:48px; display:flex; align-items:center; margin-bottom:20px; }
.cc-offer-brand img { display:block; width:auto; max-width:180px; max-height:48px; object-fit:contain; }
.cc-offer-label { font-size:.8125rem; color:var(--hero-muted); font-weight:600; margin:0 0 8px; }
.cc-offer-code-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px; border:1px dashed #90aca0; background:var(--hero-tint); border-radius:8px; }
.cc-offer-code-row > strong { font-size:2rem; font-weight:800; letter-spacing:2px; line-height:1.2; color:var(--hero-ink); }
.cc-hero-shell .cc-offer-copy { flex-shrink:0; min-height:44px; padding:9px 12px; border:1px solid #8fa99b; color:var(--hero-action); background:#fff; border-radius:6px; cursor:pointer; font-size:.8125rem; }
.cc-offer-copy:hover { background:var(--hero-paper); }
.cc-offer-help { font-size:.8125rem; line-height:1.65; color:var(--hero-muted); margin:16px 0; }
.cc-hero-shell .cc-offer-destination { display:flex; justify-content:space-between; min-height:48px; border-top:1px solid var(--hero-line); padding-top:12px; color:var(--hero-action); font-size:.8125rem; }
.cc-offer-destination:hover { text-decoration:underline; text-underline-offset:4px; }
.cc-hero-shell .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.cc-hero-shell :is(a,button):focus-visible { outline:3px solid #267b94; outline-offset:4px; }
body.page-store .breadcrumbs-bar, .cerebellum-breadcrumbs { background:#fff; border-bottom:1px solid #dce5df; padding:0; }
body.page-store .breadcrumbs-bar .container, .cerebellum-breadcrumbs .container { padding-top:13px; padding-bottom:13px; font-size:.8125rem; }
body.page-store .breadcrumbs-list { font-size:.8125rem; }
@media(max-width:1000px) and (min-width:801px) {
  .cc-hero-shell .cc-hero-layout { grid-template-columns:minmax(0,1fr) 330px; gap:30px; }
  .cc-offer-ticket { padding:20px; }
}
@media(max-width:800px) {
  .cc-hero-shell { padding:32px 0; }
  .cc-hero-shell .cc-hero-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .cc-hero-shell .cc-hero-title { font-size:clamp(2.125rem,5.5vw,2.75rem); line-height:1.14; letter-spacing:-.9px; max-width:26ch; }
  .cc-hero-shell .cc-hero-description { margin:16px 0 20px; }
  .cc-hero-shell .cc-hero-context { margin-top:16px; }
  .cc-offer-ticket { max-width:480px; padding:20px; }
  .cc-offer-brand { margin-bottom:16px; }
}
@media(max-width:380px) {
  .cc-hero-shell .cc-hero-layout { gap:24px; }
  .cc-offer-ticket { padding:18px; }
  .cc-offer-code-row { padding:12px; gap:8px; }
  .cc-offer-code-row > strong { font-size:1.8rem; }
  .cc-hero-shell .cc-offer-copy { padding-inline:9px; gap:7px; }
}
@media(prefers-reduced-motion:reduce) { .cc-hero-shell * { transition:none; } }
