/* Inovest v16.6 */
:root{ --ivory:#F8F6F3; --graphite:#1F1F1F; --slate:#3A3A3A; --navy:#0C1A29; --gold:#C5A572; --white:#FFFFFF; --konstruct-navy:#13264D; }
*{box-sizing:border-box} html,body{margin:0;padding:0;overflow-x:hidden}
body{font-family:'Montserrat', ui-sans-serif, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;color:var(--graphite);background:var(--ivory);line-height:1.6}
img{max-width:100%;height:auto;display:block}
/* Header fix: never overlap, wraps cleanly */
.nav{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;
  padding:14px 24px;background:rgba(248,246,243,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav .brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--graphite);font-weight:800;letter-spacing:.2px;white-space:nowrap}
.nav .brand img{width:28px;height:28px}
.nav nav{display:flex;flex-wrap:wrap;gap:18px;margin-left:auto}
.nav nav a{text-decoration:none;color:var(--slate);font-weight:700;padding:8px 2px;line-height:1;white-space:nowrap;position:relative}
.nav nav a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:currentColor;transition:width .18s ease}
.nav nav a:hover:after{width:100%}
@media (max-width:680px){ .nav{justify-content:flex-start} .nav nav{width:100%} }

.section{padding:72px 24px} .section--alt{background:var(--white)}
.section__header{text-align:center;max-width:900px;margin:0 auto 28px}
.section__header h2{font-size:clamp(26px,3.2vw,40px);margin:0 0 6px}
.section__header p{color:#4A4A4A;margin:0}
.section--hero{padding:0}
.section--hero .hero-inner{min-height:100vh;display:grid;place-items:center;text-align:center;padding:96px 24px}
.section--hero h1, .section--hero p{color:#fff}
.section-bg{position:relative;overflow:hidden}
.section-bg .bg-img{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.section-bg .bg-overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);z-index:1}
.section-bg .content{position:relative;z-index:2}
.bg-overlay--navy{background:rgba(12,26,41,.45)} .bg-overlay--charcoal{background:rgba(20,20,20,.45)}

/* Cards */
.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px;margin:0 auto}
@media (max-width:760px){.cards{grid-template-columns:1fr}}
.card{background:rgba(255,255,255,.92);backdrop-filter:saturate(140%) blur(6px);
  border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:18px;box-shadow:0 6px 16px rgba(0,0,0,.06)}

/* About */
.section--fullscreen{min-height:100vh;display:flex;align-items:center}
.about-wrap{max-width:900px;margin:0 auto}
.about-wrap h2{margin:0 0 12px;text-align:center}
.about-wrap p{margin:0 auto;text-align:justify;text-align-last:center}

/* Themes */
.theme-consulting .nav{background:#2E7F60 !important;border-bottom-color:rgba(255,255,255,.18) !important}
.theme-consulting .nav .brand span,.theme-consulting .nav nav a{color:#FFFFFF !important}
.theme-konstruct, .theme-konstruct body{background:var(--konstruct-navy);color:#FFFFFF}
.theme-konstruct .nav{background:rgba(19,38,77,.96) !important;border-bottom-color:rgba(255,255,255,.18) !important}
.theme-konstruct .nav .brand span,.theme-konstruct .nav nav a{color:#FFFFFF !important}

/* Region accordions */
.region-accordion{max-width:1100px;margin:0 auto;display:grid;gap:18px}
.region{border-radius:14px;border:1px solid rgba(0,0,0,.06);overflow:hidden;background:#fff}
.region__head{background:linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)), url('assets/img/consult_about.jpg'); background-size:cover;background-position:center;color:#fff;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:16px 18px}
.region__head h3{margin:0;font-size:18px;color:#fff;letter-spacing:.2px}
.region__body{max-height:0;overflow:hidden;transition:max-height .28s ease, padding .2s ease;padding:0 18px}
.region.open .region__body{max-height:2200px;padding:18px}
.region__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:1000px){.region__grid{grid-template-columns:1fr}}

/* What we do blocks with readable text */
.wwd-bg{position:relative;border-radius:14px;overflow:hidden}
.wwd-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wwd-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.60), rgba(0,0,0,.32))}
.wwd-bg .wwd-content{position:relative;z-index:2;padding:16px}
.wwd-bg h4, .wwd-bg p{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}

/* v15-style Forms */
.form{max-width:720px;margin:0 auto;background:#FFFFFF;border:1px solid rgba(0,0,0,.08);padding:22px;border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.06)}
.form label{display:block;font-weight:700;margin:10px 0 6px}
.form input, .form select, .form textarea{
  width:100%;padding:12px 12px;border:1px solid rgba(0,0,0,.18);border-radius:10px;background:#FAFAFA
}
.form small{display:block;margin-top:8px;opacity:.7}
.btn{display:inline-block;border:1px solid #0C1A29;background:#0C1A29;color:#fff;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:800}
.btn--primary{background:#0C1A29;color:#fff;border-color:#0C1A29}
.btn--ghost{background:transparent;color:#0C1A29}
.theme-konstruct .btn--primary{background:#FFFFFF;color:#13264D;border-color:#FFFFFF}

/* Case studies */
.section--cases{background:#F8F6F3}
.cases{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.cases{grid-template-columns:1fr}}
.case{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.case__cover{position:relative;aspect-ratio:1/1;overflow:hidden}
.case__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case__overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55))}
.case__title{position:absolute;left:16px;right:16px;bottom:16px;color:#fff;font-weight:800;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.55);font-size:clamp(16px,1.8vw,22px)}
.case__toggle{display:block;width:100%;text-align:center;background:#0C1A29;color:#fff;border:0;padding:12px;font-weight:800;cursor:pointer}
.case__body{max-height:0;overflow:hidden;transition:max-height .28s ease, padding .2s ease;padding:0 16px}
.case.open .case__body{max-height:2600px;padding:16px}
.case.open .case__toggle{background:#C5A572;color:#0C1A29}

/* Consulting hero text readable */
.consult-about-bg .section__header h2,
.consult-about-bg .split p { color:#FFFFFF !important; text-shadow:0 2px 8px rgba(0,0,0,.6); }

/* Industries rows, white */
#industries .chips{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px 14px;
  max-width:1000px;
  margin:14px auto 0;
}
#industries .chips span{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.08);
  color:#FFFFFF;
  text-align:center;
  font-weight:600;
}

.cap-item.open .cap-trigger:after{content:'▴'}
.cap-trigger:hover,.cap-trigger:focus{outline:none;filter:brightness(0.98)}

/* v16.9: ensure capability lists are clean & full-width inside region body */
.region__body .cap-list{max-width:900px;margin:0 auto}

/* v17.0: Capabilities as off-white dropdowns */
.cap-list{background:#F8F6F3;border:1px solid rgba(0,0,0,.08);border-radius:14px;overflow:hidden}
.cap-item{border-bottom:1px solid rgba(0,0,0,.08)}
.cap-item:last-child{border-bottom:0}
.cap-trigger{width:100%;text-align:left;padding:16px 18px;background:#F8F6F3;border:0;
  font-weight:900;font-size:18px;cursor:pointer;color:#000;position:relative;letter-spacing:.2px}
.cap-trigger:after{content:'▾';position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:900}
.cap-item.open .cap-trigger:after{content:'▴'}
.cap-panel{max-height:0;overflow:hidden;transition:max-height .25s ease,padding .2s ease;background:#FFFFFF;
  padding:0 18px}
.cap-item.open .cap-panel{padding:10px 18px 16px;background:#FFFFFF}
.region__body .cap-list{max-width:900px;margin:0 auto}
