:root{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif;color:#1f1b2e;background-color:#f6f4f0;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 20%,rgba(255,239,185,.5),transparent 60%),#f6f4f0}a{color:inherit}#app{width:min(1100px,100%);margin:0 auto;padding:3rem 1.5rem 4rem}.landing{display:flex;flex-direction:column;gap:4rem}.landing__header{display:grid;gap:2.5rem;align-items:center;background:linear-gradient(135deg,#ffd65e2e,#fff5e0cc);padding:3rem;border-radius:24px;box-shadow:0 24px 60px #1a172414}.landing__logo{width:clamp(140px,20vw,220px);justify-self:center;filter:drop-shadow(0 12px 28px rgba(196,159,56,.5))}.landing__intro{text-align:center}.landing__eyebrow{margin:0 0 .75rem;letter-spacing:.2em;text-transform:uppercase;font-size:.85rem;color:#83652b}.landing__title{margin:0 0 1rem;font-size:clamp(2.2rem,4vw,3rem);color:#201c30;line-height:1.3}.landing__lead{margin:0 auto 2rem;max-width:540px;color:#4c485a;font-size:1.05rem}.landing__cta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.75rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:2px solid transparent;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1f1b2e1f}.btn:focus-visible{outline:3px solid rgba(255,214,94,.7);outline-offset:4px}.btn--primary{background:linear-gradient(135deg,#f7d16b,#eaa848);color:#1f1b2e}.btn--primary:hover{border-color:#eaa84899}.btn--ghost{background:transparent;border-color:#1f1b2e26;color:#1f1b2e}.btn--ghost:hover{border-color:#1f1b2e59}.landing__features{display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.landing__features article{background:#fff;border-radius:20px;padding:2rem;box-shadow:0 16px 40px #1a172414}.landing__features h2{margin:0 0 .75rem;font-size:1.35rem;color:#2d2740}.landing__features p{margin:0;color:#4c485a}.landing__login{background:#fff;border-radius:24px;padding:3rem;box-shadow:0 18px 50px #1a17241a;display:grid;gap:2rem;align-items:start}.landing__login h2{margin:0 0 .5rem;font-size:2rem;color:#2d2740}.landing__login p{margin:0;color:#4c485a}.login-form{display:grid;gap:1.25rem}.login-form__field{display:flex;flex-direction:column;gap:.5rem}.login-form__field span{font-weight:600;color:#37314d}.login-form__field input{border:1px solid rgba(31,27,46,.18);border-radius:12px;padding:.75rem 1rem;font-size:1rem;transition:border-color .12s ease,box-shadow .12s ease}.login-form__field input:focus{border-color:#eaa848b3;box-shadow:0 0 0 3px #eaa84840;outline:none}.login-form__submit{justify-self:flex-start;min-width:160px}.login-form__submit[disabled]{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.login-form__hint{font-size:.9rem;color:#625d74}.login-form__hint a{color:#eaa848;border-bottom:1px solid rgba(234,168,72,.5);text-decoration:none}.login-form__hint a:hover{border-bottom-color:#eaa848e6}.login-form__message{min-height:1.2rem;font-size:.95rem;font-weight:600}.login-form__message[data-tone=success]{color:#2f855a}.login-form__message[data-tone=error]{color:#c53030}.login-form__message[data-tone=info]{color:#2b6cb0}.landing__contact{background:linear-gradient(135deg,#2c263deb,#433758e0);color:#f8f5eb;text-align:center;padding:3rem 2rem;border-radius:24px;box-shadow:0 20px 50px #1a172426}.landing__contact h2{margin:0 0 1rem;font-size:2rem}.landing__contact p{margin:0;font-size:1.05rem}.landing__contact a{color:#ffe6ac;text-decoration:none;border-bottom:1px solid rgba(255,230,172,.4)}.landing__contact a:hover{border-bottom-color:#ffe6accc}@media(min-width:880px){.landing__header{grid-template-columns:auto 1fr;text-align:left}.landing__logo{justify-self:start}.landing__intro{text-align:left}.landing__cta{justify-content:flex-start}.landing__login{grid-template-columns:1fr 1fr}}
