@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{
    --asphalt:#f4f8fc;
    --surface:#ffffff;
    --surface-raised:#eaf2fa;
    --hairline:#c8d8e8;
    --chalk:#142b43;
    --muted:#60758a;
    --lime:#d7ff32;
    --blue:#1f629d;
    --price:#15558b;
    --radius-s:2px;
    --radius-m:4px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}

  html{scroll-behavior:smooth;}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  body{
    background:var(--asphalt);
    color:var(--chalk);
    font-family:'Work Sans', sans-serif;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  body, body *{font-family:'Inter',sans-serif!important;}
  .cart-svg{font-family:initial!important;}

  img{max-width:100%; display:block;}

  a{color:inherit; text-decoration:none;}

  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}

  .eyebrow{
    font-family:'Space Mono', monospace;
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--lime);
  }

  h1,h2,h3{
    font-family:'Oswald', sans-serif;
    text-transform:uppercase;
    line-height:1.02;
    letter-spacing:.01em;
  }

  :focus-visible{
    outline:2px solid var(--lime);
    outline-offset:3px;
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  nav{
    position:relative;
    display:flex; align-items:center; justify-content:space-between;
    padding:11px 28px;
    max-width:1180px; margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:12px; perspective:300px;}
  .brand img{height:52px; width:52px; border-radius:50%; transform-origin:left center; backface-visibility:hidden; animation:logo-door-open .9s cubic-bezier(.2,.8,.2,1) .15s both;}
  .brand-text{font-family:'Oswald', sans-serif; font-weight:600; letter-spacing:.04em; font-size:17px; text-transform:uppercase;}
  .brand-text span{display:block; font-family:'Space Mono', monospace; font-size:10px; letter-spacing:.1em; color:var(--muted); text-transform:uppercase; font-weight:400;}
  @keyframes logo-door-open{
    from{opacity:0; transform:rotateY(-95deg);}
    65%{opacity:1; transform:rotateY(10deg);}
    to{opacity:1; transform:rotateY(0);}
  }

  .nav-links{display:flex; align-items:center; gap:32px;}
  @media (min-width:861px){.nav-links{position:absolute; left:50%; transform:translateX(-50%);}}
  .nav-links a, .nav-category-toggle{
    font-family:'Space Mono', monospace;
    font-size:14px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    color:var(--chalk);
    transition:color .15s ease;
    position:relative;
  }
  .nav-category-toggle{appearance:none; display:inline-flex; align-items:center; gap:2px; padding:0; height:24px; border:0; background:transparent; cursor:pointer;}
  .nav-category-toggle span{display:inline-block; position:relative; width:13px; height:13px; margin-left:1px; font-size:0; transform:translateY(-2px); transition:transform .15s ease;}
  .nav-category-toggle span::before{content:''; position:absolute; width:8px; height:8px; left:1px; top:0; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg);}
  .nav-category-toggle::after{content:''; position:absolute; left:0; right:0; bottom:-7px; height:3px; background:currentColor; transform:scaleX(0); transform-origin:center; transition:transform .15s ease;}
  .nav-category-toggle:hover::after, .nav-category-toggle[aria-expanded="true"]::after{transform:scaleX(1);}
  .nav-category-toggle:hover span, .nav-category-toggle[aria-expanded="true"] span{transform:translateY(1px);}
  .nav-links a:hover, .nav-category-toggle:hover, .nav-search-toggle:hover{color:var(--lime); animation:nav-hover-pop .18s ease-out both;}
  @keyframes nav-hover-pop{from{transform:translateY(0)}to{transform:translateY(-2px)}}
  .nav-search-toggle{appearance:none; position:relative; width:38px; height:38px; border:0; background:transparent; color:var(--chalk); cursor:pointer; font-size:0; padding:0;}
  .nav-search-toggle{display:block;}
  .nav-search-toggle::before{content:''; position:absolute; width:17px; height:17px; left:7px; top:6px; border:3px solid currentColor; border-radius:50%;}
  .nav-search-toggle::after{content:''; position:absolute; width:12px; height:3px; left:23px; top:25px; background:currentColor; transform:rotate(45deg); transform-origin:left center; border-radius:2px;}
  .nav-search-toggle:hover{color:var(--lime);}
  .nav-cart-toggle{position:relative; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; color:var(--chalk); font-size:0;}
  .nav-cart-toggle::before,.nav-cart-toggle::after{display:none;}
  .nav-cart-toggle:hover{color:var(--lime);}
  .cart-svg{width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
  .cart-count{position:absolute; top:0; right:0; min-width:16px; height:16px; padding:0 4px; border-radius:10px; background:var(--lime); color:#111; font:700 10px/16px 'Space Mono',monospace; text-align:center;}

  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Space Mono', monospace;
    font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    padding:11px 20px;
    border-radius:var(--radius-s);
    border:1px solid var(--hairline);
    transition:all .15s ease;
    white-space:nowrap;
  }
  .btn-primary{ background:var(--lime); color:var(--asphalt); border-color:var(--lime); font-weight:700;}
  .btn-primary:hover{ background:#c3ec2c; }
  .btn-ghost{ color:var(--chalk); }
  .btn-ghost:hover{ border-color:var(--chalk); }

  .nav-cta{display:flex; gap:10px;}
  .admin-link{appearance:none; background:none; border:0; cursor:pointer; color:var(--muted); font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; padding:8px;}
  .admin-link:hover{color:var(--lime);}

  .menu-toggle{display:none; background:none; border:none; color:var(--chalk); font-size:22px; cursor:pointer;}
  .mobile-menu-toggle{display:none;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:max(100vh, 940px);
    display:flex; align-items:flex-end;
    overflow:hidden;
    padding-top:90px;
  }
  .hero-bg{
    position:absolute; inset:0;
    background-image:linear-gradient(180deg, rgba(20,23,26,.35) 0%, rgba(20,23,26,.55) 45%, var(--asphalt) 96%), url('../images/hero-bikes-new.png');
    background-size:cover;
    background-position:center 20%;
    filter:saturate(0.9);
  }
  .hero-content{
    position:relative; z-index:2;
    width:100%;
    padding-bottom:64px;
  }
  .meter-line{
    display:flex; flex-wrap:wrap; gap:6px 18px;
    font-family:'Space Mono', monospace;
    font-size:12px; letter-spacing:.06em;
    color:var(--muted);
    margin-bottom:22px;
    text-transform:uppercase;
  }
  .meter-line b{color:var(--lime); font-weight:700;}
  .meter-line .dot{color:var(--hairline);}

  .hero h1{
    font-size:clamp(40px, 8vw, 92px);
    max-width:900px;
    color:var(--chalk);
    text-shadow:0 2px 30px rgba(0,0,0,.4);
  }
  .hero h1 em{
    font-style:normal;
    color:var(--lime);
  }
  .hero p{
    max-width:520px;
    color:#cfd4d8;
    font-size:17px;
    margin-top:20px;
  }
  .hero-actions{
    display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;
  }

  /* ---------- SECTION SHELL ---------- */
  section{ padding:110px 0; border-bottom:1px solid var(--hairline); }
  .section-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    gap:24px; margin-bottom:56px; flex-wrap:wrap;
  }
  .section-head h2{ font-size:clamp(30px,4.5vw,48px); }
  .section-head p{ color:var(--muted); max-width:380px; font-size:15px; }

  /* ---------- BIKES / SPEC TICKETS ---------- */
  .bikes-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:28px;
  }
  .ticket{
    background:var(--surface);
    border:1px solid var(--hairline);
    border-radius:var(--radius-m);
    overflow:hidden;
    position:relative;
    transition:border-color .2s ease, transform .2s ease;
  }
  .ticket:hover{ border-color:#4a525a; transform:translateY(-3px); }
  .ticket-photo{ position:relative; aspect-ratio:4/3; overflow:hidden; }
  .ticket-photo img{ width:100%; height:100%; object-fit:cover; }
  .product-gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--asphalt);}
  .product-gallery img{width:100%; aspect-ratio:4/3; object-fit:cover;}
  .ticket-badge{
    position:absolute; top:14px; left:14px;
    background:transparent;
    border:0;
    color:#fff;
    font-family:'Space Mono', monospace;
    font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
    padding:0; border-radius:0;
    text-shadow:0 2px 8px rgba(0,0,0,.9);
  }
  .ticket-price{
    position:absolute; bottom:14px; right:14px;
    background:var(--blue); color:#fff;
    font-family:'Work Sans', sans-serif; font-weight:700;
    font-size:15px; padding:8px 14px; border-radius:var(--radius-s);
  }
  .ticket-body{ padding:26px 26px 28px; }
  .ticket-body h3{ font-size:26px; margin-bottom:2px; }
  .ticket-card-price{margin:5px 0 4px;color:var(--price);font-size:20px;font-weight:800;}
  .ticket-sub{ color:var(--muted); font-size:13px; font-family:'Space Mono', monospace; margin-bottom:18px; }
  .ticket-perf{
    border-top:1px dashed var(--hairline);
    margin:0 0 18px;
  }
  .spec-list{ list-style:none; }
  .spec-list li{
    display:flex; justify-content:space-between; gap:10px;
    font-family:'Space Mono', monospace; font-size:12.5px;
    padding:8px 0;
    border-bottom:1px solid rgba(255,255,255,.05);
    color:#c6cbcf;
  }
  .spec-list li span:first-child{ color:var(--muted); text-transform:uppercase; letter-spacing:.04em;}
  .spec-list li:last-child{border-bottom:none;}
  .ticket-cta{ margin-top:20px; display:flex; }
  .ticket-cta .btn{background:#111820;color:#fff;border-color:#111820;font-size:18px;font-weight:800;}
  .ticket-cta .btn:hover{background:#000;color:#fff;border-color:#000;}
  .ticket--sold-out .ticket-photo img{ filter:grayscale(1) brightness(.55); }
  .ticket--sold-out .ticket-photo::after{
    content:'SOLD OUT';
    position:absolute; inset:0;
    display:grid; place-items:center;
    background:rgba(20,23,26,.28);
    color:var(--chalk);
    font-family:'Oswald', sans-serif;
    font-size:36px; font-weight:700; letter-spacing:.1em;
  }
  .ticket--sold-out .ticket-badge,
  .ticket--sold-out .ticket-price{ display:none; }
  .ticket--sold-out .ticket-cta .btn{ display:none; }
  .ticket--sold-out .ticket-cta::before{
    content:'Currently unavailable';
    color:var(--muted);
    font-family:'Space Mono', monospace;
    font-size:12px; text-transform:uppercase;
  }
  .ticket--sold-out .ticket-cta::before,
.bike-copy > .catalog-message{
    color:var(--chalk);
    font-family:'Inter',sans-serif;
    font-size:18px;
    font-weight:800;
    letter-spacing:.02em;
  }
  .brand img{height:68px; width:68px;}
  @media (max-width:600px){.brand img{height:64px; width:64px;}}
  @media (min-width:861px){
    nav{max-width:none; width:100%;}
    .nav-links a,.nav-category-toggle{font-size:17px;}
    .nav-search-toggle{width:30px; height:30px; flex:0 0 30px;}
    .nav-search-toggle::before{width:14px; height:14px; left:5px; top:4px; border-width:2px;}
    .nav-search-toggle::after{width:9px; height:2px; left:18px; top:18px;}
  }

  /* ---------- SUBTLE SHOP MOTION ---------- */
  .ticket{transition:border-color .2s ease,transform .24s ease,box-shadow .24s ease;}
  .ticket:hover{transform:translateY(-7px);box-shadow:0 14px 30px rgba(20,43,67,.16);}
  .ticket-photo img{transition:transform .35s ease,filter .35s ease;}
  .ticket:hover .ticket-photo img{transform:scale(1.045);}
  .btn{transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;}
  .btn:hover{transform:translateY(-2px);}
  .nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:center;transition:transform .18s ease;}
  .nav-links a:hover::after{transform:scaleX(1);}
  .scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
  .scroll-reveal.is-visible{opacity:1;transform:translateY(0);}
  .nav-cart-toggle.cart-bounce{animation:cart-bounce .5s ease;}
  @keyframes cart-bounce{0%,100%{transform:translateY(0)}35%{transform:translateY(-8px) scale(1.12)}65%{transform:translateY(1px) scale(.96)}}
  @media (prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}.ticket:hover,.btn:hover{transform:none}.ticket:hover .ticket-photo img{transform:none}.nav-cart-toggle.cart-bounce{animation:none}}
  .ticket-photos{position:absolute; left:14px; bottom:14px; background:var(--asphalt); border:1px solid var(--hairline); color:var(--chalk); font:700 12px 'Space Mono',monospace; letter-spacing:.06em; padding:7px 10px; border-radius:var(--radius-s);}
  .ticket-link{display:block; height:100%;}
  .catalog-message{grid-column:1 / -1; color:var(--muted); font-family:'Space Mono',monospace; font-size:13px; padding:24px 0;}
  .catalog-reset{background:none; border:0; color:var(--lime); cursor:pointer; font:inherit; text-decoration:underline;}

  /* ---------- ADMIN ---------- */
  .admin-modal{position:fixed; z-index:500; inset:0; display:grid; place-items:center; padding:22px; background:rgba(0,0,0,.75); overflow:auto;}
  .admin-modal[hidden]{display:none;}
  .admin-open{overflow:hidden;}
  .admin-dialog{position:relative; width:min(920px,100%); max-height:calc(100vh - 44px); overflow:auto; background:var(--surface); border:1px solid var(--hairline); border-radius:var(--radius-m); padding:38px; box-shadow:0 24px 80px rgba(0,0,0,.5);}
  .admin-dialog h2{font-size:34px; margin:8px 0 12px;}
  .admin-dialog p{color:var(--muted); max-width:620px;}
  .admin-close{position:absolute; right:14px; top:10px; color:var(--chalk); background:none; border:0; font-size:32px; line-height:1; cursor:pointer;}
  .admin-form{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:25px;}
  .admin-form label{display:grid; gap:7px; color:var(--muted); font-family:'Space Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase;}
  .admin-form input,.admin-form textarea,.admin-form select{width:100%; background:var(--asphalt); border:1px solid var(--hairline); border-radius:var(--radius-s); padding:11px; color:var(--chalk); font:15px 'Work Sans',sans-serif; text-transform:none; letter-spacing:normal;}
  .admin-form textarea{resize:vertical; line-height:1.45;}
  .admin-form .full-width{grid-column:1 / -1;}
  .upload-help{grid-column:1 / -1; font-size:12px; margin:0!important;}
  .admin-dialog [hidden]{display:none!important;}
  .admin-dialog button.btn-ghost{background-color:var(--asphalt)!important; color:var(--chalk)!important;}
  .admin-heading{display:flex; justify-content:space-between; align-items:flex-start; gap:16px;}
  .admin-note{font-size:14px; margin-top:12px;}
  .form-actions{display:flex; gap:10px; flex-wrap:wrap;}
  .admin-status{min-height:24px; margin-top:16px; color:var(--lime)!important; font-family:'Space Mono',monospace; font-size:12px;}
  .admin-status.is-error{color:#ff8484!important;}
  .admin-products{margin-top:34px; border-top:1px solid var(--hairline);}
  .admin-orders{margin-top:34px; border-top:1px solid var(--hairline); padding-top:24px;}.admin-orders h3{font-size:26px; margin-bottom:14px;}.admin-order{display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--hairline);}.admin-order strong,.admin-order span{display:block;}.admin-order strong{font:600 19px 'Oswald',sans-serif; text-transform:uppercase;}.admin-order span{color:var(--muted); font:11px 'Space Mono',monospace; margin-top:5px;}.admin-order .order-address{color:var(--chalk); font-weight:700; font-size:12px; line-height:1.5;}.admin-order .order-address b{display:inline; color:var(--price); font-weight:700;}.admin-order>b,.admin-order div> b{display:block; color:var(--price); font:700 15px 'Work Sans',sans-serif; margin-bottom:8px;}.admin-order select{padding:7px; border:1px solid var(--hairline); background:var(--surface); color:var(--chalk);}
  .admin-product{display:flex; justify-content:space-between; gap:16px; align-items:center; padding:15px 0; border-bottom:1px solid var(--hairline);}
  .admin-product strong{display:block; font-family:'Oswald',sans-serif; font-size:20px; text-transform:uppercase;}
  .admin-product span{color:var(--muted); font-family:'Space Mono',monospace; font-size:11px;}
  .admin-product>div:last-child{display:flex; gap:8px;}
  .btn-danger{border-color:#8f3f3f; color:#ff9a9a; background:transparent; cursor:pointer;}
  .btn-danger:hover{background:#552b2b;}

  /* ---------- BIKE DETAILS ---------- */
  .bike-page{min-height:100vh; padding:150px 0 90px;}
  .bike-detail{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:48px; align-items:start;}
  .bike-gallery{background:var(--surface); border:1px solid var(--hairline); border-radius:var(--radius-m); padding:14px;}
  .bike-gallery>#main-bike-photo{width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center; background:var(--asphalt); touch-action:pan-y; user-select:none; -webkit-user-drag:none; cursor:grab;}
  .bike-gallery>#main-bike-photo:active{cursor:grabbing;}
  .bike-thumbnails{display:flex; gap:8px; overflow:auto; padding-top:10px;}
  .bike-thumb{flex:0 0 88px; height:68px; padding:0; border:1px solid var(--hairline); background:var(--asphalt); cursor:pointer;}
  .bike-thumb.is-active{border-color:var(--lime);}
  .bike-thumb img{width:100%; height:100%; object-fit:cover;}
  .bike-copy > .eyebrow{display:none;}
  .bike-copy h1{font-size:clamp(42px,5vw,68px); margin:10px 0;}
  .bike-price{color:var(--price); font:700 26px 'Work Sans',sans-serif; margin-bottom:12px;}
  .bike-subtitle{font:13px 'Space Mono',monospace; color:var(--muted); margin-bottom:22px; text-transform:uppercase;}
  .bike-contact{margin-top:28px;}
  .purchase-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:28px;}
  .purchase-actions .btn{flex:1 1 170px; justify-content:center;}
  .product-quantity-control{display:inline-flex; align-items:center; border:1px solid var(--hairline); margin-top:28px;}
  .product-quantity-control button{width:40px; height:40px; border:0; background:transparent; color:var(--chalk); font-size:24px; cursor:pointer;}
  .product-quantity-control input{width:44px; height:40px; border:0; border-left:1px solid var(--hairline); border-right:1px solid var(--hairline); background:transparent; color:var(--chalk); text-align:center; font:15px 'Space Mono',monospace;}
  .cart-modal{position:fixed; inset:0; z-index:500; display:flex; align-items:flex-start; justify-content:center; overflow:auto; padding:40px 18px; background:rgba(0,0,0,.72);}
  .cart-modal[hidden]{display:none;}
  .cart-dialog{position:relative; width:min(680px,100%); padding:32px; background:var(--surface); border:1px solid var(--hairline); box-shadow:0 24px 70px rgba(0,0,0,.5);}
  .cart-close{position:absolute; top:16px; right:18px; border:0; background:none; color:var(--chalk); font-size:30px; cursor:pointer;}
  .cart-dialog h2{margin:8px 0 24px; font-size:clamp(34px,6vw,54px);}
  .cart-item{display:grid; grid-template-columns:64px 1fr 30px; gap:12px; align-items:center; padding:10px 0; border-bottom:1px solid var(--hairline);}
  .cart-item img{width:64px; height:54px; object-fit:cover;}
  .cart-item strong,.cart-item span{display:block;}.cart-item strong{font:600 18px 'Oswald',sans-serif; text-transform:uppercase;}.cart-item span{color:var(--muted); font:12px 'Space Mono',monospace; margin-top:4px;}.cart-item button{border:0; background:none; color:var(--muted); font-size:24px; cursor:pointer;}.cart-item button:hover{color:var(--lime);}
  .cart-item span button{font-size:18px; line-height:1; padding:0 5px; color:var(--chalk); vertical-align:middle;}
  .cart-total{margin:20px 0 28px; color:var(--price); font:700 18px 'Work Sans',sans-serif; text-transform:uppercase;}
  .cart-dialog h3{margin:0 0 16px; font:600 24px 'Oswald',sans-serif; text-transform:uppercase;}.checkout-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}.checkout-grid label{display:grid; gap:6px; color:var(--muted); font:11px 'Space Mono',monospace; text-transform:uppercase;}.checkout-grid .full-width{grid-column:1/-1;}.checkout-grid input,.checkout-grid select{width:100%; padding:12px; border:1px solid var(--hairline); background:var(--asphalt); color:var(--chalk); font:14px 'Work Sans',sans-serif;}.checkout-submit{width:100%; justify-content:center; margin-top:20px;}.checkout-note{color:var(--muted); font-size:13px; margin-top:12px;}
  body.cart-open{overflow:hidden;}
  body.cart-page.cart-open{overflow:auto;}
  .order-success{padding:24px 0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);}.order-success h3{margin-bottom:10px;}.order-success p{color:var(--muted);}.order-success strong{color:var(--price);}
  .checkout-note{font-size:0;}.checkout-note::after{content:'Your order will be saved securely on this website.'; font-size:13px;}
  .cart-page-main{min-height:100vh; padding-top:110px;}
  .cart-page .cart-modal{position:static; display:flex !important; min-height:100vh; padding:40px 18px 80px; background:var(--asphalt); align-items:flex-start;}
  .cart-page .cart-dialog{margin:0 auto;}

  /* ---------- WIDE GALLERY TICKET (featured build) ---------- */
  .ticket-wide{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:1.15fr 1fr;
  }
  .ticket-wide .ticket-photo{
    aspect-ratio:auto;
    display:flex;
    flex-direction:column;
    min-height:420px;
  }
  .ticket-wide .gallery-main{
    flex:1 1 auto;
    width:100%;
    min-height:0;
    object-fit:cover;
  }
  .gallery-thumbs{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:2px;
    height:110px;
    flex:0 0 auto;
  }
  .gallery-thumbs img{ width:100%; height:100%; object-fit:cover; display:block; }
  .ticket-wide .ticket-body{ display:flex; flex-direction:column; justify-content:center; }
  @media (max-width:860px){
    .ticket-wide{ grid-template-columns:1fr; }
    .ticket-wide .ticket-photo{ min-height:320px; }
  }

  /* ---------- CATEGORIES ---------- */
  .category-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;
  }
  .category-card{
    display:block;
    background:var(--surface);
    border:1px solid var(--hairline);
    border-radius:var(--radius-m);
    padding:36px 30px;
    transition:border-color .2s ease, transform .2s ease, background .2s ease;
  }
  .category-card:hover{ border-color:var(--lime); transform:translateY(-3px); background:var(--surface-raised); }
  .category-icon{ width:52px; height:52px; color:var(--lime); margin-bottom:24px; }
  .category-photo{width:100%; height:235px; object-fit:contain; object-position:center; margin:0 0 26px; border-radius:var(--radius-s); background:transparent; filter:grayscale(1) invert(1) contrast(1.15); opacity:.92;}
  .category-card h3{ font-size:24px; margin-bottom:8px; }
  .category-card p{ color:var(--muted); font-size:14.5px; margin-bottom:20px; }
  .category-link{
    font-family:'Space Mono', monospace; font-size:12px; letter-spacing:.06em;
    text-transform:uppercase; color:var(--chalk);
  }

  /* ---------- SERVICES ---------- */
  .services-grid{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:1px;
    background:var(--hairline);
    border:1px solid var(--hairline);
  }
  .service{
    background:var(--asphalt);
    padding:40px 32px;
    transition:background .2s ease;
  }
  .service:hover{ background:var(--surface); }
  .service .num{
    font-family:'Space Mono', monospace; color:var(--blue);
    font-size:12px; letter-spacing:.1em; margin-bottom:22px; display:block;
  }
  .service h3{ font-size:22px; margin-bottom:10px; }
  .service p{ color:var(--muted); font-size:14.5px; max-width:280px; }
  .service-cta{ margin-top:20px; display:inline-flex; }

  /* ---------- ABOUT ---------- */
  .about-grid{
    display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:center;
  }
  .about-copy p{ color:#c6cbcf; font-size:16px; margin-bottom:18px; max-width:480px; }
  .about-copy p:first-of-type{ font-size:19px; color:var(--chalk); }
  .stat-row{ display:flex; gap:36px; margin-top:36px; flex-wrap:wrap; }
  .stat{ font-family:'Space Mono', monospace; }
  .stat b{ display:block; font-size:32px; color:var(--lime); font-weight:700; }
  .stat span{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
  .about-panel{
    background:var(--surface); border:1px solid var(--hairline);
    border-radius:var(--radius-m); padding:36px;
    font-family:'Space Mono', monospace;
  }
  .about-panel .eyebrow{ margin-bottom:18px; display:block; }
  .about-panel dl{ display:grid; grid-template-columns:auto 1fr; gap:10px 16px; font-size:13px; }
  .about-panel dt{ color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
  .about-panel dd{ color:var(--chalk); }

  /* ---------- CONTACT ---------- */
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; }
  .contact-list{ margin-top:28px; }
  .contact-item{
    display:flex; justify-content:space-between; align-items:center;
    padding:18px 0; border-bottom:1px solid var(--hairline);
  }
  .contact-item .label{ font-family:'Space Mono', monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
  .contact-item .value{ font-size:17px; }
  .contact-item a.value:hover{ color:var(--lime); }
  .social-row{ display:flex; gap:12px; margin-top:28px; }
  .social-row a{
    border:1px solid var(--hairline); border-radius:var(--radius-s);
    padding:10px 16px; font-family:'Space Mono', monospace; font-size:12px;
    letter-spacing:.05em; text-transform:uppercase;
    transition:border-color .15s ease, color .15s ease;
  }
  .social-row a:hover{ border-color:var(--lime); color:var(--lime); }
  .map-frame{
    border:1px solid var(--hairline); border-radius:var(--radius-m); overflow:hidden;
    height:100%; min-height:340px;
  }
  .map-frame iframe{ width:100%; height:100%; min-height:340px; filter:grayscale(.4) invert(.92) contrast(.9); border:0; }

  /* ---------- FOOTER ---------- */
  footer{ padding:40px 0; }
  .footer-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
  .footer-brand{ display:flex; align-items:center; gap:10px; }
  .footer-brand img{ height:28px; width:28px; border-radius:50%; }
  .footer-brand span{ font-family:'Oswald', sans-serif; text-transform:uppercase; font-size:13px; letter-spacing:.05em; color:var(--muted); }
  footer .fine{ font-family:'Space Mono', monospace; font-size:11px; color:var(--muted); letter-spacing:.03em; }
  .footer-admin{margin-left:auto;}
  .policy-page{padding-top:70px; padding-bottom:120px; max-width:820px;}.policy-page h1{font:600 clamp(42px,7vw,72px) 'Oswald',sans-serif; text-transform:uppercase; margin:16px 0 28px;}.policy-page h2{font:600 28px 'Oswald',sans-serif; text-transform:uppercase; margin:34px 0 10px;}.policy-page p{max-width:720px; color:var(--muted); margin-bottom:18px;}.policy-page .btn{display:inline-flex; margin-top:16px;}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 860px){
    .nav-links{ display:none; }
    .menu-toggle{ display:block; }
    .bikes-grid{ grid-template-columns:1fr; }
    .services-grid{ grid-template-columns:1fr 1fr; }
    .category-grid{ grid-template-columns:1fr; }
    .about-grid{ grid-template-columns:1fr; }
    .contact-grid{ grid-template-columns:1fr; }
    .bike-detail{grid-template-columns:1fr; gap:28px;}
    section{ padding:72px 0; }
    .hero{ min-height:100vh; padding-top:150px; }
  }

  @media (max-width: 600px){
    nav{ display:grid; grid-template-columns:20px minmax(0,1fr); column-gap:8px; padding:10px 20px 8px; }
    .mobile-menu-toggle{display:flex; grid-column:1; grid-row:2; flex-direction:column; justify-content:space-between; order:2; width:20px; height:14px; flex:0 0 20px; margin:0; padding:0; border:0; background:transparent; cursor:pointer;}
    .mobile-menu-toggle span{display:block; width:100%; height:2px; background:var(--chalk);}
    .brand{grid-column:1 / -1; grid-row:1; gap:10px; flex-basis:auto;}
    .brand{order:1;}
    .brand img{height:52px; width:52px;}
    .brand-text{ font-size:16px; }
    .brand-text span{ font-size:8px; margin-top:1px; }
    .nav-cta{display:none;}
    .nav-links{grid-column:2; grid-row:2; position:static; transform:none; display:flex; justify-content:stretch; order:3; width:auto; flex:1 1 0; gap:0; overflow:hidden; padding:2px 0 0;}
    .nav-category-toggle{display:none;}
    .nav-links a, .nav-links .admin-link{flex:1 1 20%; min-width:0; color:var(--chalk); font-size:11px; font-weight:700; letter-spacing:.01em; text-align:center; white-space:nowrap;}
    .wrap{ padding:0 20px; }
    .hero{ padding-top:165px; }
    .meter-line{ font-size:11px; }
    .hero-actions{ flex-direction:column; }
    .hero-actions .btn{ justify-content:center; }
    .services-grid{ grid-template-columns:1fr; }
    .admin-link{padding:3px;}
    .admin-dialog{padding:28px 20px;}
    .admin-form{grid-template-columns:1fr;}
    .admin-form .full-width{grid-column:auto;}
    .admin-product{align-items:flex-start; flex-direction:column;}
    .bike-page{padding-top:170px;}
    .social-row{flex-wrap:wrap;}
  }
  /* ---------- CATEGORY DRAWER ---------- */
  .category-drawer{position:fixed; inset:0; z-index:300; background:rgba(0,0,0,.58);}
  .category-drawer[hidden]{display:none;}
  .category-drawer-panel{width:min(440px,90vw); height:100%; overflow-y:auto; padding:28px 30px 50px; background:var(--surface); border-right:1px solid var(--hairline); box-shadow:20px 0 55px rgba(0,0,0,.3); animation:drawer-slide-in .22s ease-out both;}
  .category-drawer.drawer-full-view{background:var(--surface);}
  .category-drawer.drawer-full-view .category-drawer-panel{width:100%; max-width:none; border-right:0; box-shadow:none; padding:clamp(28px,5vw,64px) clamp(24px,8vw,120px) 70px;}
  .category-drawer.drawer-full-view .drawer-products{grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); max-width:1100px;}
  @keyframes drawer-slide-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
  .drawer-top{display:flex; align-items:center; gap:16px; margin-bottom:24px;}
  .drawer-close{width:42px; height:42px; border:1px solid var(--hairline); background:transparent; color:var(--chalk); font-size:30px; line-height:1; cursor:pointer;}
  .drawer-close:hover{border-color:var(--lime); color:var(--lime);}
  .drawer-view h2{margin:18px 0 8px; font-size:clamp(38px,7vw,58px);}
  .drawer-view > button:not(.drawer-back), .drawer-view > a, .drawer-view > span{width:100%; min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 2px; border:0; border-bottom:1px solid var(--hairline); background:transparent; color:var(--chalk); font:600 clamp(24px,4vw,34px)/1.1 'Oswald',sans-serif; letter-spacing:.02em; text-align:left; text-transform:uppercase;}
  .drawer-view > button:not(.drawer-back){cursor:pointer;}
  .drawer-view > button:not(.drawer-back)::after{content:'›'; color:var(--lime); font:400 34px/1 'Work Sans',sans-serif;}
  .drawer-view > a:hover, .drawer-view > button:not(.drawer-back):hover{color:var(--lime);}
  .drawer-view > span{color:var(--chalk); font-size:clamp(24px,4vw,34px); cursor:default;}
  .drawer-view > span.drawer-item{cursor:pointer;}
  .drawer-view > span.drawer-item:hover{color:var(--lime);}
  .drawer-subcopy{color:var(--muted); font-size:17px; margin:18px 0 24px; max-width:34ch;}
  .drawer-products{display:grid; gap:10px; margin:18px 0 22px;}
  .drawer-product{display:grid; grid-template-columns:64px 1fr; gap:10px; align-items:center; padding:8px; border:1px solid var(--hairline); color:var(--chalk);}
  .drawer-product img{width:64px; height:64px; object-fit:cover; grid-row:span 2;}
  .drawer-product span{font:600 16px/1.1 'Oswald',sans-serif; text-transform:uppercase;}
  .drawer-product b{font:700 15px 'Work Sans',sans-serif; color:var(--price);}
  .drawer-product:hover{border-color:var(--lime);}
  .category-page{padding-top:150px; padding-bottom:80px; min-height:100vh;}
  .category-page h1{font-size:clamp(48px,8vw,92px); margin:10px 0 38px;}
  .category-page .bikes-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:24px;}
  .drawer-page-price{position:static; display:inline-block; margin:10px 0 4px; padding:0; background:transparent; color:var(--price); font:700 18px 'Work Sans',sans-serif;}
  .drawer-product-link{display:flex; width:100%; border:1px solid var(--hairline); padding:16px 18px; color:var(--chalk); font:14px 'Space Mono',monospace; text-transform:uppercase;}
  .drawer-product-link:hover{border-color:var(--lime); color:var(--lime);}
  .drawer-back{margin:8px 0 22px; padding:0; border:0; background:transparent; color:var(--muted); cursor:pointer; font:12px 'Space Mono',monospace; letter-spacing:.08em; text-transform:uppercase;}
  .drawer-back:hover{color:var(--lime);}
  body.drawer-open{overflow:hidden;}
  @media (max-width:600px){.category-drawer-panel{width:min(390px,92vw); padding:24px 22px 45px;}.drawer-view > button:not(.drawer-back), .drawer-view > a{min-height:55px; font-size:27px;}}

  /* ---------- SEARCH ---------- */
  .search-modal{position:fixed; inset:0; z-index:350; background:rgba(0,0,0,.6); padding:0 max(20px,calc((100vw - 1180px)/2));}
  .search-modal[hidden]{display:none;}
  .search-dialog{max-height:calc(100vh - 150px); overflow:auto; background:var(--surface); border:1px solid var(--hairline); box-shadow:0 24px 70px rgba(0,0,0,.45); padding:26px;}
  .search-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:22px;}
  .search-close{width:38px; height:38px; border:1px solid var(--hairline); background:transparent; color:var(--chalk); cursor:pointer; font-size:27px; line-height:1;}
  .search-close:hover{border-color:var(--lime); color:var(--lime);}
  .search-bar{display:flex; align-items:center; min-height:64px; border:2px solid var(--lime); border-radius:34px; overflow:hidden; background:var(--asphalt);}
  .search-bar select{align-self:stretch; max-width:210px; padding:0 18px; border:0; border-right:1px solid var(--hairline); background:var(--surface-raised); color:var(--chalk); font:14px 'Work Sans',sans-serif;}
  .search-bar input{min-width:0; flex:1; border:0; outline:0; padding:0 18px; background:transparent; color:var(--chalk); font:20px 'Work Sans',sans-serif;}
  .search-icon{position:relative; width:56px; height:56px; flex:0 0 56px; margin-right:3px; border:0; border-radius:0; color:var(--chalk); font-size:0; background:transparent;}
  .search-icon::before{content:''; position:absolute; width:17px; height:17px; left:12px; top:11px; border:2px solid currentColor; border-radius:50%;}
  .search-icon::after{content:''; position:absolute; width:11px; height:2px; left:28px; top:28px; background:currentColor; transform:rotate(45deg); transform-origin:left center; border-radius:2px;}
  .search-results{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px;}
  .search-results > p{grid-column:1/-1; color:var(--muted);}
  .search-result{display:flex; gap:12px; align-items:center; padding:10px; border:1px solid var(--hairline); background:var(--asphalt);}
  .search-result:hover{border-color:var(--lime);}
  .search-result img{width:64px; height:64px; object-fit:cover;}
  .search-result strong{display:block; font-family:'Oswald',sans-serif; font-size:18px; text-transform:uppercase; line-height:1.1;}
  .search-result span{display:block; margin-top:3px; color:var(--muted); font:11px 'Space Mono',monospace;}
  body.search-open{overflow:hidden;}
  @media(max-width:700px){.search-modal{padding:0; background:rgba(0,0,0,.72);}.search-dialog{width:100%; max-height:100vh; padding:20px 16px 30px; background:#fff; color:#111; border:0;}.search-header{margin-bottom:16px;}.search-header .eyebrow{color:#111; font-size:14px;}.search-close{border-color:#111; color:#111;}.search-bar{min-height:64px; border:3px solid #f2b400; border-radius:34px; background:#fff;}.search-bar select{max-width:130px; padding:0 10px; border-right:1px solid #777; background:#eee; color:#111; font-size:14px;}.search-bar input{padding:0 10px; color:#111; font-size:17px;}.search-bar input::placeholder{color:#777;}.search-icon{width:58px; height:58px; flex-basis:58px; color:#111; border:0; background:transparent;}.search-results{grid-template-columns:1fr;}.search-results > p{color:#333; font-size:17px;}.search-result{background:#f5f5f5; color:#111;}.search-result span{color:#555;}.nav-search-toggle{flex:0 0 38px;}}
@media(max-width:600px){.nav-search-toggle{flex:0 0 28px; width:28px; height:28px;}.nav-search-toggle::before{width:12px; height:12px; left:4px; top:4px; border-width:2px;}.nav-search-toggle::after{width:9px; height:2px; left:16px; top:17px;}}

/* Compact presentation: render the complete site at 80% size (20% smaller).
   The wider layout width keeps the scaled page filling the viewport instead
   of leaving an empty strip on the right. */
html{zoom:1;}
body{overflow-x:hidden;}
@media (min-width:861px){html{zoom:.8;}}

/* Keep text over the hero image readable at every screen size. */
.hero h1{color:#fff; text-shadow:0 3px 24px rgba(0,0,0,.72);}
.hero h1 em{color:#d7ff32;}
.hero .meter-line{color:#f3f6f8; text-shadow:0 1px 8px rgba(0,0,0,.8);}
.hero .meter-line b{color:#d7ff32;}
.hero-bg{background-image:linear-gradient(180deg,rgba(20,23,26,.35) 0%,rgba(20,23,26,.62) 62%,#111820 100%),url('../images/hero-bikes-new.png');}
.hero-actions .btn-primary{background:#111820;color:#fff;border-color:#111820;}
.hero-actions .btn-primary:hover{background:#000;color:#fff;border-color:#000;}
.hero-actions .btn-ghost{background:#111820;color:#fff;border-color:#fff;}
