/* MiTax homepage experience — 2026-08-12
   Signature: controlled flow. The visual language comes from tax records,
   governed transitions and verifiable proof. Locked brand tokens only. */

.home-page { --flow-line: color-mix(in srgb, var(--primary) 20%, transparent); }
.home-page .nav-brand { position:relative; }
.home-page .nav-brand::after { content:none; }
.home-page .nav-trademark { position:absolute; left:104px; top:1px; color:var(--ink-700); font-size:10px; font-weight:750; line-height:1; }
.footer-wordmark { display:inline-flex; align-items:flex-start; }
.footer-wordmark sup { margin:1px 0 0 3px; color:var(--ink-700); font-size:10px; font-weight:750; line-height:1; }
.home-page .hero.corporate-home-hero {
  min-height: min(860px, calc(100svh - var(--nav-h)));
  display: grid;
  align-content: center;
  padding-block: clamp(64px, 8vw, 112px) 0;
  background: var(--snow);
  color: var(--ink);
}
.home-page .corporate-home-hero::before {
  display: block !important;
  background:
    radial-gradient(70% 90% at 92% 5%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 62%),
    radial-gradient(65% 80% at 2% 20%, color-mix(in srgb, var(--primary) 12%, transparent), transparent 64%);
  opacity: 1;
}
.home-page .corporate-home-hero::after {
  display: block !important;
  background-image: linear-gradient(var(--flow-line) 1px, transparent 1px), linear-gradient(90deg, var(--flow-line) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(70% 65% at 70% 28%, #000, transparent 84%);
  mask-image: radial-gradient(70% 65% at 70% 28%, #000, transparent 84%);
  opacity: .28;
}
.home-page .corporate-home-hero .hero-grid {
  grid-template-columns: minmax(0, .92fr) minmax(440px, .78fr);
  gap: clamp(54px, 8vw, 120px);
  align-items: center;
  padding-block: 0 !important;
}
.home-page .corporate-home-hero .hero-copy { max-width: 650px; }
.home-page .corporate-home-hero .eyebrow { color: var(--primary-700); }
.home-page .corporate-home-hero h1 {
  margin: 12px 0 22px;
  max-width: 10ch;
  color: var(--ink);
  font-size: clamp(54px, 7.4vw, 104px);
  font-weight: 780;
  line-height: .89;
  letter-spacing: -.065em;
}
.home-page .corporate-home-hero h1 span { color: var(--primary); }
.home-page .hero-sub--fixed { max-width: 60ch; color: var(--ink-700); font-size: clamp(17px, 1.5vw, 21px); }
.home-page .corporate-home-hero .btn-onhero-ghost { color: var(--ink); border-color: var(--ink-200); background: color-mix(in srgb, var(--surface) 76%, transparent); }
.home-page .corporate-home-hero .btn-onhero-ghost:hover { border-color: var(--primary); color: var(--primary); background: var(--surface); }
.home-page .hero-whatsapp-link { color: var(--ink-500); }

/* Hero control rail */
.tax-rail {
  position: relative;
  width: 100%;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--ink-100));
  border-radius: 24px;
  background: color-mix(in srgb, var(--surface) 91%, transparent);
  box-shadow: 0 36px 90px rgba(11,18,38,.14), 0 4px 18px rgba(3,87,237,.08);
  backdrop-filter: blur(18px);
  transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
}
.tax-rail::before { content:""; position:absolute; inset:-18px 12% auto; height:24px; background:var(--primary); filter:blur(34px); opacity:.16; z-index:-1; }
.tax-rail__top,.tax-rail__foot { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:11px; color:var(--ink-500); }
.tax-rail__top { padding:2px 3px 16px; border-bottom:1px solid var(--ink-100); text-transform:uppercase; letter-spacing:.09em; }
.tax-rail__top span { display:flex; align-items:center; gap:8px; }
.tax-rail__top i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px var(--accent-100); animation:mitax-pulse 2.4s ease-out infinite; }
.tax-rail__top strong { color:var(--accent-600); font-size:10px; }
.tax-rail__summary { display:grid; grid-template-columns:1fr auto; padding:22px 4px 17px; }
.tax-rail__summary small { grid-column:1/-1; color:var(--ink-500); font-size:11px; }
.tax-rail__summary strong { font-size:22px; letter-spacing:-.025em; }
.tax-rail__summary span { align-self:end; color:var(--primary); font-size:12px; font-weight:650; }
.tax-rail__track { height:4px; border-radius:99px; background:var(--ink-100); overflow:hidden; }
.tax-rail__track i { display:block; width:54%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),var(--accent)); animation:rail-breathe 3.6s ease-in-out infinite; }
.tax-rail__steps { display:grid; gap:6px; margin:16px 0; padding:0; list-style:none; }
.tax-rail__steps li { display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; min-height:58px; padding:8px 10px; border:1px solid transparent; border-radius:13px; transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease); }
.tax-rail__steps li:hover { transform:translateX(4px); background:var(--primary-050); }
.tax-rail__steps li.is-active { border-color:var(--primary-100); background:var(--primary-050); box-shadow:inset 3px 0 0 var(--primary); }
.mitax-symbol { display:grid; place-items:center; width:38px; height:38px; border-radius:11px 11px 11px 4px; color:var(--primary); background:var(--primary-050); border:1px solid var(--primary-100); }
.mitax-symbol svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tax-rail__steps div { display:grid; gap:2px; }
.tax-rail__steps small { color:var(--ink-500); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.tax-rail__steps strong { font-size:13px; }
.tax-rail__steps b { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--surface); border:1px solid var(--ink-100); color:var(--ink-300); font-size:11px; }
.tax-rail__steps .is-complete b { color:var(--accent-600); background:var(--accent-050); border-color:var(--accent-100); }
.tax-rail__steps .is-active b { color:var(--surface); background:var(--primary); border-color:var(--primary); animation:active-node 2s ease-in-out infinite; }
.tax-rail__foot { padding:14px 3px 2px; border-top:1px solid var(--ink-100); }
.tax-rail__foot a { color:var(--primary); font-weight:650; }
.home-page .hero-proof { position:relative; margin-top:clamp(60px,7vw,92px); border-color:var(--ink-100); background:rgba(255,255,255,.72); color:var(--ink); }
.home-page .hero-proof-grid span { color:var(--ink-500); }

