body{
font-family:Arial, Helvetica, sans-serif;
margin:0;
color:#333;
line-height:1.6;
background:#ffffff;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* HEADER */

.site-header{
background:#ffffff;
border-bottom:1px solid #e6e6e6;
padding:28px 0 18px 0;
}

.header-container{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
gap:14px;
}

.logo-wrapper{
width:100%;
display:flex;
justify-content:center;
align-items:center;
}

.brand{
display:inline-flex;
justify-content:center;
align-items:center;
}

.logo-wrapper img{
height:140px;
width:auto;
display:block;
margin:0 auto;
}

.main-nav{
width:100%;
display:flex;
justify-content:center;
}

.main-nav ul{
list-style:none;
padding:0;
margin:0;
display:flex;
justify-content:center;
align-items:center;
gap:25px;
flex-wrap:wrap;
}

.main-nav a{
text-decoration:none;
color:#333;
font-weight:600;
font-size:15px;
}

.main-nav a:hover{
color:#0072ce;
}

.main-nav .active{
color:#0072ce;
}

/* HERO */

.hero{
background:url('images/hero.jpg') center center/cover no-repeat;
min-height:620px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:40px 20px;
}

.hero-overlay{
background:rgba(0,0,0,0.72);
padding:56px 42px;
max-width:820px;
color:#ffffff;
border-radius:10px;
box-shadow:0 10px 30px rgba(0,0,0,0.18);
}

.hero h1{
font-size:46px;
margin-bottom:16px;
line-height:1.15;
color:#ffffff;
}

.hero h2{
font-size:24px;
font-weight:600;
margin-bottom:20px;
line-height:1.4;
color:#ffffff;
}

.hero p{
font-size:17px;
margin-bottom:28px;
color:#ffffff;
max-width:680px;
margin-left:auto;
margin-right:auto;
}

.btn-primary{
background:#0072ce;
color:#ffffff;
padding:12px 26px;
text-decoration:none;
border-radius:6px;
display:inline-block;
font-weight:600;
}

.btn-primary:hover{
background:#005fa3;
color:#ffffff;
}

/* TRUST STRIP */

.trust-strip{
background:linear-gradient(90deg, #003b7a 0%, #005eb8 100%);
color:#ffffff;
padding:18px 0;
border-top:1px solid rgba(255,255,255,0.08);
border-bottom:1px solid rgba(0,0,0,0.08);
box-shadow:0 3px 12px rgba(0,0,0,0.08);
}

.trust-strip-inner{
display:flex;
justify-content:center;
align-items:center;
gap:18px;
flex-wrap:wrap;
text-align:center;
}

.trust-badge{
display:flex;
align-items:center;
justify-content:center;
gap:10px;
padding:8px 16px;
background:rgba(255,255,255,0.08);
border:1px solid rgba(255,255,255,0.14);
border-radius:999px;
font-size:14px;
font-weight:600;
letter-spacing:0.2px;
color:#ffffff;
}

.trust-icon{
width:26px;
height:26px;
min-width:26px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#ffffff;
color:#005eb8;
font-size:12px;
font-weight:700;
line-height:1;
box-shadow:0 2px 8px rgba(0,0,0,0.12);
}

/* SECTIONS */

.about-section,
.services-section,
.governance-section{
padding:72px 0;
}

.about-section h2,
.services-section h2,
.governance-section h2{
color:#003b7a;
margin-bottom:20px;
font-size:36px;
}

.about-section p,
.governance-section p{
max-width:980px;
font-size:17px;
}

/* SERVICES */

.services-section{
background:#f7f9fc;
}

.services-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:30px;
}

.service-card{
background:#ffffff;
border:1px solid #e5ebf2;
padding:28px;
border-radius:8px;
box-shadow:0 4px 14px rgba(0,0,0,0.05);
}

.service-card h3{
margin-top:0;
margin-bottom:12px;
color:#003b7a;
font-size:22px;
}

.service-card p{
margin-bottom:0;
}

/* GOVERNANCE */

.governance-section ul{
margin-top:20px;
padding-left:20px;
}

.governance-section li{
margin-bottom:10px;
}

.btn-outline{
display:inline-block;
margin-top:22px;
padding:10px 22px;
border:2px solid #0072ce;
color:#0072ce;
text-decoration:none;
border-radius:6px;
font-weight:600;
}

.btn-outline:hover{
background:#0072ce;
color:white;
}

/* FOOTER */

footer{
background:#003366;
color:white;
padding:50px 0;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
width:90%;
max-width:1200px;
margin:auto;
}

footer h4{
margin-top:0;
margin-bottom:14px;
}

footer ul{
list-style:none;
padding:0;
margin:0;
}

footer li{
margin-bottom:8px;
}

footer a{
color:white;
text-decoration:none;
}

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

.footer-bottom{
text-align:center;
margin-top:30px;
font-size:14px;
border-top:1px solid rgba(255,255,255,0.2);
padding-top:20px;
width:90%;
max-width:1200px;
margin-left:auto;
margin-right:auto;
}

/* TABLET */

@media(max-width:900px){

.logo-wrapper img{
height:110px;
}

.hero{
min-height:560px;
padding:30px 16px;
background-position:center top;
}

.hero-overlay{
padding:40px 24px;
}

.hero h1{
font-size:34px;
}

.hero h2{
font-size:20px;
}

.hero p{
font-size:16px;
}

.services-grid{
grid-template-columns:1fr;
}

.footer-grid{
grid-template-columns:1fr;
text-align:center;
}

.trust-strip-inner{
flex-direction:column;
gap:12px;
}

}

/* MOBILE */

@media(max-width:600px){

.logo-wrapper img{
height:90px;
}

.main-nav ul{
gap:14px;
}

.main-nav a{
font-size:14px;
}

.hero{
min-height:500px;
}

.hero-overlay{
padding:32px 18px;
}

.hero h1{
font-size:28px;
}

.hero h2{
font-size:18px;
}

.about-section h2,
.services-section h2,
.governance-section h2{
font-size:30px;
}

.about-section,
.services-section,
.governance-section{
padding:56px 0;
}

.trust-badge{
font-size:13px;
padding:8px 14px;
}

.trust-icon{
width:24px;
height:24px;
min-width:24px;
font-size:11px;
}

}
/* PAGE CONTENT */

.page-header{
background:#f4f7fb;
padding:60px 0;
text-align:center;
}

.page-header h1{
color:#003b7a;
font-size:40px;
}

.content-section{
padding:60px 0;
}

.content-section h2{
margin-top:30px;
color:#003b7a;
}
/* =========================================
   ABOUT PAGE IMAGE LAYOUT
   ========================================= */

.about-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.about-image img{
width:100%;
display:block;
border-radius:10px;
box-shadow:0 8px 24px rgba(0,0,0,0.12);
}

.image-caption{
margin-top:12px;
font-size:14px;
color:#5f6f82;
text-align:center;
}

.about-text p{
font-size:17px;
line-height:1.7;
}

/* Tablet and mobile */

@media(max-width:900px){

.about-layout{
grid-template-columns:1fr;
gap:28px;
}

.about-image{
order:-1;
}

.image-caption{
text-align:left;
}

}
/* =========================================
   SERVICES PAGE IMAGE
   ========================================= */

.page-image{
padding:40px 0;
}

.page-image img{
width:100%;
border-radius:10px;
box-shadow:0 8px 24px rgba(0,0,0,0.12);
}

/* Tablet */

@media(max-width:900px){

.page-image{
padding:30px 0;
}

}

/* Mobile */

@media(max-width:600px){

.page-image{
padding:20px 0;
}

}
/* =========================================
   NEWS PAGE
   ========================================= */

.news-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:30px;
margin-top:30px;
}

