:root{
  --teal:#08aaa2;--teal-2:#0dc2b7;--teal-dark:#087c77;--lime:#cde31b;--ink:#173239;
  --muted:#63777a;--line:#dfeaea;--soft:#f3fbfa;--white:#fff;--danger:#b93838;
  --shadow:0 24px 70px rgba(15,91,88,.13);--shadow-soft:0 12px 32px rgba(15,91,88,.10)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,#f8fcfc 0,#edf8f7 100%);min-height:100vh;overflow-x:hidden}
.page-bg{position:fixed;inset:0;pointer-events:none;z-index:-2;overflow:hidden;background:linear-gradient(180deg,#f8fcfc,#eef9f7)}
.grid-glow{position:absolute;inset:0;background-image:linear-gradient(rgba(8,170,162,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(8,170,162,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 75%)}
.orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.65}
.orb-a{width:440px;height:440px;background:radial-gradient(circle,rgba(8,170,162,.24),rgba(8,170,162,0) 68%);left:-160px;top:-120px;animation:orbOne 16s ease-in-out infinite alternate}
.orb-b{width:390px;height:390px;background:radial-gradient(circle,rgba(205,227,27,.22),rgba(205,227,27,0) 68%);right:-130px;top:-80px;animation:orbTwo 14s ease-in-out infinite alternate}
.orb-c{width:520px;height:520px;background:radial-gradient(circle,rgba(8,170,162,.12),rgba(8,170,162,0) 68%);right:6%;bottom:-290px;animation:orbOne 20s ease-in-out infinite alternate-reverse}
.shell{width:min(1120px,calc(100% - 28px));margin:34px auto 52px}
.card{background:rgba(255,255,255,.94);border:1px solid rgba(8,124,119,.11);border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(10px)}
.hero{padding:28px 30px 30px;overflow:hidden;position:relative;isolation:isolate}
.hero:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:linear-gradient(135deg,rgba(8,170,162,.10),rgba(205,227,27,.16));right:-100px;top:-120px;z-index:-1;animation:softFloat 8s ease-in-out infinite}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}
.brand-logo{width:min(360px,62vw);height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(13,111,106,.08))}
.event-badge{font-size:12px;font-weight:800;letter-spacing:.08em;background:#e9fbf9;color:var(--teal-dark);border:1px solid #c7efeb;padding:9px 13px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 8px 22px rgba(8,170,162,.08)}
.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(8,170,162,.4);animation:pulseDot 2s infinite}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:30px;align-items:center;margin-top:26px;position:relative;z-index:1}
.hero-copy{margin:0 0 23px}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--teal-dark);margin:0 0 8px;text-transform:uppercase}.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.02;margin:0 0 14px;letter-spacing:-.045em;max-width:760px}.hero h1 span{background:linear-gradient(100deg,var(--teal-dark),var(--teal),#9fb900);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:16px;color:var(--muted);margin:0;line-height:1.7;max-width:650px}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.event-item{display:flex;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fff,#fbfefe);transition:.25s ease}.event-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:#cfe7e5}.event-icon{width:39px;height:39px;border-radius:13px;background:linear-gradient(135deg,#ebf9f8,#f4fce8);display:grid;place-items:center;font-size:19px;flex:0 0 auto}.event-grid small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.event-grid strong{font-size:12.5px;line-height:1.42}.mode-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.mode-row span{font-size:11px;font-weight:700;color:#31595a;background:#f3fbfa;border:1px solid #dcefed;padding:8px 10px;border-radius:999px;transition:.2s}.mode-row span:hover{transform:translateY(-2px);background:#ecf9f7}.notice{margin-top:17px;padding:14px 15px;border-radius:16px;background:linear-gradient(135deg,#fffdec,#fffdf5);border:1px solid #eee19b;font-size:12.5px;line-height:1.6;display:flex;gap:11px;align-items:flex-start}.notice-icon{width:27px;height:27px;border-radius:10px;background:#f4df68;color:#554900;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.hero-preview{position:relative;min-height:370px;display:grid;place-items:center}.preview-frame{width:100%;max-width:470px;background:#0d2629;border:8px solid #0d2629;border-radius:22px;box-shadow:0 28px 55px rgba(17,63,64,.24);overflow:hidden;transform:perspective(1000px) rotateY(-5deg) rotateX(2deg);animation:deviceFloat 6.5s ease-in-out infinite;position:relative}.preview-topbar{height:32px;background:#102f32;display:flex;align-items:center;gap:6px;padding:0 10px;color:#a8c5c3;font-size:9px}.preview-topbar span{width:7px;height:7px;border-radius:50%;background:#608685}.preview-topbar em{font-style:normal;margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-image{width:100%;display:block;aspect-ratio:1.9/1;object-fit:cover}.preview-shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.12) 45%,transparent 63%);transform:translateX(-120%);animation:shine 5.8s ease-in-out infinite}.floating-chip{position:absolute;background:rgba(255,255,255,.95);border:1px solid #dceceb;border-radius:13px;padding:9px 11px;box-shadow:0 12px 30px rgba(16,88,84,.15);font-size:10px;font-weight:800;color:#275052;backdrop-filter:blur(8px);animation:chipFloat 4.5s ease-in-out infinite}.chip-one{left:-4px;top:36px}.chip-two{right:-5px;top:110px;animation-delay:.8s}.chip-three{left:20px;bottom:25px;animation-delay:1.5s}
.form-card,.success-card{padding:30px 32px;margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.section-heading h2,.success-card h2{margin:0;font-size:27px;letter-spacing:-.025em}.section-subtitle{font-size:12px;color:var(--muted);margin:7px 0 0}.required-note{font-size:10px;color:var(--muted);background:#f4f9f9;padding:7px 9px;border-radius:999px;border:1px solid #e2eeee}.form-progress{height:5px;background:#edf4f4;border-radius:99px;margin-bottom:24px;overflow:hidden}.form-progress span{display:block;height:100%;width:22%;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--lime));transition:width .45s cubic-bezier(.2,.8,.2,1)}.field-grid{display:grid;gap:16px}.field-grid.two{grid-template-columns:1fr 1fr}.field{display:block;margin-bottom:18px}.field>span{display:block;font-weight:700;font-size:13px;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);border:1px solid #cfdddd;background:#fbfefe;border-radius:14px;padding:13px 14px;outline:none;transition:.22s ease}.field textarea{resize:vertical;min-height:110px}.field input:hover,.field select:hover,.field textarea:hover{border-color:#acd9d5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(8,170,162,.10);background:#fff;transform:translateY(-1px)}.field small{display:block;margin-top:7px;color:var(--muted);font-size:11px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card{cursor:pointer;position:relative}.choice-card input{position:absolute;opacity:0;pointer-events:none}.choice-body{display:flex;flex-direction:column;gap:4px;padding:16px;border:1.5px solid #d7e5e4;border-radius:17px;background:#fff;min-height:120px;transition:.24s ease;position:relative;overflow:hidden}.choice-body:before{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-38px;top:-40px;background:rgba(8,170,162,.07);transition:.25s ease}.choice-card:hover .choice-body{transform:translateY(-3px);box-shadow:0 13px 26px rgba(8,126,120,.09);border-color:#c8e5e2}.choice-card input:checked+.choice-body{border-color:var(--teal);box-shadow:0 0 0 4px rgba(8,170,162,.09),0 12px 28px rgba(8,126,120,.10);background:linear-gradient(145deg,#f2fcfb,#fbfff4)}.choice-card input:checked+.choice-body:before{transform:scale(1.55);background:rgba(205,227,27,.13)}.choice-body strong{font-size:14px}.choice-body small{color:var(--muted);font-size:11px;line-height:1.4}.choice-icon{font-size:24px;margin-bottom:5px}.checkmark{position:absolute;right:12px;bottom:12px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-style:normal;font-size:11px;font-weight:800;transform:scale(0);opacity:0;transition:.2s}.choice-card input:checked+.choice-body .checkmark{transform:scale(1);opacity:1}.conditional-box{margin:2px 0 20px;padding:18px;border:1px solid #e7d789;border-radius:18px;background:linear-gradient(135deg,#fffdf2,#fffef9);animation:conditionalIn .34s ease}.conditional-title{display:flex;gap:10px;align-items:center;margin-bottom:16px}.conditional-title>span{width:36px;height:36px;border-radius:12px;background:#fff5bb;display:grid;place-items:center}.conditional-title strong{display:block;font-size:14px}.conditional-title small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.file-name{margin-top:8px;font-size:10px;color:var(--teal-dark);font-weight:700}.agreement{display:flex;gap:10px;align-items:flex-start;padding:15px;border-radius:15px;background:#f5f9f9;border:1px solid #e7efef;font-size:12px;line-height:1.55;margin:5px 0 20px;transition:.2s}.agreement:hover{background:#f0faf8}.agreement input{margin-top:3px;accent-color:var(--teal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:14px 18px;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;transition:.22s ease;position:relative;overflow:hidden}.btn.primary{width:100%;background:linear-gradient(110deg,var(--teal),#07968f 58%,#0cb9ae);background-size:180% 100%;color:#fff;box-shadow:0 12px 28px rgba(8,170,162,.25);animation:buttonGradient 7s ease infinite}.btn.primary:before{content:"";position:absolute;top:-50%;left:-30%;width:24%;height:200%;background:rgba(255,255,255,.18);transform:rotate(20deg) translateX(-200%);transition:.6s}.btn.primary:hover:before{transform:rotate(20deg) translateX(650%)}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 15px 32px rgba(8,170,162,.31)}.btn-arrow{font-size:19px;transition:.2s}.btn.primary:hover .btn-arrow{transform:translateX(4px)}.btn:disabled{opacity:.65;cursor:wait;transform:none}.btn.secondary{background:#edf8f7;color:var(--teal-dark);border:1px solid #d8ecea}.privacy{font-size:10px;color:#879698;text-align:center;margin:12px 0 0}.alert{padding:13px 15px;border-radius:12px;margin:-4px 0 18px;font-size:13px}.alert.error{background:#fff0f0;color:#8a2e2e;border:1px solid #f1c7c7}.success-card{text-align:center;position:relative;overflow:hidden}.success-ring{width:82px;height:82px;border-radius:50%;background:conic-gradient(var(--teal),var(--lime),var(--teal));display:grid;place-items:center;margin:0 auto 15px;animation:spinSlow 8s linear infinite}.success-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#078467;font-size:32px;font-weight:800}.receipt{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.receipt>div{border:1px solid var(--line);border-radius:15px;padding:14px;background:linear-gradient(180deg,#fff,#fbfefe)}.receipt span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.receipt strong{font-size:12px}.muted{color:var(--muted);font-size:12px}footer{text-align:center;color:#728689;font-size:11px;line-height:1.7;margin:25px 0}footer small{font-size:10px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.confetti{position:fixed;top:-20px;width:9px;height:16px;border-radius:2px;z-index:99;pointer-events:none;animation:confettiFall linear forwards}
@keyframes orbOne{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(70px,30px,0) scale(1.1)}}
@keyframes orbTwo{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-70px,55px,0) scale(.94)}}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(8,170,162,.45)}70%{box-shadow:0 0 0 8px rgba(8,170,162,0)}100%{box-shadow:0 0 0 0 rgba(8,170,162,0)}}
@keyframes deviceFloat{0%,100%{transform:perspective(1000px) rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:perspective(1000px) rotateY(-2deg) rotateX(1deg) translateY(-9px)}}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes shine{0%,55%{transform:translateX(-130%)}80%,100%{transform:translateX(150%)}}
@keyframes conditionalIn{from{opacity:0;transform:translateY(-8px) scale(.99)}to{opacity:1;transform:none}}
@keyframes buttonGradient{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes confettiFall{to{transform:translate3d(var(--x),105vh,0) rotate(720deg);opacity:.2}}
@media(max-width:920px){.shell{width:min(100% - 18px,1120px);margin-top:14px}.hero,.form-card,.success-card{padding:22px 18px;border-radius:22px}.hero-top{align-items:flex-start;flex-direction:column}.brand-logo{width:min(330px,90%)}.event-badge{font-size:10px}.hero-layout{grid-template-columns:1fr}.hero-preview{min-height:320px}.preview-frame{max-width:560px;transform:none;animation:softFloat 6.5s ease-in-out infinite}.event-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start;flex-direction:column;gap:7px}.hero h1{font-size:38px}.receipt{grid-template-columns:1fr}.chip-one{left:8px}.chip-two{right:8px}}
@media(max-width:700px){.event-grid,.field-grid.two,.choice-grid,.receipt{grid-template-columns:1fr}.hero-preview{min-height:240px}.floating-chip{font-size:9px;padding:8px 9px}.chip-one{top:20px}.chip-two{top:78px}.chip-three{bottom:8px}.preview-frame{border-width:6px;border-radius:18px}.hero h1{font-size:34px}.lead{font-size:14.5px}.mode-row{gap:6px}.mode-row span{font-size:10px}.receipt>div{text-align:left}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
