/* =====================================================================
   Michelsen Packaging — site styles
   Brand: royal blue #0f2385, bright blue #3269ff, navy #040922,
   triangle motif, Plus Jakarta Sans.
   ===================================================================== */
:root{
  --mp-royal:#0f2385; --mp-royal-2:#1a34b0; --mp-blue:#1649ff; --mp-bright:#3269ff;
  --mp-slate:#425a9e; --mp-navy:#040922; --mp-navy-2:#0a1440;
  --mp-ice:#f2f5ff; --mp-ice-2:#e6ecff; --mp-ink:#141a2e; --mp-muted:#5b6482; --mp-line:#dfe5f5;
  --mp-radius:18px; --mp-radius-sm:12px;
  --mp-shadow:0 18px 50px -24px rgba(15,35,133,.35);
  --mp-shadow-sm:0 6px 20px -10px rgba(15,35,133,.25);
  --mp-font:'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --mp-header-h:84px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--mp-header-h) + 12px); }
body{ font-family:var(--mp-font); color:var(--mp-ink); background:#fff; font-size:1.02rem; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2,h3,h4,h5{ font-family:var(--mp-font); font-weight:800; letter-spacing:-.02em; line-height:1.15; color:var(--mp-navy); }
h2{ font-size:clamp(1.8rem, 1.2rem + 2vw, 2.7rem); }
h3{ font-size:1.25rem; font-weight:700; }
a{ color:var(--mp-blue); text-underline-offset:3px; }
a:hover{ color:var(--mp-royal); }
img{ max-width:100%; height:auto; }
.skip-link{ position:absolute; left:-9999px; top:0; z-index:2000; background:#fff; padding:.6rem 1rem; }
.skip-link:focus{ left:1rem; top:1rem; }
:focus-visible{ outline:3px solid var(--mp-bright); outline-offset:3px; }

/* ---------- Header ---------- */
.mp-header{ position:fixed; inset:0 0 auto 0; z-index:1030; transition:background .3s, box-shadow .3s, padding .3s;
  background:linear-gradient(100deg, var(--mp-navy-2) 0%, var(--mp-royal) 55%, var(--mp-royal-2) 100%); }
.is-home .mp-header:not(.is-scrolled){ background:linear-gradient(180deg, rgba(4,9,34,.72), rgba(4,9,34,0)); }
.mp-header.is-scrolled{ box-shadow:0 10px 30px -18px rgba(0,0,0,.6); }
.mp-header .navbar{ padding:.9rem 0; transition:padding .3s; }
.mp-header.is-scrolled .navbar{ padding:.45rem 0; }
.mp-logo{ height:54px; width:auto; transition:height .3s; }
.mp-header.is-scrolled .mp-logo{ height:44px; }
.mp-header .nav-link{ color:rgba(255,255,255,.9); font-weight:600; font-size:.97rem; padding:.55rem .95rem !important; border-radius:999px; }
.mp-header .nav-link:hover, .mp-header .nav-link:focus, .mp-header .nav-link.show{ color:#fff; background:rgba(255,255,255,.1); }
.mp-header .nav-link.active{ color:#fff; box-shadow:inset 0 -2px 0 var(--mp-bright); border-radius:0; }
.mp-header .navbar-toggler{ color:#fff; border:1px solid rgba(255,255,255,.35); font-size:1.6rem; padding:.2rem .6rem; }
.mp-header .navbar-toggler:focus{ box-shadow:none; }
.mp-btn-phone{ background:var(--mp-bright); color:#fff; font-weight:700; border-radius:999px; padding:.55rem 1.1rem; border:0; white-space:nowrap; }
.mp-btn-phone:hover{ background:#fff; color:var(--mp-royal); }
.mp-header .dropdown-menu{ border:0; border-radius:var(--mp-radius-sm); box-shadow:var(--mp-shadow); padding:.5rem; margin-top:.6rem; }
.mp-header .dropdown-item{ border-radius:8px; font-weight:600; padding:.55rem .9rem; color:var(--mp-ink); }
.mp-header .dropdown-item:hover, .mp-header .dropdown-item.active{ background:var(--mp-ice); color:var(--mp-royal); }
/* mega menu */
.mp-mega-menu{ padding:1rem !important; }
.mp-mega-grid{ display:grid; grid-template-columns:repeat(4, 150px); gap:.6rem; }
.mp-mega-item{ display:flex; flex-direction:column; gap:.45rem; text-decoration:none; padding:.55rem; border-radius:12px; color:var(--mp-ink); font-weight:700; font-size:.85rem; line-height:1.3; }
.mp-mega-item:hover{ background:var(--mp-ice); color:var(--mp-royal); }
.mp-mega-img{ display:grid; place-items:center; height:84px; background:var(--mp-ice); border-radius:10px; overflow:hidden; }
.mp-mega-img img{ max-height:76px; max-width:90%; object-fit:contain; }
@media (max-width:991.98px){
  .mp-header, .is-home .mp-header:not(.is-scrolled){ background:var(--mp-royal); }
  .mp-header .navbar-collapse{ padding:.75rem 0 1rem; max-height:calc(100vh - 76px); overflow-y:auto; }
  .mp-header .nav-link.active{ box-shadow:none; background:rgba(255,255,255,.12); border-radius:999px; }
  .mp-mega-grid{ grid-template-columns:repeat(2, 1fr); }
  .mp-logo{ height:44px; }
}

@media (max-width:575.98px){ .container-xl{ padding-left:20px; padding-right:20px; } }

/* ---------- Triangle motif ---------- */
.mp-hero-tris{ position:absolute; inset:0; background:url('../img/tris.svg') right center / 720px repeat; pointer-events:none; }

/* ---------- Home hero ---------- */
.mp-hero-home{ position:relative; min-height:min(92vh, 860px); display:flex; align-items:center; color:#fff; overflow:hidden;
  background:var(--mp-royal); }
.mp-hero-photo{ position:absolute; inset:0; background-size:cover; background-position:center 60%;
  animation:mp-zoom 22s ease-out both; }
.mp-hero-home::before{ content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(100deg, rgba(4,9,34,.92) 0%, rgba(15,35,133,.82) 42%, rgba(15,35,133,.35) 70%, rgba(15,35,133,.15) 100%); }
.mp-hero-home .mp-hero-tris{ z-index:1; left:auto; width:52%; opacity:.9;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 45%); mask-image:linear-gradient(90deg, transparent, #000 45%); }
.mp-hero-inner{ position:relative; z-index:2; padding-top:calc(var(--mp-header-h) + 3rem); padding-bottom:5rem; }
.mp-hero-copy{ max-width:760px; }
.mp-hero-home h1{ color:#fff; font-size:clamp(2.5rem, 1.4rem + 4.6vw, 5rem); line-height:1.02; letter-spacing:-.035em; margin:.6rem 0 1.2rem; }
.mp-hero-sub{ font-size:clamp(1.05rem, .95rem + .5vw, 1.3rem); color:rgba(255,255,255,.86); max-width:620px; margin-bottom:2rem; }
@keyframes mp-zoom{ from{ transform:scale(1.12); } to{ transform:scale(1); } }

/* ---------- Inner hero band ---------- */
.mp-hero-band{ position:relative; overflow:hidden; color:#fff; padding:calc(var(--mp-header-h) + 3.5rem) 0 3.5rem;
  background:linear-gradient(110deg, var(--mp-navy) 0%, var(--mp-royal) 55%, var(--mp-royal-2) 100%); }
.mp-hero-band.has-img::before{ content:''; position:absolute; inset:0; background:var(--hero-img) center/cover; opacity:.22; mix-blend-mode:luminosity; }
.mp-hero-band .mp-hero-tris{ left:auto; width:60%; -webkit-mask-image:linear-gradient(90deg, transparent, #000 60%); mask-image:linear-gradient(90deg, transparent, #000 60%); }
.mp-hero-band h1{ color:#fff; font-size:clamp(2.1rem, 1.4rem + 2.8vw, 3.6rem); max-width:900px; margin:0; }
.mp-hero-band .mp-hero-sub{ margin:.8rem 0 0; }
.mp-crumbs{ list-style:none; display:flex; flex-wrap:wrap; gap:.4rem; padding:0; margin:0 0 .9rem; font-size:.85rem; font-weight:600; color:rgba(255,255,255,.7); }
.mp-crumbs li+li::before{ content:'/'; margin-right:.4rem; opacity:.6; }
.mp-crumbs a{ color:rgba(255,255,255,.85); text-decoration:none; }
.mp-crumbs a:hover{ color:#fff; }

/* ---------- Sections ---------- */
.mp-sec{ position:relative; overflow:hidden; }
.pad-none{ padding:0; } .pad-sm{ padding:2rem 0; } .pad-md{ padding:3rem 0; }
.pad-lg{ padding:clamp(3rem, 2rem + 4vw, 5rem) 0; } .pad-xl{ padding:clamp(4rem, 2.5rem + 6vw, 7.5rem) 0; }
.sec-white{ background:#fff; }
.sec-light{ background:var(--mp-ice); }
.sec-blue{ background:linear-gradient(100deg, var(--mp-royal), var(--mp-blue)); color:#fff; }
.sec-navy{ background:var(--mp-navy); color:#fff; }
.sec-pattern{ background:linear-gradient(115deg, var(--mp-navy) 0%, var(--mp-royal) 60%, var(--mp-royal-2) 100%); color:#fff; }
.sec-pattern .mp-hero-tris{ opacity:.4; }
.sec-blue h2,.sec-blue h3,.sec-navy h2,.sec-navy h3,.sec-pattern h2,.sec-pattern h3{ color:#fff; }
.mp-narrow{ max-width:960px; }
.mp-sec-head{ max-width:760px; margin:0 auto 2.75rem; }
.mp-sec-head:not(.text-center){ margin-left:0; }
.mp-sec-head h2{ margin:.35rem 0 .6rem; }
.mp-sec-intro{ color:var(--mp-muted); font-size:1.1rem; margin:0; }
.sec-pattern .mp-sec-intro, .sec-blue .mp-sec-intro{ color:rgba(255,255,255,.8); }
.mp-eyebrow{ display:inline-flex; align-items:center; gap:.55rem; font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--mp-blue); }
.mp-eyebrow::before{ content:''; width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-bottom:10px solid currentColor; }
.mp-eyebrow-light, .sec-pattern .mp-eyebrow, .sec-blue .mp-eyebrow, .sec-navy .mp-eyebrow{ color:#9db4ff; }
.mp-heading h2{ margin:.35rem 0 1rem; }
.mp-lead{ font-size:1.18rem; color:var(--mp-muted); line-height:1.65; }
.mp-prose > :last-child{ margin-bottom:0; }
.mp-prose p{ margin-bottom:1rem; }
.mp-prose .mp-lead{ color:var(--mp-ink); font-weight:500; }
.mp-note{ color:var(--mp-muted); font-size:.95rem; margin-top:1rem; }

/* ---------- Buttons ---------- */
.mp-btns{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }
.mp-btns:first-child{ margin-top:0; }
.mp-btn-primary, .mp-btn-outline, .mp-btn-light, .mp-btn-ghost{ font-weight:700; border-radius:999px; padding:.7rem 1.45rem; display:inline-flex; align-items:center; gap:.5rem;
  transition:transform .2s, background .2s, color .2s, box-shadow .2s; }
.mp-btn-primary{ background:var(--mp-blue); color:#fff; border:2px solid var(--mp-blue); box-shadow:0 10px 24px -12px var(--mp-blue); }
.mp-btn-primary:hover{ background:var(--mp-royal); border-color:var(--mp-royal); color:#fff; transform:translateY(-2px); }
.mp-btn-outline{ background:transparent; color:var(--mp-royal); border:2px solid var(--mp-royal); }
.mp-btn-outline:hover{ background:var(--mp-royal); color:#fff; transform:translateY(-2px); }
.mp-btn-light{ background:#fff; color:var(--mp-royal); border:2px solid #fff; }
.mp-btn-light:hover{ background:var(--mp-ice); color:var(--mp-royal); transform:translateY(-2px); }
.mp-btn-ghost{ background:rgba(255,255,255,.08); color:#fff; border:2px solid rgba(255,255,255,.55); }
.mp-btn-ghost:hover{ background:#fff; color:var(--mp-royal); transform:translateY(-2px); }
.btn-lg.mp-btn-primary, .btn-lg.mp-btn-outline, .btn-lg.mp-btn-light, .btn-lg.mp-btn-ghost{ padding:.85rem 1.75rem; font-size:1.02rem; }

/* ---------- Images ---------- */
.mp-img{ margin:0; }
.mp-img img{ display:block; width:100%; }
.mp-img-frame img{ border-radius:var(--mp-radius); box-shadow:var(--mp-shadow); object-fit:cover; aspect-ratio:4/3; }
.mp-img-contain{ background:radial-gradient(circle at 50% 45%, #fff 0%, var(--mp-ice) 70%); border-radius:var(--mp-radius); padding:clamp(1rem, 3vw, 2.5rem); }
.mp-img-contain img{ max-height:420px; object-fit:contain; margin:0 auto; }
.sec-light .mp-img-contain{ background:#fff; }
.mp-img figcaption{ margin-top:.75rem; font-weight:700; color:var(--mp-muted); font-size:.95rem; }

/* ---------- Cards ---------- */
.mp-card{ height:100%; display:flex; flex-direction:column; background:#fff; border:1px solid var(--mp-line); border-radius:var(--mp-radius);
  overflow:hidden; color:var(--mp-ink); text-decoration:none; transition:transform .25s, box-shadow .25s, border-color .25s; }
.sec-light .mp-card{ border-color:transparent; box-shadow:var(--mp-shadow-sm); }
.mp-card.is-link:hover{ transform:translateY(-6px); box-shadow:var(--mp-shadow); border-color:transparent; color:var(--mp-ink); }
.mp-card-img{ background:var(--mp-ice); aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; }
.mp-card-img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.mp-card.is-link:hover .mp-card-img img{ transform:scale(1.05); }
.mp-card-body{ padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.mp-card-body h3{ margin:0 0 .35rem; font-size:1.12rem; }
.mp-card-sub{ color:var(--mp-muted); font-weight:600; font-size:.92rem; margin:0; }
.mp-card-text{ color:var(--mp-muted); font-size:.96rem; margin:.4rem 0 0; }
.mp-card-text p{ margin-bottom:.5rem; }
.mp-card-eyebrow{ font-size:.75rem; font-weight:800; letter-spacing:.14em; color:var(--mp-blue); text-transform:uppercase; margin-bottom:.4rem; }
.mp-card-more{ margin-top:auto; padding-top:.9rem; font-weight:700; font-size:.9rem; color:var(--mp-blue); }
.mp-card-links{ margin-top:auto; padding-top:1rem; display:flex; flex-wrap:wrap; gap:.4rem .9rem; }
.mp-card-links a{ font-weight:700; font-size:.9rem; text-decoration:none; }
.mp-card-links a:hover{ text-decoration:underline; }
/* product + equipment: show the whole product on a soft tile */
.mp-cards-product .mp-card-img, .mp-cards-equipment .mp-card-img, .mp-cards-plain .mp-card-img, .mp-cards-doc .mp-card-img{
  background:radial-gradient(circle at 50% 40%, #fff 0%, var(--mp-ice) 80%); padding:1.1rem; }
.mp-cards-product .mp-card-img img, .mp-cards-equipment .mp-card-img img, .mp-cards-plain .mp-card-img img{ object-fit:contain; }
.mp-cards-equipment .mp-card-body{ padding:1rem 1.2rem 1.2rem; }
.mp-cards-equipment .mp-card-body h3{ font-size:1rem; margin:0; }
.mp-cards-doc .mp-card-img{ aspect-ratio:3/4; }
.mp-cards-doc .mp-card-img img{ object-fit:contain; box-shadow:var(--mp-shadow-sm); border-radius:6px; }
.mp-cards-location .mp-card-img{ aspect-ratio:16/10; }
/* people */
.mp-cards-person .mp-card{ text-align:center; }
.mp-cards-person .mp-card-img{ aspect-ratio:1/1; }
.mp-cards-person .mp-card-img img{ object-position:center 25%; }
.mp-avatar{ background:linear-gradient(135deg, var(--mp-royal), var(--mp-bright)); }
.mp-avatar span{ color:#fff; font-weight:800; font-size:clamp(2.2rem, 5vw, 3.2rem); letter-spacing:.02em; }
/* feature (numbered) + value cards */
.mp-cards-feature .mp-card, .mp-cards-value .mp-card{ padding:0; }
.mp-cards-feature .mp-card-body{ padding:1.6rem; }
.mp-cards-feature .mp-card-eyebrow{ font-size:1.6rem; letter-spacing:0; color:var(--mp-ice-2); -webkit-text-stroke:1.5px var(--mp-bright); }
.mp-cards-feature .mp-card-img{ aspect-ratio:16/9; }
.mp-card-icon{ width:56px; height:56px; margin:1.6rem 1.6rem 0; border-radius:16px; display:grid; place-items:center; font-size:1.5rem; color:#fff;
  background:linear-gradient(135deg, var(--mp-royal), var(--mp-bright)); box-shadow:0 10px 24px -12px var(--mp-blue); }
.mp-cards-value .mp-card-body{ padding:1.1rem 1.6rem 1.6rem; }
@media (min-width:992px){ .mp-cards-value.row-cols-lg-5 > *{ flex:0 0 20%; max-width:20%; } }

/* ---------- Lists / chips ---------- */
.mp-checklist{ list-style:none; padding:0; margin:0; display:grid; gap:.7rem; }
.mp-checklist.two-col{ grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); column-gap:2rem; }
.mp-checklist li{ display:flex; gap:.8rem; align-items:flex-start; background:#fff; border-radius:var(--mp-radius-sm); padding:.9rem 1.1rem;
  box-shadow:var(--mp-shadow-sm); font-weight:600; line-height:1.45; }
.sec-white .mp-checklist li{ background:var(--mp-ice); box-shadow:none; }
.mp-checklist i{ color:var(--mp-blue); font-size:1.25rem; line-height:1.1; }
.mp-list-title{ margin-bottom:1rem; }
.mp-chips-title{ font-size:.8rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--mp-muted); margin:1rem 0 .8rem; }
.mp-chips{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.5rem; }
.mp-chips li{ background:#fff; border:1.5px solid var(--mp-line); border-radius:999px; padding:.4rem .95rem; font-weight:700; font-size:.92rem; color:var(--mp-royal); }
.sec-white .mp-chips li{ background:var(--mp-ice); border-color:transparent; }

/* ---------- Stats ---------- */
.mp-stats{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:1.5rem; text-align:center; }
.mp-stat-num{ font-size:clamp(2.2rem, 1.6rem + 2vw, 3.2rem); font-weight:800; letter-spacing:-.03em; line-height:1; }
.mp-stat-lbl{ margin-top:.45rem; font-weight:600; opacity:.85; font-size:.95rem; }

/* ---------- CTA ---------- */
.mp-cta{ text-align:center; max-width:760px; margin:0 auto; }
.mp-cta h2{ color:#fff; margin:.5rem 0 .8rem; }
.mp-cta p{ color:rgba(255,255,255,.82); font-size:1.12rem; }
.mp-cta .mp-btns{ justify-content:center; }

/* ---------- Quote ---------- */
.mp-quote{ margin:0; position:relative; }
.mp-quote > i{ font-size:4rem; line-height:1; color:var(--mp-bright); opacity:.5; display:block; margin-bottom:-.5rem; }
.mp-quote blockquote{ margin:0; font-size:clamp(1.08rem, 1rem + .35vw, 1.3rem); line-height:1.7; font-weight:500; }
.mp-quote blockquote p{ margin-bottom:1.1rem; }
.mp-quote figcaption{ margin-top:1rem; font-weight:800; }
.mp-quote figcaption::before{ content:'— '; }
.sec-pattern .mp-quote blockquote{ color:rgba(255,255,255,.92); }
.sec-pattern .mp-quote figcaption{ color:#fff; }
.sec-white .mp-quote blockquote{ color:var(--mp-navy); font-size:clamp(1.2rem, 1rem + .9vw, 1.7rem); font-weight:700; letter-spacing:-.01em; }

/* ---------- Video (click to load) ---------- */
.mp-video-btn{ position:relative; display:block; width:100%; padding:0; border:0; background:#000; border-radius:var(--mp-radius); overflow:hidden;
  aspect-ratio:16/9; box-shadow:var(--mp-shadow); cursor:pointer; }
.mp-video-btn img{ width:100%; height:100%; object-fit:cover; opacity:.85; transition:opacity .3s, transform .5s; }
.mp-video-btn:hover img{ opacity:1; transform:scale(1.03); }
.mp-video-play{ position:absolute; inset:0; margin:auto; width:78px; height:78px; border-radius:50%; background:var(--mp-blue); color:#fff;
  display:grid; place-items:center; font-size:2.4rem; box-shadow:0 0 0 12px rgba(50,105,255,.3); transition:transform .25s; }
.mp-video-btn:hover .mp-video-play{ transform:scale(1.08); }
.mp-video iframe{ width:100%; aspect-ratio:16/9; border:0; border-radius:var(--mp-radius); box-shadow:var(--mp-shadow); display:block; }
.mp-video-cap{ margin:.8rem 0 0; font-weight:700; color:var(--mp-muted); font-size:.92rem; }

/* ---------- Form ---------- */
.mp-form{ background:#fff; border-radius:var(--mp-radius); padding:clamp(1.3rem, 3vw, 2.2rem); box-shadow:var(--mp-shadow); }
.mp-form .form-label{ font-weight:700; font-size:.9rem; margin-bottom:.35rem; }
.mp-form .form-control, .mp-form .form-select{ border-radius:12px; border:1.5px solid var(--mp-line); padding:.7rem .95rem; }
.mp-form .form-control:focus, .mp-form .form-select:focus{ border-color:var(--mp-bright); box-shadow:0 0 0 .2rem rgba(50,105,255,.18); }
.mp-hp{ position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }
.mp-thanks{ display:flex; gap:1rem; align-items:flex-start; background:#fff; border-radius:var(--mp-radius); padding:2rem; box-shadow:var(--mp-shadow); }
.mp-thanks > i{ font-size:2.4rem; color:#1fa463; line-height:1; }
.mp-thanks h3{ margin:0 0 .3rem; }
.mp-thanks p{ margin:0; color:var(--mp-muted); }
.htmx-request .mp-btn-primary{ opacity:.6; pointer-events:none; }

/* ---------- Footer ---------- */
.mp-footer{ position:relative; overflow:hidden; background:linear-gradient(120deg, var(--mp-navy) 0%, var(--mp-navy-2) 50%, var(--mp-royal) 100%);
  color:rgba(255,255,255,.78); padding:5rem 0 2rem; font-size:.95rem; }
.mp-footer-pattern{ position:absolute; inset:0; background:url('../img/tris.svg') left top / 640px repeat; opacity:.55;
  -webkit-mask-image:linear-gradient(90deg, #000, transparent 55%); mask-image:linear-gradient(90deg, #000, transparent 55%); }
.mp-foot-blurb{ max-width:380px; }
.mp-foot-head{ color:#fff; font-size:.8rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:1.1rem; }
.mp-foot-links{ list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.mp-foot-links a, .mp-foot-locs a{ color:rgba(255,255,255,.82); text-decoration:none; }
.mp-foot-links a:hover, .mp-foot-locs a:hover{ color:#fff; text-decoration:underline; }
.mp-foot-locs{ list-style:none; padding:0; margin:0; display:grid; gap:1rem; line-height:1.55; }
.mp-foot-locs strong{ color:#fff; }
.mp-social{ display:flex; gap:.6rem; }
.mp-social a{ width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.1); color:#fff; font-size:1.1rem; text-decoration:none; }
.mp-social a:hover{ background:var(--mp-bright); color:#fff; }
.mp-foot-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; border-top:1px solid rgba(255,255,255,.14);
  margin-top:3.5rem; padding-top:1.6rem; font-size:.85rem; color:rgba(255,255,255,.6); }

/* ---------- Scroll reveal (only when JS is running) ---------- */
html.mp-anim .mp-reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
html.mp-anim .mp-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  html.mp-anim .mp-reveal{ opacity:1; transform:none; }
}
