:root{
    --bg:#f5f7fb;
    --surface:#ffffff;
    --surface-2:#edf3f8;
    --ink:#152538;
    --ink-muted:#5a6979;
    --line:#d7e0ea;
    --navy:#153a61;
    --red:#c7212b;
    --red-soft:#ffe6e8;
    --shadow:0 18px 50px rgba(21,58,97,.1);
    --radius:28px;
    --radius-md:20px;
    --max:980px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:'Inter',sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.75;
}
h1,h2,h3{
    font-family:'Poppins',sans-serif;
    line-height:1.1;
}
a{color:inherit;text-decoration:none}
.ctn{width:min(calc(100% - 32px),var(--max));margin:0 auto}

.page-shell{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.topbar{
    background:linear-gradient(135deg,#153a61,#1d4f7d);
    color:#fff;
    padding:16px 0;
    position:sticky;
    top:0;
    z-index:10;
    box-shadow:0 14px 30px rgba(7,19,33,.16);
}
.topbar-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.brand{
    display:flex;
    align-items:center;
    gap:12px;
}
.brand img{height:44px;width:auto}
.brand span{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.top-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px 16px;
}
.top-links a{
    font-size:.92rem;
    font-weight:700;
    opacity:.88;
}
.top-links a:hover{opacity:1}

.hero{
    padding:54px 0 26px;
}
.eyebrow{
    display:inline-flex;
    padding:9px 14px;
    border-radius:999px;
    background:var(--red-soft);
    color:var(--red);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:18px;
}
.hero h1{
    font-size:clamp(2.2rem,5vw,3.6rem);
    margin-bottom:16px;
}
.hero p{
    color:var(--ink-muted);
    font-size:1.02rem;
    max-width:72ch;
}

.article{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    padding:34px 30px;
    margin:18px 0 48px;
}
.article section + section{
    margin-top:28px;
    padding-top:28px;
    border-top:1px solid var(--line);
}
.article h2{
    font-size:1.5rem;
    margin-bottom:12px;
}
.article h3{
    font-size:1.14rem;
    margin-bottom:10px;
}
.article p,
.article li{
    color:var(--ink-muted);
}
.article strong{
    color:var(--ink);
}
.article ul{
    padding-left:20px;
    display:grid;
    gap:10px;
}
.article ol{
    padding-left:20px;
    display:grid;
    gap:10px;
}
.article a{
    text-decoration:underline;
    text-decoration-color:rgba(199,33,43,.3);
    text-underline-offset:3px;
}
.article a:hover{
    text-decoration-color:rgba(199,33,43,.7);
}
.info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:16px;
}
.info-card{
    padding:18px;
    border-radius:20px;
    background:var(--surface-2);
    border:1px solid var(--line);
}
.info-card strong{
    display:block;
    margin-bottom:6px;
}
.contact-grid{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
    gap:24px;
    align-items:start;
}
.form-card,
.note-box,
.step-card{
    padding:22px;
    border-radius:24px;
    border:1px solid var(--line);
    background:var(--surface-2);
}
.form-card h2,
.note-box h2,
.step-card h2{
    margin-bottom:10px;
}
.form-stack{
    display:grid;
    gap:14px;
    margin-top:18px;
}
.field{
    display:grid;
    gap:8px;
}
.field label{
    font-weight:700;
    color:var(--ink);
}
.field input,
.field textarea{
    width:100%;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--ink);
    font:inherit;
}
.field textarea{
    min-height:150px;
    resize:vertical;
}
.field input:focus,
.field textarea:focus{
    outline:none;
    border-color:rgba(199,33,43,.45);
    box-shadow:0 0 0 4px rgba(199,33,43,.08);
}
.submit-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 24px;
    border:0;
    border-radius:999px;
    background:var(--red);
    color:#fff;
    font-family:'Poppins',sans-serif;
    font-size:.92rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background .2s ease,transform .2s ease;
}
.submit-btn:hover{
    background:#991b22;
    transform:translateY(-1px);
}
.form-note{
    margin-top:14px;
    color:var(--ink-muted);
    font-size:.95rem;
}
.step-list{
    list-style:none;
    padding-left:0;
}
.step-list li{
    padding:18px 20px;
    border-radius:20px;
    border:1px solid var(--line);
    background:var(--surface-2);
    color:var(--ink);
}
.step-list strong{
    display:block;
    margin-bottom:6px;
    color:var(--navy);
}
.plain-list{
    list-style:none;
    padding-left:0 !important;
}
.plain-list li{
    padding-left:0;
}
.compact-list{
    gap:6px !important;
}
.link-list{
    list-style:none;
    padding-left:0 !important;
    gap:8px !important;
}
.link-list li{
    word-break:break-word;
}
.muted{
    color:var(--ink-muted);
}
.footer{
    margin-top:auto;
    background:#0f2033;
    color:rgba(255,255,255,.76);
    padding:28px 0 34px;
}
.footer-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px 16px;
    margin-bottom:12px;
}
.footer-links a{
    color:#fff;
    font-weight:700;
    opacity:.86;
}
.footer-links a:hover{opacity:1}
.footer p{
    font-size:.92rem;
    line-height:1.7;
}

@media (max-width:760px){
    .topbar-row{
        flex-direction:column;
        align-items:flex-start;
    }
    .info-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr}
    .article{padding:26px 22px}
}
