:root{

--navy:#07192D;
--navy-light:#0E2948;
--gold:#C6A25B;
--gold-light:#DFC58C;
--white:#F7F8FA;
--muted:#B7C0CB;
--border:rgba(255,255,255,.08);
--container:1200px;

}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Inter',sans-serif;
background:var(--navy);
color:var(--white);
line-height:1.7;
overflow-x:hidden;

}

img{
max-width:100%;
display:block;
}

a{

text-decoration:none;
color:inherit;

}

.container{

width:min(92%,var(--container));
margin:auto;

}

section{
scroll-margin-top:90px;
}

/* ---------------- NAVIGATION ---------------- */

header{

position:fixed;
top:0;
left:0;
width:100%;
z-index:999;

background:rgba(5,18,34,.80);

backdrop-filter:blur(16px);

border-bottom:1px solid rgba(255,255,255,.05);

}

.nav{

height:82px;

display:flex;
justify-content:space-between;
align-items:center;

}

.logo{

display:flex;
align-items:center;
gap:14px;

}

.logo img{

height:46px;
width:auto;

}

nav ul{

display:flex;
gap:34px;
list-style:none;

}

nav a{

font-size:.9rem;
color:#dbe3ee;
transition:.35s;

}

nav a:hover{

color:var(--gold);

}

.cta{

padding:14px 28px;

background:var(--gold);

color:var(--navy);

font-weight:700;

letter-spacing:2px;

font-size:.76rem;

border-radius:3px;

transition:.35s;

display:inline-block;

}

.cta:hover{

transform:translateY(-2px);

}

/* ---------------- HERO ---------------- */

.hero{

min-height:100vh;

display:flex;

align-items:center;

position:relative;

overflow:hidden;

}

.hero::before{

content:"";

position:absolute;

width:850px;

height:850px;

background:radial-gradient(circle,
rgba(198,162,91,.18),
transparent 70%);

top:-240px;

right:-220px;

}

.hero-grid{

display:grid;

grid-template-columns:1.2fr .8fr;

gap:80px;

align-items:center;

}

.eyebrow{

letter-spacing:4px;

text-transform:uppercase;

color:var(--gold);

font-size:.8rem;

margin-bottom:28px;

}

.hero h1{

font-family:'Playfair Display',serif;

font-size:4.5rem;

line-height:1.1;

font-weight:600;

margin-bottom:28px;

max-width:760px;

}

.hero p{

max-width:700px;

font-size:1.08rem;

color:var(--muted);

margin-bottom:40px;

}

.hero-buttons{

display:flex;
gap:18px;
flex-wrap:wrap;

}

.secondary{

padding:14px 28px;

border:1px solid var(--gold);

letter-spacing:2px;

font-size:.76rem;

font-weight:700;

display:inline-block;

transition:.35s;

}

.secondary:hover{

background:var(--gold);

color:var(--navy);

}

/* ---------------- CREDENTIALS ---------------- */

.credentials{

background:#081522;

border-top:1px solid rgba(255,255,255,.05);

border-bottom:1px solid rgba(255,255,255,.05);

}

.credential-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

text-align:center;

padding:34px 0;

gap:25px;

}

.credential{

font-size:.88rem;

letter-spacing:1px;

color:#d5dce6;

}

/* ---------------- SECTION ---------------- */

section{

padding:110px 0;

}

.section-title{

font-family:'Playfair Display',serif;

font-size:3rem;

margin-bottom:22px;

}

.section-eyebrow{

text-transform:uppercase;

letter-spacing:4px;

font-size:.78rem;

color:var(--gold);

margin-bottom:16px;

}

.section-lead{

max-width:720px;

color:var(--muted);

font-size:1.02rem;

margin-top:8px;

}

/* ---------------- ABOUT ---------------- */

.about-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:32px;

margin-top:70px;

}

.panel{

background:linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.02)
);

border:1px solid var(--border);

padding:42px;

transition:.35s;

}

.panel:hover{

transform:translateY(-8px);

border-color:rgba(198,162,91,.5);

}

.panel small{

display:block;

letter-spacing:3px;

text-transform:uppercase;

color:var(--gold);

margin-bottom:18px;

}

.panel h3{

font-family:'Playfair Display',serif;

font-size:1.8rem;

margin-bottom:20px;

}

.panel p{

color:var(--muted);

}

/* ---------------- STRUCTURE ---------------- */

.chart{

margin-top:70px;

display:flex;

flex-direction:column;

align-items:center;

}

.apex{

width:100%;

max-width:560px;

text-align:center;

border:2px solid var(--gold);

padding:44px 40px;

background:linear-gradient(
180deg,
rgba(198,162,91,.06),
rgba(198,162,91,.02)
);

}

.chart-role{

letter-spacing:3px;

text-transform:uppercase;

color:var(--gold);

font-size:.72rem;

margin-bottom:14px;

}

.apex h3{

font-family:'Playfair Display',serif;

font-size:1.9rem;

margin-bottom:12px;

}

.apex p{

color:var(--muted);

font-size:.95rem;

}

.connector{

width:1px;

height:44px;

background:linear-gradient(
180deg,
rgba(198,162,91,.9),
rgba(198,162,91,.25)
);

}

