:root {
  --ink: #070707;
  --paper: #f3eee4;
  --paper-2: #e9e1d2;
  --white: #fffaf1;
  --accent: #ff681e;
  --accent-soft: #ff9a5c;
  --line: rgba(255, 250, 241, .18);
  --shadow: 0 30px 100px rgba(0, 0, 0, .22);
  --display: "Arial Black", "Helvetica Neue", Arial, sans-serif;
  --body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body {
  margin: 0;
  color: var(--white);
  background:
    radial-gradient(circle at 75% 10%, rgba(255,104,30,.12), transparent 32rem),
    var(--ink);
  font-family: var(--body);
  line-height: 1.55;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  z-index: 50;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .8rem 1rem; background: var(--accent); color: var(--ink); }
.skip-link:focus { top: 1rem; }
.cursor-glow { position: fixed; width: 24rem; height: 24rem; border-radius: 50%; background: radial-gradient(circle, rgba(255,104,30,.1), transparent 68%); transform: translate(-50%,-50%); pointer-events: none; z-index: 1; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 40;
  min-height: 76px;
  padding: 0 clamp(1rem, 4vw, 4.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid transparent;
  transition: background .35s, border-color .35s, backdrop-filter .35s;
}
.site-header.scrolled { background: rgba(7,7,7,.84); border-color: var(--line); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: .65rem; font-family: var(--display); letter-spacing: .08em; font-size: .88rem; }
.brand-mark { width: 2.25rem; aspect-ratio: 1; display: grid; place-items: center; border: 2px solid var(--accent); border-radius: 50%; color: var(--accent); }
nav { display: flex; align-items: center; gap: clamp(.8rem, 1.8vw, 2rem); text-transform: uppercase; font-size: .68rem; letter-spacing: .14em; font-weight: 800; }
nav a { position: relative; }
nav a[aria-current="page"] { color: var(--accent); }
nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.45rem; height: 2px; background: var(--accent); transition: right .25s; }
nav a:hover::after, nav a:focus-visible::after { right: 0; }
.nav-cta, .button { padding: .9rem 1.15rem; border: 1px solid var(--accent); background: var(--accent); color: var(--ink); font-weight: 900; transition: transform .25s, box-shadow .25s, background .25s; }
.nav-cta:hover, .button:hover { transform: translateY(-3px); box-shadow: 0 14px 42px rgba(255,104,30,.24); }
.button.secondary { background: transparent; color: var(--white); border-color: rgba(255,255,255,.42); }
.menu-toggle { display: none; background: none; border: 1px solid var(--line); color: var(--white); padding: .65rem .8rem; text-transform: uppercase; font-weight: 900; }

main { position: relative; z-index: 2; }
.section { padding: clamp(5rem, 9vw, 9rem) clamp(1rem, 6vw, 7rem); }
.eyebrow { margin: 0 0 1.2rem; color: var(--accent); text-transform: uppercase; font-size: .72rem; letter-spacing: .18em; font-weight: 900; }
.display { font-family: var(--display); text-transform: uppercase; letter-spacing: -.045em; line-height: .94; margin: 0; }
.section-title { max-width: 900px; font-size: clamp(2.45rem, 6vw, 6.6rem); }
.lede { font-size: clamp(1.1rem, 1.6vw, 1.35rem); color: rgba(255,250,241,.72); max-width: 760px; }
.section-head { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.75fr); gap: 2rem; align-items: end; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.orange { color: var(--accent); }
.rule { border-top: 1px solid var(--line); }

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr);
  align-items: center;
  gap: 4vw;
  padding: 9rem clamp(1rem, 6vw, 7rem) 5rem;
  overflow: hidden;
}
.hero-copy { position: relative; z-index: 3; }
.hero h1 { font-size: clamp(4.4rem, 11vw, 10.5rem); }
.hero .strapline { max-width: 780px; margin: 1.5rem 0 0; font-size: clamp(1.25rem, 2.2vw, 2rem); line-height: 1.25; font-weight: 700; }
.hero .intro { max-width: 700px; margin: 1rem 0 2rem; color: rgba(255,250,241,.67); font-size: clamp(1rem, 1.4vw, 1.22rem); }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.button { display: inline-flex; align-items: center; justify-content: center; text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; min-height: 50px; }
.hero-visual { position: relative; display: grid; place-items: center; min-height: 520px; }
.core {
  position: relative;
  width: min(25vw, 310px);
  min-width: 220px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 2px solid var(--accent);
  background: var(--ink);
  box-shadow: 0 0 0 16px rgba(255,104,30,.07), 0 0 110px rgba(255,104,30,.18);
  z-index: 2;
  animation: breathe 4s ease-in-out infinite;
}
.core strong { font-family: var(--display); font-size: clamp(1.7rem, 3.8vw, 3.8rem); letter-spacing: -.04em; text-transform: uppercase; }
.core small { display: block; text-align: center; margin-top: .5rem; color: var(--accent); text-transform: uppercase; letter-spacing: .14em; font-weight: 900; }
.orbit { position: absolute; width: min(38vw, 470px); min-width: 340px; aspect-ratio: 1; border: 1px solid rgba(255,104,30,.35); border-radius: 50%; animation: spin 22s linear infinite; }
.orbit.two { width: min(49vw, 610px); min-width: 430px; border-style: dashed; animation-duration: 35s; animation-direction: reverse; }
.orbit i { position: absolute; width: 12px; aspect-ratio: 1; border-radius: 50%; background: var(--accent); box-shadow: 0 0 24px var(--accent); }
.orbit i:nth-child(1) { top: 5%; left: 28%; }
.orbit i:nth-child(2) { right: -6px; top: 50%; }
.orbit i:nth-child(3) { bottom: 8%; left: 20%; }
.hero-index { position: absolute; right: 2.5vw; bottom: 1.5rem; font-family: var(--display); font-size: clamp(7rem, 18vw, 18rem); line-height: .7; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.09); }
.scroll-cue { position: absolute; left: clamp(1rem,6vw,7rem); bottom: 1.8rem; display: flex; gap: .8rem; align-items: center; color: rgba(255,255,255,.48); font-size: .68rem; text-transform: uppercase; letter-spacing: .17em; }
.scroll-cue::before { content: ""; width: 3.6rem; height: 1px; background: var(--accent); animation: cue 2s ease-in-out infinite; transform-origin: left; }

