  /* ============================================================
     DESIGN TOKENS — barevná identita beze změny, přidán jen
     systém pro radius / shadow / easing, aby web působil jednotně.
     ============================================================ */
  :root{
    --bg-base:#15130E;
    --bg-panel:#1D1912;
    --bg-panel-2:#242019;
    --bg-panel-3:#1A160F;
    --steel:#3A362C;
    --steel-light:#4E4A3C;
    --gold:#C9A227;
    --gold-bright:#E8C158;
    --gold-dim: rgba(201,162,39,0.14);
    --text-primary:#EDE8DC;
    --text-muted:#A79F8C;
    --text-faint:#7A7364;
    --red-tag:#8C2F22;
    --max-w:1180px;

    /* unified geometry */
    --r-sm: 10px;
    --r-md: 18px;
    --r-lg: 26px;
    --r-pill: 999px;

    /* unified elevation */
    --shadow-xs: 0 2px 10px rgba(0,0,0,0.28);
    --shadow-sm: 0 8px 24px -10px rgba(0,0,0,0.5);
    --shadow-md: 0 20px 48px -16px rgba(0,0,0,0.55);
    --shadow-lg: 0 36px 80px -24px rgba(0,0,0,0.65);
    --shadow-gold: 0 0 0 1px rgba(201,162,39,0.35), 0 22px 48px -18px rgba(201,162,39,0.28);

    /* unified motion */
    --ease: cubic-bezier(.16,.8,.24,1);
    --ease-soft: cubic-bezier(.22,.61,.36,1);
    --dur-fast: 220ms;
    --dur: 380ms;
    --dur-slow: 700ms;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth; overflow-x:hidden;}
  body{
    background:var(--bg-base);
    color:var(--text-primary);
    font-family:'IBM Plex Sans', sans-serif;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
    position:relative;
  }
  h1,h2,h3,h4{
    font-family:'Big Shoulders Display', sans-serif;
    font-weight:800;
    letter-spacing:0.015em;
    text-transform:uppercase;
    color:var(--text-primary);
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:var(--max-w); margin:0 auto; padding:0 28px;}
  ::selection{ background:var(--gold); color:#15130E; }

  :focus-visible{
    outline:2px solid var(--gold-bright);
    outline-offset:3px;
    border-radius:4px;
  }

  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.2em;
    text-transform:uppercase;
    color:var(--gold);
    display:flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:"";
    width:26px; height:2px;
    background:linear-gradient(90deg, var(--gold), var(--gold-bright));
    display:inline-block;
    border-radius:2px;
  }

  /* ===== rivet seam signature ===== */
  .seam{
    height:14px;
    width:100%;
    background:
      repeating-linear-gradient(90deg, transparent 0 26px, rgba(201,162,39,0.55) 26px 28px),
      linear-gradient(180deg, var(--steel-light), var(--steel));
    position:relative;
    opacity:0.9;
  }
  .seam.gold{
    background:
      repeating-linear-gradient(90deg, transparent 0 26px, rgba(21,19,14,0.65) 26px 28px),
      linear-gradient(180deg, var(--gold-bright), var(--gold));
  }

  /* ===== NAV ===== */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(21,19,14,0.86);
    backdrop-filter:blur(10px) saturate(1.15);
    -webkit-backdrop-filter:blur(10px) saturate(1.15);
    border-bottom:1px solid rgba(58,54,44,0.6);
    transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
  header.scrolled{
    background:rgba(15,13,9,0.94);
    backdrop-filter:blur(16px) saturate(1.3);
    -webkit-backdrop-filter:blur(16px) saturate(1.3);
    box-shadow:var(--shadow-sm);
    border-bottom-color:rgba(201,162,39,0.22);
  }
  .navrow{
    display:flex; align-items:center; justify-content:space-between;
    height:96px;
    flex-wrap:nowrap;
    gap:16px;
    transition:height var(--dur) var(--ease);
  }
  header.scrolled .navrow{ height:74px; }
  .brand{
    display:flex; align-items:center;
    font-family:'Big Shoulders Display', sans-serif;
    font-weight:800; font-size:1.15rem;
    text-transform:uppercase; letter-spacing:0.03em;
  }
  .brand-logo{
    height:80px;
    width:auto;
    max-width:180px;
    flex-shrink:0;
    padding:0;
    object-fit:contain;
    transition:height var(--dur) var(--ease);
  }
  header.scrolled .brand-logo{ height:56px; }
  @media (max-width: 900px){
    .brand-logo{ height:60px; }
  }
  @media (max-width: 600px){
    .brand-logo{ height:48px; }
  }
  nav ul{
    list-style:none;
    display:flex;
    gap:20px;
    flex-wrap:nowrap;
  }
  nav a{
    position:relative;
    font-size:0.8rem;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:0.06em;
    color:var(--text-muted);
    transition:color var(--dur-fast) var(--ease);
    padding:8px 2px;
    white-space:nowrap;
  }
  nav a::after{
    content:"";
    position:absolute; left:0; right:100%; bottom:2px;
    height:2px;
    background:linear-gradient(90deg, var(--gold), var(--gold-bright));
    transition:right var(--dur) var(--ease-soft);
    border-radius:2px;
  }
  nav a:hover{ color:var(--gold-bright); }
  nav a:hover::after{ right:0; }
  .nav-cta{
    display:flex; align-items:center; gap:14px;
  }
  .nav-phone{
    font-family:'IBM Plex Mono', monospace;
    color:var(--gold-bright);
    font-size:0.84rem;
    font-weight:600;
    white-space:nowrap;
    padding:9px 16px;
    border:1px solid rgba(201,162,39,0.35);
    border-radius:var(--r-pill);
    transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
  }
  .nav-phone:hover{ border-color:var(--gold); background:var(--gold-dim); transform:translateY(-1px); }
  .menu-btn{display:none; background:none; border:none; color:var(--text-primary); font-size:1.6rem; cursor:pointer;}

  /* ===== BUTTONS ===== */
  .btn{
    display:inline-flex; align-items:center; gap:9px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.85rem;
    font-weight:600;
    letter-spacing:0.05em;
    text-transform:uppercase;
    padding:16px 32px;
    border-radius:var(--r-md);
    cursor:pointer;
    transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);
    border:1.5px solid transparent;
    will-change:transform;
  }
  .btn-gold{ background:linear-gradient(180deg, var(--gold-bright), var(--gold)); color:#15130E; box-shadow:var(--shadow-sm); }
  .btn-gold:hover{ transform:translateY(-3px); box-shadow:var(--shadow-gold), var(--shadow-md); }
  .btn-gold:active{ transform:translateY(-1px); }
  .btn-outline{ border-color:var(--steel-light); color:var(--text-primary); background:rgba(255,255,255,0.02); }
  .btn-outline:hover{ border-color:var(--gold); color:var(--gold-bright); transform:translateY(-3px); box-shadow:var(--shadow-sm); background:var(--gold-dim); }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    min-height:92vh;
    display:flex; align-items:flex-end;
    background:#000;
    overflow:hidden;
    isolation:isolate;
  }
  .hero-img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    opacity:0.6;
    filter:contrast(1.12) saturate(1.05) brightness(0.92);
    transform:scale(1.06);
    animation:heroKenBurns 22s var(--ease-soft) infinite alternate;
  }
  @keyframes heroKenBurns{
    from{ transform:scale(1.06) translate3d(0,0,0); }
    to{ transform:scale(1.13) translate3d(-1%,-1%,0); }
  }
  /* cinematic vignette + gradient */
  .hero::after{
    content:"";
    position:absolute; inset:0;
    background:
      radial-gradient(120% 90% at 50% 0%, rgba(21,19,14,0) 0%, rgba(21,19,14,0.25) 45%, rgba(21,19,14,0.55) 70%),
      linear-gradient(180deg, rgba(21,19,14,0.4) 0%, rgba(21,19,14,0.58) 42%, rgba(21,19,14,0.98) 92%);
    z-index:1;
  }
  /* floating ambient light — on-brand gold glow, kept subtle to respect existing palette */
  .hero::before{
    content:"";
    position:absolute; inset:-10%;
    background:
      radial-gradient(38% 46% at 18% 22%, rgba(232,193,88,0.16), transparent 60%),
      radial-gradient(30% 38% at 82% 12%, rgba(201,162,39,0.12), transparent 65%);
    z-index:1;
    animation:heroGlowDrift 16s ease-in-out infinite alternate;
    pointer-events:none;
  }
  @keyframes heroGlowDrift{
    from{ transform:translate3d(0,0,0) scale(1); opacity:0.85; }
    to{ transform:translate3d(2%,-3%,0) scale(1.08); opacity:1; }
  }
  .hero-content{
    position:relative; z-index:2;
    padding-top:112px;
    padding-bottom:76px;
    width:100%;
  }
  .hero-badge{
    display:inline-flex; align-items:center; gap:9px;
    background:rgba(201,162,39,0.1);
    backdrop-filter:blur(6px);
    border:1px solid rgba(201,162,39,0.5);
    border-radius:var(--r-pill);
    padding:9px 18px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.74rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--gold-bright);
    margin-bottom:28px;
    box-shadow:var(--shadow-xs);
    opacity:0;
    animation:heroFadeUp var(--dur-slow) var(--ease) 120ms forwards;
  }
  .hero h1{
    font-size:clamp(2.8rem, 7vw, 5.6rem);
    line-height:0.96;
    max-width:860px;
    text-shadow:0 8px 40px rgba(0,0,0,0.45);
    opacity:0;
    animation:heroFadeUp var(--dur-slow) var(--ease) 260ms forwards;
  }
  .hero h1 span{
    background:linear-gradient(100deg, var(--gold) 0%, var(--gold-bright) 45%, var(--gold) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
  }
  .hero p{
    max-width:540px;
    color:var(--text-muted);
    font-size:1.1rem;
    line-height:1.7;
    margin:26px 0 38px;
    opacity:0;
    animation:heroFadeUp var(--dur-slow) var(--ease) 400ms forwards;
  }
  .hero-actions{
    display:flex; gap:18px; flex-wrap:wrap;
    opacity:0;
    animation:heroFadeUp var(--dur-slow) var(--ease) 520ms forwards;
  }
  @keyframes heroFadeUp{
    from{ opacity:0; transform:translateY(22px); filter:blur(6px); }
    to{ opacity:1; transform:translateY(0); filter:blur(0); }
  }

  /* ===== PARTNER STRIP ===== */
  .strip{
    background:var(--bg-panel);
    border-bottom:1px solid var(--steel);
    padding:24px 0;
    overflow:hidden;
  }
  .strip-track{
    display:flex;
    gap:56px;
    white-space:nowrap;
    animation:scroll-strip 34s linear infinite;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.86rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--text-faint);
  }
  .strip-track span{ color:var(--text-muted); transition:color var(--dur-fast) var(--ease); }
  .strip:hover .strip-track{ animation-play-state:paused; }
  @keyframes scroll-strip{
    0%{ transform:translateX(0); }
    100%{ transform:translateX(-50%); }
  }

  /* ===== SECTION GENERIC / RHYTHM ===== */
  section{ padding:132px 0; position:relative; }
  #about{ background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-3) 100%); }
  #services{ background:var(--bg-base); }
  #portfolio{ background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-3) 100%); }
  #pricing{ background:var(--bg-base); }
  #process{ background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-3) 100%); }
  #cooperation{ background:var(--bg-base); }
  #contact{ background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-3) 100%); }

  .section-head{ max-width:660px; margin-bottom:64px; }
  .section-head h2{
    font-size:clamp(2.1rem, 4.2vw, 3.1rem);
    margin-top:16px;
    line-height:1.03;
    letter-spacing:0.01em;
  }
  .section-head p{
    color:var(--text-muted);
    margin-top:18px;
    font-size:1.05rem;
    line-height:1.75;
  }

  /* ===== ABOUT ===== */
  .about-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:72px;
    align-items:center;
  }
  .about-text p{ color:var(--text-muted); margin-bottom:18px; font-size:1.04rem; line-height:1.75; }
  .about-cert{
    background:var(--bg-panel-2);
    border:1px solid var(--steel);
    border-left:3px solid var(--gold);
    border-radius:var(--r-md);
    padding:28px 30px;
    margin-top:32px;
    box-shadow:var(--shadow-xs);
    transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
  }
  .about-cert:hover{ transform:translateY(-4px); box-shadow:var(--shadow-sm); border-left-color:var(--gold-bright); }
  .about-cert .eyebrow{ margin-bottom:9px; }
  .about-cert strong{ font-size:1.18rem; color:var(--gold-bright); font-family:'Big Shoulders Display'; text-transform:uppercase; letter-spacing:0.02em; }
  .about-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2px;
    background:var(--steel);
    border:1px solid var(--steel);
    border-radius:var(--r-lg);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
  }
  .stat{
    background:var(--bg-panel-2);
    padding:34px 26px;
    display:flex;
    flex-direction:column;
    gap:14px;
    transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .stat:hover{ background:var(--bg-panel-3); transform:translateY(-3px); }
  .stat .stat-icon{
    width:38px; height:38px;
    color:var(--gold);
    opacity:0.9;
    transition:transform var(--dur) var(--ease);
  }
  .stat:hover .stat-icon{ transform:scale(1.12) rotate(-4deg); }
  .stat .num{
    font-family:'Big Shoulders Display';
    font-weight:800;
    font-size:2.7rem;
    color:var(--gold);
    line-height:1;
  }
  .stat .lbl{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.76rem;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:0.06em;
  }

  /* ===== SERVICES ===== */
  .services-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:2px;
    background:var(--steel);
    border:1px solid var(--steel);
    border-radius:var(--r-lg);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
  }
  .service-card{
    background:var(--bg-base);
    padding:38px 30px;
    display:flex;
    flex-direction:column;
    gap:18px;
    transition:background var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
    position:relative;
  }
  .service-card:hover{
    background:linear-gradient(160deg, var(--bg-panel) 0%, var(--bg-panel-2) 100%);
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
    z-index:2;
  }
  .service-icon{
    width:50px; height:50px;
    border:1.5px solid var(--gold);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--gold);
    flex-shrink:0;
    font-size:1.2rem;
    transition:transform var(--dur) var(--ease-soft), box-shadow var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);
  }
  .service-card:hover .service-icon{
    transform:scale(1.15) rotate(-6deg);
    background:var(--gold);
    color:#15130E;
    box-shadow:0 0 0 6px rgba(201,162,39,0.12);
  }
  .service-card h3{
    font-size:1.14rem;
    font-weight:700;
    letter-spacing:0.01em;
    line-height:1.3;
  }
  .service-more{
    grid-column:1 / -1;
    background:var(--bg-panel-2);
    padding:26px 26px;
    text-align:center;
    font-family:'IBM Plex Mono', monospace;
    color:var(--text-faint);
    letter-spacing:0.08em;
    text-transform:uppercase;
    font-size:0.86rem;
  }

  /* ===== PORTFOLIO ===== */
  .case{ margin-bottom:76px; }
  .case:last-child{ margin-bottom:0; }
  .case-head{
    display:flex; align-items:baseline; justify-content:space-between;
    flex-wrap:wrap; gap:14px;
    margin-bottom:26px;
    border-bottom:1px solid var(--steel);
    padding-bottom:20px;
  }
  .case-head h3{ font-size:1.8rem; letter-spacing:0.01em; }
  .case-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--gold);
    border:1px solid var(--gold);
    border-radius:var(--r-pill);
    padding:6px 16px;
  }
  .case-gallery{
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    gap:16px;
  }
  .case-gallery a{
    overflow:hidden;
    display:block;
    height:360px;
    position:relative;
    border-radius:var(--r-md);
    box-shadow:var(--shadow-sm);
    border:1px solid rgba(255,255,255,0.04);
    transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .case-gallery img{
    width:100%; height:100%;
    object-fit:cover;
    filter:saturate(1.06) contrast(1.08) brightness(0.98);
    transition:transform var(--dur-slow) var(--ease-soft), filter var(--dur) var(--ease);
  }
  .case-gallery a::after{
    content:attr(data-caption);
    position:absolute; left:0; right:0; bottom:0;
    padding:16px 18px 14px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.76rem;
    letter-spacing:0.05em;
    color:var(--text-primary);
    background:linear-gradient(0deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.35) 60%, transparent 100%);
    opacity:0;
    transform:translateY(10px);
    transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .case-gallery a:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:rgba(201,162,39,0.3); }
  .case-gallery a:hover img{ transform:scale(1.09); filter:saturate(1.15) contrast(1.1) brightness(1.02); }
  .case-gallery a:hover::after{ opacity:1; transform:translateY(0); }
  .case p.desc{ color:var(--text-muted); margin-top:22px; max-width:660px; line-height:1.75; }

  /* ===== DÍLNA GALLERY ===== */
  .workshop-gallery{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:16px;
  }
  .workshop-gallery a{
    overflow:hidden;
    display:block;
    height:260px;
    position:relative;
    border-radius:var(--r-md);
    box-shadow:var(--shadow-sm);
    border:1px solid rgba(255,255,255,0.04);
    transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .workshop-gallery img{
    width:100%; height:100%;
    object-fit:cover;
    filter:saturate(1.06) contrast(1.08) brightness(0.98);
    transition:transform var(--dur-slow) var(--ease-soft), filter var(--dur) var(--ease);
  }
  .workshop-gallery a::after{
    content:attr(data-caption);
    position:absolute; left:0; right:0; bottom:0;
    padding:14px 16px 12px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.74rem;
    letter-spacing:0.05em;
    color:var(--text-primary);
    background:linear-gradient(0deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.35) 60%, transparent 100%);
    opacity:0;
    transform:translateY(10px);
    transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .workshop-gallery a:hover{ transform:translateY(-5px); box-shadow:var(--shadow-lg); border-color:rgba(201,162,39,0.3); }
  .workshop-gallery a:hover img{ transform:scale(1.09); filter:saturate(1.15) contrast(1.1) brightness(1.02); }
  .workshop-gallery a:hover::after{ opacity:1; transform:translateY(0); }
  @media (max-width:900px){
    .workshop-gallery{ grid-template-columns:1fr 1fr; }
    .workshop-gallery a{ height:220px; }
  }
  @media (max-width:560px){
    .workshop-gallery{ grid-template-columns:1fr; }
  }

  /* ===== PRICING ===== */
  .price-block{ margin-bottom:44px; }
  .price-block h3{
    font-size:1.32rem;
    margin-bottom:20px;
    display:flex; align-items:center; gap:14px;
  }
  .price-block h3::after{
    content:""; flex:1; height:1px; background:linear-gradient(90deg, var(--steel-light), transparent);
  }
  .price-row{
    display:flex; justify-content:space-between;
    padding:15px 4px;
    border-bottom:1px solid var(--steel);
    font-size:1rem;
    border-radius:var(--r-sm);
    transition:background var(--dur-fast) var(--ease), padding-left var(--dur-fast) var(--ease);
  }
  .price-row:hover{ background:rgba(201,162,39,0.05); padding-left:12px; }
  .price-row .amt{
    font-family:'IBM Plex Mono', monospace;
    color:var(--gold-bright);
    font-weight:600;
    white-space:nowrap;
    padding-left:20px;
  }
  .price-cols{ display:grid; grid-template-columns:1fr 1fr; gap:56px; }
  .tire-table{ width:100%; border-collapse:collapse; margin-top:12px; }
  .tire-table th{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.76rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--text-faint);
    text-align:left;
    padding:11px 4px;
    border-bottom:1px solid var(--steel-light);
  }
  .tire-table td{
    padding:10px 4px;
    border-bottom:1px solid var(--steel);
    font-family:'IBM Plex Mono', monospace;
    font-size:0.92rem;
    transition:background var(--dur-fast) var(--ease);
  }
  .tire-table tr:hover td{ background:rgba(201,162,39,0.05); }
  .tire-table td:last-child{ text-align:right; color:var(--gold-bright); font-weight:600; }
  .tire-tables-grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; margin-top:10px;}
  .price-note{
    margin-top:10px;
    color:var(--text-faint);
    font-size:0.88rem;
    font-style:italic;
  }

  /* ===== PROCESS / RULES ===== */
  .rules{
    display:grid;
    gap:2px;
    background:var(--steel);
    border:1px solid var(--steel);
    border-radius:var(--r-lg);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
  }
  .rule{
    background:var(--bg-panel-2);
    padding:32px 34px;
    display:grid;
    grid-template-columns:230px 1fr;
    gap:26px;
    align-items:start;
    transition:background var(--dur) var(--ease);
  }
  .rule:hover{ background:var(--bg-panel-3); }
  .rule h4{
    font-size:1.16rem;
    color:var(--gold-bright);
    display:flex; align-items:center; gap:11px;
  }
  .rule h4::before{
    content:"";
    width:9px; height:9px;
    border-radius:50%;
    background:radial-gradient(circle, var(--gold-bright), var(--gold));
    flex-shrink:0;
    box-shadow:0 0 0 4px rgba(201,162,39,0.15);
  }
  .rule p{ color:var(--text-muted); font-size:0.99rem; line-height:1.7; }
  .rule ul{ color:var(--text-muted); font-size:0.99rem; padding-left:20px; margin-top:10px;}
  .rule li{ margin-bottom:6px; }

  /* ===== COOPERATION ===== */
  .coop-grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:2px;
    background:var(--steel);
    border:1px solid var(--steel);
    border-radius:var(--r-lg);
    overflow:hidden;
    box-shadow:var(--shadow-sm);
  }
  .coop-card{
    background:var(--bg-base);
    padding:30px 32px;
    transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);
  }
  .coop-card:hover{ background:var(--bg-panel); transform:translateY(-3px); }
  .coop-card .eyebrow{ margin-bottom:12px; }
  .coop-card .names{
    font-size:1.05rem;
    color:var(--text-primary);
    line-height:2;
  }
  .coop-card .names a{ color:var(--gold-bright); transition:opacity var(--dur-fast) var(--ease); }
  .coop-card .names a:hover{ opacity:0.8; text-decoration:underline; }
  .coop-logos{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
  }
  .coop-logos img{
    height:40px;
    width:auto;
    max-width:100%;
    background:#fff;
    border-radius:8px;
    padding:8px 14px;
    object-fit:contain;
  }

  /* ===== CONTACT ===== */
  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
  }
  .contact-info dl{ margin-top:26px; }
  .contact-info dt{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.76rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--text-faint);
    margin-top:22px;
  }
  .contact-info dd{ font-size:1.09rem; margin-top:5px; line-height:1.6; }
  .contact-info a:hover{ color:var(--gold-bright); }
  .socials{ display:flex; gap:14px; margin-top:28px; }
  .social-btn{
    border:1px solid var(--steel-light);
    border-radius:var(--r-pill);
    padding:11px 20px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.82rem;
    letter-spacing:0.05em;
    transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
  }
  .social-btn:hover{ border-color:var(--gold); color:var(--gold-bright); transform:translateY(-2px); background:var(--gold-dim); }
  .map-frame{
    border:1px solid var(--steel);
    border-radius:var(--r-md);
    overflow:hidden;
    height:240px;
    margin-top:30px;
    box-shadow:var(--shadow-xs);
  }
  .map-frame iframe{ width:100%; height:100%; border:0; filter:grayscale(0.35) contrast(1.08) brightness(0.95); }

  form{ display:flex; flex-direction:column; gap:18px; }
  .field label{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.76rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--text-faint);
    display:block;
    margin-bottom:9px;
  }
  .field input, .field textarea{
    width:100%;
    background:var(--bg-panel-2);
    border:1px solid var(--steel-light);
    color:var(--text-primary);
    padding:14px 16px;
    font-family:'IBM Plex Sans', sans-serif;
    font-size:0.98rem;
    border-radius:var(--r-sm);
    transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
  }
  .field input:focus, .field textarea:focus{
    outline:none; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-dim);
  }
  .field textarea{ resize:vertical; min-height:114px; }
  .form-status{ font-size:0.88rem; color:var(--text-faint); font-family:'IBM Plex Mono', monospace; }

  /* ===== FOOTER ===== */
  footer{
    padding:64px 0 36px;
    border-top:1px solid var(--steel);
    background:linear-gradient(180deg, var(--bg-panel-3) 0%, var(--bg-base) 100%);
    position:relative;
  }
  footer::before{
    content:"";
    position:absolute; top:-1px; left:0; right:0; height:1px;
    background:linear-gradient(90deg, transparent, rgba(201,162,39,0.5), transparent);
  }
  .footer-row{
    display:flex; justify-content:space-between; align-items:flex-start;
    flex-wrap:wrap; gap:28px;
  }
  footer .brand{ margin-bottom:12px; }
  .footer-note{
    color:var(--text-faint);
    font-size:0.84rem;
    max-width:520px;
    line-height:1.7;
  }
  .footer-legal{
    color:var(--text-faint);
    font-size:0.8rem;
    text-align:right;
    line-height:1.7;
  }

  /* ===== LIGHTBOX ===== */
  .lightbox{
    position:fixed; inset:0;
    background:rgba(10,9,6,0.92);
    backdrop-filter:blur(6px);
    display:none;
    align-items:center; justify-content:center;
    z-index:1000;
    padding:40px;
    opacity:0;
    transition:opacity var(--dur) var(--ease);
  }
  .lightbox.open{ display:flex; opacity:1; }
  .lightbox img{
    max-width:90vw; max-height:86vh;
    border-radius:var(--r-md);
    border:1px solid var(--steel-light);
    box-shadow:var(--shadow-lg);
    transform:scale(0.96);
    transition:transform var(--dur) var(--ease-soft);
  }
  .lightbox.open img{ transform:scale(1); }
  .lightbox-close{
    position:absolute; top:26px; right:34px;
    color:var(--text-primary);
    font-size:2rem;
    cursor:pointer;
    background:rgba(255,255,255,0.05);
    border:1px solid var(--steel-light);
    border-radius:50%;
    width:48px; height:48px;
    line-height:1;
    transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
  }
  .lightbox-close:hover{ background:var(--gold-dim); border-color:var(--gold); transform:rotate(90deg); }

  /* ===== RESPONSIVE ===== */
  @media (max-width: 900px){
    nav{ display:none; }
    .menu-btn{ display:block; }
    .nav-phone{ display:none; }
    .about-grid, .contact-grid{ grid-template-columns:1fr; }
    .services-grid{ grid-template-columns:repeat(2, 1fr); }
    .case-gallery{ grid-template-columns:1fr 1fr; }
    .case-gallery a{ height:240px; }
    .case-gallery a:first-child{ grid-column:1 / -1; height:280px; }
    .price-cols, .tire-tables-grid{ grid-template-columns:1fr; gap:36px; }
    .coop-grid{ grid-template-columns:1fr; }
    .rule{ grid-template-columns:1fr; gap:12px; }
    .footer-row{ flex-direction:column; }
    .footer-legal{ text-align:left; }
    section{ padding:96px 0; }
  }
  @media (max-width: 600px){
    .services-grid{ grid-template-columns:1fr; }
    .hero{ min-height:74vh; }
    .hero-content{ padding-top:132px; }
    section{ padding:72px 0; }
    .section-head{ margin-bottom:44px; }
    .case{ margin-bottom:52px; }
  }

  /* ===== MOBILE MENU, TOUCH TARGETS, A11Y ===== */
  .skip-link{
    position:absolute; left:16px; top:-60px; z-index:2000;
    background:var(--gold); color:#15130E; padding:12px 18px;
    border-radius:var(--r-sm); font-weight:600;
    transition:top var(--dur-fast) var(--ease);
  }
  .skip-link:focus{ top:12px; }
  .nav-call{ display:none; }
  .menu-btn{ min-width:44px; min-height:44px; }
  .form-consent{ font-size:0.82rem; color:var(--text-faint); line-height:1.6; }
  .form-consent a, .footer-legal a, .footer-note a{ text-decoration:underline; text-underline-offset:3px; }
  .form-consent a:hover, .footer-legal a:hover, .footer-note a:hover{ color:var(--gold-bright); }
  .hp-field{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
  .map-consent{
    width:100%; height:100%;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px;
    padding:20px; text-align:center;
    background:var(--bg-panel-2);
    color:var(--text-muted); font-size:0.88rem; line-height:1.6;
  }
  .map-consent button{ cursor:pointer; }
  .form-result{
    border:1px solid var(--gold); background:var(--gold-dim);
    border-radius:var(--r-sm); padding:14px 16px; margin-bottom:20px; font-size:0.95rem;
  }
  .form-result[hidden]{ display:none; }
  @media (max-width: 900px){
    nav{
      position:absolute; top:100%; left:0; right:0;
      background:rgba(15,13,9,0.98);
      backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
      border-bottom:1px solid var(--steel);
    }
    nav.open{ display:block; }
    nav ul{ flex-direction:column; gap:0; padding:10px 24px 22px; }
    nav a{ display:block; padding:15px 2px; font-size:0.95rem; }
    nav a::after{ display:none; }
    nav li + li{ border-top:1px solid rgba(58,54,44,0.6); }
    .nav-call{
      display:inline-flex; align-items:center; justify-content:center;
      min-height:44px; padding:0 16px;
      font-family:'IBM Plex Mono', monospace; font-size:0.82rem; font-weight:600;
      color:#15130E; background:linear-gradient(180deg, var(--gold-bright), var(--gold));
      border-radius:var(--r-pill); white-space:nowrap;
    }
    .nav-cta{ gap:10px; }
    .hero{ min-height:92svh; }
    .price-row{ gap:12px; }
    .social-btn{ min-height:44px; display:inline-flex; align-items:center; }
  }
  @media (max-width: 600px){
    .hero{ min-height:74svh; }
    .wrap{ padding:0 20px; }
    .field input, .field textarea{ font-size:16px; }
    .btn{ padding:16px 24px; width:100%; justify-content:center; }
    .hero-actions{ flex-direction:column; gap:12px; }
    .btn[type="submit"]{ align-self:stretch !important; }
    .case-head h3{ font-size:1.4rem; }
    .price-row .amt{ padding-left:12px; }
    .stat{ padding:26px 18px; }
    .stat .num{ font-size:2.1rem; }
    .lightbox{ padding:16px; }
    .lightbox-close{ top:14px; right:14px; }
  }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .strip-track{ animation:none; }
    .hero-img{ animation:none; transform:none; }
    .hero::before{ animation:none; }
    .hero-badge, .hero h1, .hero p, .hero-actions{ animation:none; opacity:1; }
    .case-gallery img, .case-gallery a, .btn, .service-card, .service-icon, .stat, .about-cert{ transition:none; }
  }

  /* ===== SCROLL REVEAL ===== */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    filter:blur(4px);
    transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease), filter var(--dur-slow) var(--ease);
  }
  .reveal.in-view{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
  .services-grid.reveal.in-view .service-card,
  .about-stats.reveal.in-view .stat,
  .rules.reveal.in-view .rule,
  .coop-grid.reveal.in-view .coop-card{
    animation:none;
  }
  @media (prefers-reduced-motion: reduce){
    .reveal{ opacity:1; transform:none; filter:none; transition:none; }
  }

  /* ===== MULTI-PAGE ===== */
  nav a.active{ color:var(--gold-bright); }
  nav a.active::after{ right:0; }
  main > section:first-child{ padding-top:84px; }
  #top.hero{ margin-top:0; }
  .chips{ display:flex; flex-wrap:wrap; gap:10px; }
  .chip{
    display:inline-flex; align-items:center; min-height:44px;
    padding:8px 18px;
    border:1px solid var(--steel-light); border-radius:var(--r-pill);
    font-size:0.92rem; color:var(--text-primary);
    background:rgba(255,255,255,0.02);
    transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
  }
  .chip:hover{ border-color:var(--gold); color:var(--gold-bright); background:var(--gold-dim); }
  #services-teaser{ background:var(--bg-base); }
  #portfolio-teaser{ background:linear-gradient(180deg, var(--bg-panel) 0%, var(--bg-panel-3) 100%); }
  .cta-band{
    padding:76px 0;
    background:linear-gradient(180deg, var(--bg-panel-2) 0%, var(--bg-panel-3) 100%);
    border-top:1px solid var(--steel);
  }
  .cta-inner{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
  .cta-inner h2{ font-size:clamp(1.8rem, 4vw, 2.6rem); line-height:1.05; }
  .cta-inner p{ color:var(--text-muted); margin-top:10px; }
  .cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }
  .filters{ display:flex; flex-wrap:wrap; gap:10px; margin:-24px 0 48px; }
  .filter-btn{
    min-height:44px; padding:8px 20px; cursor:pointer;
    font-family:'IBM Plex Mono', monospace; font-size:0.8rem; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--text-muted); background:transparent;
    border:1px solid var(--steel-light); border-radius:var(--r-pill);
    transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);
  }
  .filter-btn:hover{ border-color:var(--gold); color:var(--gold-bright); }
  .filter-btn.active{ background:var(--gold); border-color:var(--gold); color:#15130E; font-weight:600; }
  .case[hidden]{ display:none; }
  details.price-block{ border-bottom:1px solid var(--steel); padding-bottom:6px; }
  details.price-block summary{
    list-style:none; cursor:pointer;
    font-family:'Big Shoulders Display', sans-serif; font-weight:800; text-transform:uppercase;
    font-size:1.32rem; letter-spacing:0.015em;
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    min-height:52px; padding:8px 0;
  }
  details.price-block summary::-webkit-details-marker{ display:none; }
  details.price-block summary::after{
    content:"+"; flex-shrink:0;
    width:36px; height:36px; border:1.5px solid var(--gold); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--gold); font-family:'IBM Plex Mono', monospace; font-size:1.2rem;
    transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);
  }
  details.price-block[open] summary::after{ content:"–"; background:var(--gold-dim); }
  details.price-block .price-note{ margin-top:0; }
  .footer-nav{ list-style:none; display:flex; flex-wrap:wrap; gap:4px 18px; margin-top:18px; }
  .footer-nav a{ display:inline-block; padding:8px 0; font-size:0.86rem; color:var(--text-muted); }
  .footer-nav a:hover{ color:var(--gold-bright); }
  @media (max-width: 900px){
    main > section:first-child{ padding-top:56px; }
    .case-gallery a:first-child{ grid-column:auto; }
  }
  @media (max-width: 600px){
    main > section:first-child{ padding-top:40px; }
    .cta-band{ padding:52px 0; }
    .cta-actions{ width:100%; flex-direction:column; }
    .filters{ flex-wrap:nowrap; overflow-x:auto; margin:-16px -20px 32px; padding:0 20px 6px; scrollbar-width:none; }
    .filters::-webkit-scrollbar{ display:none; }
    .filter-btn{ flex-shrink:0; }
    .case-gallery{
      display:flex !important; gap:12px;
      overflow-x:auto; scroll-snap-type:x mandatory;
      margin:0 -20px; padding:0 20px 8px;
      scrollbar-width:none;
    }
    .case-gallery::-webkit-scrollbar{ display:none; }
    .case-gallery a, .case-gallery a:first-child{ flex:0 0 82%; height:240px; scroll-snap-align:center; }
    .case-gallery a::after{ opacity:1; transform:none; }
    .workshop-gallery{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -20px; padding:0 20px 8px; scrollbar-width:none; }
    .workshop-gallery::-webkit-scrollbar{ display:none; }
    .workshop-gallery a{ flex:0 0 82%; height:220px; scroll-snap-align:center; }
    .workshop-gallery a::after{ opacity:1; transform:none; }
    .services-grid{ grid-template-columns:1fr 1fr; }
    .service-card{ padding:22px 16px; gap:12px; }
    .service-card h3{ font-size:1rem; }
    .service-icon{ width:42px; height:42px; }
    .section-head{ margin-bottom:32px; }
    .case{ margin-bottom:40px; }
    .case-head{ margin-bottom:18px; padding-bottom:14px; }
    .rule{ padding:22px 20px; }
    .coop-card{ padding:24px 20px; }
    .tire-tables-grid{ gap:20px; }
  }
