:root {
  --navy: #0A1A3C;
  --navy2: #0d2050;
  --gold: #C5A059; /* The Standardized Institutional Gold */
  --gold2: #A38446; /* A slightly darker shade for hover states */
  --red: #CC0000;
  --white: #ffffff;
  --off: #F7F8FA;
  --smoke: #F0F1F4;
  --muted: #6b6b7a;
  --mid: #9a9aa8;
  --rule: #e4e4ec;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Figtree', sans-serif;
  --mono: 'DM Mono', monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--sans);color:var(--navy);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none;}

/* ─── Cursor ─── */
#cur{position:fixed;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);}
#cur-r{position:fixed;width:30px;height:30px;border:1.5px solid var(--gold);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);opacity:.45;transition:transform .13s ease-out;}

/* ─── UTILITY BAR (Bain top strip) ─── */
.util-bar{background:var(--navy);height:36px;display:flex;align-items:center;padding:0 2.5rem;gap:2rem;position:relative;z-index:2000;}
.util-bar a,.util-bar span{font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);text-decoration:none;cursor:none;transition:color .2s;}
.util-bar a:hover{color:var(--gold);}
.util-divider{width:1px;height:14px;background:rgba(255,255,255,.15);}
.util-right{margin-left:auto;display:flex;align-items:center;gap:2rem;}
.util-lang{display:flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.45);font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;cursor:none;}
.util-lang svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;}

/* ─── PRIMARY NAV FIXED ─── */
#main-nav {
  position: fixed; /* Changed from sticky to fixed for better reliability with injection */
  top: 36px;      /* Starts below the utility bar */
  left: 0;
  right: 0;
  z-index: 1500;
  height: 68px;
  background: var(--white);
  border-bottom: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
  transition: all 0.3s ease;
}

/* When the user scrolls, we'll use JS to move it to the very top (0px) */
#main-nav.elevated {
  top: 0;
  box-shadow: 0 4px 24px rgba(0,0,0,0.1);
}

/* Adjust the Utility Bar to stay at the top */
.util-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1600;
  background: var(--navy);
  height: 36px;
  display: flex;
  align-items: center;
  padding: 0 2.5rem;
}

/* IMPORTANT: Add padding to your body or main so content doesn't hide under the nav */
body { background: var(--white); cursor: none; }
.nav-active { padding-top: 104px; }

.nav-logo{
  font-family:var(--sans);font-size:1rem;font-weight:800;
  letter-spacing:-.03em;text-transform:uppercase;
  color:var(--navy);text-decoration:none;cursor:none;
  display:flex;align-items:center;flex-shrink:0;
  white-space:nowrap;
}
.nav-logo .amp{color:var(--gold);margin:0 1px;}

.ind-cell {
  display: block; /* Ensures the link fills the whole grid cell */
  text-decoration: none; /* Removes underline */
  color: inherit; /* Keeps your Navy color */
}

.ind-cell:hover .ind-name {
  color: var(--gold); /* Subtle transition effect */
}

/* Nav links */
.nav-links{display:flex;align-items:center;justify-content: center;height:68px;flex:1;}
.nav-item{position:static;height:68px;display:flex;align-items:center;}
.nav-trigger{
  height:68px;display:flex;align-items:center;
  padding:0 1rem;font-size:.78rem;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;
  color:var(--navy);cursor:none;
  border-bottom:3px solid transparent;
  transition:color .2s,border-color .2s;
  white-space:nowrap;text-decoration:none;
}
.nav-trigger .arr{font-size:.4rem;margin-left:4px;opacity:.5;display:inline-block;transition:transform .25s;}
.nav-item:hover>.nav-trigger,.nav-trigger.act{color:var(--gold);border-bottom-color:var(--gold);}
.nav-item:hover .arr{transform:rotate(180deg);}

/* ─── MEGA MENU ─── */
.mega{
  position:absolute;top:68px;left:50%;transform:translateX(-50%) translateY(8px);
  background:var(--white);border-top:3px solid var(--gold);
  box-shadow:0 24px 60px rgba(0,0,0,.13);
  padding:2.5rem 3rem;
  opacity:0;visibility:hidden;
  transition:opacity .18s,transform .18s,visibility .18s;
  border-radius:0 0 8px 8px;
  width: 95vw;
  max-width: 1380px; 
}
.nav-item:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}

.mega-label{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.4rem;
  display:flex;align-items:center;gap:.7rem;
}
.mega-label::after{content:'';flex:1;height:1px;background:var(--rule);}

.mega-cols{display:grid;gap:.15rem 2.5rem;}
.mc-4{grid-template-columns:repeat(4,1fr);}
.mc-3{grid-template-columns:repeat(3,1fr);}
.mc-2{grid-template-columns:repeat(2,1fr);}