.marquee { overflow: hidden; border-block: 1px solid var(--line); background: var(--accent); color: var(--ink); }
.marquee-track { width: max-content; display: flex; gap: 2rem; padding: 1rem 0; animation: marquee 28s linear infinite; font-family: var(--display); text-transform: uppercase; font-size: .8rem; letter-spacing: .1em; }
.marquee-track span::after { content: "✦"; margin-left: 2rem; }

.page-hero {
  position: relative;
  min-height: 72svh;
  padding: 10rem clamp(1rem,6vw,7rem) 5rem;
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(260px,.9fr);
  align-items: center;
  gap: 4vw;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.page-hero h1 { font-size: clamp(3.8rem,9vw,9rem); max-width: 1100px; }
.page-hero .lede { margin-top: 1.5rem; }
.page-signal { position: relative; min-height: 380px; display:grid; place-items:center; }
.page-signal::before, .page-signal::after { content:""; position:absolute; width:min(34vw,430px); min-width:280px; aspect-ratio:1; border:1px solid rgba(255,104,30,.4); border-radius:50%; animation:spin 24s linear infinite; }
.page-signal::after { width:min(25vw,310px); min-width:210px; border-style:dashed; animation-direction:reverse; animation-duration:17s; }
.page-signal span { font-family:var(--display); font-size:clamp(7rem,16vw,16rem); color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.15); position:relative; z-index:2; }
.page-signal i { position:absolute; width:10px; aspect-ratio:1; border-radius:50%; background:var(--accent); box-shadow:0 0 28px var(--accent); z-index:3; }
.page-signal i:nth-of-type(1) { top:12%; left:34%; }
.page-signal i:nth-of-type(2) { top:52%; right:9%; }
.page-signal i:nth-of-type(3) { bottom:10%; left:26%; }

