/* =========================================
GLOBAL TYPOGRAPHY
========================================= */

body{
font-family:"Georgia","Palatino Linotype","Times New Roman",serif;
font-size:16px;
line-height:1.65;
margin:0;
color:#222;
background:#fff;
}

/* =========================================
PAGE LAYOUT
========================================= */

main{
max-width:900px;
margin:auto;
padding:40px 20px;
font-size:17px;
line-height:1.7;
}

/* =========================================
HEADER
========================================= */

.site-header{
text-align:center;
padding:30px 10px 15px 10px;
margin-bottom:40px;
border-bottom:2px solid #222;
}

.site-header h1{
margin-bottom:5px;
font-weight:normal;
}

.subtitle{
font-size:0.95em;
color:#666;
}

/* =========================================
NAVIGATION
========================================= */

nav{
text-align:center;
margin-top:10px;
font-size:0.95em;
}

nav a{
margin:0 14px;
text-decoration:none;
color:#003366;
}

nav a:hover{
text-decoration:underline;
}

/* =========================================
SECTIONS
========================================= */

section{
margin-top:52px;
padding-top:20px;
border-top:1px solid #e6e6e6;
}

section:first-of-type{
border-top:none;
padding-top:0;
}

/* =========================================
HEADINGS
========================================= */

h1{
font-weight:normal;
font-size:28px;
margin-bottom:10px;
letter-spacing:0.2px;
}

h2{
font-weight:normal;
font-size:22px;
margin-bottom:10px;
border-bottom:1px solid #ddd;
padding-bottom:6px;
letter-spacing:0.2px;
}

h3{
font-weight:normal;
font-size:18px;
margin-top:25px;
letter-spacing:0.2px;
}

/* =========================================
PARAGRAPHS
========================================= */

p{
max-width:680px;
margin:18px auto;
}

/* =========================================
LINKS
========================================= */

a{
color:#003366;
text-decoration:none;
}

a:hover{
text-decoration:underline;
}

/* =========================================
TABLES
========================================= */

table{
width:100%;
border-collapse:collapse;
margin-top:15px;
font-size:0.95em;
}

th, td{
padding:8px 10px;
border-bottom:1px solid #ddd;
text-align:left;
vertical-align:top;
}

th{
background:#f5f5f5;
}

/* =========================================
CYCLE TEXT
========================================= */

.cycle{
font-style:italic;
color:#555;
margin-top:10px;
}

/* =========================================
PROGRAMME MAP
========================================= */

.programme-flow{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
gap:12px;
margin:40px auto;
max-width:1000px;
}

.node{
background:#f4f4f4;
padding:14px 18px;
border-radius:6px;
text-align:center;
min-width:150px;
font-size:0.95em;
}

.node span{
display:block;
font-size:0.85em;
margin-top:6px;
}

.connector{
font-size:18px;
}

.highlight{
background:#e8efe8;
}

/* =========================================
FOOTER
========================================= */

footer{
margin-top:60px;
padding:25px;
text-align:center;
font-size:0.9em;
color:#555;
border-top:1px solid #ddd;
}

footer p{
margin:6px 0;
text-align:center;
}

/* =========================================
IMAGES
========================================= */

img{
max-width:100%;
height:auto;
}