.news-card{
background:#ffffff;
border:1px solid #e5ebf2;
padding:28px;
border-radius:8px;
box-shadow:0 4px 14px rgba(0,0,0,0.05);
display:flex;
flex-direction:column;
height:100%;
}

.news-card-featured{
border-left:4px solid #0072ce;
}

.news-source{
display:inline-block;
font-size:12px;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.4px;
color:#005eb8;
margin-bottom:12px;
}

.news-card h3{
margin-top:0;
margin-bottom:12px;
font-size:22px;
line-height:1.3;
color:#003b7a;
}

.news-card h3 a{
color:#003b7a;
text-decoration:none;
}

.news-card h3 a:hover{
color:#0072ce;
text-decoration:underline;
}

.news-card p{
margin-bottom:14px;
}

.news-date{
margin-top:auto;
font-size:14px;
font-weight:600;
color:#5f6f82;
}

.news-empty-state{
background:#ffffff;
border:1px solid #e5ebf2;
padding:28px;
border-radius:8px;
box-shadow:0 4px 14px rgba(0,0,0,0.05);
margin-top:24px;
}

.news-empty-state ul{
margin-top:16px;
padding-left:20px;
}

.news-empty-state a{
color:#005eb8;
text-decoration:none;
}

.news-empty-state a:hover{
text-decoration:underline;
}

@media(max-width:900px){

.news-grid{
grid-template-columns:1fr;
}

}
/* =========================================
   CORPORATE GOVERNANCE PAGE
   ========================================= */

.governance-grid-cards{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:30px;
margin-top:30px;
}

.governance-card{
background:#ffffff;
border:1px solid #e5ebf2;
padding:28px;
border-radius:8px;
box-shadow:0 4px 14px rgba(0,0,0,0.05);
height:100%;
}

.governance-card h3{
margin-top:0;
margin-bottom:12px;
color:#003b7a;
font-size:22px;
}

.governance-card p{
margin-bottom:14px;
}

.governance-list{
margin-top:20px;
padding-left:20px;
}

.governance-list li{
margin-bottom:10px;
}

.governance-note{
margin-top:24px;
padding:20px 22px;
background:#f7f9fc;
border-left:4px solid #0072ce;
border-radius:6px;
}

.governance-doc-grid{
display:grid;
grid-template-columns:repeat(2, 1fr);
gap:24px;
margin-top:30px;
}

.governance-doc-card{
background:#ffffff;
border:1px solid #e5ebf2;
padding:26px;
border-radius:8px;
box-shadow:0 4px 14px rgba(0,0,0,0.05);
}

.governance-doc-card h3{
margin-top:0;
margin-bottom:12px;
color:#003b7a;
font-size:21px;
}

@media(max-width:900px){

.governance-grid-cards{
grid-template-columns:1fr;
}

.governance-doc-grid{
grid-template-columns:1fr;
}

}
/* =========================================
   CONTACT PAGE
   ========================================= */

.contact-layout{

display:grid;
grid-template-columns:1fr 1fr;
gap:50px;

}

.contact-details p{

margin-bottom:16px;

}

.contact-form{

background:#ffffff;
padding:30px;
border-radius:8px;
border:1px solid #e5ebf2;
box-shadow:0 4px 14px rgba(0,0,0,0.05);

}

.form-group{

margin-bottom:18px;

}

.form-group label{

display:block;
margin-bottom:6px;
font-weight:600;

}

.form-group input,
.form-group textarea{

width:100%;
padding:12px;
border:1px solid #d8dee6;
border-radius:4px;
font-size:15px;

}

.form-group textarea{

resize:vertical;

}

/* Mobile */

@media(max-width:900px){

.contact-layout{

grid-template-columns:1fr;

}

}
/* =========================================
   CAREERS PAGE
   ========================================= */

.career-card{
background:#ffffff;
border:1px solid #e5ebf2;
padding:28px;
border-radius:8px;
box-shadow:0 4px 14px rgba(0,0,0,0.05);
margin-top:24px;
}

.form-status{
margin-bottom:18px;
padding:14px 16px;
border-radius:6px;
font-weight:600;
display:block;
}

.form-status.success{
background:#eaf7ed;
color:#1f6b34;
border:1px solid #b8dfc2;
}

.form-status.error{
background:#fdeeee;
color:#9c2f2f;
border:1px solid #efc2c2;
}
/* =========================================
   EXECUTIVE TEAM PAGE
   ========================================= */

.team-hero{
background:#005eb8;
color:#ffffff;
padding:48px 0 44px 0;
text-align:center;
}

.team-hero h1{
margin:0 0 10px 0;
font-size:52px;
line-height:1.1;
color:#ffffff;
}

.team-hero p{
margin:0;
font-size:20px;
font-style:italic;
color:#e8f2ff;
}

.team-intro-section{
background:#eef3f9;
padding:48px 0 26px 0;
}

.team-intro-container{
max-width:980px;
}

.team-intro-section h2{
margin-bottom:14px;
font-size:38px;
color:#003b7a;
}

.team-intro-section p{
font-size:18px;
line-height:1.75;
color:#33475b;
max-width:980px;
}

.team-profile-section{
background:#eef3f9;
padding:16px 0 72px 0;
}

.team-profile-grid{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:26px;
align-items:start;
}

.profile-card{
background:#ffffff;
border-radius:14px;
border-top:5px solid #005eb8;
box-shadow:0 8px 24px rgba(0,0,0,0.08);
padding:22px 22px 24px 22px;
height:100%;
}

.profile-image-wrap{
display:flex;
justify-content:center;
align-items:center;
margin-bottom:18px;
}

.profile-image-wrap img{
display:block;
object-fit:cover;
box-shadow:0 6px 18px rgba(0,0,0,0.12);
background:#ffffff;
}

.square-image img{
width:165px;
height:165px;
border-radius:12px;
}

.circle-image img{
width:165px;
height:165px;
border-radius:50%;
}

.profile-body h3{
font-size:34px;
line-height:1.15;
margin:0 0 10px 0;
color:#005eb8;
text-align:center;
}

.profile-qualifications{
font-size:14px;
font-weight:700;
line-height:1.5;
text-align:center;
color:#5b6777;
margin-bottom:8px;
}

.profile-position{
font-size:16px;
font-weight:700;
text-align:center;
color:#4a5564;
margin-bottom:22px;
}

.profile-body h4{
font-size:28px;
margin:20px 0 10px 0;
color:#005eb8;
padding-bottom:8px;
border-bottom:1px solid #dce5ef;
}

.profile-body p{
font-size:16px;
line-height:1.75;
color:#465767;
margin-bottom:14px;
}

.profile-body ul{
margin:0;
padding-left:20px;
}

.profile-body li{
margin-bottom:10px;
font-size:16px;
line-height:1.6;
color:#465767;
}

/* Tablet */

@media(max-width:1100px){

.team-profile-grid{
grid-template-columns:1fr;
}

.profile-body h3{
font-size:30px;
}

.profile-body h4{
font-size:24px;
}

}

/* Mobile */