.ml{
  display:block;padding:.48rem 0 .48rem .6rem;
  font-size:.82rem;font-weight:500;color:var(--muted);
  text-decoration:none;border-left:2px solid transparent;
  transition:color .18s,border-color .18s,padding-left .18s;cursor:none;
}
.ml:hover{color:var(--navy);border-left-color:var(--gold);padding-left:1rem;}

/* About mega */
.mega-about{min-width:820px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;}
.mac{padding-right:2.5rem;}
.mac+.mac{padding-left:2rem;border-left:1px solid var(--rule);}
.mac h4{font-family:var(--mono);font-size:.56rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;}
.mai{display:block;padding:.7rem .8rem;border-left:2px solid transparent;text-decoration:none;cursor:none;transition:all .18s;margin-bottom:.3rem;}
.mai:hover{border-left-color:var(--gold);background:var(--off);}
.mai strong{display:block;font-size:.82rem;font-weight:600;color:var(--navy);margin-bottom:.15rem;}
.mai span{font-size:.72rem;color:var(--mid);font-weight:300;}
.mac-promo{background:var(--navy);padding:1.4rem 1.6rem;border-radius:6px;margin-top:.3rem;}
.mac-promo p{font-family:var(--serif);font-size:.95rem;font-style:italic;color:rgba(255,255,255,.7);line-height:1.6;margin-bottom:1rem;}
.mac-promo a{font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);text-decoration:none;cursor:none;}
.mac-promo a:hover{color:var(--white);}

/* Nav right */
.nav-right{display:flex;align-items:center;gap:1.5rem;flex-shrink:0;}
.nav-search{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;color:var(--navy);cursor:none;transition:color .2s;}
.nav-search:hover{color:var(--gold);}
.nav-save{font-size:.75rem;font-weight:600;color:var(--navy);cursor:none;transition:color .2s;font-family:var(--sans);}
.nav-save:hover{color:var(--gold);}
.nav-cta{background:var(--gold);color:var(--navy);padding:.48rem 1.3rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:none;transition:background .2s,transform .15s;white-space:nowrap;}
.nav-cta:hover{background:var(--gold2);transform:translateY(-1px);}

/* ─── PAGES ─── */
.page{display:none;}
.page.active{display:block;}

/* ─── HERO / CAROUSEL ─── */
.hero{position:relative;width:100%;height:calc(100vh - 36px - 68px);min-height:560px;overflow:hidden;background:var(--navy);}
.slide{position:absolute;inset:0;opacity:0;z-index:0;transition:opacity .9s ease;}
.slide.active{opacity:1;z-index:10;}
.slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 9s ease;}
.slide.active .slide-bg{transform:scale(1.05);}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(10,26,60,.9) 38%,rgba(10,26,60,.35) 100%);}

.slide-body{
  position:relative;z-index:2;
  max-width:1380px;margin:0 auto;
  padding:0 3rem;
  height:100%;display:flex;align-items:center;
}
.slide-text{max-width:640px;}

.s-eyebrow{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.6rem;
  display:flex;align-items:center;gap:.9rem;
  opacity:0;transform:translateY(18px);
  transition:opacity .7s .25s,transform .7s .25s;
}
.slide.active .s-eyebrow{opacity:1;transform:translateY(0);}
.s-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);}

.s-title{
  font-family:var(--serif);font-size:clamp(2.8rem,5.5vw,5.8rem);
  font-weight:300;line-height:1.04;color:var(--white);
  letter-spacing:-.01em;margin-bottom:1.4rem;
  opacity:0;transform:translateY(28px);
  transition:opacity .8s .45s,transform .8s .45s;
}
.slide.active .s-title{opacity:1;transform:translateY(0);}
.s-title em{font-style:italic;color:var(--gold);}

.s-sub{
  font-size:.98rem;line-height:1.8;color:rgba(255,255,255,.58);
  max-width:460px;font-weight:300;margin-bottom:2.4rem;
  opacity:0;transform:translateY(16px);
  transition:opacity .7s .65s,transform .7s .65s;
}
.slide.active .s-sub{opacity:1;transform:translateY(0);}

.s-actions{
  display:flex;gap:1.1rem;align-items:center;
  opacity:0;transform:translateY(12px);
  transition:opacity .6s .85s,transform .6s .85s;
}
.slide.active .s-actions{opacity:1;transform:translateY(0);}

.btn-gold{background:var(--gold);color:var(--navy);padding:.78rem 2rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:none;display:inline-block;transition:background .2s,transform .15s;}
.btn-gold:hover{background:var(--gold2);transform:translateY(-2px);}
.btn-ghost-w{color:rgba(255,255,255,.7);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:.45rem;transition:color .2s;cursor:none;}
.btn-ghost-w:hover{color:var(--gold);}
.btn-ghost-w::after{content:'→';transition:transform .2s;}
.btn-ghost-w:hover::after{transform:translateX(4px);}

