/* Beach Road: animated coastal footer scene. Lane "coast", prefix bic-.
   Default state (no JS, reduced motion) = the composed rest scene with every label shown.
   JS adds .bic-run when the scene is on screen, and .bic-paused when it isn't or the tab is hidden. */
.bic-coast{--bic-T:24s;--bic-start:-19.2s;position:relative;background:#0D3B6E;color:#fff}
.bic-stage{position:relative;overflow:hidden;line-height:0}
.bic-defs{position:absolute;width:0;height:0;overflow:hidden}
.bic-scene{display:block;width:100%}
.bic-scene-wide{height:clamp(200px,20.833vw,320px)}
.bic-scene-tall{display:none}
@media (max-width:767.98px){
  .bic-scene-wide{display:none}
  .bic-scene-tall{display:block;height:min(85vw,370px)}
}
.bic-scene text{font-family:Inter,system-ui,sans-serif}
.bic-chip{transform-box:fill-box;transform-origin:50% 100%}
@media (min-width:768px) and (max-width:1099.98px){.bic-scene-wide .bic-chip{transform:scale(1.3)}}

/* link row: the accessible part */
.bic-links{padding:4px 16px 2px}
.bic-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;margin:0;padding:0;list-style:none}
.bic-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px 8px 13px;border:1px solid rgba(255,255,255,.3);
  border-radius:999px;background:rgba(255,255,255,.06);color:#fff;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;
  transition:background-color .2s,color .2s,border-color .2s}
