@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#0b1118;--surface:#111a23;--surface2:#17232e;--cream:#f4f2e9;--muted:#acb9c1;--edge:rgba(221,238,242,.18);--accent:#ccf679;--orange:#f68b70;--family:'Space Grotesk',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--cream);background:var(--bg);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}body.theme-lego{--accent:#f8b28b}body.theme-sony{--accent:#97e0f2}body.theme-portfolio{--accent:#d5bfff}::selection{color:#10161c;background:var(--accent)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover{transition:color .2s}button{font:inherit}.skip{position:absolute;top:-100px;left:20px;z-index:1000;padding:12px 16px;background:var(--accent);color:var(--bg)}.skip:focus{top:15px}.wrap{width:min(1190px,calc(100% - 88px));margin-inline:auto}.nav{height:78px;position:relative;z-index:50;border-bottom:1px solid var(--edge);background:rgba(11,17,24,.95)}.nav-in{height:100%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:11px;white-space:nowrap}.brand-symbol{background:var(--accent);color:var(--bg);display:grid;place-items:center;width:38px;height:38px;border-radius:12px;transform:rotate(-7deg);font:700 12px var(--family);letter-spacing:-.06em}.brand-copy{display:flex;flex-direction:column;line-height:1.2}.brand-copy strong{font:700 14px var(--family);letter-spacing:-.03em}.brand-copy small{color:var(--muted);font:600 9px var(--family);letter-spacing:.16em;text-transform:uppercase;margin-top:5px}.links{display:flex;gap:29px;align-items:center;font:600 12px var(--family)}.links a:not(.nav-button){color:#c3d0d0}.links a:hover{color:var(--accent)}.nav-button{border:1px solid var(--accent);border-radius:99px;padding:9px 17px;color:var(--accent)}.nav-button:hover{background:var(--accent);color:var(--bg)}
.hero{padding:92px 0 66px;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;z-index:-1;right:-120px;top:40px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(170,220,195,.05),transparent 63%)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:18px}.micro{display:flex;align-items:center;gap:11px;color:var(--accent);font:700 11px var(--family);letter-spacing:.19em;text-transform:uppercase}.micro:before{content:'';height:3px;width:26px;background:currentColor;display:inline-block;flex:none}.hero h1{font:700 clamp(68px,7.25vw,116px)/.94 var(--family);letter-spacing:-.087em;margin:23px 0 0;max-width:730px}.hero h1 .a{color:var(--accent)}.hero h1 .outline{-webkit-text-stroke:1.25px var(--cream);color:transparent}.hero-text{margin:26px 0 30px;color:#c5d0d4;font-size:clamp(16px,1.45vw,19px);line-height:1.65;max-width:570px}.hero-text strong{color:#fff}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 21px;border:1px solid var(--edge);border-radius:100px;min-height:52px;font:700 12px var(--family);letter-spacing:.01em;transition:transform .2s,color .2s,background .2s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#08131a}.btn-primary:hover{background:#fff}.btn-secondary{color:#f0f0e9}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.hero-art{height:490px;position:relative;isolation:isolate;display:grid;place-items:center}.outer-ring,.middle-ring{position:absolute;border:1px solid rgba(210,238,228,.17);width:93%;aspect-ratio:1;border-radius:50%}.outer-ring{border-style:dashed;animation:rotate 55s linear infinite}.outer-ring:before{content:'';position:absolute;top:12%;left:13%;width:17px;height:17px;border-radius:50%;background:var(--accent);box-shadow:0 0 30px var(--accent)}.middle-ring{width:77%;border-color:rgba(210,238,228,.11)}.record{width:67%;aspect-ratio:1;position:absolute;border-radius:50%;background:repeating-radial-gradient(circle at center,#1c3035 0 5px,#101b25 6px 13px,#27323a 14px 15px);box-shadow:0 30px 80px rgba(0,0,0,.65),0 0 0 18px rgba(255,255,255,.025);display:grid;place-items:center;transform:rotate(-13deg)}.record:after{content:'';position:absolute;inset:10%;border-radius:50%;border:1px solid rgba(255,255,255,.16)}.record-core{width:51%;aspect-ratio:1;border-radius:50%;background:var(--accent);display:grid;place-items:center;box-shadow:inset -14px -14px rgba(0,0,0,.12)}.record-core span{width:0;height:0;border-top:34px solid transparent;border-bottom:34px solid transparent;border-left:51px solid #10202b;margin-left:13px}.float-label{position:absolute;z-index:3;font:700 11px var(--family);color:#15222a;background:#f0efe9;border-radius:90px;padding:12px 17px;box-shadow:0 15px 40px #0007}.float-label.one{right:-2%;top:16%;transform:rotate(8deg)}.float-label.two{bottom:11%;left:-6%;background:var(--accent);transform:rotate(-8deg)}.bars{position:absolute;top:30%;left:1%;z-index:4;display:flex;align-items:center;gap:5px;transform:rotate(-15deg)}.bars span{height:var(--bar);width:7px;border-radius:6px;background:var(--orange)}.hero-base{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--edge);padding-top:22px;margin-top:28px;color:var(--muted);font-size:12px}.hero-base b{color:var(--cream)}.hero-base a{font:700 10px var(--family);letter-spacing:.14em;color:var(--accent);text-transform:uppercase}
.band{background:var(--accent);color:#08171b;overflow:hidden;padding:15px 0}.band-inner{display:flex;white-space:nowrap;width:max-content;gap:32px;animation:marquee 36s linear infinite;font:700 14px var(--family);letter-spacing:.06em}.band-inner span{margin-left:30px}.band-inner i{font-style:normal;color:#536b50;margin-left:30px}
.section{padding:111px 0}.section-dark{background:var(--bg)}.section-light{color:#15212a;background:var(--cream)}.section-muted{background:#101c26}.intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:43px}.intro>div{max-width:850px}.intro .micro{margin:0 0 17px}.h2{font:700 clamp(42px,5.5vw,76px)/1 var(--family);letter-spacing:-.075em;margin:0}.h2 em{font-style:normal;color:var(--accent)}.section-light .micro{color:#697542}.section-light .h2 em{color:#ea7452}.intro p:last-child{color:var(--muted);font-size:16px;max-width:350px;margin:0 0 4px}.section-light .intro p:last-child{color:#65706e}.section-copy{color:#b5c2c7;max-width:710px;font-size:17px;margin-top:21px}.section-light .section-copy{color:#606a65}
.video-frame{position:relative;aspect-ratio:16/9;background:#070d11;border:10px solid #162029;border-radius:21px;overflow:hidden;box-shadow:0 28px 60px #0004}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-aux{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-top:19px;color:#64706f;font-size:12px}.video-aux a{font:700 12px var(--family);text-decoration:underline;text-underline-offset:4px}.metric-row{border-top:1px solid rgba(20,35,40,.2);border-bottom:1px solid rgba(20,35,40,.2);display:grid;grid-template-columns:repeat(3,1fr);margin-top:63px}.metric-row article{padding:25px 18px 25px 0}.metric-row article+article{border-left:1px solid rgba(20,35,40,.2);padding-left:28px}.metric-row strong{font:700 24px var(--family);letter-spacing:-.06em;display:block}.metric-row span{font-size:12px;color:#6d7775}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project{background:var(--surface);border:1px solid var(--edge);border-radius:18px;padding:34px 36px;min-height:332px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:border-color .25s,transform .25s}.project:hover{border-color:var(--accent);transform:translateY(-3px)}.project:after{content:'';position:absolute;top:-75px;right:-63px;width:240px;height:240px;border:1px solid rgba(255,255,255,.075);border-radius:50%}.project.feature{background:linear-gradient(140deg,#1d3335,#13202b)}.project.wide{grid-column:1/-1;min-height:230px}.card-top{display:flex;align-items:center;justify-content:space-between;color:var(--accent);font:700 10px var(--family);letter-spacing:.12em;text-transform:uppercase}.count{color:#788a91;font-size:11px}.project .role{font:700 12px var(--family);color:var(--accent);margin:0 0 11px}.project h3{font:700 clamp(29px,3.2vw,45px)/1.08 var(--family);letter-spacing:-.06em;margin:0 0 17px}.project p.desc{margin:0;color:#bac8ca;font-size:14px;max-width:570px;line-height:1.72}.project p.desc strong{color:#edf4ec}.project.wide .wide-info{display:flex;align-items:end;justify-content:space-between;gap:20px}.project.wide .wide-info .desc{max-width:600px}
.pill-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}.pill{border:1px solid var(--edge);border-radius:99px;padding:9px 13px;color:#d3dde0;font:600 11px var(--family)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-box{padding:33px 26px 30px;background:#192630;border:1px solid var(--edge);border-radius:16px;min-height:220px}.feature-box .glyph{color:var(--accent);font-size:25px;font-weight:700}.feature-box h3{font:700 21px/1.18 var(--family);letter-spacing:-.04em;margin:23px 0 13px}.feature-box p{color:#b7c3c6;font-size:13px;line-height:1.7;margin:0}.note{margin:30px 0 0;color:#b9c6c6;font:500 14px/1.7 var(--body)}.recognition{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}.awards{border-top:1px solid var(--edge)}.award{display:grid;grid-template-columns:65px 1fr;gap:12px;border-bottom:1px solid var(--edge);padding:18px 0}.award .year{font:700 13px var(--family);color:var(--accent)}.award strong{font:700 17px var(--family)}.award p{color:var(--muted);font-size:12px;margin:6px 0 0}.edu{color:#bcc9ca;font-size:13px;margin-top:19px}
.statement{padding:105px 0;background:#1c2931;position:relative;overflow:hidden}.statement:before{content:'';width:570px;height:570px;border:1px solid rgba(255,255,255,.06);border-radius:50%;position:absolute;top:-390px;right:1%}.statement h2{font:700 clamp(38px,5vw,67px)/1.08 var(--family);letter-spacing:-.06em;max-width:1000px;margin:22px 0 0}.statement h2 em{font-style:normal;color:var(--accent)}.statement .sub{color:#b9c7cb;max-width:800px;font-size:16px;margin-top:21px}
.end{background:#0a1016;padding:115px 0 32px}.end-top{display:flex;justify-content:space-between;align-items:end;gap:22px}.end h2{font:700 clamp(51px,6.2vw,88px)/.96 var(--family);letter-spacing:-.08em;margin:23px 0 0}.end h2 span{color:var(--accent)}.end .btn-primary{margin-bottom:4px}.contact{display:flex;flex-wrap:wrap;gap:23px;margin-top:42px;font-size:13px;color:#c6d2d3}.contact a{text-decoration:underline;text-underline-offset:5px}.contact .download{text-decoration:none;color:var(--accent);font-weight:700}.footer{display:flex;justify-content:space-between;gap:20px;margin-top:59px;padding-top:20px;border-top:1px solid var(--edge);color:#92a3a7;font-size:11px}.footer a:hover{color:var(--accent)}.footer .domain{font-weight:700;color:#c7d1d4}
.private-tag{color:var(--accent);border:1px solid var(--accent);border-radius:30px;padding:6px 12px;font:700 10px var(--family);letter-spacing:.05em}.cta-stack{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.link-plain{color:var(--accent);text-decoration:underline;text-underline-offset:5px;font-weight:700}.small-head{font:700 11px var(--family);letter-spacing:.15em;color:var(--accent);text-transform:uppercase;margin:0 0 12px}.minicards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.minicard{padding:25px;border:1px solid var(--edge);border-radius:14px;background:#17222c}.minicard h3{font:700 22px var(--family);margin:7px 0}.minicard p{font-size:13px;color:#b5c4c8;margin:0}
@keyframes rotate{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.outer-ring,.band-inner{animation:none}.btn,.project{transition:none}}
@media(max-width:950px){.wrap{width:min(100% - 50px,900px)}.hero{padding-top:68px}.hero-grid{grid-template-columns:1fr .8fr;gap:0}.hero h1{font-size:clamp(57px,8vw,83px)}.hero-art{height:380px}.project{min-height:370px}.recognition{gap:35px}.section{padding:85px 0}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.nav{height:68px}.brand-symbol{width:33px;height:33px;border-radius:10px}.links{gap:14px}.links .hide-mobile{display:none}.links .nav-button{padding:8px 12px}.hero{padding:58px 0 50px}.hero-grid{display:flex;flex-direction:column;align-items:stretch}.hero h1{font-size:clamp(58px,12vw,90px);margin-top:20px}.hero-text{font-size:16px;line-height:1.6;margin-top:22px}.hero-art{height:355px;margin:6px auto 2px;width:min(100%,370px)}.float-label.one{right:0}.float-label.two{left:-1%}.hero-base{margin-top:4px;align-items:start}.hero-base a{white-space:nowrap}.band{padding:11px 0}.band-inner{font-size:11px}.section{padding:74px 0}.intro{display:block;margin-bottom:28px}.intro p:last-child{max-width:100%;margin-top:17px}.h2{font-size:clamp(42px,10vw,60px)}.video-frame{border-width:5px;border-radius:12px}.video-aux{align-items:start;gap:12px}.metric-row{margin-top:45px}.metric-row strong{font-size:18px}.metric-row article{padding:17px 10px 17px 0}.metric-row article+article{padding-left:10px}.metric-row span{font-size:10px}.card-grid,.feature-grid,.minicards{grid-template-columns:1fr}.project{min-height:285px;padding:29px}.project.wide{grid-column:auto;min-height:270px}.project.wide .wide-info{display:block}.project h3{font-size:38px}.feature-box{min-height:180px}.recognition{grid-template-columns:1fr;gap:42px}.statement{padding:75px 0}.statement h2{font-size:43px}.end{padding:79px 0 30px}.end-top{display:block}.end h2{font-size:65px;margin-bottom:28px}.contact{gap:14px 21px}.footer{display:block}.footer span{display:block;margin-top:6px}}
@media(max-width:390px){.brand-copy strong{font-size:12px}.hero h1{font-size:59px}.hero-art{height:300px}.record-core span{border-top-width:28px;border-bottom-width:28px;border-left-width:41px}.float-label{font-size:9px}.btn{padding:13px 15px}.end h2{font-size:51px}}
