:root{
  /* ===== Brand pair (logo colors) ===== */
  --lime:#2fe6c0;           /* mint  */
  --lime-dark:#20c7a4;
  --teal:#ff6a5c;           /* coral */
  --coral-dark:#e8503f;

  /* ===== Signature gradients (built ONLY from the two logo colors) ===== */
  --grad-brand:linear-gradient(120deg,#2fe6c0 0%,#9af3e0 38%,#ffb5a9 68%,#ff6a5c 100%);
  --grad-brand-rev:linear-gradient(120deg,#ff6a5c 0%,#ffb5a9 32%,#9af3e0 62%,#2fe6c0 100%);
  --grad-mint:linear-gradient(135deg,#2fe6c0 0%,#8ff3de 100%);
  --grad-coral:linear-gradient(135deg,#ff6a5c 0%,#ff9a86 100%);
  --grad-soft:linear-gradient(135deg,#e8fbf6 0%,#ffffff 50%,#fff1ee 100%);
  --grad-soft-2:linear-gradient(135deg,#fff1ee 0%,#ffffff 50%,#e8fbf6 100%);

  /* ===== Dark = text / headings / small accents only ===== */
  --navy-dark:#2e3138;
  --navy:#2e3138;
  --navy-mid:#454955;
  --navy-darker:#1c1e22;

  --white:#ffffff;
  --off-white:#f6f7f9;
  --mint-tint:#e8fbf6;
  --coral-tint:#fff1ee;
  --gray-text:#2d2d2d;
  --gray-light:#e8eaed;
  --font-heading:'Kanit', sans-serif;
  --font-body:'Inter', sans-serif;
  --container-max:1320px;
  --radius-lg:16px;
  --radius-md:10px;
}

*{box-sizing:border-box; margin:0; padding:0;}

body{
  font-family:var(--font-body);
  color:var(--navy-mid);
  line-height:1.5;
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer;}

.container{
  max-width:var(--container-max);
  margin:0 auto;
  padding:0 40px;
}

h1,h2,h3,h4{
  font-family:var(--font-heading);
  color:var(--navy-mid);
  font-weight:600;
  line-height:1.15;
}

.eyebrow{
  font-family:var(--font-body);
  font-weight:700;
  font-size:13px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:14px;
  display:block;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 28px;
  border-radius:40px;
  font-weight:600;
  font-size:15px;
  border:2px solid transparent;
  transition:all .25s ease;
  white-space:nowrap;
}

/* Primary button: dark pill (readable on white, mint AND coral), flips to brand gradient on hover */
.btn-lime{
  background:var(--navy-dark);
  color:var(--white);
  background-size:200% 100%;
}
.btn-lime:hover{
  background-image:var(--grad-brand);
  color:var(--navy-dark);
  box-shadow:0 8px 20px rgba(255,106,92,.35);
  transform:translateY(-1px);
}

.btn-outline-lime{
  background:transparent;
  border-color:var(--navy-dark);
  color:var(--navy-dark);
}
.btn-outline-lime:hover{
  background-image:var(--grad-brand);
  background-color:transparent;
  border-color:transparent;
  color:var(--navy-dark);
  box-shadow:0 8px 20px rgba(255,106,92,.35);
  transform:translateY(-1px);
}

/* ==========================================================================
   Page frame
   ========================================================================== */

.top-wrap{
  background:var(--white);
  padding:14px 14px 0;
}

/* ==========================================================================
   Header / Navbar  (white so the logo always shows, gradient accent line)
   ========================================================================== */

.site-header{
  background:var(--white);
  padding: 20px 20px 0px 20px;
  max-width:1800px;
  margin:0 auto;
  position:sticky;
  top:0;
  z-index:1000;
}
main{
  display:block;
  padding:20px;
}

.navbar{
  display:flex;
  align-items:center;
  padding:22px 40px;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:16px;
  box-shadow:0 10px 30px rgba(46,49,56,.08);
  position:relative;
  transition:border-radius .15s ease;
}
.navbar::after{
  content:'';
  position:absolute;
  left:24px;
  right:24px;
  bottom:-1px;
  height:3px;
  border-radius:3px;
  background:var(--grad-brand);
  opacity:.9;
}

.navbar:has(.nav-item.open){
  border-radius:16px 16px 0 0;
}

.navbar-left{
  display:flex;
  align-items:center;
  gap:44px;
}

.navbar-logo img{
  height:56px;
  width:auto;
  max-width:100%;
}

@media(max-width:1100px){
  .navbar-logo img{height:50px;}
}

@media(max-width:640px){
  .navbar-logo img{height:42px;}
}

.navbar-menu{
  display:flex;
  align-items:center;
  gap:36px;
  margin-left:48px;
}

.nav-link{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--navy-dark);
  font-weight:500;
  font-size:15px;
  padding:10px 0;
  transition:color .2s ease;
}

.nav-link svg{
  width:12px; height:12px;
  transition:transform .2s ease;
}

.nav-item.active .nav-link,
.nav-item:hover .nav-link{
  color:var(--teal);
}

.nav-item.active .nav-link{
  box-shadow:inset 0 -2px 0 0 var(--teal);
}

.nav-item.active .nav-link svg,
.nav-item.open .nav-link svg{
  transform:rotate(180deg);
}

.navbar-right{
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
}

.navbar-right .icon-link{
  color:var(--navy-dark);
  display:flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  font-weight:500;
}
.navbar-right .icon-link:hover{color:var(--teal);}

.navbar-right .search-icon svg{width:18px; height:18px;}

.btn-connect{
  background:var(--grad-brand);
  border:none;
  color:var(--navy-dark);
  padding:11px 24px;
  border-radius:30px;
  font-weight:600;
  font-size:14px;
  transition:all .25s ease;
}
.btn-connect:hover{
  box-shadow:0 8px 20px rgba(255,106,92,.35);
  transform:translateY(-1px);
}

/* ==========================================================================
   Mobile hamburger nav
   ========================================================================== */

.hamburger-btn{
  display:none;
  position:relative;
  width:28px;
  height:28px;
  background:none;
  border:none;
  padding:0;
  color:var(--navy-dark);
}
.hamburger-btn svg{
  position:absolute;
  top:2px; left:2px;
  width:24px; height:24px;
  transition:opacity .15s ease;
}
.hamburger-btn .icon-close{opacity:0;}
.hamburger-btn.open .icon-menu{opacity:0;}
.hamburger-btn.open .icon-close{opacity:1;}

.mobile-menu{
  display:none;
  flex-direction:column;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:16px;
  padding:6px 24px 28px;

  position:absolute;
  top:calc(100% + 14px);
  left:0;
  right:0;
  z-index:999;
  box-shadow:0 30px 60px rgba(46,49,56,.18);
  max-height:calc(100vh - 140px);
  overflow-y:auto;
}
.mobile-menu.open{display:flex;margin-left:20px;margin-right:20px;}

body.mobile-menu-open{overflow:hidden;}

.mobile-menu-list li{border-top:1px solid var(--gray-light);}
.mobile-menu-list li:first-child{border-top:none;}

.mobile-menu-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:18px 2px;
  color:var(--navy-dark);
  font-weight:600;
  font-size:16px;
}
.mobile-menu-list a:hover{color:var(--teal);}

.mobile-menu-list .chevron{width:18px; height:18px; flex-shrink:0;}

.mobile-menu-secondary{margin-top:2px;}
.mobile-menu-secondary a{
  justify-content:flex-start;
  font-weight:500;
  font-size:15px;
}

.mobile-btn-connect{
  margin-top:22px;
  width:100%;
  justify-content:center;
  text-align:center;
}

@media(max-width:1100px){
  .navbar-menu{display:none;}
  .navbar-right{gap:18px;}
  .navbar-right .icon-link:not(.search-icon),
  .navbar-right .btn-connect{display:none;}
  .hamburger-btn{display:block;}
  .navbar:has(.mobile-menu.open){border-radius:16px 16px 0 0;}
}

@media(max-width:640px){
  .navbar-right{gap:14px;}
}

/* Mega menu dropdown */
.mega-menu{
  position:absolute;
  top:100%;
  left:-1px;
  right:-1px;
  width:auto;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-top:none;
  border-radius:0 0 16px 16px;
  box-shadow:0 30px 60px rgba(46,49,56,.18);
  display:none;
  overflow:hidden;
}

.nav-item.open .mega-menu{display:flex;}

.mega-menu-left{
  position:relative;
  width:30%;
  padding:40px;
  display:flex;
  flex-direction:column;
  gap:32px;
}
.mega-menu-left::after{
  content:'';
  position:absolute;
  top:40px;
  bottom:40px;
  right:0;
  width:1px;
  background:var(--gray-light);
}

.mega-menu-left h3{
  font-size:28px;
  margin-bottom:14px;
}

.mega-menu-left p{
  color:var(--gray-text);
  font-size:15px;
  margin-bottom:18px;
}

.mega-menu-cols{
  flex:1;
  display:flex;
  padding:40px 20px;
  gap:48px;
}

.mega-menu-cols .col h4{
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--teal);
  font-family:var(--font-body);
  font-weight:700;
  margin-bottom:16px;
}

.mega-menu-cols .col li{margin-bottom:12px;}
.mega-menu-cols .col a{
  color:var(--navy-mid);
  font-size:15px;
  font-weight:500;
}
.mega-menu-cols .col a:hover{color:var(--teal);}

.mega-menu-right{
  width:30%;
  background:var(--grad-coral);
  padding:40px;
  color:var(--navy-dark);
}
.mega-menu-cols .col{
  flex:1;
}
.mega-menu-right .feature-thumb{
  width:44px;
  height:44px;
  border-radius:8px;
  object-fit:cover;
  flex-shrink:0;
}

.mega-menu-right .eyebrow{color:var(--navy-dark);}

.mega-menu-right .feature{
  display:flex;
  gap:14px;
  margin-bottom:24px;
}

.mega-menu-right .feature-icon{
  width:44px; height:44px;
  background:var(--grad-mint);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.mega-menu-right .feature h5{
  font-family:var(--font-heading);
  font-size:17px;
  margin-bottom:4px;
  color:var(--navy-dark);
}

.mega-menu-right .feature p{
  font-size:13px;
  color:var(--navy-dark);
  opacity:.85;
}

/* ==========================================================================
   Hero
   ========================================================================== */

.hero{
  position:relative;
  min-height:640px;
  background:var(--white);
  display:flex;
  align-items:flex-end;
  padding:24px;
  overflow:hidden;
}

.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:16px;
  z-index:0;
}

.hero::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:16px;
  background:
    linear-gradient(120deg, rgba(47,230,192,.18) 0%, rgba(255,106,92,.18) 100%),
    linear-gradient(0deg, rgba(46,49,56,.35), rgba(46,49,56,.05));
  z-index:1;
}

.hero .container{
  position:relative;
  z-index:2;
  max-width:100%;
  width:100%;
  padding:0 24px;
}

.hero-card{
  position:relative;
  width:100%;
  background: radial-gradient(circle at 0% 100%, rgba(47, 230, 192, .22), transparent 45%), radial-gradient(circle at 100% 0%, rgba(255, 106, 92, .16), transparent 45%), #f7fffd;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);
  border-radius:var(--radius-lg);
  padding:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(46,49,56,.18);
}
.hero-card::before{
  content:'';
  position:absolute;
  left:0; right:0; top:0;
  height:5px;
  background:var(--grad-brand);
}

.hero-card h1{
  color:var(--navy-dark);
  font-size:48px;
  margin-bottom:16px;
}

.hero-card p{
  color:var(--navy-mid);
  font-size:18px;
  max-width:560px;
  line-height:1.5;
}

/* ==========================================================================
   Intro / "Translating your ambition" section
   ========================================================================== */

.intro-section{
  padding:100px 0 80px;
  text-align:left;
}

.intro-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:48px;
  flex-wrap:wrap;
}

.intro-header h2{
  font-size:44px;
  max-width:640px;
}

.intro-header .intro-copy{
  max-width:440px;
  color:var(--gray-text);
  font-size:19px;
  line-height:1.7;
  text-align:right;
}

.intro-video{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
}

.intro-video img{
  width:100%;
  transition:transform .5s ease;
}

.intro-video:hover img{
  transform:scale(1.05);
}

.play-btn{
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:70px; height:70px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  border:2px solid rgba(255,255,255,.6);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ==========================================================================
   Three pillar cards — "Build a process that works for you"
   ========================================================================== */

.pillars-section{
  background:var(--grad-soft);
  padding:90px 0;
  text-align:center;
  border-radius:var(--radius-lg);
  margin:0 0 24px;
}

.pillars-section .section-title{
  font-size:38px;
  max-width:900px;
  margin:0 auto 56px;
}

.pillars-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-bottom:48px;
}

.pillar-card{
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:var(--radius-lg);
  padding:48px 40px;
  text-align:left;
  min-height:520px;
  display:flex;
  flex-direction:column;
  box-shadow:0 2px 12px rgba(20,20,30,.05);
}

.pillar-card{
  transition:transform .25s ease, box-shadow .25s ease;
}

.pillar-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(20,20,30,.1);
}

