:root{--canvas:#f8f6f2;--canvas-soft:#f2efe9;--ink:#1f2225;--muted-ink:#5f605d;--rule:#d9d2c7;--accent:#c96f2c;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,:before,:after{box-sizing:border-box}h1,h2,h3,p,ol{margin:0}img,svg{max-width:100%;display:block}html{scroll-behavior:smooth;background:var(--canvas)}body{background:radial-gradient(circle at 75% 4%, #ffffff94, transparent 31rem), var(--canvas);min-width:320px;color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.55}a{color:inherit}.site-shell{width:calc(100% - 7.5rem);max-width:88rem;margin-inline:auto}.site-header__inner{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:6.25rem;display:flex}.wordmark,.site-nav,.section-label,.app-card__category,.site-footer{font-family:var(--font-mono)}.wordmark{letter-spacing:.27em;text-transform:uppercase;white-space:nowrap;font-size:clamp(.9rem,1.45vw,1.3rem);font-weight:500;line-height:1;text-decoration:none}.site-nav{letter-spacing:.04em;align-items:center;gap:clamp(1.5rem,4vw,3.75rem);font-size:.82rem;display:flex}.site-nav a{padding-block:.4rem;text-decoration:none;position:relative}.site-nav a:after{background:var(--accent);content:"";transform-origin:100%;height:1px;transition:transform .18s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.site-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.hero{padding-block:clamp(4rem,4.5vw,4.35rem) clamp(3rem,3.5vw,3.4rem)}.hero__content{max-width:64rem;margin-left:clamp(0rem,4.7vw,4.25rem)}.hero h1{letter-spacing:-.045em;text-wrap:balance;max-width:61rem;margin:0;font-size:clamp(2.7rem,3.4vw,3.25rem);font-weight:400;line-height:1.13}.hero h1 span{display:block}.accent-rule{background:var(--accent);width:2.8rem;height:1px;margin-block:2rem 1.55rem}.hero p{max-width:38rem;margin:0 0 1.5rem;font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.55}.text-link{border-bottom:1px solid var(--accent);align-items:center;gap:.55rem;font-size:.98rem;font-weight:500;line-height:1.75;text-decoration:none;transition:border-color .16s,color .16s;display:inline-flex}.text-link span{transition:transform .16s}.text-link:hover,.text-link:focus-visible{color:var(--accent)}.text-link:hover span,.text-link:focus-visible span{transform:translate(.18rem)}.apps-section{background:#f2efe994;border-top:1px solid #d9d2c773;padding-block:2.45rem 3rem;scroll-margin-top:1rem}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.65rem;padding-inline:clamp(0rem,4.7vw,4.25rem);display:flex}.section-label{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:500}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.55rem,2vw,2rem);font-weight:400;line-height:1.25}.section-heading__link{flex:none;margin-bottom:.1rem}.app-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding-inline:clamp(0rem,4.4vw,4rem);display:grid}.app-card{border:1px solid var(--rule);background:#ffffff4f;border-radius:.38rem;flex-direction:column;min-height:14.4rem;padding:1.5rem 1.35rem 1.25rem;transition:border-color .18s,transform .18s,background .18s;display:flex}.app-card:hover{border-color:color-mix(in srgb, var(--app-accent) 55%, var(--rule));background:#ffffff8c;transform:translateY(-.2rem)}.app-card__heading{align-items:center;gap:1rem;display:flex}.app-card__heading img{object-fit:contain;border-radius:.8rem;flex:none;width:3.9rem;height:3.9rem}.app-card h3{letter-spacing:-.02em;margin:0 0 .18rem;font-size:1.12rem;font-weight:600;line-height:1.25}.app-card__category{color:var(--muted-ink);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.62rem;font-weight:500;line-height:1.4}.app-card__description{margin:1rem 0 1.05rem 4.9rem;font-size:.88rem;line-height:1.52}.app-card__link{border-color:var(--app-accent);align-self:flex-start;margin:auto 0 0 4.9rem;font-size:.84rem}.about-section{scroll-margin-top:1rem}.about-section .site-shell{border-bottom:1px solid var(--rule)}.about-section__intro{text-align:center;max-width:59rem;margin-inline:auto;padding:clamp(4.5rem,7vw,6.75rem) 2rem 0}.about-section h2{letter-spacing:-.045em;margin:0;font-size:clamp(2.75rem,4.4vw,4.25rem);font-weight:400;line-height:1.08}.about-section__copy{max-width:50rem;color:var(--muted-ink);margin:1.35rem auto 0;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.6}.history-timeline{padding:clamp(5rem,8vw,7rem) clamp(0rem,3.8vw,3.5rem) clamp(5rem,7vw,6.5rem);position:relative}.history-timeline:before{background:color-mix(in srgb, var(--ink) 72%, transparent);content:"";height:1px;position:absolute;top:calc(clamp(5rem,8vw,7rem) + 3.1rem);left:clamp(0rem,3.8vw,3.5rem);right:clamp(0rem,3.8vw,3.5rem)}.history-timeline__list{grid-template-columns:repeat(var(--milestone-count), minmax(0, 1fr));margin:0;padding:0;list-style:none;display:grid}.history-timeline__item{text-align:center;min-width:0;position:relative}.history-timeline__marker{justify-content:center;align-items:end;height:2.75rem;display:flex}.history-timeline__marker>span{border:1px solid var(--rule);background:var(--canvas);min-width:2.15rem;height:2.15rem;color:var(--ink);font-family:var(--font-mono);letter-spacing:.04em;border-radius:999px;justify-content:center;align-items:center;padding-inline:.38rem;font-size:.58rem;font-weight:600;display:inline-flex}.history-timeline__icons{justify-content:center;align-items:end;gap:.35rem;display:flex}.history-timeline__icons img{object-fit:contain;border-radius:.48rem;width:2.1rem;height:2.1rem}.history-timeline__node{z-index:1;border:2px solid var(--canvas);background:var(--accent);width:.58rem;height:.58rem;box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin:.35rem auto 0;display:block;position:relative}.history-timeline__meta{padding:.8rem .7rem 0}.history-timeline__year{font-family:var(--font-mono);letter-spacing:.08em;margin:0;font-size:.72rem;font-weight:600}.history-timeline__title{max-width:11rem;color:var(--muted-ink);margin:.35rem auto 0;font-size:.78rem;line-height:1.4}.history-timeline__item.is-current .history-timeline__node{background:var(--ink);width:.86rem;height:.86rem;box-shadow:0 0 0 1px var(--ink);margin-top:.2rem}.history-timeline__item.is-current .history-timeline__year,.history-timeline__item.is-current .history-timeline__title{color:var(--accent)}.site-footer__inner{color:var(--muted-ink);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.8rem 2.2rem;font-size:.68rem;display:flex}.site-footer p{margin:0}.site-footer a{text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--ink)}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=70rem){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=46rem){.site-shell{width:calc(100% - 2.5rem)}.site-header__inner{min-height:5.4rem}.wordmark{letter-spacing:.19em;font-size:.72rem}.site-nav{gap:1rem;font-size:.7rem}.hero{padding-block:4rem 4.5rem}.hero h1{font-size:clamp(2.25rem,9.5vw,2.7rem);line-height:1.08}.hero p{font-size:1rem}.section-heading{flex-direction:column;align-items:start;gap:1rem}.app-grid{grid-template-columns:1fr}.app-card{min-height:13.5rem}.about-section__intro{text-align:left;padding-inline:0}.about-section__copy{margin-inline:0}.history-timeline{padding:3.75rem 0 4.5rem}.history-timeline:before{width:1px;height:auto;top:4.35rem;bottom:5rem;left:.34rem}.history-timeline__list{flex-direction:column;gap:2.5rem;display:flex}.history-timeline__item{text-align:left;min-height:3rem;padding-left:3rem}.history-timeline__marker{justify-content:flex-start;height:auto;margin-bottom:.45rem}.history-timeline__icons{justify-content:flex-start}.history-timeline__node,.history-timeline__item.is-current .history-timeline__node{margin:0;position:absolute;top:.42rem;left:0}.history-timeline__meta{padding:0}.history-timeline__title{max-width:none;margin-inline:0}.site-footer__inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
