/* ============================================================
   MONEY DIPLOMATIC — 2026 ART DIRECTION — HOMEPAGE (PRODUCTION)
   Scope: index.html only. Does not touch or replace
   css/money-diplomatic-site.css, which every other W5 page still uses.
   Base direction: Institutional Cinematic + Financial Editorial,
   with a restrained secondary "data" hue used only in the AI section.
   Validated in the 2026 Design Lab (art-home-2026.html / art-pricing-2026.html).
   All component classes are namespaced with the md26- prefix so this
   stylesheet can never collide with the legacy md- system.
   ============================================================ */

:root{
  --bg-0: #000000;
  --bg-1: #030303;
  --bg-2: #050505;
  --bg-3: #080808;
  --bg-4: #0C0C0C;
  --hair: #1A1A1A;
  --hair-2: #141414;
  --text-1: #F2F0EC;
  --text-2: #ADABA4;
  --text-3: #6E6C66;
  --copper: #C9895C;
  --copper-deep: #8F5330;
  --copper-ink: #1A0F08;
  --data-cool: #5C7A8A;

  --f-display: 'Fraunces', Georgia, serif;
  --f-editorial: 'Archivo', 'IBM Plex Sans', sans-serif;
  --f-body: 'IBM Plex Sans', -apple-system, sans-serif;
  --f-mono: 'IBM Plex Mono', 'SF Mono', monospace;

  --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-8: 32px;
  --sp-10: 40px; --sp-12: 48px; --sp-16: 64px; --sp-20: 80px; --sp-24: 96px; --sp-32: 128px;
}

/* ================= RESET (scoped to this page's body only) ================= */
body.md26{
  margin: 0; background: var(--bg-0); color: var(--text-1);
  font-family: var(--f-body); font-size: 16px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; overflow-x: hidden; position: relative;
}
.md26 *, .md26 *::before, .md26 *::after{ box-sizing: border-box; }
.md26 h1, .md26 h2, .md26 h3, .md26 p, .md26 ul, .md26 figure{ margin: 0; padding: 0; }
.md26 ul{ list-style: none; }
.md26 a{ color: inherit; text-decoration: none; }
.md26 img, .md26 svg{ display: block; max-width: 100%; }
.md26 h1, .md26 h2, .md26 h3{ text-wrap: balance; }
.md26 button{ font: inherit; background: none; border: none; color: inherit; cursor: pointer; }
.md26 :focus-visible{ outline: 1px solid var(--copper); outline-offset: 4px; }
html:has(body.md26){ scroll-behavior: smooth; background: var(--bg-0); }

.md26-skip-link{
  position: absolute; left: -9999px; top: 0; z-index: 1000; background: var(--copper);
  color: var(--copper-ink); padding: 12px 20px; font-family: var(--f-mono); font-size: 13px;
}
.md26-skip-link:focus{ left: 12px; top: 12px; }

.md26 main, .md26-footer{ position: relative; z-index: 1; }

/* ================= AMBIENT DATA TOPOLOGY (fixed, very low opacity) ================= */
.md26-bg-grid{
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(242,240,236,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242,240,236,0.028) 1px, transparent 1px);
  background-size: 88px 88px;
  -webkit-mask-image: radial-gradient(ellipse 78% 62% at 50% 26%, black 0%, transparent 78%);
  mask-image: radial-gradient(ellipse 78% 62% at 50% 26%, black 0%, transparent 78%);
}
.md26-crop-marks{ position: relative; }
.md26-crop-marks::before, .md26-crop-marks::after{
  content: ""; position: absolute; width: 13px; height: 13px; pointer-events: none; opacity: 0.7; z-index: 1;
}
.md26-crop-marks::before{ top: 26px; left: 48px; border-top: 1px solid var(--hair-2); border-left: 1px solid var(--hair-2); }
.md26-crop-marks::after{ bottom: 26px; right: 48px; border-bottom: 1px solid var(--hair-2); border-right: 1px solid var(--hair-2); }
@media (max-width: 900px){ .md26-crop-marks::before{ left: 28px; } .md26-crop-marks::after{ right: 28px; } }
.md26-section-mark{
  position: absolute; top: 30px; right: 48px; font-family: var(--f-mono); font-size: 9.5px;
  letter-spacing: 0.14em; color: var(--text-3); opacity: 0.55; text-transform: uppercase; z-index: 1;
  display: flex; align-items: center; gap: 8px;
}
.md26-section-mark::before{ content: ""; width: 5px; height: 5px; border: 1px solid var(--text-3); flex-shrink: 0; }
@media (max-width: 900px){ .md26-section-mark{ right: 28px; } }

.md26-container{ max-width: 1360px; margin: 0 auto; padding: 0 48px; position: relative; z-index: 1; }
@media (max-width: 900px){ .md26-container{ padding: 0 28px; } }

.md26-eyebrow{
  font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--copper); font-weight: 600; display: inline-flex; align-items: center; gap: 10px;
}
.md26-eyebrow::before{ content: ""; width: 14px; height: 1px; background: var(--copper); display: inline-block; }
.md26-section-border{ border-top: 1px solid var(--hair); position: relative; }

.md26-btn{
  font-family: var(--f-mono); font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--text-2); padding: 13px 26px; border: 1px solid var(--hair);
  transition: border-color 300ms ease, color 300ms ease; display: inline-block;
}
.md26-btn span{ display: inline-block; transition: transform 300ms cubic-bezier(.16,1,.3,1); }
.md26-btn:hover{ border-color: var(--copper); color: var(--copper); }
.md26-btn:hover span{ transform: translateX(3px); }

.md26-btn-line{
  position: relative; font-family: var(--f-mono); font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--text-1); padding-bottom: 8px; display: inline-flex; align-items: center; gap: 10px;
}
.md26-btn-line::after{ content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: var(--hair); }
.md26-btn-line::before{ content: ""; position: absolute; left: 0; bottom: 0; width: 0%; height: 1px; background: var(--copper); transition: width 420ms cubic-bezier(.16,1,.3,1); }
.md26-btn-line:hover::before{ width: 100%; }
.md26-btn-line svg{ width: 13px; height: 13px; transition: transform 300ms cubic-bezier(.16,1,.3,1); }
.md26-btn-line:hover svg{ transform: translateX(5px); }

/* ================= NAV ================= */
.md26-nav{
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  padding: 26px 0; transition: background 400ms ease, padding 400ms ease, border-color 400ms ease;
  border-bottom: 1px solid transparent;
}
.md26-nav.is-scrolled{ background: rgba(0,0,0,0.82); backdrop-filter: blur(14px); padding: 16px 0; border-bottom-color: var(--hair); }
.md26-nav__inner{ display: flex; align-items: center; justify-content: space-between; }
.md26-nav__wordmark{ font-family: var(--f-editorial); font-weight: 700; font-size: 14.5px; letter-spacing: 0.04em; color: var(--text-1); }
.md26-nav__links{ display: flex; align-items: center; gap: 44px; }
.md26-nav__link{ position: relative; font-family: var(--f-mono); font-size: 12.5px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-2); padding: 6px 0; transition: color 250ms ease; }
.md26-nav__link::after{ content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--copper); transition: right 320ms cubic-bezier(.16,1,.3,1); }
.md26-nav__link:hover, .md26-nav__link.is-active{ color: var(--text-1); }
.md26-nav__link:hover::after, .md26-nav__link.is-active::after{ right: 0; }
.md26-nav__cta{
  font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--text-1); padding: 10px 22px; border: 1px solid var(--hair); position: relative; overflow: hidden;
  transition: border-color 300ms ease, color 300ms ease;
}
.md26-nav__cta span{ position: relative; z-index: 1; }
.md26-nav__cta::before{ content: ""; position: absolute; inset: 0; background: var(--copper); transform: translateX(-101%); transition: transform 380ms cubic-bezier(.16,1,.3,1); z-index: 0; }
.md26-nav__cta:hover{ border-color: var(--copper); color: var(--copper-ink); }
.md26-nav__cta:hover::before{ transform: translateX(0); }
.md26-nav__mobile-toggle{ display: none; font-size: 20px; color: var(--text-1); }
@media (max-width: 860px){
  .md26-nav__links{
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: rgba(0,0,0,0.96); border-bottom: 1px solid var(--hair);
    flex-direction: column; align-items: flex-start; gap: 0; padding: 8px 28px 20px;
  }
  .md26-nav__links.is-open{ display: flex; }
  .md26-nav__links .md26-nav__link{ width: 100%; padding: 14px 0; border-bottom: 1px solid var(--hair-2); }
  .md26-nav__mobile-toggle{ display: block; }
}