@media(max-width:600px){

.team-hero{
padding:40px 0 36px 0;
}

.team-hero h1{
font-size:38px;
}

.team-hero p{
font-size:17px;
}

.team-intro-section h2{
font-size:30px;
}

.team-intro-section p{
font-size:16px;
}

.square-image img,
.circle-image img{
width:140px;
height:140px;
}

.profile-body h3{
font-size:26px;
}

}
/* =========================================
   LOCATIONS PAGE
   ========================================= */

.locations-section{
padding:10px 0 72px 0;
background:#f7f9fc;
}

.locations-layout{
display:grid;
grid-template-columns:1.2fr 0.95fr;
gap:30px;
align-items:start;
}

.locations-map-panel{
background:#ffffff;
border:1px solid #e5ebf2;
border-radius:12px;
padding:16px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

#locations-map{
width:100%;
height:720px;
border-radius:10px;
overflow:hidden;
}

.locations-list-panel{
background:#ffffff;
border:1px solid #e5ebf2;
border-radius:12px;
padding:24px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.locations-list-panel h2{
margin-top:0;
margin-bottom:20px;
}

.locations-list-scroll{
max-height:720px;
overflow:auto;
}

.location-card{
padding:18px 0;
border-bottom:1px solid #e5ebf2;
}

.location-card:last-child{
border-bottom:none;
padding-bottom:0;
}

.location-card h3{
margin:0 0 6px 0;
font-size:24px;
color:#003b7a;
}

.location-subtitle{
font-size:14px;
font-weight:700;
text-transform:uppercase;
letter-spacing:0.3px;
color:#0072ce;
margin-bottom:10px;
}

.location-card p{
margin-bottom:0;
}

/* Custom map pins */

.custom-map-pin{
background:transparent;
border:none;
}

.custom-map-pin span{
display:block;
width:22px;
height:22px;
background:#005eb8;
border:3px solid #ffffff;
border-radius:50%;
box-shadow:0 3px 12px rgba(0,0,0,0.28);
}

/* Map popup */

.map-popup h3{
margin:0 0 8px 0;
font-size:18px;
color:#003b7a;
}

.map-popup p{
margin:0;
font-size:14px;
line-height:1.5;
color:#465767;
}

/* Leaflet tooltip tweak */

.leaflet-tooltip{
background:#003b7a;
color:#ffffff;
border:none;
border-radius:6px;
padding:8px 10px;
font-size:13px;
font-weight:600;
box-shadow:0 4px 12px rgba(0,0,0,0.18);
}

.leaflet-tooltip-top:before{
border-top-color:#003b7a !important;
}

/* Tablet */

@media(max-width:1000px){

.locations-layout{
grid-template-columns:1fr;
}

#locations-map{
height:460px;
}

.locations-list-scroll{
max-height:none;
overflow:visible;
}

}

/* Mobile */

@media(max-width:600px){

#locations-map{
height:380px;
}

.location-card h3{
font-size:20px;
}

.locations-list-panel{
padding:20px;
}

}
/* =========================================
   CLEAN NAVIGATION + PATIENT CENTRE DROPDOWN
   ========================================= */

.main-nav{
width:100%;
display:flex;
justify-content:center;
}

.main-nav .nav-menu{
list-style:none;
padding:0;
margin:0;
display:flex;
justify-content:center;
align-items:center;
gap:22px;
flex-wrap:wrap;
}

.main-nav .nav-menu > li{
position:relative;
}

.main-nav .nav-menu > li > a,
.main-nav .nav-menu > li > .nav-label{
display:inline-block;
text-decoration:none;
color:#333;
font-weight:600;
font-size:15px;
line-height:1.2;
padding:6px 0;
cursor:pointer;
}

.main-nav .nav-menu > li > a:hover,
.main-nav .nav-menu > li > .nav-label:hover{
color:#0072ce;
}

.main-nav .nav-menu .active{
color:#0072ce;
}

.has-dropdown > .nav-label::after{
content:" ▼";
font-size:11px;
}

.main-nav .dropdown-menu{
display:none;
position:absolute;
top:100%;
left:50%;
transform:translateX(-50%);
background:#ffffff;
border:1px solid #dfe7f0;
border-radius:8px;
box-shadow:0 10px 24px rgba(0,0,0,0.12);
padding:8px 0;
min-width:240px;
z-index:1000;
list-style:none;
margin:10px 0 0 0;
}

.main-nav .dropdown-menu li{
display:block;
width:100%;
margin:0;
padding:0;
}

.main-nav .dropdown-menu a{
display:block;
padding:10px 16px;
white-space:nowrap;
color:#333;
font-weight:600;
font-size:14px;
text-decoration:none;
}

.main-nav .dropdown-menu a:hover{
background:#f4f8fc;
color:#005eb8;
}

.has-dropdown:hover .dropdown-menu{
display:block;
}

/* Desktop */
@media(min-width:901px){
.main-nav .nav-menu{
flex-wrap:nowrap;
}
}

/* Tablet / mobile */
@media(max-width:900px){

.main-nav .nav-menu{
gap:14px;
flex-wrap:wrap;
}

.has-dropdown{
width:100%;
text-align:center;
}

.main-nav .dropdown-menu{
position:static;
transform:none;
display:block;
box-shadow:none;
border:none;
background:transparent;
padding:6px 0 0 0;
min-width:auto;
margin:0;
}

.main-nav .dropdown-menu a{
padding:6px 0;
font-size:14px;
}

.has-dropdown > .nav-label::after{
content:"";
}

}

@media(max-width:600px){

.main-nav .nav-menu{
gap:12px;
}

.main-nav .nav-menu > li > a,
.main-nav .nav-menu > li > .nav-label{
font-size:14px;
}

}
/* =========================================
   DROPDOWN HOVER FIX
   ========================================= */

.has-dropdown{
position:relative;
}

.main-nav .dropdown-menu{
top:100%;
left:50%;
transform:translateX(-50%);
margin-top:0 !important;   /* removes the hover gap */
padding-top:8px;
}

.has-dropdown::after{
content:"";
position:absolute;
left:0;
right:0;
top:100%;
height:12px;               /* creates a hover bridge */
}

/* Keep dropdown open when hovering parent or menu */
.has-dropdown:hover .dropdown-menu,
.has-dropdown:focus-within .dropdown-menu{
display:block;
}
/* CLICK DROPDOWN */

.nav-dropdown-toggle{
background:none;
border:none;
font-family:inherit;
font-weight:600;
font-size:15px;
color:#333;
cursor:pointer;
padding:6px 0;
}

.nav-dropdown-toggle:hover{
color:#0072ce;
}

.has-dropdown{
position:relative;
}

.dropdown-menu{
display:none;
position:absolute;
top:100%;
left:50%;
transform:translateX(-50%);
background:#ffffff;
border:1px solid #dfe7f0;
border-radius:8px;
box-shadow:0 10px 24px rgba(0,0,0,0.12);
padding:8px 0;
min-width:240px;
z-index:1000;
list-style:none;
margin-top:10px;
}

.dropdown-menu a{
display:block;
padding:10px 16px;
color:#333;
font-weight:600;
text-decoration:none;
}

.dropdown-menu a:hover{
background:#f4f8fc;
color:#005eb8;
}

.has-dropdown.open .dropdown-menu{
display:block;
}
/* =========================================
   RESPONSIVE NHS-STYLE NAVIGATION
   ========================================= */

.site-header{
background:#ffffff;
border-bottom:1px solid #e6e6e6;
padding:20px 0 16px 0;
position:relative;
z-index:1000;
}

