
:root{
    --bg:#fefefd;--surface:#fff;--ink:#0c130f;--muted:#707482;--line:#e8eeea;
    --purple:#2e6f40;--purple2:#86bb93;--blue:#307544;--green:#24ad60;--red:#e53348;--gold:#f4b322;
    --shadow:0 18px 55px rgba(24,56,36,.10);--shadow2:0 28px 80px rgba(31,75,43,.17);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:
radial-gradient(circle at 88% 2%,rgba(46,111,64,.07),transparent 24rem),
radial-gradient(circle at 5% 56%,rgba(48,117,68,.045),transparent 26rem),var(--bg);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}button,input{font:inherit}button{color:inherit}img{max-width:100%;display:block}svg{display:block}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
::selection{background:var(--purple);color:#fff}
.page-progress{position:fixed;left:0;top:0;height:3px;background:linear-gradient(90deg,var(--purple),#337c47);width:0;z-index:1000}
.ambient{position:fixed;border-radius:50%;filter:blur(85px);z-index:-1;opacity:.12}.ambient-one{width:330px;height:330px;background:#2e6f40;right:-170px;top:20%}.ambient-two{width:300px;height:300px;background:#317845;left:-170px;top:70%}

.site-header{position:sticky;top:0;z-index:50;background:rgba(254,254,253,.82);backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid rgba(232,238,234,.7);transition:.25s}
.site-header.scrolled{box-shadow:0 10px 32px rgba(22,43,30,.06)}
.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,Inter,sans-serif;font-size:22px;font-weight:800;letter-spacing:-.8px}
.brand>span:last-child>span{color:#307544}
.brand-mark{width:31px;height:31px;border-radius:11px 11px 11px 3px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--purple),#337c47);transform:rotate(-12deg);box-shadow:0 9px 23px rgba(49,120,69,.27)}
.brand-mark svg{transform:rotate(12deg)}
.desktop-nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:700;color:#203b27}
.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:100%;height:2px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:.2s}.desktop-nav a:hover{color:var(--purple)}.desktop-nav a:hover:after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:18px}.login-link{font-size:12px;font-weight:700}.menu-button{display:none;border:0;background:transparent;padding:7px}.mobile-menu{background:#fff;padding:12px 22px 18px;border-top:1px solid var(--line)}.mobile-menu a{display:block;padding:10px 0;font-weight:700}
.btn{min-height:47px;padding:0 22px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;font-size:13px;font-weight:800;transition:.22s;overflow:hidden}
.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg,#347e49,#307544 60%,#307644);box-shadow:0 13px 28px rgba(48,118,68,.25)}.btn-secondary{background:#fff;border-color:#dee7e0}.btn-small{min-height:38px;padding:0 15px;font-size:12px}

.hero{padding:75px 0 31px;position:relative}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;min-height:455px}
.mini-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid #e9f2ec;background:#fdfbf7;color:#2c6c3e;font-size:10px;font-weight:800;margin-bottom:18px}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:#37c774;animation:pulse 1.8s infinite}
.hero h1{font-family:Manrope,Inter,sans-serif;font-size:59px;line-height:1.02;letter-spacing:-3.2px;margin:0 0 18px}.gradient-text{background:linear-gradient(100deg,#337c48,#35824b 45%,#317946);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h2{font-size:19px;margin:0 0 13px}.hero-text{max-width:600px;color:#545865;font-size:14px;line-height:1.75;margin:0 0 25px}.hero-actions{display:flex;gap:12px}
.mission-strip{margin-top:24px;max-width:620px;padding:13px 15px;border:1px solid #e6eee8;border-radius:13px;background:rgba(255,255,255,.7);display:flex;gap:10px;align-items:flex-start;box-shadow:0 9px 25px rgba(29,50,37,.04)}.mission-strip strong{font-size:10px;white-space:nowrap;color:#2b6a3d}.mission-strip span{font-size:9px;line-height:1.45;color:#747785}

.hero-device{min-height:420px;display:flex;align-items:center;justify-content:center;perspective:1400px}
.stand-scene{position:relative;width:min(100%,590px);aspect-ratio:1.5/1;display:flex;align-items:center;justify-content:center}.stand-aura{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(52,126,73,.25),rgba(46,111,64,.08) 48%,transparent 72%);filter:blur(8px);animation:aura 4s ease-in-out infinite}
.stand-wrap{position:relative;width:100%;transform-style:preserve-3d;animation:float 5.3s ease-in-out infinite;transition:transform .18s}.nfc-stand-image{width:100%;height:auto;object-fit:contain;pointer-events:none;user-select:none;filter:drop-shadow(0 28px 28px rgba(15,36,23,.16));transform:translateZ(24px);position:relative;z-index:3}.stand-floor-shadow{position:absolute;left:18%;right:10%;bottom:3%;height:12%;border-radius:50%;background:radial-gradient(ellipse,rgba(17,40,25,.22),transparent 70%);filter:blur(12px)}
.floating-chip{position:absolute;z-index:10;display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:11px;background:rgba(255,255,255,.9);border:1px solid #ebf0ec;box-shadow:0 13px 32px rgba(27,53,37,.13);font-size:10px;animation:chip 4s ease-in-out infinite}.floating-chip svg{color:var(--purple)}.chip-one{left:1%;top:21%}.chip-two{right:0;bottom:22%;animation-delay:1.1s}

.hero-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid var(--line);padding-top:18px}.info-mini{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e9efeb;border-radius:12px;background:#fff}.info-mini.age{border-color:#d7ecdE;background:#fbfffc}.info-mini.safe{border-color:#ffd9de;background:#fffafb}.info-mini-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f4f8f5;color:#307644;flex:0 0 auto}.info-mini.age .info-mini-icon{background:#e6f8ec;color:#158d47}.info-mini.safe .info-mini-icon{background:#fff0f2;color:#d92840}.info-mini strong{display:block;font-size:9px}.info-mini span{display:block;margin-top:2px;color:#858892;font-size:7px;line-height:1.35}

.section{padding:68px 0}.section-heading{text-align:center;margin-bottom:30px}.section-kicker{text-transform:uppercase;letter-spacing:1.4px;font-size:9px;font-weight:800;color:#307544;margin-bottom:8px}.section-kicker.light{color:#e1eee5}.section-heading h2,.plans-head h2,.stamp-explainer h2,.business-copy h2,.events-copy h2{font-family:Manrope,Inter,sans-serif;font-size:29px;letter-spacing:-1px;margin:0 0 8px}.section-heading p{margin:0;color:var(--muted);font-size:11px}

.journey-rail{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.journey-card{position:relative;padding:19px 14px 17px;border:1px solid #e8efea;border-radius:15px;background:#fff;box-shadow:0 10px 31px rgba(22,49,32,.045);overflow:hidden;transform-style:preserve-3d}.journey-index{position:absolute;right:11px;top:9px;color:#e1eae4;font-family:Manrope;font-size:16px;font-weight:800}.journey-icon{width:47px;height:47px;border-radius:13px;display:grid;place-items:center;margin-bottom:15px;background:#f4f8f5;color:#317745}.journey-icon.green{background:#e7f8ed;color:#15934a}.journey-icon.slate{background:#f1f5f2;color:#656d5f}.journey-icon.blue{background:#f2f7f3;color:#255c35}.journey-icon.gold{background:#fff4d2;color:#a56800}.journey-icon.violet{background:#f0f6f2;color:#29653a}.journey-icon.orange{background:#fff0c5;color:#a86700}.journey-card h3{font-size:11px;margin:0 0 6px}.journey-card p{font-size:8px;line-height:1.5;color:#777b87;margin:0;min-height:59px}.journey-pill{display:inline-flex;margin-top:10px;padding:5px 7px;border-radius:999px;background:#f6f9f7;color:#2f7242;font-size:6px;font-weight:900}.journey-pill.green{background:#e5f8ec;color:#158a46}.journey-pill.slate{background:#f1f5f2;color:#626774}.journey-pill.blue{background:#f1f7f3;color:#245933}.journey-pill.gold{background:#fff2c4;color:#986000}.journey-pill.violet{background:#edf4ef;color:#286238}.journey-pill.orange{background:#ffefc0;color:#9b6100}

.places-shell{position:relative;overflow:hidden;border-radius:21px;padding:37px 32px 29px;color:#fff;background:radial-gradient(circle at 10% 0%,rgba(255,255,255,.13),transparent 29%),linear-gradient(135deg,#327946,#2c6b3e 50%,#245832);box-shadow:0 28px 68px rgba(37,91,52,.23)}.places-heading{text-align:center}.places-heading h2{font-family:Manrope;font-size:26px;margin:0 0 14px}.tabs{position:relative;width:max-content;margin:0 auto 17px;display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}.tab-slider{position:absolute;left:3px;top:3px;bottom:3px;width:calc(50% - 3px);border-radius:999px;background:#fff;transition:.4s}.tabs.other-active .tab-slider{transform:translateX(100%)}.tab{position:relative;z-index:2;border:0;background:transparent;color:rgba(255,255,255,.75);padding:7px 13px;font-size:9px;font-weight:800;cursor:pointer}.tab.active{color:#2e7141}
.search-row{display:flex;max-width:770px;margin:0 auto 22px;gap:8px}.search-box{flex:1;min-height:43px;border-radius:999px;background:#fff;display:flex;align-items:center;padding:0 14px;color:#9194a1}.search-box input{width:100%;border:0;outline:0;padding:0 9px;background:transparent;font-size:10px}.near-btn{border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;padding:0 15px;display:flex;gap:6px;align-items:center;font-size:10px}
.place-switcher{position:relative;min-height:262px}.place-panel{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(22px) scale(.99);filter:blur(4px);transition:.4s}.place-panel.active{position:relative;opacity:1;visibility:visible;pointer-events:auto;transform:none;filter:none}.place-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.place-card{overflow:hidden;border-radius:12px;background:#fff;color:#111a14;box-shadow:0 14px 28px rgba(20,47,30,.2);transform-style:preserve-3d}.place-image-wrap{height:124px;position:relative;overflow:hidden}.place-card img{width:100%;height:100%;object-fit:cover;transition:.4s}.place-card:hover img{transform:scale(1.07)}.place-tag,.business-badge{position:absolute;left:9px;padding:5px 7px;border-radius:999px;font-size:7px;font-weight:800}.place-tag{top:9px;background:rgba(255,255,255,.9)}.business-badge{bottom:9px;color:#fff;background:rgba(11,18,13,.6);display:flex;gap:4px;align-items:center}.save-button{position:absolute;right:8px;top:8px;width:27px;height:27px;border-radius:50%;border:0;background:rgba(255,255,255,.86);font-size:15px}.save-button.saved{background:#2e6f40;color:#fff}.place-content{padding:11px}.place-content strong{display:block;font-size:10px}.place-content>div:first-child span{display:block;margin-top:3px;color:#7c808c;font-size:8px}.place-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:8px}.rating{color:#e29900;font-weight:800}.reviews{display:flex;align-items:center;gap:3px;color:#289653;background:#e5f8eb;border-radius:999px;padding:3px 5px}.no-results{text-align:center;font-size:10px}

.compact-two-col{display:grid;grid-template-columns:1fr .9fr;gap:22px;align-items:center}.stamp-explainer{padding:29px;border:1px solid #e8efea;border-radius:19px;background:#fff;box-shadow:0 13px 38px rgba(22,47,31,.05)}.stamp-explainer p{color:#707482;font-size:10px;line-height:1.65;max-width:570px}.explain-list{display:grid;gap:9px;margin-top:18px}.explain-list span{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:700;color:#565965}.explain-list svg{color:#307644}
.stamp-card-visual{padding:22px;border:1px solid #efdba6;border-radius:18px;background:radial-gradient(circle at 100% 0%,rgba(255,187,41,.15),transparent 30%),linear-gradient(145deg,#fff,#fffbf2);box-shadow:0 18px 43px rgba(120,78,0,.08)}.stamp-card-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px}.stamp-logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#8e4e20,#d78332);font-weight:800}.stamp-card-head small{display:block;color:#9a958d;font-size:7px}.stamp-card-head strong{display:block;font-size:12px;margin-top:2px}.visit-count{padding:5px 8px;border-radius:999px;background:#fff1c6;color:#936000;font-size:8px;font-weight:900}.stamp-circles{display:flex;gap:9px;margin:20px 0 11px}.stamp-circles span{width:39px;height:39px;border:2px solid #ced2cb;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900}.stamp-circles .filled{border-color:#255b35;background:linear-gradient(145deg,#29643a,#225430);box-shadow:0 8px 16px rgba(37,92,53,.15)}.stamp-meter{height:6px;border-radius:999px;background:#eee9dd;overflow:hidden}.stamp-meter span{display:block;width:80%;height:100%;background:linear-gradient(90deg,#f6bd39,#f4a516);border-radius:999px}.stamp-unlock{display:flex;gap:10px;align-items:center;margin-top:15px;padding:12px;border-radius:12px;background:#fff3cc;border:1px solid #efdaa1}.stamp-unlock>div:first-child{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#ffe39a;color:#986100}.stamp-unlock small,.stamp-unlock span{display:block;font-size:7px;color:#907a4d}.stamp-unlock strong{display:block;margin:2px 0;color:#764700;font-size:11px}

.levels-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.level-card{text-align:center;padding:18px 10px;border:1px solid #e6ede8;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(22,47,31,.045)}.level-symbol{width:53px;height:53px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;font-family:Manrope;font-size:18px;font-weight:800;border:4px solid rgba(255,255,255,.75);box-shadow:0 8px 17px rgba(0,0,0,.1)}.bronze .level-symbol{background:linear-gradient(145deg,#d89b72,#995730);color:#572d15}.silver .level-symbol{background:linear-gradient(145deg,#f0f4f1,#b9bfb5);color:#61695c}.gold .level-symbol{background:linear-gradient(145deg,#ffe99d,#efb72c);color:#7c4c00}.platinum .level-symbol{background:linear-gradient(145deg,#f0f5f1,#acb3a7);color:#596054}.diamond-shape{width:51px;height:42px;margin:5px auto 16px;background:linear-gradient(145deg,#85ba91,#29653a);clip-path:polygon(25% 0,75% 0,100% 35%,50% 100%,0 35%);filter:drop-shadow(0 7px 9px rgba(43,105,60,.18))}.level-card h3{font-size:11px;margin:0 0 3px}.level-card span{font-size:8px;color:#777b88;font-weight:700}.level-benefits{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:15px}.level-benefits span{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #edf5ef;border-radius:999px;background:#fefdfa;color:#635c72;font-size:7px;font-weight:750}.level-benefits svg{color:#307644}

.events-shell{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding:34px;border-radius:21px;color:#fff;background:radial-gradient(circle at 90% 8%,rgba(255,255,255,.12),transparent 26%),linear-gradient(135deg,#2d6e3f,#286238 55%,#235531);box-shadow:0 26px 60px rgba(37,89,52,.22)}.events-copy p{color:#e1ece4;font-size:9px;line-height:1.65}.event-checks{display:grid;gap:8px;margin-top:15px}.event-checks span{display:flex;align-items:center;gap:6px;font-size:8px}.event-checks svg{color:#a6edbf}.prize-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.prize{min-height:82px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 11px 23px rgba(14,34,22,.18)}.prize strong{font-size:16px}.prize span{font-size:7px;margin-top:4px;opacity:.72}.prize.steam{background:#112418}.prize.amazon{background:#090c0a}.prize.amazon strong:after{content:"";display:block;width:40px;margin:2px auto 0;border-bottom:2px solid #ff9900}.prize.ps{background:#235531}.prize.uber{background:#050505}

.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.safety-card{padding:22px;border:1px solid #e8eeea;border-radius:17px;background:#fff;box-shadow:0 11px 34px rgba(22,49,32,.05)}.safety-card.age{border-color:#d5ebdc;background:#fbfffc}.safety-card.security{border-color:#ffd8dd;background:#fffafb}.safety-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;margin-bottom:12px;background:#f4f8f5;color:#307644}.age .safety-icon{background:#e6f8ec;color:#158d47}.security .safety-icon{background:#fff0f2;color:#d92840}.safety-kicker{font-size:7px;font-weight:900;letter-spacing:1px;color:#888b96}.safety-card h3{font-size:12px;margin:5px 0 10px}.safety-card ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.safety-card li{position:relative;padding-left:14px;color:#6c707b;font-size:8px;line-height:1.4}.safety-card li:before{content:"✓";position:absolute;left:0;color:#158d47;font-weight:900}.security li:before{color:#dc2a40}

.business-shell{display:grid;grid-template-columns:1fr .85fr;gap:38px;align-items:center;padding:35px;border-radius:21px;color:#fff;background:radial-gradient(circle at 0 100%,rgba(54,131,76,.2),transparent 34%),linear-gradient(135deg,#286339,#265d36 58%,#235732);box-shadow:0 26px 60px rgba(36,87,50,.2)}.business-copy p{color:#e9f2ec;font-size:9px;line-height:1.65}.business-points{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:16px}.business-points span{display:flex;align-items:center;gap:6px;font-size:8px}.business-points svg{color:#afecc4}.business-dashboard{padding:17px;border-radius:16px;background:#fff;color:#131c17;display:grid;grid-template-columns:1fr 1fr;gap:9px;box-shadow:0 16px 34px rgba(17,39,25,.18)}.dash-stat{padding:12px;border:1px solid #ecf2ee;border-radius:10px;background:#fdfcfb}.dash-stat small,.dash-stat span{display:block;color:#9396a1;font-size:7px}.dash-stat strong{display:block;margin:4px 0;font-size:16px}.mini-chart{grid-column:1/-1;height:105px;padding:13px 11px 0;display:flex;gap:7px;align-items:flex-end;border:1px solid #ecf2ee;border-radius:10px;background:#fefdfa}.mini-chart i{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#327a46,#2f7443);animation:bars 2.8s ease-in-out infinite alternate}.dash-bottom{grid-column:1/-1;padding:10px 12px;border-radius:10px;background:#f4f8f5;color:#2e7141;display:flex;justify-content:space-between;font-size:8px}

.plans-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px}.plans-head p{color:#777b87;font-size:10px}.plan-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:999px;background:#f4f7f5;border:1px solid #e4ece6;min-width:230px}.plan-slider{position:absolute;left:3px;top:3px;bottom:3px;width:calc(50% - 3px);border-radius:999px;background:#fff;box-shadow:0 7px 18px rgba(25,50,34,.1);transition:.4s}.plan-tabs.business-active .plan-slider{transform:translateX(100%)}.plan-tab{position:relative;z-index:2;border:0;background:transparent;padding:9px;font-size:9px;font-weight:800;color:#858894}.plan-tab.active{color:#2f7242}.plan-panels{position:relative;min-height:490px}.plan-panel{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(24px);filter:blur(4px);transition:.4s}.plan-panel.active{position:relative;opacity:1;visibility:visible;pointer-events:auto;transform:none;filter:none}.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;max-width:900px;margin:auto}.pricing-card{position:relative;padding:24px;border:1px solid #e6ede8;border-radius:18px;background:#fff;box-shadow:0 12px 36px rgba(22,49,32,.05)}.pricing-card.featured{border-color:#e2eee5;background:radial-gradient(circle at 100% 0%,rgba(52,126,73,.1),transparent 28%),#fff;box-shadow:0 20px 55px rgba(40,98,56,.13)}.popular{position:absolute;right:16px;top:15px;padding:5px 8px;border-radius:999px;background:#2f7342;color:#fff;font-size:6px;font-weight:900;letter-spacing:.7px}.popular.gold{background:#ffc94f;color:#684200}.pricing-top{display:flex;align-items:center;gap:9px}.pricing-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#f4f8f5;color:#307644}.pricing-icon.pro{background:linear-gradient(145deg,#2e6f40,#2e7141);color:#fff}.pricing-icon.dark{background:#eff3f0;color:#1d3224}.pricing-icon.premium{background:#0f1611;color:#fff}.pricing-top span{font-size:7px;font-weight:900;letter-spacing:1px;color:#999ca7}.pricing-card h3{font-family:Manrope;font-size:22px;margin:16px 0 5px}.pricing-card>p{color:#767a86;font-size:9px;line-height:1.55;min-height:42px}.price{display:flex;align-items:baseline;gap:5px;margin-top:13px}.price strong{font-family:Manrope;font-size:27px}.price span{font-size:8px;color:#898c97}.pricing-btn{min-height:40px;margin-top:15px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:900}.pricing-btn.light{background:#f5f8f6;border:1px solid #e2eae4}.pricing-btn.primary{color:#fff;background:linear-gradient(135deg,#2e6f40,#2f7443,#307644)}.pricing-btn.dark{color:#fff;background:#111613}.feature-list{display:grid;gap:8px;margin-top:17px;padding-top:16px;border-top:1px solid #ecf1ed}.feature-list span{font-size:8px;font-weight:650}.feature-list .yes{color:#4f5960}.feature-list .yes::first-letter{color:#159249}.feature-list .no{color:#b1aeb4}.business-plan-note{max-width:900px;margin:0 auto 12px;padding:11px 13px;border-radius:12px;border:1px solid #eaf2ec;background:#fdfcf9;display:flex;gap:8px;align-items:center;color:#7c8674;font-size:8px}.business-plan-note svg{color:#2f7443}.pricing-note{text-align:center;color:#a1a3ac;font-size:7px;margin-top:12px}

.cta-section{padding:55px 0 62px}.cta-shell{min-height:150px;padding:29px 36px;border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:30px;color:#fff;background:linear-gradient(125deg,#327b47,#2e7041 48%,#245933);box-shadow:0 26px 60px rgba(38,93,54,.23)}.cta-kicker{display:flex;align-items:center;gap:6px;color:#e6f1e9;font-size:8px;font-weight:800;margin-bottom:8px}.cta-shell h2{font-family:Manrope;font-size:25px;line-height:1.25;margin:0}.cta-actions{display:flex;gap:9px}.btn-white{background:#fff;color:#2f7242}.btn-glass{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.1);color:#fff}

footer{border-top:1px solid var(--line);padding:24px 0;color:#7d808b;font-size:9px;background:rgba(255,255,255,.6)}.footer-row{display:flex;justify-content:space-between;align-items:center}.footer-brand{font-size:15px;color:#111914}.footer-brand .brand-mark{width:25px;height:25px}.footer-row>div{display:flex;gap:24px}
.toast{position:fixed;left:50%;bottom:22px;z-index:100;transform:translate(-50%,130%);display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #e5ece7;border-radius:11px;background:rgba(255,255,255,.94);box-shadow:0 16px 42px rgba(15,35,23,.15);font-size:9px;font-weight:700;transition:.35s}.toast.show{transform:translate(-50%,0)}.toast svg{color:var(--purple)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}

@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(55,199,116,.4)}70%{box-shadow:0 0 0 8px rgba(55,199,116,0)}100%{box-shadow:0 0 0 0 rgba(55,199,116,0)}}@keyframes float{50%{transform:translateY(-10px) rotateZ(.3deg)}}@keyframes aura{50%{transform:scale(1.07);opacity:.75}}@keyframes chip{50%{transform:translateY(-8px)}}@keyframes bars{to{transform:scaleY(.94);filter:brightness(1.12)}}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media(max-width:1050px){.desktop-nav{display:none}.menu-button{display:block}.hero-grid{grid-template-columns:1fr}.hero-copy{text-align:center}.hero-text,.mission-strip{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-device{margin-top:18px}.journey-rail{grid-template-columns:repeat(4,1fr)}.hero-info-grid{grid-template-columns:repeat(2,1fr)}.compact-two-col,.events-shell,.business-shell{grid-template-columns:1fr}.levels-grid{grid-template-columns:repeat(3,1fr)}.plan-panels{min-height:520px}}
@media(max-width:700px){.container{width:min(100% - 28px,1180px)}.hero{padding-top:45px}.hero h1{font-size:42px;letter-spacing:-2px}.hero-actions{flex-direction:column}.mission-strip{text-align:left}.hero-device{min-height:330px;margin-inline:-15px}.journey-rail{grid-template-columns:repeat(2,1fr)}.place-grid{grid-template-columns:repeat(2,1fr)}.place-switcher{min-height:540px}.levels-grid{grid-template-columns:repeat(2,1fr)}.levels-grid .diamond{grid-column:1/-1}.safety-grid{grid-template-columns:1fr}.plans-head{flex-direction:column;align-items:center;text-align:center}.plan-grid{grid-template-columns:1fr}.plan-panels{min-height:900px}.business-points{grid-template-columns:1fr}.cta-shell{flex-direction:column;text-align:center}.cta-actions{width:100%;flex-direction:column}.footer-row{flex-direction:column;gap:15px;text-align:center}}
@media(max-width:480px){.nav-wrap{height:66px}.login-link{display:none}.brand{font-size:19px}.hero h1{font-size:36px}.hero-info-grid{grid-template-columns:1fr}.journey-rail,.place-grid,.levels-grid{grid-template-columns:1fr}.place-switcher{min-height:1160px}.levels-grid .diamond{grid-column:auto}.stamp-circles{gap:6px}.stamp-circles span{width:36px;height:36px}.prize-grid{grid-template-columns:1fr}.business-dashboard{grid-template-columns:1fr}.mini-chart,.dash-bottom{grid-column:auto}.plan-panels{min-height:930px}.cta-shell{padding:25px 18px}}


/* =========================================================
   READABILITY + MOTION POLISH PASS
   Larger typography, calmer hover states, smoother reveals
   ========================================================= */

/* ---------- General type scale ---------- */
body{
    font-size:16px;
    line-height:1.55;
}

.desktop-nav{
    font-size:13px;
}

.login-link{
    font-size:13px;
}

.btn{
    font-size:14px;
}

.btn-small{
    font-size:13px;
}

.mini-badge{
    font-size:12px;
    padding:8px 12px;
}

.hero h2{
    font-size:21px;
}

.hero-text{
    font-size:16px;
    line-height:1.72;
}

.mission-strip{
    padding:15px 17px;
}

.mission-strip strong{
    font-size:12px;
}

.mission-strip span{
    font-size:11px;
    line-height:1.55;
}

.info-mini{
    padding:13px 14px;
}

.info-mini strong{
    font-size:11px;
}

.info-mini span{
    font-size:9px;
    line-height:1.45;
}

.section{
    padding:76px 0;
}

.section-kicker{
    font-size:10px;
}

.section-heading h2,
.plans-head h2,
.stamp-explainer h2,
.business-copy h2,
.events-copy h2{
    font-size:32px;
}

.section-heading p{
    font-size:13px;
    line-height:1.6;
}

/* ---------- User journey ---------- */
.journey-rail{
    gap:12px;
}

.journey-card{
    padding:21px 16px 19px;
    border-radius:17px;
    transition:
        transform .32s cubic-bezier(.22,.8,.2,1),
        border-color .3s ease,
        box-shadow .32s ease,
        background .3s ease;
}

.journey-card:hover{
    border-color:#e1ede5;
    box-shadow:0 18px 42px rgba(30,73,42,.09);
}

.journey-index{
    font-size:18px;
}

.journey-icon{
    width:51px;
    height:51px;
}

.journey-card h3{
    font-size:13px;
    margin-bottom:7px;
}

.journey-card p{
    font-size:10px;
    line-height:1.55;
    min-height:72px;
}

.journey-pill{
    font-size:8px;
    padding:6px 8px;
}

/* ---------- Places ---------- */
.places-heading h2{
    font-size:29px;
}

.tab{
    font-size:11px;
    padding:8px 15px;
}

.search-box input,
.near-btn{
    font-size:11px;
}

.place-card{
    transition:
        transform .32s cubic-bezier(.22,.8,.2,1),
        box-shadow .32s ease;
}

.place-card:hover{
    box-shadow:0 20px 38px rgba(20,47,30,.28);
}

.place-tag,
.business-badge{
    font-size:8px;
}

.place-content{
    padding:13px;
}

.place-content strong{
    font-size:12px;
}

.place-content>div:first-child span{
    font-size:9px;
}

.place-meta{
    font-size:9px;
}

/* ---------- Stamp card ---------- */
.stamp-explainer{
    padding:32px;
}

.stamp-explainer p{
    font-size:12px;
    line-height:1.68;
}

.explain-list{
    gap:11px;
}

.explain-list span{
    font-size:11px;
}

.stamp-card-visual{
    padding:25px;
    transition:
        transform .35s cubic-bezier(.22,.8,.2,1),
        box-shadow .35s ease;
}

.stamp-card-visual:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 54px rgba(120,78,0,.12);
}

.stamp-card-head small{
    font-size:8px;
}

.stamp-card-head strong{
    font-size:14px;
}

.visit-count{
    font-size:9px;
}

.stamp-unlock small,
.stamp-unlock span{
    font-size:8px;
}

.stamp-unlock strong{
    font-size:13px;
}

/* ---------- Level system ---------- */
.level-card{
    padding:21px 12px;
    border-radius:17px;
    transition:
        transform .3s cubic-bezier(.22,.8,.2,1),
        box-shadow .3s ease,
        border-color .3s ease;
}

.level-card:hover{
    transform:translateY(-4px);
    border-color:#e3eee6;
    box-shadow:0 18px 40px rgba(33,62,42,.09);
}

.level-card h3{
    font-size:13px;
}

.level-card span{
    font-size:9px;
}

.level-benefits span{
    font-size:9px;
    padding:8px 11px;
}

/* ---------- Events ---------- */
.events-shell{
    padding:38px;
}

.events-copy p{
    font-size:11px;
    line-height:1.7;
}

.event-checks{
    gap:10px;
}

.event-checks span{
    font-size:10px;
    line-height:1.4;
}

.prize{
    min-height:92px;
    transition:
        transform .3s cubic-bezier(.22,.8,.2,1),
        box-shadow .3s ease,
        filter .3s ease;
}

.prize:hover{
    transform:translateY(-3px);
    box-shadow:0 17px 30px rgba(14,34,22,.24);
    filter:brightness(1.04);
}

.prize strong{
    font-size:19px;
}

.prize span{
    font-size:9px;
}

/* ---------- Safety ---------- */
.safety-card{
    padding:25px;
    transition:
        transform .32s cubic-bezier(.22,.8,.2,1),
        box-shadow .32s ease,
        border-color .32s ease;
}

.safety-card:hover{
    transform:translateY(-4px);
    box-shadow:0 19px 43px rgba(22,49,32,.08);
}

.safety-kicker{
    font-size:8px;
}

.safety-card h3{
    font-size:14px;
}

.safety-card li{
    font-size:10px;
    line-height:1.5;
}

/* ---------- Business ---------- */
.business-copy p{
    font-size:11px;
    line-height:1.7;
}

.business-points{
    gap:10px 14px;
}

.business-points span{
    font-size:10px;
}

.dash-stat small,
.dash-stat span{
    font-size:8px;
}

.dash-stat strong{
    font-size:19px;
}

.dash-bottom{
    font-size:9px;
}

/* The chart bars now animate ONCE when the chart enters the viewport. */
.mini-chart{
    overflow:hidden;
}

.mini-chart i{
    transform-origin:center bottom;
    transform:scaleY(0);
    opacity:.45;
    animation:none !important;
    transition:
        transform .85s cubic-bezier(.22,.8,.2,1),
        opacity .55s ease,
        filter .35s ease;
}

.mini-chart.chart-visible i{
    transform:scaleY(1);
    opacity:1;
}

.mini-chart.chart-visible i:nth-child(1){transition-delay:.03s}
.mini-chart.chart-visible i:nth-child(2){transition-delay:.10s}
.mini-chart.chart-visible i:nth-child(3){transition-delay:.17s}
.mini-chart.chart-visible i:nth-child(4){transition-delay:.24s}
.mini-chart.chart-visible i:nth-child(5){transition-delay:.31s}
.mini-chart.chart-visible i:nth-child(6){transition-delay:.38s}

/* ---------- Plans ---------- */
.plans-head p{
    font-size:12px;
    line-height:1.6;
}

.plan-tab{
    font-size:11px;
    padding:10px;
    cursor:pointer;
}

.plan-panel{
    transform:translateX(18px);
    transition:
        opacity .38s ease,
        transform .42s cubic-bezier(.22,.8,.2,1),
        filter .38s ease,
        visibility 0s linear .42s;
}

.plan-panel.active{
    transform:translateX(0);
    transition:
        opacity .38s ease,
        transform .42s cubic-bezier(.22,.8,.2,1),
        filter .38s ease,
        visibility 0s;
}

.plan-panel.exit-left{
    transform:translateX(-18px);
}

.pricing-card{
    padding:27px;
    transition:
        transform .32s cubic-bezier(.22,.8,.2,1),
        box-shadow .32s ease,
        border-color .32s ease;
}

.pricing-card:hover{
    transform:translateY(-4px);
    box-shadow:0 21px 48px rgba(28,69,39,.09);
}

.pricing-card.featured:hover{
    box-shadow:0 26px 58px rgba(40,98,56,.17);
}

.popular{
    font-size:7px;
    padding:6px 9px;
}

.pricing-top span{
    font-size:8px;
}

.pricing-card h3{
    font-size:25px;
}

.pricing-card>p{
    font-size:11px;
    line-height:1.6;
    min-height:54px;
}

.price strong{
    font-size:30px;
}

.price span{
    font-size:9px;
}

.pricing-btn{
    min-height:43px;
    font-size:10px;
    transition:
        transform .25s cubic-bezier(.22,.8,.2,1),
        box-shadow .25s ease,
        filter .25s ease;
}

.pricing-btn:hover{
    transform:translateY(-2px);
    filter:brightness(1.015);
}

.feature-list{
    gap:10px;
}

.feature-list span{
    font-size:10px;
    line-height:1.4;
}

.business-plan-note{
    font-size:10px;
    line-height:1.45;
    padding:13px 15px;
}

.pricing-note{
    font-size:9px;
}

/* ---------- CTA + footer ---------- */
.cta-kicker{
    font-size:9px;
}

.cta-shell h2{
    font-size:28px;
}

footer{
    font-size:10px;
}

/* ---------- More professional scroll reveals ---------- */
.reveal{
    opacity:0;
    transform:translateY(18px);
    filter:blur(3px);
    transition:
        opacity .72s ease,
        transform .72s cubic-bezier(.22,.8,.2,1),
        filter .62s ease;
}

.reveal.visible{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
}

/* ---------- Subtle global hover polish ---------- */
.interactive-card{
    will-change:transform;
}

.save-button,
.near-btn,
.tab,
.plan-tab,
.btn,
.pricing-btn{
    -webkit-tap-highlight-color:transparent;
}

.save-button{
    transition:
        transform .22s ease,
        background .22s ease,
        color .22s ease,
        box-shadow .22s ease;
}

.save-button:hover{
    transform:scale(1.08);
    box-shadow:0 7px 16px rgba(24,55,35,.13);
}

.near-btn{
    transition:
        transform .22s ease,
        background .22s ease,
        border-color .22s ease;
}

.near-btn:hover{
    transform:translateY(-1px);
    background:rgba(255,255,255,.17);
    border-color:rgba(255,255,255,.28);
}

/* ---------- Smooth tab panel transitions ---------- */
.place-panel{
    transition:
        opacity .38s ease,
        transform .42s cubic-bezier(.22,.8,.2,1),
        filter .35s ease,
        visibility 0s linear .42s;
}

.place-panel.active{
    transition:
        opacity .38s ease,
        transform .42s cubic-bezier(.22,.8,.2,1),
        filter .35s ease,
        visibility 0s;
}

.place-panel.exit-left{
    transform:translateX(-22px) scale(.992);
    opacity:0;
    filter:blur(4px);
}

.place-panel.enter-left{
    transform:translateX(-22px) scale(.992);
}

/* ---------- Responsive readability ---------- */
@media(max-width:1050px){
    .journey-card p{
        min-height:58px;
    }
}

@media(max-width:700px){
    .hero-text{
        font-size:15px;
    }

    .section-heading h2,
    .plans-head h2,
    .stamp-explainer h2,
    .business-copy h2,
    .events-copy h2{
        font-size:28px;
    }

    .journey-card h3{
        font-size:14px;
    }

    .journey-card p{
        font-size:11px;
        min-height:0;
    }

    .info-mini strong{
        font-size:12px;
    }

    .info-mini span{
        font-size:10px;
    }

    .place-content strong{
        font-size:13px;
    }

    .place-content>div:first-child span,
    .place-meta{
        font-size:10px;
    }

    .stamp-explainer p,
    .events-copy p,
    .business-copy p{
        font-size:12px;
    }

    .explain-list span,
    .event-checks span,
    .business-points span,
    .safety-card li,
    .feature-list span{
        font-size:11px;
    }

    .pricing-card>p{
        font-size:12px;
        min-height:0;
    }
}

@media(max-width:480px){
    .mini-badge{
        font-size:10px;
    }

    .hero h2{
        font-size:18px;
    }

    .mission-strip{
        flex-direction:column;
        gap:4px;
    }

    .mission-strip strong{
        font-size:11px;
    }

    .mission-strip span{
        font-size:10px;
    }

    .journey-pill{
        font-size:9px;
    }

    .section-kicker{
        font-size:9px;
    }
}

/* Reduced motion stays fully supported. */
@media (prefers-reduced-motion:reduce){
    .mini-chart i{
        transform:scaleY(1)!important;
        opacity:1!important;
        transition:none!important;
    }
}

/* =========================================================
   AUTH PAGES — Login + Signup
   ========================================================= */
.auth-page{min-height:100vh;background:radial-gradient(circle at 10% 15%,rgba(46,111,64,.08),transparent 28rem),radial-gradient(circle at 92% 78%,rgba(48,117,68,.07),transparent 30rem),#fefdfb}.auth-orb{position:fixed;border-radius:50%;filter:blur(95px);opacity:.11;z-index:0;pointer-events:none}.auth-orb-one{width:330px;height:330px;left:-170px;top:10%;background:#347f49}.auth-orb-two{width:380px;height:380px;right:-190px;bottom:0;background:#327b47}
.auth-header{position:relative;z-index:10;height:76px}.auth-header-inner{width:min(1220px,calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.auth-back{display:flex;gap:7px;align-items:center;color:#777a86;font-size:12px;font-weight:700;transition:.2s}.auth-back:hover{color:#2e7141;transform:translateX(-2px)}
.auth-main{position:relative;z-index:2;min-height:calc(100vh - 76px);padding:18px 24px 48px;display:flex;align-items:center;justify-content:center}.auth-shell{width:min(1140px,100%);min-height:650px;display:grid;grid-template-columns:1.03fr .97fr;overflow:hidden;border:1px solid #e5ede7;border-radius:24px;background:#fff;box-shadow:0 30px 85px rgba(26,64,37,.12)}.signup-shell{min-height:770px}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:46px 52px}.auth-form-wrap{width:min(100%,430px)}.signup-form-wrap{width:min(100%,500px)}
.auth-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:15px;color:#2d6f40;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.auth-live-dot{width:8px;height:8px;border-radius:50%;background:#36c777;animation:pulse 2s infinite}.auth-form-wrap h1{margin:0;font-family:Manrope,Inter,sans-serif;font-size:34px;line-height:1.08;letter-spacing:-1.4px}.auth-intro{margin:11px 0 0;color:#747784;font-size:12px;line-height:1.65}
.selected-plan-note{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding:10px 12px;border:1px solid #ebf3ed;border-radius:11px;background:#fdfcf8}.selected-plan-note span{color:#8b9484;font-size:9px}.selected-plan-note strong{color:#2e7141;font-size:10px}.age-notice{margin-top:17px;padding:11px 12px;display:flex;align-items:center;gap:10px;border:1px solid #ffd6dc;border-radius:12px;background:#fff8f9}.age-notice-badge{width:40px;height:40px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#f1364b,#d91f37);font-family:Manrope;font-size:14px;font-weight:800}.age-notice strong{display:block;color:#bb1d32;font-size:10px}.age-notice span{display:block;margin-top:2px;color:#9b6068;font-size:8px}
.auth-form{margin-top:23px}.auth-field{display:block;margin-bottom:14px}.auth-field>span{display:block;margin-bottom:7px;color:#4d505c;font-size:10px;font-weight:800}.field-control{min-height:47px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #dfe8e2;border-radius:11px;background:#fff;transition:border-color .22s,box-shadow .22s}.field-control:focus-within{border-color:#85b991;box-shadow:0 0 0 4px rgba(46,111,64,.09)}.field-icon{width:17px;color:#9498a5;font-size:10px;font-weight:900;text-align:center}.field-control input{width:100%;height:45px;border:0;outline:0;background:transparent;color:#1b241e;font-size:11px}.field-control input::placeholder{color:#aaaeb8}.password-toggle{border:0;background:transparent;color:#2f7342;padding:5px 0;font-size:8px;font-weight:900;cursor:pointer}.field-error{display:block;margin-top:5px;color:#d92e43;font-size:8px}.auth-field.has-error .field-control{border-color:#ef9aa6;background:#fffafb}.auth-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-form-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 18px}.auth-check{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.auth-check input{position:absolute;opacity:0}.check-ui{width:17px;height:17px;flex:0 0 auto;border:1px solid #d5e0d8;border-radius:5px;background:#fff;position:relative}.auth-check input:checked+.check-ui{background:#2f7443;border-color:#2f7443}.auth-check input:checked+.check-ui:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.auth-check>span:last-child{color:#656873;font-size:9px;line-height:1.4}.auth-check-block{margin:10px 0;align-items:flex-start}.auth-text-link{color:#2f7342;font-size:9px;font-weight:800}
.auth-submit,.auth-secondary-button{width:100%;min-height:47px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;font-weight:900;transition:transform .23s,box-shadow .23s}.auth-submit{border:0;color:#fff;background:linear-gradient(135deg,#337e48,#2f7342 58%,#307544);box-shadow:0 12px 27px rgba(46,113,65,.23);cursor:pointer}.auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 17px 34px rgba(46,113,65,.30)}.auth-submit:disabled{opacity:.72}.auth-secondary-button{border:1px solid #dee7e1;color:#444754;background:#fff}.auth-secondary-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(22,43,30,.07)}.auth-separator{position:relative;margin:20px 0 14px;text-align:center}.auth-separator:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#ecf1ed}.auth-separator span{position:relative;padding:0 9px;background:#fff;color:#9b9da7;font-size:8px}.auth-legal{text-align:center;color:#a0a2ab;font-size:7px;line-height:1.5;margin:14px 0 0}.auth-status{margin-top:11px;padding:9px 11px;border-radius:9px;font-size:8px}.auth-status.error{color:#b82337;background:#fff1f3;border:1px solid #ffd7dd}
.password-strength{margin:-6px 0 15px}.password-strength-track{height:4px;border-radius:999px;background:#ecf2ee;overflow:hidden}.password-strength-track span{display:block;width:0;height:100%;background:#d84a59;transition:.3s}.password-strength-track span[data-score="2"]{background:#e3a11e}.password-strength-track span[data-score="3"]{background:#65b860}.password-strength-track span[data-score="4"]{background:#22a95b}.password-strength small{display:block;margin-top:5px;color:#9a9ca6;font-size:7px}
.auth-visual-side{position:relative;overflow:hidden;padding:50px 45px;display:flex;align-items:center;color:#fff;background:radial-gradient(circle at 80% 5%,rgba(255,255,255,.15),transparent 27%),radial-gradient(circle at 4% 92%,rgba(52,128,74,.2),transparent 31%),linear-gradient(145deg,#317946,#2a683c 55%,#235531)}.auth-visual-side:before{content:"";position:absolute;width:330px;height:330px;right:-165px;top:-140px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.017)}.auth-visual-content{position:relative;z-index:2;width:100%}.auth-visual-badge{display:inline-flex;padding:6px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#e6f1e9;font-size:7px;font-weight:900;letter-spacing:1px}.auth-visual-content h2{max-width:440px;margin:15px 0 9px;font-family:Manrope;font-size:29px;line-height:1.18;letter-spacing:-1px}.auth-visual-content>p{color:#e1ece4;font-size:10px;line-height:1.65}.auth-benefit-list{display:grid;gap:10px;margin-top:25px}.auth-benefit-list article{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.075);transition:.25s}.auth-benefit-list article:hover{transform:translateX(3px);background:rgba(255,255,255,.105)}.auth-benefit-icon,.signup-feature-icon,.signup-security-icon{width:39px;height:39px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.1);font-weight:900}.auth-benefit-icon.blue,.signup-feature-icon.blue{color:#d5e7da}.auth-benefit-icon.gold,.signup-feature-icon.gold{color:#ffd66d}.signup-feature-icon.green{color:#a7efc3}.auth-benefit-list strong{display:block;font-size:10px}.auth-benefit-list span{display:block;margin-top:2px;color:#d6e2d9;font-size:8px}
.auth-mini-card{margin-top:21px;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.1)}.auth-mini-top,.auth-mini-bottom{display:flex;justify-content:space-between}.auth-mini-top span,.auth-mini-bottom{font-size:8px;color:#dee9e1}.auth-mini-top strong{font-size:9px}.auth-xp-track{height:7px;margin:8px 0 6px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}.auth-xp-track span{display:block;width:63%;height:100%;border-radius:999px;background:linear-gradient(90deg,#a9cfb2,#fff)}
.signup-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.signup-feature-grid article{padding:14px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.075);transition:.25s}.signup-feature-grid article:hover{transform:translateY(-3px);background:rgba(255,255,255,.105)}.signup-feature-grid strong{display:block;font-size:10px}.signup-feature-grid span{display:block;margin-top:3px;color:#d6e3da;font-size:8px}.signup-security-card{display:flex;gap:10px;margin-top:13px;padding:12px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(22,50,32,.17)}.signup-security-card strong{display:block;font-size:9px}.signup-security-card span{display:block;margin-top:3px;color:#d9e4dc;font-size:8px;line-height:1.45}
.auth-demo-toast{position:fixed;left:50%;bottom:23px;z-index:100;transform:translate(-50%,120%);padding:10px 14px;border:1px solid #e3ebe5;border-radius:11px;background:rgba(255,255,255,.95);box-shadow:0 17px 42px rgba(17,40,25,.15);color:#5b5e6a;font-size:9px;font-weight:800;transition:.35s}.auth-demo-toast.show{transform:translate(-50%,0)}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;width:min(720px,100%)}.auth-visual-side{min-height:370px;order:-1}.auth-form-side{padding:40px}.signup-shell .auth-visual-side{min-height:410px}}
@media(max-width:620px){.auth-header{height:66px}.auth-header-inner{width:calc(100% - 28px)}.auth-back{font-size:0;width:34px;height:34px;justify-content:center;border:1px solid #e4ebe6;border-radius:10px;background:#fff}.auth-back span{font-size:18px}.auth-main{padding:8px 14px 28px;align-items:flex-start}.auth-shell{border-radius:18px}.auth-form-side{padding:29px 19px}.auth-form-wrap h1{font-size:29px}.auth-visual-side{min-height:330px;padding:32px 23px}.auth-visual-content h2{font-size:25px}.auth-field-grid{grid-template-columns:1fr;gap:0}}
@media(max-width:420px){.auth-visual-side{display:none}.auth-form-side{padding:27px 17px}.signup-feature-grid{grid-template-columns:1fr}}


/* =========================================================
   NEXTGEN CLIENT V10 — PREMIUM JOURNEY ICONS
   Dedicated visual system for the seven-step flow.
   ========================================================= */
.journey-icon{
    --ji:#317745;
    --ji-soft:#f4f8f5;
    --ji-border:#e5f0e8;
    --ji-glow:rgba(49,119,69,.18);

    position:relative;
    width:54px;
    height:54px;
    margin-bottom:16px;
    overflow:hidden;
    isolation:isolate;
    border:1px solid var(--ji-border);
    border-radius:17px;
    color:var(--ji);
    background:
        radial-gradient(circle at 24% 18%,rgba(255,255,255,.96),rgba(255,255,255,0) 42%),
        linear-gradient(145deg,#fff,var(--ji-soft));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.9),
        0 10px 22px var(--ji-glow);
    transition:
        transform .32s cubic-bezier(.22,.8,.2,1),
        box-shadow .32s ease,
        border-color .32s ease;
}

.journey-icon::before{
    content:"";
    position:absolute;
    width:34px;
    height:34px;
    right:-13px;
    bottom:-14px;
    border-radius:50%;
    background:currentColor;
    opacity:.065;
    z-index:-1;
    transition:transform .35s cubic-bezier(.22,.8,.2,1),opacity .3s ease;
}

.journey-icon::after{
    content:"";
    position:absolute;
    left:-55%;
    top:-20%;
    width:38%;
    height:145%;
    opacity:0;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
    transform:rotate(17deg);
    pointer-events:none;
}

.journey-icon svg{
    position:relative;
    z-index:2;
    width:28px;
    height:28px;
    stroke-width:1.72;
    filter:drop-shadow(0 2px 3px rgba(26,63,37,.08));
    transition:transform .32s cubic-bezier(.22,.8,.2,1);
}

.journey-card:hover .journey-icon{
    transform:translateY(-3px);
    border-color:color-mix(in srgb,var(--ji) 28%,#fff);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.94),
        0 15px 28px var(--ji-glow);
}

.journey-card:hover .journey-icon::before{
    transform:scale(1.22);
    opacity:.09;
}

.journey-card:hover .journey-icon::after{
    animation:journeyIconShine .68s ease;
}

.journey-card:hover .journey-icon svg{
    transform:scale(1.055);
}

.journey-icon.green{
    --ji:#168c4b;
    --ji-soft:#e9f9ef;
    --ji-border:#cfefdb;
    --ji-glow:rgba(22,140,75,.14);
}

.journey-icon.slate{
    --ji:#646c5e;
    --ji-soft:#f1f5f2;
    --ji-border:#e0e9e3;
    --ji-glow:rgba(38,70,47,.12);
}

.journey-icon.blue{
    --ji:#275f37;
    --ji-soft:#f2f7f3;
    --ji-border:#e2eee6;
    --ji-glow:rgba(39,95,55,.15);
}

.journey-icon.gold{
    --ji:#a86a00;
    --ji-soft:#fff4d4;
    --ji-border:#f4dfa7;
    --ji-glow:rgba(168,106,0,.14);
}

.journey-icon.violet{
    --ji:#2a673b;
    --ji-soft:#f1f7f3;
    --ji-border:#deeae1;
    --ji-glow:rgba(42,103,59,.15);
}

.journey-icon.orange{
    --ji:#a86700;
    --ji-soft:#fff1cb;
    --ji-border:#f2dda3;
    --ji-glow:rgba(168,103,0,.14);
}

@keyframes journeyIconShine{
    0%{left:-55%;opacity:0}
    22%{opacity:.72}
    100%{left:125%;opacity:0}
}

@media(max-width:480px){
    .journey-icon{
        width:56px;
        height:56px;
        border-radius:18px;
    }
}


/* =========================================================
   NEXTGEN CLIENT V11 SAFE — STAMP + LEVEL SVG ICONS
   Visual-only CSS. No experimental functions required.
   ========================================================= */

.explain-list{
    display:grid;
    gap:10px;
}

.explain-list .stamp-explain-item{
    display:flex;
    align-items:center;
    gap:11px;
    min-height:48px;
    padding:7px 9px 7px 7px;
    border:1px solid transparent;
    border-radius:14px;
    color:#565965;
    background:transparent;
    transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.explain-list .stamp-explain-item b{
    font-size:11px;
    line-height:1.35;
    font-weight:700;
}

.stamp-explain-icon{
    width:38px;
    height:38px;
    flex:0 0 38px;
    display:grid;
    place-items:center;
    border:1px solid #e5f0e8;
    border-radius:12px;
    color:#307644;
    background:linear-gradient(145deg,#fff,#f4f8f5);
    box-shadow:0 8px 17px rgba(48,118,68,.13);
}

.stamp-explain-icon.green{
    color:#168d4c;
    border-color:#cfefdb;
    background:linear-gradient(145deg,#fff,#eaf9ef);
    box-shadow:0 8px 17px rgba(22,141,76,.11);
}

.stamp-explain-icon.gold{
    color:#a56a00;
    border-color:#f2dfa8;
    background:linear-gradient(145deg,#fff,#fff4d4);
    box-shadow:0 8px 17px rgba(165,106,0,.11);
}

.stamp-explain-icon svg{
    width:20px;
    height:20px;
    display:block;
    transition:transform .25s ease;
}

.stamp-explain-item:hover{
    transform:translateX(3px);
    border-color:#eef5f0;
    background:#fefdfc;
    box-shadow:0 9px 22px rgba(32,59,39,.045);
}

.stamp-explain-item:hover .stamp-explain-icon svg{
    transform:scale(1.06);
}

/* Level tier SVG badges */
.level-card{
    position:relative;
}

.level-symbol{
    width:58px;
    height:58px;
    margin:0 auto 12px;
    display:grid;
    place-items:center;
    border:1px solid #edc7aa;
    border-radius:19px;
    color:#9f6038;
    background:linear-gradient(145deg,#fff,#fcecdf);
    box-shadow:0 11px 24px rgba(145,82,43,.15);
    transition:transform .26s ease,box-shadow .26s ease;
}

.level-symbol svg{
    width:29px;
    height:29px;
    display:block;
    transition:transform .26s ease;
}

.level-card:hover .level-symbol{
    transform:translateY(-3px);
}

.level-card:hover .level-symbol svg{
    transform:scale(1.055);
}

.level-card.bronze .level-symbol{
    color:#9f6038;
    border-color:#edc7aa;
    background:linear-gradient(145deg,#fff,#fcecdf);
    box-shadow:0 11px 24px rgba(145,82,43,.15);
}

.level-card.silver .level-symbol{
    color:#747e6d;
    border-color:#dbe6de;
    background:linear-gradient(145deg,#fff,#f1f6f3);
    box-shadow:0 11px 24px rgba(100,109,94,.13);
}

.level-card.gold .level-symbol{
    color:#a66b00;
    border-color:#f2dda0;
    background:linear-gradient(145deg,#fff,#fff5d7);
    box-shadow:0 11px 24px rgba(172,112,0,.14);
}

.level-card.platinum .level-symbol{
    color:#666f60;
    border-color:#d7e3da;
    background:linear-gradient(145deg,#fff,#f0f5f1);
    box-shadow:0 11px 24px rgba(94,102,89,.13);
}

.level-card.diamond .level-symbol{
    color:#275e36;
    border-color:#dceae0;
    background:linear-gradient(145deg,#fff,#f2f7f3);
    box-shadow:0 11px 24px rgba(39,94,54,.15);
}

.diamond-shape{
    display:none;
}

@media(max-width:480px){
    .stamp-explain-icon{
        width:40px;
        height:40px;
        flex-basis:40px;
    }

    .level-symbol{
        width:60px;
        height:60px;
    }
}
