:root{
  --bg:#f5f9ff;
  --panel:#ffffff;
  --panel2:#eaf2ff;
  --ink:#002668;
  --muted:#60729b;
  --mint:#e30a18;
  --cyan:#e30a18;
  --violet:#0d4aa2;
  --purple:#002668;
  --line:rgba(0,38,104,.14);
  --soft:rgba(0,38,104,.055);
  --danger:#d1070b;
  --radius:24px;
  --shadow:0 24px 70px rgba(0,38,104,.14)
}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400;font-display:swap;src:url("/funcube-assets/Instrument-Sans-Regular.woff2") format("woff2")}@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:500;font-display:swap;src:url("/funcube-assets/Instrument-Sans-500.woff2") format("woff2")}@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:600;font-display:swap;src:url("/funcube-assets/Instrument-Sans-600.woff2") format("woff2")}
html,body,button,input{font-family:"Instrument Sans",Arial,sans-serif}body{color:var(--ink);background:linear-gradient(135deg,#f5f9ff 0%,#fff 48%,#fff4f2 100%);background-attachment:fixed}
.lab-bg:before{background-image:linear-gradient(rgba(0,38,104,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,38,104,.035) 1px,transparent 1px);mask-image:none}
.lab-bg i{filter:blur(110px);opacity:.12}.lab-bg i:nth-child(1){background:#e30a18}.lab-bg i:nth-child(2){background:#6e9ce0}.lab-bg i:nth-child(3){background:#0d4aa2}
.cube-rain{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.cube-rain i{position:absolute;width:22px;height:22px;border-radius:5px;background:#e30a18;opacity:.11;transform:rotate(18deg);animation:cube-float 11s ease-in-out infinite}.cube-rain i:nth-child(1){left:4%;top:18%}.cube-rain i:nth-child(2){left:18%;top:72%;width:14px;height:14px;animation-delay:-5s;background:#002668}.cube-rain i:nth-child(3){left:46%;top:8%;width:16px;height:16px;animation-delay:-2s;background:#6e9ce0}.cube-rain i:nth-child(4){right:28%;top:62%;animation-delay:-8s}.cube-rain i:nth-child(5){right:7%;top:25%;width:17px;height:17px;animation-delay:-3s;background:#002668}.cube-rain i:nth-child(6){right:15%;bottom:8%;width:28px;height:28px;animation-delay:-6s;background:#e30a18}
.topbar{height:76px;background:rgba(255,255,255,.9);border-color:rgba(0,38,104,.12);box-shadow:0 12px 40px rgba(0,38,104,.08)}
.brand{color:#002668;font-size:25px;font-weight:600;gap:12px}.brand img{width:58px;height:auto;display:block}.brand strong{font-weight:600;letter-spacing:-.04em}.brand b{color:#e30a18;text-shadow:none}.brand-mark{position:relative;width:43px;height:39px;border:0;border-radius:9px;color:transparent;background:#002668;box-shadow:0 8px 18px rgba(0,38,104,.18);transform:rotate(-3deg)}.brand-mark>i{position:absolute;width:10px;height:10px;border-radius:2px;background:#fff;transform:rotate(0)}.brand-mark>i:nth-child(1){left:8px;top:8px}.brand-mark>i:nth-child(2){right:8px;top:8px;background:#e30a18}.brand-mark>i:nth-child(3){left:50%;bottom:7px;transform:translateX(-50%);background:#e30a18}.main-nav a{color:#52658f}.main-nav a:hover{color:#e30a18}.pilot{color:#60729b;border-color:rgba(0,38,104,.14);background:#f5f9ff}.pilot b{color:#002668}.pilot span{background:#e30a18;box-shadow:0 0 0 4px rgba(227,10,24,.13)}
.hero{min-height:680px}.hero-copy{padding-top:12px}.hero-brand{position:relative;display:flex;align-items:center;gap:clamp(18px,2vw,30px);width:max-content;max-width:100%;margin:0 0 14px;padding:10px 20px 10px 12px;color:#002668;font-size:clamp(62px,7vw,112px);font-weight:600;line-height:.88;letter-spacing:-.07em}.hero-brand img{width:clamp(105px,11vw,166px);height:auto;filter:drop-shadow(0 10px 20px rgba(0,38,104,.12))}.hero-brand strong{font-weight:600}.hero-brand:before,.hero-brand:after{content:"";position:absolute;width:40px;height:40px}.hero-brand:before{left:0;bottom:-4px;border-left:3px solid #e30a18;border-bottom:3px solid #e30a18}.hero-brand:after{right:0;top:-4px;border-right:3px solid #e30a18;border-top:3px solid #e30a18}.hero-brand i{position:absolute;right:-18px;bottom:8px;width:16px;height:16px;background:#e30a18;transform:rotate(14deg);animation:cube-pop 2.4s ease-in-out infinite}.eyebrow{color:#e30a18}.hero h1{color:#002668;font-size:clamp(40px,4.2vw,66px)}.hero h1 em{color:#e30a18;background:none;filter:none}.lead{color:#60729b}.primary,.gift-action{color:#fff;background:#e30a18;box-shadow:0 14px 32px rgba(227,10,24,.2)}.primary:hover,.gift-action:hover{box-shadow:0 18px 40px rgba(227,10,24,.28)}.ghost{color:#002668;border-color:rgba(0,38,104,.16);background:#fff}.hero-note{color:#7383a5}
.lab-stage{height:480px;border:0;border-radius:32px;background:linear-gradient(145deg,#002668 0%,#0d4aa2 60%,#1f66bc 100%);box-shadow:0 30px 75px rgba(0,38,104,.27);overflow:visible;animation:stage-wiggle 7s ease-in-out infinite}.lab-stage:before{left:4%;right:4%;bottom:20px;height:116px;border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(0,24,70,.55));box-shadow:inset 0 0 22px rgba(255,255,255,.14),0 16px 35px rgba(0,0,0,.2)}.lab-stage:after{left:9%;right:9%;bottom:69px;height:5px;background:#e30a18;box-shadow:0 0 16px rgba(227,10,24,.65),0 43px 0 rgba(110,156,224,.9)}.hero-girl{right:7%;bottom:63px;width:47%;height:380px;border:5px solid #fff;border-radius:25px;box-shadow:11px 12px 0 #e30a18,0 25px 55px rgba(0,0,0,.32)}.system-card{left:5%;top:37px;padding:14px;color:#002668;border:0;border-radius:16px;background:#fff;box-shadow:8px 8px 0 rgba(227,10,24,.9);transform:rotate(-2deg);animation:card-bob 3.4s ease-in-out infinite}.system-card b{color:#e30a18}.system-card span{color:#52658f}.video-preview{left:7%;bottom:48px;border:5px solid #fff;border-radius:18px;background:#002668;box-shadow:-9px 10px 0 #e30a18,0 18px 45px rgba(0,0,0,.34);transform:rotate(1.5deg)}.video-preview figcaption b{color:#fff}.video-preview figcaption small{color:#c8d8f0}.play-dot{color:#fff;background:#e30a18}
.section-heading h2{color:#002668}.section-heading>p{color:#60729b}.gift-grid{gap:14px}.gift-card{min-height:320px;color:#002668;border:1px solid rgba(0,38,104,.13);border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(0,38,104,.08);transform:rotate(-.5deg)}.gift-card:nth-child(even){transform:rotate(.65deg)}.gift-card:before{background-image:radial-gradient(rgba(0,38,104,.09) 1px,transparent 1px);opacity:.38}.gift-card:hover{transform:translateY(-10px) rotate(1deg);box-shadow:0 22px 48px rgba(0,38,104,.14)}.gift-card.active{border:3px solid #002668;box-shadow:8px 9px 0 #e30a18,0 18px 44px rgba(0,38,104,.12)}.gift-photo{border-color:rgba(0,38,104,.12)}.gift-status{color:#fff;background:#e30a18}.gift-status.soon{color:#52658f;background:#eaf2ff}.gift-card p{color:#60729b}.surprise .gift-icon{color:#e30a18;text-shadow:none}
.gift-grid-single{grid-template-columns:minmax(280px,430px);justify-content:center}.gift-grid-single .gift-card{width:100%;transform:rotate(0)}.gift-grid-single .gift-card:hover{transform:translateY(-8px) rotate(.5deg)}
.process-flow{position:relative;gap:58px;counter-reset:flow}.process-grid li{position:relative;overflow:visible;color:#002668;border:2px solid rgba(0,38,104,.12);border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(0,38,104,.08);animation:step-focus 6s ease-in-out infinite}.process-grid li:nth-child(1){border-top:7px solid #e30a18;animation-delay:0s}.process-grid li:nth-child(2){border-top:7px solid #002668;animation-delay:2s}.process-grid li:nth-child(3){border-top:7px solid #e30a18;animation-delay:4s}.process-flow li:not(:last-child):after{content:"→";position:absolute;z-index:4;right:-47px;top:50%;width:36px;color:#e30a18;font-size:34px;font-weight:600;line-height:1;text-align:center;transform:translateY(-50%);animation:arrow-travel 2s ease-in-out infinite}.process-flow li:nth-child(2):after{animation-delay:2s}.process-grid .step-number{color:#e30a18}.step-icon{color:#fff;border:0;background:#002668;box-shadow:6px 6px 0 rgba(227,10,24,.9)}.process-grid p{color:#60729b}.flow-label{display:inline-flex!important;margin-top:16px;padding:7px 11px;border-radius:999px;color:#fff!important;background:#e30a18;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.compact-heading{border-color:rgba(0,38,104,.12)}
.effect-card{color:#002668;border:3px solid #002668;border-radius:26px;background:#fff;box-shadow:10px 10px 0 #e30a18,0 25px 60px rgba(0,38,104,.12)}.effect-card:hover{border-color:#002668}.effect-badge{color:#fff;background:#e30a18}.effect-card p{color:#60729b}.effect-meta{color:#52658f}.loading-card,.empty-state{color:#60729b;border-color:rgba(0,38,104,.24);background:#fff}.empty-state span{color:#e30a18}.empty-state h3{color:#002668}.library-card{color:#002668;border-color:rgba(0,38,104,.13);background:#fff;box-shadow:0 14px 35px rgba(0,38,104,.09)}.library-preview{background:linear-gradient(135deg,#eaf2ff,#fff3f2)}.library-info p{color:#60729b}.library-progress{background:#eaf2ff}.library-progress i{background:linear-gradient(90deg,#e30a18,#0d4aa2)}
footer{color:#7180a0;border-color:rgba(0,38,104,.12);background:#fff}footer nav a{color:#52658f}
dialog{color:#002668;border:3px solid #002668;border-radius:25px;background:#fff;box-shadow:12px 12px 0 #e30a18,0 35px 120px rgba(0,38,104,.28)}dialog::backdrop{background:rgba(0,25,70,.62)}dialog h2{color:#002668}.dialog-description,.consent,.job-note,.upload-note,.identity-upload-copy span{color:#60729b}.close{color:#002668;border-color:rgba(0,38,104,.15);background:#eaf2ff}.upload-zone{color:#002668;border-color:rgba(0,38,104,.3);background:#f5f9ff}.upload-primary{border-color:#e30a18;background:#fff5f4}.upload-icon{color:#e30a18}.upload-zone small{color:#60729b}.consent input{accent-color:#e30a18}.estimate{color:#60729b;background:#f5f9ff}.estimate strong{color:#002668}.loader-ring{background:conic-gradient(#e30a18 var(--p,5%),#eaf2ff 0)}.loader-ring:after{background:#fff}.progress-track{background:#eaf2ff}.progress-track i{background:linear-gradient(90deg,#e30a18,#0d4aa2)}.job-result video,.job-result img{background:#eaf2ff}
.legal-page h1,.legal-page section h2{color:#002668}.legal-lead,.legal-page section p{color:#60729b}.legal-page section{border-color:rgba(0,38,104,.13)}
@keyframes cube-float{0%,100%{transform:translateY(0) rotate(18deg)}50%{transform:translateY(-28px) rotate(110deg)}}@keyframes cube-pop{0%,100%{transform:translateY(0) rotate(14deg) scale(1)}50%{transform:translateY(-10px) rotate(52deg) scale(1.15)}}@keyframes card-bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes stage-wiggle{0%,100%{transform:rotate(0)}50%{transform:rotate(.35deg)}}@keyframes step-focus{0%,24%,100%{transform:translateY(0);box-shadow:0 14px 36px rgba(0,38,104,.08)}8%,16%{transform:translateY(-9px);box-shadow:0 20px 44px rgba(227,10,24,.2)}}@keyframes arrow-travel{0%,100%{opacity:.28;transform:translate(-8px,-50%) scale(.85)}45%{opacity:1;transform:translate(5px,-50%) scale(1.15)}}
@media(max-width:850px){.lab-stage{overflow:hidden}.hero-girl{box-shadow:7px 8px 0 #e30a18,0 20px 45px rgba(0,0,0,.28)}.video-preview{box-shadow:-6px 7px 0 #e30a18,0 16px 38px rgba(0,0,0,.3)}.hero-brand{font-size:clamp(52px,12vw,82px)}.hero-brand img{width:clamp(90px,20vw,130px)}.process-flow{gap:42px}.process-flow li:not(:last-child):after{right:auto;left:50%;top:auto;bottom:-42px;transform:translateX(-50%) rotate(90deg)}@keyframes arrow-travel{0%,100%{opacity:.28;transform:translate(-50%,-7px) rotate(90deg) scale(.85)}45%{opacity:1;transform:translate(-50%,6px) rotate(90deg) scale(1.15)}}}
@media(max-width:600px){.brand{font-size:20px}.brand img{width:46px}.brand-mark{width:37px;height:34px}.hero-brand{font-size:clamp(43px,12vw,62px);gap:12px;padding-left:8px}.hero-brand img{width:78px}.lab-stage{height:410px}.hero-girl{height:315px}.gift-card.active{box-shadow:5px 6px 0 #e30a18}.effect-card{box-shadow:6px 7px 0 #e30a18}}
@media(prefers-reduced-motion:reduce){.cube-rain i,.hero-brand i,.lab-stage,.system-card,.process-grid li,.process-flow li:after{animation:none}}

/* Independent gift variants */
.gift-grid-variants{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-inline:auto;gap:24px}.gift-grid-variants .gift-photo{height:260px;position:relative;z-index:1}.gift-grid-variants .gift-photo video{width:100%;height:100%;object-fit:contain;background:#201a1a}.wine-card.active,.effect-card[data-effect="mini-red-wine"]{border-color:#002668}.wine-card .gift-status,.wine-card .gift-action{background:#e30a18;color:#fff}@media(max-width:700px){.gift-grid-variants{grid-template-columns:minmax(0,1fr)}}
