/* =========================================================================
   MartGain Home v2 — scoped to body.mghv2
   Tokens: G2 design system (black/charcoal/white + MartGain green)
   ========================================================================= */
:root{
  --mg-surface:#050505; --mg-raised:#0e0e0e; --mg-sunken:#000; --mg-card:#111;
  --mg-ink:#fff; --mg-muted:#9a9a9a; --mg-faint:#7d7d7d;
  --mg-line:#232323; --mg-line-2:#3a3a3a;
  --mg-g:#8bc05a; --mg-g-2:#a7d47c; --mg-g-ink:#8bc05a; --mg-on-g:#050505;
  --mg-g-soft:rgba(139,192,90,.12); --mg-g-glow:rgba(139,192,90,.35);
  --mg-scrim:rgba(5,5,5,.72); --mg-paper:#f4f4ef;
  --mg-font: "Tajawal", "DM Sans", system-ui, sans-serif;
  --mg-display: "Tajawal", "Syne", system-ui, sans-serif;
  --mg-latin: "Syne", "DM Sans", system-ui, sans-serif;
  --mg-shell:1280px; --mg-gut:clamp(16px,4.5vw,64px);
  --mg-r-sm:10px; --mg-r:18px; --mg-r-lg:28px;
  --mg-ease:cubic-bezier(.2,.7,.2,1); --mg-ease-o:cubic-bezier(.16,1,.3,1);
  --mg-fast:.18s; --mg-base:.45s; --mg-scene:.9s;
  --hairline-plate:#0b0c0b; --hairline-hi:#8bc05a; --hairline-edge:#6a7a5c; --hairline-mid:#3b4434; --hairline-lo:#232821;
  color-scheme:dark;
}
html[lang="en"]{ --mg-font:"DM Sans", system-ui, sans-serif; --mg-display:"Syne","DM Sans",system-ui,sans-serif; }
html[data-theme="light"]{
  --mg-surface:#fff; --mg-raised:#f5f5f2; --mg-sunken:#ecece8; --mg-card:#fff;
  --mg-ink:#050505; --mg-muted:#555; --mg-faint:#6e6e6e;
  --mg-line:#e3e3df; --mg-line-2:#c9c9c4;
  --mg-g:#7fb34d; --mg-g-2:#6a9e3a; --mg-g-ink:#3f6e1c; --mg-on-g:#050505;
  --mg-g-soft:rgba(127,179,77,.14); --mg-g-glow:rgba(127,179,77,.3);
  --mg-scrim:rgba(255,255,255,.78);
  --hairline-plate:#ffffff; --hairline-hi:#2f5d12; --hairline-edge:#8fa37c; --hairline-mid:#c2ccb8; --hairline-lo:#e2e8dc;
  color-scheme:light;
}

/* ---------- base ---------- */
body.mghv2{margin:0;background:var(--mg-surface);color:var(--mg-ink);font:400 17px/1.7 var(--mg-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;transition:background-color var(--mg-base),color var(--mg-base)}
:where(.mghv2) *,:where(.mghv2) *::before,:where(.mghv2) *::after{box-sizing:border-box}
:where(.mghv2) img{max-width:100%;display:block;height:auto}
:where(.mghv2) a{color:inherit;text-decoration:none}
:where(.mghv2) button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
:where(.mghv2) :is(ul,ol){list-style:none;margin:0;padding:0}
:where(.mghv2) :is(h1,h2,h3,p,figure,blockquote){margin:0}
.mghv2 :focus-visible{outline:2px solid var(--mg-g);outline-offset:3px;border-radius:6px}
.mghv2 ::selection{background:var(--mg-g);color:#050505}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.mg-skip{position:fixed;inset-inline-start:12px;top:-60px;z-index:200;background:var(--mg-g);color:#050505;padding:10px 16px;border-radius:10px;font-weight:700;transition:top .2s}
.mg-skip:focus{top:12px}
.mg-shell{width:100%;max-width:var(--mg-shell);margin-inline:auto;padding-inline:var(--mg-gut)}
.mg-grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:mg-grain 8s steps(8) infinite}
html[data-theme="light"] .mg-grain{opacity:.035}
@keyframes mg-grain{0%,100%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}

/* icons + stroke draw */
.ico{width:20px;height:20px;flex:none;stroke-width:1.75}
.ico :is(path,circle,line,rect,polyline,polygon,ellipse){stroke-dasharray:1 1.001;stroke-dashoffset:0}
[dir="rtl"] .ico.flip{transform:scaleX(-1)}
@keyframes mg-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.mg-draw-on:hover .ico :is(path,circle,line,rect,polyline,polygon,ellipse),
.mg-card__a:hover .mg-ico-tile .ico *, .mg-track:hover .ico *, .mg-pack a:hover .ico *, .mg-lane:hover .mg-ico-tile .ico *,
.mg-mega__item:hover .ico *, .mg-pcard__front:hover .mg-ico-tile .ico *{animation:mg-draw .9s var(--mg-ease) both}

/* typography */
.mg-kicker{display:inline-flex;align-items:center;gap:.6rem;font:600 13px/1.4 var(--mg-font);letter-spacing:.06em;text-transform:uppercase;color:var(--mg-muted);margin-bottom:1.1rem}
.mg-kicker::before{content:"";width:2.4rem;height:2px;background:var(--mg-g);border-radius:2px}
.mg-kicker:has(.mg-dot)::before,.mg-builder .mg-kicker::before,.mg-lanes .mg-kicker::before{display:none}
.mg-kicker .ico{width:16px;height:16px;color:var(--mg-g-ink)}
.mg-dot{width:8px;height:8px;border-radius:50%;background:var(--mg-g);box-shadow:0 0 0 0 var(--mg-g-glow);animation:mg-ping 2.4s infinite}
@keyframes mg-ping{0%{box-shadow:0 0 0 0 var(--mg-g-glow)}70%,100%{box-shadow:0 0 0 12px transparent}}
.mg-h1{font:800 clamp(2.5rem,5.2vw,4.6rem)/1.06 var(--mg-display);letter-spacing:-.025em;margin-bottom:1.6rem}
html[lang="ar"] .mg-h1{margin-bottom:2.2rem}
html[lang="ar"] .mg-h1{line-height:1.2;letter-spacing:0}
.mg-h2{font:800 clamp(2.1rem,4.6vw,4rem)/1.08 var(--mg-display);letter-spacing:-.02em;margin-bottom:1.2rem}
html[lang="ar"] .mg-h2{line-height:1.25;letter-spacing:0}
.mg-h1 em,.mg-h2 em{font-style:normal;color:var(--mg-g-ink);position:relative}
.mg-h1 em .mg-w>span,.mg-h2 em .mg-w>span{color:var(--mg-g-ink)}
.mg-lead{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--mg-muted);max-width:40rem;margin-bottom:2rem}
.mg-body{color:var(--mg-muted);max-width:40rem;font-size:clamp(1rem,1.25vw,1.12rem)}
.mg-small{font-size:.92rem;color:var(--mg-muted)}
.mg-note{font-size:.82rem;color:var(--mg-faint);margin-top:.9rem}
.mg-link{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--mg-g-ink);border-bottom:1px solid transparent;transition:border-color var(--mg-fast),gap var(--mg-fast)}
.mg-link:hover{border-color:currentColor;gap:.65rem}
.mg-link .ico{width:16px;height:16px}

/* split words (JS adds .mg-w) */
.mg-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-block:.06em;margin-block:-.06em}
.mg-w>span{display:inline-block;will-change:transform}

/* buttons */
.mg-ctas{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.mg-btn{--h:52px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--h);padding:0 1.4rem;border-radius:999px;font-weight:700;font-size:1rem;line-height:1;border:1px solid var(--mg-line-2);overflow:hidden;isolation:isolate;transition:transform var(--mg-fast) var(--mg-ease),border-color var(--mg-fast),background-color var(--mg-fast),color var(--mg-fast);will-change:transform}
.mg-btn .ico{width:18px;height:18px;transition:transform var(--mg-base) var(--mg-ease)}
.mg-btn:hover .ico{transform:translate(2px,-2px)}
[dir="rtl"] .mg-btn:hover .ico.flip{transform:scaleX(-1) translate(2px,-2px)}
.mg-btn--green{background:var(--mg-g);border-color:var(--mg-g);color:var(--mg-on-g)}
.mg-btn--green::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--mg-ease)}
.mg-btn--green:hover::after{transform:translateX(120%)}
.mg-btn--ghost{background:transparent;color:var(--mg-ink)}
.mg-btn--ghost:hover{border-color:var(--mg-g);color:var(--mg-g-ink)}
.mg-btn--sm{--h:42px;padding:0 1.05rem;font-size:.92rem}
.mg-btn--xl{--h:60px;padding:0 1.8rem;font-size:1.05rem}
.mg-arrow{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--mg-line-2);flex:none;transition:background var(--mg-fast),border-color var(--mg-fast),color var(--mg-fast),transform var(--mg-base) var(--mg-ease)}
.mg-arrow .ico{width:16px;height:16px}
.mg-ico-tile{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--mg-g-soft);color:var(--mg-g-ink);flex:none;transition:background var(--mg-fast),color var(--mg-fast),transform var(--mg-base) var(--mg-ease)}
.mg-ico-tile--lg{width:52px;height:52px;border-radius:14px}
.mg-ico-tile--lg .ico{width:24px;height:24px}