/* Hero right stats */
.slide-stats{
  position:absolute;right:3rem;bottom:7rem;z-index:20;
  display:flex;gap:2.5rem;
  opacity:0;transform:translateY(16px);
  transition:opacity .7s 1s,transform .7s 1s;
}
.slide.active .slide-stats{opacity:1;transform:translateY(0);}
.sstat{text-align:right;padding-right:2rem;border-right:1px solid rgba(255,255,255,.12);}
.sstat:last-child{border-right:none;padding-right:0;}
.sstat .n{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--white);line-height:1;}
.sstat .n sup{font-size:.9rem;color:var(--gold);}
.sstat .l{font-family:var(--mono);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-top:.3rem;}

/* Carousel controls */
.car-ctrl{
  position:absolute;bottom:2.8rem;left:3rem;z-index:20;
  display:flex;gap:2rem;max-width:520px;width:100%;
}
.cc{flex:1;background:none;border:none;cursor:none;text-align:left;padding:0;}
.cc-lbl{font-family:var(--mono);font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);display:block;margin-bottom:.6rem;transition:color .2s;}
.cc:hover .cc-lbl,.cc.on .cc-lbl{color:var(--white);}
.cc-bar{height:2px;background:rgba(255,255,255,.12);position:relative;overflow:hidden;}
.cc-fill{position:absolute;inset:0;background:var(--gold);transform:translateX(-100%);}
.cc.on .cc-fill{animation:barFill var(--d,6s) linear forwards;}
@keyframes barFill{from{transform:translateX(-100%);}to{transform:translateX(0);}}

/* ─── MARQUEE ─── */
.mq-bar{background:var(--navy);border-top:1px solid rgba(217,182,72,.18);padding:.9rem 0;overflow:hidden;}
.mq-track{display:flex;gap:3.5rem;white-space:nowrap;animation:mq 26s linear infinite;}
.mq-track:hover{animation-play-state:paused;}
.mq-item{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.22);display:flex;align-items:center;gap:1.2rem;flex-shrink:0;}
.mq-item::after{content:'◆';color:var(--gold);font-size:.32rem;}
@keyframes mq{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ─── COMMON SECTION (FLUID UPGRADE) ─── */
/* Padding shrinks to 60px on mobile, scales dynamically via 8vw on tablets, maxes at 180px on desktop */
section { 
    padding: clamp(60px, 8vw, 180px) 0; 
    border-bottom: 1px solid var(--rule); 
    position: relative; 
}

/* Side margins shrink to 20px on mobile, max out at 80px on desktop */
.sw { 
    max-width: 1400px; 
    margin: 0 auto; 
    padding: 0 clamp(20px, 5vw, 80px); 
    position: relative; 
    z-index: 2; 
}

/* Make grid gaps fluid across the site */
.scopes-container, .ins-grid, .footer-grid-unified {
    gap: clamp(30px, 5vw, 100px) !important;
}

/* Fluid Typography overrides for standard H2s */
.h2, h2 {
    font-size: clamp(2.5rem, 5vw, 4.5rem) !important;
}

/* ─── HOMEPAGE — BAIN LAYOUT ─── */

/* Section: "What we do" feature strip — Bain has a full-bleed editorial strip */
.feature-strip{background:var(--off);padding:5rem 0;border-bottom:1px solid var(--rule);}
.feature-strip-inner{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1380px;margin:0 auto;}
.fs-left{padding:4rem 4rem 4rem 3rem;border-right:1px solid var(--rule);display:flex;flex-direction:column;justify-content:center;}
.fs-right{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);}
.fs-card{background:var(--white);padding:2.5rem 2rem;cursor:none;transition:background .3s;position:relative;overflow:hidden;}
.fs-card::after{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height .4s;}
.fs-card:hover{background:var(--off);}
.fs-card:hover::after{height:100%;}
.fs-card-num{font-family:var(--mono);font-size:.55rem;color:var(--gold);letter-spacing:.15em;margin-bottom:.9rem;opacity:.8;}
.fs-card-title{font-family:var(--serif);font-size:1.15rem;font-weight:500;color:var(--navy);line-height:1.25;margin-bottom:.7rem;}
.fs-card-text{font-size:.8rem;line-height:1.7;color:var(--muted);font-weight:300;}
.fs-title-large{font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);font-weight:300;line-height:1.1;margin-bottom:1.2rem;}
.fs-title-large em{font-style:italic;color:var(--gold);}
.fs-body{font-size:.9rem;line-height:1.85;color:var(--muted);font-weight:300;margin-bottom:2rem;max-width:420px;}
.btn-navy-sm{background:var(--navy);color:var(--white);padding:.6rem 1.6rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:none;display:inline-block;transition:background .2s,transform .15s;}
.btn-navy-sm:hover{background:var(--navy2);transform:translateY(-1px);}