.pillar-icon{
  width:68px; height:68px;
  background:var(--grad-mint);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:40px;
}
.pillar-card:nth-child(2) .pillar-icon{background:var(--grad-coral);}
.pillar-card:nth-child(3) .pillar-icon{background:var(--grad-brand);}

.pillar-card h3{
  color:var(--navy-mid);
  font-size:38px;
  line-height:1.2;
  margin-bottom:16px;
}
.pillar-card .tags{
  color:var(--gray-text);
  opacity:.7;
  font-size:16px;
  margin-bottom:auto;
  padding-bottom:20px;
}

.pillar-card .read-more{
  color:var(--teal);
  font-weight:600;
  font-size:15px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pillar-card .read-more:hover{color:var(--coral-dark);}

.pillars-section .closing-copy{
  max-width:880px;
  margin:0 auto;
  color:var(--gray-text);
  font-size:18px;
  line-height:1.8;
}

/* ==========================================================================
   Intelligence that works — light stat section
   ========================================================================== */

.stats-section{
  background:
    radial-gradient(circle at 10% 12%, rgba(47,230,192,.55), transparent 45%),
    radial-gradient(circle at 90% 8%, rgba(255,106,92,.38), transparent 42%),
    radial-gradient(circle at 65% 100%, rgba(47,230,192,.28), transparent 50%),
    #f5fffc;
  padding:110px 0;
  border-radius:var(--radius-lg);
  margin:0 0 24px;
}

.stats-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}

.stats-grid h2{
  color:var(--teal);
  font-size:52px;
  margin-bottom:24px;
}

.stats-grid > div:first-child p{
  color:var(--gray-text);
  font-size:18px;
  line-height:1.8;
  max-width:480px;
}

.stat-cards{
  display:flex;
  flex-direction:column;
  gap:22px;
}

.stat-card{
  background:var(--white);
  border-radius:14px;
  padding:40px 44px;
  border-left:4px solid var(--lime);
  box-shadow:0 2px 10px rgba(20,20,30,.05);
}

.stat-card:nth-child(2){border-left-color:var(--teal);}
.stat-card:nth-child(3){border-left-color:var(--lime);}

.stat-card h4{
  font-size:28px;
  margin-bottom:10px;
  color:var(--navy-mid);
}

.stat-card p{
  font-size:17px;
  color:var(--gray-text);
}

/* ==========================================================================
   Industries strip
   ========================================================================== */

.industries-section{
  padding:90px 0;
}

.industries-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:48px;
  flex-wrap:wrap;
}

.industries-header h2{
  font-size:38px;
  max-width:560px;
}

.industries-header p{
  max-width:460px;
  color:var(--gray-text);
  font-size:18px;
  line-height:1.7;
}

.industries-grid{
    display:flex;
    gap:14px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:8px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:var(--teal) transparent;
}
.industries-grid::-webkit-scrollbar{height:6px;}
.industries-grid::-webkit-scrollbar-thumb{background:var(--grad-brand);border-radius:10px;}
.industries-grid::-webkit-scrollbar-track{background:transparent;}
.industry-card{
    position:relative;
    flex:0 0 240px;
    border-radius:var(--radius-md);
    overflow:hidden;
    aspect-ratio:3/4;
    scroll-snap-align:start;
}

.industry-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}

.industry-card:hover img{
  transform:scale(1.08);
}

.industry-card span{
  position:absolute;
  left:16px; bottom:16px;
  color:var(--white);
  font-weight:600;
  font-size:15px;
  z-index:1;
}