.portal-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.portal-card { min-height:330px; background:var(--ink); padding:2rem; display:flex; flex-direction:column; transition:background .3s, transform .3s; }
.portal-card:hover { background:#14100e; transform:translateY(-6px); }
.portal-card > span { color:var(--accent); font-family:var(--display); font-size:.72rem; }
.portal-card h3 { font-family:var(--display); text-transform:uppercase; font-size:1.55rem; margin:2.5rem 0 .8rem; }
.portal-card p { color:rgba(255,250,241,.62); }
.portal-card b { margin-top:auto; color:var(--accent); text-transform:uppercase; font-size:.72rem; letter-spacing:.1em; }
.home-system { background:#111; }
.section-action { margin-top:2.5rem; display:flex; justify-content:center; }
.blueprint-teaser { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,7rem); align-items:center; background:var(--paper); color:var(--ink); }
.blueprint-teaser .lede { color:rgba(7,7,7,.62); margin-bottom:2rem; }
.blueprint-mini { display:block; border:2px solid var(--ink); box-shadow:var(--shadow); overflow:hidden; transform:rotate(1deg); transition:transform .35s; background:var(--ink); }
.blueprint-mini:hover { transform:rotate(0) scale(1.015); }
.metric-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.metric-card { background:var(--ink); padding:1.7rem; min-height:170px; }
.metric-card span { color:var(--accent); font-family:var(--display); font-size:.7rem; }
.metric-card h3 { margin:2rem 0 0; font-size:1.05rem; }
.tools-band { display:grid; grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr); gap:3rem; align-items:center; background:#111; }
.next-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.next-card { background:var(--ink); padding:2rem; min-height:250px; }
.next-card span { width:3rem; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:var(--ink); font-family:var(--display); }
.next-card h3 { font-family:var(--display); text-transform:uppercase; font-size:1.15rem; margin-top:3rem; }
.contact-panel { display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:end; background:var(--accent); color:var(--ink); }
.contact-panel .eyebrow { color:var(--ink); }
.contact-panel .lede { color:rgba(7,7,7,.65); }
.contact-panel .button { background:var(--ink); color:var(--white); border-color:var(--ink); }
.contact-panel .button.secondary { background:transparent; color:var(--ink); border-color:rgba(7,7,7,.4); }
.family-section { background:#111; }

.digital-map {
  position:relative;
  min-height:820px;
  color:var(--white);
  border:1px solid var(--line);
  background:
    radial-gradient(circle at center, rgba(255,104,30,.19), transparent 34%),
    linear-gradient(145deg,#0c0a09,#050505);
  overflow:hidden;
  isolation:isolate;
}
.digital-map::before {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(circle at center,#000,transparent 78%);
}
.map-ring { position:absolute; left:50%; top:50%; translate:-50% -50%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,104,30,.3); animation:spin 34s linear infinite; }
.ring-one { width:68%; }
.ring-two { width:46%; border-style:dashed; animation-direction:reverse; animation-duration:24s; }
.map-core { position:absolute; left:50%; top:50%; translate:-50% -50%; width:230px; aspect-ratio:1; border-radius:50%; border:2px solid var(--accent); display:grid; place-content:center; text-align:center; padding:1.5rem; background:#070707; box-shadow:0 0 0 18px rgba(255,104,30,.07),0 0 100px rgba(255,104,30,.22); z-index:4; animation:breathe 4s ease-in-out infinite; }
.map-core strong { font-family:var(--display); text-transform:uppercase; font-size:2.2rem; }
.map-core small { color:var(--accent); text-transform:uppercase; letter-spacing:.08em; font-size:.58rem; font-weight:900; margin-top:.6rem; }
.map-node { position:absolute; left:50%; top:50%; width:170px; min-height:84px; margin:-42px 0 0 -85px; padding:.85rem; display:flex; flex-direction:column; justify-content:center; border:1px solid rgba(255,255,255,.22); background:rgba(7,7,7,.92); backdrop-filter:blur(8px); transform:rotate(var(--a)) translateY(-310px) rotate(var(--na)); z-index:3; transition:border-color .25s,background .25s,scale .25s; }
.map-node:hover { border-color:var(--accent); background:#18100c; scale:1.06; }
.map-node span { color:var(--accent); font-family:var(--display); font-size:.62rem; }
.map-node b { margin-top:.3rem; text-transform:uppercase; font-size:.72rem; line-height:1.25; letter-spacing:.04em; }
.digital-map.compact { min-height:520px; border:0; }
.digital-map.compact .map-node { width:124px; min-height:68px; margin:-34px 0 0 -62px; transform:rotate(var(--a)) translateY(-190px) rotate(var(--na)); }
.digital-map.compact .map-node b { font-size:.58rem; }
.digital-map.compact .map-core { width:160px; }
.digital-map.compact .map-core strong { font-size:1.45rem; }
.digital-map.compact .ring-one { width:76%; }

.profile-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(255,255,255,.18); border: 1px solid var(--line); }
.profile-card { background: var(--ink); padding: clamp(1.5rem,3vw,3rem); min-height: 100%; }
.profile-card h3 { font-family: var(--display); text-transform: uppercase; font-size: clamp(1.25rem,2vw,2rem); margin: 0 0 1rem; }
.check-list, .plain-list { list-style: none; padding: 0; margin: 0; }
.check-list li, .plain-list li { padding: .55rem 0 .55rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.09); position: relative; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 900; }
.plain-list li::before { content: "•"; position: absolute; left: .25rem; color: var(--accent); }

.problem-section { background: var(--paper); color: var(--ink); }
.problem-section .lede { color: rgba(7,7,7,.62); }
.problem-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: rgba(7,7,7,.16); border: 1px solid rgba(7,7,7,.16); }
.problem-item { background: var(--paper); padding: 1.3rem; display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; font-weight: 700; }
.problem-item .num { color: var(--accent); font-family: var(--display); font-size: .75rem; }

.system-section { overflow: hidden; }
.system-wheel { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.module-card { position: relative; min-height: 310px; padding: 1.6rem; border: 1px solid var(--line); background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); overflow: hidden; transition: transform .3s, border-color .3s, background .3s; }
.module-card:hover { transform: translateY(-8px); border-color: var(--accent); background: rgba(255,104,30,.06); }
.module-card .module-no { display: inline-grid; place-items: center; width: 2.2rem; aspect-ratio: 1; border-radius: 50%; background: var(--accent); color: var(--ink); font-family: var(--display); font-size: .7rem; }
.module-card h3 { margin: 1.4rem 0 .8rem; font-family: var(--display); text-transform: uppercase; font-size: 1.25rem; }
.module-card li { color: rgba(255,250,241,.67); font-size: .91rem; }
.module-card::after { content: ""; position: absolute; width: 10rem; aspect-ratio:1; right:-7rem; bottom:-7rem; border: 1px solid rgba(255,104,30,.35); border-radius:50%; transition: transform .45s; }
.module-card:hover::after { transform: scale(1.8); }

.results-section { background: var(--accent); color: var(--ink); }
.results-section .eyebrow { color: var(--ink); }
.result-stack { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; border-top: 2px solid var(--ink); }
.result-item { padding: 1.2rem .3rem; border-bottom: 1px solid rgba(7,7,7,.3); display:flex; align-items:center; gap:1rem; font-size: clamp(1rem,1.8vw,1.45rem); font-weight: 800; }
.result-item span { font-family: var(--display); font-size: .68rem; opacity: .6; }

.packages-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; align-items: stretch; }
.package { position: relative; padding: 2rem; border: 1px solid var(--line); min-height: 100%; display:flex; flex-direction:column; background:rgba(255,255,255,.025); }
.package.featured { border-color: var(--accent); transform: translateY(-1rem); background: linear-gradient(160deg, rgba(255,104,30,.16), rgba(255,255,255,.025)); }
.package .tag { color: var(--accent); text-transform: uppercase; letter-spacing: .15em; font-size: .65rem; font-weight:900; }
.package h3 { font-family: var(--display); text-transform: uppercase; font-size: 1.6rem; margin: .8rem 0; }
.package .price { font-family: var(--display); color: var(--accent); font-size: clamp(1.65rem,3vw,2.5rem); line-height:1; margin-bottom:1rem; }
.package p { color: rgba(255,250,241,.68); }
.package ul { margin-bottom: 1.8rem; }
.package .button { margin-top:auto; }
.service-cloud { margin-top: 2rem; display:flex; flex-wrap:wrap; gap:.6rem; }
.service-cloud span { border:1px solid var(--line); padding:.65rem .85rem; font-size:.8rem; color:rgba(255,250,241,.72); transition:.25s; }
.service-cloud span:hover { color:var(--ink); background:var(--accent); border-color:var(--accent); transform:translateY(-2px); }

.blueprint-section { background: var(--paper); color: var(--ink); }
.blueprint-wrap { position: relative; border: 2px solid var(--ink); box-shadow: var(--shadow); overflow:hidden; }
.blueprint-wrap img { width:100%; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.blueprint-wrap:hover img { transform:scale(1.02); }
.blueprint-note { display:flex; justify-content:space-between; gap:1rem; margin-top:1rem; font-size:.82rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }

.journey-section { background: #111; }
.journey { display:grid; grid-template-columns:repeat(6,1fr); gap:0; position:relative; }
.journey::before { content:""; position:absolute; left:2%; right:2%; top:2.15rem; height:2px; background:linear-gradient(90deg,var(--accent),rgba(255,104,30,.15)); }
.journey-step { position:relative; padding:0 1rem 1rem 0; }
.journey-step .step-no { width:4.4rem; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--ink); border:2px solid var(--accent); color:var(--accent); font-family:var(--display); position:relative; z-index:2; }
.journey-step h3 { font-family:var(--display); text-transform:uppercase; margin:1.2rem 0 .4rem; font-size:1rem; }
.journey-step p { color:rgba(255,250,241,.62); font-size:.86rem; }

.detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.detail-card { border:1px solid var(--line); padding:2rem; }
.detail-card h3 { font-family:var(--display); text-transform:uppercase; font-size:1.35rem; margin:0 0 1rem; }
.tool-cloud { display:flex; flex-wrap:wrap; gap:.55rem; }
.tool-cloud span { background:var(--paper); color:var(--ink); padding:.6rem .75rem; font-weight:800; font-size:.78rem; }

.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-question { width:100%; border:0; background:none; color:var(--white); padding:1.35rem 0; display:flex; justify-content:space-between; gap:1rem; text-align:left; font:800 clamp(1rem,1.4vw,1.25rem)/1.3 var(--body); cursor:pointer; }
.faq-question span { color:var(--accent); font-size:1.5rem; transition:transform .25s; }
.faq-item.open .faq-question span { transform:rotate(45deg); }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.faq-answer > div { overflow:hidden; }
.faq-answer p { margin:0; padding:0 0 1.5rem; color:rgba(255,250,241,.68); max-width:800px; }
.faq-item.open .faq-answer { grid-template-rows:1fr; }

.cta-section { background:var(--paper); color:var(--ink); text-align:center; padding-block:clamp(5rem,11vw,11rem); }
.cta-section .eyebrow { color:var(--accent); }
.cta-section .section-title { margin-inline:auto; }
.cta-section .lede { color:rgba(7,7,7,.62); margin-inline:auto; }
.cta-section .actions { justify-content:center; margin-top:2rem; }
.cta-section .button.secondary { color:var(--ink); border-color:rgba(7,7,7,.4); }

.site-footer { padding:4rem clamp(1rem,6vw,7rem) 2rem; display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; border-top:1px solid var(--line); color:rgba(255,250,241,.64); }
.footer-brand { color:var(--white); }
.site-footer p { max-width:480px; }
.footer-links { display:grid; grid-template-columns:repeat(2,1fr); align-content:start; gap:.65rem; font-weight:700; }
.footer-links a:hover { color:var(--accent); }
.footer-legal { grid-column:1/-1; border-top:1px solid var(--line); padding-top:1.5rem; font-size:.78rem; }

.reveal { opacity:0; transform:translateY(35px); transition:opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity:1; transform:none; }
.stagger > * { transition-delay: calc(var(--i,0) * 60ms); }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes breathe { 50% { transform:scale(1.04); box-shadow:0 0 0 25px rgba(255,104,30,.04), 0 0 150px rgba(255,104,30,.26); } }
@keyframes marquee { to { transform:translateX(-50%); } }
@keyframes cue { 50% { transform:scaleX(.35); opacity:.45; } }

@media (max-width: 1100px) {
  .menu-toggle { display:block; }
  nav { position:absolute; left:1rem; right:1rem; top:68px; padding:1rem; background:rgba(7,7,7,.97); border:1px solid var(--line); flex-direction:column; align-items:stretch; opacity:0; pointer-events:none; transform:translateY(-10px); transition:.25s; }
  nav.open { opacity:1; pointer-events:auto; transform:none; }
  nav a { display:block; padding:.7rem; }
  .system-wheel { grid-template-columns:repeat(3,1fr); }
  .journey { grid-template-columns:repeat(3,1fr); row-gap:2rem; }
  .journey::before { display:none; }
  .portal-grid, .next-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 820px) {
  .site-header { min-height:68px; }
  .hero { grid-template-columns:1fr; padding-top:8rem; min-height:auto; }
  .hero-visual { min-height:430px; }
  .page-hero { grid-template-columns:1fr; min-height:auto; padding-top:8rem; }
  .page-signal { min-height:300px; }
  .section-head { grid-template-columns:1fr; }
  .profile-grid, .packages-grid { grid-template-columns:1fr; }
  .package.featured { transform:none; }
  .system-wheel { grid-template-columns:repeat(2,1fr); }
  .result-stack { grid-template-columns:1fr; }
  .blueprint-teaser, .tools-band, .contact-panel { grid-template-columns:1fr; }
  .metric-grid { grid-template-columns:repeat(2,1fr); }
  .digital-map { min-height:auto; padding:2rem; display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem; }
  .digital-map::before, .map-ring { display:none; }
  .map-core { position:relative; left:auto; top:auto; translate:none; grid-column:1/-1; width:190px; margin:0 auto 1rem; }
  .map-node, .digital-map.compact .map-node { position:relative; left:auto; top:auto; width:auto; min-height:88px; margin:0; transform:none; }
  .digital-map.compact { min-height:auto; padding:1.2rem; }
  .digital-map.compact .map-core { width:150px; }
}
@media (max-width: 560px) {
  .section { padding-inline:1rem; }
  .site-header { padding-inline:1rem; }
  .hero { padding-inline:1rem; }
  .hero h1 { font-size:clamp(3.6rem,20vw,6rem); }
  .hero-visual { min-height:360px; }
  .core { min-width:185px; }
  .orbit { min-width:275px; }
  .orbit.two { min-width:350px; }
  .profile-grid, .problem-grid, .system-wheel, .detail-grid, .portal-grid, .next-grid, .metric-grid { grid-template-columns:1fr; }
  .digital-map { grid-template-columns:1fr; }
  .journey { grid-template-columns:repeat(2,1fr); }
  .module-card { min-height:auto; }
  .site-footer { grid-template-columns:1fr; }
  .footer-legal { grid-column:auto; }
  .cursor-glow { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}
