:root{
  --navy:#0a1f3c;
  --navy-2:#0f2c52;
  --navy-light:#173a68;
  --gold:#c9a227;
  --gold-light:#e6c968;
  --gold-dark:#a9841c;
  --cream:#f7f4ec;
  --ink:#1b1f27;
  --gray:#5a6472;
  --border:#e3ddc9;
  --shadow: 0 20px 50px rgba(10,31,60,0.12);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Segoe UI', Arial, Helvetica, sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.65;
}
h1,h2,h3,h4,h5{
  font-family:Georgia,'Times New Roman',serif;
  color:var(--navy);
  line-height:1.2;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:1160px; margin:0 auto; padding:0 24px;}
.eyebrow{
  display:inline-block;
  font-size:0.78rem;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:var(--gold-dark);
  font-weight:700;
  margin-bottom:10px;
}
section{padding:96px 0;}
.section-head{max-width:720px; margin:0 auto 56px; text-align:center;}
.section-head h2{font-size:2.2rem; margin-bottom:14px;}
.section-head p{color:var(--gray); font-size:1.05rem;}
.btn{
  display:inline-block;
  padding:14px 32px;
  border-radius:2px;
  font-weight:700;
  font-size:0.92rem;
  letter-spacing:0.5px;
  text-transform:uppercase;
  cursor:pointer;
  border:2px solid transparent;
  transition:all .25s ease;
}
.btn-gold{background:var(--gold); color:var(--navy);}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{border-color:rgba(255,255,255,0.6); color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,0.12);}