/* ================= HERO ================= */
.md26-hero{ position: relative; min-height: 100vh; display: flex; align-items: center; padding: 160px 0 80px; overflow: hidden; }
.md26-hero__glow{
  position: absolute; right: -10%; top: 50%; transform: translateY(-50%);
  width: 640px; height: 640px; border-radius: 50%; z-index: 0; pointer-events: none;
  background: radial-gradient(circle, rgba(201,137,92,0.06) 0%, rgba(201,137,92,0.02) 42%, transparent 72%);
}
.md26-hero__grid{ display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 40px; align-items: center; position: relative; z-index: 2; }
@media (max-width: 1100px){ .md26-hero__grid{ grid-template-columns: 1fr; } }
.md26-hero__eyebrow{ margin-bottom: 28px; }
.md26-hero__title{
  font-family: var(--f-display); font-style: italic; font-weight: 600;
  font-size: clamp(3.4rem, 7.2vw, 7.4rem); line-height: 0.98; letter-spacing: -0.02em; color: var(--text-1);
  margin-bottom: 30px;
}
.md26-hero__title em{ font-style: italic; color: var(--copper); }
.md26-hero__sub{ font-size: 17px; line-height: 1.65; color: var(--text-2); max-width: 46ch; margin-bottom: 44px; }
.md26-hero__actions{ display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }

.md26-hero__visual{ position: relative; height: 560px; }
@media (max-width: 1100px){ .md26-hero__visual{ height: 380px; margin-top: 20px; } }
.md26-hero__visual svg{ width: 100%; height: 100%; overflow: visible; position: relative; z-index: 1; }
.md26-band-label{ font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.16em; fill: var(--text-3); text-transform: uppercase; }
.md26-band-line{ stroke: var(--hair); stroke-width: 1; }
.md26-tick{ stroke: var(--hair-2); stroke-width: 1; }
.md26-tech-label{ font-family: var(--f-mono); font-size: 8.5px; letter-spacing: 0.08em; fill: var(--text-3); animation: md26LabelFade 6.5s ease-in-out infinite; }
@keyframes md26LabelFade{ 0%,100%{ opacity: 0; } 15%,45%{ opacity: 0.85; } 60%{ opacity: 0; } }
.md26-structure-line{ stroke: var(--copper); stroke-width: 1; fill: none; stroke-dasharray: 6 10; opacity: 0.55; animation: md26StructureDraw 7s ease-in-out infinite; }
@keyframes md26StructureDraw{ 0%{ stroke-dashoffset: 220; opacity: 0; } 30%{ opacity: 0.6; } 70%{ stroke-dashoffset: 0; opacity: 0.6; } 100%{ stroke-dashoffset: -220; opacity: 0; } }
.md26-frag{ offset-rotate: 0deg; animation: md26Travel linear infinite; }
.md26-frag circle{ fill: var(--text-2); }
.md26-frag.c1 circle{ fill: var(--copper); }
@keyframes md26Travel{ 0%{ offset-distance: 0%; opacity: 0; } 8%{ opacity: 0.9; } 92%{ opacity: 0.9; } 100%{ offset-distance: 100%; opacity: 0; } }
.md26-decision-node{ animation: md26NodePulse 3.4s ease-in-out infinite; transform-origin: center; }
@keyframes md26NodePulse{ 0%,100%{ opacity: 0.7; } 50%{ opacity: 1; } }
.md26-decision-ring{ animation: md26RingPulse 3.4s ease-in-out infinite; transform-origin: center; }
@keyframes md26RingPulse{ 0%,100%{ r: 14; opacity: 0.5; } 50%{ r: 20; opacity: 0; } }
.md26-decision-tag{ font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.1em; fill: var(--copper); text-transform: uppercase; }

/* ================= PRODUCT FILM (placeholder — no real video) ================= */
.md26-film{ padding: var(--sp-20) 0; }
.md26-film-head{ text-align: center; max-width: 640px; margin: 0 auto var(--sp-10); padding: 0 28px; }
.md26-film-head h2{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(2rem, 3.6vw, 3.2rem); margin-top: 20px; color: var(--text-1); }
.md26-film-frame{ position: relative; width: 100%; aspect-ratio: 16 / 9; border: 1px solid var(--hair); background: linear-gradient(180deg, var(--bg-1), var(--bg-0)); overflow: hidden; }
.md26-film-frame__grid{
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(242,240,236,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(242,240,236,0.03) 1px, transparent 1px);
  background-size: 64px 64px;
}
.md26-film-frame__paths{ position: absolute; inset: 0; width: 100%; height: 100%; }
.md26-film-path{ stroke: var(--hair-2); stroke-width: 1; fill: none; stroke-dasharray: 900; stroke-dashoffset: 900; opacity: 0.7; animation: md26FilmDraw 15s ease-in-out infinite; }
@keyframes md26FilmDraw{ 0%{ stroke-dashoffset: 900; } 45%,55%{ stroke-dashoffset: 0; } 100%{ stroke-dashoffset: -900; } }

/* .md26-product-film — dedicated, swappable slot: replace this element's content
   with a real <video> once a product film exists. Nothing here implies real playback. */
.md26-product-film{ position: absolute; inset: 0; }
.md26-film-sequence{ position: absolute; inset: 0; }
.md26-film-phase{
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center;
  justify-content: center; gap: 14px; padding: 0 32px; text-align: center; opacity: 0;
  transform: translateY(14px); animation: md26FilmPhaseCycle 18s ease-in-out infinite;
}
.md26-film-phase--2{ animation-delay: 4s; }
.md26-film-phase--3{ animation-delay: 8s; }
.md26-film-phase--4{ animation-delay: 12s; }
@keyframes md26FilmPhaseCycle{
  0%{ opacity: 0; transform: translateY(14px); }
  4%{ opacity: 1; transform: translateY(0); }
  18%{ opacity: 1; transform: translateY(0); }
  22%{ opacity: 0; transform: translateY(-14px); }
  100%{ opacity: 0; transform: translateY(-14px); }
}
.md26-film-phase__word{
  font-family: var(--f-editorial); font-weight: 900; text-transform: uppercase;
  font-size: clamp(2rem, 6vw, 4.4rem); letter-spacing: -0.01em; line-height: 1; color: var(--text-1);
}
.md26-film-phase--4 .md26-film-phase__word{ color: var(--copper); }
.md26-film-phase__line{ font-family: var(--f-body); font-size: 15px; color: var(--text-2); max-width: 36ch; }
.md26-film-signature{
  display: block; margin-top: 4px; font-family: var(--f-mono); font-size: 10.5px;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-3); opacity: 0.85;
}
.md26-film-static{ display: none; }
.md26-film-frame__label{
  position: absolute; left: 24px; bottom: 20px; font-family: var(--f-mono); font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-3); opacity: 0.7; z-index: 2;
}
@media (max-width: 640px){
  .md26-film-frame__label{ left: 14px; bottom: 12px; font-size: 9px; }
  .md26-film-phase{ gap: 10px; padding: 0 20px; }
  .md26-film-phase__line{ font-size: 13.5px; }
}