.header-container{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
text-align:center;
gap:14px;
}

.logo-wrapper{
width:100%;
display:flex;
justify-content:center;
align-items:center;
}

.logo-wrapper img{
height:140px;
width:auto;
display:block;
margin:0 auto;
}

.mobile-nav-toggle{
display:none;
background:#005eb8;
color:#ffffff;
border:none;
border-radius:6px;
padding:10px 18px;
font-size:15px;
font-weight:600;
cursor:pointer;
}

.main-nav{
width:100%;
display:flex;
justify-content:center;
}

.nav-menu{
list-style:none;
padding:0;
margin:0;
display:flex;
justify-content:center;
align-items:center;
gap:22px;
flex-wrap:nowrap;
}

.nav-menu > li{
position:relative;
}

.nav-menu > li > a,
.nav-menu > li > .nav-dropdown-toggle{
display:inline-block;
text-decoration:none;
color:#333;
font-weight:600;
font-size:15px;
line-height:1.2;
padding:6px 0;
background:none;
border:none;
cursor:pointer;
font-family:inherit;
}

.nav-menu > li > a:hover,
.nav-menu > li > .nav-dropdown-toggle:hover{
color:#0072ce;
}

.nav-menu a.active{
color:#0072ce;
}

.nav-dropdown-toggle::after{
content:" ▼";
font-size:11px;
}

.dropdown-menu{
display:none;
position:absolute;
top:100%;
left:50%;
transform:translateX(-50%);
background:#ffffff;
border:1px solid #dfe7f0;
border-radius:8px;
box-shadow:0 10px 24px rgba(0,0,0,0.12);
padding:8px 0;
min-width:240px;
z-index:1000;
list-style:none;
margin:8px 0 0 0;
}

.dropdown-menu li{
display:block;
width:100%;
margin:0;
padding:0;
}

.dropdown-menu a{
display:block;
padding:10px 16px;
white-space:nowrap;
color:#333;
font-weight:600;
font-size:14px;
text-decoration:none;
}

.dropdown-menu a:hover{
background:#f4f8fc;
color:#005eb8;
}

.has-dropdown.open .dropdown-menu{
display:block;
}

/* Tablet */
@media(max-width:1100px){

.logo-wrapper img{
height:110px;
}

.nav-menu{
gap:16px;
flex-wrap:wrap;
}

}

/* Mobile */
@media(max-width:900px){

.header-container{
gap:12px;
}

.logo-wrapper img{
height:90px;
}

.mobile-nav-toggle{
display:inline-block;
}

.main-nav{
display:none;
width:100%;
}

.main-nav.nav-open{
display:block;
}

.nav-menu{
flex-direction:column;
align-items:center;
gap:14px;
padding-top:6px;
}

.nav-menu > li{
width:100%;
text-align:center;
}

.dropdown-menu{
position:static;
transform:none;
border:none;
box-shadow:none;
background:transparent;
min-width:auto;
margin:6px 0 0 0;
padding:0;
}

.dropdown-menu a{
padding:8px 0;
}

}
/* =========================================
   HIDE MOBILE MENU BUTTON ON DESKTOP
   ========================================= */

.mobile-nav-toggle{
display:none !important;
}

@media (max-width: 900px){
.mobile-nav-toggle{
display:inline-block !important;
}
}
/* =========================================
   FINAL NAV CLEAN FIX
   ========================================= */

/* Hide mobile menu button on desktop */
.mobile-nav-toggle{
display:none !important;
appearance:none;
-webkit-appearance:none;
border:none;
outline:none;
box-shadow:none;
}

/* Show only on tablet/mobile */
@media (max-width:900px){
.mobile-nav-toggle{
display:inline-block !important;
background:#005eb8 !important;
color:#ffffff !important;
border:none !important;
border-radius:6px !important;
padding:10px 18px !important;
font-size:15px !important;
font-weight:600 !important;
cursor:pointer !important;
}
}

/* Make Patient Centre look like a normal nav link, not a boxed button */
.nav-dropdown-toggle{
appearance:none !important;
-webkit-appearance:none !important;
background:transparent !important;
border:none !important;
outline:none !important;
box-shadow:none !important;
padding:6px 0 !important;
margin:0 !important;
font-family:Arial, Helvetica, sans-serif !important;
font-size:15px !important;
font-weight:600 !important;
line-height:1.2 !important;
color:#333 !important;
cursor:pointer !important;
}

.nav-dropdown-toggle:hover{
color:#0072ce !important;
}

.nav-dropdown-toggle::after{
content:" ▼";
font-size:11px;
}

/* Top nav layout */
.main-nav{
width:100%;
display:flex;
justify-content:center;
}

.main-nav .nav-menu{
list-style:none;
padding:0;
margin:0;
display:flex;
justify-content:center;
align-items:center;
gap:22px;
flex-wrap:nowrap;
}

.main-nav .nav-menu > li{
position:relative;
}

.main-nav .nav-menu > li > a{
display:inline-block;
text-decoration:none;
color:#333;
font-weight:600;
font-size:15px;
line-height:1.2;
padding:6px 0;
}

.main-nav .nav-menu > li > a:hover{
color:#0072ce;
}

.main-nav .nav-menu a.active{
color:#0072ce;
}

/* Dropdown */
.dropdown-menu{
display:none;
position:absolute;
top:100%;
left:50%;
transform:translateX(-50%);
background:#ffffff;
border:1px solid #dfe7f0;
border-radius:8px;
box-shadow:0 10px 24px rgba(0,0,0,0.12);
padding:8px 0;
min-width:240px;
z-index:1000;
list-style:none;
margin:8px 0 0 0;
}

.dropdown-menu li{
display:block;
width:100%;
margin:0;
padding:0;
}

.dropdown-menu a{
display:block;
padding:10px 16px;
white-space:nowrap;
color:#333;
font-weight:600;
font-size:14px;
text-decoration:none;
}

.dropdown-menu a:hover{
background:#f4f8fc;
color:#005eb8;
}

.has-dropdown.open .dropdown-menu{
display:block;
}

/* Tablet */
@media (max-width:1100px){
.main-nav .nav-menu{
gap:16px;
flex-wrap:wrap;
}
}

/* Mobile */
@media (max-width:900px){

.main-nav{
display:none;
width:100%;
}

.main-nav.nav-open{
display:block;
}

.main-nav .nav-menu{
flex-direction:column;
align-items:center;
gap:14px;
padding-top:6px;
}

.main-nav .nav-menu > li{
width:100%;
text-align:center;
}

.dropdown-menu{
position:static;
transform:none;
border:none;
box-shadow:none;
background:transparent;
min-width:auto;
margin:6px 0 0 0;
padding:0;
}

.dropdown-menu a{
padding:8px 0;
}

.nav-dropdown-toggle{
font-size:14px !important;
}

}
/* =========================================
   FINAL NAV OVERRIDES
   ========================================= */

/* Desktop: never show mobile menu button */
.mobile-nav-toggle{
display:none !important;
appearance:none !important;
-webkit-appearance:none !important;
background:#005eb8 !important;
color:#ffffff !important;
border:none !important;
border-radius:6px !important;
padding:10px 18px !important;
font-size:15px !important;
font-weight:600 !important;
cursor:pointer !important;
font-family:Arial, Helvetica, sans-serif !important;
box-shadow:none !important;
outline:none !important;
}

