:root{
  --brown:#3f1d10;
  --brown-2:#5d2c16;
  --yellow:#f7b733;
  --yellow-2:#ffc95c;
  --cream:#fff8ee;
  --paper:#fffdf9;
  --ink:#241713;
  --muted:#77655c;
  --line:#eadfd4;
  --success:#2d8a57;
  --danger:#b63a3a;
  --shadow:0 24px 70px rgba(63,29,16,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input{font:inherit}
.container{width:min(1180px,calc(100% - 36px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(234,223,212,.8)}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:46px;max-width:190px;object-fit:contain}
.brand-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--brown);font-weight:900;font-size:22px;box-shadow:inset 0 0 0 4px #fff,0 0 0 2px var(--yellow)}
.brand span:last-child{display:flex;flex-direction:column;line-height:1.05}
.brand strong{font-size:22px}.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#a66a19;margin-top:4px;font-weight:800}
.nav-actions,.hero-cta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn{min-height:46px;padding:0 21px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;border:1px solid transparent;transition:.25s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brown);color:#fff;box-shadow:0 12px 25px rgba(63,29,16,.2)}
.btn-primary:hover{background:var(--brown-2)}
.btn-menu{background:linear-gradient(135deg,var(--yellow),var(--yellow-2));color:var(--brown);box-shadow:0 12px 30px rgba(247,183,51,.36);position:relative;overflow:hidden}
.btn-menu:before,.glow:before{content:"";position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.72) 48%,transparent 60%);transform:translateX(-80%);animation:shine 2.7s infinite}
.btn-muted{background:#f3eee8;color:#8f7f75;border-color:#ebe2db;opacity:.78}
.btn-muted:hover{opacity:1}
.full{width:100%}
@keyframes shine{0%,35%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
.hero{position:relative;overflow:hidden;background:var(--brown);color:#fff}
.hero-cover{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(54,25,12,.96) 0%,rgba(54,25,12,.82) 56%,rgba(54,25,12,.35) 100%),radial-gradient(circle at 78% 35%,rgba(247,183,51,.55),transparent 26%),linear-gradient(135deg,#522714,#2e160d);background-size:cover;background-position:center}
.hero-cover:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to right,#000,transparent)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:56px;align-items:center;min-height:600px;padding:88px 0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:var(--yellow)}
.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}.eyebrow.dark{color:#a96c13}
.hero h1{font-size:clamp(43px,6vw,74px);line-height:.98;letter-spacing:-.055em;max-width:820px;margin:18px 0 24px}
.hero-copy>p{font-size:19px;color:#f7ede6;max-width:700px;margin:0 0 30px}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:#e8d8cd;font-size:13px;font-weight:700}
.cycle-card{background:rgba(255,255,255,.96);color:var(--ink);padding:30px;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.7)}
.cycle-label{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:#a78978;font-weight:900}.cycle-number{font-size:54px;font-weight:950;letter-spacing:-.06em;color:var(--brown);margin:4px 0 18px}.progress-meta{display:flex;align-items:end;justify-content:space-between;gap:12px}.progress-meta strong{font-size:28px}.progress-meta span,.cycle-small{font-size:12px;color:var(--muted)}
.progress{height:12px;background:#f0e6dc;border-radius:999px;overflow:hidden;margin:15px 0 10px}.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--yellow),#f28c28)}
.how-section,.form-section{padding:94px 0}
.section-heading{text-align:center;max-width:720px;margin:0 auto 44px}.section-heading h2,.form-intro h2,.menu-banner h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.045em;line-height:1.05;margin:14px 0}.section-heading p,.form-intro>p{color:var(--muted);font-size:17px}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.steps-grid article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 12px 35px rgba(63,29,16,.06)}.steps-grid article>span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#fff2ce;color:#a6670b;font-weight:950}.steps-grid h3{font-size:20px;margin:20px 0 8px}.steps-grid p{color:var(--muted);margin:0;font-size:14px}
.form-section{background:linear-gradient(180deg,#fff8ee 0%,#fffdf9 100%);border-top:1px solid #f0e5d9}
.form-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:64px;align-items:start}.form-intro{position:sticky;top:120px}.rules-card{margin-top:28px;background:var(--brown);color:#fff;padding:26px;border-radius:24px;box-shadow:var(--shadow)}.rules-card h3{margin:0 0 14px}.rules-card ul{margin:0;padding-left:20px;color:#eaded6}.rules-card li+li{margin-top:8px}
.form-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:32px;box-shadow:var(--shadow)}.participation-form{display:grid;gap:20px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px}.field span{font-size:13px;font-weight:850}.field input{height:52px;border:1px solid #dfd4ca;border-radius:14px;padding:0 15px;outline:none;background:#fffdfa;transition:.2s}.field input:focus{border-color:var(--yellow);box-shadow:0 0 0 4px rgba(247,183,51,.14)}
.upload-box{min-height:240px;border:2px dashed #dfcaa8;background:#fffaf1;border-radius:22px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;cursor:pointer;transition:.2s;overflow:hidden}.upload-box:hover,.upload-box.has-file{border-color:var(--yellow);background:#fff7e6}.upload-box input{position:absolute;opacity:0;pointer-events:none}.upload-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);font-size:28px;font-weight:900;color:var(--brown);margin-bottom:12px}.upload-box strong{font-size:18px}.upload-box small{color:var(--muted);margin-top:4px}.file-name{margin-top:12px;color:#9b6a20;font-size:13px;font-weight:800}.upload-box img{margin-top:18px;max-height:220px;border-radius:16px;object-fit:contain;border:1px solid var(--line)}
.consent{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:12px}.consent input{margin-top:3px}.privacy-note{text-align:center;margin:0;color:#9a8b82;font-size:11px}.alert{padding:14px 16px;border-radius:14px;margin-bottom:20px;font-size:14px;font-weight:700}.alert-error{background:#fff0f0;color:#9c2f2f;border:1px solid #f2caca}.alert-success{background:#edf9f2;color:#267449;border:1px solid #c9ead7}
.ticket-success,.cycle-closed-message{text-align:center;padding:18px 6px}.success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#e9f7ef;color:var(--success);font-size:28px;font-weight:950;margin:0 auto 12px}.ticket-success>p{color:var(--success);font-weight:900;margin:0}.ticket-success h2{margin:7px 0 0;font-size:28px}.lucky-number{font-size:110px;line-height:1;font-weight:950;letter-spacing:-.08em;color:var(--brown);margin:18px 0;text-shadow:0 8px 0 #fff0c8}.ticket-details{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}.ticket-details span{padding:10px 14px;border-radius:12px;background:#f7f1eb;font-size:12px}.ticket-success small{display:block;color:var(--muted);margin-bottom:22px}.cycle-closed-message>span{font-size:82px;font-weight:950;color:var(--yellow);line-height:1}.cycle-closed-message h2{font-size:32px;margin:10px 0}.cycle-closed-message p{color:var(--muted)}
.menu-banner{padding:0 0 86px}.menu-banner-inner{background:linear-gradient(135deg,var(--yellow),#ffcf69);padding:42px 48px;border-radius:30px;display:flex;align-items:center;justify-content:space-between;gap:26px;box-shadow:0 18px 45px rgba(247,183,51,.25)}.menu-banner span{font-weight:900;color:#7c4d08}.menu-banner h2{font-size:36px;margin:5px 0}.menu-banner .btn-menu{background:var(--brown);color:#fff;box-shadow:0 12px 25px rgba(63,29,16,.22)}
footer{background:var(--brown);color:#fff;padding:30px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner div{display:flex;flex-direction:column}.footer-inner span{font-size:12px;color:#cdb8aa}.footer-inner a{color:#e7d9d0;font-size:13px}.floating-menu{position:fixed;right:18px;bottom:18px;z-index:45;background:linear-gradient(135deg,var(--yellow),var(--yellow-2));color:var(--brown);font-weight:950;padding:14px 20px;border-radius:999px;box-shadow:0 15px 38px rgba(247,183,51,.45);display:none;overflow:hidden}
@media(max-width:900px){.hero-grid,.form-grid{grid-template-columns:1fr}.hero-grid{padding:70px 0;gap:34px}.cycle-card{max-width:520px}.steps-grid{grid-template-columns:1fr 1fr}.form-intro{position:static}.nav-actions .btn-muted{display:none}.floating-menu{display:block}.menu-banner-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.container{width:min(100% - 24px,1180px)}.nav-wrap{min-height:68px}.brand strong{font-size:18px}.brand small{font-size:8px}.brand-mark{width:40px;height:40px}.nav-actions .btn-menu{padding:0 14px;min-height:42px;font-size:12px}.hero-grid{padding:58px 0}.hero h1{font-size:44px}.hero-copy>p{font-size:16px}.hero-cta .btn{width:100%}.trust-row{display:grid;gap:8px}.steps-grid{grid-template-columns:1fr}.how-section,.form-section{padding:70px 0}.field-row{grid-template-columns:1fr}.form-card{padding:22px;border-radius:22px}.menu-banner-inner{padding:30px 24px}.menu-banner h2{font-size:29px}.footer-inner{align-items:flex-start;flex-direction:column}.lucky-number{font-size:88px}}
