/* Black-gallery visual system, shared by the homepage and case studies. */
body.home-tech,body.project-page{--bg:#070709;--surface:#111014;--surface2:#19161f;--text:#f6f3f8;--muted:#aaa5b4;--accent:#ccadff;--line:#dad0ed24;background:var(--bg)}
.home-tech .site-header,.project-page .site-header{background:#08080adb;backdrop-filter:blur(24px);border-bottom:1px solid #ffffff12}
.home-tech .brand-mark,.project-page .brand-mark{border-radius:10px;border-color:#c9b4ee46;background:linear-gradient(145deg,#ac8ce41a,#ffffff00);box-shadow:inset 0 1px 0 #f4e8ff12}
.home-tech .brand small{color:#93899e}
.home-tech nav a,.project-page nav a{color:#bbb3c7}
.home-tech nav a:hover,.project-page nav a:hover{color:#fff}
.home-tech .header-contact{background:#f4edff;color:#211828;border-color:#f4edff;padding:9px 17px}
.home-tech .header-contact span{color:#76548f}
.home-tech .header-contact:hover{background:#dac5f5;border-color:#dac5f5}
.home-tech .section-space{padding-block:120px}
.home-tech h2{letter-spacing:-.055em;font-weight:500;font-size:clamp(30px,3.05vw,43px)}
.home-tech .gradient-text{background:linear-gradient(105deg,#f0ebf7,#c0abc9 65%,#a7a0be);background-clip:text;-webkit-background-clip:text;color:transparent}
.home-tech .eyebrow{color:#a295ad;font-size:10px;letter-spacing:.19em}
.home-tech .eyebrow>span{color:#d3b2ff}
.home-tech .space-hero{height:min(820px,calc(100svh - 84px));min-height:690px;max-height:none;background:#050507;isolation:isolate}
.home-tech .space-art{inset:0 auto 0 10%;width:115%;height:100%;object-fit:cover;object-position:center;opacity:.78;z-index:-3;transform:scale(1.02) translate(var(--parallax-x,0px),var(--parallax-y,0px));transition:transform 1.2s cubic-bezier(.2,.5,.3,1);mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 100%)}
.home-tech .hero-shade{z-index:-2;background:linear-gradient(90deg,#050507f5 0%,#050507c7 26%,#05050726 70%),linear-gradient(0deg,#070709 0%,#07070922 25%,transparent 67%,#07070933)}
.home-tech .hero-grain{z-index:-1;background:radial-gradient(ellipse at 69% 43%,#a958e619,transparent 46%)}
.particle-field{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.9}
.home-tech .space-copy{padding-top:clamp(60px,8vh,98px);text-align:left;z-index:2;pointer-events:none}
.home-tech .space-copy a{pointer-events:auto}
.home-tech .hero-kicker{font-size:9px;letter-spacing:.2em;padding:0;border:0;border-radius:0;background:none;backdrop-filter:none;color:#b9adca;gap:12px}
.home-tech .hero-kicker>span{height:5px;width:5px;background:#d3b4ff;box-shadow:0 0 15px #b873ff}
.home-tech .space-copy h1{font-family:Arial,Helvetica,system-ui,sans-serif;font-size:clamp(66px,7.6vw,116px);font-weight:750;line-height:1.02;letter-spacing:-.055em;margin-top:28px;text-shadow:none;max-width:970px}
.home-tech .space-copy h1>.hero-title-line{display:block;background:none;color:#f3eff6;-webkit-text-fill-color:currentColor;white-space:nowrap}
.home-tech .space-copy h1>.title-outline{color:#dfc8f8;text-shadow:0 0 42px #a655df25;margin-top:5px}
.hero-year{display:inline-block;vertical-align:middle;letter-spacing:.01em;font-weight:500;font-size:18px;border:1px solid #ba94e15c;border-radius:35px;padding:8px 18px;line-height:1;margin-left:28px;transform:translateY(-9px);color:#d3bedf;background:#23162952}
.title-dot{color:#cd93ff}
.home-tech .space-copy>.hero-statement{font-size:21px;line-height:1.65;color:#e2d7e9;margin-top:28px;letter-spacing:.035em;text-shadow:none}
.home-tech .space-copy>.hero-description{font-size:12px;line-height:1.95;color:#a99bb5;margin-top:17px;max-width:420px;text-shadow:none}
.home-tech .hero-actions{justify-content:flex-start;margin-top:29px;gap:15px}
.home-tech .button{border-radius:30px;font-size:11px;min-height:45px;gap:27px}
.home-tech .button.primary{background:#e7d7f6;color:#281832;border:1px solid #e7d7f6;box-shadow:0 0 25px #9e53d416}
.home-tech .button.primary:hover{background:#f4e7ff;border-color:#f4e7ff;box-shadow:0 0 30px #ac68da28}
.home-tech .button.ghost{background:#18111d33;border-color:#e0c2f42a;color:#cdbad7;backdrop-filter:blur(12px)}
.home-tech .hero-bottom{justify-content:space-between;align-items:center;bottom:35px;z-index:3}
.hero-interaction-note{display:flex;align-items:center;gap:9px;font-size:9px;color:#9c8aa9;letter-spacing:.04em}
.hero-interaction-note>span:first-child{color:#d3b1ed;font-size:15px}
.touch-hint{display:none}
.home-tech .scroll-cue{bottom:0;font-size:8px;color:#b2a1c1}
.motion-toggle{display:flex;align-items:center;gap:9px;border:1px solid #d3b5eb2c;background:#180e2280;backdrop-filter:blur(12px);border-radius:30px;padding:10px 15px;font-size:9px;color:#cdb5dc;line-height:1.4}
.motion-toggle:hover{border-color:#c99be667;background:#28163290}
.motion-indicator{width:5px;height:5px;border-radius:50%;background:#cfa0f6;box-shadow:0 0 10px #bd87ed}
.motion-toggle[aria-pressed=false] .motion-indicator{background:#85718f;box-shadow:none}
.motion-toggle-icon{font-size:9px;color:#b398c9;margin-left:5px;min-width:9px}
.motion-toggle:disabled{opacity:.7;cursor:default}
.home-tech .hero-edge{font-size:7px;opacity:.5;letter-spacing:.18em;top:50%}
.home-tech .discipline-strip{border-block:1px solid #eee1ff14;background:#0c0a0e;overflow:hidden}
.home-tech .discipline-strip>.wrap{padding-block:26px}
.home-tech .discipline-strip span{color:#c4bacd;font-size:17px;font-weight:400;letter-spacing:-.02em}
.home-tech .discipline-strip i{color:#b087d2;font-size:21px}
.home-tech .work{padding-bottom:24px}
.home-tech .section-heading{margin-bottom:45px;position:relative}
.home-tech .section-heading>p{font-size:12px;line-height:2;color:#9c90a6}
.home-tech .featured-project.cover-project{border-radius:22px;background:#100d15;border-color:#ccb5e029;box-shadow:0 0 0 1px #000,0 24px 55px #0003}
.home-tech .cover-project .featured-caption{background:#19131f;border:1px solid #d9c0f01f;border-radius:15px;margin:12px;padding:22px 26px;color:#f3eaf9}
.home-tech .featured-caption h3{color:#f0e7f8;font-weight:500;font-size:25px;letter-spacing:-.03em}
.home-tech .featured-caption h3>span{color:#c7b8d2;font-weight:400;font-size:13px}
.home-tech .featured-caption .mini-label{color:#937da8;font-size:8px}
.home-tech .featured-caption p:not(.mini-label){color:#a491b2;font-size:11px}
.home-tech .featured-caption .round-arrow{background:#d3b6ed;color:#30213c;width:47px;height:47px}
.home-tech .feature-chips span{color:#b4a0c3;border-color:#bca0d335}
.home-tech .project-index-head{margin-top:55px;margin-bottom:26px}
.home-tech .project-index-head>h3{font-size:16px;font-weight:400;color:#d3c7de}
.home-tech .filters button{font-size:10px;color:#a796b4;padding:8px 13px}
.home-tech .filters button[aria-pressed=true]{background:#e1c5f3;border-color:#e1c5f3;color:#322039}
.home-tech .project-list{gap:28px 24px}
.home-tech .portfolio-card{border-radius:22px;border-color:#bc9ddd26;min-height:440px;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.6,.3,1),border-color .3s}
.home-tech .portfolio-card:not(.is-upcoming):hover{border-color:#cbaaed6b;transform:perspective(1000px) translateY(-4px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.home-tech .portfolio-card .project-art{transition:filter .5s}
.home-tech .portfolio-card:not(.is-upcoming):hover .project-art{filter:brightness(1.055)}
.home-tech .card-caption{border-radius:15px;background:#151019ed;backdrop-filter:blur(16px);border:1px solid #cdb5e333;color:#f3eaf7;padding:21px 21px;min-height:115px;box-shadow:0 5px 20px #0002}
.home-tech .card-caption h4{font-size:16px;font-weight:500;color:#efe4f5}
.home-tech .card-caption .card-meta{color:#a18bac;font-size:8px;letter-spacing:.07em}
.home-tech .card-caption p:not(.card-meta){color:#b2a1be;font-size:11px;line-height:1.75}
.home-tech .card-arrow{background:#35283f;color:#ddc7f0;border:1px solid #d1b0ef20}
.home-tech .portfolio-card:hover .card-arrow{background:#d3b4ea;color:#302239}
.home-tech .upcoming-badge{background:#251c2d;border-color:#ae8fc237;color:#bda2cc;font-size:9px}
.home-tech .center-heading{margin-bottom:50px}
.home-tech .center-heading>p:last-child{font-size:12px;color:#9f91aa}
.home-tech .approach-section:before{left:0;right:0;background:radial-gradient(ellipse at 50% 45%,#7844840e,transparent 65%)}
.home-tech .approach-grid{gap:26px}
.home-tech .approach-card{border-radius:0;border:0;border-top:1px solid #c3a0d42b;background:none;padding:34px 8px 12px;overflow:visible}
.home-tech .approach-card:hover{transform:translateY(-3px);border-color:#c3a0d47d}
.home-tech .approach-icon{margin-bottom:28px;filter:drop-shadow(0 6px 18px #ac79d533)}
.home-tech .approach-card h3{font-size:21px;color:#dcd0e5}
.home-tech .approach-card p{font-size:12px;line-height:1.95;color:#a497ad;max-width:330px}
.home-tech .approach-note{font-size:9px;color:#8c7e96;border-color:#caa7dc17}
.home-tech .about-section{background:#0d0b10;border-color:#d5b3e914;overflow:hidden}
.home-tech .about-grid{gap:85px}
.home-tech .about-heading h2{font-size:34px;line-height:1.55}
.home-tech .about-art{border-radius:15px;border-color:#cba3e21a;margin-top:32px;height:310px}
.home-tech .about-copy .large-copy{font-size:22px;color:#ddd0e5}
.home-tech .about-copy>p:not(.large-copy){font-size:13px;color:#a99ab3}
.home-tech .skills>span{border-radius:30px;background:#a884c205;border-color:#b490cc26;color:#baa4c9}
.home-tech .experience-row{border-radius:0;border-color:#bd9bc11a;padding-block:33px}
.home-tech .experience-row h3{font-size:17px;color:#dccde5;font-weight:400}
.home-tech .experience-row p{font-size:12px;color:#a394ad}
.home-tech .experience-row time{color:#a18aaf}
.home-tech .contact-section{padding-top:128px;padding-bottom:105px;background:#0e0913;border-top:1px solid #d0a6e51a}
.home-tech .contact-section:after{content:"LET’S TALK";position:absolute;bottom:-.14em;right:-.025em;font-family:Arial,Helvetica,sans-serif;font-size:clamp(85px,18vw,290px);font-weight:800;letter-spacing:-.065em;line-height:1;color:transparent;-webkit-text-stroke:1px #cda6de0d;pointer-events:none;z-index:-1;white-space:nowrap}
.home-tech .contact-horizon{width:120%;left:-10%;height:650px;top:48%;border-color:#aa61e325;background:radial-gradient(ellipse at 50% 0%,#9851cc18,transparent 58%);box-shadow:0 -1px 50px #a753dd0a}
.home-tech .contact-grid h2{font-size:36px;line-height:1.6}
.home-tech .contact-email{border-color:#b590cb37;color:#e2cbee}
.home-tech .contact-links>.text-link{color:#b6a0c3}
.home-tech .site-footer{color:#85718e;background:#070709;padding-block:30px}
.home-tech .site-footer>a{color:#b99ac8}
.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
.home-tech.motion-paused .space-art{transform:none!important}
.home-tech.motion-paused .portfolio-card:hover{transform:none}
.home-tech.motion-paused .approach-card:hover{transform:none}
/* Case pages share the palette while retaining the original interface images. */
.project-page .case-cover,.project-page .flow-art,.project-page .gallery-pane,.project-page .overview-banner{border-radius:15px;border-color:#bf9bd230}
.project-page .gallery-pane{background:#120e17}
.project-page .overview-banner{background:radial-gradient(ellipse at 85% 20%,#36213e,#15101c 70%)}
.project-page .chapter-list button[aria-pressed=true]{background:#38223e;border-color:#805493;color:#edd5ff}
.project-page .chapter-list button:hover{background:#24182d}
.project-page .button.primary{background:#dcbfec;border-color:#dcbfec;color:#28142f}
.project-page .project-hero h1{letter-spacing:-.045em}
@media(max-width:1100px){
 .home-tech .section-space{padding-block:100px}.home-tech .space-hero{height:740px;min-height:680px}.home-tech .space-copy{padding-top:80px}.home-tech .space-copy h1{font-size:85px}.home-tech .space-copy>.hero-statement{font-size:20px}.hero-year{font-size:15px;padding:7px 15px;margin-left:22px}
 .home-tech .portfolio-card{min-height:410px}.home-tech .card-caption{padding:19px 18px}.home-tech .card-caption h4{font-size:14px}.home-tech .card-caption p:not(.card-meta){font-size:10px}
 .home-tech .about-grid{gap:55px}.home-tech .about-heading h2{font-size:30px}.home-tech .about-copy .large-copy{font-size:20px}.home-tech .about-copy>p:not(.large-copy){font-size:12px}
}
@media(max-width:850px){
 .home-tech .section-space{padding-block:80px}.home-tech .space-hero{height:735px;min-height:0}.home-tech .space-copy{padding-top:80px}.home-tech .space-copy h1{font-size:72px}.home-tech .space-art{left:2%;width:135%;opacity:.71}.home-tech .hero-shade{background:linear-gradient(90deg,#050507ef,#05050750 80%),linear-gradient(0deg,#070709,transparent 35%)}
 .home-tech .hero-bottom{justify-content:space-between;bottom:30px}.home-tech .scroll-cue{position:absolute;left:50%;transform:translateX(-50%);margin:0;bottom:0}.home-tech .hero-interaction-note{font-size:8px}.motion-toggle{font-size:8px;padding:9px 12px}
 .home-tech .discipline-strip span{font-size:12px}.home-tech .discipline-strip i{font-size:18px}.home-tech .discipline-strip>.wrap{padding-block:22px}
 .home-tech .featured-caption h3{font-size:23px}.home-tech .cover-project .featured-caption{padding:21px}.home-tech .featured-caption h3>span{font-size:12px}.home-tech .featured-caption p:not(.mini-label){font-size:10px}
 .home-tech .project-list{gap:22px 18px}.home-tech .portfolio-card{min-height:390px}.home-tech .card-caption{padding:16px 14px;min-height:110px}.home-tech .card-caption h4{font-size:13px}.home-tech .card-caption p:not(.card-meta){font-size:10px}.home-tech .card-caption .card-meta{font-size:7px}
 .home-tech .filters button{font-size:9px;padding:7px 11px}
 .home-tech .approach-grid{gap:18px}.home-tech .approach-card h3{font-size:18px}.home-tech .approach-card p{font-size:11px}.home-tech .approach-card{padding:28px 3px 10px}.home-tech .approach-note{font-size:8px}
 .home-tech .about-grid{gap:35px}.home-tech .about-heading h2{font-size:26px}.home-tech .about-copy .large-copy{font-size:18px}.home-tech .about-art{height:270px}.home-tech .about-copy>p:not(.large-copy){font-size:11px}
 .home-tech .experience-row h3{font-size:15px}.home-tech .experience-row p{font-size:11px}.home-tech .contact-section{padding-top:90px;padding-bottom:85px}.home-tech .contact-grid h2{font-size:32px}
}
@media(max-width:600px){
 .home-tech .section-space{padding-block:68px}.home-tech .header-contact{padding:7px 10px;font-size:9px}.home-tech .space-hero{height:760px;min-height:0;max-height:none}.home-tech .space-copy{padding-top:67px;text-align:left}.home-tech .hero-kicker{font-size:7px;letter-spacing:.15em;gap:8px}.home-tech .space-copy h1{font-size:clamp(39px,10.3vw,60px);line-height:1.1;letter-spacing:-.05em;margin-top:24px}.hero-year{font-size:10px;padding:5px 10px;margin-left:14px;transform:translateY(-4px)}
 .home-tech .space-copy>.hero-statement{font-size:17px;margin:23px 0 0;max-width:none;letter-spacing:.015em;line-height:1.7}.home-tech .space-copy>.hero-description{font-size:11px;margin:13px 0 0;line-height:1.95;max-width:285px}.home-tech .space-copy>.hero-description br{display:block}
 .home-tech .hero-actions{justify-content:flex-start;margin-top:24px;gap:10px}.home-tech .button{font-size:10px;padding:10px 17px;gap:22px;min-height:41px;border-radius:30px}
 .home-tech .space-art{width:180%;height:560px;left:-32%;top:auto;bottom:0;object-position:center;mask-image:linear-gradient(0deg,#000 20%,#000 57%,transparent 100%);opacity:.95;transform:scale(1.02)}
 .home-tech .hero-shade{background:linear-gradient(180deg,#050507 0%,#050507e8 27%,#05050740 51%,#07070900 66%,#070709 100%)}
 .home-tech .hero-bottom{bottom:24px;gap:12px;align-items:center}.home-tech .hero-interaction-note{font-size:7px;gap:5px}.hero-interaction-note>span:first-child{font-size:11px}.motion-toggle{font-size:8px;padding:8px 10px;gap:6px}.motion-toggle-icon{margin-left:2px}.home-tech .scroll-cue{bottom:50px;gap:8px;font-size:7px}.home-tech .scroll-cue>span{height:25px;width:17px}
 .home-tech .discipline-strip>.wrap{padding-block:20px;gap:12px}.home-tech .discipline-strip span{font-size:10px}.home-tech .discipline-strip i{font-size:14px}
 .home-tech .section-heading{margin-bottom:29px}.home-tech .section-heading h2{font-size:29px}.home-tech .section-heading>p{font-size:11px}.home-tech .eyebrow{font-size:8px}
 .home-tech .featured-project.cover-project{border-radius:16px}.home-tech .cover-project .featured-caption{margin:8px;border-radius:12px;padding:17px 15px;min-height:0;gap:12px}.home-tech .featured-caption h3{font-size:22px}.home-tech .featured-caption h3>span{font-size:11px}.home-tech .featured-caption p:not(.mini-label){font-size:9px}.home-tech .featured-caption .mini-label{font-size:6px}.home-tech .featured-caption .round-arrow{width:35px;height:35px}
 .home-tech .project-index-head{margin-top:32px;gap:18px;margin-bottom:22px}.home-tech .filters{gap:5px}.home-tech .filters button{padding:7px 11px;font-size:9px}.home-tech .project-list{gap:22px}.home-tech .portfolio-card{min-height:395px;border-radius:18px}.home-tech .card-caption{border-radius:13px;padding:17px 15px;min-height:108px}.home-tech .card-caption h4{font-size:15px}.home-tech .card-caption p:not(.card-meta){font-size:11px}
 .home-tech .work{padding-bottom:5px}.home-tech .center-heading{margin-bottom:32px}.home-tech .center-heading h2{font-size:28px}.home-tech .center-heading>p:last-child{font-size:11px}.home-tech .approach-grid{gap:12px}.home-tech .approach-card{padding:25px 5px 17px;column-gap:18px}.home-tech .approach-icon{margin-bottom:0}.home-tech .approach-card h3{font-size:19px}.home-tech .approach-card p{font-size:11px}.home-tech .approach-note{font-size:9px;padding-top:17px;margin-top:20px}
 .home-tech .about-grid{gap:28px}.home-tech .about-heading h2{font-size:29px}.home-tech .about-art{height:258px;margin-top:25px}.home-tech .about-copy .large-copy{font-size:20px}.home-tech .about-copy>p:not(.large-copy){font-size:12px}.home-tech .experience-row{padding-block:26px}.home-tech .experience-row h3{font-size:15px}.home-tech .experience-row p{font-size:11px}
 .home-tech .contact-section{padding-top:78px;padding-bottom:70px}.home-tech .contact-grid h2{font-size:28px}.home-tech .site-footer{font-size:8px;padding-block:24px}
}
@media(hover:none){.pointer-hint{display:none}.touch-hint{display:inline}.home-tech .portfolio-card:not(.is-upcoming):hover{transform:none}}
@media(prefers-reduced-motion:reduce){.home-tech .space-art{transform:none!important}.home-tech .portfolio-card:hover,.home-tech .approach-card:hover{transform:none!important}.particle-field{display:none}}

/* Full portfolio covers and continuous case-study pages. */
.home-tech .portfolio-card.has-cover{display:flex;flex-direction:column;min-height:0;background:#110c17}
.portfolio-card-cover{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;flex-shrink:0;background:#120e1e}
.portfolio-card-cover img{display:block;width:100%;height:100%;object-fit:contain}
.home-tech .portfolio-card.has-cover .card-caption{position:relative;inset:auto;flex:1;margin:10px;min-height:112px}
.portfolio-case.wrap{width:calc(100% - 64px);max-width:1440px}
.portfolio-toolbar{position:sticky;top:88px;z-index:20;display:flex;align-items:center;gap:17px;padding:15px 20px;background:#130d1aeb;border:1px solid #bba0d330;border-radius:12px;backdrop-filter:blur(20px);margin-bottom:26px;box-shadow:0 8px 30px #0003}
.portfolio-toolbar label{font-size:11px;color:#ab94bd;white-space:nowrap}
.portfolio-toolbar select{font:inherit;font-size:12px;background:#24192e;color:#dcc9ed;border:1px solid #b392cd30;border-radius:7px;padding:9px 30px 9px 12px;max-width:390px;flex:1;min-width:0;cursor:pointer}
.portfolio-toolbar select:focus-visible{outline:2px solid #c8a6ff;outline-offset:3px}
.portfolio-toolbar select:disabled{opacity:.65;cursor:wait}
#portfolio-position{margin-left:auto;white-space:nowrap;font-size:11px;color:#a58fb6;font-variant-numeric:tabular-nums}
.portfolio-toolbar button{padding:8px 13px;border:1px solid #caa9e14d;border-radius:30px;background:#cfb0e8;color:#2b1b35;font-size:11px;white-space:nowrap}
.portfolio-toolbar button:disabled{opacity:.4;cursor:default}
.portfolio-toolbar button:not(:disabled):hover{background:#ead4fa}
#portfolio-pages{scroll-margin-top:175px}
.portfolio-page{margin:0 0 30px;scroll-margin-top:175px}
.portfolio-page-image{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid #a88ab529;border-radius:12px;background:#0b0812;cursor:zoom-in}
.portfolio-page-image>img{width:100%;height:auto;display:block}
.portfolio-expand{position:absolute;right:20px;bottom:20px;padding:9px 14px;border:1px solid #eddbff3b;border-radius:30px;background:#0b071acc;backdrop-filter:blur(12px);font-size:10px;color:#dfc9ee;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none}
.portfolio-page-image:hover .portfolio-expand,.portfolio-page-image:focus-visible .portfolio-expand{opacity:1;transform:none}
.portfolio-page figcaption{display:flex;gap:16px;align-items:center;padding:15px 5px 0;color:#ac96ba}
.portfolio-page figcaption>span{font-size:9px;color:#82708d;white-space:nowrap;font-variant-numeric:tabular-nums}
.portfolio-page figcaption h2{font-size:12px;font-weight:400;color:#c0a9cf;letter-spacing:.01em;line-height:1.6}
.portfolio-page figcaption>a{margin-left:auto;font-size:10px;white-space:nowrap;color:#90799f;border-bottom:1px solid transparent}
.portfolio-page figcaption>a:hover{color:#dac1ea;border-color:currentColor}
.portfolio-loading{min-height:340px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;color:#a895b7;font-size:13px}
.lightbox-tools{display:flex;align-items:center;gap:15px;flex-shrink:0}
.lightbox-tools>a{font-size:11px;color:#bea2d1;padding:5px 0;white-space:nowrap}
.lightbox-tools>button{color:#ddc9ed}
.lightbox-tools>button[aria-pressed=true]{color:#e7c4ff}
.lightbox.is-zoomed .lightbox-image-wrap{display:block;overflow:auto;overscroll-behavior:contain;cursor:move}
.lightbox.is-zoomed .lightbox-image-wrap img{max-width:none;max-height:none;width:auto;height:auto;display:block;margin:0}
@media(max-width:850px){
 .portfolio-case.wrap{width:calc(100% - 48px)}
 .portfolio-toolbar{gap:12px;padding:12px 15px;margin-bottom:20px}
 .portfolio-toolbar select{font-size:11px;max-width:none}
 .portfolio-page{margin-bottom:25px}
 .portfolio-page figcaption{padding-top:12px;gap:12px}
 .portfolio-page figcaption h2{font-size:11px}
}
@media(max-width:600px){
 .home-tech .portfolio-card.has-cover .card-caption{min-height:108px;margin:8px}
 .portfolio-case.wrap{width:calc(100% - 24px)}
 .portfolio-toolbar{top:73px;padding:10px;gap:8px;border-radius:9px;margin-bottom:17px}
 .portfolio-toolbar label{display:none}
 .portfolio-toolbar select{font-size:10px;padding:8px 20px 8px 8px}
 #portfolio-position{font-size:9px;margin-left:0}
 .portfolio-toolbar button{font-size:9px;padding:7px 9px}
 #portfolio-pages,.portfolio-page{scroll-margin-top:140px}
 .portfolio-page{margin-bottom:20px}
 .portfolio-page-image{border-radius:7px}
 .portfolio-page figcaption{padding:10px 2px 0;gap:9px}
 .portfolio-page figcaption>span{font-size:8px}
 .portfolio-page figcaption h2{font-size:10px}
 .portfolio-page figcaption>a{font-size:8px}
 .portfolio-expand{display:none}
 .lightbox-top{gap:10px}
 .lightbox-tools{gap:10px}
 .lightbox-tools>a,.lightbox-tools>button{font-size:9px;padding:5px 0}
 .lightbox-top>p{font-size:10px;line-height:1.5}
}

/* Stable media, restrained interactions, and resilient reading surfaces. */
[hidden]{display:none!important}
html{scrollbar-gutter:stable}
.media-frame{position:relative}
.media-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;min-height:90px;background:#130e1c;color:#b8a4ca;font-size:12px;padding:20px;text-align:center;pointer-events:none}
[data-media-state=ready]>.media-message{display:none}
[data-media-state=error]>.media-message{color:#e3ccef;background:#1c1226}
[data-media-state=error]{cursor:pointer}
[data-media-state=error]>.portfolio-expand{display:none}
.portfolio-page-image{transition:border-color .22s,box-shadow .22s}
.portfolio-page-image:hover,.portfolio-page-image:focus-visible{border-color:#cbaaed85;box-shadow:0 0 0 1px #cbaaed24}
.portfolio-page figcaption>a,.next-project .round-arrow,.gallery-nav button{transition:color .2s,background .2s,transform .2s}
.next-project:hover .round-arrow{transform:translate(3px,-3px);background:#b991db18}
.gallery-nav button:not(:disabled):hover{color:#f3e7ff}
.gallery-nav button:not(:disabled):active,.portfolio-toolbar button:not(:disabled):active{transform:translateY(1px)}
.project-page .project-hero h1{overflow-wrap:anywhere}
.case-controls{position:relative;height:0;display:flex;justify-content:flex-end;z-index:2}
.case-motion-toggle{position:relative;top:18px;border:1px solid #c4a0e335;border-radius:20px;padding:6px 12px;background:#17101f;color:#bea5d0;font-size:10px;white-space:nowrap}
.case-motion-toggle:hover{border-color:#c4a0e380;color:#eee0fb}
.case-motion-toggle:disabled{opacity:.65;cursor:default}
.portfolio-reading-link{text-align:right;font-size:10px;color:#a38bb5;margin:-12px 4px 18px}
.loading-alternative{font-size:12px;margin-top:20px}
.loading-alternative>a,.startup-error>a{color:#d9bdf3;text-decoration:underline;text-underline-offset:4px}
.startup-error{padding-block:24px;display:flex;gap:20px;flex-wrap:wrap;align-items:center;font-size:13px}
.simple-reading .project-hero{padding-block:45px}
.simple-reading .project-hero .text-link{display:inline-block;margin-top:20px}
.simple-reading .portfolio-page-image{display:block}
.simple-project-link{display:grid;grid-template-columns:140px 1fr 24px;align-items:center;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.simple-project-link>span{font-size:12px;color:var(--muted)}
.simple-project-link h2{font-size:23px}
.viewer-feedback{display:flex;align-items:center;justify-content:center;gap:12px;min-height:26px;flex-shrink:0;font-size:11px;color:#bda5ce;padding:0 14px;text-align:center}
#viewer-retry{font-size:11px;background:#33213f;border:1px solid #a87ac257;border-radius:20px;padding:5px 12px;white-space:nowrap}
.lightbox{background:#100c17;backdrop-filter:none;height:calc(100vh - 48px);height:calc(100dvh - 48px)}
.lightbox::backdrop{background:#040307ed;backdrop-filter:none}
.lightbox-top>p{min-width:0;overflow-wrap:anywhere}
.lightbox-image-wrap{overscroll-behavior:contain}
.lightbox-top button:disabled{opacity:.45;cursor:wait}
.home-tech .card-caption{background:#151019;backdrop-filter:none}
.home-tech.motion-paused .spotlight-card:after{opacity:0}
.hero-offscreen .scroll-cue>span:after{animation-play-state:paused}
.motion-paused .next-project:hover .round-arrow,.motion-paused .screen-grid figure button:hover{transform:none}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{transition:none!important}
@media(max-width:600px){
 .home-tech .site-header,.project-page .site-header,.portfolio-toolbar{backdrop-filter:none;background:#100c15}
 .case-motion-toggle{top:10px;font-size:9px;padding:5px 10px}
 .project-page .project-hero{padding-top:48px}
 .lightbox{height:calc(100vh - 16px);height:calc(100dvh - 16px)}
 .lightbox-top{align-items:flex-start;flex-direction:column;gap:8px;padding:12px 15px}
 .lightbox-tools{width:100%;justify-content:flex-end;gap:18px}
 .lightbox-top>p{font-size:11px}
 .viewer-feedback{font-size:10px;min-height:30px}
 .simple-project-link{grid-template-columns:1fr 22px;gap:7px;padding:22px 0}
 .simple-project-link>span:first-child{grid-column:1/-1;font-size:10px}
 .simple-project-link h2{font-size:20px}
 .portfolio-reading-link{margin:-8px 3px 14px}
}
@media(prefers-reduced-motion:reduce){.next-project:hover .round-arrow,.screen-grid figure button:hover{transform:none}}
