.campaign-scene img{translate:var(--pointer-x,0) var(--pointer-y,0);transition:translate 1.2s ease-out}.hero.cinematic:after{content:'';position:absolute;inset:116px 0 0;background:radial-gradient(circle 210px at var(--spot-x,70%) var(--spot-y,45%),#ffffff38,transparent);pointer-events:none;z-index:2}.campaign-note{position:absolute;right:7vw;bottom:100px;display:flex;align-items:center;gap:15px;max-width:330px;padding:20px 25px;border-radius:20px;border:1px solid #ffffffeb;background:linear-gradient(120deg,#ffffffed,#f1eafa99);box-shadow:0 20px 60px #354e7b20;backdrop-filter:blur(20px);z-index:5;pointer-events:none;transform:rotate(-2deg)}.campaign-note strong{display:block;color:#233e8b;font-size:15px;font-weight:700}.campaign-note small{display:block;margin-top:6px;font-size:11px;color:#62718b}.note-symbol{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#fff;background:linear-gradient(135deg,#3db2ff,#8a79bd);box-shadow:0 7px 17px #6976ad33;font-size:21px}.campaign-note.note-enter{animation:noteReveal .8s .45s both, noteBob 6s 1.25s ease-in-out infinite}.campaign-counter{font-variant-numeric:tabular-nums;font-size:11px;font-weight:700;letter-spacing:.08em;color:#233e8b;margin-right:8px}.campaign-pause{border:1px solid #233e8b25;border-radius:50%;width:34px;height:34px;background:#ffffff90;color:#233e8b;cursor:pointer;font-weight:700;margin-left:8px}.campaign-pause:hover{background:#fff}.hero-dots{gap:8px}.hero-dots button,.hero-dots button.active{width:44px;height:4px;min-height:4px;border-radius:5px;position:relative;background:#233e8b25}.hero-dots button:before{content:'';position:absolute;inset:-16px 0}.hero-dots button.active:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#3db2ff,#9282bd);border-radius:inherit;animation:slideProgress 6.5s linear both;transform-origin:left}.hero:hover .hero-dots button.active:after,.hero:focus-within .hero-dots button.active:after,.autoplay-paused .hero-dots button.active:after{animation-play-state:paused}.hero .actions .primary{position:relative;overflow:hidden}.hero .actions .primary:before{content:'';position:absolute;width:45px;height:180%;top:-40%;left:-80px;background:linear-gradient(90deg,transparent,#ffffff75,transparent);transform:rotate(25deg);animation:buttonShine 8s 2s infinite}.hero .actions .primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #3db2ff45}@keyframes noteReveal{from{opacity:0;translate:0 25px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes noteBob{50%{translate:0 -9px;rotate:2deg}}@keyframes slideProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes buttonShine{0%,75%{left:-80px}100%{left:120%}}
@media(max-width:1100px){.campaign-counter{display:none}.campaign-note{right:4vw;bottom:90px;padding:16px 20px;max-width:290px}.campaign-note strong{font-size:13px}}
@media(max-width:900px){.campaign-note{bottom:95px;right:24px;max-width:270px;padding:13px 16px;border-radius:16px}.campaign-note small{font-size:10px}.note-symbol{width:32px;height:32px}.hero-controls{gap:10px}.hero-dots button,.hero-dots button.active{width:30px}.hero.cinematic:after{inset:84px 0 0}.campaign-pause{margin-left:0}}
.hero-slide :is(h1,h2.hero-slide-heading),.hero-slide :is(h1,h2.hero-slide-heading) em{color:#122a50;text-shadow:none}.hero-slide .hero-intro{color:#26374c;font-weight:500}.hero-slide .eyebrow{color:#234b78;font-weight:700}.campaign-colour{background:linear-gradient(90deg,#f2f1f8f5 0%,#f2f1f8d9 31%,#f2f1f860 46%,transparent 65%)}.campaign-scene[data-campaign="1"] .campaign-colour{background:linear-gradient(100deg,#decaf3f5 0%,#e3d2f3e6 31%,#e3d2f36b 47%,transparent 68%)}.campaign-scene[data-campaign="2"] .campaign-colour{background:linear-gradient(90deg,#eeedf5fa 0%,#eeedf5e8 32%,#eeedf56b 48%,transparent 70%)}.hero-slide.active :is(h1,h2.hero-slide-heading) span,.hero-slide.active :is(h1,h2.hero-slide-heading) em{animation:clearHeadline .55s ease both}.hero-slide.active .hero-intro{animation:clearHeadline .6s .08s ease both}.hero .actions .primary{background:#206db7;color:#fff}.hero .actions .primary:hover{background:#185b9c}.hero-slide :is(h1,h2.hero-slide-heading){letter-spacing:-.035em}.hero-controls{margin-top:12px}.hero-slides{min-height:330px}.campaign-note{bottom:85px}@keyframes clearHeadline{from{opacity:.45;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:900px){.hero-slide .hero-intro{color:#24354b}.hero-slides{min-height:310px}.campaign-colour{background:linear-gradient(180deg,#f2f1f8 0%,#f2f1f8fa 40%,#f2f1f84d 70%,transparent 85%)}.campaign-scene[data-campaign="1"] .campaign-colour{background:linear-gradient(180deg,#deccf1 0%,#deccf1f5 40%,#deccf14d 70%,transparent 85%)}.campaign-scene[data-campaign="2"] .campaign-colour{background:linear-gradient(180deg,#eeedf5 0%,#eeedf5f5 40%,#eeedf54d 70%,transparent 85%)}}
.hero[data-current-slide="0"] .ring-one{border-color:#a3d6ff;box-shadow:inset 4px 4px 16px #fff9,0 0 30px #77b4ed35}.hero[data-current-slide="1"] .ring-one{border-color:#c1a8e5;animation-direction:reverse}.hero[data-current-slide="1"] .campaign-note{background:linear-gradient(120deg,#fffffff2,#e7dcf5ce)}.hero[data-current-slide="1"] .note-symbol{background:linear-gradient(135deg,#9881bf,#6c72b5)}.hero[data-current-slide="2"] .campaign-note{background:linear-gradient(120deg,#fffffff2,#ececf5ce)}.hero[data-current-slide="2"] .ring-two{border-color:#ead3bd}.hero[data-current-slide="2"] .spark-two{color:#ffcb88;text-shadow:0 0 20px #f1ba68}.campaign-scene[data-campaign="1"].active img{animation:lavenderDrift 12s linear infinite alternate}.campaign-scene[data-campaign="2"].active img{animation:businessDrift 12s linear infinite alternate}@keyframes lavenderDrift{from{transform:scale(1.035) translateX(0)}to{transform:scale(1.07) translateX(-.7%)}}@keyframes businessDrift{from{transform:scale(1.055) translateY(.5%)}to{transform:scale(1.015) translateY(-.5%)}}
@media(prefers-reduced-motion:reduce){.campaign-note.note-enter,.hero-dots button.active:after,.hero .actions .primary:before{animation:none!important}.campaign-scene img{translate:0 0!important;transition:none;animation:none!important}.hero-dots button.active:after{transform:none}}
