:root{--color-bg:#f0fdf4;--color-surface:#ffffff;--color-border:#e2e8f0;--color-text:#0f172a;--color-muted:#64748b;--color-primary:#10b981;--color-primary-soft:#6ee7b7;--color-accent:#0284c7;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2933;--gray-900:#111827;--font-heading:"Poppins","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-body:"Nunito","Inter","Roboto","SF Pro Text",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"Fira Code","SF Mono",ui-monospace,Menlo,Monaco,Consolas,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.7;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--space-48:12rem;--space-64:16rem;--space-96:24rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(15,23,42,0.05);--shadow-sm:0 4px 10px rgba(15,23,42,0.06);--shadow-md:0 10px 25px rgba(15,23,42,0.08);--shadow-lg:0 18px 45px rgba(15,23,42,0.12);--transition-fast:120ms ease-out;--transition-base:200ms ease-out;--transition-slow:320ms ease-out;--container-max:1120px}*,*::before,*::after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:clip;max-width:100%}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;background:radial-gradient(circle at top,#ffffff 0,#f0fdf4 52%,#e5f7ec 100%);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{border:none;background:none;padding:0;cursor:pointer}a{text-decoration:none;color:inherit}p,h1,h2,h3,h4,h5,h6{margin:0}ul,ol{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;letter-spacing:0.02em;color:var(--color-text)}h1{font-size:var(--text-4xl);line-height:var(--leading-tight)}h2{font-size:var(--text-3xl);line-height:var(--leading-tight)}h3{font-size:var(--text-2xl);line-height:var(--leading-snug)}h4{font-size:var(--text-xl);line-height:var(--leading-snug)}h5{font-size:var(--text-lg);line-height:var(--leading-normal)}h6{font-size:var(--text-base);line-height:var(--leading-normal);text-transform:uppercase;letter-spacing:0.08em}p{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);margin-bottom:var(--space-4)}a:hover{color:var(--color-primary)}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--space-4);padding-right:var(--space-4)}.layout-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;border-radius:999px;padding:0.75rem 1.5rem;font-family:var(--font-heading);font-weight:600;font-size:var(--text-sm);letter-spacing:0.06em;text-transform:uppercase;border:1px solid transparent;transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast),border-color var(--transition-base)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#ffffff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#0ea271,#0473b1)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-outline{background:rgba(255,255,255,0.85);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-xs)}.btn-outline:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);color:var(--color-primary)}.btn-ghost{background:transparent;color:var(--color-text)}.btn:disabled,.btn[aria-disabled=true]{opacity:0.6;cursor:not-allowed;box-shadow:none;transform:none}.hero-grid{display:grid;grid-template-columns:3fr 2fr;gap:var(--space-8);align-items:stretch}.hero-left{display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);padding:var(--space-8);background:radial-gradient(circle at top left,#ecfeff 0,#ffffff 48%,#f0fdf4 100%);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.hero-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.4rem 0.9rem;border-radius:999px;background:rgba(16,185,129,0.06);border:1px solid rgba(16,185,129,0.18);color:var(--color-success);font-size:var(--text-sm);font-weight:600}.hero-badge-score{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#ffffff;font-weight:700;font-size:var(--text-sm);box-shadow:0 0 0 4px rgba(16,185,129,0.18)}.hero-title{font-size:clamp(2.2rem,3vw,2.8rem);line-height:var(--leading-tight)}.hero-subtitle{font-size:var(--text-lg);color:var(--color-muted);max-width:36rem}.hero-cta-row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}.hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm);color:var(--color-muted)}.hero-meta-item{display:flex;align-items:center;gap:0.4rem}.hero-right{position:relative;padding:var(--space-6);display:flex;align-items:center;justify-content:center}.hero-card-frame{position:relative;width:100%;max-width:420px;aspect-ratio:4/5;border-radius:24px;background:radial-gradient(circle at top,var(--gray-50) 0,#e0f2fe 40%,#bbf7d0 100%);box-shadow:0 22px 60px rgba(15,23,42,0.25);overflow:hidden;border:1px solid rgba(148,163,184,0.6)}.hero-card-header{position:absolute;top:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0.4rem;padding:0.7rem 0.9rem;font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.1em;color:#e5f3ff;background:linear-gradient(135deg,rgba(15,23,42,0.96),rgba(15,23,42,0.82));backdrop-filter:blur(10px);border-bottom:1px solid rgba(148,163,184,0.6);z-index:2}.hero-card-badge{display:inline-flex;align-items:center;gap:0.35rem;padding:0.25rem 0.6rem;border-radius:999px;background:rgba(15,23,42,0.75);border:1px solid rgba(148,163,184,0.7);font-size:0.65rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.hero-card-score{display:inline-flex;align-items:center;gap:0.25rem;font-weight:600;color:#bbf7d0;flex-shrink:0;font-size:0.65rem}.hero-card-body{position:absolute;inset:3.5rem 0.9rem 3.2rem;display:grid;grid-template-rows:minmax(0,1fr)auto;gap:0.75rem}.hero-city-layer{position:relative;border-radius:18px;background:conic-gradient(from 210deg at 30% 10%,#0f172a,#1d283a,#0369a1,#22c55e,#22c55e,#0f172a);padding:0.12rem;box-shadow:0 12px 35px rgba(15,23,42,0.32)}.hero-city-inner{position:relative;border-radius:16px;background:linear-gradient(145deg,#0b1220 0,#020617 40%,#022c22 70%,#052e41 100%);overflow:hidden}.hero-city-grid{position:absolute;inset:12% 6%;background-image:linear-gradient(120deg,rgba(148,163,184,0.22) 1px,transparent 1px),linear-gradient(210deg,rgba(148,163,184,0.2) 1px,transparent 1px);background-size:32px 28px;opacity:0.55;mix-blend-mode:soft-light}.hero-island-stack{position:absolute;inset:11% 9%;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:4%;transform:skewY(-10deg) rotateX(18deg);transform-origin:50% 90%}.hero-tile{border-radius:10px;background:linear-gradient(145deg,#16a34a,#22c55e);box-shadow:0 8px 16px rgba(15,23,42,0.35);position:relative;overflow:hidden}.hero-tile:nth-child(3n){background:linear-gradient(150deg,#0ea5e9,#22c55e)}.hero-tile:nth-child(2){background:linear-gradient(150deg,#22c55e,#bbf7d0)}.hero-tile-road{position:absolute;inset:38% 14%;background:linear-gradient(90deg,#020617,#020617 48%,#1e293b 48%,#1e293b 52%,#020617 52%,#020617 100%);opacity:0.9}.hero-water-ring{position:absolute;inset:auto -18% -26%;height:46%;background:radial-gradient(circle at 50% -8%,rgba(191,219,254,0.9) 0,rgba(59,130,246,0.5) 26%,rgba(15,23,42,0.95) 68%,rgba(15,23,42,0) 74%);opacity:0.9}.hero-card-footer{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:space-between;align-items:center;padding:0.65rem 0.85rem;border-radius:14px;background:rgba(15,23,42,0.92);border:1px solid rgba(148,163,184,0.9);backdrop-filter:blur(14px);color:#e5e7eb;font-size:var(--text-xs)}.hero-tag-row{display:flex;flex-wrap:wrap;gap:0.4rem}.hero-tag{padding:0.1rem 0.55rem;border-radius:999px;border:1px solid rgba(148,163,184,0.8);background:rgba(15,23,42,0.9);color:#cbd5f5}.hero-footnote{font-size:0.68rem;color:#9ca3af}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--space-6)}.card-soft{background:rgba(255,255,255,0.9);backdrop-filter:blur(8px)}.card-outline{background:transparent;border-style:dashed}.card-header{margin-bottom:var(--space-4)}.card-title{font-size:var(--text-xl);margin-bottom:var(--space-1)}.card-meta{font-size:var(--text-sm);color:var(--color-muted)}.card-body{font-size:var(--text-sm);color:var(--color-text)}.input{width:100%;padding:0.75rem 0.9rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:rgba(255,255,255,0.95);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base)}.input::placeholder{color:var(--gray-400)}.input:focus-visible{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(2,132,199,0.45),0 10px 30px rgba(15,23,42,0.18);background:#ffffff}.input-error{border-color:var(--color-danger)}.input-disabled{background:var(--gray-100);cursor:not-allowed;opacity:0.7}.field-label{display:block;margin-bottom:0.4rem;font-size:var(--text-sm);font-weight:600;color:var(--gray-700);font-family:var(--font-heading)}.field-helper{margin-top:0.35rem;font-size:var(--text-xs);color:var(--color-muted)}.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0}.nav-logo{font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);letter-spacing:0.12em;text-transform:uppercase;display:flex;align-items:center;gap:0.5rem}.nav-logo-mark{width:1.75rem;height:1.75rem;border-radius:0.55rem;background:conic-gradient(from 200deg,#22c55e,#0ea5e9,#22c55e);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(16,185,129,0.35)}.nav-logo-text span{display:block;font-size:0.65rem;letter-spacing:0.2em;color:var(--gray-500)}.nav-menu{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:0.12em;font-weight:600}.nav-link{padding:0.4rem 0.2rem;border-bottom:2px solid transparent;color:var(--gray-600)}.nav-link[aria-current=page],.nav-link-active{color:var(--color-text);border-bottom-color:var(--color-primary)}.nav-link:hover{color:var(--color-primary)}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0.15rem 0.6rem;font-size:var(--text-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase}.badge-mint{background:rgba(16,185,129,0.06);color:var(--color-success);border:1px solid rgba(16,185,129,0.2)}.badge-sky{background:rgba(2,132,199,0.06);color:var(--color-accent);border:1px solid rgba(2,132,199,0.2)}.badge-neutral{background:rgba(148,163,184,0.12);color:var(--gray-700);border:1px solid rgba(148,163,184,0.4)}.score-pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.25rem 0.7rem;border-radius:999px;background:rgba(15,23,42,0.96);color:#e5f3ff;font-size:var(--text-xs);box-shadow:0 10px 30px rgba(15,23,42,0.45)}.score-pill-value{font-weight:700;color:#22c55e}.score-pill-label{opacity:0.8;text-transform:uppercase;letter-spacing:0.09em}.island-tag{display:inline-flex;align-items:center;gap:0.35rem;padding:0.2rem 0.65rem;border-radius:999px;background:rgba(240,253,250,0.9);border:1px solid rgba(16,185,129,0.35);font-size:var(--text-xs);color:var(--color-success)}.island-dot{width:0.4rem;height:0.4rem;border-radius:999px;background:radial-gradient(circle at 30% 30%,#bbf7d0 0,#16a34a 40%,#166534 100%)}.focus-visible:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid transparent;box-shadow:0 0 0 2px #ffffff,0 0 0 4px var(--color-accent);border-radius:inherit}html:focus-within{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important}}@media (max-width:960px){.hero-grid{grid-template-columns:1fr;gap:var(--space-6)}.hero-right{order:-1}.hero-left{padding:var(--space-6)}}@media (max-width:640px){.container{padding-left:var(--space-3);padding-right:var(--space-3)}.nav-menu{display:none}.hero-left{padding:var(--space-5)}.hero-cta-row{flex-direction:column;align-items:stretch}.hero-card-frame{max-width:360px}}ul{list-style:none!important}.nav-toggle{flex-direction:column}