/* Mark Italia page, styled on the NatureJAB site tokens (region-2026.css) */
:root{
  --dark-bg:#0D0E0A; --dark-2:#14150F; --card:#1A1B15; --border:#2A2B24;
  --cream:#EDE7D3; --green:#5DBA63; --orange:#FF5B1F; --muted:#A8A393;
  --display:"Archivo Black",sans-serif; --body:"Bitter",Georgia,serif; --mono:"JetBrains Mono",monospace;
}
body{ background:var(--dark-bg); }
#mi-root, #markitalia-root{ background:var(--dark-bg); color:var(--cream); font-family:var(--body); font-size:17px; line-height:1.6; }
.mi-wrap{ max-width:1060px; margin:0 auto; padding:0 20px 64px; }
.mi-sec{ padding:56px 0 8px; border-top:1px solid var(--border); }
.mi-hero{ border-top:none; padding-top:28px; }

/* flyer */
.mi-flyer{ display:block; width:100%; max-width:560px; height:auto; margin:0 auto 32px; border:1px solid var(--border); }

/* eyebrow: hero gets the orange chip, sections get green mono */
.mi-eyebrow{ display:inline-block; font-family:var(--mono); font-weight:700; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--green); margin:0 0 18px; }
.mi-hero .mi-eyebrow{ background:var(--orange); color:var(--dark-bg); padding:7px 12px; }

/* headings */
.mi-h1{ font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(27px,6.2vw,56px); overflow-wrap:break-word; line-height:1.04; letter-spacing:.5px; color:var(--cream); margin:0 0 14px; text-wrap:balance; }
.mi-h1 .mi-green{ color:var(--green); }
.mi-h1-en{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin:0 0 22px; }
.mi-h2{ font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(24px,4.5vw,36px); line-height:1.1; color:var(--cream); margin:0 0 6px; }
.mi-en-h{ font-family:var(--mono); font-size:11.5px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); margin:0 0 20px; }
.mi-sub{ max-width:640px; margin:0 0 10px; }
.mi-sub .mi-line{ display:block; }
.mi-sub b{ color:var(--green); }
.mi-line{ margin:0 0 6px; }
.mi-h1 .mi-line{ display:block; margin:0; }

/* buttons */
.mi-btn{ font-family:var(--mono); font-weight:700; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; padding:16px 28px; border:none; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:10px; transition:opacity .15s; color:var(--dark-bg); }
.mi-btn:hover{ opacity:.88; }
.mi-btn-primary{ background:var(--orange); }
.mi-btn-kick{ background:var(--green); }
.mi-btn-ghost{ background:transparent; border:1px solid var(--border); color:var(--muted); font-weight:400; }
.mi-btn-ghost:hover{ border-color:var(--green); color:var(--green); }
.mi-cta-row{ display:flex; flex-wrap:wrap; gap:14px; margin:22px 0 10px; }

/* kick */
.mi-note{ color:var(--cream); margin:0 0 8px; }
.mi-kick .mi-note{ font-family:var(--mono); font-size:12px; color:var(--muted); margin-top:12px; }