/* ================= PRODUCT ARCHITECTURE — STICKY SEQUENCE ================= */
.md26-architecture{ position: relative; padding-top: var(--sp-20); }
.md26-arch-intro{ max-width: 720px; margin: 0 auto var(--sp-16); text-align: center; padding: 0 28px; }
.md26-arch-intro h2{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(2rem, 3.6vw, 3.2rem); margin-top: 20px; color: var(--text-1); }
.md26-arch-scroll{ position: relative; }
.md26-arch-sticky{ position: sticky; top: 0; height: 100vh; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
@media (max-width: 900px){ .md26-arch-sticky{ grid-template-columns: 1fr; } }
.md26-arch-label__num{ font-family: var(--f-mono); font-size: 13px; color: var(--copper); display: block; margin-bottom: 14px; letter-spacing: 0.1em; }
.md26-arch-label__name{ font-family: var(--f-editorial); font-weight: 900; font-size: clamp(2.2rem, 4.2vw, 3.8rem); letter-spacing: -0.01em; display: block; text-transform: uppercase; line-height: 1; }
.md26-arch-label__desc{ font-size: 15px; color: var(--text-2); max-width: 40ch; margin-top: 22px; line-height: 1.65; }
.md26-arch-visual{ position: relative; height: 440px; }
.md26-arch-visual svg{ width: 100%; height: 100%; overflow: visible; }
.md26-arch-trigger{ height: 100vh; }
.md26-arch-progress{ position: absolute; left: -32px; top: 0; bottom: 0; width: 1px; background: var(--hair); }
@media (max-width: 900px){ .md26-arch-progress{ display: none; } }
.md26-arch-progress i{ position: absolute; left: -1px; top: 0; width: 3px; background: var(--copper); height: 25%; transition: height 600ms cubic-bezier(.16,1,.3,1); }

.md26-dot{ fill: var(--text-2); transition: cx 900ms cubic-bezier(.16,1,.3,1), cy 900ms cubic-bezier(.16,1,.3,1), r 500ms ease, fill 500ms ease; }
.md26-dot.on{ fill: var(--copper); }
.md26-dot.ai-tint{ fill: var(--data-cool); }
.md26-grid-line{ stroke: var(--hair); stroke-width: 1; opacity: 0; transition: opacity 600ms ease; }
.md26-model-line{ stroke: var(--copper); stroke-width: 1.2; fill: none; opacity: 0; stroke-dasharray: 480; stroke-dashoffset: 480; transition: opacity 600ms ease, stroke-dashoffset 1100ms cubic-bezier(.16,1,.3,1); }
.md26-model-line--secondary{ opacity: 0 !important; }
.md26-plane{ opacity: 0; transition: opacity 700ms ease; }
.md26-plane-ai{ stroke: var(--data-cool); }
.md26-arch-visual[data-stage="2"] .md26-grid-line,
.md26-arch-visual[data-stage="3"] .md26-grid-line,
.md26-arch-visual[data-stage="4"] .md26-grid-line{ opacity: 1; }
.md26-arch-visual[data-stage="4"] .md26-grid-line{ opacity: 0.3; }
.md26-arch-visual[data-stage="2"] .md26-model-line,
.md26-arch-visual[data-stage="3"] .md26-model-line,
.md26-arch-visual[data-stage="4"] .md26-model-line{ opacity: 0.8; stroke-dashoffset: 0; }
.md26-arch-visual[data-stage="2"] .md26-model-line--secondary,
.md26-arch-visual[data-stage="3"] .md26-model-line--secondary{ opacity: 0.4 !important; stroke-dashoffset: 0; }
.md26-arch-visual[data-stage="4"] .md26-model-line{ opacity: 0.22; }
.md26-arch-visual[data-stage="3"] .md26-plane{ opacity: 1; }
.md26-arch-visual[data-stage="4"] .md26-plane{ opacity: 0.22; }
.md26-arch-ring, .md26-arch-core{ opacity: 0; transition: opacity 600ms ease; }
.md26-arch-visual[data-stage="4"] .md26-arch-ring, .md26-arch-visual[data-stage="4"] .md26-arch-core{ opacity: 1; }
.md26-arch-core{ animation: md26NodePulse 3.4s ease-in-out infinite; transform-origin: center; }
.md26-stage-label{ font-family: var(--f-mono); font-size: 9.5px; letter-spacing: 0.16em; fill: var(--data-cool); text-transform: uppercase; opacity: 0; transition: opacity 500ms ease; }
.md26-arch-visual[data-stage="3"] .md26-stage-label.l3{ opacity: 0.9; }
.md26-stage-label.l4{ fill: var(--copper); }
.md26-arch-visual[data-stage="4"] .md26-stage-label.l4{ opacity: 0.9; }

/* ================= MOMENT SECTIONS (shared shell) ================= */
.md26-moment{ padding: var(--sp-24) 0; position: relative; }
.md26-moment__head{ display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: var(--sp-16); }
.md26-moment__title{ font-family: var(--f-editorial); font-weight: 900; font-size: clamp(1.9rem, 3.4vw, 3rem); letter-spacing: -0.01em; max-width: 620px; margin-top: 14px; }
.md26-moment__note{ font-size: 14.5px; color: var(--text-2); max-width: 320px; text-align: right; line-height: 1.6; }
@media (max-width: 760px){ .md26-moment__note{ text-align: left; } }
.md26-moment__panel{ border: 1px solid var(--hair); background: var(--bg-2); min-height: 380px; position: relative; overflow: hidden; }

/* ---- Market Intelligence ---- */
.md26-market-panel{ display: flex; flex-direction: column; justify-content: center; gap: 0; padding: 56px; }
@media (max-width: 640px){ .md26-market-panel{ padding: 32px 24px; } }
.md26-market-session{ display: grid; grid-template-columns: 110px 1fr; gap: 20px; align-items: center; margin-bottom: 30px; }
.md26-market-session__label{ font-family: var(--f-mono); font-size: 10px; letter-spacing: 0.12em; color: var(--text-3); text-transform: uppercase; }
.md26-market-session__track{ position: relative; height: 20px; display: flex; }
.md26-market-session__seg{ flex: 1; border-right: 1px solid var(--hair-2); display: flex; align-items: flex-end; padding-bottom: 3px; }
.md26-market-session__seg:last-child{ border-right: none; }
.md26-market-session__seg span{ font-family: var(--f-mono); font-size: 8.5px; letter-spacing: 0.1em; color: var(--text-3); opacity: 0.7; padding-left: 4px; }
.md26-market-session__now{ position: absolute; top: -2px; bottom: -2px; width: 1px; background: var(--copper); animation: md26SessionDrift 42s linear infinite; }
.md26-market-session__now::before{ content: ""; position: absolute; top: -3px; left: -2px; width: 5px; height: 5px; border-radius: 50%; background: var(--copper); }
@keyframes md26SessionDrift{ 0%{ left: 0%; opacity: 0; } 4%{ opacity: 1; } 96%{ opacity: 1; } 100%{ left: 100%; opacity: 0; } }
.md26-market-envelope{ position: relative; height: 64px; margin-bottom: 34px; }
.md26-market-envelope svg{ width: 100%; height: 100%; overflow: visible; }
.md26-envelope-band{ fill: rgba(201,137,92,0.07); animation: md26EnvelopeBreathe 9s ease-in-out infinite; transform-origin: center; }
.md26-envelope-mid{ stroke: var(--hair-2); stroke-width: 1; fill: none; }
@keyframes md26EnvelopeBreathe{ 0%,100%{ transform: scaleY(1); } 50%{ transform: scaleY(1.4); } }
.md26-corr-line{ stroke: var(--text-3); stroke-width: 1; fill: none; opacity: 0.22; animation: md26CorrBreathe 8s ease-in-out infinite; }
@keyframes md26CorrBreathe{ 0%,100%{ opacity: 0.14; } 50%{ opacity: 0.4; } }
.md26-regime{ display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 20px; padding: 11px 0; }
.md26-regime:hover .md26-regime__label{ color: var(--copper); }
.md26-regime__label{ font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.1em; color: var(--text-2); transition: color 250ms ease; }
.md26-regime__track{ position: relative; height: 1px; background: var(--hair-2); }
.md26-regime__band{ position: absolute; top: -7px; height: 15px; background: linear-gradient(90deg, transparent, rgba(201,137,92,0.16), transparent); animation: md26Breathe 7s ease-in-out infinite; border-radius: 2px; }
@keyframes md26Breathe{ 0%,100%{ opacity: 0.35; transform: scaleX(1); } 50%{ opacity: 0.9; transform: scaleX(1.08); } }
.md26-regime__tick{ position: absolute; top: -3px; width: 1px; height: 7px; background: var(--text-3); }

/* ---- Research Intelligence ---- */
.md26-research-panel{ display: grid; grid-template-columns: 0.9fr 1.2fr 1fr; gap: 0; position: relative; }
@media (max-width: 900px){ .md26-research-panel{ grid-template-columns: 1fr; } }
.md26-research-spine{ position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--hair); overflow: hidden; }
.md26-research-spine i{ position: absolute; top: 0; left: -18%; width: 18%; height: 100%; background: linear-gradient(90deg, transparent, var(--copper), transparent); animation: md26SpineTravel 6s linear infinite; }
@keyframes md26SpineTravel{ from{ left: -18%; } to{ left: 100%; } }
.md26-research-col{ padding: 44px 32px; border-right: 1px solid var(--hair); }
.md26-research-col:last-child{ border-right: none; }
.md26-research-sources{ display: flex; flex-direction: column; gap: 14px; }
.md26-research-source{ font-family: var(--f-mono); font-size: 13.5px; color: var(--text-3); opacity: 0; transform: translateX(-8px); transition: opacity 600ms ease, transform 250ms ease, color 250ms ease; }
.md26-research-source.in{ opacity: 1; transform: translateX(0); }
.md26-research-source:hover{ color: var(--text-1); transform: translateX(3px); }
.md26-research-flow{ display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 18px; height: 100%; }
.md26-research-flow__step{ font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.14em; color: var(--text-3); text-transform: uppercase; }
.md26-research-flow__arrow{ position: relative; width: 1px; height: 22px; background: var(--hair); overflow: visible; }
.md26-research-flow__arrow i{ position: absolute; left: -1.5px; top: -4px; width: 4px; height: 4px; border-radius: 50%; background: var(--copper); opacity: 0; animation: md26FlowPulse 3.2s ease-in-out infinite; }
@keyframes md26FlowPulse{ 0%{ top: -4px; opacity: 0; } 15%{ opacity: 1; } 85%{ opacity: 1; } 100%{ top: 22px; opacity: 0; } }
.md26-research-output{ display: flex; flex-direction: column; justify-content: center; height: 100%; }
.md26-research-output h4{ font-family: var(--f-editorial); font-weight: 800; font-size: 22px; color: var(--text-1); margin-bottom: 12px; }
.md26-research-output p{ font-size: 13.5px; color: var(--text-3); line-height: 1.6; }

