/**
 * Interface 127 — Design system géométrique.
 *
 * Modes : linéaire pour les contenus, radial pour le Cercle, constellation
 * uniquement lorsque des relations réelles sont disponibles.
 */

:root{
  /* Couleurs fonctionnelles */
  --i127-color-void:#070a15;
  --i127-color-night:#080b17;
  --i127-color-surface:#12172a;
  --i127-color-text:#f2eadc;
  --i127-color-muted:#aab2c6;
  --i127-color-gold:#dfc27d;
  --i127-color-violet:#a798ee;
  --i127-sister-oni:#d9cdfb;
  --i127-sister-alka:#a9c2f7;
  --i127-sister-naia:#8fdad3;
  --i127-sister-terra:#a9c98a;
  --i127-sister-ignis:#eb9a68;
  --i127-sister-astria:#f2dea8;
  --i127-sister-irma:#f3f1fb;

  /* Proportions, cercles et orbites */
  --geo-ratio:1.618;
  --geo-ratio-inverse:.618;
  --geo-space-1:.375rem;
  --geo-space-2:.625rem;
  --geo-space-3:1rem;
  --geo-space-4:1.625rem;
  --geo-space-5:2.625rem;
  --geo-space-6:4.25rem;
  --geo-radius-circle:50%;
  --geo-radius-soft:1.125rem;
  --geo-circle-size-sm:2.75rem;
  --geo-circle-size-md:4rem;
  --geo-circle-size-lg:7rem;
  --geo-orbit-sm:5rem;
  --geo-orbit-md:9rem;
  --geo-orbit-lg:14rem;
  --geo-line-thin:1px;
  --geo-line-medium:2px;
  --geo-line-strong:3px;
  --geo-motion-orbit:34s;
  --geo-motion-breathe:6s;
  --geo-motion-pulse:3s;
  --geo-motion-fast:180ms;
  --geo-motion-base:280ms;
  --geo-ease:cubic-bezier(.2,.8,.2,1);
  --geo-opacity-line:.24;
  --geo-opacity-soft:.12;
  --geo-opacity-focus:.72;

  /* Profondeur et couches */
  --geo-shadow-soft:0 12px 30px rgba(0,0,0,.18);
  --geo-shadow-deep:0 32px 85px rgba(0,0,0,.32);
  --geo-depth-content:1;
  --geo-depth-navigation:82;
  --geo-depth-dialog:200;
  --geo-breakpoint-compact:560px;
  --geo-breakpoint-radial:760px;
  --geo-breakpoint-wide:980px;
  --i127-copper:#c48659;
  --i127-deep:var(--i127-color-void);
}

/* Les trois grilles restent explicites et réutilisables. */
.i127-layout--linear{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--geo-space-4)}
.i127-layout--radial{position:relative;display:grid;place-items:center}
.i127-layout--constellation{position:relative;isolation:isolate}
.i127-heptagon .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Le contenu reste visible par défaut. Cette classe n'existe que lorsque le
   Motion Engine et IntersectionObserver sont réellement disponibles. */
.i127-motion-ready [data-i127-reveal]{opacity:0;transform:translateY(var(--geo-space-3));transition:opacity var(--geo-motion-base) var(--geo-ease),transform var(--geo-motion-base) var(--geo-ease)}
.i127-motion-ready [data-i127-reveal].is-visible{opacity:1;transform:none}

/* ── Portail applicatif de l'accueil ── */
.i127-home-hero{
  min-height:min(900px,calc(100svh - 80px));
  isolation:isolate;
}
.i127-home-hero::before{
  content:"";
  position:absolute;
  z-index:0;
  left:50%;
  top:52%;
  width:min(88vw,760px);
  aspect-ratio:1;
  border:1px solid rgba(215,207,249,.07);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 70px rgba(215,207,249,.018),0 0 0 150px rgba(223,194,125,.012);
  pointer-events:none;
}
.i127-home-hero .i127-home-hero__grid{
  width:min(1180px,calc(100% - 40px));
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  align-items:center;
  gap:clamp(34px,6vw,88px);
  min-height:inherit;
  padding:clamp(55px,8vw,95px) 0;
  text-align:left;
}
.i127-home-hero__copy{position:relative;z-index:2}
.i127-home-hero .i127-home-hero__copy h1{
  max-width:15ch;
  margin:0 0 24px;
  font-size:clamp(2.45rem,5vw,4.85rem);
  line-height:.96;
  text-wrap:balance;
}
.i127-home-hero .i127-home-hero__copy .lead{max-width:660px;margin:0 0 18px}
.i127-home-hero .i127-home-hero__copy .hero-truth{justify-content:flex-start}
.i127-home-hero .i127-home-hero__copy .hero-btns{justify-content:flex-start}

