@font-face{font-family:Kalameh;src:url('../assets/KalamehWeb-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Kalameh;src:url('../assets/KalamehWeb-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Kalameh;src:url('../assets/KalamehWeb-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap}

:root{--green:#007063;--green-2:#00a48b;--deep:#062824;--dark:#06483f;--soft:#e5f3f0;--gold:#d2ab67;--gold-soft:#fff5df;--ink:#101827;--muted:#667085;--line:#d9e5e2;--bg:#f3f7f6;--danger:#b42318;--shadow:0 30px 90px rgba(4,44,40,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 4% 5%,rgba(210,171,103,.15),transparent 27%),radial-gradient(circle at 90% 10%,rgba(0,164,139,.09),transparent 25%),var(--bg);color:var(--ink);font-family:Kalameh,Tahoma,sans-serif;font-weight:500;line-height:1.8}button,a,input,label{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:3px solid rgba(210,171,103,.48);outline-offset:3px}[hidden]{display:none!important}
.raffle-header{width:min(1240px,calc(100% - 48px));height:86px;margin:auto;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.raffle-header>a:first-child{display:flex;width:max-content}.raffle-header img{width:118px;height:auto}.raffle-header>span{color:var(--green);font:800 .58rem system-ui;letter-spacing:.14em}.raffle-header>a:last-child{justify-self:end;display:flex;align-items:center;gap:8px;color:var(--dark);font-size:.74rem;text-decoration:none}.raffle-header svg{width:16px}
.raffle-shell{width:min(1240px,calc(100% - 48px));margin:34px auto 74px;display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:stretch}.prize-panel,.registration{position:relative;border:1px solid rgba(0,112,99,.14);border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}.prize-panel{min-height:820px;padding:56px 50px;background:linear-gradient(150deg,#fff 0%,#f1faf7 50%,#d9eee9 100%);isolation:isolate}.prize-panel:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(0,112,99,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,112,99,.055) 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(#000,transparent 80%)}.eyebrow{margin:0;color:var(--green);font:800 .59rem system-ui;letter-spacing:.14em}.prize-copy{position:relative;z-index:3}.prize-copy h1{margin:15px 0 20px;font-size:clamp(3rem,5.3vw,5.7rem);line-height:1.02;letter-spacing:-.055em}.prize-copy h1 em{color:var(--green);font-style:normal;font-weight:300}.prize-copy>p:not(.eyebrow){max-width:590px;margin:0;color:var(--muted);font-size:.91rem;line-height:2}.prize-copy>p b{color:var(--dark)}
.phone-stage{position:relative;height:430px;margin-top:22px}.orbit{position:absolute;right:50%;border:1px solid rgba(0,112,99,.16);border-radius:50%;transform:translateX(50%)}.orbit-a{width:390px;height:390px;bottom:10px}.orbit-b{width:290px;height:290px;bottom:60px;border-style:dashed;border-color:rgba(210,171,103,.5);animation:raffleOrbit 16s linear infinite}.orbit-c{width:190px;height:190px;bottom:110px}.phone-shadow{position:absolute;right:50%;bottom:13px;width:310px;height:42px;border-radius:50%;background:rgba(4,35,32,.2);filter:blur(18px);transform:translateX(50%)}.phone-product{position:absolute;z-index:2;right:50%;bottom:15px;width:min(500px,94%);height:405px;object-fit:contain;filter:drop-shadow(0 28px 32px rgba(3,37,34,.25));transform:translateX(50%)}.prize-label{position:absolute;z-index:4;bottom:32px;left:20px;padding:13px 16px;border:1px solid rgba(255,255,255,.82);border-radius:17px;display:grid;background:rgba(255,255,255,.9);box-shadow:0 18px 40px rgba(4,52,47,.13);backdrop-filter:blur(14px)}.prize-label small{color:var(--green);font:800 .48rem system-ui;letter-spacing:.1em}.prize-label b{color:var(--deep);font:800 .78rem system-ui}.prize-label span{color:var(--muted);font-size:.55rem}
.campaign-points{position:relative;z-index:3;margin-top:6px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(0,112,99,.14);border-radius:19px;background:rgba(255,255,255,.75);overflow:hidden;backdrop-filter:blur(12px)}.campaign-points article{padding:13px;display:flex;align-items:flex-start;gap:8px;border-left:1px solid rgba(0,112,99,.12)}.campaign-points article:last-child{border-left:0}.campaign-points svg{flex:0 0 auto;width:18px;color:var(--green)}.campaign-points span{display:grid}.campaign-points b{color:var(--dark);font-size:.63rem}.campaign-points small{color:var(--muted);font-size:.51rem;white-space:nowrap}
.registration{min-height:820px;padding:30px;background:#fff}.registration-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.registration-head span{color:var(--green);font:800 .55rem system-ui;letter-spacing:.12em}.registration-head h2{margin:4px 0 0;font-size:1.55rem}.registration-head>b{flex:0 0 auto;padding:7px 11px;border-radius:99px;background:var(--soft);color:var(--green);font-size:.62rem}.registration-head>b i{display:inline-block;width:6px;height:6px;margin-inline-end:5px;border-radius:50%;background:currentColor}.registration-head>b[data-mode="loading"] i{animation:badgePulse 1s infinite}.registration-head>b[data-mode="test"]{background:#fff4dc;color:#8b5e13}.registration-head>b[data-mode="error"]{background:#fff0ed;color:var(--danger)}
.entry-steps{margin:28px 0 30px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);position:relative}.entry-steps:before{content:"";position:absolute;top:17px;right:16%;left:16%;height:1px;background:var(--line)}.entry-steps li{position:relative;z-index:1;display:grid;justify-items:center;gap:4px;color:#98a2b3;font-size:.58rem}.entry-steps li b{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;font:800 .58rem system-ui}.entry-steps li.is-current,.entry-steps li.is-done{color:var(--green)}.entry-steps li.is-current b{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 0 0 5px rgba(0,112,99,.08)}.entry-steps li.is-done b{border-color:#9bcfc7;background:var(--soft);color:var(--green)}
.form-alert{margin-bottom:14px;padding:11px 13px;border:1px solid #f4c7c2;border-radius:13px;background:#fff4f2;color:#8b2f28;font-size:.64rem}.form-alert[data-type="success"]{border-color:#afe0c2;background:#effaf3;color:#186a3b}.entry-form{display:grid;gap:13px}.form-intro{margin-bottom:3px}.form-intro>span{color:var(--green);font-size:.59rem;font-weight:800}.form-intro h3{margin:2px 0;font-size:1.3rem}.form-intro p{margin:0;color:var(--muted);font-size:.66rem}.form-intro p b{color:var(--dark)}.field{display:grid;gap:6px}.field>span{color:var(--dark);font-size:.65rem;font-weight:800}.field>div{height:57px;padding:0 13px;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;background:#fbfdfc;transition:.18s}.field:focus-within>div{border-color:var(--green);box-shadow:0 0 0 3px rgba(0,112,99,.08)}.field svg{width:18px;color:var(--green)}.field input{width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--ink);font:700 .85rem system-ui;text-align:left}.field>div>b{padding-right:9px;border-right:1px solid var(--line);color:var(--muted);font:700 .63rem system-ui;direction:ltr}.field>small{color:var(--muted);font-size:.53rem}.website-field{position:absolute;left:-9999px}.check-row{padding:11px 12px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:flex-start;gap:9px;background:#fff;cursor:pointer}.check-row input{flex:0 0 auto;width:17px;height:17px;margin-top:4px;accent-color:var(--green)}.check-row span{display:grid}.check-row b{color:var(--dark);font-size:.61rem}.check-row small{color:var(--muted);font-size:.52rem}.check-row.optional{background:#f7faf9}.submit-button{min-height:55px;padding:0 18px;border:0;border-radius:15px;display:flex;align-items:center;justify-content:space-between;background:var(--green);color:#fff;font-weight:800;font-size:.7rem;cursor:pointer;box-shadow:0 15px 30px rgba(0,112,99,.19)}.submit-button:hover{background:var(--dark)}.submit-button:disabled{opacity:.55;cursor:wait}.submit-button svg{width:18px}.form-boundary{margin:1px 0 0;padding:11px;border-radius:12px;display:flex;align-items:flex-start;gap:8px;background:#fff7e7;color:#735b31;font-size:.55rem;line-height:1.7}.form-boundary svg{flex:0 0 auto;width:16px;color:#9a6b17}.text-button{min-height:40px;border:0;background:transparent;color:var(--green);font-size:.61rem;font-weight:800;cursor:pointer}.text-button:disabled{color:#98a2b3;cursor:not-allowed}.otp-field input{font-size:1.35rem;letter-spacing:.34em;text-align:center}.otp-field>div>b{min-width:54px;color:var(--green);font:800 .66rem system-ui;direction:ltr}.test-code{padding:13px;border:1px solid rgba(210,171,103,.52);border-radius:14px;display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--gold-soft)}.test-code span{color:#725b32;font-size:.61rem;font-weight:800}.test-code b{color:var(--deep);font:800 1.05rem system-ui;letter-spacing:.13em}.test-code small{grid-column:1/-1;color:#8a7044;font-size:.52rem}
.success-panel{text-align:center}.success-icon{width:76px;height:76px;margin:12px auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--green);box-shadow:0 0 0 9px rgba(0,112,99,.06)}.success-icon svg{width:31px}.success-panel>span{color:var(--green);font:800 .55rem system-ui;letter-spacing:.13em}.success-panel h3{margin:5px 0;font-size:1.8rem}.success-panel>p{margin:0 auto 18px;max-width:390px;color:var(--muted);font-size:.7rem}.ticket-card{margin:0 0 14px;padding:23px;border:1px dashed var(--gold);border-radius:18px;display:grid;background:linear-gradient(145deg,#fffaf0,#f5fbf9);position:relative;overflow:hidden}.ticket-card:after{content:"";position:absolute;top:-23px;left:-23px;width:85px;height:85px;border:16px solid rgba(0,112,99,.05);border-radius:50%}.ticket-card small{color:#725b32;font-size:.59rem}.ticket-card strong{margin:5px 0;color:var(--deep);font:800 1.6rem system-ui;letter-spacing:.08em}.ticket-card span{color:var(--muted);font:700 .65rem system-ui}.success-panel .submit-button{width:100%}.back-link{display:inline-block;margin-top:15px;color:var(--green);font-size:.63rem;text-decoration:none}.registration-footer{position:absolute;right:30px;bottom:25px;left:30px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:.55rem}.registration-footer svg{flex:0 0 auto;width:17px;color:var(--green)}.registration-footer b{color:var(--dark)}
.terms-dialog{width:min(500px,calc(100% - 28px));padding:32px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.terms-dialog::backdrop{background:rgba(2,28,25,.62);backdrop-filter:blur(5px)}.terms-dialog>button:first-child{position:absolute;top:16px;left:16px;width:38px;height:38px;border:0;border-radius:11px;display:grid;place-items:center;background:var(--soft);color:var(--green)}.terms-dialog svg{width:18px}.terms-dialog h2{margin:5px 0 15px}.terms-dialog ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.terms-dialog li{padding:10px 22px 10px 10px;position:relative;border-radius:10px;background:#f7faf9;color:var(--muted);font-size:.65rem}.terms-dialog li:before{content:"";position:absolute;right:9px;top:19px;width:5px;height:5px;border-radius:50%;background:var(--green)}.dialog-accept{width:100%;min-height:48px;margin-top:16px;border:0;border-radius:13px;background:var(--green);color:#fff;font-weight:800}
.terms-link{margin-top:-7px;border:0;background:transparent;color:var(--green);font-size:.56rem;font-weight:800;text-align:right;cursor:pointer}
@keyframes raffleOrbit{to{transform:translateX(50%) rotate(1turn)}}@keyframes badgePulse{50%{box-shadow:0 0 0 6px rgba(0,112,99,.12)}}
@media(max-width:980px){.raffle-shell{grid-template-columns:1fr}.prize-panel{min-height:760px}.registration{min-height:790px;max-width:680px;width:100%;margin:auto}}
@media(max-width:620px){.raffle-header{width:calc(100% - 24px);height:70px;grid-template-columns:1fr auto}.raffle-header>span{display:none}.raffle-header>a:last-child{font-size:0}.raffle-header svg{width:20px}.raffle-shell{width:calc(100% - 24px);margin:16px auto 42px;gap:14px}.prize-panel,.registration{border-radius:23px}.prize-panel{min-height:720px;padding:34px 24px}.prize-copy h1{font-size:3rem}.prize-copy>p:not(.eyebrow){font-size:.78rem}.phone-stage{height:375px}.phone-product{bottom:20px;width:112%;max-width:450px;height:330px}.phone-shadow{bottom:19px;width:240px}.orbit-a{width:320px;height:320px}.orbit-b{width:240px;height:240px}.orbit-c{width:160px;height:160px}.prize-label{left:0}.campaign-points{grid-template-columns:1fr}.campaign-points article{border-left:0;border-bottom:1px solid rgba(0,112,99,.12)}.campaign-points article:last-child{border-bottom:0}.registration{min-height:820px;padding:20px 17px}.registration-head h2{font-size:1.2rem}.registration-head>b{padding:6px 8px}.entry-steps{margin-block:24px}.form-intro h3{font-size:1.12rem}.registration-footer{right:17px;bottom:18px;left:17px}.success-panel h3{font-size:1.55rem}.ticket-card strong{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