/* ---- AI Intelligence (secondary "data" hue used deliberately here only) ---- */
.md26-ai-panel{ background: var(--bg-1); padding: 60px 56px 60px 76px; display: flex; flex-direction: column; gap: 0; position: relative; }
@media (max-width: 640px){ .md26-ai-panel{ padding: 36px 24px 36px 44px; } }
.md26-ai-circuit{ position: absolute; top: 60px; bottom: 60px; left: 40px; width: 1px; background: var(--hair-2); }
@media (max-width: 640px){ .md26-ai-circuit{ left: 20px; top: 36px; bottom: 36px; } }
.md26-ai-circuit i{ position: absolute; left: -2px; width: 5px; height: 5px; border-radius: 50%; background: var(--text-2); bottom: 0; animation: md26AiCirculate 4.5s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes md26AiCirculate{
  0%{ bottom: 0%; opacity: 0; background: var(--text-2); box-shadow: none; }
  8%{ opacity: 1; }
  70%{ bottom: 74%; background: var(--text-2); box-shadow: none; }
  85%{ background: var(--data-cool); box-shadow: 0 0 8px rgba(92,122,138,0.7); }
  96%{ bottom: 100%; opacity: 1; background: var(--data-cool); }
  100%{ bottom: 100%; opacity: 0; }
}
.md26-ai-layer{ display: grid; grid-template-columns: 160px 1fr; align-items: center; gap: 24px; padding: 20px 0; border-top: 1px solid var(--hair-2); position: relative; transition: transform 250ms ease; }
.md26-ai-layer:first-child{ border-top: none; }
.md26-ai-layer:hover{ transform: translateX(3px); }
.md26-ai-layer__label{ font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.08em; color: var(--text-2); text-transform: uppercase; }
.md26-ai-layer__bar{ position: relative; height: 34px; border: 1px solid var(--hair); background: var(--bg-3); box-shadow: 0 6px 14px -8px rgba(0,0,0,0.7); transition: box-shadow 250ms ease, border-color 250ms ease; }
.md26-ai-layer:hover .md26-ai-layer__bar{ border-color: var(--text-3); }
.md26-ai-layer__fill{ position: absolute; inset: 0; background: rgba(242,240,236,0.06); }
.md26-ai-layer--interpretation{ border-top: 1px dashed var(--data-cool); margin-top: 4px; padding-top: 24px; }
.md26-ai-layer--interpretation .md26-ai-layer__label{ color: var(--data-cool); }
.md26-ai-layer--interpretation .md26-ai-layer__bar{ border-color: var(--data-cool); background: rgba(92,122,138,0.08); box-shadow: 0 8px 20px -10px rgba(92,122,138,0.45); }
.md26-ai-layer--interpretation .md26-ai-layer__fill{ background: repeating-linear-gradient(45deg, rgba(92,122,138,0.12) 0 6px, transparent 6px 12px); animation: md26AiShift 5s linear infinite; }
@keyframes md26AiShift{ from{ background-position: 0 0; } to{ background-position: 34px 0; } }
.md26-ai-note{ font-size: 13.5px; color: var(--text-3); max-width: 56ch; margin-top: 26px; line-height: 1.6; }
.md26-ai-note strong{ color: var(--data-cool); font-weight: 600; }

/* ================= TERMINAL / PRODUCT CONTEXT ================= */
.md26-context{ padding: var(--sp-16) 0; }
.md26-context__inner{ display: grid; grid-template-columns: 200px 1fr; gap: 48px; }
@media (max-width: 760px){ .md26-context__inner{ grid-template-columns: 1fr; gap: 20px; } }
.md26-context__num{ font-family: var(--f-mono); font-size: 13px; color: var(--text-3); }
.md26-context__text{ font-size: 20px; line-height: 1.6; color: var(--text-2); max-width: 62ch; }
.md26-context__text strong{ color: var(--text-1); font-weight: 600; }
.md26-context__link{ margin-top: 26px; display: inline-block; }

/* ================= PRICING PREVIEW ================= */
.md26-pricing{ padding: var(--sp-20) 0; position: relative; }
.md26-pricing-hero{ text-align: center; position: relative; padding: 32px 0; }
.md26-pricing-figure{ display: flex; align-items: flex-start; justify-content: center; gap: 14px; margin: 22px 0 4px; position: relative; }
.md26-pricing-figure__num{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(5rem, 12vw, 9rem); line-height: 0.88; color: var(--text-1); position: relative; }
.md26-pricing-figure__num::after{ content:""; position:absolute; left:4px; right:4px; bottom:10px; height:2px; background:var(--copper); transform:scaleX(0); transform-origin:left; animation:md26FigureUnderline 1s cubic-bezier(.16,1,.3,1) 0.4s forwards; }
@keyframes md26FigureUnderline{ to{ transform:scaleX(1); } }
.md26-pricing-figure__unit{ font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.1em; color: var(--text-3); margin-top: 26px; text-transform: uppercase; }
.md26-pricing-figure__annual{ font-family: var(--f-mono); font-size: 14px; color: var(--text-2); margin-bottom: 36px; }
.md26-pricing-figure__annual span{ color: var(--text-3); }
.md26-pricing-early{ display: flex; align-items: center; justify-content: center; gap: 28px; padding-top: 30px; margin: 0 auto 36px; max-width: 460px; position: relative; }
.md26-pricing-early::before{ content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 1px; background: var(--copper); animation: md26PricingLine 1.8s cubic-bezier(.16,1,.3,1) 0.3s forwards; }
@keyframes md26PricingLine{ to{ width: 100%; } }
.md26-pricing-early__num{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 2.4rem; color: var(--copper); flex-shrink: 0; }
.md26-pricing-early__num span{ font-family: var(--f-mono); font-size: 11px; color: var(--text-3); font-style: normal; margin-left: 4px; }
.md26-pricing-early__meta{ text-align: left; }
.md26-pricing-early__tag{ display: block; font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--copper); margin-bottom: 4px; }
.md26-pricing-early__note{ font-size: 12.5px; color: var(--text-2); max-width: 32ch; }
.md26-pricing-early__fine{ font-size: 11px; color: var(--text-3); opacity: 0.8; max-width: 36ch; margin-top: 4px; }
@media (max-width: 560px){ .md26-pricing-early{ flex-direction: column; text-align: center; gap: 10px; } .md26-pricing-early__meta{ text-align: center; } }

