:root{
    --bg-top:#f7f4ff;
    --bg-mid:#eef6ff;
    --bg-bottom:#fffaf2;
    --surface:rgba(255,255,255,.8);
    --surface-strong:rgba(255,255,255,.9);
    --border:rgba(0,0,128,.1);
    --text:#000080;
    --link:#0056d6;
    --accent:#4d66ff;
    --accent-2:#8b96ff;
    --accent-soft:rgba(77,102,255,.11);
    --shadow:0 1.4rem 3rem rgba(44,70,145,.12);
    --shadow-soft:0 .7rem 1.6rem rgba(44,70,145,.08);
    --radius-xl:1.7rem;
    --radius-lg:1.2rem;
    --wrap-max:90rem;
    --text-wide:62rem;
    --text-medium:56rem;
    --contact-max:58rem;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    color:var(--text);
    font-family:Arial, Helvetica, sans-serif;
    font-size:1rem;
    line-height:1.4;
    background:
        radial-gradient(circle at 9% 10%, rgba(172,220,255,.44), transparent 24%),
        radial-gradient(circle at 92% 8%, rgba(255,198,214,.28), transparent 22%),
        radial-gradient(circle at 50% 100%, rgba(255,227,183,.2), transparent 34%),
        linear-gradient(180deg, var(--bg-top) 0%, var(--bg-mid) 48%, var(--bg-bottom) 100%);
    overflow-x:hidden;
}

a{
    color:var(--link);
    text-decoration:none;
}

a:hover,
a:focus{
    text-decoration:underline;
}

img{
    max-width:100%;
    height:auto;
}

strong{
    font-weight:800;
}

.skip-link{
    position:absolute;
    left:-9999px;
    top:auto;
}

.skip-link:focus{
    left:1rem;
    top:1rem;
    z-index:999;
    background:#fff;
    color:var(--text);
    padding:.8rem 1rem;
    border-radius:.8rem;
    box-shadow:var(--shadow-soft);
}

.site-wrap{
    width:min(100%, var(--wrap-max));
    margin:0 auto;
    padding:1rem;
}

.glass{
    border:1px solid var(--border);
    border-radius:var(--radius-xl);
    background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.74));
    backdrop-filter:blur(16px);
    box-shadow:var(--shadow);
}

.hero-block{
    padding:clamp(1.3rem, 2vw, 2.4rem);
}

.hero-inner{
    margin:0 auto;
}

.hero-sales{
    max-width:62rem;
    text-align:left;
}

.hero-contact{
    max-width:var(--contact-max);
    text-align:left;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:2.15rem;
    padding:.45rem .9rem;
    margin-bottom:1rem;
    border-radius:999px;
    background:var(--accent-soft);
    color:var(--text);
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.01em;
}

h1,
h2,
h3{
    margin:0;
    line-height:1.1;
}

.hero-title{
    font-size:clamp(1.9rem, 2.6vw, 3.1rem);
    letter-spacing:-.02em;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    max-width:100%;
}

.hero-lead{
    margin:.95rem 0 0;
    font-size:clamp(1.1rem, 1.45vw, 1.35rem);
    font-weight:700;
}

.hero-text{
    margin:1rem 0 0;
    font-size:1.06rem;
}

.hero-copy-left{
    max-width:var(--text-medium);
    text-align:left;
}

.hero-actions-shell{
    max-width:var(--text-medium);
}

.action-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.9rem;
    margin-top:1.45rem;
}

.action-row-center{
    justify-content:center;
    max-width:var(--text-medium);
    margin-left:auto;
    margin-right:auto;
}

.action-row-left{
    justify-content:flex-start;
}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:3.15rem;
    min-width:12.5rem;
    padding:.9rem 1.25rem;
    border-radius:999px;
    border:1px solid transparent;
    font-weight:700;
    text-align:center;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.button:hover,
.button:focus{
    text-decoration:none;
    transform:translateY(-1px);
}

.button-primary{
    color:#fff;
    background:linear-gradient(135deg, var(--accent-2), var(--accent));
    box-shadow:0 .95rem 2rem rgba(77,102,255,.24);
}

.button-secondary{
    color:var(--text);
    background:rgba(255,255,255,.92);
    border-color:var(--border);
}

.content-flow{
    display:grid;
    gap:1.15rem;
    padding:1.15rem 0 2rem;
}

.full-section{
    padding:1.4rem;
}

.text-shell{
    margin:0 auto;
}

.text-shell-wide{
    max-width:72rem;
}

.text-center{
    text-align:center;
}

.full-section h2,
.info-card h2,
.final-block h2{
    font-size:clamp(1.4rem, 2vw, 2rem);
    letter-spacing:-.01em;
    margin-bottom:.85rem;
}

.full-section p,
.info-card p,
.final-block p{
    margin:.85rem 0 0;
    font-size:1.05rem;
}

.grid-2{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:1.15rem;
    align-items:start;
}

.info-card{
    padding:1.4rem;
}

.list{
    margin:0;
    padding-left:1.2rem;
}

.list li{
    margin:.55rem 0;
}

.feature-box{
    margin-top:1.1rem;
    padding:1.05rem 1.05rem .95rem;
    border:1px solid var(--border);
    border-radius:1rem;
    background:rgba(255,255,255,.76);
    box-shadow:var(--shadow-soft);
}

.feature-box h3{
    margin-bottom:.7rem;
    font-size:1.08rem;
}

.final-block{
    padding:1.55rem;
}

.footer-block{
    padding:1rem 1.1rem;
    text-align:center;
    color:rgba(0,0,128,.84);
}

.contact-page .hero-block{
    width:min(100%, var(--contact-max));
    margin:0 auto;
}

.form-panel{
    width:min(100%, 72rem);
    margin:0 auto;
    padding:.35rem;
}

.form-shell{
    width:100%;
    margin:0 auto;
}

.google-form-frame{
    display:block;
    width:100%;
    height:78dvh;
    min-height:56rem;
    border:0;
    border-radius:var(--radius-lg);
    background:#fff;
    overflow:auto;
}

.contact-page .footer-narrow{
    width:min(100%, var(--contact-max));
    margin:0 auto;
}

@media (max-width: 980px){
    .grid-2{
        grid-template-columns:1fr;
    }
}

@media (max-width: 760px){
    .site-wrap{
        padding:.75rem;
    }

    .hero-block,
    .full-section,
    .info-card,
    .final-block,
    .footer-block{
        padding:1rem;
    }

    .button{
        width:100%;
        min-width:0;
    }

    .hero-copy-left,
    .hero-actions-shell{
        max-width:100%;
    }

    .contact-page .hero-block,
    .form-panel,
    .contact-page .footer-narrow{
        width:100%;
    }

    .google-form-frame{
        height:82dvh;
        min-height:40rem;
    }
}