 :root{
    --dark:#020101;
    --gold:#9a7212;
    --gold-dark:#7c5a0e;
    --body-text:#4a4a4a;
    --max:1100px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{font-family:"Nunito Sans", sans-serif; color:var(--body-text); background:#fff; line-height:1.7;}
  h1,h2{font-family:"Cabin", sans-serif; font-weight:700; color:#000;}
  img{display:block; max-width:100%;}
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}
  .container{max-width:var(--max); margin:0 auto; padding:0 24px;}
  .btn{display:inline-block; padding:13px 30px; background:var(--gold); color:#fff; font-weight:700; letter-spacing:.02em; font-size:14px; border-radius:2px; transition:background .2s;}
  .btn:hover{background:var(--gold-dark);}
  /* NAV */
  .site-nav{display:flex; align-items:center; justify-content:space-between; padding:18px 24px; max-width:1280px; margin:0 auto; flex-wrap:wrap; gap:16px;}
  .site-nav .logo img{height:64px;}
  .nav-links{display:flex; align-items:center; gap:26px; font-size:14px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:#020101;}
  .nav-links .has-dropdown{position:relative;}
  .nav-links .dropdown{display:none; position:absolute; top:100%; left:0; background:#fff; box-shadow:0 10px 26px rgba(0,0,0,.12); min-width:200px; padding:10px 0; z-index:20;}
  .nav-links .has-dropdown:hover .dropdown{display:block;}
  .nav-links .dropdown a{display:block; padding:10px 18px; font-size:13px; font-weight:600; text-transform:none;}
  .nav-links .dropdown a:hover{background:#f7f3ea; color:var(--gold);}
  .nav-links a:hover{color:var(--gold);}
  .nav-lutto{background:var(--gold); color:#fff; text-align:center; padding:10px 22px; font-size:13px; font-weight:700; line-height:1.4;}
  .nav-lutto span{display:block; font-size:11px; font-weight:400; letter-spacing:.04em;}
  /* HERO */
  .hero-banner{display:grid; grid-template-columns:70% 30%; grid-template-rows:1fr auto; grid-template-areas:"text photo1 photo2" "bar bar photo2"; min-height:400px;}
  .hero-text{grid-area:text; display:flex; flex-direction:column; justify-content:center; padding:0 22px 18px 40px;}
  .hero-text h1{font-size:clamp(26px,2.6vw,38px); line-height:1.18; color:var(--gold); text-transform:uppercase; margin:0 0 22px; border-left:5px solid var(--gold); padding-left:20px; letter-spacing:.01em;}
  .hero-text img{width:150px; height:auto; margin-left:20px;}
  .hero-goldbar{grid-area:bar; height:30px; background:var(--gold);}
  .hero-photo1{grid-area:photo1; align-self:center; padding:24px 0;}
  .hero-photo1 img{width:100%; height:auto; box-shadow:0 12px 30px rgba(0,0,0,.15);}
  .hero-photo2{grid-area:photo2;}
  .hero-photo2 img{width:100%; height:100%; object-fit:cover;}
  /* 24H BANNER */
  .banner-24h{margin:50px auto 0; max-width:1280px; padding:0 24px;}
  .banner-24h img{width:100%; height:auto;}
  /* CAROUSEL */
  .gallery{max-width:1280px; margin:0 auto; padding:50px 24px 0;}
  .gallery-track{position:relative; overflow:hidden; border-radius:2px;}
  .gallery-slides{display:flex; transition:transform .4s ease;}
  .gallery-slides img{width:100%; flex:0 0 100%; height:460px; object-fit:cover;}
  .gallery-arrow{position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.9); border:0; font-size:20px; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.2);}
  .gallery-arrow.prev{left:16px;} .gallery-arrow.next{right:16px;}
  .gallery-dots{display:flex; justify-content:center; gap:8px; margin:18px 0 0;}
  .gallery-dots button{width:9px; height:9px; border-radius:50%; border:0; background:#d9d2c4; cursor:pointer; padding:0;}
  .gallery-dots button.active{background:var(--gold);}
  /* TOP CTAs */
  .top-ctas{display:flex; justify-content:center; gap:16px; padding:36px 24px 50px;}
  /* MAIN CONTENT */
  main{max-width:var(--max); margin:0 auto; padding:0 24px 60px;}
  h1{font-size:28px; text-transform:uppercase; letter-spacing:.02em; margin-bottom:22px;}
  h2{font-size:28px; margin:46px 0 18px;}
  main p{margin-bottom:16px;}
  .service-list{margin:18px 0 8px;}
  .service-list li{position:relative; padding-left:20px; margin-bottom:8px;}
  .service-list li::before{content:"–"; position:absolute; left:0; color:var(--gold); font-weight:700;}
  .bottom-ctas{display:flex; justify-content:center; gap:16px; margin-top:50px;}
  /* FOOTER */
  .site-footer{background:#231F20; padding:34px 24px 26px; text-align:center; font-size:13px; color:#c9c4bb;}
  .site-footer p{margin-bottom:10px;}
  .site-footer a{color:#c9c4bb; text-decoration:underline;}
  @media (max-width:960px){
    .nav-links{display:none;}
    .site-nav{justify-content:space-between;}
    h1, h2{font-size:24px;}
    .hero-banner{grid-template-columns:1fr; grid-template-areas:"text" "photo1" "photo2" "bar"; min-height:0;}
    .hero-text{padding:24px 24px 12px;}
    .hero-goldbar{display:none;}
    .hero-photo1{padding:0 24px 16px;}
    .hero-photo2 img{height:260px;}
    .gallery-slides img{height:300px;}
  }
  @media (max-width:560px){
    .top-ctas, .bottom-ctas{flex-direction:column; align-items:center;}
    .gallery-slides img{height:220px;}
  }