*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:78px}body{background:#f6f5f2;color:#141414;font-family:Libre Franklin,system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}:root{--acc: #8496ab;--ink: #141414;--line: rgba(20, 20, 20, .14)}::selection{background:#8496ab38}a{color:var(--ink);text-decoration:none}a:hover{color:var(--acc)}[data-reveal]{opacity:0;transform:translateY(44px);transition:opacity 1.15s cubic-bezier(.22,1,.36,1),transform 1.15s cubic-bezier(.22,1,.36,1)}[data-reveal].from-left{transform:translate(-56px)}[data-reveal].from-right{transform:translate(56px)}[data-reveal].in{opacity:1;transform:none}section[data-reveal]{transform:translateY(20px)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track{animation:marquee 42s linear infinite}.marquee-wrap:hover .marquee-track{animation-play-state:paused}.logo-box{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid var(--line);font-family:IBM Plex Mono,monospace;font-weight:500;letter-spacing:.04em;color:#555;background:#f6f5f2}input:focus,textarea:focus{border-bottom-color:var(--acc)!important}img{max-width:100%}.hero-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hero-card{display:flex;align-items:center;justify-content:center;padding:14px 18px;border:1px solid var(--ink);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;text-align:center;white-space:nowrap;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s,color .3s}.hero-card:hover{transform:translateY(-3px);border-color:var(--acc);color:var(--ink)}.hero-card--primary{background:var(--acc);border-color:var(--acc);color:#fff}.hero-card--primary:hover{background:#6f8299;border-color:#6f8299;color:#fff}@media(max-width:520px){.hero-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.grid-collapse{grid-template-columns:1fr!important}.hero-photo{max-width:none!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.stats-grid>div:last-child{grid-column:1 / -1}.proj-grid{grid-template-columns:1fr!important;gap:4px!important}.contact-info{border-right:none!important;border-bottom:1px solid var(--line)}}@media(max-width:560px){.stats-grid>div{padding:22px 18px!important}.proj-logo{margin-bottom:6px!important}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.marquee-track{animation:none!important}}#scroll-top{position:fixed;bottom:clamp(20px,4vw,40px);right:clamp(20px,4vw,40px);z-index:40;width:48px;height:48px;border:1px solid var(--acc);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--acc);background:#fff;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s,background .2s,color .2s}#scroll-top.show{opacity:1;transform:none;pointer-events:auto}#scroll-top:hover{background:var(--acc);color:#fff}@media(prefers-reduced-motion:reduce){#scroll-top{transition:opacity .25s,background .2s,color .2s;transform:none}}@media(max-width:560px){.industry-tags>span{flex:1 1 100%;text-align:center}}.proj-archive{border-top:1px solid var(--ink)}.proj-archive-summary{list-style:none;cursor:pointer;user-select:none;display:flex;align-items:center;gap:16px;padding:clamp(26px,3.4vw,38px) 0;color:#0a2154;transition:color .2s}.proj-archive-summary::-webkit-details-marker{display:none}.proj-archive-summary:hover{color:var(--acc)}.proj-archive-title{font-size:clamp(20px,2.2vw,28px);font-weight:700;letter-spacing:-.4px}.proj-archive-count{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;color:var(--acc);border:1px solid var(--line);border-radius:999px;padding:3px 10px}.proj-archive-chevron{margin-left:auto;color:var(--acc);transition:transform .25s}.proj-archive[open] .proj-archive-chevron{transform:rotate(180deg)}@media(prefers-reduced-motion:reduce){.proj-archive-chevron{transition:none}}
