:root{font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;color:#17392b;--green:#15814e;--deep:#103d2c;--muted:#72877b;--pale:#f5f8f5}
*{box-sizing:border-box}
html{height:100%}
body{margin:0;min-height:100vh;background:#f6f9f6}
[hidden]{display:none!important}
button,input,select{font:inherit}
.page-shell{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 99% 15%,#e7f5ea 0%,transparent 32%),radial-gradient(ellipse at 0% 80%,#ecf6ee 0%,transparent 39%),linear-gradient(145deg,#fcfdfb 0%,#f4f8f4 68%,#f7fbf6 100%)}
.page-shell:before{content:"";position:absolute;top:-340px;right:-280px;width:650px;height:650px;border:1px solid #dcefe2;border-radius:50%;pointer-events:none}
.topbar{height:119px;width:min(1320px,100%);margin:auto;padding:14px clamp(24px,4vw,54px);display:flex;align-items:center;gap:20px;position:relative;z-index:2}
.brand-link{flex:none;display:inline-flex;align-items:center;justify-content:center;line-height:0}
.brand-logo{width:181px;height:auto;max-height:82px;object-fit:contain}
.brand-separator{height:36px;width:1px;background:#e0eae2;margin-left:1px}
.header-title{display:flex;flex-direction:column;gap:5px;letter-spacing:.06em;text-transform:uppercase}
.header-title span{font-size:9px;font-weight:900;color:#62a079;letter-spacing:2px}
.header-title strong{font-size:12px;font-weight:800;color:#315740;letter-spacing:.35px;text-transform:none}
.header-tag{margin-left:auto;border:1px solid #d9e9db;background:#fff9;padding:10px 16px;border-radius:100px;display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1.55px;font-weight:850;color:#557665;box-shadow:0 4px 18px #16452d08}
.live-dot{width:8px;height:8px;flex:none;border-radius:50%;background:#27ae62;box-shadow:0 0 0 4px #dbf5e4}
.main-layout{position:relative;z-index:1;flex:1;width:min(1320px,100%);margin:0 auto;padding:22px clamp(24px,4vw,54px) 65px;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);align-items:center;gap:clamp(34px,4.3vw,62px)}
.intro{min-height:548px;border-radius:32px;background:linear-gradient(144deg,#153d2b 0%,#0e5032 49%,#16814a 100%);color:#fff;position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:49px clamp(28px,4vw,51px) 30px;box-shadow:0 28px 64px #17452b20}
.intro:after{position:absolute;inset:0;content:"";z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 48%,#ffffff05 100%)}
.intro-content{position:relative;z-index:2}
.hero-kicker{display:inline-flex;align-items:center;gap:11px;border:1px solid #ffffff32;border-radius:100px;background:#ffffff10;padding:10px 15px;color:#c8eed6;font-size:10px;font-weight:800;letter-spacing:2px}
.kicker-mark{font-size:15px;color:#9be8ae;line-height:0}
h1{font-size:clamp(49px,4.95vw,72px);letter-spacing:-3.5px;line-height:1.06;font-weight:840;margin:57px 0 22px;position:relative;z-index:2}
h1 span{color:#abf1b4}
.intro p{font-size:16px;line-height:1.85;color:#d2e6d8;max-width:363px;margin:0;position:relative;z-index:2}
.hero-rule{width:100%;height:1px;background:linear-gradient(90deg,#ffffff45,transparent);margin:43px 0 28px}
.hero-steps{display:flex;align-items:center;gap:10px;position:relative;z-index:2;white-space:nowrap}
.hero-step{display:flex;flex-direction:column;gap:8px}
.hero-step span{font-size:10px;color:#a1c5ae;letter-spacing:1px;font-weight:800}
.hero-step strong{font-size:13px;color:#f4fff5;font-weight:730}
.step-arrow{color:#87cba1;font-size:17px;margin:15px auto 0}
.hero-watermark{position:absolute;right:-24px;bottom:41px;height:305px;width:auto;opacity:.12;z-index:-1;filter:grayscale(1) brightness(2.5);pointer-events:none}
.hero-orb{position:absolute;border-radius:50%;z-index:-2;pointer-events:none}
.hero-orb-a{right:-230px;top:-280px;width:620px;height:620px;border:1px solid #ffffff20;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04}
.hero-orb-b{right:-115px;bottom:-205px;width:430px;height:430px;background:radial-gradient(circle,#7de7a228,transparent 69%)}
.hero-bottomline{margin-top:22px;display:flex;align-items:center;gap:10px;color:#c3ddca;font-size:11px;position:relative;z-index:2}
.hero-bottomdot{width:6px;height:6px;border-radius:50%;background:#9af5af;box-shadow:0 0 12px #abefb9}
.form-card{width:100%;background:#fff;border:1px solid #e3eee6;border-radius:29px;padding:clamp(30px,3.5vw,49px);box-shadow:0 28px 80px #214c2d0f,0 3px 12px #214c2d06;position:relative;overflow:hidden}
.form-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:5px;background:linear-gradient(90deg,#0c5935 0%,#20b66f 62%,#a4ebbb 100%)}
.card-header{display:flex;align-items:center;gap:12px}
.camera-icon{width:48px;height:48px;border:1px solid #d9f0e0;border-radius:15px;background:#eaf8ee;color:#17894f;display:grid;place-items:center;flex:none}
.camera-icon svg{width:23px;height:23px}
.invite-label{font-size:10px;color:#789287;letter-spacing:1.35px;font-weight:850}
.access-label{margin-left:auto;display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #def1e5;background:#f1fbf4;color:#279959;padding:9px 10px;border-radius:100px;font-weight:850;letter-spacing:.4px;font-size:9px}
.access-label span{width:6px;height:6px;border-radius:50%;background:#2db96b}
h2{margin:27px 0 9px;line-height:1.17;font-size:clamp(29px,2.6vw,36px);font-weight:840;letter-spacing:-1.2px;color:#193d2b}
.period{color:#28a866}
.card-subtitle{font-size:15px;line-height:1.5;color:#667f71;margin:0}
.when{color:#3c8458;background:#f0f9f1;border:1px solid #e2f1e3;display:inline-flex;align-items:center;gap:9px;padding:8px 11px;margin-top:13px;font-size:12px;font-weight:700;border-radius:9px}
.rule{height:1px;background:#eaf0eb;margin:26px 0 27px}
label{display:block;font-size:13px;font-weight:760;color:#31503d;margin:0 0 10px}
label span{color:#20a95d}
.input-wrap{height:58px;border:1.5px solid #e1eae3;border-radius:13px;background:#fcfefd;display:flex;align-items:center;gap:12px;padding:0 17px;margin-bottom:23px;transition:border-color .18s,box-shadow .18s,background .18s}
.input-wrap:focus-within{border-color:#49b478;box-shadow:0 0 0 4px #1aa25b12;background:#fff}
.input-wrap>svg{width:20px;height:20px;flex:none;color:#8daa96}
.input-wrap input,.input-wrap select{border:0;outline:none;background:transparent;height:100%;width:100%;flex:1;min-width:0;font-size:14px;font-weight:560;color:#1b402b}
.input-wrap input::placeholder,.input-wrap select:invalid{color:#a0b0a5}
.select-wrap select{appearance:none;cursor:pointer}
.input-wrap .chevron{pointer-events:none;width:18px;height:18px}
.display-preview{display:flex;align-items:center;gap:13px;background:#f5f9f5;border:1px solid #e7f0e8;border-radius:12px;padding:13px 15px;margin:-2px 0 25px;min-height:65px}
.preview-icon{width:28px;height:28px;border-radius:10px;background:#e3f5e9;color:#1d9860;font-size:15px;font-weight:850;display:grid;place-items:center;flex:none}
.display-preview>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.display-preview small{font-size:9px;font-weight:900;letter-spacing:1.25px;color:#8ca595}
.display-preview strong{font-size:13px;color:#3a6650;font-weight:750;overflow-wrap:anywhere;line-height:1.3}
.join-button{width:100%;height:61px;border:0;border-radius:13px;background:linear-gradient(100deg,#126d3c,#1a9c59);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 23px;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 13px 30px #0c82462d;transition:transform .2s,box-shadow .2s,filter .2s;letter-spacing:.1px;text-decoration:none}
.join-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 18px 35px #0c824637}
.join-button:focus-visible{outline:3px solid #9fd3b2;outline-offset:4px}
.join-button:disabled{opacity:.52;cursor:not-allowed;box-shadow:none}
.arrow-icon{font-size:24px;font-weight:300;line-height:1}
.private-note{margin-top:21px;display:flex;align-items:center;justify-content:center;gap:8px;color:#889d8e;font-size:11px;line-height:1.55;text-align:center}
.private-note svg{width:15px;height:15px;flex:none;color:#67aa7a}
.input-wrap:has([aria-invalid="true"]){border-color:#d98b82;box-shadow:0 0 0 4px #d0453a14}
.error-message{border:1px solid #f1d4cf;border-radius:10px;background:#fff4f2;color:#a43b35;padding:12px 14px;font-size:12px;line-height:1.5;margin:-8px 0 19px}
.footer{position:relative;z-index:1;width:min(1320px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 clamp(24px,4vw,54px) 28px;color:#97a99b;font-size:10px;letter-spacing:.95px;font-weight:720}
.footer-heart{color:#47b676}
@media(max-width:1090px){.main-layout{gap:28px}.intro{padding:40px 28px 25px}.form-card{padding:34px}.hero-steps{gap:5px}.hero-step strong{font-size:11px}h1{font-size:clamp(45px,5vw,60px)}.access-label{font-size:8px;padding:8px}}
@media(max-width:850px){.topbar{height:96px;max-width:720px;padding:8px 24px}.brand-logo{width:147px}.main-layout{grid-template-columns:1fr;max-width:620px;gap:23px;padding:12px 24px 42px}.form-card{order:-1}.intro{min-height:270px;padding:29px 32px}.intro h1{font-size:42px;letter-spacing:-1.8px;margin:22px 0 12px}.intro p{font-size:13px;line-height:1.7}.hero-kicker{font-size:9px;padding:7px 12px}.hero-rule,.hero-steps{display:none}.hero-watermark{height:220px;bottom:-23px;right:10px}.hero-bottomline{font-size:10px}.footer{max-width:720px;padding:0 24px 24px}}
@media(max-width:480px){.topbar{height:91px;padding:10px 19px;gap:10px}.brand-logo{width:141px}.brand-separator{height:30px}.header-title span{font-size:8px;letter-spacing:1.1px}.header-title strong{font-size:10px}.header-tag{display:none}.main-layout{padding:6px 14px 28px;gap:17px}.form-card{padding:30px 24px;border-radius:22px}.card-header{gap:9px}.camera-icon{height:44px;width:44px;border-radius:13px}.invite-label{font-size:9px;letter-spacing:.9px}.access-label{font-size:7px;padding:8px;gap:5px}h2{font-size:30px;margin:25px 0 8px}.rule{margin:24px 0}.input-wrap{height:56px}.display-preview{margin-bottom:21px}.join-button{height:60px}.intro{border-radius:22px;min-height:245px;padding:29px 24px 24px}.intro h1{font-size:40px;margin:23px 0 12px}.hero-bottomline{font-size:9px}.hero-watermark{height:192px;right:-10px;bottom:-12px}.footer{flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:9px;padding:0 20px 20px}}
@media(max-width:355px){.brand-logo{width:124px}.header-title{display:none}.brand-separator{display:none}.form-card{padding:28px 17px}.access-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
