
  :root{
    --navy: #0B1B3A;
    --navy-2: #16294F;
    --navy-deep: #071328;
    --gold: #E3A828;
    --gold-2: #C98E14;
    --gold-soft: #F4D889;
    --cream: #FBF9F4;
    --ink: #12203D;
    --slate: #55607A;
    --line: #E4E1D6;
    --radius: 14px;
    --maxw: 1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0; font-family:'Inter',sans-serif; color:var(--ink); background:var(--cream);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4,.display{font-family:'Sora',sans-serif; letter-spacing:-0.01em;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  ul{margin:0; padding:0; list-style:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  .eyebrow{
    display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-2); margin-bottom:14px;
  }
  .eyebrow::before{content:""; width:22px; height:2px; background:var(--gold-2); display:inline-block;}
  section{padding:96px 0;}
  @media (max-width:720px){ section{padding:64px 0;} }

  /* ===== NAV ===== */
  header#top{
    position:sticky; top:0; z-index:100; background:rgba(251,249,244,0.92);
    backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
  }
  .navbar{display:flex; align-items:center; justify-content:space-between; padding:14px 28px; max-width:var(--maxw); margin:0 auto;}
  .brand{display:flex; align-items:center; gap:12px;}
  .brand img{height:46px; width:auto;}
  nav.links{display:flex; align-items:center; gap:30px;}
  nav.links > a{font-weight:600; font-size:14.5px; color:var(--navy); position:relative; padding:6px 0;}
  nav.links > a:hover{color:var(--gold-2);}
  .has-drop{position:relative;}
  .dropdown{
    position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
    background:#fff; border:1px solid var(--line); border-radius:12px; padding:10px;
    min-width:240px; box-shadow:0 18px 40px rgba(11,27,58,0.14);
    opacity:0; visibility:hidden; translate:0 8px; transition:all .18s ease;
  }
  .has-drop:hover .dropdown{opacity:1; visibility:visible; translate:0 0;}
  .dropdown a{display:block; padding:9px 12px; border-radius:8px; font-size:13.5px; font-weight:600; color:var(--navy);}
  .dropdown a:hover{background:var(--cream); color:var(--gold-2);}
  .cta-btn{
    background:var(--navy); color:#fff; padding:11px 20px; border-radius:999px; font-weight:700;
    font-size:13.5px; border:1px solid var(--navy); transition:all .2s;
  }
  .cta-btn:hover{background:var(--gold); border-color:var(--gold); color:var(--navy-deep);}
  .cta-btn.ghost{background:transparent; color:var(--navy); border:1px solid var(--line);}
  .cta-btn.ghost:hover{border-color:var(--gold); color:var(--gold-2); background:transparent;}
  .burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px;}
  .burger span{width:24px; height:2px; background:var(--navy);}

  /* ===== HERO ===== */
  .hero{
    background:radial-gradient(1100px 500px at 78% -10%, rgba(227,168,40,0.16), transparent 60%), var(--navy);
    color:#fff; position:relative; overflow:hidden; padding:110px 0 90px;
  }
  .hero::after{
    content:""; position:absolute; right:-160px; top:-160px; width:520px; height:520px; border-radius:50%;
    border:70px solid rgba(227,168,40,0.09);
  }
  .hero-grid{display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:center; position:relative; z-index:2;}
  @media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
  .hero h1{font-size:clamp(34px,5vw,58px); line-height:1.06; margin:0 0 20px; font-weight:800;}
  .hero h1 em{font-style:normal; color:var(--gold);}
  .hero p.lede{font-size:18px; color:#C8D0E3; max-width:520px; line-height:1.6; margin-bottom:34px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  .hero-ctas .cta-btn{padding:14px 26px; font-size:14.5px;}
  .hero-ctas .cta-btn.ghost{color:#fff; border-color:rgba(255,255,255,0.25);}
  .hero-ctas .cta-btn.ghost:hover{border-color:var(--gold); color:var(--gold);}

  /* signature: giant triad ring — echoes the G in the logo, 3 arcs for 3 pillars */
  .triad{position:relative; width:100%; max-width:420px; aspect-ratio:1/1; margin:0 auto;}
  .triad svg{width:100%; height:100%;}
  .triad-label{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    flex-direction:column; text-align:center; padding:0 60px;
  }
  .triad-label strong{font-family:'Sora',sans-serif; font-size:15px; color:#fff; display:block;}
  .triad-label span{font-size:11.5px; color:#9FADC9; letter-spacing:.06em;}
  .arc-tag{
    position:absolute; background:rgba(255,255,255,0.06); border:1px solid rgba(227,168,40,0.35);
    color:#fff; font-size:11.5px; font-weight:700; padding:7px 12px; border-radius:999px; backdrop-filter:blur(6px);
  }

  /* ===== SECTION HEADERS ===== */
  .sec-head{max-width:640px; margin-bottom:52px;}
  .sec-head h2{font-size:clamp(26px,3.4vw,38px); margin:0 0 14px; font-weight:800; color:var(--navy);}
  .sec-head p{color:var(--slate); font-size:16px; line-height:1.65;}
  .sec-head.center{margin-left:auto; margin-right:auto; text-align:center;}

  /* ===== PILLARS (why choose) ===== */
  .pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media (max-width:860px){ .pillars{grid-template-columns:1fr;} }
  .pillar-card{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:30px 26px;
    transition:transform .2s, box-shadow .2s;
  }
  .pillar-card:hover{transform:translateY(-4px); box-shadow:0 20px 40px rgba(11,27,58,0.08);}
  .pillar-num{font-family:'Sora',sans-serif; font-weight:800; font-size:13px; color:var(--gold-2); margin-bottom:14px;}
  .pillar-card h3{font-size:18px; margin:0 0 10px; color:var(--navy);}
  .pillar-card p{color:var(--slate); font-size:14.5px; line-height:1.6; margin:0;}

  /* ===== SERVICES TABS ===== */
  .tab-row{display:flex; gap:10px; margin-bottom:34px; flex-wrap:wrap;}
  .tab-btn{
    padding:13px 22px; border-radius:999px; border:1px solid var(--line); background:#fff;
    font-weight:700; font-size:13.5px; color:var(--slate); cursor:pointer; transition:all .2s;
  }
  .tab-btn.active{background:var(--navy); border-color:var(--navy); color:#fff;}
  .tab-panel{display:none;}
  .tab-panel.active{display:block; animation:fadein .35s ease;}
  @keyframes fadein{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
  .service-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
  @media (max-width:720px){ .service-grid{grid-template-columns:1fr;} }
  .service-item{
    display:flex; gap:16px; padding:20px; background:#fff; border:1px solid var(--line);
    border-radius:12px; align-items:flex-start;
  }
  .service-item .dot{
    width:38px; height:38px; border-radius:10px; background:var(--cream); border:1px solid var(--gold-soft);
    flex:none; display:flex; align-items:center; justify-content:center; color:var(--gold-2); font-weight:800;
  }
  .service-item h4{margin:0 0 4px; font-size:15px; color:var(--navy);}
  .service-item p{margin:0; font-size:13.5px; color:var(--slate); line-height:1.5;}

  /* ===== INDUSTRIES ===== */
  .industry-strip{display:grid; grid-template-columns:repeat(6,1fr); gap:14px;}
  @media (max-width:900px){ .industry-strip{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:560px){ .industry-strip{grid-template-columns:repeat(2,1fr);} }
  .industry-chip{
    background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px 14px; text-align:center;
    font-size:13px; font-weight:700; color:var(--navy);
  }

  /* ===== PROJECTS ===== */
  .proj-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  @media (max-width:900px){ .proj-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .proj-grid{grid-template-columns:1fr;} }
  .proj-card{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:#fff;}
  .proj-thumb{height:150px; background:linear-gradient(135deg,var(--navy),var(--navy-deep)); position:relative;}
  .proj-thumb .tag{position:absolute; bottom:12px; left:14px; background:var(--gold); color:var(--navy-deep); font-weight:800; font-size:11px; padding:5px 10px; border-radius:999px;}
  .proj-body{padding:18px 20px;}
  .proj-body h4{margin:0 0 8px; font-size:15.5px; color:var(--navy);}
  .proj-body p{margin:0; font-size:13.5px; color:var(--slate); line-height:1.55;}

  /* ===== TESTIMONIALS ===== */
  .testi-wrap{background:var(--navy); border-radius:20px; padding:52px; color:#fff; position:relative;}
  @media (max-width:640px){ .testi-wrap{padding:32px 24px;} }
  .testi-slide{display:none;}
  .testi-slide.active{display:block; animation:fadein .4s ease;}
  .testi-slide p.quote{font-size:19px; line-height:1.6; max-width:760px; color:#EDEFF6; font-weight:500;}
  .testi-slide .who{margin-top:22px; display:flex; align-items:center; gap:12px;}
  .who .avatar{width:42px; height:42px; border-radius:50%; background:var(--gold); color:var(--navy-deep); display:flex; align-items:center; justify-content:center; font-weight:800;}
  .who strong{display:block; font-size:14px;} .who span{font-size:12.5px; color:#9FADC9;}
  .testi-dots{display:flex; gap:8px; margin-top:30px;}
  .testi-dots button{width:9px; height:9px; border-radius:50%; border:none; background:rgba(255,255,255,0.25); cursor:pointer;}
  .testi-dots button.active{background:var(--gold); width:22px; border-radius:6px;}

  /* ===== INSIGHTS / FAQ ===== */
  .insight-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:56px;}
  @media (max-width:860px){ .insight-grid{grid-template-columns:1fr;} }
  .insight-card{border:1px solid var(--line); background:#fff; border-radius:var(--radius); padding:24px;}
  .insight-card .cat{font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-2); margin-bottom:10px; display:block;}
  .insight-card h4{margin:0 0 8px; font-size:16px; color:var(--navy);}
  .insight-card p{margin:0; font-size:13.5px; color:var(--slate); line-height:1.55;}

  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; padding:20px 4px; cursor:pointer;
    font-weight:700; color:var(--navy); font-size:15px;
  }
  .faq-q .plus{font-size:20px; color:var(--gold-2); transition:transform .2s;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease; color:var(--slate); font-size:14px; line-height:1.6;}
  .faq-item.open .faq-a{max-height:220px; padding-bottom:18px;}

  /* ===== CONTACT ===== */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
  @media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
  .form-field{margin-bottom:16px;}
  .form-field label{display:block; font-size:12.5px; font-weight:700; color:var(--navy); margin-bottom:6px;}
  .form-field input, .form-field textarea, .form-field select{
    width:100%; padding:12px 14px; border-radius:9px; border:1px solid var(--line); font-family:inherit;
    font-size:14px; background:#fff; color:var(--ink);
  }
  .form-field textarea{resize:vertical; min-height:100px;}
  .submit-btn{
    background:var(--gold); color:var(--navy-deep); border:none; padding:14px 26px; border-radius:999px;
    font-weight:800; font-size:14px; cursor:pointer; transition:all .2s;
  }
  .submit-btn:hover{background:var(--navy); color:#fff;}
  .info-card{background:var(--navy); color:#fff; border-radius:var(--radius); padding:30px; margin-bottom:16px;}
  .info-card h4{margin:0 0 6px; color:var(--gold); font-size:15px;}
  .info-card p, .info-card a{color:#C8D0E3; font-size:14px; line-height:1.7;}
  .map-box{height:210px; border-radius:var(--radius); background:
    repeating-linear-gradient(45deg, #ECE7D8, #ECE7D8 12px, #E4DEC9 12px, #E4DEC9 24px);
    display:flex; align-items:center; justify-content:center; color:var(--slate); font-size:13px; font-weight:700; border:1px solid var(--line);
  }

  /* ===== FOOTER ===== */
  footer{background:var(--navy-deep); color:#C8D0E3; padding:64px 0 26px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; margin-bottom:48px;}
  @media (max-width:800px){ .foot-grid{grid-template-columns:1fr 1fr;} }
  .foot-grid h5{color:#fff; font-size:13px; letter-spacing:.06em; text-transform:uppercase; margin:0 0 16px;}
  .foot-grid a, .foot-grid p{display:block; font-size:13.5px; color:#9FADC9; margin-bottom:10px; line-height:1.5;}
  .foot-grid a:hover{color:var(--gold);}
  .foot-brand img{height:42px; margin-bottom:14px;}
  .foot-brand p{max-width:280px; color:#8492B0; font-size:13px; line-height:1.6;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,0.08); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:#7484A5;}

  .toast{
    position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(120%); background:var(--navy);
    color:#fff; padding:14px 22px; border-radius:999px; font-size:13.5px; font-weight:700; box-shadow:0 12px 30px rgba(0,0,0,.25);
    transition:transform .3s ease; z-index:200;
  }
  .toast.show{transform:translateX(-50%) translateY(0);}

  /* mobile nav */
  @media (max-width:980px){
    nav.links{position:fixed; inset:0 0 0 auto; top:74px; background:#fff; width:280px; height:calc(100vh - 74px);
      flex-direction:column; align-items:flex-start; padding:26px; gap:6px; box-shadow:-10px 0 30px rgba(0,0,0,.08);
      transform:translateX(100%); transition:transform .25s ease; z-index:99;}
    nav.links.open{transform:translateX(0);}
    nav.links > a{width:100%; padding:12px 8px; border-bottom:1px solid var(--line);}
    .dropdown{position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:none; display:none; padding:0 0 0 12px; min-width:0;}
    .has-drop.open .dropdown{display:block;}
    .burger{display:flex;}
    .nav-actions{display:none;}
  }

/* ===== SERVICE PAGE ADDITIONS ===== */
.page-hero{
  background:radial-gradient(900px 420px at 82% -10%, rgba(227,168,40,0.16), transparent 60%), var(--navy);
  color:#fff; padding:64px 0 56px; position:relative; overflow:hidden;
}
.page-hero::after{
  content:""; position:absolute; right:-140px; top:-140px; width:420px; height:420px; border-radius:50%;
  border:60px solid rgba(227,168,40,0.09);
}
.breadcrumb{position:relative; z-index:2; font-size:13px; color:#9FADC9; margin-bottom:22px;}
.breadcrumb a{color:#C8D0E3; font-weight:600;}
.breadcrumb a:hover{color:var(--gold);}
.page-hero h1{position:relative; z-index:2; font-size:clamp(30px,4.4vw,46px); font-weight:800; margin:0 0 16px; max-width:760px;}
.page-hero p.lede{position:relative; z-index:2; font-size:16.5px; color:#C8D0E3; max-width:600px; line-height:1.65; margin-bottom:0;}
.pillar-switch{display:flex; gap:10px; margin-top:28px; position:relative; z-index:2; flex-wrap:wrap;}
.pillar-switch a{
  padding:10px 18px; border-radius:999px; border:1px solid rgba(255,255,255,0.18); font-size:13px; font-weight:700; color:#C8D0E3;
}
.pillar-switch a.current{background:var(--gold); color:var(--navy-deep); border-color:var(--gold);}
.pillar-switch a:hover:not(.current){border-color:var(--gold); color:var(--gold);}

.subservice-list{display:flex; flex-direction:column; gap:16px;}
.subservice-card{
  display:grid; grid-template-columns:64px 1fr; gap:22px; padding:26px; background:#fff;
  border:1px solid var(--line); border-radius:var(--radius); align-items:flex-start;
}
@media (max-width:640px){ .subservice-card{grid-template-columns:1fr; gap:12px;} }
.subservice-card .num{
  width:52px; height:52px; border-radius:12px; background:var(--cream); border:1px solid var(--gold-soft);
  color:var(--gold-2); font-family:'Sora',sans-serif; font-weight:800; font-size:16px;
  display:flex; align-items:center; justify-content:center;
}
.subservice-card h3{margin:0 0 8px; font-size:19px; color:var(--navy);}
.subservice-card p{margin:0 0 12px; color:var(--slate); font-size:14.5px; line-height:1.65;}
.subservice-card ul{margin:0; padding:0;}
.subservice-card ul li{
  display:inline-block; font-size:12.5px; font-weight:700; color:var(--navy); background:var(--cream);
  border:1px solid var(--line); padding:6px 12px; border-radius:999px; margin:0 8px 8px 0;
}

.cross-links{display:grid; grid-template-columns:repeat(2,1fr); gap:20px;}
@media (max-width:640px){ .cross-links{grid-template-columns:1fr;} }
.cross-card{
  background:var(--navy); color:#fff; border-radius:var(--radius); padding:28px; transition:transform .2s;
}
.cross-card:hover{transform:translateY(-3px);}
.cross-card span.k{font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:10px;}
.cross-card h4{margin:0 0 8px; font-size:17px;}
.cross-card p{margin:0; font-size:13.5px; color:#C8D0E3; line-height:1.6;}

.cta-band{
  background:var(--gold); border-radius:20px; padding:44px 46px; display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:20px;
}
.cta-band h3{margin:0 0 6px; color:var(--navy-deep); font-size:22px;}
.cta-band p{margin:0; color:var(--navy-deep); opacity:.8; font-size:14px;}
.cta-band .cta-btn{background:var(--navy); border-color:var(--navy); color:#fff;}
.cta-band .cta-btn:hover{background:var(--navy-deep); border-color:var(--navy-deep);}
