/* ==========================================================================
   Better Business Summit 2027 - home redesign (customer funnel)
   Imported after bbs-pack.css. Spec: .ai-docs/homepage-2027-mapping.md section 13.
   Dynamic state is expressed with data-* attributes and classes (no inline styles):
     - [data-funnel-stage="0-6"] on .bbs-funnel__visual (set by FunnelStages in js/bbs.js)
     - [data-pillar="ACQUIRE|REACH|NURTURE|CONVERT|RETAIN|OPERATE"] -> --accent
     - --p (0..1) on .bbs-progress__bar (set by Bbs.bindProgress)
   ========================================================================== */

/* --- keyframes missing from bbs-pack.css ---------------------------------- */
@keyframes bbsScan{0%{transform:translateY(-120%);opacity:0}12%{opacity:.65}100%{transform:translateY(460%);opacity:0}}
@keyframes bbsJourney{0%{left:0%;opacity:0}5%,12%{left:0%;opacity:1}24%,30%{left:25%}42%,48%{left:50%}60%,66%{left:75%}78%,100%{left:100%;opacity:1}}
@keyframes bbsInflow{0%{transform:translateY(-230px);opacity:0}20%{opacity:1}85%{opacity:1}100%{transform:translateY(0);opacity:0}}
@keyframes bbsDown{0%{top:0%;opacity:0}15%{opacity:1}100%{top:100%;opacity:0}}
@keyframes bbsFlow{from{background-position:0 0}to{background-position:28px 0}}
@keyframes bbsFlowRev{from{background-position:0 0}to{background-position:-28px 0}}
@keyframes bbsOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* --- small utilities ------------------------------------------------------ */
.bbs-mb-20{margin-bottom:20px}
.bbs-measure-66{max-width:66ch}
.bbs-body--flush{margin-bottom:0}
.bbs-emph--hero{font-size:clamp(17px,1.35vw,20px);margin:0 0 14px}
.bbs-statement--lg{font-size:clamp(22px,2.2vw,32px);line-height:1.2;margin:0 0 clamp(24px,2.6vw,36px)}
.bbs-btn--xl{font-size:16px;padding:22px 48px;box-shadow:0 8px 40px rgba(41,195,255,.45)}