/* Patient Centre button should look like a normal nav link */
.nav-dropdown-toggle{
appearance:none !important;
-webkit-appearance:none !important;
background:transparent !important;
border:none !important;
outline:none !important;
box-shadow:none !important;
padding:6px 0 !important;
margin:0 !important;
font-family:Arial, Helvetica, sans-serif !important;
font-size:15px !important;
font-weight:600 !important;
line-height:1.2 !important;
color:#333 !important;
cursor:pointer !important;
border-radius:0 !important;
}

.nav-dropdown-toggle:hover{
color:#0072ce !important;
}

.nav-dropdown-toggle::after{
content:" ▼";
font-size:11px;
}

/* Top nav layout */
.main-nav{
width:100% !important;
display:flex !important;
justify-content:center !important;
}

.main-nav .nav-menu{
list-style:none !important;
padding:0 !important;
margin:0 !important;
display:flex !important;
justify-content:center !important;
align-items:center !important;
gap:22px !important;
flex-wrap:nowrap !important;
}

.main-nav .nav-menu > li{
position:relative !important;
}

.main-nav .nav-menu > li > a{
display:inline-block !important;
text-decoration:none !important;
color:#333 !important;
font-weight:600 !important;
font-size:15px !important;
line-height:1.2 !important;
padding:6px 0 !important;
}

.main-nav .nav-menu > li > a:hover{
color:#0072ce !important;
}

.main-nav .nav-menu a.active{
color:#0072ce !important;
}

/* Dropdown menu */
.main-nav .dropdown-menu{
display:none !important;
position:absolute !important;
top:100% !important;
left:50% !important;
transform:translateX(-50%) !important;
background:#ffffff !important;
border:1px solid #dfe7f0 !important;
border-radius:8px !important;
box-shadow:0 10px 24px rgba(0,0,0,0.12) !important;
padding:8px 0 !important;
min-width:240px !important;
z-index:1000 !important;
list-style:none !important;
margin:8px 0 0 0 !important;
}

.main-nav .dropdown-menu li{
display:block !important;
width:100% !important;
margin:0 !important;
padding:0 !important;
}

.main-nav .dropdown-menu a{
display:block !important;
padding:10px 16px !important;
white-space:nowrap !important;
color:#333 !important;
font-weight:600 !important;
font-size:14px !important;
text-decoration:none !important;
}

.main-nav .dropdown-menu a:hover{
background:#f4f8fc !important;
color:#005eb8 !important;
}

.has-dropdown.open .dropdown-menu{
display:block !important;
}

/* Mobile only */
@media (max-width:900px){

.mobile-nav-toggle{
display:inline-block !important;
}

.main-nav{
display:none !important;
width:100% !important;
}

.main-nav.nav-open{
display:block !important;
}

.main-nav .nav-menu{
flex-direction:column !important;
align-items:center !important;
gap:14px !important;
padding-top:6px !important;
flex-wrap:wrap !important;
}

.main-nav .nav-menu > li{
width:100% !important;
text-align:center !important;
}

.main-nav .dropdown-menu{
position:static !important;
transform:none !important;
border:none !important;
box-shadow:none !important;
background:transparent !important;
min-width:auto !important;
margin:6px 0 0 0 !important;
padding:0 !important;
}

.main-nav .dropdown-menu a{
padding:8px 0 !important;
white-space:normal !important;
}

.nav-dropdown-toggle{
font-size:14px !important;
}

}
/* =========================================
   CONTACT PAGE IMAGE
   ========================================= */

.contact-image img{
max-width:500px;
width:100%;
display:block;
margin:0 auto;
}


/* =========================================
   CAREERS PAGE IMAGE
   ========================================= */

.careers-image img{
max-width:850px;
width:100%;
display:block;
margin:0 auto;
}
/* =========================================
   MATCHED CONTACT + CAREERS TOP PANELS
   ========================================= */

.contact-top-layout,
.careers-top-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:stretch;
}

.contact-image-panel,
.careers-image-panel,
.contact-info-panel,
.careers-info-panel{
height:100%;
}

.contact-image-panel img,
.careers-image-panel img{
width:100%;
height:100%;
min-height:420px;
max-height:420px;
object-fit:cover;
display:block;
border-radius:10px;
box-shadow:0 8px 24px rgba(0,0,0,0.12);
}

.contact-info-panel,
.careers-info-panel{
background:#f7f9fc;
border:1px solid #e5ebf2;
border-radius:10px;
padding:28px;
box-shadow:0 4px 14px rgba(0,0,0,0.04);
display:flex;
flex-direction:column;
justify-content:center;
min-height:420px;
box-sizing:border-box;
}

.contact-info-panel h2,
.careers-info-panel h2{
margin-top:0;
margin-bottom:18px;
color:#003b7a;
}

.contact-info-panel p,
.careers-info-panel p{
margin-bottom:16px;
}

.contact-form-section,
.careers-form-section{
padding-top:0;
}

/* Tablet / mobile */
@media(max-width:900px){

.contact-top-layout,
.careers-top-layout{
grid-template-columns:1fr;
gap:28px;
}

.contact-image-panel img,
.careers-image-panel img{
min-height:auto;
max-height:none;
height:auto;
}

.contact-info-panel,
.careers-info-panel{
min-height:auto;
}

}
/* =========================================
   CONTACT IMAGE - MUCH SMALLER
   ========================================= */

.contact-image-panel img{
max-width:220px;
height:auto;
min-height:0;
max-height:none;
display:block;
margin:0 auto;
object-fit:contain;
box-shadow:0 6px 16px rgba(0,0,0,0.12);
}


/* =========================================
   CAREERS IMAGE - MEDIUM SIZE
   ========================================= */

.careers-image-panel img{
max-width:420px;
height:auto;
min-height:0;
max-height:none;
display:block;
margin:0 auto;
object-fit:contain;
box-shadow:0 6px 18px rgba(0,0,0,0.12);
}
/* =========================================
   FINAL SITE-WIDE LAYOUT POLISH
   ========================================= */

