@layer reset,base,layout,components;:root{--c-bg: #0b0c10;--c-surface: #111218;--c-elevated: #1a1b26;--c-border: #202130;--c-text: #d8d8de;--c-text-muted: #86889a;--c-text-dim: #3a3a48;--c-accent: #2dd4a8;--c-accent-warm: #ffa069;--f-display: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--f-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--max-w: 1200px;--pad: clamp(30px, 5vw, 4rem);--section-py: clamp(112px, 10vw, 128px)}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video,canvas{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}ul,ol{list-style:none}a{color:inherit;text-decoration:none}}@layer base{html{color-scheme:dark;scroll-behavior:smooth}body{font-family:var(--f-body);font-size:14.4px;line-height:1.65;background:var(--c-bg);color:var(--c-text);overflow-x:hidden}h1,h2,h3{font-family:var(--f-display);line-height:1.15;color:#eaeaef}h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.01em}h2{font-size:clamp(26.4px,3.5vw,36px)}h3{font-size:clamp(16.8px,1.8vw,20px)}p+p{margin-top:1em}a:any-link{color:var(--c-accent);transition:color .2s}a:any-link:hover,a:any-link:focus-visible{color:color-mix(in srgb,var(--c-accent) 20%,white)}::selection{background:var(--c-accent);color:var(--c-bg)}}@layer layout{.wrap{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad)}main>section{padding-block:var(--section-py)}main>section+section{border-top:1px solid var(--c-border);position:relative;&:before{content:"";position:absolute;top:-3px;left:var(--pad);z-index:1;width:5px;height:5px;border-radius:50%;background:var(--c-accent);opacity:.4;box-shadow:0 0 8px #2dd4a84d}}}@layer components{#circuit{position:fixed;top:0;left:0;pointer-events:none;z-index:0}}@layer components{header{position:fixed;inset-inline:0;top:0;z-index:100;height:80px;background:color-mix(in srgb,var(--c-bg) 65%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--c-border);a:any-link{color:inherit;text-decoration:none}>nav{max-width:var(--max-w);height:100%;margin-inline:auto;padding-inline:var(--pad);display:flex;align-items:center;justify-content:space-between;>a:first-child{display:inline-flex;align-items:center;height:100%;flex:none;>svg{width:193px;height:73px;max-width:100%;fill:#fff;transform:translate(-22px)}}>button{display:none;align-items:center;justify-content:center;color:var(--c-text);padding:.25rem;>svg{width:1.5rem;height:1.5rem}}>ul{display:flex;align-items:stretch;height:100%;gap:0;>li{--nav-pad-left: 0px;--nav-pad-right: 0px;position:relative;display:flex;align-items:stretch;height:100%;&.is-active:after{content:"";position:absolute;left:calc(50% + ((var(--nav-pad-left) - var(--nav-pad-right)) / 2));bottom:0;width:5px;height:5px;border-radius:50%;background:var(--c-accent);transform:translate(-50%,50%);box-shadow:0 0 8px color-mix(in srgb,var(--c-accent) 60%,transparent);z-index:1}}>.home{--nav-pad-left: 1rem;--nav-pad-right: 1rem}>.home>a{display:inline-flex;align-items:center;justify-content:center;height:100%;padding-left:var(--nav-pad-left);padding-right:var(--nav-pad-right);color:var(--c-text-muted);&:hover{color:var(--c-text)}>svg{width:.875rem;height:1.1875rem}}>li:not(.home){--nav-pad-left: 1.5rem;--nav-pad-right: 1.5rem}>li:not(.home)>a{display:inline-flex;align-items:center;justify-content:center;height:100%;padding-left:var(--nav-pad-left);padding-right:var(--nav-pad-right);font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--c-text-muted);transition:color .2s;&:hover{color:var(--c-text)}}>li:last-child{--nav-pad-right: 0rem}}}}@media(max-width:767px){header>nav{>:is(a:first-child,button){position:relative;z-index:1}>button{display:inline-flex;width:4rem;height:4rem;padding:0;justify-content:center;flex:none;transform:translate(1rem);>svg{transform:none}}>ul{display:none;position:absolute;top:0;left:0;right:0;height:100dvh;padding-top:3.5rem;flex-direction:column;align-items:center;justify-content:center;gap:1.75rem;background:color-mix(in srgb,var(--c-bg) 85%,transparent);backdrop-filter:blur(10px);>li{display:flex;align-items:center;justify-content:center;width:100%;height:40px;&.is-active:after{display:none}}>.home{display:flex;width:auto;height:auto;margin-bottom:.75rem;align-items:center}>.home>a{display:inline-flex;width:.875rem;height:1.1875rem;min-height:0;padding-inline:0;aspect-ratio:auto;flex:none;>svg{width:100%;height:100%}}>li:not(.home)>a{display:flex;align-items:center;justify-content:center;width:100%;min-height:100%;padding-inline:0;font-family:var(--f-display);font-size:20px;text-transform:none}}&.open>ul{display:flex}&.open>button>svg:first-child{display:none}&.open>button>svg:last-child{display:block}}header:has(nav.open){background:transparent;backdrop-filter:none;border-bottom:none}header>nav>button>svg:last-child{display:none}}}@layer components{.button_link{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;border:1px solid transparent;border-radius:2px;text-decoration:none;font-size:14.4px;font-weight:600;letter-spacing:.01em;transition:background .2s,color .2s,border-color .2s;&[data-variant=primary]{background:var(--c-accent);color:var(--c-bg);&:hover{background:color-mix(in srgb,var(--c-accent) 85%,white)}}&[data-variant=secondary]{border-color:#99aaff38;color:var(--c-text-muted);&:hover{border-color:var(--c-text-dim);color:var(--c-text)}}}}@layer components{#hero{min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-end;border-top:none!important;position:relative;overflow:hidden;>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.2;z-index:0}&:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:40%;background:linear-gradient(to bottom,transparent,var(--c-bg));pointer-events:none;z-index:1}>.wrap{position:relative;z-index:2;padding-top:112px;width:100%;>h1{max-width:20ch;margin-bottom:1.5rem}>p{max-width:56ch;color:var(--c-text-muted);font-size:14.4px}>div{display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap}}}}@layer components{#logo-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem 2rem;padding-inline:30px;padding-block:2rem;>img{height:60px;width:auto;object-fit:contain;opacity:.42;filter:grayscale(1)}}@media(max-width:519px){#logo-strip{gap:1.5rem 2rem}}}@layer components{#services{>h2{margin-bottom:3rem}>div{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;>article{--services-card-pad: 1.5rem;padding:var(--services-card-pad);border:1px solid var(--c-border);border-radius:3px;>h3{position:relative;margin-bottom:.75rem;&:before{content:"";position:absolute;left:calc((var(--services-card-pad) + 1px) * -1);top:.6em;width:5px;height:5px;border-radius:50%;background:var(--c-accent);transform:translate(-50%,-50%)}}>p{color:var(--c-text-muted)}}}}@media(max-width:767px){#services>div{grid-template-columns:1fr}}}@layer components{#why{>h2{margin-bottom:2rem}>p{max-width:75ch;color:var(--c-text-muted)}}}@layer components{#clients{>h2{margin-bottom:3rem}>div{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem;>article{>h3{margin-bottom:.8rem}>p{color:var(--c-text-muted)}}}>aside{>h3{margin-bottom:1rem}>ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem 2rem;>li{color:var(--c-text-muted);padding-left:1rem;position:relative;&:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:var(--c-accent)}}}}}@media(max-width:767px){#clients>div{grid-template-columns:1fr}}}@layer components{#selected-projects{>h2{margin-bottom:.75rem}>p{color:var(--c-text-muted);margin-bottom:3rem}>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}>.button_link{margin-top:2rem;margin-inline:auto}}@media(max-width:768px){#selected-projects>div{grid-template-columns:repeat(2,1fr)}}@media(max-width:380px){#selected-projects>div{grid-template-columns:1fr}}}@layer components{.project_card{--project-card-hover-opacity: .65;--project-card-glow-strength: 3%;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem 1.5rem 1.2rem;color:inherit;text-decoration:none;aspect-ratio:2 / 3;border:1px solid var(--c-border);border-radius:3px;background:var(--c-surface);position:relative;overflow:hidden;isolation:isolate;&:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#070a0f1a,#070a0f4d 35%,#070a0feb);z-index:-1}&:after{content:"";position:absolute;inset:0;border:1px solid #2dd4a8;border-radius:inherit;opacity:0;pointer-events:none}>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}>small{font-size:11.2px;text-transform:uppercase;letter-spacing:.1em;color:var(--c-accent);margin-bottom:.35rem;text-shadow:0 2px 16px rgb(0 0 0 / .75)}>h3{font-family:var(--f-display);font-size:17.6px;color:var(--c-text);line-height:1.3;text-shadow:0 2px 20px rgb(0 0 0 / .75)}>svg{position:absolute;top:1rem;right:1rem;width:1rem;height:1rem;color:var(--c-text-muted);opacity:1;overflow:visible}&:is(:hover,:focus-visible){box-shadow:0 0 128px color-mix(in oklch,oklch(.79 .19 263) var(--project-card-glow-strength),transparent),0 0 64px color-mix(in oklch,oklch(.79 .19 243) var(--project-card-glow-strength),transparent),0 0 32px color-mix(in oklch,oklch(.79 .19 223) var(--project-card-glow-strength),transparent),0 0 16px color-mix(in oklch,oklch(.79 .19 203) var(--project-card-glow-strength),transparent),0 0 8px color-mix(in oklch,oklch(.79 .19 183) var(--project-card-glow-strength),transparent),0 0 4px color-mix(in oklch,oklch(.79 .19 163) var(--project-card-glow-strength),transparent);&:after{opacity:var(--project-card-hover-opacity)}>svg{color:var(--c-accent);opacity:var(--project-card-hover-opacity)}}&.is-blink-frame{--project-card-hover-opacity: 1;--project-card-glow-strength: 6%}}}@layer components{#about{>h2{margin-bottom:2rem}>p{max-width:75ch;color:var(--c-text-muted);&:first-of-type{color:var(--c-text);font-size:16.8px}}}}@layer components{#cta{text-align:center;padding-block:var(--section-py);>p{font-family:var(--f-display);font-size:clamp(20px,2.5vw,26.4px);max-width:40ch;margin-inline:auto;color:var(--c-text);line-height:1.4}>.button_link{margin-top:2rem}}}@layer components{footer{border-top:1px solid var(--c-border);padding:2rem 0;>div{max-width:var(--max-w);margin-inline:auto;padding-inline:var(--pad);display:flex;justify-content:space-between;align-items:center;>small{color:var(--c-text-muted);font-size:12.8px}>a{font-size:12.8px;color:var(--c-text-muted)}}}}@layer components{#work-gallery{>h1{margin-bottom:.5rem;font-size:clamp(36px,5vw,56px)}>p{color:var(--c-text-muted);margin-bottom:3rem}>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}}@media(max-width:767px){#work-gallery>div{grid-template-columns:1fr}}}@layer components{#contact-page{--contact-stage-size: min(420px, 80vw);--contact-copy-width: min(420px, calc(100vw - (var(--pad) * 2)));min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;>div[data-globe-stage]{position:relative;display:grid;place-items:center;width:var(--contact-stage-size);height:var(--contact-stage-size);margin-bottom:32px;>div{position:absolute;top:50%;left:50%;z-index:0;width:min(620px,calc(100vw - (var(--pad) * 2)));aspect-ratio:1 / 1;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--c-bg) 100%,transparent) 40%,transparent 70%)}>canvas{position:relative;z-index:1;width:100%;height:100%;margin-inline:auto}}>h1,>p,>a{width:var(--contact-copy-width);margin-inline:auto;text-align:center}>h1{font-size:clamp(20px,2.5vw,26.4px);margin-bottom:4px}>p{color:var(--c-text-muted);font-size:14.4px;margin-bottom:24px}>a{font-size:17.6px;letter-spacing:.02em}}}@layer components{.job_card{--job-card-pad: 2rem;padding:var(--job-card-pad);border:1px solid var(--c-border);border-radius:3px;>h3{font-size:clamp(21.6px,2.5vw,28px);margin-bottom:1rem}>ul{display:flex;flex-wrap:wrap;gap:.5rem;>li{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--c-text) 60%,transparent);padding:.2rem .6rem;border:1px solid color-mix(in srgb,var(--c-text) 20%,transparent);border-radius:4px}}>p{margin-top:1rem;color:var(--c-text-muted)}>details{margin-top:1.5rem;border-top:1px solid var(--c-border);>summary{cursor:pointer;font-size:13.6px;font-weight:600;letter-spacing:.04em;color:var(--c-accent);list-style:none;display:flex;align-items:center;gap:.5rem;padding-top:1.5rem;user-select:none;&:before{content:"";width:1rem;height:1rem;flex-shrink:0;margin-top:.05em;background:url("data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.28387%202.68433L11.7161%208L5.28387%2013.3157'%20stroke='%232DD4A8'%20stroke-opacity='0.4'/%3e%3ccircle%20cx='5.28387'%20cy='2.68433'%20r='1.125'%20fill='%232DD4A8'/%3e%3ccircle%20cx='5.28387'%20cy='13.3157'%20r='1.125'%20fill='%232DD4A8'/%3e%3c/svg%3e") center / contain no-repeat;transition:transform .15s}&::-webkit-details-marker{display:none}&:hover{color:color-mix(in srgb,var(--c-accent) 20%,white)}}&:not([open]){margin-bottom:calc(var(--job-card-pad) * -1);>summary{padding-bottom:var(--job-card-pad)}}&[open]>summary:before{transform:rotate(90deg)}>section{margin-top:1.5rem;>h4{font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text);margin-bottom:.75rem}>ul{display:grid;gap:.5rem;>li{color:var(--c-text-muted);padding-left:1rem;position:relative;&:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:var(--c-accent)}}}}>footer{margin-top:2rem;padding-bottom:0}}}@media(max-width:767px){.job_card{--job-card-pad: 1.5rem;padding:var(--job-card-pad)}}}@layer components{#hiring-hero{aspect-ratio:3 / 1;padding-block:0;overflow:hidden;background:radial-gradient(ellipse at 25% 50%,color-mix(in srgb,var(--c-accent) 6%,transparent) 0%,transparent 50%),radial-gradient(ellipse at 75% 50%,color-mix(in srgb,var(--c-accent-warm) 5%,transparent) 0%,transparent 50%),var(--c-surface)}#openings{>h1{margin-bottom:1.5rem}>p{max-width:65ch;color:var(--c-text-muted);line-height:1.6;margin-bottom:3rem}>div{display:grid;gap:3rem}}#hiring-cta{text-align:center;>p{font-family:var(--f-display);font-size:clamp(20px,2.5vw,26.4px);max-width:40ch;margin-inline:auto;color:var(--c-text);line-height:1.4;margin-bottom:1.5rem}>a{font-size:17.6px;letter-spacing:.02em}}@media(max-width:767px){#hiring-hero{aspect-ratio:2 / 1}}}@layer components{[data-reveal]{opacity:0;transform:translateY(20px)}[data-reveal].visible{opacity:1;transform:none}}@media(min-width:1920px){:root{--max-w: 62.5vw;--pad: clamp(1.56vw,5vw,4rem);--section-py: clamp(5.83vw,10vw,6.67vw)}@layer base{body{font-size:.75vw}h1{font-size:clamp(1.88vw,5vw,2.92vw)}h2{font-size:clamp(1.38vw,3.5vw,1.88vw)}h3{font-size:clamp(.88vw,1.8vw,1.04vw)}}@layer layout{main>section+section{border-top:.05vw solid var(--c-border);&:before{top:-.16vw;width:.26vw;height:.26vw;box-shadow:0 0 .42vw #2dd4a84d}}}@layer components{header{height:4.17vw;backdrop-filter:blur(.63vw);border-bottom:.05vw solid var(--c-border);>nav{>a:first-child{>svg{width:10.05vw;height:3.8vw;transform:translate(-1.15vw)}}>ul{>li{--nav-pad-left: 0vw;--nav-pad-right: 0vw;&.is-active:after{width:.26vw;height:.26vw;box-shadow:0 0 .42vw color-mix(in srgb,var(--c-accent) 60%,transparent)}}>li:not(.home)>a{font-size:.73vw}}}}}@layer components{.button_link{border:.05vw solid transparent;border-radius:.1vw;font-size:.75vw}}@layer components{#hero{>.wrap{padding-top:5.83vw;>p{font-size:.75vw}}}}@layer components{#logo-strip{padding-inline:1.56vw;>img{height:3.13vw}}}@layer components{#services{>div{>article{border:.05vw solid var(--c-border);border-radius:.16vw;>h3{&:before{left:calc((var(--services-card-pad) + .05vw)*-1);width:.26vw;height:.26vw}}}}}}@layer components{#clients{>aside{>ul{grid-template-columns:repeat(auto-fill,minmax(13.54vw,1fr));>li{&:before{width:.21vw;height:.21vw}}}}}}@layer components{#selected-projects{>div{gap:1.56vw}}}@layer components{.project_card{border:.05vw solid var(--c-border);border-radius:.16vw;&:after{border:.05vw solid #2dd4a8}>small{font-size:.58vw;text-shadow:0 .1vw .83vw rgb(0 0 0/.75)}>h3{font-size:.92vw;text-shadow:0 .1vw 1.04vw rgb(0 0 0/.75)}&:is(:hover,:focus-visible){box-shadow:0 0 6.67vw color-mix(in oklch,oklch(.79 .19 263) var(--project-card-glow-strength),transparent),0 0 3.33vw color-mix(in oklch,oklch(.79 .19 243) var(--project-card-glow-strength),transparent),0 0 1.67vw color-mix(in oklch,oklch(.79 .19 223) var(--project-card-glow-strength),transparent),0 0 .83vw color-mix(in oklch,oklch(.79 .19 203) var(--project-card-glow-strength),transparent),0 0 .42vw color-mix(in oklch,oklch(.79 .19 183) var(--project-card-glow-strength),transparent),0 0 .21vw color-mix(in oklch,oklch(.79 .19 163) var(--project-card-glow-strength),transparent)}}}@layer components{#about{>p{&:first-of-type{font-size:.88vw}}}}@layer components{#cta{>p{font-size:clamp(1.04vw,2.5vw,1.38vw)}}}@layer components{footer{border-top:.05vw solid var(--c-border);>div{>small{font-size:.67vw}>a{font-size:.67vw}}}}@layer components{#work-gallery{>h1{font-size:clamp(1.88vw,5vw,2.92vw)}>div{gap:.83vw}}}@layer components{#contact-page{--contact-stage-size: min(21.88vw,80vw);--contact-copy-width: min(21.88vw,calc(100vw - (var(--pad)*2)));>div[data-globe-stage]{margin-bottom:1.67vw;>div{width:min(32.29vw,calc(100vw - (var(--pad)*2)))}}>h1{font-size:clamp(1.04vw,2.5vw,1.38vw);margin-bottom:.21vw}>p{font-size:.75vw;margin-bottom:1.25vw}>a{font-size:.92vw}}}@layer components{.job_card{border:.05vw solid var(--c-border);border-radius:.16vw;>h3{font-size:clamp(1.13vw,2.5vw,1.46vw)}>ul{>li{font-size:.63vw;border:.05vw solid color-mix(in srgb,var(--c-text) 20%,transparent);border-radius:.21vw}}>details{border-top:.05vw solid var(--c-border);>summary{font-size:.71vw}>section{>ul{>li{&:before{width:.21vw;height:.21vw}}}}}}}@layer components{#hiring-cta{>p{font-size:clamp(1.04vw,2.5vw,1.38vw)}>a{font-size:.92vw}}}@layer components{[data-reveal]{transform:translateY(1.04vw)}}}