.industry-card::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,0,0,.55), transparent 50%);
}

/* ==========================================================================
   Partners
   ========================================================================== */

.partners-section{
  background:var(--grad-soft-2);
  padding:90px 0;
  text-align:center;
  border-radius:var(--radius-lg);
  margin:0 0 24px;
}

.partners-section h2{
  font-size:38px;
  max-width:860px;
  margin:0 auto 18px;
}

.partners-section .sub{
  max-width:800px;
  margin:0 auto 48px;
  color:var(--gray-text);
  font-size:18px;
  line-height:1.7;
}

.partners-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin:40px;}

.partner-logo{flex:0 0 calc(25% - 18px);}

.partner-logo{
  background:var(--white);
  border-radius:40px;
  padding:18px 36px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  transition:transform .3s ease, box-shadow .3s ease;
}

.partner-logo:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.partner-logo img{height:24px;}

/* ==========================================================================
   Insights
   ========================================================================== */

.insights-section{
  padding:90px 0;
  text-align:center;
}

.insights-section h2{
  font-size:38px;
  max-width:760px;
  margin:0 auto 56px;
}

.insights-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  text-align:left;
}

.insight-card{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  overflow:hidden;
}

.insight-card img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  transition:transform .5s ease;
}

.insight-card:hover img{
  transform:scale(1.08);
}

.insight-card .body{padding:24px;}

.insight-card .tag{
  color:var(--teal);
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:10px;
  display:block;
}

.insight-card h3{
  font-size:20px;
  margin-bottom:10px;
}

.insight-card p{
  font-size:14px;
  color:var(--gray-text);
}

/* ==========================================================================
   CTA / Contact form  (coral -> peach -> mint gradient)
   ========================================================================== */

.cta-section{
  background:
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.35) 0, transparent 45%),
    var(--grad-brand-rev);
  padding:100px 0;
  color:var(--navy-dark);
  border-radius:var(--radius-lg);
  margin:0 0 24px;
}

.cta-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
}

.cta-grid h2{
  color:var(--navy-dark);
  font-size:38px;
  margin-bottom:18px;
}

.cta-grid > div:first-child p{
  color:var(--navy-dark);
  font-size:18px;
  line-height:1.8;
  max-width:500px;
}

.cta-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.cta-form .full{grid-column:1 / -1;}

.cta-form label{
  display:block;
  font-size:13px;
  font-weight:600;
  margin-bottom:8px;
  color:var(--navy-dark);
}

.cta-form label .req{color:var(--navy-dark);}

.cta-form input{
  width:100%;
  padding:14px 16px;
  border-radius:8px;
  border:none;
  background:var(--white);
  font-family:inherit;
  font-size:14px;
  box-shadow:0 2px 8px rgba(46,49,56,.08);
}

.cta-form .fine-print{
  font-size:12px;
  color:var(--navy-dark);
  margin-top:-6px;
}

.cta-form .fine-print a{color:var(--navy-dark); text-decoration:underline;}

.cta-form .btn-lime{margin-top:6px; width:fit-content;}

/* ==========================================================================
   Footer  (soft mint -> coral tint, gradient top line, logo shows directly)
   ========================================================================== */

.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0% 100%, rgba(47,230,192,.22), transparent 45%),
    radial-gradient(circle at 100% 0%, rgba(255,106,92,.16), transparent 45%),
    #f7fffd;
  color:var(--navy-dark);
  padding:70px 0 30px;
  border:1px solid var(--gray-light);
  border-radius:var(--radius-lg);
  margin: 0 20px 20px 20px;
}
.site-footer::before{
  content:'';
  position:absolute;
  left:0; right:0; top:0;
  height:6px;
  background:var(--grad-brand);
}

.footer-cols{
  display:grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap:30px;
  margin-bottom:50px;
}

.footer-cols h4{
  color:var(--teal);
  font-family:var(--font-body);
  font-size:12px;
  letter-spacing:1px;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:18px;
}

.footer-cols li{margin-bottom:12px;}
.footer-cols a{font-size:14px; color:var(--navy-mid);}
.footer-cols a:hover{color:var(--teal);}

.footer-social{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:-70px;
}

.footer-social a{
  width:36px; height:36px;
  background:var(--white);
  border:1px solid var(--gray-light);
  color:var(--navy-dark);
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:700;
  transition:all .25s ease;
}
.footer-social a:hover{background:var(--grad-brand); border-color:transparent;}

.footer-divider{
  border:none;
  border-top:1px solid var(--gray-light);
  margin:30px 0;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  font-size:13px;
  color:var(--navy-mid);
  margin-bottom:30px;
}

.footer-bottom a{color:var(--navy-mid);}
.footer-bottom a:hover{color:var(--teal);}
.footer-bottom .logo img{height:44px;}

.footer-legal{
  text-align:center;
  font-size:13px;
  color:var(--navy-mid);
  opacity:.85;
  line-height:1.9;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media(max-width:1100px){
  .pillars-grid,.insights-grid,.footer-cols{grid-template-columns:repeat(2,1fr);}
  .stats-grid,.cta-grid{grid-template-columns:1fr;}
  .navbar-menu{display:none;}
}

@media(max-width:640px){
  .container{padding:0 20px;}
  .top-wrap{padding:8px 8px 0;}
  .hero-card{padding:28px;}
  .hero-card h1{font-size:32px;}
  .pillars-grid,.insights-grid,.footer-cols,.cta-form{grid-template-columns:1fr;}
  .industry-card{flex:0 0 200px;}
}

/* ==========================================================================
   Capability pages (AI, and all other /capability/ pages reuse this)
   ========================================================================== */

.capability-top{
  background:
    radial-gradient(circle at 10% 12%, rgba(47,230,192,.60), transparent 45%),
    radial-gradient(circle at 90% 8%, rgba(255,106,92,.42), transparent 42%),
    radial-gradient(circle at 65% 100%, rgba(47,230,192,.30), transparent 50%),
    #f5fffc;
  border-radius:var(--radius-lg);
  margin:0 0 24px;
  padding:0 0 70px;
  overflow:hidden;
}

.capability-hero{padding:110px 0 70px;}
.capability-hero .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px;
}
.capability-hero-content{max-width:700px;}
.capability-hero-content .eyebrow{color:var(--coral-dark); font-size:15px;}
.capability-hero-content h1{
  font-size:68px;
  color:var(--navy-dark);
  margin-bottom:24px;
}
.capability-hero-content p{
  font-size:22px;
  color:var(--navy-mid);
  line-height:1.6;
  max-width:580px;
  margin-bottom:36px;
}
.capability-hero-content .btn{padding:18px 38px; font-size:17px;}

.capability-hero-media{
  flex:0 0 auto;
  width:520px;
  max-width:45%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.capability-hero-media img{
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 30px 40px rgba(46,49,56,.22));
}