/* needs list */
.mi-cat-h{ font-family:var(--mono); font-weight:700; font-size:12px; letter-spacing:2.5px; text-transform:uppercase; color:var(--green); margin:30px 0 12px; }
.mi-items{ display:grid; grid-template-columns:1fr; gap:10px; margin:0; padding:0; list-style:none; }
@media (min-width:720px){ .mi-items{ grid-template-columns:1fr 1fr; } }
@media (min-width:1000px){ .mi-items{ grid-template-columns:1fr 1fr 1fr; } }
.mi-item{ background:var(--card); border:1px solid var(--border); padding:12px 14px; display:flex; flex-direction:column; gap:7px; }
.mi-item-head{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.mi-item-cat{ font-family:var(--mono); font-size:9px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; color:var(--muted); }
.mi-item-it{ display:block; font-family:var(--body); font-weight:700; font-size:15px; line-height:1.3; color:var(--cream); }
.mi-item-en{ display:block; font-size:12.5px; color:var(--muted); margin-top:1px; }
.mi-item-meta{ font-family:var(--mono); font-size:10.5px; color:var(--muted); margin-top:4px; letter-spacing:.5px; }
.mi-chip{ flex:0 0 auto; font-family:var(--mono); font-size:9.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:4px 10px 5px; border:1px solid var(--border); white-space:nowrap; }
.mi-chip-needed{ color:var(--orange); border-color:var(--orange); }
.mi-chip-offered{ color:var(--green); border-color:var(--green); }
.mi-chip-covered{ background:var(--green); border-color:var(--green); color:var(--dark-bg); }

/* form */
.mi-panel{ background:var(--card); border:1px solid var(--border); padding:28px 22px 26px; max-width:640px; }
.mi-form label{ display:block; font-family:var(--mono); font-weight:700; font-size:11px; letter-spacing:1.8px; text-transform:uppercase; color:var(--muted); margin:18px 0 7px; }
.mi-form input:not([type=checkbox]),.mi-form select,.mi-form textarea{ width:100%; box-sizing:border-box; background:var(--dark-2); border:1px solid var(--border); color:var(--cream); font-family:var(--body); font-size:16px; padding:13px 14px; border-radius:0; transition:border-color .15s; -webkit-appearance:none; appearance:none; }
.mi-form select{ background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; }
.mi-form textarea{ min-height:110px; resize:vertical; }
.mi-form input:focus,.mi-form select:focus,.mi-form textarea:focus{ outline:none; border-color:var(--green); }
.mi-grid2{ display:grid; grid-template-columns:1fr; gap:0 16px; }
@media (min-width:560px){ .mi-grid2{ grid-template-columns:1fr 1fr; } }
.mi-check{ display:flex; gap:12px; align-items:flex-start; margin:18px 0 0; }
.mi-check input{ flex:0 0 18px; width:18px; height:18px; margin-top:3px; accent-color:var(--green); }
.mi-check span{ font-family:var(--body); font-weight:400; font-size:14.5px; line-height:1.6; color:#C9C3B2; text-transform:none; letter-spacing:.1px; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.mi-check a{ color:var(--green); }
.mi-submit{ margin-top:24px; width:100%; justify-content:center; font-family:var(--mono); font-weight:700; font-size:14px; letter-spacing:1.5px; text-transform:uppercase; padding:17px 28px; border:none; cursor:pointer; background:var(--orange); color:var(--dark-bg); transition:opacity .15s; }
.mi-submit:hover{ opacity:.88; }
.mi-submit:disabled{ opacity:.55; cursor:default; }
.mi-hp{ position:absolute; left:-9999px; top:-9999px; height:0; overflow:hidden; }
p.mi-status{ font-family:var(--mono); font-size:13px; color:var(--green); margin-top:14px; min-height:1em; }
p.mi-status.err{ color:var(--orange); }
.mi-thanks{ font-size:18px; }
.mi-thanks b{ color:var(--green); }

/* video */
.mi-video{ position:relative; width:100%; aspect-ratio:16/9; background:var(--dark-2); border:1px solid var(--border); }
.mi-video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* footer */
.mi-foot{ border-top:1px solid var(--border); margin-top:56px; padding-top:24px; font-family:var(--mono); font-size:12.5px; letter-spacing:1px; text-align:left; color:var(--muted); }
.mi-foot a{ color:var(--green); text-decoration:none; }

@media (prefers-reduced-motion: reduce){ .mi-bar-fill{ transition:none; } }

.mi-h1-en .mi-line{ display:block; margin:0 0 2px; }

/* Kick live banner */
.mi-kick-banner{ display:flex; align-items:center; gap:16px; background:#0A0A08; border:1px solid #53FC18; padding:20px 22px; text-decoration:none; transition:background .15s, box-shadow .15s; }
.mi-kick-banner:hover{ background:#101209; box-shadow:0 0 0 1px #53FC18; }
.mi-kick-live{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-weight:700; font-size:11px; letter-spacing:2px; color:#53FC18; border:1px solid #53FC18; padding:6px 10px; flex:0 0 auto; }
.mi-dot{ width:8px; height:8px; border-radius:50%; background:#53FC18; animation:miPulse 1.6s ease-in-out infinite; }
@keyframes miPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }
.mi-kick-text{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:3px; }
.mi-kick-h{ font-family:var(--display); text-transform:uppercase; font-size:clamp(16px,3.6vw,24px); line-height:1.15; color:var(--cream); }
.mi-kick-sub{ font-family:var(--mono); font-size:11px; letter-spacing:1.6px; text-transform:uppercase; color:var(--muted); }
.mi-kick-logo{ display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; }
.mi-kick-k{ display:block; image-rendering:pixelated; }
.mi-kick-word{ font-family:var(--display); font-size:20px; letter-spacing:1px; color:#53FC18; }
@media (max-width:560px){ .mi-kick-banner{ flex-wrap:wrap; } .mi-kick-live{ order:1; } .mi-kick-logo{ order:2; margin-left:auto; } .mi-kick-text{ order:3; flex-basis:100%; } }
@media (prefers-reduced-motion: reduce){ .mi-dot{ animation:none; } }

/* Plastolene journey band (ported from /hub links-page) */
.lkpj-wrap{ position:relative; height:250px; overflow:hidden; background:var(--dark-bg); border-top:1px solid #1D1E17; border-bottom:1px solid #1D1E17; margin:26px 0 30px; }
.lkpj-canvas{ position:absolute; inset:0; z-index:0; }
.lkpj-wrap::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#0D0E0A 0%,rgba(13,14,10,0) 10%,rgba(13,14,10,0) 90%,#0D0E0A 100%); }
.lkpj-label{ position:absolute; top:15px; left:18px; z-index:2; font-family:var(--display); font-size:13px; font-weight:400; text-transform:uppercase; letter-spacing:1.6px; color:#F3EFE3; opacity:0; transition:opacity .7s; white-space:nowrap; }
.lkpj-label.show{ opacity:1; }
.lkpj-sub{ position:absolute; top:36px; left:18px; z-index:2; font-family:var(--mono); font-size:10px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; color:var(--green); opacity:0; transition:opacity .7s; white-space:nowrap; }
.lkpj-sub.show{ opacity:.85; }

/* fund the build */
.mi-fund{ max-width:640px; }
.mi-fund-nums{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.mi-fund-raised{ font-family:var(--display); font-size:clamp(34px,7vw,52px); line-height:1; color:var(--green); font-variant-numeric:tabular-nums; }
.mi-fund-goal{ font-family:var(--mono); font-size:13px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); }
.mi-fund-pct{ margin-left:auto; font-family:var(--mono); font-weight:700; font-size:15px; color:var(--cream); font-variant-numeric:tabular-nums; }
.mi-bar{ position:relative; background:var(--dark-2); border:1px solid var(--border); height:26px; overflow:hidden; }
.mi-bar-fill{ position:relative; height:100%; width:0; background:linear-gradient(90deg,var(--green),#8FD16A); }
.mi-bar-fill::after{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(135deg,rgba(13,14,10,.18) 0 10px,transparent 10px 20px); background-size:28px 28px; animation:miStripes 1.1s linear infinite; }
@keyframes miStripes{ to{ background-position:28px 0; } }
.mi-tick{ position:absolute; top:0; bottom:0; width:1px; background:var(--border); }
.mi-fund-meta{ font-family:var(--mono); font-size:12px; letter-spacing:1px; color:var(--muted); margin:10px 0 0; min-height:1em; text-transform:uppercase; }
.mi-fund-note{ font-size:14px; color:var(--muted); margin:14px 0 0; }
.mi-fund-note.mi-en{ margin-top:2px; }
.mi-fund .mi-btn{ margin-top:20px; }
@media (prefers-reduced-motion: reduce){ .mi-bar-fill::after{ animation:none; } }

/* footer */
.mi-foot-grid{ display:grid; grid-template-columns:1fr; gap:28px 32px; margin-bottom:28px; }
@media (min-width:720px){ .mi-foot-grid{ grid-template-columns:1.3fr 1fr 1fr 1.3fr; } }
.mi-foot-col{ display:flex; flex-direction:column; gap:9px; }
.mi-foot-logo{ font-family:var(--display); font-size:18px; letter-spacing:1px; color:var(--cream); }
.mi-foot-brand p{ margin:0; font-family:var(--body); font-size:13.5px; line-height:1.55; color:var(--muted); letter-spacing:0; text-transform:none; }
.mi-foot-h{ font-family:var(--mono); font-weight:700; font-size:10.5px; letter-spacing:2px; text-transform:uppercase; color:var(--green); margin-bottom:2px; }
.mi-foot-h2{ margin-top:12px; }
.mi-foot-col a{ font-family:var(--body); font-size:14px; color:var(--cream); text-decoration:none; letter-spacing:0; text-transform:none; }
.mi-foot-col a:hover{ color:var(--green); }
.mi-foot-legal{ border-top:1px solid var(--border); padding-top:18px; font-family:var(--mono); font-size:11px; letter-spacing:1px; color:var(--muted); }
.mi-foot-legal a{ color:var(--muted); }

/* hero grid + bracket frame + caption + stat band */
.mi-hero-grid{ display:grid; grid-template-columns:1fr; gap:34px; align-items:start; }
@media (min-width:900px){ .mi-hero-grid{ grid-template-columns:1fr 1.15fr; } .mi-hero-media{ order:2; } .mi-hero-copy{ order:1; padding-top:18px; } }
.mi-frame{ position:relative; padding:14px; }
.mi-frame .mi-flyer{ margin:0; border:none; }
.mi-corner{ position:absolute; width:18px; height:18px; border:1px solid var(--green); }
.mi-c-tl{ top:0; left:0; border-right:none; border-bottom:none; }
.mi-c-tr{ top:0; right:0; border-left:none; border-bottom:none; }
.mi-c-bl{ bottom:0; left:0; border-right:none; border-top:none; }
.mi-c-br{ bottom:0; right:0; border-left:none; border-top:none; }
.mi-cap{ font-family:var(--mono); font-size:10px; letter-spacing:2px; color:var(--muted); margin:10px 2px 0; }
.mi-statband{ display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--border); background:var(--dark-2); margin-top:38px; }
@media (min-width:720px){ .mi-statband{ grid-template-columns:repeat(4,1fr); } }
.mi-stat{ padding:18px 16px 16px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.mi-stat:last-child{ border-right:none; }
@media (max-width:719px){ .mi-stat:nth-child(2n){ border-right:none; } .mi-stat:nth-child(n+3){ border-bottom:none; } }
@media (min-width:720px){ .mi-stat{ border-bottom:none; } }
.mi-stat-n{ display:block; font-family:var(--display); font-size:clamp(26px,4.5vw,40px); line-height:1; color:var(--green); font-variant-numeric:tabular-nums; }
.mi-stat-l{ display:block; font-family:var(--mono); font-size:10px; letter-spacing:1.6px; text-transform:uppercase; color:var(--muted); margin-top:7px; }

/* build log */
.mi-updates-list{ max-width:720px; }
.mi-update{ display:flex; gap:18px; padding:18px 0; border-bottom:1px solid var(--border); }
.mi-update:last-child{ border-bottom:none; }
.mi-update-date{ flex:0 0 64px; font-family:var(--mono); font-weight:700; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--orange); padding-top:3px; }
.mi-update-h{ font-family:var(--body); font-weight:700; font-size:17px; color:var(--cream); margin:0 0 6px; }
.mi-update-body p{ margin:0 0 4px; font-size:14.5px; color:var(--muted); }

/* instagram carousel */
.mi-media-track{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 2px 14px; -webkit-overflow-scrolling:touch; scrollbar-color:var(--green) var(--dark-2); }
.mi-media-item{ flex:0 0 min(78vw,330px); scroll-snap-align:start; background:var(--card); border:1px solid var(--border); padding:10px 10px 12px; }
.mi-media-item .instagram-media{ min-width:0 !important; width:100% !important; margin:0 0 8px !important; }
.mi-media-link{ display:block; font-family:var(--mono); font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--green); text-decoration:none; padding:4px 4px 0; }
.mi-media-link:hover{ color:var(--cream); }

/* availability date range */
.mi-avail-cap{ display:block; font-family:var(--mono); font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin:0 0 5px; }
.mi-avail-grid div{ min-width:0; }
.mi-form input[type=date]{ color-scheme:dark; min-height:48px; }

.mi-video-desc{ max-width:760px; font-size:14.5px; color:var(--muted); margin:14px 0 0; }
.mi-video-desc.mi-en{ margin-top:4px; }

.mi-strap{ font-family:var(--display); text-transform:uppercase; font-size:clamp(17px,2.6vw,24px); line-height:1.3; color:var(--cream); margin:4px 0 14px; max-width:640px; }

/* EN lines as digital captions in brand green: delineates the two languages */
.mi-en{ font-family:var(--mono); font-size:13px; line-height:1.6; letter-spacing:.4px; color:var(--green); }
.mi-sub.mi-en{ font-size:12.5px; }
.mi-fund-note.mi-en, .mi-video-desc.mi-en, .mi-note.mi-en{ color:var(--green); }
.mi-item-en{ font-family:var(--mono); font-size:10.5px; letter-spacing:.3px; color:var(--green); }
.mi-h1-en, .mi-en-h{ color:var(--green); }
.mi-update-body p.mi-en{ color:var(--green); font-size:12px; }
.mi-foot-brand p.mi-en{ font-family:var(--mono); font-size:11.5px; color:var(--green); }
.mi-btn-sponsor{ background:transparent; border:1px solid var(--orange); color:var(--orange); font-weight:400; }
.mi-btn-sponsor:hover{ background:var(--orange); color:#0D0E0A; }
.mi-brands{ background:var(--dark-2); }
.mi-jump{ position:sticky; top:0; z-index:40; display:flex; gap:4px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; background:var(--dark-bg); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:10px 16px; }
.mi-jump::-webkit-scrollbar{ display:none; }
.mi-jump a{ flex:0 0 auto; font-family:var(--mono); font-size:11px; letter-spacing:.6px; text-transform:uppercase; color:var(--green); text-decoration:none; padding:7px 12px; border:1px solid var(--border); border-radius:999px; white-space:nowrap; }
.mi-jump a:hover{ border-color:var(--green); }
.mi-sec, .mi-hero{ scroll-margin-top:64px; }
html{ scroll-behavior:smooth; }
.mi-req-note{ font-size:13px; color:var(--muted); margin:0 0 4px; }
.mi-req-note.mi-en{ margin-bottom:14px; }
.mi-field-hint{ font-size:12.5px; color:var(--muted); margin:-8px 0 14px; }
.mi-field-hint.mi-en{ margin-top:-10px; }

/* Hero CTAs: one uniform stack, same width/height/weight */
.mi-cta-row:has(#mi-sponsor-cta){ flex-direction:column; align-items:stretch; max-width:520px; gap:12px; }
.mi-cta-row:has(#mi-sponsor-cta) .mi-btn{ justify-content:center; text-align:center; font-weight:700; font-size:13px; letter-spacing:1.5px; padding:0 20px; min-height:54px; border:none; box-shadow:inset 0 0 0 1.5px currentColor; }
.mi-cta-row:has(#mi-sponsor-cta) .mi-btn-primary{ box-shadow:none; color:var(--dark-bg); }
.mi-cta-row:has(#mi-sponsor-cta) .mi-btn-ghost{ color:var(--green); }
.mi-cta-row:has(#mi-sponsor-cta) .mi-btn-ghost:hover{ background:var(--green); color:#0D0E0A; }
.mi-cta-row:has(#mi-sponsor-cta) .mi-btn-sponsor{ color:var(--orange); }
.mi-cta-row:has(#mi-sponsor-cta) .mi-btn-sponsor:hover{ background:var(--orange); color:#0D0E0A; }
@media (max-width:600px){ .mi-cta-row:has(#mi-sponsor-cta){ max-width:none; } .mi-cta-row:has(#mi-sponsor-cta) .mi-btn{ font-size:12px; letter-spacing:1px; } }

.mi-kick-follow{ font-size:16px; line-height:1.55; color:var(--cream, #EDE7D3); margin:18px 0 0; max-width:760px; }
.mi-kick-follow strong{ color:#53FC18; }
.mi-kick-follow.mi-en{ margin-top:8px; }

/* Crisp sans for the follow/explainer copy (Bitter + mono read as soft and busy) */
.mi-kick-follow{ font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-weight:400; font-size:16px; letter-spacing:0; line-height:1.55; -webkit-font-smoothing:antialiased; }
.mi-kick-follow strong{ font-weight:600; }
.mi-kick-follow.mi-en{ font-size:15px; color:var(--muted); }

/* Reactor design */
.mi-reactor-fig{ margin:22px 0 18px; background:#F4F3EF; border:1px solid var(--border); padding:18px; }
.mi-reactor-fig img{ display:block; width:100%; height:auto; max-height:360px; object-fit:contain; }
.mi-specs{ list-style:none; padding:0; margin:0 0 8px; display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.mi-specs li{ background:var(--card); border:1px solid var(--border); padding:14px 16px; }
.mi-specs b{ display:block; font-family:var(--display); font-weight:400; font-size:22px; color:var(--green); margin-bottom:4px; }
.mi-specs span{ font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:13px; line-height:1.45; color:var(--muted); }

.mi-reactor-fig figcaption.mi-credit{ margin:14px -18px -18px; padding:14px 18px; background:var(--dark-2); border-top:1px solid var(--border); font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:14px; line-height:1.5; color:var(--cream); }
.mi-credit span{ display:block; }
.mi-credit .mi-en{ color:var(--muted); font-size:13px; margin-top:4px; }
.mi-credit b{ color:var(--green); font-weight:600; }
.mi-credit a{ color:var(--green); text-decoration:underline; text-underline-offset:2px; }

/* Needs list: compact, grouped, collapsible */
.mi-needs-groups{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr)); gap:10px; align-items:start; margin-top:18px; }
.mi-ng{ background:var(--card); border:1px solid var(--border); }
.mi-ng > summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px; padding:12px 16px; font-family:var(--mono); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--cream); }
.mi-ng > summary::-webkit-details-marker{ display:none; }
.mi-ng > summary::before{ content:"+"; color:var(--orange); font-weight:700; width:1ch; }
.mi-ng[open] > summary::before{ content:"\2212"; }
.mi-ng > summary:focus-visible{ outline:2px solid var(--orange); outline-offset:-2px; }
.mi-ng-n{ margin-left:auto; color:var(--muted); font-size:10px; }
.mi-ng-list{ list-style:none; margin:0; padding:0 16px 8px; }
.mi-ng-item{ display:grid; grid-template-columns:52px 1fr auto; gap:10px; align-items:baseline; padding:9px 0; border-top:1px solid var(--border); }
.mi-ng-qty{ font-family:var(--mono); font-size:12px; color:var(--orange); }
.mi-ng-text{ display:flex; flex-direction:column; gap:1px; min-width:0; font-family:"Archivo","Helvetica Neue",Arial,sans-serif; }
.mi-ng-it{ font-size:15px; font-weight:500; color:var(--cream); line-height:1.35; }
.mi-ng-en{ font-size:13px; color:var(--green); line-height:1.35; }
.mi-ng-spec{ font-size:12px; color:var(--muted); line-height:1.4; }
.mi-ng-item .mi-chip{ font-size:9px; padding:3px 6px; white-space:nowrap; }
.mi-ng-item.mi-st-covered .mi-ng-it{ text-decoration:line-through; color:var(--muted); }

/* Tight fit: masonry columns (no row gaps), slimmer rows */
.mi-needs-groups{ display:block; columns:2 420px; column-gap:10px; }
.mi-ng{ break-inside:avoid; margin:0 0 10px; display:block; }
.mi-ng > summary{ padding:9px 14px; }
.mi-ng-list{ padding:0 14px 4px; }
.mi-ng-item{ grid-template-columns:28px 1fr auto; gap:8px; padding:6px 0; }
.mi-ng-it{ font-size:14px; }
.mi-ng-en{ font-size:12.5px; }
.mi-ng-spec{ font-size:11.5px; }

.mi-credit .mi-en, .mi-step-dl .mi-en{ font-family:"Archivo","Helvetica Neue",Arial,sans-serif; letter-spacing:0; }
.mi-step-dl{ display:flex; align-items:center; gap:14px; margin:0 0 16px; padding:12px 16px; border:1.5px solid var(--green); color:var(--cream); text-decoration:none; font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:14px; transition:background .15s; }
.mi-step-dl:hover, .mi-step-dl:focus-visible{ background:var(--card); outline:none; }
.mi-step-dl > span:last-child{ display:flex; flex-direction:column; }
.mi-step-dl .mi-en{ color:var(--muted); font-size:12.5px; }
.mi-step-k{ font-family:var(--mono); font-size:11px; letter-spacing:1.5px; color:var(--dark-bg); background:var(--green); padding:5px 8px; white-space:nowrap; }
.mi-specs span{ font-size:13px; }

/* 3D reactor viewer */
.mi-reactor-3d{ display:block; width:100%; height:min(62vw,440px); background:#F4F3EF; --poster-color:#F4F3EF; }
.mi-3d-hint{ margin:8px 0 0; font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:12px; color:#5d5b52; text-align:center; }
.mi-3d-hint .mi-en{ font-family:inherit; letter-spacing:0; color:#7a786e; }
.mi-reactor-fig figcaption.mi-credit{ margin-top:14px; }

/* Needs list: tap a row to offer it, or Select several */
.mi-ng-item{ grid-template-columns:28px 1fr auto; cursor:pointer; transition:background .12s; }
.mi-ng-item:hover, .mi-ng-item:focus-visible{ background:rgba(93,186,99,.06); outline:none; }
.mi-ng-item.mi-st-covered{ cursor:default; }
.mi-ng-item.is-picked{ background:rgba(93,186,99,.10); }
.mi-ng-side{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.mi-ng-pick{ font-family:var(--mono); font-size:10px; letter-spacing:1px; text-transform:uppercase; white-space:nowrap; padding:6px 9px; min-height:32px; background:transparent; color:var(--green); border:1px solid var(--green); cursor:pointer; }
.mi-ng-pick:hover{ background:var(--green); color:var(--dark-bg); }
.mi-ng-pick[aria-pressed="true"]{ background:var(--green); color:var(--dark-bg); }
.mi-picked{ display:flex; flex-wrap:wrap; gap:6px; margin:6px 0 10px; }
.mi-pchip{ display:inline-flex; align-items:center; gap:6px; padding:5px 6px 5px 10px; background:rgba(93,186,99,.12); border:1px solid var(--green); color:var(--cream); font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:13px; }
.mi-pchip button{ background:none; border:none; color:var(--green); font-size:18px; line-height:1; cursor:pointer; padding:0 4px; }
.mi-pickbar{ position:fixed; left:50%; bottom:16px; transform:translateX(-50%); z-index:9990; display:flex; align-items:center; gap:14px; padding:10px 12px 10px 16px; background:#14150F; border:1.5px solid var(--green); color:var(--cream); font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:14px; box-shadow:0 8px 24px rgba(0,0,0,.5); max-width:calc(100vw - 32px); }
.mi-pickbar[hidden]{ display:none; }
.mi-pickbar b{ color:var(--green); }
.mi-pickbar button{ font-family:var(--mono); font-size:11px; letter-spacing:1px; text-transform:uppercase; background:var(--orange); color:var(--dark-bg); border:none; padding:9px 12px; cursor:pointer; white-space:nowrap; }
@media (max-width:600px){ .mi-ng-pick{ font-size:9px; padding:5px 7px; } .mi-pickbar{ font-size:12px; gap:10px; } }

/* 3D viewer: overlay badge + clear, device-aware hint that fades after first use */
.mi-reactor-3d{ position:relative; }
.mi-3d-badge{ position:absolute; top:12px; left:12px; font-family:var(--mono); font-size:10px; letter-spacing:1.5px; color:#0D0E0A; background:var(--green); padding:5px 8px; pointer-events:none; }
.mi-3d-hint{ position:absolute; left:50%; bottom:14px; transform:translateX(-50%); display:flex; align-items:center; gap:12px; padding:10px 16px; background:rgba(13,14,10,.86); color:#EDE7D3; border:1px solid rgba(93,186,99,.6); font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:13.5px; line-height:1.45; text-align:left; max-width:calc(100% - 24px); pointer-events:none; transition:opacity .5s, transform .5s; }
.mi-3d-hint.is-done{ opacity:0; transform:translateX(-50%) translateY(8px); }
.mi-3d-hint b{ color:var(--green); font-weight:600; }
.mi-3d-hint .mi-en{ color:#A8A393; font-family:inherit; letter-spacing:0; font-size:12.5px; }
.mi-3d-ico{ font-size:24px; color:var(--green); line-height:1; animation:mi-spin 3s linear infinite; }
@keyframes mi-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .mi-3d-ico{ animation:none; } }
.mi-3d-mouse{ display:none; }
@media (hover:hover) and (pointer:fine){ .mi-3d-touch{ display:none; } .mi-3d-mouse{ display:inline; } }
@media (max-width:600px){ .mi-3d-hint{ font-size:12px; padding:8px 12px; } .mi-3d-hint .mi-en{ font-size:11.5px; } }

.mi-specs span{ display:block; }
.mi-spec-en{ display:block; margin-top:2px; font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-style:italic; font-size:12.5px; line-height:1.4; color:#8f8b7c; }
.mi-specs span, .mi-specs .mi-spec-en{ line-height:1.4; }
.mi-how-donate{ margin:14px 0 4px; padding:12px 16px; border-left:3px solid var(--green); background:var(--card); font-family:"Archivo","Helvetica Neue",Arial,sans-serif; }
.mi-how-donate p{ margin:0; font-size:14.5px; line-height:1.5; color:var(--cream); }
.mi-how-donate b{ color:var(--green); font-weight:600; }
.mi-how-donate .mi-how-en{ margin-top:6px; font-style:italic; font-size:13.5px; color:var(--muted); }
.mi-how-donate .mi-how-en b{ color:var(--muted); }

/* Social follow row under the build videos */
.mi-socials{ margin-top:26px; }
.mi-soc-h{ margin:0 0 12px; font-family:"Archivo","Helvetica Neue",Arial,sans-serif; font-size:16px; font-weight:600; color:var(--cream); }
.mi-soc-h .mi-en{ font-family:inherit; font-style:italic; font-weight:400; font-size:14px; color:var(--muted); letter-spacing:0; }
.mi-soc-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.mi-soc-a{ display:flex; align-items:center; gap:12px; padding:12px 14px; min-height:56px; background:var(--card); border:1px solid var(--border); color:var(--cream); text-decoration:none; transition:border-color .15s, background .15s; }
.mi-soc-a svg{ width:22px; height:22px; flex:none; fill:currentColor; }
.mi-soc-a span{ display:flex; flex-direction:column; line-height:1.25; font-family:"Archivo","Helvetica Neue",Arial,sans-serif; min-width:0; }
.mi-soc-a b{ font-size:14px; font-weight:600; }
.mi-soc-a i{ font-style:normal; font-size:12px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mi-soc-a:hover, .mi-soc-a:focus-visible{ border-color:var(--green); background:#1F2018; outline:none; }
.mi-soc-instagram svg{ color:#E1306C; } .mi-soc-tiktok svg{ color:#EDE7D3; } .mi-soc-youtube svg{ color:#FF0000; }
.mi-soc-kick svg{ color:#53FC18; } .mi-soc-x svg{ color:#EDE7D3; } .mi-soc-facebook svg{ color:#1877F2; }
/* Mobile: button drops under the item text instead of squeezing it */
.mi-ng-text{ min-width:0; overflow-wrap:anywhere; }
@media (max-width:700px){
  .mi-ng-item{ grid-template-columns:24px minmax(0,1fr); row-gap:8px; align-items:start; }
  .mi-ng-side{ grid-column:2; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
  .mi-ng-pick{ white-space:normal; text-align:left; }
}
.mi-kick-when{ font-family:var(--mono); font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:#53FC18; line-height:1.6; margin-top:4px; }
.mi-kick-cta{ font-family:var(--mono); font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--cream); }