/* ================= FINAL CTA ================= */
.md26-final-cta{ padding: var(--sp-24) 0; text-align: center; }
.md26-final-cta h2{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(2.4rem, 5.4vw, 5rem); line-height: 1.02; max-width: 900px; margin: 0 auto 40px; }

/* ================= FOOTER ================= */
.md26-footer{ padding: var(--sp-24) 0 var(--sp-10); }
.md26-footer__word{ font-family: var(--f-editorial); font-weight: 900; font-size: clamp(3rem, 9vw, 9rem); letter-spacing: -0.02em; line-height: 0.9; color: var(--text-1); margin-bottom: var(--sp-16); text-transform: uppercase; }
.md26-footer__grid{ display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 40px; padding-bottom: var(--sp-16); border-bottom: 1px solid var(--hair); }
@media (max-width: 760px){ .md26-footer__grid{ grid-template-columns: 1fr 1fr; } }
.md26-footer__tagline{ font-size: 15px; color: var(--text-2); max-width: 34ch; line-height: 1.6; }
.md26-footer__col-title{ font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); margin-bottom: 16px; }
.md26-footer__links{ display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.md26-footer__links a, .md26-footer__links button{ font-size: 14px; color: var(--text-2); transition: color 250ms ease, transform 250ms ease; display: inline-block; text-align: left; }
.md26-footer__links a:hover, .md26-footer__links button:hover{ color: var(--copper); transform: translateX(3px); }
.md26-footer__bottom{ display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: var(--sp-6); font-family: var(--f-mono); font-size: 11.5px; color: var(--text-3); }

/* ================= reveal-on-scroll (generic) ================= */
.md26-reveal{ opacity: 0; transform: translateY(18px); transition: opacity 700ms ease, transform 700ms cubic-bezier(.16,1,.3,1); }
.md26-reveal.in{ opacity: 1; transform: translateY(0); }

/* ================= COOKIE CONSENT (production — real persistence) =================
   No trackers are loaded by this page. See js/money-diplomatic-consent.js for the
   full future production contract (defaults, ad/media gating, storage shape, retention).
   ============================================================================ */
.md26-sr-only{ position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.md26-cookie-consent{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 300; display: flex; justify-content: center; padding: 24px; pointer-events: none; }
.md26-cookie-consent[hidden]{ display: none; }
.md26-cookie-panel{
  pointer-events: auto; width: 100%; max-width: 920px;
  background: linear-gradient(180deg, var(--bg-2), var(--bg-1)); border: 1px solid var(--hair);
  box-shadow: 0 24px 60px -24px rgba(0,0,0,0.75);
  opacity: 0; transform: translateY(16px);
  transition: opacity 220ms ease, transform 220ms cubic-bezier(.16,1,.3,1);
}
.md26-cookie-panel[hidden]{ display: none; }
.md26-cookie-panel.is-visible{ opacity: 1; transform: translateY(0); }

.md26-cookie-panel--banner{ display: flex; align-items: center; justify-content: space-between; gap: 34px; padding: 24px 36px; }
.md26-cookie-panel__body{ max-width: 560px; }
.md26-cookie-panel__title{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(1.25rem, 2vw, 1.6rem); margin: 8px 0 6px; color: var(--text-1); }
.md26-cookie-panel__text{ font-size: 13.5px; color: var(--text-2); line-height: 1.6; max-width: 60ch; }
.md26-cookie-panel__actions{ display: flex; gap: 12px; flex-shrink: 0; flex-wrap: wrap; }
.md26-cookie-panel__actions--single{ justify-content: flex-end; margin-top: 18px; }

.md26-cookie-btn{
  font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--text-2); padding: 12px 20px; border: 1px solid var(--hair); background: transparent;
  transition: border-color 220ms ease, color 220ms ease; white-space: nowrap;
}
.md26-cookie-btn:hover{ border-color: var(--copper); color: var(--copper); }
.md26-cookie-btn:focus-visible{ outline: 1px solid var(--copper); outline-offset: 3px; }

.md26-cookie-panel--customize{ padding: 24px 36px; max-height: min(72vh, 640px); overflow-y: auto; }
.md26-cookie-panel__head{ display: flex; align-items: center; gap: 16px; margin-bottom: 15px; flex-wrap: wrap; }
.md26-cookie-back{ font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-3); background: none; border: none; padding: 4px 0; transition: color 220ms ease; }
.md26-cookie-back:hover{ color: var(--copper); }
.md26-cookie-back:focus-visible{ outline: 1px solid var(--copper); outline-offset: 3px; }