.capability-feature{
  background:var(--white);
  border-radius:var(--radius-lg);
  padding:56px;
  display:flex;
  align-items:center;
  gap:56px;
  margin:0;
  box-shadow:0 14px 40px rgba(46,49,56,.08);
}
.capability-feature-media{
  flex:0 0 44%;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:linear-gradient(135deg,#d9f5ee,#fff1ee);
}
.capability-feature-media img{
  width:100%;
  height:auto;
  display:block;
}
.capability-feature-body h3{font-size:32px;margin-bottom:18px;}
.capability-feature-body p{
  font-size:18px;
  color:var(--gray-text);
  line-height:1.7;
  margin-bottom:14px;
}

html{scroll-behavior:smooth;}

.capability-tabs{
  position:sticky;
  top:96px;
  z-index:50;
  background:var(--white);
  padding:16px 0;
  margin-bottom:20px;
}
.capability-tabs .container{
  max-width:none;
  padding:0;
}
.capability-tabs .tab-row{
  position:relative;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:10px;
  justify-content:flex-start;
  background:var(--grad-soft);
  border-radius:var(--radius-lg);
  padding:24px 28px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.capability-tabs .tab-row::-webkit-scrollbar{display:none;}

.capability-tabs a:first-child{margin-left:auto;}
.capability-tabs a:last-child{margin-right:auto;}

.capability-tabs a{
  flex:0 0 auto;
  padding:14px 18px;
  border-radius:40px;
  background:var(--white);
  color:var(--navy-mid);
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:500;
  letter-spacing:.3px;
  white-space:nowrap;
  transition:all .2s ease;
}
.capability-tabs a.active,
.capability-tabs a:hover{background:var(--grad-brand); color:var(--navy-dark);}

.capability-blocks{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  margin:0 0 24px;
  padding:60px 0;
}
.capability-blocks .container{max-width:1140px;}

.capability-block{
  background:var(--white);
  border-radius:20px;
  padding:44px 40px 48px;
  margin-bottom:20px;
  scroll-margin-top:170px;
}
.capability-block:last-child{margin-bottom:0;}

.capability-block .eyebrow{
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:500;
  letter-spacing:2px;
  margin-bottom:16px;
}
.capability-block h2{
  font-size:40px;
  line-height:1.2;
  max-width:880px;
  margin-bottom:22px;
}
.capability-block p{
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.6;
  max-width:880px;
  margin-bottom:30px;
}

.capability-block .tag-row{gap:14px;}
.capability-block .tag-pill{
  padding:7px 9px;
  border:none;
  border-radius:6px;
  background:var(--off-white);
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:400;
  color:var(--gray-text);
}

.tag-row{display:flex; flex-wrap:wrap; gap:12px;}
.tag-pill{
  padding:10px 18px;
  border:1.5px solid var(--navy-mid);
  border-radius:30px;
  font-size:14px;
  font-weight:600;
  color:var(--navy-mid);
}

.key-stats-section{padding:90px 0; text-align:center;}
.key-stats-section h2{font-size:38px; max-width:760px; margin:0 auto 56px;}
.key-stats-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.key-stat-card{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  padding:40px;
  text-align:left;
  border-left:4px solid var(--lime);
}
.key-stat-card:nth-child(2){border-left-color:var(--teal);}
.key-stat-card:nth-child(3){border-left-color:var(--lime);}
.key-stat-card .eyebrow{margin-bottom:18px;}
.key-stat-card h3{font-size:40px; color:var(--navy-mid); margin-bottom:10px;}
.key-stat-card p{font-size:15px; color:var(--gray-text);}

.certainty-section{
  background:var(--grad-soft);
  border-radius:var(--radius-lg);
  margin:0 0 24px;
  padding:90px 0;
  text-align:center;
  color:var(--navy-mid);
}
.certainty-section .eyebrow{color:var(--teal);}
.certainty-section h2{color:var(--navy-mid); font-size:38px; max-width:820px; margin:0 auto 18px;}
.certainty-section > .container > p{
  color:var(--gray-text);
  max-width:760px;
  margin:0 auto 48px;
  font-size:17px;
  line-height:1.7;
}

.featured-case-study{
  background:var(--white);
  border-radius:var(--radius-lg);
  display:flex;
  align-items:center;
  gap:40px;
  padding:20px;
  text-align:left;
  margin-bottom:16px;
  border:1px solid var(--gray-light);
}
.featured-case-study-body{flex:1; padding:10px 0 10px 24px;}
.featured-case-study .tag{
  color:var(--teal);
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:18px;
  display:block;
}
.featured-case-study h3{
  color:var(--navy-mid);
  font-size:34px;
  line-height:1.2;
  margin-bottom:18px;
}
.featured-case-study p{
  color:var(--gray-text);
  font-size:17px;
  line-height:1.6;
  margin-bottom:22px;
}
.featured-case-study-media{
  flex:0 0 42%;
  border-radius:var(--radius-md);
  overflow:hidden;
  aspect-ratio:16/10;
}
.featured-case-study-media img{width:100%; height:100%; object-fit:cover;}

.featured-case-study .tag-row{gap:10px;}
.featured-case-study .tag-pill{
  border:none;
  border-radius:5px;
  background:var(--mint-tint);
  color:var(--navy-mid);
  font-family:var(--font-heading);
  font-size:13px;
  font-weight:400;
  padding:6px 10px;
}

.case-study-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.case-study-card{
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:var(--radius-lg);
  padding:16px 16px 24px;
  text-align:left;
  display:flex;
  flex-direction:column;
  box-shadow:0 2px 10px rgba(20,20,30,.05);
}
.case-study-card-media{
  border-radius:var(--radius-md);
  overflow:hidden;
  aspect-ratio:16/10;
  margin-bottom:26px;
}
.case-study-card-media img{width:100%; height:100%; object-fit:cover;}
.case-study-card .tag{
  color:var(--teal);
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:14px;
  padding:0 8px;
  display:block;
}
.case-study-card h3{
  color:var(--navy-mid);
  font-size:30px;
  line-height:1.2;
  margin-bottom:24px;
  padding:0 8px;
}
.case-study-card .tag-row{gap:10px; margin-top:auto; padding:0 8px;}
.case-study-card .tag-pill{
  border:none;
  border-radius:5px;
  background:var(--mint-tint);
  color:var(--navy-mid);
  font-family:var(--font-heading);
  font-size:13px;
  font-weight:400;
  padding:6px 10px;
}
.certainty-section .btn-outline-lime{margin-top:40px; color:var(--navy-dark); border-color:var(--navy-dark);}
.certainty-section .btn-outline-lime:hover{
  background-image:var(--grad-brand);
  background-color:transparent;
  border-color:transparent;
  color:var(--navy-dark);
  box-shadow:0 8px 20px rgba(255,106,92,.35);
  transform:translateY(-1px);
}

@media(max-width:1100px){
  .capability-hero .container{flex-direction:column; align-items:flex-start;}
  .capability-hero-media{width:100%; max-width:380px; align-self:center;}
  .capability-feature{flex-direction:column; padding:32px;}
  .capability-feature-media{width:100%; flex:none;}
  .key-stats-grid,.case-study-grid{grid-template-columns:1fr;}
  .featured-case-study{flex-direction:column-reverse; gap:20px;}
  .featured-case-study-body{padding:0 8px 8px;}
  .featured-case-study h3{font-size:26px;}
  .featured-case-study-media{width:100%; flex:none;}
  .case-study-card h3{font-size:26px;}
  .capability-tabs{position:static;}
}

@media(max-width:640px){
  .capability-hero-content h1{font-size:38px;}
  .capability-hero-content p{font-size:18px;}
  .capability-hero{padding:70px 0 40px;}
  .capability-blocks{padding:30px 0;}
  .capability-block{padding:28px 22px 32px; border-radius:16px;}
  .capability-block .eyebrow{font-size:16px;}
  .capability-block h2{font-size:28px;}
  .capability-block p{font-size:17px;}
  .capability-tabs .tab-row{padding:16px; gap:8px;}
  .capability-tabs a{padding:12px 18px; font-size:14px;}
}

/* ==========================================================================
   Service pages (digital marketing etc.) — extras on top of capability styles
   ========================================================================== */

.capability-feature-body ul{
  list-style:disc;
  padding-left:24px;
  margin:0 0 18px;
}
.capability-feature-body li{
  font-size:18px;
  color:var(--gray-text);
  line-height:1.7;
  margin-bottom:6px;
}
.capability-feature-body li::marker{color:var(--teal);}

.capability-block .learn-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:28px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:500;
  color:var(--teal);
  transition:color .2s ease;
}
.capability-block .learn-more:hover{color:var(--coral-dark);}

/* ==========================================================================
   Industries page
   ========================================================================== */

.page-hero{
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.40), transparent 40%),
    var(--grad-brand);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:90px 64px;
  min-height:380px;
  display:flex;
  align-items:center;
}
.page-hero-inner{max-width:760px;}
.page-hero .eyebrow{color:var(--navy-dark); font-size:15px; margin-bottom:24px;}
.page-hero h1{
  color:var(--navy-dark);
  font-size:56px;
  line-height:1.15;
  margin-bottom:24px;
}
.page-hero p{
  color:var(--navy-dark);
  font-size:18px;
  line-height:1.6;
  max-width:620px;
}

.sectors-section{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:80px 0 90px;
}
.sectors-title{
  font-size:48px;
  font-weight:300;
  line-height:1.25;
  text-align:center;
  max-width:1060px;
  margin:0 auto 60px;
}

.sector-grid{display:grid; gap:24px;}
.sector-grid-3{grid-template-columns:repeat(3,1fr); margin-bottom:24px;}
.sector-grid-2{grid-template-columns:repeat(2,1fr);}

