/* CSS Document */
:root {
  --navy:#0B2E59;     /* Primary */
  --slate:#334E68;    /* Body text */
  --accent:#2F6FA3;   /* Links/CTAs */
  --success:#149E55;  /* Status */
  --bg:#F6F8FB;       /* Page background */
  --white:#FFFFFF;
}

html,body {
    margin:0;
    padding:0;
    background:var(--bg);
    color:var(--slate);
    font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
    line-height:1.5;
}

a {
    color:var(--accent);
    text-decoration:none;
}

a:hover {
    text-decoration:underline;
}

.container { 
    max-width:1120px;
    margin:0 auto;
    padding:24px;
}

/* Header */
header { 
    background:var(--navy);
    color:var(--white);
    position:relative;
    overflow:hidden;
}

header .container {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 24px;
}

.brand { 
    display:inline-flex; 
    align-items:center; 
    text-decoration:none; 
}

.brand-logo { 
    height: 200px; 
    width: auto; 
    display:block; 
}

@media (min-width: 768px) { 
    .brand-logo { 
        height: 40px; 
    } 
}


.brand-icon { 
    height: 200px; 
    width: auto; 
    display: block; 
}

.brand-word {
    font-weight:700;
    letter-spacing:.2px;
}

.brand-word small {
    opacity:.9;
    font-weight:600;
}

/* Hero */
.hero {
    background:var(--navy);
    color:var(--white);
    padding:48px 0 56px;
}

.hero-inner {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:36px;align-items:center;
}

@media (max-width: 900px) {
    .hero-inner {
        grid-template-columns:1fr;
    }
}

.eyebrow {
    font-size:.9rem;
    pacity:.9;m
    argin-bottom:8px;
    letter-spacing:.4px;
    text-transform:uppercase;
}

h1 {
    font-size: clamp(32px,4.4vw,52px);
    line-height:1.1;
    margin:0 0 14px;
}

.sub {
    font-size: clamp(16px,2.2vw,20px);
    opacity:.95;margin:0 0 24px;
}

.cta-row {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:12px;
    padding:12px 18px;
    font-weight:600;
    cursor:pointer;
    transition:transform .04s ease,opacity .2s ease;
}

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

.btn-primary {
    background:var(--accent);
    color:var(--white);
}

.btn-primary:hover {
    opacity:.92;
}

.btn-secondary {
    background:rgba(255,255,255,.12);
    color:var(--white);
    backdrop-filter:saturate(140%) blur(2px);
}

.btn-secondary:hover {
    background:rgba(255,255,255,.18);
}

/* Sections */
section {
    padding:56px 0;
}

h2 {
    font-size: clamp(22px,3.2vw,32px);
    margin:0 0 18px;color:var(--navy);
    font-family:"IBM Plex Sans", Inter, sans-serif;
}

.lead {
    max-width:780px;
    margin:8px 0 24px;
}

.grid-3 {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.grid-2 {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

@media (max-width: 900px) {
    .grid-3,.grid-2 {
        grid-template-columns:1fr;
    }
}

.card { 
    color:#0f172a; 
}
.card .muted { 
    color:#334155; 
}

.card {
    background:var(--white);
    border-radius:16px;
    padding:18px 18px 16px;
    border:1px solid #e6ebf2;
    box-shadow:0 1px 2px rgba(0,0,0,.03);
}

.step {
    display:flex;
    gap:12px;
}

.step .num {
    flex:0 0 28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    background:var(--navy);
    color:var(--white);
    font-size:.9rem;
}

.step h3 {
    margin:0 0 6px;
    font-size:1.05rem;
}

.muted {
    opacity:.9;
}

/* Form */
form {
    display:grid;
    gap:12px;
}

label {
    ont-size:.92rem;
    font-weight:600;
}

input,select,textarea {
    width:100%;
    padding:12px 12px;
    border:1px solid #d9e2ee;
    border-radius:12px;
    font-size:1rem;
    background:#fff;
}

textarea {
    min-height:120px;
}

.helper {
    font-size:.85rem;
    opacity:.9;
    margin-top:4px;
}

.note {
    font-size:.9rem;
    opacity:.92;
}

.success {
    display:none;
    margin-top:12px;
    color:var(--success);
    font-weight:600;
}

/* Footer */
footer {
    adding:28px 0 40px;
    color:#5e748c;
}

.disclaimer {
    font-size:.85rem;
    opacity:.9;
    margin-top:10px;
}

/* Tiny utility */
.pill {
    display:inline-flex;
    gap:8px;
    align-items:center;
    background:#eaf1f8;
    color:#24527a;
    border-radius:999px;
    padding:8px 12px;
    font-weight:600;
}

.list-inline {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:8px 0;
}