.subsidiaries{

width:100%;

display:grid;

grid-template-columns:repeat(2,1fr);

gap:32px;

}

.sub-card{

border:1px solid var(--border);

padding:40px;

text-align:center;

background:linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.02)
);

transition:.35s;

}

.sub-card:hover{

border-color:rgba(198,162,91,.5);

transform:translateY(-8px);

}

.sub-card h3{

font-family:'Playfair Display',serif;

font-size:1.55rem;

margin-bottom:10px;

}

.sub-card .chart-role{

margin-bottom:6px;

}

.sub-card p{

color:var(--muted);

font-size:.95rem;

margin-bottom:20px;

}

.service-tags{

display:flex;

gap:10px;

flex-wrap:wrap;

justify-content:center;

}

.service-tag{

border:1px solid rgba(198,162,91,.45);

color:var(--gold-light);

font-size:.74rem;

letter-spacing:1px;

padding:8px 14px;

}

/* ---------------- SERVICES ---------------- */

.services-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:32px;

margin-top:70px;

}

.service-card{

background:linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.02)
);

border:1px solid var(--border);

padding:42px;

display:flex;

flex-direction:column;

transition:.35s;

}

.service-card:hover{

transform:translateY(-8px);

border-color:rgba(198,162,91,.5);

}

.service-number{

font-family:'Playfair Display',serif;

color:var(--gold);

font-size:1.4rem;

letter-spacing:2px;

margin-bottom:16px;

}

.service-card h3{

font-family:'Playfair Display',serif;

font-size:1.6rem;

margin-bottom:16px;

}

.service-card > p{

color:var(--muted);

font-size:.96rem;

margin-bottom:20px;

}

.detail-list{

list-style:none;

border-top:1px solid var(--border);

padding-top:20px;

margin-top:auto;

}

.detail-list li{

color:var(--muted);

font-size:.88rem;

padding:7px 0 7px 20px;

position:relative;

}

.detail-list li::before{

content:"";

position:absolute;

left:0;

top:16px;

width:7px;

height:7px;

background:var(--gold);

opacity:.7;

}

/* ---------------- REGULATORY ---------------- */

.regulatory-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:32px;

margin-top:70px;

}

.reg-block{

border:1px solid var(--border);

border-top:2px solid var(--gold);

background:linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.02)
);

padding:42px;

}

.reg-block small{

display:block;

letter-spacing:3px;

text-transform:uppercase;

color:var(--gold);

margin-bottom:14px;

}

.reg-block h3{

font-family:'Playfair Display',serif;

font-size:1.6rem;

margin-bottom:18px;

}

.reg-block p{

color:var(--muted);

font-size:.96rem;

}

/* ---------------- GOVERNANCE ---------------- */

.board-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(240px,1fr));

gap:32px;

margin-top:70px;

}

.director-card{

border:1px solid var(--border);

padding:36px;

text-align:center;

background:linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.02)
);

transition:.35s;

}

.director-card:hover{

border-color:rgba(198,162,91,.5);

transform:translateY(-6px);

}

.director-card h3{

font-family:'Playfair Display',serif;

font-size:1.3rem;

margin-bottom:6px;

}

.director-card p{

color:var(--gold-light);

font-size:.86rem;

letter-spacing:1px;

}

.gov-callout{

margin-top:70px;

border-left:4px solid var(--gold);

background:linear-gradient(
90deg,
rgba(198,162,91,.07),
rgba(198,162,91,.02)
);

border-top:1px solid var(--border);

border-right:1px solid var(--border);

border-bottom:1px solid var(--border);

padding:40px 44px;

}

.gov-callout p{

color:#dbe3ee;

font-size:1.02rem;

max-width:1000px;

}

/* ---------------- CONTACT ---------------- */

.contact-grid{

display:grid;

grid-template-columns:1.05fr .95fr;

gap:64px;

margin-top:70px;

}

.contact-left h2{

font-family:'Playfair Display',serif;

font-size:2.6rem;

line-height:1.2;

margin-bottom:24px;

}

.contact-left > p{

color:var(--muted);

margin-bottom:40px;

max-width:520px;

}

.contact-block{

margin-bottom:32px;

}

.contact-block small{

display:block;

letter-spacing:3px;

text-transform:uppercase;

color:var(--gold);

font-size:.72rem;

margin-bottom:12px;

}

.contact-block p,

.contact-block a{

display:block;

color:#dbe3ee;

font-size:.98rem;

margin-bottom:8px;

}

.contact-block a:hover{

color:var(--gold-light);

}

.form{

background:linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.02)
);

border:1px solid var(--border);

padding:44px;

}

.form label{

display:block;

font-size:.8rem;

letter-spacing:2px;

text-transform:uppercase;

color:var(--gold-light);

margin-bottom:10px;

}

.form input,
.form select,
.form textarea{

width:100%;

background:#0B1E35;

border:1px solid rgba(255,255,255,.12);

color:var(--white);

font-family:'Inter',sans-serif;

font-size:.95rem;

padding:14px 16px;

margin-bottom:26px;

border-radius:2px;

outline:none;

transition:.3s;

}

