
:root{
  --navy-950:#081627;
  --navy-900:#0c2138;
  --navy-800:#13314f;
  --navy-700:#1d4468;
  --navy-600:#2c5d8a;
  --gold-600:#b0872e;
  --gold-500:#c79a3d;
  --gold-300:#e1c079;
  --gold-100:#f4e6c4;
  --paper:#f8f5ee;
  --paper-dim:#f0ebdc;
  --ink:#161f2b;
  --slate:#5b6672;
  --line:#e2dccb;
  --white:#ffffff;
  --radius-sm:2px;
  --radius-md:3px;
  --shadow-card:0 18px 40px -22px rgba(8,22,39,.35);
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter',sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,.font-display{
  /* font-family:'Fraunces',serif; */
  font-family: 'Inter',sans-serif;
  font-weight:600;
  letter-spacing:-.01em;
  color:var(--navy-950);
}

a{ text-decoration:none; }
p{ color:var(--slate); }
::selection{ background:var(--gold-300); color:var(--navy-950); }

.container-xl{ max-width:1260px; }

/* ---------- eyebrow / kicker (used sparingly, only where content is a category label, not decoration) ---------- */
.kicker{
  display:flex; align-items:center; gap:.6rem;
  font-size:.78rem; font-weight:600; letter-spacing:.06em;
  color:var(--gold-600);
  margin-bottom:.85rem;
}
.kicker::before{
  content:""; width:26px; height:2px; background:var(--gold-500); display:inline-block;
}

/* ---------- Navbar ---------- */
.mw-nav{
  padding:0.5rem 0;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:1000;
}
.mw-logo{ display:flex; align-items:center; gap:.65rem; }
.mw-logo .mw-logo-img {height: 4rem; width: auto;}
.mw-logo-text{ line-height:1.05; }
.mw-logo-text .name{
  font-family:'Fraunces',serif; font-weight:700; font-size:1.18rem;
  color:var(--navy-950); letter-spacing:.01em;
}
.mw-logo-text .sub{
  font-size:.62rem; letter-spacing:.18em; color:var(--gold-600); font-weight:600;
}
.mw-nav .nav-link{
  color:var(--navy-800); font-weight:500; font-size:.95rem;
  padding:.5rem 1rem !important; position:relative;
}
.mw-nav .nav-link.active,
.mw-nav .nav-link:hover{ color:var(--gold-600); }
.mw-nav .nav-link.active::after{
  content:""; position:absolute; left:1rem; right:1rem; bottom:.15rem; height:2px; background:var(--gold-500);
}
.btn-gold{
  background:var(--gold-500); border:1px solid var(--gold-500); color:var(--navy-950) !important;
  font-weight:600; padding:.6rem 1.35rem; border-radius:var(--radius-sm);
  transition:background .18s ease, transform .18s ease;
}
.btn-gold:hover{ background:var(--gold-300); border-color:var(--gold-300); }
.btn-outline-navy{
  border:1px solid var(--navy-700); color:var(--navy-900) !important; font-weight:600;
  padding:.58rem 1.3rem; border-radius:var(--radius-sm); background:transparent;
}
.btn-outline-navy:hover{ background:var(--navy-900); color:var(--white) !important; }
.btn-outline-cream{
  border:1px solid rgba(255,255,255,.55); color:var(--white) !important; font-weight:600;
  padding:.58rem 1.3rem; border-radius:var(--radius-sm); background:transparent;
}
.btn-outline-cream:hover{ background:rgba(255,255,255,.12); }