.i127-portal{
  position:relative;
  z-index:2;
  width:min(100%,470px);
  min-height:510px;
  margin-inline:auto;
  display:grid;
  grid-template-rows:minmax(300px,1fr) auto auto;
  gap:14px;
  align-items:center;
  filter:drop-shadow(0 30px 50px rgba(0,0,0,.24));
}
/* Arbre Bicéphale : présence cachée derrière le portail 1·2·7.
   L'image reste secondaire : branches = synapses, tronc = unité, racines = passage vers 2 et 7. */
.i127-portal__tree{
  position:absolute;
  z-index:0;
  left:50%;
  top:49%;
  width:clamp(520px,138%,690px);
  aspect-ratio:1.42;
  transform:translate(-50%,-50%);
  background:
    radial-gradient(circle at 50% 54%,rgba(223,194,125,.10),transparent 28%),
    url('../images/arbre-bicephale-127.webp') center 49% / cover no-repeat;
  opacity:.18;
  filter:saturate(.44) brightness(.72) contrast(1.06);
  -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 38%,rgba(0,0,0,.88) 58%,rgba(0,0,0,.34) 77%,transparent 96%);
  mask-image:radial-gradient(ellipse at 50% 50%,#000 38%,rgba(0,0,0,.88) 58%,rgba(0,0,0,.34) 77%,transparent 96%);
  pointer-events:none;
}
.i127-portal__tree::before{
  content:"";
  position:absolute;
  inset:10% 19% 5%;
  border-radius:48% 48% 44% 44%;
  background:radial-gradient(ellipse at 50% 43%,rgba(242,222,168,.12),transparent 44%);
  mix-blend-mode:screen;
  opacity:.58;
}
.i127-portal__sap{
  position:absolute;
  left:50%;
  top:34%;
  bottom:3%;
  width:1px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent 0%,rgba(242,222,168,.18) 18%,rgba(242,222,168,.76) 50%,rgba(223,194,125,.22) 78%,transparent 100%);
  box-shadow:0 0 9px rgba(223,194,125,.25);
  opacity:.58;
}
.i127-portal__mandala,.i127-portal__center,.i127-portal__routes{position:relative;z-index:2}
.i127-portal__mandala{
  position:relative;
  place-self:center;
  width:min(76vw,320px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(223,194,125,.08),transparent 58%);
  box-shadow:0 0 70px rgba(223,194,125,.06);
}
.i127-portal__mandala-wheel{position:absolute;inset:0;border-radius:50%;transform-origin:50% 50%}
.i127-portal__ring,.i127-portal__orbit{position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.i127-portal__ring--outer{width:100%;height:100%;border:1px solid rgba(223,194,125,.46);box-shadow:0 0 28px rgba(223,194,125,.08),inset 0 0 28px rgba(223,194,125,.035)}
.i127-portal__ring--inner{width:70%;height:70%;border:1px solid rgba(215,207,249,.22)}
.i127-portal__orbit{width:91%;height:55%;border:1px solid rgba(223,194,125,.22)}
.i127-portal__orbit--a{transform:translate(-50%,-50%) rotate(30deg)}
.i127-portal__orbit--b{transform:translate(-50%,-50%) rotate(-30deg)}
.i127-portal__mandala::before,.i127-portal__mandala::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  z-index:1;
  background:linear-gradient(90deg,transparent,rgba(223,194,125,.26),transparent);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.i127-portal__mandala::before{width:112%;height:1px}
.i127-portal__mandala::after{width:1px;height:112%;background:linear-gradient(180deg,transparent,rgba(223,194,125,.26),transparent)}
.i127-portal__node{
  --angle:calc(var(--i) * 51.428571deg);
  position:absolute;
  left:50%;top:50%;
  width:34px;height:34px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--node-accent) 72%,rgba(242,234,220,.22));
  border-radius:50%;
  color:var(--node-accent);
  background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--node-accent) 12%,rgba(10,12,24,.98)),rgba(8,11,23,.96) 68%);
  box-shadow:0 0 0 3px rgba(223,194,125,.03),0 0 16px color-mix(in srgb,var(--node-accent) 20%,transparent),inset 0 0 16px rgba(242,234,220,.04);
  transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-150px);
  transform-origin:50% 50%;
  z-index:2;
}
.i127-portal__node::before{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:50%;
  border:1px solid color-mix(in srgb,var(--node-accent) 44%,transparent);
  opacity:.55;
  pointer-events:none;
}
.i127-portal__node-glyph{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  transform:rotate(calc(var(--angle) * -1));
}
.i127-portal__node-glyph svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.i127-portal__node-glyph svg,
.i127-portal__node-glyph svg *{
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.i127-portal__node--astria .i127-portal__node-glyph{width:19px;height:19px}
.i127-portal__node--naia .i127-portal__node-glyph{width:20px;height:20px}
.i127-portal__node--ignis .i127-portal__node-glyph{width:17px;height:17px}
.i127-portal__node--irma .i127-portal__node-glyph{width:19px;height:19px}
.i127-portal__mandala-core{
  position:absolute;
  left:50%;top:50%;
  z-index:3;
  display:grid;
  place-items:center;
  width:72px;
  aspect-ratio:1;
  border:1px solid rgba(242,222,168,.76);
  border-radius:50%;
  color:var(--gold-soft);
  background:radial-gradient(circle at 40% 32%,rgba(215,207,249,.16),transparent 42%),#0b0e1c;
  box-shadow:0 0 0 8px rgba(223,194,125,.035),0 0 32px rgba(223,194,125,.15),inset 0 0 24px rgba(167,152,238,.05);
  transform:translate(-50%,-50%);
  font:600 1rem/1 "Cormorant Garamond",serif;
  letter-spacing:.08em;
}
.i127-portal__center{
  position:relative;
  width:min(100%,400px);
  min-height:74px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 42px;
  gap:12px;
  align-items:center;
  padding:7px 12px 7px 7px;
  border:1px solid rgba(242,222,168,.72);
  border-radius:999px;
  color:var(--ivory);
  text-align:left;
  background:linear-gradient(100deg,rgba(16,20,39,.98),rgba(8,11,23,.96));
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 0 5px rgba(223,194,125,.03),inset 0 0 26px rgba(167,152,238,.035);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.i127-portal__center:hover,.i127-portal__center:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(242,222,168,.96);
  box-shadow:0 22px 56px rgba(0,0,0,.44),0 0 0 7px rgba(223,194,125,.05),0 0 34px rgba(223,194,125,.16);
}
.i127-portal__emblem{
  position:relative;
  display:grid;
  place-items:center;
  width:60px;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid rgba(242,222,168,.72);
  border-radius:50%;
  background:#0b0e1c;
  box-shadow:0 0 0 6px rgba(223,194,125,.035),0 0 18px rgba(223,194,125,.14);
}
.i127-portal__emblem::before{content:"";position:absolute;inset:4px;border:1px dotted rgba(223,194,125,.34);border-radius:50%;pointer-events:none}
.i127-portal__emblem-image{position:relative;z-index:1;width:48px!important;height:48px!important;object-fit:contain;border-radius:50%}
.i127-portal__emblem-fallback{position:relative;z-index:1;color:var(--gold-soft);font:600 1rem/1 "Cormorant Garamond",serif}
.i127-portal__cta-copy{min-width:0;display:grid;gap:3px}
.i127-portal__center strong{color:var(--ivory);font:600 clamp(1.35rem,2.4vw,1.7rem)/1 "Cormorant Garamond",serif}
.i127-portal__center small{color:var(--muted);font-size:.68rem;line-height:1.35}
.i127-portal__arrow{display:grid;place-items:center;width:40px;aspect-ratio:1;border:1px solid rgba(223,194,125,.5);border-radius:50%;color:#17141f;background:linear-gradient(145deg,var(--gold-soft),var(--gold));font:500 1.22rem/1 "Manrope",sans-serif;box-shadow:0 0 18px rgba(223,194,125,.13)}
.i127-portal__routes{position:relative;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.i127-portal__routes a{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:10px;
  align-items:center;
  min-width:0;
  padding:11px 13px;
  border:1px solid rgba(242,234,220,.12);
  border-radius:16px;
  background:rgba(8,11,23,.84);
  background:color-mix(in srgb,var(--i127-color-night) 84%,transparent);
  backdrop-filter:blur(12px);
  transition:transform var(--geo-motion-fast) var(--geo-ease),border-color var(--geo-motion-fast) var(--geo-ease),background var(--geo-motion-fast) var(--geo-ease);
}
.i127-portal__routes a:hover,.i127-portal__routes a:focus-visible{transform:translateY(-3px);border-color:rgba(223,194,125,.42);background:rgba(18,22,40,.94)}
.i127-portal__routes b{display:grid;place-items:center;width:32px;aspect-ratio:1;border:1px solid rgba(223,194,125,.34);border-radius:50%;color:var(--gold);font:.7rem/1 "Manrope",sans-serif}
.i127-portal__routes span{min-width:0}
.i127-portal__routes strong,.i127-portal__routes small{display:block}
.i127-portal__routes strong{color:var(--ivory);font:600 1rem/1.1 "Cormorant Garamond",serif}
.i127-portal__routes small{margin-top:3px;color:var(--muted);font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.i127-home-hero__scroll{position:absolute;left:50%;bottom:22px;width:24px;height:42px;border:1px solid rgba(242,234,220,.18);border-radius:99px;transform:translateX(-50%)}
.i127-home-hero__scroll span{position:absolute;left:50%;top:8px;width:3px;height:8px;border-radius:3px;background:var(--gold);transform:translateX(-50%)}

/* ── Cercle radial calculé ── */
.i127-circle-section{overflow:hidden;background:radial-gradient(circle at 50% 43%,rgba(167,152,238,.14),transparent 34rem),linear-gradient(180deg,#0d0b1c,#080b17)}
.i127-circle-section::before{
  content:"";
  position:absolute;
  left:50%;
  top:52%;
  width:min(920px,94vw);
  aspect-ratio:1;
  border-radius:50%;
  background:repeating-radial-gradient(circle,rgba(223,194,125,.035) 0 1px,transparent 1px 66px);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.i127-heptagon{position:relative;z-index:1;max-width:900px;margin:0 auto;color:var(--text)}
.i127-heptagon__stage{
  position:relative;
  display:grid;
  gap:var(--geo-space-4);
  padding:var(--geo-space-4);
  border:1px solid rgba(242,234,220,.1);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(18,23,42,.88),rgba(7,10,20,.78));
  box-shadow:var(--geo-shadow-deep);
}
.i127-heptagon__drawing{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.i127-heptagon__orbit{fill:none;stroke:rgba(242,234,220,.08);stroke-width:1;stroke-dasharray:2 9}
.i127-heptagon__orbit--inner{stroke:rgba(223,194,125,.13);stroke-dasharray:1 7}
.i127-heptagon__polygon{fill:rgba(167,152,238,.018);stroke:rgba(215,207,249,.25);stroke-width:1.4;stroke-linejoin:round;stroke-dasharray:7 7}
.i127-heptagon__polygon--inner{fill:none;stroke:rgba(223,194,125,.17);stroke-width:1;stroke-dasharray:2 8}
.i127-heptagon__ray{stroke:rgba(242,234,220,.09);stroke-width:1;transition:stroke .22s ease,stroke-width .22s ease,filter .22s ease}
.i127-heptagon__ray.is-active{stroke:var(--i127-active);stroke-width:2;filter:drop-shadow(0 0 5px var(--i127-active))}
.i127-heptagon__center{
  position:relative;
  z-index:3;
  width:166px;
  aspect-ratio:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  justify-self:center;
  gap:3px;
  padding:20px;
  border:1px solid rgba(223,194,125,.58);
  border-radius:50%;
  text-align:center;
  background:radial-gradient(circle at 35% 28%,rgba(215,207,249,.2),transparent 35%),linear-gradient(145deg,#17192e,#090b17);
  box-shadow:0 0 0 9px rgba(223,194,125,.035),0 18px 45px rgba(0,0,0,.4),0 0 42px rgba(167,152,238,.12);
  transition:transform .25s ease,box-shadow .25s ease;
}
.i127-heptagon__center:hover,.i127-heptagon__center:focus-visible{transform:scale(1.035);box-shadow:0 0 0 13px rgba(223,194,125,.06),0 24px 55px rgba(0,0,0,.48),0 0 55px rgba(223,194,125,.16)}
.i127-heptagon__center-ring{position:absolute;inset:8px;border:1px dashed rgba(215,207,249,.19);border-radius:50%;pointer-events:none}
.i127-heptagon__center small{color:var(--gold);font:700 .56rem/1 "Manrope",sans-serif;letter-spacing:.13em;text-transform:uppercase}
.i127-heptagon__center strong{color:var(--ivory);font:600 1.48rem/1.05 "Cormorant Garamond",serif}
.i127-heptagon__center>span:last-child{color:var(--muted);font-size:.63rem}
.i127-heptagon__nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.i127-heptagon__node-wrap{min-width:0}
.i127-heptagon__node{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  min-height:76px;
  padding:11px;
  overflow:hidden;
  border:1px solid rgba(242,234,220,.11);
  border-radius:18px;
  background:rgba(255,255,255,.025);
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;
}
.i127-heptagon__node::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.05;
  background:var(--i127-sister);
  clip-path:polygon(50% 0,89% 19%,99% 61%,72% 95%,28% 95%,1% 61%,11% 19%);
}
.i127-heptagon__node:hover,.i127-heptagon__node:focus-visible,.i127-heptagon__node.is-active{
  border-color:var(--i127-sister);
  background:rgba(255,255,255,.045);
  box-shadow:0 16px 35px rgba(0,0,0,.27),0 0 25px rgba(215,207,249,.08);
  transform:translateY(-3px);
}
.i127-heptagon__node.is-visited::after{content:"";position:absolute;right:8px;top:8px;width:5px;aspect-ratio:1;border-radius:50%;background:var(--i127-sister);box-shadow:0 0 8px var(--i127-sister)}
.i127-heptagon__portrait{width:48px;aspect-ratio:1;overflow:hidden;border:1px solid var(--i127-sister);border-radius:50%;background:#101426;box-shadow:0 0 16px rgba(0,0,0,.28)}
.i127-heptagon__portrait img{width:100%;height:100%;object-fit:cover}
.i127-heptagon__identity{min-width:0}
.i127-heptagon__identity small,.i127-heptagon__identity strong,.i127-heptagon__identity>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.i127-heptagon__identity small{color:var(--i127-sister);font:700 .53rem/1.2 "Manrope",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.i127-heptagon__identity strong{margin-top:4px;color:var(--ivory);font:600 1.14rem/1 "Cormorant Garamond",serif}
.i127-heptagon__identity>span{margin-top:4px;color:var(--muted);font-size:.6rem}
.i127-heptagon__glyph{color:var(--i127-sister);font-size:1rem;text-align:center}
.i127-heptagon__detail{
  display:grid;
  grid-template-columns:58px minmax(150px,.6fr) minmax(0,1.4fr);
  gap:18px;
  align-items:center;
  max-width:760px;
  min-height:92px;
  margin:18px auto 0;
  padding:16px 20px;
  border:1px solid rgba(242,234,220,.11);
  border-radius:20px;
  background:rgba(8,11,23,.74);
  backdrop-filter:blur(12px);
  transition:border-color .2s ease,box-shadow .2s ease;
}
.i127-heptagon__detail-mark{display:grid;place-items:center;width:52px;aspect-ratio:1;border:1px solid var(--i127-active);border-radius:50%;color:var(--i127-active);font:600 .68rem/1 "Manrope",sans-serif;box-shadow:0 0 18px rgba(223,194,125,.08)}
.i127-heptagon__detail p{margin:0}
.i127-heptagon__detail p:nth-child(2) small,.i127-heptagon__detail p:nth-child(2) strong{display:block}
.i127-heptagon__detail small{color:var(--i127-active);font:.58rem/1.3 "Manrope",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.i127-heptagon__detail strong{margin-top:4px;color:var(--ivory);font:600 1.35rem/1 "Cormorant Garamond",serif}
.i127-heptagon__detail>p:last-child{color:var(--muted);font-size:.78rem;line-height:1.55}
.i127-heptagon__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}

/* ── La Vesica Piscis sert uniquement aux zones de dialogue ── */
.interface127 .oschat-shell{position:relative;isolation:isolate}
.interface127 .oschat-shell::before,.interface127 .oschat-shell::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:16%;
  width:56%;
  aspect-ratio:1;
  border:1px solid color-mix(in srgb,var(--oschat-accent) 16%,transparent);
  border-radius:50%;
  pointer-events:none;
}
.interface127 .oschat-shell::before{left:9%;background:radial-gradient(circle at 70% 50%,color-mix(in srgb,var(--oschat-accent) 6%,transparent),transparent 62%)}
.interface127 .oschat-shell::after{right:9%;background:radial-gradient(circle at 30% 50%,rgba(215,207,249,.035),transparent 62%)}

/* ── Signatures géométriques discrètes des pages linéaires ── */
.interface127 .page-hero{position:relative;overflow:hidden;isolation:isolate}
.interface127 .page-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:clamp(-130px,-8vw,-50px);
  top:50%;
  width:310px;
  aspect-ratio:1;
  border:1px solid rgba(223,194,125,.09);
  border-radius:50%;
  box-shadow:0 0 0 45px rgba(167,152,238,.02),0 0 0 92px rgba(223,194,125,.015);
  transform:translateY(-50%);
}
.interface127 .promise,.interface127 .offer,.interface127 .lineage,.interface127 .adventure-card,.interface127 .page-bridge__inner{border-radius:calc(var(--geo-radius-soft) * var(--geo-ratio))}
.interface127 .oni-app-nav__item--featured .oni-app-nav__icon::before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px dashed rgba(223,194,125,.34);
  border-radius:50%;
}

@media(min-width:760px){
  .i127-heptagon.is-enhanced .i127-heptagon__stage{
    width:min(100%,680px);
    height:680px;
    margin-inline:auto;
    padding:0;
    border-radius:50%;
    background:radial-gradient(circle at center,rgba(167,152,238,.08),rgba(8,11,23,.55) 44%,rgba(8,11,23,.08) 72%);
  }
  .i127-heptagon.is-enhanced .i127-heptagon__drawing{display:block}
  .i127-heptagon.is-enhanced .i127-heptagon__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .i127-heptagon.is-enhanced .i127-heptagon__center:hover,.i127-heptagon.is-enhanced .i127-heptagon__center:focus-visible{transform:translate(-50%,-50%) scale(1.04)}
  .i127-heptagon.is-enhanced .i127-heptagon__nodes{position:absolute;inset:0;display:block}
  .i127-heptagon.is-enhanced .i127-heptagon__node-wrap{position:absolute;left:var(--i127-x);top:var(--i127-y);width:168px;transform:translate(-50%,-50%)}
  .i127-heptagon.is-enhanced .i127-heptagon__node{grid-template-columns:43px minmax(0,1fr);min-height:68px;padding:9px}
  .i127-heptagon.is-enhanced .i127-heptagon__portrait{width:43px}
  .i127-heptagon.is-enhanced .i127-heptagon__glyph{position:absolute;right:9px;bottom:7px;font-size:.72rem;opacity:.72}
}

@media(max-width:980px){
  .i127-home-hero .i127-home-hero__grid{grid-template-columns:1fr;max-width:760px;text-align:center;padding-top:70px}
  .i127-home-hero .i127-home-hero__copy h1{margin-inline:auto}
  .i127-home-hero .i127-home-hero__copy .lead{margin-inline:auto}
  .i127-home-hero .i127-home-hero__copy .hero-truth,.i127-home-hero .i127-home-hero__copy .hero-btns{justify-content:center}
  .i127-portal{max-width:470px}
}

@media(max-width:759px){
  .i127-circle-section{padding-inline:0}
  .i127-heptagon{max-width:600px}
  .i127-heptagon__stage{padding:20px}
  .i127-heptagon__detail{grid-template-columns:48px 1fr;gap:12px}
  .i127-heptagon__detail-mark{width:44px;grid-row:1/3}
  .i127-heptagon__detail>p:last-child{grid-column:2}
}

@media(max-width:560px){
  .i127-home-hero{min-height:auto}
  .i127-portal__tree{
    top:50%;
    width:132%;
    opacity:.14;
    filter:saturate(.38) brightness(.66) contrast(1.04);
    -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 34%,rgba(0,0,0,.72) 61%,transparent 92%);
    mask-image:radial-gradient(ellipse at 50% 50%,#000 34%,rgba(0,0,0,.72) 61%,transparent 92%);
  }
  .i127-portal__sap{top:35%;bottom:9%;opacity:.46}
  .i127-home-hero .i127-home-hero__grid{width:min(100% - 28px,760px);gap:20px;padding:48px 0 62px}
  .i127-home-hero .i127-home-hero__copy h1{font-size:clamp(2.35rem,12vw,3.6rem)}
  .i127-home-hero .i127-home-hero__copy .lead{font-size:1rem}
  .i127-home-hero__scroll{display:none}
  .i127-portal{width:100%;min-height:470px;grid-template-rows:280px auto auto;gap:12px}
  .i127-portal__mandala{width:min(78vw,270px)}
  .i127-portal__node{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-126px)}
  .i127-portal__center{width:min(100%,380px);grid-template-columns:56px minmax(0,1fr) 38px;min-height:68px}
  .i127-portal__emblem{width:52px}
  .i127-portal__emblem-image{width:42px!important;height:42px!important}
  .i127-portal__routes{width:100%}
  .i127-heptagon__nodes{grid-template-columns:1fr}
  .i127-heptagon__node{min-height:72px}
  .i127-heptagon__detail{display:grid;grid-template-columns:42px 1fr;padding:14px}
  .i127-heptagon__detail-mark{width:40px}
  .i127-heptagon__actions{align-items:stretch;flex-direction:column}
  .i127-heptagon__actions .btn{width:100%}
}

@media(max-width:380px){
  .i127-portal__routes{grid-template-columns:1fr;bottom:-16px}
  .i127-portal__routes a{min-height:54px}
  .i127-portal__routes a:last-child{display:none}
  .i127-heptagon__stage{padding:14px;border-radius:22px}
}

@media(prefers-reduced-motion:no-preference){
  .i127-home-hero__scroll span{animation:i127-scroll 2.3s ease-in-out infinite}
  .i127-portal__tree{animation:i127-tree-breathe 9s ease-in-out infinite}
  .i127-portal__sap{animation:i127-sap 4.8s ease-in-out infinite}
  .i127-portal__mandala{animation:i127-breathe var(--geo-motion-breathe) ease-in-out infinite}
  .i127-portal__mandala-wheel{animation:i127-turn 42s linear infinite}
  .i127-heptagon.is-enhanced .i127-heptagon__polygon{animation:i127-dash 24s linear infinite}
  .i127-heptagon__center-ring{animation:i127-turn var(--geo-motion-orbit) linear infinite}
  .interface127 .oni-app-nav__item--featured .oni-app-nav__icon::before{animation:i127-turn 18s linear infinite}
}

@media(prefers-reduced-motion:reduce){
  .i127-portal *,.i127-heptagon *,.i127-home-hero__scroll span,[data-i127-reveal]{animation:none!important;transition-duration:.01ms!important}
  .i127-motion-ready [data-i127-reveal]{opacity:1;transform:none}
}

@keyframes i127-scroll{0%,100%{transform:translate(-50%,0);opacity:.35}50%{transform:translate(-50%,15px);opacity:1}}
@keyframes i127-tree-breathe{0%,100%{transform:translate(-50%,-50%) scale(.992);opacity:.15}50%{transform:translate(-50%,-50%) scale(1.012);opacity:.21}}
@keyframes i127-sap{0%,100%{opacity:.30;filter:brightness(.88)}48%{opacity:.68;filter:brightness(1.16)}70%{opacity:.48;filter:brightness(1)}}
@keyframes i127-breathe{0%,100%{transform:scale(1);opacity:.72}50%{transform:scale(1.018);opacity:1}}
@keyframes i127-dash{to{stroke-dashoffset:-140}}
@keyframes i127-turn{to{transform:rotate(360deg)}}
