/* ============================================================
   /imel-concept/ — homepage concept
   Scoped to body.imel. Does not alter /, /final-refine/, or chrome files.

   Serif: Libre Baskerville
   Sans:  Source Sans 3

   Desktop type:
     H1          64px (clamp 40–64), serif 400
     H2          42px (clamp 32–42), serif 400
     Body        17.5px
     Lead        18px
     Panel title 22px
     Info boxes  16px sans
     Labels      12px
     Nav         14px

   Grid: max-width 1300px
   Gutters: clamp(20px, 3.4vw, 48px)
   ============================================================ */

body.imel{
  --serif:"Libre Baskerville", "Palatino Linotype", Palatino, "Times New Roman", serif;
  --sans:"Source Sans 3", "Helvetica Neue", Arial, sans-serif;
  --im-ivory:#F7F5EF;
  --im-white:#FFFFFF;
  --im-panel:#F3F1EA;
  --im-line:#D9D4C8;
  --im-ink:#1B1D20;
  --im-muted:#5A5D62;
  background:var(--im-ivory);
  color:var(--im-ink);
  font-family:var(--sans);
  font-size:17.5px;
  line-height:1.55;
  overflow-x:clip;
}
body.imel .container{
  max-width:1300px;
  padding-left:clamp(20px,3.4vw,48px);
  padding-right:clamp(20px,3.4vw,48px);
}
body.imel p{margin:0}
body.imel h1,
body.imel h2,
body.imel h3{
  font-family:var(--serif);
  font-weight:400;
  color:var(--im-ink);
  letter-spacing:0;
}
body.imel .im-btn,
body.imel .im-boxes article,
body.imel .im-sector{
  border-radius:0;
}

/* Light corporate header — chrome markup reused, colours scoped here */
body.imel .pcg-header{
  background:#FCFBF8;
  border-bottom:1px solid rgba(27,29,32,.1);
}
body.imel .pcg-header-inner{min-height:76px;padding:8px 0}
body.imel .pcg-logo img{
  height:68px;
  max-width:min(300px,58vw);
}
body.imel .pcg-menu-btn,
body.imel .pcg-header-contact{
  color:var(--im-ink);
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
}
body.imel .pcg-menu-btn:hover,
body.imel .pcg-header-contact:hover,
body.imel .pcg-header-contact[aria-current="page"]{color:var(--gold)}
body.imel .pcg-hamburger span{background:var(--gold)}
body.imel .pcg-header-rule{background:rgba(27,29,32,.22)}
body.imel .pcg-menu-list a{font-family:var(--serif);font-weight:700}

body.imel .im-label{
  margin:0 0 8px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1.3;
}

