@charset "UTF-8";
:root{color-scheme:dark;--ink:#10110f;--paper:#f3f0e7;--acid:#d6ff3f;--line:rgba(243,240,231,.52)}
*{box-sizing:border-box}
html{background:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--paper)}
a{color:inherit}
::selection{background:var(--acid);color:var(--ink)}
.page{max-width:1920px;min-height:100svh;margin-inline:auto;padding:0 clamp(22px,3.7vw,72px);display:flex;flex-direction:column;overflow:clip}
.masthead{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:83px;padding-block:26px;border-bottom:1px solid var(--line)}
.wordmark{font-size:clamp(.875rem,1.3vw,1.25rem);font-weight:700;letter-spacing:.17em;text-decoration:none;white-space:nowrap}
.status{margin:0;display:flex;align-items:center;gap:13px;font-size:.875rem;font-weight:500;letter-spacing:.14em;white-space:nowrap}
.status span{display:block;width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--acid);animation:pulse 4s ease-in-out infinite}
.hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;flex:1;min-height:min(790px,calc(100svh - 176px));padding-block:clamp(65px,7vw,132px)}
.hero-copy{position:relative;z-index:1;min-width:0}
h1{margin:0;font-size:clamp(4rem,8.75vw,10.5rem);font-weight:700;letter-spacing:-.065em;line-height:.96}
h1 span{display:block;white-space:nowrap}
.accent{color:var(--acid)}
.intro{font-size:clamp(1.05rem,2vw,1.875rem);line-height:1.5;margin:48px 0 40px;letter-spacing:-.025em}
.contact{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:58px;padding:16px 26px;border:1px solid rgba(243,240,231,.8);border-radius:15px;text-decoration:none;font-size:1.0625rem;line-height:1.4;transition:background .2s,color .2s,border-color .2s,transform .2s}
.contact svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.4;transition:transform .2s}
.contact:hover{color:var(--ink);background:var(--acid);border-color:var(--acid)}
.contact:hover svg{transform:translate(2px,-2px)}
.contact:active{transform:translateY(2px)}
a:focus-visible{outline:3px solid var(--acid);outline-offset:7px}
.orbit{position:absolute;z-index:0;pointer-events:none;width:min(67vw,1250px);right:-7.5%;top:50%;transform:translateY(-50%);aspect-ratio:1;mix-blend-mode:lighten}
.orbit img{display:block;width:100%;height:auto;animation:float 12s ease-in-out infinite;mask-image:radial-gradient(ellipse at center,#000 50%,transparent 73%)}
.footer{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:92px;padding-block:25px;border-top:1px solid var(--line);font-size:.875rem;line-height:1.6}
.footer p{margin:0}
.disciplines{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:.8125rem;letter-spacing:.15em}
.disciplines i{font-style:normal}
@keyframes float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-16px) rotate(2deg)}}
@keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 #d6ff3f00}50%{opacity:.65;box-shadow:0 0 15px 2px #d6ff3f26}}
@media(min-width:1600px){.hero{min-height:790px}}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:66px;padding-bottom:30px}.hero-copy{z-index:1}h1{font-size:clamp(4rem,11.7vw,7.5rem)}.intro{margin-top:32px;margin-bottom:28px}.orbit{position:relative;width:min(90vw,620px);right:auto;top:auto;transform:none;justify-self:end;margin-top:-160px;margin-right:-9%;margin-bottom:-30px;z-index:-1}.hero-copy{pointer-events:none}.hero-copy a{pointer-events:auto}.footer{gap:20px}.contact{background:rgba(16,17,15,.8)}}
@media(max-width:600px){.masthead{min-height:84px;padding-block:22px;gap:16px;flex-wrap:wrap}.wordmark{font-size:.875rem;letter-spacing:.12em}.status{font-size:.75rem;letter-spacing:.08em;gap:8px}.status span{width:7px;height:7px}.hero{padding-top:52px;padding-bottom:0}h1{font-size:clamp(3rem,12.2vw,4.6rem);letter-spacing:-.06em;line-height:1}.intro{font-size:1.0625rem;max-width:24ch;margin-top:26px;margin-bottom:26px}.contact{min-height:54px;padding:14px 20px;font-size:1rem;border-radius:12px}.orbit{justify-self:center;width:112%;max-width:none;margin:0 -6% -12px;z-index:0}.footer{align-items:flex-start;flex-direction:column;gap:12px;padding-block:23px;font-size:.8125rem}.disciplines{font-size:.75rem;gap:12px;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