/* Infrastructure map */
body.home-page main.mitax-brand-flow > .infrastructure-map.mx-flow-band[data-surface="ink"] { position:relative; overflow:hidden; padding:clamp(78px,9vw,132px) 0; background-color:#07101f !important; background-image:linear-gradient(135deg,#07101f 0%,#0b1730 55%,#07101f 100%); color:var(--snow); }
.infrastructure-map::before { content:""; position:absolute; width:760px; height:760px; right:-260px; top:-340px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--primary) 28%,transparent),transparent 68%); pointer-events:none; }
.infrastructure-map__intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.7fr); gap:clamp(34px,7vw,100px); align-items:end; margin-bottom:clamp(52px,7vw,84px); }
.infrastructure-map h2 { max-width:15ch; margin:10px 0 0; color:var(--snow); font-size:clamp(38px,5.5vw,72px); line-height:.98; letter-spacing:-.045em; }
.infrastructure-map__intro p { margin:0; color:var(--ink-200); font-size:clamp(16px,1.4vw,19px); line-height:1.65; }
.infrastructure-map__canvas { display:grid; grid-template-columns:minmax(430px,1.08fr) minmax(320px,.72fr); gap:clamp(42px,7vw,96px); align-items:center; }
.core-orbit { position:relative; min-height:540px; display:grid; place-items:center; }
.core-orbit__ring { position:absolute; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.core-orbit__ring--one { width:330px;height:330px; }
.core-orbit__ring--two { width:500px;height:500px; border-style:dashed; animation:orbit-spin 42s linear infinite; }
.core-orbit__centre { z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; width:190px; height:190px; border-radius:50%; background:radial-gradient(circle at 38% 25%,#1f6ffb,var(--primary-700)); box-shadow:0 0 0 12px rgba(3,87,237,.12),0 30px 80px rgba(0,0,0,.32); }
.core-orbit__centre img { filter:brightness(0) invert(1); margin-bottom:10px; }
.core-orbit__centre small { color:rgba(255,255,255,.7); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.core-orbit__centre strong { margin:4px 0; font-size:21px; }
.core-orbit__centre span { color:rgba(255,255,255,.7); font-size:11px; }
.core-node { position:absolute; z-index:3; display:flex; align-items:center; gap:10px; max-width:188px; padding:9px 13px 9px 9px; border:1px solid rgba(255,255,255,.13); border-radius:14px 14px 14px 5px; color:var(--ink-200); background:rgba(20,29,52,.92); font:inherit; font-size:12px; text-align:left; cursor:pointer; box-shadow:0 14px 32px rgba(0,0,0,.2); transition:transform 260ms var(--ease),border-color 260ms var(--ease),color 260ms var(--ease); }
.core-node:hover,.core-node.is-active { transform:translateY(-3px); border-color:var(--primary); color:var(--snow); }
.core-node.is-active { box-shadow:0 0 0 3px rgba(3,87,237,.16),0 18px 40px rgba(0,0,0,.25); }
.core-node .mitax-symbol { flex:0 0 auto; width:34px;height:34px;background:rgba(3,87,237,.16);border-color:rgba(92,143,255,.25); }
.core-node--records { top:24px; left:50%; transform:translateX(-50%); }
.core-node--records:hover,.core-node--records.is-active { transform:translateX(-50%) translateY(-3px); }
.core-node--intelligence { right:0; top:45%; }
.core-node--compliance { bottom:18px; left:50%; transform:translateX(-50%); }
.core-node--compliance:hover,.core-node--compliance.is-active { transform:translateX(-50%) translateY(-3px); }
.core-node--revenue { left:0; top:45%; }
.core-detail { min-height:385px; padding:clamp(30px,4vw,48px); border:1px solid rgba(255,255,255,.14); border-radius:24px; color:var(--snow); background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.035)); box-shadow:0 30px 90px rgba(0,0,0,.22); backdrop-filter:blur(14px); }
.core-detail__meta { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.core-detail__index { color:var(--accent); font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.core-detail__count { color:rgba(255,255,255,.52); font-size:11px; font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.core-detail h3 { margin:22px 0 15px; color:var(--snow); font-size:clamp(26px,3vw,40px); line-height:1.08; letter-spacing:-.035em; }
.core-detail p { color:var(--ink-200); font-size:15px; line-height:1.7; }
.core-detail__facts { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 36px; }
.core-detail__facts span { padding:8px 10px; border:1px solid rgba(255,255,255,.12); border-radius:99px; color:var(--ink-200); font-size:11px; }
.core-detail a { display:inline-flex; align-items:center; gap:14px; color:var(--snow); font-weight:650; }
.core-detail a b { display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--primary);transition:transform var(--dur) var(--ease); }
.core-detail a:hover b { transform:translateX(4px); }
.core-detail.is-changing > :not(.core-slider) { animation:detail-in 520ms var(--ease) both; }
.core-slider { position:relative; display:flex; align-items:center; gap:10px; margin-top:34px; padding-top:23px; border-top:1px solid rgba(255,255,255,.1); }
.core-slider__arrow,.core-slider__toggle { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid rgba(255,255,255,.15); border-radius:50%; color:var(--snow); background:rgba(255,255,255,.055); font:inherit; cursor:pointer; transition:background 220ms var(--ease),border-color 220ms var(--ease),transform 220ms var(--ease); }
.core-slider__arrow:hover,.core-slider__toggle:hover,.core-slider__arrow:focus-visible,.core-slider__toggle:focus-visible { border-color:var(--primary); background:var(--primary); transform:translateY(-2px); }
.core-slider__toggle { margin-left:auto; font-size:11px; }
.core-slider__dots { display:flex; align-items:center; gap:7px; }
.core-slider__dots button { width:7px; height:7px; padding:0; border:0; border-radius:99px; background:rgba(255,255,255,.28); cursor:pointer; transition:width 280ms var(--ease),background 280ms var(--ease); }
.core-slider__dots button.is-active { width:26px; background:var(--accent); }
.core-slider__dots button:focus-visible { outline:2px solid var(--snow); outline-offset:4px; }
.core-slider__progress { position:absolute; inset:auto 0 -25px; height:2px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.1); }
.core-slider__progress i { display:block; width:100%; height:100%; transform-origin:left; background:linear-gradient(90deg,var(--primary),var(--accent)); animation:core-progress 5.5s linear both; }
.core-slider.is-paused .core-slider__progress i { animation-play-state:paused; }
.surface-strip { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:13px; margin-top:54px; padding:18px 22px; border:1px solid rgba(255,255,255,.1); border-radius:16px; color:var(--ink-300); font-size:12px; }
.surface-strip a { color:var(--snow); font-weight:650; }
.surface-strip i { width:4px;height:4px;border-radius:50%;background:var(--accent); }

/* Cohesion pass over existing homepage */
.home-page :is(.audience-card,.feature-card,.access-channel,.partnership-pathway) { position:relative; overflow:hidden; }
.home-page :is(.audience-card,.feature-card)::after { content:""; position:absolute; inset:auto 0 0; height:2px; background:linear-gradient(90deg,var(--primary),var(--accent)); transform:scaleX(0); transform-origin:left; transition:transform 320ms var(--ease); }
.home-page :is(.audience-card,.feature-card):hover::after { transform:scaleX(1); }
.home-page :is(.audience-card,.feature-card):hover .icon-tile { transform:translateY(-2px) rotate(-2deg); }
.home-page .icon-tile { border-radius:12px 12px 12px 4px; transition:transform 260ms var(--ease); }
.home-page .platform-flow span { transition:transform 220ms var(--ease),background 220ms var(--ease); }
.home-page .platform-flow span:hover { transform:translateY(-3px); background:var(--primary-050); }
.home-page .section-head h2 { letter-spacing:-.035em; }
.home-page .btn { position:relative; overflow:hidden; }
.home-page .btn::after { content:""; position:absolute; inset:-40% auto -40% -45%; width:30%; transform:skewX(-18deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent); transition:left 520ms var(--ease); pointer-events:none; }
.home-page .btn:hover::after { left:120%; }

@keyframes mitax-pulse { 0%{box-shadow:0 0 0 0 rgba(17,189,143,.35)} 70%,100%{box-shadow:0 0 0 9px rgba(17,189,143,0)} }
@keyframes rail-breathe { 0%,100%{filter:saturate(1);transform:scaleX(1)} 50%{filter:saturate(1.35);transform:scaleX(1.04)} }
@keyframes active-node { 0%,100%{box-shadow:0 0 0 0 rgba(3,87,237,.22)} 50%{box-shadow:0 0 0 6px rgba(3,87,237,0)} }
@keyframes orbit-spin { to{transform:rotate(360deg)} }
@keyframes detail-in { from{opacity:.3;transform:translateY(8px)} to{opacity:1;transform:none} }
@keyframes core-progress { from{transform:scaleX(0)} to{transform:scaleX(1)} }

@media (max-width:980px) {
  .home-page .corporate-home-hero .hero-grid { grid-template-columns:1fr; }
  .tax-rail { max-width:620px; transform:none; }
  .infrastructure-map__canvas { grid-template-columns:1fr; }
  .core-detail { min-height:0; }
}
@media (max-width:720px) {
  .home-page .nav-trademark { left:90px; }
  .home-page .hero.corporate-home-hero { min-height:0; padding-top:50px; }
  .home-page .corporate-home-hero h1 { font-size:clamp(50px,15vw,72px); }
  .tax-rail { padding:13px; border-radius:18px; }
  .tax-rail__summary { grid-template-columns:1fr; gap:3px; }
  .tax-rail__summary span { align-self:auto; }
  .tax-rail__foot { align-items:flex-start; flex-direction:column; }
  .infrastructure-map__intro { grid-template-columns:1fr; }
  .infrastructure-map__canvas { display:block; }
  .core-orbit { min-height:470px; transform:scale(.9); margin-inline:-8%; }
  .core-orbit__ring--one { width:260px;height:260px; }
  .core-orbit__ring--two { width:390px;height:390px; }
  .core-orbit__centre { width:160px;height:160px; }
  .core-node { max-width:150px; font-size:10px; }
  .core-node--intelligence { right:-8px; }
  .core-node--revenue { left:-8px; }
  .surface-strip { justify-content:flex-start; }
}
@media (max-width:430px) {
  .core-orbit { min-height:430px; transform:scale(.78); margin-inline:-18%; }
  .tax-rail__steps li { grid-template-columns:38px 1fr auto; gap:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .tax-rail__top i,.tax-rail__track i,.tax-rail__steps .is-active b,.core-orbit__ring--two,.core-slider__progress i { animation:none !important; }
  .home-page .btn::after { display:none; }
}