.bic-link::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#D4A017}
.bic-link:hover,.bic-link:focus-visible{background:#D4A017;border-color:#D4A017;color:#0D3B6E}
.bic-link:hover::before,.bic-link:focus-visible::before{background:#0D3B6E}
.bic-link:focus{outline:none}
.bic-link:focus-visible{outline:2px solid #F5F0E8;outline-offset:3px}

/* rest-state defaults (things that are "open"/"parked" at rest) */
.bic-shutter{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 0}
.bic-awning{transform-box:fill-box;transform-origin:50% 0}
.bic-brake{opacity:0}
.bic-kstring{stroke-dasharray:100 100}
.bic-kite,.bic-kbob,.bic-wheel,.bic-flap,.bic-shim{transform-box:fill-box;transform-origin:50% 50%}
.bic-ktail{transform-box:fill-box;transform-origin:50% 0}
.bic-oat,.bic-steam{transform-box:fill-box;transform-origin:50% 100%}
.bic-palmcrown{transform-box:fill-box;transform-origin:50% 45%}

/* highlight (link focus/hover, or pointer over a subject) */
.bic-halo{opacity:0;transition:opacity .35s}
.bic-s{transition:transform .35s}
.bic-js .bic-s,.bic-js .bic-chip{cursor:pointer}
.bic-coast[data-bic-hl="home"] .bic-halo-home,.bic-coast[data-bic-hl="life"] .bic-halo-life,.bic-coast[data-bic-hl="auto"] .bic-halo-auto,
.bic-coast[data-bic-hl="food"] .bic-halo-food,.bic-coast[data-bic-hl="cart"] .bic-halo-cart{opacity:1}
.bic-coast[data-bic-hl="home"] .bic-s-home,.bic-coast[data-bic-hl="life"] .bic-s-life,.bic-coast[data-bic-hl="auto"] .bic-s-auto,
.bic-coast[data-bic-hl="food"] .bic-s-food,.bic-coast[data-bic-hl="cart"] .bic-s-cart{transform:translateY(-3px)}
.bic-chip{transition:opacity .35s}
.bic-coast[data-bic-hl="home"] .bic-chip:not(.bic-chip-home),.bic-coast[data-bic-hl="life"] .bic-chip:not(.bic-chip-life),
.bic-coast[data-bic-hl="auto"] .bic-chip:not(.bic-chip-auto),.bic-coast[data-bic-hl="food"] .bic-chip:not(.bic-chip-food),
.bic-coast[data-bic-hl="cart"] .bic-chip:not(.bic-chip-cart){opacity:.45}
.bic-coast[data-bic-hl="home"] .bic-chip-home .bic-chipin,.bic-coast[data-bic-hl="life"] .bic-chip-life .bic-chipin,
.bic-coast[data-bic-hl="auto"] .bic-chip-auto .bic-chipin,.bic-coast[data-bic-hl="food"] .bic-chip-food .bic-chipin,
.bic-coast[data-bic-hl="cart"] .bic-chip-cart .bic-chipin{opacity:1 !important;transform:translateY(-3px) !important}
.bic-coast[data-bic-hl="home"] .bic-link-home,.bic-coast[data-bic-hl="life"] .bic-link-life,.bic-coast[data-bic-hl="auto"] .bic-link-auto,
.bic-coast[data-bic-hl="food"] .bic-link-food,.bic-coast[data-bic-hl="cart"] .bic-link-cart{border-color:#D4A017}

/* ---- the story loop (only while .bic-run) ---- */
.bic-run .bic-glow-win,.bic-run .bic-porch-glow,.bic-run .bic-kite,.bic-run .bic-kstring,.bic-run .bic-drive,.bic-run .bic-wheel,
.bic-run .bic-carbody,.bic-run .bic-cartbody,.bic-run .bic-brake,.bic-run .bic-shutter,.bic-run .bic-awning,.bic-run .bic-steamwrap,
.bic-run .bic-customers,.bic-run .bic-cstep,.bic-run .bic-chipin,.bic-run .bic-link::before{
  animation-duration:var(--bic-T);animation-timing-function:linear;animation-iteration-count:infinite;
  animation-fill-mode:both;animation-delay:var(--bic-start)}
.bic-run .bic-glow-win{animation-name:bic-win}
.bic-run .bic-porch-glow{animation-name:bic-porch}
.bic-run .bic-scene-wide .bic-kite{animation-name:bic-kite-w}
.bic-run .bic-scene-tall .bic-kite{animation-name:bic-kite-t}
.bic-run .bic-kstring{animation-name:bic-kstr}
.bic-run .bic-scene-wide .bic-car{animation-name:bic-car-w}
.bic-run .bic-scene-tall .bic-car{animation-name:bic-car-t}
.bic-run .bic-car .bic-wheel{animation-name:bic-spin-car}
.bic-run .bic-carbody{animation-name:bic-carbob}
.bic-run .bic-brake{animation-name:bic-brake}
.bic-run .bic-shutter{animation-name:bic-shutter}
.bic-run .bic-awning{animation-name:bic-awning}
.bic-run .bic-steamwrap{animation-name:bic-steamop}
.bic-run .bic-customers{animation-name:bic-cust}
.bic-run .bic-cstep{animation-name:bic-stepbob}
.bic-run .bic-scene-wide .bic-cart{animation-name:bic-cart-w}
.bic-run .bic-scene-tall .bic-cart{animation-name:bic-cart-t}
.bic-run .bic-cart .bic-wheel{animation-name:bic-spin-cart}
.bic-run .bic-cartbody{animation-name:bic-cartbob}

@keyframes bic-win{0%,3.5%{opacity:0}7%{opacity:1}92%{opacity:1}96.5%,100%{opacity:0}}
@keyframes bic-porch{0%,5.5%{opacity:0}6.1%{opacity:.7}6.6%{opacity:.3}9%{opacity:1}92%{opacity:1}96.5%,100%{opacity:0}}
@keyframes bic-kstr{0%,15.5%{stroke-dashoffset:100}26%{stroke-dashoffset:0}92%{stroke-dashoffset:0}99%,100%{stroke-dashoffset:100}}
@keyframes bic-car-w{0%,29%{transform:translateX(-866px);opacity:0;animation-timing-function:cubic-bezier(.2,.55,.3,1)}
  32%{opacity:1}40%{transform:translateX(0)}
  92%{transform:translateX(0);opacity:1;animation-timing-function:cubic-bezier(.55,0,.9,.5)}97%{opacity:0}100%{transform:translateX(150px);opacity:0}}
@keyframes bic-car-t{0%,29%{transform:translateX(-420px);opacity:0;animation-timing-function:cubic-bezier(.2,.55,.3,1)}
  32%{opacity:1}40%{transform:translateX(0)}
  92%{transform:translateX(0);opacity:1;animation-timing-function:cubic-bezier(.55,0,.9,.5)}97%{opacity:0}100%{transform:translateX(120px);opacity:0}}
@keyframes bic-spin-car{0%,29%{transform:rotate(0);animation-timing-function:cubic-bezier(.2,.55,.3,1)}40%{transform:rotate(1080deg)}
  92%{transform:rotate(1080deg);animation-timing-function:cubic-bezier(.55,0,.9,.5)}100%{transform:rotate(1400deg)}}
@keyframes bic-brake{0%,38%{opacity:0}39.6%{opacity:1}44%{opacity:0}100%{opacity:0}}
@keyframes bic-shutter{0%,43%{transform:scaleY(1);animation-timing-function:ease-in-out}45.5%{transform:scaleY(0)}
  94.5%{transform:scaleY(0);animation-timing-function:ease-in-out}97.5%,100%{transform:scaleY(1)}}
@keyframes bic-awning{0%,45.3%{transform:scaleY(0);animation-timing-function:cubic-bezier(.3,.7,.4,1)}48%{transform:scaleY(1.07)}49.3%{transform:scaleY(1)}
  92%{transform:scaleY(1);animation-timing-function:ease-in}94.5%,100%{transform:scaleY(0)}}
@keyframes bic-steamop{0%,47%{opacity:0}50%{opacity:1}92%{opacity:1}95%,100%{opacity:0}}
@keyframes bic-cust{0%,48%{transform:translateX(38px);opacity:0;animation-timing-function:cubic-bezier(.3,.5,.45,1)}50.5%{opacity:1}54%{transform:translateX(0)}
  92%{transform:translateX(0);opacity:1}96%,100%{transform:translateX(-6px);opacity:0}}
@keyframes bic-cart-w{0%,57%{transform:translateX(410px);opacity:0;animation-timing-function:cubic-bezier(.3,.45,.4,1)}
  59.5%{opacity:1}68%{transform:translateX(0)}
  92%{transform:translateX(0);opacity:1;animation-timing-function:cubic-bezier(.55,0,.9,.5)}97%{opacity:0}100%{transform:translateX(-120px);opacity:0}}
@keyframes bic-cart-t{0%,57%{transform:translateX(230px);opacity:0;animation-timing-function:cubic-bezier(.3,.45,.4,1)}
  59.5%{opacity:1}68%{transform:translateX(0)}
  92%{transform:translateX(0);opacity:1;animation-timing-function:cubic-bezier(.55,0,.9,.5)}97%{opacity:0}100%{transform:translateX(-100px);opacity:0}}
@keyframes bic-spin-cart{0%,57%{transform:rotate(0);animation-timing-function:cubic-bezier(.3,.45,.4,1)}68%{transform:rotate(-900deg)}
  92%{transform:rotate(-900deg);animation-timing-function:cubic-bezier(.55,0,.9,.5)}100%{transform:rotate(-1150deg)}}

/* ---- ambience (independent gentle loops, only while .bic-run) ---- */
.bic-run .bic-surf{animation:bic-surf 9s ease-in-out var(--bic-d,0s) infinite alternate}
.bic-run .bic-foam{animation:bic-foam 6s ease-in-out infinite alternate}
.bic-run .bic-shim{animation:bic-shim 2.8s ease-in-out var(--bic-d,0s) infinite alternate}
.bic-run .bic-gull{animation:bic-gull 14s ease-in-out infinite alternate}
.bic-run .bic-gull2{animation-duration:17s;animation-delay:-5s}
.bic-run .bic-gull3{animation-duration:12s;animation-direction:alternate-reverse}
.bic-run .bic-flap{animation:bic-flap 1.5s ease-in-out infinite alternate}
.bic-run .bic-oat{animation:bic-sway 4.6s ease-in-out var(--bic-d,0s) infinite alternate}
.bic-run .bic-palmcrown{animation:bic-palm 6.5s ease-in-out infinite alternate}
.bic-run .bic-kbob{animation:bic-kbob 3.4s ease-in-out infinite alternate}
.bic-run .bic-ktail{animation:bic-tail 1.8s ease-in-out infinite alternate}
.bic-run .bic-sail{animation:bic-sail 30s ease-in-out infinite alternate}
.bic-run .bic-sail2{animation-duration:38s;animation-direction:alternate-reverse}
.bic-run .bic-cloud{animation:bic-cloud 40s ease-in-out infinite alternate}
.bic-run .bic-steam{animation:bic-steam 3s ease-out infinite}
.bic-run .bic-steam2{animation-delay:-1.5s}
.bic-run .bic-bulbs{animation:bic-twinkle 2.6s ease-in-out infinite alternate}
@keyframes bic-surf{0%{transform:translateX(-18px)}100%{transform:translateX(18px)}}
@keyframes bic-foam{0%{transform:translateY(-1.5px);opacity:.6}100%{transform:translateY(1.2px);opacity:.95}}
@keyframes bic-shim{0%{opacity:.25;transform:scaleX(.7)}100%{opacity:.85;transform:scaleX(1)}}
@keyframes bic-gull{0%{transform:translate(0,0)}100%{transform:translate(46px,-8px)}}
@keyframes bic-flap{0%{transform:scaleY(1)}100%{transform:scaleY(.45)}}
@keyframes bic-sway{0%{transform:rotate(-3deg)}100%{transform:rotate(3.5deg)}}
@keyframes bic-palm{0%{transform:rotate(-2.5deg)}100%{transform:rotate(2deg)}}
@keyframes bic-kbob{0%{transform:rotate(-6deg)}100%{transform:translate(1.5px,-2px) rotate(5deg)}}
@keyframes bic-tail{0%{transform:rotate(-9deg)}100%{transform:rotate(9deg)}}
@keyframes bic-sail{0%{transform:translateX(0)}100%{transform:translateX(60px)}}
@keyframes bic-cloud{0%{transform:translateX(0)}100%{transform:translateX(40px)}}
@keyframes bic-steam{0%{transform:translateY(4px) scaleY(.6);opacity:0}30%{opacity:.85}100%{transform:translateY(-12px) scaleY(1.1);opacity:0}}
@keyframes bic-twinkle{0%{opacity:.55}100%{opacity:1}}

.bic-paused *,.bic-paused *::before{animation-play-state:paused !important}
@media (prefers-reduced-motion:reduce){
  .bic-coast *,.bic-coast *::before{animation:none !important;transition:none !important}
}

/* ---- generated by build.py ---- */
@keyframes bic-kite-w{
0%,15.5%{transform:translate(-96px,102px) rotate(-18deg)}
17.6%{transform:translate(-72.84px,85.96px) rotate(-14.4deg)}
19.7%{transform:translate(-51.32px,67.33px) rotate(-10.8deg)}
21.8%{transform:translate(-31.96px,46.57px) rotate(-7.2deg)}
23.9%{transform:translate(-14.9px,24.07px) rotate(-3.6deg)}
26%{transform:translate(0px,0px) rotate(0deg)}
92.0%{transform:translate(0px,0px) rotate(0deg)}
93.4%{transform:translate(-14.9px,24.07px) rotate(-3.6deg)}
94.8%{transform:translate(-31.96px,46.57px) rotate(-7.2deg)}
96.2%{transform:translate(-51.32px,67.33px) rotate(-10.8deg)}
97.6%{transform:translate(-72.84px,85.96px) rotate(-14.4deg)}
99%{transform:translate(-96px,102px) rotate(-18deg)}
100%{transform:translate(-96px,102px) rotate(-18deg)}}
@keyframes bic-kite-t{
0%,15.5%{transform:translate(-70px,116px) rotate(-18deg)}
17.6%{transform:translate(-51.52px,95.81px) rotate(-14.4deg)}
19.7%{transform:translate(-35.6px,73.8px) rotate(-10.8deg)}
21.8%{transform:translate(-21.82px,50.18px) rotate(-7.2deg)}
23.9%{transform:translate(-9.97px,25.33px) rotate(-3.6deg)}
26%{transform:translate(0px,0px) rotate(0deg)}
92.0%{transform:translate(0px,0px) rotate(0deg)}
93.4%{transform:translate(-9.97px,25.33px) rotate(-3.6deg)}
94.8%{transform:translate(-21.82px,50.18px) rotate(-7.2deg)}
96.2%{transform:translate(-35.6px,73.8px) rotate(-10.8deg)}
97.6%{transform:translate(-51.52px,95.81px) rotate(-14.4deg)}
99%{transform:translate(-70px,116px) rotate(-18deg)}
100%{transform:translate(-70px,116px) rotate(-18deg)}}
@keyframes bic-carbob{0%,29%{transform:translateY(0)}29.65%{transform:translateY(-0.7px)}30.3%{transform:translateY(0px)}30.95%{transform:translateY(-0.7px)}31.6%{transform:translateY(0px)}32.25%{transform:translateY(-0.7px)}32.9%{transform:translateY(0px)}33.55%{transform:translateY(-0.7px)}34.2%{transform:translateY(0px)}34.85%{transform:translateY(-0.7px)}35.5%{transform:translateY(0px)}36.15%{transform:translateY(-0.7px)}36.8%{transform:translateY(0px)}37.45%{transform:translateY(-0.7px)}38.1%{transform:translateY(0px)}38.75%{transform:translateY(-0.7px)}40%{transform:translateY(0)}41%{transform:translateY(0.63px)}42.4%{transform:translateY(0)}100%{transform:translateY(0)}}
@keyframes bic-cartbob{0%,57%{transform:translateY(0)}57.5%{transform:translateY(-1.1px)}58%{transform:translateY(0px)}58.5%{transform:translateY(-1.1px)}59%{transform:translateY(0px)}59.5%{transform:translateY(-1.1px)}60%{transform:translateY(0px)}60.5%{transform:translateY(-1.1px)}61%{transform:translateY(0px)}61.5%{transform:translateY(-1.1px)}62%{transform:translateY(0px)}62.5%{transform:translateY(-1.1px)}63%{transform:translateY(0px)}63.5%{transform:translateY(-1.1px)}64%{transform:translateY(0px)}64.5%{transform:translateY(-1.1px)}65%{transform:translateY(0px)}65.5%{transform:translateY(-1.1px)}66%{transform:translateY(0px)}66.5%{transform:translateY(-1.1px)}67%{transform:translateY(0px)}68%{transform:translateY(0)}69%{transform:translateY(0.99px)}70.4%{transform:translateY(0)}100%{transform:translateY(0)}}
@keyframes bic-stepbob{0%,48%{transform:translateY(0)}48.75%{transform:translateY(-1.2px)}49.5%{transform:translateY(0px)}50.25%{transform:translateY(-1.2px)}51%{transform:translateY(0px)}51.75%{transform:translateY(-1.2px)}52.5%{transform:translateY(0px)}54%{transform:translateY(0)}100%{transform:translateY(0)}}
@keyframes bic-chip-home{0%,8%{opacity:0;transform:translateY(7px)}10%{opacity:1;transform:translateY(0)}92%{opacity:1;transform:translateY(0)}95.5%,100%{opacity:0;transform:translateY(4px)}}
@keyframes bic-dot-home{0%,8%{opacity:0;transform:scale(.3)}10%{opacity:1;transform:scale(1)}92%{opacity:1;transform:scale(1)}95.5%,100%{opacity:0;transform:scale(.3)}}
.bic-run .bic-chip-home .bic-chipin{animation-name:bic-chip-home}
.bic-run .bic-link-home::before{animation-name:bic-dot-home}
@keyframes bic-chip-life{0%,22%{opacity:0;transform:translateY(7px)}24%{opacity:1;transform:translateY(0)}92%{opacity:1;transform:translateY(0)}95.5%,100%{opacity:0;transform:translateY(4px)}}
@keyframes bic-dot-life{0%,22%{opacity:0;transform:scale(.3)}24%{opacity:1;transform:scale(1)}92%{opacity:1;transform:scale(1)}95.5%,100%{opacity:0;transform:scale(.3)}}
.bic-run .bic-chip-life .bic-chipin{animation-name:bic-chip-life}
.bic-run .bic-link-life::before{animation-name:bic-dot-life}
@keyframes bic-chip-auto{0%,39.5%{opacity:0;transform:translateY(7px)}41.5%{opacity:1;transform:translateY(0)}92%{opacity:1;transform:translateY(0)}95.5%,100%{opacity:0;transform:translateY(4px)}}
@keyframes bic-dot-auto{0%,39.5%{opacity:0;transform:scale(.3)}41.5%{opacity:1;transform:scale(1)}92%{opacity:1;transform:scale(1)}95.5%,100%{opacity:0;transform:scale(.3)}}
.bic-run .bic-chip-auto .bic-chipin{animation-name:bic-chip-auto}
.bic-run .bic-link-auto::before{animation-name:bic-dot-auto}
@keyframes bic-chip-food{0%,51%{opacity:0;transform:translateY(7px)}53%{opacity:1;transform:translateY(0)}92%{opacity:1;transform:translateY(0)}95.5%,100%{opacity:0;transform:translateY(4px)}}
@keyframes bic-dot-food{0%,51%{opacity:0;transform:scale(.3)}53%{opacity:1;transform:scale(1)}92%{opacity:1;transform:scale(1)}95.5%,100%{opacity:0;transform:scale(.3)}}
.bic-run .bic-chip-food .bic-chipin{animation-name:bic-chip-food}
.bic-run .bic-link-food::before{animation-name:bic-dot-food}
@keyframes bic-chip-cart{0%,67%{opacity:0;transform:translateY(7px)}69%{opacity:1;transform:translateY(0)}92%{opacity:1;transform:translateY(0)}95.5%,100%{opacity:0;transform:translateY(4px)}}
@keyframes bic-dot-cart{0%,67%{opacity:0;transform:scale(.3)}69%{opacity:1;transform:scale(1)}92%{opacity:1;transform:scale(1)}95.5%,100%{opacity:0;transform:scale(.3)}}
.bic-run .bic-chip-cart .bic-chipin{animation-name:bic-chip-cart}
.bic-run .bic-link-cart::before{animation-name:bic-dot-cart}
