@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@600&family=Source+Serif+4:wght@400;700&display=swap";body{margin:0}#root{min-height:100vh}:root{--color-primary:#121213;--color-secondary:#606368;--color-tertiary:#1a4b8c;--color-neutral:#faf9f5;--color-surface:#fff;--radius-sm:2px;--radius-md:3px;--radius-lg:5px;--space-sm:8px;--space-md:16px;--space-lg:32px;--font-display:"Source Serif 4", serif;--font-body:"Source Serif 4", serif;--font-label:"IBM Plex Sans", sans-serif}*{box-sizing:border-box}body{font-family:var(--font-body);background:var(--color-neutral);color:var(--color-primary);margin:0}a{color:inherit}.app-shell{background:var(--color-neutral)}.container{max-width:90%;margin:0 auto}.nav-shell{z-index:10;background:var(--color-neutral);border-bottom:1px solid #60636833;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:var(--space-md);padding:20px 0;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.4rem;font-weight:700}.nav-links{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;gap:4.5em;font-size:1rem;display:flex}.nav-links a{color:var(--color-primary);text-decoration:none}.nav-cta{background:var(--color-tertiary);color:var(--color-surface);border-radius:var(--radius-md);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;padding:12px 20px;font-size:.72rem;text-decoration:none}.nav-actions{align-items:center;display:inline-flex;position:relative}.nav-cta-button{cursor:pointer;border:0}.nav-dropdown{background:var(--color-surface);border-radius:var(--radius-md);z-index:12;border:1px solid #60636840;gap:8px;min-width:190px;padding:12px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 24px #1212131f}.nav-dropdown a{color:var(--color-primary);font-family:var(--font-label);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius-sm);background:#faf9f599;padding:10px 12px;font-size:.75rem;text-decoration:none}.nav-dropdown a:hover,.nav-dropdown a:focus-visible{background:#1a4b8c1f}.hero-section{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:50vh;padding:96px 0;display:flex}.hero-card{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;border:1px solid #fff6;max-width:680px;padding:36px 32px}.hero-card h1{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 16px;font-size:4rem}.hero-card p{color:var(--color-secondary);margin:0 0 20px;font-size:1rem;line-height:1.7}.typewriter{font-family:var(--font-display)}.typewriter-letter{opacity:0;animation:.4s forwards typewriterFade;display:inline-block;transform:translateY(6px)}.typewriter-cursor{background:var(--color-primary);vertical-align:middle;width:2px;height:28px;margin-left:10px;animation:1s step-end infinite blink;display:inline-block}.section{padding:72px 0}.section-title{font-family:var(--font-display);margin-bottom:32px;font-size:2.2rem}.section-lead{color:var(--color-secondary);max-width:720px;margin:-12px 0 32px;line-height:1.7}.grid{gap:24px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid #60636833;overflow:hidden}.card-media{height:160px;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%;display:block}.work-card{padding:0}.work-media{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.work-media img{object-fit:contain;background:var(--color-neutral);width:100%;height:260px;display:block}.work-overlay{color:var(--color-surface);opacity:0;text-align:left;background:linear-gradient(#12121300 10%,#121213b8 100%);flex-direction:column;justify-content:flex-end;padding:20px;transition:opacity .2s;display:flex;position:absolute;inset:0}.work-media:hover .work-overlay,.work-media:focus-visible .work-overlay{opacity:1}.work-overlay h4{font-family:var(--font-display);margin:0 0 8px;font-size:1.2rem}.work-overlay p{margin:0;font-size:.95rem;line-height:1.6}.work-modal{z-index:40;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.work-modal-backdrop{background:#121213b3;border:0;position:absolute;inset:0}.work-modal-content{z-index:1;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid #60636833;width:min(90%,960px);max-width:960px;max-height:90vh;position:relative;overflow:auto}.work-modal-content img{object-fit:contain;background:var(--color-neutral);width:100%;height:min(55vh,520px);display:block}.work-modal-text{padding:24px}.work-modal-text h3{font-family:var(--font-display);margin:0 0 12px}.work-modal-text p{color:var(--color-secondary);margin:0;line-height:1.7}.work-modal-close{background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-md);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #60636866;padding:8px 12px;font-size:.72rem;position:absolute;top:16px;right:16px}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card-body{padding:24px}.card-body h3,.card-body h4{font-family:var(--font-display);margin:0 0 12px}.card-body p,.card-body ul{color:var(--color-secondary);margin:0;line-height:1.7}.card-body ul{padding-left:18px}.job-card{flex-direction:column;display:flex}.job-type{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--color-tertiary);margin-bottom:12px;font-size:.72rem}@media (width<=720px){#jobs,#partners{display:none}}.job-cta{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;color:var(--color-tertiary);margin-top:16px;font-size:.72rem;text-decoration:none;display:inline-block}.partners-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px;display:grid}.partner-card{border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;text-align:center;border:1px solid #60636833;padding:18px;font-size:.8rem}.partnership-cta{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid #60636833;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.partnership-cta h3{font-family:var(--font-display);margin:0 0 8px}.partnership-cta p{color:var(--color-secondary);margin:0;line-height:1.7}.about-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:32px;display:grid}.about-grid p{color:var(--color-secondary);margin:0 0 16px;line-height:1.7}.about-highlight{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid #60636833;padding:24px}.about-highlight ul{color:var(--color-secondary);margin:0;padding-left:18px}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.social-card{text-align:center;padding:24px}.social-links{justify-content:center;gap:16px;margin-top:16px;display:flex}.social-links a{color:var(--color-primary)}.social-links .icon{width:20px;height:20px}.contact-card{text-align:center;padding:24px}.contact-card strong{margin-bottom:8px;display:block}.contact-line{color:var(--color-secondary);justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}.contact-line-icon{width:18px;height:18px;color:var(--color-primary)}.contact-card .icon{width:24px;height:24px;color:var(--color-primary);margin:0 auto 8px}.ad-slot{border-radius:var(--radius-lg);text-align:center;color:var(--color-secondary);background:var(--color-neutral);border:1px dashed #60636866;margin:48px auto;padding:24px}.ad-slot-small{padding:16px}.ad-label{font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem}.ad-title{font-family:var(--font-display);font-size:1.4rem}footer{text-align:center;color:var(--color-secondary);border-top:1px solid #60636833;padding:32px 0 48px}@keyframes typewriterFade{to{opacity:1;transform:translateY(0)}}@keyframes blink{50%{opacity:0}}@media (width<=720px){.nav-links{display:none}.hero-card h1{font-size:2.6rem}#works .works-slider{scroll-snap-type:x mandatory;gap:24px;padding:0 8px 16px;scroll-padding-inline:8px;display:flex;overflow-x:auto}#works .work-card{scroll-snap-align:start;flex:0 0 80%}}@media (width<=900px){#works .works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){#services .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