.sector-card{
  background:var(--white);
  border-radius:20px;
  padding:24px 24px 32px;
  display:flex;
  flex-direction:column;
  transition:transform .3s ease, box-shadow .3s ease;
}
.sector-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(0,0,0,.08);
}

.sector-icon{
  background:var(--grad-soft);
  border-radius:14px;
  height:110px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:32px;
}
.sector-icon svg{width:56px; height:56px; color:var(--teal);}

.sector-card h3{
  font-size:30px;
  line-height:1.2;
  margin-bottom:14px;
}
.sector-card p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.6;
  margin-bottom:24px;
}
.sector-card .learn-more{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:500;
  color:var(--teal);
  transition:color .2s ease;
}
.sector-card .learn-more:hover{color:var(--coral-dark);}

.approach-section{
  background:
    radial-gradient(circle at 0% 0%, rgba(47,230,192,.28), transparent 45%),
    radial-gradient(circle at 100% 100%, rgba(255,106,92,.20), transparent 45%),
    #f4fffc;
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:100px 0;
}
.approach-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  align-items:center;
}
.approach-body h2{
  font-size:48px;
  line-height:1.2;
  margin-bottom:28px;
}
.approach-lead{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:600;
  color:var(--teal);
  margin-bottom:22px;
}
.approach-body p{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.65;
  margin-bottom:22px;
}
.approach-body ul{
  list-style:disc;
  padding-left:26px;
}
.approach-body li{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.5;
  margin-bottom:14px;
}
.approach-body li::marker{color:var(--teal);}

.approach-media{justify-self:center; width:min(100%,520px);}
.approach-media img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--radius-md);
  box-shadow:22px 22px 0 var(--lime);
}

@media(max-width:1100px){
  .sector-grid-3,.sector-grid-2{grid-template-columns:repeat(2,1fr);}
  .approach-grid{grid-template-columns:1fr; gap:60px;}
  .approach-media{width:min(100%,440px); margin-right:22px;}
  .sectors-title{font-size:38px;}
}

@media(max-width:640px){
  .page-hero{padding:56px 28px; min-height:300px;}
  .page-hero h1{font-size:36px;}
  .sectors-section{padding:50px 0 60px;}
  .sectors-title{font-size:28px; margin-bottom:36px;}
  .sector-grid-3,.sector-grid-2{grid-template-columns:1fr;}
  .sector-card h3{font-size:26px;}
  .approach-section{padding:60px 0;}
  .approach-body h2{font-size:34px;}
}

/* ==========================================================================
   Blog, Case Studies, Blog detail
   ========================================================================== */

.fp-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.40), transparent 40%),
    var(--grad-brand);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  min-height:360px;
  display:flex;
  align-items:center;
  padding:70px 56px;
}
.fp-hero-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.fp-hero-content{position:relative; z-index:1; max-width:640px;}
.fp-hero h1{
  color:var(--navy-dark);
  font-size:76px;
  font-weight:700;
  line-height:1.1;
  margin-bottom:22px;
}
.fp-hero p{
  color:var(--navy-dark);
  font-size:20px;
  line-height:1.55;
  max-width:560px;
}

.listing-section{padding:70px 0 100px;}

.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:56px 48px;
}
.blog-card{display:block;}
.blog-card-media{
  border-radius:20px;
  overflow:hidden;
  aspect-ratio:5/4;
}
.blog-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.blog-card:hover .blog-card-media img{transform:scale(1.06);}
.blog-card h3{
  font-size:24px;
  font-weight:500;
  line-height:1.3;
  margin-top:20px;
  padding:0 10px;
  transition:color .2s ease;
}
.blog-card:hover h3{color:var(--teal);}

.cs-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:56px 24px;
}
.cs-card{display:block;}
.cs-card-media{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  aspect-ratio:5/4;
}
.cs-card-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.cs-card:hover .cs-card-media img{transform:scale(1.06);}
.cs-card-media::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  border-bottom:10px solid var(--white);
}
.cs-card h3{
  font-size:22px;
  font-weight:500;
  line-height:1.3;
  margin-top:20px;
  padding:0 10px;
  transition:color .2s ease;
}
.cs-card:hover h3{color:var(--teal);}

.article-wrap{
  max-width:980px;
  margin:0 auto;
  padding:0 40px;
}

.article-hero{
  background:
    radial-gradient(circle at 0% 0%, rgba(47,230,192,.35), transparent 45%),
    radial-gradient(circle at 100% 0%, rgba(255,106,92,.22), transparent 45%),
    #f4fffc;
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:90px 0 50px;
}
.article-eyebrow{
  display:block;
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:500;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:#4a4f57;
  margin-bottom:26px;
}
.article-hero h1{
  font-size:56px;
  line-height:1.15;
  margin-bottom:30px;
}
.article-meta{margin-bottom:28px;}
.article-meta p{
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:400;
  color:var(--gray-text);
  line-height:1.6;
}
.article-intro p{
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:300;
  font-style:italic;
  color:var(--gray-text);
  line-height:1.65;
  margin-bottom:18px;
}
.article-hero-media{margin-top:36px;}
.article-hero-media img{
  width:100%;
  aspect-ratio:2/1;
  object-fit:cover;
  border-radius:12px;
}
.article-hero-media figcaption{
  text-align:right;
  font-size:12px;
  color:var(--gray-text);
  margin-top:10px;
}

.article-body{padding:60px 0 90px;}

.key-takeaways{
  border-radius:12px;
  overflow:hidden;
  margin-bottom:64px;
  border:1px solid var(--gray-light);
}
.key-takeaways-label{
  background:var(--grad-brand);
  color:var(--navy-dark);
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:600;
  padding:14px 32px;
}
.key-takeaways-box{
  background:var(--grad-soft);
  color:var(--navy-dark);
  padding:32px 40px 24px;
}
.key-takeaways-box ul{list-style:disc; padding-left:22px;}
.key-takeaways-box li{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:300;
  line-height:1.6;
  margin-bottom:16px;
  color:var(--navy-dark);
}
.key-takeaways-box li::marker{color:var(--teal);}

.article-body h2{
  font-size:36px;
  line-height:1.2;
  margin:64px 0 22px;
}
.article-body h3{
  font-size:22px;
  line-height:1.3;
  margin:30px 0 10px;
}
.article-body p{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.75;
  margin-bottom:20px;
}
.article-body p a{
  color:var(--teal);
  text-decoration:underline;
}
.article-body p a:hover{color:var(--coral-dark);}
.article-body ul,
.article-body ol{
  padding-left:26px;
  margin-bottom:24px;
}
.article-body ul{list-style:disc;}
.article-body ol{list-style:decimal;}
.article-body li{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  margin-bottom:10px;
}
.article-figure{margin:48px 0;}
.article-figure img{
  width:100%;
  height:auto;
  border-radius:var(--radius-md);
}

.faq-item{margin-bottom:12px;}
.faq-item h3{margin-top:28px;}

@media(max-width:1100px){
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .cs-grid{grid-template-columns:repeat(2,1fr);}
  .fp-hero h1{font-size:60px;}
}

@media(max-width:640px){
  .fp-hero{padding:50px 28px; min-height:280px;}
  .fp-hero h1{font-size:44px;}
  .fp-hero p{font-size:17px;}
  .listing-section{padding:40px 0 60px;}
  .blog-grid,.cs-grid{grid-template-columns:1fr; gap:40px;}
  .blog-card h3,.cs-card h3{font-size:22px;}
  .article-wrap{padding:0 22px;}
  .article-hero{padding:56px 0 36px;}
  .article-hero h1{font-size:34px;}
  .article-body h2{font-size:28px; margin-top:48px;}
  .key-takeaways-box{padding:24px 24px 16px;}
}

/* ==========================================================================
   About us, Leadership, Certifications, Partners
   ========================================================================== */

.btn-navy{background:var(--navy-dark); color:var(--white);}
.btn-navy:hover{background:var(--grad-brand); color:var(--navy-dark);}

.fp-hero-sm{min-height:300px; padding:60px 56px;}
.fp-hero-sm h1{font-size:64px;}
.fp-hero-sm p{max-width:620px;}

