/* B-only campaign palette. Light photographic and form surfaces own their text roles. */
:root{
  color-scheme:dark;
  --b-paper:#0c0d0e;--b-soft:#161819;--b-ink:#f5f4ef;--b-muted:#b6b9b7;
  --b-line:#35383a;--b-night:#111415;--b-night-muted:#bdc4c0;
  --b-offer:#d5fb49;--b-energy:#d5fb49;--b-focus:#91c4ff;
  --action-primary-bg:#d5fb49;--action-primary-bg-hover:#e1ff7e;--action-primary-text:#161b0c;
  --hero-surface:#f5f5f7;--hero-ink:#171918;--hero-muted:#626661;--hero-border:#dadcd7;
  --choice-selected:#eef5e3;
}
.site-header{background:#0c0d0ef5}
.site-header .brand img,.site-footer .brand img{filter:none}
.skip-link{color:var(--action-primary-text)}
.b-hero{background:#101112;color:var(--b-ink)}
.b-hero-copy{isolation:isolate}
.b-hero-lead{color:#dddeda}
.b-hero-lead strong{color:var(--b-ink)}
.b-hero .b-money{color:var(--b-offer)}
.b-sensors>*,.b-config>*,.b-journey>*{min-width:0}
.b-sensor-list summary>span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;margin-right:4px}
.b-hero-footer{background:var(--b-paper)}
.b-hero-copy::before{content:'';position:absolute;inset:0 -80px 0 calc(-1 * var(--page-gutter));z-index:-1;pointer-events:none;background:linear-gradient(90deg,#101112e6 20%,#101112c9 67%,#10111200)}
.b-product-duo,.b-day-read,.b-config{
  color-scheme:light;--b-ink:#171918;--b-muted:#626661;--b-soft:#f5f4f1;--b-line:#dadcd7;
  --b-offer:#3d641b;--b-focus:#2569ba;
  --text-primary:var(--b-ink);--text-secondary:var(--b-muted);color:var(--b-ink);
}
.b-config{background:#f5f4f1;column-gap:6%;row-gap:32px;padding-inline:40px;margin-block:48px}
.b-config-visual{background:#f5f4f1;padding-inline:0}
.b-journey-picture{background:transparent;padding-inline:0;color:var(--b-ink)}
.b-journey-picture img{mix-blend-mode:normal;filter:drop-shadow(0 14px 18px #0004)}
.b-journey-picture>span{color:var(--b-muted)}
.choice-kit-photo>img{object-fit:contain;mix-blend-mode:normal}
.choice-included-price{color:#3d641b}
.lead-ticket-price{color:var(--b-energy)}
.lead-ticket[data-ready=true] .lead-ticket-stub,
.ticket-receipt[data-torn=true] .lead-ticket-stub{
  background:linear-gradient(102deg,#0000000a,transparent 26%,#ffffff0e 62%,#0000000c),#c9e69a;
  color:#263319;border-left-color:#65793f;
}
.lead-ticket[data-torn=true] .lead-ticket-face::after{border-right-color:#99ac7788}
.b-service-row img{mix-blend-mode:normal;background:#f5f5f7;border-radius:8px}
.b-order-item>img{mix-blend-mode:normal;background:#f5f5f7;border-radius:10px;padding:6px}
.b-price-total>strong{color:var(--b-ink)}
.b-purchase{background:#101213}
.site-footer{background:#090a0b}
.mobile-offer{background:#101213f5;box-shadow:0 -6px 24px #0004}
.ring-dialog,.lead-dialog{
  color-scheme:light;--b-ink:#171918;--b-muted:#626661;--b-line:#dadcd7;--b-focus:#2569ba;
  --text-primary:#171918;--text-secondary:#626661;--border-subtle:#dadcd7;
  --focus-ring:#2569ba;--surface-panel:#f5f5f7;
}
.lead-redeem:disabled{background:#dfded9;color:#666861}
.lead-dialog::backdrop,.ring-dialog::backdrop{background:#000b}
/* Reserve the entire rotated stub envelope, including paper shadows, inside the stage.
   Only this modal contains horizontal overflow; the document and form keep vertical scroll. */
.lead-dialog{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.lead-dialog .lead-ticket-wrap{
  --tear-x:24px;--tear-y:12px;--tear-angle:7deg;
  padding:48px 128px 64px 24px;min-width:0;
}
.lead-dialog .lead-layout{grid-template-columns:1.2fr 1fr}
.lead-dialog .lead-ticket{min-width:0;max-width:100%}
.lead-dialog .lead-ticket[data-torn=true] .lead-ticket-stub{
  transform:translate(var(--tear-x),var(--tear-y)) rotate(var(--tear-angle));
}
/* Keep the name consumed by the shared animationend handler and the approved 1.9s duration. */
@keyframes ticket-detach{
  0%{transform:translate(0,0) rotate(0);opacity:1}
  25%{transform:translate(0,0) rotate(calc(var(--tear-angle) * .214));opacity:1}
  58%{transform:translate(0,0) rotate(calc(var(--tear-angle) * .571));opacity:1}
  78%{transform:translate(calc(var(--tear-x) * .5),calc(var(--tear-y) * .333)) rotate(calc(var(--tear-angle) * .857));opacity:1}
  100%{transform:translate(var(--tear-x),var(--tear-y)) rotate(var(--tear-angle));opacity:1}
}
@media(min-width:700px) and (max-width:899px){
  .lead-dialog .lead-ticket-wrap{padding-left:20px;padding-right:104px}
  .lead-dialog .lead-ticket-face{padding-inline:18px}
  .lead-dialog .lead-ticket-face h3{font-size:1.4rem}
}
@media(max-width:1000px){.b-hero-copy::before{content:none}}
@media(max-width:767px){
  .b-hero-copy{background:#101112}
  .b-config{width:100%;padding-inline:var(--page-gutter);margin-block:0;gap:24px}
  .b-config-visual{padding-inline:0}
  .b-config-copy>.b-fine{margin:0}
}
@media(min-width:768px) and (max-width:1000px){.b-hero-copy{background:#101112}}
@media(max-width:699px){
  .lead-dialog .lead-layout{grid-template-columns:1fr}
  .lead-dialog .lead-ticket-wrap{
    --tear-x:8px;--tear-y:8px;--tear-angle:3deg;
    padding:26px 48px 40px 16px;
  }
  .lead-dialog .lead-ticket{grid-template-columns:minmax(0,1fr) 44px}
  .lead-dialog .lead-ticket-face{display:block}
  .lead-dialog .lead-ticket-price{margin-top:10px}
  .lead-dialog .lead-ticket-condition{margin-top:12px}
  .lead-dialog .lead-ticket-validity{margin-top:14px}
  .b-receipt-column .ticket-receipt{padding-right:40px;transform:rotate(-.5deg)}
  .b-receipt-column .ticket-receipt[data-torn=true] .lead-ticket-stub{transform:translate(0,12px) rotate(3deg)}
}
@media(max-width:374px){.b-sensors h2{font-size:2.15rem}.b-sensor-list summary{gap:8px}}
@media(prefers-reduced-motion:reduce){
  .lead-dialog .lead-ticket-stub{transition:none!important}
  .lead-dialog .lead-ticket[data-tearing=true] .lead-ticket-stub{animation:none!important}
}