/* Bain-style: "Results" full-width dark band */
.results-band{background:var(--navy);padding:6rem 0;}
.rb-inner{display:grid;grid-template-columns:1fr 2fr;gap:6rem;align-items:start;max-width:1380px;margin:0 auto;padding:0 3rem;}
.rb-numbers{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;}
.rb-num{padding:1.8rem;border:1px solid rgba(217,182,72,.15);transition:border-color .3s,background .3s;cursor:none;}
.rb-num:hover{border-color:var(--gold);background:rgba(217,182,72,.04);}
.rb-n{font-family:var(--serif);font-size:3rem;font-weight:300;color:var(--gold);line-height:1;}
.rb-l{font-family:var(--mono);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:.4rem;margin-bottom:.8rem;}
.rb-d{font-size:.78rem;line-height:1.65;color:rgba(255,255,255,.38);font-weight:300;}

/* Paradigm panels */
.paradigm{padding:6rem 0;background:var(--navy);}
.par-panels{display:flex;min-height:520px;gap:3px;margin-top:3rem;}
.pnl{flex:1;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);overflow:hidden;cursor:none;transition:flex .55s cubic-bezier(.77,0,.18,1);position:relative;}
.pnl:hover{flex:2.5;}
.pnl-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1);opacity:.12;transition:filter .55s,opacity .55s;}
.pnl:hover .pnl-bg{filter:grayscale(0);opacity:.28;}
.pnl-inner{position:relative;z-index:1;height:100%;padding:2.8rem 2.2rem;display:flex;flex-direction:column;justify-content:space-between;}
.pnl-num{font-family:var(--mono);font-size:.9rem;color:var(--gold);opacity:.65;}
.pnl-title{font-family:var(--serif);font-size:1.85rem;color:var(--white);font-weight:300;line-height:1.2;margin-top:1.1rem;transition:color .25s;}
.pnl:hover .pnl-title{color:var(--gold);}
.pnl-body{max-height:0;overflow:hidden;transition:max-height .45s,opacity .35s .08s;opacity:0;}
.pnl:hover .pnl-body{max-height:280px;opacity:1;}
.pnl-body p{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.75;font-weight:300;margin-bottom:1.4rem;}
.pnl-rule{width:36px;height:2px;background:var(--gold);}
.pnl-wm{position:absolute;bottom:1.8rem;right:1.8rem;font-size:4.5rem;font-weight:800;text-transform:uppercase;color:rgba(255,255,255,.03);letter-spacing:-.05em;pointer-events:none;white-space:nowrap;transition:opacity .3s;}
.pnl:hover .pnl-wm{opacity:0;}

/* Industries grid */
.ind-section{padding:6rem 0;background:var(--smoke);}
.ind-hdr{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem;}
.ind-hdr p{font-size:.9rem;line-height:1.85;color:var(--muted);font-weight:300;}
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(10,26,60,.08);}
.ind-cell{background:var(--smoke);padding:1.8rem 1.8rem 1.6rem;cursor:none;position:relative;overflow:hidden;transition:background .3s;}
.ind-cell::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--gold);transition:width .35s;}
.ind-cell:hover::after{width:100%;}
.ind-cell:hover{background:var(--white);}
.ind-n{font-family:var(--mono);font-size:.55rem;color:var(--gold);letter-spacing:.14em;margin-bottom:.7rem;opacity:.8;}
.ind-name{font-family:var(--serif);font-size:1.05rem;font-weight:500;color:var(--navy);line-height:1.2;}

/* Insights — Bain's editorial layout */
.insights-section{padding:6rem 0;background:var(--white);}
.ins-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;padding-bottom:1.4rem;border-bottom:1px solid var(--rule);}
.ins-all{font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px;transition:color .2s,border-color .2s;cursor:none;}
.ins-all:hover{color:var(--gold);border-color:var(--gold);}
/* Bain layout: big card left + 3-card column right */
.ins-grid{display:grid;grid-template-columns:3fr 2fr;gap:2.5rem;}
.ins-big{cursor:none;}
.ins-big-img{height:400px;overflow:hidden;position:relative;}
.ins-big-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.ins-big:hover .ins-big-img img{transform:scale(1.04);}
.ins-tag-chip{position:absolute;top:1rem;left:1rem;background:var(--gold);color:var(--navy);font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;padding:.28rem .75rem;}
.ins-cat{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:1.4rem 0 .6rem;}
.ins-big-title{font-family:var(--serif);font-size:1.85rem;font-weight:400;line-height:1.25;color:var(--navy);margin-bottom:.9rem;}
.ins-big:hover .ins-big-title{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;}
.ins-excerpt{font-size:.85rem;line-height:1.8;color:var(--muted);font-weight:300;}
.ins-meta{margin-top:1.3rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);display:flex;gap:.9rem;}
.ins-meta span:first-child{color:var(--gold);}