/* NAV */
header{
  position:sticky; top:0; z-index:1000;
  background:var(--navy);
  border-bottom:3px solid var(--gold);
}
nav.wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:78px;
}
.brand{
  display:flex; align-items:center; gap:12px;
  font-family:Georgia,serif; color:#fff; font-size:1.15rem; font-weight:700; letter-spacing:1px;
}
.brand .mark{
  width:38px; height:38px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  display:flex; align-items:center; justify-content:center;
  color:var(--navy); font-weight:900; font-size:1rem;
}
.brand span{ color:var(--gold-light); }
.nav-links{display:flex; align-items:center; gap:34px; list-style:none;}
.nav-links a{
  color:#eef1f6; font-size:0.92rem; font-weight:600; letter-spacing:0.4px;
  text-transform:uppercase; position:relative; padding:6px 0;
}
.nav-links a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:0;
  background:var(--gold); transition:width .25s ease;
}
.nav-links a:hover::after, .nav-links a.active::after{width:100%;}
.nav-cta{
  background:var(--gold); color:var(--navy); padding:10px 22px; border-radius:2px;
  font-weight:700; font-size:0.85rem; text-transform:uppercase; letter-spacing:0.5px;
}
.hamburger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none;}
.hamburger span{width:26px; height:2px; background:#fff;}

/* HERO */
.hero{
  background:
    linear-gradient(120deg, rgba(10,31,60,0.92), rgba(15,44,82,0.85)),
    radial-gradient(circle at 80% 20%, rgba(201,162,39,0.25), transparent 55%);
  color:#fff;
  padding:130px 0 90px;
  text-align:center;
}
.hero .eyebrow{color:var(--gold-light);}
.hero h1{
  color:#fff; font-size:clamp(2.2rem, 5vw, 3.4rem); max-width:880px; margin:0 auto 22px;
}
.hero h1 em{color:var(--gold-light); font-style:normal;}
.hero p.lead{
  max-width:680px; margin:0 auto 36px; color:#d7deea; font-size:1.12rem;
}
.hero-actions{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:56px;}
.hero-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:720px; margin:0 auto;
  border-top:1px solid rgba(255,255,255,0.15); padding-top:36px;
}
.hero-stats div{text-align:center;}
.hero-stats .num{font-family:Georgia,serif; font-size:1.9rem; color:var(--gold-light); font-weight:700;}
.hero-stats .label{font-size:0.82rem; color:#c3cbdb; text-transform:uppercase; letter-spacing:1px; margin-top:4px;}

/* PAGE HERO (inner pages) */
.page-hero{
  background:
    linear-gradient(120deg, rgba(10,31,60,0.94), rgba(15,44,82,0.88)),
    radial-gradient(circle at 80% 20%, rgba(201,162,39,0.22), transparent 55%);
  color:#fff;
  padding:110px 0 64px;
  text-align:center;
}
.page-hero .eyebrow{color:var(--gold-light);}
.page-hero h1{color:#fff; font-size:clamp(2rem, 4.4vw, 2.9rem); max-width:760px; margin:0 auto 18px;}
.page-hero p.lead{max-width:680px; margin:0 auto; color:#d7deea; font-size:1.08rem;}

/* ABOUT */
.about-grid{
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;
}
.about-grid p{color:var(--gray); margin-bottom:16px; font-size:1.02rem;}
.tag-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.tag{
  background:#fff; border:1px solid var(--border); color:var(--navy);
  font-size:0.82rem; font-weight:600; padding:8px 16px; border-radius:20px;
}
.about-card{
  background:var(--navy); color:#fff; border-radius:8px; padding:40px;
  box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.about-card::before{
  content:""; position:absolute; top:-40px; right:-40px; width:160px; height:160px;
  background:radial-gradient(circle, rgba(201,162,39,0.35), transparent 70%);
}
.about-card h3{color:var(--gold-light); font-size:1.3rem; margin-bottom:14px;}
.about-card ul{list-style:none; display:flex; flex-direction:column; gap:12px; margin-top:8px;}
.about-card li{padding-left:24px; position:relative; color:#dde3ee; font-size:0.98rem;}
.about-card li::before{content:"✦"; position:absolute; left:0; color:var(--gold);}

/* SERVICES */
.services-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px;}
.service-card{
  background:#fff; border:1px solid var(--border); border-radius:8px; padding:34px;
  transition:transform .2s ease, box-shadow .2s ease; position:relative;
}
.service-card:hover{transform:translateY(-4px); box-shadow:var(--shadow);}
.service-num{
  width:44px; height:44px; border-radius:50%; background:var(--navy); color:var(--gold-light);
  display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; font-weight:700; margin-bottom:18px;
}
.service-card h3{font-size:1.15rem; margin-bottom:10px;}
.service-card p{color:var(--gray); font-size:0.96rem;}

/* PROCESS */
.process-wrap{position:relative;}
.process-list{display:flex; flex-direction:column; gap:0;}
.process-item{
  display:grid; grid-template-columns:70px 1fr; gap:24px; padding:26px 0; border-bottom:1px solid var(--border);
}
.process-item:last-child{border-bottom:none;}
.process-step{
  font-family:Georgia,serif; font-size:1.6rem; color:var(--gold-dark); font-weight:700;
}
.process-item h4{font-size:1.08rem; margin-bottom:6px;}
.process-item p{color:var(--gray); font-size:0.95rem;}

/* LEADERSHIP */
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.team-card{
  background:#fff; border:1px solid var(--border); border-radius:8px; padding:30px 24px; text-align:center;
  transition:box-shadow .2s ease;
}
.team-card:hover{box-shadow:var(--shadow);}
.avatar{
  width:72px; height:72px; border-radius:50%; margin:0 auto 16px;
  background:linear-gradient(135deg, var(--navy), var(--navy-light));
  color:var(--gold-light); display:flex; align-items:center; justify-content:center;
  font-family:Georgia,serif; font-weight:700; font-size:1.3rem; border:3px solid var(--gold);
}
.team-card h4{font-size:1.05rem; margin-bottom:4px;}
.team-card .role{color:var(--gold-dark); font-size:0.85rem; font-weight:700; text-transform:uppercase; letter-spacing:0.4px;}

/* PROJECTS */
.projects-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.project-card{
  border-radius:8px; overflow:hidden; position:relative; height:230px;
  display:flex; align-items:flex-end; box-shadow:var(--shadow);
}
a.project-card{cursor:pointer;}
.project-card .bg{
  position:absolute; inset:0;
  background:linear-gradient(150deg, var(--navy-2), var(--navy-light));
}
.project-card .bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(10,31,60,0) 40%, rgba(7,21,39,0.92) 100%);
}
.project-card .content{position:relative; padding:20px; color:#fff;}
.project-card .content .tag-line{color:var(--gold-light); font-size:0.78rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:6px; font-weight:700;}
.project-card .content h4{color:#fff; font-size:1.05rem;}
.project-card .view-full{
  position:absolute; top:14px; right:14px; background:rgba(10,31,60,0.65); color:var(--gold-light);
  font-size:0.7rem; letter-spacing:0.5px; text-transform:uppercase; font-weight:700;
  padding:5px 10px; border-radius:20px; border:1px solid rgba(230,201,104,0.5);
}
.project-card .card-actions{
  position:absolute; top:14px; right:14px; display:flex; gap:6px; z-index:2;
}
.project-card .card-actions a{
  background:rgba(10,31,60,0.75); color:var(--gold-light);
  font-size:0.68rem; letter-spacing:0.4px; text-transform:uppercase; font-weight:700;
  padding:5px 10px; border-radius:20px; border:1px solid rgba(230,201,104,0.5);
  transition:background .2s ease;
}
.project-card .card-actions a:hover{background:var(--gold-dark); color:var(--navy);}

/* PARTNERS & CLIENTS */
.partner-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.partner-tile{
  background:#fff; border:1px solid var(--border); border-radius:8px; padding:30px 20px; text-align:center;
  transition:transform .2s ease, box-shadow .2s ease;
}
.partner-tile:hover{transform:translateY(-3px); box-shadow:var(--shadow);}
.partner-tile .wordmark{font-family:Georgia,serif; font-weight:700; font-size:1.08rem; color:var(--navy); margin-bottom:8px;}
.partner-tile .category{font-size:0.7rem; text-transform:uppercase; letter-spacing:0.6px; color:var(--gold-dark); font-weight:700;}

.feature-client{
  background:var(--navy); color:#fff; border-radius:8px; padding:44px;
  display:grid; grid-template-columns:auto 1fr; gap:32px; align-items:center; box-shadow:var(--shadow);
}
.feature-client .badge{
  width:84px; height:84px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  display:flex; align-items:center; justify-content:center;
  color:var(--navy); font-family:Georgia,serif; font-weight:900; font-size:1.5rem;
}
.feature-client h3{color:var(--gold-light); font-size:1.3rem; margin-bottom:10px;}
.feature-client p{color:#d7deea; font-size:0.98rem;}

/* CONTACT */
.contact-section{background:var(--navy); color:#fff;}
.contact-section .section-head h2{color:#fff;}
.contact-section .section-head p{color:#c3cbdb;}
.contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:50px;}
.contact-info-item{display:flex; gap:16px; margin-bottom:26px;}
.contact-info-item .icon{
  width:44px; height:44px; border-radius:50%; background:rgba(201,162,39,0.15);
  border:1px solid var(--gold); color:var(--gold-light);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700;
}
.contact-info-item h4{color:#fff; font-size:0.98rem; margin-bottom:3px;}
.contact-info-item p, .contact-info-item a{color:#c3cbdb; font-size:0.95rem;}
.contact-form{background:#fff; border-radius:8px; padding:36px; color:var(--ink);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.form-row.full{grid-template-columns:1fr;}
label{font-size:0.82rem; font-weight:700; color:var(--navy); display:block; margin-bottom:6px; text-transform:uppercase; letter-spacing:0.4px;}
input, textarea{
  width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:4px; font-family:inherit; font-size:0.95rem;
}
input:focus, textarea:focus{outline:none; border-color:var(--gold-dark);}
textarea{resize:vertical; min-height:110px;}
.contact-form .btn-gold{width:100%; margin-top:6px; border:none;}

footer{background:#071527; color:#9fabc2; padding:56px 0 24px; font-size:0.9rem;}
.footer-grid{display:grid; grid-template-columns:1.3fr 0.8fr 0.8fr 0.8fr; gap:36px; margin-bottom:40px;}
footer h5{color:#fff; font-size:0.95rem; margin-bottom:16px; text-transform:uppercase; letter-spacing:0.6px;}
footer ul{list-style:none;}
footer li{margin-bottom:10px;}
footer a:hover{color:var(--gold-light);}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1); padding-top:20px; text-align:center; color:#6f7c96; font-size:0.82rem;}

@media(max-width:900px){
  .about-grid, .services-grid, .team-grid, .projects-grid, .contact-grid, .footer-grid{grid-template-columns:1fr;}
  .partner-grid{grid-template-columns:repeat(2,1fr);}
  .feature-client{grid-template-columns:1fr; text-align:center; justify-items:center;}
  .nav-links{position:fixed; top:78px; left:0; right:0; background:var(--navy); flex-direction:column; align-items:flex-start; padding:20px 24px; gap:18px; transform:translateY(-150%); transition:transform .25s ease; border-bottom:3px solid var(--gold);}
  .nav-links.open{transform:translateY(0);}
  .hamburger{display:flex;}
  .nav-cta{display:none;}
  .hero-stats{grid-template-columns:1fr; gap:24px;}
  .projects-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
}
