:root{color-scheme:dark;--bg:#080b14;--panel:#101623;--panel2:#151c2c;--ink:#f5f8ff;--muted:#a3acbc;--line:#2a3446;--accent:#85dcf7;--accent2:#a999ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.6 "DM Sans",sans-serif;overflow-x:hidden}body:has(dialog[open]){overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}em{font-style:normal;color:var(--accent)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Space Grotesk",sans-serif;letter-spacing:-.045em}h2{font-size:clamp(2.8rem,5.7vw,5.7rem);line-height:1.03;margin:1.1rem 0 0}h3{line-height:1.14}p{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shell{width:min(100% - 6vw,1380px);margin-inline:auto}.section{padding-block:clamp(6rem,10vw,10rem);scroll-margin-top:4rem}.skip{position:fixed;z-index:100;left:1rem;top:-5rem;background:var(--accent);color:#08111b;padding:.6rem 1rem}.skip:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:40;background:rgba(8,11,20,.78);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.08)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.65rem;font:700 1.08rem "Space Grotesk",sans-serif;letter-spacing:.015em;white-space:nowrap}.brand-light{color:var(--accent)}.brand-mark{width:35px;height:35px;display:grid;place-items:center;background:var(--accent);color:#07101d;border-radius:9px;font-size:1.55rem;font-weight:700;line-height:1;letter-spacing:-.1em;padding-right:.16rem}.nav-links{display:flex;align-items:center;gap:clamp(1.1rem,2vw,2.5rem);font-size:.88rem;font-weight:600}.nav-links>a:not(.nav-contact){color:#c6ccda;transition:color .2s}.nav-links>a:hover{color:white}.nav-contact{border:1px solid #647b92;border-radius:8px;padding:.62rem 1rem}.nav-contact span{color:var(--accent);margin-left:.8rem}.menu-toggle{display:none}
.hero{min-height:min(790px,calc(100svh - 82px));display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:3vw;align-items:center;position:relative;padding-block:4rem 5.5rem}.hero-copy{position:relative;z-index:2}.eyebrow,.kicker,.team-overline{font:700 .76rem "Space Grotesk",sans-serif;letter-spacing:.17em;color:var(--accent)}.eyebrow{display:flex;align-items:center;gap:.8rem}.eyebrow-line{width:26px;height:1px;background:var(--accent)}h1{font-size:clamp(3.5rem,6.1vw,7rem);line-height:1.02;margin:1.8rem 0 1.7rem;letter-spacing:-.075em;white-space:nowrap}h1 em{color:var(--accent)}.hero-copy>p{max-width:520px;font-size:1.07rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:2rem;border:1px solid transparent;border-radius:9px;padding:.92rem 1.26rem;font-weight:700;font-size:.91rem;line-height:1.2;min-height:48px;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-3px)}.primary{background:var(--accent);color:#07111b}.primary:hover{background:#b0ecff}.secondary{background:transparent;color:var(--ink);border-color:#536073}.secondary:hover{border-color:var(--accent);background:#142237}.hero-note{margin-top:3.6rem;display:flex;align-items:center;gap:.7rem;color:#8f9aaa;font-size:.82rem}.note-square{width:7px;height:7px;background:var(--accent2);transform:rotate(45deg)}.hero-visual{height:clamp(400px,42vw,660px);position:relative;border-radius:13px;overflow:hidden;background:#1b2932;isolation:isolate;box-shadow:0 30px 100px #0007}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:49% center;transform:scale(1.01);transition:transform 1s}.hero-visual:hover img{transform:scale(1.065)}.hero-visual-shade{position:absolute;inset:0;background:linear-gradient(180deg,#08101b05 40%,#08101bdd 100%)}.hero-visual:before{content:"";position:absolute;inset:12px;border:1px solid #ffffff45;border-radius:7px;z-index:2;pointer-events:none}.image-caption{position:absolute;z-index:3;bottom:2rem;left:2rem;right:2rem;display:flex;align-items:end;gap:1.2rem;font-size:.8rem;line-height:1.4}.image-caption strong{font-size:.93rem}.caption-index{border:1px solid #ffffff99;padding:.5rem .65rem;border-radius:5px;white-space:nowrap}.caption-cross{font-size:2rem;margin-left:auto;color:var(--accent)}.scroll-cue{position:absolute;left:0;bottom:1.4rem;font:700 .7rem "Space Grotesk";letter-spacing:.18em;color:#798597}.scroll-cue span{margin-left:1rem;color:var(--accent);font-size:1.2rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading>p{max-width:350px;margin:0 0 .4rem;line-height:1.8}.portfolio{padding-top:7rem}.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem}.filter{border:1px solid var(--line);border-radius:100px;padding:.56rem 1rem;background:none;color:#acb6c7;font-size:.85rem;font-weight:700;transition:.2s}.filter:hover,.filter.active{border-color:var(--accent);background:var(--accent);color:#08111b}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.project-card{border:0;padding:0;display:block;position:relative;isolation:isolate;overflow:hidden;text-align:left;aspect-ratio:1.42;background:var(--panel);border-radius:11px;color:var(--ink)}.project-card.feature{grid-row:span 2;aspect-ratio:auto}.project-card[hidden]{display:none}.project-card img{height:100%;width:100%;object-fit:cover;transition:transform .6s}.project-card:hover img,.project-card:focus-visible img{transform:scale(1.06)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0308157c,transparent 28%,#030815e9)}.project-overlay{position:absolute;z-index:1;inset:0;padding:clamp(1.3rem,2.2vw,2rem);display:flex;flex-direction:column;justify-content:space-between}.project-top,.project-bottom{display:flex}.project-top{justify-content:space-between;align-items:start;font:700 .72rem "Space Grotesk";letter-spacing:.14em}.project-open{display:grid;place-items:center;border:1px solid #ffffff99;border-radius:50%;width:38px;height:38px;font-size:1.2rem;transition:.2s}.project-card:hover .project-open{background:white;color:#07111b}.project-bottom{flex-direction:column;gap:.2rem}.project-bottom strong{font:600 clamp(1.5rem,2vw,2.5rem) "Space Grotesk";letter-spacing:-.04em}.project-bottom small{font-size:.88rem;color:#d5dce7}.portfolio-footnote{font-size:.84rem;margin:1.4rem 0 0;color:#7f8a9b}
.services,.process{background:#0e1420;border-block:1px solid #263042}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #344051;border-left:1px solid #344051}.service{min-height:335px;padding:1.65rem;display:flex;flex-direction:column;border-right:1px solid #344051;border-bottom:1px solid #344051;transition:background .25s}.service:hover{background:#182234}.service-symbol{font:400 2.4rem "Space Grotesk";color:#879dff;margin:auto 0 1.1rem;line-height:1}.service h3{font-size:1.34rem;margin:0 0 .65rem}.service p{font-size:.9rem;line-height:1.65;margin:0}
.team-card{display:grid;grid-template-columns:1fr 1fr;min-height:525px;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--panel)}.skin-stage{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 50% 50%,#284763 0%,#142333 36%,#101823 80%);min-height:520px}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#9ddafa13 1px,transparent 1px),linear-gradient(90deg,#9ddafa13 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(#0008,#000)}.skin-stage:after{content:"";position:absolute;bottom:13%;width:43%;height:12%;background:#82dffd5c;filter:blur(38px);border-radius:50%}.skin{height:78%;max-width:72%;width:auto;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 18px 12px #0009);animation:float 5s ease-in-out infinite;transition:transform .4s}.skin-stage:hover .skin{transform:rotate(-5deg) scale(1.04)}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}.skin-fallback{display:none;position:absolute;font:700 9rem "Space Grotesk";color:#a5e9ff66}.skin:not([src]),.skin.is-broken{display:none}.skin.is-broken+.skin-fallback{display:block}.stage-label,.stage-bottom{position:absolute;z-index:3;font:700 .7rem "Space Grotesk";letter-spacing:.16em;color:#bcd6e1}.stage-label{top:1.5rem;left:1.5rem}.stage-bottom{bottom:1.5rem;right:1.5rem}.team-copy{padding:clamp(2rem,4.5vw,5rem);display:flex;flex-direction:column;justify-content:center}.team-copy h3{font-size:clamp(3rem,5vw,5.4rem);margin:1rem 0 1.2rem}.team-star{font-size:.4em;vertical-align:top;color:var(--accent);margin-left:.25rem}.team-copy p{max-width:460px;line-height:1.8}.text-link{display:inline-flex;align-items:center;gap:1rem;color:var(--accent);font-weight:700;align-self:flex-start;padding-bottom:.35rem;border-bottom:1px solid #6695a5}.text-link:hover{color:white;border-color:white}.team-rule{height:1px;background:var(--line);width:100%;margin:3.5rem 0 1.2rem}.team-aside{font-size:.84rem;color:#8590a0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}.steps article{border-top:1px solid #5c7389;padding:1.4rem .5rem 0 0}.steps article>span{color:var(--accent);font:700 .73rem "Space Grotesk";letter-spacing:.13em}.steps h3{font-size:1.42rem;min-height:3.2rem;margin:2.4rem 0 .6rem}.steps p{font-size:.9rem;line-height:1.7;margin:0}.faq .section-heading{margin-bottom:2rem}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.5rem 0;font:600 clamp(1.05rem,1.5vw,1.35rem) "Space Grotesk";cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font:400 1.7rem "DM Sans";color:var(--accent);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{max-width:760px;margin:0 0 1.6rem;line-height:1.7}
.contact{background:radial-gradient(circle at 4% 4%,#18354b 0,transparent 35%),#111a29;border-top:1px solid #2d4156}.contact-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:clamp(3rem,8vw,8rem)}.contact-intro{position:relative;min-height:560px}.contact-intro h2{font-size:clamp(3.5rem,6vw,6.8rem);margin:1.4rem 0 1.6rem}.contact-intro>p{max-width:360px;line-height:1.8}.contact-mark{position:absolute;bottom:-5rem;left:0;font:700 clamp(12rem,23vw,27rem) "Space Grotesk";line-height:.8;letter-spacing:-.16em;color:#81d9f30b;pointer-events:none}.contact-mark span{font-size:.2em;vertical-align:top;margin-left:.2em}.inquiry{background:#0a101b;border:1px solid #36485b;border-radius:12px;padding:clamp(1.5rem,3vw,3rem);position:relative;z-index:1}.form-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:1.8rem;padding-bottom:1.2rem}.form-heading h3{font-size:1.6rem;margin:0}.form-heading span{font-size:.76rem;color:var(--accent)}.inquiry label{display:block;font-size:.88rem;font-weight:700;color:#dfe6f1;margin-bottom:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.inquiry input,.inquiry select,.inquiry textarea{display:block;width:100%;border:1px solid #394759;background:#131d2b;border-radius:7px;color:#f5f8ff;padding:.8rem .95rem;margin-top:.55rem;outline:none;resize:vertical}.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{border-color:var(--accent)}.inquiry input::placeholder,.inquiry textarea::placeholder{color:#8894a5}.optional{font-weight:400;color:#92a0ae}.form-footer{display:flex;align-items:end;justify-content:space-between;gap:1.3rem}.form-footer p{font-size:.78rem;line-height:1.5;margin:0;max-width:245px}.form-footer button{white-space:nowrap}.brief-result{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.5rem}.brief-result textarea{font-size:.9rem}.brief-result .button{margin-top:.4rem}.brief-result span{display:inline-block;margin-left:1rem;color:var(--accent);font-size:.85rem}
.footer{background:#070a12;padding-top:4rem}.footer-top{display:flex;justify-content:space-between;gap:3rem;padding-bottom:4rem}.footer-top p{margin:1.4rem 0 0;font-size:.85rem}.footer-links{display:flex;gap:2rem;flex-wrap:wrap;align-content:start;font-size:.85rem;color:#b4bfcc}.footer-links a:hover,.footer-bottom a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid #25303e;padding-block:1.3rem;display:flex;justify-content:space-between;color:#7c8a9c;font-size:.8rem}
.project-dialog{border:1px solid #526579;background:#0c1420;color:var(--ink);border-radius:12px;padding:0;width:min(90vw,980px);max-height:90svh;box-shadow:0 30px 100px #000b}.project-dialog::backdrop{background:#030711d9;backdrop-filter:blur(5px)}.dialog-inner{position:relative;overflow:auto;max-height:90svh}.dialog-inner>img{width:100%;aspect-ratio:16/8;object-fit:cover}.dialog-close{position:absolute;top:1rem;right:1rem;z-index:2;background:#07101bd9;color:white;border:1px solid #ffffff88;width:42px;height:42px;border-radius:50%;font-size:1.7rem;line-height:1}.dialog-body{padding:2rem clamp(1.5rem,4vw,3rem) 3rem}.dialog-body h2{font-size:clamp(2rem,4vw,3.5rem);margin:.5rem 0 1rem}.dialog-body p{max-width:700px;line-height:1.75}
@media(max-width:1050px){.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(3rem,5.9vw,5rem)}.service-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.steps h3{min-height:auto;margin-top:1.5rem}.contact-layout{gap:3rem}.form-row,.form-footer{display:block}.form-footer .button{margin-top:1rem}}
@media(max-width:760px){.shell{width:min(100% - 2.5rem,600px)}.nav{height:68px}.menu-toggle{display:grid;gap:5px;background:none;border:0;padding:.5rem}.menu-toggle span{display:block;width:23px;height:2px;background:white}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:#0a101bed;border-bottom:1px solid var(--line);padding:1.3rem;flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:.7rem}.nav-contact{margin-top:.5rem}.hero{min-height:0;grid-template-columns:1fr;padding-top:4rem;padding-bottom:4rem;gap:2.8rem}.hero h1{font-size:clamp(3rem,10vw,5rem);white-space:normal}.hero-note{margin-top:2.5rem}.hero-visual{height:430px}.scroll-cue{display:none}.section{padding-block:5.5rem}.section-heading{display:block;margin-bottom:2.4rem}.section-heading>p{margin-top:1.5rem}.project-grid{grid-template-columns:1fr}.project-card,.project-card.feature{aspect-ratio:1.2}.team-card{grid-template-columns:1fr}.skin-stage{min-height:400px;height:400px}.skin{height:80%}.team-copy{padding:2rem}.team-rule{margin-top:2.5rem}.contact-layout{grid-template-columns:1fr}.contact-intro{min-height:0}.contact-mark{display:none}.footer-top{display:block}.footer-links{margin-top:2rem}.image-caption{left:1.4rem;right:1.4rem;bottom:1.4rem}}
@media(max-width:480px){.hero h1{font-size:clamp(2.75rem,11vw,3.8rem)}.hero-copy>p{font-size:1rem}.hero-actions{display:grid}.hero-visual{height:350px}.caption-index{display:none}.service-grid,.steps{grid-template-columns:1fr}.service{min-height:245px}.service-symbol{margin-top:2rem}.project-card,.project-card.feature{aspect-ratio:1}.form-footer button{width:100%}.footer-links{gap:1rem 1.5rem}.brief-result span{display:block;margin:.7rem 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.project-grid.is-filtered .project-card.feature{grid-row:auto;aspect-ratio:1.42}
.team-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:1.2rem}
.team-slot{min-height:255px;padding:1.6rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border:1px dashed #44576b;border-radius:12px;background:linear-gradient(135deg,#111b29,#0b111c)}
.team-slot:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#9ddafa0b 1px,transparent 1px),linear-gradient(90deg,#9ddafa0b 1px,transparent 1px);background-size:35px 35px;pointer-events:none}
.slot-number{font:700 .72rem "Space Grotesk";letter-spacing:.16em;color:var(--accent)}
.slot-plus{position:absolute;top:30%;right:10%;font:300 6rem/1 "Space Grotesk";color:#87daf640}
.team-slot h3{font-size:1.5rem;margin:0 0 .4rem}
.team-slot p{font-size:.9rem;line-height:1.6;margin:0;max-width:310px}
@media(max-width:760px){.team-slots{grid-template-columns:1fr}.team-slot{min-height:225px}.project-grid.is-filtered .project-card.feature{aspect-ratio:1.2}}
@media(max-width:480px){.project-grid.is-filtered .project-card.feature{aspect-ratio:1}}

/* Hero and navigation inspired by the supplied visual reference. */
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(180deg,#080a15aa,#080a1500);border-bottom:1px solid transparent;backdrop-filter:none;transition:background .3s,border-color .3s,backdrop-filter .3s}
.site-header.is-scrolled{background:#090d19dd;border-color:#ffffff1d;backdrop-filter:blur(18px)}
.nav{height:70px;display:grid;grid-template-columns:1fr auto 1fr;gap:1.2rem}
.brand{font-size:.93rem;letter-spacing:.12em}
.brand-mark{width:34px;height:34px;border:1px solid #4d5b7b;border-radius:0;background:#121b30b8;color:var(--accent);font-size:1.35rem;letter-spacing:-.1em}
.nav-links{gap:clamp(.75rem,1.6vw,1.7rem);font-size:.81rem;font-weight:500}
.nav-links>a:not(.nav-contact){color:#d4d7e2a8}
.nav-links>a:hover{color:white}
.nav-cta,.mobile-cta{background:linear-gradient(110deg,#786bfa,#35b9eb);color:white;border-radius:6px;padding:.54rem .82rem;font-size:.78rem;font-weight:700;line-height:1.3;white-space:nowrap;transition:transform .2s,box-shadow .2s}
.nav-cta{justify-self:end}
.nav-cta:hover,.mobile-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px #5865f466}
.nav-cta span,.mobile-cta span{margin-left:.55rem;font-size:1rem}
.nav-links .mobile-cta{display:none}
.hero{width:100%;min-height:100svh;max-width:none;display:flex;align-items:center;position:relative;overflow:hidden;padding:0;border-bottom:1px solid #424861;isolation:isolate}
.hero-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:-3;transform:translate3d(0,var(--hero-shift,0px),0) scale(1.06)}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#06070ffb 0%,#06070fed 21%,#080b17bb 44%,#080b1770 65%,#080b1720 100%)}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#06070ff8 0%,transparent 32%),linear-gradient(180deg,#080a1788 0%,transparent 25%)}
.hero-content{position:relative;padding-block:125px 110px}
.hero-copy{max-width:880px}
.hero .eyebrow{display:inline-flex;gap:.55rem;align-items:center;border:1px solid #6670846b;background:#090d1a80;padding:.48rem .66rem;color:#bbc3d2;font-size:.69rem;letter-spacing:.2em}
.eyebrow-dot{width:6px;height:6px;background:#43bffa;box-shadow:0 0 10px #43bffa}
.hero h1{font-family:"DM Sans",sans-serif;font-size:clamp(3.8rem,6.3vw,6.8rem);font-weight:500;letter-spacing:-.055em;line-height:1.08;white-space:normal;margin:2rem 0 1.2rem}
.gradient-text{background:linear-gradient(100deg,#42bff1 0%,#75dbff 22%,#6b91ff 48%,#a281fa 70%,#42bff1 100%);background-size:250% 100%;background-position:0% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:headline-glow 8s ease-in-out infinite alternate}
@keyframes headline-glow{to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.gradient-text{animation:none;background-position:50% 50%}}
.hero-copy>p{max-width:700px;color:#b4b8c9;font-size:1.08rem;line-height:1.58}
.hero-actions{margin-top:2rem;gap:.75rem}
.hero-actions .button{min-height:49px;padding:.86rem 1.4rem;font-size:.83rem;border-radius:6px}
.hero-actions .primary{background:linear-gradient(110deg,#786bfa,#35b9eb);color:white;box-shadow:0 12px 30px #485fff40}
.hero-actions .primary:hover{background:linear-gradient(110deg,#8b7aff,#4dcbf2);box-shadow:0 14px 34px #5b6dff66}
.hero-actions .secondary{background:#080a16ad;border-color:#495062a8}
.hero-actions .secondary:hover{background:#192039;border-color:#9aa9c6}
.scroll-cue{position:absolute;left:50%;bottom:2rem;z-index:2;transform:translateX(-50%);display:grid;place-items:center;width:38px;height:38px;border:1px solid #717b956e;border-radius:50%;color:#e1e8f4;font-size:1.25rem;transition:transform .2s,border-color .2s}
.scroll-cue:hover{transform:translateX(-50%) translateY(4px);border-color:var(--accent)}
.scroll-cue span{margin:0;color:inherit;font-size:inherit}
.motion-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.7,.25,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1050px){.nav{grid-template-columns:auto 1fr auto}.nav-links{gap:.7rem;font-size:.75rem}.hero h1{font-size:clamp(3.4rem,7vw,5.6rem)}}
@media(max-width:760px){
  .nav{height:68px;display:flex;justify-content:space-between}
  .nav-cta{display:none}
  .menu-toggle{order:3}
  .nav-links{top:68px;background:#090d1bf5;backdrop-filter:blur(18px);padding:1rem 1.25rem 1.4rem}
  .nav-links a{font-size:.92rem}
  .nav-links .mobile-cta{display:block;text-align:center;margin-top:.7rem;color:white}
  .hero{min-height:100svh;display:flex;padding:0}
  .hero-content{padding-block:130px 105px}
  .hero h1{font-size:clamp(3rem,8vw,4.1rem);line-height:1.1}
  .hero-copy>p{font-size:1rem;max-width:580px}
  .hero:before{background:linear-gradient(90deg,#06070fee 0%,#06070fce 50%,#080b1750 100%)}
  .scroll-cue{display:grid;bottom:1.6rem}
}
@media(max-width:480px){
  .hero-background{object-position:62% center}
  .hero:before{background:linear-gradient(90deg,#06070fe8,#080b1780),linear-gradient(0deg,#06070fc7,transparent 72%)}
  .hero h1{font-size:clamp(2.5rem,9.3vw,3.8rem);margin:1.5rem 0}
  .hero-actions{display:flex}
  .hero-actions .button{width:100%}
  .hero-content{padding-block:110px 105px}
}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1;transform:none}.hero-background{transform:scale(1.06)}}
.project-dialog[open] .dialog-body{animation:detail-in .48s ease both}
@keyframes detail-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.image-flight{position:fixed;z-index:10;object-fit:cover;pointer-events:none;box-shadow:0 24px 70px #0008}
.dialog-inspire{margin-top:.8rem;background:linear-gradient(110deg,#786bfa,#35b9eb);color:white}
.dialog-inspire:hover{background:linear-gradient(110deg,#8b7aff,#4dcbf2)}
.dialog-hint{font-size:.82rem;line-height:1.5;margin:.8rem 0 0}
.inspiration-note{border:1px solid #607bb155;border-radius:7px;background:#182846;color:#bfe9fb;padding:.65rem .85rem;font-size:.84rem;margin:0 0 1.5rem}
@media(prefers-reduced-motion:reduce){.project-dialog[open] .dialog-body{animation:none}}
.discord-card{display:flex;align-items:center;gap:.9rem;max-width:400px;margin-top:2.2rem;padding:1rem 1.1rem;border:1px solid #6074b9;border-radius:10px;background:linear-gradient(110deg,#5865f22e,#1b2b4966);transition:transform .2s,border-color .2s,background .2s}
.discord-card:hover{transform:translateY(-3px);border-color:#8794ff;background:#5865f23d}
.discord-card .discord-icon{flex:none;width:29px;height:29px;color:#a8b0ff}
.discord-card span:nth-child(2){display:grid;gap:.12rem;min-width:0}
.discord-card strong{font:700 .96rem "Space Grotesk",sans-serif}
.discord-card small{font-size:.79rem;color:#a9b7d2}
.discord-arrow{margin-left:auto;color:#a8b0ff;font-size:1.3rem}
.discord-icon{width:20px;height:20px;flex:none}
.brief-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem}
.discord-button{gap:.55rem;background:#5865f2;color:white}
.discord-button:hover{background:#7280ff}
@media(max-width:480px){.brief-actions{display:grid}.brief-actions .button{width:100%}.discord-card{margin-top:1.7rem}}
.filter-label{margin:2rem 0 .75rem;color:#95a2b5;font:700 .68rem "Space Grotesk",sans-serif;letter-spacing:.16em}.project-grid.is-single{grid-template-columns:minmax(0,1fr)}.project-grid.is-single .project-card,.project-grid.is-single .project-card.feature{aspect-ratio:2.1;max-height:580px}
.dialog-image-frame{position:relative}.dialog-image-frame>img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}.detail-toggle{position:absolute;top:1rem;left:1rem;z-index:3;display:flex;gap:.8rem;align-items:center;border:1px solid #ffffffaa;border-radius:30px;background:#07101be3;color:white;padding:.55rem .9rem;font-size:.82rem;font-weight:700;backdrop-filter:blur(9px)}.detail-toggle[aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}.detail-toggle span{font-size:1.2rem;line-height:1}.detail-hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}.detail-point{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;width:34px;height:34px;border:2px solid white;border-radius:50%;background:#4db8e8e8;color:#06101d;font-size:1.3rem;font-weight:700;line-height:1;box-shadow:0 0 0 7px #85dcf730,0 4px 15px #0009;transition:transform .2s,background .2s}.detail-point:hover,.detail-point:focus-visible,.detail-point.active{transform:translate(-50%,-50%) scale(1.15);background:#d8f7ff}.detail-point:after{content:attr(data-label);position:absolute;bottom:calc(100% + 11px);left:50%;transform:translateX(-50%);width:max-content;max-width:180px;padding:.35rem .55rem;background:#07101bed;border:1px solid #85dcf766;border-radius:5px;color:white;font:700 .72rem "Space Grotesk",sans-serif;opacity:0;pointer-events:none}.detail-point:hover:after,.detail-point:focus-visible:after,.detail-point.active:after{opacity:1}.detail-info{position:absolute;z-index:3;left:1rem;bottom:1rem;max-width:min(400px,calc(100% - 2rem));padding:.8rem 1rem;border:1px solid #ffffff50;border-radius:8px;background:#07101be8;backdrop-filter:blur(10px);box-shadow:0 8px 28px #0008}.detail-info strong{display:block;font:700 1.1rem "Space Grotesk",sans-serif;margin:.2rem 0}.detail-info p{font-size:.82rem;line-height:1.4;margin:0}.detail-hotspots[hidden],.detail-info[hidden]{display:none}
@media(max-width:760px){.project-grid.is-single .project-card,.project-grid.is-single .project-card.feature{aspect-ratio:1.2}}
@media(max-width:600px){.dialog-image-frame>img{aspect-ratio:1.35}.detail-info{position:relative;left:auto;bottom:auto;max-width:none;margin:.6rem;border-color:#85dcf755}.detail-point{width:30px;height:30px}.detail-point:after{display:none}.project-grid.is-single .project-card,.project-grid.is-single .project-card.feature{aspect-ratio:1}}

.dialog-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.dialog-navigation{display:flex;gap:.5rem}.dialog-navigation button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #7187a1;border-radius:50%;background:#15243a;color:white;font-size:1.2rem;transition:background .2s,border-color .2s}.dialog-navigation button:hover{background:#254561;border-color:var(--accent)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .service{position:relative;isolation:isolate;overflow:hidden}
  .service:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(310px circle at var(--spot-x,50%) var(--spot-y,50%),#75baff24,transparent 75%);opacity:0;transition:opacity .25s}
  .service:hover:before{opacity:1}
  .service>*{position:relative;z-index:1}
}
.discord-contact{position:relative;z-index:1;align-self:center;padding:clamp(2rem,4vw,4rem);border:1px solid #526987;border-radius:12px;background:linear-gradient(145deg,#132641,#0b1425 70%);box-shadow:0 25px 70px #060b1880}.discord-contact h3{font-size:clamp(2rem,3.6vw,3.5rem);line-height:1.14;margin:1rem 0 1.3rem}.discord-contact p{max-width:560px;line-height:1.75}.discord-contact-cta{display:inline-flex;align-items:center;gap:.75rem;margin:1.2rem 0 1rem;padding:.85rem 1.2rem;background:linear-gradient(110deg,#786bfa,#35b9eb);color:white}.discord-contact-cta:hover{background:linear-gradient(110deg,#8b7aff,#4dcbf2)}.discord-contact-cta .discord-icon{width:23px;height:23px}.discord-contact small{display:block;color:#aebbd0;font-size:.82rem}.dialog-hint strong{color:#d8efff;font-weight:700}
@media(max-width:760px){.contact-intro{min-height:0}.discord-contact{padding:2rem}}
