/* ============================================================
   HOME — Uqesh (materials). 1:1 with yIBK5. Fluid / rem. Light site.
   ============================================================ */

.btn-line-dark{ background:transparent; color:var(--text-primary); border:1.4px solid var(--text-primary); }
.btn-line-dark:hover{ background:rgba(0,0,0,.05); }

/* Hero — Nav at top, body pinned to the bottom (design space_between + 72px bottom pad). */
.mh-hero{ min-height:34rem; display:flex; flex-direction:column; justify-content:flex-end; background-size:cover; background-position:center right; }
.mh-hero-body{ display:flex; flex-direction:column; gap:1.25rem; max-width:50rem; padding-block:0 4.5rem; }
.mh-eyebrow{ font-family:var(--font-display); font-weight:700; font-size:0.875rem; letter-spacing:.07em; color:var(--text-primary); margin:0; }
.mh-headline{ display:flex; flex-direction:column; gap:0.125rem; }
.mh-headline span{ font-family:var(--font-display); font-weight:800; font-size:3.875rem; letter-spacing:-.016em; line-height:1; color:var(--brand); }
.mh-hero-sub{ color:var(--text-secondary); font-size:0.9375rem; line-height:1.5; max-width:31.25rem; margin:0; }
.mh-hero-ctas{ display:flex; gap:0.875rem; margin-top:0.5rem; flex-wrap:wrap; }

/* Shared heads */
.mh-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.625rem; }
.mh-h2{ font-family:var(--font-display); font-weight:800; font-size:1.375rem; letter-spacing:.01em; color:var(--text-primary); margin:0; }
.mh-viewall{ font-family:var(--font-display); font-weight:700; font-size:0.781rem; letter-spacing:.03em; color:var(--text-primary); white-space:nowrap; }
.mh-viewall:hover{ color:var(--brand); }

/* Product solutions */
.mh-products{ padding-block:3.75rem 3.25rem; }
.mh-prod-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.125rem; }
.mh-prod-card{ display:flex; flex-direction:column; }
.mh-prod-img{ display:block; height:11.125rem; background-size:cover; background-position:center; border-radius:0.125rem; }
.mh-prod-name{ font-family:var(--font-display); font-weight:700; font-size:0.9375rem; color:var(--text-primary); margin:0.8125rem 0 0.3125rem; }
.mh-prod-desc{ color:var(--text-secondary); font-size:0.781rem; line-height:1.4; }
.mh-prod-card:hover .mh-prod-name{ color:var(--brand); }

/* Design inspiration */
.mh-insp{ background:var(--surface); }
.mh-insp .wrap{ padding-block:1rem 3.5rem; }
.mh-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:0.875rem; height:27.5rem; }
.mh-g-col{ display:block; height:100%; background-size:cover; background-position:center; border-radius:0.25rem; }
.mh-g-stack{ display:flex; flex-direction:column; gap:0.875rem; height:100%; }
.mh-g-stack .mh-g-col{ flex:1 1 0; height:auto; }

/* Colour collection */
.mh-colour{ background:var(--surface); }
.mh-colour-inner{ display:flex; gap:3rem; padding-block:3.25rem; align-items:flex-start; }
.mh-colour-left{ flex:0 0 21.25rem; }
.mh-colour-left .mh-h2{ margin-bottom:0.5rem; }
.mh-colour-sub{ color:var(--text-secondary); font-size:0.875rem; line-height:1.45; margin:0; }
.mh-colour-grid{ flex:1 1 0; display:flex; flex-direction:column; gap:0.75rem; }
.mh-colour-viewrow{ text-align:right; }
.mh-sw-row{ display:flex; gap:0.625rem; }
.mh-sw{ flex:1 1 0; height:4rem; border-radius:0.25rem; border:1px solid rgba(0,0,0,.07); }

/* Featured projects */
.mh-projects{ background:var(--surface); }
.mh-projects .wrap{ padding-block:1rem 4rem; }
.mh-proj-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.125rem; }
.mh-proj-card{ display:flex; flex-direction:column; }
.mh-proj-img{ display:block; height:20.125rem; background-size:cover; background-position:center; border-radius:0.25rem; margin-bottom:0.625rem; }
.mh-proj-name{ font-family:var(--font-display); font-weight:700; font-size:0.906rem; color:var(--text-primary); }
.mh-proj-loc{ color:var(--text-secondary); font-size:0.781rem; margin-top:0.125rem; }