/* ---------- Hero (diagonal navy panel, mountain art) ---------- */
.hero{
  position:relative; background:var(--paper); overflow:hidden;
}
.hero-grid{
  display:grid; grid-template-columns:40% 60%; min-height:560px;
}
.hero-panel{
  background:var(--navy-950);
  clip-path:polygon(0 0,100% 0,84% 100%,0 100%);
  padding:5.5rem 3.5rem 4rem 5.5vw;
  display:flex; flex-direction:column; justify-content:center;
  position:relative; z-index:2;
  margin-right:-9vw;
}
.hero-panel h1{
  color:var(--white); font-size:clamp(2.2rem,3.6vw,3.4rem); line-height:1.08; margin-bottom:1.4rem;
}
.hero-panel h1 em{ font-style:normal; color:var(--gold-300); }
.hero-panel p.lead{
  color:#c9d3de; max-width:34rem; font-size:1.06rem; margin-bottom:2rem;
}
.hero-art{
  position:relative; background:linear-gradient(180deg,#e8c98c 0%,#f3d9a3 22%,#cfe1ea 55%,#eef3f1 100%);
}
.hero-art img {width: 100%;}
.hero-tagline{
  position:absolute; top:2.6rem; right:3vw; text-align:right; z-index:3;
  font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; color:var(--navy-950);
  line-height:1.5;
}
.hero-tagline .rule{ width:60px; height:2px; background:var(--gold-600); margin:.5rem 0 0 auto; }

.stat-strip{
  background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.stat-item{ display:flex; align-items:center; gap:1rem; padding:1.9rem .5rem; }
.stat-item .ic{
  width:52px; height:52px; border-radius:50%; background:var(--paper-dim);
  display:flex; align-items:center; justify-content:center; color:var(--navy-900); flex-shrink:0;
}
.stat-item .ic svg{ width:24px; height:24px; }
.stat-item .lab{ font-size:.72rem; letter-spacing:.1em; font-weight:700; color:var(--gold-600); }
.stat-item .val{ font-family:'Fraunces',serif; font-weight:600; font-size:1.12rem; color:var(--navy-950); }

/* ---------- Section shell ---------- */
.section{ padding:5.5rem 0; }
.section-tight{ padding:3.5rem 0; }
.section-navy{ background:var(--navy-950); color:#cfd7e0; }
.section-navy h2{ color:var(--white); }
.section-navy p{ color:#aebac7; }
.section-paper-dim{ background:var(--paper-dim); }

.section-head{ max-width:640px; margin-bottom:3rem; }
.section-head h2{ font-size:clamp(1.7rem,2.4vw,2.3rem); margin-bottom:.9rem; }

/* ---------- Service / offering cards ---------- */
.svc-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md);
  padding: 1rem 1.8rem; height:100%;
}
.svc-card .ic-wrap{
  width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  margin-bottom:1.4rem;
}
.svc-card .ic-wrap svg{ width:26px; height:26px; }
.svc-card h3{ font-size:1.12rem; margin-bottom:1rem; line-height:1.3; }
.svc-card ul{ list-style:none; padding:0; margin:0; }
.svc-card ul li{
  position:relative; padding-left:1.05rem; margin-bottom:.55rem; font-size:.8rem; color:var(--slate);
}
.svc-card ul li::before{
  content:""; position:absolute; left:0; top:.55em; width:5px; height:5px; background:var(--gold-500); border-radius:50%;
}
.tone-navy .ic-wrap{ background:var(--navy-950); color:var(--white); }
.tone-gold .ic-wrap{ background:var(--gold-500); color:var(--navy-950); }

/* ---------- Process rail (Build / Operate / Scale — genuine sequence) ---------- */
.process-row{ position:relative; }
.process-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-md);
  padding:1rem; height:100%; position:relative;
}
.process-card.active{ background:var(--navy-950); border-color:var(--navy-950); }
.process-card.active h3, .process-card.active .num{ color:var(--white); }
.process-card.active p, .process-card.active li{ color:#c3cdd8; }
.process-card .num{
  font-family:'Fraunces',serif; font-weight:600; font-size:2.1rem; color:var(--line); line-height:1;
}
.process-card h3{ font-size:1.2rem; margin:.35rem 0 1.1rem; }
.process-card ul{ list-style:none; padding:0; margin:0; }
.process-card ul li{ position:relative; padding-left:1.05rem; margin-bottom:.55rem; font-size:.9rem; color:var(--slate); }
.process-card ul li {color: #c3cdd8;}
.process-card ul li::before{ content:"—"; position:absolute; left:0; color:var(--gold-500); font-size:.8rem; }
.process-arrow{
  display:flex; align-items:center; justify-content:center; color:var(--gold-500);
}

/* ---------- Engagement model tiles ---------- */
.model-tile{
  border-radius:var(--radius-md); padding:2rem 1.8rem; height:100%;
  display:flex; flex-direction:column; gap:.9rem;
}
.model-tile .ic{ width:40px; height:40px; }
.model-tile h3{ font-size:1.05rem; margin:0; }
.model-tile p{ margin:0; font-size:.9rem; }
.model-navy{ background:var(--navy-950); }
.model-navy h3{ color:var(--white); }
.model-navy p{ color:var(--white); }
.model-navy .ic{ color:var(--white); }
.model-gold{ background:var(--gold-500); }
.model-gold h3{ color:var(--white); }
.model-gold p{ color:var(--white); }
.model-gold .ic{ color:var(--white); }
.model-outline{ background:var(--white); border:1px solid var(--line); }
.model-outline h3{ color:var(--navy-950); }
.model-outline .ic{ color:var(--gold-600); }

/* ---------- Advantage pillars ---------- */
.pillar{ text-align:left; }
.pillar .ic{
  width:48px; height:48px; border-radius:50%; background:var(--paper-dim); color:var(--navy-900);
  display:flex; align-items:center; justify-content:center; margin-bottom:1rem;
}
.pillar .ic svg{ width:22px; height:22px; }
.pillar h4{ font-size:.98rem; margin-bottom:.4rem; color:var(--navy-950); }
.pillar p{ font-size:.86rem; margin:0; }

/* ---------- CTA banner ---------- */
.cta-banner{
  background:linear-gradient(120deg,var(--navy-950) 0%, var(--navy-800) 100%);
  border-radius:var(--radius-md); padding:3.2rem clamp(1.5rem,5vw,4rem);
  color:var(--white); position:relative; overflow:hidden;
}
.cta-banner h2{ color:var(--white); }
.cta-banner p{ color:#c3cdd8; }

/* ---------- Footer ---------- */
.mw-footer{ background:var(--navy-950); color:#aab6c3; padding:3.2rem 0 1.6rem; }
.mw-footer h5{ color:var(--white); font-family:'Fraunces',serif; font-size:1.02rem; margin-bottom:1.1rem; }
.mw-footer a{ color:#aab6c3; }
.mw-footer a:hover{ color:var(--gold-300); }
.mw-footer .contact-line{ display:flex; align-items:center; gap:.6rem; margin-bottom:.7rem; font-size:.92rem; }
.mw-footer .contact-line svg{ width:17px; height:17px; color:var(--gold-400); flex-shrink:0; }
.mw-footer hr{ border-color:rgba(255,255,255,.12); margin:2.2rem 0 1.4rem; }
.mw-footer .fine{ font-size:.8rem; color:#ffffff; }

/* ---------- Page header (interior pages) ---------- */
.page-header{
  background:var(--navy-950); padding:4rem 0 3.2rem; position:relative; overflow:hidden;
}
.page-header h1{ color:var(--white); font-size:clamp(1.9rem,3vw,2.6rem); margin-bottom:.7rem; }
.page-header p{ color:#b9c4d0; max-width:38rem; margin:0; }
.page-header .breadcrumb-mw{ font-size:.8rem; color:var(--gold-400); letter-spacing:.04em; margin-bottom:1rem; }
.page-header .breadcrumb-mw a{ color:#8ea0b2; }

/* ---------- Misc utility ---------- */
.divider-gold{ width:56px; height:3px; background:var(--gold-500); margin-bottom:1.4rem; }
.text-gold{ color:var(--gold-600) !important; }
.bg-paper-dim{ background:var(--paper-dim); }
.check-list{ list-style:none; padding:0; margin:0; }
.check-list li{ display:flex; gap:.7rem; margin-bottom:.9rem; font-size:.95rem; color:var(--ink); }
.check-list li svg{ width:19px; height:19px; color:var(--gold-600); flex-shrink:0; margin-top:.15rem; }

@media (max-width:991.98px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-panel{ clip-path:none; margin-right:0; padding:3.4rem 1.6rem 2.6rem; }
  .hero-art{ min-height:280px; order:-1; }
  .hero-tagline{ position:static; text-align:left; padding:1.2rem 1.6rem 0; }
  .hero-tagline .rule{ margin:.5rem 0 0 0; }
  .process-arrow{ transform:rotate(90deg); margin:.4rem 0; }
}
@media (max-width:575.98px){
  .section{ padding:3.6rem 0; }
  .hero-panel{ padding:2.6rem 1.2rem 2.2rem; }
}
