
:root{
  --ink:#101419;
  --ink2:#181e25;
  --paper:#ffffff;
  --ivory:#f3f4f1;
  --soft:#e9edf0;
  --line:#d6dbe0;
  --muted:#68727d;
  --steel:#2d628d;
  --steel-dark:#173f62;
  --max:1460px;
  --header:82px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--ivory);
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{color:inherit}
.wrap{width:min(calc(100% - 64px),var(--max));margin:auto}
.kicker{
  font-size:11px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.19em;
  font-weight:850;
}
.arrow::after{content:"  ↗";font-size:.85em}

/* HEADER */
.site-header{
  height:var(--header);
  position:fixed;
  inset:0 0 auto 0;
  z-index:1000;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.23);
  transition:background .25s,border .25s,color .25s;
}
.site-header.scrolled{
  color:var(--ink);
  background:rgba(245,246,244,.96);
  backdrop-filter:blur(16px);
  border-color:var(--line);
}
.header-row{
  height:100%;
  display:flex;
  align-items:center;
  gap:34px;
}
.logo{
  display:flex;
  align-items:center;
  gap:13px;
  font-size:31px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.055em;
  white-space:nowrap;
}
.logo-mark{
  width:29px;height:29px;
  position:relative;
}
.logo-mark::before,.logo-mark::after{
  content:"";
  position:absolute;
  width:19px;height:19px;
  border:4px solid currentColor;
  transform:rotate(45deg);
}
.logo-mark::before{left:0;top:1px;border-right-color:transparent;border-bottom-color:transparent}
.logo-mark::after{right:0;bottom:1px;border-left-color:var(--steel);border-top-color:var(--steel)}
.main-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:27px;
}
.main-nav a{
  height:var(--header);
  display:flex;
  align-items:center;
  font-size:13px;
  font-weight:750;
  border-bottom:2px solid transparent;
}
.main-nav a:hover{border-color:currentColor}
.header-tools{
  display:flex;
  align-items:center;
  gap:12px;
}
.locale-switch{
  position:relative;
}
.locale-current{
  display:flex;
  align-items:center;
  gap:9px;
  background:transparent;
  color:inherit;
  border:1px solid currentColor;
  padding:10px 12px;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
}
.locale-current .flag{font-size:17px}
.locale-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:230px;
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:0 20px 45px rgba(12,18,24,.16);
  padding:6px;
  display:none;
}
.locale-switch.open .locale-menu{display:block}
.locale-menu a{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:9px;
  align-items:center;
  padding:12px;
  font-size:13px;
}
.locale-menu a:hover{background:var(--ivory)}
.locale-menu small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.header-contact{
  border:1px solid currentColor;
  padding:10px 15px;
  font-size:12px;
  font-weight:850;
}
.mobile-button{
  display:none;
  border:0;
  background:none;
  padding:8px;
  font-size:24px;
}

.mobile-nav{display:none}

/* HERO */
.hero{
  min-height:92vh;
  position:relative;
  color:#fff;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--ink2);
}
.hero .media-slot{
  position:absolute;
  inset:0;
}
.hero .media-slot::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(8,12,16,.05) 12%,rgba(8,12,16,.25) 48%,rgba(8,12,16,.83) 100%),
    linear-gradient(90deg,rgba(8,12,16,.46),transparent 65%);
  pointer-events:none;
}
.hero-content{
  position:relative;
  z-index:3;
  padding:170px 0 78px;
  max-width:1120px;
}
.hero .kicker{margin-bottom:22px}
.hero h1{
  margin:0;
  font-size:clamp(64px,8.5vw,126px);
  line-height:.88;
  letter-spacing:-.07em;
  font-weight:790;
  max-width:1100px;
}
.hero h1 span{
  display:block;
  font-weight:450;
  color:rgba(255,255,255,.82);
}
.hero-copy{
  display:grid;
  grid-template-columns:1fr .74fr;
  gap:72px;
  margin-top:38px;
  align-items:end;
}
.hero-copy p{
  max-width:720px;
  font-size:20px;
  color:rgba(255,255,255,.83);
  margin:0;
}
.hero-actions{display:flex;gap:11px;justify-content:flex-end;flex-wrap:wrap}
.btn{
  min-height:48px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ink);
  background:var(--ink);
  color:#fff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:850;
  transition:.2s;
}
.btn:hover{transform:translateY(-2px)}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}

