@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
    --m-bg: #080a12;
    --m-bg-soft: #0d101a;
    --m-panel: rgba(17, 20, 32, .74);
    --m-panel-strong: #121624;
    --m-line: rgba(255, 255, 255, .1);
    --m-line-bright: rgba(216, 211, 255, .24);
    --m-text: #f6f4ff;
    --m-muted: #aaa8b8;
    --m-violet: #9c82ff;
    --m-violet-deep: #7157dc;
    --m-mint: #70e6cf;
    --m-shadow: 0 32px 90px rgba(0, 0, 0, .38);
    --m-radius: 28px;
    --header-height: 78px;
    --scroll-y: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--m-bg); }
body.morgana-site { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--m-bg); color: var(--m-text); font-family: Manrope, system-ui, sans-serif; line-height: 1.6; }
body.morgana-site::before { position: fixed; inset: 0; z-index: -1; content: ""; pointer-events: none; opacity: .25; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.14'/%3E%3C/svg%3E"); }
a { color: inherit; }
button, input { font: inherit; }
img { max-width: 100%; display: block; }
h1, h2, h3, p { margin-top: 0; }
em { color: var(--m-violet); font-style: normal; }

.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -80px; left: 16px; z-index: 1000; padding: 12px 18px; border-radius: 12px; color: #080a12; background: var(--m-mint); font-weight: 800; transition: transform .2s ease; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid var(--m-mint); outline-offset: 4px; }

.m-container { position: relative; width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.morgana-header { position: fixed; inset: 0 0 auto; z-index: 100; border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease; }
.morgana-header.is-scrolled { border-color: var(--m-line); background: rgba(8, 10, 18, .78); backdrop-filter: blur(24px); }
.morgana-nav { width: min(1260px, calc(100% - 36px)); height: var(--header-height); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.morgana-brand { display: grid; grid-template-columns: 42px auto; grid-template-rows: 22px 14px; column-gap: 11px; align-items: center; color: var(--m-text); text-decoration: none; }
.morgana-brand img { grid-row: 1 / 3; width: 42px; height: 42px; filter: drop-shadow(0 8px 22px rgba(112, 230, 207, .14)); }
.morgana-brand span { align-self: end; font: 700 1.05rem/1 Space Grotesk, sans-serif; letter-spacing: -.02em; }
.morgana-brand small { align-self: start; color: var(--m-muted); font-size: .59rem; letter-spacing: .15em; text-transform: uppercase; }
.morgana-menu { display: flex; align-items: center; gap: 6px; }
.morgana-menu a { padding: 10px 13px; border-radius: 12px; color: #c7c5d1; text-decoration: none; font-size: .84rem; font-weight: 650; transition: color .2s ease, background .2s ease; }
.morgana-menu a:hover { color: #fff; background: rgba(255,255,255,.06); }
.morgana-menu .nav-account { margin-left: 4px; border: 1px solid var(--m-line-bright); color: #fff; background: rgba(255,255,255,.055); }
.nav-toggle { display: none; width: 46px; height: 46px; padding: 12px; border: 1px solid var(--m-line); border-radius: 14px; background: rgba(255,255,255,.04); }
.nav-toggle > span:not(.sr-only) { display: block; width: 100%; height: 2px; margin: 4px 0; background: #fff; }

.m-scene, .m-section { position: relative; isolation: isolate; overflow: hidden; }
.m-section { padding: clamp(92px, 11vw, 160px) 0; content-visibility: auto; contain-intrinsic-size: 900px; }
.m-layer { position: absolute; inset: 0; pointer-events: none; }
.depth-0 { z-index: 0; }
.depth-1 { z-index: 1; }
.depth-2 { z-index: 2; }
.depth-3 { position: relative; z-index: 3; }
.depth-4 { position: relative; z-index: 4; }
.morgana-hero { min-height: 100svh; padding: calc(var(--header-height) + 70px) 0 60px; display: grid; align-items: center; }
.hero-grid { opacity: .34; 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: 68px 68px; mask-image: linear-gradient(to bottom, #000 0, transparent 92%); transform: perspective(700px) rotateX(62deg) scale(1.45) translateY(26%); transform-origin: center bottom; }
.hero-glow { position: absolute; width: min(62vw, 850px); aspect-ratio: 1; border-radius: 50%; filter: blur(110px); opacity: .2; pointer-events: none; }
.hero-glow--violet { top: -32%; right: -18%; background: var(--m-violet-deep); }
.hero-glow--mint { bottom: -45%; left: -20%; background: #2b9c8d; opacity: .12; }
.hero-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(420px, .82fr); align-items: center; gap: clamp(45px, 7vw, 110px); }
.hero-copy { max-width: 650px; }
.hero-badge, .companion-status { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid var(--m-line); border-radius: 999px; color: #ccc8dc; background: rgba(255,255,255,.035); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.hero-badge span, .companion-status i, .assistant-window__top small i { width: 7px; height: 7px; border-radius: 50%; background: var(--m-mint); box-shadow: 0 0 16px var(--m-mint); }
.hero-copy h1 { margin: 28px 0 24px; font: 600 clamp(3.8rem, 7vw, 7.3rem)/.94 Space Grotesk, sans-serif; letter-spacing: -.075em; }
.hero-copy h1 > span { display: inline-block; color: transparent; background: linear-gradient(110deg, #fff 5%, #b9a8ff 52%, #70e6cf); -webkit-background-clip: text; background-clip: text; }
.hero-lead { max-width: 590px; color: #b7b4c2; font-size: clamp(1.05rem, 1.5vw, 1.26rem); line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.m-button { min-height: 48px; padding: 12px 18px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 14px; color: #fff; text-decoration: none; font-weight: 750; cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.m-button:hover { transform: translateY(-2px); }
.m-button--primary { color: #0b0d14; background: linear-gradient(125deg, #d8d3ff, #8ff1de); box-shadow: 0 12px 38px rgba(112,230,207,.15); }
.m-button--ghost { border-color: var(--m-line-bright); background: rgba(255,255,255,.045); }
.hero-trust { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 38px; color: #84818f; font-size: .77rem; }
.hero-trust span { display: flex; align-items: center; gap: 8px; }
.hero-trust i { color: var(--m-mint); font-size: .48rem; }

.assistant-stage { min-height: 620px; display: grid; place-items: center; }
.assistant-window { position: relative; width: min(100%, 490px); overflow: hidden; border: 1px solid rgba(216,211,255,.18); border-radius: 32px; background: linear-gradient(145deg, rgba(29,32,48,.94), rgba(12,14,23,.94)); box-shadow: 0 50px 140px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.08); transform: perspective(1000px) rotateY(-4deg) rotateX(2deg); }
.assistant-window__top { height: 54px; padding: 0 18px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--m-line); color: #dedbe8; font-size: .75rem; }
.assistant-window__top > span { font-weight: 800; }
.assistant-window__top small { justify-self: end; display: flex; align-items: center; gap: 7px; color: #8e8b99; }
.window-dots { display: flex; gap: 6px; }
.window-dots span { width: 7px; height: 7px; border-radius: 50%; background: #555766; }
.assistant-window__body { min-height: 510px; padding: 42px 28px 24px; display: flex; flex-direction: column; align-items: center; }
.assistant-mark { width: 88px; padding: 10px; border: 1px solid rgba(112,230,207,.18); border-radius: 28px; background: rgba(112,230,207,.055); box-shadow: 0 0 50px rgba(112,230,207,.09); }
.assistant-greeting { margin: 20px 0 30px; color: #aaa7b6; text-align: center; font-size: .92rem; }
.assistant-greeting strong { color: #fff; font: 600 1.65rem/1.3 Space Grotesk, sans-serif; }
.assistant-message { align-self: flex-end; max-width: 82%; padding: 13px 16px; border: 1px solid rgba(156,130,255,.22); border-radius: 17px 17px 5px 17px; background: rgba(156,130,255,.1); color: #dcd8e8; font-size: .78rem; }
.assistant-result { align-self: flex-start; margin-top: 13px; padding: 13px 15px; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(112,230,207,.14); border-radius: 5px 17px 17px 17px; background: rgba(112,230,207,.07); }
.assistant-result > span { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 9px; color: var(--m-mint); background: rgba(112,230,207,.1); }
.assistant-result div { display: grid; }
.assistant-result strong { font-size: .75rem; }
.assistant-result small { color: #8c8997; font-size: .66rem; }
.assistant-composer { width: 100%; min-height: 52px; margin-top: auto; padding: 6px 7px 6px 16px; display: flex; align-items: center; justify-content: space-between; border: 1px solid var(--m-line); border-radius: 16px; background: rgba(0,0,0,.2); color: #74717f; font-size: .76rem; }
.assistant-composer button { width: 39px; height: 39px; border: 0; border-radius: 12px; color: #10131c; background: var(--m-mint); font-weight: 900; }
.assistant-orbit { position: absolute; border: 1px solid rgba(156,130,255,.12); border-radius: 50%; pointer-events: none; }
.assistant-orbit--one { width: 530px; height: 530px; }
.assistant-orbit--two { width: 630px; height: 630px; border-style: dashed; opacity: .55; }
.stage-chip { position: absolute; z-index: 5; padding: 10px 13px; border: 1px solid var(--m-line); border-radius: 14px; background: rgba(15,18,29,.88); box-shadow: var(--m-shadow); color: #c9c6d4; font-size: .7rem; font-weight: 700; backdrop-filter: blur(15px); }
.stage-chip--voice { top: 18%; left: -2%; }
.stage-chip--voice span { color: var(--m-mint); }
.stage-chip--tools { right: -3%; bottom: 17%; }

.section-atmosphere { position: absolute; width: 60vw; height: 60vw; left: -35vw; top: 10%; border-radius: 50%; background: rgba(113,87,220,.12); filter: blur(140px); pointer-events: none; }
.section-atmosphere--right { left: auto; right: -40vw; background: rgba(112,230,207,.08); }
.m-section--intro { border-top: 1px solid var(--m-line); border-bottom: 1px solid var(--m-line); background: rgba(255,255,255,.012); }
.intro-grid { display: grid; grid-template-columns: .45fr 1.8fr .7fr; gap: clamp(30px,5vw,80px); align-items: start; }
.section-index { color: #686674; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.section-kicker { margin: 0 0 18px; color: var(--m-mint); font-size: .7rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.intro-copy h2, .section-heading h2, .companion-copy h2, .final-cta h2 { margin: 0; font: 600 clamp(2.7rem, 5.7vw, 5.8rem)/1 Space Grotesk, sans-serif; letter-spacing: -.065em; }
.intro-copy > p, .intro-description p { max-width: 760px; margin: 32px 0 0; color: #bab7c5; font-size: clamp(1rem,1.5vw,1.22rem); line-height: 1.85; }
.intro-aside { padding: 24px; border-top: 1px solid var(--m-mint); background: linear-gradient(180deg, rgba(112,230,207,.06), transparent); }
.intro-aside strong, .intro-aside span { display: block; }
.intro-aside strong { font: 600 1.45rem Space Grotesk, sans-serif; }
.intro-aside span { margin-top: 8px; color: var(--m-muted); font-size: .8rem; }
.section-heading { margin-bottom: clamp(45px,7vw,85px); display: grid; grid-template-columns: 1.5fr .62fr; gap: 50px; align-items: end; }
.section-heading > p { margin: 0 0 8px; color: var(--m-muted); font-size: .92rem; line-height: 1.75; }
.capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.capability-card { position: relative; min-height: 330px; padding: 28px; overflow: hidden; border: 1px solid var(--m-line); border-radius: 24px; background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018)); transition: transform .3s ease, border-color .3s ease, background .3s ease; }
.capability-card:hover { transform: translateY(-5px); border-color: var(--m-line-bright); background: linear-gradient(145deg, rgba(156,130,255,.09), rgba(255,255,255,.018)); }
.capability-card--wide { grid-column: span 2; }
.card-number { position: absolute; top: 22px; right: 24px; color: #595765; font: 600 .7rem Space Grotesk, sans-serif; }
.card-icon { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid var(--m-line); border-radius: 16px; color: var(--m-mint); background: rgba(112,230,207,.045); font-size: 1.25rem; }
.capability-card h3 { margin: 65px 0 12px; font: 600 1.45rem Space Grotesk, sans-serif; }
.capability-card p { max-width: 580px; color: var(--m-muted); font-size: .9rem; }
.card-tags { position: absolute; left: 28px; bottom: 26px; display: flex; flex-wrap: wrap; gap: 7px; }
.card-tags span { padding: 5px 9px; border: 1px solid var(--m-line); border-radius: 999px; color: #9693a2; font-size: .63rem; }

.companion-section { border-block: 1px solid var(--m-line); background: #0a0c14; }
.companion-halo { position: absolute; width: 700px; height: 700px; left: -170px; top: 50%; border-radius: 50%; background: radial-gradient(circle, rgba(156,130,255,.18), transparent 66%); transform: translateY(-50%); }
.companion-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(50px,8vw,120px); }
.companion-visual { min-height: 590px; display: grid; place-items: center; perspective: 900px; }
.companion-visual > img { position: relative; z-index: 2; width: min(270px, 62%); filter: drop-shadow(0 42px 70px rgba(0,0,0,.48)); animation: m-float 7s ease-in-out infinite; }
.companion-platform { position: absolute; bottom: 62px; width: 86%; height: 155px; border: 1px solid rgba(156,130,255,.18); border-radius: 50%; transform: rotateX(68deg); box-shadow: 0 0 70px rgba(156,130,255,.12), inset 0 0 80px rgba(112,230,207,.035); }
.companion-platform span { position: absolute; inset: 16%; border: 1px solid rgba(112,230,207,.12); border-radius: inherit; }
.companion-platform span:nth-child(2) { inset: 31%; }
.companion-platform span:nth-child(3) { inset: 45%; }
.companion-status { position: absolute; z-index: 3; right: 4%; bottom: 25%; background: rgba(10,12,20,.82); backdrop-filter: blur(16px); }
.companion-copy > p:not(.section-kicker) { margin: 28px 0 38px; color: var(--m-muted); font-size: 1rem; line-height: 1.8; }
.feature-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--m-line); }
.feature-list li { padding: 20px 0; display: grid; grid-template-columns: 42px 1fr; gap: 16px; border-bottom: 1px solid var(--m-line); }
.feature-list li > span { color: var(--m-mint); font: 600 .68rem Space Grotesk, sans-serif; }
.feature-list strong { font-family: Space Grotesk, sans-serif; }
.feature-list p { margin: 5px 0 0; color: #858290; font-size: .78rem; }

.security-section { background: linear-gradient(180deg, #10131c, #090b13); }
.security-grid-bg, .final-cta__grid { position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(112,230,207,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(112,230,207,.05) 1px, transparent 1px); background-size: 50px 50px; mask-image: radial-gradient(circle, #000 0, transparent 72%); }
.security-glow, .final-cta__glow { position: absolute; width: 700px; height: 700px; left: 50%; top: 50%; border-radius: 50%; background: rgba(112,230,207,.07); filter: blur(110px); transform: translate(-50%,-50%); }
.security-board { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.security-board > article, .security-core { min-height: 160px; padding: 25px; border: 1px solid var(--m-line); border-radius: 22px; background: rgba(8,10,18,.62); }
.security-board > article { display: flex; gap: 18px; }
.security-board > article > span { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 14px; color: var(--m-mint); background: rgba(112,230,207,.08); }
.security-board h3 { margin-bottom: 7px; font: 600 1.05rem Space Grotesk, sans-serif; }
.security-board p { margin: 0; color: #94919f; font-size: .8rem; }
.security-core { grid-row: span 2; display: grid; place-items: center; align-content: center; text-align: center; background: radial-gradient(circle, rgba(112,230,207,.08), rgba(8,10,18,.72) 65%); }
.security-core img { width: 92px; margin-bottom: 19px; filter: drop-shadow(0 0 32px rgba(112,230,207,.14)); }
.security-core strong { font: 600 1.4rem Space Grotesk, sans-serif; }
.security-core span { color: #777482; font-size: .72rem; }

.ecosystem-rail { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ecosystem-rail article { position: relative; min-height: 225px; padding: 26px; border: 1px solid var(--m-line); border-radius: 22px; background: rgba(255,255,255,.025); }
.ecosystem-rail article > span { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(156,130,255,.18); border-radius: 16px; color: #cbbfff; background: rgba(156,130,255,.07); font: 700 .7rem Space Grotesk, sans-serif; }
.ecosystem-rail h3 { margin: 45px 0 8px; font: 600 1.1rem Space Grotesk, sans-serif; }
.ecosystem-rail p { color: #858290; font-size: .78rem; }
.platform-strip { margin-top: 14px; padding: 18px 22px; display: flex; align-items: center; gap: 11px; border: 1px solid var(--m-line); border-radius: 18px; color: #d1ceda; background: rgba(255,255,255,.025); }
.platform-strip > span { padding: 6px 10px; border-radius: 9px; background: rgba(255,255,255,.05); font-size: .72rem; }
.platform-strip small { margin-left: auto; color: #74717f; }

.avatar-grid, .market-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.avatar-card, .market-card, .release-row, .account-panel, .auth-card { border: 1px solid var(--m-line); background: var(--m-panel); box-shadow: var(--m-shadow); backdrop-filter: blur(22px); }
.avatar-card, .market-card { position: relative; border-radius: 24px; overflow: hidden; }
.avatar-card > img, .avatar-card__placeholder { width: 100%; aspect-ratio: .9; object-fit: cover; object-position: top; }
.avatar-card__placeholder { display: grid; place-items: center; background: linear-gradient(145deg,#191d2c,#0c0e17); }
.avatar-card__placeholder img { width: 34%; }
.avatar-card > div:last-child { padding: 18px; }
.avatar-card h3, .market-card h3 { margin: 0 0 4px; font-family: Space Grotesk, sans-serif; }
.avatar-card span, .market-card p, .release-row span, .account-list span { color: var(--m-muted); }
.release-section { border-block: 1px solid var(--m-line); background: rgba(255,255,255,.012); }
.release-list { display: grid; gap: 10px; }
.release-row { padding: 20px 22px; border-radius: 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.release-row > div { display: grid; gap: 3px; }
.release-row p { margin: 7px 0 0; color: #7e7b89; font-size: .78rem; }
.market-card { min-height: 285px; padding: 26px; display: flex; flex-direction: column; }
.market-card h3 { margin-top: 60px; font-size: 1.35rem; }
.market-card__buy { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }

.final-cta { min-height: 720px; display: grid; place-items: center; border-top: 1px solid var(--m-line); text-align: center; }
.final-cta__content { display: grid; justify-items: center; }
.final-cta__content > img { width: 85px; margin-bottom: 24px; filter: drop-shadow(0 0 40px rgba(112,230,207,.17)); }
.final-cta__content > p:not(.section-kicker) { max-width: 600px; margin: 28px auto 0; color: var(--m-muted); }
.final-cta .hero-actions { justify-content: center; }

.morgana-footer { border-top: 1px solid var(--m-line); background: #06070c; }
.morgana-footer__inner { width: min(1180px, calc(100% - 40px)); min-height: 140px; margin-inline: auto; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 35px; }
.morgana-footer__brand { display: flex; align-items: center; gap: 12px; }
.morgana-footer__brand img { width: 42px; }
.morgana-footer__brand div { display: grid; }
.morgana-footer__brand strong { font-family: Space Grotesk, sans-serif; }
.morgana-footer__brand span, .morgana-footer p { color: #6e6b78; font-size: .68rem; }
.morgana-footer nav { display: flex; flex-wrap: wrap; gap: 15px; }
.morgana-footer nav a { color: #8d8a97; font-size: .7rem; text-decoration: none; }
.morgana-footer p { margin: 0; }
.motion-toggle { position: fixed; right: 18px; bottom: 18px; z-index: 90; width: 43px; height: 43px; border: 1px solid var(--m-line); border-radius: 50%; color: var(--m-mint); background: rgba(10,12,20,.78); backdrop-filter: blur(14px); cursor: pointer; }

.account-shell, .auth-shell { min-height: calc(100svh - var(--header-height)); width: min(1000px, calc(100% - 40px)); margin-inline: auto; padding: calc(var(--header-height) + 75px) 0 100px; }
.auth-shell { width: min(520px, calc(100% - 40px)); display: grid; place-items: center; }
.auth-card { width: 100%; padding: clamp(28px,6vw,48px); border-radius: 28px; display: grid; gap: 9px; }
.auth-card h1, .account-heading h1 { margin: 0 0 20px; font: 600 clamp(2.5rem,6vw,4.8rem)/1 Space Grotesk, sans-serif; letter-spacing: -.06em; }
.auth-card label { margin-top: 8px; color: #d3d0dc; font-size: .78rem; font-weight: 750; }
.auth-card input { width: 100%; min-height: 50px; padding: 11px 13px; border: 1px solid var(--m-line); border-radius: 13px; background: #090b12; color: #fff; }
.auth-card small, .auth-card ul { color: #777482; font-size: .7rem; }
.auth-card a { color: #bfaeff; }
.form-errors { color: #ff9caf; font-size: .78rem; }
.account-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.account-panel { margin-top: 14px; padding: 26px; border-radius: 22px; }
.account-list { display: grid; }
.account-list article { padding: 16px 0; display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid var(--m-line); }
.account-list article > div { display: grid; }
.legal-shell { width: min(900px, calc(100% - 40px)); min-height: calc(100svh - var(--header-height)); margin-inline: auto; padding: calc(var(--header-height) + 75px) 0 110px; }
.legal-shell .privacy-page { padding: clamp(26px,5vw,54px); border: 1px solid var(--m-line); border-radius: 28px; background: var(--m-panel); box-shadow: var(--m-shadow); }
.legal-shell h1 { margin-bottom: 34px; font: 600 clamp(2.5rem,6vw,5rem)/1 Space Grotesk, sans-serif; letter-spacing: -.06em; }
.legal-shell h2 { margin-top: 38px; font-family: Space Grotesk, sans-serif; }
.legal-shell p, .legal-shell li { color: #b5b2c0; }
.legal-shell a { color: var(--m-mint); }

@keyframes m-float { 0%,100% { transform: translate3d(0,0,0) rotate(0deg); } 50% { transform: translate3d(0,-17px,0) rotate(1deg); } }
.reveal-ready [data-reveal] { opacity: 0; transform: translateY(22px); }
.reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }

@media (max-width: 1000px) {
    .hero-layout { grid-template-columns: 1fr; text-align: center; }
    .hero-copy { margin-inline: auto; }
    .hero-actions, .hero-trust { justify-content: center; }
    .assistant-stage { width: min(620px,100%); margin-inline: auto; }
    .intro-grid { grid-template-columns: 1fr; }
    .intro-aside { max-width: 360px; }
    .section-heading { grid-template-columns: 1fr; }
    .section-heading > p { max-width: 600px; }
    .companion-layout { grid-template-columns: 1fr; }
    .companion-visual { min-height: 480px; }
    .ecosystem-rail { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
    :root { --header-height: 68px; }
    .m-container { width: min(100% - 28px, 1180px); }
    .morgana-nav { width: calc(100% - 28px); }
    .nav-toggle { display: block; }
    .morgana-menu { position: absolute; left: 14px; right: 14px; top: calc(var(--header-height) - 2px); padding: 12px; display: none; align-items: stretch; flex-direction: column; border: 1px solid var(--m-line); border-radius: 18px; background: rgba(8,10,18,.96); box-shadow: var(--m-shadow); backdrop-filter: blur(24px); }
    .morgana-menu.is-open { display: flex; }
    .morgana-menu a { padding: 12px; }
    .morgana-menu .nav-account { margin-left: 0; }
    .morgana-hero { padding-top: calc(var(--header-height) + 50px); }
    .hero-copy h1 { font-size: clamp(3.2rem,16vw,5rem); }
    .assistant-stage { min-height: 520px; }
    .assistant-window { width: 92%; }
    .assistant-window__body { min-height: 445px; padding-inline: 18px; }
    .assistant-orbit--one { width: 100%; height: auto; aspect-ratio: 1; }
    .assistant-orbit--two { width: 115%; height: auto; aspect-ratio: 1; }
    .stage-chip--voice { left: 0; }
    .stage-chip--tools { right: 0; }
    .capability-grid, .security-board, .avatar-grid, .market-grid { grid-template-columns: 1fr; }
    .capability-card--wide { grid-column: auto; }
    .security-core { grid-row: auto; min-height: 260px; }
    .ecosystem-rail { grid-template-columns: 1fr; }
    .platform-strip { align-items: flex-start; flex-wrap: wrap; }
    .platform-strip small { width: 100%; margin-left: 0; }
    .morgana-footer__inner { padding: 34px 0; grid-template-columns: 1fr; gap: 22px; }
    .release-row, .account-heading, .account-list article { align-items: flex-start; flex-direction: column; }
}

@media (pointer: coarse) {
    .assistant-window { transform: none; }
    .assistant-orbit { display: none; }
    .capability-card:hover, .m-button:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    [data-depth], .companion-visual > img { transform: none !important; animation: none !important; filter: none; }
}

.no-motion *, .no-motion *::before, .no-motion *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
.no-motion [data-depth] { transform: none !important; }