.md26-cookie-categories{ border-top: 1px solid var(--hair); }
.md26-cookie-cat{ padding: 13px 0; border-bottom: 1px solid var(--hair); }
.md26-cookie-cat__head{ display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.md26-cookie-cat__name{ font-family: var(--f-editorial); font-weight: 700; font-size: 14px; color: var(--text-1); text-transform: uppercase; letter-spacing: 0.02em; }
.md26-cookie-cat__state{ font-family: var(--f-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); }
.md26-cookie-cat__desc{ font-size: 13px; color: var(--text-3); margin-top: 6px; max-width: 60ch; line-height: 1.55; }

.md26-cookie-toggle{ position: relative; width: 34px; height: 18px; border: 1px solid var(--hair-2); background: var(--bg-3); flex-shrink: 0; transition: border-color 220ms ease; }
.md26-cookie-toggle__knob{ position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; background: var(--text-3); transition: transform 220ms cubic-bezier(.16,1,.3,1), background 220ms ease; }
.md26-cookie-toggle[aria-checked="true"]{ border-color: var(--copper); }
.md26-cookie-toggle[aria-checked="true"] .md26-cookie-toggle__knob{ transform: translateX(16px); background: var(--copper); }
.md26-cookie-toggle:focus-visible{ outline: 1px solid var(--copper); outline-offset: 3px; }

@media (max-width: 760px){
  .md26-cookie-consent{ padding: 0; }
  .md26-cookie-panel{ max-width: none; border-left: none; border-right: none; border-bottom: none; }

  /* First level: same content, ~25-30% less vertical height. */
  .md26-cookie-panel--banner{ flex-direction: column; align-items: stretch; gap: 14px; padding: 18px 20px; }
  .md26-cookie-panel--banner .md26-cookie-panel__title{ margin: 4px 0 4px; }
  .md26-cookie-panel--banner .md26-cookie-panel__text{ font-size: 13px; }

  /* Customize: height left as-is (only the shared touch-target fixes below apply). */
  .md26-cookie-panel--customize{ padding: 24px 22px; }

  .md26-cookie-panel__actions{ flex-direction: column; gap: 10px; }
  .md26-cookie-btn{
    width: 100%; text-align: center; min-height: 46px; box-sizing: border-box;
    display: flex; align-items: center; justify-content: center; padding: 10px 20px;
  }

  /* Expand the toggle's tap target to ~44x44px without enlarging the visible track. */
  .md26-cookie-toggle::before{
    content: ""; position: absolute; top: 50%; left: 50%;
    width: 44px; height: 44px; transform: translate(-50%, -50%);
  }
}

/* ============================================================
   PRICING PAGE (pricing.html) — same 2026 system, additional components.
   ============================================================ */
.md26-section-head{ max-width: 620px; margin-bottom: var(--sp-12); }
.md26-section-head h2{ font-family: var(--f-editorial); font-weight: 900; font-size: clamp(1.8rem, 3.2vw, 2.8rem); letter-spacing: -0.01em; margin-top: 14px; }
.md26-section-head p{ font-size: 14.5px; color: var(--text-2); margin-top: 16px; max-width: 56ch; line-height: 1.6; }

.md26-btn--fill{ background: var(--copper); border-color: var(--copper); color: var(--copper-ink); font-weight: 600; }
.md26-btn--fill:hover{ background: var(--copper-deep); border-color: var(--copper-deep); color: var(--text-1); }

/* ---- pricing hero ---- */
.md26-hero-pricing{ position: relative; padding: 172px 0 88px; overflow: hidden; }
.md26-hero-pricing__ghost{
  position: absolute; top: 40%; right: -2%; transform: translateY(-50%); font-family: var(--f-editorial);
  font-weight: 900; font-size: min(52vw, 620px); line-height: 1; color: transparent;
  -webkit-text-stroke: 1px var(--hair); z-index: 0; user-select: none; pointer-events: none;
}
.md26-hero-pricing__inner{ position: relative; z-index: 1; max-width: 680px; }
.md26-hero-pricing__title{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(2.6rem, 6vw, 5.4rem); line-height: 1.02; letter-spacing: -0.015em; margin: 26px 0 24px; }
.md26-hero-pricing__sub{ font-size: 17px; color: var(--text-2); max-width: 46ch; line-height: 1.65; }
.md26-hero-pricing__figure{
  position: absolute; right: 4%; bottom: 8%; z-index: 1; text-align: right;
  display: flex; align-items: baseline; gap: 10px; opacity: 0; animation: md26HeroFigureIn 1s cubic-bezier(.16,1,.3,1) 0.5s forwards;
}
@media (max-width: 1000px){ .md26-hero-pricing__figure{ display: none; } }
@keyframes md26HeroFigureIn{ from{ opacity: 0; transform: translateY(10px); } to{ opacity: 1; transform: translateY(0); } }
.md26-hero-pricing__figure-num{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 3.4rem; color: var(--copper); line-height: 1; position: relative; z-index: 1; }
.md26-hero-pricing__figure-unit{ font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-2); position: relative; z-index: 1; }
.md26-hero-pricing__figure::before{
  content: ""; position: absolute; inset: -46px -70px; z-index: 0;
  background: radial-gradient(circle, rgba(201,137,92,0.12) 0%, transparent 70%);
  opacity: 0; animation: md26FigureGlow 1.4s ease 0.7s forwards;
}
@keyframes md26FigureGlow{ to{ opacity: 1; } }

/* ---- main offer ---- */
.md26-offer{ padding: var(--sp-24) 0; }
.md26-offer__composition{ display: grid; grid-template-columns: auto 1px 1fr; gap: 56px; align-items: center; }
@media (max-width: 820px){ .md26-offer__composition{ grid-template-columns: 1fr; text-align: center; gap: 28px; } }
.md26-offer__divider{ position: relative; background: var(--hair); height: 100%; min-height: 140px; overflow: hidden; }
@media (max-width: 820px){ .md26-offer__divider{ width: 60px; height: 1px; min-height: 0; margin: 0 auto; } }
.md26-offer__divider::after{ content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 0; background: var(--copper); animation: md26DividerGrow 1.4s cubic-bezier(.16,1,.3,1) 0.25s forwards; }
@media (max-width: 820px){ .md26-offer__divider::after{ width: 0; height: 100%; animation: md26DividerGrowH 1.4s cubic-bezier(.16,1,.3,1) 0.25s forwards; } }
@keyframes md26DividerGrow{ to{ height: 100%; } }
@keyframes md26DividerGrowH{ to{ width: 100%; } }
.md26-offer__figure{ text-align: left; }
@media (max-width: 820px){ .md26-offer__figure{ text-align: center; } }
.md26-offer__num{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(4rem, 7vw, 6.4rem); line-height: 0.9; }
.md26-offer__unit{ font-family: var(--f-mono); font-size: 13px; color: var(--text-3); letter-spacing: 0.08em; text-transform: uppercase; display: block; margin-top: 8px; }
.md26-offer__claims{ display: flex; flex-direction: column; }
.md26-offer__claim{ font-family: var(--f-editorial); font-weight: 800; font-size: 15.5px; letter-spacing: 0.03em; text-transform: uppercase; color: var(--text-2); padding: 15px 0; border-top: 1px solid var(--hair); transition: color 250ms ease, transform 250ms ease; }
.md26-offer__claim:first-child{ border-top: none; }
.md26-offer__claim:hover{ color: var(--text-1); transform: translateX(4px); }
@media (max-width: 820px){ .md26-offer__claim:hover{ transform: none; } }
.md26-offer__name{ font-family: var(--f-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-3); margin-bottom: 16px; }
.md26-offer__note{ font-size: 14px; color: var(--text-3); max-width: 50ch; margin-top: 22px; }
@media (max-width: 820px){ .md26-offer__note{ margin-left: auto; margin-right: auto; } }
.md26-offer__disclosure{ font-size: 12.5px; color: var(--text-3); opacity: 0.85; max-width: 56ch; margin-top: 10px; line-height: 1.55; }
@media (max-width: 820px){ .md26-offer__disclosure{ margin-left: auto; margin-right: auto; } }
.md26-offer__cta{ margin-top: 26px; }

/* ---- value (editorial sequence, not a card grid) ---- */
.md26-value{ padding: var(--sp-24) 0; }
.md26-value__list{ display: flex; flex-direction: column; margin-top: var(--sp-10); }
.md26-value__row{ display: grid; grid-template-columns: 60px 1fr; gap: 28px; padding: 26px 0; border-top: 1px solid var(--hair); transition: transform 250ms ease; }
.md26-value__row:first-child{ border-top: none; }
.md26-value__row:hover{ transform: translateX(4px); }
.md26-value__row-num{ font-family: var(--f-mono); font-size: 13px; color: var(--copper); }
.md26-value__row h4{ font-family: var(--f-editorial); font-weight: 800; font-size: 17px; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.01em; }
.md26-value__row p{ font-size: 14.5px; color: var(--text-2); max-width: 62ch; line-height: 1.6; }
.md26-value__disclaim{ margin-top: var(--sp-8); font-size: 13px; color: var(--text-3); border-left: 2px solid var(--hair); padding-left: 16px; max-width: 60ch; }

/* ---- architecture (mini) ---- */
.md26-arch-mini{ padding: var(--sp-24) 0; }
.md26-arch-mini__row{ display: flex; align-items: stretch; margin-top: var(--sp-12); border: 1px solid var(--hair); }
@media (max-width: 860px){ .md26-arch-mini__row{ flex-direction: column; } }
.md26-arch-mini__step{ flex: 1; padding: 32px 26px; }
.md26-arch-mini__step:not(:last-child){ border-right: 1px solid var(--hair); }
@media (max-width: 860px){ .md26-arch-mini__step:not(:last-child){ border-right: none; border-bottom: 1px solid var(--hair); } }
.md26-arch-mini__step:last-child{ background: var(--bg-2); }
.md26-arch-mini__num{ font-family: var(--f-mono); font-size: 11px; color: var(--text-3); }
.md26-arch-mini__name{ font-family: var(--f-editorial); font-weight: 800; font-size: 16px; text-transform: uppercase; letter-spacing: -0.005em; margin: 12px 0 10px; }
.md26-arch-mini__desc{ font-size: 13.5px; color: var(--text-2); line-height: 1.55; }
.md26-arch-mini__arrow{ display: flex; align-items: center; justify-content: center; width: 36px; color: var(--text-3); font-family: var(--f-mono); }
@media (max-width: 860px){ .md26-arch-mini__arrow{ width: auto; padding: 6px 0; transform: rotate(90deg); } }

