/* ── MAYER-CONSULTING · SHARED BRAND STYLES ── */

:root{
  --primary:#1F4E79;
  --dark:#15324F;
  --darker:#0F2540;
  --light:#EAF3FA;
  --petrol:#2F7C7B;
  --teal-soft:#9FD3D2;
  --warm:#F6F7F8;
  --ink:#222831;
  --muted:#6B7280;
  --rule: rgba(234,243,250,.10);
  --rule-strong: rgba(234,243,250,.18);
  --text:#E7ECF2;
  --text-dim:#9FB4C8;
  --text-dimmer:#7E94AC;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter', system-ui, -apple-system, sans-serif;
  color: var(--text);
  background: #142E4A;
  min-height:100vh;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-weight: 400;
}
a{color:inherit; text-decoration:none}

/* scroll-progress bar */
.gradient-bar{
  position: fixed; top:0; left:0; right:0; height: 4px; z-index: 60;
  background: rgba(0,0,0,.35);
  border-bottom: 1px solid rgba(0,0,0,.4);
}
.gradient-bar .fill{
  height: 100%; width: 0;
  background: linear-gradient(90deg, #2A6E4B 0%, #3CA068 50%, #5BC287 100%);
  box-shadow: 0 0 14px rgba(60,160,104,.7), 0 0 4px rgba(91,194,135,.6);
  transition: width .18s cubic-bezier(.2,.7,.3,1);
  position: relative;
}
.gradient-bar .fill::after{
  content:""; position:absolute; right:0; top:0; bottom:0;
  width: 32px;
  background: linear-gradient(90deg, transparent, rgba(155,230,180,.8));
  opacity:.9;
}
.gradient-bar .ticks{
  position:absolute; inset:0; pointer-events:none;
  display:flex; align-items:center;
}
.gradient-bar .ticks i{
  width:1px; height:4px; background: rgba(255,255,255,.18); display:block;
}

/* layout */
.wrap{ max-width: 1280px; margin: 0 auto; padding: 0 64px; position:relative }

/* header */
header.site{
  padding: 34px 0 0;
  position: sticky; top: 4px; z-index: 40;
  backdrop-filter: blur(12px) saturate(150%);
  background: linear-gradient(180deg, rgba(18,40,65,.88), rgba(18,40,65,.55));
}
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding-bottom: 22px;
}
.mc-brand{ display:flex; flex-direction: column; gap: 7px; text-decoration: none; color: inherit }
.mc-brand .mc-name{
  font-family: 'Cormorant Garamond', 'Cormorant', Georgia, serif;
  font-weight: 500; font-size: 19px;
  letter-spacing: .22em; text-transform: uppercase;
  color: #fff; line-height: 1; display: block;
  white-space: nowrap;
}
.mc-brand .mc-claim{
  font-family: 'Cormorant Garamond', 'Cormorant', Georgia, serif;
  font-weight: 400; font-size: 10.5px;
  letter-spacing: .32em; text-transform: uppercase;
  color: var(--text-dim); line-height: 1;
  display: inline-flex; align-items: center; gap: .55em;
}
.mc-brand .mc-claim i{
  width: 3px; height: 3px; border-radius: 50%; background: var(--petrol);
  display: inline-block; font-style: normal; opacity: .85;
}

