:root{--stage:#a8a8a4;--paper:#f4f4f1;--paper-soft:#ececea;--cyan:#d8f2f0;--ink:#101010;--muted:#6c6c68;--rule:#1a1a1a;--orange:#ff7a32;--orange-dark:#e95e15;--max:1536px;--mono:"SFMono-Regular", "Roboto Mono", "IBM Plex Mono", ui-monospace, monospace;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--stage)}body{background:var(--stage);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;line-height:1.45}a{color:inherit;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s}a:hover,a:focus-visible{color:var(--orange-dark)}:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.site-shell{width:min(100%, var(--max));background:var(--paper);border:2px solid var(--rule);margin:0 auto;box-shadow:0 24px 80px #0000002e}.identity-band{background:var(--cyan);border-bottom:1px solid var(--rule);grid-template-columns:1fr minmax(220px,320px);gap:18px;min-height:158px;padding:46px clamp(28px,5vw,76px) 32px;display:grid}.wordmark{width:fit-content;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(1.85rem,3vw,2.85rem);line-height:.95;display:block}.wordmark-keep{white-space:nowrap}.identity-band p,.identity-note,.browse-label,.nav-link,.folder-label,.project-meta,.project-card h2,.tech-line,.start-band,.footer h2,.footer-bottom,.page-board h1,.service-records h2{font-family:var(--mono)}.identity-band p{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;grid-column:1;margin:10px 0 0;font-size:clamp(1rem,1.5vw,1.3rem)}.identity-note{letter-spacing:.08em;text-transform:uppercase;place-self:start end;max-width:270px;padding-top:6px;font-size:1rem;line-height:1.35}.route-rail{background:var(--ink);min-height:64px;color:var(--paper);border-bottom:1px solid var(--rule);grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:clamp(20px,4vw,64px);padding:0 clamp(28px,5vw,78px);display:grid}.browse-label,.nav-link{letter-spacing:.08em;text-transform:lowercase;font-size:.98rem}.route-links{align-items:center;gap:clamp(18px,4vw,52px);display:flex}.nav-link{min-height:44px;color:var(--paper);align-items:center;display:inline-flex;position:relative}.nav-link[aria-current=page]{color:var(--orange)}.nav-link[aria-current=page]:after{content:"";background:var(--orange);height:2px;position:absolute;bottom:-13px;left:0;right:0}.collection,.page-board{background:linear-gradient(180deg, #fbfbf8 0%, var(--paper) 100%);padding:36px clamp(28px,5vw,76px) 24px}.collection-head{border-bottom:1px dashed var(--rule);grid-template-columns:minmax(0,1fr) minmax(250px,440px);align-items:center;gap:28px;min-width:0;padding-bottom:22px;display:grid}.collection-head>*,.page-board>*{min-width:0}.folder-label{letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;margin:0;font-size:1rem}h1,h2,h3,p{margin-top:0}.collection h1{width:100%;max-width:620px;font-family:var(--mono);letter-spacing:.035em;text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.2}.page-board h1{letter-spacing:.035em;text-transform:uppercase;overflow-wrap:anywhere;width:100%;max-width:780px;margin:0;font-size:clamp(2.5rem,5.4vw,5.8rem);line-height:.95}.collection-head p:last-child,.page-board p{max-width:520px;color:var(--muted);margin-bottom:0;font-size:clamp(1rem,1.4vw,1.25rem)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:24px;display:grid}.project-card{border-right:1px solid var(--rule);min-width:0;padding:0 clamp(18px,2.5vw,40px) 14px;display:grid}.project-card:first-child{padding-left:12px}.project-card:last-child{border-right:0;padding-right:12px}.project-meta{letter-spacing:.08em;justify-content:space-between;margin-bottom:10px;font-size:.92rem;display:flex}.project-card img{aspect-ratio:1.62;object-fit:cover;background:#d8ecea;border:1px solid #d5d5d1;border-radius:8px;width:100%;display:block}.project-card h2{letter-spacing:.04em;margin:18px 0 4px;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.1}.project-card p{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:.92rem}.tech-line{border-top:1px solid var(--rule);color:var(--muted);padding-top:16px;font-size:.88rem;line-height:1.5;display:block}.start-band{background:var(--orange);border-top:1px solid var(--rule);border-bottom:2px solid var(--rule);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;min-height:58px;padding:0 clamp(28px,5vw,78px);font-size:1rem;display:flex}.start-band a{align-items:center;gap:14px;min-height:44px;display:inline-flex}.footer{background:var(--paper);border-top:0;grid-template-columns:1.25fr 1fr 1fr;gap:0;display:grid}.footer section,.footer nav{border-right:1px solid var(--rule);min-height:164px;padding:30px clamp(22px,3vw,46px)}.footer h2{letter-spacing:.07em;text-transform:uppercase;margin:0 0 18px;font-size:1rem}.footer p,.footer a{font-family:var(--mono);color:var(--ink);margin:0 0 10px;font-size:.92rem;line-height:1.45}.footer-contact-items{gap:28px;display:grid}.footer-contact-items p,.footer-contact-items a{margin:0}.footer .footer-contact-items a{min-height:0}.footer a,.contact-list a{align-items:center;min-height:44px;display:inline-flex}.address-lines{white-space:pre-line}.footer nav{grid-template-columns:1fr 1fr;align-content:start;column-gap:28px;display:grid}.footer nav h2{grid-column:1/-1}.footer-bottom{border-top:1px solid var(--rule);color:var(--muted);letter-spacing:.04em;grid-column:1/-1;padding:18px clamp(28px,5vw,78px);font-size:.78rem}.page-board{border-bottom:1px dashed var(--rule);align-content:center;gap:22px;min-height:330px;display:grid}.page-board p{margin-bottom:0}.service-records{background:var(--paper);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,1fr));padding:34px clamp(28px,5vw,76px);display:grid}.service-records article,.route-card{border-right:1px solid var(--rule);min-height:210px;padding:0 clamp(20px,3vw,46px) 0 0}.service-records article+article,.route-card+.route-card{padding-left:clamp(20px,3vw,46px)}.service-records article:last-child,.route-card:last-child{border-right:0;padding-right:0}.service-records span,.route-card span{font-family:var(--mono);letter-spacing:.08em;margin-bottom:46px;display:block}.service-records h2{letter-spacing:.04em;margin-bottom:10px;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1}.route-card h2{font-family:var(--mono);letter-spacing:.04em;margin-bottom:10px;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1}.service-records p,.route-card p{max-width:260px;color:var(--muted)}.app-showcase{background:var(--paper);border-bottom:1px solid var(--rule);gap:22px;padding:34px clamp(28px,5vw,76px);display:grid}.app-feature{border:2px solid var(--rule);background:#fbfbf8;grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);min-height:280px;display:grid}.app-feature.is-reversed{grid-template-columns:minmax(260px,.62fr) minmax(0,1fr)}.app-copy,.app-visual{min-width:0}.app-copy{align-content:center;padding:clamp(28px,4vw,62px);display:grid}.app-feature.is-reversed .app-copy{order:2}.app-copy span,.app-status,.app-copy h2,.app-copy small{font-family:var(--mono)}.app-copy span{letter-spacing:.08em;margin-bottom:28px;display:block}.app-status{background:var(--cyan);border:1px solid var(--rule);width:fit-content;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;padding:6px 10px;font-size:.82rem}.app-copy h2{letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px;font-size:clamp(2rem,4vw,4rem);line-height:.95}.app-copy p:not(.app-status){max-width:520px;color:var(--muted);margin-bottom:0;font-size:clamp(1.02rem,1.5vw,1.24rem)}.app-copy small{border-top:1px solid var(--rule);width:min(100%,420px);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:28px;padding-top:14px;font-size:.82rem;line-height:1.5;display:block}.app-visual{background:var(--cyan);border-left:2px solid var(--rule);place-items:center;padding:clamp(22px,3vw,44px);display:grid}.app-feature.is-reversed .app-visual{border-left:0;border-right:2px solid var(--rule);order:1}.phone-frame{aspect-ratio:390/844;background:#050505;border:2px solid #4f4f4d;border-radius:46px;width:min(100%,270px);padding:12px;position:relative;box-shadow:inset 0 0 0 2px #0d0d0d,inset 0 0 0 5px #151515,0 18px 42px #0000002e}.phone-frame:before{content:"";z-index:2;background:#050505;border-bottom-right-radius:18px;border-bottom-left-radius:18px;width:38%;height:30px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.phone-frame:after{content:"";background:#272727;border:1px solid #4c4c4c;border-left:0;border-radius:0 4px 4px 0;width:5px;height:88px;position:absolute;top:31%;right:-6px}.phone-button{background:#272727;border:1px solid #4c4c4c;border-right:0;border-radius:4px 0 0 4px;width:5px;position:absolute;left:-6px}.phone-button-silent{height:42px;top:17%}.phone-button-volume-up{height:58px;top:24%}.phone-button-volume-down{height:72px;top:33%}.phone-screen{background:#f8f4ed;border-radius:36px;width:100%;height:100%;position:relative;overflow:hidden}.phone-screen img{object-fit:cover;width:100%;height:100%;display:block}.not-found-board{grid-template-columns:minmax(0,1fr) minmax(120px,220px);align-items:center}.not-found-board .button{margin-top:26px}.not-found-icon{border:1px solid var(--rule);justify-self:end;width:min(100%,180px)}.content-band{border-bottom:1px solid var(--rule);grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);display:grid}.band-label,.band-body{min-width:0;padding:clamp(26px,4vw,52px) clamp(28px,5vw,76px)}.band-label{background:var(--cyan);border-right:1px solid var(--rule)}.band-label h2,.band-body h2{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:clamp(1.6rem,3vw,3rem);line-height:1}.page-header{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(280px,420px);display:grid}.page-panel{border-right:1px solid var(--rule);min-width:0;min-height:310px;padding:clamp(32px,5vw,76px)}.page-panel:last-child{border-right:0}.page-panel.accent{background:var(--cyan)}.page-title{max-width:900px;font-family:var(--mono);letter-spacing:.035em;text-transform:uppercase;overflow-wrap:anywhere;margin-bottom:20px;font-size:clamp(3rem,6vw,6.8rem);line-height:.95}.eyebrow,.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:.9rem}.page-lede{max-width:650px;color:var(--muted);font-size:clamp(1.05rem,1.7vw,1.4rem)}.mini-copy{color:var(--muted)}.contact-list,.legal-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.contact-list li,.legal-list li{border-bottom:1px solid var(--rule);gap:5px;padding:14px 0;display:grid}.contact-list li:last-child,.legal-list li:last-child{border-bottom:0}.contact-list strong,.legal-list strong{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}.contact-list span,.legal-list span{color:var(--muted)}.placeholder-warning{background:var(--orange);border:1px solid var(--rule);font-family:var(--mono);margin:28px 0 0;padding:18px}.button{background:var(--orange);border:1px solid var(--rule);min-height:46px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;padding:0 20px;display:inline-flex}.wordmark:hover,.wordmark:focus-visible,.nav-link:hover,.nav-link:focus-visible,.footer a:hover,.footer a:focus-visible,.contact-list a:hover,.contact-list a:focus-visible,.legal-list a:hover,.legal-list a:focus-visible,.button:hover,.button:focus-visible,.project-card:hover,.project-card:focus-visible,.project-card:hover p,.project-card:focus-visible p,.project-card:hover .tech-line,.project-card:focus-visible .tech-line,.route-card:hover,.route-card:focus-visible,.route-card:hover p,.route-card:focus-visible p,.route-card:hover small,.route-card:focus-visible small,.app-feature:hover,.app-feature:focus-visible,.app-feature:hover p,.app-feature:focus-visible p,.app-feature:hover small,.app-feature:focus-visible small{color:var(--orange-dark)}.start-band a:hover,.start-band a:focus-visible{color:var(--paper)}@media (width<=1080px){.identity-band,.collection-head,.project-grid,.service-records,.app-feature,.app-feature.is-reversed,.footer,.page-header,.content-band{grid-template-columns:1fr}.identity-note{justify-self:start}.route-rail{grid-template-columns:1fr;gap:18px;padding-top:18px;padding-bottom:18px}.route-links{flex-wrap:wrap}.nav-link[aria-current=page]:after{bottom:-5px}.project-card,.project-card:first-child,.project-card:last-child,.service-records article,.service-records article+article,.service-records article:last-child,.route-card,.route-card+.route-card,.route-card:last-child,.footer section,.footer nav,.band-label,.page-panel{border-right:0;padding-left:0;padding-right:0}.project-card{border-bottom:1px solid var(--rule);padding:24px 0}.project-card:last-child{border-bottom:0}.collection,.page-board,.service-records,.app-showcase,.band-label,.band-body,.page-panel{padding-left:clamp(22px,6vw,42px);padding-right:clamp(22px,6vw,42px)}.service-records article,.route-card{border-bottom:1px solid var(--rule);min-height:0;padding-top:24px;padding-bottom:24px}.service-records article:last-child,.route-card:last-child{border-bottom:0}.service-records span,.route-card span{margin-bottom:20px}.app-feature,.app-feature.is-reversed{min-height:0}.app-feature.is-reversed .app-copy,.app-feature.is-reversed .app-visual{order:initial}.app-visual,.app-feature.is-reversed .app-visual{border-left:0;border-right:0;border-top:2px solid var(--rule)}.phone-frame{width:min(100%,300px)}.not-found-board{grid-template-columns:1fr}.not-found-icon{justify-self:start}.footer section,.footer nav{border-bottom:1px solid var(--rule);min-height:0;padding:26px clamp(22px,6vw,42px)}}@media (width<=640px){.site-shell{border-left:0;border-right:0}.identity-band{padding-top:34px}.wordmark{font-size:clamp(1.85rem,9vw,3rem)}.collection h1,.page-board h1,.page-title{font-size:clamp(2.25rem,13vw,4rem)}.start-band{flex-direction:column;align-items:flex-start;padding-top:18px;padding-bottom:18px}.footer-bottom{padding-top:18px;padding-bottom:18px}.footer nav{grid-template-columns:1fr}}@media (width<=480px){.collection h1,.page-board h1{font-size:2.25rem;line-height:1.08}}
