*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f8fafc,#eef2ff);color:#0f172a}a{color:inherit;text-decoration:none}.topbar{position:-webkit-sticky;position:sticky;top:0;background:#0f172a;color:#e2e8f0;z-index:10}.topbar-inner{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:700;letter-spacing:.4px}.nav{display:flex;gap:18px}.shell{max-width:1100px;margin:0 auto;padding:32px 20px 64px}.hero{background:#fff;border-radius:20px;box-shadow:0 18px 40px rgba(15,23,42,.12);padding:36px}.hero h1{margin:0 0 12px;font-size:2.2rem}.hero p{margin:0;color:#334155}.hero-landing{background:radial-gradient(circle at top right,#bfdbfe 0,#dbeafe 20%,#fff 60%)}.hero-split{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:20px;gap:20px;align-items:center}.hero-frame-img{width:100%;height:auto;object-fit:contain}.eyebrow{display:inline-block;background:#dbeafe;color:#1e3a8a;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:700;margin-bottom:12px}.hero-actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}.btn-secondary{background:#fff;color:#1e293b;border:1px solid #cbd5e1}.card-grid{margin-top:20px;display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:#fff;border-radius:14px;padding:18px;border:1px solid #e2e8f0}.section-block{margin-top:30px}.section-head h2{margin:0;font-size:1.6rem}.section-head p{margin:8px 0 0;color:#64748b}.stats-grid{margin-top:24px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{background:#0f172a;color:#e2e8f0;border-radius:14px;padding:18px}.stat-card h3{margin:0 0 8px;font-size:1.7rem}.stat-card p{margin:0;color:#cbd5e1;font-size:.9rem}.feature-card{border:1px solid #dbeafe}.feature-list{margin:12px 0 0;padding-left:18px;color:#334155}.formats-grid,.photo-grid{margin-top:14px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.photo-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.photo-img{width:100%;height:170px;object-fit:cover;display:block}.photo-meta{padding:10px 12px 12px}.photo-meta p{margin:0 0 6px;font-size:.9rem;color:#334155}.photo-meta a{font-size:.82rem;color:#1d4ed8}.format-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.format-card h4{margin:0 0 8px}.format-card p{margin:0;color:#64748b}.cta-band{margin-top:30px;background:linear-gradient(135deg,#1d4ed8,#4f46e5);color:#eef2ff;border-radius:18px;padding:26px}.cta-band h2{margin:0 0 8px}.cta-band p{margin:0;color:#dbeafe}.form-card{max-width:520px;margin:36px auto;background:#fff;border-radius:14px;box-shadow:0 14px 30px rgba(15,23,42,.1);padding:24px}.auth-shell{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 56px);padding-top:24px;padding-bottom:48px}.auth-card{width:100%;max-width:400px;padding:2.25rem 2rem;background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;border:1px solid rgba(226,232,240,.9);box-shadow:0 1px 2px rgba(15,23,42,.04),0 24px 48px rgba(15,23,42,.08)}.auth-kicker{margin:0 0 .75rem;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#64748b}.auth-title{margin:0 0 .35rem;font-size:1.625rem;font-weight:600;letter-spacing:-.03em;color:#0f172a}.auth-lede{margin:0 0 1.5rem;font-size:.9375rem;color:#64748b;line-height:1.5}.auth-banner{margin:-.25rem 0 1.25rem;padding:.65rem .85rem;font-size:.8125rem;line-height:1.45;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px}.banner-warn{margin:0 0 1.25rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.45;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px}.banner-warn a{text-decoration:underline;font-weight:600}.auth-form{gap:1rem}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:.45rem;font-size:.8125rem;font-weight:500;color:#334155}.auth-field input{border:1px solid #e2e8f0;border-radius:12px;padding:.7rem .95rem;font-size:1rem;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.auth-field input::placeholder{color:#94a3b8}.auth-field input:hover{border-color:#cbd5e1}.auth-field input:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.15)}.auth-submit{margin-top:.25rem;border:none;border-radius:12px;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;letter-spacing:.01em;color:#fff;background:linear-gradient(180deg,#2563eb,#1d4ed8);box-shadow:0 2px 6px rgba(37,99,235,.35);cursor:pointer;transition:opacity .15s ease,transform .1s ease}.auth-submit:hover:not(:disabled){transform:translateY(-1px)}.auth-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.auth-error{margin:0;font-size:.8125rem;color:#b91c1c}.auth-email-line{margin:0 0 .75rem;font-size:.8125rem;color:#64748b;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.auth-link-ghost{margin:0;padding:0;border:none;background:none;font-size:inherit;color:#2563eb;cursor:pointer;text-decoration:underline}.auth-footer{margin:1.5rem 0 0;text-align:center;font-size:.875rem;color:#64748b}.auth-link{color:#2563eb;font-weight:500}.auth-link:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.field input,.field select{border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:.95rem}.captcha-image{width:220px;height:70px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}.btn{border:0;background:#2563eb;color:#fff;border-radius:10px;padding:11px 14px;cursor:pointer;font-weight:600}.btn:disabled{opacity:.7;cursor:not-allowed}.muted{color:#64748b;font-size:.92rem}.error{color:#b91c1c;margin-top:8px}.success{color:#15803d;margin-top:8px}.link-muted{margin-top:8px;background:none;border:none;padding:0;color:#64748b;font-size:.85rem;text-decoration:underline;cursor:pointer}.link-muted:hover{color:#1d4ed8}.link-muted:disabled{opacity:.5;cursor:not-allowed}@media (max-width:860px){.hero-split{grid-template-columns:1fr}}