  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  :root {
    --green: #4a7c59;
    --green-dark: #2e5239;
    --green-light: #e8f3ec;
    --gold: #c8913a;
    --red: #c0392b;
    --text: #222;
    --muted: #666;
    --border: #ddd;
    --bg-light: #f9f7f4;
    --white: #fff;
  }
  a { text-decoration: none; color: inherit; }
  img { max-width: 100%; display: block; }

  .btn { padding: 9px 18px; border-radius: 5px; font-size: 13px; font-weight: 700; cursor: pointer; border: none; font-family: var(--font-body); transition: .2s; }
  .btn-solid { background: var(--green); color: #fff; }
  .btn-solid:hover { background: var(--green-dark); }
  .btn-gold { background: var(--gold); color: #fff; }
  .btn-gold:hover { background: #a0722a; }

  /* ── HERO ── */
  .hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    background: #1a2e20;
  }
  .hero-bg {
    position: absolute; inset: 0;
    background: url('../images/landing/hero-bg.jpg') center/cover no-repeat;
    filter: brightness(0.42);
    z-index: 0;
  }
  .hero-content {
    position: relative; z-index: 1;
    max-width: 720px;
    padding: 80px 24px;
    color: #fff;
  }
  .hero-content h1 {
    font-size: 50px;
    line-height: 1.15;
    margin-bottom: 20px;
    font-family: var(--font-display);
    text-shadow: 0 2px 16px rgba(0,0,0,.5);
  }
  .hero-content p {
    font-size: 15.5px;
    color: rgba(255,255,255,.88);
    margin-bottom: 32px;
    line-height: 1.8;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
  }
  .hero-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
  .hero-btns .btn-visit {
    padding: 13px 30px; border-radius: 5px; font-size: 14px; font-weight: 700;
    cursor: pointer; font-family: var(--font-body); background: #fff; color: #1a1a1a;
    border: none; transition: .2s;
  }
  .hero-btns .btn-visit:hover { background: #e8e8e8; }
  .hero-btns .btn-consult {
    padding: 13px 30px; border-radius: 5px; font-size: 14px; font-weight: 700;
    cursor: pointer; font-family: var(--font-body); background: var(--green);
    color: #fff; border: none; transition: .2s;
  }
  .hero-btns .btn-consult:hover { background: var(--green-dark); }

  /* ── STATS BAR ── */
  .stats-bar { background: #edf7ed; border-bottom: 1px solid #c8e6c8; padding: 28px 40px; }
  .stats-inner { display: flex; justify-content: space-around; text-align: center; flex-wrap: wrap; gap: 16px; }
  .stat-item { flex: 1; min-width: 130px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
  .stat-item .icon { width: 45px; height: 45px; aspect-ratio: 1 / 1; }
  .stat-item .icon img { width: 100%; height: 100%; object-fit: contain; }
  .stat-item strong { display: block; font-size: 14px; color: var(--text); font-family: var(--font-body); font-weight: 700; line-height: 1.4; }
  .stat-item span { display: none; }
  @media(max-width:900px) {
    .stats-bar{ padding: 28px 12px; }
  }

  /* ── SECTION WRAPPER ── */
  section { padding: 56px 40px; }
  .section-title { text-align: center; margin-bottom: 36px; }
  .section-title h2 { font-size: 28px; color: var(--green-dark); margin-bottom: 8px; }
  .section-title p { color: var(--muted); font-size: 14px; max-width: 560px; margin: 0 auto; }

  /* ── SHOWROOM MAP ── */
  .showroom-section { padding: 48px 60px 32px; }
  .showroom-title { font-size: 20px; font-weight: 700; text-align: center; margin-bottom: 28px; font-family: var(--font-body); color: var(--text); }
  .showroom-grid { display: grid; grid-template-columns: 380px 1fr; gap: 0; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
  .showroom-info { padding: 28px 28px 24px; background: #fff; border-right: 1px solid var(--border); }
  .info-row { display: flex; gap: 11px; margin-bottom: 14px; align-items: flex-start; font-size: 13.5px; color: var(--text); line-height: 1.55; }
  .info-row svg { flex-shrink: 0; margin-top: 2px; }
  .info-row .hours-list { list-style: none; }
  .info-row .hours-list li { font-size: 13px; color: var(--text); line-height: 1.7; }
  .dir-btn { margin-top: 18px; display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: var(--green); color: #fff; padding: 11px 20px; border-radius: 6px; font-size: 14px; font-weight: 700; border: none; cursor: pointer; font-family: var(--font-body); }
  .dir-btn:hover { background: var(--green-dark); }
  .map-embed { width: 100%; height: 100%; min-height: 320px; display: block; border: none; }
  @media(max-width:900px) {
    .showroom-section{ padding: 48px 12px 32px; }
  }

  /* ── GALLERY ── */
  .gallery-section { padding: 40px 60px 48px; background: #fff; }
  .gallery-section h2 { font-size: 26px; font-family: var(--font-display); color: var(--text); margin-bottom: 20px; }
  .gallery-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 8px;
  }
  @media(max-width:900px) {
    .gallery-section { padding: 40px 12px 48px; }
  }
  /* Row 1: big left spanning 2 rows, then 2 stacked on right */
  .g1 { grid-column: 1 / 3; grid-row: 1 / 3; }
  .g2 { grid-column: 3; grid-row: 1; }
  .g3 { grid-column: 4; grid-row: 1; }
  .g4 { grid-column: 3 / 5; grid-row: 2; }
  /* Row 2: 4 equal thumbnails */
  .g5 { grid-column: 1; grid-row: 3; }
  .g6 { grid-column: 2; grid-row: 3; }
  .g7 { grid-column: 3; grid-row: 3; }
  .g8 { grid-column: 4; grid-row: 3; }

  .gallery-item {
    overflow: hidden; border-radius: 4px; cursor: pointer;
    background: #d0c4b0;
    position: relative;
  }
  .gallery-item img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .3s ease;
  }
  .gallery-item:hover img { transform: scale(1.04); }
  .g1 { min-height: 440px; }
  .g2, .g3 { min-height: 212px; }
  .g4 { min-height: 212px; }
  .g5, .g6, .g7, .g8 { min-height: 180px; }
  @media (max-width:900px) {
    .gallery-item{ min-height: 90px; }
  }

  /* ── COLLECTIONS ── */
  .collections-section { padding: 56px 60px 40px; text-align: center; }
  .collections-section h2 { font-size: 26px; font-family: var(--font-display); color: var(--text); margin-bottom: 40px; font-weight: 700; }
  .collections-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px 16px; margin-bottom: 8px; }
  .collection-card { text-align: center; cursor: pointer; padding: 8px 4px 12px; }
  .collection-card:hover .coll-img { transform: translateY(-4px); }
  .coll-img { height: 140px; display: flex; align-items: center; justify-content: center; margin-bottom: 10px; transition: transform .25s; }
  .coll-img img { max-height: 130px; max-width: 100%; object-fit: contain; display: block; margin: 0 auto; }
  .collection-card p { font-size: 10.5px; color: var(--text); font-weight: 600; letter-spacing: .6px; text-transform: uppercase; }
  .view-all { text-align: center; margin-top: 18px; }
  .view-all a { color: var(--text); font-size: 13.5px; text-decoration: underline; }
  .view-all a:hover { color: var(--green); }
  @media (max-width:900px) {
    .collections-section { padding: 56px 12px 40px; }
  }

  /* ── CRAFTSMANSHIP ── */
  .craft-section { padding: 56px 60px 48px; background: #fff; }
  .craft-section > h2 { font-size: 24px; font-family: var(--font-display); font-weight: 700; text-align: center; margin-bottom: 28px; color: var(--text); }
  .craft-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
  .craft-card { background: var(--white); border-radius: 8px; padding: 24px 28px; border: 1px solid #e0e0e0; }
  .craft-card .craft-icon { margin-bottom: 12px; color: var(--green); }
  .craft-card h3 { font-size: 15px; font-family: var(--font-body); font-weight: 700; color: var(--text); margin-bottom: 8px; }
  .craft-card p { font-size: 13px; color: var(--muted); line-height: 1.65; }
  @media (max-width:900px) {
    .craft-section { padding: 56px 12px 48px; }
  }

  /* ── DELIVERY PROCESS ── */
  .delivery-section { padding: 0 60px 56px; background: #fff; }
  .delivery-box { background-color: #F8F8F8; border-radius: 10px; padding: 32px 28px; }
  .delivery-box h2 { font-size: 20px; font-family: var(--font-display); font-weight: 700; text-align: center; margin-bottom: 28px; color: var(--text); }
  .process-steps { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: start; gap: 0; }
  .process-step { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; padding: 20px 16px; text-align: center; }
  .process-step h4 { font-size: 13.5px; font-family: var(--font-body); font-weight: 700; color: var(--green); margin-bottom: 8px; }
  .process-step p { font-size: 12px; color: var(--muted); line-height: 1.6; }
  .process-arrow { display: flex; align-items: center; justify-content: center; padding: 0 12px; color: #999; font-size: 20px; padding-top: 30px; }
  @media (max-width:900px) {
    .delivery-section { padding: 0 12px 56px; }
    .process-steps { grid-template-columns: 1fr; }
    .process-arrow { padding: 10px 0px; }
  }

  /* ── CTA BAND ── */
  .cta-band { background: url('../images/landing/cta-bg.webp') center/cover no-repeat; padding: 60px 40px; display: flex; align-items: center; justify-content: space-between; gap: 32px; min-height: 600px; }
  .cta-band h2 { font-size: 30px; color: #fff; margin-bottom: 12px; max-width: 500px; }
  .cta-band p { color: rgba(255,255,255,.75); font-size: 14px; max-width: 460px; }
  .cta-band-btns { display: flex; gap: 12px; margin-top: 22px; }
  @media (max-width:900px) {
    .cta-band { min-height: auto; }
  }

  /* ── CERTIFICATIONS CAROUSEL ── */
  .cert-section { background: #fff; padding: 56px 0 60px; }
  .cert-section h2 { font-size: 26px; font-family: var(--font-display); font-weight: 700; text-align: center; margin-bottom: 44px; color: var(--text); }
  .cert-carousel-wrap { position: relative; padding: 0 60px; }
  .cert-item { text-align: center; padding: 10px 20px; outline: none; }
  .cert-item .cert-logo { height: 90px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
  .cert-item .cert-logo img { max-height: 90px; max-width: 160px; object-fit: contain; display: block; margin: 0 auto; }
  .cert-item p { font-size: 13.5px; font-weight: 700; color: var(--text); line-height: 1.45; max-width: 180px; margin: 0 auto; }
  /* Slick arrow overrides */
  .cert-carousel-wrap .slick-prev,
  .cert-carousel-wrap .slick-next { width: 32px; height: 32px; z-index: 10; top: 40%; background: none; color: #666; font-size: 40px; }
  .cert-carousel-wrap .slick-prev { left: 10px; }
  .cert-carousel-wrap .slick-next { right: 10px; }
  .cert-carousel-wrap .slick-prev:before,
  .cert-carousel-wrap .slick-next:before { color: #999; font-size: 28px; }

  /* ── WHY VISIT ── */
  .why-section { padding: 56px 60px 48px; background: #fff; }
  .why-section h2 { font-size: 26px; font-family: var(--font-display); font-weight: 700; text-align: center; margin-bottom: 32px; color: var(--text); }
  .why-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
  .why-card {
    text-align: center; padding: 28px 20px 24px;
    border: 1px solid #e4e4e4; border-radius: 8px;
    background: #fff;
  }
  .why-card .why-icon { margin-bottom: 16px; display: flex; align-items: center; justify-content: center; }
  .why-card .sub-ttl { font-size: 14px; color: var(--text); margin-bottom: 10px; font-family: var(--font-body); font-weight: 700; }
  .why-card p { font-size: 12.5px; color: var(--muted); line-height: 1.65; }
  @media (max-width:900px) {
    .why-section { padding: 56px 12px 48px; }
  }

  /* ── VIDEO ── */
  .video-section { background: #fff; padding: 0 60px 20px; }
  .video-wrap { max-width: 840px; margin: 0 auto; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 24px rgba(0,0,0,.12); }
  .video-wrap iframe { display: block; width: 100%; aspect-ratio: 16/9; border: none; }
  .video-actions { max-width: 840px; margin: 28px auto 0; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; }
  .call-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 32px; border: 1.5px solid #ccc; border-radius: 6px; font-size: 14px; font-weight: 600; color: var(--text); background: #fff; cursor: pointer; font-family: var(--font-body); transition: border-color .2s, box-shadow .2s; }
  .call-btn:hover { border-color: var(--green); box-shadow: 0 2px 8px rgba(0,0,0,.08); }
  .other-store-link { font-size: 13.5px; color: var(--text); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .other-store-link:hover { color: var(--green); }
  @media (max-width:900px) {
    .video-section { padding: 0 12px 20px; }
  }

  /* ── REVIEWS ── */
  .reviews-section { background: var(--bg-light); }
  .rating-top { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
  .rating-big { font-size: 52px; font-family: var(--font-display); color: var(--green-dark); line-height: 1; }
  .stars { color: var(--gold); font-size: 22px; }
  .reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .review-card { background: var(--white); border-radius: 10px; padding: 20px; border: 1px solid var(--border); }
  .review-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
  .review-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--green-light); display: flex; align-items: center; justify-content: center; font-weight: 700; color: var(--green-dark); font-size: 16px; }
  .review-name { font-weight: 700; font-size: 14px; }
  .review-date { font-size: 11px; color: var(--muted); }
  .review-stars { color: var(--gold); font-size: 14px; margin-bottom: 8px; }
  .review-text { font-size: 13px; color: var(--muted); line-height: 1.6; }

  /* ── FAQ ── */
  .faq-section { padding: 60px 60px 56px; background: #fff; position: relative; z-index: 1; margin-top: -32px; }
  .faq-section h2 { font-size: 26px; font-family: var(--font-display); font-weight: 700; text-align: center; margin-bottom: 36px; color: var(--text); }
  .faq-list { max-width: 640px; margin: 0 auto; }
  .faq-item { border-top: 1px solid #e0e0e0; }
  .faq-item:last-child { border-bottom: 1px solid #e0e0e0; }
  .faq-q {
    width: 100%; background: none; border: none; text-align: left;
    padding: 20px 4px; font-size: 14.5px; font-weight: 400;
    color: var(--text); cursor: pointer;
    display: flex; justify-content: space-between; align-items: center;
    font-family: var(--font-body); line-height: 1.5; gap: 16px;
  }
  .faq-q:hover { color: var(--green); }
  .faq-chevron { flex-shrink: 0; transition: transform .25s; color: #555; }
  .faq-q.open .faq-chevron { transform: rotate(180deg); }
  .faq-a { display: none; padding: 0 4px 18px; font-size: 13.5px; color: var(--muted); line-height: 1.7; }
  .faq-a.open { display: block; }
  @media (max-width:900px) {
    .faq-section { padding: 60px 12px 56px; }
  }

  /* ── BOOK CONSULTATION ── */
  .booking-section { padding: 20px 60px 60px; background: #fff; }
  .booking-card {
    border: 1px solid #e0e0e0; border-radius: 12px; overflow: hidden;
    display: grid; grid-template-columns: 480px 1fr;
    box-shadow: 0 2px 16px rgba(0,0,0,.06);
  }
  .booking-img {
    position: relative; min-height: 420px;
    background: url('../images/landing/from-bg.webp') center/cover no-repeat;
  }
  .booking-img::after {
    content: ''; position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.18) 55%, transparent 100%);
  }
  .booking-img-content {
    position: absolute; bottom: 0; left: 0; right: 0; z-index: 1; padding: 28px 28px 32px;
  }
  .booking-img-content h3 { font-size: 22px; color: #fff; font-family: var(--font-display); margin-bottom: 10px; line-height: 1.3; }
  .booking-img-content p { font-size: 13px; color: rgba(255,255,255,.82); margin-bottom: 20px; line-height: 1.6; }
  .booking-img-btns { display: flex; gap: 10px; }
  .bk-btn-solid { background: var(--green); color: #fff; border: none; padding: 10px 20px; border-radius: 5px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: var(--font-body); }
  .bk-btn-solid:hover { background: var(--green-dark); }
  .bk-btn-outline { background: transparent; color: #fff; border: 1.5px solid #fff; padding: 10px 20px; border-radius: 5px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: var(--font-body); }
  .bk-btn-outline:hover { background: rgba(255,255,255,.15); }
  @media (max-width:900px) {
    .booking-section { padding: 20px 12px 60px; }
    .booking-card, .form-row { grid-template-columns: 1fr !important; }
  }

  .booking-form-panel { padding: 32px 36px; background: #fff; }
  .booking-form-panel h3 { font-size: 20px; font-family: var(--font-display); font-weight: 700; color: var(--text); margin-bottom: 24px; }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
  .form-group { display: flex; flex-direction: column; }
  .form-group label { font-size: 12.5px; font-weight: 600; color: var(--text); margin-bottom: 5px; }
  .form-group label .req { color: var(--red); margin-left: 1px; }
  .form-group input, .form-group select, .form-group textarea {
    padding: 10px 12px; border: 1px solid #d0d0d0; border-radius: 6px;
    font-size: 13.5px; font-family: var(--font-body); color: var(--text); outline: none;
    transition: border-color .2s;
    min-height: 44px;
  }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--green); }
  .form-group input::placeholder, .form-group textarea::placeholder { color: #aaa; }
  .form-group textarea { height: 88px; resize: vertical; }
  .form-full { grid-column: 1 / -1; }
  .book-submit {
    width: 100%; background: var(--green-dark); color: #fff; border: none;
    padding: 13px; border-radius: 6px; font-size: 14.5px; font-weight: 700;
    cursor: pointer; font-family: var(--font-body); margin-top: 6px;
    transition: background .2s;
  }
  .book-submit:hover { background: #1a2e20; }

  /* ── FOOTER ── */
  footer { background: var(--green-dark); color: rgba(255,255,255,.75); padding: 40px 40px 20px; }
  .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; margin-bottom: 32px; }
  .footer-col h4 { color: #fff; font-size: 14px; font-family: var(--font-body); font-weight: 700; margin-bottom: 14px; text-transform: uppercase; letter-spacing: .5px; }
  .footer-col p, .footer-col a { font-size: 13px; line-height: 1.8; display: block; color: rgba(255,255,255,.65); }
  .footer-col a:hover { color: #fff; }
  .footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding-top: 18px; display: flex; justify-content: space-between; font-size: 12px; }

  /* ── RESPONSIVE ── */
  @media(max-width:900px) {
    .hero, .cta-band, .showroom-grid, .footer-banner, .footer-grid { grid-template-columns: 1fr; flex-direction: column; }
    .collections-grid { grid-template-columns: repeat(3,1fr); }
    .why-grid { grid-template-columns: repeat(2,1fr); }
    .reviews-grid { grid-template-columns: 1fr; }
    section { padding: 40px 20px; }
  }