/* Consistent internal page header */
.page-header{
background:linear-gradient(180deg, #f4f7fb 0%, #eef3f9 100%);
padding:56px 0;
text-align:center;
border-bottom:1px solid #e5ebf2;
}

.page-header .container{
max-width:1000px;
}

.page-header h1{
margin:0 0 12px 0;
color:#003b7a;
font-size:42px;
line-height:1.15;
}

.page-header p{
margin:0 auto;
max-width:760px;
font-size:18px;
color:#4d5f73;
}

/* Consistent internal page section width */
.content-section .container,
.services-section .container,
.governance-section .container{
max-width:1100px;
}

/* Consistent card styling */
.service-card,
.governance-card,
.governance-doc-card,
.news-card,
.patient-card,
.faq-item,
.leaflet-card,
.contact-form,
.contact-info-panel,
.careers-info-panel,
.location-card{
border-radius:10px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

/* Better paragraph rhythm */
.content-section p,
.services-section p,
.governance-section p,
.contact-info-panel p,
.careers-info-panel p,
.profile-body p{
line-height:1.75;
}

/* Better button consistency */
.btn-primary,
.btn-outline,
.btn-secondary{
min-width:160px;
text-align:center;
}

/* Slightly more premium section spacing */
.content-section{
padding:64px 0;
}

.services-section,
.governance-section{
padding:72px 0;
}

/* Cleaner forms */
.contact-form,
.careers-form-card{
border-radius:10px;
}

.form-group input,
.form-group textarea{
box-sizing:border-box;
}

/* Mobile refinement */
@media(max-width:900px){

.page-header{
padding:46px 0;
}

.page-header h1{
font-size:34px;
}

.page-header p{
font-size:16px;
}

.content-section{
padding:52px 0;
}

.services-section,
.governance-section{
padding:56px 0;
}

}
/* =========================================
   TEAM PAGE - HORIZONTAL BIO LAYOUT
   ========================================= */

.team-section{
padding:60px 0;
}

.team-page-title{
text-align:center;
color:#003b7a;
margin-bottom:50px;
font-size:36px;
}

.team-member{
display:grid;
grid-template-columns:240px 1fr;
gap:40px;
margin-bottom:60px;
align-items:flex-start;
border-bottom:1px solid #e5ebf2;
padding-bottom:40px;
}

.team-member:last-child{
margin-bottom:0;
}

.team-photo{
text-align:center;
}

.team-photo img{
width:100%;
max-width:220px;
border-radius:10px;
box-shadow:0 6px 18px rgba(0,0,0,0.12);
display:block;
margin:0 auto;
}

.team-bio h2{
font-size:26px;
margin:0 0 6px 0;
color:#003b7a;
line-height:1.25;
}

.team-qualifications{
font-size:13px;
font-weight:600;
color:#6b7a8c;
margin-bottom:4px;
letter-spacing:0.2px;
}

.team-title{
font-size:15px;
font-weight:700;
margin-bottom:20px;
color:#4a5564;
}

.team-bio h3{
margin-top:18px;
margin-bottom:8px;
font-size:18px;
color:#005eb8;
}

.team-bio p{
line-height:1.7;
margin-bottom:14px;
}

.team-bio ul{
margin:0;
padding-left:18px;
}

.team-bio li{
margin-bottom:6px;
line-height:1.6;
}

/* Mobile */
@media(max-width:900px){

.team-member{
grid-template-columns:1fr;
gap:20px;
}

.team-photo img{
max-width:180px;
}

}
/* =========================================
   HEADER TOP ROW WITH NHS LOGO
   ========================================= */

.header-top-row{
width:100%;
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:20px;
}

.nhs-logo-wrapper{
display:flex;
justify-content:flex-end;
align-items:flex-start;
min-width:120px;
padding-top:8px;
}

.nhs-logo-wrapper img{
width:90px;
height:auto;
display:block;
}

/* =========================================
   POLISHED TEAM INTRO + HORIZONTAL TEAM LAYOUT
   ========================================= */

.team-intro-band{
background:#f7f9fc;
padding:48px 0;
border-bottom:1px solid #e5ebf2;
}

.team-intro-band-inner{
display:grid;
grid-template-columns:2fr 1fr;
gap:36px;
align-items:stretch;
}

.team-intro-copy h2{
margin-top:0;
margin-bottom:16px;
font-size:32px;
color:#003b7a;
}

.team-intro-copy p{
font-size:17px;
line-height:1.75;
margin-bottom:14px;
}

.team-intro-highlight{
display:flex;
align-items:stretch;
}

.team-highlight-card{
background:#ffffff;
border:1px solid #e5ebf2;
border-radius:10px;
padding:24px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
width:100%;
}

.team-highlight-card h3{
margin-top:0;
margin-bottom:14px;
color:#005eb8;
font-size:22px;
}

.team-highlight-card ul{
margin:0;
padding-left:18px;
}

.team-highlight-card li{
margin-bottom:8px;
line-height:1.6;
}

.team-section{
padding:60px 0;
}

.team-page-title{
text-align:center;
color:#003b7a;
margin-bottom:50px;
font-size:36px;
}

.team-member{
display:grid;
grid-template-columns:240px 1fr;
gap:40px;
margin-bottom:60px;
align-items:flex-start;
border-bottom:1px solid #e5ebf2;
padding-bottom:40px;
}

.team-member:last-child{
margin-bottom:0;
}

.team-photo{
text-align:center;
}

.team-photo img{
width:100%;
max-width:220px;
border-radius:10px;
box-shadow:0 6px 18px rgba(0,0,0,0.12);
display:block;
margin:0 auto;
}

.team-bio h2{
font-size:26px;
margin:0 0 6px 0;
color:#003b7a;
line-height:1.25;
}

.team-qualifications{
font-size:13px;
font-weight:600;
color:#6b7a8c;
margin-bottom:4px;
letter-spacing:0.2px;
}

.team-title{
font-size:15px;
font-weight:700;
margin-bottom:20px;
color:#4a5564;
}

.team-bio h3{
margin-top:18px;
margin-bottom:8px;
font-size:18px;
color:#005eb8;
}

.team-bio p{
line-height:1.7;
margin-bottom:14px;
}

.team-bio ul{
margin:0;
padding-left:18px;
}

.team-bio li{
margin-bottom:6px;
line-height:1.6;
}

/* Tablet / mobile */
@media(max-width:900px){

.header-top-row{
flex-direction:column;
align-items:center;
}

.nhs-logo-wrapper{
justify-content:center;
padding-top:0;
}

.team-intro-band-inner{
grid-template-columns:1fr;
gap:24px;
}

.team-member{
grid-template-columns:1fr;
gap:20px;
}

.team-photo img{
max-width:180px;
}

}
/* =========================================
   FINAL HEADER LOGO ALIGNMENT FIX
   ========================================= */

.site-header{
background:#ffffff;
border-bottom:1px solid #e6e6e6;
padding:20px 0 16px 0;
position:relative;
z-index:1000;
}

.header-container{
display:flex !important;
flex-direction:column !important;
align-items:stretch !important;
justify-content:flex-start !important;
text-align:left !important;
gap:14px !important;
}

.header-top-row{
width:100%;
display:grid !important;
grid-template-columns:1fr auto !important;
align-items:center !important;
column-gap:24px;
}

.logo-wrapper{
display:flex !important;
justify-content:flex-start !important;
align-items:center !important;
width:100% !important;
}

.logo-wrapper a{
display:inline-flex;
align-items:center;
}

.logo-wrapper img{
height:140px !important;
width:auto !important;
display:block !important;
margin:0 !important;
}

.nhs-logo-wrapper{
display:flex !important;
justify-content:flex-end !important;
align-items:center !important;
width:auto !important;
min-width:110px;
}

.nhs-logo-wrapper img{
width:90px !important;
height:auto !important;
display:block !important;
}

/* Keep nav centred under logos */
.main-nav{
width:100% !important;
display:flex !important;
justify-content:center !important;
}

/* Tablet */
@media(max-width:1100px){

.logo-wrapper img{
height:120px !important;
}

.nhs-logo-wrapper img{
width:84px !important;
}

}

/* Mobile */
@media(max-width:900px){

.header-top-row{
grid-template-columns:1fr auto !important;
align-items:center !important;
}

.logo-wrapper img{
height:92px !important;
}

.nhs-logo-wrapper img{
width:72px !important;
}

}
/* =========================================
   FINAL UNIVERSAL HEADER LOGO LAYOUT
   ========================================= */

.site-header{
background:#ffffff;
border-bottom:1px solid #e6e6e6;
padding:20px 0 16px 0;
position:relative;
z-index:1000;
}

.header-container{
display:flex !important;
flex-direction:column !important;
align-items:stretch !important;
justify-content:flex-start !important;
text-align:initial !important;
gap:14px !important;
}

.header-top-row{
width:100%;
display:grid !important;
grid-template-columns:1fr auto 1fr !important;
align-items:center !important;
column-gap:20px;
}

.header-spacer{
width:100%;
min-width:90px;
}

.logo-wrapper{
display:flex !important;
justify-content:center !important;
align-items:center !important;
width:100% !important;
grid-column:2 !important;
}

.logo-wrapper a{
display:inline-flex;
align-items:center;
justify-content:center;
}

.logo-wrapper img{
height:140px !important;
width:auto !important;
display:block !important;
margin:0 auto !important;
}

.nhs-logo-wrapper{
display:flex !important;
justify-content:flex-end !important;
align-items:center !important;
width:100% !important;
grid-column:3 !important;
}

.nhs-logo-wrapper img{
width:90px !important;
height:auto !important;
display:block !important;
margin:0 0 0 auto !important;
}

/* Keep nav centred underneath */
.main-nav{
width:100% !important;
display:flex !important;
justify-content:center !important;
}

/* Tablet */
@media(max-width:1100px){

.logo-wrapper img{
height:120px !important;
}

.nhs-logo-wrapper img{
width:82px !important;
}

.header-spacer{
min-width:82px;
}

}

/* Mobile */
@media(max-width:900px){

.header-top-row{
grid-template-columns:1fr auto 1fr !important;
align-items:center !important;
}

.logo-wrapper img{
height:92px !important;
}

.nhs-logo-wrapper img{
width:70px !important;
}

.header-spacer{
min-width:70px;
}

}
/* =========================================
   TESTIMONIALS PAGE
   ========================================= */

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

.testimonial-card{
background:#ffffff;
border:1px solid #e5ebf2;
border-radius:10px;
padding:28px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
height:100%;
}

.testimonial-quote{
font-size:17px;
line-height:1.75;
margin:0 0 20px 0;
color:#33475b;
font-style:italic;
}

.testimonial-name{
font-weight:700;
color:#003b7a;
margin:0 0 4px 0;
}

.testimonial-role{
margin:0;
font-size:14px;
color:#6b7a8c;
}

@media(max-width:900px){
.testimonials-grid{
grid-template-columns:1fr;
}
}
/* =========================================
   PUBLICATIONS PAGE
   ========================================= */

.publications-category-section{
padding-top:24px;
}

.publications-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
margin-top:24px;
}

.publication-card{
background:#ffffff;
border:1px solid #e5ebf2;
border-radius:10px;
padding:28px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
height:100%;
}

.publication-card h3{
margin-top:0;
margin-bottom:10px;
color:#003b7a;
font-size:24px;
line-height:1.35;
}

.publication-author{
font-weight:600;
margin-bottom:10px;
color:#4a5564;
}

.publication-description{
margin-bottom:14px;
line-height:1.7;
}

.publication-year{
font-size:14px;
color:#5f6f82;
margin-bottom:18px;
}

.publication-coming-soon{
display:inline-block;
font-weight:600;
color:#5f6f82;
}

@media(max-width:900px){
.publications-grid{
grid-template-columns:1fr;
}
}
/* =========================================
   PATIENT LEAFLET NOTICE
   ========================================= */

.leaflet-note{
background:#f4f7fb;
border-left:4px solid #005eb8;
padding:14px 18px;
margin:18px 0 26px 0;
font-size:15px;
color:#33475b;
border-radius:4px;
}
/* =========================================
   TESTIMONIALS PAGE
   ========================================= */

.testimonials-intro{
max-width:1000px;
}

.testimonials-section-alt{
background:#f7f9fc;
}

.testimonials-section-header{
margin-bottom:28px;
}

.testimonials-section-header h2{
margin-bottom:8px;
color:#003b7a;
}

.testimonials-section-header p{
margin:0;
color:#5f6f82;
font-size:16px;
}

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

.testimonial-card{
background:#ffffff;
border:1px solid #e5ebf2;
border-radius:10px;
padding:28px;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
position:relative;
height:100%;
}

.testimonial-mark{
font-size:56px;
line-height:1;
color:#c9d8ea;
font-weight:700;
margin-bottom:10px;
}

.testimonial-quote{
font-size:17px;
line-height:1.75;
margin:0 0 20px 0;
color:#33475b;
font-style:italic;
}

.testimonial-source{
font-weight:700;
color:#003b7a;
margin:0;
font-size:15px;
}

/* Mobile */
@media(max-width:900px){
.testimonials-grid{
grid-template-columns:1fr;
}
}
/* =========================================
   SOCIAL MEDIA ICONS
   ========================================= */

.social-section{
margin-top:18px;
}

.social-title{
font-weight:600;
margin-bottom:8px;
}

.social-icons{
display:flex;
gap:12px;
align-items:center;
}

.social-icons a{
display:inline-flex;
align-items:center;
justify-content:center;
width:32px;
height:32px;
}

.social-icons img{
width:20px;
height:20px;
object-fit:contain;
display:block;
}

.social-icons img:hover{
opacity:0.7;
}
.social-icons a{
background:rgba(255,255,255,0.15);
border-radius:50%;
width:34px;
height:34px;
transition:background 0.2s ease;
}

.social-icons a:hover{
background:#0072ce;
}
/* =========================================
   SOCIAL MEDIA ICON SIZE FIX
   ========================================= */

.social-icons{
display:flex;
gap:12px;
align-items:center;
margin-top:6px;
}

.social-icons a{
display:flex;
align-items:center;
justify-content:center;
width:34px;
height:34px;
background:rgba(255,255,255,0.15);
border-radius:50%;
overflow:hidden;
}

.social-icons img{
max-width:18px !important;
max-height:18px !important;
width:18px !important;
height:18px !important;
display:block;
object-fit:contain;
}

.social-icons a:hover{
background:#0072ce;
}
/* =========================================
   MOBILE SOCIAL ICON ALIGNMENT FIX
   ========================================= */

@media (max-width: 768px){

.follow-us,
.social-icons{
display:flex;
justify-content:center;
align-items:center;
text-align:center;
flex-wrap:wrap;
gap:12px;
}

.follow-us p{
width:100%;
text-align:center;
margin-bottom:10px;
}

.social-icons a{
display:inline-flex;
}

}
/* =========================================
   MOBILE FOOTER SOCIAL ALIGNMENT FIX
   ========================================= */

.social-section{
text-align:center;
}

.social-icons{
display:flex;
justify-content:center;
align-items:center;
gap:14px;
flex-wrap:wrap;
margin-top:8px;
}

.social-icons img{
width:22px;
height:22px;
display:block;
}

/* Ensure centering on mobile */

@media (max-width: 900px){

.social-section{
text-align:center;
}

.social-icons{
justify-content:center;
}

}
/* =========================================
   POLICY DOCUMENT LIST
   ========================================= */

.policy-list{
list-style:none;
padding:0;
margin-top:25px;
max-width:700px;
}

.policy-list li{
margin-bottom:12px;
padding-bottom:10px;
border-bottom:1px solid #e5ebf2;
}

.policy-list a{
text-decoration:none;
font-weight:600;
color:#003b7a;
}

.policy-list a:hover{
color:#0072ce;
text-decoration:underline;
}
/* =========================================
   MISSION SECTION
   ========================================= */

.mission-section{
padding:70px 0 30px 0;
background:#ffffff;
text-align:center;
}

.mission-section h2{
color:#003b7a;
margin-bottom:18px;
font-size:34px;
}

.mission-text{
max-width:900px;
margin:0 auto;
font-size:20px;
line-height:1.7;
color:#33475b;
font-weight:500;
}

/* =========================================
   OUR VALUES SECTION
   ========================================= */

.values-section{
padding:40px 0 70px 0;
background:#ffffff;
}

.values-section h2{
text-align:center;
color:#003b7a;
margin-bottom:15px;
font-size:34px;
}

.values-intro{
text-align:center;
max-width:750px;
margin:0 auto 40px auto;
font-size:17px;
color:#4a5564;
}

.values-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:24px;
max-width:1000px;
margin:auto;
}