/* --- scroll progress bar (under the header) ------------------------------- */
.bbs-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none;overflow:hidden}
.bbs-progress__bar{display:block;height:100%;--p:0;transform:scaleX(var(--p));transform-origin:0 50%;transition:transform .12s linear;background:linear-gradient(90deg,#0A83C8,#29C3FF 40%,#BFE9FF);box-shadow:0 0 14px rgba(41,195,255,.7)}

/* --- hero ----------------------------------------------------------------- */
.bbs-hero__cta--col{display:block;margin-top:clamp(28px,3.4vw,52px);padding-bottom:clamp(44px,5vw,80px)}
.bbs-hero__copy--col{max-width:980px;min-width:0}
.bbs-hero__copy--col .bbs-hero__kicker{margin-bottom:20px}
.bbs-h1--hero{font-size:clamp(40px,6vw,92px);line-height:.9;margin:0 0 20px}
.bbs-btn--ghost-hero{border-color:rgba(190,235,255,.42);font-weight:800}
.bbs-btn--ghost-hero:hover,.bbs-btn--ghost-hero:focus-visible,.bbs-btn--ghost-hero:active{background:rgba(41,195,255,.18);border-color:var(--cyan);color:#fff}
.bbs-hero__cta--col .bbs-btn--primary{box-shadow:0 8px 36px rgba(41,195,255,.4)}

/* journey strip */
.bbs-journey{max-width:720px;border:1px solid rgba(127,217,255,.2);background:linear-gradient(165deg,rgba(14,62,98,.45),rgba(3,16,29,.65));border-radius:4px;padding:20px clamp(10px,1.4vw,20px) 16px;margin:clamp(24px,2.6vw,34px) 0 clamp(28px,3vw,38px)}
.bbs-journey__track{position:relative;height:16px;margin:0 10%}
.bbs-journey__line{position:absolute;left:0;right:0;top:7.5px;height:1px;background:rgba(127,217,255,.35)}
.bbs-journey__node{position:absolute;top:4px;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#0A2E4C;border:1px solid rgba(127,217,255,.6)}
.bbs-journey__node--1{left:0}
.bbs-journey__node--2{left:25%}
.bbs-journey__node--3{left:50%}
.bbs-journey__node--4{left:75%}
.bbs-journey__node--5{left:100%}
.bbs-journey__dot{position:absolute;top:0;left:0;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFF,#7FE0FF 45%,#1E8CC9);box-shadow:0 0 18px rgba(41,195,255,.95);animation:bbsJourney 10s ease-in-out infinite}
.bbs-journey__labels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:12px}
.bbs-journey__labels span{text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(10px,.9vw,12px);letter-spacing:.12em;color:#CFE6F5;text-transform:uppercase}

/* --- section tweaks -------------------------------------------------------- */
.bbs-band--open{border-bottom:0}
.bbs-band--soft{background:linear-gradient(180deg,rgba(6,34,58,.45),rgba(1,8,16,.1))}
.bbs-funnel-intro{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(24px,3vw,40px)}
.bbs-funnel-intro__inner{max-width:860px}
.bbs-h2--intro{margin:0 0 clamp(22px,2.4vw,32px)}
.bbs-funnel-intro .bbs-body{margin-bottom:14px}
.bbs-funnel-intro .bbs-emph{margin:0 0 14px}
.bbs-funnel-intro .bbs-body:last-child{margin-bottom:0}

/* --- funnel scroll-through ------------------------------------------------- */
.bbs-funnel{position:relative;max-width:var(--shell);margin:0 auto;padding:clamp(24px,3vw,48px) var(--gutter) clamp(40px,5vw,80px)}
.bbs-funnel__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,4vw,72px)}
.bbs-funnel__blocks{min-width:0}

.bbs-funnel__visual{position:-webkit-sticky;position:sticky;top:calc(var(--header-h) + 14px);align-self:start;z-index:5;height:310px;border:1px solid rgba(127,217,255,.22);border-radius:4px;overflow:hidden;background:linear-gradient(165deg,#0A2E4C 0%,#041526 60%,#020B16 100%);box-shadow:0 24px 70px rgba(0,0,0,.55);display:flex;flex-direction:column}
.bbs-funnel__grid-lines{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(127,217,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(127,217,255,.07) 1px,transparent 1px);background-size:34px 34px;opacity:1;transition:opacity .9s ease}
.bbs-funnel__head{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;padding:clamp(12px,1.6vw,20px) clamp(14px,2vw,24px);border-bottom:1px solid rgba(127,217,255,.14)}
.bbs-funnel__title{display:flex;align-items:baseline;gap:12px}
.bbs-funnel__num{font-family:var(--mono);font-size:12px;color:var(--cyan)}
.bbs-funnel__name{font-family:var(--display);font-weight:900;font-size:clamp(15px,1.5vw,22px);letter-spacing:-.02em;text-transform:uppercase;color:var(--ice)}
.bbs-funnel__caption{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--meta);text-transform:uppercase}
.bbs-funnel__scenes{position:relative;flex:1;min-height:0}

@media (min-width:940px){
  .bbs-funnel__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .bbs-funnel__visual{top:calc(var(--header-h) + 32px);height:min(calc(100vh - 150px),680px);height:min(calc(100dvh - 150px),680px)}
}

/* text blocks */
.bbs-funnel__block{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,8vh,96px) 0 clamp(40px,8vh,96px) clamp(22px,2.4vw,36px);border-left:1px solid rgba(127,217,255,.2)}
@media (min-width:940px){.bbs-funnel__block{min-height:76vh}}
.bbs-funnel__inner{position:relative;max-width:60ch}
.bbs-funnel__pin{position:absolute;left:calc(-1 * clamp(22px,2.4vw,36px) - 6px);top:3px;width:11px;height:11px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.bbs-funnel__h2{font-family:var(--display);font-weight:900;font-size:clamp(28px,3vw,46px);line-height:.98;letter-spacing:-.04em;margin:0 0 22px;text-transform:uppercase;text-wrap:balance;background-image:linear-gradient(180deg,#FFF,#BFE9FF 45%,#3BAEE4 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.bbs-funnel__lead{font-size:clamp(16px,1.2vw,18px);line-height:1.6;color:var(--ice);font-weight:600;margin:0 0 14px;text-wrap:pretty}
.bbs-funnel__p{font-size:clamp(15.5px,1.15vw,17.5px);line-height:1.7;color:var(--muted);margin:0 0 14px;text-wrap:pretty}
.bbs-funnel__p:last-child{margin-bottom:0}

/* scenes */
.bbs-scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,28px);opacity:0;transform:scale(.94);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.3,1)}
.bbs-scene--convert{transform:scale(1.06)}
.bbs-scene--retain{transform:rotate(-8deg) scale(.94)}
.bbs-scene--operate{transform:scale(1.3)}

[data-funnel-stage="0"] .bbs-scene--acquire,
[data-funnel-stage="1"] .bbs-scene--reach,
[data-funnel-stage="2"] .bbs-scene--nurture,
[data-funnel-stage="3"] .bbs-scene--convert,
[data-funnel-stage="4"] .bbs-scene--retain,
[data-funnel-stage="6"] .bbs-scene--operate{opacity:1;transform:none}
[data-funnel-stage="5"] .bbs-scene--operate{opacity:1;transform:scale(1.14)}

[data-funnel-stage="3"] .bbs-funnel__grid-lines{opacity:.1}
[data-funnel-stage="5"] .bbs-funnel__grid-lines,
[data-funnel-stage="6"] .bbs-funnel__grid-lines{opacity:.5}

/* shared pill */
.bbs-pill{display:inline-block;flex:0 0 auto;font-family:var(--display);font-weight:800;font-size:clamp(8.5px,.8vw,11.5px);letter-spacing:.11em;padding:clamp(6px,.8vh,9px) clamp(8px,1vw,13px);border:1px solid rgba(127,217,255,.45);border-radius:100px;background:#06223A;color:var(--text);white-space:nowrap}
.bbs-pill--sm{font-size:clamp(8px,.75vw,10.5px)}
.bbs-pill--chain{font-size:clamp(8.5px,.8vw,11px);letter-spacing:.1em;color:var(--ice);padding:clamp(6px,.8vh,9px) clamp(8px,.9vw,12px);border-color:rgba(127,217,255,.5)}

/* 0 - acquire */
.bbs-cone{position:relative;width:min(260px,58%);aspect-ratio:5/4;max-height:78%;margin-top:6%}
.bbs-cone__fill{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,61% 100%,39% 100%);background:linear-gradient(180deg,rgba(41,195,255,.4),rgba(41,195,255,.05))}
.bbs-cone__rim{position:absolute;left:-8%;right:-8%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#7FE0FF,transparent);box-shadow:0 0 14px rgba(41,195,255,.8)}
.bbs-cone__arm{position:absolute;left:50%;top:0;width:0;height:0}
.bbs-cone__arm--1{transform:rotate(-66deg)}
.bbs-cone__arm--2{transform:rotate(-44deg)}
.bbs-cone__arm--3{transform:rotate(-24deg)}
.bbs-cone__arm--4{transform:rotate(-6deg)}
.bbs-cone__arm--5{transform:rotate(12deg)}
.bbs-cone__arm--6{transform:rotate(30deg)}
.bbs-cone__arm--7{transform:rotate(48deg)}
.bbs-cone__arm--8{transform:rotate(68deg)}
.bbs-cone__in{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#BFE9FF;box-shadow:0 0 10px #29C3FF;animation:bbsInflow 3.4s ease-in infinite;animation-play-state:paused}
.bbs-cone__arm--2 .bbs-cone__in{animation-delay:1.1s}
.bbs-cone__arm--3 .bbs-cone__in{animation-delay:.5s}
.bbs-cone__arm--4 .bbs-cone__in{animation-delay:1.9s}
.bbs-cone__arm--5 .bbs-cone__in{animation-delay:.8s}
.bbs-cone__arm--6 .bbs-cone__in{animation-delay:2.4s}
.bbs-cone__arm--7 .bbs-cone__in{animation-delay:.2s}
.bbs-cone__arm--8 .bbs-cone__in{animation-delay:1.5s}
.bbs-cone__down{position:absolute;left:50%;top:0;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#7FE0FF;box-shadow:0 0 8px #29C3FF;animation:bbsDown 2.4s linear infinite;animation-play-state:paused}
.bbs-cone__down--2{animation-delay:.8s}
.bbs-cone__down--3{animation-delay:1.6s}
.bbs-cone__label{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--meta-2);text-transform:uppercase}
[data-funnel-stage="0"] .bbs-cone__in,
[data-funnel-stage="0"] .bbs-cone__down{animation-play-state:running}

/* 1 - reach */
.bbs-reach{width:100%;max-width:560px;height:min(280px,100%);display:grid;grid-template-columns:minmax(0,1fr) clamp(40px,5vw,60px) minmax(0,1fr)}
.bbs-reach__col{display:flex;flex-direction:column;justify-content:space-around}
.bbs-reach__row{display:flex;align-items:center;opacity:0;transition:opacity .5s ease .1s}
.bbs-reach__col:first-child .bbs-reach__row:nth-child(2){transition-delay:.3s}
.bbs-reach__col:first-child .bbs-reach__row:nth-child(3){transition-delay:.5s}
.bbs-reach__col:last-child .bbs-reach__row:nth-child(1){transition-delay:.2s}
.bbs-reach__col:last-child .bbs-reach__row:nth-child(2){transition-delay:.4s}
.bbs-reach__col:last-child .bbs-reach__row:nth-child(3){transition-delay:.6s}
[data-funnel-stage="1"] .bbs-reach__row{opacity:1}
.bbs-flow{flex:1;min-width:10px;height:1px;background-image:repeating-linear-gradient(90deg,#29C3FF 0 8px,transparent 8px 14px);background-size:28px 1px;animation:bbsFlow 1.1s linear infinite;animation-play-state:paused}
.bbs-flow--rev{animation-name:bbsFlowRev}
[data-funnel-stage="1"] .bbs-flow{animation-play-state:running}
.bbs-reach__core{border-radius:40px;border:1px solid rgba(127,224,255,.75);background:linear-gradient(180deg,rgba(41,195,255,.45),rgba(41,195,255,.1));box-shadow:0 0 30px rgba(41,195,255,.3);display:flex;align-items:center;justify-content:center}
.bbs-reach__core span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--ice);text-transform:uppercase}

/* 2 - nurture */
.bbs-nur{width:100%;max-width:500px;display:flex;flex-direction:column;gap:clamp(4px,1vh,9px)}
.bbs-nur__heads,.bbs-nur__row{display:grid;grid-template-columns:minmax(0,1fr) 40%;gap:12px}
.bbs-nur__heads{padding:0 14px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--meta);text-transform:uppercase}
.bbs-nur__row{align-items:center;padding:clamp(5px,1vh,11px) 14px;border:1px solid rgba(127,217,255,.18);background:rgba(41,195,255,.05);border-radius:3px;opacity:0;transform:translateX(-14px);transition:opacity .5s ease .15s,transform .5s ease .15s}
.bbs-nur__row--2{border-color:rgba(127,217,255,.28);background:rgba(41,195,255,.09);transition-delay:.45s}
.bbs-nur__row--3{border-color:rgba(127,217,255,.38);background:rgba(41,195,255,.13);transition-delay:.75s}
.bbs-nur__row--4{border-color:rgba(127,217,255,.5);background:rgba(41,195,255,.18);transition-delay:1.05s}
.bbs-nur__row--5{border-color:rgba(127,217,255,.7);background:rgba(41,195,255,.24);transition-delay:1.35s}
[data-funnel-stage="2"] .bbs-nur__row{opacity:1;transform:none}
.bbs-nur__label{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:clamp(9px,.85vw,12px);letter-spacing:.12em;color:var(--ice)}
.bbs-nur__dot{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#7FE0FF;box-shadow:0 0 4px #29C3FF}
.bbs-nur__row--2 .bbs-nur__dot{box-shadow:0 0 7px #29C3FF}
.bbs-nur__row--3 .bbs-nur__dot{box-shadow:0 0 10px #29C3FF}
.bbs-nur__row--4 .bbs-nur__dot{box-shadow:0 0 13px #29C3FF}
.bbs-nur__row--5 .bbs-nur__dot{box-shadow:0 0 16px #29C3FF}
.bbs-nur__bar{display:block;height:4px;border-radius:2px;background:rgba(127,217,255,.14);overflow:hidden}
.bbs-nur__fill{display:block;height:100%;width:20%;background:linear-gradient(90deg,#0A83C8,#7FE0FF)}
.bbs-nur__row--2 .bbs-nur__fill{width:40%}
.bbs-nur__row--3 .bbs-nur__fill{width:60%}
.bbs-nur__row--4 .bbs-nur__fill{width:80%}
.bbs-nur__row--5 .bbs-nur__fill{width:100%}

/* 3 - convert */
.bbs-conv{display:flex;flex-direction:column;align-items:center;gap:clamp(14px,3.4vh,36px);width:100%}
.bbs-conv__pair{display:flex;align-items:center;gap:clamp(8px,1.4vw,18px)}
.bbs-conv__circle{width:clamp(62px,8vw,112px);aspect-ratio:1;border-radius:50%;border:1px solid #7FE0FF;background:radial-gradient(circle at 40% 35%,rgba(127,224,255,.35),rgba(10,60,95,.4) 60%,rgba(2,12,22,.6));box-shadow:0 0 34px rgba(41,195,255,.35);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;font-size:clamp(9.5px,1vw,14px);letter-spacing:.1em;color:#fff}
.bbs-conv__link{display:flex;align-items:center;width:clamp(36px,7vw,100px);height:1px;background:linear-gradient(90deg,#7FE0FF,#29C3FF,#7FE0FF);position:relative}
.bbs-conv__link span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#041526;padding:0 6px;color:#7FE0FF;font-size:16px;line-height:1}
.bbs-conv__chain{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px}
.bbs-conv__chain > *{opacity:0;transition:opacity .5s ease .5s}
.bbs-conv__chain > :nth-child(2){transition-delay:.65s}
.bbs-conv__chain > :nth-child(3){transition-delay:.8s}
.bbs-conv__chain > :nth-child(4){transition-delay:.95s}
.bbs-conv__chain > :nth-child(5){transition-delay:1.1s}
.bbs-conv__chain > :nth-child(6){transition-delay:1.25s}
.bbs-conv__chain > :nth-child(7){transition-delay:1.4s}
[data-funnel-stage="3"] .bbs-conv__chain > *{opacity:1}
.bbs-conv__step{font-family:var(--display);font-weight:800;font-size:clamp(9px,.9vw,12.5px);letter-spacing:.11em;color:var(--ice);padding:clamp(6px,.9vh,10px) clamp(9px,1vw,14px);border-radius:3px;border:1px solid rgba(127,217,255,.4);white-space:nowrap}
.bbs-conv__step--final{color:#00131F;border:0;background-image:linear-gradient(180deg,#7FE0FF,#29C3FF 48%,#0A83C8)}
.bbs-conv__arrow{color:var(--cyan);font-size:13px}

/* 4 - retain */
.bbs-orbit{position:relative;height:min(290px,74%);aspect-ratio:1}
.bbs-orbit__ring{position:absolute;inset:0;border-radius:50%;border:1.5px dashed rgba(127,217,255,.5)}
.bbs-orbit__spin{position:absolute;inset:0;animation:bbsOrbit 12s linear infinite;animation-play-state:paused}
[data-funnel-stage="4"] .bbs-orbit__spin{animation-play-state:running}
.bbs-orbit__dot{position:absolute;left:50%;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFF,#7FE0FF 45%,#1E8CC9);box-shadow:0 0 18px rgba(41,195,255,.95)}
.bbs-orbit__centre{position:absolute;inset:24%;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--mono);font-size:clamp(8.5px,.75vw,10px);letter-spacing:.16em;color:var(--meta-2);text-transform:uppercase;line-height:1.6}
.bbs-orbit__node{position:absolute;transform:translate(-50%,-50%)}
.bbs-orbit__node--1{left:50%;top:0}
.bbs-orbit__node--2{left:93.3%;top:25%}
.bbs-orbit__node--3{left:93.3%;top:75%}
.bbs-orbit__node--4{left:50%;top:100%}
.bbs-orbit__node--5{left:6.7%;top:75%}
.bbs-orbit__node--6{left:6.7%;top:25%}

/* 5-6 - zoom out / operate */
.bbs-op{position:relative;width:100%;max-width:580px;padding:clamp(28px,4vh,40px) clamp(12px,2vw,26px) clamp(12px,2vw,24px);display:flex;flex-direction:column;gap:clamp(12px,2.4vh,24px)}
.bbs-op__frame{position:absolute;inset:0;border:1px solid rgba(127,224,255,.55);border-radius:4px;box-shadow:0 0 40px rgba(41,195,255,.18),inset 0 0 40px rgba(41,195,255,.06);opacity:0;transition:opacity .8s ease}
.bbs-op__tag{position:absolute;left:clamp(12px,2vw,26px);top:12px;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;color:var(--cyan-3);text-transform:uppercase;opacity:0;transition:opacity .8s ease}
.bbs-op__chain{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:clamp(10px,1.8vh,16px) 8px;border:1px dashed rgba(127,217,255,.3);border-radius:3px}
.bbs-op__arrow{color:var(--cyan);font-size:12px}
.bbs-op__divider{position:relative;display:flex;align-items:center;gap:10px;opacity:0;transition:opacity .8s ease .2s}
.bbs-op__divider span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(127,224,255,.7))}
.bbs-op__divider span:last-child{background:linear-gradient(90deg,rgba(127,224,255,.7),transparent)}
.bbs-op__divider b{font-family:var(--display);font-weight:900;font-size:clamp(10px,1vw,13px);letter-spacing:.16em;color:#7FE0FF;white-space:nowrap}
.bbs-op__foundation{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:6px}
.bbs-op__tile{opacity:0;transform:translateY(10px);transition:opacity .5s ease .3s,transform .6s ease .3s;border-top:2px solid var(--cyan);background:linear-gradient(180deg,rgba(41,195,255,.16),rgba(41,195,255,.02));padding:clamp(8px,1.4vh,14px) 6px;text-align:center;font-family:var(--display);font-weight:800;font-size:clamp(8.5px,.8vw,11px);letter-spacing:.12em;color:var(--ice)}
.bbs-op__tile--2{transition-delay:.45s}
.bbs-op__tile--3{transition-delay:.6s}
.bbs-op__tile--4{transition-delay:.75s}
.bbs-op__tile--5{transition-delay:.9s}
[data-funnel-stage="6"] .bbs-op__frame,
[data-funnel-stage="6"] .bbs-op__tag,
[data-funnel-stage="6"] .bbs-op__divider{opacity:1}
[data-funnel-stage="6"] .bbs-op__tile{opacity:1;transform:none}

/* progress track */
.bbs-track{position:relative;padding:clamp(38px,4.4vh,48px) clamp(6px,2vw,24px) clamp(14px,2vh,22px);border-top:1px solid rgba(127,217,255,.1);opacity:1;transition:opacity .8s ease}
[data-funnel-stage="3"] .bbs-track{opacity:.3}
[data-funnel-stage="5"] .bbs-track,
[data-funnel-stage="6"] .bbs-track{opacity:0}
.bbs-track__line{position:relative;z-index:2;margin:0 10%;height:12px}
.bbs-track__base{position:absolute;left:0;right:0;top:5.5px;height:1px;background:rgba(127,217,255,.25)}
.bbs-track__fill{position:absolute;left:0;top:5px;height:2px;width:0;background:linear-gradient(90deg,#0A83C8,#7FE0FF);box-shadow:0 0 10px rgba(41,195,255,.6);transition:width .9s cubic-bezier(.2,.7,.3,1)}
.bbs-track__arc{position:absolute;left:0;right:0;bottom:6px;height:30px;border:1.5px dashed rgba(127,224,255,.8);border-bottom:0;border-radius:30px 30px 0 0;opacity:0;transition:opacity .8s ease}
.bbs-track__dot{position:absolute;top:6px;left:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#FFF,#7FE0FF 45%,#1E8CC9);box-shadow:0 0 20px rgba(41,195,255,.95);transition:left .9s cubic-bezier(.2,.7,.3,1)}
[data-funnel-stage="1"] .bbs-track__fill{width:25%}
[data-funnel-stage="2"] .bbs-track__fill{width:50%}
[data-funnel-stage="3"] .bbs-track__fill{width:75%}
[data-funnel-stage="4"] .bbs-track__fill,
[data-funnel-stage="5"] .bbs-track__fill,
[data-funnel-stage="6"] .bbs-track__fill{width:100%}
[data-funnel-stage="1"] .bbs-track__dot{left:25%}
[data-funnel-stage="2"] .bbs-track__dot{left:50%}
[data-funnel-stage="3"] .bbs-track__dot{left:75%}
[data-funnel-stage="4"] .bbs-track__dot,
[data-funnel-stage="5"] .bbs-track__dot,
[data-funnel-stage="6"] .bbs-track__dot{left:100%}
[data-funnel-stage="4"] .bbs-track__arc{opacity:1}
.bbs-track__nodes{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:-12px}
.bbs-track__node{display:flex;flex-direction:column;align-items:center;gap:10px}
.bbs-track__pip{width:12px;height:12px;border-radius:50%;background:#06223A;border:1px solid rgba(127,217,255,.35);transition:all .5s}
.bbs-track__label{font-family:var(--display);font-weight:800;font-size:clamp(8px,.8vw,11px);letter-spacing:.1em;color:var(--meta);transition:color .5s}
.bbs-track__node.is-done .bbs-track__pip,.bbs-track__node.is-current .bbs-track__pip{background:var(--cyan);border-color:#7FE0FF}
.bbs-track__node.is-done .bbs-track__label{color:var(--cyan-3)}
.bbs-track__node.is-current .bbs-track__label{color:#fff}

/* --- one-day CTA band ------------------------------------------------------ */
.bbs-cta-band{border-top:1px solid rgba(127,224,255,.3);border-bottom:1px solid rgba(127,224,255,.3);background:radial-gradient(70% 90% at 50% 100%,rgba(41,195,255,.22),rgba(0,0,0,0) 70%),linear-gradient(180deg,rgba(6,34,58,.7),rgba(1,8,16,.3))}
.bbs-cta-band__inner{max-width:1100px;margin:0 auto;padding:clamp(72px,9vw,148px) var(--gutter);display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(22px,2.4vw,32px)}
.bbs-h2--cta{font-size:clamp(40px,6.4vw,104px);line-height:.9;letter-spacing:-.05em}
.bbs-cta-band__body{font-size:clamp(17px,1.4vw,21px);line-height:1.6;color:#CFE6F5;max-width:56ch;margin:0;text-wrap:pretty}

/* --- a day out of the business -------------------------------------------- */
.bbs-dayout{max-width:860px}
.bbs-h2--day{font-size:clamp(32px,4.4vw,62px);line-height:.92;margin:0 0 clamp(22px,2.4vw,32px)}
.bbs-dayout .bbs-emph{margin:0 0 14px}
.bbs-dayout .bbs-friction-pull{margin:clamp(20px,2.4vw,32px) 0 clamp(22px,2.4vw,32px)}

/* --- agenda preview -------------------------------------------------------- */
.bbs-hairgrid--300{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.bbs-hairgrid--300 .bbs-featured p{font-size:14.5px}
.bbs-featured__tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bbs-pilltag--dot{border:0;padding:0;border-radius:0;gap:7px}
.bbs-pilltag--dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}

/* --- agenda: multi-paragraph session copy ---------------------------------- */
.bbs-session__inner{grid-template-columns:minmax(0,1fr)}
.bbs-session__desc{display:flex;flex-direction:column;gap:14px;max-width:72ch}
@media (min-width:760px){
  .bbs-session__inner--split{grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr)}
}

/* --- video testimonials ---------------------------------------------------- */
.bbs-videogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:clamp(12px,1.4vw,18px);margin-bottom:clamp(12px,1.4vw,18px)}
.bbs-videocard{display:flex;flex-direction:column;padding:0;text-align:left;cursor:pointer;color:inherit;border:1px solid rgba(127,217,255,.2);border-radius:4px;overflow:hidden;background:var(--panel);-webkit-appearance:none;appearance:none;transition:transform .22s,border-color .22s,box-shadow .22s}
.bbs-videocard__thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(165deg,rgba(14,62,98,.7),rgba(2,12,22,.95))}
.bbs-videocard__scan{position:absolute;left:0;right:0;top:0;height:40%;background:linear-gradient(180deg,transparent,rgba(127,224,255,.18),transparent);animation:bbsScan 6.5s ease-in-out infinite}
.bbs-videocard__play{position:relative;display:flex;align-items:center;justify-content:center;width:62px;height:62px;border-radius:50%;padding-left:4px;background-image:linear-gradient(180deg,#7FE0FF,#29C3FF 46%,#0A83C8);color:#00131F;font-size:20px;box-shadow:0 0 30px rgba(41,195,255,.5);animation:bbsPulse 3.4s ease-out infinite}
.bbs-videocard__body{display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px}
.bbs-videocard__pull{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.35;letter-spacing:-.02em;color:var(--ice);text-wrap:pretty}
@media (hover:hover) and (pointer:fine){
  .bbs-videocard:hover{transform:translateY(-4px);border-color:rgba(41,195,255,.6);box-shadow:0 18px 46px rgba(0,0,0,.5)}
}
.bbs-videomodal{width:100%;max-width:960px;display:flex;flex-direction:column;gap:12px;animation:bbsPop .22s ease}
.bbs-videomodal__frame{aspect-ratio:16/9;width:100%;background:#000;border:1px solid rgba(127,217,255,.3);box-shadow:0 40px 110px rgba(0,0,0,.75)}
.bbs-videomodal__frame iframe,.bbs-videomodal__frame video{display:block;width:100%;height:100%;border:0}
.bbs-videomodal__foot{display:flex;justify-content:flex-end}

/* --- choose your city ------------------------------------------------------ */
.bbs-cityrows-section{border-top:1px solid rgba(127,224,255,.3);background:radial-gradient(70% 90% at 50% 0,rgba(41,195,255,.16),rgba(0,0,0,0) 70%),linear-gradient(180deg,rgba(6,34,58,.6),rgba(1,8,16,.2))}
.bbs-h2--city{font-size:clamp(34px,4.6vw,68px);line-height:.92;margin:0 0 clamp(14px,1.6vw,22px)}
.bbs-cityrows-section__body{font-size:clamp(17px,1.3vw,19.5px);line-height:1.6;color:#CFE6F5;margin:0 0 clamp(28px,3vw,44px);max-width:56ch}
.bbs-cityrows{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid rgba(127,217,255,.18);border-radius:4px;overflow:hidden}
.bbs-cityrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px clamp(16px,2.4vw,40px);padding:clamp(16px,1.8vw,24px) clamp(18px,2vw,28px);background:var(--panel);transition:background .22s}
.bbs-cityrow:hover,.bbs-cityrow:focus-within{background:var(--panel-hi)}
.bbs-cityrow__city{flex:1 1 180px}
.bbs-cityrow__code{font-family:var(--display);font-weight:900;font-size:clamp(26px,2.4vw,34px);letter-spacing:-.045em;line-height:1;color:var(--ice);margin-bottom:4px}
.bbs-cityrow__when{flex:1 1 220px}
.bbs-cityrow__date{font-family:var(--display);font-weight:700;font-size:15px;color:var(--ice);margin-bottom:4px}
.bbs-cityrow__venue{flex:1 1 200px;font-family:var(--display);font-weight:700;font-size:15px;color:#CFE6F5}
.bbs-cityrow__actions{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:10px}

/* --- locations: getting there ---------------------------------------------- */
.bbs-venue__transport .bbs-label{margin-bottom:6px}
.bbs-venue__transport p{font-size:14px;line-height:1.65;color:var(--dim);margin:0;text-wrap:pretty}

/* --- pillar accents (single source of truth: CSS) --------------------------- */
html.BBS [data-pillar="ACQUIRE"]{--accent:#35D2EA;--accent:oklch(0.80 0.13 205)}
html.BBS [data-pillar="REACH"]{--accent:#62C3F7;--accent:oklch(0.80 0.12 235)}
html.BBS [data-pillar="NURTURE"]{--accent:#4FD9B6;--accent:oklch(0.82 0.12 175)}
html.BBS [data-pillar="CONVERT"]{--accent:#C3A6F5;--accent:oklch(0.80 0.12 295)}
html.BBS [data-pillar="RETAIN"]{--accent:#9DB3F9;--accent:oklch(0.80 0.12 262)}
html.BBS [data-pillar="OPERATE"]{--accent:#E3D49A;--accent:oklch(0.86 0.08 90)}
.bbs-pilltag{color:var(--accent,var(--cyan-2))}
.bbs-slot .bbs-slot__dot{background:var(--accent,var(--cyan));box-shadow:0 0 12px var(--accent,var(--cyan))}
.bbs-slot--break .bbs-slot__dot{background:rgba(127,217,255,.5);box-shadow:none}
.bbs-chip--theme[data-pillar][aria-pressed="true"]{background:var(--accent,var(--cyan));border-color:var(--accent,var(--cyan));color:#00131F}

/* --- ticket pricing (Home + Tickets) ------------------------------------------ */
.bbs-pricing-section{padding-top:clamp(56px,7vw,112px);padding-bottom:clamp(56px,7vw,112px)}
.bbs-pricing-section--page{padding-top:0;padding-bottom:clamp(56px,7vw,100px)}
.bbs-section-pad.bbs-section-pad--tight{padding-bottom:clamp(20px,2.4vw,32px)}
.bbs-pricing{display:grid;grid-template-columns:1fr;gap:clamp(14px,1.6vw,22px);max-width:1100px;margin:0 auto}
.bbs-pricecard{background:linear-gradient(170deg,rgba(9,42,70,.5),rgba(2,12,22,.85));border:1px solid rgba(127,217,255,.18);border-radius:4px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.bbs-pricecard__title{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.04em;margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1.1;color:var(--ice)}
.bbs-pricecard__price{display:flex;align-items:flex-start;gap:4px;line-height:1}
.bbs-pricecard__amount{font-family:var(--display);font-weight:900;letter-spacing:-.05em;font-size:clamp(56px,7vw,96px);line-height:.95}
.bbs-pricecard__mark{font-family:var(--display);font-weight:900;font-size:clamp(28px,3vw,40px);line-height:1;color:var(--cyan-3);margin-top:.15em}
.bbs-pricecard__gst{margin:0}
.bbs-pricecard__note{margin:auto 0 0;font-size:13px;line-height:1.5;color:var(--meta-2)}
.bbs-pricecard__body{margin:0}
.bbs-pricecard--member .bbs-pricecard__body{flex:1}
@media (min-width:760px){
  .bbs-pricing{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* --- responsive -------------------------------------------------------------- */
@media (max-width:939px){
  .bbs-funnel__block{min-height:0}
}
@media (max-width:639px){
  .bbs-journey__labels span{letter-spacing:.06em}
  .bbs-cityrow__actions{width:100%}
  .bbs-cityrow__actions .bbs-btn{flex:1 1 0}
  .bbs-h2--cta,.bbs-h2--city,.bbs-h2--day{max-width:none}
}

/* --- no background-clip:text support ------------------------------------------ */
@supports not (background-clip:text){
  .bbs-funnel__h2{color:var(--ice);background:none}
}

/* --- reduced motion ----------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .bbs-journey__dot,.bbs-cone__in,.bbs-cone__down,.bbs-flow,.bbs-orbit__spin,.bbs-videocard__scan,.bbs-videocard__play,.bbs-btn--pulse,.bbs-shimmer{animation:none}
  .bbs-scene,.bbs-reach__row,.bbs-nur__row,.bbs-conv__chain > *,.bbs-op__frame,.bbs-op__tag,.bbs-op__divider,.bbs-op__tile,.bbs-track,.bbs-track__fill,.bbs-track__dot,.bbs-track__arc,.bbs-funnel__grid-lines,.bbs-progress__bar{transition:none}
  .bbs-journey__dot{left:100%}
}
