:root {
    --page-bg: #fff8fa;
    --pink: #e76589;
    --pink-deep: #dc557e;
    --text: #3f3940;
    --muted: #83777f;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--page-bg);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;
    color: var(--text);
    background:
        radial-gradient(circle at 50% 12%, rgba(231, 101, 137, .1), transparent 30rem),
        linear-gradient(180deg, #fffafb 0%, #fff6f8 100%);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "SF Pro Text", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.public-home {
    min-height: 100vh;
    min-height: 100svh;
    display: grid;
    place-items: center;
    padding: max(30px, env(safe-area-inset-top)) 22px max(34px, env(safe-area-inset-bottom));
}

.home-shell {
    width: min(100%, 500px);
    text-align: center;
}

.home-logo {
    display: block;
    width: min(74vw, 320px);
    max-height: 118px;
    object-fit: contain;
    margin: 0 auto 26px;
}

.home-shell h1 {
    margin: 0;
    color: var(--pink);
    font-size: clamp(2.1rem, 8vw, 3.5rem);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: 0;
}

.home-shell p {
    max-width: 390px;
    margin: 18px auto 30px;
    color: var(--muted);
    font-size: clamp(1rem, 3.8vw, 1.2rem);
    line-height: 1.55;
}

.home-login {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 34px;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(135deg, #f37d9d 0%, var(--pink-deep) 100%);
    box-shadow:
        0 18px 34px rgba(231, 101, 137, .24),
        0 8px 18px rgba(231, 101, 137, .16);
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
}

.home-login:active {
    transform: translateY(1px);
}