/* ---- module maturity ---- */
.md26-maturity{ padding: var(--sp-24) 0; }
.md26-maturity__table{ margin-top: var(--sp-10); border-top: 1px solid var(--hair); }
.md26-maturity__row{ display: grid; grid-template-columns: 1fr 180px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--hair); gap: 16px; transition: background 250ms ease; }
.md26-maturity__row:hover{ background: rgba(242,240,236,0.02); }
.md26-maturity__row-name{ font-family: var(--f-mono); font-size: 14.5px; color: var(--text-2); }
.md26-status-tag{ display: inline-flex; align-items: center; gap: 8px; font-family: var(--f-mono); font-size: 11.5px; letter-spacing: 0.04em; text-transform: uppercase; justify-self: end; }
.md26-status-dot{ width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.md26-status-tag.expanding .md26-status-dot{ background: #4A7FA0; } .md26-status-tag.expanding{ color: #4A7FA0; }
.md26-status-tag.development .md26-status-dot{ background: #B08A3E; } .md26-status-tag.development{ color: #B08A3E; }
.md26-status-tag.planned .md26-status-dot{ background: #83868C; } .md26-status-tag.planned{ color: #83868C; }
.md26-maturity__legend{ display: flex; gap: 28px; flex-wrap: wrap; margin-top: var(--sp-8); }

/* ---- annual toggle ---- */
.md26-annual{ padding: var(--sp-20) 0; }
.md26-toggle-panel{ display: flex; flex-direction: column; align-items: center; gap: 30px; margin-top: var(--sp-10); text-align: center; }
.md26-toggle-switch{ display: inline-flex; align-items: center; gap: 22px; }
.md26-toggle-switch button{ position: relative; padding: 8px 2px; font-family: var(--f-mono); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-3); transition: color 300ms ease; }
.md26-toggle-switch button::after{ content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background: var(--copper); transform: scaleX(0); transform-origin: left; transition: transform 380ms cubic-bezier(.16,1,.3,1); }
.md26-toggle-switch button.is-active{ color: var(--text-1); }
.md26-toggle-switch button.is-active::after{ transform: scaleX(1); }
.md26-toggle-switch button:not(.is-active):hover{ color: var(--text-2); }
.md26-toggle-sep{ width: 1px; height: 14px; background: var(--hair); }
.md26-toggle-display__num{ font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: clamp(3.2rem, 6vw, 5rem); line-height: 1; }
.md26-toggle-display__unit{ font-family: var(--f-mono); font-size: 13px; color: var(--text-2); text-transform: uppercase; letter-spacing: 0.08em; margin-top: 8px; }
.md26-toggle-badge{ font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--copper); padding-bottom: 3px; border-bottom: 1px solid var(--copper); opacity: 0; transition: opacity 300ms ease; }
.md26-toggle-badge.is-visible{ opacity: 1; }
.md26-toggle-caption{ font-size: 13px; color: var(--text-3); max-width: 52ch; text-align: center; margin: 22px auto 0; line-height: 1.6; }

/* ---- early access (de-carded) ---- */
.md26-early{ padding: var(--sp-20) 0; }
.md26-early__panel{ display: flex; align-items: center; gap: 40px; padding-top: 34px; position: relative; }
@media (max-width: 760px){ .md26-early__panel{ flex-direction: column; text-align: center; gap: 18px; } }
.md26-early__panel::before{ content: ""; position: absolute; top: 0; left: 0; width: 0; height: 1px; background: var(--copper); animation: md26EarlyLine 1.6s cubic-bezier(.16,1,.3,1) 0.25s forwards; }
@keyframes md26EarlyLine{ to{ width: 220px; } }
.md26-early__price{ font-family: var(--f-editorial); font-weight: 900; font-size: clamp(2.4rem, 4vw, 3.4rem); color: var(--copper); flex-shrink: 0; }
.md26-early__price small{ font-family: var(--f-mono); font-size: 13px; color: var(--text-3); display: block; margin-top: 6px; text-transform: uppercase; letter-spacing: 0.06em; }
.md26-early__text h4{ font-family: var(--f-mono); font-weight: 600; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--copper); margin-bottom: 10px; }
.md26-early__text p{ font-size: 14px; color: var(--text-2); max-width: 52ch; line-height: 1.6; }

/* ---- Professional / Teams (future, non-purchasable) ---- */
.md26-teams{ padding: var(--sp-24) 0; }
.md26-teams__panel{ border: 1px solid var(--hair-2); border-style: dashed; padding: 40px 48px; }
@media (max-width: 640px){ .md26-teams__panel{ padding: 28px 24px; } }
.md26-teams__panel h3{ font-family: var(--f-editorial); font-weight: 800; font-size: 19px; margin-bottom: 12px; }
.md26-teams__panel p{ font-size: 14px; color: var(--text-2); max-width: 62ch; line-height: 1.65; margin-bottom: 18px; }

/* ---- FAQ (no accordion JS needed — plain, readable) ---- */
.md26-faq{ padding: var(--sp-24) 0; }
.md26-faq__list{ margin-top: var(--sp-10); border-top: 1px solid var(--hair); max-width: 820px; }
.md26-faq__item{ padding: 22px 0; border-bottom: 1px solid var(--hair); }
.md26-faq__item h3{ font-family: var(--f-editorial); font-weight: 600; font-size: 15.5px; margin-bottom: 10px; }
.md26-faq__item p{ font-size: 14.5px; color: var(--text-2); line-height: 1.65; max-width: 68ch; }

/* ============================================================
   CONTACT FORM (contact.html) — real, backend-connected form.
   New components only; the functional contract (ids, payload,
   endpoint) lives in contact.html and is unaffected by this CSS.
   ============================================================ */
.md26-contact{ padding: var(--sp-24) 0; }
.md26-contact__grid{ display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--sp-12); align-items: start; }
@media (max-width: 860px){ .md26-contact__grid{ grid-template-columns: 1fr; gap: var(--sp-10); } }
.md26-contact__info h3{ font-family: var(--f-editorial); font-weight: 800; font-size: 19px; margin-bottom: 14px; }
.md26-contact__info p{ font-size: 14.5px; color: var(--text-2); line-height: 1.6; margin-bottom: var(--sp-6); max-width: 42ch; }
.md26-contact__email{ font-family: var(--f-mono); font-size: 14px; color: var(--copper); display: inline-block; margin-bottom: var(--sp-8); transition: color 250ms ease; }
.md26-contact__email:hover{ color: var(--text-1); }
.md26-contact__note{ font-size: 13px; color: var(--text-3); }

.md26-form-panel{ border: 1px solid var(--hair); background: var(--bg-2); padding: var(--sp-10); }
@media (max-width: 640px){ .md26-form-panel{ padding: var(--sp-6); } }
.md26-form-panel h2{ font-family: var(--f-editorial); font-weight: 900; font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin-bottom: var(--sp-6); }

.md26-form-status{ display: none; align-items: center; gap: 10px; padding: 14px 18px; margin-bottom: var(--sp-5); border: 1px solid var(--hair); font-size: 13.5px; line-height: 1.5; }
.md26-form-status.is-visible{ display: flex; }
.md26-form-status--success{ border-color: var(--copper); color: var(--text-1); }
.md26-form-status--error{ border-color: #8A4A3A; color: var(--text-1); }

.md26-form{ display: flex; flex-direction: column; gap: var(--sp-5); }
.md26-form-row{ display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); }
@media (max-width: 480px){ .md26-form-row{ grid-template-columns: 1fr; } }
.md26-field{ display: flex; flex-direction: column; gap: 8px; }
.md26-field__label{ font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-2); }
.md26-field__required{ color: var(--copper); }
.md26-input, .md26-select, .md26-textarea{
  font-family: var(--f-body); font-size: 15px; color: var(--text-1); background: var(--bg-0);
  border: 1px solid var(--hair); padding: 13px 16px; width: 100%; transition: border-color 250ms ease;
}
.md26-input::placeholder, .md26-textarea::placeholder{ color: var(--text-3); }
.md26-input:focus-visible, .md26-select:focus-visible, .md26-textarea:focus-visible{ outline: none; border-color: var(--copper); }
.md26-select{ appearance: none; -webkit-appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%236E6C66' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px;
}
.md26-textarea{ resize: vertical; min-height: 140px; line-height: 1.6; }
.md26-field__meta{ display: flex; justify-content: flex-end; font-family: var(--f-mono); font-size: 11px; color: var(--text-3); }
.md26-form-note{ font-size: 12.5px; color: var(--text-3); line-height: 1.5; }
.md26-form-note a{ color: var(--text-2); text-decoration: underline; text-underline-offset: 2px; }
.md26-form-note a:hover{ color: var(--copper); }
.md26-form .md26-btn{ align-self: flex-start; }
.md26-form .md26-btn:disabled{ opacity: 0.55; cursor: default; border-color: var(--hair); color: var(--text-3); }
.md26-form .md26-btn:disabled:hover{ border-color: var(--hair); color: var(--text-3); }

