/* Lexi Soft Sky final — JH locked 26 Oct 2026. Drop-in for site/public/styles.css */
@import url("tokens.css"); /* or paste tokens.css :root block here */
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--font);color:var(--ink);background:var(--grad-page);background-attachment:fixed;min-height:100vh;padding:24px 16px 40px;line-height:1.45;-webkit-font-smoothing:antialiased}
.brand,.hero{max-width:640px;margin:0 auto 18px;text-align:center}
.logo{display:inline-flex;gap:2px;margin-bottom:6px}
.logo svg{width:34px;height:34px}
.logo .h1{fill:var(--sky-500)} .logo .h2{fill:var(--heart);transform:translate(-6px,6px)}
.brand h1,.hero h1{margin:0;font-size:1.9rem;font-weight:800;letter-spacing:-.02em}
.brand h1 span,.brand h1 .accent{color:var(--sky-500)}
.brand p,.tagline{margin:6px 0 0;color:var(--muted)}
.url-badge{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 14px;border-radius:var(--radius-pill);background:var(--card);border:1px solid var(--line);color:var(--sky-600);font-weight:600;font-size:.85rem;box-shadow:var(--shadow-card)}
.features{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding:0;list-style:none}
.feature{padding:6px 12px;border-radius:var(--radius-pill);background:var(--sky-100);color:var(--sky-600);font-size:.82rem;font-weight:600}
.card{max-width:640px;margin:0 auto;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px 18px;border:1px solid rgba(214,224,255,.7)}
.card.center{text-align:center}
form{display:grid;gap:16px}
label,.field>.label,fieldset legend{display:block;font-weight:600;font-size:.92rem}
.req{color:var(--sky-500)} .opt{color:var(--muted);font-weight:400;font-size:.82rem}
fieldset{border:0;margin:0;padding:0;min-width:0}
input,select,textarea{display:block;width:100%;margin-top:6px;font:inherit;color:var(--ink);background:var(--sky-50);border:1.5px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;transition:border-color .15s,box-shadow .15s,background .15s}
input::placeholder,textarea::placeholder{color:#9AA1B8}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--sky-400);background:#fff;box-shadow:var(--ring)}
.input-icon{position:relative;margin-top:6px}
.input-icon>input{margin:0;padding-left:44px}
.input-icon>.icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--sky-500);pointer-events:none;font-size:1rem}
.input-icon.prefix>.icon{font-weight:700;font-size:.9rem;color:var(--sky-600)}
.input-icon.prefix>input{padding-left:58px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip span,button.chip{display:inline-block;padding:9px 14px;border-radius:var(--radius-pill);border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s}
.chip span:hover{border-color:var(--sky-300);background:var(--sky-50)}
.chip input:checked+span,.chip.is-selected span,button.chip.is-selected{background:var(--sky-500);border-color:var(--sky-500);color:#fff;box-shadow:var(--shadow-btn)}
.chip input:focus-visible+span{box-shadow:var(--ring)}
textarea{resize:vertical;min-height:120px}
.counter{display:block;text-align:right;font-size:.78rem;color:var(--muted);margin-top:4px;font-weight:400}
.counter.is-max{color:var(--danger)}
.dropzone{display:block;margin-top:8px;border:2px dashed var(--sky-300);border-radius:var(--radius-md);background:var(--sky-50);padding:22px 14px;text-align:center;cursor:pointer;transition:all .15s}
.dropzone:hover,.dropzone.is-drag{background:var(--sky-100);border-color:var(--sky-500)}
.dropzone input[type=file]{position:absolute;opacity:0;width:1px;height:1px}
.dropzone .dz-icon{font-size:1.6rem;color:var(--sky-500)}
.dropzone .dz-title{display:block;font-weight:600;color:var(--sky-600);margin-top:4px}
.dropzone .dz-hint{display:block;font-size:.8rem;color:var(--muted);font-weight:400}
.file-list{list-style:none;padding:0;margin:8px 0 0;font-size:.82rem;color:var(--muted);font-weight:400}
button[type=submit],.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 18px;border:0;border-radius:var(--radius-pill);background:var(--grad-btn);color:#fff;font:inherit;font-weight:700;font-size:1.02rem;cursor:pointer;box-shadow:var(--shadow-btn);text-decoration:none;transition:transform .1s,filter .15s}
button[type=submit]::after,.btn.heart::after{content:"💛"}
button[type=submit]:hover,.btn:hover{filter:brightness(1.05)}
button[type=submit]:active,.btn:active{transform:translateY(1px)}
button:disabled,input:disabled,textarea:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}
.err{margin:0;padding:10px 14px;border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger);font-size:.88rem}
input:user-invalid,textarea:user-invalid{border-color:var(--danger)}
footer{max-width:640px;margin:18px auto 0;text-align:center;color:var(--muted);font-size:.85rem}
.thanks h2{margin:6px 0 4px;font-size:1.6rem}
.caseid{font-size:1.8rem;font-weight:800;color:var(--sky-600);letter-spacing:.04em;background:var(--sky-100);display:inline-block;padding:8px 18px;border-radius:var(--radius-md);margin:6px 0 14px}
.card.center .btn{margin-top:16px}
[hidden]{display:none!important}
@media(min-width:600px){body{padding-top:40px}.card{padding:28px 28px}}