.form input:focus,
.form select:focus,
.form textarea:focus{

border-color:var(--gold);

}

.form select{

appearance:none;

cursor:pointer;

}

.form select option{

background:var(--navy);

color:var(--white);

}

.form textarea{

min-height:140px;

resize:vertical;

}

.form .cta{

width:100%;

text-align:center;

border:none;

cursor:pointer;

}

.form-note{

margin-top:16px;

text-align:center;

color:var(--muted);

font-size:.82rem;

}

/* ---------------- FOOTER ---------------- */

footer{

border-top:1px solid rgba(255,255,255,.05);

background:#081522;

padding:70px 0 50px;

}

.footer-brand{

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

flex-wrap:wrap;

margin-bottom:40px;

}

.footer-brand .logo img{

height:40px;

}

.footer-locations{

color:var(--muted);

font-size:.9rem;

letter-spacing:2px;

}

.gold-rule{

height:1px;

background:linear-gradient(
90deg,
rgba(198,162,91,0),
rgba(198,162,91,.8),
rgba(198,162,91,0)
);

border:none;

margin-bottom:34px;

}

.disclaimer{

color:var(--muted);

font-size:.82rem;

max-width:1100px;

margin-bottom:34px;

}

.footer-links{

display:flex;

align-items:center;

gap:26px;

flex-wrap:wrap;

color:var(--muted);

font-size:.85rem;

}

.footer-links a{

color:#dbe3ee;

transition:.3s;

}

.footer-links a:hover{

color:var(--gold-light);

}

.footer-links span{

opacity:.4;

}

/* ---------------- ALTERNATING BANDS ---------------- */

/* A whisper of elevation over the base navy, so the long page
reads as one continuous dark canvas instead of hard interruptions. */

.band{

background:linear-gradient(
180deg,
rgba(255,255,255,.025),
rgba(255,255,255,.012)
),
#0A1F38;

border-top:1px solid rgba(255,255,255,.06);

border-bottom:1px solid rgba(255,255,255,.06);

}

/* ---------------- SECTOR FOCUS ---------------- */

.sector-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:28px;

margin-top:56px;

}

.sector-tile{

background:linear-gradient(
180deg,
rgba(255,255,255,.03),
rgba(255,255,255,.02)
);

border:1px solid var(--border);

padding:36px 34px;

display:flex;

flex-direction:column;

transition:.35s;

}

.sector-tile:hover{

transform:translateY(-6px);

border-color:rgba(198,162,91,.5);

}

.sector-tile h3{

font-family:'Playfair Display',serif;

color:var(--white);

font-size:1.3rem;

margin-bottom:12px;

}

.sector-tile p{

color:var(--muted);

font-size:.95rem;

}

/* ---------------- MOBILE MENU ---------------- */

.burger{

display:none;

flex-direction:column;

justify-content:center;

gap:6px;

width:44px;

height:44px;

background:none;

border:none;

cursor:pointer;

padding:10px;

}

.burger span{

display:block;

height:2px;

width:100%;

background:var(--gold);

transition:.3s;

}

.burger.open span:nth-child(1){

transform:translateY(8px) rotate(45deg);

}

.burger.open span:nth-child(2){

opacity:0;

}

.burger.open span:nth-child(3){

transform:translateY(-8px) rotate(-45deg);

}

.mobile-menu{

position:fixed;

inset:0;

z-index:990;

background:rgba(7,25,45,.98);

backdrop-filter:blur(12px);

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

gap:6px;

opacity:0;

pointer-events:none;

transition:.35s;

}

.mobile-menu.open{

opacity:1;

pointer-events:auto;

}

.mobile-menu a{

font-size:1.35rem;

letter-spacing:3px;

text-transform:uppercase;

color:#dbe3ee;

padding:14px 20px;

transition:.3s;

}

.mobile-menu a:hover{

color:var(--gold);

}

.mobile-menu .cta{

margin-top:30px;

}

/* ---------- Responsive ---------- */

@media(max-width:980px){

.hero-grid,
.about-grid,
.credential-grid,
.subsidiaries,
.regulatory-grid,
.contact-grid{

grid-template-columns:1fr;

}

.services-grid{

grid-template-columns:repeat(2,1fr);

}

.sector-grid{

grid-template-columns:repeat(2,1fr);

}

.hero{

padding-top:140px;

}

.hero h1{

font-size:3rem;

}

nav{

display:none;

}

.burger{

display:flex;

}

}

@media(max-width:640px){

.services-grid{

grid-template-columns:1fr;

}

.sector-grid{

grid-template-columns:1fr;

}

.section-title{

font-size:2.3rem;

}

section{

padding:80px 0;

}

}

/* ---------------- FORM STATUS (contact.php feedback) ---------------- */

.form-status{
  margin-top:16px;
  text-align:center;
  font-size:.88rem;
  min-height:1.4em;
  color:var(--muted);
}

.form-status.success{
  color:#9FD8A8;
}

.form-status.error{
  color:#E2A0A0;
}

.form .cta[disabled]{
  opacity:.6;
  cursor:wait;
}