.about-block{
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:90px 0;
  text-align:center;
}
.about-block-blue{
  background:
    radial-gradient(circle at 0% 0%, rgba(47,230,192,.28), transparent 45%),
    radial-gradient(circle at 100% 100%, rgba(255,106,92,.18), transparent 45%),
    #f4fffc;
}
.about-block-grey{background:var(--off-white);}
.about-block h2{
  font-size:46px;
  line-height:1.2;
  max-width:1000px;
  margin:0 auto 24px;
}
.about-block p{
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  max-width:980px;
  margin:0 auto;
}

.about-experiences h2{max-width:760px;}
.about-experiences > .container > p{margin-bottom:56px;}
.about-experiences .pillars-grid{margin-bottom:0;}
.about-experiences .pillar-card{min-height:400px; padding:40px 32px;}
.about-experiences .pillar-card h3{font-size:32px;}
.about-experiences .pillar-card p{margin:0; max-width:none; font-family:var(--font-body); font-weight:400; opacity:1; color:var(--gray-text);}

.about-realized{
  background:
    repeating-radial-gradient(circle at 100% 130%, rgba(255,255,255,.18) 0 34px, transparent 34px 74px),
    var(--grad-brand);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:80px 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.about-realized h2{
  color:var(--navy-dark);
  font-size:46px;
  line-height:1.2;
  max-width:780px;
  margin-bottom:20px;
}
.about-realized p{
  font-family:var(--font-heading);
  font-size:19px;
  font-weight:300;
  color:var(--navy-dark);
  line-height:1.6;
  max-width:560px;
}

.about-stats{
  background:var(--grad-soft);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:90px 0;
}
.about-stats-head{text-align:center; max-width:820px; margin:0 auto 56px;}
.about-stats .eyebrow{color:var(--teal);}
.about-stats h2{color:var(--navy-mid); font-size:48px; margin-bottom:18px;}
.about-stats-head p{color:var(--gray-text); font-size:18px; line-height:1.7;}
.stat-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.stat-tile{
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:var(--radius-lg);
  padding:32px 28px 36px;
  min-height:220px;
  box-shadow:0 2px 10px rgba(20,20,30,.05);
}
.stat-tile h3{font-size:44px; line-height:1.1; margin-bottom:14px; color:var(--teal);}
.stat-tile p{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.5;
}

.about-leaders{padding:90px 0;}
.about-leaders h2{font-size:44px; line-height:1.2; max-width:780px; margin-bottom:16px;}
.about-leaders-sub{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:300;
  color:var(--gray-text);
  margin-bottom:48px;
}
.leader-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.leader-card{
  background:var(--off-white);
  border-radius:14px;
  overflow:hidden;
  padding-bottom:24px;
}
.leader-card img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  object-position:top;
}
.leader-card h3{font-size:22px; line-height:1.2; padding:20px 20px 6px;}
.leader-card p{
  font-family:var(--font-heading);
  font-size:14px;
  font-weight:300;
  color:#555;
  line-height:1.5;
  padding:0 20px;
}

.about-faq{
  background:
    radial-gradient(circle at 0% 0%, rgba(47,230,192,.28), transparent 45%),
    radial-gradient(circle at 100% 100%, rgba(255,106,92,.18), transparent 45%),
    #f4fffc;
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:90px 0;
}
.about-faq-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:60px;
  align-items:start;
}
.about-faq h2{font-size:46px;}
.faq-list details{
  background:var(--white);
  border-radius:16px;
  margin-bottom:14px;
  overflow:hidden;
}
.faq-list summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 28px;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:500;
  color:var(--navy-mid);
}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{
  content:'';
  flex:0 0 18px;
  height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6a5c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/18px no-repeat;
  transition:transform .2s ease;
}
.faq-list details[open] summary::after{transform:rotate(180deg);}
.faq-list details p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  padding:0 28px 26px;
}

.earth-hero{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  min-height:460px;
  display:flex;
  align-items:flex-end;
  padding:70px 64px;
  background:
    linear-gradient(90deg, rgba(10,10,12,.62) 0%, rgba(10,10,12,.26) 60%, rgba(10,10,12,.04) 100%),
    url('../images/about-hero-earth.jpg') center/cover no-repeat,
    var(--grad-brand);
}
.earth-hero-tall{min-height:600px;}
.earth-hero-content{max-width:820px;}
.earth-hero-kicker{
  color:var(--white);
  font-family:var(--font-heading);
  font-size:34px;
  font-weight:500;
  margin-bottom:24px;
}
.earth-hero h1{
  color:var(--white);
  font-size:72px;
  font-weight:600;
  line-height:1.1;
  margin-bottom:22px;
}
.earth-hero p{
  color:var(--white);
  font-size:19px;
  line-height:1.6;
  max-width:620px;
}

.lead-tabs{
  display:flex;
  justify-content:center;
  gap:32px;
  padding:44px 20px 10px;
}
.lead-tab{
  background:none;
  border:none;
  border-bottom:2px solid transparent;
  padding:6px 0;
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:400;
  letter-spacing:.5px;
  text-transform:uppercase;
  color:#3a3f47;
  transition:color .2s ease, border-color .2s ease;
}
.lead-tab:hover{color:var(--teal);}
.lead-tab.active{color:var(--teal); border-bottom-color:var(--teal);}

.lead-panel{display:none;}
.lead-panel.active{display:block;}

.people-section{padding:50px 0 90px;}
.people-row{display:grid; gap:56px 40px;}
.people-row-1{grid-template-columns:1fr; max-width:420px; margin:0 auto 56px;}
.people-row-2{grid-template-columns:repeat(2,1fr); max-width:860px; margin:0 auto;}
.people-row-3{grid-template-columns:repeat(3,1fr);}

.person{text-align:center;}
.person-photo{
  width:min(100%,300px);
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  background:#cfcfd3;
  margin:0 auto 26px;
  box-shadow:0 0 0 5px var(--white), 0 0 0 8px var(--lime);
}
.person:nth-child(even) .person-photo{box-shadow:0 0 0 5px var(--white), 0 0 0 8px var(--teal);}
.person-lg .person-photo{width:min(100%,340px);}
.person-photo img{width:100%; height:100%; object-fit:cover;}
.person h3{
  font-size:30px;
  font-weight:600;
  color:#111;
  line-height:1.2;
  margin-bottom:8px;
}
.person p{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:300;
  color:#555;
  line-height:1.5;
  max-width:300px;
  margin:0 auto;
}

.people-divider{
  border:none;
  border-top:1px solid var(--gray-light);
  margin:70px 0 56px;
}
.people-heading{
  font-size:46px;
  font-weight:600;
  color:#111;
  text-align:center;
  margin-bottom:56px;
}

.committee-list details{border-bottom:1px solid var(--gray-light);}
.committee-list details:first-child{border-top:1px solid var(--gray-light);}
.committee-list summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:26px 24px;
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:500;
  color:var(--navy-mid);
}
.committee-list summary::-webkit-details-marker{display:none;}
.committee-list summary::after{
  content:'';
  flex:0 0 26px;
  height:26px;
  border-radius:50%;
  background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff6a5c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/12px no-repeat;
  box-shadow:0 1px 4px rgba(0,0,0,.15);
  transition:transform .2s ease;
}
.committee-list details[open] summary::after{transform:rotate(180deg);}
.committee-list details p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  padding:0 24px 26px;
}

.cert-section{padding:60px 0 100px;}
.cert-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px 36px;
}
.cert-card{display:block; text-align:center;}
.cert-card h2{
  font-size:40px;
  font-weight:600;
  line-height:1.15;
  min-height:2.3em;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
}
.cert-card img{
  width:100%;
  border-radius:4px;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  transition:transform .3s ease, box-shadow .3s ease;
}
.cert-card:hover img{
  transform:translateY(-4px);
  box-shadow:0 12px 26px rgba(0,0,0,.22);
}

.partners-hero{
  background:
    linear-gradient(90deg, rgba(10,10,12,.88) 0%, rgba(10,10,12,.58) 55%, rgba(10,10,12,.20) 100%),
    url('../images/partners-hero.jpg') right center/cover no-repeat,
    var(--grad-brand);
  min-height:460px;
}
.partners-hero .page-hero-inner{max-width:720px;}
.partners-hero h1{font-size:64px;}
/* text sits over a photo, so it stays white for readability */
.partners-hero h1,
.partners-hero p{color:var(--white);}
.partners-hero .eyebrow{color:var(--lime);}