.value-item{
background:#f7f9fc;
border:1px solid #e5ebf2;
padding:22px;
border-radius:8px;
line-height:1.7;
}

.value-item strong{
color:#003b7a;
}

/* Mobile */
@media(max-width:900px){

.mission-section{
padding:56px 0 24px 0;
}

.mission-section h2,
.values-section h2{
font-size:30px;
}

.mission-text{
font-size:18px;
}

.values-grid{
grid-template-columns:1fr;
}

.values-section{
padding:32px 0 56px 0;
}

}
/* =========================================
   FOOTER LOGOS + CQC WIDGET
   ========================================= */

.footer-badges{
display:flex;
align-items:center;
gap:14px;
flex-wrap:wrap;
margin-top:18px;
margin-bottom:18px;
}

.footer-badge-logo{
max-height:46px;
width:auto;
display:block;
background:#ffffff;
padding:6px 10px;
border-radius:6px;
}

.footer-cqc-widget{
margin-top:8px;
}

.footer-cqc-widget iframe,
.footer-cqc-widget img,
.footer-cqc-widget div{
max-width:100%;
}

/* Mobile */
@media(max-width:900px){

.footer-badges{
justify-content:center;
}

.footer-cqc-widget{
display:flex;
justify-content:center;
}

}
/* Footer accreditation logos fix */

