:root{--bg:#080d12;--ink:#eff1ef;--muted:#a1a9af;--accent:#c0dcec;--line:#ffffff24;--space:clamp(24px,6vw,104px);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(max(20px, env(safe-area-inset-top, 0px)) + 88px)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:fixed;top:-100px}.skip:focus{top:8px;z-index:99;background:#080d12;padding:20px}#page-stars{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}#particles{position:fixed;inset:0;opacity:0;pointer-events:none}header{height:100px;margin:0 var(--space);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:2}.wordmark{font-size:30px;font-weight:700;letter-spacing:-1.8px}.wordmark span{font-size:12px;vertical-align:top;margin-left:4px}nav{display:flex;gap:32px;font-size:14px;color:var(--muted)}nav a:hover{color:white}.contact-link{font-size:14px;border-bottom:1px solid #ffffff70;padding:12px 0}.contact-link span{margin-left:25px}.hero{padding:35px var(--space) 50px;position:relative}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:500}h1{font-size:clamp(56px,9.3vw,150px);font-weight:400;letter-spacing:-.065em;line-height:1;margin:45px 0 0;text-align:center}.universe-stage{height:clamp(300px,44vw,590px);position:relative;touch-action:pan-y;outline-offset:-12px}.text-link{display:inline-flex;justify-content:space-between;gap:40px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0;font-size:14px}.text-link span{font-size:22px}.section{padding:100px var(--space);position:relative;background:#080d12f5}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:40px}.intro>div{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}h2{font-size:clamp(36px,4.6vw,70px);font-weight:400;letter-spacing:-.055em;line-height:1.07;margin:0 0 30px}p{color:var(--muted);font-size:16px;line-height:1.75}.intro p{margin:0}.service{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:40px}.service h2{font-size:clamp(34px,3.8vw,57px);margin-top:30px}.service-copy>p{max-width:420px}.tabs{display:flex;gap:5px;flex-wrap:wrap;margin:35px 0}.tabs button{padding:12px 16px;color:var(--muted);border:1px solid var(--line);border-radius:30px;background:none;min-height:44px}.tabs button[aria-pressed=true]{background:var(--accent);color:#11212b;border-color:var(--accent)}.flow{border:1px solid var(--line);background:linear-gradient(130deg,#151f27,#0d141b);border-radius:4px;padding:30px;align-self:center;min-height:375px}.flow-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:var(--muted)}.dot{width:6px;height:6px;background:#bbdbc5;border-radius:50%}ol{list-style:none;padding:0;margin:35px 0 20px}ol li{padding:16px 0 16px 35px;border-bottom:1px solid var(--line);position:relative;animation:appear .4s both}ol li:nth-child(2){animation-delay:.12s}ol li:nth-child(3){animation-delay:.24s}ol li:before{content:'↳';position:absolute;left:0;color:var(--accent)}ol strong{font-size:15px;font-weight:400}ol p{font-size:13px;margin:7px 0 0;line-height:1.5}.demo-note{font-size:10px;margin:25px 0 0}.web{background:#10171d}.web-title{display:grid;grid-template-columns:1fr 2fr;gap:30px}.web-title h2{grid-column:2}.web-title p{grid-column:2;max-width:500px;margin:0 0 55px}.web-preview{background:#e9e8e0;color:#233329;border-radius:5px;overflow:hidden}.browserline{display:flex;justify-content:space-between;padding:14px 20px;font-size:10px;border-bottom:1px solid #0002;color:#5f6c63}.sample{padding:30px 45px}.sample-nav{font:24px Georgia,serif}.sample-nav small{font:8px Arial;letter-spacing:2px;margin-left:15px}.sample-content{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;margin-top:45px;align-items:center}.sample-kicker{font-size:9px;letter-spacing:2px}.sample h3{font:clamp(35px,4.8vw,75px)/1.05 Georgia,serif;letter-spacing:-2px;margin:20px 0}.sample p{font-size:13px;color:#5f6c63}.sample-label{display:inline-block;margin:16px 0 30px;border-bottom:1px solid #233329;padding-bottom:12px;font-size:12px}.sample img{width:100%;height:440px;object-fit:cover}.web-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:25px}.web-bottom p{font-size:14px}.process>h2{margin-top:30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps article>span{font-size:12px;color:var(--muted)}.steps h3{font-size:26px;font-weight:400;margin:35px 0 10px}.steps p{font-size:14px;max-width:300px}.contact{background:#bed7e4;color:#101c25}.contact h2{margin-top:35px;font-size:clamp(45px,6.5vw,100px)}.email{display:inline-flex;justify-content:space-between;gap:60px;font-size:clamp(21px,3vw,44px);letter-spacing:-1px;border-bottom:1px solid #101c2570;padding:20px 0}.contact p{color:#425763;font-size:14px}footer{background:#080d12;padding:45px var(--space);display:flex;justify-content:space-between;gap:25px;align-items:center}footer>span{font-size:11px;color:var(--muted)}.no-webgl .universe-stage{background:url(assets/galaxy-fallback.svg) center/contain no-repeat}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.intro{grid-template-columns:1fr}.intro>div{gap:30px}.service{gap:35px}.web-title{grid-template-columns:1fr}.web-title h2,.web-title p{grid-column:1}.sample{padding:25px}.sample img{height:350px}}@media(max-width:600px){header{height:80px}nav{display:none}.wordmark{font-size:26px}.hero{padding-top:28px}h1{text-align:left;margin-top:35px;font-size:60px}.universe-stage{height:320px}.section{padding:65px var(--space)}.intro>div,.service,.sample-content{grid-template-columns:1fr}.intro>div{gap:0}.flow{padding:23px;min-height:360px}.web-title{gap:20px}.sample-content{margin-top:35px}.sample img{height:260px}.sample h3{font-size:49px}.sample-nav small{display:block;margin:8px 0}.browserline{font-size:8px;padding:12px}.web-bottom{display:block}.steps{grid-template-columns:1fr;gap:25px;margin-top:35px}.steps h3{margin-top:20px}.steps p{max-width:none}footer{flex-wrap:wrap}footer>span:last-child{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before{animation:none!important;transition:none!important}}

.universe-drag{position:absolute;inset:0}
.text-link > [data-i18n]{font-size:inherit}
:root{--brand-gradient:linear-gradient(105deg,#f6fbfff0 0%,#a8d7f7e8 50%,#ffdda8ed 100%)}
.hero-brand{margin:20px auto 0;line-height:1;font-size:inherit;text-align:center}
.hero-wordmark{position:relative;display:block;width:min(100%,clamp(320px,40vw,560px));aspect-ratio:1770/480;margin:0 auto}
.hero-wordmark img{display:block;width:100%;height:100%}


/* Compact layout; the original GlassSurface optical material stays untouched. */
.site-header{height:64px;width:calc(100% - clamp(24px,4vw,40px));max-width:612px;margin:20px auto 0;position:sticky;top:max(20px, env(safe-area-inset-top, 0px));display:block;border:0;border-radius:32px;z-index:10}
.header-surface > .glass-surface__content{display:grid;grid-template-columns:44px minmax(0,1fr) auto;padding:0 12px;gap:12px}
.header-logo{display:grid;place-items:center;justify-self:start;width:44px;min-height:44px}
.header-logo-mark{display:block;width:40px;height:32px;background:url(assets/brand/v2/webscape-w.svg) center/contain no-repeat;forced-color-adjust:none}
.site-header nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
.site-header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 10px;font-size:14px;color:#d5dfe5;white-space:nowrap}
.header-action{position:relative;isolation:isolate;overflow:hidden;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.header-action::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#eef8ff24,#a8d9f512 55%,#ffe0ae12);border:1px solid #e2f0ff30;box-shadow:inset 0 1px 1px #ffffff30,inset 0 -1px 4px #acd8f414,0 2px 8px #00000012;-webkit-backdrop-filter:blur(8px) saturate(1.15);backdrop-filter:blur(8px) saturate(1.15);opacity:0;transition:opacity .2s ease}
.header-action-label{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;z-index:1}
.header-action:focus-visible::before,.header-action:active::before{opacity:1}
@media(hover:hover){.header-action:hover::before{opacity:1}.site-header nav a:hover{color:#fff}}
.header-actions{display:flex;align-items:center;justify-self:end;gap:8px}
/* Match the website section's consultation capsule, sized for the header. */
.consultation{justify-self:end;min-height:44px;width:144px;padding:0 14px;border:1px solid #f4fbff8f;border-radius:30px;background:var(--showcase-gradient,var(--brand-gradient));box-shadow:inset 0 1px 1px #ffffff90,inset 0 -1px 3px #97bfd833;color:#000;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;transition:transform .25s,box-shadow .25s}
.consultation::before{content:none}
.consultation:hover{transform:translateY(-2px);box-shadow:inset 0 1px 1px #ffffff90,0 3px 22px #b9dcee1c}
.consultation-word{color:inherit}
.site-header a:focus-visible,.header-toggle:focus-visible{outline-offset:2px}
.header-toggle{display:none}
.header-menu{position:absolute;top:76px;left:0;right:0}
.header-menu[hidden]{display:none}
.header-menu-surface > .glass-surface__content{padding:12px 20px;flex-direction:column;gap:12px}
/* Frost only the open compact panels; the main header keeps its clear glass. */
.header-menu-surface,.language-popover--compact .language-surface{background:linear-gradient(135deg,#28282899,#131313a6)}
.header-menu-surface.glass-surface--svg::before,.language-popover--compact .language-surface.glass-surface--svg::before{-webkit-backdrop-filter:blur(18px) var(--filter-id) saturate(0);backdrop-filter:blur(18px) var(--filter-id) saturate(0)}
.header-menu-surface.glass-surface--fallback::before,.language-popover--compact .language-surface.glass-surface--fallback::before{-webkit-backdrop-filter:blur(18px) saturate(0);backdrop-filter:blur(18px) saturate(0)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .header-menu-surface,.language-popover--compact .language-surface{background:#191919}
}
.header-menu nav{flex-direction:column;align-items:stretch;gap:4px;width:100%}
.header-menu nav a{min-height:48px;font-size:17px;justify-content:flex-start;padding:0 18px}
/* Reuse the navigation hover material, with no separate tinted fill. */
.header-menu .header-action::before,.language-toggle::before,.language-surface .header-action::before{opacity:1}
/* Neutral frost throughout the compact dropdown, including its inner capsules. */
.header-menu .header-action::before,.language-popover--compact .header-action::before{background:linear-gradient(145deg,#ffffff24,#ffffff12 55%,#ffffff12);border-color:#ffffff30;box-shadow:inset 0 1px 1px #ffffff30,inset 0 -1px 4px #ffffff14,0 2px 8px #00000012;-webkit-backdrop-filter:blur(8px) saturate(0);backdrop-filter:blur(8px) saturate(0)}
.site-header .header-menu nav a{color:#ededed}
.language-toggle{height:44px;width:80px;padding:0 10px;gap:6px;border:0;background:transparent;color:#eff1ef;font-size:13px;font-weight:500;text-shadow:0 1px 2px #000d,0 0 4px #000a}
.language-toggle svg{width:18px;height:18px;flex-shrink:0}
.language-toggle .language-chevron{width:10px;height:10px;transition:transform .2s}
.language-toggle[aria-expanded=true] .language-chevron{transform:rotate(180deg)}
.language-toggle:focus-visible{outline-offset:2px}
.header-menu-language{width:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff24;padding-top:8px;color:#eff1ef;font-size:13px}
.language-popover{position:absolute;top:76px;right:164px;width:168px;z-index:2}
.language-popover[hidden]{display:none}
.language-popover--compact{top:calc(84px + var(--menu-height,248px));right:0}
.language-surface > .glass-surface__content{flex-direction:column;gap:4px;padding:10px}
.language-surface button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border:0;color:#eff1ef;background:transparent;text-align:left;font-size:14px;text-shadow:0 1px 2px #000d,0 0 4px #000a}
.language-surface button[aria-pressed=true]{font-weight:600}
.language-surface button:focus-visible{outline-offset:-2px}
.language-toggle:focus-visible,.language-surface button:focus-visible{outline-color:#fff}
.language-check{color:inherit}
@media(max-height:480px){.language-popover--compact{top:clamp(76px,calc(100dvh - 232px),148px);right:20px}}
@media(max-width:820px) and (max-height:380px){
  .header-menu-surface{max-height:calc(100dvh - 100px)}
  .header-menu-surface > .glass-surface__content{overflow-y:auto;justify-content:flex-start}
  .header-menu nav,.header-menu-language{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){.header-action::before{transition:none}.header-glint{display:none;animation:none}}
.questions h2{margin-top:28px}.questions details{border-top:1px solid var(--line);padding:22px 0}.questions details:last-child{border-bottom:1px solid var(--line)}.questions summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:20px;min-height:44px;align-items:center}.questions summary::-webkit-details-marker{display:none}.questions summary:after{content:'+';color:var(--accent);font-size:26px}.questions details[open] summary:after{content:'−'}.questions details p{max-width:680px;margin:15px 0 0}.questions summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:820px){
  html{scroll-padding-top:calc(max(12px, env(safe-area-inset-top, 0px)) + 88px)}
  .site-header{margin-top:12px;top:max(12px, env(safe-area-inset-top, 0px))}
  .header-fallback nav{display:none}
  .header-surface > .glass-surface__content{grid-template-columns:44px minmax(0,1fr) 44px;padding:0 10px;gap:8px}
  .header-logo-mark{width:36px;height:29px}
  .header-actions{justify-self:center}
  .consultation{justify-self:center;width:auto;padding:0 14px;font-size:13px}
  .header-action-label{gap:10px}
  .header-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;border:1px solid #ffffff30;border-radius:50%;background:transparent;color:white}
  .header-toggle span{display:block;width:17px;height:1px;background:currentColor;transition:transform .2s}
  .header-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .header-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .questions summary{font-size:18px}
}
/* Reduced transparency: the shared GlassSurface rule keeps the tinted, framed
   capsule; only the frosted dropdowns go solid and drop their extra blur. */

/* Keep labels distinct without tinting or replacing the live page backdrop. */
.site-header nav a{text-shadow:0 1px 2px rgb(0 0 0 / .85),0 0 4px rgb(0 0 0 / .65)}
.header-logo-mark{filter:drop-shadow(0 1px 2px rgb(0 0 0 / .65))}
.header-toggle span{box-shadow:0 1px 2px rgb(0 0 0 / .85),0 0 2px rgb(0 0 0 / .65)}

/* Original dgreenheck galaxy, presented without the demo control panels. */
body,.hero{background:#000}
.universe-stage{height:clamp(270px,min(52vw,56svh),620px);width:calc(100% + 2 * var(--space));margin:0 calc(-1 * var(--space));background:#000;isolation:isolate}
.galaxy-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y}
.galaxy-status{position:absolute;inset:0;display:grid;place-content:center;margin:0;padding:24px;text-align:center;pointer-events:none;font-size:14px}
.galaxy-status[hidden]{display:none}


/* One existing galaxy canvas becomes the page background; no second star field. */
.galaxy-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
main,footer{position:relative;z-index:1}
.hero,.universe-stage{background:transparent}
.section{background:rgba(8,13,18,.48)}
.web{background:rgba(16,23,29,.55)}
.contact{background:rgba(190,215,228,.94)}
footer{background:rgba(8,13,18,.65)}
