:root { --gold: #ddb575; --line: rgba(229, 195, 139, .24); }
.brand-mark { color: var(--gold); }
.brand-mark svg { width: 31px; height: 35px; }
.benefit { background: rgba(4, 5, 10, .55); border-radius: 12px; padding: 9px; backdrop-filter: blur(5px); }
.slide-desc { text-shadow: 0 1px 18px rgba(0,0,0,.9); }
@media (max-width: 1000px) { #slide-2.active { background: linear-gradient(90deg, rgba(0,0,0,.82), rgba(0,0,0,.55)); border-radius: 16px; padding: 14px 18px; backdrop-filter: blur(7px); } }
.hero-shortcuts { display: flex; gap: 9px; flex-wrap: wrap; margin: 22px 0 0 60px; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .6s, transform .6s; }
.slide.active .hero-shortcuts { opacity: 1; transform: none; pointer-events: auto; }
.hero-shortcuts a, .service-pill { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid rgba(238, 215, 178, .44); background: rgba(23, 21, 28, .46); backdrop-filter: blur(18px); border-radius: 999px; color: #fff; text-decoration: none; padding: 11px 17px; font-size: 12px; line-height: 1.15; transition: background .25s, border-color .25s, transform .25s; }
.hero-shortcuts a:hover, .service-pill:hover { background: rgba(197, 151, 79, .28); border-color: var(--gold); transform: translateY(-2px); }
.ecosystem-section { display: block; padding: 120px 60px 42px; background: radial-gradient(circle at 78% 6%, rgba(177, 124, 67, .25), transparent 31%), linear-gradient(180deg, #11131d, #07080d 72%); min-height: 100vh; }
.ecosystem-inner { max-width: 1440px; margin: auto; }
.ecosystem-section .contact-eyebrow { margin-bottom: 28px; color: #dbc3a1; }
.ecosystem-section .eyebrow-dot { background: var(--gold); box-shadow: 0 0 14px var(--gold); }
.ecosystem-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 48px; }
.ecosystem-section .contact-title { margin-bottom: 20px; }
.ecosystem-section .contact-title .line.muted { color: #b99b72; }
.ecosystem-lead { max-width: 620px; font-size: 17px; line-height: 1.6; color: #c4c6cc; }
.top-pill { white-space: nowrap; margin-bottom: 9px; }
.portal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.portal-card { display: grid; grid-template-columns: minmax(120px, 34%) 1fr; min-height: 265px; border: 1px solid var(--line); background: linear-gradient(125deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); border-radius: 26px; overflow: hidden; transition: border-color .3s, transform .3s; }
.portal-card:hover { border-color: rgba(221,181,117,.67); transform: translateY(-3px); }
.portal-featured { grid-column: 1 / -1; grid-template-columns: 42% 1fr; min-height: 320px; }
.portal-art { min-width: 0; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle, rgba(183,136,74,.18), transparent 63%), #0b0c11; border-right: 1px solid rgba(221,181,117,.14); }
.portal-logo { width: 100%; height: 100%; object-fit: cover; }
.portal-monogram { display: grid; place-items: center; width: 112px; height: 112px; border: 1px solid rgba(230,186,113,.42); border-radius: 32px; color: var(--gold); font-size: 58px; font-weight: 300; box-shadow: 0 0 70px rgba(191,144,78,.15), inset 0 0 45px rgba(191,144,78,.07); }
.portal-body { display: flex; flex-direction: column; align-items: start; padding: 31px; }
.portal-kind { font-size: 11px; text-transform: uppercase; letter-spacing: .18em; color: var(--gold); }
.portal-body h3 { font-size: clamp(27px, 2.6vw, 40px); line-height: 1.08; letter-spacing: -.035em; font-weight: 400; margin: 12px 0; }
.portal-body p { color: #c8c8ce; font-size: 14px; line-height: 1.55; max-width: 54ch; }
.mini-tags { display: flex; gap: 7px; flex-wrap: wrap; margin: 18px 0 24px; }
.mini-tag { color: #d2c4b1; border: 1px solid rgba(223,188,137,.24); border-radius: 999px; padding: 5px 9px; font-size: 10px; letter-spacing: .04em; }
.portal-body .service-pill { margin-top: auto; }
.portal-footer { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); padding: 28px 0 0; margin-top: 70px; color: #9e9da4; font-size: 12px; }
.portal-footer a { color: #e5d6bf; text-decoration: none; }
@media (max-width: 900px) { .ecosystem-section { padding: 90px 30px 30px; } .portal-grid { grid-template-columns: 1fr; } .portal-featured { grid-column: auto; } .ecosystem-heading { align-items: start; flex-direction: column; } }
@media (max-width: 620px) { .hero-shortcuts { margin-left: 24px; max-width: calc(100vw - 48px); } .hero-shortcuts a { font-size: 11px; padding: 9px 12px; } .ecosystem-section { padding: 70px 20px 25px; } .ecosystem-lead { font-size: 15px; } .portal-card, .portal-featured { display: flex; flex-direction: column; } .portal-art { height: 150px; border-right: 0; border-bottom: 1px solid var(--line); } .portal-featured .portal-art { height: 190px; } .portal-body { padding: 24px; } .portal-body h3 { font-size: 30px; } .portal-monogram { width: 82px; height: 82px; font-size: 42px; border-radius: 22px; } .portal-footer { flex-wrap: wrap; } }
.universe-map { position:relative; isolation:isolate; overflow:hidden; padding:54px 30px 32px; margin:0 0 72px; border:1px solid var(--line); border-radius:32px; background:radial-gradient(ellipse at 50% 0, #342d453d, transparent 65%), #080a12; }
.universe-map:before { content:""; position:absolute; inset:0; z-index:-1; opacity:.35; background-image:radial-gradient(circle,#d8c7ff 1px,transparent 1.5px),radial-gradient(circle,#a5cbea 1px,transparent 1.5px); background-size:83px 97px,139px 151px; background-position:7px 19px,43px 83px; }
.map-origin { text-align:center; color:#ead5b7; font-size:13px; letter-spacing:.2em; }
.map-origin p { font-size:14px; color:#a9aab9; letter-spacing:0; margin:12px 0 0; }
.map-signal { display:block; width:12px; height:12px; background:#edc889; border-radius:50%; margin:0 auto 18px; box-shadow:0 0 30px #dfb56e; }
.world-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; position:relative; padding-top:64px; }
.world-paths:before { content:""; position:absolute; top:32px; left:16.67%; right:16.67%; border-top:1px solid #c5bbdf40; }
.world-node { --world:#e1b878; position:relative; text-align:center; color:#f2f0f7; text-decoration:none; border:1px solid transparent; border-radius:24px; padding:24px 12px; transition:background .3s,border-color .3s; }
.world-node:before { content:""; position:absolute; height:32px; border-left:1px solid #c5bbdf40; top:-32px; left:50%; }
.world-violet { --world:#bba0ff; }.world-cyan { --world:#85d8ed; }
.world-orb { display:grid; place-items:center; position:relative; width:116px; height:116px; margin:0 auto 32px; border-radius:50%; border:1px solid var(--world); color:var(--world); font-size:27px; font-weight:300; background:radial-gradient(circle at 30% 25%,#ffffff24,transparent 40%),radial-gradient(circle at 70% 80%,#ffffff15,transparent 65%); box-shadow:inset -16px -16px 30px #0009,0 0 55px #a7a0df14; transition:transform .4s; }
.world-orb i { position:absolute; inset:-12px; border:1px solid var(--world); opacity:.35; border-radius:50%; transform:rotate(-28deg) scaleY(.45); }
.world-orb .world-logo{position:relative;display:block;width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 4px 12px #0008);pointer-events:none}
.world-orb .world-logo-gold{border-radius:22%}
.world-orb .world-logo-society{border-radius:50%;overflow:hidden;width:80%;height:80%}
.world-orb .world-logo-app{color:var(--world);filter:drop-shadow(0 0 10px #85d8ed50)}
.world-orb[data-logo3d]{touch-action:pan-y;user-select:none}
.world-logo-canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;pointer-events:none}
.world-node:has([data-logo3d="nes-society"]),.world-node:has([data-logo3d="nestalabs"]){touch-action:pan-y}
.world-orb.logo-3d-ready .world-logo{visibility:hidden}
.world-node:hover .world-orb[data-logo3d]{transform:translateY(-6px)}
@media(prefers-reduced-motion:reduce){.world-node:hover .world-orb[data-logo3d]{transform:none}}
.world-purpose { color:var(--world); font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.world-node h3 { font-size:30px; font-weight:400; margin:10px 0; letter-spacing:-.04em; }
.world-node p { color:#b8b8c9; font-size:13px; line-height:1.6; }
.world-enter { display:inline-block; margin-top:22px; font-size:12px; color:var(--world); }
.world-node:hover,.world-node:focus-visible { background:#ffffff08; border-color:var(--world); }
.world-node:hover .world-orb { transform:translateY(-6px) rotate(8deg); }
.satellite-heading { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding-top:30px; margin-top:20px; border-top:1px solid #ffffff16; color:#e2d5c1; font-size:13px; }
.satellite-heading span { color:#999bad; font-size:11px; }
.satellite-paths { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.satellite-paths a { color:#d0d2df; text-decoration:none; font-size:12px; border:1px solid #ffffff26; padding:12px 17px; border-radius:30px; background:#ffffff05; }
.satellite-paths a:hover,.satellite-paths a:focus-visible { border-color:var(--gold); color:var(--gold); }
.satellite-paths .store-entry{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;padding:24px 28px;font-size:25px;border-color:#b9c9fa55;background:linear-gradient(120deg,#202a4366,#111620);border-radius:16px;color:#d4dfff}.store-entry span{font-size:12px;color:#afbcd6}.store-home-note{margin:-8px 0 32px;color:#a7afc1;font-size:13px;line-height:1.8}.store-home-note a{color:#d4dfff;text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.satellite-paths .store-entry{align-items:start;flex-direction:column;gap:8px}}
.world-directory-title { font-size:clamp(26px,4vw,44px); font-weight:400; margin:0 0 30px; letter-spacing:-.04em; }
@media(max-width:700px) { .universe-map { padding:32px 20px; }.world-paths { grid-template-columns:1fr; padding-top:25px; gap:10px; }.world-paths:before,.world-node:before { display:none; }.world-node { border-color:#ffffff14; padding:28px 15px; }.world-orb { width:90px; height:90px; margin-bottom:25px; } }
@media(prefers-reduced-motion:reduce) { .world-node,.world-orb { transition:none; }.world-node:hover .world-orb { transform:none; } }
.world-violet{--world:#91b7d2}.portal-art .board-crop{display:block;width:100%;height:auto;overflow:hidden}
.home-services{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 0;border-top:1px solid #ffffff25}.home-kicker{font-size:10px;letter-spacing:.17em;color:#d5bc8f;margin:0 0 12px}.home-services h2{font-size:clamp(24px,3vw,35px);font-weight:400;letter-spacing:-.04em;margin:0 0 12px}.home-services p:not(.home-kicker){font-size:13px;color:#a9afbd;margin:0}.home-services>a{color:#e4cc9e;font-size:13px;text-decoration:none;white-space:nowrap;padding:16px 0;border-bottom:1px solid #d5bc8f70}.home-services>a span{margin-left:20px}.home-directory{border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25;padding:0 0 0;margin:0 0 32px}.home-directory summary{padding:24px 0;cursor:pointer;font-size:16px;color:#e1e6f2}.home-directory summary span{font-size:11px;color:#8f9bb1;margin-left:15px}.home-directory nav{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.home-directory nav a{display:grid;grid-template-columns:1fr auto;gap:6px;padding:18px 0;border-top:1px solid #ffffff14;text-decoration:none;color:#e2e8f6;font-size:14px}.home-directory nav small{grid-row:2;font-size:11px;color:#8f9bb1}.home-directory nav b{grid-column:2;grid-row:1 / 3;align-self:center;font-weight:400}.home-directory nav a:hover,.home-store-link:hover{color:#e4cc9e}.home-store-link{display:inline-block;margin:20px 0 25px;color:#bacdf5;font-size:12px;text-decoration:none}@media(max-width:600px){.home-services{align-items:start;flex-direction:column;gap:20px}.home-directory nav{grid-template-columns:1fr}.home-directory summary span{display:block;margin:8px 0 0 18px}}
.home-journey{position:relative;height:210svh;margin:0;--store-reveal:1}.journey-pin{position:sticky;top:80px;height:calc(100svh - 90px);min-height:450px;display:flex;align-items:center;flex-direction:column;justify-content:center;isolation:isolate;overflow:hidden}.journey-heading{text-align:center;z-index:1}.journey-heading>p,.journey-store>p{font-size:10px;letter-spacing:.18em;color:#d8c397;margin:0 0 13px}.journey-heading h2{font-size:clamp(24px,3vw,40px);font-weight:400;margin:0 0 12px}.journey-heading>span{font-size:12px;color:#9eacc7}.home-journey .constellation-stage{width:min(100%,740px);height:clamp(260px,54svh,590px);flex-shrink:0;border-radius:0;background:radial-gradient(ellipse,#27345f50,transparent 70%)}.journey-store{position:absolute;z-index:4;top:50%;left:50%;width:min(450px,90%);transform:translate(-50%,-40%);text-align:center;padding:32px 18px;background:radial-gradient(ellipse,#101422ee,transparent 75%)}.journey-store h2{font-size:clamp(48px,7vw,85px);font-weight:400;letter-spacing:-.06em;margin:12px 0 20px;color:#edf1ff}.journey-store>span{font-size:16px;line-height:1.7;color:#aebbda}.journey-store>a{display:flex;justify-content:center;gap:35px;align-items:center;width:max-content;max-width:100%;margin:28px auto 0;padding:18px 30px;border:1px solid #c4d4ff88;border-radius:50px;background:#1d2944;color:#e5edff;text-decoration:none;font-size:14px;box-shadow:0 0 45px #7aa1f522}.journey-store>a:hover{background:#31456b}.journey-ready .journey-store{opacity:var(--store-reveal);pointer-events:none}.journey-ready.store-revealed .journey-store{pointer-events:auto}.journey-ready.store-revealed .constellation-controls,.journey-ready.store-revealed .journey-heading{visibility:hidden}.home-journey:not(.journey-ready){height:auto;min-height:650px}.home-journey:not(.journey-ready) .journey-pin{position:relative}.home-journey:not(.journey-ready) .constellation-stage,.home-journey:not(.journey-ready) .constellation-controls{visibility:hidden}.home-journey .explorer-links[hidden]{display:none}.home-journey .constellation-controls{z-index:2}.home-journey a:focus-visible,.home-journey button:focus-visible{outline:2px solid #e5ce97;outline-offset:5px}@media(max-width:600px){.journey-pin{top:70px;min-height:410px}.journey-heading>span{display:block;max-width:28ch;margin:auto}.home-journey .constellation-stage{height:44svh;min-height:250px}.home-journey{height:190svh}}@media(prefers-reduced-motion:reduce){.home-journey{height:auto}.journey-pin{position:relative;height:auto;padding:35px 0}.journey-ready .journey-store{position:relative;top:auto;left:auto;transform:none;opacity:1;pointer-events:auto}.journey-ready.store-revealed .journey-heading,.journey-ready.store-revealed .constellation-controls{visibility:visible}}
.main-header{gap:22px;height:84px}
.main-header .header-nav{display:flex;gap:4px;padding:5px;border:1px solid #d1c3a42b;border-radius:999px;background:linear-gradient(135deg,#252630c9,#111218d9);backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #ffffff12,0 8px 28px #0003}
.main-header .nav-link{padding:11px 18px;border-radius:999px;font-size:11px;letter-spacing:.025em;color:#a4a6b2;transition:background .25s,color .25s,box-shadow .25s}
.main-header .nav-link:after{display:none}
.main-header .nav-link:hover{background:#ffffff0a;color:#eee7dc}
.main-header .nav-link.is-active{color:#f0dcb3;background:linear-gradient(135deg,#dbc39922,#d0b37b0b);box-shadow:inset 0 0 0 1px #dbc39938,0 2px 8px #0002}

/* Premium hand-off from the constellation to the services section. */
.home-journey + .home-services {
  position: relative;
  border-top: 0;
  padding-top: 58px;
}
.home-journey + .home-services::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(255,255,255,.14) 0 31%,
    transparent 31% 69%,
    rgba(255,255,255,.14) 69% 100%);
}
.journey-store > a {
  position: relative;
  z-index: 6;
  min-width: min(310px, calc(100vw - 48px));
  box-sizing: border-box;
  padding: 18px 28px 18px 32px;
  border-color: rgba(196,212,255,.62);
  background:
    linear-gradient(135deg, rgba(54,72,120,.96), rgba(23,30,52,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    0 18px 54px rgba(34,59,125,.28),
    0 0 0 10px rgba(7,9,16,.82);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.journey-store > a b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-left: auto;
  border: 1px solid rgba(224,208,168,.44);
  border-radius: 50%;
  color: #ead8af;
  font-weight: 400;
}
.journey-store > a:hover {
  transform: translateY(-2px);
  border-color: rgba(229,211,168,.72);
  background: linear-gradient(135deg, rgba(66,87,143,.98), rgba(27,35,60,.98));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.2),
    0 22px 66px rgba(45,73,151,.36),
    0 0 0 10px rgba(7,9,16,.86);
}
@media (max-width: 600px) {
  .home-journey + .home-services { padding-top: 44px; }
  .home-journey + .home-services::before {
    background: linear-gradient(90deg,
      rgba(255,255,255,.14) 0 8%,
      transparent 8% 92%,
      rgba(255,255,255,.14) 92% 100%);
  }
  .journey-store > a { min-width: min(290px, calc(100vw - 40px)); }
}
.main-header .header-actions{gap:18px}
.header-contact-link{display:inline-flex;align-items:center;gap:18px;padding:12px 19px;border:1px solid #ddc39175;border-radius:999px;color:#eddbb9;background:linear-gradient(125deg,#d1b6801a,#131419bb);backdrop-filter:blur(20px);text-decoration:none;font-size:11px;white-space:nowrap;transition:background .25s,border-color .25s}
.header-contact-link:hover{background:#d8bd8b26;border-color:#e5c991}.header-contact-link:hover .btn-arrow{transform:translate(2px,-2px)}
.contact-label-small{display:none}
.main-header a:focus-visible{outline:2px solid #e7c991;outline-offset:4px}
@media(max-width:1100px){.main-header .header-counter{display:none}.main-header{gap:14px}.main-header .nav-link{padding:10px 13px}.contact-label-wide{display:none}.contact-label-small{display:inline}}
@media(max-width:760px){.main-header{height:auto;min-height:110px;display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 0 10px}.main-header .header-nav{grid-row:2;grid-column:1 / -1;width:max-content;max-width:100%;justify-self:center}.main-header .header-actions{grid-row:1;grid-column:2}.main-header .nav-link{padding:9px 17px;font-size:11px}.header-contact-link{padding:9px 14px}.header-progress{top:116px}}
@media(max-width:380px){.main-header .nav-link{padding:9px 11px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.main-header .nav-link,.header-contact-link,.header-contact-link .btn-arrow{transition:none}}
.benefit .benefit-brand{width:44px;height:44px;flex:0 0 44px;border-radius:13px;border:1px solid #d2bd8c45;background:linear-gradient(145deg,#303039aa,#0b0e16);box-shadow:inset 0 1px 0 #ffffff16,0 5px 15px #0004;overflow:hidden;color:#d8c18c}
.benefit-brand img{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px}
.benefit .benefit-brand svg{width:29px;height:29px}
.benefit .benefit-brand-society{border-color:#93b9dd55;color:#a2c6e7}
.benefit .benefit-brand-society svg{width:100%;height:100%;stroke:none}
.benefit .benefit-brand-app{border-color:#91d7df44;color:#a1dce8}
.benefit .benefit-brand-store{border-color:#a9baff55;color:#c3d1ff}
@media(max-width:600px){.benefit .benefit-brand{width:34px;height:34px;flex-basis:34px;border-radius:10px}.benefit .benefit-brand svg{width:23px;height:23px}.benefit .benefit-brand-society svg{width:100%;height:100%}}
