:root{font-family:Space Grotesk,Segoe UI,sans-serif;color:#112218;background:radial-gradient(circle at top left,rgba(250,202,96,.9),transparent 24%),radial-gradient(circle at top right,rgba(76,175,120,.22),transparent 22%),linear-gradient(160deg,#f7f2e8,#eef7ef 48%,#f7fbff);line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}#root{min-height:100vh}.app-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:3rem 0 4rem}.hero-panel{max-width:720px;margin-bottom:2rem}.eyebrow{margin:0 0 .75rem;color:#0c6b58;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero-panel h1{margin:0;font-size:clamp(2.4rem,6vw,4.7rem);line-height:.95;letter-spacing:-.05em}.hero-copy{max-width:52ch;margin:1rem 0 0;color:#395245;font-size:1.05rem}.card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1.5rem;align-items:start}.submission-form,.response-panel{border:1px solid rgba(17,34,24,.08);border-radius:28px;background:#ffffffbd;box-shadow:0 20px 70px #1e33291c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.submission-form{padding:1.5rem}.field-group{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.15rem}.field-group label,.field-label{font-size:.94rem;font-weight:700}.field-group input,.field-group textarea{width:100%;border:1px solid rgba(44,76,61,.14);border-radius:16px;background:#ffffffdb;padding:.95rem 1rem;color:#112218;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.field-group input:focus,.field-group textarea:focus{outline:none;border-color:#0c6b58;box-shadow:0 0 0 4px #0c6b581f;transform:translateY(-1px)}.field-group textarea{min-height:150px;resize:vertical}.field-hint{color:#507162;font-size:.9rem}.dropzone{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;border:1.5px dashed rgba(12,107,88,.42);border-radius:22px;background:linear-gradient(135deg,#0c6b580f,#faca602e);padding:1.4rem;color:#112218;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.dropzone:hover,.dropzone.drag-over{border-color:#0c6b58;box-shadow:0 18px 40px #0c6b581f;transform:translateY(-2px)}.dropzone-title{font-weight:700}.dropzone-copy{color:#426455}.file-pill{display:inline-flex;align-items:center;border-radius:999px;background:#112218;padding:.45rem .8rem;color:#f7f2e8;font-size:.88rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.field-error,.request-error{margin:0;color:#b02222;font-size:.9rem}.submit-button{border:0;border-radius:999px;background:#112218;padding:.95rem 1.4rem;color:#f7f2e8;font-weight:700;cursor:pointer;transition:transform .14s ease,opacity .14s ease}.submit-button:hover{transform:translateY(-1px)}.submit-button:disabled{opacity:.72;cursor:wait}.response-panel{padding:1.5rem}.response-panel h2{margin:0 0 .75rem;font-size:1.75rem}.response-panel p{margin-top:0;color:#395245}.response-panel dl{display:grid;gap:.9rem;margin:1.2rem 0 0}.response-panel dt{margin-bottom:.2rem;color:#507162;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.response-panel dd{margin:0;word-break:break-word}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#1122186b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30}.modal-card{width:min(460px,100%);border:1px solid rgba(17,34,24,.12);border-radius:26px;background:#fefcf7;box-shadow:0 28px 70px #11221840;padding:1.4rem;animation:modal-pop .18s ease-out}.modal-card h2{margin:0;font-size:clamp(1.6rem,4vw,2rem);letter-spacing:-.03em}.modal-card p{margin:.7rem 0 0;color:#395245}.modal-button{margin-top:1.2rem;border:0;border-radius:999px;background:#112218;padding:.7rem 1.1rem;color:#f7f2e8;font-weight:700;cursor:pointer}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:860px){.app-shell{padding-top:2rem}.card{grid-template-columns:1fr}}