nav.primary{ display:flex; gap:28px }
nav.primary a{
  font-size:13px; letter-spacing:.04em; color:#B8C6D6; padding:6px 0;
  position:relative; transition: color .15s ease;
}
nav.primary a:hover{ color:#fff }
nav.primary a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background: var(--petrol); transform: scaleX(0); transform-origin:left;
  transition: transform .2s ease;
}
nav.primary a:hover::after{ transform: scaleX(1) }

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding: 11px 18px; border-radius: 99px;
  font-size: 13.5px; font-weight: 500; letter-spacing: .005em;
  border:1px solid transparent; cursor:pointer; font-family:inherit;
  transition: transform .15s ease, background .15s ease, color .15s ease;
}
.btn:hover{ transform: translateY(-1px) }
.btn.primary{ background:#fff; color: var(--dark) }
.btn.primary:hover{ background: var(--light) }
.btn.ghost{ background: transparent; color:#E7ECF2; border-color: rgba(255,255,255,.22) }
.btn.ghost:hover{ background: rgba(255,255,255,.06) }
.btn .arr{ transition: transform .15s ease }
.btn:hover .arr{ transform: translateX(2px) }

/* edition marker bar */
.marker{
  display:flex; align-items:center; gap:16px;
  padding: 18px 0 20px;
  font-size:12.5px; letter-spacing:.24em; text-transform:uppercase;
  color: var(--text-dimmer); border-top:1px solid var(--rule);
}
.marker .line{ flex:1; height:1px; background: var(--rule) }
.marker .num{ color: var(--teal-soft); font-variant-numeric: tabular-nums; font-weight:500 }
.marker .big{
  font-family: 'Inter', system-ui, sans-serif; font-style: italic; font-weight: 400;
  font-size: 22px; letter-spacing: normal; color: var(--teal-soft);
  text-transform: none; line-height:1;
}

/* scroll offset for sticky header on anchor jumps */
[id]{ scroll-margin-top: 170px }

/* section base */
section{ padding: 96px 0; position: relative }

/* section mark */
.section-mark{
  display:flex; align-items:baseline; gap:18px;
  font-size:13px; letter-spacing:.22em; text-transform:uppercase;
  color: var(--text-dimmer); margin-bottom: 32px; font-weight:500;
}
.section-mark .n{
  color: var(--teal-soft); font-variant-numeric: tabular-nums;
  font-family: 'Inter', system-ui, sans-serif; font-style: italic;
  font-weight: 400; font-size: 22px; letter-spacing: normal;
  text-transform: none; line-height: 1; padding-right: 4px;
}
.section-mark .line{ flex:1; height:1px; background: var(--rule) }

/* generic headings */
h2.h2{
  font-size: clamp(40px, 5.6vw, 55px);
  line-height: 1.05; color: rgb(164, 172, 179);
  font-weight: 400; letter-spacing:-.02em;
  margin: 0 0 22px; max-width: 24ch;
  text-wrap: balance;
}
h2.h2 em{
  font-style: italic; font-family: 'Newsreader', Georgia, serif;
  font-weight: 400; color: var(--teal-soft);
}
.lead{
  color:#C5D2E1; font-size: 17.5px; line-height:1.55; max-width: 62ch;
  text-wrap: pretty;
}

/* footer */
footer.site{
  padding: 72px 0 32px;
  border-top: 1px solid var(--rule-strong);
  margin-top: 72px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.15));
}
footer .colophon{
  display:grid; grid-template-columns: 5fr 7fr; gap:64px;
  padding-bottom: 48px; border-bottom: 1px solid var(--rule);
}
footer .colophon .info p{
  color: var(--text-dim); font-size:14px; line-height:1.6; margin: 18px 0 0; max-width: 38ch;
}
footer .cols{
  display:grid; grid-template-columns: 1fr 1fr 1fr; gap:32px;
}
footer h5{
  font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  color: var(--text-dimmer); margin: 0 0 16px; font-weight:500;
}
footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap: 10px }
footer ul a{ color:#D6DEE8; font-size:13.5px }
footer ul a:hover{ color:#fff }
footer .bot{
  display:flex; justify-content:space-between; align-items:baseline;
  padding-top:22px; color: var(--text-dimmer); font-size:11px; letter-spacing:.16em;
  text-transform:uppercase; flex-wrap:wrap; gap:10px;
}

/* responsive */
@media (max-width: 880px){ .wrap{ padding: 0 28px } }
@media (max-width: 980px){
  footer .colophon{ grid-template-columns: 1fr !important; gap: 36px !important }
  footer .cols{ grid-template-columns: 1fr 1fr }
}
@media (max-width: 720px){
  nav.primary{ display:none }
  .nav .btn{ display:none }
  section{ padding: 64px 0 }
  footer .cols{ grid-template-columns: 1fr }
}
