:root { --ink:#172018; --lime:#caff6b; --cream:#f5f3ec; --muted:#657063; --line:#d9ddd5; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--cream); color:var(--ink); font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.page-shell { width:min(1120px, calc(100% - 40px)); margin:0 auto; padding:clamp(48px, 9vw, 112px) 0; }
header { max-width:680px; margin-bottom:48px; }
.eyebrow, .panel-label { margin:0 0 14px; color:#5a7143; font-size:.72rem; font-weight:800; letter-spacing:.12em; }
h1, h2 { margin:0; letter-spacing:-.05em; line-height:1; } h1 { font-size:clamp(2.65rem, 6vw, 5rem); } h2 { font-size:clamp(1.9rem, 3vw, 2.75rem); }
.intro, .profile-panel > p:not(.panel-label) { color:var(--muted); line-height:1.6; font-size:1rem; }
.panels { display:grid; grid-template-columns:1.18fr .82fr; gap:18px; }
.panel { border:1px solid var(--line); border-radius:22px; padding:clamp(25px, 4vw, 42px); min-height:475px; }
.generate-panel { background:#fff; } .profile-panel { background:var(--ink); color:#fff; display:flex; flex-direction:column; }
.profile-panel .panel-label { color:var(--lime); } .profile-panel > p:not(.panel-label) { color:#cad0c7; max-width:350px; }
form { display:grid; gap:13px; margin-top:32px; } label { display:grid; gap:6px; font-size:.8rem; font-weight:700; }
.business-details { margin:20px 0 -5px; color:var(--muted); font-weight:650; }
input { width:100%; border:1px solid var(--line); border-radius:9px; padding:12px; color:var(--ink); background:#fff; font:inherit; outline:none; } input:focus { border-color:#78a93f; box-shadow:0 0 0 3px #e5f8cf; }
button, .profile-link { border:0; border-radius:9px; padding:14px 16px; background:var(--lime); color:var(--ink); font:inherit; font-weight:800; cursor:pointer; text-decoration:none; transition:transform .15s ease, opacity .15s ease; }
button:hover, .profile-link:hover { transform:translateY(-2px); } button:disabled { cursor:wait; opacity:.65; transform:none; }
form button { margin-top:7px; display:flex; justify-content:space-between; }
.review-output { margin-top:22px; border-top:1px solid var(--line); padding-top:18px; } .review-output p { margin:0 0 13px; line-height:1.55; } .copy-button { padding:10px 13px; background:#e6eadf; font-size:.85rem; }
.status { min-height:1.3em; margin:14px 0 0; color:var(--muted); font-size:.85rem; }
.profile-link { margin-top:auto; display:flex; justify-content:space-between; }
@media (max-width: 720px) { .page-shell { width:min(100% - 28px, 560px); } .panels { grid-template-columns:1fr; } .panel { min-height:auto; } .profile-panel { min-height:300px; } }