.ins-stack{display:flex;flex-direction:column;gap:0;}
.ins-card{padding:1.4rem 0;border-bottom:1px solid var(--rule);cursor:none;}
.ins-card:first-child{padding-top:0;}
.ins-card:hover .ins-card-title{color:var(--gold);}
.ins-card-type{font-family:var(--mono);font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);margin-bottom:.45rem;}
.ins-card-title{font-family:var(--serif);font-size:1.05rem;font-weight:400;line-height:1.3;color:var(--navy);transition:color .2s;}
.ins-rule{height:1px;background:var(--rule);margin-top:1rem;transition:background .2s;}
.ins-card:hover .ins-rule{background:var(--gold);}

/* Philosophy — full bleed */
.phil-section{padding:8rem 0;background:var(--navy);position:relative;overflow:hidden;}
.phil-section::before{content:'"';position:absolute;top:-4rem;left:1.5rem;font-family:var(--serif);font-size:32rem;line-height:1;color:rgba(217,182,72,.04);pointer-events:none;font-weight:300;}
.phil-inner{display:grid;grid-template-columns:5fr 7fr;gap:8rem;align-items:center;}
.phil-quote{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,2.1rem);font-style:italic;font-weight:300;line-height:1.55;color:var(--white);margin-bottom:1.8rem;}
.phil-quote em{color:var(--gold2);font-style:normal;}
.phil-cite{font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-style:normal;}
.phil-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;}
.pillar{padding-top:1.4rem;border-top:1px solid rgba(217,182,72,.18);}
.pillar h4{font-family:var(--serif);font-size:1rem;color:var(--gold2);font-weight:500;margin-bottom:.55rem;}
.pillar p{font-size:.76rem;line-height:1.75;color:rgba(255,255,255,.35);font-weight:300;}

/* Leadership */
.lead-section{padding:6rem 0;background:var(--white);}
.lead-hdr{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:3.5rem;}
.lead-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem;}
.lead-card{cursor:none;}
.lead-photo{height:280px;position:relative;overflow:hidden;}
.lead-photo-inner{position:absolute;inset:0;transition:transform .55s;}
.lead-card:hover .lead-photo-inner{transform:scale(1.04);}
.lead-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,26,60,.68) 0%,transparent 55%);}
.lead-ini{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-family:var(--serif);font-size:2.8rem;font-weight:300;color:rgba(255,255,255,.1);letter-spacing:.1em;}
.lc1{background:linear-gradient(145deg,#1c2841,#2e3d60);}
.lc2{background:linear-gradient(145deg,#1a2e1c,#2d4830);}
.lc3{background:linear-gradient(145deg,#2e1a1c,#4a2d30);}
.lc4{background:linear-gradient(145deg,#1a1e2e,#2e3250);}
.lead-name{font-family:var(--serif);font-size:1.05rem;font-weight:500;color:var(--navy);margin-top:.9rem;}
.lead-title{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:.22rem;}

/* Careers teaser */
.careers-teaser{padding:6rem 0;background:var(--smoke);}
.ct-inner{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center;}
.role-list{display:flex;flex-direction:column;}
.role-row{display:flex;justify-content:space-between;align-items:center;padding:1.3rem 0;border-bottom:1px solid rgba(10,26,60,.08);cursor:none;transition:padding-left .25s;}
.role-row:hover{padding-left:.6rem;}
.role-row:hover .rarr{color:var(--gold);transform:translateX(4px);}
.rname{font-family:var(--serif);font-size:.98rem;font-weight:500;color:var(--navy);margin-bottom:.2rem;}
.rmeta{font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);}
.rarr{color:var(--mid);font-size:1rem;transition:color .2s,transform .2s;}

/* CTA gold band */
.cta-band{background:var(--gold);padding:4.5rem 3rem;text-align:center;}
.cta-band h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:300;color:var(--navy);margin-bottom:.9rem;}
.cta-band p{font-size:.9rem;color:rgba(10,26,60,.5);margin-bottom:2.2rem;font-weight:300;}
.btn-navy{background:var(--navy);color:var(--white);padding:.82rem 2.5rem;font-family:var(--mono);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:none;display:inline-block;transition:background .2s,transform .15s;}
.btn-navy:hover{background:var(--navy2);transform:translateY(-2px);}

/* Newsletter */
.nl-bar{background:var(--off);padding:2.2rem 3rem;border-top:1px solid var(--rule);}
.nl-inner{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.nl-text{font-size:.85rem;font-weight:500;color:var(--navy);line-height:1.55;}
.nl-text strong{font-weight:700;}
.nl-form{display:flex;border-bottom:1.5px solid var(--navy);padding-bottom:.45rem;gap:.8rem;}
.nl-form input{flex:1;background:none;border:none;outline:none;font-size:.82rem;color:var(--navy);font-family:var(--sans);}
.nl-form input::placeholder{color:var(--mid);}
.nl-form button{font-family:var(--mono);font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;background:none;border:none;color:var(--navy);cursor:none;transition:color .2s;font-weight:700;}
.nl-form button:hover{color:var(--gold);}

/* Ensure the footer grid remains a 4-column row regardless of content */
.footer-grid-unified {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 2rem;
    width: 100%;
}

/* Ensure the legal strip is forced to the bottom */
.footer-legal-unified {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,0.1);
}

/* ─── SUB-PAGES ─── */
.subpage-hero{padding:5rem 3rem 3.5rem;max-width:1380px;margin:0 auto;}
.subpage-hero .eyebrow{margin-bottom:.8rem;}
.subpage-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,4.5rem);font-weight:300;line-height:1.06;letter-spacing:-.01em;margin-bottom:1.4rem;}
.subpage-hero p{font-size:.98rem;line-height:1.85;color:var(--muted);max-width:560px;font-weight:300;}
.sub-rule{height:1px;background:var(--rule);margin:0 3rem 3.5rem;}
.sub-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;padding:0 3rem 7rem;max-width:1380px;margin:0 auto;}
.sub-card{padding:2.3rem;border:1px solid var(--rule);transition:border-color .25s,transform .25s,box-shadow .25s;cursor:none;}
.sub-card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 10px 35px rgba(0,0,0,.06);}
.sub-card h3{font-family:var(--serif);font-size:1.25rem;font-weight:500;margin-bottom:.9rem;}
.sub-card p{font-size:.8rem;line-height:1.78;color:var(--muted);font-weight:300;}

/* About page */
.about-hero{padding:5rem 3rem 3.5rem;max-width:1380px;margin:0 auto;}
.about-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,4.8rem);font-weight:300;line-height:1.06;}
.about-hero h1 em{font-style:italic;color:var(--gold);}
.about-body{display:grid;grid-template-columns:220px 1fr;gap:5rem;padding:3rem 3rem 7rem;max-width:1380px;margin:0 auto;}
.about-sidebar{position:sticky;top:80px;height:fit-content;}
.about-sidebar nav{display:flex;flex-direction:column;}
.about-sidebar nav a{padding:.75rem 0;font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);text-decoration:none;border-bottom:1px solid var(--rule);transition:color .2s,padding-left .2s;cursor:none;}
.about-sidebar nav a:hover{color:var(--gold);padding-left:.5rem;}
.about-main h2{font-family:var(--serif);font-size:1.9rem;font-weight:400;color:var(--navy);margin:3rem 0 1.1rem;}
.about-main h2:first-child{margin-top:0;}
.about-main p{font-size:.9rem;line-height:1.9;color:var(--muted);font-weight:300;margin-bottom:.95rem;}
.about-main blockquote{margin:2.2rem 0;padding:1.6rem 2rem;border-left:3px solid var(--gold);background:var(--off);font-family:var(--serif);font-size:1.2rem;font-style:italic;line-height:1.6;color:var(--navy);}
.vals-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin:1.4rem 0;}
.val-card{padding:1.5rem;background:var(--off);border-left:2px solid var(--gold);}
.val-card h4{font-family:var(--serif);font-size:.98rem;font-weight:500;margin-bottom:.45rem;}
.val-card p{font-size:.78rem;line-height:1.7;color:var(--muted);margin:0;}

