
:root{
  --obsidian:#0b1110;
  --deep:#14201d;
  --mineral:#9b6b4a;
  --mineral2:#d1a07c;
  --aqua:#54d4cd;
  --aqua2:#b7f0ea;
  --sand:#ddd4c7;
  --paper:#f3f0e9;
  --white:#fff;
  --muted:#68736f;
  --line:rgba(11,17,16,.13);
  --shadow:0 28px 78px rgba(11,17,16,.14);
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--obsidian);font-family:var(--sans);line-height:1.62;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1240px,calc(100% - 44px));margin:auto}
.section{padding:108px 0}
.section.tight{padding:72px 0}
.dark{background:var(--obsidian);color:white}
.deep{background:var(--deep);color:white}
.sand{background:var(--sand)}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.69rem;font-weight:650;color:#397a73}
.dark .eyebrow,.deep .eyebrow{color:var(--aqua2)}
.display{font-family:var(--serif);font-weight:500;line-height:.94;letter-spacing:-.045em;margin:0}
h1.display{font-size:clamp(3.8rem,8vw,8.2rem)}
h2.display{font-size:clamp(2.65rem,5.1vw,5.2rem)}
h3{line-height:1.12}
p{margin:0 0 1rem}
.muted{color:var(--muted)}
.dark .muted,.deep .muted{color:rgba(255,255,255,.63)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stack{display:grid;gap:16px}
.rule{height:1px;background:var(--line);margin:28px 0}
.btn{min-height:50px;padding:0 22px;border:1px solid transparent;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:620;transition:.22s ease;cursor:pointer}
.btn.primary{background:var(--obsidian);color:white}
.btn.primary:hover{background:#263531;transform:translateY(-2px)}
.btn.aqua{background:var(--aqua);color:var(--obsidian)}
.btn.aqua:hover{background:#8ceae4;transform:translateY(-2px)}
.btn.light{background:white;color:var(--obsidian)}
.btn.outline{background:transparent;border-color:var(--line)}
.dark .btn.outline,.deep .btn.outline{border-color:rgba(255,255,255,.24);color:white}
.btn-row{display:flex;gap:11px;flex-wrap:wrap}
.card{background:white;border:1px solid var(--line);padding:28px;box-shadow:0 14px 38px rgba(11,17,16,.045)}
.card h3{font-family:var(--serif);font-size:1.55rem;font-weight:500;margin:0 0 8px}
.card p{color:var(--muted)}
.dark .card,.deep .card{color:var(--obsidian)}
.dark .card h3,.deep .card h3{color:var(--obsidian)}
.dark .card p,.deep .card p{color:var(--muted)}

/* regular professional navbar */
header{position:sticky;top:0;z-index:90;background:rgba(243,240,233,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{min-height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brandmark{width:48px;height:48px;background:var(--obsidian);position:relative;overflow:hidden;display:grid;place-items:center}
.brandmark:before{content:"K";font-family:var(--serif);font-size:1.35rem;color:white;z-index:2}
.brandmark:after{content:"";position:absolute;left:-10px;right:-10px;bottom:8px;height:8px;background:linear-gradient(90deg,var(--mineral),var(--aqua));transform:rotate(-18deg)}
.brand strong{display:block;font-family:var(--serif);font-size:1.08rem;font-weight:500;line-height:1}
.brand small{display:block;margin-top:4px;color:var(--muted);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase}
.navlinks{margin-left:auto;display:flex;align-items:center;gap:4px}
.navlinks>a,.dropbtn{min-height:78px;padding:0 12px;display:flex;align-items:center;font-size:.8rem;font-weight:500;color:#47514e;border:0;background:transparent;white-space:nowrap;position:relative}
.navlinks>a:after,.dropbtn:after{content:"";position:absolute;left:12px;right:12px;bottom:16px;height:2px;background:var(--aqua);transform:scaleX(0);transform-origin:left;transition:.2s}
.navlinks>a:hover,.dropbtn:hover,.dropdown:hover .dropbtn{color:#397a73}
.navlinks>a:hover:after,.dropbtn:hover:after,.dropdown:hover .dropbtn:after{transform:scaleX(1)}
.navcta{flex:0 0 auto}
.navcta .btn{min-height:44px;padding:0 17px;font-size:.78rem;font-weight:550}
.dropdown{position:relative}
.dropdown-menu{position:absolute;top:64px;left:0;transform:translateY(8px);width:310px;padding:9px;background:rgba(243,240,233,.99);border:1px solid var(--line);box-shadow:0 20px 50px rgba(11,17,16,.12);opacity:0;visibility:hidden;transition:.2s}
.dropdown:hover .dropdown-menu,.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:none}
.dropdown-menu a{display:block;padding:12px 13px;font-size:.82rem;font-weight:500;color:#47514e}
.dropdown-menu a:hover{background:white;color:#397a73}
.menu-btn{display:none;width:46px;height:46px;border:0;background:var(--obsidian);color:white}
.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;z-index:89;background:rgba(243,240,233,.995);padding:18px 22px 28px;border-bottom:1px solid var(--line);box-shadow:0 24px 50px rgba(11,17,16,.12)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:500}
.mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.mobile-grid a{background:white;padding:11px;border:1px solid var(--line);text-align:center;font-size:.82rem}

/* hero */
.hero{min-height:820px;position:relative;overflow:hidden;color:white;background:var(--obsidian)}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,9,.96) 0%,rgba(5,10,9,.82) 45%,rgba(5,10,9,.36) 76%,rgba(5,10,9,.15) 100%)}
.hero .container{position:relative;z-index:3;min-height:820px;display:flex;align-items:center}
.hero-copy{max-width:850px;padding:75px 0}
.hero-copy .eyebrow{color:var(--aqua2)}
.hero-copy .display span{color:var(--aqua)}
.hero-copy>p{font-size:1.08rem;color:#c8d4d0;max-width:720px;margin:28px 0}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.hero-tags span{padding:8px 11px;border:1px solid rgba(255,255,255,.2);background:rgba(11,17,16,.52);font-size:.72rem}

.discipline-strip{background:var(--aqua);color:var(--obsidian)}
.discipline-strip .container{display:grid;grid-template-columns:repeat(4,1fr)}
.discipline{padding:24px;border-left:1px solid rgba(11,17,16,.18)}
.discipline:first-child{border-left:0}
.discipline strong{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:500}
.discipline span{font-size:.78rem;color:rgba(11,17,16,.68)}

.visual{min-height:540px;position:relative;overflow:hidden;background:var(--obsidian);box-shadow:var(--shadow)}
.visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.service{min-height:260px;background:white;border:1px solid var(--line);padding:28px;position:relative;overflow:hidden;transition:.22s}
.service:before{content:"";position:absolute;width:105px;height:105px;border:1px solid rgba(84,212,205,.18);border-radius:50%;right:-52px;top:-52px}
.service:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service .num{font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:#397a73;font-weight:650}
.service h3{font-family:var(--serif);font-size:1.55rem;font-weight:500;margin:20px 0 9px}
.service p{font-size:.9rem;color:var(--muted)}
.service a{font-size:.82rem;font-weight:600;color:#397a73}

.editorial{display:grid;grid-template-columns:1.08fr .92fr;align-items:center}
.editorial .visual{min-height:640px}
.editorial-copy{margin-left:-72px;position:relative;z-index:2;background:var(--paper);padding:58px;border:1px solid var(--line);box-shadow:0 24px 60px rgba(11,17,16,.11)}
.editorial-copy:before{content:"";display:block;width:86px;height:6px;background:linear-gradient(90deg,var(--mineral),var(--aqua));margin-bottom:26px}

.pagehero{padding:100px 0 78px;color:white;background:radial-gradient(circle at 82% 25%,rgba(84,212,205,.18),transparent 24%),linear-gradient(135deg,#0b1110,#1c302c)}
.pagehero .display{max-width:1100px}
.pagehero p{max-width:820px;color:#c4d0cc;font-size:1.05rem;margin-top:22px}

.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.feature{background:white;border:1px solid var(--line);padding:25px}
.feature span{display:block;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:#397a73;font-weight:650}
.feature h3{font-family:var(--serif);font-size:1.38rem;font-weight:500;margin:8px 0}
.feature p{color:var(--muted);font-size:.9rem}

/* real project portfolio */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}
.filter{padding:10px 14px;border:1px solid var(--line);background:transparent;color:var(--obsidian);border-radius:999px;font-size:.78rem;font-weight:600;cursor:pointer}
.filter.active,.filter:hover{background:var(--obsidian);color:white;border-color:var(--obsidian)}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.project{background:white;border:1px solid var(--line);padding:29px;min-height:315px;position:relative;overflow:hidden;transition:.22s}
.project:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.project.hide{display:none}
.project .type{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#397a73;font-weight:650}
.project h3{font-family:var(--serif);font-size:1.95rem;font-weight:500;margin:12px 0}
.project p{color:var(--muted)}
.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.project-meta div{font-size:.78rem;color:var(--muted)}
.project-meta strong{display:block;color:var(--obsidian);font-size:.9rem;font-weight:600}
.project:after{content:"";position:absolute;width:160px;height:160px;border:24px solid rgba(84,212,205,.04);right:-70px;top:-70px;transform:rotate(25deg)}

.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.person{padding:25px;border:1px solid var(--line);background:white}
.person .initials{width:54px;height:54px;background:var(--obsidian);color:var(--aqua2);display:grid;place-items:center;font-family:var(--serif);font-size:1rem;margin-bottom:20px}
.person h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:0 0 6px}
.person p{font-size:.84rem;color:var(--muted);margin:0}

.contact-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:24px}
.contact-card{background:var(--obsidian);color:white;padding:38px;position:relative;overflow:hidden}
.contact-card:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(84,212,205,.11);border-radius:50%;right:-90px;bottom:-90px}
.contact-card p{color:rgba(255,255,255,.65)}
.contact-form{background:white;border:1px solid var(--line);padding:36px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{display:grid;gap:6px;margin-bottom:13px}
.field label{font-size:.78rem;font-weight:600}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid var(--line);background:white;outline:none}
.field textarea{min-height:125px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 4px rgba(84,212,205,.10)}
.form-result{display:none;background:#dff4f1;padding:16px;margin-top:12px}

footer{background:#060b0a;color:white;padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:44px}
footer a{color:#b6c7c3}
.footer-links{display:grid;gap:8px;margin-top:14px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:20px;color:#71827e;font-size:.77rem;display:flex;justify-content:space-between;gap:20px}
.float-contact{position:fixed;right:17px;bottom:17px;z-index:65;box-shadow:0 14px 35px rgba(0,0,0,.28)}

@media(max-width:1080px){
  .navlinks,.navcta{display:none}.menu-btn{display:block;margin-left:auto}
  .grid2,.editorial,.contact-grid{grid-template-columns:1fr}
  .editorial-copy{margin:-48px 28px 0}
  .service-grid,.grid4,.discipline-strip .container,.team-grid{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:680px){
  .container{width:min(100% - 26px,1240px)}.brand small{display:none}
  .section{padding:76px 0}.section.tight{padding:54px 0}
  h1.display{font-size:clamp(3rem,15vw,4.9rem)}h2.display{font-size:clamp(2.35rem,12vw,3.7rem)}
  .hero,.hero .container{min-height:700px}.hero:after{background:linear-gradient(90deg,rgba(5,10,9,.94),rgba(5,10,9,.56))}
  .service-grid,.grid4,.grid3,.discipline-strip .container,.feature-list,.project-grid,.team-grid,.form-grid,.footer-grid{grid-template-columns:1fr}
  .discipline{border-left:0;border-top:1px solid rgba(11,17,16,.18)}.discipline:first-child{border-top:0}
  .visual{min-height:430px}.editorial-copy{margin:-36px 12px 0;padding:34px 22px}
  .contact-form,.contact-card{padding:24px 21px}
  .footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.mobile-grid{grid-template-columns:1fr}
}



/* =========================================================
   GLOBAL NAV REFINEMENT — CENTERED NAV + CLEARER DROPDOWN
   ========================================================= */
.nav{
  display:grid !important;
  grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr) !important;
  align-items:center !important;
  gap:24px !important;
}
.brand{
  justify-self:start !important;
}
.navlinks{
  margin-left:0 !important;
  justify-self:center !important;
}
.navcta{
  justify-self:end !important;
}

.dropbtn{
  gap:8px !important;
}
.dropbtn .nav-chevron{
  width:7px;
  height:7px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  opacity:.72;
  transition:.2s ease;
}
.dropdown:hover .nav-chevron{
  transform:rotate(225deg) translate(-2px,-2px);
}

.dropdown-menu{
  top:66px !important;
  left:50% !important;
  transform:translate(-50%,10px) !important;
  width:350px !important;
  padding:10px !important;
  background:#f8faf8 !important;
  border:1px solid rgba(11,17,16,.12) !important;
  border-radius:14px !important;
  box-shadow:0 22px 54px rgba(11,17,16,.16) !important;
}
.dropdown:hover .dropdown-menu,
.dropdown.open .dropdown-menu{
  transform:translate(-50%,0) !important;
}

.dropdown-menu a{
  position:relative;
  display:flex !important;
  align-items:center;
  min-height:54px;
  padding:12px 14px 12px 42px !important;
  border-radius:10px;
  color:#28332f !important;
  background:transparent;
  font-size:.82rem !important;
  font-weight:500 !important;
}
.dropdown-menu a:before{
  content:"" !important;
  position:absolute;
  left:15px;
  width:14px;
  height:14px;
  border:1px solid rgba(57,122,115,.28);
  border-radius:50%;
  background:radial-gradient(circle at center,var(--aqua) 0 2px,transparent 3px);
}
.dropdown-menu a:hover{
  background:#e9f3ef !important;
  color:#397a73 !important;
}
.dropdown-menu a + a{
  margin-top:3px;
}

@media(max-width:1080px){
  .nav{
    display:grid !important;
    grid-template-columns:1fr auto !important;
  }
  .navlinks,
  .navcta{
    display:none !important;
  }
  .menu-btn{
    display:block !important;
    justify-self:end !important;
  }
}



/* =========================================================
   KIMOPAX PERSONALISATION — REAL COMPANY PHOTOGRAPHY
   ========================================================= */
.brandmark.real-logo{
  width:104px !important;
  height:48px !important;
  padding:7px 9px !important;
  background:#0b1110 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
}
.brandmark.real-logo:before,
.brandmark.real-logo:after{
  content:none !important;
}
.brandmark.real-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.brand .brand-copy strong{
  font-size:1.02rem;
}

.hero.real-photo img{
  object-position:center 46%;
}
.hero.real-photo:after{
  background:
    linear-gradient(90deg,rgba(5,10,9,.97) 0%,rgba(5,10,9,.87) 44%,rgba(5,10,9,.43) 72%,rgba(5,10,9,.22) 100%) !important;
}
.hero-photo-credit{
  position:absolute;
  z-index:4;
  right:26px;
  bottom:24px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(5,10,9,.58);
  color:rgba(255,255,255,.76);
  font-size:.62rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.company-story{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:0;
  align-items:center;
}
.company-photo{
  min-height:590px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:#15211e;
}
.company-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.company-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 56%,rgba(4,9,8,.62));
}
.company-photo-note{
  position:absolute;
  z-index:2;
  left:24px;
  bottom:22px;
  color:white;
}
.company-photo-note strong{
  display:block;
  font-family:var(--serif);
  font-size:1.4rem;
  font-weight:500;
}
.company-photo-note span{
  font-size:.72rem;
  color:rgba(255,255,255,.72);
}
.company-story-copy{
  position:relative;
  z-index:2;
  margin-left:-62px;
  background:var(--paper);
  border:1px solid var(--line);
  padding:54px;
  box-shadow:0 24px 60px rgba(11,17,16,.11);
}
.company-story-copy:before{
  content:"";
  display:block;
  width:84px;
  height:6px;
  margin-bottom:25px;
  background:linear-gradient(90deg,var(--mineral),var(--aqua));
}

.field-gallery{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  gap:12px;
}
.field-shot{
  position:relative;
  min-height:410px;
  overflow:hidden;
  background:#17221f;
  border:1px solid rgba(255,255,255,.08);
}
.field-shot.small{
  min-height:410px;
}
.field-shot img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.field-shot:hover img{
  transform:scale(1.025);
}
.field-shot:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(5,10,9,.78));
}
.field-shot-caption{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:20px;
  color:white;
}
.field-shot-caption span{
  display:block;
  color:var(--aqua2);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.62rem;
  font-weight:650;
  margin-bottom:6px;
}
.field-shot-caption strong{
  display:block;
  font-family:var(--serif);
  font-size:1.35rem;
  font-weight:500;
  line-height:1.12;
}

.real-visual{
  position:relative;
  min-height:540px;
  overflow:hidden;
  background:#17211f;
  box-shadow:var(--shadow);
}
.real-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.real-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(5,10,9,.48));
}
.real-visual .real-label{
  position:absolute;
  z-index:2;
  left:20px;
  bottom:18px;
  padding:8px 10px;
  background:rgba(5,10,9,.66);
  border:1px solid rgba(255,255,255,.14);
  color:white;
  font-size:.65rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.project-thumb{
  height:185px;
  margin:-29px -29px 24px;
  position:relative;
  overflow:hidden;
  background:#18221f;
}
.project-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-thumb:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(5,10,9,.34));
}

.contact-photo{
  min-height:510px;
  position:relative;
  overflow:hidden;
  margin-top:18px;
  border:1px solid rgba(255,255,255,.10);
}
.contact-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.contact-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 58%,rgba(5,10,9,.58));
}

.photo-source-fallback{
  background:linear-gradient(145deg,#17241f,#32524b);
}

@media(max-width:1080px){
  .company-story{grid-template-columns:1fr}
  .company-story-copy{margin:-46px 28px 0}
  .field-gallery{grid-template-columns:1fr 1fr}
  .field-shot:first-child{grid-column:1/-1}
}
@media(max-width:680px){
  .brandmark.real-logo{width:86px !important;height:42px !important}
  .brand .brand-copy{display:none}
  .hero-photo-credit{display:none}
  .company-photo{min-height:430px}
  .company-story-copy{margin:-32px 12px 0;padding:32px 22px}
  .field-gallery{grid-template-columns:1fr}
  .field-shot:first-child{grid-column:auto}
  .field-shot,.field-shot.small{min-height:350px}
  .project-thumb{height:160px}
}