/* ============================================================
   AUTH FORM MESSAGE (register.html / login.html) — exact class
   names required by js/auth.js (mdShowFormMessage). Do not rename.
   ============================================================ */
.form-message{ display: none; align-items: center; gap: 10px; padding: 14px 18px; margin-bottom: var(--sp-5); border: 1px solid var(--hair); font-family: var(--f-body); font-size: 13.5px; line-height: 1.5; color: var(--text-1); }
.form-message.show{ display: flex; }
.form-message--error{ border-color: #8A4A3A; }
.form-message--success{ border-color: var(--copper); }

/* ---- password visibility + checklist (register.html) ---- */
.md26-input-wrap{ position: relative; }
.md26-input-wrap .md26-input{ padding-right: 84px; }
.md26-toggle-visibility{
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  font-family: var(--f-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--text-3); transition: color 250ms ease;
}
.md26-toggle-visibility:hover{ color: var(--copper); }
.md26-password-checklist{ display: flex; flex-direction: column; gap: 6px; margin-top: 10px; list-style: none; padding: 0; }
.md26-password-checklist li{ font-family: var(--f-mono); font-size: 11.5px; color: var(--text-3); display: flex; align-items: center; gap: 8px; transition: color 250ms ease; }
.md26-password-checklist li::before{ content: "—"; color: var(--text-3); transition: color 250ms ease; }
.md26-password-checklist li.is-met{ color: var(--text-1); }
.md26-password-checklist li.is-met::before{ content: "✓"; color: var(--copper); }

.md26-checkbox-row{ display: flex; align-items: flex-start; gap: 12px; }
.md26-checkbox-row input[type="checkbox"]{ accent-color: var(--copper); width: 16px; height: 16px; margin-top: 3px; flex-shrink: 0; cursor: pointer; }
.md26-checkbox-row label{ font-size: 13px; color: var(--text-2); line-height: 1.6; }
.md26-checkbox-row label a{ color: var(--text-1); text-decoration: underline; text-underline-offset: 2px; }
.md26-checkbox-row label a:hover{ color: var(--copper); }

/* ================= INTERNAL ICON SYSTEM ================= — dependency-free
   replacement for the previously-referenced but never-loaded Font Awesome
   classes (fa-spinner/fa-spin, fa-check, fa-rotate-left, fa-hourglass-half).
   Pure CSS geometry, currentColor-driven, no external font/CDN/SVG file. */
.md26-icon{ display: inline-block; width: 1em; height: 1em; position: relative; vertical-align: -0.125em; flex-shrink: 0; }

.md26-icon--spinner{
  border: 0.14em solid currentColor; border-right-color: transparent; border-radius: 50%;
  opacity: 0.85; animation: md26-icon-spin 0.85s linear infinite;
}
@keyframes md26-icon-spin{ to{ transform: rotate(360deg); } }

.md26-icon--check::after{
  content: ""; position: absolute; left: 0.17em; top: 0.06em; width: 0.55em; height: 0.28em;
  border-left: 0.13em solid currentColor; border-bottom: 0.13em solid currentColor; transform: rotate(-45deg);
}

.md26-icon--return{
  border: 0.13em solid currentColor; border-right-color: transparent; border-bottom-color: transparent;
  border-radius: 50%; transform: rotate(-45deg);
}
.md26-icon--return::after{
  content: ""; position: absolute; top: -0.15em; left: 0.02em; width: 0; height: 0;
  border: 0.15em solid transparent; border-bottom-color: currentColor; transform: rotate(-35deg);
}

.md26-icon--pending{ border: 0.12em solid currentColor; border-radius: 50%; }
.md26-icon--pending::after{
  content: ""; position: absolute; left: 50%; top: 50%; width: 0.3em; height: 0.11em; background: currentColor;
  transform-origin: left center; transform: translate(0, -50%) rotate(-35deg);
}

/* ================= REDUCED MOTION — full static, information-complete state ================= */
@media (prefers-reduced-motion: reduce){
  html:has(body.md26){ scroll-behavior: auto; }
  .md26-frag{ animation: none; opacity: 0.7; offset-distance: 60%; }
  .md26-decision-node{ animation: none; opacity: 1; }
  .md26-decision-ring{ animation: none; opacity: 0; }
  .md26-tech-label{ animation: none; opacity: 0.7; }
  .md26-structure-line{ animation: none; opacity: 0; }
  .md26-film-path{ animation: none; stroke-dashoffset: 0; opacity: 0.35; }
  .md26-film-sequence{ display: none; }
  .md26-film-static{
    display: flex; position: absolute; inset: 0; align-items: center; justify-content: center;
    flex-wrap: wrap; gap: 10px 16px; padding: 0 28px; font-family: var(--f-mono); font-size: 12px;
    letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-2); text-align: center;
  }
  .md26-film-static .is-copper{ color: var(--copper); }
  .md26-film-static__arrow{ color: var(--text-3); }
  .md26-regime__band{ animation: none; opacity: 0.6; }
  .md26-market-session__now{ animation: none; left: 62%; opacity: 1; }
  .md26-envelope-band{ animation: none; transform: scaleY(1.15); }
  .md26-corr-line{ animation: none; opacity: 0.22; }
  .md26-research-spine i{ animation: none; opacity: 0; }
  .md26-research-flow__arrow i{ animation: none; opacity: 0; }
  .md26-ai-circuit i{ animation: none; opacity: 0; }
  .md26-ai-layer--interpretation .md26-ai-layer__fill{ animation: none; }
  .md26-ai-layer, .md26-ai-layer:hover{ transform: none; }
  .md26-dot{ transition: none; }
  .md26-grid-line, .md26-model-line, .md26-plane, .md26-arch-ring, .md26-arch-core, .md26-stage-label{ transition: none; }
  .md26-arch-core{ animation: none; opacity: 1; }
  .md26-arch-progress i{ transition: none; }
  .md26-pricing-early::before{ animation: none; width: 100%; }
  .md26-pricing-figure__num::after{ animation: none; transform: scaleX(1); }
  .md26-btn span, .md26-footer__links a, .md26-footer__links button{ transition: none; }
  .md26-btn:hover span{ transform: none; }
  .md26-reveal{ transition: none; opacity: 1; transform: none; }
  .md26-cookie-panel{ transition: none; }
  .md26-cookie-toggle__knob{ transition: none; }

  .md26-hero-pricing__figure{ animation: none; opacity: 1; }
  .md26-hero-pricing__figure::before{ animation: none; opacity: 1; }
  .md26-offer__divider::after{ animation: none; height: 100%; }
  .md26-offer__claim:hover{ transform: none; }
  .md26-value__row:hover{ transform: none; }
  .md26-maturity__row:hover{ background: none; }
  .md26-toggle-display__num{ transition: none; }
  .md26-toggle-badge, .md26-toggle-switch button::after{ transition: none; }
  .md26-early__panel::before{ animation: none; width: 220px; }
  .md26-icon--spinner{ animation: none; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 820px){
  .md26-offer__divider::after{ height: 1px; width: 100%; }
}