/* duotone imagery */
.duo{filter:grayscale(1) contrast(1.08) brightness(.82);transition:filter var(--mg-scene) var(--mg-ease),transform 1.2s var(--mg-ease)}
.mg-tint{position:relative;isolation:isolate}
.mg-tint::after{content:"";position:absolute;inset:0;background:var(--mg-g);mix-blend-mode:multiply;opacity:.55;pointer-events:none}

/* reveal base (JS-driven; visible without JS) */
.js .mg-rv{opacity:0;transform:translateY(28px)}
.js .mg-rv.is-in{opacity:1;transform:none;transition:opacity .9s var(--mg-ease-o),transform .9s var(--mg-ease-o)}

/* ======================= HERO ======================= */
.mg-hero{position:relative;padding-block:clamp(2.5rem,6vw,5rem) clamp(3rem,6vw,5rem);overflow:hidden;isolation:isolate}
.mg-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(60% 50% at var(--mx,70%) var(--my,30%),var(--mg-g-soft),transparent 70%);transition:background .2s}
.mg-beams{position:absolute;inset:0;z-index:-1;display:flex;justify-content:space-around;pointer-events:none;-webkit-mask:linear-gradient(transparent,#000 20%,#000 70%,transparent);mask:linear-gradient(transparent,#000 20%,#000 70%,transparent)}
.mg-beams i{position:relative;width:1px;height:100%;background:var(--mg-line);overflow:hidden}
.mg-beams i::after{content:"";position:absolute;inset-inline:0;top:-30%;height:30%;background:linear-gradient(transparent,var(--mg-g),transparent);animation:mg-beam 7s linear infinite}
.mg-beams i:nth-child(2)::after{animation-delay:-2s;animation-duration:9s}.mg-beams i:nth-child(3)::after{animation-delay:-4.5s}.mg-beams i:nth-child(4)::after{animation-delay:-1s;animation-duration:11s}.mg-beams i:nth-child(5)::after{animation-delay:-6s}
@keyframes mg-beam{to{top:130%}}
.mg-hero__grid{display:grid;gap:clamp(2rem,4vw,4rem);align-items:center}
@media (min-width:1024px){.mg-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.mg-slogans{display:flex;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--mg-line);max-width:34rem}
.mg-slogans__bar{width:4px;align-self:stretch;border-radius:4px;background:var(--mg-g)}
.mg-slogans__rot{position:relative;height:2.2em;flex:1;font:700 clamp(1.1rem,1.6vw,1.35rem)/2.2em var(--mg-display);overflow:hidden}
.mg-slogans__rot span{position:absolute;inset:0;white-space:nowrap;opacity:0;transform:translateY(100%);transition:transform .7s var(--mg-ease-o),opacity .5s}
.mg-slogans__rot span.is-on{opacity:1;transform:none}
.mg-slogans__rot span.is-out{opacity:0;transform:translateY(-100%)}

.mg-hero__visual{display:grid;gap:.75rem;min-width:0}
.mg-hv{position:relative;aspect-ratio:6/5;width:100%;border-radius:var(--mg-r-lg);overflow:hidden;background:var(--mg-raised);border:1px solid var(--mg-line)}
.mg-hv__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;transform:scale(1.08)}
html[data-theme="light"] .mg-hv__bg{opacity:.1}
.mg-hv__grid{position:absolute;inset:0;background-image:linear-gradient(var(--mg-line) 1px,transparent 1px),linear-gradient(90deg,var(--mg-line) 1px,transparent 1px);background-size:40px 40px;-webkit-mask:radial-gradient(circle at 50% 45%,#000,transparent 70%);mask:radial-gradient(circle at 50% 45%,#000,transparent 70%);opacity:.5}
.mg-hv__slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;visibility:hidden;transition:opacity .8s var(--mg-ease),visibility 0s .8s}
.mg-hv__slide.is-on{opacity:1;visibility:visible;transition:opacity .8s var(--mg-ease)}
.mg-hv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 6s linear,filter var(--mg-scene)}
.mg-hv__slide.is-on .mg-hv__img{transform:scale(1)}
.mg-hv__fig{position:absolute;inset:4% 12% 26%;margin:auto;max-width:460px;transform:translateY(16px) scale(.96);opacity:0;transition:transform 1s var(--mg-ease-o),opacity .8s}
.mg-hv__slide.is-on .mg-hv__fig{transform:none;opacity:1}
.mg-hv__fig[data-hairline]{aspect-ratio:auto}
.mg-hv__cap{position:relative;z-index:2;margin:.8rem;padding:.8rem 1rem;border-radius:var(--mg-r);background:var(--mg-scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--mg-line);transform:translateY(12px);opacity:0;transition:transform .8s .15s var(--mg-ease-o),opacity .6s .15s}
.mg-hv__slide.is-on .mg-hv__cap{transform:none;opacity:1}
.mg-hv__cap p{font-size:.93rem;line-height:1.55;margin:.25rem 0 .45rem}
.mg-hv__no{font:700 .78rem var(--mg-latin);letter-spacing:.12em;color:var(--mg-g-ink)}
.mg-hv__hint{position:absolute;top:1rem;inset-inline-end:1rem;z-index:2;font-size:.75rem;color:var(--mg-faint);padding:.3rem .65rem;border:1px solid var(--mg-line);border-radius:999px;background:var(--mg-scrim)}
.mg-tracks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;padding:.4rem;border-radius:var(--mg-r-lg);background:var(--mg-raised);border:1px solid var(--mg-line)}
.mg-tracks__t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.mg-track{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:.75rem .35rem 1.15rem;border-radius:16px;text-align:center;font-weight:700;font-size:.82rem;line-height:1.3;color:var(--mg-muted);border:1px solid transparent;overflow:hidden;transition:color var(--mg-fast),background var(--mg-fast),border-color var(--mg-fast)}
.mg-track__ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid var(--mg-line-2);flex:none;transition:background var(--mg-fast),color var(--mg-fast),border-color var(--mg-fast)}
.mg-track__ico .ico{width:19px;height:19px}
.mg-track:hover{color:var(--mg-ink)}
.mg-track.is-on{color:var(--mg-ink);background:var(--mg-g-soft);border-color:color-mix(in srgb,var(--mg-g) 35%,transparent)}
.mg-track.is-on .mg-track__ico{background:var(--mg-g);border-color:var(--mg-g);color:#050505}
.mg-track__bar{position:absolute;inset-inline:.9rem;bottom:5px;height:2px;border-radius:2px;overflow:hidden;opacity:0}
.mg-track.is-on .mg-track__bar{opacity:1}
.mg-track__bar i{display:block;height:100%;background:var(--mg-g);transform-origin:left;transform:scaleX(0)}
[dir="rtl"] .mg-track__bar i{transform-origin:right}
.mg-track.is-on .mg-track__bar i{animation:mg-fill var(--mg-dur,7s) linear forwards}
.mg-tracks.is-paused .mg-track__bar i{animation-play-state:paused}
@keyframes mg-fill{to{transform:scaleX(1)}}
@media (max-width:560px){.mg-tracks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.mg-tracks::-webkit-scrollbar{display:none}.mg-track{flex:0 0 31%;scroll-snap-align:start}}

/* ======================= MARQUEE ======================= */
.mg-marquee{padding-block:1.6rem;border-block:1px solid var(--mg-line);background:var(--mg-raised);overflow:hidden;display:grid;gap:.9rem;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mg-marquee__row{direction:ltr;overflow:hidden}
.mg-marquee__track{display:flex;width:max-content;animation:mg-marq 140s linear infinite}
.mg-marquee__row.is-rev .mg-marquee__track{animation-direction:reverse;animation-duration:160s}
.mg-marquee:hover .mg-marquee__track{animation-play-state:paused}
.mg-marquee__list{display:flex;flex:none}
.mg-marquee__list li{display:inline-flex;align-items:center;gap:.9rem;padding-inline:1.1rem;font:700 clamp(1.05rem,2vw,1.5rem)/1.3 var(--mg-display);white-space:nowrap;color:var(--mg-muted);transition:color var(--mg-fast)}
.mg-marquee__list li:hover{color:var(--mg-ink)}
html[lang="ar"] .mg-marquee__list li{direction:rtl}
.mg-marquee__g{display:grid;place-items:center;width:1.4em;height:1.4em;border-radius:.4em;background:var(--mg-g-soft);color:var(--mg-g-ink);font:800 .62em var(--mg-latin)}
@keyframes mg-marq{to{transform:translateX(-50%)}}

/* ======================= SECTIONS ======================= */
.mg-sec{position:relative;padding-block:clamp(4.5rem,9vw,8.5rem)}
.mg-sec--ink{background:#050505;color:#fff;--mg-ink:#fff;--mg-muted:#a3a3a3;--mg-line:#222;--mg-line-2:#3a3a3a;--mg-raised:#0e0e0e;--mg-scrim:rgba(5,5,5,.7);--mg-g:#8bc05a;--mg-g-ink:#8bc05a}
.mg-split{display:grid;gap:clamp(2.5rem,5vw,5rem);align-items:center}
@media (min-width:1024px){.mg-split{grid-template-columns:1fr 1fr}.mg-split--rev>:first-child{order:2}}
.mg-sechead{display:grid;gap:1.5rem 4rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}
@media (min-width:1024px){.mg-sechead{grid-template-columns:1.1fr .9fr}}
.mg-sechead__side{display:grid;gap:1.4rem}
.mg-panel{border-radius:var(--mg-r-lg);background:var(--mg-raised);border:1px solid var(--mg-line);overflow:hidden}
.mg-panel__bar{display:flex;align-items:center;gap:6px;padding:.85rem 1rem;border-bottom:1px solid var(--mg-line);font:600 .72rem var(--mg-latin);letter-spacing:.12em;color:var(--mg-faint)}
.mg-panel__bar i{width:9px;height:9px;border-radius:50%;background:var(--mg-line-2)}
.mg-panel__bar i:first-child{background:var(--mg-g)}
.mg-panel__bar span{margin-inline-start:auto;direction:ltr}

/* ---- about ---- */
.mg-about{background:var(--mg-raised)}
.mg-collage{position:relative;min-height:560px}
.mg-collage__f{position:absolute;border-radius:var(--mg-r-lg);overflow:hidden;border:1px solid var(--mg-line);background:var(--mg-card);box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.mg-collage__f img{width:100%;height:100%;object-fit:cover}
.mg-collage__f:hover img{filter:grayscale(0) contrast(1.05) brightness(.95);transform:scale(1.05)}
.mg-collage__f figcaption{position:absolute;inset-inline-start:.8rem;bottom:.8rem;padding:.35rem .7rem;border-radius:999px;background:var(--mg-scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.78rem;font-weight:700}
.mg-collage__f--1{inset-inline-start:0;top:0;width:58%;height:68%}
.mg-collage__f--2{inset-inline-end:0;top:10%;width:38%;height:44%}
.mg-collage__f--3{inset-inline-end:6%;bottom:0;width:52%;height:36%}
.mg-collage__f--3 figcaption{inset-inline-start:auto;inset-inline-end:.8rem}
.mg-quote{position:absolute;inset-inline-start:4%;bottom:2%;width:44%;padding:1.1rem 1.2rem;border-radius:var(--mg-r);background:var(--mg-g);color:#050505;transform:rotate(-2deg);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.mg-quote__mark{font:800 3rem/0.6 var(--mg-latin);display:block;margin-bottom:.4rem}
.mg-quote p{font-weight:700;line-height:1.5;font-size:.98rem}
.mg-quote cite{display:block;margin-top:.5rem;font-style:normal;font-size:.8rem;opacity:.75}
@media (max-width:640px){.mg-collage{min-height:460px}.mg-quote{width:70%}}
.mg-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:clamp(3rem,6vw,5rem);border:1px solid var(--mg-line);border-radius:var(--mg-r-lg);overflow:hidden;background:var(--mg-line)}
@media (min-width:768px){.mg-stats{grid-template-columns:repeat(4,1fr)}}
.mg-stats li{background:var(--mg-raised);padding:1.5rem 1.3rem;display:grid;gap:.3rem}
.mg-stats li:last-child:nth-child(odd){grid-column:1/-1}
@media (min-width:768px){.mg-stats li:last-child:nth-child(odd){grid-column:auto}}
.mg-stats b{font:800 clamp(2.2rem,4vw,3.4rem)/1 var(--mg-latin);color:var(--mg-ink)}
.mg-stats b span{color:var(--mg-g-ink)}
.mg-stats li>span{color:var(--mg-muted);font-size:.92rem}

/* ---- services ---- */
.mg-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.mg-card{position:relative;border-radius:var(--mg-r-lg);background:var(--mg-line);padding:1px;isolation:isolate;--gx:50%;--gy:50%}
.mg-card::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:radial-gradient(240px circle at var(--gx) var(--gy),var(--mg-g),transparent 60%);opacity:0;transition:opacity .4s}
.mg-cards:hover .mg-card::before{opacity:1}
.mg-card__a{position:relative;display:flex;flex-direction:column;gap:.8rem;height:100%;padding:1.4rem;border-radius:calc(var(--mg-r-lg) - 1px);background:var(--mg-card);overflow:hidden;transition:transform var(--mg-base) var(--mg-ease)}
.mg-card__a::after{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--gx) var(--gy),var(--mg-g-soft),transparent 45%);opacity:0;transition:opacity .4s;pointer-events:none}
.mg-card:hover .mg-card__a::after{opacity:1}
.mg-card:hover .mg-card__a{transform:translateY(-4px)}
.mg-card__top{display:flex;justify-content:space-between;align-items:flex-start}
.mg-card__no{font:700 .8rem var(--mg-latin);color:var(--mg-faint);letter-spacing:.1em}
.mg-card h3{font:800 1.3rem/1.3 var(--mg-display)}
.mg-card p{color:var(--mg-muted);font-size:.95rem;line-height:1.6}
.mg-card__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}
.mg-card__chips span{font-size:.76rem;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--mg-line-2);color:var(--mg-muted);line-height:1.4}
.mg-card__foot{display:flex;align-items:center;justify-content:space-between;padding-top:.9rem;border-top:1px solid var(--mg-line);font-size:.9rem;color:var(--mg-muted)}
.mg-card__foot b{color:var(--mg-ink);font:800 1.15rem var(--mg-latin)}
.mg-card:hover .mg-arrow,.mg-lane:hover .mg-arrow,.mg-pack a:hover .mg-arrow{background:var(--mg-g);border-color:var(--mg-g);color:#050505;transform:rotate(-45deg)}
[dir="rtl"] .mg-card:hover .mg-arrow,[dir="rtl"] .mg-lane:hover .mg-arrow,[dir="rtl"] .mg-pack a:hover .mg-arrow{transform:rotate(45deg)}
.mg-card:hover .mg-ico-tile{background:var(--mg-g);color:#050505;transform:rotate(-6deg)}
/* ---- "view all" card: black ticker card with odometer ---- */
.mg-card--all{background:linear-gradient(150deg,rgba(139,192,90,.6),#262626 34%,#1c1c1c)}
.mg-card--all .mg-card__a{--ax:calc(100% - 2.7rem);--ay:calc(100% - 2.7rem);gap:0;min-height:310px;justify-content:space-between;color:#fff;background:radial-gradient(120% 70% at 85% 0%,rgba(139,192,90,.12),transparent 60%),#060706;transition:transform var(--mg-base) var(--mg-ease),color .4s var(--mg-ease)}
[dir="rtl"] .mg-card--all .mg-card__a{--ax:2.7rem}
.mg-card--all .mg-card__a>span{position:relative;z-index:1}
.mg-card--all .mg-card__a>.mg-all__wipe{position:absolute;z-index:0;inset:0;background:#8bc05a;clip-path:circle(0 at var(--ax) var(--ay));transition:clip-path .8s var(--mg-ease-o);pointer-events:none}
.mg-card--all:hover .mg-card__a,.mg-card--all:focus-within .mg-card__a{color:#050505}
.mg-card--all:hover .mg-all__wipe,.mg-card--all:focus-within .mg-all__wipe{clip-path:circle(150% at var(--ax) var(--ay))}
.mg-all__top{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:.35rem}
.mg-all__num{display:block;direction:ltr;unicode-bidi:isolate;font:700 clamp(3.25rem,5.5vw,4.75rem)/1.1 var(--mg-latin);letter-spacing:-.02em;color:#8bc05a;font-variant-numeric:lining-nums;padding-block:.04em;transition:color .4s var(--mg-ease)}
.mg-card--all:hover .mg-all__num,.mg-card--all:focus-within .mg-all__num{color:#050505}
.mg-all__unit{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;font:700 .8rem/1.3 var(--mg-display);letter-spacing:.08em;text-transform:uppercase}
.mg-all__unit small{display:inline-flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:500;opacity:.55}
.mg-all__unit small::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}
.mg-all__tick{position:relative;flex:1 1 96px;min-height:96px;margin:.6rem 0 .7rem;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 26%,#000 74%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 26%,#000 74%,transparent)}
.mg-all__tickin{position:absolute;inset-inline:0;top:0;display:flex;flex-direction:column;animation:mg-tick 46s linear infinite}
.mg-all__lap{display:flex;flex-direction:column;gap:.6rem;padding-bottom:.6rem}
.mg-all__lap span{display:flex;gap:.65rem;align-items:baseline;font-size:.86rem;line-height:1.35;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-all__lap em{flex:none;min-width:2rem;font:800 .68rem var(--mg-latin);font-style:normal;letter-spacing:.06em;color:#8bc05a;transition:color .4s var(--mg-ease)}
.mg-card--all:hover .mg-all__lap em{color:#050505}
@keyframes mg-tick{to{transform:translateY(-50%)}}
.mg-all__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.1);transition:border-color .4s}
.mg-card--all:hover .mg-all__foot{border-color:rgba(0,0,0,.18)}
.mg-card--all h3{font:800 1.2rem/1.3 var(--mg-display);color:inherit}
.mg-card--all .mg-arrow{width:48px;height:48px;border-color:#3a3a3a;background:transparent;color:#8bc05a}
.mg-card--all .mg-arrow .ico{width:20px;height:20px}
.mg-card--all:hover .mg-arrow,.mg-card--all:focus-within .mg-arrow{background:#050505;border-color:#050505;color:#8bc05a;transform:rotate(-45deg) scale(1.06)}
[dir="rtl"] .mg-card--all:hover .mg-arrow,[dir="rtl"] .mg-card--all:focus-within .mg-arrow{transform:rotate(45deg) scale(1.06)}
.mg-card--all:hover .mg-ico-tile{transform:none}
.mg-lanes{display:grid;gap:.8rem;margin-top:1.4rem}
@media (min-width:900px){.mg-lanes{grid-template-columns:auto 1fr 1fr;align-items:center}}
.mg-lanes .mg-kicker{margin:0}
.mg-lane{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border-radius:var(--mg-r);border:1px solid var(--mg-line);transition:border-color var(--mg-fast),background var(--mg-fast)}
.mg-lane:hover{border-color:var(--mg-g);background:var(--mg-g-soft)}
.mg-lane>span:nth-child(2){flex:1;display:grid}
.mg-lane b{font-weight:800}
.mg-lane small{color:var(--mg-muted);font-size:.85rem;line-height:1.5}
.mg-lane__n{font:800 1.4rem var(--mg-latin);color:var(--mg-g-ink)}
/* ---- finder: two-pane section explorer ---- */
.mg-finder{--sx:14px;margin-top:clamp(2.5rem,5vw,4rem);padding:clamp(1rem,2.4vw,1.7rem);border-radius:var(--mg-r-lg);background:var(--mg-raised);border:1px solid var(--mg-line)}
[dir="rtl"] .mg-finder{--sx:-14px}
.mg-finder__head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.1rem}
.mg-finder__head h3{display:flex;align-items:center;gap:.6rem;font:800 1.35rem var(--mg-display)}
.mg-finder__head h3 .ico{color:var(--mg-g-ink)}
.mg-finder__in{position:relative;display:block;flex:1;max-width:440px;min-width:min(100%,240px)}
.mg-finder__in input{width:100%;height:50px;padding:0 3rem 0 1.1rem;padding-inline:1.1rem 3rem;border-radius:999px;border:1px solid var(--mg-line-2);background:var(--mg-surface);color:var(--mg-ink);font:inherit;font-size:1rem;outline:0;transition:border-color var(--mg-fast),box-shadow var(--mg-fast);-webkit-appearance:none;appearance:none}
.mg-finder__in input::-webkit-search-cancel-button{display:none}
.mg-finder__in input:focus{border-color:var(--mg-g);box-shadow:0 0 0 4px var(--mg-g-soft)}
.mg-finder__clear{position:absolute;inset-block:0;inset-inline-end:8px;margin-block:auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--mg-muted);transition:background var(--mg-fast),color var(--mg-fast)}
.mg-finder__clear[hidden]{display:none}
.mg-finder__clear:hover{background:var(--mg-g-soft);color:var(--mg-ink)}
.mg-finder__clear .ico{width:16px;height:16px}
.mg-finder__body{display:grid;gap:1rem;grid-template-columns:minmax(230px,285px) minmax(0,1fr);align-items:stretch}
.mg-finder__rail{position:relative;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:var(--mg-r);background:var(--mg-sunken);border:1px solid var(--mg-line)}
.mg-finder__ind{position:absolute;left:0;top:0;z-index:0;width:var(--w,0);height:var(--h,0);transform:translate(var(--x,0),var(--y,0));border-radius:12px;background:var(--mg-g-soft);border:1px solid color-mix(in srgb,var(--mg-g) 42%,transparent);pointer-events:none;opacity:0;transition:transform .6s var(--mg-ease-o),width .6s var(--mg-ease-o),height .6s var(--mg-ease-o),opacity .3s}
.mg-finder.is-ready .mg-finder__ind{opacity:1}
.mg-finder.is-search .mg-finder__ind{opacity:0}
.mg-finder__ind::before{content:"";position:absolute;inset-block:9px;inset-inline-start:-1px;width:3px;border-radius:3px;background:var(--mg-g);box-shadow:0 0 14px var(--mg-g-glow)}
.mg-finder__tab{position:relative;z-index:1;display:flex;align-items:center;gap:.65rem;width:100%;min-height:46px;padding:.4rem .7rem;border-radius:12px;text-align:start;color:var(--mg-muted);font-weight:600;font-size:.9rem;line-height:1.3;transition:color .25s,opacity .3s}
.mg-finder__tab:hover{color:var(--mg-ink)}
.mg-finder__tab:focus-visible{border-radius:12px}
.mg-finder__tab.is-on{color:var(--mg-ink)}
.mg-finder__ti{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;color:var(--mg-g-ink);transition:background .3s,color .3s}
.mg-finder__ti .ico{width:17px;height:17px}
.mg-finder__tab.is-on .mg-finder__ti{background:var(--mg-g);color:#050505}
.mg-finder__tn{flex:1;min-width:0}
.mg-finder__tc{flex:none;min-width:1.6em;text-align:end;font:800 .78rem var(--mg-latin);color:var(--mg-faint);transition:color .3s}
.mg-finder__tab.is-on .mg-finder__tc{color:var(--mg-g-ink)}
.mg-finder.is-search .mg-finder__tab[data-n="0"]{opacity:.32}
.mg-finder.is-search .mg-finder__tab:not([data-n="0"]) .mg-finder__tc{color:var(--mg-g-ink)}
.mg-finder__pane{display:flex;flex-direction:column;min-width:0;padding:clamp(1rem,2vw,1.5rem);border-radius:var(--mg-r);background:var(--mg-surface);border:1px solid var(--mg-line)}
.mg-finder__phead{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}
.mg-finder__phead h4{font:800 1.3rem/1.3 var(--mg-display);margin:0}
.mg-finder__phead p{color:var(--mg-muted);font-size:.9rem;line-height:1.55;margin-top:.25rem;max-width:48ch}
.mg-finder__count{flex:none;display:inline-flex;align-items:baseline;gap:.4rem;font-size:.82rem;color:var(--mg-muted);white-space:nowrap}
.mg-finder__count b{font:800 1.6rem/1 var(--mg-latin);color:var(--mg-g-ink)}
.mg-finder__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:.6rem}
.mg-finder__grid>li[hidden]{display:none}
html:not(.js) .mg-finder__grid>li[hidden]{display:block}
.mg-finder__grid>li{min-width:0}
.mg-finder__grid>li.mg-fc-in{animation:mg-fc-in .6s var(--mg-ease-o) both;animation-delay:calc(var(--i,0) * 40ms)}
@keyframes mg-fc-in{from{opacity:0;transform:translate(var(--sx),12px) scale(.97)}}
.mg-fc{display:flex;flex-direction:column;gap:.5rem;height:100%;min-height:96px;padding:.8rem .9rem;border-radius:14px;border:1px solid var(--mg-line);background:var(--mg-card);transition:border-color var(--mg-fast),background var(--mg-fast),transform .4s var(--mg-ease)}
.mg-fc:hover,.mg-fc:focus-visible{border-color:var(--mg-g);background:var(--mg-g-soft);transform:translateY(-2px)}
.mg-fc:focus-visible{border-radius:14px}
.mg-fc__row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.mg-fc__id{font:800 .72rem/1 var(--mg-latin);letter-spacing:.06em;color:var(--mg-g-ink);padding:.28rem .55rem;border-radius:999px;background:var(--mg-g-soft)}
.mg-fc__b{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--mg-faint);white-space:nowrap}
.mg-fc__b.is-m::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mg-g)}
.mg-fc__n{flex:1;font-weight:700;font-size:.95rem;line-height:1.4}
.mg-fc__foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:24px}
.mg-fc__g{display:none;font-size:.72rem;line-height:1.3;color:var(--mg-faint)}
.mg-finder.is-search .mg-fc__g{display:block}
.mg-fc__go{display:grid;place-items:center;flex:none;width:24px;height:24px;margin-inline-start:auto;border-radius:50%;border:1px solid var(--mg-line-2);color:var(--mg-muted);transition:background var(--mg-fast),border-color var(--mg-fast),color var(--mg-fast),transform .4s var(--mg-ease)}
.mg-fc__go .ico{width:12px;height:12px}
.mg-fc:hover .mg-fc__go{background:var(--mg-g);border-color:var(--mg-g);color:#050505;transform:rotate(-45deg)}
[dir="rtl"] .mg-fc:hover .mg-fc__go{transform:rotate(45deg)}
.mg-finder__none{color:var(--mg-muted);padding:1rem 0}
.mg-finder__none[hidden]{display:none}
.mg-finder__open{align-self:flex-start;margin-top:auto;padding-top:1.3rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.92rem;color:var(--mg-g-ink)}
.mg-finder__open[hidden]{display:none}
.mg-finder__open .ico{width:16px;height:16px;transition:transform .4s var(--mg-ease)}
.mg-finder__open:hover .ico{transform:translate(2px,-2px)}
[dir="rtl"] .mg-finder__open:hover .ico{transform:scaleX(-1) translate(2px,-2px)}
@keyframes mg-pop{from{opacity:0;transform:translateY(8px) scale(.98)}}
@media (max-width:900px){
  .mg-finder__body{grid-template-columns:minmax(0,1fr)}
  .mg-finder__rail{flex-direction:row;gap:4px;overflow-x:auto;scrollbar-width:none;border-radius:999px;padding:5px;-webkit-overflow-scrolling:touch}
  .mg-finder__rail::-webkit-scrollbar{display:none}
  .mg-finder__ind{border-radius:999px}
  .mg-finder__ind::before{display:none}
  .mg-finder__tab{flex:none;width:auto;min-height:40px;padding:.3rem .85rem .3rem .45rem;padding-inline:.45rem .85rem;border-radius:999px;white-space:nowrap}
  .mg-finder__tab:focus-visible{border-radius:999px}
  .mg-finder__ti{width:26px;height:26px;border-radius:50%}
  .mg-finder__ti .ico{width:15px;height:15px}
  .mg-finder__tn{flex:none}
  .mg-finder__phead{flex-direction:column;gap:.6rem}
  .mg-finder__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}
}
@media (max-width:480px){.mg-finder__grid{grid-template-columns:minmax(0,1fr)}.mg-fc{min-height:0}}

/* ---- process: bounce-card fan ---- */
.mg-process{background:var(--mg-sunken);overflow:hidden}
.mg-process__head{display:grid;gap:1rem 4rem;align-items:end;margin-bottom:clamp(1.6rem,3.5vw,3rem)}
@media (min-width:1024px){.mg-process__head{grid-template-columns:1.1fr .9fr}}
.mg-bounce{--bc-w:212px;--bc-h:296px;--bc-sh:0 24px 38px -20px rgba(0,0,0,.85),0 2px 0 rgba(255,255,255,.03) inset;position:relative}
html[data-theme="light"] .mg-bounce{--bc-sh:0 24px 34px -22px rgba(30,40,15,.4)}
@media (max-width:1180px){.mg-bounce{--bc-w:194px;--bc-h:284px}}
.mg-bounce__glow{position:absolute;left:var(--gx,50%);top:42%;width:min(70%,640px);aspect-ratio:1;translate:-50% -50%;background:radial-gradient(closest-side,var(--mg-g-glow),transparent);filter:blur(36px);opacity:0;pointer-events:none;transition:left .8s var(--mg-ease-o),opacity .8s}
.mg-bounce.is-fan.is-in .mg-bounce__glow{opacity:.32}
/* default: swipeable snap carousel (mobile, tablet, no-JS) */
.mg-bounce__stage{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--mg-gut);margin-inline:calc(var(--mg-gut) * -1);padding:.9rem var(--mg-gut) 1.3rem;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--mg-gut),#000 calc(100% - var(--mg-gut)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--mg-gut),#000 calc(100% - var(--mg-gut)),transparent)}
.mg-bounce__stage::-webkit-scrollbar{display:none}
.mg-bc{position:relative;flex:none;width:min(74vw,252px);scroll-snap-align:center}
.mg-bc__btn{position:relative;display:flex;flex-direction:column;gap:.6rem;width:100%;height:100%;min-height:268px;padding:1.1rem 1.1rem .95rem;text-align:start;border-radius:22px;background:linear-gradient(165deg,var(--mg-card),var(--mg-raised));border:1px solid var(--mg-line-2);box-shadow:var(--bc-sh);overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .4s,box-shadow .4s,background .4s}
.mg-bc__btn:focus-visible{border-radius:22px;outline-offset:5px}
.mg-bc__btn::before{content:"";position:absolute;inset:0 18% auto;height:2px;background:linear-gradient(90deg,transparent,var(--mg-g),transparent);opacity:.45;transform:scaleX(.4);transition:opacity .4s,transform .6s var(--mg-ease-o)}
.mg-bc__btn::after{content:"";position:absolute;inset-inline-end:-30%;top:-30%;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--mg-g-soft),transparent);opacity:.7;transition:opacity .5s,transform .7s var(--mg-ease-o);pointer-events:none}
.mg-bc__top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.mg-bc__no{font:800 3.7rem/.85 var(--mg-latin);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.2px var(--mg-faint);transition:-webkit-text-stroke-color .4s,color .4s}
.mg-bc__t{position:relative;z-index:1;margin-top:auto;font:800 1.32rem/1.25 var(--mg-display)}
.mg-bc__d{position:relative;z-index:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;color:var(--mg-muted);font-size:.88rem;line-height:1.55}
.mg-bounce.is-fan .mg-bc__t,.mg-bounce.is-fan .mg-bc__d{padding-inline-end:1.7rem}
.mg-bc__more{position:relative;z-index:1;align-self:flex-end;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--mg-line-2);color:var(--mg-muted);transition:background .3s,color .3s,border-color .3s,transform .5s var(--mg-ease-o)}
.mg-bc__more .ico{width:14px;height:14px}
.mg-bc .mg-ico-tile{transition:background .35s,color .35s,transform .5s var(--mg-ease-o)}
.mg-bc.is-hot .mg-bc__btn,.mg-bc__btn:hover,.mg-bc__btn:focus-visible{border-color:var(--mg-g);box-shadow:var(--bc-sh),0 0 0 1px color-mix(in srgb,var(--mg-g) 35%,transparent),0 18px 50px -14px var(--mg-g-glow)}
.mg-bc.is-hot .mg-bc__btn::before,.mg-bc__btn:hover::before,.mg-bc__btn:focus-visible::before{opacity:1;transform:scaleX(1)}
.mg-bc.is-hot .mg-bc__btn::after,.mg-bc__btn:hover::after{opacity:1;transform:scale(1.25)}
.mg-bc.is-hot .mg-bc__no,.mg-bc__btn:hover .mg-bc__no{-webkit-text-stroke-color:var(--mg-g)}
.mg-bc.is-hot .mg-ico-tile,.mg-bc__btn:hover .mg-ico-tile{background:var(--mg-g);color:#050505;transform:rotate(-6deg) scale(1.06)}
.mg-bc.is-hot .mg-bc__more,.mg-bc__btn:hover .mg-bc__more{background:var(--mg-g);border-color:var(--mg-g);color:#050505;transform:rotate(90deg)}
.mg-bc.is-active .mg-bc__btn{border-color:color-mix(in srgb,var(--mg-g) 70%,var(--mg-line-2));background:linear-gradient(165deg,var(--mg-card),color-mix(in srgb,var(--mg-g) 8%,var(--mg-raised)))}
.mg-bc.is-active .mg-bc__no{color:var(--mg-g-ink);-webkit-text-stroke-color:var(--mg-g)}
.mg-bc.is-active .mg-bc__more{background:var(--mg-g-soft);border-color:var(--mg-g);color:var(--mg-g-ink)}
.mg-bc.is-pop .mg-ico-tile .ico *{animation:mg-draw .9s var(--mg-ease) both}
/* desktop: the fan */
.mg-bounce.is-fan .mg-bounce__stage{display:block;position:relative;overflow:visible;margin:0;padding:0;height:calc(var(--bc-h) + 100px);-webkit-mask-image:none;mask-image:none;scroll-snap-type:none}
.mg-bounce.is-fan .mg-bc{position:absolute;left:50%;top:48px;width:var(--bc-w);height:var(--bc-h);margin-left:calc(var(--bc-w) / -2);will-change:transform}
.mg-bounce.is-fan .mg-bc__btn{min-height:0}
.mg-bounce.is-fan .mg-bc__top{justify-content:flex-start;gap:.55rem}
.mg-bounce.is-fan .mg-bc__no{font-size:3.2rem}
.mg-bounce.is-fan .mg-ico-tile--lg{width:46px;height:46px;border-radius:13px}
.mg-bounce:not(.is-fan) .mg-bc__btn:hover{transform:translateY(-4px)}
/* detail panel */

/* ---- machine ---- */
.mg-machine__panel{position:relative}
.mg-machine__fig{margin:1rem auto 0;width:min(100%,560px)}
.mg-machine__hint{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:0 1rem 1.2rem;font-size:.85rem;color:var(--mg-faint);text-align:center}
.mg-machine__hint .ico{width:16px;height:16px;color:var(--mg-g-ink)}
.mg-specs{margin-top:2rem;border-top:1px solid var(--mg-line)}
.mg-spec{border-bottom:1px solid var(--mg-line)}
.mg-spec button{display:flex;align-items:center;gap:1rem;width:100%;padding:1.1rem 0;text-align:start;font:800 1.15rem/1.35 var(--mg-display)}
.mg-spec__no{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--mg-line-2);font:700 .85rem var(--mg-latin);flex:none;transition:all var(--mg-fast)}
.mg-spec__t{flex:1}
.mg-spec__plus{transition:transform var(--mg-base) var(--mg-ease);color:var(--mg-muted)}
.mg-spec.is-on .mg-spec__no{background:var(--mg-g);border-color:var(--mg-g);color:#050505}
.mg-spec.is-on .mg-spec__plus{transform:rotate(45deg);color:var(--mg-g-ink)}
.mg-spec__d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--mg-ease)}
.mg-spec__d>p{overflow:hidden;color:var(--mg-muted);padding-inline-start:50px}
.mg-spec.is-on .mg-spec__d{grid-template-rows:1fr}
.mg-spec.is-on .mg-spec__d>p{padding-bottom:1.1rem}

/* ---- compare ---- */
.mg-ba{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.mg-ba__col{padding:1.1rem;border-radius:var(--mg-r);border:1px solid var(--mg-line)}
.mg-ba__col h3{font:800 1rem var(--mg-display);margin-bottom:.7rem}
.mg-ba__col li{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--mg-muted);padding:.3rem 0}
.mg-ba__col .ico{width:16px;height:16px;margin-top:.2rem}
.mg-ba__col--b .ico{color:#ff8c6b}
.mg-ba__col--a{border-color:color-mix(in srgb,var(--mg-g) 45%,transparent);background:var(--mg-g-soft)}
.mg-ba__col--a .ico{color:var(--mg-g-ink)}
.mg-ba__col--a li{color:var(--mg-ink)}
@media (max-width:560px){.mg-ba{grid-template-columns:1fr}}
/* ---- before / after: animated pipeline scene ---- */
.mg-compare__vis{min-width:0}
.mg-cmp{--t:1;--p:1;position:relative;width:100%;border-radius:var(--mg-r-lg);overflow:hidden;border:1px solid #262626;background:#060706;user-select:none;-webkit-user-select:none;color:#fff}
.mg-cmp::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(62% 46% at 50% 52%,rgba(139,192,90,.2),transparent 72%);opacity:clamp(0,var(--t),1);pointer-events:none}
.mg-cmp__stage{position:relative;z-index:1;touch-action:pan-y;cursor:grab;background:radial-gradient(rgba(255,255,255,.075) 1px,transparent 1.6px) 0 0/22px 22px}
.mg-cmp__stage:active{cursor:grabbing}
.mg-sc{display:block;width:100%;height:auto;font-family:var(--mg-font);direction:ltr}
.mg-sc *{vector-effect:none}
.mg-n{transform:translate(calc(var(--bx) * 1px * (1 - var(--ti,1))),calc(var(--by) * 1px * (1 - var(--ti,1)))) rotate(calc(var(--br) * 1deg * (1 - var(--ti,1))))}
.mg-n__j{animation:mg-jit 1.15s ease-in-out infinite;animation-delay:var(--d,0s)}
.mg-cmp.is-ordered .mg-n__j{animation:none}
@keyframes mg-jit{0%,100%{transform:translate(0,0) rotate(0)}22%{transform:translate(3px,-2.5px) rotate(1.6deg)}48%{transform:translate(-2.5px,2px) rotate(-1.3deg)}74%{transform:translate(2px,3px) rotate(1deg)}}
.mg-n__bg{fill:#0f100f}
.mg-n__b0,.mg-n__b1{fill:none;stroke-width:1.6}
.mg-n__b0{stroke:#3d3d3d;opacity:clamp(0,calc(1 - var(--ti,1)),1)}
.mg-n__b1{stroke:#8bc05a;opacity:clamp(0,var(--ti,1),1)}
.mg-n__i0{color:#7d7d7d;opacity:clamp(0,calc(1 - var(--ti,1)),1)}
.mg-n__i1{color:#8bc05a;opacity:clamp(0,var(--ti,1),1)}
.mg-n text{font-size:17px;font-weight:700;fill:#dcdcdc}
.mg-n__s0{fill:#ff6b4d;opacity:clamp(0,calc(1 - var(--ti,1) * 2),1)}
.mg-n__s1{fill:#8bc05a;opacity:clamp(0,calc(var(--ti,1) * 2 - 1),1)}
.mg-sc__tangle{fill:none;stroke:#5c5c5c;stroke-width:1.8;stroke-linecap:round;opacity:clamp(0,calc(1.15 - var(--t,1) * 1.7),1)}
.mg-sc__tangle .is-d{stroke-dasharray:5 7;animation:mg-dash 1.1s linear infinite}
@keyframes mg-dash{to{stroke-dashoffset:-24}}
.mg-sc__trend0{fill:none;stroke:#ff6b4d;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:3 6;opacity:clamp(0,calc(.75 - var(--t,1) * 1.2),.75)}
.mg-sc__trend1{fill:none;stroke:#8bc05a;stroke-width:3;stroke-linecap:round;stroke-dasharray:1 1.01;stroke-dashoffset:calc(1 - clamp(0,calc((var(--t,1) - .35) * 1.6),1));filter:drop-shadow(0 0 5px rgba(139,192,90,.6))}
.mg-sc__trend1d{fill:#cdf7a0;opacity:clamp(0,calc((var(--t,1) - .93) * 14),1);filter:drop-shadow(0 0 6px #8bc05a)}
.mg-sc__x path{stroke:#ff6b4d;stroke-width:2.6;stroke-linecap:round;fill:none}
.mg-sc__leaks{opacity:clamp(0,calc(1.25 - var(--t,1) * 2),1);filter:drop-shadow(0 0 4px rgba(255,107,77,.85))}
.mg-sc__leaks circle{fill:#ff6b4d;transform-box:fill-box;transform-origin:center;animation:mg-drip 2.1s cubic-bezier(.5,0,.9,.6) infinite;animation-delay:var(--d,0s)}
@keyframes mg-drip{0%{transform:translateY(-4px) scale(.3);opacity:0}14%{transform:translateY(0) scale(1);opacity:1}100%{transform:translateY(40px) scale(.7,1.5);opacity:0}}
.mg-sc__pipe path{fill:none;stroke:#8bc05a;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:1 1.01;stroke-dashoffset:calc(1 - clamp(0,calc((var(--t,1) - .5) * 2.4),1))}
.mg-sc__pulse{fill:none;stroke:#cdf7a0;stroke-width:5;stroke-linecap:round;stroke-dasharray:4 96;animation:mg-pulse 2.6s linear infinite;opacity:clamp(0,calc((var(--t,1) - .8) * 5),1);filter:drop-shadow(0 0 6px #8bc05a)}
@keyframes mg-pulse{from{stroke-dashoffset:4}to{stroke-dashoffset:-100}}
.mg-sc__frame{opacity:clamp(0,calc((var(--t,1) - .7) * 3.3),1)}
.mg-sc__frame rect{fill:rgba(139,192,90,.045);stroke:rgba(139,192,90,.5);stroke-width:1.2;stroke-dasharray:5 7}
.mg-sc__frame text{fill:#8bc05a;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
html[lang="ar"] .mg-sc__frame text{letter-spacing:0;font-size:14px}
.mg-cmp__tag{position:absolute;z-index:2;top:1rem;inset-inline-start:1rem;display:inline-flex;align-items:center;gap:.5rem;padding:.38rem .85rem;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.4;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mg-cmp__tag i{width:7px;height:7px;border-radius:50%}
.mg-cmp__tag--b{background:rgba(5,5,5,.78);color:#fff;border:1px solid #2c2c2c;opacity:clamp(0,calc(1.8 - var(--t,1) * 3),1)}
.mg-cmp__tag--b i{background:#ff6b4d;box-shadow:0 0 8px #ff6b4d}
.mg-cmp__tag--a{background:#8bc05a;color:#050505;opacity:clamp(0,calc(var(--t,1) * 3 - 1.8),1)}
.mg-cmp__tag--a i{background:#050505}
.mg-cmp__ctl{position:relative;z-index:2;display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem 1rem;border-top:1px solid #1c1c1c}
.mg-cmp__end{flex:none;padding:.35rem .25rem;font-size:.78rem;font-weight:700;color:#7c7c7c;transition:color .3s}
.mg-cmp__end:hover,.mg-cmp__end.is-on{color:#fff}
.mg-cmp__end.is-on:last-child{color:#8bc05a}
.mg-cmp__track{position:relative;flex:1;min-width:0;height:36px;border-radius:999px;background:#131413;border:1px solid #2a2a2a;cursor:ew-resize;touch-action:none}
.mg-cmp__track:focus-visible{border-radius:999px;outline-offset:3px}
.mg-cmp__fill{position:absolute;inset-block:3px;inset-inline-start:3px;width:calc(28px + (100% - 34px) * var(--p));border-radius:999px;background:linear-gradient(90deg,#2b2b2b,#8bc05a)}
[dir="rtl"] .mg-cmp__fill{background:linear-gradient(270deg,#2b2b2b,#8bc05a)}
.mg-cmp__thumb{position:absolute;top:3px;inset-inline-start:calc(3px + (100% - 34px) * var(--p));width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#a7d47c;color:#050505;box-shadow:0 0 16px rgba(139,192,90,.6);transition:transform .25s var(--mg-ease)}
.mg-cmp__track:hover .mg-cmp__thumb{transform:scale(1.1)}
.mg-cmp__thumb .ico{width:15px;height:15px}
@media (max-width:480px){.mg-cmp__end{font-size:.72rem}.mg-cmp__ctl{gap:.5rem;padding-inline:.8rem}}

/* ---- problems ---- */
.mg-problems{background:var(--mg-sunken);overflow-x:clip}
#mg-main{overflow-x:clip}
html:has(body.mghv2),body.mghv2{overflow-x:clip}
.mg-marquee{contain:paint}
@media (max-width:560px){.mg-pcard{--rot:0deg!important}}
.mg-pile{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));perspective:1400px}
@media (min-width:1100px){.mg-pile{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}}
.mg-pcard{transform:rotate(var(--rot));transition:transform .6s var(--mg-ease)}
.mg-pcard:hover,.mg-pcard.is-flip{transform:rotate(0) translateY(-10px);z-index:2}
.mg-pcard__in{position:relative;min-height:310px;transform-style:preserve-3d;transition:transform .8s var(--mg-ease)}
.mg-pcard.is-flip .mg-pcard__in{transform:rotateY(180deg)}
.mg-pcard__front,.mg-pcard__back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--mg-r);background:var(--mg-card);border:1px solid var(--mg-line);padding:.7rem .7rem 1rem;display:flex;flex-direction:column;gap:.8rem;text-align:start;box-shadow:0 24px 40px -28px rgba(0,0,0,.8)}
.mg-pcard__back{transform:rotateY(180deg);padding:1.3rem;justify-content:center;background:var(--mg-g);color:#050505;border-color:var(--mg-g)}
.mg-pcard__back .mg-kicker{color:#050505}.mg-pcard__back .mg-kicker::before{background:#050505}
.mg-pcard__back p{font-weight:700;font-size:1.08rem;line-height:1.55}
.mg-pcard__back .mg-link{color:#050505}
.mg-pcard__close{position:absolute;top:.7rem;inset-inline-end:.7rem;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(0,0,0,.25)}
.mg-pcard__tape{position:absolute;top:-10px;left:50%;width:76px;height:20px;margin-left:-38px;background:color-mix(in srgb,var(--mg-g) 55%,transparent);transform:rotate(-3deg);border-radius:2px;z-index:2}
.mg-pcard__img{position:relative;display:block;aspect-ratio:4/3;border-radius:12px;overflow:hidden}
.mg-pcard__img img{width:100%;height:100%;object-fit:cover}
.mg-pcard__front:hover .mg-pcard__img img{transform:scale(1.06);filter:grayscale(.3) contrast(1.05) brightness(.9)}
.mg-pcard__stamp{position:absolute;bottom:.6rem;inset-inline-start:.6rem;padding:.2rem .5rem;border:2px solid #ff8c6b;color:#ff8c6b;font:800 .7rem var(--mg-latin);letter-spacing:.08em;transform:rotate(-6deg);border-radius:4px;background:rgba(0,0,0,.45);direction:ltr}
.mg-pcard__row{display:flex;align-items:center;gap:.7rem;padding-inline:.3rem}
.mg-pcard__row b{font:800 1.08rem/1.35 var(--mg-display)}
.mg-pcard__more{display:flex;align-items:center;gap:.4rem;margin-top:auto;padding-inline:.3rem;font-size:.85rem;font-weight:700;color:var(--mg-g-ink)}
.mg-pcard__more .ico{width:15px;height:15px}

/* ---- start / packs / receipt ---- */
.mg-chip-link{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:999px;background:var(--mg-g-soft);color:var(--mg-g-ink);font-weight:700;font-size:.9rem}
.mg-chip-link .ico{width:16px;height:16px}
.mg-start__grid{display:grid;gap:1.5rem;align-items:start}
@media (min-width:1024px){.mg-start__grid{grid-template-columns:1fr 1.05fr}}
.mg-packs{display:grid;gap:.6rem}
.mg-pack a{display:flex;align-items:center;gap:1rem;padding:1rem 1.1rem;border-radius:var(--mg-r);border:1px solid var(--mg-line);background:var(--mg-card);transition:border-color var(--mg-fast),transform var(--mg-base) var(--mg-ease)}
.mg-pack a:hover{border-color:var(--mg-g);transform:translateX(6px)}
[dir="rtl"] .mg-pack a:hover{transform:translateX(-6px)}
.mg-pack__t{flex:1;display:grid}
.mg-pack__t b{font:800 1.08rem var(--mg-display)}
.mg-pack__t small{color:var(--mg-muted);font-size:.88rem}
.mg-builder{padding:clamp(1.2rem,3vw,1.8rem);border-radius:var(--mg-r-lg);background:var(--mg-raised);border:1px solid var(--mg-line);display:grid;gap:.8rem}
.mg-builder h3{font:800 clamp(1.3rem,2.2vw,1.7rem)/1.3 var(--mg-display)}
.mg-builder__picks{display:flex;flex-wrap:wrap;gap:.4rem;margin:.3rem 0 .6rem}
.mg-builder__picks button{display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:.35rem .8rem;border-radius:999px;border:1px solid var(--mg-line-2);font-size:.84rem;font-weight:600;color:var(--mg-muted);line-height:1.3;transition:all var(--mg-fast)}
.mg-builder__picks button .ico{width:0;height:15px;opacity:0;transition:width var(--mg-fast),opacity var(--mg-fast)}
.mg-builder__picks button[aria-pressed="true"]{background:var(--mg-g);border-color:var(--mg-g);color:#050505}
.mg-builder__picks button[aria-pressed="true"] .ico{width:15px;opacity:1}
.mg-builder__picks button:hover{border-color:var(--mg-g);color:var(--mg-ink)}
.mg-builder__picks button[aria-pressed="true"]:hover{color:#050505}

.mg-rp{position:relative;height:30rem;border-radius:var(--mg-r-lg);overflow:hidden;background:var(--mg-surface);border:1px solid var(--mg-line);user-select:none}
.mg-rp__clip{position:absolute;inset:64px 0 0 0;overflow:hidden}
.mg-rp.torn .mg-rp__clip{overflow:visible}
.mg-rp__paper{position:absolute;top:0;left:50%;margin-left:-8.5rem;width:17rem;background:var(--mg-paper);color:#222;transform-origin:0 0;touch-action:none;box-shadow:0 1px 2px #0001,0 8px 24px -12px #0008;
  -webkit-mask:conic-gradient(from -45deg at 50% 100%,#0000,#000 1deg 89deg,#0000 90deg) 50% 100%/8px 4px repeat-x,linear-gradient(#000 0 0) 0 0/100% calc(100% - 4px) no-repeat;
  mask:conic-gradient(from -45deg at 50% 100%,#0000,#000 1deg 89deg,#0000 90deg) 50% 100%/8px 4px repeat-x,linear-gradient(#000 0 0) 0 0/100% calc(100% - 4px) no-repeat}
.mg-rp.torn .mg-rp__paper{-webkit-mask:conic-gradient(from 135deg at 50% 0,#0000,#000 1deg 89deg,#0000 90deg) 50% 0/8px 4px repeat-x,conic-gradient(from -45deg at 50% 100%,#0000,#000 1deg 89deg,#0000 90deg) 50% 100%/8px 4px repeat-x,linear-gradient(#000 0 0) 0 4px/100% calc(100% - 8px) no-repeat;
  mask:conic-gradient(from 135deg at 50% 0,#0000,#000 1deg 89deg,#0000 90deg) 50% 0/8px 4px repeat-x,conic-gradient(from -45deg at 50% 100%,#0000,#000 1deg 89deg,#0000 90deg) 50% 100%/8px 4px repeat-x,linear-gradient(#000 0 0) 0 4px/100% calc(100% - 8px) no-repeat}
.mg-rp.torn.idle .mg-rp__paper{visibility:hidden}
.mg-rp.hang .mg-rp__paper{cursor:grab}
.mg-rp__perf{position:absolute;inset:4px 4px auto;border-top:2px dotted #bbb}
.mg-rp.torn .mg-rp__perf{display:none}
.mg-rp__body{padding:22px 18px 30px;font:12px/17px ui-monospace,SFMono-Regular,Menlo,monospace}
html[lang="ar"] .mg-rp__body{font-family:"Tajawal",system-ui,sans-serif;font-size:13px;line-height:19px}
.mg-rp .c{text-align:center}.mg-rp .b{font-weight:700}.mg-rp .m{color:#777}.mg-rp .small{font-size:10.5px;line-height:15px;margin-top:6px}
.mg-rp .row{display:flex;justify-content:space-between;gap:12px}
.mg-rp .row span:last-child{white-space:nowrap;color:#555}
.mg-rp .dash{margin:8px 0;border-top:1px dashed #aaa}
.mg-rp .bars{display:flex;justify-content:center;gap:1px;height:34px;margin:14px 0 10px;direction:ltr}
.mg-rp .bars span{background:#222}.mg-rp .bars span:nth-child(even){background:transparent}
.mg-rp__head{position:absolute;inset:0 0 auto;height:64px;background:var(--mg-raised);border-bottom:1px solid var(--mg-line);display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px 0;font-size:.82rem;font-weight:700}
.mg-rp__brand{display:inline-flex;align-items:center;gap:.4rem}.mg-rp__brand .ico{width:16px;height:16px;color:var(--mg-g-ink)}
.mg-rp__status{color:var(--mg-g-ink)}
.mg-rp__head i{position:absolute;inset:auto 30px 8px;height:5px;border-radius:9px;background:#000}
.mg-rp__btn{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);transition:opacity .25s}
.mg-rp:not(.idle) .mg-rp__btn{opacity:0;pointer-events:none}
.mg-rp.torn.idle .mg-rp__btn{opacity:1;pointer-events:auto}

/* ---- CTA ---- */
.mg-cta{text-align:center;overflow:hidden;isolation:isolate}
.mg-cta__glow{position:absolute;inset:auto 0 -40%;height:90%;z-index:-1;background:radial-gradient(50% 60% at 50% 100%,var(--mg-g-glow),transparent 70%);animation:mg-breath 7s ease-in-out infinite}
@keyframes mg-breath{50%{opacity:.55;transform:scale(1.08)}}
.mg-cta__in{display:grid;justify-items:center}
.mg-cta__h{font-size:clamp(2.6rem,7vw,6rem)}
.mg-cta .mg-body{margin-inline:auto;margin-bottom:2rem}
.mg-cta .mg-ctas{justify-content:center}
.mg-cta__d{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.6rem;margin-top:2.4rem;color:var(--mg-muted);font-size:.92rem}
.mg-cta__d li{display:inline-flex;align-items:center;gap:.45rem}
.mg-cta__d .ico{width:17px;height:17px;color:var(--mg-g-ink)}

/* ======================= misc ======================= */
.mg-toast{position:fixed;left:50%;bottom:24px;z-index:120;visibility:hidden;transform:translate(-50%,calc(100% + 40px));padding:.85rem 1.2rem;border-radius:14px;background:var(--mg-g);color:#050505;font-weight:700;box-shadow:0 20px 40px -18px rgba(0,0,0,.6);transition:transform .5s var(--mg-ease-o)}
.mg-toast.is-on{visibility:visible;transform:translate(-50%,0)}
.mg-cursor{position:fixed;top:0;left:0;z-index:95;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid var(--mg-g);pointer-events:none;opacity:0;transition:opacity .3s,width .3s var(--mg-ease),height .3s var(--mg-ease),margin .3s var(--mg-ease),background .3s}
.mg-cursor.is-on{opacity:.9}
.mg-cursor.is-hover{width:64px;height:64px;margin:-32px 0 0 -32px;background:var(--mg-g-soft)}
@media (hover:none),(pointer:coarse){.mg-cursor{display:none}}

/* ======================= responsive ======================= */
@media (max-width:640px){
  .mg-btn{width:100%}
  .mg-hero .mg-ctas .mg-btn{width:auto;flex:1 1 auto;white-space:nowrap}
  .mg-hv__hint{display:none}
  .mg-hv{aspect-ratio:4/5}
  .mg-hv__fig{inset:3% 6% 34%}
}

/* ======================= reduced motion ======================= */
@media (prefers-reduced-motion:reduce){
  .mghv2 *,.mghv2 *::before,.mghv2 *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .mg-rv{opacity:1;transform:none}
  .mg-marquee__track{animation:none!important}
  .mg-grain{display:none}
}


/* ---- reduced motion for the redesigned sections ---- */
@media (prefers-reduced-motion:reduce){
  .mg-all__tickin,.mg-n__j,.mg-sc__tangle .is-d,.mg-sc__leaks circle,.mg-sc__pulse{animation:none!important}
  .mg-sc__pulse{stroke-dashoffset:-40}
  .mg-finder__grid>li.mg-fc-in{animation:none!important}
}
/* ---- numbers never clip: Latin face, isolated LTR run, normal line box ---- */
.mg-stats b,.mg-card__no,.mg-card__foot b,.mg-lane__n,.mg-finder__count b,.mg-finder__tc,.mg-fc__id,.mg-bc__no,.mg-all__lap em{font-family:var(--mg-latin);font-weight:700;direction:ltr;unicode-bidi:isolate;font-variant-numeric:lining-nums}
.mg-stats b{display:block;line-height:1.15;padding-block:.05em;overflow:visible}
.mg-bc__no{display:block;line-height:1.1;padding-inline-end:.12em;overflow:visible}

/* ---- process cards: the card itself expands with the full text ---- */
.mg-bounce{--bc-spring:cubic-bezier(.34,1.56,.64,1)}
.mg-bounce.is-fan .mg-bc{transition:width .6s var(--bc-spring),height .6s var(--bc-spring),margin-left .6s var(--bc-spring)}
.mg-bounce.is-fan .mg-bc.is-open{width:calc(var(--bc-w) + 48px);height:calc(var(--bc-h) + 34px);margin-left:calc((var(--bc-w) + 48px) / -2)}
.mg-bc.is-open .mg-bc__d{display:block;-webkit-line-clamp:unset;overflow:visible}
.mg-bounce.is-fan .mg-bc.is-open .mg-bc__t,.mg-bounce.is-fan .mg-bc.is-open .mg-bc__d{padding-inline-end:0}
.mg-bc.is-open .mg-bc__more{transform:rotate(45deg);background:var(--mg-g);border-color:var(--mg-g);color:#050505}
.mg-bc.is-open .mg-bc__btn{border-color:var(--mg-g)}
.mg-bc.is-open .mg-bc__no{color:var(--mg-g-ink);-webkit-text-stroke-color:var(--mg-g)}
.mg-bounce.is-fan .mg-bc.is-open .mg-bc__d{font-size:.92rem}
@media (prefers-reduced-motion:reduce){.mg-bounce.is-fan .mg-bc{transition-duration:.001ms}}

/* ---- builder CTA ---- */
.mg-builder__go{margin-top:1rem;width:100%;justify-content:center}

/* =====================================================================
   Mobile compaction (<640px): horizontal snap rows, collapsed intros,
   decorative blocks hidden. Desktop untouched.
   ===================================================================== */
.mg-more{display:none}
.mg-builder__sum{display:none}
@media (max-width:639px){
  .mg-sec{padding-block:2.6rem}
  .mg-sechead,.mg-process__head{margin-bottom:1.3rem;gap:.8rem}
  .mg-h2{font-size:clamp(1.7rem,8vw,2.1rem);margin-bottom:.6rem}
  .mg-kicker{margin-bottom:.7rem}
  .mg-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .mg-clamp.is-open{display:block;overflow:visible}
  .mg-more{display:inline-block;margin-top:-.2rem;font-size:.84rem;font-weight:700;color:var(--mg-g-ink);padding:.2rem 0}

  /* hero */
  .mg-hero{padding-block:1.6rem 2rem}
  .mg-slogans{display:none}
  .mg-hv{aspect-ratio:1/1}
  .mg-hv__cap p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  /* shared snap rows */
  .mg-cards,.mg-pile,.mg-packs,.mg-lanes,.mg-ba,.mg-stats{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .mg-cards::-webkit-scrollbar,.mg-pile::-webkit-scrollbar,.mg-packs::-webkit-scrollbar,.mg-lanes::-webkit-scrollbar,.mg-ba::-webkit-scrollbar,.mg-stats::-webkit-scrollbar{display:none}
  .mg-cards,.mg-pile,.mg-packs,.mg-lanes{margin-inline:calc(var(--mg-gut) * -1);padding-inline:var(--mg-gut);scroll-padding-inline:var(--mg-gut);gap:.8rem}
  .mg-cards,.mg-pile,.mg-packs{padding-block:.9rem 1rem}

  /* services */
  .mg-services .mg-sechead .mg-btn--green{display:none}
  .mg-services .mg-sechead .mg-ctas .mg-btn{width:auto}
  .mg-cards>.mg-card{flex:0 0 76%;scroll-snap-align:center}
  .mg-card--all{order:-1}
  .mg-card__chips{display:none}
  .mg-card__a{padding:1.1rem;gap:.55rem}
  .mg-card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .mg-card--all .mg-card__a{min-height:0}
  .mg-all__tick{min-height:70px}
  .mg-lanes{margin-top:.6rem;padding-block:.3rem .6rem}
  .mg-lanes .mg-kicker{display:none}
  .mg-lane{flex:0 0 80%;scroll-snap-align:center;padding:.8rem .9rem}
  .mg-lane small{display:none}

  /* finder: chips on top, services as a two-row sideways strip */
  .mg-finder{margin-top:1.2rem;padding:.9rem}
  .mg-finder__head{margin-bottom:.8rem}
  .mg-finder__head h3{font-size:1.05rem}
  .mg-finder__in input{height:44px}
  .mg-finder__pane{padding:.8rem}
  .mg-finder__phead{flex-direction:row;align-items:center;margin-bottom:.7rem}
  .mg-finder__phead h4{font-size:1.05rem}
  .mg-finder__phead p{display:none}
  .mg-finder__count b{font-size:1.25rem}
  .mg-finder__grid{grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:minmax(158px,58%);overflow-x:auto;scroll-snap-type:x proximity;gap:.5rem;margin-inline:-.8rem;padding:0 .8rem .5rem;scrollbar-width:none}
  .mg-finder__grid::-webkit-scrollbar{display:none}
  .mg-finder__grid>li{scroll-snap-align:start}
  .mg-fc{min-height:0;padding:.65rem .75rem;gap:.35rem}
  .mg-fc__n{font-size:.88rem}
  .mg-fc__foot,.mg-fc__go{display:none}
  .mg-finder.is-search .mg-fc__foot{display:flex}
  .mg-finder__open{padding-top:.6rem}

  /* about */
  .mg-collage{min-height:0}
  .mg-collage__f{display:none}
  .mg-quote{position:static;width:100%;transform:none;margin-top:1.2rem}
  .mg-stats{margin-top:1.4rem;gap:1px}
  .mg-stats li{flex:0 0 42%;scroll-snap-align:start;padding:1rem}
  .mg-stats li:last-child:nth-child(odd){grid-column:auto}

  /* process */
  .mg-bc__btn{min-height:232px}
  .mg-bounce__stage{padding-block:.5rem .9rem}

  /* machine: keep the four specs, drop the decorative panel */
  .mg-machine__vis{display:none}

  /* compare */
  .mg-ba{margin-top:1.2rem;gap:.8rem;margin-inline:calc(var(--mg-gut) * -1);padding-inline:var(--mg-gut);scroll-padding-inline:var(--mg-gut)}
  .mg-ba__col{flex:0 0 82%;scroll-snap-align:center}

  /* problems */
  .mg-pcard{flex:0 0 72%;scroll-snap-align:center}
  .mg-pcard__in{min-height:268px}
  .mg-pcard__img{aspect-ratio:16/10}

  /* start: packages as a row */
  .mg-start__grid{gap:1rem}
  .mg-pack{flex:0 0 74%;scroll-snap-align:center}
  .mg-pack a{padding:.85rem .9rem}
  .mg-pack small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  /* builder: compact chips, neat receipt card, totals, full-width CTA */
  .mg-builder{padding:1rem;gap:.6rem}
  .mg-builder h3{font-size:1.15rem}
  .mg-builder .mg-kicker{margin-bottom:.2rem}
  .mg-builder__picks{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,auto);grid-auto-columns:max-content;gap:.4rem;overflow-x:auto;margin:.1rem -1rem .2rem;padding:0 1rem .4rem;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,transparent,#000 1rem,#000 calc(100% - 1rem),transparent);mask-image:linear-gradient(to right,transparent,#000 1rem,#000 calc(100% - 1rem),transparent)}
  .mg-builder__picks::-webkit-scrollbar{display:none}
  .mg-builder__picks button{min-height:34px;padding:.25rem .7rem;font-size:.8rem;white-space:nowrap;scroll-snap-align:start}
  .mg-rp{width:min(100%,17.5rem);height:23.5rem;margin-inline:auto}
  .mg-rp__paper{width:14rem;margin-left:-7rem}
  .mg-rp__body{padding:16px 14px 22px}
  .mg-rp .small,.mg-rp .bars{display:none}
  .mg-rp__head{padding:14px 14px 0;font-size:.76rem}
  .mg-rp__btn{width:auto}
  .mg-builder__sum{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0;padding:.7rem .9rem;border-radius:14px;background:var(--mg-sunken);border:1px solid var(--mg-line);font-size:.84rem;color:var(--mg-muted)}
  .mg-builder__sum b{font:700 1.1rem var(--mg-latin);color:var(--mg-ink);direction:ltr;unicode-bidi:isolate;margin-inline-start:.3rem}
  .mg-builder__sum span:last-child b{color:var(--mg-g-ink)}
  .mg-builder__go{margin-top:.2rem}

  /* closing CTA: keep headline + button, drop the extras row */
  .mg-cta__d{display:none}
}
