/* ==========================================================================
   MAFIN enterprises — static rebuild
   No external dependencies (fonts/CSS/JS): everything is self-hosted.
   ========================================================================== */

:root{
  --navy:#242a6b;
  --navy-deep:#1d2358;
  --blue:#3d5afe;
  --blue-link:#6b74d4;
  --lightblue:#b9dcec;
  --grey:#ededed;
  --ink:#2a2a3a;
  --muted:#4d4d5a;
  --white:#ffffff;
  --container:1180px;
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
  color:var(--ink);
  line-height:1.6;
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;height:auto}

a{color:inherit;text-decoration:none}

.container{
  width:100%;
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:24px;
}

/* ---------- Header / nav ---------------------------------------------- */

.site-header{background:var(--navy)}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-block:26px;
}

.logo img{width:180px;height:auto}

.nav-toggle{display:none}
.nav-toggle-label{display:none}

.main-nav ul{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  gap:36px;
}

.main-nav a{
  color:#e7e9f6;
  font-size:1rem;
  padding-block:4px;
  transition:color .15s ease;
}
.main-nav a:hover,
.main-nav a[aria-current="page"]{color:#fff;font-weight:600}

/* ---------- Buttons ---------------------------------------------------- */

.btn{
  display:inline-block;
  padding:12px 26px;
  border-radius:var(--radius);
  font-size:1rem;
  border:1px solid transparent;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.btn-outline-light{border-color:#fff;color:#fff;background:transparent}
.btn-outline-light:hover{background:#fff;color:var(--navy)}
.btn-outline-dark{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline-dark:hover{background:var(--navy);color:#fff}

/* ---------- Home hero -------------------------------------------------- */

.hero{background:var(--navy);color:#fff;overflow:hidden}
.hero-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:40px;
  padding-block:40px 90px;
}
.hero-text h1{
  font-size:clamp(2.2rem,4.4vw,3.4rem);
  line-height:1.12;
  text-transform:uppercase;
  letter-spacing:.5px;
  margin:0 0 26px;
  font-weight:700;
}
.hero-text p{
  font-size:1.18rem;
  max-width:34ch;
  margin:0 0 34px;
  color:#e7e9f6;
}
.hero-media{display:flex;justify-content:center}
.hero-media img{max-width:520px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}

/* ---------- Inner page hero ------------------------------------------- */

.page-hero{background:var(--navy);color:#fff}
.page-hero .container{padding-block:70px 90px}
.page-hero h1{
  margin:0;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:700;
}

/* ---------- Generic sections ------------------------------------------ */

section{padding-block:70px}

.section-title{
  text-align:center;
  color:var(--ink);
  font-size:clamp(1.6rem,3vw,2.2rem);
  font-weight:700;
  margin:0 0 48px;
}

h2,h3{color:var(--navy)}

/* ---------- Service card grid ----------------------------------------- */

.card-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:20px;
}
.service-card{
  background:var(--navy);
  color:#fff;
  border-radius:8px;
  padding:26px 16px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
  min-height:210px;
  justify-content:center;
}
.service-card img,
.service-card svg{width:56px;height:56px}
.service-card .icon{
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
}
.service-card .icon :is(img,svg){filter:brightness(0) invert(1)}
.service-card p{margin:0;font-size:.92rem;line-height:1.35}

.services-wrap{background:var(--grey)}

/* ---------- Split (image + text) sections ----------------------------- */

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.split.reverse .split-media{order:2}
.split-media img{border-radius:4px;width:100%;object-fit:cover}
.split-text h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 18px}
.split-text .lead{font-weight:600;color:var(--ink);margin:0 0 16px}
.split-text p{color:var(--muted);margin:0 0 16px}

/* ---------- Light-blue about block on home ---------------------------- */

.about-band{background:var(--lightblue);color:var(--ink)}
.about-band h2{color:var(--navy)}
.about-band p{color:#25384a}

/* ---------- Enterprise band ------------------------------------------- */

.enterprise{
  background:
    linear-gradient(180deg,rgba(223,238,246,.92) 0%,rgba(238,245,249,.86) 55%,#fff 100%),
    url("../images/mountains-bg.jpg") center bottom/cover no-repeat;
  position:relative;
}
.enterprise .section-title{color:var(--navy)}
.enterprise-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.enterprise-notes{display:flex;flex-direction:column;gap:22px}
.enterprise-notes .note{
  background:#fff;
  border-radius:8px;
  padding:22px 26px;
  color:var(--muted);
  box-shadow:0 6px 24px rgba(36,42,107,.08);
}
.enterprise-media img{margin-inline:auto;max-width:520px}

/* ---------- Consulting page ------------------------------------------- */

.consult-body{position:relative}
.consult-body::before{
  content:"";
  position:absolute;inset:0;
  background:url("../images/industrial-bg.jpg") center/cover no-repeat;
  opacity:.10;
  z-index:0;
}
.consult-body .container{position:relative;z-index:1}
.consult-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.consult-grid h2{font-size:1.5rem;margin:0 0 22px}
.consult-grid p{color:var(--muted);margin:0 0 16px}
.consult-figure{margin:0}
.consult-figure figcaption{
  font-weight:600;color:var(--ink);
  font-size:1.15rem;margin:0 0 20px;line-height:1.4;
}
.consult-figure img{border-radius:4px}

/* ---------- Operator services (4 cards) ------------------------------- */

.ops-intro{color:var(--muted);max-width:80ch;margin:0 0 44px}
.ops-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.ops-card{
  background:var(--navy);
  color:#fff;
  border-radius:8px;
  padding:38px 22px;
  text-align:center;
  min-height:210px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
}
.ops-card svg{width:52px;height:52px;stroke:#fff;fill:none}
.ops-card p{margin:0;font-weight:600;font-size:1.05rem;line-height:1.3}

/* ---------- Contacts --------------------------------------------------- */

.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.contacts-block h2{font-size:1.5rem;margin:0 0 26px}
.contacts-block p{margin:0 0 14px;color:var(--muted)}
.contacts-block .company{font-weight:600;color:var(--ink)}
.contacts-block a{color:var(--blue-link);font-weight:600}

/* ---------- Privacy ---------------------------------------------------- */

.legal{max-width:820px}
.legal h2{font-size:1.3rem;margin:34px 0 12px}
.legal h3{font-size:1.05rem;margin:22px 0 8px;color:var(--ink)}
.legal p{color:var(--muted);margin:0 0 14px}
.legal ol,.legal ul{color:var(--muted);padding-left:22px;margin:0 0 16px}
.legal li{margin-bottom:8px}
.legal .intro{font-weight:600;color:var(--ink)}

/* ---------- Footer ----------------------------------------------------- */

.site-footer{background:var(--navy);color:#cfd3ee}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:34px;
  flex-wrap:wrap;
}
.site-footer a{color:var(--blue-link)}
.site-footer a:hover{color:#fff}

/* ---------- Focus / a11y ---------------------------------------------- */

a:focus-visible,.btn:focus-visible,.nav-toggle-label:focus-visible{
  outline:3px solid #9fb0ff;
  outline-offset:2px;
  border-radius:4px;
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;transition:none!important}
}

/* ---------- Responsive ------------------------------------------------- */

@media (max-width:960px){
  .card-grid{grid-template-columns:repeat(3,1fr)}
  .ops-grid{grid-template-columns:repeat(2,1fr)}
  .hero-inner,.split,.enterprise-inner,.consult-grid,.contacts-grid{
    grid-template-columns:1fr;
  }
  .split.reverse .split-media{order:0}
  .hero-media{order:-1}
  .hero-text p{max-width:none}
}

@media (max-width:640px){
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .ops-grid{grid-template-columns:1fr}

  /* mobile nav */
  .header-inner{flex-wrap:wrap}
  .nav-toggle-label{
    display:inline-flex;flex-direction:column;gap:5px;
    cursor:pointer;padding:6px;
  }
  .nav-toggle-label span{
    width:26px;height:3px;background:#fff;border-radius:2px;display:block;
  }
  .main-nav{flex-basis:100%;display:none}
  .nav-toggle:checked ~ .main-nav{display:block}
  .main-nav ul{flex-direction:column;gap:0}
  .main-nav li{border-top:1px solid rgba(255,255,255,.12)}
  .main-nav a{display:block;padding:14px 0}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:10px}
}