body.imel .im-btn{
  display:inline-block;
  font-family:var(--sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:11px 20px;
  border:1px solid transparent;
  line-height:1.2;
}
body.imel .im-btn-gold{
  background:var(--gold);
  border-color:var(--gold);
  color:var(--im-ink);
}
body.imel .im-btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2);color:var(--im-ink)}
body.imel .im-btn-ghost{
  background:transparent;
  border-color:rgba(243,238,226,.55);
  color:#F3EEE2;
}
body.imel .im-btn-ghost:hover{background:#F3EEE2;border-color:#F3EEE2;color:var(--im-ink)}
body.imel .im-btn-solid{
  background:var(--im-ink);
  border-color:var(--im-ink);
  color:#F7F5EF;
}
body.imel .im-btn-solid:hover{background:var(--charcoal-2);border-color:var(--charcoal-2);color:#fff}
body.imel .im-textlink{
  font-size:15px;
  font-weight:600;
  color:var(--im-ink);
}
body.imel .im-textlink:hover{color:var(--gold)}

/* ---------- Hero (approved map banner) ---------- */
body.imel .im-hero{
  position:relative;
  overflow:hidden;
  background:#ECE9E1;
  padding:0;
  min-height:0;
}
body.imel .im-hero::after{content:none;display:none}
body.imel .im-hero-banner{
  position:relative;
  width:100%;
}
body.imel .im-hero-banner img{
  display:block;
  width:100%;
  height:auto;
}
@media (min-width:1025px){
  body.imel .im-hero-banner{
    width:95%;
    max-width:1983px;
    margin-inline:auto;
  }
}
body.imel .im-hero-hit{
  position:absolute;
  z-index:2;
  display:block;
  border:0;
  background:transparent;
}
body.imel .im-hero-hit-group{
  left:3.7%;
  top:71.3%;
  width:14.6%;
  height:8.4%;
}
body.imel .im-hero-hit-biz{
  left:18.5%;
  top:71.3%;
  width:13.4%;
  height:8.4%;
}

/* ---------- Facts strip ---------- */
body.imel .im-facts{
  background:var(--charcoal-2);
  padding:20px 0;
}
body.imel .im-facts-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
}
body.imel .im-facts-grid > div{
  text-align:center;
  padding:8px 12px;
  border-left:1px solid rgba(191,168,118,.22);
}
body.imel .im-facts-grid > div:first-child{border-left:0}
body.imel .im-fact-val{
  margin:0 0 4px;
  font-family:var(--serif);
  font-size:clamp(26px,2.1vw,32px);
  font-weight:400;
  line-height:1.1;
  color:var(--gold-2);
}
body.imel .im-fact-lbl{
  margin:0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#B7B1A4;
  line-height:1.3;
}

/* ---------- The Group ---------- */
body.imel .im-group{
  background:var(--im-white);
  padding:88px 0;
}
body.imel .im-group-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:40px 56px;
  align-items:start;
}
body.imel .im-group-photo{margin:0}
body.imel .im-group-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:22% 40%;
}
body.imel .im-group-copy h2{
  margin:0 0 14px;
  font-size:clamp(32px,3vw,42px);
  line-height:1.18;
}
body.imel .im-group-copy h2 + p{
  margin:0 0 22px;
  max-width:42em;
  font-size:17.5px;
  line-height:1.58;
  color:var(--im-ink);
}
body.imel .im-boxes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
body.imel .im-boxes article{
  background:var(--im-panel);
  border:1px solid var(--im-line);
  padding:16px 16px 14px;
}
body.imel .im-ico{
  width:18px;
  height:18px;
  display:block;
  margin:0 0 8px;
  color:var(--gold);
}
body.imel .im-boxes h3{
  margin:0 0 6px;
  font-family:var(--sans);
  font-size:16px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
  line-height:1.25;
}
body.imel .im-boxes p{
  margin:0;
  font-size:14.5px;
  line-height:1.4;
  color:var(--im-muted);
}
body.imel .im-boxes.im-boxes-trio{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

/* ---------- Businesses ---------- */
body.imel .im-biz{
  background:var(--charcoal);
  color:#D5CFC3;
  padding:88px 0;
}
body.imel .im-biz-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:20px 40px;
  align-items:end;
  margin-bottom:32px;
}
body.imel .im-biz h2{
  margin:0;
  color:#F3EEE2;
  font-size:clamp(32px,3vw,42px);
  line-height:1.18;
}
body.imel .im-biz-lead{
  margin:0 0 6px;
  font-size:17px;
  line-height:1.5;
  color:#B7B1A4;
  max-width:32em;
}
body.imel .im-sectors{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
}
body.imel .im-sector{
  position:relative;
  overflow:hidden;
  background:#23262B;
  padding:28px 24px 24px;
  min-height:198px;
}
body.imel .im-num{
  position:absolute;
  top:16px;
  right:18px;
  font-family:var(--serif);
  font-size:42px;
  font-weight:400;
  color:rgba(191,168,118,.16);
  line-height:1;
  pointer-events:none;
}
body.imel .im-sector h3{
  position:relative;
  margin:0 0 10px;
  color:#F3EEE2;
  font-size:22px;
  font-weight:400;
  line-height:1.25;
}
body.imel .im-sector p{
  position:relative;
  margin:0 0 16px;
  font-size:15.5px;
  line-height:1.5;
  color:#B7B1A4;
  max-width:38em;
}
body.imel .im-sector a{
  position:relative;
  font-size:14px;
  font-weight:600;
  color:#EDE8DF;
}
body.imel .im-sector a:hover{color:var(--gold-2)}
body.imel .im-sector:hover{background:#2A2A2F}

/* ---------- News ---------- */
body.imel .im-news{
  background:var(--im-ivory);
  padding:80px 0;
}
body.imel .im-news-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:16px;
  margin-bottom:28px;
}
body.imel .im-news h2{
  margin:0;
  font-size:clamp(28px,2.6vw,36px);
  line-height:1.18;
}
body.imel .im-news-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 36px;
}
body.imel .im-news-grid article{
  padding:0 0 8px;
  border-top:1px solid var(--im-line);
  padding-top:18px;
}
body.imel .im-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--im-muted);
}
body.imel .im-news h3{
  margin:0 0 10px;
  font-size:21px;
  font-weight:400;
  line-height:1.28;
}
body.imel .im-news h3 a{color:var(--im-ink)}
body.imel .im-news h3 a:hover{color:var(--gold)}
body.imel .im-news-grid p{
  margin:0 0 12px;
  font-size:16px;
  line-height:1.5;
  color:var(--im-muted);
}

