:root{--bg:#252b2c;--surface:#303738;--text:#e5e2d9;--muted:#adb3b1;--accent:#ddba0e;--line:#56605f;--max:1400px;--pad:clamp(1.25rem, 4vw, 4rem);--header-logo-width:136px;--header-nav-font-size:1.265rem;--hero-title-font-size:clamp(2.38rem, 5.6vw, 5.18rem);color:var(--text);background:var(--bg);font-synthesis:none;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}.skip-link{z-index:20;color:#111;background:var(--accent);padding:.8rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:10;width:100%;max-width:1400px;min-height:220px;padding:1.25rem var(--pad) 0;justify-content:space-between;align-items:flex-start;margin:auto;display:flex;position:relative}.brand{flex:none;align-items:center;gap:.8rem;font-weight:600;text-decoration:none;display:flex}.brand img{z-index:1;width:var(--header-logo-width);visibility:visible;opacity:1;height:auto;display:block;position:relative}.brand span{display:none}.site-header nav{align-items:flex-start;gap:1.5rem;margin-top:1rem;margin-left:auto;display:flex}.site-header nav a{color:var(--muted);font-size:var(--header-nav-font-size);line-height:1.2;text-decoration:none}.site-header nav a:hover{color:var(--accent)}.menu-toggle{display:none}.hero{width:100%;max-width:1400px;min-height:auto;padding:clamp(2rem, 4vw, 4rem) var(--pad) 1.5rem;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,5vw,6rem);margin:auto;display:grid}.hero h1{font-size:var(--hero-title-font-size);margin:.2em 0;line-height:.88}.hero-kicker{margin:.9rem 0 .4rem;font-size:clamp(1.6rem,3vw,2.6rem);font-weight:600}.lede{max-width:700px;color:var(--muted);font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.75}.promise{max-width:640px;font-weight:600;line-height:1.7}.button{border:1px solid var(--accent);color:var(--accent);margin-top:1rem;padding:.9rem 1.2rem;text-decoration:none;display:inline-block}.hero-art{position:relative}.hero-art img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.7);border-radius:50% 50% 4px 4px;width:100%}.hero-art span{color:#111;background:var(--accent);letter-spacing:.08em;text-transform:uppercase;padding:1rem;font-size:.75rem;position:absolute;bottom:2rem;right:-1rem}.section{width:100%;max-width:var(--max);padding:clamp(2.5rem, 5vw, 5rem) var(--pad);margin:auto;scroll-margin-top:1rem}#technologies{padding-top:11.5rem}.section-heading{border-top:1px solid var(--line);grid-template-columns:1fr;margin-bottom:clamp(1.5rem,3vw,3rem);padding-top:1rem;display:grid}.section-heading p{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .4rem;font-size:1.25rem;font-weight:600}.section h2{max-width:900px;margin:0;font-size:clamp(2.1rem,5vw,4.7rem);line-height:1.05}.tech-explorer{grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(2rem,5vw,5rem);display:grid}.tech-tabs{flex-direction:column;display:flex}.tech-tabs button{border:0;border-bottom:1px solid var(--line);color:var(--muted);text-align:left;cursor:pointer;background:0 0;grid-template-columns:1rem 1fr;padding:1rem 0;font-size:1.15rem;line-height:1.4;display:grid}.tech-tabs button:before{content:"•";color:var(--accent);line-height:1.4}.tech-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--text);padding-left:.8rem}.tech-figure{background:var(--surface);align-self:start;margin:0;padding:1rem;position:sticky;top:2rem}.tech-figure img{object-fit:contain;background:#fff;width:100%;height:440px}.tech-figure figcaption{color:var(--muted);padding:1rem .25rem .25rem}.noscript-gallery{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.noscript-gallery figure{margin:0}.noscript-gallery figcaption{padding:.5rem}.service-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.service-grid article{border-top:2px solid var(--accent);background:var(--surface);padding:clamp(1.2rem,3vw,2.3rem)}.service-grid img{object-fit:cover;border-radius:50%;width:110px;height:110px;margin:2rem auto}.service-grid h3{font-size:1.5rem}.service-grid p{color:var(--muted);line-height:1.75}.philosophy ul{grid-template-columns:repeat(2,1fr);gap:0 3rem;padding:0;list-style:none;display:grid}.philosophy li{border-bottom:1px solid var(--line);padding:1.4rem 0;font-size:1.3rem;line-height:1.55}.philosophy li:before{content:"✦";color:var(--accent);margin-right:1rem}.rail-controls{justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.rail-controls span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.rail-controls button{border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0}.application-rail{scroll-snap-type:x mandatory;grid-auto-columns:min(72vw,450px);grid-auto-flow:column;gap:1rem;padding-bottom:1rem;display:grid;overflow-x:auto}.application-card{background:var(--surface);scroll-snap-align:start}.application-card img{aspect-ratio:1;object-fit:cover;width:100%}.application-card div{align-items:baseline;gap:1rem;padding:1.3rem;display:flex}.application-card span{color:var(--accent);font-size:.7rem}.application-card h3{margin:0;font-size:1.3rem}.contact{border-top:1px solid var(--line);text-align:center}.contact>p{color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.contact h2{margin:1rem auto 3rem}.contact a{width:max-content;margin:1rem auto;display:block}.contact-link{text-underline-offset:8px;font-size:clamp(1.7rem,4vw,4rem);text-decoration-thickness:1px}footer{width:100%;max-width:var(--max);padding:2rem var(--pad);border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:1rem;margin:auto;font-size:.8rem;display:flex}footer img{width:auto;height:32px}footer p{margin-right:auto}.footer-noop{color:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem 0}.footer-noop:hover,.footer-noop:focus-visible{color:var(--accent)}@media (width<=1200px) and (width>=801px){.site-header{min-height:170px}.brand img{width:102px}}@media (width<=800px){.site-header{min-height:110px}.brand img{width:68px}.menu-toggle{border:1px solid var(--line);color:inherit;background:0 0;padding:.5rem .8rem;display:block}.site-header nav{top:104px;right:var(--pad);left:var(--pad);background:var(--surface);flex-direction:column;padding:1rem;display:none;position:absolute}.site-header nav.open{display:flex}.site-header nav a{padding:.35rem 0;font-size:1.5rem;line-height:1.2}.hero{grid-template-columns:1fr;padding-top:2rem}.hero-art{max-width:520px}.tech-explorer{grid-template-columns:1fr}.tech-figure{position:static}.tech-figure img{height:60vw;min-height:280px}.service-grid,.philosophy ul{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.hero .lede,.hero .promise{font-size:clamp(1.2rem,1.8vw,1.5rem)}.tech-tabs button,.service-grid p{font-size:1.3rem}.error-page{background-color:var(--bg);background-image:linear-gradient(#252b2cb8,#252b2ce6),url(/assets/brand/backdrop.jpg);background-position:50%,50%;background-repeat:no-repeat;background-size:cover,min(100vw,1583px);background-attachment:fixed;min-height:100vh}.error-shell{flex-direction:column;width:min(100% - 2.5rem,1400px);min-height:100vh;margin:auto;padding:clamp(1.5rem,4vw,4rem) 0;display:flex}.error-brand{width:clamp(80px,10vw,136px)}.error-brand img{width:100%;height:auto}.error-card{border-top:2px solid var(--accent);backdrop-filter:blur(8px);background:#303738eb;width:min(100%,760px);margin:auto 0;padding:clamp(2rem,5vw,5rem);box-shadow:0 24px 80px #0000004d}.error-code{color:var(--accent);letter-spacing:.16em;margin:0 0 .5rem;font-size:clamp(1.3rem,3vw,2rem);font-weight:600}.error-card h1{max-width:680px;margin:0 0 1.25rem;font-size:clamp(2.6rem,7vw,6rem);line-height:.98}.error-card>p:not(.error-code){max-width:600px;color:var(--muted);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.65}.error-home{border:1px solid var(--accent);color:var(--accent);margin-top:1rem;padding:.9rem 1.2rem;text-decoration:none;display:inline-block}.error-home:hover,.error-home:focus-visible{color:#111;background:var(--accent)}
