  :root{
    --red:#C52F33;
    --red-dark:#9C2226;
    --red-light:#F6DCDD;
    --ink:#1B1B1D;
    --steel:#5C5D62;
    --paper:#F6F5F3;
    --white:#FFFFFF;
    --line:#E7E4E1;
    --radius:2px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Vazirmatn',sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.9;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

  /* ---------- diagonal gauge-plate texture, the signature motif ---------- */
  .plate-ticks{
    position:absolute; inset:0; pointer-events:none; overflow:hidden;
  }
  .plate-ticks svg{position:absolute; opacity:.15;}

  /* ---------- header ---------- */
  header{
    background:var(--ink);
    color:var(--white);
    position:sticky; top:0; z-index:50;
    border-bottom:3px solid var(--red);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 0;
  }
  .brand{display:flex; align-items:center; gap:12px;}
  .brand-mark{
    width:40px; height:40px; border-radius:50%;
    background:conic-gradient(var(--red) 0deg 270deg, #3A3A3D 270deg 360deg);
    display:flex; align-items:center; justify-content:center;
    position:relative;
  }
  .brand-mark::after{
    content:"";
    width:26px; height:26px; border-radius:50%;
    background:var(--ink);
    position:absolute;
  }
  .brand-mark::before{
    content:"";
    width:3px; height:12px; background:var(--white);
    position:absolute; top:6px; left:50%; transform:translateX(-50%) rotate(35deg);
    transform-origin:bottom center; z-index:2; border-radius:2px;
  }
  .brand-text .t1{font-weight:800; font-size:18px; letter-spacing:.5px;}
  .brand-text .t2{font-size:11px; color:#B9B9BC; letter-spacing:2px;}
  nav.main-links{display:flex; gap:34px;}
  nav.main-links a{
    font-size:14.5px; font-weight:500; color:#D8D8DA;
    padding:6px 2px; border-bottom:2px solid transparent; transition:.2s;
  }
  nav.main-links a:hover, nav.main-links a.active{color:var(--white); border-color:var(--red);}
  .ticket-btn{
    background:var(--red); color:var(--white); font-weight:700; font-size:14px;
    padding:11px 22px; border-radius:var(--radius); display:inline-flex; gap:8px; align-items:center;
    transition:.2s;
  }
  .ticket-btn:hover{background:var(--red-dark);}
  .burger{display:none; width:24px; height:18px; position:relative; cursor:pointer;}
  .burger span, .burger::before, .burger::after{
    content:""; position:absolute; right:0; height:2px; width:100%; background:var(--white);
  }
  .burger::before{top:0;} .burger span{top:8px; display:block;} .burger::after{top:16px;}

  /* ---------- hero ---------- */
  .hero{
    position:relative;
    background:var(--ink);
    color:var(--white);
    padding:88px 0 120px;
    overflow:hidden;
  }
  .hero .eyebrow{
    color:var(--red); font-weight:700; letter-spacing:3px; font-size:12.5px; margin-bottom:18px;
    display:inline-flex; align-items:center; gap:10px;
  }
  .hero .eyebrow::before{content:""; width:26px; height:2px; background:var(--red);}
  .hero h1{
    font-size:clamp(30px,4.4vw,50px); font-weight:800; max-width:820px; line-height:1.35;
  }
  .hero h1 em{color:var(--red); font-style:normal;}
  .hero p.lead{color:#C6C6C8; font-size:17px; margin-top:18px; max-width:600px;}
  .gauge-badge{
    position:absolute; left:60px; top:40px; width:150px; height:150px;
    border:1px solid rgba(255,255,255,.14); border-radius:50%;
    display:flex; align-items:center; justify-content:center; text-align:center;
  }
  .gauge-badge .ring{
    width:112px; height:112px; border-radius:50%;
    border:6px solid #2C2C2F; border-top-color:var(--red); border-right-color:var(--red);
    display:flex; align-items:center; justify-content:center; flex-direction:column;
  }
  .gauge-badge b{font-size:22px;} .gauge-badge span{font-size:10px; color:#9A9A9D; letter-spacing:1px;}

  .search-form{
    margin-top:40px; display:flex; max-width:560px;
    background:var(--white); border-radius:var(--radius); overflow:hidden;
    box-shadow:0 20px 40px -18px rgba(0,0,0,.5);
  }
  .search-form input{
    flex:1; border:0; padding:18px 20px; font-family:inherit; font-size:15px; color:var(--ink); outline:none;
  }
  .search-form button{
    border:0; background:var(--red); color:var(--white); font-weight:700; font-size:14px;
    padding:0 26px; cursor:pointer; transition:.2s;
  }
  .search-form button:hover{background:var(--red-dark);}
  .hero-stats{display:flex; gap:44px; margin-top:56px; flex-wrap:wrap;}
  .hero-stats div b{display:block; font-size:26px; font-weight:800; color:var(--white);}
  .hero-stats div span{font-size:12.5px; color:#9A9A9D;}

  /* ---------- section heading ---------- */
  .section{padding:96px 0;}
  .section.tight{padding:70px 0;}
  .sec-head{max-width:640px; margin-bottom:56px;}
  .sec-head .meta{color:var(--red); font-weight:700; font-size:12.5px; letter-spacing:2.5px; display:flex; align-items:center; gap:10px;}
  .sec-head .meta::before{content:""; width:22px; height:2px; background:var(--red);}
  .sec-head h2{font-size:clamp(24px,3vw,34px); font-weight:800; margin-top:14px;}
  .sec-head p{color:var(--steel); margin-top:12px; font-size:15.5px;}
  .sec-head.center{margin:0 auto 56px; text-align:center;}
  .sec-head.center .meta{justify-content:center;}

  /* ---------- topics ---------- */
  .topics-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; counter-reset:topic;}
  .topic-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    padding:34px 30px; position:relative; overflow:hidden; transition:.25s;
  }
  .topic-card::before{
    counter-increment:topic; content:"0" counter(topic);
    position:absolute; top:16px; left:20px; font-size:42px; font-weight:800;
    color:var(--paper); z-index:0;
  }
  .topic-card:hover{border-color:var(--red); box-shadow:0 18px 34px -22px rgba(197,47,51,.45); transform:translateY(-3px);}
  .topic-icon{
    width:50px; height:50px; border-radius:50%; background:var(--red-light);
    display:flex; align-items:center; justify-content:center; margin-bottom:22px; position:relative; z-index:1;
  }
  .topic-icon svg{width:22px; height:22px; stroke:var(--red); fill:none; stroke-width:1.8;}
  .topic-card h4{font-size:17.5px; font-weight:700; margin-bottom:10px; position:relative; z-index:1;}
  .topic-card p{color:var(--steel); font-size:14.5px; position:relative; z-index:1;}
  .topic-card a{
    display:inline-flex; align-items:center; gap:6px; margin-top:18px; color:var(--red);
    font-weight:700; font-size:13.5px; position:relative; z-index:1;
  }

  /* ---------- faq ---------- */
  .faq-cols{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
  details.faq-item{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    margin-bottom:14px; overflow:hidden;
  }
  details.faq-item[open]{border-color:var(--red);}
  details.faq-item summary{
    list-style:none; cursor:pointer; padding:20px 22px; font-weight:600; font-size:15px;
    display:flex; justify-content:space-between; align-items:center; gap:14px;
  }
  details.faq-item summary::-webkit-details-marker{display:none;}
  .plus{
    width:24px; height:24px; border-radius:50%; border:1.5px solid var(--red); flex:none;
    position:relative;
  }
  .plus::before, .plus::after{content:""; position:absolute; background:var(--red); top:50%; left:50%; transform:translate(-50%,-50%);}
  .plus::before{width:10px; height:1.6px;} .plus::after{width:1.6px; height:10px; transition:.2s;}
  details[open] .plus::after{opacity:0;}
  details.faq-item .faq-body{padding:0 22px 22px; color:var(--steel); font-size:14.5px;}

  /* ---------- team ---------- */
  .team-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
  .team-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    padding:30px 20px; text-align:center;
  }
  .team-photo{
    width:84px; height:84px; border-radius:50%; margin:0 auto 18px; overflow:hidden;
    border:3px solid var(--red-light);
  }
  .team-photo img{width:100%; height:100%; object-fit:cover;}
  .team-card h5{font-size:15.5px; font-weight:700;}
  .team-card span{font-size:13px; color:var(--red); font-weight:600;}
  .team-social{display:flex; justify-content:center; gap:12px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line);}
  .team-social a{
    width:30px; height:30px; border-radius:50%; background:var(--paper); display:flex; align-items:center; justify-content:center;
    font-size:12px; color:var(--steel); transition:.2s;
  }
  .team-social a:hover{background:var(--red); color:var(--white);}

  /* ---------- newsletter ---------- */
  .newsletter{
    background:var(--ink); border-radius:var(--radius); padding:56px 50px; position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;
    color:var(--white);
  }
  .newsletter::after{
    content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 90% 20%, rgba(197,47,51,.35), transparent 55%);
  }
  .newsletter h3{font-size:21px; font-weight:800; position:relative; z-index:1;}
  .newsletter p{color:#B9B9BC; font-size:14px; margin-top:8px; position:relative; z-index:1;}
  .news-form{display:flex; gap:0; position:relative; z-index:1; min-width:340px;}
  .news-form input{
    flex:1; border:0; padding:15px 18px; font-family:inherit; font-size:14px; outline:none; border-radius:var(--radius) 0 0 var(--radius);
  }
  .news-form button{
    border:0; background:var(--red); color:var(--white); font-weight:700; padding:0 24px; cursor:pointer;
    border-radius:0 var(--radius) var(--radius) 0; transition:.2s;
  }
  .news-form button:hover{background:var(--red-dark);}

  /* ---------- footer ---------- */
  footer{background:#151517; color:#9A9A9D; padding:60px 0 26px; margin-top:20px;}
  .foot-top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:40px; border-bottom:1px solid #2A2A2C;}
  .foot-brand .brand-text .t1{color:var(--white);}
  .foot-brand p{max-width:320px; font-size:13.5px; margin-top:14px; line-height:2;}
  .foot-links h6{color:var(--white); font-size:14px; font-weight:700; margin-bottom:16px;}
  .foot-links ul li{margin-bottom:10px; font-size:13.5px;}
  .foot-links ul li a:hover{color:var(--red);}
  .foot-cols{display:flex; gap:60px; flex-wrap:wrap;}
  .foot-bottom{
    display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:12.5px; flex-wrap:wrap; gap:10px;
  }
  .foot-social{display:flex; gap:10px;}
  .foot-social a{width:32px; height:32px; border-radius:50%; background:#222224; display:flex; align-items:center; justify-content:center; font-size:12px; transition:.2s;}
  .foot-social a:hover{background:var(--red); color:var(--white);}

  /* ---------- content sections (guides / rates / defects) ---------- */
  .content-section{background:var(--white); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .info-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    padding:32px; margin-bottom:24px;
  }
  .info-card h3{font-size:18px; font-weight:800; margin-bottom:16px; display:flex; align-items:center; gap:10px;}
  .info-card h3::before{content:""; width:5px; height:20px; background:var(--red); display:inline-block; border-radius:2px;}
  .info-card p{color:var(--steel); font-size:14.5px;}
  .contact-pills{display:flex; gap:14px; flex-wrap:wrap; margin-top:18px;}
  .contact-pills a{
    display:inline-flex; align-items:center; gap:8px; background:var(--ink); color:var(--white);
    padding:12px 22px; border-radius:var(--radius); font-weight:700; font-size:14.5px; direction:ltr; transition:.2s;
  }
  .contact-pills a:hover{background:var(--red);}
  .contact-pills a .lbl{direction:rtl; font-weight:500; font-size:12.5px; color:#B9B9BC; margin-inline-end:4px;}

  .step-list{counter-reset:step; margin-top:8px;}
  .step-list li{
    counter-increment:step; position:relative; padding:16px 0 16px 0; padding-inline-start:52px;
    border-bottom:1px solid var(--line); font-size:14.5px; color:var(--ink);
  }
  .step-list li:last-child{border-bottom:0;}
  .step-list li::before{
    content:counter(step); position:absolute; inline-size:34px; block-size:34px; inset-inline-start:0; top:12px;
    background:var(--red-light); color:var(--red-dark); border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-weight:800; font-size:14px;
  }
  .note-box{
    background:var(--red-light); border-inline-start:4px solid var(--red); border-radius:var(--radius);
    padding:18px 22px; margin-top:20px; font-size:14px; color:var(--red-dark);
  }
  .note-box b{display:block; font-size:13px; letter-spacing:1px; margin-bottom:6px; text-transform:uppercase;}

  table.data-table{width:100%; border-collapse:collapse; margin-top:14px; font-size:14px;}
  table.data-table th{
    background:var(--ink); color:var(--white); font-weight:700; padding:12px 14px; text-align:right; font-size:13px;
  }
  table.data-table td{padding:12px 14px; border-bottom:1px solid var(--line); color:var(--ink);}
  table.data-table tr:last-child td{border-bottom:0;}
  table.data-table tr:nth-child(even) td{background:var(--paper);}
  table.data-table td.num{font-weight:700; color:var(--red-dark); direction:ltr; text-align:right;}
  .table-scroll{overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius);}
  .table-scroll table.data-table{margin-top:0; min-width:420px;}

  .stat-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:8px;}
  .stat-box{
    background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
    padding:20px; text-align:center;
  }
  .stat-box b{display:block; font-size:20px; font-weight:800; color:var(--red);}
  .stat-box span{font-size:12.5px; color:var(--steel);}

  .badge{
    display:inline-flex; align-items:center; justify-content:center; min-width:26px; height:26px; padding:0 8px;
    border-radius:50px; font-size:12px; font-weight:800;
  }
  .badge.A{background:#FBDADB; color:var(--red-dark);}
  .badge.B{background:#FCEFD0; color:#8A5A0B;}
  .badge.C{background:#DDEFE6; color:#1E6B45;}
  .legend{display:flex; gap:22px; flex-wrap:wrap; margin:18px 0 6px;}
  .legend span{display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--steel);}

  details.cat-item{
    background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); margin-bottom:12px; overflow:hidden;
  }
  details.cat-item[open]{border-color:var(--red);}
  details.cat-item summary{
    list-style:none; cursor:pointer; padding:18px 20px; font-weight:700; font-size:15px;
    display:flex; justify-content:space-between; align-items:center; gap:14px; background:var(--white);
  }
  details.cat-item summary::-webkit-details-marker{display:none;}
  details.cat-item summary .count{font-size:12px; font-weight:600; color:var(--steel);}
  details.cat-item .cat-body{padding:6px 20px 20px;}
  details.cat-item .cat-body ol{margin-inline-start:22px; display:flex; flex-direction:column; gap:9px;}
  details.cat-item .cat-body ol li{font-size:14px; color:var(--steel);}
  details.cat-item .cat-body ol li::marker{color:var(--red); font-weight:700;}

  .subnav{
    display:flex; gap:10px; flex-wrap:wrap; margin-bottom:44px; position:sticky; top:78px; z-index:20;
    background:var(--paper); padding:12px 0;
  }
  .subnav a{
    font-size:13.5px; font-weight:600; padding:9px 16px; border-radius:50px; background:var(--white);
    border:1px solid var(--line); color:var(--steel); transition:.2s;
  }
  .subnav a:hover, .subnav a.active{background:var(--red); border-color:var(--red); color:var(--white);}

  @media(max-width:920px){
    nav.main-links, .ticket-btn{display:none;}
    .burger{display:block;}
    .topics-grid, .team-grid{grid-template-columns:repeat(2,1fr);}
    .faq-cols{grid-template-columns:1fr;}
    .gauge-badge{display:none;}
  }
  @media(max-width:560px){
    .topics-grid, .team-grid{grid-template-columns:1fr;}
    .newsletter{flex-direction:column; align-items:flex-start;}
    .news-form{width:100%; min-width:0;}
  }

  /* ---------- sub-page header (replaces full hero on inner pages) ---------- */
  .page-header{
    background:var(--ink); color:var(--white); padding:56px 0 40px; position:relative; overflow:hidden;
  }
  .page-header .eyebrow{
    color:var(--red); font-weight:700; letter-spacing:3px; font-size:12.5px; margin-bottom:14px;
    display:inline-flex; align-items:center; gap:10px;
  }
  .page-header .eyebrow::before{content:""; width:26px; height:2px; background:var(--red);}
  .page-header h1{font-size:clamp(24px,3.4vw,36px); font-weight:800; max-width:720px;}
  .page-header p.lead{color:#C6C6C8; font-size:15px; margin-top:12px; max-width:600px;}
  .breadcrumb{font-size:13px; color:#9A9A9D; margin-bottom:16px;}
  .breadcrumb a{color:#C6C6C8;} .breadcrumb a:hover{color:var(--white);}

  /* ---------- list search + pagination ---------- */
  .list-toolbar{display:flex; gap:12px; margin-bottom:20px; flex-wrap:wrap; align-items:center;}
  .list-search{
    flex:1; min-width:220px; display:flex; align-items:center; gap:10px; background:var(--white);
    border:1px solid var(--line); border-radius:var(--radius); padding:12px 16px;
  }
  .list-search svg{width:17px; height:17px; stroke:var(--steel); fill:none; stroke-width:1.8; flex:none;}
  .list-search input{
    border:0; outline:none; font-family:inherit; font-size:14.5px; width:100%; background:transparent; color:var(--ink);
  }
  .list-count{font-size:13px; color:var(--steel); white-space:nowrap;}
  .filter-pills{display:flex; gap:8px; flex-wrap:wrap;}
  .filter-pills button{
    font-family:inherit; cursor:pointer; font-size:13px; font-weight:600; padding:9px 15px; border-radius:50px;
    background:var(--white); border:1px solid var(--line); color:var(--steel); transition:.2s;
  }
  .filter-pills button:hover{border-color:var(--red); color:var(--red);}
  .filter-pills button.active{background:var(--red); border-color:var(--red); color:var(--white);}

  .empty-state{
    text-align:center; padding:50px 20px; color:var(--steel); font-size:14.5px; display:none;
  }
  .empty-state.show{display:block;}

  .pagination{display:flex; justify-content:center; align-items:center; gap:6px; margin-top:26px; flex-wrap:wrap;}
  .pagination button{
    font-family:inherit; cursor:pointer; min-width:38px; height:38px; border-radius:var(--radius);
    background:var(--white); border:1px solid var(--line); color:var(--ink); font-size:13.5px; font-weight:600; transition:.2s;
  }
  .pagination button:hover:not(:disabled){border-color:var(--red); color:var(--red);}
  .pagination button.active{background:var(--red); border-color:var(--red); color:var(--white);}
  .pagination button:disabled{opacity:.35; cursor:not-allowed;}
  .pagination .pg-nav{padding:0 14px; width:auto;}

  mark{background:#FBDADB; color:var(--red-dark); border-radius:2px; padding:0 2px;}

  .page-cta{
    background:var(--ink); border-radius:var(--radius); padding:44px 40px; margin-top:60px; position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; color:var(--white);
  }
  .page-cta::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 90% 20%, rgba(197,47,51,.35), transparent 55%);}
  .page-cta div{position:relative; z-index:1;}
  .page-cta h4{font-size:18px; font-weight:800;}
  .page-cta p{color:#B9B9BC; font-size:13.5px; margin-top:6px;}
  .page-cta .ticket-btn{position:relative; z-index:1;}
