:root{--bg:#0c0d12;--fg:#f9f8f8;--muted:#a1a1ac;--line:#ffffff21;--blue:#3430ff;--red:#ff164f;--accent:#ff164f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#02040a;color:var(--fg);font-family:'Space Grotesk',Arial,sans-serif;position:relative}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #b2afff;outline-offset:6px}.mono{font:10px 'DM Mono',monospace;letter-spacing:.14em;text-transform:uppercase}.skip-link{position:fixed;left:20px;top:-90px;z-index:10000;padding:16px;background:var(--blue)}.skip-link:focus{top:15px}.page-shell{position:relative;max-width:1480px;width:calc(100% - 96px);margin:114px auto 74px;background:transparent;border:1px solid #ffffff19;border-radius:24px;box-shadow:0 0 150px #4244fa22,0 35px 90px #0009}.nav{height:100px;position:absolute;left:0;right:0;top:0;z-index:15;display:flex;align-items:center;padding:0 5.5%;gap:5%}.logo{font-weight:700;letter-spacing:-.07em;font-size:23px}.logo span{color:#8b83ff;margin-left:3px}.links{display:flex;gap:29px;font-size:10px;text-transform:uppercase;letter-spacing:.17em}.links a{padding:10px 0;color:#c6c5ce}.links a:hover{color:#fff}.links a:first-child:after{content:'';display:block;width:3px;height:3px;background:#ff2453;border-radius:50%;margin:9px auto -12px;box-shadow:0 0 9px #fa175f}.links a:last-child span{color:#ff4a76}.nav-note{margin-left:auto;font-size:8px;color:#9999a6;display:flex;align-items:center;gap:12px}.nav-note i{height:5px;width:5px;background:#9a92ff;box-shadow:0 0 10px #9a92ff;border-radius:50%}.hero{height:700px;position:relative;isolation:isolate;border-radius:24px 24px 0 0;background:radial-gradient(ellipse at 50% 50%,#11142442,#03050a66 70%)}.white-halo{position:absolute;width:268px;height:268px;left:50%;top:-62px;transform:translateX(-50%);border-radius:50%;background:#f8f9ff;box-shadow:0 0 40px #e1e1ff22,0 0 110px #7876ff14;z-index:1}.character-wrap{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:770px;width:510px;z-index:4;pointer-events:none;overflow:hidden}.hero-character{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 22px #0007);animation:characterArrival 1.8s cubic-bezier(.18,.7,.2,1) both}.hero-title-group{position:absolute;left:5.5%;top:250px;z-index:6}.eyebrow{font-size:8px;letter-spacing:.16em;color:#c6c4d0;display:flex;align-items:center;gap:9px;margin:0 0 24px}.eyebrow span{width:4px;height:4px;background:#8d89ff;box-shadow:0 0 12px #4946ff}.hero h1{position:relative;font-size:clamp(52px,6.2vw,94px);font-weight:500;letter-spacing:-.095em;line-height:.88;margin:0;text-transform:uppercase;isolation:isolate}.hero h1:before{content:'';position:absolute;width:113px;height:102px;left:-19px;top:-15px;background:#2420ff;border-radius:48% 52% 62% 38%/41% 39% 61% 59%;box-shadow:0 0 40px #2921ff99;z-index:-1;animation:blobMorph 12s ease-in-out infinite alternate}.hero h1 .outline{color:transparent;-webkit-text-stroke:1px #f8f7ff}.hero h1 b{font:inherit;color:#ff3062}.text-link{display:inline-flex;align-items:center;gap:34px;font-size:9px;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid #ffffff40;padding:15px 0;margin-top:25px}.text-link span{font-size:24px;letter-spacing:0;transition:transform .3s}.text-link:hover span{transform:translateX(8px)}.hero-copy{position:absolute;right:5.5%;top:252px;width:225px;z-index:6}.chapter{font-size:7px;color:#b0a8e8;letter-spacing:.12em}.hero-copy h2{font-size:25px;letter-spacing:-.04em;font-weight:400;line-height:1.16;margin:17px 0}.hero-copy p{font-size:13px;line-height:1.9;color:#c1becb;margin:0;min-height:124px}.hero-signature{font-size:9px;display:block;margin-top:25px;letter-spacing:.06em;color:#a5a2b3}.hero-signature i{font-style:normal;color:#c5c1ff;margin-left:20px}.red-blob{position:absolute;z-index:-1;left:-34px;top:58px;width:58px;height:75px;background:#f90047;border-radius:65% 35% 42% 58%/60% 34% 66% 40%;filter:drop-shadow(0 0 25px #ff004b88);opacity:.75;animation:blobMorph 9s ease-in-out infinite alternate-reverse}.hero-bottom{position:absolute;left:5.5%;right:5.5%;bottom:42px;display:flex;align-items:end;justify-content:space-between;z-index:6}.hero-work-link{display:grid;gap:11px}.hero-work-link>.mono{font-size:7px;color:#8b879a}.hero-work-link strong{font-size:13px;font-weight:400}.scroll-note{color:#9996aa;font-size:8px}.scroll-note span{margin-left:18px;color:#d1ceff}.section-pad{padding-left:5.5%;padding-right:5.5%}.work-section{padding-top:80px;padding-bottom:74px;background:linear-gradient(180deg,#04060b26,#080b122e);border-bottom:1px solid var(--line);position:relative}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}.section-number{color:#9991df;font-size:8px}.section-head h2,.services-intro h2{font-size:clamp(42px,5.2vw,80px);font-weight:400;letter-spacing:-.07em;line-height:1.03;margin:20px 0 0}.section-head h2 em,.services-intro h2 em,.footer h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}.section-head>p{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 5px}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;position:relative}.project{min-width:0}.project-preview{display:block;position:relative;border:1px solid #fa487c;overflow:hidden;border-radius:6px;box-shadow:0 0 6px #ff4c742a,0 0 18px #ff12401c;transition:transform .3s,box-shadow .3s;background:#0c0d12}.project-preview:hover{transform:translateY(-6px);box-shadow:0 0 8px #ff4c7488,0 0 27px #ff124044}.chrome{height:26px;display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 9px;color:#aaa7b6;background:#17161d;border-bottom:1px solid #ffffff10;font:6px 'DM Mono',monospace}.chrome>span:first-child{display:flex;gap:3px}.chrome i{width:3px;height:3px;background:#746574;border-radius:50%}.chrome>span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-preview video{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#0b0c13}.view-project{position:absolute;bottom:9px;right:9px;background:#0c0b16e3;border:1px solid #ffffff25;padding:7px 9px;font:7px 'DM Mono',monospace;letter-spacing:.04em;transition:background .2s}.project-preview:hover .view-project{background:#392df5}.project-meta{display:flex;justify-content:space-between;align-items:center;padding:22px 0 0;gap:7px}.project-meta .mono{font-size:6px;letter-spacing:.1em;color:#948d9f}.project-meta h3{font-size:24px;letter-spacing:-.05em;font-weight:400;margin:8px 0 0}.project-meta>a{height:33px;width:33px;display:grid;place-items:center;border:1px solid #ffffff25;border-radius:50%;font-size:19px}.project-meta>a:hover{background:var(--blue)}.video-toggle{display:block;margin:28px 0 0 auto;background:none;color:#9993ad;border:0;border-bottom:1px solid #ffffff25;padding:8px 0;font-size:8px}.services-section{padding-top:85px;padding-bottom:95px;display:grid;grid-template-columns:1fr 1.12fr;gap:10%;position:relative;background:#06091033}.services-intro>p:not(.mono){font-size:13px;line-height:1.8;color:var(--muted);margin-top:23px}.service-orbit{width:96px;height:96px;border:1px solid #6052c455;margin-top:35px;border-radius:50%;position:relative;display:grid;place-items:center;color:#a598ff;font-size:37px}.service-orbit i{position:absolute;inset:-7px 9px;border:1px solid #635de256;border-radius:50%;transform:rotate(-40deg)}.service-orbit:after{content:'';position:absolute;right:9px;top:9px;background:#bdb5ff;border-radius:50%;width:5px;height:5px;box-shadow:0 0 14px #7d6aff}.services-list{padding-top:19px}.services-list details{border-top:1px solid var(--line)}.services-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:22px;cursor:pointer;list-style:none;padding:24px 0}summary::-webkit-details-marker{display:none}summary>.mono{font-size:8px;color:#8a80b1}summary h3{font-size:19px;letter-spacing:-.03em;font-weight:400;margin:0}summary b{margin-left:auto;font-size:21px;font-weight:400;color:#8c84ca;transition:transform .2s}details[open] summary b{transform:rotate(45deg)}details>p{font-size:12px;line-height:1.85;color:#a6a0b2;padding:0 25px 24px 37px;margin:0}.footer{padding-top:58px;padding-bottom:27px;background:linear-gradient(160deg,#1713284d,#05081033);border-radius:0 0 24px 24px;border-top:1px solid #51406c55;position:relative}.footer-main{display:flex;align-items:end;justify-content:space-between;gap:30px}.footer h2{font-size:clamp(60px,9vw,130px);font-weight:400;line-height:.85;letter-spacing:-.08em;margin:23px 0 0}.footer-main>div{padding-bottom:5px;margin-left:auto;margin-right:7%}.footer-main p{font-size:20px;line-height:1.5;letter-spacing:-.03em}.contact-note{font-size:10px;color:#9c92b5}.back-top{width:66px;height:66px;display:grid;place-items:center;border:1px solid #7b6ba566;border-radius:50%;font-size:27px}.back-top:hover{background:var(--blue)}.fine{margin-top:65px;padding-top:23px;border-top:1px solid #ffffff19;display:flex;justify-content:space-between;gap:20px;color:#a29ab3;font-size:7px}
@keyframes characterArrival{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes blobMorph{to{border-radius:35% 65% 37% 63%/58% 62% 38% 42%;transform:rotate(12deg) scale(.94)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes siteStarFlash{0%,24%,68%,100%{opacity:.05;transform:scale(.55)}37%{opacity:.85;transform:scale(1.6);box-shadow:0 0 5px #fff,0 0 14px #a9dfff}49%{opacity:.24;transform:scale(.8)}}
@media(min-width:1550px){.hero-title-group{left:7%}.hero-copy{right:7%;width:245px}.hero h1{font-size:97px}.hero{height:750px}.character-wrap{height:815px;width:545px}.hero-copy,.hero-title-group{top:280px}}
@media(max-width:1100px){.page-shell{width:calc(100% - 44px);margin-top:90px}.nav{padding:0 4%;gap:35px}.nav-note{display:none}.links{margin-left:auto}.hero{height:650px}.character-wrap{height:700px;width:440px;left:51%}.white-halo{width:230px;height:230px}.hero-title-group{left:4%;top:240px}.hero h1{font-size:7vw}.hero-copy{right:4%;width:185px;top:230px}.hero-copy h2{font-size:21px}.hero-copy p{font-size:11px}.chapter{font-size:6px}.hero-bottom{left:4%;right:4%}.section-pad{padding-left:4%;padding-right:4%}.projects{gap:17px}.project-meta h3{font-size:20px}.project-meta .mono{font-size:5.5px}.services-section{gap:7%}summary{gap:13px}summary h3{font-size:17px}}
@media(max-width:760px){.page-shell{width:calc(100% - 28px);margin:67px auto 22px;border-radius:17px}.nav{height:72px;padding:0 6%;gap:10px}.logo{font-size:18px}.links{gap:17px;font-size:7px;letter-spacing:.08em}.hero{height:810px;border-radius:17px 17px 0 0}.white-halo{width:175px;height:175px;top:-39px;left:61%}.character-wrap{height:515px;width:340px;bottom:auto;top:-38px;left:62%}.hero-title-group{left:6%;top:228px}.hero h1{font-size:clamp(43px,9.7vw,72px);line-height:.91}.eyebrow{font-size:5.5px;letter-spacing:.09em;margin-bottom:16px}.hero h1:before{width:70px;height:72px;top:-9px;left:-10px}.text-link{font-size:7px;gap:18px;margin-top:12px;padding:10px 0}.text-link span{font-size:20px}.hero-copy{top:500px;left:6%;right:6%;width:auto;padding-right:10px}.chapter{font-size:7px}.hero-copy h2{font-size:27px;margin:15px 0 13px}.hero-copy h2 br{display:none}.hero-copy p{font-size:13px;line-height:1.8;max-width:440px;min-height:70px}.hero-signature{font-size:9px;margin-top:15px}.red-blob{left:-10px;top:45px;height:57px;width:44px;opacity:.55}.hero-bottom{left:6%;right:6%;bottom:24px}.hero-work-link>.mono{font-size:6px}.hero-work-link strong{font-size:11px}.scroll-note{font-size:6px}.scroll-note span{margin-left:5px}.section-pad{padding-left:6%;padding-right:6%}.work-section{padding-top:53px;padding-bottom:50px}.section-head{display:block;margin-bottom:28px}.section-head h2,.services-intro h2{font-size:44px}.section-head>p{font-size:11px;margin-top:18px}.section-number{font-size:7px}.projects{grid-template-columns:1fr;gap:34px}.project-preview video{aspect-ratio:16/9}.chrome{height:27px;font-size:7px}.chrome i{width:4px;height:4px}.project-meta h3{font-size:25px}.project-meta .mono{font-size:7px}.project-meta{padding-top:17px}.view-project{font-size:8px}.services-section{grid-template-columns:1fr;gap:24px;padding-top:52px;padding-bottom:56px}.services-intro h2 br{display:none}.services-intro>p:not(.mono){font-size:12px}.service-orbit{display:none}.services-list{padding-top:0}summary{padding:22px 0;gap:15px}summary h3{font-size:18px}details>p{padding-left:28px}.footer{padding-top:43px;padding-bottom:25px;border-radius:0 0 17px 17px}.footer-main{flex-wrap:wrap;align-items:center;gap:22px}.footer h2{font-size:76px}.footer-main>div{margin:0;width:calc(100% - 80px)}.footer-main p{font-size:17px}.back-top{width:52px;height:52px;font-size:24px}.fine{font-size:6px;flex-wrap:wrap;margin-top:35px;gap:15px}.fine span:first-child{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Dexter / Adrián Somoza: kinetic type, ink cross and sharply cut reveal.
   Adapted to this studio's charcoal and lightsaber-red visual system. */
body.studio-final .hero{isolation:isolate}
body.studio-final .hero-inner{z-index:6}
.dexter-stage{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}
.dexter-ink{position:absolute;right:-3%;top:5%;height:90%;width:64%;opacity:0;transform:scale(.62) rotate(-18deg);transform-origin:54% 50%;mix-blend-mode:screen;filter:drop-shadow(0 0 20px #fa294c99)}
.dexter-ink svg{width:100%;height:100%;overflow:visible}
.dexter-rule{position:absolute;left:12%;right:-10%;top:47%;height:3px;background:linear-gradient(90deg,transparent 0%,#ff3157 15%,#fff4ed 44%,#ff2347 70%,transparent 100%);box-shadow:0 0 12px #ff214e,0 0 45px #fa204d;transform:scaleX(0) skewY(-2deg);transform-origin:25% 50%;opacity:0}
.dexter-caption{position:absolute;right:5%;bottom:9%;color:#f58a9a;letter-spacing:.22em;opacity:0}
body.studio-final .dexter-title{position:relative;filter:drop-shadow(0 3px 22px #030208);animation:dexterType 7.6s cubic-bezier(.16,1,.3,1) both infinite}
body.studio-final .dexter-title:after{content:'';position:absolute;left:-2%;right:3%;top:45%;height:11%;background:linear-gradient(90deg,transparent,#f2324b55,transparent);mix-blend-mode:screen;opacity:0;transform:translateX(-60%) skewY(-3deg);animation:dexterCut 7.6s steps(1) infinite}
.dexter-ink{animation:dexterInk 7.6s cubic-bezier(.16,1,.3,1) infinite}
.dexter-rule{animation:dexterRule 7.6s cubic-bezier(.15,.8,.22,1) infinite}
.dexter-caption{animation:dexterCaption 7.6s ease-in-out infinite}
@keyframes dexterInk{0%,8%{opacity:0;transform:scale(.62) rotate(-18deg)}16%{opacity:.9;transform:scale(1.17) rotate(3deg)}21%{opacity:.73;transform:scale(1) rotate(0)}29%,72%{opacity:.24;transform:scale(1.04)}84%,100%{opacity:0;transform:scale(1.18) rotate(8deg)}}
@keyframes dexterRule{0%,10%{opacity:0;transform:scaleX(0) skewY(-2deg)}17%{opacity:1;transform:scaleX(1.1) skewY(-2deg)}27%,65%{opacity:.65;transform:scaleX(.95) skewY(-2deg)}78%,100%{opacity:0;transform:scaleX(1) skewY(-2deg)}}
@keyframes dexterType{0%,7%{opacity:0;transform:translateY(35px);filter:blur(6px)}17%,70%{opacity:1;transform:translateY(0);filter:blur(0)}72%{transform:translateX(-7px);text-shadow:10px 0 #f52e4b}74%{transform:translateX(5px);text-shadow:-7px 0 #f52e4b}77%,100%{opacity:1;transform:translateX(0);text-shadow:none}}
@keyframes dexterCut{0%,14%,69%,100%{opacity:0;transform:translateX(-60%) skewY(-3deg)}16%,18%,72%,74%{opacity:1;transform:translateX(0) skewY(-3deg)}}
@keyframes dexterCaption{0%,20%,84%,100%{opacity:0}29%,73%{opacity:1}}
@media(max-width:650px){.dexter-ink{width:130%;height:70%;top:17%;right:-72%;opacity:.35}.dexter-rule{left:0;right:-55%;top:43%}.dexter-caption{right:5%;bottom:7%;font-size:8px;max-width:180px;text-align:right}body.studio-final .dexter-title{font-size:clamp(62px,15.5vw,100px)}}
@media(prefers-reduced-motion:reduce){.dexter-ink{animation:none;opacity:.2;transform:scale(1)}.dexter-rule,.dexter-caption{animation:none;opacity:.6;transform:none}body.studio-final .dexter-title,body.studio-final .dexter-title:after{animation:none;filter:none}}


/* Keep the existing kinetic lettering within the new character composition. */
body.studio-final .dexter-title{animation:dexterType 7.6s cubic-bezier(.16,1,.3,1) both infinite}
.dexter-stage{z-index:5;border-radius:inherit}.dexter-rule{left:3%;right:56%;top:46%;height:1px;box-shadow:0 0 8px #ff214e;opacity:.5}.dexter-caption{display:none}
@media(max-width:760px){body.studio-final .dexter-title{font-size:clamp(43px,9.7vw,72px)}.dexter-rule{left:5%;right:45%;top:36%}}
@media(prefers-reduced-motion:reduce){body.studio-final .dexter-title{animation:none}}
/* Give the portrait its own space below the mobile navigation. */
@media(max-width:760px){.character-wrap{top:43px;height:445px;width:296px;left:64%}.white-halo{top:48px;width:165px;height:165px;left:64%}.hero-title-group{top:255px}}

/* One continuous high-resolution starscape, visible behind every section. */
.space-background{position:fixed;inset:0;z-index:0;pointer-events:none;background:#02040a url('space-panorama.webp') center center/cover no-repeat}
body:before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,#03071955,#02040b24 55%,#10071c50)}
.page-shell{z-index:2;box-shadow:0 25px 100px #0004}
/* Contain margins so the star layer covers the complete document. */
body{display:flow-root}
.cosmic-points{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none}
.cosmic-points-tile{position:absolute;left:0;width:100%;display:block;pointer-events:none;contain:strict;transform:translateZ(0)}
.hero{border-bottom:1px solid #ffffff14}
.image-credit{font-size:9px;line-height:1.6;color:#a09ab2;margin:23px 0 0}.image-credit a{text-decoration:underline;text-underline-offset:3px}.image-credit a:hover{color:#fff}
@media(max-width:760px){.space-background{background-image:url('space-panorama-mobile.webp');background-position:53% center}.image-credit{font-size:8px}}

/* The surrounding starfield stays still; only the isolated spiral turns. */
.space-background{background-size:auto 300%;background-position:center top}
.galaxy-position{position:absolute;left:50%;top:51%;width:min(84vw,1060px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;opacity:.6}
.round-galaxy{display:block;width:100%;height:100%;object-fit:contain;animation:galaxyTurn 300s linear infinite;filter:saturate(1.15);will-change:transform}
@keyframes galaxyTurn{to{transform:rotate(360deg)}}
.cosmic-points{z-index:1}
.category-section{padding-top:78px;padding-bottom:80px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#05070e18,#0c0b181c)}
.category-section .section-head>p{max-width:265px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.category{--glow:255,67,117;min-width:0}.category-restaurant{--glow:255,126,91}.category-driving{--glow:154,132,255}
.category-trigger{display:block;width:100%;padding:0;background:#101019c9;color:#fff;border:1px solid rgba(var(--glow),.78);border-radius:8px;overflow:hidden;text-align:left;box-shadow:0 0 5px rgba(var(--glow),.25),0 0 22px rgba(var(--glow),.17),inset 0 0 12px rgba(var(--glow),.06);transition:transform .3s,box-shadow .3s}
.category-trigger:hover,.category.is-open .category-trigger{box-shadow:0 0 8px rgba(var(--glow),.7),0 0 35px rgba(var(--glow),.25),inset 0 0 16px rgba(var(--glow),.08)}.category-trigger:hover{transform:translateY(-4px)}
.window-bar{height:27px;display:flex;align-items:center;gap:4px;padding:0 12px;background:#14121c;border-bottom:1px solid rgba(var(--glow),.2)}.window-bar>i{width:4px;height:4px;background:rgba(var(--glow),.65);border-radius:50%}.window-bar>span{font:6px 'DM Mono',monospace;letter-spacing:.13em;margin:auto;color:#b2a6b9}.window-bar>b{font-size:11px;font-weight:400;color:#c5bbd5}
.category-image{display:block;position:relative;height:162px;overflow:hidden;background:#12121b}.category-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#03020a00 15%,#080612b8)}.category-image img{height:100%;width:100%;object-fit:cover;opacity:.82;transition:transform .6s}.category-trigger:hover img{transform:scale(1.035)}.category-image-caption{position:absolute;left:18px;right:18px;bottom:18px;z-index:1;font-size:20px;font-weight:400;letter-spacing:-.045em;max-width:210px;line-height:1.1}.category-driving img{object-position:center 65%}
.category-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:20px 18px}.category-caption strong{font-size:25px;letter-spacing:-.05em;font-weight:400;display:block}.category-caption small{font-size:8px;color:#aaa1b6;display:block;margin-top:8px;letter-spacing:.03em}.category-caption>b{height:33px;width:33px;border:1px solid rgba(var(--glow),.45);border-radius:50%;display:grid;place-items:center;color:rgba(var(--glow),1);font-size:23px;font-weight:400;transition:transform .4s}.is-open .category-caption>b{transform:rotate(45deg)}
.wheel-panel{padding-top:25px;transform-origin:top center;animation:wheelPop .65s cubic-bezier(.16,1,.3,1) both}.wheel-panel[hidden]{display:none}.wheel-stage{position:relative;width:100%;aspect-ratio:1;height:auto;min-height:300px;max-height:360px;--orbit-radius:clamp(78px,7.4vw,112px);--node-width:clamp(106px,9.6vw,142px);isolation:isolate}
.wheel-stage:before{content:'';position:absolute;left:50%;top:50%;width:8px;height:35px;border-left:1px solid rgba(var(--glow),.6);transform:translate(-50%,calc(-50% - 53px));opacity:.7}
.wheel-guide{position:absolute;left:50%;top:50%;width:calc(var(--orbit-radius)*2);height:calc(var(--orbit-radius)*2);border:1px solid rgba(var(--glow),.32);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px rgba(var(--glow),.11),inset 0 0 20px rgba(var(--glow),.07)}.wheel-guide:before,.wheel-guide:after{content:'';position:absolute;inset:-16px;border:1px dashed rgba(var(--glow),.13);border-radius:50%}.wheel-guide:after{inset:15px;border-style:solid;opacity:.7}
.wheel-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(var(--glow),.4);border-radius:50%;background:#100d19c7;box-shadow:0 0 18px rgba(var(--glow),.14);gap:4px}.wheel-center>span{font-size:19px;color:#eee5f6;letter-spacing:-.05em}.wheel-center>small{font:5px 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;color:#b7acc6}
.concept-orbit{position:absolute;inset:0;animation:conceptOrbit 40s linear infinite;transform-origin:center}.orbit-node{position:absolute;left:50%;top:50%;width:var(--node-width);transform:translate(-50%,-50%) rotate(var(--node-angle)) translateX(var(--orbit-radius)) rotate(calc(var(--node-angle)*-1))}
.orbit-window{width:100%;display:block;position:relative;padding:0;border:1px solid rgba(var(--glow),.93);background:#14101e;color:#fff;text-align:left;border-radius:5px;box-shadow:0 0 5px rgba(var(--glow),.6),0 0 20px rgba(var(--glow),.28);animation:conceptCounterOrbit 40s linear infinite;transform-origin:center;transition:box-shadow .25s}
.orbit-window:hover{box-shadow:0 0 8px rgba(var(--glow),1),0 0 35px rgba(var(--glow),.5);z-index:3}.orbit-chrome{display:flex;height:13px;align-items:center;gap:3px;padding-left:6px;background:#1a1520;border-radius:5px 5px 0 0}.orbit-chrome i{width:2px;height:2px;border-radius:50%;background:rgba(var(--glow),.75)}.orbit-label{display:flex;align-items:center;justify-content:space-between;gap:2px;font-size:7px;line-height:1.2;padding:7px 6px;background:#130f1c;border-radius:0 0 5px 5px}.orbit-label>b{font-weight:400;color:rgb(var(--glow));font-size:10px}
.mini-site{display:block;position:relative;aspect-ratio:1.7;overflow:hidden;background:var(--mini-bg);color:var(--mini-fg)}.mini-nav{position:absolute;top:5px;left:6px;right:6px;font-size:3px;font-weight:700;z-index:2;letter-spacing:.06em}.mini-nav>i{float:right;font-style:normal}.mini-image{position:absolute;right:5%;top:23%;height:65%;width:46%;background-size:cover;background-position:center;border-radius:2px}.mini-site>strong{position:absolute;left:6%;top:32%;font:7px/1.05 Georgia,serif;letter-spacing:-.03em;width:52%;z-index:1}.mini-rule{position:absolute;bottom:19%;left:6%;height:3px;width:17%;background:var(--mini-accent)}
.mini-immersive{color:#fff}.mini-immersive .mini-image{inset:0;width:100%;height:100%;border-radius:0}.mini-immersive:after{content:'';position:absolute;inset:0;background:#0008}.mini-immersive>strong{top:39%;text-align:center;left:10%;width:80%;font-size:8px}.mini-immersive .mini-rule{left:41%;bottom:15%;z-index:1}.mini-split .mini-image{width:44%;right:0;top:0;height:100%;border-radius:0}.mini-split>strong{font-family:'Space Grotesk',sans-serif;font-size:6.5px;font-weight:500}.mini-split .mini-nav{right:48%}
.wheel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px;padding:0 5px}.wheel-toolbar>.mono{font-size:6px;color:#ad9cbf}.wheel-pause{font-size:6px;color:#d1c7df;background:#1a1223bb;border:1px solid rgba(var(--glow),.3);border-radius:20px;padding:7px 9px;white-space:nowrap}.wheel-pause:hover{background:#32243d}
.category-note{font-size:10px;line-height:1.8;color:#aaa0b8;margin:30px 0 0;max-width:640px}
.category.is-paused .concept-orbit,.category.is-paused .orbit-window,.category.dialog-paused .concept-orbit,.category.dialog-paused .orbit-window,.wheel-stage:hover .concept-orbit,.wheel-stage:hover .orbit-window,.wheel-stage:focus-within .concept-orbit,.wheel-stage:focus-within .orbit-window{animation-play-state:paused}
@keyframes wheelPop{from{opacity:0;transform:translateY(-20px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes conceptOrbit{to{transform:rotate(360deg)}}@keyframes conceptCounterOrbit{to{transform:rotate(-360deg)}}
.dialog-open{overflow:hidden}.concept-dialog{padding:0;width:min(1130px,94vw);height:min(850px,92vh);max-width:none;max-height:none;border:1px solid #ff6d9a80;border-radius:13px;box-shadow:0 0 18px #ff457536,0 0 90px #9636bb38,0 35px 100px #000c;color:#f4ecfa;background:#100d17;overflow:hidden}
.concept-dialog[open]{display:flex;flex-direction:column;animation:wheelPop .4s cubic-bezier(.16,1,.3,1)}.concept-dialog::backdrop{background:#03020aca;backdrop-filter:blur(10px)}
.concept-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 22px;border-bottom:1px solid #ffffff1f;background:#15101f;flex-shrink:0}.concept-dialog-bar .mono{font-size:7px;color:#a797bd}.concept-dialog-bar h2{font-size:19px;letter-spacing:-.04em;font-weight:400;margin:5px 0 0}.preview-size-controls{display:flex;gap:4px;margin-left:auto;border:1px solid #ffffff1f;padding:3px;border-radius:7px}.preview-size-controls button{background:none;border:0;color:#a094b5;padding:7px 12px;font-size:10px;border-radius:4px}.preview-size-controls button.active{background:#32223f;color:#fff}.dialog-close{border:1px solid #ffffff30;color:#fff;background:none;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:23px;font-weight:400;padding:0;line-height:1}.dialog-close:hover{background:#52253d}
.concept-demo-scroll{overflow:auto;min-height:0;flex:1;background:#09080d;scroll-behavior:smooth}.concept-demo{width:100%;min-height:100%;margin:0 auto;transition:max-width .35s;max-width:100%}.concept-demo-scroll.is-mobile .concept-demo{max-width:390px;box-shadow:0 0 0 1px #ffffff21;margin-top:15px;margin-bottom:15px;border-radius:9px;overflow:hidden}.concept-dialog-bottom{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-top:1px solid #ffffff17;font-size:8px;color:#a99cb9;flex-shrink:0}
.sample-site{background:var(--sample-bg);color:var(--sample-fg);container-type:inline-size;min-height:100%}.sample-nav{padding:23px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--sample-fg) 15%,transparent);gap:20px}.sample-nav strong{font-size:12px;letter-spacing:.08em}.sample-nav>span{font-size:9px;opacity:.65}.sample-hero{position:relative;min-height:480px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;padding:55px 5% 65px;overflow:hidden}.sample-photo{height:355px;width:100%;object-fit:cover;grid-column:2;grid-row:1;object-position:center;border-radius:2px}.sample-copy{grid-column:1;grid-row:1;position:relative;z-index:1}.sample-eyebrow{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--sample-accent)}.sample-copy h3{font:clamp(30px,4.2vw,57px)/1.02 Georgia,serif;letter-spacing:-.055em;font-weight:400;margin:24px 0 22px}.sample-copy>p{font-size:12px;line-height:1.8;max-width:280px;opacity:.75}.sample-cta{font-size:9px;padding:14px 18px;margin-top:16px;border:0;background:var(--sample-accent);color:var(--sample-bg);display:inline-flex;gap:20px;align-items:center}.sample-cta:hover{filter:brightness(1.1)}.sample-cta span{font-size:16px}.sample-index{position:absolute;bottom:25px;left:5%;font-size:6px;letter-spacing:.2em;opacity:.6}
.sample-details{padding:65px 8% 70px;border-top:1px solid color-mix(in srgb,var(--sample-fg) 15%,transparent);scroll-margin-top:20px}.sample-details h3{font:35px/1.15 Georgia,serif;letter-spacing:-.04em;font-weight:400;max-width:540px;margin:20px 0}.sample-details>p{font-size:12px;line-height:1.9;opacity:.8;max-width:590px}.sample-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.sample-features>div{border-top:1px solid color-mix(in srgb,var(--sample-fg) 25%,transparent);padding-top:20px;position:relative}.sample-features span{font-size:8px;opacity:.6}.sample-features h4{font-size:15px;font-weight:400;line-height:1.3;letter-spacing:-.03em;margin:15px 20px 0 0}.sample-features i{position:absolute;right:0;top:20px;font-style:normal}.sample-footer{padding:27px 5%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid color-mix(in srgb,var(--sample-fg) 15%,transparent);font-size:8px}.sample-footer strong{letter-spacing:.06em}.sample-footer span{opacity:.65}
.sample-immersive .sample-nav{background:var(--sample-bg)}.sample-immersive .sample-hero{display:flex;justify-content:center;align-items:center;text-align:center;min-height:530px;padding:60px 8%}.sample-immersive .sample-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0007,#000a)}.sample-immersive .sample-photo{position:absolute;inset:0;height:100%;width:100%;border-radius:0}.sample-immersive .sample-copy{z-index:1}.sample-immersive .sample-copy>p{margin-left:auto;margin-right:auto;max-width:390px}.sample-immersive .sample-copy h3{font-size:clamp(35px,5vw,66px)}.sample-immersive .sample-index{z-index:1}.sample-split .sample-hero{gap:0;padding:0;min-height:480px;grid-template-columns:1fr 1.05fr}.sample-split .sample-copy{padding:55px 10%}.sample-split .sample-photo{height:100%;min-height:480px;border-radius:0}.sample-split .sample-copy h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,4vw,54px);letter-spacing:-.06em}.sample-split .sample-index{left:5%;bottom:20px}
.asset-credits{margin-top:15px;color:#9f92b1;font-size:9px}.asset-credits summary{padding:0;display:inline;font-size:9px;text-decoration:underline;cursor:pointer}.asset-credits p{font-size:9px;line-height:1.8;max-width:900px;padding:0;margin:14px 0}.asset-credits a{text-decoration:underline}
@container(max-width:550px){.sample-nav{padding:20px 6%}.sample-nav strong{font-size:10px}.sample-nav>span{font-size:7px}.sample-hero{display:flex;flex-direction:column;padding:35px 6% 50px;min-height:0;align-items:stretch}.sample-copy{order:0}.sample-photo{order:1;height:240px;margin-top:30px}.sample-copy h3{font-size:39px}.sample-copy>p{font-size:12px}.sample-index{bottom:18px;left:6%}.sample-details{padding:40px 6%}.sample-details h3{font-size:29px}.sample-features{grid-template-columns:1fr;gap:25px}.sample-features h4{font-size:17px}.sample-footer{flex-direction:column;gap:12px;padding:25px 6%}.sample-immersive .sample-hero{min-height:500px}.sample-immersive .sample-photo{margin:0}.sample-immersive .sample-copy h3{font-size:41px}.sample-split .sample-hero{display:flex;padding:0;min-height:0}.sample-split .sample-copy{padding:40px 6% 20px}.sample-split .sample-photo{height:250px;min-height:250px;margin-top:20px}.sample-split .sample-copy h3{font-size:40px}.sample-split .sample-index{bottom:15px;color:white}}
@media(min-width:1550px){.wheel-stage{--orbit-radius:112px;--node-width:142px;min-height:350px}.category-image{height:180px}}
@media(max-width:1100px){.category-grid{gap:20px}.category-image-caption{font-size:18px}.category-caption{padding:17px 14px}.category-caption strong{font-size:23px}.category-caption small{font-size:7px}.wheel-stage{--orbit-radius:clamp(72px,7.5vw,90px);--node-width:clamp(96px,10vw,123px);min-height:280px}.orbit-label{font-size:6px}}
@media(max-width:760px){.links{gap:11px;font-size:6.5px}.nav{padding:0 5%}.galaxy-position{width:135vw;top:49%;opacity:.55}.space-background{background-size:auto 300%;background-position:center top}.category-section{padding-top:52px;padding-bottom:55px}.category-grid{grid-template-columns:1fr;gap:27px}.category-image{height:190px}.category-image-caption{font-size:25px;left:20px;bottom:24px;max-width:250px}.category-caption{padding:20px}.category-caption strong{font-size:28px}.category-caption small{font-size:9px}.window-bar{height:28px}.window-bar>span{font-size:7px}.wheel-panel{padding-top:16px}.wheel-stage{height:345px;min-height:345px;max-height:none;aspect-ratio:auto;--orbit-radius:104px;--node-width:134px;max-width:365px;margin:0 auto}.orbit-label{font-size:8px;padding:8px}.orbit-chrome{height:15px}.mini-nav{font-size:4px}.mini-site>strong{font-size:8px}.mini-immersive>strong{font-size:9px}.mini-split>strong{font-size:8px}.wheel-toolbar{max-width:340px;margin:5px auto 0;padding:0 7px}.wheel-toolbar>.mono,.wheel-pause{font-size:7px}.category-note{font-size:9px}.concept-dialog{height:94dvh;width:96vw;border-radius:9px}.concept-dialog-bar{padding:13px 12px;gap:9px}.concept-dialog-bar h2{font-size:15px}.concept-dialog-bar .mono{font-size:5.5px}.preview-size-controls button{font-size:8px;padding:6px}.dialog-close{height:28px;width:28px;font-size:21px;flex-shrink:0}.concept-dialog-bottom{font-size:6px;padding:10px 12px}.sample-copy h3{font-size:37px}.sample-immersive .sample-copy h3{font-size:40px}.asset-credits,.asset-credits p,.asset-credits summary{font-size:8px}}
@media(max-width:380px){.wheel-stage{--orbit-radius:87px;--node-width:113px;height:310px;min-height:310px}.links{gap:8px;font-size:6px}.logo{font-size:16px}.category-caption strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){.round-galaxy,.concept-orbit,.orbit-window,.wheel-panel{animation:none!important}.concept-orbit{transform:rotate(0)}.orbit-window{transform:rotate(0)}.concept-demo-scroll{scroll-behavior:auto}.concept-demo{transition:none}}
/* Hide the old horizontal galactic band while retaining its static starfield. */
.space-background{background:#02040a}
.space-background:before{content:'';position:absolute;inset:0;background:url('space-panorama.webp') center center/cover no-repeat;mask-image:linear-gradient(to bottom,#000 0%,#000 25%,transparent 43%,transparent 62%,#000 80%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 25%,transparent 43%,transparent 62%,#000 80%,#000 100%)}
.round-galaxy{mask-image:radial-gradient(circle at 50% 50%,#000 38%,#000e 49%,#0006 61%,transparent 71%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 38%,#000e 49%,#0006 61%,transparent 71%)}
@media(min-width:761px){.nav{gap:3%}.links{gap:20px;font-size:9px}}
@media(max-width:760px){.space-background:before{background-image:url('space-panorama-mobile.webp')}}
/* Keep rotating layers inside the viewport on small screens. */
.space-background{overflow:hidden}
.wheel-stage{overflow:clip;overflow-clip-margin:14px}
@media(max-width:760px){.hero{overflow:hidden}.wheel-stage{--orbit-radius:85px;--node-width:126px;height:310px;min-height:310px}.category-caption small{font-size:9px}}
@media(max-width:380px){.wheel-stage{--orbit-radius:77px;--node-width:113px;height:292px;min-height:292px}}
/* The reference's real 4K solar footage replaces the flat white halo. */
.white-halo.sun-stage{background:transparent;box-shadow:none;overflow:visible;isolation:isolate}
.sun-video{position:absolute;left:-10%;top:-10%;width:120%;height:120%;object-fit:cover;border-radius:50%;mix-blend-mode:screen;z-index:1;mask-image:radial-gradient(circle,#000 0%,#000 55%,#000d 61%,transparent 71%);-webkit-mask-image:radial-gradient(circle,#000 0%,#000 55%,#000d 61%,transparent 71%);filter:saturate(1.08) brightness(1.12)}
.solar-aura{position:absolute;inset:-42%;border-radius:50%;background:radial-gradient(circle,#ffca4540 0%,#ff97272b 32%,#ff3c1518 48%,transparent 68%);filter:blur(12px);animation:solarBreath 7s ease-in-out infinite alternate;z-index:0}
@keyframes solarBreath{from{opacity:.65;transform:scale(.94)}to{opacity:1;transform:scale(1.07)}}
@media(prefers-reduced-motion:reduce){.solar-aura{animation:none}}
.page-shell{scroll-margin-top:140px}
