/* Official Google Fonts Latin WOFF2. Licenses are included alongside these files.
   Optional display avoids a late swap; preload fonts used above the fold. */

@font-face {
  font-family: 'Fragment Mono';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/assets/fonts/fragment-mono-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: optional;
  src: url(/assets/fonts/instrument-serif-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/assets/fonts/instrument-serif-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 600;
  font-display: optional;
  src: url(/assets/fonts/manrope-normal-latin-variable.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{--black:#090909;--ink:#f0ede6;--muted:#b0aba3;--line:#f0ede62e;--signal:#ff4a1c;--sans:"Manrope",Arial,sans-serif;--serif:"Instrument Serif",Georgia,serif;--gutter:clamp(1.2rem,4vw,5rem);--ease:cubic-bezier(.32,.72,0,1)}
*{box-sizing:border-box}html{background:var(--black);color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.04em;line-height:.98}h3{line-height:1.2}::selection{background:var(--signal);color:var(--black)}:focus-visible{outline:2px solid var(--signal);outline-offset:5px}[hidden]{display:none!important}.wrap{margin-inline:var(--gutter)}.eyebrow{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.lede{font-size:clamp(1.15rem,2vw,1.8rem);line-height:1.5;max-width:42ch}.text-link{display:inline-flex;align-items:center;gap:2rem;font-size:.83rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.text-link span{color:var(--signal);transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.skip{position:fixed;top:-100px;left:1rem;z-index:200;padding:1rem;background:var(--ink);color:var(--black)}.skip:focus{top:1rem}
.masthead{position:fixed;inset:0 0 auto;height:5.5rem;padding-inline:var(--gutter);display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line);background:#090909ee;z-index:50}.brand{margin-right:auto}.brand img{width:76px;height:38px;object-fit:contain}.language{font-size:.72rem;letter-spacing:.1em;padding:.7rem}.menu-disclosure summary{border:0;background:none;min-width:75px;min-height:44px;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}.menu-disclosure summary span{display:inline-block;margin-left:.6rem}.menu-panel{padding:3rem var(--gutter);background:var(--black)}.menu-panel nav{display:grid}.menu-panel nav a{display:flex;align-items:baseline;gap:2rem;border-bottom:1px solid var(--line);padding:.35rem 0;font:clamp(2.5rem,6.8vw,6.4rem)/1.2 var(--serif);letter-spacing:-.03em}.nav-number{font:.65rem/1 var(--sans);color:var(--muted);letter-spacing:0}.menu-meta{margin-top:2rem;display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem}.menu-panel{position:fixed;inset:5.5rem 0 0;z-index:40;overflow:auto;visibility:hidden;opacity:0;display:grid;align-content:center}.menu-disclosure[open] .menu-panel{visibility:visible;opacity:1}html:has(.menu-disclosure[open]){overflow:hidden}.menu-disclosure summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.menu-disclosure summary::-webkit-details-marker{display:none}.menu-disclosure:not([open]) .menu-panel{display:none}
.hero,.page-heading{position:relative;isolation:isolate;overflow:hidden;min-height:86svh;display:flex;align-items:end}.home-hero{min-height:100svh}.hero-photo{position:absolute;inset:0;z-index:-2}.hero-photo img{height:100%;object-fit:cover}.hero::after,.page-heading::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#09090933,transparent 35%,#09090930 50%,#090909ed 100%)}.hero-copy{padding:9rem var(--gutter) 3.2rem;width:100%}.hero-copy .eyebrow{margin-bottom:1.2rem;color:var(--ink)}.hero h1{font-size:clamp(4.5rem,10vw,11rem);max-width:12ch}.page-heading h1{font-size:clamp(4rem,8vw,9rem);max-width:14ch}.hero-lead{font-size:clamp(1rem,1.8vw,1.5rem);max-width:45ch;margin-top:1.5rem}.home-hero .hero-lead{font-size:.85rem;text-transform:uppercase;letter-spacing:.2em}.scroll-link{display:inline-block;margin-top:2rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.scroll-link span{margin-left:1.2rem}.home-hero img{filter:grayscale(.3)}
.now{display:grid;grid-template-columns:1fr 1fr;min-height:85svh;border-block:1px solid var(--line)}.now-copy{padding:clamp(3rem,7vw,8rem) var(--gutter);display:flex;flex-direction:column;align-items:start;justify-content:center;gap:2rem}.now h2{font-size:clamp(3.5rem,6vw,7rem);max-width:10ch}.now p:not(.eyebrow){color:var(--muted);max-width:40ch}.now-photo{position:relative;min-height:650px}.now-photo img{height:100%;object-fit:cover;position:absolute;inset:0}.now-photo figcaption{position:absolute;bottom:1rem;left:1rem;background:#090909b0;padding:.4rem .7rem;max-width:90%}.contact-close{padding-block:7rem 9rem;display:grid;gap:2rem;justify-items:start}.contact-close h2{font-size:clamp(3.5rem,7vw,7rem)}
.article-heading{padding-block:10rem 4rem}.article-heading h1{font-size:clamp(3.7rem,8vw,9rem);margin-block:1.3rem 2rem;max-width:15ch}.story{padding-block:5rem 6rem;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:4rem}.story-title h2{font-size:clamp(2.8rem,4vw,5rem);margin-top:1rem;max-width:13ch}.prose{max-width:62ch;color:#d8d3c9}.prose p+p{margin-top:1.6rem}.prose p{font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.85}.story-photo{grid-column:1/-1}.career-section{padding-block:3rem 6rem}.career-section h2{font-size:clamp(3rem,5vw,5rem);margin-bottom:3rem}.timeline{margin-left:30%;border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:7rem 1fr;gap:2rem;padding-block:1.8rem;border-bottom:1px solid var(--line)}.timeline time{font-size:.78rem;color:var(--muted);padding-top:.2rem}.timeline h3{font-size:1.1rem;margin-bottom:.5rem}.timeline p{font-size:.9rem;color:var(--muted);max-width:54ch}.photo-spread{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-block:2rem 7rem}.photo-spread img{height:70svh;min-height:500px;object-fit:cover}.photo-spread figure:nth-child(2){margin-top:8rem}figcaption{font-size:.7rem;line-height:1.55;color:var(--muted);padding-top:.7rem}
.bike-archive{padding-bottom:6rem}.bike-archive>h2{font-size:clamp(2.8rem,4vw,5rem);border-top:1px solid var(--line);padding-top:2rem;margin-bottom:3rem}.bike-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem 2rem}.bike-entry:nth-child(3n+1){grid-column:1/-1}.bike-photo{overflow:hidden;background:#0f0f0f}.bike-photo img{height:clamp(300px,36vw,680px);object-fit:contain;transition:transform .6s var(--ease)}.bike-entry:nth-child(3n+1) .bike-photo img{height:clamp(420px,53vw,850px)}.bike-entry:hover img{transform:scale(1.012)}.bike-caption{display:flex;gap:1rem;justify-content:space-between;align-items:end;padding-top:1rem}.bike-caption h3{font-size:clamp(1.2rem,2vw,2rem);margin-top:.45rem}.bike-caption>span{font-size:1.5rem;color:var(--signal)}.archive-type{font:clamp(4rem,12vw,12rem)/1 var(--serif);padding:8rem 2rem}.bike-opening img{max-height:85svh;object-fit:contain}.technical{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;padding-block:2rem 5rem}.technical h2{font-size:clamp(2.8rem,4vw,5rem)}.technical dl{border-top:1px solid var(--line)}.technical dl>div{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.87rem}.technical dt{color:var(--muted)}.gallery-section{padding-bottom:5rem}.gallery-section>h2{font-size:clamp(2.8rem,4vw,5rem);margin-bottom:2rem}.end-link{padding-block:2rem 5rem}
.project-chapter{padding-block:5rem;border-bottom:1px solid var(--line)}.project-photo{display:block;overflow:hidden}.project-photo img{height:75svh;min-height:500px;max-height:950px;object-fit:cover;transition:transform .7s}.project-chapter:first-of-type .project-photo img{object-fit:contain;background:#0f0f0f}.project-photo:hover img{transform:scale(1.012)}.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:1rem 4rem;padding-top:2rem}.project-caption .eyebrow{grid-column:1/-1}.project-caption h2{font-size:clamp(3rem,5vw,6rem)}.project-caption p:not(.eyebrow){max-width:48ch;color:var(--muted)}.title-link>span{font-family:var(--sans);font-size:1.4rem;color:var(--signal);margin-left:.6rem}.chapter-index{display:flex;gap:1rem 2rem;flex-wrap:wrap;padding-block:1rem 2rem;border-block:1px solid var(--line);font-size:.8rem}.chapter-index a{min-height:44px;display:flex;align-items:center}.helmet-chapter{padding-block:6rem;scroll-margin-top:6rem;border-bottom:1px solid var(--line)}.helmet-chapter h2{font-size:clamp(3.5rem,7vw,7rem);margin-block:1.5rem}.helmet-chapter .lede{margin-bottom:3rem;max-width:52ch}.helmet-copy{margin:3rem 0 0 auto;max-width:65ch}.chapter-language{display:block;margin-top:2rem;text-align:right;font-size:.75rem;color:var(--muted)}.principles{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;margin-bottom:3rem}.principles article{padding-block:2rem;border-top:1px solid var(--line)}.principles h2{font-size:3.5rem;margin-bottom:1rem}.principles p{max-width:38ch;color:var(--muted)}
.gallery{position:relative}.gallery-controls{height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.8rem;min-height:60px}.gallery-controls button{width:48px;height:48px;border:1px solid var(--line);background:none;font-size:1.3rem;flex-shrink:0}.gallery-controls button:disabled{opacity:.25;cursor:default}.gallery-controls [role=status]{font-variant-numeric:tabular-nums;font-size:.72rem;text-align:center;color:var(--muted);max-width:60ch}.gallery-figures{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.gallery-figures figure{position:relative;min-width:0;scroll-snap-align:start;margin-bottom:2rem}.gallery-figures img{object-fit:contain;background:#101010;height:76svh;min-height:420px}.gallery figcaption{padding-right:9rem}.enlarge{position:absolute;bottom:0;right:0;font-size:.7rem;border:0;background:none;padding:.3rem .1rem;min-height:44px}.gallery:focus-visible{outline-offset:8px}dialog{border:1px solid var(--line);background:var(--black);color:var(--ink);padding:3rem 1.5rem 1.5rem;width:94vw;max-width:1500px;max-height:94svh}dialog::backdrop{background:#000e;backdrop-filter:blur(6px)}dialog img{height:78svh;object-fit:contain}dialog button{position:absolute;right:.8rem;top:.2rem;width:44px;height:44px;border:0;background:none;font-size:2rem}
.press-download{border-block:1px solid var(--line);padding-block:3rem 5rem}.press-download h2{font-size:4rem;margin-bottom:1rem}.press-download a{display:inline-block;border-bottom:1px solid var(--ink);padding:1rem 0;margin-top:1rem}.press-contact{padding-block:4rem 7rem}.press-contact h2{font-size:clamp(1.6rem,4vw,4.5rem);overflow-wrap:anywhere;margin-top:1.5rem}.footer{border-top:1px solid var(--line);padding-block:4rem 2rem}.footer-name{font:clamp(3rem,9vw,10rem)/1 var(--serif);letter-spacing:-.04em}.footer-bottom{display:flex;gap:2rem;justify-content:space-between;color:var(--muted);font-size:.68rem;letter-spacing:.04em;margin-top:3rem}.hero-copy{animation:enter .9s both}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@view-transition{navigation:auto}
@media(min-width:1000px){.bike-photo img{view-transition-name:var(--bike-transition,none)}}
@media(max-width:700px){html{scroll-padding-top:5rem}.masthead{position:fixed;inset:0 0 auto;height:4.5rem;gap:.4rem}.brand img{width:64px;height:32px}.menu-panel{inset:4.5rem 0 0;padding-block:2rem}.menu-panel nav a{gap:1.5rem;font-size:clamp(2.3rem,9.5vw,4rem)}.menu-meta{font-size:.7rem}.hero,.page-heading{min-height:88svh}.home-hero{min-height:100svh}.hero-copy{padding-top:8rem;padding-bottom:2.3rem}.hero h1{font-size:clamp(3.8rem,17vw,7rem);max-width:10ch}.page-heading h1{font-size:clamp(3.5rem,15vw,6rem)}.hero-lead{max-width:32ch;font-size:1rem}.hero-photo img{object-position:var(--mobile-position,58% 30%)!important}.now{grid-template-columns:1fr}.now-copy{padding-block:4rem;gap:1.6rem}.now h2{font-size:3.8rem}.now-photo{min-height:75svh}.contact-close{padding-block:4rem 5rem}.contact-close h2{font-size:3.5rem}.article-heading{padding-block:7rem 3rem}.article-heading h1{font-size:clamp(3.1rem,14vw,5.5rem);overflow-wrap:break-word}.story{grid-template-columns:1fr;gap:2rem;padding-block:3rem}.story-title h2{font-size:3rem}.timeline{margin-left:0}.timeline article{grid-template-columns:5.5rem 1fr;gap:1rem}.career-section{padding-bottom:3rem}.photo-spread{grid-template-columns:1fr;gap:2rem;margin-bottom:4rem}.photo-spread figure:nth-child(2){margin-top:0}.photo-spread img{height:75svh;min-height:400px}.bike-grid{grid-template-columns:1fr;gap:3rem}.bike-entry:nth-child(3n+1){grid-column:auto}.bike-photo img,.bike-entry:nth-child(3n+1) .bike-photo img{height:70vw;min-height:220px}.bike-caption h3{font-size:1.3rem}.bike-archive{padding-bottom:4rem}.bike-opening{margin-inline:0}.technical{grid-template-columns:1fr;gap:2rem;padding-bottom:3rem}.technical dl>div{font-size:.8rem}.project-chapter{padding-block:3rem}.project-photo img{height:75svh;min-height:380px}.project-caption{grid-template-columns:1fr;gap:1rem}.project-caption h2{font-size:3rem}.helmet-chapter{padding-block:3rem}.helmet-chapter h2{font-size:3.8rem}.helmet-copy{margin-top:2rem}.chapter-language{text-align:left}.gallery-figures img{height:64svh;min-height:300px}.gallery-controls [role=status]{font-variant-numeric:tabular-nums;font-size:.64rem}.gallery figcaption{padding-right:0;padding-bottom:2.5rem}.principles{grid-template-columns:1fr}.principles h2{font-size:3rem}.press-download h2{font-size:3rem}.footer-bottom{gap:1rem;flex-wrap:wrap}.footer-name{font-size:clamp(2.5rem,11vw,5rem)}dialog{width:98vw;padding:3rem .6rem 1rem}dialog img{height:70svh}.end-link{padding-bottom:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}::view-transition-group(*){animation-duration:0s!important}}
