:root{color-scheme:dark;--ink:#0b0c12;--paper:#f7f4ee;--dim:#a7a7b2;--muted:#747481;--violet:#bea3ff;--violet-soft:#e0d2ff;--cyan:#86e2df;--line:rgba(255,255,255,.12);--layout:1440px;--sans:'DM Sans',sans-serif;--display:'Space Grotesk',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased;min-width:320px;transition:background-color .6s}
body[data-world=magic]{background:#100c19}body[data-world=software]{background:#091419}
a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
::selection{background:#ab8df8;color:#0c0a12}
#ambient-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;opacity:.65;z-index:0;transition:opacity .6s}
body[data-world=software] #ambient-canvas{opacity:.3}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}
#page-root,.site-header,.site-footer{position:relative;z-index:2}
.page[hidden]{display:none!important}
.page{min-height:calc(100svh - 80px)}
.page-frame{max-width:var(--layout);padding:0 clamp(22px,4.4vw,74px);margin:0 auto}
.site-header{height:82px;margin:0 auto;max-width:var(--layout);padding:0 clamp(22px,4.4vw,74px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(10,11,18,.56);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{display:inline-flex;gap:10px;align-items:center;min-width:205px;line-height:1.02}
.brand__mark{display:grid;place-items:center;position:relative;width:42px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:10px;font:700 25px var(--display);letter-spacing:-2px;color:#eee}
.brand__mark>span{font:400 10px var(--sans);position:absolute;right:4px;top:3px;color:var(--violet)}
.brand__name{font:700 10px/1.2 var(--display);letter-spacing:1.5px}
.main-nav{display:flex;gap:3px;padding:4px;border:1px solid rgba(255,255,255,.13);border-radius:100px;background:rgba(255,255,255,.03)}
.nav-link{font:700 10px var(--display);text-transform:uppercase;letter-spacing:1.3px;color:#a7a6ae;padding:12px 17px;border-radius:100px;transition:background .25s,color .25s}
.nav-link:hover{color:white}.nav-link.is-current{background:#e9e4de;color:#17171d}
.header-contact{border:0;background:none;color:#ecebec;display:inline-flex;align-items:center;gap:11px;font:700 10px var(--display);letter-spacing:1.4px;padding:12px 0;white-space:nowrap;min-width:205px;justify-content:flex-end}.header-contact:hover{color:var(--violet)}
.status-dot,.pulse-dot{width:7px;height:7px;border-radius:50%;background:#9ce3a6;box-shadow:0 0 17px rgba(121,236,165,.65)}
.micro-row,.gateway-outro,.world-topbar,.line-break,.world-door__top,.illusion-module__label,.engineering-module__label,.engineering-module__bottom,.site-footer,.preview-label,.preview-footnote,.offer-bottom,.dialog-top{font:700 10px var(--display);letter-spacing:1.65px;color:#a1a1b0;display:flex;justify-content:space-between;align-items:center}
.gateway-frame{padding-top:29px;padding-bottom:16px}
.tiny-star{color:var(--violet);font-size:17px;margin-right:7px;vertical-align:middle}
.gateway-hero{padding-top:35px}
.gateway-copy{position:relative;max-width:1180px;margin:0 auto;text-align:center}
.eyebrow{font:700 10px/1.5 var(--display);letter-spacing:3px;color:#a9a7b3;text-transform:uppercase;margin:0 0 15px}
.gateway-hero h1{font:600 clamp(60px,8vw,124px)/.84 var(--display);letter-spacing:-.095em;text-transform:uppercase;margin:0;color:#f7f3f1;position:relative}
.headline-accent{display:inline-block;text-transform:none;font:italic 500 clamp(88px,11vw,160px)/.91 var(--serif);letter-spacing:-.067em;background:linear-gradient(115deg,#f4f1ff 14%,#c7b2ff 48%,#87e0d8 95%);color:transparent;background-clip:text;-webkit-background-clip:text;transform:translateY(-2px)}
.accent-point{color:#a7deda;-webkit-text-fill-color:#a7deda}
.gateway-description{position:relative;margin:10px auto 25px;max-width:660px}
.gateway-description p{font:400 clamp(13px,1.2vw,16px)/1.65 var(--sans);color:#c0bfc9;margin:0}
.gateway-description em{color:#f1f0f7;font-family:var(--serif);font-size:1.4em}
.handwritten{font:italic 500 26px var(--serif);color:var(--violet);position:absolute;top:-7px;left:calc(100% - 10px);white-space:nowrap;transform:rotate(-11deg)}
.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;position:relative}
.world-door{height:324px;border-radius:16px;padding:21px 24px 23px;position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:space-between;transform:translateZ(0);transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .4s;box-shadow:0 16px 60px rgba(0,0,0,.1)}
.world-door:hover,.world-door:focus-visible{transform:translateY(-5px);box-shadow:0 24px 75px rgba(0,0,0,.3)}
.world-door--magic{background:radial-gradient(ellipse at 72% 35%,rgba(139,88,218,.27),transparent 44%),linear-gradient(125deg,#23172f,#171122 65%,#201732)}
.world-door--software{background:radial-gradient(ellipse at 70% 30%,rgba(64,184,183,.22),transparent 48%),linear-gradient(125deg,#102b34,#0e1c28 65%,#15292e)}
.world-door--magic:hover{border-color:rgba(197,163,255,.7)}.world-door--software:hover{border-color:rgba(127,230,225,.7)}
.door-bloom{position:absolute;inset:-30%;background:radial-gradient(circle at var(--mx,65%) var(--my,45%),rgba(255,255,255,.13),transparent 28%);z-index:-1;opacity:0;transition:opacity .3s}.world-door:hover .door-bloom{opacity:1}
.world-door__top{position:relative;z-index:3;font-size:9px;color:#c3aee0}.world-door--software .world-door__top{color:#a0d6d8}
.divider-slash{opacity:.4;padding:0 5px}.door-symbol{font-size:18px;font-family:var(--serif)}
.world-door__bottom{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:3}
.door-kicker{font:700 9px var(--display);letter-spacing:2px;color:#ae94bf}.world-door--software .door-kicker{color:#82afb8}
.world-door h2{font:600 clamp(44px,5vw,70px)/.9 var(--display);letter-spacing:-.065em;margin:8px 0;color:white}
.door-period{color:#caabff}.world-door--software .door-period{color:#84e3dd}
.world-door p{font-size:12px;color:#c6b9cf;margin:8px 0 0}.world-door--software p{color:#a4c8cd}
.door-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center;font-size:26px;transition:background .3s,color .3s,transform .3s}
.world-door:hover .door-arrow{transform:rotate(45deg);background:#f5eee9;color:#17131d}
.magic-object,.software-object{position:absolute;inset:0;pointer-events:none}
.magic-orbit{position:absolute;border:1px solid rgba(201,159,255,.24);border-radius:50%;width:310px;height:130px;top:12%;left:31%;transform:rotate(-28deg);box-shadow:inset 0 0 20px rgba(208,139,255,.03)}
.magic-orbit--two{width:270px;height:112px;transform:rotate(35deg);border-color:rgba(194,159,255,.13);top:20%;left:36%}
.floating-card{position:absolute;display:block;width:112px;height:159px;border-radius:9px;top:14%;left:53%;box-shadow:8px 16px 28px rgba(0,0,0,.26)}
.floating-card--back{background:linear-gradient(45deg,#382350,#62458b);border:3px solid #d9c5f5;outline:1px solid rgba(255,255,255,.3);outline-offset:-10px;transform:translate(13px,8px) rotate(23deg);animation:cardFloatBack 7s ease-in-out infinite}
.floating-card--front{background:linear-gradient(145deg,#fffefa,#e6dff0);border:1px solid white;color:#9b67be;transform:rotate(-13deg);animation:cardFloatFront 6s ease-in-out infinite;display:flex;flex-direction:column;justify-content:space-between;padding:10px 12px}
.floating-card--front b{font:700 17px var(--serif)}.floating-card--front b:last-child{align-self:end;transform:rotate(180deg)}.floating-card--front i{font:normal 58px var(--serif);align-self:center;margin-top:6px}
.card-dust{position:absolute;color:#deaeff;opacity:.8}.card-dust--one{left:39%;top:22%;font-size:14px;animation:twinkle 3s infinite}.card-dust--two{left:83%;top:42%;font-size:25px;animation:twinkle 5s infinite}
.software-orbit{position:absolute;width:280px;height:180px;top:5%;left:42%;border-radius:50%;border:1px dashed rgba(119,223,223,.23);transform:rotate(36deg)}
.software-cube{position:absolute;width:144px;height:144px;top:11%;left:58%;border:1.5px solid #78dadd;background:linear-gradient(155deg,rgba(75,164,170,.11),rgba(14,32,44,.55));transform:rotate(-23deg) skew(8deg,8deg);box-shadow:0 0 35px rgba(65,197,201,.08),inset 0 0 35px rgba(65,197,201,.05);animation:cubeBreathe 7s ease-in-out infinite}
.software-cube::before,.software-cube::after{content:'';position:absolute;border:1px solid rgba(108,214,220,.52);inset:19px;transform:rotate(45deg)}.software-cube::after{inset:42px;opacity:.7}
.software-cube--rear{width:144px;height:144px;transform:translate(-26px,12px) rotate(22deg) skew(8deg,8deg);opacity:.55}.software-cube--front{display:grid;place-items:center}
.cube-cross{font:300 32px var(--display);color:#9fe8e9}.code-fleck{position:absolute;font:11px monospace;color:rgba(138,218,220,.6)}.code-fleck--one{left:42%;top:22%}.code-fleck--two{left:87%;top:49%}
.rift-mark{position:absolute;width:43px;height:86px;left:50%;top:32%;transform:translateX(-50%);z-index:5;display:grid;place-items:center;pointer-events:none}
.rift-mark::before{content:'';position:absolute;width:2px;height:150px;background:linear-gradient(transparent,#e8d6ff,transparent);transform:rotate(17deg);box-shadow:0 0 22px 4px rgba(202,158,255,.35)}
.rift-mark span{font-size:25px;color:white;text-shadow:0 0 19px #c6b3ff}
.gateway-outro{padding:20px 0 0;gap:14px;font-size:9px;color:#656573;white-space:nowrap}
/* shared interiors */
.world-topbar{padding-top:32px;gap:15px;color:#9994aa}
.back-link{display:flex;align-items:center;gap:13px;transition:color .2s}.back-link:hover{color:#fff}.back-link>span{font-size:21px;font-weight:400}
.world-number{font-size:9px}
.world-hero{display:grid;grid-template-columns:1.04fr .96fr;gap:45px;align-items:center;padding:76px 0 92px;min-height:625px}
.world-hero__copy{position:relative;z-index:2}
.world-hero h1{font:600 clamp(73px,8.6vw,136px)/.86 var(--display);letter-spacing:-.092em;margin:18px 0 27px;max-width:800px}
.world-hero h1 .serif-em{font:italic 500 clamp(79px,9vw,145px)/.8 var(--serif);letter-spacing:-.065em;text-transform:none;white-space:nowrap}
.eyebrow--magic{color:#d6b8fb}.eyebrow--software{color:#a6e8e4}
.magic-hero h1 .serif-em{color:#c6a8f8}.software-hero h1 .serif-em{color:#9be2dc}
.world-lede{max-width:460px;color:#b5b0bf;font-size:15px;line-height:1.8;margin:0 0 25px}.software-hero .world-lede{color:#b0c6ca}
.button-row{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px;padding:0 21px;border:1px solid rgba(255,255,255,.18);border-radius:7px;font:700 10px var(--display);letter-spacing:1.2px;white-space:nowrap;transition:transform .2s,background .2s,color .2s,border-color .2s}
.button:hover{transform:translateY(-3px)}.button span{font-size:18px;font-weight:400}
.button--light{background:#efe7f3;color:#271a34;border-color:#efe7f3}.button--light:hover{background:#d9c5ee}
.button--bright{background:#b2eee3;color:#103236;border-color:#b2eee3}.button--bright:hover{background:#defbf6}
.button--quiet{background:transparent;color:#ddd4e3}.button--quiet:hover{border-color:#d8c8ed;background:rgba(255,255,255,.05)}
.illusion-module,.engineering-module{height:470px;border:1px solid rgba(220,189,255,.24);border-radius:18px;background:radial-gradient(circle at 50% 38%,rgba(121,69,185,.28),transparent 51%),linear-gradient(160deg,rgba(63,38,80,.28),rgba(18,13,26,.55));overflow:hidden;position:relative;isolation:isolate;box-shadow:0 30px 90px rgba(0,0,0,.12)}
.illusion-module__label{position:absolute;top:20px;left:23px;right:23px;z-index:3;font-size:9px;color:#b69fca}
.illusion-stage{position:absolute;inset:0;display:grid;place-items:center}
.illusion-halo{position:absolute;width:300px;height:300px;top:17%;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(192,140,243,.18),rgba(183,121,247,.04) 40%,transparent 70%);filter:blur(6px)}
.illusion-ring{position:absolute;width:310px;height:115px;top:31%;left:50%;border:1px solid rgba(211,169,250,.25);border-radius:50%;transform:translateX(-50%) rotate(-28deg)}.illusion-ring--b{transform:translateX(-50%) rotate(39deg);border-color:rgba(211,169,250,.14)}
.illusion-card{position:relative;width:146px;height:225px;border:2px solid #fff;border-radius:10px;background:#f9f7f3;transform:rotate(-12deg) translateY(-10px);box-shadow:8px 24px 45px rgba(0,0,0,.34),0 0 65px rgba(191,144,246,.16);color:#b32048;transition:transform .7s cubic-bezier(.24,.75,.2,1),opacity .43s,filter .6s;z-index:2;padding:13px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}
.illusion-card:hover{transform:rotate(-6deg) translateY(-20px)}.illusion-card:focus-visible{outline:3px solid var(--violet)}
.illusion-card__corner{display:flex;flex-direction:column;font:700 20px/.7 Georgia,serif;gap:6px}.illusion-card__corner>span{font-size:17px}.illusion-card__corner--bottom{transform:rotate(180deg);align-self:end}
.illusion-card__center{position:absolute;inset:0;display:grid;place-items:center;font-size:85px;font-family:Georgia,serif}
.illusion-module.is-vanished .illusion-card{transform:translate(-80px,25px) rotate(-125deg) scale(.01);opacity:0;filter:blur(9px);pointer-events:none}
.illusion-spark{position:absolute;color:#c79fed}.illusion-spark--1{top:22%;left:22%;font-size:18px;animation:twinkle 3s infinite}.illusion-spark--2{top:55%;right:21%;font-size:25px;animation:twinkle 4s infinite}
.illusion-message{position:absolute;bottom:87px;left:0;right:0;text-align:center;font:italic 500 20px var(--serif);color:#d7c6ec}
.illusion-trigger{position:absolute;bottom:20px;left:24px;right:24px;height:46px;border:1px solid rgba(242,221,255,.35);border-radius:6px;background:rgba(212,172,249,.1);font:700 10px var(--display);letter-spacing:1.8px;color:#f3e9fd;display:flex;align-items:center;justify-content:center;gap:12px;transition:background .2s}
.illusion-trigger:hover{background:rgba(212,172,249,.24)}.illusion-trigger:disabled{cursor:default;opacity:.5}
.magic-hidden-card{align-items:center;gap:14px;margin-top:30px;color:#f2e5ff;font:italic 23px/1.1 var(--serif);animation:appearSoft .65s ease both}.magic-hidden-card:not([hidden]){display:flex}
.mini-card{background:#f9f7f3;border-radius:4px;color:#b32048;padding:10px 17px;font:32px Georgia,serif;transform:rotate(-16deg)}.text-button{border:0;background:none;padding:9px 0 0;text-decoration:underline;color:#ceb3ec;font:700 11px var(--display);letter-spacing:1px}
.engineering-module{border-color:rgba(136,217,224,.24);background:radial-gradient(circle at 50% 45%,rgba(32,126,146,.23),transparent 54%),linear-gradient(145deg,#102b34,#101920)}
.engineering-module__label{position:absolute;top:23px;left:23px;right:23px;font-size:9px;color:#85aebc;z-index:3;line-height:1.5}
.engineering-grid{position:absolute;inset:0;opacity:.25;background-image:linear-gradient(rgba(125,216,226,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(125,216,226,.16) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(ellipse,#000 35%,transparent 80%)}
.engineering-structure{position:absolute;inset:0;display:grid;place-items:center;perspective:600px}
.engineering-poly{position:absolute;width:200px;height:200px;border:1.5px solid #87e0e6;background:linear-gradient(125deg,rgba(45,155,157,.12),transparent);transform:rotate(22deg) skew(-12deg,-12deg);box-shadow:0 0 38px rgba(111,216,225,.06);animation:polySpin 16s ease-in-out infinite alternate}
.engineering-poly--two{width:155px;height:155px;transform:rotate(58deg) skew(5deg,5deg);border-color:rgba(126,231,236,.65);animation-direction:alternate-reverse}.engineering-poly--three{width:110px;height:110px;transform:rotate(80deg);border-color:rgba(126,231,236,.37);animation-duration:13s}
.engineering-core{color:#a7f7ef;font-size:35px;font-weight:300;text-shadow:0 0 30px #52b5be}
.engineering-module__bottom{position:absolute;left:23px;right:23px;bottom:25px;justify-content:flex-start;gap:10px;color:#85aebc}.engineering-module__bottom b{color:#caf5ed}.engineering-module__bottom .pulse-dot{margin-left:auto}
.line-break{border-top:1px solid rgba(220,185,252,.18);padding:18px 0;font-size:9px;color:#a594b8}.line-break--software{border-color:rgba(155,223,226,.19);color:#91b3b8}
.content-section{padding:95px 0 110px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2,.engineer-section h2{font:600 clamp(55px,7vw,96px)/.88 var(--display);letter-spacing:-.08em;margin:8px 0}.section-heading h2 em,.engineer-section h2 em{font:italic 500 1.23em var(--serif);letter-spacing:-.06em;color:var(--violet)}
.section-heading>p{max-width:325px;font:400 14px/1.8 var(--sans);color:#aaa1b5;margin:0 0 4px}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.offer-card{padding:26px;min-height:295px;background:linear-gradient(140deg,rgba(200,153,243,.08),rgba(35,19,48,.3));border:1px solid rgba(224,193,248,.14);border-radius:12px;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.offer-card:hover{transform:translateY(-7px);border-color:rgba(216,183,248,.58)}
.offer-card__number{font:700 10px var(--display);color:#8e779d}.offer-glyph{font-size:44px;margin:auto 0 10px;color:#c6a3ea;font-family:var(--serif)}.offer-card h3{font:600 clamp(27px,3.2vw,45px)/1.02 var(--display);letter-spacing:-.05em;margin:0 0 12px}.offer-card p{font-size:13px;color:#ad9dbb;line-height:1.7;margin:0}
.offer-bottom{padding:25px 0;border-bottom:1px solid rgba(220,185,252,.18);font-size:9px;color:#8f819b;gap:20px}.underlined-action{background:none;border:0;border-bottom:1px solid #cbb0e9;padding:0 0 6px;color:#efe3ff;font:700 10px var(--display);letter-spacing:1.4px;display:flex;align-items:center;gap:35px}.underlined-action:hover{color:#c59eee}
.school-section{margin:15px 0 90px;min-height:550px;border-radius:14px;background:#20182d;border:1px solid rgba(220,185,252,.16);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}
.school-art{position:relative;min-height:470px;background:radial-gradient(circle at 50% 47%,rgba(144,101,190,.32),transparent 58%),linear-gradient(145deg,#2a1d38,#181224);display:grid;place-items:center;overflow:hidden}
.school-rings{position:absolute;inset:0;display:grid;place-items:center}.school-rings span{position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(210,177,240,.34)}.school-rings span:nth-child(2){width:230px;height:230px;transform:rotateX(65deg);border-color:#b48cdc}.school-rings span:nth-child(3){width:370px;height:370px;transform:rotateY(65deg);border-color:rgba(176,137,235,.3)}
.school-star{font:150px var(--serif);color:#e9d5ff;text-shadow:0 0 80px #ae71f4;animation:starHover 7s ease-in-out infinite}.school-annotation{position:absolute;bottom:24px;left:30px;font:700 9px/1.5 var(--display);letter-spacing:2px;color:#bba1d0}
.school-copy{padding:clamp(32px,5vw,77px);display:flex;flex-direction:column;align-items:start;justify-content:center}.school-copy h2{font:600 clamp(56px,6vw,90px)/.85 var(--display);letter-spacing:-.08em;margin:22px 0 27px}.school-copy h2 em{font:italic 500 1.25em var(--serif);color:#cdb2ef}.school-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#c4b8d0;max-width:420px;margin:0 0 28px}.school-topics{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 28px}.school-topics span,.skill-tags span{font:700 9px var(--display);letter-spacing:1px;border:1px solid rgba(212,183,250,.32);border-radius:100px;padding:10px 12px;color:#cbb6de}.school-copy .fineprint{font:11px var(--sans)!important;opacity:.65;margin:16px 0 0!important}
.final-cta{text-align:center;padding:100px 20px 120px;border-top:1px solid var(--line);display:flex;align-items:center;flex-direction:column}.final-cta h2{font:600 clamp(55px,7.5vw,104px)/.9 var(--display);letter-spacing:-.082em;margin:25px 0 38px}.final-cta em{font:italic 500 1.2em var(--serif);color:#cbb1ef}
/* software */
.software-hero{min-height:630px}.software-hero h1{font-size:clamp(79px,8.9vw,142px)}
.projects-section .section-heading h2 em,.engineer-section h2 em{color:#9be6da}.projects-section .section-heading>p{color:#a5c3c5}
.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.project-card{min-width:0}.project-card--chess{grid-column:1/-1}.project-visual{height:370px;border-radius:13px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.12);isolation:isolate;transition:border-color .3s}
.project-card:hover .project-visual{border-color:rgba(255,255,255,.36)}
.project-visual::after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.08) 47%,transparent 70%);transform:translateX(-130%);transition:transform 1.1s}.project-card:hover .project-visual::after{transform:translateX(130%)}
.project-visual--nikita{background:radial-gradient(circle at 73% 51%,rgba(164,142,235,.29),transparent 44%),linear-gradient(140deg,#342d54,#161e31)}
.project-visual--nikita::before{content:'';position:absolute;width:260px;height:260px;left:50%;top:50%;border:1px solid rgba(200,191,242,.2);transform:translate(-50%,-50%) rotate(45deg)}
.preview-label,.preview-footnote{position:absolute;z-index:2;color:rgba(255,255,255,.62);font-size:9px;letter-spacing:1.9px}.preview-label{top:21px;left:24px}.preview-footnote{bottom:20px;left:24px}
.nikita-display{position:absolute;font:500 clamp(150px,23vw,300px)/1 var(--serif);color:#e6ddec;left:50%;top:47%;transform:translate(-50%,-50%);letter-spacing:-.16em;text-shadow:0 25px 55px #0f1029}.nikita-display>span{color:#b59ce8}
.project-visual--bakery{background:#dfd1b4;color:#5c3a27}.project-visual--bakery .preview-label{color:#876d51}
.bread-art{position:absolute;width:220px;height:138px;left:50%;top:40%;transform:translate(-50%,-50%) rotate(-15deg);border-radius:48% 55% 46% 53%;background:linear-gradient(135deg,#9b6435,#dbab65 42%,#b47744 92%);box-shadow:inset 12px 8px 17px rgba(80,45,23,.28),4px 18px 25px rgba(93,55,25,.16);border:8px solid rgba(251,217,151,.65);transition:transform .5s}.project-card:hover .bread-art{transform:translate(-50%,-52%) rotate(-9deg)}
.bread-art__scoring{position:absolute;width:105px;height:7px;top:31px;left:53px;background:#f7d7a0;transform:rotate(25deg);border-radius:80%;box-shadow:0 2px 4px rgba(81,42,16,.26)}.bread-art__scoring--two{top:65px}.bread-art__scoring--three{top:96px}
.bakery-display{position:absolute;bottom:37px;left:0;right:0;text-align:center;font:600 clamp(36px,4.7vw,65px)/1 var(--serif);letter-spacing:-.055em}.bakery-display span{font:13px var(--sans);vertical-align:top;margin-left:5px}
.project-visual--chess{background:radial-gradient(circle at 75% 47%,rgba(58,183,187,.25),transparent 55%),linear-gradient(135deg,#102b34,#19363e 72%,#12242b);height:375px}
.chess-art{position:absolute;inset:0;display:grid;place-items:center}.chess-board{position:absolute;width:320px;height:320px;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);transform:rotate(-20deg) skew(6deg,6deg);box-shadow:0 28px 45px rgba(0,0,0,.25);opacity:.78;transition:transform .5s}.project-card:hover .chess-board{transform:rotate(-15deg) skew(6deg,6deg)}
.chess-square:nth-child(16n + 1),.chess-square:nth-child(16n + 3),.chess-square:nth-child(16n + 5),.chess-square:nth-child(16n + 7),.chess-square:nth-child(16n + 10),.chess-square:nth-child(16n + 12),.chess-square:nth-child(16n + 14),.chess-square:nth-child(16n + 16){background:#29636e}
.chess-square{background:#8acdd1;border:1px solid rgba(255,255,255,.04)}
.chess-art__glyph{font-size:190px;position:relative;transform:translate(110px,-15px) rotate(-10deg);color:#e0f3ec;text-shadow:0 20px 17px rgba(0,0,0,.3)}
.project-meta{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:21px 2px 12px}.project-number{font:700 9px var(--display);letter-spacing:2px;color:#8cb6bd}.project-meta h3{font:600 28px/1 var(--display);letter-spacing:-.045em;margin:11px 0}.project-meta p{font:13px/1.6 var(--sans);color:#8fa9ae;margin:0}.project-link{width:50px;min-width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(172,224,224,.3);border-radius:50%;font-size:27px;transition:background .2s,color .2s,transform .2s}.project-link:hover{background:#a5e5df;color:#143037;transform:rotate(45deg)}
.engineer-section{padding:100px 0;display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid rgba(142,221,226,.2);border-bottom:1px solid rgba(142,221,226,.2)}
.engineer-copy{padding-top:36px}.engineer-copy>p{font-size:17px;line-height:1.8;color:#b1c6c9;max-width:560px;margin:0 0 30px}.skill-tags{display:flex;flex-wrap:wrap;gap:9px}.skill-tags span{border-color:rgba(133,218,221,.34);color:#a1d3d4}.engineer-links{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:35px}.engineer-links a{font:700 10px var(--display);letter-spacing:1.3px;padding-bottom:7px;border-bottom:1px solid rgba(157,225,227,.4)}.engineer-links a:hover{color:#a1e1dc}
.final-cta--software em{color:#a5e3dd}
/* footer */
.site-footer{max-width:var(--layout);margin:0 auto;padding:31px clamp(22px,4.4vw,74px) 35px;border-top:1px solid rgba(255,255,255,.09);gap:14px;font-size:9px;color:#7c7a89}.site-footer a{color:#d4cedc}.site-footer a:hover{color:#fff}
/* contact */
.contact-dialog{position:fixed;max-height:min(94dvh,820px);width:min(540px,calc(100vw - 24px));border:1px solid rgba(212,194,238,.27);border-radius:17px;padding:0;color:#f4edf4;background:radial-gradient(circle at 95% 0,rgba(121,79,160,.18),transparent 45%),#171421;box-shadow:0 35px 110px rgba(0,0,0,.65);z-index:100;overflow-y:auto}
.contact-dialog::backdrop{background:rgba(3,4,9,.72);backdrop-filter:blur(8px)}.dialog-inner{padding:clamp(23px,4vw,40px)}.dialog-top{align-items:start;gap:20px}.dialog-top .eyebrow{font-size:9px;letter-spacing:2px;margin:5px 0}.dialog-close{display:grid;place-items:center;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:36px;height:36px;color:white;flex-shrink:0}.dialog-close:hover{background:#3b3046}
.contact-dialog h2{font:600 47px/.92 var(--display);letter-spacing:-.065em;margin:35px 0 20px}.contact-dialog h2 em{font:italic 500 1.17em var(--serif);color:#c5a8ed}.contact-dialog p#dialog-intro{font:13px/1.7 var(--sans);color:#b5aabe;margin:0 0 23px}#contact-form{display:flex;flex-direction:column;gap:13px}#contact-form label{font:700 10px var(--display);letter-spacing:1px;color:#d9cbdf;display:flex;flex-direction:column;gap:7px}
#contact-form input,#contact-form textarea,#contact-form select{color:#f6f0fc;background:rgba(255,255,255,.05);border:1px solid rgba(216,199,237,.18);border-radius:7px;outline-offset:1px;padding:12px 13px;font:13px var(--sans);resize:vertical;min-height:46px}#contact-form input::placeholder,#contact-form textarea::placeholder{color:#817489}#contact-form select option{background:#171421}#contact-form textarea{min-height:85px}.dialog-submit{margin-top:7px;width:100%}.form-note{font:11px/1.5 var(--sans)!important;color:#81768b!important;margin:0!important}
.wipe{position:fixed;inset:0;z-index:80;pointer-events:none;background:#ede5f5;clip-path:inset(0 100% 0 0);will-change:clip-path}.wipe__line{position:absolute;top:0;bottom:0;right:0;width:3px;background:#aa81f3;box-shadow:0 0 45px 7px #e7caff}.wipe.is-entering{animation:wipeAcross .69s cubic-bezier(.65,0,.3,1) both}
@keyframes wipeAcross{0%{clip-path:inset(0 100% 0 0)}48%{clip-path:inset(0 0 0 0)}52%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
.page.is-revealed{animation:pageComeIn .58s ease both}@keyframes pageComeIn{from{opacity:.72;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes cardFloatFront{0%,100%{transform:rotate(-13deg) translateY(0)}50%{transform:rotate(-10deg) translateY(-9px)}}
@keyframes cardFloatBack{0%,100%{transform:translate(13px,8px) rotate(23deg)}50%{transform:translate(17px,-3px) rotate(19deg)}}
@keyframes cubeBreathe{0%,100%{transform:rotate(-23deg) skew(8deg,8deg) translateY(0)}50%{transform:rotate(-16deg) skew(8deg,8deg) translateY(-10px)}}
@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.4)}}
@keyframes appearSoft{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes polySpin{from{transform:rotate(15deg) skew(-12deg,-12deg)}to{transform:rotate(75deg) skew(-12deg,-12deg)}}
@keyframes starHover{0%,100%{transform:rotate(0deg) scale(.97)}50%{transform:rotate(11deg) scale(1.08)}}
.noscript{position:fixed;bottom:0;z-index:99;background:#111;color:white;padding:15px;width:100%;font:12px var(--sans)}
/* tablets */
@media(max-width:1050px){.brand,.header-contact{min-width:145px}.handwritten{display:none}.gateway-hero h1{font-size:clamp(64px,8.8vw,100px)}.headline-accent{font-size:clamp(95px,11.4vw,140px)}.world-hero{gap:22px}.world-hero h1{font-size:clamp(62px,9vw,110px)}.world-hero h1 .serif-em{font-size:clamp(68px,9.3vw,115px)}.world-lede{font-size:14px}.world-hero{min-height:570px}.illusion-module,.engineering-module{height:420px}.floating-card{left:53%}.software-cube{left:55%}.world-door h2{font-size:clamp(39px,5vw,62px)}.section-heading h2{font-size:clamp(55px,7vw,85px)}}
@media(max-width:760px){.page-frame{padding-left:22px;padding-right:22px}.site-header{height:68px;padding-left:18px;padding-right:18px}.brand{min-width:auto}.brand__mark{height:38px;width:38px}.brand__name{display:none}.header-contact{display:none}.main-nav{gap:0}.nav-link{padding:11px 12px;font-size:9px;letter-spacing:.5px}.gateway-frame{padding-top:23px}.micro-row__right{display:none}.gateway-hero{padding-top:47px}.gateway-hero h1{font-size:clamp(53px,10.5vw,89px);line-height:.88}.headline-accent{font-size:clamp(70px,14.7vw,128px)}.gateway-description{margin-top:19px;margin-bottom:30px}.gateway-description p{font-size:13px}.world-grid{grid-template-columns:1fr;gap:13px}.world-door{height:292px;padding:19px 21px}.rift-mark{top:50%;transform:translate(-50%,-50%) rotate(90deg);height:34px}.rift-mark::before{height:62px}.world-door h2{font-size:56px}.magic-orbit{left:40%;top:10%}.magic-orbit--two{left:45%}.floating-card{left:65%;top:11%;width:100px;height:146px}.software-orbit{left:43%}.software-cube{left:65%;width:120px;height:120px}.gateway-outro{justify-content:space-between}.gateway-outro span:nth-child(2){display:none}.gateway-outro span:last-child{max-width:120px;white-space:normal;text-align:right}.world-topbar{padding-top:24px}.world-hero{grid-template-columns:1fr;min-height:auto;gap:33px;padding:67px 0 68px}.world-hero h1{font-size:clamp(62px,13vw,95px)}.world-hero h1 .serif-em{font-size:clamp(69px,15vw,104px)}.world-lede{max-width:600px}.illusion-module,.engineering-module{height:410px;max-width:640px;width:100%;margin:0 auto}.content-section{padding:68px 0 80px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:25px;max-width:550px}.offer-grid{grid-template-columns:1fr;gap:10px}.offer-card{min-height:186px;padding:22px 23px;display:grid;grid-template-columns:75px 1fr;grid-template-rows:auto auto auto}.offer-card__number{grid-column:1;grid-row:1}.offer-glyph{grid-column:1;grid-row:2/4;font-size:45px;margin:0;align-self:center}.offer-card h3{grid-column:2;grid-row:2;margin:0 0 8px}.offer-card p{grid-column:2;grid-row:3}.offer-bottom{align-items:start;flex-direction:column}.school-section{grid-template-columns:1fr;margin-top:0}.school-art{min-height:290px}.school-rings span{width:240px;height:240px}.school-rings span:nth-child(2){width:180px;height:180px}.school-rings span:nth-child(3){width:300px;height:300px}.school-star{font-size:110px}.school-copy{padding:42px 30px 48px}.school-copy h2{font-size:clamp(64px,10vw,95px)}.projects-grid{grid-template-columns:1fr;gap:28px}.project-card--chess{grid-column:auto}.project-visual{height:310px}.project-visual--chess{height:315px}.engineer-section{grid-template-columns:1fr;gap:10px;padding:65px 0}.engineer-copy{padding-top:0}.final-cta{padding:65px 0 90px}.site-footer{padding:25px 22px;flex-wrap:wrap}.site-footer span:nth-child(2){display:none}}
@media(max-width:430px){.page-frame{padding-left:17px;padding-right:17px}.site-header{padding:0 14px}.nav-link{padding:11px 10px;font-size:9px}.gateway-intro{font-size:8px;letter-spacing:1.3px}.gateway-hero{padding-top:47px}.gateway-hero h1{font-size:clamp(49px,10.1vw,67px)}.headline-accent{font-size:clamp(69px,14.2vw,90px)}.gateway-description p br{display:none}.gateway-description p{max-width:320px;margin:auto}.world-door{height:264px}.world-door h2{font-size:49px}.world-door p{font-size:11px}.world-door__top{font-size:8px}.floating-card{left:64%;top:14%;width:87px;height:128px}.floating-card--front i{font-size:47px}.magic-orbit{left:29%;top:7%}.magic-orbit--two{left:28%;top:18%}.software-cube{left:64%;top:15%;height:110px;width:110px}.software-orbit{left:25%}.door-arrow{width:38px;height:38px}.gateway-outro{font-size:8px}.world-hero{padding:58px 0 62px}.world-hero h1{font-size:clamp(57px,13.8vw,76px)}.world-hero h1 .serif-em{font-size:clamp(66px,15.9vw,92px)}.world-lede{font-size:13px}.button-row{gap:8px}.button{font-size:9px;padding:0 14px;gap:11px;min-height:48px}.illusion-module,.engineering-module{height:365px}.illusion-card{width:118px;height:186px}.illusion-card__center{font-size:69px}.illusion-ring{width:250px}.illusion-message{bottom:80px}.section-heading h2,.engineer-section h2{font-size:62px}.school-copy h2{font-size:62px}.school-copy{padding:35px 24px}.project-visual{height:260px}.project-visual--chess{height:275px}.chess-board{height:250px;width:250px}.chess-art__glyph{font-size:150px;transform:translate(70px,-9px) rotate(-10deg)}.bread-art{transform:translate(-50%,-53%) rotate(-15deg) scale(.78)}.project-card:hover .bread-art{transform:translate(-50%,-54%) rotate(-9deg) scale(.78)}.nikita-display{font-size:185px}.project-meta h3{font-size:25px}.world-number{font-size:8px;white-space:nowrap}.back-link{font-size:8px;gap:7px}.fineprint{max-width:260px}}
@media(hover:none){.door-bloom{display:none}.world-door:hover,.world-door:focus-visible{transform:none}.project-card:hover .project-visual::after{transform:translateX(-130%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#ambient-canvas{display:none}.wipe{display:none}.illusion-card{transform:rotate(-12deg)}.page.is-revealed{animation:none}}

/* GATEWAY V3 / all geometry and light exists in one real WebGL scene. */
body[data-world="gateway"]{background:#060910;overflow:hidden}
body[data-world="gateway"] #ambient-canvas,body[data-world="gateway"] .grain{display:none}
body[data-world="gateway"] #page-root{height:100svh;overflow:hidden}
body[data-world="gateway"] .page--gateway{height:100svh;min-height:520px;overflow:hidden}
body[data-world="gateway"] .site-footer{display:none}
body[data-world="gateway"] .site-header{position:absolute;z-index:30;top:0;left:0;right:0;max-width:none;height:70px;background:linear-gradient(180deg,rgba(4,7,15,.84),rgba(4,7,15,0));border:0;backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-world="gateway"] .brand__mark{display:none}
body[data-world="gateway"] .brand__name{font:600 11px/1.15 var(--display);letter-spacing:2px}
body[data-world="gateway"] .main-nav{background:rgba(8,12,20,.68);backdrop-filter:blur(10px)}
body[data-world="gateway"] .nav-link.is-current{background:rgba(215,229,253,.12);color:white}
.gateway-experience{position:absolute;inset:0;background:radial-gradient(ellipse at 49% 55%,#161826,#060810 76%);overflow:hidden}
#gateway-webgl{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;outline:none}
.gateway-atmosphere{pointer-events:none;position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 65% 61% at 50% 53%,transparent 55%,rgba(2,3,8,.54));mix-blend-mode:multiply}
.gateway-title{position:absolute;z-index:2;bottom:87px;left:0;right:0;text-align:center;color:rgba(237,209,175,.85);font:500 11px Georgia,serif;letter-spacing:.39em;text-shadow:0 2px 14px #000}
.gateway-title span{color:#ae97e1}
.gateway-instruction{position:absolute;z-index:4;left:50%;top:86px;transform:translateX(-50%);text-align:center;white-space:nowrap;color:#c9d1e0;letter-spacing:2.3px;font:600 10px var(--display);text-shadow:0 2px 15px #000b;transition:opacity .3s}
.gateway-world-links{position:absolute;z-index:6;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:3px;background:rgba(5,9,18,.84);border:1px solid #c9d9f32d;padding:5px;border-radius:35px;backdrop-filter:blur(14px);box-shadow:0 15px 30px #0008}
.gateway-world-links>a{color:#e7edf4;border-radius:22px;padding:13px 23px;display:inline-flex;align-items:center;gap:11px;letter-spacing:.14em;font:600 10px var(--display);white-space:nowrap;transition:background .2s}
.gateway-world-links>a:hover,.gateway-world-links>a:focus-visible{background:#ffffff1b}
.gateway-link-orb{width:7px;height:7px;border-radius:50%;background:#ffaa5d;box-shadow:0 0 9px #f89c5e}
.gateway-link-orb--software{background:#83e7fa;box-shadow:0 0 9px #27b6ff}
.gateway-cat-speech{position:absolute;top:74%;left:50%;z-index:5;pointer-events:none;color:#e3c5aa;font:italic 20px Georgia,serif;text-shadow:0 0 10px #ff7f2b;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.gateway-cat-speech.visible{opacity:1;transform:translateY(0)}
.gateway-mobile-tip{display:none;position:absolute;z-index:3;top:95px;left:50%;transform:translateX(-50%);font:600 9px var(--display);letter-spacing:.15em;color:#d6d4e0;text-shadow:0 2px 10px black}
.gateway-fallback{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 25% 45%,#3e2218,transparent 55%),radial-gradient(ellipse at 75% 45%,#122843,transparent 55%),#070a12;padding:20px}
.gateway-fallback[hidden]{display:none}
.gateway-fallback p{font:italic 22px Georgia,serif;color:#d4bfb0}
.gateway-fallback h1{font:600 clamp(25px,5vw,56px)/1.1 var(--display);max-width:600px}
.gateway-experience.is-travelling .gateway-world-links,.gateway-experience.is-travelling .gateway-instruction{opacity:0;transition:opacity .45s}
@media(max-width:760px){
 body[data-world="gateway"] .site-header{height:63px;padding:0 16px}
 body[data-world="gateway"] .main-nav,body[data-world="gateway"] .header-contact{display:none}
 body[data-world="gateway"] .brand__name{display:block;font-size:10px}
 .gateway-world-links{width:calc(100% - 18px);bottom:18px;justify-content:space-around}
 .gateway-world-links>a{font-size:9px;padding:14px 9px;gap:8px;letter-spacing:.06em}
 .gateway-title{bottom:91px;letter-spacing:.20em;font-size:9px}
 .gateway-instruction{top:68px;font-size:9px}
 .gateway-mobile-tip{display:block;top:92px;font-size:8px;opacity:.7}
 .gateway-cat-speech{left:60%;top:67%}
}
@media(prefers-reduced-motion:reduce){.gateway-experience *, .gateway-experience *::before, .gateway-experience *::after{animation:none!important;transition:none!important}}