.partner-benefits{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:80px 0 90px;
}
.partner-benefits-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
}
.benefit{text-align:center;}
.benefit-icon svg{
  width:72px;
  height:72px;
  color:var(--teal);
  margin:0 auto 24px;
}
.benefit h3{font-size:28px; line-height:1.2; margin-bottom:16px;}
.benefit p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.6;
}

.partners-intro{padding:70px 0 50px; text-align:center;}
.partners-intro h2{
  font-size:42px;
  font-weight:500;
  color:var(--navy-dark);
  margin-bottom:20px;
}
.partners-intro p{
  font-family:var(--font-heading);
  font-size:18px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  max-width:900px;
  margin:0 auto;
}

.partner-wall{
  position:relative;
  background:var(--grad-soft);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:70px 0 80px;
}
.partner-wall::before{
  content:'';
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  border-left:14px solid transparent;
  border-right:14px solid transparent;
  border-top:14px solid var(--white);
}
.partner-wall .container{max-width:1100px;}
.partner-wall-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.partner-tile{
  background:var(--white);
  border-radius:20px;
  aspect-ratio:1/.95;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  box-shadow:0 4px 14px rgba(20,40,80,.06);
  transition:transform .3s ease, box-shadow .3s ease;
}
.partner-tile:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 26px rgba(20,40,80,.12);
}
.partner-tile img{
  max-width:80%;
  max-height:70px;
  width:auto;
  height:auto;
  object-fit:contain;
}

@media(max-width:1100px){
  .stat-tiles,.leader-grid,.cert-grid,.partner-benefits-grid{grid-template-columns:repeat(2,1fr);}
  .partner-wall-grid{grid-template-columns:repeat(3,1fr);}
  .people-row-3{grid-template-columns:repeat(2,1fr);}
  .about-faq-grid{grid-template-columns:1fr; gap:30px;}
  .about-realized{flex-direction:column; align-items:flex-start;}
  .earth-hero h1{font-size:56px;}
  .about-block h2,.about-stats h2,.about-realized h2{font-size:38px;}
}

@media(max-width:640px){
  .fp-hero-sm{padding:50px 28px; min-height:260px;}
  .fp-hero-sm h1{font-size:44px;}
  .about-block{padding:60px 0;}
  .about-block h2,.about-stats h2,.about-realized h2,.about-leaders h2,.about-faq h2{font-size:30px;}
  .about-realized{padding:50px 28px;}
  .about-stats,.about-faq{padding:60px 0;}
  .stat-tile h3{font-size:34px;}
  .stat-tile{min-height:180px; padding:24px 20px;}
  .earth-hero{padding:50px 28px; min-height:380px;}
  .earth-hero-tall{min-height:420px;}
  .earth-hero-kicker{font-size:24px;}
  .earth-hero h1{font-size:40px;}
  .lead-tabs{gap:18px;}
  .lead-tab{font-size:14px;}
  .people-row-2,.people-row-3{grid-template-columns:1fr;}
  .people-heading{font-size:32px;}
  .person h3{font-size:26px;}
  .cert-grid,.partner-benefits-grid{grid-template-columns:1fr;}
  .cert-card h2{font-size:32px; min-height:0;}
  .partners-hero h1{font-size:40px;}
  .partners-intro h2{font-size:32px;}
  .partner-wall-grid{grid-template-columns:repeat(2,1fr); gap:14px;}
  .partner-tile{padding:14px;}
}
/* ==========================================================================
   Policy / Handbook pages
   ========================================================================== */

.policy-hero{
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.40), transparent 40%),
    var(--grad-brand);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:80px 56px;
  min-height:260px;
  display:flex;
  align-items:center;
}
.policy-hero-inner{max-width:760px;}
.policy-hero .eyebrow{color:var(--navy-dark); font-size:14px;}
.policy-hero h1{
  color:var(--navy-dark);
  font-size:52px;
  line-height:1.15;
  margin-bottom:14px;
}
.policy-hero-sub{
  color:var(--navy-dark);
  font-size:18px;
  line-height:1.5;
  max-width:640px;
  opacity:.9;
}

.policy-meta-section{padding:0 0 20px;}
.policy-meta-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
.policy-meta-item{
  background:var(--off-white);
  border-radius:var(--radius-md);
  padding:20px 22px;
  border-left:4px solid var(--lime);
}
.policy-meta-item:nth-child(2){border-left-color:var(--teal);}
.policy-meta-item:nth-child(4){border-left-color:var(--teal);}
.policy-meta-item span{
  display:block;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:8px;
}
.policy-meta-item p{
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:400;
  color:var(--navy-mid);
  line-height:1.4;
}

.policy-body-section{padding:50px 0 100px;}
.policy-wrap{max-width:900px;}

.policy-callout{
  background:var(--grad-soft);
  border-radius:var(--radius-lg);
  padding:40px 44px;
  margin-bottom:56px;
}
.policy-callout h3{
  font-size:22px;
  color:var(--teal);
  margin-bottom:18px;
}
.policy-callout p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--navy-mid);
  line-height:1.7;
  margin-bottom:14px;
}
.policy-callout p:last-child{margin-bottom:0;}

.policy-section{
  padding:36px 0;
  border-top:1px solid var(--gray-light);
}
.policy-section:first-of-type{border-top:none;}

.policy-section h2{
  display:flex;
  align-items:baseline;
  gap:12px;
  font-size:28px;
  line-height:1.3;
  margin-bottom:18px;
}
.policy-section h2 span{
  color:var(--teal);
  font-size:22px;
}

.policy-section h3{
  font-size:19px;
  color:var(--navy-mid);
  margin:26px 0 8px;
}

.policy-section p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.75;
  margin-bottom:16px;
}

.policy-section ul{
  list-style:disc;
  padding-left:24px;
  margin-bottom:18px;
}
.policy-section li{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  margin-bottom:8px;
}
.policy-section li::marker{color:var(--teal);}

@media(max-width:1100px){
  .policy-meta-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:640px){
  .policy-hero{padding:50px 24px; min-height:200px;}
  .policy-hero h1{font-size:34px;}
  .policy-hero-sub{font-size:16px;}
  .policy-meta-grid{grid-template-columns:1fr;}
  .policy-callout{padding:28px 24px;}
  .policy-section h2{font-size:22px;}
}

/* ==========================================================================
   NDA / legal-agreement pages (parties block, recitals, parts, signatures)
   ========================================================================== */

.policy-hero-nda{
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.35), transparent 40%),
    var(--grad-brand-rev);
}
.policy-hero-nda h1{font-size:42px;}

.policy-parties{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  padding:36px 40px;
  margin-bottom:10px;
}
.policy-parties > p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  margin-bottom:18px;
}
.policy-parties-row{margin-bottom:18px;}
.policy-parties-label{
  display:inline-block;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:8px;
}
.policy-parties-row p{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
  margin-bottom:0;
}

.policy-recitals{border-left:4px solid var(--teal);}
.policy-recitals h3{margin-bottom:20px;}
.policy-recitals p strong{color:var(--navy-dark); font-weight:600;}

.policy-part-divider{
  background:var(--grad-brand);
  border-radius:var(--radius-md);
  padding:28px 32px;
  margin:48px 0 10px;
  text-align:center;
}
.policy-part-divider span{
  display:block;
  font-family:var(--font-body);
  font-size:13px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--navy-dark);
  opacity:.75;
  margin-bottom:10px;
}
.policy-part-divider h2{
  font-size:26px;
  color:var(--navy-dark);
  max-width:760px;
  margin:0 auto;
}

.policy-signature-block{
  margin-top:56px;
  padding-top:40px;
  border-top:1px solid var(--gray-light);
}
.policy-signature-intro{
  font-family:var(--font-heading);
  font-size:17px;
  font-weight:500;
  color:var(--navy-mid);
  margin-bottom:28px;
  text-align:center;
}
.policy-signature-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}
.policy-signature-card{
  background:var(--off-white);
  border-radius:var(--radius-md);
  border-left:4px solid var(--lime);
  padding:24px 28px;
}
.policy-signature-card:nth-child(2){border-left-color:var(--teal);}
.policy-signature-card:nth-child(4){border-left-color:var(--teal);}
.policy-signature-card h4{
  font-size:17px;
  color:var(--teal);
  margin-bottom:14px;
}
.policy-signature-card p{
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.9;
  margin-bottom:0;
}

