@import url('figma-styles.css');
@font-face{font-family:'JetBrains Mono';src:url('assets/fonts/JetBrainsMono-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/fonts/JetBrainsMono-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/fonts/JetBrainsMono-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('assets/fonts/JetBrainsMono-ExtraBold.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
body{font-synthesis:none;font-weight:300}
*{box-sizing:border-box}html{font-size:.0520833333vw;scroll-behavior:smooth}body{margin:0;color:#000;background:#fff;font-family:'JetBrains Mono',monospace;font-size:17rem;line-height:22rem}p,h1,h2,ul{margin:0;padding:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4rem}button{font:inherit;color:inherit;border:0;padding:0;background:transparent;cursor:pointer}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2rem solid #3b69e8;outline-offset:4rem}img{display:block}body:has(dialog[open]){overflow:hidden}.page{width:100%;height:auto;position:relative}
.hero{position:relative;left:auto;top:auto;width:100%;height:592rem;overflow:hidden}.project-meta{position:relative;left:auto;top:auto;width:calc(100% - 20rem);margin:10rem 10rem 0;height:22rem}.intro{position:relative;margin-top:110rem;height:400rem;margin-bottom:130rem}.intro>h1{top:0}.intro>[data-node-id='400:14148']{top:0}.intro>[data-node-id='400:14137']{top:186rem}
.case-section{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:calc(100% - 20rem)!important;height:auto!important;min-height:0;display:grid;grid-template-columns:359rem 596rem minmax(0,1fr);align-items:start;padding-top:20rem;margin:0 10rem 130rem}
.case-section>.section-label,.case-section>.section-title{position:relative;left:auto;top:auto;grid-row:1;align-self:start}.section-label{grid-column:1}.section-title{grid-column:2}.case-section>.section-content{position:relative;left:auto;top:auto;grid-column:3;grid-row:1;height:auto;min-height:0;width:100%}.case-section>.section-wide-content{position:relative;left:auto;top:auto;grid-column:1 / -1;grid-row:1;height:auto;min-height:0;width:100%}
.contact-footer{position:relative;bottom:auto;left:auto;width:100%;height:199rem;margin-top:403rem;overflow:hidden}.gallery-item{cursor:zoom-in}.expand-hint{position:absolute;right:12rem;bottom:12rem;background:#fff;color:#000;padding:9rem 12rem;font-size:14rem;line-height:20rem;opacity:0;pointer-events:none;transition:opacity .15s}.gallery-item:hover .expand-hint,.gallery-item:focus-visible .expand-hint{opacity:1}
dialog{font-size:14px;line-height:1.5;color:white;border:0;padding:0;margin:0;background:#121212;max-width:none;max-height:none}dialog::backdrop{background:#000d}#gallery{width:100%;height:100dvh;overflow:hidden}#gallery[open]{display:flex;flex-direction:column}.gallery-toolbar,.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;flex-shrink:0}.ui-button{font-size:14px;line-height:1.5;padding:10px;min-width:44px;min-height:44px}.ui-button:hover{background:#ffffff20}.gallery-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:0 72px}#gallery-image{max-width:100%;max-height:100%;object-fit:contain;user-select:none}#gallery-image.zoomed{max-width:none;max-height:none;width:auto;height:auto;align-self:flex-start}.gallery-prev,.gallery-next{position:fixed;top:48%;font-size:28px;z-index:2;background:#121212aa}.gallery-prev{left:16px}.gallery-next{right:16px}#gallery-thumbnails{display:flex;gap:8px;overflow:auto;padding:0 24px 18px;flex-shrink:0}#gallery-thumbnails button{padding:3px;border:1px solid #ffffff40;flex-shrink:0}#gallery-thumbnails button[aria-current=true]{border-color:white}#gallery-thumbnails img{width:88px;height:52px;object-fit:contain}.ui-button:focus-visible,#gallery-thumbnails button:focus-visible{outline:2px solid #fff;outline-offset:2px}#contact-dialog{width:min(560px,calc(100% - 32px));margin:auto;padding:28px;background:#fff;color:#000}#contact-dialog h2{font-size:28px;line-height:1.2;margin:32px 0 20px}#contact-dialog a{display:inline-block;margin-top:24px}.contact-note{font-size:12px;margin-top:24px;color:#666}#contact-close{float:right}
#solution{min-height:1811rem}.contact-footer{margin-top:375rem}
@media(max-width:600px){.gallery-toolbar,.gallery-bottom{padding:10px 12px}.gallery-toolbar p{font-size:11px}.gallery-stage{padding:0 44px}.gallery-prev{left:0}.gallery-next{right:0}.ui-button{font-size:12px}#gallery-thumbnails{padding:0 12px 12px}.expand-hint{opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.expand-hint{transition:none}}

/* Shared tracking: -2% of each element’s own font size. */
*,::before,::after{letter-spacing:-.02em}

/* Content media share the same radius at every responsive breakpoint. */
:root{--media-radius:4px}
@media(min-width:1024px){:root{--media-radius:8px}}
@media(min-width:1440px){:root{--media-radius:12px}}
#gallery-image,#gallery-thumbnails img,#gallery-thumbnails button{border-radius:var(--media-radius)}

/* Images open on click without a visible Open overlay on any page. */
.expand-hint{display:none}
