 /* RESET + BASE */
    * { box-sizing: border-box; }
    html, body { height: 100%; }
    html, body { overflow-x: hidden; }
    body{
      margin: 0;
      font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
      background: #f3ead7;
      color: #1f2937;
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    img{ max-width: 100%; display:block; }

    .visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden;white-space:nowrap;}

    /* GLOBAL TITLES */
    :root{ 
      --title-size: clamp(2rem, 6vw, 3rem);  --subtitle-width: 48rem; }
    .section-title{
      font-size: var(--title-size);
      line-height: 1.15;
      font-weight: 700;
      margin: 0 auto 1rem;
      text-align: center;
      color: #0f172a;
      letter-spacing: -0.01em;
    }
    .section-subtitle{
  max-width: var(--subtitle-width);
  width: 100%;
  margin: 2rem auto 3rem;
  text-align: center;
  line-height: 1.4;
  font-size: clamp(1.3rem, 3.6vw, 2rem);
  opacity: .9;
}

    /* LAYOUT */
    .container{ width: min(1100px, 92%); margin-inline: auto; }
    :target{ scroll-margin-top: 100px; }

    /* Skip link */
    .skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
    .skip-link:focus{ left: 16px; top: 16px; width:auto; height:auto; background:#fff; padding:.5rem .8rem; border-radius:8px; z-index: 2000; }

    /* ===== TOP BAR (desktop + base) ===== */
    .top-bar{ position: fixed; inset-inline: 0; top: 16px; z-index: 1000; }
    .top-shell{
      width: min(1100px, 92%);
      margin: 0 auto;
      display: flex; align-items: center; justify-content: space-between;
      padding: .6rem .9rem;
      border-radius: 999px;
      background: rgba(255,255,255,0.45);
      backdrop-filter: blur(8px);
      box-shadow: 0 6px 24px rgba(0,0,0,.08);
      transition: box-shadow .2s ease, background .2s ease, transform .2s ease;
    }
    .top-bar.scrolled .top-shell{ background: rgba(255,255,255,0.9); box-shadow: 0 8px 28px rgba(0,0,0,.12); }

    .brand{ font-weight: 700; font-size: clamp(1rem, 2vw, 1.2rem); color: #0f172a; letter-spacing: .2px; white-space: nowrap; }

    /* ===== NAV DESKTOP (dentro la pill) ===== */
    .primary-desktop{ display: flex; align-items: center; gap: clamp(1rem, 3vw, 2.2rem); }
    .primary-desktop a{ text-decoration: none; color: #0f172a; font-weight: 600; font-size: .95rem; position: relative; }
    .primary-desktop a::after{ content:""; position:absolute; left:0; bottom:-6px; width:0; height:2px; background:#0f172a; transition: width .2s ease; }
    .primary-desktop a:hover::after, .primary-desktop a:focus-visible::after{ width:100%; }
    .primary-desktop .contact-us{ background:#332a2a; color:#fff; padding:.7rem 1.1rem; border-radius:999px; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
    .primary-desktop .contact-us:hover{ filter: brightness(1.05); }

    /* Burger (nascosto su desktop) */
    .burger{ display:none; border:0; background: transparent; font-size: 1.8rem; line-height:1; padding:.2rem .5rem; border-radius:10px; cursor:pointer; color: #0f172a;}
    .burger:focus-visible{ outline: 3px solid #0f172a; outline-offset: 2px; }

    /* ===== NAV MOBILE OVERLAY (fullscreen, fuori dalla pill) ===== */
    .mobile-nav{ display:none; } /* mai visibile fuori dalla media-query */

    @media (max-width: 820px){
      .primary-desktop{ display:none; }          /* nascondi nav desktop su mobile */
      .burger{ display:block;}                  /* mostra burger */

      .mobile-nav{
        position: fixed; inset: 0; width: 100vw; height: 100dvh;
        display: none;
        background:
          radial-gradient(80% 60% at 50% 40%, rgba(255,255,255,.06), transparent 70%),
          rgba(0,0,0,.92);
        backdrop-filter: blur(6px);
        z-index: 4000;

        flex-direction: column; justify-content: center; align-items: center;
        gap: 1.4rem;
        padding: calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom));

        opacity: 0; transform: scale(.98);
        transition: opacity .22s ease, transform .22s ease;
      }
      .mobile-nav[aria-hidden="true"]{ display:none; }
      .mobile-nav.active{ display:flex; opacity:1; transform:scale(1); }

      .mobile-nav a{
        color:#fff; font-weight: 400;
        font-size: clamp(1.5rem, 4.8vw, 2rem);
        text-decoration: none; position: relative;
      }
      .mobile-nav a::after{
        content:""; position:absolute; left:50%; transform:translateX(-50%);
        bottom:-10px; width:0; height:2px; background:#fff; transition:width .2s ease;
      }
      .mobile-nav a:hover::after{ width:100%; }

      .mobile-nav .contact-us{
        background: #ffd700; color:#fff; padding:.95rem 1.6rem;
        border-radius:999px; font-size:clamp(1.5rem, 4vw, 2rem);
        box-shadow: 0 12px 30px rgba(0,0,0,.35);
      }

      .nav-close{
        position:absolute; top: max(14px, calc(8px + env(safe-area-inset-top))); right:16px;
        width:44px; height:44px; border-radius:12px;
        background: rgba(255,255,255,.12);
        border:1px solid rgba(255,255,255,.18);
        color:#fff; font-size:1.3rem; line-height:1; display:grid; place-items:center;
        cursor:pointer;
      }
      .nav-close:focus-visible{ outline:3px solid #fff; outline-offset:2px; }
    }

    /* HERO */
    .hero{
      min-height: 100svh;
      display: grid; place-items: center; text-align: center;
      padding-top: calc(6rem + env(safe-area-inset-top));
      padding-bottom: calc(4rem + env(safe-area-inset-bottom));
      position: relative; isolation: isolate; color: #fff;
      background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.3) 0%, rgba(255,255,255,0) 35%),
    linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.10)),
    url("Foto/sfondo6.jpg") center/cover no-repeat;
    }
    .hero .inner{ width: min(900px, 82%); margin-inline: auto; }
    .hero h1{ color: white; font-weight: 600; font-size: clamp(2.2rem, 7.2vw, 3.8rem); line-height: 1.3; letter-spacing: -0.02em; text-shadow: 0 8px 15px rgba(0,0,0,.65), 0 0 24px rgba(255,255,255,.25); margin: 0 0 1rem; padding-inline: .9rem; animation: fadeSlideUp 1.5s ease-out 0ms both;  will-change: opacity, transform; margin-bottom: 30px;}
    .hero p{opacity: 0; transform: translateY(40px);font-size: clamp(1.15rem, 2.6vw, 1.9rem); margin: 0 auto 1.6rem; max-width: 48ch; text-shadow: 0 6px 18px rgba(255,255,255,.35); opacity: .95; padding-inline: .5rem; animation: fadeSlideUp .9s ease-out 180ms both;  will-change: opacity, transform; line-height: 1.2;}
    .btn{opacity: 0; display:inline-block; background:#fff; color:#0f172a; padding:.9rem 1.4rem; font-weight: 700; border: 2px solid transparent; border-radius: 999px; box-shadow: 0 8px 18px rgba(0,0,0,.5); cursor: pointer; transition: transform .12s ease, box-shadow .12s ease, filter .12s ease; text-decoration: none; transform: translateY(40px);  animation: fadeSlideUp .9s ease-out 360ms both;}
    .btn:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.22); }
    .btn:focus-visible{ outline: 3px solid #0f172a; outline-offset: 2px; }

    @keyframes fadeSlideUp {
      0% { opacity: 0; transform: translateY(40px);}
      100% { opacity: 1; transform: translateY(0);}
    }

    /* SECTION / ABOUT */
    .section { padding: clamp(3rem, 6vw, 5rem) 0; }
    .about-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; min-width: 0; }
    .about-copy h2{ font-size: var(--title-size); line-height: 1.15; margin: 0 0 1rem; }
    .about-copy{ background-color: rgba(255,255,255,.38); border-radius: 20px; box-shadow: 0 0 10px #0f172a; padding: 4.5rem 2rem; }
    .about-copy .lead{ font-size: clamp(1rem, 2.8vw, 1.25rem); opacity: .92; margin: 0 0 1.2rem; max-width: 60ch; }

    .stats { display: grid; grid-template-columns: repeat(3, auto); gap: 2rem; margin: 2rem auto; justify-content: center; margin-left: auto; margin-right: auto; max-width: 800px; }
    .stat{ background: #fff; border-radius: 18px; padding: 1.2rem .5rem; box-shadow: 0 6px 18px rgba(0,0,0,.07); text-align: center; margin-top: 4rem; }
    .stat .num{ display: block; font-weight: 700; font-size: 1.5rem; color: #0f172a; }
    .stat .label{ display: block; font-size: 1rem; opacity: .75; }

    .list-check{ list-style: none; padding-left: 0; margin: 0 0 1rem; font-size: 1.2rem; }
    .list-check li{ display: grid; grid-template-columns: auto 1fr; gap: .6rem; align-items: start; margin-bottom: .4rem; }
    .list-check li::before{ content: "✓"; font-weight: 700; line-height: 1.2; }

    .about-media{ display: flex; align-items: center; justify-content: center; min-width: 0; }
    .photo{ border-radius: 20px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,10); background: #ddd; aspect-ratio: 4 / 5; width: 100%; }
    .photo img{ width: 100%; height: 100%; display: block; object-fit: cover; }
    .photo--main{ width: clamp(260px, 48cqw, 520px); margin: 0; padding: 0; }

    /* Responsive adjustments */
    @media (max-width: 980px){
      .hero{ padding-top: calc(5rem + env(safe-area-inset-top)); padding-bottom: calc(3rem + env(safe-area-inset-bottom)); }
      .hero .inner{width: min(900px, 82%)}
      .hero h1{ font-size: clamp(2.2rem, 8vw, 3.5rem); line-height: 1.4;}
      .hero p{ font-size: clamp(1.35rem, 4.8vw, 2rem); line-height: 1.4;}
      .list-check{ font-size: 1rem;  padding: clamp(22px, 7vw, 34px) clamp(30px, 6vw, 22px) !important; }

      .about-grid{ 
        display: flex; 
        flex-direction: column; 
        align-items:stretch;
        gap: clamp(16px, 4vw, 24px);
        padding: clamp(16px, 4vw, 24px);
         }
      .about-grid > *{ 
        order: 0;
        padding: clamp(15px, 4vw, 120px);
        border-radius: 12px;
       }
       .about-copy .card{ padding-top: clamp(22px, 6vw, 36px); }
      .about-grid > :nth-child(2){ order: 1; } /* foto 1 */
      .about-grid > :nth-child(1){ order: 2; } /* testo 1 */
      .about-grid > :nth-child(3){ order: 3; } /* foto 2 */
      .about-grid > :nth-child(4){ order: 4; } /* testo 2 */
      .about-grid > :nth-child(5){ order: 7; } /* foto 3 */
      .about-grid > :nth-child(7){ order: 6; } /* stats */
      .about-grid > :nth-child(6){ order: 5; } /* foto 4 */
      .about-grid > :nth-child(8){ order: 8; } /* foto 4 */

      .about-media, .photo--main { width: 100% !important; max-width: none !important; }
      .photo{ border-radius: 16px; }
      #about.section{ padding-block: 1.6rem; }
      .about-copy{ text-align: center; }
      .about-copy .cta-row{ justify-content: center; }

      .stats{ display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: .4rem !important; margin: .2rem 1rem; width: 70%; margin: 0 auto;}
      .stat{ padding: .8rem .2rem; border-radius: 20px; }
      .stat .num{ font-size: .9rem; }
      .stat .label{ font-size: .7rem; }
    }
    @media (max-width: 560px){
      .hero .inner{ width: min(900px, 88%); padding-inline: 0;}
      .about-grid{ gap: .6rem; }
      #about.section{ padding-block: 1.1rem;}
      .hero{ padding-top: calc(4.5rem + env(safe-area-inset-top)); padding-bottom: calc(2.6rem + env(safe-area-inset-bottom)); }
      .hero h1{ font-size: clamp(2.6rem, 10vw, 3.6rem); }
      .hero p{ font-size: clamp(1.4rem, 5vw, 2rem); line-height: 1.35;}

      .about-copy h2 {
  font-size: var(--title-size);
  line-height: 1.15;
  margin: 3rem 0 2rem; /* ↑ spazio sopra e sotto */
}
      .about-copy .lead {
        font-size: clamp(1rem, 2.8vw, 1.25rem);
        line-height: 1.5;
        opacity: .95;
        max-width: 62ch;
        margin: 2rem auto 3rem; /* ↑ più spazio sopra e ↓ più spazio sotto */
        text-align: center;        /* se vuoi coerente con gli altri sottotitoli */
      }
  
       .list-check {
    width: 100%;          /* prende tutta la larghezza del contenitore */
    max-width: none;      /* elimina eventuali limiti */
    padding-left: 1rem;   /* piccolo rientro per non attaccarsi al bordo */
    margin: 0 auto 1.5rem;
    font-size: 1.2rem;    /* leggibile su mobile */
    line-height: 1.5;
  }
   .list-check li {
    align-items: flex-start;
    text-align: left;     /* forza testo allineato a sinistra */
    word-break: break-word; /* evita overflow su righe lunghe */
  }
    .about-copy .lead,
.list-check {
  font-size: clamp(1.3rem, 3.8vw, 1.6rem); /* dimensione uguale */
  line-height: 1.5;
}
      }
    @media (max-width: 480px){ .cta-row.btn{ flex-direction: column; font-size: 1rem; line-height: 1; padding: .75rem 1.4rem; max-width: 40ch;} }
    @media (max-width: 400px){ .stats{ grid-template-columns: 1fr; } }
    @media (max-width: 380px){
    .hero h1, .hero p{ max-width: 28ch; }
  }

   /* SERVICES — sfondo semplice, non sfocato, senza fixed */

.bg-fixed{
  background-image: url("Foto/sfondoW2.webp");
  background-position: center;    /* prova center 35% se vuoi alzare il focus */
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: scroll;  /* niente fixed = niente problemi su mobile */
  color: #0f172a;
}
@media (max-width: 560px){
  .bg-fixed{
    /* scegli una delle 3 in base al peso/qualità che preferisci */
    background-image: url("Foto/sfondoW2-mobile.webp");
    background-size: auto 100%;
    background-position: center;
    background-size: cover;          /* copre senza zoomare eccessivamente */
  }
}
/* (opzionale) se vuoi il fixed SOLO su desktop grande, aggiungi: */
@media (min-width: 981px){
  .bg-fixed{ background-attachment: fixed; }
}


    #services .section-title { margin-bottom: 0.6rem; position: relative; font-size: var(--title-size); line-height: 1.15; }

    #services .svc-list{ background-color: rgba(255,255,255, 0.38); border-radius: 20px; box-shadow: 0 0 10px #0f172a; padding: 4.5rem 2rem; }
    #services .svc summary::-webkit-details-marker{ display:none; }
    #services .svc summary{
      display: flex; 
      align-items: center; 
      justify-content: space-between; 
      gap: 1rem;
      padding: .9rem 0; 
      cursor: pointer; 
      user-select: none;
      border-top: 1.5px solid #0f172a; text-transform: uppercase; 
      letter-spacing: .08em; 
      font-size: clamp(1.2rem, 3vw, 1.5rem); /* più grandi */
      font-weight: 700;                      
      color: #0f172a;
    }
     #services .svc .desc{ 
      padding: .4rem 0 1.1rem; 
      color: #0f172a; 
      line-height: 1.55; 
      font-size: clamp(1rem, 2.6vw, 1.25rem); 
      font-weight: 400; }
    #services .svc:last-of-type .desc{ border-bottom: 1.5px solid #0f172a; }
    #services .svc .plus{ width: 1.2rem; text-align: right; flex: 0 0 auto; position: relative; }
    #services .svc .plus::before{ content: "+"; font-size: 1.4rem; line-height: 1; display: inline-block; transform: translateY(-1px); opacity: .9; }
    #services .svc[open] .plus::before{ content: "–"; }
    /* Mobile - Services */
@media (max-width: 560px) {
  #services .svc summary {
    font-size: clamp(1.2rem, 4.5vw, 1.6rem); /* titoli servizi più grandi */
    font-weight: 700;
  }

  #services .svc .desc {
    font-size: clamp(1.1rem, 4.5vw, 1.5rem); /* descrizioni più grandi */
    line-height: 1.6;
  }
}

   
    @media (min-width: 821px){ #services .services-title-left{ margin-top: .2rem; } }
    @media (max-width: 820px){ #services .services-title-left{ margin-bottom: 1rem; text-align: center; } }

    

    /* GALLERY FULL WIDTH */

    .galf-header{ width: min(1100px, 92%); margin: 0 auto 8px; text-align: center; }
   /* .galf-sub{ margin: .25rem auto 10px; max-width: 62ch; font-size: clamp(.95rem, 2.5vw, 1.05rem); opacity: .85; }*/
    .gallery-full{ position: relative; width: 100vw; margin-left: 50%; transform: translateX(-50%); background: transparent; padding-block: 100px 50px; }
    .galf-track{
      --h: 65vh; --gap: 0; height: var(--h); overflow-x: auto; overflow-y: hidden;
      display: grid; grid-auto-flow: column; grid-auto-columns: clamp(200px, 25vw, 600px);
      gap: var(--gap); scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 0; -webkit-overflow-scrolling: touch;
      position: relative;
    }
    .galf-item{ position: relative; margin: 0; scroll-snap-align: center; border-radius: 0; overflow: hidden; box-shadow: none; transform-origin: center; transition: transform .18s ease, box-shadow .18s ease; }
    .galf-item img{ width: 100%; height: 100%; object-fit: cover; display: block; }

    .galf-btn{
      position: absolute; top: 50%; transform: translateY(-50%);
      width: 46px; height: 46px; border: 0; border-radius: 999px;
      background: rgba(255,255,255,0.85); backdrop-filter: blur(8px);
      box-shadow: 0 10px 26px rgba(0,0,0,.18); font-size: 1.6rem; color: #000;
      display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .15s, background .15s; z-index: 5;
    }
    .galf-btn--prev{ left: 10px; }
    .galf-btn--prev[aria-disabled="true"]{
      opacity: .0;
      pointer-events: none;
      visibility: hidden;
    }
     .galf-btn--next{ right: 10px; }
    .galf-btn:hover{ transform: translateY(-50%) scale(1.05); }
    .galf-btn::after{ content:""; position:absolute; inset:-6px; border-radius: 999px; }

        /* CTA centrata nella sezione Gallery */
    .galf-cta{
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 2rem;
      margin-bottom: 2rem;

    }
    .galf-cta .btn{
      /* stesso look del bottone About (usa la classe .btn già esistente) */
      box-shadow: 0 8px 18px rgba(0,0,0,.22);
    }
    /* Centra il bottone "Reach Out" nella sezione Gallery */
.gallery-full > .btn,
.gallery-full > .btn.btn-outline{
  display: block;
  width: max-content;
  margin: 2rem auto 4rem; /* centrato */
  float: none;
}
.gallery-full > .btn{ margin-top: 2rem; }



    @media (max-width: 480px){ .galf-btn{ width: 40px; height: 40px; font-size: 1.4rem; } }
    .galf-track::-webkit-scrollbar{ height: 10px; } .galf-track::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.2); border-radius: 999px; }
    @media (max-width: 820px){ 
      .galf-track{ --h: 58vh; grid-auto-columns: 100vw; }
      .galf-item{ scroll-snap-align: start; } 
    }
    @media (min-width: 821px) and (max-width: 1024px){ .galf-track{ --h: 68vh; grid-auto-columns: clamp(360px, 60vw, 700px);} }
    @media (min-width: 1025px){ .galf-track{ --h: 72vh; grid-auto-columns: clamp(320px, 35vw, 900px);} }
    @media (min-width: 981px){ .galf-track { --h: 72vh; grid-auto-columns: clamp(320px, 35vw, 900px);} }
    @media (min-width: 1400px){ .galf-track { --h: 80vh; grid-auto-columns: clamp(380px, 32vw, 1000px);} }
    @media (prefers-reduced-motion: reduce){ .galf-item{ transition: none; } }



    /* VIDEO SECTION */
    
    .video-section { background: transparent; padding: clamp(3rem, 6vw, 5rem) 0; text-align: center; }
    .video-grid { display: grid; gap: 1.5rem; margin-top: 2rem; grid-template-columns: 1fr; }
    @media (min-width: 641px) and (max-width: 1023px){ .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (min-width: 1024px){ .video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
    .video-wrapper { position: relative; border-radius: 12px; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,0.12); aspect-ratio: 16 / 9; }
    .play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 70px; height: 70px; border-radius: 50%; background: rgba(0,0,0,0.6); color: #fff; font-size: 2rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; opacity: 1; visibility: visible; }
    .video-wrapper.playing .play-button { opacity: .25; visibility: visible; }
    .video-wrapper.hide-controls .play-button{
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
    .play-button {
    transition: background .2s ease, transform .2s ease, opacity .25s ease, visibility .25s ease;
  }
    .video-wrapper.playing .play-button:hover { opacity: 1; }
    .play-button:hover { background: rgba(0,0,0,0.8); transform: translate(-50%, -50%) scale(1.08); color: #ffd700; }
    .video-wrapper video { width: 100%; height: 100%; display: block; object-fit: cover; }
    @media (hover: none) {
  .play-button{ background: rgba(0,0,0,.5); }
}
    @media (max-width: 768px){
      .video-grid.compact .video-wrapper:nth-child(n+2) { display: none; }
      #seeMoreVideos { display: inline-block; margin-top: 1.2rem; }
      .video-buttons{ text-align: center; margin-top: 1.5em; margin-bottom: 2rem; }
      .video-buttons .btn { padding: 0.6rem 1.4rem; font-size: 1rem; }
    }
    @media (min-width: 769px){ #seeMoreVideos { display: none; } }

    .video-wrapper video::-webkit-media-controls-start-playback-button,
.video-wrapper video::-webkit-media-controls-overlay-play-button{
  display: none !important;
}
.video-wrapper video::-webkit-media-controls-enclosure{
  overflow: hidden;
}


    /* CONTACT */
    .contact-full {
      width: 100%;
      padding: clamp(3rem, 6vw, 5rem) 0;
      background: linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55));
      color: #fff; text-align: center;
    }
    .contact-full .section-title { color: #fff; margin-bottom: .4rem; }
    .contact-full .section-subtitle { color: #e8e8e8; opacity: .95; }
    .contact-grid { width: min(1100px, 92%); margin: 2rem auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 1.6rem); }
    .contact-card{ background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 16px; padding: 1.2rem; box-shadow: 0 10px 26px rgba(0,0,0,.18); backdrop-filter: blur(6px); text-align: left; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
    .contact-card:hover{ transform: translateY(-2px); box-shadow: 0 16px 34px rgba(0,0,0,.24); background: rgba(255,255,255,.11); }
    .contact-card .cc-head{ display: flex; align-items: center; gap: .75rem; margin-bottom: .6rem; }
    .contact-card .cc-icon{ width: 42px; height: 42px; border-radius: 12px; background: rgba(255,215,0,.15); display: grid; place-items: center; flex: 0 0 auto; }
    .contact-card .cc-title{ margin: 0; font-weight: 700; color: #ffd700; letter-spacing: .02em; }
    .contact-card p{ margin: .3rem 0 0; color: #f2f2f2; }
    .contact-card a{ color: #fff; text-decoration: none; border-bottom: 1px dashed rgba(255,255,255,.4); }
    .contact-card a:hover{ border-bottom-color: #ffd700; }
    .contact-cta{ margin-top: 1.6rem; display: flex; gap: .8rem; justify-content: center; flex-wrap: wrap; }
    .btn-dark{ background: #ffd700; color: #1f2937 !important; border: 0; padding: .8rem 1.2rem; border-radius: 999px; font-weight: 700; box-shadow: 0 8px 18px rgba(0,0,0,.25); }
    .btn-dark:hover{ filter: brightness(1.05); transform: translateY(-1px); }
    @media (max-width: 900px){ .contact-grid{ grid-template-columns: 1fr; } .contact-card{ text-align: center; } .contact-card .cc-head{ justify-content: center; } }

    /* ==== FOOTER ==== */
    .site-footer{
      background: black;
      backdrop-filter: blur(6px);
      border-top: 1px solid rgba(15,23,42,.1);
      color: white;
      font-size: clamp(.78rem, 1.2vw, .9rem);
    }
    .site-footer .footer-inner{
      width: min(1100px, 92%);
      margin-inline:auto;
      display:flex; align-items:center; justify-content:space-between; gap:1rem;
      padding: 1.2rem 0;
    }
    .footer-links{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; font-weight:300; }
    .footer-links a{ color: white; text-decoration:none; position:relative; }
    .footer-links a::after{ content:""; position:absolute; left:0; bottom:-4px; height:2px; width:0; background: white; transition:width .2s ease; }
    .footer-links a:hover::after{ width:100%; }
    .footer-credit{ font-weight:300; opacity:.9; }
    .footer-credit a{ color: white; text-decoration:none; font-weight:300; border-bottom: 1px dashed rgba(255,255,255,.35); }
    .footer-credit a:hover{ border-bottom-color:#ffd700; }
    @media (max-width: 720px){
      .site-footer .footer-inner{ flex-direction:column; text-align:center; padding: 15px; line-height: 1; }
    }