@media(max-width:640px){
  .policy-hero-nda h1{font-size:28px;}
  .policy-parties{padding:26px 24px;}
  .policy-part-divider{padding:22px 20px;}
  .policy-part-divider h2{font-size:21px;}
  .policy-signature-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Policy annexures, signature lines & checklists
   ========================================================================== */

.policy-annexure{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  padding:36px 40px;
  margin:48px 0 10px;
}
.policy-annexure h3{
  font-size:22px;
  color:var(--teal);
  margin-bottom:6px;
}
.policy-annexure h4{
  font-size:16px;
  color:var(--navy-mid);
  text-transform:uppercase;
  letter-spacing:1px;
  margin:22px 0 10px;
}
.policy-annexure p{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.8;
  margin-bottom:12px;
}
.policy-annexure .sig-line{
  display:inline-block;
  min-width:240px;
  border-bottom:1px solid var(--gray-light);
  margin:0 8px;
}
.policy-annexure ul{list-style:none; padding-left:0; margin-bottom:14px;}
.policy-annexure li{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.8;
  padding-left:26px;
  position:relative;
}
.policy-annexure li::before{
  content:"";
  position:absolute;
  left:0; top:11px;
  width:8px; height:8px;
  border:1.5px solid var(--teal);
  border-radius:2px;
}
.policy-check-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px 24px;
  margin:14px 0 18px;
}
.policy-check-grid span{
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.7;
}

@media(max-width:640px){
  .policy-annexure{padding:26px 22px;}
  .policy-check-grid{grid-template-columns:1fr;}
}

/* ==========================================================================
   Policy tables (HR Policy notice period etc.)
   ========================================================================== */

.policy-table{
  width:100%;
  border-collapse:collapse;
  margin:14px 0 22px;
  background:var(--off-white);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.policy-table th{
  font-family:var(--font-body);
  font-size:13px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--navy-dark);
  background:var(--gray-light);
  padding:14px 18px;
  text-align:left;
  border-bottom:2px solid var(--teal);
}
.policy-table td{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.6;
  padding:14px 18px;
  border-bottom:1px solid var(--gray-light);
  vertical-align:top;
}
.policy-table tr:last-child td{border-bottom:none;}
.policy-table td strong{color:var(--navy-mid); font-weight:500;}

@media(max-width:640px){
  .policy-table th,.policy-table td{padding:10px 12px; font-size:14px;}
}

/* === Mega-menu quick-link (How We Work / Our Story / Careers) === */
.mega-engage-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--navy-dark);
  font-family:var(--font-heading);
  font-weight:600;
  font-size:17px;
  padding:13px 20px;
  border:1.5px solid var(--gray-light);
  border-radius:10px;
  background:var(--off-white);
  transition:all .2s ease;
}
.mega-engage-link svg{
  width:16px;
  height:16px;
  flex-shrink:0;
  transition:transform .2s ease;
}
.mega-engage-link:hover{
  color:var(--navy-dark);
  border-color:transparent;
  background:var(--grad-brand);
  gap:14px;
  box-shadow:0 6px 16px rgba(255,106,92,.25);
  transform:translateY(-1px);
}
.mega-engage-link:hover svg{
  transform:translate(2px,-2px);
}

/* === Engagement model: subtle step cards with connecting arrows === */
.engagement-steps{
  display:flex;
  align-items:stretch;
  justify-content:center;
  max-width:1200px;
  margin:0 auto;
}

.engagement-step{
  display:flex;
  align-items:center;
  flex:1;
}

.engagement-step-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  width:100%;
  height:100%;
  min-height:280px;
  padding:44px 32px;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:20px;
  box-shadow:0 2px 10px rgba(20,20,30,.05);
  transition:transform .25s ease, box-shadow .25s ease;
}
.engagement-step-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px rgba(20,20,30,.1);
}

.engagement-step-num{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--grad-mint);
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:700;
  color:var(--navy-dark);
  margin-bottom:22px;
}
.engagement-step:nth-child(2) .engagement-step-num{background:var(--grad-coral);}
.engagement-step:nth-child(4) .engagement-step-num{background:var(--grad-coral);}

.engagement-step-card h3{
  font-size:26px;
  font-weight:600;
  color:var(--navy-dark);
  margin-bottom:16px;
}

.engagement-step-card p{
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.6;
  margin:0;
}

.engagement-arrow{
  width:28px;
  height:28px;
  color:var(--gray-light);
  flex-shrink:0;
  margin:0 4px;
}

@media(max-width:1100px){
  .engagement-steps{flex-wrap:wrap; gap:24px;}
  .engagement-step{flex:0 1 calc(50% - 12px);}
  .engagement-arrow{display:none;}
}

@media(max-width:640px){
  .engagement-steps{flex-direction:column; align-items:stretch; gap:16px;}
  .engagement-step{flex:0 1 auto;}
  .engagement-step-card{
    min-height:auto;
    padding:26px 24px;
  }
}

/* === Footer: Our Offices / Branches === */
.footer-offices{
  margin-bottom:30px;
}
.footer-offices-label{
  display:block;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--teal);
  margin-bottom:14px;
}
.footer-offices-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
}
.footer-offices-list li{
  font-size:14px;
  color:var(--navy-mid);
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:20px;
  padding:7px 16px;
}

@media(max-width:640px){
  .footer-offices-list{gap:8px;}
}
/* === Mega-menu right panel: match site's card language === */
.mega-menu-right{
  background:var(--grad-soft);
  width:30%;
  padding:36px 32px;
  color:var(--navy-dark);
}
.mega-menu-right .eyebrow{color:var(--teal);}

.mega-menu-right .feature{
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:14px;
  padding:18px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
  box-shadow:0 2px 10px rgba(20,20,30,.05);
  transition:transform .2s ease, box-shadow .2s ease;
}
.mega-menu-right .feature:last-child{margin-bottom:0;}
.mega-menu-right .feature:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(20,20,30,.1);
}

.mega-menu-right .feature-icon{
  width:40px;
  height:40px;
  background:var(--off-white);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.mega-menu-right .feature-icon svg{width:20px; height:20px; color:var(--teal);}

.mega-menu-right .feature h5{
  font-family:var(--font-heading);
  font-size:15px;
  font-weight:600;
  margin-bottom:4px;
  color:var(--navy-dark);
}
.mega-menu-right .feature p{
  font-size:13px;
  line-height:1.4;
  color:var(--gray-text);
  opacity:.85;
}

/* === Contact page: card-ify the plain icon+text blocks === */
.benefit{
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:var(--radius-lg);
  padding:36px 26px 32px;
  box-shadow:0 2px 12px rgba(20,20,30,.05);
  transition:transform .25s ease, box-shadow .25s ease;
}
.benefit:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(20,20,30,.1);
}
.benefit-icon svg{width:52px; height:52px; margin:0 auto 18px;}
.benefit h3{font-size:21px;}

/* === Our Branches: compact cards, centered flex-wrap so 5 items never orphan === */
.branches-section{
  background:var(--off-white);
  border-radius:var(--radius-lg);
  margin:0 0 20px;
  padding:70px 0 80px;
  text-align:center;
}
.branches-title{
  font-size:34px;
  max-width:640px;
  margin:0 auto 48px;
}

.branch-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:20px;
}
.branch-card{
  flex:0 1 200px;
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:16px;
  padding:30px 20px;
  text-align:center;
  box-shadow:0 2px 10px rgba(20,20,30,.05);
  transition:transform .25s ease, box-shadow .25s ease;
}
.branch-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 28px rgba(20,20,30,.1);
}
.branch-icon{
  width:40px;
  height:40px;
  margin:0 auto 16px;
  color:var(--teal);
}
.branch-card h3{
  font-size:17px;
  margin-bottom:8px;
}
.branch-card p{
  font-family:var(--font-heading);
  font-size:13px;
  font-weight:300;
  color:var(--gray-text);
  line-height:1.5;
}

@media(max-width:640px){
  .branches-section{padding:50px 0 60px;}
  .branches-title{font-size:26px;}
  .branch-card{flex:0 1 140px; padding:22px 16px;}
}
/* === Vertical dividers between mega-menu columns === */
.mega-menu-cols .col{
  border-left:1px solid var(--gray-light);
  padding-left:40px;
}
.mega-menu-cols .col:first-child{
  border-left:none;
  padding-left:0;
}

.mega-menu-right{
  border-left:1px solid var(--gray-light);
}