/* ---------- CTA ---------- */
body.imel .im-cta{
  background:var(--im-white);
  border-top:1px solid var(--im-line);
  padding:52px 0;
}
body.imel .im-cta-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px 36px;
}
body.imel .im-cta h2{
  margin:0 0 6px;
  font-size:clamp(26px,2.2vw,32px);
  line-height:1.2;
}
body.imel .im-cta p{
  margin:0;
  font-size:16.5px;
  color:var(--im-muted);
}

/* ---------- 1024 ---------- */
@media (max-width:1024px){
  body.imel .im-hero{padding:0}
  body.imel .im-group,
  body.imel .im-biz{padding:72px 0}
  body.imel .im-news{padding:72px 0}
  body.imel .im-group-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  body.imel .im-group-photo{max-width:480px}
  body.imel .im-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.imel .im-facts-grid > div:nth-child(4){border-left:0}
  body.imel .im-biz-head{grid-template-columns:1fr;gap:10px}
  body.imel .im-sectors{grid-template-columns:1fr 1fr}
  body.imel .im-sector{grid-column:auto}
  body.imel .im-news-grid{grid-template-columns:1fr;gap:0}
  body.imel .im-news-grid article{padding-top:16px;padding-bottom:18px}
}

/* ---------- 768 ---------- */
@media (max-width:768px){
  body.imel{font-size:17px}
  body.imel .pcg-header-inner{min-height:70px}
  body.imel .pcg-logo img{height:52px}
  body.imel .im-hero{padding:0}
  body.imel .im-facts{padding:20px 0}
  body.imel .im-facts-grid{grid-template-columns:1fr 1fr}
  body.imel .im-facts-grid > div{border-left:0;border-top:1px solid rgba(191,168,118,.18);padding:14px 8px}
  body.imel .im-facts-grid > div:nth-child(-n+2){border-top:0}
  body.imel .im-facts-grid > div:last-child{grid-column:1 / -1}
  body.imel .im-group,
  body.imel .im-biz{padding:56px 0}
  body.imel .im-news{padding:56px 0}
  body.imel .im-cta{padding:40px 0}
  body.imel .im-cta-inner{flex-direction:column;align-items:flex-start}
  body.imel .im-boxes{grid-template-columns:1fr 1fr}
  body.imel .im-boxes.im-boxes-trio{grid-template-columns:1fr}
  body.imel .im-sectors{grid-template-columns:1fr}
  body.imel .im-sector{min-height:0;grid-column:auto}
}

@media (max-width:900px){
  body.imel .im-hero-banner img{
    aspect-ratio:1.35 / 1;
    height:auto;
    object-fit:cover;
    object-position:left center;
  }
  body.imel .im-hero-hit-group{
    left:7.2%;
    width:27%;
    top:70.8%;
    height:9.2%;
  }
  body.imel .im-hero-hit-biz{
    left:35.5%;
    width:24%;
    top:70.8%;
    height:9.2%;
  }
}
@media (max-width:640px){
  body.imel .im-boxes{grid-template-columns:1fr}
  body.imel .im-group-photo{max-width:100%}
}