/* Careers page */
.careers-hero{padding:5rem 3rem 3.5rem;max-width:1380px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;}
.careers-hero h1{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4.5rem);font-weight:300;line-height:1.06;}
.careers-hero h1 em{font-style:italic;color:var(--gold);}
.careers-hero p{font-size:.9rem;line-height:1.85;color:var(--muted);font-weight:300;}
.c-stats{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2rem;}
.cstat{padding:1.4rem;background:var(--off);border-left:3px solid var(--gold);}
.cstat .n{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--navy);}
.cstat .l{font-family:var(--mono);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin-top:.28rem;}
.jobs-wrap{padding:2rem 3rem 7rem;max-width:1380px;margin:0 auto;}
.jobs-filter{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:2.5rem;}
.f-btn{padding:.4rem 1.1rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);background:none;color:var(--muted);cursor:none;transition:all .2s;}
.f-btn:hover,.f-btn.on{background:var(--navy);border-color:var(--navy);color:var(--white);}
.jobs-tbl{display:flex;flex-direction:column;}
.job-row{display:grid;grid-template-columns:2.5fr 1fr 1.2fr auto;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--rule);cursor:none;transition:padding-left .22s;}
.job-row:hover{padding-left:.7rem;}
.jt{font-family:var(--serif);font-size:1rem;font-weight:500;color:var(--navy);}
.jd{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.jl{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);}
.ja{padding:.42rem 1rem;font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);background:none;cursor:none;text-decoration:none;transition:all .2s;white-space:nowrap;}
.ja:hover{background:var(--gold);color:var(--navy);}

/* Why C&C */
.why-cc{background:var(--navy);padding:5rem 3rem;}
.why-inner{max-width:1380px;margin:0 auto;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem;}

/* Reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* Btn text */
.btn-txt{color:var(--navy);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:.45rem;transition:color .2s;cursor:none;}
.btn-txt:hover{color:var(--gold);}
.btn-txt::after{content:'→';transition:transform .2s;}
.btn-txt:hover::after{transform:translateX(4px);}

@media(max-width:1100px){
  .ind-grid{grid-template-columns:repeat(3,1fr);}
  .feature-strip-inner{grid-template-columns:1fr;}
  .ins-grid{grid-template-columns:1fr;}
  .phil-inner{grid-template-columns:1fr;gap:3rem;}
  .lead-grid{grid-template-columns:repeat(2,1fr);}
  .ft-top{grid-template-columns:1fr 1fr;gap:2rem;}
  .nav-links{overflow-x:auto;}
}

/* FORCE FOOTER GRID BEHAVIOR */
.footer-grid-unified {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 3rem;
    width: 100%;
}

@media (max-width: 900px) {
    .footer-grid-unified {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 2.5rem;
    }
}

/* FIX BODY OVERFLOW FOR PERFECTIONIST ALIGNMENT */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1; /* This pushes the footer-placeholder to the very bottom */
}

#footer-placeholder {
    width: 100%;
}

/* ─── FOOTER & NAV INJECTION FIXES ─── */
.ft-link { 
    display: block; 
    color: rgba(255,255,255,0.6); 
    text-decoration: none; 
    font-size: 0.85rem; 
    margin-bottom: 0.85rem; 
    transition: color 0.3s; 
}
.ft-link:hover { 
    color: var(--gold); 
}
.nav-cta:hover { 
    background: #fff !important; 
    color: var(--navy) !important; 
}

/* ─── UTILITY BAR SCROLL FIX ─── */
.util-bar {
    transition: transform 0.3s ease;
}
.util-bar.hidden {
    transform: translateY(-100%);
}

/* ==========================================================================
   RESPONSIVE ARCHITECTURE PROTOCOL (TABLET & MOBILE)
   ========================================================================== */

/* ─── TABLET / SMALL LAPTOP (Max 1100px) ─── */
@media (max-width: 1100px) {
    /* Compress margins and paddings */
    .sw { padding: 0 40px; }
    section { padding: 100px 0 !important; }
    
    /* Collapse 2-column asymmetric grids into 1 column */
    .hero-split, .manifesto-grid, .phil-layout, .exec-layout, .overview-grid, .syn-grid, .mi-inner {
        grid-template-columns: 1fr !important;
        gap: 50px !important;
    }
    
    /* Collapse 3/4-column grids into 2 columns */
    .scopes-container, .expertise-grid, .practice-grid, .team-grid, .intel-grid, .record-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Terminal Rows (Public Record) Stack vertically */
    .term-row { 
        grid-template-columns: 1fr !important; 
        gap: 15px !important; 
        padding: 30px 0 !important; 
    }
    .term-link, .term-date { text-align: left !important; }

    /* Stats Bar */
    .stats-bar { grid-template-columns: repeat(2, 1fr) !important; }
    .stat-box { border-bottom: 1px solid rgba(10,26,60,0.1); }
    .stat-box:nth-child(2) { border-right: none; }

    /* Operational Index Tabs */
    .idx-panel { grid-template-columns: repeat(2, 1fr) !important; }
    
    /* Adjust Hero Height */
    .hero-section { height: auto !important; min-height: 70vh !important; padding-top: 180px !important; padding-bottom: 80px !important; }
}

/* ─── MOBILE PHONES (Max 768px) ─── */
@media (max-width: 768px) {
    /* Tighten boundaries for mobile screens */
    .sw { padding: 0 25px; }
    section { padding: 80px 0 !important; }
    
    /* Typography Scaling */
    h2 { font-size: 2.5rem !important; }
    .hero-title { font-size: clamp(3.5rem, 12vw, 4.5rem) !important; line-height: 0.9 !important; }
    .hero-subtitle { font-size: 1.4rem !important; }
    .m-lead, .syn-text h2 { font-size: 2.8rem !important; }
    
    /* Collapse EVERYTHING into a single column */
    .scopes-container, .expertise-grid, .practice-grid, .team-grid, .intel-grid, .record-grid, .idx-panel, .stats-bar, .footer-grid-unified {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    
    /* Fix specific UI elements that look weird when stacked */
    .scope-item { padding: 2rem 0 !important; border-right: none !important; border-bottom: 1px solid var(--rule); }
    .stat-box { border-right: none !important; padding: 30px 0 !important; }
    .mi-inner { padding: 40px 25px !important; }
    
    /* Fix Footer legal strip */
    .footer-legal-unified { 
        flex-direction: column !important; 
        gap: 20px; 
        align-items: flex-start !important; 
        text-align: left !important; 
    }
    .footer-legal-unified div { text-align: left !important; }

    /* Fix Index Tabs */
    .index-tabs { flex-direction: column; gap: 20px; margin-bottom: 3rem !important; }
    .idx-tab { font-size: 2.2rem !important; padding-bottom: 0.5rem !important; }

    /* Hide the Utility Bar on Mobile (It eats too much screen space) */
    .util-bar { display: none !important; }
    
    /* Adjust Main Nav Padding for Mobile */
    #main-nav { padding: 0 25px !important; top: 0 !important; }
}

/* ─── MOBILE MENU ARCHITECTURE ─── */
.mobile-toggle { 
    display: none; 
    flex-direction: column; 
    justify-content: center;
    gap: 6px; 
    cursor: pointer; 
    z-index: 2100; /* Stays above everything */
}
.mobile-toggle span { 
    width: 28px; 
    height: 2px; 
    background: var(--navy); 
    transition: all 0.3s ease; 
}

.mobile-menu { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100vh; 
    background: var(--navy); 
    z-index: 2000; 
    transform: translateY(-100%); 
    transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1); 
    overflow-y: auto; 
    padding: 120px 30px 60px; 
}
.mobile-menu.active { 
    transform: translateY(0); 
}