.footer-badges{
display:flex;
align-items:center;
gap:12px;
flex-wrap:wrap;
margin-top:15px;
}

.footer-badge-logo{
width:auto;
max-width:110px;
max-height:45px;
height:auto;
object-fit:contain;
display:block;
background:#ffffff;
padding:4px 8px;
border-radius:4px;
}
.footer-badges img{
max-width:110px !important;
max-height:45px !important;
height:auto !important;
}
/* =========================================
   MISSION SECTION
   ========================================= */

.mission-section{
padding:60px 0 30px 0;
background:#ffffff;
}

.mission-section h2{
color:#003b7a;
margin-bottom:16px;
font-size:32px;
text-align:left;
}

.mission-text{
max-width:850px;
font-size:17px;
line-height:1.7;
margin:0;
text-align:left;
}


/* =========================================
   VALUES SECTION
   ========================================= */

.values-section{
padding:30px 0 70px 0;
background:#f7f9fc;
}

.values-section h2{
color:#003b7a;
margin-bottom:12px;
font-size:32px;
text-align:left;
}

.values-intro{
max-width:850px;
margin-bottom:28px;
font-size:16px;
line-height:1.6;
text-align:left;
}


/* Values grid */

.values-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:20px;
max-width:900px;
}

.value-item{
background:#ffffff;
border:1px solid #e5ebf2;
padding:18px;
border-radius:8px;
box-shadow:0 4px 12px rgba(0,0,0,0.05);
font-size:15px;
line-height:1.6;
}

.value-item strong{
color:#003b7a;
}


/* Mobile */

@media(max-width:900px){

.values-grid{
grid-template-columns:1fr;
}

}
/* =========================================
   HOMEPAGE SPACING FIX
   ========================================= */

.about-section{
padding:50px 0 30px 0;
}

.mission-section{
padding:30px 0 20px 0;
}

.values-section{
padding:20px 0 40px 0;
}

.services-section{
padding:40px 0;
}

.governance-section{
padding:40px 0 50px 0;
}

/* Reduce spacing between headings */

.about-section h2,
.mission-section h2,
.values-section h2,
.services-section h2,
.governance-section h2{
margin-bottom:15px;
}

/* Reduce spacing between paragraphs */

.about-section p,
.mission-text,
.values-intro{
margin-bottom:12px;
}
/* =========================================
   FOOTER BADGES + CQC WIDGET
   ========================================= */

.footer-badges{
display:flex;
align-items:center;
gap:12px;
flex-wrap:wrap;
margin-top:15px;
margin-bottom:18px;
}

.footer-badge-logo{
width:auto;
max-width:110px;
max-height:45px;
height:auto;
object-fit:contain;
display:block;
background:#ffffff;
padding:4px 8px;
border-radius:4px;
}

.footer-cqc-widget{
margin-top:8px;
}

.footer-cqc-widget iframe,
.footer-cqc-widget img,
.footer-cqc-widget div{
max-width:100%;
}

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

.social-section{
margin-top:18px;
text-align:center;
}

.social-title{
margin:0 0 10px 0;
font-weight:600;
color:#ffffff;
}

.social-icons{
display:flex !important;
justify-content:center !important;
align-items:center !important;
gap:14px !important;
flex-wrap:wrap !important;
margin-top:8px;
}

.social-icons a{
display:inline-flex !important;
align-items:center !important;
justify-content:center !important;
width:36px !important;
height:36px !important;
min-width:36px !important;
max-width:36px !important;
min-height:36px !important;
max-height:36px !important;
background:rgba(255,255,255,0.12) !important;
border-radius:50% !important;
overflow:hidden !important;
text-decoration:none !important;
padding:0 !important;
line-height:1 !important;
}

.social-icons a img{
display:block !important;
width:18px !important;
height:18px !important;
min-width:18px !important;
max-width:18px !important;
min-height:18px !important;
max-height:18px !important;
object-fit:contain !important;
margin:0 !important;
padding:0 !important;
border:none !important;
box-shadow:none !important;
}

.social-icons a:hover{
background:#0072ce !important;
}

#cookie-settings{
cursor:pointer;
}

/* =========================================
   COOKIE CONSENT BANNER
   ========================================= */

.cookie-banner{
position:fixed;
bottom:0;
left:0;
right:0;
background:#003366;
color:#ffffff;
padding:16px 20px;
display:none;
z-index:9999;
box-shadow:0 -3px 10px rgba(0,0,0,0.15);
}

.cookie-banner-inner{
max-width:1200px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
flex-wrap:wrap;
}

.cookie-banner p{
margin:0;
font-size:14px;
line-height:1.5;
}

.cookie-banner a{
color:#ffffff;
text-decoration:underline;
}

.cookie-actions{
display:flex;
gap:10px;
flex-wrap:wrap;
}

.cookie-btn{
padding:8px 16px;
border:none;
border-radius:4px;
font-weight:600;
cursor:pointer;
}

.cookie-accept{
background:#0072ce;
color:#ffffff;
}

.cookie-accept:hover{
background:#005ea5;
}

.cookie-reject{
background:#ffffff;
color:#003366;
}

.cookie-reject:hover{
background:#e6eef7;
}

/* =========================================
   MOBILE FOOTER FIXES
   ========================================= */

@media(max-width:900px){

.footer-badges{
justify-content:center;
}

.footer-cqc-widget{
display:flex;
justify-content:center;
}

.social-section{
text-align:center;
}

.social-icons{
justify-content:center !important;
}

.cookie-banner-inner{
flex-direction:column;
align-items:flex-start;
}

.cookie-actions{
width:100%;
}

}