/* ---------- COLOUR PALETTE ---------- */
:root{
    --primary:#071d49;      /* PMS 2768 C blue */
    --accent:#8f3237;       /* PMS 492 C red  */
    --light:#ffffff;
    --pale-blue:#f4f6fb;    /* ultra‑light tint */
}

/* ---------- GLOBAL ---------- */
body{
    margin:0;
    font-family:"Palatino Linotype","Book Antiqua",Palatino,serif;
    line-height:1.6;
    color:var(--primary);
    background:var(--light);
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
    padding:20px;
}

/* ---------- HEADER ---------- */
header{
    background:var(--light);
    color:var(--primary);
    padding:20px 0;
    border-bottom:4px solid var(--primary);
}

.branding{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
}

.logo{
    height:60px;
}

header h1{
    margin:0;
    font-size:2.4rem;
    line-height:60px;         /* vertically aligns with 60‑px logo */
}

nav{
    text-align:center;
    margin-top:12px;
}

nav a{
    color:var(--primary);
    margin:0 15px;
    text-decoration:none;
    font-size:1.1rem;
}

nav a:hover{
    color:var(--accent);
}

/* ---------- SECTIONS ---------- */
.section{
    background:var(--light);
    padding:60px 0;
}

.alt-bg{
    background:var(--pale-blue);
}

.section h2{
    position:relative;
    text-align:center;
    margin-bottom:30px;
    color:var(--primary);
}

.section h2::after{
    content:"";
    display:block;
    width:60px;
    height:3px;
    background:var(--accent);
    margin:12px auto 0;
}

/* ---------- CONTENT PARAGRAPHS ---------- */
.blurb{
    max-width:800px;
    margin:auto;
    text-align:justify;
    font-size:1.05rem;
}

/* ---------- CONTACT BLOCK ---------- */
.contact-block{
    max-width:800px;
    margin:auto;
    text-align:center;
}
.contact-block p{
    margin:4px 0;
}

/* ---------- FOOTER ---------- */
footer{
    background:var(--primary);
    color:var(--light);
    text-align:center;
    padding:20px 0 30px;
    margin-top:40px;
}

.disclaimer{
    font-size:0.75rem;
    margin:6px auto 0;
    max-width:900px;
    text-align:justify;       /* justified text */
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:768px){
    nav a{
        display:inline-block;
        margin:8px 10px;
    }
    .blurb{
        font-size:1rem;
    }
    .logo{
        height:48px;
    }
    header h1{
        line-height:48px;
    }
}