/* Hamburger to 'X' Animation */
.mobile-toggle.active span { background: #fff; }
.mobile-toggle.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.mobile-toggle.active span:nth-child(2) { opacity: 0; }
.mobile-toggle.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Accordion Styling */
.mob-item { border-bottom: 1px solid rgba(255,255,255,0.1); }
.mob-trigger { 
    display: flex; justify-content: space-between; align-items: center; 
    padding: 25px 0; font-family: var(--serif); font-size: 2rem; color: #fff; cursor: pointer; 
}
.mob-arr { font-family: var(--mono); font-size: 1.5rem; color: var(--gold); transition: transform 0.3s ease; }
.mob-item.active .mob-arr { transform: rotate(45deg); }

.mob-dropdown { 
    max-height: 0; overflow: hidden; transition: max-height 0.4s ease; 
    display: flex; flex-direction: column; gap: 15px; 
}
.mob-item.active .mob-dropdown { max-height: 600px; padding-bottom: 25px; }

.mob-dropdown a { 
    font-family: var(--sans); font-size: 1.1rem; color: rgba(255,255,255,0.6); 
    text-decoration: none; transition: color 0.3s; 
}
.mob-dropdown a:hover { color: var(--gold); }

.mob-cta { 
    display: block; text-align: center; margin-top: 40px; background: var(--gold); 
    color: var(--navy); padding: 20px; font-family: var(--mono); font-size: 0.8rem; 
    text-transform: uppercase; letter-spacing: 0.15em; text-decoration: none; font-weight: 700; 
}

/* Breakpoint Logic: Hide Desktop Nav, Show Hamburger */
@media (max-width: 1100px) {
    .nav-links, .nav-right { display: none !important; }
    .mobile-toggle { display: flex; }
}

/* ==========================================================================
   SOVEREIGN MOBILE STANDARDS
   ========================================================================== */

@media (max-width: 1100px) {
    /* 1. Hide desktop noise */
    .nav-links, .nav-right, .util-bar { display: none !important; }
    
    /* 2. Force Nav to absolute top (No 36px gap) */
    #main-nav { 
        top: 0 !important; 
        padding: 0 20px !important;
        height: 70px !important;
    }

    /* 3. Reveal the Hamburger */
    .mobile-toggle { 
        display: flex !important; 
        flex-direction: column;
        gap: 6px;
        cursor: pointer;
        z-index: 2100;
    }
    .mobile-toggle span { 
        width: 25px; 
        height: 2px; 
        background: #0A1A3C; 
        transition: 0.3s; 
    }

    /* 4. Full Screen Overlay */
    .mobile-menu {
        position: fixed;
        top: 0; left: 0; width: 100%; height: 100vh;
        background: #0A1A3C;
        z-index: 2000;
        transform: translateY(-100%);
        transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
        padding: 100px 30px;
        overflow-y: auto;
    }
    .mobile-menu.active { transform: translateY(0); }

    /* 5. Mobile Accordion Links */
    .mob-trigger {
        display: flex; justify-content: space-between;
        padding: 20px 0; font-family: var(--serif);
        font-size: 1.8rem; color: #fff; border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .mob-dropdown { max-height: 0; overflow: hidden; transition: 0.4s; display: flex; flex-direction: column; gap: 10px; }
    .mob-item.active .mob-dropdown { max-height: 500px; padding: 15px 0; }
    .mob-dropdown a { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 1rem; }

    /* 6. Layout Compression */
    section { padding: 60px 0 !important; }
    .sw { padding: 0 20px !important; }
    .hero-title { font-size: 3rem !important; line-height: 1.1 !important; }
    
    /* 7. Grid Collapse */
    .scopes-container, .idx-panel, .team-grid, .footer-grid-unified {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }
}
