@import "https://fonts.googleapis.com/css2?family=Fraunces:wght@300;500;700&family=Manrope:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box}body{background:#f4ede5;min-height:100vh;margin:0}img,picture,video,canvas,svg{max-width:100%;display:block}button{font:inherit}input{font:inherit;border:none}#root{min-height:100vh}:root{--ink:#14120f;--muted:#6f685f;--cream:#f7f1ea;--sand:#eadfce;--clay:#c89f7b;--rose:#c56d5a;--shadow:0 20px 60px #14120f26}.app{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 0 0,#ffdcbeb3,#0000 50%),radial-gradient(circle at 85% 20%,#dcbeff59,#0000 55%),linear-gradient(120deg,#fdf6ef 0%,#efe6da 50%,#f4ede5 100%);flex-direction:column;gap:40px;padding:32px clamp(20px,4vw,56px) 64px;display:flex;position:relative;overflow:hidden}.app:before,.app:after{content:"";filter:blur(40px);opacity:.45;z-index:0;pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute}.app:before{background:radial-gradient(circle,#ffd0b0,#0000 60%);animation:14s ease-in-out infinite drift;top:-160px;left:-120px}.app:after{background:radial-gradient(circle,#d8c2ff,#0000 60%);animation:16s ease-in-out infinite reverse drift;bottom:-200px;right:-140px}.topbar{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.brand{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:.82rem;font-weight:700;display:flex}.brand-mark{background:var(--rose);border-radius:4px;width:14px;height:14px;box-shadow:0 0 0 4px #c56d5a2e}.ghost-button{color:var(--ink);background:0 0;border:1px solid #14120f33;border-radius:999px;padding:10px 18px;font-family:Manrope,sans-serif;font-weight:600;transition:all .2s}.ghost-button:hover{border-color:#14120f99;transform:translateY(-1px)}.layout{z-index:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid;position:relative}.hero{flex-direction:column;gap:20px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin:0;font-family:Manrope,sans-serif;font-size:.75rem}.hero h1{margin:0;font-family:Fraunces,serif;font-size:clamp(2.4rem,3.6vw,3.6rem);font-weight:700;line-height:1.05}.hero h1 span{color:var(--rose)}.subtext{color:var(--muted);max-width:460px;margin:0;font-family:Manrope,sans-serif;font-size:1.05rem;line-height:1.6}.hero-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffa6;border:1px solid #c89f7b40;border-radius:24px;justify-content:space-between;gap:20px;padding:24px;display:flex}.hero-card ul{color:var(--muted);margin:12px 0 0;padding-left:18px;font-family:Manrope,sans-serif;line-height:1.7}.hero-title{margin:0;font-family:Manrope,sans-serif;font-weight:600}.stat{text-align:right;min-width:120px}.stat-number{color:var(--clay);margin:0;font-family:Fraunces,serif;font-size:2.6rem}.stat-label{color:var(--muted);margin:0;font-family:Manrope,sans-serif}.card{box-shadow:var(--shadow);background:#fffdfb;border:1px solid #c89f7b33;border-radius:28px;flex-direction:column;gap:24px;padding:clamp(24px,3vw,36px);animation:.7s both float-in;display:flex;position:relative;overflow:hidden}.card:before{content:"";opacity:.7;pointer-events:none;background:linear-gradient(120deg,#fff2e5cc,#0000 60%);position:absolute;inset:0}.card-header h2{z-index:1;margin:0 0 6px;font-family:Fraunces,serif;font-size:1.8rem;position:relative}.card-header p{color:var(--muted);z-index:1;margin:0;font-family:Manrope,sans-serif;position:relative}.form{z-index:1;flex-direction:column;gap:20px;display:flex;position:relative}.upload{background:var(--cream);border:1px dashed #c89f7b80;border-radius:18px;grid-template-columns:120px 1fr;align-items:center;gap:18px;padding:16px;display:grid}.upload-preview{background-color:#0000;background-image:linear-gradient(#14120f0d,#14120f26),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='150' viewBox='0 0 120 150'%3E%3Crect width='120' height='150' rx='16' fill='%23eadfce'/%3E%3Cpath d='M30 110c12-20 48-20 60 0' stroke='%23c89f7b' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='60' cy='58' r='18' stroke='%23c89f7b' stroke-width='4' fill='none'/%3E%3C/svg%3E");background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:16px;width:120px;height:150px;box-shadow:0 10px 20px #14120f1f}.upload-meta{flex-direction:column;gap:6px;display:flex}.upload-title{margin:0;font-family:Manrope,sans-serif;font-weight:700}.upload-desc{color:var(--muted);margin:0;font-family:Manrope,sans-serif}.upload-button{background:var(--ink);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:10px 16px;font-family:Manrope,sans-serif;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.upload-button:hover{transform:translateY(-1px);box-shadow:0 12px 18px #14120f33}.upload input{display:none}.upload-filename{color:var(--muted);margin:0;font-family:Manrope,sans-serif;font-size:.85rem}.field-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.field{color:var(--ink);flex-direction:column;gap:8px;font-family:Manrope,sans-serif;font-weight:600;display:flex}.field input{background:#fff;border:1px solid #14120f33;border-radius:12px;padding:12px 14px;font-family:Manrope,sans-serif;font-size:1rem;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:var(--rose);outline:none;box-shadow:0 0 0 3px #c56d5a26}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c56d5a,#b65a47);border:none;border-radius:14px;padding:14px 18px;font-family:Manrope,sans-serif;font-weight:700;transition:transform .2s,box-shadow .2s}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #c56d5a59}.footnote{color:var(--muted);margin:0;font-family:Manrope,sans-serif;font-size:.85rem}@keyframes float-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translate(0,0)}50%{transform:translate(30px,-20px)}}@media (max-width:960px){.layout{grid-template-columns:1fr}.hero-card{text-align:left;flex-direction:column}.stat{text-align:left}}@media (max-width:640px){.app{padding:24px 20px 48px}.field-group,.upload{grid-template-columns:1fr}.upload-preview{width:100%;height:180px}}
