
:root{
  --bg:#FFFFFF; --panel:#F2F7FA; --panel-2:#E7EEF3;
  --slate:#8290A3; --slate-light:#A7B7C4;
  --text:#0B0D17; --copper:#E9343F; --copper-light:#C42832;
  --muted:#6B7280; --border:#E6E6E6; --ghost:#DADADA;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg); color:var(--text); font-family:'IBM Plex Sans', sans-serif; line-height:1.6; overflow-x:hidden;}
h1,h2,h3{font-family:'Poppins', sans-serif; font-weight:700; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
section{padding:90px 0;}
@media(max-width:768px){ section{padding:56px 0;} .wrap{padding:0 22px;} }

.eyebrow{
  font-family:'Poppins', sans-serif; font-weight:600; font-size:0.82rem;
  color:var(--copper); display:inline-flex; align-items:center; gap:9px;
  background:rgba(233,52,63,0.08); padding:9px 18px; border-radius:30px;
}
.eyebrow::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--copper); flex-shrink:0;}
.eyebrow.light{color:#fff; background:rgba(255,255,255,0.16);}
.eyebrow.light::before{background:#fff;}

.btn{font-family:'IBM Plex Sans', sans-serif; font-weight:600; font-size:0.9rem; padding:13px 26px; background:var(--copper); color:#fff; border:none; border-radius:8px; display:inline-flex; align-items:center; gap:8px; cursor:pointer; transition:background .2s, transform .2s;}
.btn:hover{background:var(--copper-light); transform:translateY(-1px);}
.btn-ghost{background:rgba(255,255,255,0.14); color:#fff; border:1px solid rgba(255,255,255,0.4); backdrop-filter:blur(6px);}
.btn-ghost:hover{background:rgba(255,255,255,0.24);}
.btn-outline{background:none; color:var(--text); border:1px solid var(--border);}
.btn-outline:hover{background:var(--panel);}

/* HEADER */
header{position:fixed; top:0; left:0; right:0; z-index:200; transition:background .3s, border-color .3s; border-bottom:1px solid rgba(255,255,255,0.18);}
header.solid, header.scrolled{background:rgba(255,255,255,0.97); backdrop-filter:blur(10px); border-bottom:1px solid var(--border);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:24px 32px; max-width:1180px; margin:0 auto;}
.logo{font-family:'Poppins', sans-serif; font-weight:700; font-size:1.6rem; color:#fff; transition:color .3s;}
header.solid .logo, header.scrolled .logo{color:var(--text);}
.logo .z-accent{color:var(--copper);}
.nav-links{display:flex; gap:30px; font-size:0.96rem;}
.nav-item{position:relative;}
.nav-item > a{color:rgba(255,255,255,0.85); transition:color .3s; padding:8px 0; display:inline-block;}
header.solid .nav-item > a, header.scrolled .nav-item > a{color:#404149;}
.nav-item > a:hover{color:#fff;}
header.solid .nav-item > a:hover, header.scrolled .nav-item > a:hover{color:var(--text);}
.nav-item > a.active{color:#fff; font-weight:600;}
header.solid .nav-item > a.active, header.scrolled .nav-item > a.active{color:var(--copper);}
.menu-toggle{display:none; font-size:1.5rem; background:none; border:none; color:#fff; cursor:pointer;}
header.solid .menu-toggle, header.scrolled .menu-toggle{color:var(--text);}
@media(max-width:1024px){ .nav-links, .nav .btn{display:none;} .menu-toggle{display:block;} }

/* SIMPLE DROPDOWN (Engagement Models, Industries, Resources, Talent) */
.dropdown{
  position:absolute; top:100%; left:0; margin-top:14px; background:#fff; border-radius:10px;
  box-shadow:0 18px 40px rgba(11,13,23,0.14); border:1px solid var(--border); border-top:3px solid var(--copper);
  min-width:220px; padding:10px; opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .18s, transform .18s, visibility .18s;
}
.nav-item:hover .dropdown{opacity:1; visibility:visible; transform:translateY(0);}
.dropdown a{
  display:block; padding:10px 12px; padding-left:15px; border-radius:6px; color:var(--text); font-size:0.86rem;
  position:relative; transition:background .15s, color .15s;
}
.dropdown a:hover{background:var(--panel); color:var(--copper);}
.dropdown-indicator{
  position:absolute; left:10px; width:3px; background:var(--copper); border-radius:2px;
  transition:top .22s cubic-bezier(.4,0,.2,1), height .22s cubic-bezier(.4,0,.2,1), opacity .15s;
  opacity:0;
}
.dropdown-indicator.visible{opacity:1;}

/* MEGA MENU (Services) */
.mega{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(6px);
  margin-top:14px; background:#fff; border-radius:12px; box-shadow:0 22px 50px rgba(11,13,23,0.16);
  border:1px solid var(--border); border-top:3px solid var(--copper); display:flex; min-width:560px; overflow:hidden;
  opacity:0; visibility:hidden; transition:opacity .18s, transform .18s, visibility .18s;
}
.nav-item.has-mega:hover .mega{opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.mega-left{width:230px; background:var(--panel); padding:14px; border-right:1px solid var(--border); position:relative;}
.mega-cat{
  display:flex; align-items:center; justify-content:space-between; padding:12px 14px; padding-left:17px; border-radius:8px;
  font-size:0.86rem; font-weight:600; color:var(--text); cursor:pointer; position:relative;
  transition:background .15s, color .15s;
}
.mega-cat:hover, .mega-cat.mega-active{background:#fff; color:var(--copper);}
.mega-indicator{
  position:absolute; left:14px; width:3px; background:var(--copper); border-radius:2px;
  transition:top .22s cubic-bezier(.4,0,.2,1), height .22s cubic-bezier(.4,0,.2,1);
}
.mega-right{flex:1; padding:18px; min-width:280px;}
.mega-sub{display:none;}
.mega-sub.mega-sub-active{display:block;}
.mega-sub a{display:block; padding:10px 8px; border-radius:6px; font-size:0.86rem; color:var(--text); transition:background .15s, color .15s;}
.mega-sub a:hover{background:var(--panel); color:var(--copper);}

/* PAGE HERO (interior pages) */
.page-hero{position:relative; overflow:hidden; padding:160px 0 80px; background:var(--slate); text-align:left;}
.page-hero-diagonal{position:absolute; top:0; right:0; width:45%; height:100%; background:var(--slate-light); clip-path:polygon(30% 0, 100% 0, 100% 100%, 0 100%); z-index:0;}
.page-hero .wrap{position:relative; z-index:1;}
.page-hero h1{color:#fff; font-size:2.6rem; margin:16px 0 14px;}
.page-hero p{color:rgba(255,255,255,0.85); max-width:560px; font-size:1rem;}
.breadcrumb{position:relative; z-index:1; margin-top:18px; font-size:0.82rem; color:rgba(255,255,255,0.75);}
.breadcrumb a{color:#fff; font-weight:600;}

/* HOME HERO */
.hero{position:relative; padding:210px 0 140px; overflow:hidden; background:var(--slate);}
.hero-diagonal{position:absolute; top:0; right:0; width:55%; height:100%; background:var(--slate-light); clip-path:polygon(38% 0, 100% 0, 100% 100%, 8% 100%); z-index:0;}
.hero-grid{position:relative; z-index:2; display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center;}
.hero h1{font-size:4.4rem; line-height:1.05; color:#fff; margin:24px 0 18px;}
.hero p{color:rgba(255,255,255,0.82); font-size:1.15rem; max-width:520px; margin-bottom:34px;}
.hero-art{display:flex; align-items:center; justify-content:center; position:relative; z-index:1;}
@media(max-width:900px){ .hero-grid{grid-template-columns:1fr;} .hero-art{display:none;} .hero-diagonal{display:none;} .hero{padding:150px 0 80px;} .hero h1{font-size:2.6rem;} }

/* WHAT IS */
.what-grid{display:grid; grid-template-columns:0.9fr 1.4fr; gap:50px; align-items:start; margin-top:36px;}
.what-head h2{font-size:1.7rem; line-height:1.3;}
.what-body{display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:center;}
.what-art{width:150px; height:150px; border-radius:14px; background:var(--panel); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.stat-num{font-family:'Poppins',sans-serif; font-weight:800; font-size:3.2rem; color:var(--copper); line-height:1;}
.stat-label{font-size:0.85rem; color:var(--muted); margin-top:10px;}
.what-text p{color:var(--muted); font-size:0.92rem; margin-bottom:14px;}
@media(max-width:900px){ .what-grid{grid-template-columns:1fr;} .what-body{grid-template-columns:1fr;} .what-art{width:100%; height:120px;} }

/* EXPERTISE / CARDS */
.expertise{background:var(--panel);}
.expertise-head{display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:44px; flex-wrap:wrap;}
.expertise-head h2{font-size:1.7rem; max-width:480px;}
.expertise-head p{color:var(--muted); font-size:0.9rem; max-width:360px;}
.carousel-nav{display:flex; gap:10px; flex-shrink:0;}
.carousel-btn{width:38px; height:38px; border-radius:50%; border:1px solid var(--border); background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1rem; color:var(--text);}
.carousel-btn.active{background:var(--copper); color:#fff; border-color:var(--copper);}
.expertise-track{display:flex; gap:20px; overflow-x:auto; padding-bottom:10px; scroll-snap-type:x mandatory;}
.expertise-track::-webkit-scrollbar{display:none;}
.exp-card{scroll-snap-align:start; flex:0 0 260px; background:#fff; border:1px solid var(--border); border-radius:10px; padding:26px 22px;}
.exp-icon{width:38px; height:38px; border-radius:9px; background:var(--copper); margin-bottom:20px; display:flex; align-items:center; justify-content:center;}
.exp-card h3{font-size:1rem; margin-bottom:8px;}
.exp-card p{color:var(--muted); font-size:0.85rem; margin-bottom:14px;}
.exp-card .learn{color:var(--copper); font-size:0.82rem; font-weight:600;}
.dots{display:flex; gap:7px; justify-content:center; margin-top:30px;}
.dot{width:6px; height:6px; border-radius:50%; background:var(--ghost);}
.dot.active{background:var(--copper); width:18px; border-radius:4px;}

/* SERVICE GROUPS (services page) */
.svc-group{margin-bottom:56px;}
.svc-group h3{font-size:1.15rem; margin-bottom:18px; display:flex; align-items:center; gap:12px;}
.svc-group h3 .sq{width:28px; height:28px; border-radius:7px; background:var(--copper); display:inline-block;}
.svc-list{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.svc-item{background:var(--panel); border-radius:8px; padding:18px 20px; font-size:0.9rem; font-weight:500; display:block;}
.svc-item:hover{background:var(--panel-2);}
.svc-item span{display:block; font-weight:400; color:var(--muted); font-size:0.82rem; margin-top:6px;}
@media(max-width:860px){ .svc-list{grid-template-columns:1fr;} }

/* SERVICE DETAIL PAGE */
.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px;}
.related-item{background:var(--panel); border-radius:8px; padding:16px 18px; font-size:0.88rem; font-weight:500;}
.related-item:hover{background:var(--panel-2);}
@media(max-width:860px){ .related-grid{grid-template-columns:1fr;} }

/* THREE WAYS / ENGAGEMENT MODELS */
.way-block{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-bottom:70px;}
.way-block:last-child{margin-bottom:0;}
.way-block.reverse .way-text{order:2;}
.way-block.reverse .way-art{order:1;}
.way-text h3{font-size:1.5rem; margin-bottom:12px;}
.way-text p{color:var(--muted); font-size:0.92rem; margin-bottom:20px; max-width:420px;}
.way-text ul{margin:0 0 20px 20px; color:var(--muted); font-size:0.9rem;}
.way-text li{margin-bottom:6px;}
.way-art{background:var(--panel); border-radius:14px; height:220px; display:flex; align-items:center; justify-content:center;}
@media(max-width:860px){ .way-block, .way-block.reverse{grid-template-columns:1fr;} .way-block.reverse .way-text{order:1;} .way-block.reverse .way-art{order:2;} }

/* GENERIC CARD LIST (industries / serve) */
.serve-list{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:36px;}
.serve-item{background:#fff; border:1px solid var(--border); border-radius:10px; padding:28px; display:block; transition:border-color .2s, transform .2s;}
.serve-item:hover{border-color:var(--copper); transform:translateY(-2px);}
.serve-item .tag{font-family:'IBM Plex Mono',monospace; font-size:0.66rem; color:var(--copper); letter-spacing:0.08em; margin-bottom:12px; display:block;}
.serve-item h3{font-size:1.02rem; margin-bottom:8px;}
.serve-item p{color:var(--muted); font-size:0.88rem;}
@media(max-width:768px){ .serve-list{grid-template-columns:1fr;} }

/* CTA BAND */
.cta-band{background:var(--slate); text-align:center; padding:70px 0;}
.cta-band h2{color:#fff; font-size:1.8rem; margin:14px 0 26px;}

/* COMPANY */
.company{background:var(--panel);}
.company-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.company h2{font-size:1.7rem; margin-bottom:16px;}
.company p{color:var(--muted); font-size:0.92rem; margin-bottom:14px;}
.founder-card{background:#fff; border:1px solid var(--border); border-radius:12px; padding:32px;}
.founder-card h3{font-size:1.15rem; margin-bottom:6px;}
.founder-card .role{color:var(--copper); font-size:0.85rem; margin-bottom:16px; display:block; font-weight:600;}
.founder-card p{color:var(--muted); font-size:0.88rem;}
.cred-row{display:flex; gap:26px; margin-top:22px;}
.cred b{color:var(--copper); display:block; font-size:1.4rem; font-family:'Poppins',sans-serif;}
.cred span{font-size:0.72rem; color:var(--muted);}
@media(max-width:860px){ .company-grid{grid-template-columns:1fr;} }

/* RESOURCES */
.res-card{background:#fff; border:1px solid var(--border); border-radius:10px; padding:28px; margin-bottom:18px; transition:border-color .2s, transform .2s;}
.res-card:hover{border-color:var(--copper); transform:translateY(-2px);}
.res-card h3{font-size:1.05rem; margin-bottom:8px;}
.res-card p{color:var(--muted); font-size:0.9rem;}
.res-tag{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--copper); text-transform:uppercase; letter-spacing:0.06em;}

/* LEGAL PAGES */
.legal p, .legal li{color:var(--muted); font-size:0.92rem; margin-bottom:14px;}
.legal h2{font-size:1.2rem; margin:32px 0 12px;}
.legal ul{margin-left:20px;}

/* CONTACT */
.contact-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:50px;}
.contact h1{margin-bottom:12px;}
.contact-info{border-left:2px solid var(--copper); padding-left:24px;}
.contact-info h3{font-size:1.02rem; margin-bottom:10px;}
.contact-info p{color:var(--muted); font-size:0.88rem; margin-bottom:18px;}
.contact-info .detail{font-family:'IBM Plex Mono',monospace; font-size:0.82rem; color:var(--copper); margin-bottom:6px; display:block;}
form{display:flex; flex-direction:column; gap:14px;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
input, select, textarea{background:var(--panel); border:1px solid var(--border); color:var(--text); padding:12px 14px; font-family:'IBM Plex Sans',sans-serif; font-size:0.9rem; width:100%; border-radius:7px;}
select optgroup{font-weight:700; color:var(--text); font-style:normal;}
select option{font-weight:400; color:#374357;}
input:focus, select:focus, textarea:focus{outline:none; border-color:var(--copper);}
label{font-size:0.75rem; color:var(--muted); margin-bottom:4px; display:block;}
textarea{resize:vertical; min-height:100px;}
@media(max-width:860px){ .contact-grid{grid-template-columns:1fr;} .row2{grid-template-columns:1fr;} }

/* FOOTER */
footer{position:relative; overflow:hidden; background:linear-gradient(120deg, #9CB1BE, #C7D6DE); color:#1B2430; padding:70px 0 26px;}
footer .wrap{max-width:1320px;}
.footer-diagonal{position:absolute; top:0; right:0; width:45%; height:100%; background:rgba(255,255,255,0.18); clip-path:polygon(30% 0, 100% 0, 100% 100%, 0 100%); z-index:0;}
footer .wrap{position:relative; z-index:1;}
footer .logo{color:#12161F;}
.footer-top{display:flex; flex-wrap:nowrap; align-items:flex-start; gap:22px; margin-bottom:44px;}
.footer-col{min-width:0; flex:1 1 0;}
.footer-col:first-child{flex:1.6 1 0;}
.footer-col.footer-subscribe{flex:1.5 1 0;}
.footer-col h4{font-size:0.84rem; color:#12161F; font-weight:700; margin-bottom:14px; white-space:nowrap;}
.footer-col .sub-head{font-size:0.8rem; color:#12161F; font-weight:600; margin:16px 0 8px;}
.footer-col .sub-head:first-of-type{margin-top:0;}
.footer-col a{display:block; color:#374357; font-size:0.8rem; margin-bottom:8px;}
.footer-col a:hover{color:#12161F; text-decoration:underline;}
.footer-social{display:flex; gap:10px; margin:14px 0 18px;}
.footer-social a{width:32px; height:32px; border-radius:50%; border:1px solid #374357; display:flex; align-items:center; justify-content:center; font-size:0.8rem;}
.footer-subscribe label{font-size:0.8rem; font-weight:600; color:#12161F; margin-bottom:10px; display:block;}
.footer-email{background:#F9F9F9; border:none; border-radius:8px; padding:12px 14px; width:100%; margin-bottom:12px; font-size:0.85rem;}
.footer-bottom{border-top:1px solid rgba(18,22,31,0.15); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:0.78rem; color:#374357;}
.footer-bottom .policy-links{display:flex; gap:18px; flex-wrap:wrap;}
.footer-loc{display:flex; flex-direction:column; gap:4px; align-items:flex-end; font-size:0.82rem; color:#1B2430;}
@media(max-width:1024px){
  .footer-top{flex-wrap:wrap;}
  .footer-col, .footer-col:first-child, .footer-col.footer-subscribe{flex:1 1 220px;}
}
@media(max-width:768px){ .footer-loc{align-items:flex-start;} .footer-bottom{flex-direction:column;} }
