 :root{
      --gold:#C9A15D;
      --gold2:#E4C785;
      --charcoal:#1C1C1C;
      --soft:#faf8f3;
      --line:#e9e6df;
      --ring:rgba(201,161,93,.35);
    }
    *{box-sizing:border-box;}
    html,body{
      margin:0;
      padding:0;
      background:#fff;
      color:var(--charcoal);
      font-family:Poppins,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    }
    a{color:var(--charcoal);text-decoration:none;}
    .wrap{max-width:1200px;margin:0 auto;padding:0 20px;}

    /* ===== HEADER ===== */
    header.site{
      position:sticky;
      top:0;
      z-index:50;
      background:linear-gradient(180deg,#ffffff 0%,var(--soft) 100%);
      border-bottom:1px solid var(--line);
    }
    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:10px 0;
      gap:16px;
    }
    .brand-block{
      display:flex;
      align-items:center;
      gap:12px;
      flex-wrap:wrap;
    }
    .brand-name{
      font-size:24px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:0.12em;
    }
    .brand-name .reg-mark{
      font-size:16px;
      position:relative;
      top:-6px;
      left:2px;
    }
    .subbrand{
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:0.18em;
      color:#777;
    }
    .nav-links{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .nav-link{
      padding:8px 14px;
      border-radius:999px;
      border:1px solid #ddd;
      font-size:13px;
      background:#fff;
    }
    .nav-link.active{
      border-color:var(--gold);
      background:#fffaf0;
    }

    /* ===== HERO ===== */
    .hero{
      background:linear-gradient(180deg,#ffffff 0%,var(--soft) 85%);
      border-bottom:1px solid var(--line);
    }
    .hero-inner{
      display:grid;
      grid-template-columns:1.1fr .9fr;
      gap:24px;
      align-items:center;
      padding:26px 0 24px;
    }
    .tagline{
      font-size:12px;
      color:#6f6f6f;
      border:1px solid var(--line);
      padding:6px 10px;
      border-radius:999px;
      background:#fff;
      display:inline-flex;
      align-items:center;
      gap:6px;
    }
    h1{
      font-size:32px;
      line-height:1.22;
      margin:12px 0 6px;
    }
    .sub{
      color:#555;
      margin:6px 0 18px;
      max-width:520px;
    }
    .hero-note{
      font-size:12px;
      color:#777;
      margin-bottom:10px;
    }
    .cta-row{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      margin-top:4px;
    }
    .btn{
      appearance:none;
      border:1px solid var(--gold);
      background:var(--gold);
      color:#111;
      padding:11px 16px;
      border-radius:12px;
      font-weight:600;
      cursor:pointer;
      transition:.25s;
      display:inline-flex;
      align-items:center;
      gap:8px;
      box-shadow:0 6px 18px rgba(201,161,93,.18);
      font-size:14px;
    }
    .btn:hover{
      transform:translateY(-1px);
      background:var(--gold2);
    }
    .btn.secondary{
      background:#fff;
      color:#111;
      border:1.5px solid var(--gold);
      box-shadow:none;
    }

    /* Hero slideshow box */
    .hero-box{
      width:100%;
      max-width:520px;
      height:260px;
      border-radius:16px;
      overflow:hidden;
      position:relative;
      border:1px solid #e4e0d7;
      box-shadow:0 12px 26px rgba(0,0,0,.08);
    }
    .hero-box img{
      width:100%;
      height:100%;
      object-fit:cover;
      position:absolute;
      opacity:0;
      animation:fadeSlide 25s infinite;
    }
    .hero-box img:nth-child(1){animation-delay:0s;}
    .hero-box img:nth-child(2){animation-delay:5s;}
    .hero-box img:nth-child(3){animation-delay:10s;}
    .hero-box img:nth-child(4){animation-delay:15s;}
    .hero-box img:nth-child(5){animation-delay:20s;}
    @keyframes fadeSlide{
      0%,20%{opacity:1;}
      25%,100%{opacity:0;}
    }

    /* ===== GENERIC SECTIONS ===== */
    section{padding:26px 0;}
    .section-title{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:14px;
    }
    .section-title h2{
      font-size:22px;
      margin:0;
    }
    .hint{
      color:#777;
      font-size:13px;
    }
    .card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:16px;
      padding:18px;
      box-shadow:0 10px 24px rgba(0,0,0,.04);
    }

    .grid{
      display:grid;
      grid-template-columns:repeat(12,1fr);
      gap:14px;
    }
    .col-6{grid-column:span 6;}
    .col-12{grid-column:span 12;}

    label.block{
      display:block;
      font-size:13px;
      color:#555;
      margin-bottom:8px;
      font-weight:500;
    }
    select,
    input[type="range"],
    input[type="file"]{
      width:100%;
      padding:11px 12px;
      border:1px solid #ddd;
      border-radius:10px;
      background:#fff;
      outline:none;
      font-family:inherit;
      font-size:13px;
    }
    select:focus,
    input:focus{
      box-shadow:0 0 0 4px var(--ring);
      border-color:var(--gold);
    }

    .tiles{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .tile{
      border:1px solid #ddd;
      border-radius:12px;
      padding:8px 12px;
      background:#fff;
      cursor:pointer;
      font-weight:500;
      font-size:13px;
    }
    .tile.active{
      border-color:var(--gold);
      box-shadow:0 0 0 4px var(--ring);
    }
    /* Accessory subtitles */
    .tile small{
      color:#777;
      font-size:11px;
      display:block;
      line-height:1.4;
      margin-top:2px;
      text-wrap:balance;
    }
    .tile:hover{
      box-shadow:0 0 10px rgba(201,161,93,0.7);
      transform:scale(1.03);
      transition:all 0.25s ease-in-out;
      border-color:var(--gold);
    }

    .range-row{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .chip{
      background:#fff;
      border:1px solid var(--line);
      padding:7px 11px;
      border-radius:999px;
      font-size:12px;
      color:#555;
    }

    .result{
      background:#fffaf0;
      border:1px dashed var(--gold);
      border-radius:14px;
      padding:14px 14px 16px;
      display:flex;
      flex-direction:column;
      gap:4px;
    }
    .price{
      font-size:24px;
      font-weight:700;
    }
    .muted{
      color:#6b6b6b;
      font-size:13px;
    }

    .preview{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
    }
    .preview .box{
      border:1px solid var(--line);
      border-radius:14px;
      background:#fafafa;
      min-height:220px;
      display:grid;
      place-items:center;
      padding:10px;
      text-align:center;
    }
    .thumb{
      max-width:100%;
      max-height:260px;
      border-radius:10px;
      border:1px solid #e6e6e6;
    }

    .faq-item{
      border-bottom:1px solid var(--line);
    }
    .faq-q{
      display:flex;
      justify-content:space-between;
      gap:10px;
      padding:12px 0;
      cursor:pointer;
      font-weight:600;
      font-size:14px;
    }
    .faq-q span{
      font-weight:700;
      font-size:16px;
    }
    .faq-a{
      display:none;
      color:#555;
      padding:0 0 12px;
      font-size:13px;
    }
    .faq-item.open .faq-a{display:block;}
    .faq-item.open .faq-q span{transform:rotate(45deg);}

    /* ===== FOOTER ===== */
    .foot{
      padding:22px 20px 26px;
      background:var(--soft);
      color:#5c5c5c;
      border-top:1px solid var(--line);
      margin-top:20px;
    }
    .foot-inner{
      max-width:1200px;
      margin:0 auto;
      font-size:13px;
    }
    .foot-top{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:center;
      flex-wrap:wrap;
      margin-bottom:8px;
    }
    .foot-links{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
    }
    .foot-links a{
      text-decoration:none;
      color:#555;
    }
    .foot-links a:hover{text-decoration:underline;}

    /* ===== FLOATING BUTTONS ===== */
    .floating{
      position:fixed;
      right:16px;
      bottom:18px;
      z-index:60;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .fab{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:10px 13px;
      border-radius:999px;
      background:#25D366;
      color:#fff;
      font-weight:600;
      border:none;
      cursor:pointer;
      box-shadow:0 10px 24px rgba(0,0,0,.18);
      font-size:13px;
    }
    .fab.call{
      background:var(--gold);
      color:#111;
    }
    .mini{
      font-weight:500;
      font-size:12px;
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 960px){
      .hero-inner{
        grid-template-columns:1fr;
        gap:18px;
      }
      h1{
        font-size:26px;
      }
      .hero-box{
        height:220px;
        max-width:100%;
        margin:0 auto;
      }
      .nav-links{
        display:none; /* keep header clean on mobile, you can change later */
      }
      .brand-name{
        font-size:18px;
      }
      .subbrand{
        font-size:11px;
      }
      .col-6{grid-column:span 12;}
      .preview{grid-template-columns:1fr;}
    }
    @media (max-width: 640px){
      .wrap{padding:0 16px;}
      .floating{
        right:10px;
        bottom:10px;
      }
      .fab{
        padding:9px 11px;
      }
    }