@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600&family=Space+Grotesk:wght@400;500;600&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{font-family:Space Grotesk,sans-serif;background:radial-gradient(circle at top,#f9f3ea,#f3e6da 45%,#e7d8ca);color:#1e1a17;min-height:100vh}body:before{content:"";position:fixed;inset:0;background:linear-gradient(120deg,rgba(201,105,58,.08),transparent 60%),radial-gradient(circle at 20% 20%,rgba(231,175,129,.24),transparent 55%),radial-gradient(circle at 85% 30%,rgba(255,255,255,.6),transparent 40%);z-index:-1}#root{min-height:100vh}input,button{font-family:inherit}:root{--ink: #1e1a17;--muted: #5f5750;--paper: #f6f0e8;--accent: #c9693a;--accent-dark: #9c4a27;--edge: #e2d6c9;--shadow: rgba(43, 31, 23, .12)}.page{min-height:100vh;padding:72px clamp(20px,6vw,120px);display:grid;gap:48px;align-items:center;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));color:var(--ink)}.hero{display:grid;gap:24px;animation:rise .8s ease-out both}.pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;border-radius:999px;background:#c9693a24;color:var(--accent-dark);font-family:Space Grotesk,sans-serif;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase}.hero h1{font-family:Playfair Display,serif;font-size:clamp(2.4rem,3.4vw,3.8rem);margin:0}.hero p{margin:0;color:var(--muted);font-size:1.05rem;max-width:32rem}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hero-stats div{padding:16px;border-radius:18px;background:#ffffffa6;border:1px solid var(--edge);box-shadow:0 18px 30px -24px var(--shadow)}.hero-stats strong{display:block;font-family:Space Grotesk,sans-serif;font-size:1.1rem}.hero-stats span{color:var(--muted);font-size:.9rem}.card{background:#ffffffd1;border-radius:28px;padding:32px;border:1px solid var(--edge);box-shadow:0 28px 60px -40px var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:rise .9s ease-out .1s both}.card-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.card-header h2{margin:0 0 8px;font-family:Playfair Display,serif;font-size:2rem}.card-header p{margin:0;color:var(--muted)}.step{display:grid;justify-items:end;gap:4px}.step-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-family:Space Grotesk,sans-serif}.step-count{font-size:1.2rem;font-family:Space Grotesk,sans-serif}.form{display:grid;gap:24px}.photo-upload{cursor:pointer}.photo-upload input{display:none}.photo-frame{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:20px;padding:20px;border-radius:20px;border:1px dashed var(--edge);background:linear-gradient(135deg,#ffffffe6,#f6f0e8b3)}.photo-ring{width:84px;height:84px;border-radius:30px;background:radial-gradient(circle at top,#c9693a66,#c9693a1a);border:1px solid rgba(201,105,58,.4);position:relative}.photo-ring:after{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:var(--accent-dark);font-size:2rem;font-family:Space Grotesk,sans-serif}.photo-text{display:grid;gap:6px}.photo-text strong{font-size:1.05rem}.photo-text span{color:var(--muted);font-size:.92rem}.fields{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.fields label{display:grid;gap:10px;font-family:Space Grotesk,sans-serif;font-size:.9rem}.fields input{border:1px solid var(--edge);border-radius:14px;padding:12px 14px;font-size:1rem;font-family:Space Grotesk,sans-serif;background:#fff;color:var(--ink)}.fields input:focus{outline:2px solid rgba(201,105,58,.4);border-color:#c9693a99}.primary{justify-self:start;padding:14px 28px;border-radius:999px;border:none;background:var(--accent);color:#fff;font-size:1rem;font-family:Space Grotesk,sans-serif;cursor:pointer;box-shadow:0 16px 30px -18px #9c4a2799;transition:transform .2s ease,box-shadow .2s ease}.primary:hover{transform:translateY(-1px);box-shadow:0 22px 32px -20px #9c4a2799}@media(max-width:720px){.page{padding:56px 20px}.card-header{flex-direction:column;align-items:flex-start}.step{justify-items:start}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
