/* Graphite, blue and a kinetic geometric centerpiece. */
:root{color-scheme:dark;--paper:#0b0d12;--ink:#edf0f7;--muted:#969eaf;--line:#292f3b;--red:#91aaff;--blue:#e9edf4;--display:'Space Grotesk',Arial,sans-serif;--sans:'IBM Plex Sans',Arial,sans-serif}
html{scroll-padding-top:40px}body{background:var(--paper)}::selection{background:#5678ff;color:white}.sk-portfolio .skip-link{color:#0b0d12}
.sk-portfolio .wrap{width:min(1480px,100%);padding-inline:clamp(24px,5.6vw,84px)}
.sk-portfolio .site-header{height:95px;border-bottom:1px solid var(--line);gap:24px}
.sk-portfolio .wordmark{font-size:39px;letter-spacing:-.09em}
.sk-portfolio .header-note{font-size:11px;letter-spacing:.08em;line-height:1.6}.sk-portfolio .header-note>span{display:block;color:var(--muted);font-size:12px;letter-spacing:0}
.sk-portfolio .nav a{color:#c9ced9}.sk-portfolio .header-contact{margin-left:24px;padding:10px 17px;border:1px solid #4a515f;border-radius:6px;gap:20px;transition:background .2s,color .2s}.sk-portfolio .header-contact:hover{background:var(--ink);color:var(--paper)}
.sk-portfolio .reading-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:50;pointer-events:none}.sk-portfolio .reading-progress>span{display:block;height:100%;background:#91aaff;transform:scaleX(0);transform-origin:left}
.sk-portfolio .hero{padding-top:29px}.sk-portfolio .hero-eyebrow{border:0;padding:0;font-size:11px;letter-spacing:.1em;color:#bdc9eb}.sk-portfolio .hero-eyebrow>span:last-child{color:var(--muted)}
.sk-portfolio .hero-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;align-items:center;margin:0;padding:42px 0 53px}
.sk-portfolio .hero-copy{position:relative;z-index:2}.sk-portfolio h1{font:500 clamp(74px,7.8vw,118px)/.97 var(--display);letter-spacing:-.075em;font-variation-settings:normal}.sk-portfolio h1>span{display:block;color:var(--ink)}.sk-portfolio h1 .hero-word{color:#91aaff}.sk-portfolio .hero-period{color:#5678ff}
.sk-portfolio .hero-description{font-size:17px;line-height:1.7;max-width:440px;color:var(--muted);margin-top:29px}.sk-portfolio .hero-actions{display:flex;align-items:center;gap:28px;margin-top:28px}
.sk-portfolio .primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-radius:6px;background:var(--ink);color:#0b0d12;padding:14px 17px 14px 21px;font-size:14px;font-weight:500;transition:transform .25s,background .25s}.sk-portfolio .primary-link>span{font-size:22px;line-height:1}.sk-portfolio .primary-link:hover{background:#91aaff;transform:translateY(-3px)}.sk-portfolio .quiet-link{font-size:14px;color:var(--ink);padding:9px 0;border-bottom:1px solid #646c7c;display:flex;gap:17px}.sk-portfolio .quiet-link:hover{color:#91aaff}
.sk-portfolio .hero-art{position:relative;aspect-ratio:1/1.06;min-width:0;align-self:center;isolation:isolate;background:radial-gradient(ellipse at 52% 48%,#2743a421 0%,#0b0d1200 62%)}
.sk-portfolio .hero-canvas{position:absolute;inset:0 0 30px;overflow:hidden}.sk-portfolio .hero-canvas canvas{width:100%;height:100%;display:block;position:absolute;inset:0;opacity:0;transition:opacity .6s}.sk-portfolio .hero-canvas.is-ready canvas{opacity:1}.sk-portfolio .scene-fallback{position:absolute;inset:0;width:100%;height:100%;opacity:.8;transition:opacity .4s}.sk-portfolio .hero-canvas.is-ready .scene-fallback{opacity:0;visibility:hidden}
.sk-portfolio .art-cross{position:absolute;color:#526079;font:300 22px/1 var(--sans);z-index:1}.sk-portfolio .art-cross-one{top:14px;left:10px}.sk-portfolio .art-cross-two{bottom:65px;right:5px}
.sk-portfolio .scene-footer{position:absolute;bottom:0;left:15px;right:5px;display:flex;align-items:center;justify-content:space-between;gap:15px}.sk-portfolio .scene-caption{font-size:10px;letter-spacing:.13em;color:#7b88a3}.sk-portfolio .motion-toggle{display:flex;align-items:center;gap:8px;background:none;border:1px solid #30394a;padding:6px 10px;border-radius:4px;font-size:11px;color:#a7b3ca}.sk-portfolio .motion-toggle[hidden]{display:none}.sk-portfolio .motion-toggle:hover{border-color:#91aaff;color:var(--ink)}.sk-portfolio .motion-icon{font-size:13px;min-width:12px}
.sk-portfolio .hero-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:25px 0 31px;gap:25px}.sk-portfolio .hero-bottom>p{font-size:10px;letter-spacing:.07em;color:var(--muted);line-height:1.7}.sk-portfolio .hero-bottom>p>strong{font-weight:400;color:#dce1ec;font-size:12px;letter-spacing:0}
.sk-portfolio .hero-facts{display:flex;gap:39px;padding:0}.sk-portfolio .hero-facts>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--muted);font-size:11px}.sk-portfolio .hero-facts strong{font:500 28px/1.2 var(--display);letter-spacing:-.05em;color:var(--ink)}
.sk-portfolio .scroll-link{display:flex;align-items:center;gap:20px;font-size:9px;letter-spacing:.13em;color:var(--muted)}.sk-portfolio .scroll-link>span{font-size:26px;color:#91aaff;animation:scroll-nudge 2.4s ease-in-out infinite}@keyframes scroll-nudge{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
/* A spacious project index; branding stays central. */
.sk-portfolio .section-label{font-size:11px;letter-spacing:.08em;color:var(--muted)}.sk-portfolio .section-label>span:first-child{color:#c0c9da;font-weight:400}.sk-portfolio .section-label>span:last-child{font-size:11px}
.sk-portfolio .work{padding-top:62px;padding-bottom:90px}.sk-portfolio .work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:40px 0 44px}
.sk-portfolio :is(.work-heading,.expertise-intro,.about-heading,.lab-heading) h2{font:500 clamp(42px,4.6vw,68px)/1.06 var(--display);letter-spacing:-.06em}.sk-portfolio :is(.work-heading,.expertise-intro,.about-heading,.lab-heading) h2 span{color:var(--muted)}.sk-portfolio .work-heading>p{color:var(--muted);font-size:16px;line-height:1.7;padding-bottom:3px}
.sk-portfolio .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:47px 30px;padding-top:0}.sk-portfolio .work-project{grid-column:auto}.sk-portfolio .project-cosboa{grid-column:1/-1}.sk-portfolio .project-fire,.sk-portfolio .project-clipcast{margin-top:0}
.sk-portfolio .project-top{font-size:11px;letter-spacing:.05em}.sk-portfolio .project-image{border-radius:9px}.sk-portfolio .project-title h2{font:500 clamp(24px,2.15vw,33px)/1.2 var(--display);letter-spacing:-.04em}.sk-portfolio .project-title>span{display:grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;color:#91aaff;font-size:20px;flex-shrink:0;transition:background .2s,transform .2s}.sk-portfolio .work-project:hover .project-title>span{background:#232d45;transform:rotate(5deg)}
.sk-portfolio .project-category{font-size:13px}.sk-portfolio .project-notes>summary{color:#aeb8cc}.sk-portfolio .tags>span{color:#a7b7d6;border:1px solid #30394b;border-radius:4px;padding:4px 8px;font-size:11px}.sk-portfolio .tags{gap:8px}.sk-portfolio .project-sites{font-size:12px;color:#bcc7dd;gap:22px}
.sk-portfolio .brand-card{transform:perspective(1000px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .35s ease,box-shadow .35s ease;color:var(--brand-ink,#172332);border-radius:9px}
.sk-portfolio .brand-card:after{content:'';position:absolute;inset:0;border:1px solid #ffffff18;border-radius:inherit;pointer-events:none}.sk-portfolio .brand-card .brand-logo{transition:transform .35s}.sk-portfolio a.brand-card:hover .brand-logo,.sk-portfolio .lab-card:hover .brand-logo{transform:translateY(-6px)}.sk-portfolio .brand-keel{--brand-surface:#16383f}.sk-portfolio .image-link-label{background:#fff;color:#18202e;border-radius:5px;font-size:12px;padding:9px 13px}
/* Alternating surfaces keep a long portfolio easy to scan. */
.sk-portfolio .expertise{background:#e9edf4;color:#1e2533;--ink:#1e2533;--line:#bdc5d2;--muted:#606c80;--red:#2c51af;--blue:#e9edf4;padding-block:55px 48px}.sk-portfolio .expertise .section-label>span:first-child{color:#39445a}.sk-portfolio .expertise-intro{margin:40px 0 48px;gap:50px}.sk-portfolio .expertise-intro h2{font-size:clamp(39px,4.4vw,63px)}.sk-portfolio .expertise-intro>p{max-width:300px}.sk-portfolio .service h3{font-size:26px}.sk-portfolio .system-visual{border-radius:8px}
.sk-portfolio .about{padding-block:91px}.sk-portfolio .about-layout{grid-template-columns:1.15fr 1fr;padding-top:45px}.sk-portfolio .about-place{font-size:12px}.sk-portfolio .about-time{font-size:10px;letter-spacing:.09em}.sk-portfolio .about-copy>p.about-lead{font-size:27px}
.sk-portfolio .lab{padding-bottom:96px}.sk-portfolio .lab-grid{gap:25px}.sk-portfolio .lab-card:nth-child(2),.sk-portfolio .lab-card:nth-child(3){margin-top:0}.sk-portfolio .lab-image{border-radius:8px}.sk-portfolio .lab-name h3{font-size:26px}.sk-portfolio .lab-card>p{font-size:14px}.sk-portfolio .lab-tech{font-size:11px;color:#8491a8}
.sk-portfolio .contact{background:#395ded;color:white;--paper:#fff;--ink:#fff;--line:#ffffff40;padding-block:40px}.sk-portfolio .contact .section-label{color:#d6dfff}.sk-portfolio .contact .section-label>span:first-child{color:white}.sk-portfolio .contact .section-label>span:last-child{color:#d6dfff}.sk-portfolio .contact h2{position:relative;font:500 clamp(63px,7.5vw,112px)/1.01 var(--display);letter-spacing:-.07em;margin:42px 0 46px}.sk-portfolio .contact h2>span:not(.contact-arrow){color:#c9d3ff}.sk-portfolio .contact-arrow{position:absolute;right:0;top:8px;font-size:clamp(70px,10vw,145px);font-weight:400;line-height:1}.sk-portfolio .contact-bottom p{color:#dce3ff}.sk-portfolio .contact-bottom>a{font-size:clamp(19px,2.2vw,31px)}.sk-portfolio .contact-brief :is(input,textarea){background:#284bcc;border-color:#ffffff70;border-radius:5px;color:white}.sk-portfolio .contact-brief :is(input,textarea)::placeholder{color:#bfcdff}.sk-portfolio .contact-brief .button{background:#10172b;color:white;border:0;border-radius:5px}.sk-portfolio .contact-brief :is(label,.form-footer p,.form-status){color:#edf1ff}
.sk-portfolio .contact-brief{border-top-color:#ffffff40}.sk-portfolio .contact-brief>summary{color:white}.sk-portfolio .hero-layout{animation:none}
/* The restored logo has real alpha; preserve its original red, blue and white. */
.sk-portfolio .brand-fire .brand-logo{mix-blend-mode:normal}
/* Content remains visible without JavaScript. */
.sk-portfolio.motion-ready [data-reveal]{transition:opacity .7s ease,translate .7s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.sk-portfolio.motion-ready [data-reveal]:not(.is-visible){opacity:0;translate:0 26px}.sk-portfolio[data-motion=paused] [data-reveal]{opacity:1;translate:none;transition:none}.sk-portfolio[data-motion=paused] .scroll-link>span{animation:none}.sk-portfolio[data-motion=paused] .brand-card{transform:none;transition:none}.sk-portfolio[data-motion=paused] .brand-logo{transition:none;transform:none!important}
@media(max-width:1100px){.sk-portfolio .header-note{display:none}.sk-portfolio .hero-layout{gap:5px;padding-top:38px}.sk-portfolio h1{font-size:8.7vw}.sk-portfolio .hero-description{font-size:16px;max-width:385px}.sk-portfolio .hero-actions{gap:20px}.sk-portfolio .hero-art{aspect-ratio:.86}.sk-portfolio .scene-caption{font-size:8px}.sk-portfolio .hero-bottom>p{display:none}.sk-portfolio .hero-facts{gap:45px}.sk-portfolio .expertise-intro{gap:35px}.sk-portfolio .service h3{font-size:23px}.sk-portfolio .about-layout{gap:50px}.sk-portfolio .lab-card .brand-lockup{gap:12px}.sk-portfolio .lab-card .brand-keel-symbol{width:48px;height:39px}.sk-portfolio .lab-card .brand-keel-name{font-size:30px}.sk-portfolio .contact-arrow{font-size:100px}}
@media(max-width:800px){.sk-portfolio .wrap{padding-inline:30px}.sk-portfolio .site-header{height:82px}.sk-portfolio .header-contact{margin-left:12px}.sk-portfolio .hero-eyebrow{font-size:9px}.sk-portfolio .hero-eyebrow>span:last-child{max-width:220px;text-align:right}.sk-portfolio .hero-layout{grid-template-columns:1.12fr 1fr;padding-bottom:40px}.sk-portfolio h1{font-size:9vw}.sk-portfolio .hero-description{font-size:15px;margin-top:23px}.sk-portfolio .hero-actions{flex-wrap:wrap;gap:14px 20px;margin-top:23px}.sk-portfolio .primary-link{font-size:13px;padding:12px 15px;gap:20px}.sk-portfolio .quiet-link{font-size:13px}.sk-portfolio .hero-art{aspect-ratio:.7}.sk-portfolio .scene-footer{left:0;right:0;justify-content:center}.sk-portfolio .scene-caption{display:none}.sk-portfolio .hero-facts{flex-wrap:nowrap;padding:0}.sk-portfolio .section-label{font-size:10px;gap:25px}.sk-portfolio .section-label>span:last-child{font-size:10px;text-align:right}.sk-portfolio .work{padding-top:40px;padding-bottom:55px}.sk-portfolio .work-heading{margin:30px 0 35px;gap:25px}.sk-portfolio .work-heading h2{font-size:48px}.sk-portfolio .work-heading>p{font-size:14px;max-width:260px}.sk-portfolio .work-grid{gap:32px 23px}.sk-portfolio .project-title h2{font-size:25px}.sk-portfolio .project-title>span{width:29px;height:29px;font-size:18px}.sk-portfolio .expertise{padding-block:35px}.sk-portfolio .expertise-intro{display:block;margin:30px 0}.sk-portfolio .expertise-intro>p{max-width:520px;margin-top:25px}.sk-portfolio .about{padding-block:57px}.sk-portfolio .about-layout{gap:35px;padding-top:35px}.sk-portfolio .about h2{font-size:43px}.sk-portfolio .about-copy>p.about-lead{font-size:24px}.sk-portfolio .lab{padding-bottom:60px}.sk-portfolio .lab-heading{margin:30px 0}.sk-portfolio .lab-heading h2{font-size:48px}.sk-portfolio .lab-heading>p{font-size:15px;max-width:270px}.sk-portfolio .lab-grid{gap:18px}.sk-portfolio .lab-card .brand-card{padding:15px}.sk-portfolio .lab-card .brand-lockup{gap:8px}.sk-portfolio .lab-card .brand-keel-symbol{width:32px;height:26px}.sk-portfolio .lab-card .brand-keel-name{font-size:23px}.sk-portfolio .lab-name h3{font-size:23px}.sk-portfolio .lab-card>p{font-size:13px}.sk-portfolio .contact h2{font-size:8.5vw}.sk-portfolio .contact-arrow{font-size:85px}.sk-portfolio .contact-bottom>a{font-size:26px}}
@media(max-width:600px){html{scroll-padding-top:30px}.sk-portfolio .wrap{padding-inline:22px}.sk-portfolio .site-header{height:80px;gap:15px}.sk-portfolio .wordmark{font-size:37px}.sk-portfolio .header-contact{margin-left:auto;font-size:13px;padding:8px 12px;gap:16px}.sk-portfolio .nav{top:79px;background:#11151df7;backdrop-filter:blur(12px)}.sk-portfolio .hero{padding-top:23px}.sk-portfolio .hero-eyebrow{font-size:9px;letter-spacing:.07em}.sk-portfolio .hero-layout{display:flex;flex-direction:column;gap:0;padding-top:33px;padding-bottom:28px}.sk-portfolio .hero-copy{width:100%}.sk-portfolio h1{font-size:clamp(64px,17.5vw,103px);line-height:.97;letter-spacing:-.07em}.sk-portfolio .hero-description{font-size:16px;line-height:1.7;max-width:380px;margin-top:25px}.sk-portfolio .hero-actions{gap:20px;margin-top:24px}.sk-portfolio .primary-link{padding:13px 17px;font-size:14px}.sk-portfolio .quiet-link{font-size:13px}.sk-portfolio .hero-art{width:100%;max-width:420px;aspect-ratio:1.25;margin-top:20px}.sk-portfolio .hero-canvas{inset:-15px 0 27px}.sk-portfolio .scene-footer{justify-content:space-between}.sk-portfolio .scene-caption{display:block;font-size:8px}.sk-portfolio .art-cross-one{left:0;top:15px}.sk-portfolio .art-cross-two{right:0;bottom:52px}.sk-portfolio .hero-bottom{padding:22px 0;gap:20px}.sk-portfolio .hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%;padding:0}.sk-portfolio .hero-facts strong{font-size:27px}.sk-portfolio .hero-facts>span{font-size:11px}.sk-portfolio .scroll-link{display:none}.sk-portfolio .section-label{font-size:9px;letter-spacing:.06em;gap:20px;align-items:flex-start;padding-top:17px}.sk-portfolio .section-label>span:last-child{max-width:140px;font-size:8px;line-height:1.6}.sk-portfolio .work{padding-top:35px;padding-bottom:42px}.sk-portfolio .work-heading{display:block;margin:28px 0 30px}.sk-portfolio .work-heading h2{font-size:49px}.sk-portfolio .work-heading>p{font-size:16px;max-width:none;margin-top:18px}.sk-portfolio .work-heading>p br{display:none}.sk-portfolio .work-grid{display:block}.sk-portfolio .work-project{margin-bottom:28px}.sk-portfolio .work-project:last-child{margin-bottom:0}.sk-portfolio .project-title h2{font-size:28px}.sk-portfolio .project-category{font-size:13px}.sk-portfolio .project-top{font-size:10px}.sk-portfolio .project-notes{margin-top:15px}.sk-portfolio .project-notes>summary{font-size:13px}.sk-portfolio .expertise{padding-block:30px}.sk-portfolio .expertise-intro h2{font-size:42px;line-height:1.09}.sk-portfolio .expertise-intro>p{font-size:16px}.sk-portfolio .service h3{font-size:25px}.sk-portfolio .about{padding-block:44px}.sk-portfolio .about-layout{display:block;padding-top:29px}.sk-portfolio .about h2{font-size:46px}.sk-portfolio .about-time{font-size:10px;margin-top:24px}.sk-portfolio .about-copy{margin-top:31px}.sk-portfolio .about-copy>p.about-lead{font-size:26px}.sk-portfolio .lab{padding-bottom:45px}.sk-portfolio .lab-heading{display:block;margin:29px 0}.sk-portfolio .lab-heading h2{font-size:49px}.sk-portfolio .lab-heading>p{max-width:none;font-size:16px;margin-top:21px}.sk-portfolio .lab-grid{gap:31px}.sk-portfolio .lab-name h3{font-size:28px}.sk-portfolio .lab-card>p{font-size:16px;max-width:none}.sk-portfolio .lab-tech{font-size:12px}.sk-portfolio .lab-card .brand-card{padding:25px}.sk-portfolio .lab-card .brand-keel-symbol{width:65px;height:53px;max-height:none}.sk-portfolio .lab-card .brand-keel-name{font-size:40px}.sk-portfolio .lab-card .brand-lockup{gap:18px}.sk-portfolio .contact{padding-block:29px}.sk-portfolio .contact h2{font-size:clamp(43px,10.5vw,65px);line-height:1.08;margin:30px 0}.sk-portfolio .contact-arrow{display:none}.sk-portfolio .contact-bottom>a{font-size:clamp(15px,4.1vw,24px);gap:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.sk-portfolio.motion-ready [data-reveal]{opacity:1;translate:none}.sk-portfolio .brand-card{transform:none!important}.sk-portfolio .brand-logo{transform:none!important}}
@media print{.sk-portfolio .hero-art,.sk-portfolio .reading-progress{display:none}.sk-portfolio .hero-layout{display:block}.sk-portfolio h1{font-size:70px}.sk-portfolio [data-reveal]{opacity:1!important;translate:none!important}}
