.card-page{min-height:100vh;background:var(--color-bg)}.card-page .page{max-width:520px;margin:0 auto;padding:2rem 1rem 3.5rem}.card-page .hero{text-align:center;margin-bottom:1.75rem}.card-page .hero__eyebrow{margin:0 0 .35rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}.card-page .hero h1{margin:0 0 .5rem;font-size:clamp(1.35rem,5vw,1.85rem);color:var(--color-primary-dark)}.card-page .hero__lead{margin:0 auto;max-width:40ch;color:var(--color-muted);font-size:1rem}.card-page .page__form-wrap{display:flex;flex-direction:column;gap:1rem}.card-page .form-hint{margin:0;font-size:.9rem;color:var(--color-muted);text-align:center}.card-page .card-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.card-page .field{margin-bottom:1.25rem}.card-page .field:last-child{margin-bottom:0}.card-page .field label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.95rem}.card-page .field input[type=text],.card-page .field textarea{width:100%;padding:.75rem .85rem;font:inherit;border:1px solid var(--color-border);border-radius:8px;background:#fff}.card-page .field input[type=text]:focus,.card-page .field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.card-page .field input[type=file]{width:100%;min-height:var(--touch-min);font-size:.9rem}.card-page .field-error{margin:.35rem 0 0;color:var(--color-error);font-size:.875rem}.card-page .word-count{margin:.35rem 0 0;font-size:.8rem;color:var(--color-muted);text-align:right}.card-page .word-count--over{color:var(--color-error);font-weight:600}.card-page .photo-preview{display:block;width:72px;height:72px;margin-top:.5rem;object-fit:cover;border-radius:50%;border:2px solid var(--color-border)}.card-page .btn-text{margin-top:.5rem;padding:0;border:none;background:none;color:var(--color-primary);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer;min-height:var(--touch-min)}.card-page .btn-create{width:100%}.card-page .btn-create--incomplete{opacity:.85}@media (min-width:640px){.card-page .page{padding-top:2.5rem}.card-page .hero h1{font-size:2rem}}