@font-face{font-family:Ubuntu;src:url('../assets/fonts/Ubuntu-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Ubuntu;src:url('../assets/fonts/Ubuntu-Medium.ttf') format('truetype');font-weight:500 600;font-display:swap}
@font-face{font-family:Ubuntu;src:url('../assets/fonts/Ubuntu-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
:root{--ease-out:cubic-bezier(.23,1,.32,1);--max-width:none;--gutter:clamp(16px,1.25vw,28px);--nav-height:96px;--font-heading:Ubuntu,'Segoe UI',sans-serif;--font-body:Ubuntu,'Segoe UI',sans-serif;--tracking-tight:-.035em;--transition-fast:160ms ease;--transition-base:220ms var(--ease-out);--transition-slow:280ms var(--ease-out)}
.portfolio-page{--bg-primary:#111214;--bg-raised:#1b1d22;--bg-card:#202228;--bg-card-hover:#282b33;--glass-bg:transparent;--glass-border:#343740;--text-primary:#f1f1f4;--text-secondary:#b6b9c3;--text-muted:#a0a5b2;--border-subtle:#30333b;--border-medium:#444955;--accent:#a9b6ff;--glass-blur:none;color-scheme:dark}
body{animation:none;overflow-x:clip;caret-color:#6179ff}
html{scroll-padding-top:112px;scrollbar-color:#596173 #111214}
::selection{background:#6478e8;color:#fff}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a,button{touch-action:manipulation}
button,input,select,textarea{font:inherit}
button,a.btn{transition:transform 160ms var(--ease-out),background-color 160ms ease,color 160ms ease}
button:active,a.btn:active{transform:scale(.97)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #7186ff;outline-offset:5px}
h1,h2,h3{font-family:var(--font-heading);text-wrap:balance;letter-spacing:-.035em;font-weight:500;line-height:1.08}
h1{font-size:clamp(2.6rem,6.5vw,6rem)}
h2{font-size:clamp(2rem,4.1vw,3.8rem)}
h3{font-size:clamp(1.25rem,2.1vw,1.8rem)}
p{line-height:1.65}
.container{max-width:none;padding-inline:var(--gutter)}
.skip-link{position:fixed;top:8px;left:12px;z-index:500;transform:translateY(-160%);padding:12px 20px;background:#20232d;color:#f1f1f4;border:2px solid #334fe8;border-radius:8px}
.skip-link:focus{transform:none}
/* A quiet, consistent identity above each exhibition. */
.nav{position:absolute;height:var(--nav-height);background:transparent;border:0;backdrop-filter:none;transition:none}
.nav.scrolled{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.nav__inner{gap:28px}
.nav__logo{display:flex;flex-direction:column;font-size:15px;line-height:1.45;font-weight:500;letter-spacing:-.025em;flex-shrink:0}
.nav__discipline{font-size:12px;color:var(--text-secondary);font-weight:400;letter-spacing:0;margin-top:2px}
.nav__links{position:static;transform:none;margin-left:auto;gap:7px}
.nav__link{min-height:44px;padding:12px 13px;border-radius:0;color:var(--text-secondary);font-weight:400;font-size:14px;display:flex;align-items:center;gap:10px;background:none}
.nav__link.active{color:var(--text-primary);background:none}
.nav__link.active::after{content:'';position:absolute;bottom:5px;left:13px;right:13px;height:2px;background:#a9b6ff;width:auto;transform:none}
.nav__link--contact{color:var(--text-primary)}
.nav__link--contact svg{width:15px;height:15px}
.lang-toggle{min-width:44px;min-height:44px;padding:10px;border:1px solid var(--border-medium);color:var(--text-primary);border-radius:50%;font:500 12px var(--font-body);background:transparent}
.nav__hamburger{display:none;width:44px;height:44px;padding:12px;gap:6px;border:1px solid var(--border-medium);border-radius:50%;order:3;flex-shrink:0}
.nav__hamburger-line{width:18px;height:1.5px;background:var(--text-primary);transition:transform 200ms var(--ease-out);margin:0}
.nav__hamburger[aria-expanded=true] .nav__hamburger-line:first-child{transform:translateY(3.75px) rotate(45deg)}
.nav__hamburger[aria-expanded=true] .nav__hamburger-line:last-child{transform:translateY(-3.75px) rotate(-45deg)}
/* The opening is the artwork, framed by a compact statement of intent. */
.exhibition{padding-top:calc(var(--nav-height) + 52px);padding-bottom:55px}
.exhibition__intro{display:grid;grid-template-columns:1fr minmax(220px,310px);align-items:end;gap:50px;margin-bottom:48px}
.exhibition__intro h1{font-size:clamp(3.3rem,6.6vw,6rem);line-height:1.035;letter-spacing:-.04em;font-weight:500}
.exhibition__intro h1 span{color:#a9b6ff}
.exhibition__byline{font-size:13px;margin-top:25px;color:var(--text-secondary)}
.exhibition__note{padding-bottom:3px}
.exhibition__note p{font-size:16px;line-height:1.65;margin-bottom:24px;max-width:30ch}
.text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:500;min-height:44px;text-decoration:none}
.text-link svg{flex-shrink:0;transition:transform 220ms var(--ease-out)}
.exhibition__works{display:grid;grid-template-columns:1.55fr 1fr;gap:26px}
.exhibit{margin:0;min-width:0}
.exhibit__image-link{display:block;overflow:hidden;border-radius:14px;background:#191b21;aspect-ratio:1.3}
.exhibit--secondary .exhibit__image-link{aspect-ratio:auto;height:calc(100% - 77px)}
.exhibit__image-link img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease-out)}
.exhibit--main img{object-position:center 56%}
.exhibit figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;min-height:77px}
.exhibit__name{display:block;font-size:17px;line-height:1.25;font-weight:500}
.exhibit__type{display:block;font-size:12px;color:var(--text-secondary);margin-top:5px}
.exhibit__controls{display:flex;gap:0;flex-shrink:0}
.art-switch{width:36px;height:44px;display:grid;place-items:center;border-radius:50%}
.art-switch::after{content:'';width:7px;height:7px;background:#555b6a;border-radius:50%;transition:background 160ms ease,transform 160ms var(--ease-out)}
.art-switch.is-active::after{background:#a9b6ff;transform:scale(1.35)}
.round-link{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--border-medium)}
.exhibition__bottom{margin-top:37px;padding-top:25px;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:var(--text-secondary)}
.exhibition__bottom .text-link{font-size:12px;gap:18px}
/* The engineering room is open to the backdrop: scrolling here surfaces its contour lines. */
.engineering{background:transparent;border-block:1px solid var(--border-subtle);padding-block:92px 64px}
.engineering h2,.engineering h3{color:#fff}
.engineering p{color:var(--text-secondary)}
.section-heading{display:grid;grid-template-columns:1fr 330px;align-items:end;gap:60px;margin-bottom:50px}
.section-heading>div>p{font-size:15px;margin-bottom:16px}
.featured-products{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.feature-project{min-width:0;display:block}
.feature-project__image{aspect-ratio:1.85;overflow:hidden;background:#16181c;border-radius:12px}
.feature-project__image>img{width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ease-out)}
.feature-project__image--maps{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#0e0f12;padding:12px}
.feature-project__image--maps>img{object-fit:contain}
.feature-project__title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.feature-project__title h3{font-size:26px;letter-spacing:-.025em}
.feature-project>p{margin-top:8px;font-size:15px}
.feature-project__meta{display:block;font-size:12px;margin-top:15px;color:var(--text-muted)}
.project-index{margin-top:50px}
.project-index>a{display:grid;grid-template-columns:1fr 1fr 24px;align-items:center;gap:30px;padding:22px 0;border-top:1px solid var(--border-medium);min-height:74px}
.project-index>a>span:first-child{font-size:19px;font-weight:500}
.project-index>a>span:nth-child(2){font-size:13px;color:var(--text-secondary)}
/* Capabilities are an open index, not a collection of badges. */
.capabilities{background:rgba(255,255,255,.022);padding-block:100px}
.capabilities__layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.capabilities__layout>div>p{max-width:40ch;margin-block:28px 16px;font-size:16px}
.capability-list article{padding-block:28px;border-top:1px solid #383c47}
.capability-list article:first-child{padding-top:6px;border:0}
.capability-list h3{font-size:25px}
.capability-list p{font-size:15px;margin-top:12px;max-width:43ch}
.capability-list article>span{display:block;color:#a6adbe;margin-top:19px;font-size:12px}
.tool-invitation{padding-block:76px;display:flex;align-items:center;justify-content:space-between;gap:45px}
.tool-invitation h2{font-size:clamp(1.8rem,3vw,2.5rem)}
.tool-invitation p{margin-top:16px;max-width:58ch;font-size:15px}
.btn{border-radius:8px;min-height:48px;padding:13px 22px;gap:20px;font-size:14px}
.portfolio-page .btn--primary{background:#5b6ee1;border-color:#5b6ee1;color:white}
.btn--ghost,.btn--secondary{border-color:var(--border-medium);color:var(--text-primary)}
/* Inner pages share the exhibition's proportions and carry real content. */
.portfolio-page :is(.work-hero,.products-hero,.tools-hero,.about-hero,.contact-hero,.lab-hero){padding-top:calc(var(--nav-height) + 65px);padding-bottom:57px;border-bottom:0;min-height:0}
.portfolio-page :is(.work-hero,.products-hero,.tools-hero,.about-hero,.contact-hero,.lab-hero) h1{margin-bottom:26px;max-width:15ch;font-weight:500}
.portfolio-page :is(.work-hero__desc,.products-hero__desc,.tools-hero__desc,.about-hero__bio,.contact-hero__desc,.lab-hero__desc){font-size:17px;max-width:65ch}
.portfolio-page :is(.gallery,.products-grid-section,.tools-grid-section){padding-top:0;padding-bottom:96px}
.portfolio-page .gallery-controls{padding-block:12px 36px}
.filter-tabs{background:transparent;border:0;padding:0;gap:8px;flex-wrap:wrap}
.filter-tab{border:1px solid var(--border-medium);padding:11px 22px;border-radius:50px;min-height:44px;color:var(--text-secondary)}
.filter-tab.active{background:#5b6ee1;color:#fff;border:1px solid #5b6ee1}
.gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 26px}
.gallery-card{background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
.gallery-card__img-wrapper{border-radius:12px;overflow:hidden;background:#191b21}
.gallery-card__img{aspect-ratio:1;object-fit:cover;width:100%}
.gallery-card__body{padding:20px 0 0}
.gallery-card__title{font-size:19px;letter-spacing:-.02em}
.gallery-card__desc{font-size:14px;color:var(--text-secondary)}
.gallery-card__footer{border-top:0;padding-top:12px}
.gallery-card__tag{border-color:var(--border-medium);background:none;color:var(--text-secondary)}
.gallery-card__overlay{background:rgba(10,10,12,.35)}
.products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 32px;justify-content:stretch}
.product-card{background:transparent;border:0;border-radius:0;padding:0;overflow:visible}
.product-card--has-thumbnail{padding:0}
.product-card__thumbnail-wrapper,.product-card__thumbnail-placeholder{margin:0;width:100%;aspect-ratio:1.85;border-radius:12px;background:#16181c;overflow:hidden;height:auto;position:relative}
.product-card__thumbnail{width:100%;height:100%;object-fit:cover}
.product-card__thumbnail-strip{height:100%;border-radius:0;aspect-ratio:auto}
.product-card__thumbnail-panel{height:100%;min-width:0}
.product-card__thumbnail-panel img{width:100%;height:100%;object-fit:contain}
.product-card__thumbnail-panel>span{color:white;background:#16181c}
.product-card__thumbnail-wrapper .product-card__header,.product-card__thumbnail-placeholder .product-card__header{position:absolute;top:14px;left:14px;right:14px;margin:0;padding:0;justify-content:flex-end}
.product-card__body{padding:23px 0 0;display:flex;flex-direction:column;flex:1}
.product-card__name{font-size:27px;font-weight:500;margin-bottom:9px;letter-spacing:-.03em}
.product-card__platform{font-size:11px;letter-spacing:.04em;color:var(--text-secondary)}
.product-card__desc{font-size:15px;margin-top:17px;margin-bottom:20px;max-width:65ch}
.product-card__cta{font-size:14px;color:#a9b6ff}
.product-card__thumbnail-cancelled{background:#1b1d22;color:#fff}
.badge{padding:7px 10px;font-size:10px;letter-spacing:.02em;line-height:1.3;backdrop-filter:none}
.portfolio-page .badge--released{color:#17533a;background:#e4f2e9;border-color:#9dc8ac}
.portfolio-page .badge--oss{color:#243e90;background:#e6ecff;border-color:#b4c2ef}
.portfolio-page .badge--dev{color:#664610;background:#fbf0ce;border-color:#d7bf7b}
.portfolio-page .badge--cancelled{color:#872d3c;background:#f9e4e9;border-color:#dba5b0}
.tools__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;justify-content:stretch}
.tool-card{display:flex;flex-direction:column;border:0;border-top:1px solid var(--border-medium);border-radius:0;background:transparent;padding:28px 0 32px;position:relative}
.tool-card__header{position:absolute;right:0;top:28px;margin:0}
.tool-card__body{padding:0}
.tool-card__header .badge{font-size:9px;padding:3px 7px}
.tool-card__name{font-size:22px;font-weight:500;padding-right:75px;max-width:26ch;line-height:1.25;letter-spacing:-.025em}
.tool-card__platform{font-size:11px;margin-top:14px;color:var(--text-muted)}
.tool-card__desc{font-size:15px;margin-top:16px;margin-bottom:20px}
.tool-card__cta{font-size:14px;color:#a9b6ff;margin-top:auto}
.portfolio-page .skills{background:rgba(255,255,255,.022);padding-block:72px}
.skills__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px;justify-content:stretch}
.skill-chip{display:grid;grid-template-columns:1fr 1.4fr;align-items:baseline;gap:24px;padding:22px 0;border:0;border-top:1px solid #383c47;border-radius:0;background:transparent}
.skill-chip__name{font-size:19px;font-weight:500}
.skill-chip__sub{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}
.portfolio-page .experience{border:0;padding-block:85px}
.timeline{gap:0}
.timeline-item{display:grid;grid-template-columns:230px 1fr;gap:50px;border:0;border-top:1px solid var(--border-medium);border-radius:0;padding:38px 0;background:transparent}
.timeline-item__meta{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin:0}
.timeline-item__org{font-size:24px;font-weight:500}
.timeline-item__period{font-size:13px;color:var(--text-secondary)}
.timeline-item__role{font-size:23px;line-height:1.3}
.timeline-item__content p{font-size:15px;max-width:70ch}
.timeline-item__highlights{gap:30px;margin-top:26px;border-top:0;padding-top:0}
.highlight-stat{border:0;background:none;padding:0;min-width:0}
.highlight-stat__number{font-size:26px;color:var(--text-primary)}
.highlight-stat__label{font-size:11px;color:var(--text-muted)}
.tag{background:transparent;color:var(--text-secondary);border:1px solid var(--border-medium)}
.profiles{background:rgba(255,255,255,.022)}
.profiles__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;justify-content:stretch}
.profile-link{border:0;border-top:1px solid #383c47;background:none;border-radius:0;padding:24px 0}
.profile-link__name{font-size:17px}
.profile-link__sub{color:var(--text-secondary)}
.portfolio-page .container--narrow{max-width:none;padding-inline:var(--gutter)}
.contact-hero__desc{margin-bottom:40px}
.contact-email-block__label{display:none}
.contact-email-block__field{display:flex;justify-content:space-between;border:0;border-top:1px solid var(--border-medium);border-bottom:1px solid var(--border-medium);padding:30px 0;border-radius:0;background:none;gap:30px}
.contact-email-block__address{font-size:clamp(1.1rem,3.5vw,3rem);font-weight:400;overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.copy-btn{border:1px solid var(--border-medium);border-radius:8px;min-height:44px;color:var(--text-primary);padding:11px 20px}
.copy-btn.copied{color:#17533a;border-color:#97bdaa;background:#e4f2e9}
.contact-elsewhere{padding-top:10px;padding-bottom:90px}
.contact-socials__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;justify-content:stretch;margin-top:40px}
.contact-social-card{background:none;border:0;border-top:1px solid var(--border-medium);border-radius:0;padding:24px 0;display:flex;gap:18px;align-items:center}
.contact-social-card__name{font-size:20px}
.contact-social-card__handle{color:var(--text-secondary)}
.contact-social-card__icon{color:var(--text-primary);background:none;border:0}
.contact-social-card__arrow{margin-left:auto;color:var(--text-secondary)}
/* The close is a real invitation, not another box. */
.footer{background:rgba(8,9,13,.6);border-top:1px solid var(--border-subtle);border:0;padding:64px 0 24px;color:#fff;--text-primary:#fff;--text-secondary:#b8bfce;--text-muted:#a5aebe;--border-subtle:#303744;--border-medium:#485163}
.footer__invitation{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;padding-bottom:62px}
.footer__invitation h2{font-size:clamp(2.3rem,4.5vw,4rem);max-width:12ch;color:#fff}
.footer__contact{display:flex;align-items:center;gap:28px;font-size:20px;border-bottom:1px solid #8b99c4;padding-block:12px}
.footer__contact svg{width:25px;height:25px}
.footer__top{padding-bottom:25px;align-items:center}
.footer__name{font-weight:500;font-size:16px;color:#fff}
.footer__links{gap:7px}
.footer__link{width:42px;height:42px;display:grid;place-items:center;border:0;color:#d5ddf6;background:none;border-radius:50%}
.footer__bottom{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:25px;font-size:12px;color:#b8bfce;border-color:#303744}
.footer__copyright,.footer__email-link,.footer__back{font-size:12px;color:#b8bfce}
/* Existing demos keep their own canvas and export rendering. */
.detail-page{--bg-card:#1b1d22;--bg-card-hover:#23262c;--glass-bg:rgba(255,255,255,.03);--text-secondary:#b6b9c3;--text-muted:#a0a5b2;--border-subtle:#30333b;--border-medium:#444955}
.detail-page main>section:first-child{padding-top:calc(var(--nav-height) + 48px)}
.detail-page .section-label{display:none}
.detail-page .btn--primary{background:#d3dcff;color:#17203b;border-color:#d3dcff}
@media(hover:hover) and (pointer:fine){
 .nav__link:hover{background:none;color:#a9b6ff}
 .text-link:hover svg{transform:translate(3px,-3px)}
 .exhibit__image-link:hover img,.feature-project:hover .feature-project__image>img{transform:scale(1.025)}
 .round-link:hover,.lang-toggle:hover{background:var(--bg-raised)}
 .portfolio-page .btn--primary:hover{background:#7285f1;border-color:#7285f1}
 .gallery-card:hover,.product-card:hover,.tool-card:hover,.skill-chip:hover,.timeline-item:hover,.profile-link:hover,.contact-social-card:hover{transform:none;box-shadow:none;background:transparent;border-color:var(--border-medium)}
 .gallery-card:hover .gallery-card__title,.product-card:hover .product-card__name,.tool-card:hover .tool-card__name{color:#b9c4ff}
 .footer__link:hover{background:#252b38;color:#fff}
 .project-index>a:hover,.footer__contact:hover{color:#d3dcff}
}
@media(min-width:1600px){.exhibition__works{grid-template-columns:1.55fr 1fr}.exhibit__image-link{aspect-ratio:1.4}}
@media(max-width:1050px){
 .nav__inner{gap:12px}.nav__link{padding-inline:10px}.nav__links{gap:0}
 .exhibition__intro{grid-template-columns:1fr 250px;gap:24px}.exhibition__intro h1{font-size:clamp(3rem,6.5vw,5rem)}
 .exhibition__works{gap:20px}.exhibit__image-link{aspect-ratio:1.15}
 .capabilities__layout{gap:50px}.section-heading{gap:30px;grid-template-columns:1fr 280px}
 .gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .timeline-item{grid-template-columns:190px 1fr;gap:30px}
 .contact-socials__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 :root{--nav-height:84px}
 .nav__logo{font-size:14px}.nav__discipline{font-size:11px}.nav__inner{gap:10px}
 .lang-toggle{margin-left:auto;width:42px;height:42px;min-height:42px;min-width:42px}
 .nav__hamburger{display:flex;flex-direction:column;align-items:center;justify-content:center}
 .nav__links{display:none;position:absolute;top:calc(100% + 16px);left:22px;right:22px;transform:none;padding:12px 16px;margin:0;align-items:stretch;gap:0;background:var(--bg-primary);border:1px solid var(--border-medium);border-radius:12px;box-shadow:0 15px 30px rgba(13,28,66,.12)}
 .nav__links.open{display:flex;flex-direction:column}.nav__link{padding:14px 12px;min-height:48px;font-size:17px}.nav__link.active::after{left:auto;right:12px;top:50%;bottom:auto;width:6px;height:6px;border-radius:50%}
 .exhibition{padding-top:calc(var(--nav-height) + 34px);padding-bottom:34px}
 .exhibition__intro{grid-template-columns:1fr;gap:26px;margin-bottom:30px}
 .exhibition__intro h1{font-size:clamp(2.55rem,8.9vw,4.2rem);letter-spacing:-.04em}
 .exhibition__byline{margin-top:18px;font-size:11px}
 .exhibition__note{display:flex;align-items:flex-start;gap:22px;justify-content:space-between}.exhibition__note p{font-size:14px;margin:0;max-width:27ch}.exhibition__note .text-link{font-size:12px;gap:9px;flex-shrink:0;max-width:110px;line-height:1.35}
 .exhibition__works{grid-template-columns:1fr;gap:27px}.exhibit__image-link{aspect-ratio:1.15}.exhibit--secondary .exhibit__image-link{aspect-ratio:1.3;height:auto}
 .exhibit figcaption{min-height:70px;padding-top:15px}.exhibit__name{font-size:16px}.exhibit__type{font-size:11px}
 .exhibition__bottom{margin-top:24px;padding-top:19px;align-items:flex-start;flex-direction:column;gap:4px;font-size:10px}.exhibition__bottom .text-link{font-size:12px}
 .engineering{padding-block:57px 38px}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:34px}.section-heading>div>p{font-size:14px;max-width:36ch;margin-bottom:8px}
 .featured-products{grid-template-columns:1fr;gap:36px}.feature-project__title{margin-top:19px}.feature-project__title h3{font-size:24px}.feature-project>p{font-size:14px}.feature-project__meta{margin-top:12px}
 .project-index{margin-top:37px}.project-index>a{grid-template-columns:1fr 22px;gap:8px;padding:20px 0}.project-index>a>span:first-child{font-size:18px}.project-index>a>span:nth-child(2){grid-row:2;font-size:12px}.project-index svg{grid-column:2;grid-row:1/3}
 .capabilities{padding-block:60px}.capabilities__layout{grid-template-columns:1fr;gap:35px}.capabilities__layout>div>p{font-size:15px;margin-top:24px}.capability-list h3{font-size:23px}.capability-list article:first-child{border-top:1px solid #383c47;padding-top:25px}
 .tool-invitation{padding-block:52px;flex-direction:column;align-items:flex-start;gap:25px}.tool-invitation p{font-size:14px}
 .footer{padding-top:48px}.footer__invitation{flex-direction:column;align-items:flex-start;padding-bottom:42px;gap:22px}.footer__invitation h2{max-width:14ch}.footer__contact{font-size:18px}.footer__top{gap:22px;align-items:flex-start;flex-direction:column}.footer__links{gap:4px}.footer__bottom{gap:15px}.footer__email-link{order:3;width:100%}
 .portfolio-page :is(.work-hero,.products-hero,.tools-hero,.about-hero,.contact-hero,.lab-hero){padding-top:calc(var(--nav-height) + 37px);padding-bottom:40px}
 .portfolio-page :is(.work-hero__desc,.products-hero__desc,.tools-hero__desc,.about-hero__bio,.contact-hero__desc,.lab-hero__desc){font-size:15px}
 .portfolio-page :is(.gallery,.products-grid-section,.tools-grid-section){padding-bottom:60px}
 .filter-tabs{gap:7px}.filter-tab{padding:10px 15px;font-size:13px}.gallery-controls{gap:15px}.gallery-count{font-size:12px}
 .gallery__grid,.products__grid{grid-template-columns:1fr;gap:36px}.gallery-card__body{padding-top:18px}
 .products__grid{gap:44px}.product-card__body{padding:20px 0 0}.product-card__name{font-size:25px}
 .tools__grid{grid-template-columns:1fr;gap:0}.tool-card__name{font-size:22px}.tool-card{padding-block:26px}
 .skills__grid{grid-template-columns:1fr}.skill-chip{grid-template-columns:1fr 1.3fr;gap:20px}.skill-chip__name{font-size:17px}.skill-chip__sub{font-size:12px}
 .timeline-item{grid-template-columns:1fr;gap:22px;padding-block:30px}.timeline-item__meta{flex-direction:row;align-items:baseline;justify-content:space-between;gap:15px}.timeline-item__org{font-size:21px}.timeline-item__role{font-size:21px}.timeline-item__highlights{flex-wrap:wrap;gap:24px}.timeline-item__content p{font-size:14px}
 .profiles__grid{grid-template-columns:1fr 1fr;gap:0 24px}.profile-link{gap:12px}.profile-link__icon{display:none}.profile-link__name{font-size:16px}
 .contact-email-block__field{flex-wrap:wrap;gap:22px;padding-block:24px}.contact-email-block__address{flex-basis:100%;font-size:clamp(1rem,5vw,2rem)}
 .contact-socials__grid{grid-template-columns:1fr 1fr;gap:0 22px}.contact-social-card{gap:9px;padding-block:20px;min-width:0}.contact-social-card__icon{display:none}.contact-social-card__name{font-size:17px}.contact-social-card__handle{font-size:11px;overflow-wrap:anywhere}.contact-elsewhere{padding-bottom:55px}
}
@media(max-width:360px){.nav__logo{font-size:12px}.nav__discipline{font-size:10px}.exhibition__note{display:block}.exhibition__note p{max-width:35ch}.exhibition__note .text-link{max-width:none;margin-top:12px}.profiles__grid,.contact-socials__grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.exhibit__image-link img,.feature-project__image>img{transform:none!important}}

body[data-lang="ka"]{font-family:"Noto Sans Georgian","Segoe UI",sans-serif}body[data-lang="ka"] h1{font-size:clamp(2.3rem,5.3vw,4.8rem);line-height:1.25}body[data-lang="ka"] h2{line-height:1.3}body[data-lang="ka"] .exhibition__intro{grid-template-columns:1fr minmax(210px,290px)}@media(max-width:760px){body[data-lang="ka"] .exhibition__intro{grid-template-columns:1fr}body[data-lang="ka"] h1{font-size:clamp(1.9rem,7.2vw,3.3rem)}}

.portfolio-page .badge--released{color:#b4dfc5;background:#1a3227;border-color:#3b6650}.portfolio-page .badge--oss{color:#c3d0ff;background:#242e4e;border-color:#4c5c90}.portfolio-page .badge--dev{color:#ead5a4;background:#382e1c;border-color:#75613a}.portfolio-page .badge--cancelled{color:#e8b4bf;background:#39232b;border-color:#764651}

.capabilities__layout>*{min-width:0}.capabilities h2{overflow-wrap:anywhere}.tools__grid{grid-auto-rows:auto}.tool-card{min-height:0}.tool-card__platform{margin-bottom:0}.product-card__thumbnail-placeholder{display:block}.product-card__thumbnail-placeholder>img{height:100%;width:100%;object-fit:cover;border-radius:12px}.product-card__thumbnail-cancelled{display:none}
/* Legible metadata and controls at compact widths. */
.portfolio-page .btn--primary,.filter-tab.active{background:#4f61cd;border-color:#4f61cd;color:#fff}
.badge,.tool-card__header .badge,.gallery-card__badge,.product-card__thumbnail-label,.product-card__thumbnail-panel span{font-size:11px;letter-spacing:.025em}
.nav__discipline{font-size:12px}
.nav__links{box-shadow:none}
.exhibition__bottom{font-size:12px}
.portfolio-page .section-label,.portfolio-page .badge,.portfolio-page .gallery-card__type{letter-spacing:.025em}
@media(hover:hover) and (pointer:fine){.portfolio-page .btn--primary:hover{background:#586bd5;border-color:#586bd5}}
@media(max-width:760px){.nav__discipline{font-size:11px}.exhibition__byline,.exhibit__type{font-size:12px}.exhibition__bottom{font-size:11px}.contact-social-card__handle{font-size:12px}}
@media(max-width:360px){.nav__discipline{font-size:11px}}
.gallery-card__type,.product-card__thumbnail-panel figcaption{font-size:11px;letter-spacing:.025em}.product-card__thumbnail-panel img{transform:none}.product-card__thumbnail-panel figcaption{color:#e2e6ef}
.contact-social-card{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;gap:5px 15px}.contact-social-card__name{grid-column:2;grid-row:1}.contact-social-card__handle{grid-column:2;grid-row:2;overflow-wrap:normal;min-width:0}.contact-social-card__arrow{grid-column:3;grid-row:1/3;margin-left:0;justify-self:end}
@media(max-width:760px){.contact-social-card{grid-template-columns:minmax(0,1fr) 18px;gap:6px 8px}.contact-social-card__name,.contact-social-card__handle{grid-column:1}.contact-social-card__arrow{grid-column:2}.contact-social-card__handle{font-size:12px}}
/* Supplied Material Matrix identity; the work remains the focal point. */
.nav__logo{display:grid;grid-template-columns:44px auto;align-items:center;gap:12px}
.nav__mark{width:44px;height:44px;object-fit:contain}
.nav__identity{display:flex;flex-direction:column;min-width:0}
.footer__name{display:inline-flex;align-items:center;gap:12px}
.footer__mark{width:40px;height:40px;object-fit:contain;flex-shrink:0}
.gallery-card__description{font-size:14px;line-height:1.6;max-width:50ch}
.gallery-card__discipline{font-size:12px;color:var(--text-muted);line-height:1.5}
.gallery-card--recent .gallery-card__name{font-size:19px;line-height:1.3;letter-spacing:-.02em;font-weight:500;text-wrap:balance}
.gallery-card--recent .gallery-card__type{margin-top:3px}
.gallery-card--recent .gallery-card__link-hint{margin-top:4px}
.gallery-card__thumb{border-radius:12px;overflow:hidden}
@media(max-width:1050px) and (min-width:761px){.nav__logo{grid-template-columns:36px auto;gap:8px;font-size:13px}.nav__mark{width:36px;height:36px}.nav__link{padding-inline:8px;font-size:13px}.nav__inner{gap:8px}}
@media(max-width:760px){.nav__logo{grid-template-columns:36px auto;gap:8px;font-size:13px;flex-shrink:1;min-width:0}.nav__mark{width:36px;height:36px}.nav__identity{max-width:180px}.nav__discipline{font-size:11px}.lang-toggle{flex-shrink:0}}
@media(max-width:440px){.nav__logo{grid-template-columns:32px minmax(0,1fr);font-size:12px;gap:7px}.nav__mark{width:32px;height:32px}.nav__discipline{display:none}.nav__identity{max-width:150px;line-height:1.35}.nav__inner{gap:8px}.gallery-card--recent .gallery-card__name{font-size:18px}}
/* Keep the original square thumbnails intact and bring the gallery into view sooner. */
.portfolio-page .work-hero h1{max-width:none;font-size:clamp(2.6rem,5.6vw,5rem)}
.portfolio-page .work-hero{padding-bottom:40px}
.gallery-card--recent .gallery-card__thumb{aspect-ratio:1}
.gallery-card--recent .gallery-card__img{object-fit:contain}
/* Georgian labels run about twice as wide; between tablet and small-desktop widths the logo keeps only its mark. */
.nav__link{white-space:nowrap}
@media(min-width:761px) and (max-width:940px){body[data-lang="ka"] .nav__identity{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body[data-lang="ka"] .nav__logo{grid-template-columns:36px}}