/* Technical resources */
.mh-tech{ padding-block:3.75rem; }
.mh-tech .mh-h2{ margin-bottom:1.625rem; }
.mh-tech-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.875rem; }
.mh-tech-item{ display:flex; gap:0.75rem; text-decoration:none; color:inherit; transition:color .18s ease; }
.mh-tech-item:hover .mh-tech-t{ color:var(--brand); }
.mh-tech-item:hover .mh-tech-ic{ color:var(--brand); }
.mh-tech-ic{ color:var(--text-primary); width:2.125rem; height:2.125rem; flex:none; }
.mh-tech-t{ display:block; font-family:var(--font-display); font-weight:700; font-size:0.906rem; color:var(--text-primary); margin-bottom:0.25rem; }
.mh-tech-d{ color:var(--text-secondary); font-size:0.781rem; line-height:1.4; }

/* Contact (full-bleed: form + image) */
.mh-contact{ display:flex; align-items:stretch; background:#E0E2DD; }
.mh-contact-form{ flex:1 1 0; padding:3.75rem 3.5rem; padding-left:max(3rem, calc((100vw - var(--wrap-max)) / 2 + 3rem)); }
.mh-contact-t{ font-family:var(--font-display); font-weight:800; font-size:1.875rem; color:var(--text-primary); margin:0 0 0.375rem; }
.mh-contact-sub{ color:var(--text-secondary); font-size:0.875rem; margin:0 0 1.375rem; }
.mh-form{ display:flex; flex-direction:column; gap:0.8125rem; max-width:40rem; }
.mh-form-row{ display:flex; gap:0.8125rem; }
.mh-form-row > *{ flex:1 1 0; min-width:0; }
.mh-form input, .mh-form select, .mh-form textarea{ font-family:var(--font-body); font-size:0.813rem; color:var(--text-primary); background:#fff; border:1px solid var(--line); border-radius:0.25rem; padding:0.875rem 0.9375rem; width:100%; }
.mh-form input::placeholder, .mh-form textarea::placeholder{ color:var(--text-secondary); font-size:0.719rem; font-weight:600; letter-spacing:.04em; }
.mh-form select{ color:var(--text-secondary); font-size:0.719rem; font-weight:600; letter-spacing:.04em; }
.mh-form-submit{ align-self:flex-start; width:auto; min-width:13.1875rem; justify-content:center; }
.mh-contact-img{ flex:0 0 37.5rem; background-size:cover; background-position:center; min-height:31.25rem; }

/* Responsive */
@media (max-width:1100px){
  .mh-prod-grid{ grid-template-columns:repeat(3,1fr); }
  .mh-proj-grid{ grid-template-columns:repeat(2,1fr); }
  .mh-tech-grid{ grid-template-columns:repeat(2,1fr); }
  .mh-contact-img{ flex-basis:30rem; }
}
@media (max-width:820px){
  .mh-headline span{ font-size:2.75rem; }
  .mh-gallery{ grid-template-columns:1fr 1fr; height:auto; }
  .mh-g-col{ height:12rem; }
  .mh-g-stack{ height:auto; }
  .mh-g-stack .mh-g-col{ height:12rem; }
  .mh-colour-inner{ flex-direction:column; gap:1.5rem; }
  .mh-colour-left{ flex-basis:auto; }
  .mh-prod-grid, .mh-proj-grid{ grid-template-columns:1fr 1fr; }
  .mh-contact{ flex-direction:column; }
  .mh-contact-form{ padding:2.5rem 1.5rem; }
  .mh-contact-img{ flex-basis:auto; min-height:16rem; width:100%; }
  .mh-form-row{ flex-direction:column; }
}
@media (max-width:480px){
  .mh-headline span{ font-size:2.25rem; }   /* keep long words (e.g. PERFORMANCE) within narrow phones */
}
