:root { --bg:#08080c; --panel:#111118; --panel-2:#171721; --ink:#f8f6ff; --muted:#a3a0ad; --line:rgba(255,255,255,.09); --violet:#9c4dff; --violet-2:#6e35de; --cyan:#35cff4; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
img { max-width:100%; }
:focus-visible { outline:2px solid #c989ff; outline-offset:4px; }
::selection { background:var(--violet); color:white; }

.site-shell { min-height:100vh; }
.sidebar { position:fixed; inset:0 auto 0 0; z-index:20; width:220px; display:flex; flex-direction:column; padding:29px 20px 22px; border-right:1px solid var(--line); background:#0b0b0f; }
.brand { display:inline-flex; align-items:flex-start; gap:5px; width:max-content; }
.brand span,.mobile-brand { font-weight:850; font-style:italic; font-size:30px; line-height:1; letter-spacing:-2px; background:linear-gradient(120deg,#fff 5%,#cf9bff 48%,#8938ed 92%); -webkit-background-clip:text; color:transparent; text-shadow:0 0 25px rgba(156,77,255,.16); }
.brand b { color:#bf7cff; font-size:9px; letter-spacing:.12em; }
.side-nav { margin-top:46px; display:grid; gap:7px; }
.side-nav a { display:flex; align-items:center; gap:13px; min-height:46px; padding:0 14px; color:#a8a5af; font-size:14px; font-weight:650; border-radius:12px; transition:.2s ease; }
.side-nav a:hover,.side-nav a.active { color:white; background:linear-gradient(90deg,rgba(156,77,255,.18),rgba(156,77,255,.04)); }
.side-nav i { width:22px; height:22px; display:grid; place-items:center; color:#c77cff; font-style:normal; font-size:17px; }
.side-bottom { margin-top:auto; display:grid; gap:6px; border-top:1px solid var(--line); padding-top:16px; }
.side-bottom > a { padding:10px 13px; font-size:13px; color:#9a97a4; }
.side-bottom .upgrade { display:flex; gap:10px; align-items:center; color:#c882ff; font-weight:750; background:rgba(156,77,255,.1); border:1px solid rgba(156,77,255,.35); border-radius:12px; box-shadow:0 0 25px rgba(156,77,255,.12); margin-bottom:5px; }

main { margin-left:220px; min-width:0; overflow:hidden; }
.topbar { height:86px; display:flex; justify-content:flex-end; align-items:center; padding:0 42px; border-bottom:1px solid var(--line); position:relative; background:rgba(8,8,12,.9); backdrop-filter:blur(18px); z-index:10; }
.topbar:before { content:""; position:absolute; left:10%; top:0; width:65%; height:1px; background:linear-gradient(90deg,transparent,#8d47ed,transparent); opacity:.5; }
.top-actions { display:flex; gap:12px; align-items:center; }
.top-actions a { min-width:126px; height:46px; display:flex; justify-content:center; align-items:center; gap:16px; border-radius:14px; font-size:14px; font-weight:750; }
.top-actions .login { border:1px solid rgba(255,255,255,.3); }
.top-actions .primary { background:linear-gradient(110deg,#b74cff,#8237ef); box-shadow:0 12px 35px rgba(134,55,239,.23); }
.mobile-menu,.mobile-brand { display:none; }
.page-wrap { max-width:1600px; margin:0 auto; padding:26px 34px 90px; }

.campaigns { display:grid; grid-template-columns:1.05fr .95fr; gap:18px; }
.campaign { min-height:360px; position:relative; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.08); isolation:isolate; background:#181323; }
.campaign>img,.orbit>img,.portrait>img,.feature>img { position:absolute; inset:0; width:100%; height:100%; }
.campaign img { object-fit:cover; }
.campaign-story img { object-position:center 45%; }
.campaign-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(8,6,14,.99) 3%,rgba(9,5,16,.88) 46%,rgba(9,5,16,.34) 65%,rgba(9,5,16,.06) 86%),linear-gradient(0deg,rgba(9,5,16,.68),transparent 64%); }
.campaign-copy { position:absolute; z-index:3; left:36px; bottom:32px; max-width:520px; }
.eyebrow,.kicker { color:#d3a6ff; font-size:10px; font-weight:800; letter-spacing:.18em; }
.eyebrow.cyan { color:var(--cyan); }
.campaign h1,.campaign h2 { margin:10px 0 13px; letter-spacing:-.045em; line-height:.94; text-transform:uppercase; font-weight:900; text-wrap:balance; }
.campaign-story .campaign-copy { width:min(500px,62%); }
.campaign-story h1 { font-size:clamp(34px,2.7vw,50px); }
.campaign p { max-width:320px; margin:0 0 20px; color:#c5c0cc; font-size:13px; line-height:1.5; }
.campaign-copy a,.community a { display:inline-flex; align-items:center; gap:18px; padding:12px 16px; border-radius:10px; background:white; color:#0b0910; font-size:12px; font-weight:850; }
.campaign-worlds { background:radial-gradient(circle at 80% 28%,#3f1678 0,transparent 33%),radial-gradient(circle at 90% 95%,#091d42 0,transparent 45%),linear-gradient(145deg,#100b1b,#090a12); }
.campaign-worlds:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(8,7,14,.96) 0,rgba(8,7,14,.84) 43%,rgba(8,7,14,.28) 67%,transparent 84%),linear-gradient(0deg,rgba(8,7,14,.5),transparent 58%); pointer-events:none; }
.campaign-worlds:after { content:""; position:absolute; inset:0; z-index:0; opacity:.23; background-image:radial-gradient(#c87dff 1px,transparent 1px); background-size:28px 28px; mask-image:linear-gradient(90deg,transparent 30%,#000); }
.campaign-worlds .campaign-copy { left:32px; bottom:32px; width:54%; max-width:420px; }
.campaign-worlds h2 { font-size:clamp(32px,2.35vw,44px); }
.orbit { position:absolute; z-index:2; border-radius:50%; overflow:hidden; border:2px solid rgba(222,172,255,.72); box-shadow:0 0 0 7px rgba(116,49,208,.18),0 0 34px rgba(174,92,255,.55); }
.orbit img { object-fit:cover; }
.orbit-one { width:88px; height:88px; right:34%; top:17%; }
.orbit-two { width:132px; height:132px; right:8%; top:20%; }
.orbit-three { width:78px; height:78px; right:30%; bottom:11%; }

.discovery,.experience,.companion-guide,.steps,.seo-story,.journal { padding-top:78px; }
.section-heading { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:25px; }
.section-heading h2,.experience-intro h2,.faq h2 { font-size:clamp(34px,4vw,58px); line-height:.98; letter-spacing:-.055em; margin:8px 0 8px; }
.section-heading p,.experience-intro p,.faq>div>p { color:var(--muted); margin:0; font-size:14px; }
.view-all { display:flex; gap:10px; align-items:center; border-bottom:1px solid #6d6874; padding-bottom:6px; font-size:12px; color:#d4d0da; }
.filter-row { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:24px; }
.filter-row>span { border:1px solid var(--line); background:#14141b; padding:10px 15px; border-radius:999px; font-size:12px; }
.filter-row>span.selected { color:white; border-color:#8552cc; background:rgba(156,77,255,.2); }
.companion-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.companion-card { background:#111118; border:1px solid var(--line); border-radius:18px; overflow:hidden; transition:transform .24s ease,border-color .24s ease; }
.companion-card:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--accent) 60%,transparent); }
.portrait { aspect-ratio:3/4; position:relative; overflow:hidden; background:#222; }
.portrait img { object-fit:cover; transition:transform .5s ease; }
.companion-card:hover .portrait img { transform:scale(1.035); }
.portrait-vignette { position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,5,9,.92),transparent 38%); }
.portrait .save { position:absolute; z-index:3; right:12px; top:12px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:rgba(7,7,11,.45); backdrop-filter:blur(8px); font-size:20px; }
.card-tags { position:absolute; z-index:3; left:11px; top:12px; display:flex; gap:5px; }
.card-tags span { padding:5px 7px; border-radius:7px; background:rgba(8,8,12,.65); border:1px solid color-mix(in srgb,var(--accent) 65%,transparent); color:white; backdrop-filter:blur(8px); font-size:8px; font-weight:850; letter-spacing:.08em; }
.card-info { min-height:176px; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:15px 14px 10px; }
.card-info h3 { margin:0 0 4px; font-size:15px; }
.card-info h3 span { color:#55d68b; font-size:7px; vertical-align:middle; }
.card-info small { display:block; margin-bottom:9px; color:var(--accent); font-size:8px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.card-info p { margin:0; color:#aaa6b0; font-size:10px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.card-info a { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; }
.match { display:flex; align-items:center; gap:7px; padding:0 14px 13px; color:#807b89; font-size:8px; text-transform:uppercase; letter-spacing:.08em; }
.match>span { height:2px; max-width:56px; background:var(--accent); }

.experience { display:grid; grid-template-columns:.72fr 1.28fr; gap:60px; align-items:start; }
.experience-intro { position:sticky; top:110px; padding:46px 0; }
.experience-intro h2 em { color:#b46cff; font-style:normal; }
.experience-intro p { max-width:400px; line-height:1.7; }
.feature-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:14px; }
.feature,.feature-stack { min-height:600px; }
.feature { position:relative; overflow:hidden; border-radius:20px; border:1px solid var(--line); background:#15151c; isolation:isolate; }
.feature>img { object-fit:cover; }
.feature-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,rgba(5,5,9,.96),transparent 60%); }
.feature>span { position:absolute; z-index:3; top:18px; left:18px; color:#a8a4af; font-size:10px; }
.feature>div:last-child { position:absolute; z-index:3; left:24px; right:24px; bottom:25px; }
.feature small { color:#c79afa; font-size:9px; font-weight:800; letter-spacing:.15em; }
.feature h3 { margin:8px 0; font-size:clamp(25px,2.5vw,42px); line-height:1; letter-spacing:-.04em; }
.feature p { color:#aaa6b0; font-size:12px; line-height:1.55; max-width:420px; }
.feature-stack { display:grid; grid-template-rows:1fr 1fr; gap:14px; }
.feature-stack .feature { min-height:0; }
.feature-small.violet { background:radial-gradient(circle at 80% 10%,#6d2fc0,transparent 45%),linear-gradient(145deg,#251539,#111118); }
.feature-small.violet>b { position:absolute; right:24px; top:14px; color:#d4a8ff; font-size:86px; opacity:.35; }

.companion-guide { display:grid; grid-template-columns:.7fr 1.3fr; gap:60px; align-items:start; }
.guide-heading { position:sticky; top:110px; }
.guide-heading h2,.seo-story-title h2 { margin:10px 0 16px; font-size:clamp(34px,4vw,58px); line-height:.98; letter-spacing:-.055em; }
.guide-heading>p { max-width:430px; margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.guide-grid article { min-height:260px; padding:28px 26px 32px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.guide-grid article:nth-child(2n) { border-right:0; }
.guide-grid span { color:#b77aff; font-size:9px; font-weight:800; letter-spacing:.13em; }
.guide-grid h3 { margin:42px 0 12px; font-size:22px; line-height:1.05; letter-spacing:-.035em; }
.guide-grid p { margin:0; color:#9f9aa6; font-size:12px; line-height:1.7; }

.step-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.step-grid article { min-height:250px; padding:26px; position:relative; border-right:1px solid var(--line); }
.step-grid article:last-child { border-right:0; }
.step-grid b { color:#77727f; font-size:10px; }
.step-grid span { display:block; width:58px; height:58px; margin:40px 0 28px; display:grid; place-items:center; border:1px solid rgba(156,77,255,.45); border-radius:16px; color:#c989ff; font-size:24px; background:rgba(156,77,255,.08); }
.step-grid h3 { font-size:20px; margin:0 0 9px; }
.step-grid p { max-width:310px; margin:0; color:var(--muted); line-height:1.55; font-size:12px; }
.seo-story { display:grid; grid-template-columns:.72fr 1.28fr; gap:60px; padding-bottom:10px; }
.seo-story-title h2 { max-width:560px; }
.seo-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; padding-top:8px; }
.seo-columns h3 { margin:0 0 15px; color:#ede9f3; font-size:18px; line-height:1.2; }
.seo-columns p { margin:0 0 16px; color:#9f9aa7; font-size:12px; line-height:1.78; }
.community { margin-top:86px; min-height:310px; padding:50px 56px; display:grid; grid-template-columns:1.2fr .8fr; gap:50px; align-items:center; border:1px solid rgba(159,79,255,.3); border-radius:24px; background:radial-gradient(circle at 90% 20%,rgba(44,194,237,.32),transparent 33%),radial-gradient(circle at 12% 90%,rgba(151,69,240,.5),transparent 44%),#12121a; }
.community h2 { font-size:clamp(38px,4.6vw,68px); line-height:.95; letter-spacing:-.06em; margin:12px 0 0; }
.community p { color:#c1bdc7; line-height:1.65; font-size:14px; margin:0 0 24px; }
.community a { background:#a94cff; color:white; width:max-content; }
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.article-grid article { border:1px solid var(--line); background:#101017; border-radius:17px; padding:10px 10px 22px; }
.article-art { height:200px; border-radius:12px; display:grid; place-items:center; overflow:hidden; position:relative; }
.article-art:before { content:""; width:160px; height:160px; border:1px solid rgba(255,255,255,.25); border-radius:50%; position:absolute; box-shadow:0 0 60px currentColor; }
.article-art span { font-weight:900; font-size:42px; letter-spacing:-.08em; font-style:italic; position:relative; }
.article-art.a1 { color:#fb6f91; background:radial-gradient(circle,#5f163d,#15101b 70%); }
.article-art.a2 { color:#4ddaf7; background:radial-gradient(circle,#123f5c,#10131c 70%); }
.article-art.a3 { color:#b77aff; background:radial-gradient(circle,#42236d,#130f1b 70%); }
.article-grid small { display:block; margin:18px 8px 9px; color:#918c9a; font-size:8px; letter-spacing:.12em; }
.article-grid h3 { min-height:62px; margin:0 8px 20px; font-size:18px; line-height:1.22; letter-spacing:-.025em; }
.article-grid a { margin:0 8px; color:#c786ff; font-size:11px; font-weight:700; }

.faq { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; padding:100px 0 30px; }
.faq>div:first-child { padding-top:15px; }
.faq>div>p { max-width:300px; line-height:1.6; }
.faq-list details { border-top:1px solid var(--line); }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; min-height:70px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-size:15px; font-weight:700; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:#a664f6; font-size:20px; transition:.2s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list p { margin:-4px 50px 24px 0; color:#9d99a5; font-size:12px; line-height:1.65; }
footer { padding:46px 42px; border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:36px; color:#85818d; }
footer .brand span { font-size:25px; }
footer p,footer small { font-size:10px; }
footer div { display:flex; gap:22px; font-size:11px; }
footer small { grid-column:1/-1; }

.legal-page { margin-left:0; min-height:100vh; overflow:visible; background:radial-gradient(circle at 75% 0,rgba(116,49,208,.16),transparent 28%),var(--bg); }
.legal-header { position:sticky; top:0; z-index:10; min-height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 36px; border-bottom:1px solid var(--line); background:rgba(8,8,12,.88); backdrop-filter:blur(18px); }
.legal-header .brand span { font-size:27px; }
.legal-header>a:last-child { display:flex; gap:12px; align-items:center; color:#c9c5cf; font-size:12px; font-weight:700; }
.legal-document { width:min(820px,calc(100% - 36px)); margin:0 auto; padding:84px 0 100px; }
.legal-hero { padding-bottom:42px; border-bottom:1px solid var(--line); }
.legal-hero>span { color:#c58cff; font-size:10px; font-weight:850; letter-spacing:.18em; }
.legal-hero h1 { margin:10px 0 15px; font-size:clamp(48px,8vw,84px); line-height:.9; letter-spacing:-.065em; }
.legal-hero p { margin:0; color:#85818e; font-size:12px; }
.legal-notice { margin:34px 0 52px; padding:22px 24px; border:1px solid rgba(156,77,255,.28); border-radius:14px; background:rgba(156,77,255,.08); }
.legal-notice b { color:#eadbff; font-size:13px; }
.legal-notice p { margin:6px 0 0; color:#aaa5b1; font-size:12px; line-height:1.6; }
.legal-document section { padding:0 0 34px; }
.legal-document section h2 { margin:0 0 12px; color:#f4f1f8; font-size:20px; letter-spacing:-.025em; }
.legal-document section p { margin:0 0 12px; color:#a8a3af; font-size:13px; line-height:1.8; }
.legal-document section a { color:#c78aff; text-decoration:underline; text-underline-offset:3px; }
.legal-footnote { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); color:#716d78; font-size:11px; line-height:1.65; }

/* About and contact pages */
.content-page { margin-left:0; min-height:100vh; overflow:visible; background:radial-gradient(circle at 86% 3%,rgba(120,49,214,.18),transparent 27%),var(--bg); }
.content-header { position:sticky; inset:0 0 auto; z-index:15; min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:28px; padding:0 42px; border-bottom:1px solid var(--line); background:rgba(8,8,12,.88); backdrop-filter:blur(18px); }
.content-header .brand span { font-size:27px; }
.content-header nav { display:flex; align-items:center; gap:28px; color:#aaa6b1; font-size:12px; font-weight:700; }
.content-header nav a:hover,.content-header nav a[aria-current="page"] { color:white; }
.content-header .header-cta { padding:11px 16px; border-radius:10px; color:white; background:linear-gradient(110deg,#b74cff,#8237ef); }
.content-shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:34px 0 90px; }
.breadcrumbs { display:flex; gap:9px; align-items:center; margin-bottom:28px; color:#76717e; font-size:10px; letter-spacing:.05em; }
.breadcrumbs a { color:#b68ade; }
.content-hero { min-height:570px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:62px; }
.content-hero h1,.contact-hero h1 { margin:12px 0 22px; font-size:clamp(48px,6vw,78px); line-height:.92; letter-spacing:-.06em; text-wrap:balance; }
.content-hero>div>p,.contact-hero>div>p { max-width:600px; margin:0; color:#aaa5b2; font-size:16px; line-height:1.72; }
.content-hero figure { position:relative; min-height:500px; margin:0; overflow:hidden; border:1px solid rgba(199,134,255,.26); border-radius:24px; background:#17131f; box-shadow:0 34px 90px rgba(0,0,0,.32); }
.content-hero figure::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,6,11,.92),transparent 46%); }
.content-hero figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.content-hero figcaption { position:absolute; z-index:2; left:26px; right:26px; bottom:23px; color:#d8d2df; font-size:11px; letter-spacing:.03em; }
.content-intro { padding:104px 0 82px; border-bottom:1px solid var(--line); }
.content-intro h2 { max-width:900px; margin:12px 0 45px; font-size:clamp(38px,5vw,64px); line-height:.98; letter-spacing:-.055em; }
.content-columns { display:grid; grid-template-columns:1fr 1fr; gap:52px; margin-left:28%; }
.content-columns p,.split-copy p,.contact-guidance p { margin:0; color:#aaa5b1; font-size:14px; line-height:1.8; }
.value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line); }
.value-grid article { min-height:360px; padding:58px 34px 48px; border-right:1px solid var(--line); }
.value-grid article:last-child { border-right:0; }
.value-grid span { color:#ba77ff; font-size:9px; font-weight:850; letter-spacing:.15em; }
.value-grid h2 { margin:74px 0 15px; font-size:25px; line-height:1.04; letter-spacing:-.04em; }
.value-grid p { margin:0; color:#9e99a6; font-size:12px; line-height:1.75; }
.split-story { display:grid; grid-template-columns:1.22fr .78fr; gap:76px; align-items:start; padding:104px 0; }
.split-copy h2 { margin:12px 0 26px; font-size:clamp(38px,4.6vw,60px); line-height:.98; letter-spacing:-.05em; }
.split-copy p { margin-bottom:18px; }
.quote-panel { position:sticky; top:118px; padding:38px; border:1px solid rgba(171,93,255,.3); border-radius:20px; background:radial-gradient(circle at 90% 10%,rgba(68,196,242,.16),transparent 37%),rgba(156,77,255,.08); }
.quote-panel>span { color:#c58aff; font-size:9px; font-weight:850; letter-spacing:.16em; }
.quote-panel blockquote { margin:35px 0 46px; color:#eee9f4; font-size:25px; line-height:1.35; letter-spacing:-.025em; }
.quote-panel a { color:#d09bff; font-size:12px; font-weight:750; }
.content-cta { min-height:270px; display:grid; grid-template-columns:1fr auto; gap:46px; align-items:center; padding:48px 52px; border:1px solid rgba(159,79,255,.3); border-radius:22px; background:radial-gradient(circle at 90% 20%,rgba(44,194,237,.23),transparent 35%),radial-gradient(circle at 10% 100%,rgba(151,69,240,.4),transparent 45%),#12121a; }
.content-cta h2 { max-width:760px; margin:10px 0 0; font-size:clamp(34px,4.5vw,56px); line-height:.98; letter-spacing:-.05em; }
.content-cta>a { display:inline-flex; align-items:center; gap:18px; padding:14px 18px; border-radius:10px; background:white; color:#0b0910; font-size:12px; font-weight:850; white-space:nowrap; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:22px; font-size:11px; }
.site-footer nav a:hover { color:#d7a7ff; }

.contact-hero { min-height:470px; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:70px; border-bottom:1px solid var(--line); }
.contact-visual { position:relative; width:min(360px,85%); aspect-ratio:1; justify-self:end; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle,rgba(174,88,255,.38),rgba(69,35,109,.12) 52%,transparent 68%); }
.contact-visual>span { width:118px; height:118px; display:grid; place-items:center; border:1px solid rgba(218,173,255,.5); border-radius:38px; color:white; font-size:54px; font-weight:900; background:linear-gradient(145deg,#bd66ff,#702bd7); box-shadow:0 24px 80px rgba(139,54,229,.46); }
.contact-visual i { position:absolute; width:14px; height:14px; border-radius:50%; background:#4edafa; box-shadow:0 0 24px #4edafa; }
.contact-visual i:nth-child(2) { left:9%; top:24%; }
.contact-visual i:nth-child(3) { right:5%; top:48%; width:9px; height:9px; background:#dc98ff; }
.contact-visual i:nth-child(4) { left:25%; bottom:7%; width:7px; height:7px; }
.contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:82px 0; }
.contact-grid article { min-height:300px; display:flex; flex-direction:column; padding:34px; border:1px solid var(--line); border-radius:18px; background:#111118; }
.contact-grid article>span { color:#c17fff; font-size:9px; font-weight:850; letter-spacing:.15em; }
.contact-grid h2 { margin:52px 0 13px; font-size:27px; line-height:1; letter-spacing:-.04em; }
.contact-grid p { margin:0 0 30px; color:#9f9aa6; font-size:12px; line-height:1.7; }
.contact-grid a { margin-top:auto; color:#d09cff; font-size:12px; font-weight:750; overflow-wrap:anywhere; }
.contact-guidance { display:grid; grid-template-columns:.72fr 1.28fr; gap:72px; padding:15px 0 104px; }
.contact-guidance h2 { margin:12px 0 0; font-size:clamp(38px,4.8vw,60px); line-height:.98; letter-spacing:-.05em; }
.contact-guidance h3 { margin:0 0 10px; color:#f0edf4; font-size:17px; }
.contact-guidance p { margin-bottom:28px; }
.contact-guidance p a { color:#c58aff; text-decoration:underline; text-underline-offset:3px; }

@media (max-width:1180px) {
  .sidebar { width:86px; align-items:center; padding-inline:12px; }
  .sidebar .brand span,.sidebar .brand b,.side-nav a:not(.active){ font-size:0; }
  .side-nav a { justify-content:center; padding:0; width:48px; }
  .side-nav a.active { font-size:0; }
  .side-bottom a span,.side-bottom .upgrade { font-size:0; justify-content:center; }
  main { margin-left:86px; }
  .companion-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .campaign { min-height:330px; }
  .campaign-copy { left:27px; bottom:27px; }
  .campaign-story h1 { font-size:clamp(30px,3.25vw,40px); }
  .campaign-worlds .campaign-copy { left:27px; bottom:27px; width:56%; }
  .campaign-worlds h2 { font-size:clamp(29px,3vw,37px); }
  .campaign p { max-width:285px; }
}
@media (max-width:900px) {
  .campaigns,.experience,.companion-guide,.seo-story,.faq { grid-template-columns:1fr; }
  .experience-intro { position:static; padding:0; }
  .guide-heading { position:static; }
  .feature-grid { grid-template-columns:1fr; }
  .feature,.feature-stack { min-height:480px; }
  .feature-stack { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .community { grid-template-columns:1fr; }
  .seo-columns { grid-template-columns:1fr; }
  .content-hero,.contact-hero,.split-story,.contact-guidance { grid-template-columns:1fr; }
  .content-hero { gap:36px; }
  .content-hero figure { min-height:420px; }
  .content-columns { margin-left:0; }
  .value-grid { grid-template-columns:1fr; }
  .value-grid article { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .value-grid h2 { margin-top:36px; }
  .quote-panel { position:static; }
  .contact-visual { display:none; }
}
@media (max-width:680px) {
  .sidebar { display:none; }
  main { margin-left:0; }
  .topbar { height:66px; padding:0 16px; justify-content:space-between; }
  .mobile-menu,.mobile-brand { display:block; }
  .mobile-menu { position:relative; }
  .mobile-menu summary { list-style:none; cursor:pointer; font-size:22px; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu>div { position:absolute; left:0; top:40px; width:170px; display:grid; padding:10px; background:#17171f; border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 50px #000; }
  .mobile-menu a { padding:10px; font-size:13px; }
  .mobile-brand { font-size:24px; }
  .top-actions .login { display:none; }
  .top-actions a { min-width:98px; height:40px; font-size:12px; }
  .page-wrap { padding:14px 14px 60px; }
  .campaigns { gap:12px; }
  .campaign { min-height:380px; border-radius:17px; }
  .campaign-worlds { display:none; }
  .campaign-copy { left:22px; bottom:25px; }
  .campaign-story .campaign-copy { width:calc(100% - 44px); }
  .campaign h1 { font-size:clamp(36px,11vw,44px); line-height:.96; }
  .discovery,.experience,.companion-guide,.steps,.seo-story,.journal { padding-top:58px; }
  .section-heading { align-items:start; }
  .section-heading h2,.experience-intro h2,.faq h2 { font-size:38px; }
  .section-heading p { font-size:12px; }
  .filter-row { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .filter-row>span { flex:0 0 auto; }
  .companion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .card-info { padding-inline:10px; }
  .card-info { min-height:190px; align-items:flex-start; }
  .card-info p { max-width:120px; -webkit-line-clamp:6; }
  .match { display:none; }
  .feature-grid,.feature-stack { display:grid; grid-template-columns:1fr; }
  .feature,.feature-stack,.feature-stack .feature { min-height:430px; }
  .step-grid,.article-grid { grid-template-columns:1fr; }
  .guide-grid { grid-template-columns:1fr; }
  .guide-grid article { min-height:230px; border-right:0; }
  .step-grid article { border-right:0; border-bottom:1px solid var(--line); min-height:220px; }
  .community { padding:34px 24px; margin-top:58px; min-height:430px; }
  .community h2 { font-size:42px; }
  .article-grid h3 { min-height:auto; }
  .faq { gap:30px; padding-top:70px; }
  footer { grid-template-columns:1fr; padding:34px 20px; gap:18px; }
  footer small { grid-column:auto; }
  .legal-header { min-height:66px; padding:0 18px; }
  .legal-document { width:min(100% - 28px,820px); padding:58px 0 72px; }
  .legal-hero h1 { font-size:52px; }
  .content-header { min-height:66px; padding:0 16px; }
  .content-header nav { gap:14px; }
  .content-header nav>a:not(.header-cta) { display:none; }
  .content-header .header-cta { padding:10px 12px; }
  .content-shell { width:min(100% - 28px,1180px); padding-top:24px; }
  .breadcrumbs { margin-bottom:12px; }
  .content-hero,.contact-hero { min-height:auto; padding:44px 0 58px; }
  .content-hero h1,.contact-hero h1 { font-size:44px; }
  .content-hero>div>p,.contact-hero>div>p { font-size:14px; }
  .content-hero figure { min-height:360px; }
  .content-intro { padding:70px 0 58px; }
  .content-intro h2,.split-copy h2,.contact-guidance h2 { font-size:38px; }
  .content-columns,.contact-grid { grid-template-columns:1fr; gap:14px; }
  .value-grid article { padding:42px 20px; }
  .split-story { padding:70px 0; gap:34px; }
  .quote-panel { padding:28px 24px; }
  .quote-panel blockquote { font-size:21px; }
  .content-cta { grid-template-columns:1fr; min-height:360px; padding:34px 24px; }
  .content-cta h2 { font-size:38px; }
  .content-cta>a { width:max-content; }
  .contact-grid { padding:56px 0; }
  .contact-grid article { min-height:270px; padding:28px 24px; }
  .contact-guidance { gap:34px; padding-bottom:72px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

/* Conversion transition */
.redirect-page { min-height:100vh; overflow:hidden; display:grid; place-items:center; padding:24px; background:#07060b; }
.redirect-page::before,.redirect-page::after { content:""; position:fixed; border-radius:50%; filter:blur(18px); pointer-events:none; }
.redirect-page::before { width:65vw; height:65vw; left:-25vw; top:-30vw; background:radial-gradient(circle,rgba(163,65,255,.42),rgba(99,37,178,.06) 58%,transparent 72%); animation:redirect-breathe 2.6s ease-in-out infinite alternate; }
.redirect-page::after { width:56vw; height:56vw; right:-24vw; bottom:-30vw; background:radial-gradient(circle,rgba(45,205,244,.25),rgba(32,83,170,.05) 60%,transparent 72%); animation:redirect-breathe 3.1s ease-in-out .25s infinite alternate-reverse; }
.redirect-stage { position:relative; z-index:1; width:min(520px,100%); text-align:center; }
.redirect-orbit { position:relative; width:180px; height:180px; margin:0 auto 34px; display:grid; place-items:center; }
.redirect-orbit::before,.redirect-orbit::after { content:""; position:absolute; inset:0; border-radius:50%; border:1px solid rgba(207,145,255,.28); box-shadow:0 0 44px rgba(154,68,255,.2); animation:redirect-orbit 2.4s linear infinite; }
.redirect-orbit::after { inset:22px; border-color:rgba(91,216,255,.26); animation-direction:reverse; animation-duration:1.8s; }
.redirect-heart { width:94px; height:94px; display:grid; place-items:center; border-radius:32px; color:#fff; font-size:45px; background:linear-gradient(145deg,#d56cff,#7d35ee); box-shadow:0 0 0 10px rgba(169,75,255,.08),0 24px 70px rgba(137,48,238,.5); animation:redirect-heart 1.15s ease-in-out infinite alternate; }
.redirect-kicker { display:block; margin-bottom:13px; color:#cf94ff; font-size:10px; font-weight:850; letter-spacing:.2em; }
.redirect-stage h1 { margin:0; font-size:clamp(38px,7vw,64px); line-height:.94; letter-spacing:-.06em; }
.redirect-stage p { margin:18px auto 0; max-width:390px; color:#a8a2b2; font-size:14px; line-height:1.65; }
.redirect-progress { height:5px; margin:32px auto 14px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.redirect-progress span { display:block; width:100%; height:100%; transform:translateX(-100%); border-radius:inherit; background:linear-gradient(90deg,#8f3ff2,#d777ff,#43d9ff); box-shadow:0 0 22px rgba(191,105,255,.65); animation:redirect-progress 1.8s cubic-bezier(.22,.72,.2,1) forwards; }
.redirect-status { min-height:20px; color:#7f7988!important; font-size:11px!important; letter-spacing:.08em; text-transform:uppercase; }
.redirect-fallback { display:inline-flex; margin-top:18px; color:#c894ff; font-size:11px; text-decoration:underline; text-underline-offset:4px; }
@keyframes redirect-breathe { to { transform:scale(1.12) translate3d(3vw,2vw,0); opacity:.74; } }
@keyframes redirect-orbit { to { transform:rotate(360deg); } }
@keyframes redirect-heart { to { transform:scale(1.075) rotate(-2deg); box-shadow:0 0 0 15px rgba(169,75,255,.05),0 28px 86px rgba(137,48,238,.64); } }
@keyframes redirect-progress { to { transform:translateX(0); } }
@media (prefers-reduced-motion:reduce) { .redirect-page::before,.redirect-page::after,.redirect-orbit::before,.redirect-orbit::after,.redirect-heart { animation:none!important; } .redirect-progress span { animation-duration:.2s; } }