/* IMAGE SLOT SYSTEM */
.media-slot{
  background:
    linear-gradient(135deg,#3c5366,#1d2933);
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}
.media-slot .placeholder{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px;
  background:
    linear-gradient(135deg,rgba(45,98,141,.34),rgba(16,20,25,.68));
  color:#fff;
  text-align:center;
}
.media-slot.has-image .placeholder{display:none}
.placeholder-box{
  width:min(620px,90%);
  border:1px dashed rgba(255,255,255,.65);
  padding:28px;
  backdrop-filter:blur(6px);
  background:rgba(9,14,19,.25);
}
.placeholder-box strong{
  display:block;
  font-size:16px;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.placeholder-box span{display:block;color:rgba(255,255,255,.78);font-size:13px}
.placeholder-box code{
  display:inline-block;
  margin-top:15px;
  padding:6px 8px;
  background:rgba(0,0,0,.28);
  font-size:11px;
  color:#fff;
}

/* SECTIONS */
.section{
  padding:112px 0;
  border-bottom:1px solid var(--line);
}
.section.white{background:#fff}
.section.dark{background:var(--ink);color:#fff}
.section.soft{background:var(--soft)}
.section-title{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:80px;
  align-items:start;
  margin-bottom:66px;
}
.section-title h2{
  margin:0;
  font-size:clamp(46px,6vw,86px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:730;
}
.section-title .lead{
  margin:0;
  max-width:780px;
  color:var(--muted);
  font-size:20px;
}
.dark .section-title .lead{color:#b5bdc6}

/* EDITORIAL STORY */
.story{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  min-height:680px;
  border-bottom:1px solid var(--line);
}
.story.reverse{grid-template-columns:.95fr 1.05fr}
.story-media{min-height:680px}
.story-copy{
  background:#fff;
  padding:86px;
  display:flex;
  justify-content:center;
  flex-direction:column;
}
.story.dark .story-copy{
  background:var(--ink);
  color:#fff;
}
.story-copy h2{
  margin:18px 0 24px;
  font-size:clamp(48px,5.6vw,82px);
  line-height:.94;
  letter-spacing:-.058em;
  font-weight:730;
}
.story-copy p{
  max-width:620px;
  color:var(--muted);
  font-size:18px;
}
.story.dark .story-copy p{color:#b6bec7}
.story-link{
  margin-top:20px;
  display:inline-flex;
  width:max-content;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  border-bottom:1px solid currentColor;
  padding-bottom:5px;
}

/* SERVICE INDEX */
.service-index{border-top:1px solid var(--line)}
.service-row{
  display:grid;
  grid-template-columns:88px 1fr 1fr;
  gap:36px;
  padding:31px 0;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.service-row .num{
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  letter-spacing:.15em;
}
.service-row h3{
  margin:0;
  font-size:29px;
  letter-spacing:-.035em;
}
.service-row p{
  margin:0;
  color:var(--muted);
}

/* DUAL */
.dual{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.dual-panel{
  min-height:550px;
  position:relative;
  padding:64px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}
.dual-panel.light{background:#dce3e8}
.dual-panel.dark{background:var(--ink2);color:#fff}
.dual-panel .giant{
  position:absolute;
  top:30px;
  right:40px;
  font-size:145px;
  line-height:.75;
  font-weight:900;
  letter-spacing:-.08em;
  opacity:.09;
}
.dual-panel h3{
  font-size:42px;
  line-height:.98;
  letter-spacing:-.045em;
  margin:0 0 14px;
  max-width:620px;
}
.dual-panel p{
  margin:0;
  max-width:560px;
  color:var(--muted);
}
.dual-panel.dark p{color:#bbc2ca}

/* INSIGHTS */
.insight-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.insight{
  padding:34px;
  background:#fff;
  min-height:330px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.insight .category{
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:850;
  color:var(--steel);
}
.insight h3{
  font-size:29px;
  line-height:1.02;
  letter-spacing:-.038em;
  margin:30px 0 14px;
}
.insight p{color:var(--muted);margin:0}
.insight .soon{margin-top:auto;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

/* COUNTRY BAND */
.country-band{
  background:var(--ink);
  color:#fff;
  padding:100px 0;
  position:relative;
  overflow:hidden;
}
.country-band .flag-large{
  position:absolute;
  right:6vw;
  top:50%;
  transform:translateY(-50%);
  font-size:min(20vw,270px);
  filter:grayscale(.25);
  opacity:.16;
}
.country-band h2{
  font-size:clamp(48px,6vw,90px);
  line-height:.93;
  letter-spacing:-.06em;
  margin:15px 0 24px;
  max-width:960px;
}
.country-band p{color:#b6bec7;max-width:730px;font-size:18px}

/* CONTACT */
.contact-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:80px;
}
.contact-grid h2{
  font-size:clamp(50px,6vw,82px);
  line-height:.94;
  letter-spacing:-.055em;
  margin:16px 0 24px;
}
.contact-grid p{color:var(--muted);font-size:18px}
.form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.form input,.form textarea,.form select{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  padding:16px;
  outline:none;
}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--steel)}
.form textarea{grid-column:1/-1;min-height:150px;resize:vertical}
.form .full{grid-column:1/-1}
.form-note{
  grid-column:1/-1;
  color:var(--muted);
  font-size:11px;
  margin:0;
}

/* FOOTER */
.footer{
  background:#0c1015;
  color:#fff;
  padding:66px 0 30px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr repeat(3,1fr);
  gap:48px;
}
.footer-logo{
  font-size:37px;
  font-weight:900;
  letter-spacing:-.055em;
}
.footer p{color:#9ea7b1;max-width:430px}
.footer h4{
  margin:4px 0 18px;
  color:#7f8994;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.footer a{display:block;color:#d7dce1;margin:8px 0;font-size:13px}
.footer-bottom{
  border-top:1px solid #252b32;
  margin-top:52px;
  padding-top:22px;
  color:#858f9a;
  font-size:11px;
  display:flex;
  justify-content:space-between;
  gap:20px;
}

/* RESPONSIVE */
@media(max-width:1080px){
  .main-nav{display:none}
  .mobile-button{display:block;margin-left:auto}
  .header-tools{margin-left:0}
  .mobile-nav{
    position:fixed;
    top:var(--header);
    left:0;right:0;bottom:0;
    background:var(--ivory);
    color:var(--ink);
    padding:30px 32px;
    display:none;
    z-index:999;
  }
  body.menu-open .mobile-nav{display:block}
  .mobile-nav a{
    display:block;
    font-size:34px;
    line-height:1;
    font-weight:700;
    letter-spacing:-.04em;
    border-bottom:1px solid var(--line);
    padding:18px 0;
  }
  .section-title,.story,.story.reverse,.dual,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .story-media{min-height:460px}
  .story-copy{padding:64px 38px}
  .service-row{grid-template-columns:65px 1fr}
  .service-row p{grid-column:2}
  .insight-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  :root{--header:70px}
  .wrap{width:min(calc(100% - 30px),var(--max))}
  .header-row{gap:14px}
  .logo{font-size:27px}
  .logo-mark{display:none}
  .header-contact{display:none}
  .locale-current{padding:8px 9px}
  .locale-current .market-name{display:none}
  .hero{min-height:90vh}
  .hero-content{padding:130px 0 52px}
  .hero h1{font-size:clamp(58px,17vw,92px)}
  .hero-copy{grid-template-columns:1fr;gap:28px}
  .hero-actions{justify-content:flex-start}
  .section{padding:76px 0}
  .section-title{grid-template-columns:1fr;gap:28px;margin-bottom:42px}
  .story{min-height:0}
  .story-media{min-height:390px}
  .story-copy{padding:50px 24px}
  .dual-panel{min-height:430px;padding:42px 24px}
  .form{grid-template-columns:1fr}
  .form textarea,.form .full,.form-note{grid-column:1}
  .footer-bottom{flex-direction:column}
}


/* v2: real IGBX logo */
.logo{
  min-width:138px;
  height:42px;
}
.logo img{
  display:block;
  width:138px;
  height:auto;
  object-fit:contain;
}
.logo .logo-dark{display:none}
.site-header.scrolled .logo-light{display:none}
.site-header.scrolled .logo-dark{display:block}

/* Use actual photo subtly behind country-market statement */
.country-band.has-country-photo{
  background-size:cover;
  background-position:center;
}
.country-band.has-country-photo::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(12,16,21,.95) 0%,rgba(12,16,21,.82) 48%,rgba(12,16,21,.52) 100%);
}
.country-band.has-country-photo .wrap,
.country-band.has-country-photo .flag-large{
  position:relative;
  z-index:2;
}

/* Image credits utility (kept unobtrusive) */
.photo-credit{
  position:absolute;
  right:14px;
  bottom:10px;
  z-index:3;
  padding:4px 7px;
  background:rgba(0,0,0,.38);
  color:rgba(255,255,255,.76);
  font-size:9px;
  letter-spacing:.03em;
}

/* Ensure the hidden mobile nav can never create the desktop text strip */
@media(min-width:1081px){
  .mobile-nav{display:none!important}
}


/* =========================================================
   IGBX v3 FIXES
   ========================================================= */

/* Header is deliberately simple and stable now. */
.site-header,
.site-header.scrolled{
  height:74px !important;
  color:var(--ink) !important;
  background:rgba(255,255,255,.97) !important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line) !important;
}
.site-header .wrap{
  width:calc(100% - 40px);
  max-width:none;
}
.header-row{
  height:74px !important;
  gap:24px;
}
.logo{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 124px !important;
  width:124px !important;
  min-width:124px !important;
  max-width:124px !important;
  height:42px !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
.logo img{
  display:block !important;
  width:118px !important;
  min-width:118px !important;
  max-width:118px !important;
  height:auto !important;
  max-height:38px !important;
  object-fit:contain !important;
}
.main-nav{
  margin-left:auto !important;
  gap:25px;
}
.main-nav a{
  height:74px !important;
  color:var(--ink) !important;
  font-size:12px;
}
.header-tools{color:var(--ink)}
.header-contact{color:var(--ink)!important}
.locale-current{color:var(--ink)!important}

/* The duplicate/mobile menu bar is gone from HTML.
   This remains as an absolute safeguard. */
.mobile-nav{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  overflow:hidden!important;
}

/* Actual working mobile navigation uses the SAME main nav, not a duplicate nav. */
@media(max-width:1080px){
  .main-nav{
    display:none!important;
  }
  .main-nav.mobile-open{
    display:flex!important;
    position:fixed;
    top:74px;
    left:0;
    right:0;
    z-index:999;
    padding:25px;
    background:#fff;
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:flex-start;
    gap:0;
  }
  .main-nav.mobile-open a{
    width:100%;
    height:auto!important;
    padding:15px 0;
    border-bottom:1px solid var(--line);
    font-size:24px;
  }
  .mobile-button{
    display:block!important;
    margin-left:auto!important;
    color:var(--ink)!important;
  }
}

/* Fixed header anchor compensation */
section[id]{scroll-margin-top:88px}

/* The old missing-image bug: story images now ALWAYS fill their panel. */
.story-media{
  position:relative !important;
  overflow:hidden !important;
}
.story-media > .media-slot{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
}
.story-media > .media-slot.has-image{
  background-size:cover !important;
  background-position:center !important;
}

/* Photo-backed public/private panels */
.dual-panel.photo{
  background-size:cover!important;
  background-position:center!important;
  position:relative;
  isolation:isolate;
}
.dual-panel.photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
}
.dual-panel.photo.light::before{
  background:rgba(236,240,243,.86);
}
.dual-panel.photo.dark::before{
  background:rgba(12,18,24,.74);
}

/* Image-led insight cards */
.insight.image-card{
  min-height:430px;
  padding:34px;
  position:relative;
  background-size:cover;
  background-position:center;
  color:#fff;
  isolation:isolate;
}
.insight.image-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(6,10,14,.18),rgba(6,10,14,.88));
}
.insight.image-card .category{color:#fff}
.insight.image-card p,
.insight.image-card .soon{color:rgba(255,255,255,.78)}

/* Keep hero beneath fixed header without obscuring the composition */
.hero-content{padding-top:156px}

/* Form success/error utility */
.form-status-error{color:#9d2c2c!important;font-weight:700}
.form-status-success{color:#1d6946!important;font-weight:700}

@media(max-width:720px){
  .site-header,.site-header.scrolled,.header-row{height:68px!important}
  .site-header .wrap{width:calc(100% - 26px)}
  .logo{flex-basis:108px!important;width:108px!important;min-width:108px!important;max-width:108px!important}
  .logo img{width:104px!important;min-width:104px!important;max-width:104px!important}
  .main-nav.mobile-open{top:68px}
}


/* v3.3 footer contact column */
.footer-grid{
  grid-template-columns:1.4fr repeat(4,1fr);
}
@media(max-width:1080px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:720px){
  .footer-grid{grid-template-columns:1fr;}
}


/* =========================================================
   IGBX v4 — multi-page system
   ========================================================= */
.site-header.scrolled{position:fixed}
.subpage-hero{
  padding:158px 0 86px;
  background:#fff;
  border-bottom:1px solid var(--line);
}
.subpage-hero.photo{
  min-height:650px;
  color:#fff;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  position:relative;
  isolation:isolate;
}
.subpage-hero.photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(8,12,16,.10),rgba(8,12,16,.76));
}
.subpage-hero h1{
  margin:16px 0 24px;
  font-size:clamp(58px,8vw,112px);
  line-height:.89;
  letter-spacing:-.068em;
  font-weight:760;
  max-width:1100px;
}
.subpage-hero p{
  font-size:20px;
  max-width:790px;
  color:var(--muted);
}
.subpage-hero.photo p{color:rgba(255,255,255,.82)}
.page-band{
  padding:88px 0;
  border-bottom:1px solid var(--line);
}
.page-band.white{background:#fff}
.page-band.dark{background:var(--ink);color:#fff}
.page-band.soft{background:var(--soft)}
.editorial-two{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:80px;
  align-items:start;
}
.editorial-two h2{
  margin:14px 0 0;
  font-size:clamp(42px,5vw,72px);
  line-height:.96;
  letter-spacing:-.052em;
}
.editorial-two p{font-size:18px;color:var(--muted)}
.dark .editorial-two p{color:#b9c0c8}
.cap-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.cap-card{
  background:#fff;
  padding:34px;
  min-height:280px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.cap-card h3{font-size:28px;line-height:1.02;letter-spacing:-.035em;margin:15px 0}
.cap-card p{color:var(--muted)}
.cap-card .mini{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:850;color:var(--steel)}
.image-band{
  min-height:560px;
  background-size:cover;
  background-position:center;
  position:relative;
  display:flex;
  align-items:flex-end;
  color:#fff;
  isolation:isolate;
}
.image-band::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(6,10,14,.10),rgba(6,10,14,.78));
}
.image-band .wrap{padding-top:80px;padding-bottom:70px}
.image-band h2{
  font-size:clamp(50px,6vw,88px);
  line-height:.94;letter-spacing:-.058em;margin:14px 0 18px;max-width:950px
}
.image-band p{max-width:720px;font-size:18px;color:rgba(255,255,255,.82)}
.legal{
  max-width:980px;
}
.legal h1{
  font-size:clamp(52px,7vw,90px);
  line-height:.92;
  letter-spacing:-.06em;
  margin:0 0 25px;
}
.legal h2{
  font-size:28px;
  letter-spacing:-.03em;
  margin:44px 0 12px;
}
.legal p,.legal li{color:#4e5964}
.legal ul{padding-left:22px}
.legal .effective{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800
}
.people-profile{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:58px;
  align-items:start;
  padding:46px 0;
  border-top:1px solid var(--line);
}
.people-photo{
  aspect-ratio:4/5;background:#d8dde1;display:grid;place-items:center;color:#65707b;
  text-align:center;padding:25px
}
.people-profile h3{font-size:38px;margin:0 0 8px;letter-spacing:-.045em}
.people-role{color:var(--steel);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.people-profile p{color:var(--muted);max-width:760px}
.notfound{
  min-height:100vh;display:grid;place-items:center;padding:100px 30px;background:var(--ink);color:#fff
}
.notfound-inner{max-width:900px;text-align:center}
.notfound .code{font-size:clamp(120px,22vw,260px);line-height:.75;font-weight:900;letter-spacing:-.08em;opacity:.12}
.notfound h1{font-size:clamp(44px,6vw,78px);line-height:.95;letter-spacing:-.055em;margin:-15px 0 20px}
.notfound p{color:#b6bec7;font-size:18px}
.footer-grid{grid-template-columns:1.35fr repeat(5,1fr)!important}
@media(max-width:1080px){
  .editorial-two,.people-profile{grid-template-columns:1fr}
  .cap-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr!important}
  .people-photo{max-width:360px}
}
@media(max-width:720px){
  .subpage-hero{padding:125px 0 65px}
  .subpage-hero.photo{min-height:560px}
  .page-band{padding:68px 0}
  .cap-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr!important}
}


/* v4.1 people page stock image fix */
.people-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}


/* =========================================================
   IGBX v4.2 — dedicated contact pages
   ========================================================= */
.contact-page-hero{
  padding:165px 0 85px;
  background:var(--ink);
  color:#fff;
  border-bottom:1px solid #2c333b;
}
.contact-page-hero h1{
  margin:16px 0 22px;
  font-size:clamp(60px,8vw,112px);
  line-height:.9;
  letter-spacing:-.068em;
  font-weight:760;
  max-width:1050px;
}
.contact-page-hero p{
  max-width:820px;
  margin:0;
  color:#b7c0c9;
  font-size:20px;
}
.contact-page-main{
  padding:95px 0 110px;
  background:#fff;
}
.contact-page-layout{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:95px;
  align-items:start;
}
.contact-page-aside{
  position:sticky;
  top:105px;
}
.contact-page-aside h2{
  font-size:clamp(36px,4vw,54px);
  line-height:.98;
  letter-spacing:-.045em;
  margin:18px 0 28px;
}
.contact-page-aside ul{
  list-style:none;
  padding:0;
  margin:0;
  border-top:1px solid var(--line);
}
.contact-page-aside li{
  padding:13px 0;
  border-bottom:1px solid var(--line);
  color:#59646f;
  font-size:14px;
}
.contact-direct{
  margin-top:38px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.contact-direct span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--muted);
  font-weight:850;
  margin-bottom:7px;
}
.contact-direct a{
  font-size:20px;
  font-weight:750;
  letter-spacing:-.02em;
}
.contact-page-formwrap{
  border-left:1px solid var(--line);
  padding-left:70px;
}
.header-contact.active-contact{
  background:var(--ink);
  color:#fff!important;
  border-color:var(--ink);
}

@media(max-width:980px){
  .contact-page-layout{grid-template-columns:1fr;gap:55px}
  .contact-page-aside{position:static}
  .contact-page-formwrap{border-left:0;padding-left:0}
}
@media(max-width:720px){
  .contact-page-hero{padding:128px 0 60px}
  .contact-page-main{padding:70px 0 80px}
}
