:root{
    --bg:#f6f8fb;
    --surface:#ffffff;
    --text:#111827;
    --muted:#536070;
    --line:#e3e8ef;
    --navy:#020733;
    --navy-2:#182957;
    --blue:#2f80ed;
    --blue-soft:#5b9cff;
    --shadow:0 20px 60px rgba(15,27,45,.10);
    --max:1728px;
    --content-max:1240px;
    --article-max:860px;
    --header-height:88px;
    --header-logo-height:46px;
    --nav-font:14px;
    --hero-title:clamp(3.15rem, 4.45vw, 5.45rem);
    --section-title:clamp(2.6rem, 3.8vw, 4.75rem);
    --body-large:clamp(1.25rem, 1.35vw, 1.65rem);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.5;
    font-feature-settings:"kern", "liga", "calt";
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

img{
    max-width:100%;
    display:block;
}

a{
    color:inherit;
    text-decoration:none;
}

.container{
    width:min(var(--content-max), calc(100% - 40px));
    margin:0 auto;
}

.article-container{
    width:min(var(--article-max), calc(100% - 40px));
    margin:0 auto;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    border:1px solid transparent;
    font-weight:800;
    line-height:1;
    transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.btn:hover{
    transform:translateY(-1px);
}

.btn:disabled{
    cursor:not-allowed;
    opacity:.68;
    transform:none;
}

.form-status{
    grid-column:1 / -1;
    min-height:22px;
    margin:0;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
    font-weight:800;
}

.form-status:empty{
    display:none;
}

.form-status.is-success{
    color:#166534;
}

.form-status.is-error{
    color:#b42318;
}

.form-status.is-loading{
    color:var(--navy-2);
}

.text-blue{
    color:var(--blue-soft);
}

section{
    padding:84px 0;
}
