/* MIXED CSS PACK */
/* Template: silviabusaniche.com/index.html */
/* Template mtime: 2026-04-07 18:35:32 */

/* external link (no embedded): https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css */

/* ===== INLINE <style> BLOCK #1 ===== */
:root{
      --accent:#56206b;
      --accent-2:#6b2b86;
      --accent-soft:#f4ebf8;
      --text:#111111;
      --muted:#5e5e66;
      --line:#e9e1ee;
      --bg:#ffffff;
      --bg-soft:#faf8fb;
      --shadow:0 18px 45px rgba(37, 16, 47, .10);
      --shadow-soft:0 12px 28px rgba(37, 16, 47, .08);
      --radius:24px;
      --radius-sm:18px;
      --container:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      color:var(--text);
      background:var(--bg);
      overflow-x:hidden;
    }
    img{max-width:100%;display:block}
    a{text-decoration:none}
    .container-custom{max-width:var(--container)}
    .section{padding:92px 0}
    .section.alt{background:var(--bg-soft)}
    .eyebrow{
      display:inline-flex;
      align-items:center;
      padding:.55rem .95rem;
      border-radius:999px;
      background:var(--accent-soft);
      color:var(--accent);
      font-weight:800;
      font-size:.8rem;
      letter-spacing:.04em;
      text-transform:uppercase;
      margin-bottom:1rem;
    }
    .section-title{
      font-size:clamp(2rem, 3.8vw, 3.2rem);
      line-height:1.06;
      letter-spacing:-.04em;
      font-weight:800;
      margin-bottom:1rem;
      color:var(--text);
    }
    .section-subtitle{
      max-width:760px;
      margin:0 auto;
      color:var(--muted);
      font-size:1.05rem;
      line-height:1.8;
    }
    .navbar{
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
      border-bottom:1px solid rgba(86,32,107,.08);
      padding:.9rem 0;
    }
    .navbar-brand{
      display:flex;
      align-items:center;
      gap:.72rem;
      color:var(--text)!important;
      font-size:.98rem;
      font-weight:700;
      letter-spacing:-.01em;
    }
    .brand-logo{
      height:40px;
      width:auto;
      object-fit:contain;
      flex:0 0 auto;
    }
    .navbar-nav .nav-link{
      color:var(--text);
      font-weight:600;
      font-size:.95rem;
      padding:.7rem .9rem!important;
    }
    .navbar-nav .nav-link:hover,
    .navbar-nav .nav-link.active{color:var(--accent)}
    .navbar-toggler{
      border:1px solid rgba(86,32,107,.18);
      padding:.55rem .7rem;
      box-shadow:none!important;
    }
    .navbar-toggler:focus{box-shadow:none}
    .navbar-toggler-icon{
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(86,32,107,0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
    }
    .btn-main,
    .btn-outline-main{
      min-height:54px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:.95rem 1.35rem;
      border-radius:14px;
      font-weight:700;
      font-size:.98rem;
      transition:.22s ease;
      border:1px solid transparent;
    }
    .btn-main{
      background:var(--accent);
      color:#fff;
      box-shadow:0 16px 30px rgba(86,32,107,.18);
    }
    .btn-main:hover{
      background:var(--accent-2);
      color:#fff;
      transform:translateY(-1px);
    }
    .btn-outline-main{
      background:#fff;
      color:var(--accent);
      border-color:rgba(86,32,107,.18);
    }
    .btn-outline-main:hover{
      background:var(--accent-soft);
      color:var(--accent);
      transform:translateY(-1px);
    }
    .hero{
      padding:158px 0 92px;
      background:
        radial-gradient(circle at top left, rgba(86,32,107,.07), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #fbf8fc 100%);
      overflow:hidden;
    }
    .hero-title{
      font-size:clamp(2.5rem, 5vw, 5rem);
      line-height:.97;
      letter-spacing:-.05em;
      font-weight:800;
      margin-bottom:1.15rem;
    }
    .hero-title span{color:var(--accent)}
    .hero-text{
      color:var(--muted);
      font-size:1.07rem;
      line-height:1.9;
      max-width:650px;
      margin-bottom:1.7rem;
    }
    .hero-actions{
      display:flex;
      flex-wrap:wrap;
      gap:.85rem;
      margin-bottom:1.3rem;
    }
    .hero-badges{
      display:flex;
      flex-wrap:wrap;
      gap:.7rem;
    }
    .hero-badge{
      padding:.72rem 1rem;
      border-radius:999px;
      background:#fff;
      border:1px solid rgba(86,32,107,.12);
      box-shadow:var(--shadow-soft);
      color:#2e2633;
      font-size:.92rem;
      font-weight:600;
    }
    .hero-media{
      position:relative;
      max-width:540px;
      margin-inline:auto;
    }
    .hero-frame{
      background:#fff;
      border:1px solid var(--line);
      border-radius:34px;
      padding:14px;
      box-shadow:var(--shadow);
    }
    .hero-img{
      width:100%;
      aspect-ratio:1/1.08;
      object-fit:cover;
      border-radius:24px;
    }
    .hero-note{
      position:absolute;
      left:-20px;
      bottom:18px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:18px;
      box-shadow:var(--shadow-soft);
      padding:1rem 1.05rem;
      max-width:240px;
    }
    .hero-note strong{
      display:block;
      color:var(--accent);
      font-size:.98rem;
      margin-bottom:.3rem;
    }
    .hero-note span{
      color:var(--muted);
      font-size:.9rem;
      line-height:1.55;
    }
    .stats-strip{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1rem;
      margin-top:2rem;
    }
    .stat-box{
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      padding:1.25rem 1rem;
      text-align:center;
      box-shadow:var(--shadow-soft);
    }
    .stat-box strong{
      display:block;
      color:var(--accent);
      font-size:1.45rem;
      font-weight:800;
      margin-bottom:.25rem;
    }
    .stat-box span{
      color:var(--muted);
      font-size:.93rem;
      line-height:1.5;
    }
    .content-card,
    .service-card,
    .why-card,
    .timeline-card,
    .contact-card,
    .form-card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow-soft);
    }
    .content-card,
    .contact-card,
    .form-card{padding:2rem}
    .content-card p:last-child,
    .service-card p:last-child,
    .why-card p:last-child,
    .timeline-card p:last-child{margin-bottom:0}
    .about-image-wrap,
    .history-image-wrap{
      background:#fff;
      border:1px solid var(--line);
      border-radius:30px;
      padding:12px;
      box-shadow:var(--shadow);
      height:100%;
    }
    .about-image,
    .history-image{
      width:100%;
      height:100%;
      min-height:440px;
      object-fit:cover;
      border-radius:22px;
    }
    .quote-band{
      margin-top:1.4rem;
      padding:1.3rem 1.35rem;
      border-radius:22px;
      background:linear-gradient(135deg,#fff 0%,#f8f2fb 100%);
      border:1px solid var(--line);
      color:#261d2a;
      font-weight:700;
      line-height:1.75;
      box-shadow:var(--shadow-soft);
    }
    .service-card,
    .why-card{
      padding:1.7rem;
      height:100%;
      transition:.22s ease;
    }
    .service-card:hover,
    .why-card:hover{
      transform:translateY(-4px);
      box-shadow:var(--shadow);
      border-color:rgba(86,32,107,.16);
    }
    .service-title,
    .why-title,
    .timeline-title{
      font-size:1.13rem;
      line-height:1.35;
      font-weight:800;
      margin-bottom:.75rem;
    }
    .service-card p,
    .why-card p,
    .timeline-card p{
      color:var(--muted);
      font-size:.98rem;
      line-height:1.8;
    }
    .why-icon{
      width:58px;
      height:58px;
      border-radius:18px;
      display:grid;
      place-items:center;
      background:linear-gradient(135deg,var(--accent-soft),#fff);
      color:var(--accent);
      border:1px solid rgba(86,32,107,.10);
      margin-bottom:1rem;
    }
    .why-icon svg{
      width:28px;
      height:28px;
      stroke:currentColor;
    }
    .timeline{
      display:grid;
      gap:1rem;
    }
    .timeline-card{
      padding:1.45rem 1.45rem 1.35rem;
      position:relative;
      overflow:hidden;
    }
    .timeline-card::before{
      content:"";
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:4px;
      background:var(--accent);
    }
    .work-gallery-section .section-subtitle{max-width:740px}
    .mosaic-gallery{
      display:grid;
      grid-template-columns:repeat(12,1fr);
      gap:12px;
      margin-top:2rem;
    }
    .mosaic-item{
      position:relative;
      overflow:hidden;
      border-radius:22px;
      background:#fff;
      border:1px solid var(--line);
      box-shadow:var(--shadow-soft);
      cursor:pointer;
      min-height:220px;
    }
    .mosaic-item img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .4s ease;
    }
    .mosaic-item:hover img{transform:scale(1.04)}
    .mosaic-item::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.10));
      opacity:0;
      transition:.25s ease;
    }
    .mosaic-item:hover::after{opacity:1}
    .item-lg{grid-column:span 4;grid-row:span 2;min-height:460px}
    .item-wide{grid-column:span 4;grid-row:span 2;min-height:460px}
    .item-sm{grid-column:span 2;min-height:220px}
    .item-md{grid-column:span 2;grid-row:span 2;min-height:460px}
    #galleryLightbox .modal-content{
      background:#000;
      border:none;
      border-radius:0;
    }
    #galleryLightboxImg{
      width:100%;
      max-height:86vh;
      object-fit:contain;
      background:#000;
    }
    .gallery-lightbox-nav{
      position:absolute;
      top:50%;
      transform:translateY(-50%);
      border:0;
      width:46px;
      height:46px;
      border-radius:999px;
      background:rgba(255,255,255,.18);
      color:#fff;
      font-size:30px;
      line-height:46px;
      text-align:center;
      z-index:5;
      cursor:pointer;
    }
    .gallery-lightbox-nav:hover{background:rgba(255,255,255,.28)}
    .gallery-lightbox-nav.prev{left:10px}
    .gallery-lightbox-nav.next{right:10px}
    .accordion-item{
      border:none;
      background:transparent;
      margin-bottom:1rem;
    }
    .accordion-button{
      border:none;
      box-shadow:none!important;
      border-radius:18px!important;
      background:#fff;
      padding:1.3rem;
      font-weight:700;
      color:#181219;
      border:1px solid var(--line);
      box-shadow:var(--shadow-soft);
    }
    .accordion-button:not(.collapsed){
      background:#fff;
      color:var(--accent);
      border-color:rgba(86,32,107,.18);
    }
    .accordion-body{
      background:#fff;
      border:1px solid var(--line);
      border-top:none;
      border-radius:0 0 18px 18px;
      padding:1.2rem 1.3rem 1.35rem;
      color:var(--muted);
      line-height:1.8;
      box-shadow:var(--shadow-soft);
    }
    .contact-title{
      font-size:1.35rem;
      font-weight:800;
      margin-bottom:.8rem;
    }
    .contact-copy{
      color:var(--muted);
      line-height:1.8;
      margin-bottom:1.4rem;
    }
    .contact-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:.95rem;
    }
    .contact-list li{
      display:flex;
      align-items:flex-start;
      gap:.85rem;
      color:#261d2a;
      line-height:1.6;
      font-weight:600;
    }
    .contact-dot{
      width:11px;
      height:11px;
      border-radius:50%;
      margin-top:.5rem;
      background:var(--accent);
      flex:0 0 auto;
    }
    .contact-list a{
      color:var(--accent);
      word-break:break-word;
    }
    .form-label{
      font-weight:700;
      font-size:.92rem;
      color:#1d1521;
      margin-bottom:.48rem;
    }
    .form-control,
    .form-select{
      min-height:54px;
      border-radius:14px;
      border:1px solid #ddd4e3;
      padding:.9rem 1rem;
      color:#1a171d;
      box-shadow:none!important;
    }
    textarea.form-control{
      min-height:150px;
      resize:vertical;
    }
    .form-control:focus,
    .form-select:focus{
      border-color:rgba(86,32,107,.35);
    }
    .footer{
      background:var(--accent);
      color:#fff;
      padding:72px 0 28px;
    }
    .footer a{color:#fff}
    .footer-top{
      display:grid;
      grid-template-columns:1.25fr .8fr .9fr;
      gap:2rem;
      padding-bottom:2rem;
      border-bottom:1px solid rgba(255,255,255,.16);
    }
    .footer-brand{
      display:flex;
      align-items:center;
      gap:.85rem;
      margin-bottom:1rem;
    }
    .footer-logo{
      height:40px;
      width:auto;
      object-fit:contain;
      filter:none;
      flex:0 0 auto;
    }
    .footer-brand span{
      font-size:14px;
      font-weight:600;
      line-height:1.3;
      color:#fff;
    }
    .footer-text{
      max-width:460px;
      color:rgba(255,255,255,.86);
      line-height:1.8;
      margin:0;
      font-size:.97rem;
    }
    .footer-title{
      font-size:1rem;
      font-weight:800;
      margin-bottom:1rem;
    }
    .footer-links,
    .footer-contact{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      gap:.65rem;
    }
    .footer-links a,
    .footer-contact a,
    .footer-contact span{
      color:rgba(255,255,255,.88);
      font-weight:500;
      line-height:1.6;
    }
    .footer-bottom{
      padding-top:1.3rem;
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
      gap:.75rem;
      color:rgba(255,255,255,.82);
      font-size:.93rem;
    }
    .footer-bottom a{
      font-weight:700;
      color:#fff;
    }
    
    @media (max-width:991.98px){
      .hero{padding:138px 0 74px}
      .hero-note{
        position:relative;
        left:auto;
        bottom:auto;
        margin:1rem auto 0;
        max-width:100%;
      }
      .stats-strip{grid-template-columns:1fr}
      .about-image,
      .history-image{min-height:360px}
      .footer-top{grid-template-columns:1fr 1fr}
      .mosaic-gallery{grid-template-columns:repeat(6,1fr)}
      .item-lg,.item-wide{grid-column:span 3;grid-row:span 2;min-height:380px}
      .item-sm,.item-md{grid-column:span 3;min-height:220px}
      .item-md{grid-row:span 1}
    }
    @media (max-width:767.98px){
      .section{padding:78px 0}
      .hero{padding:124px 0 66px}
      .hero-actions{flex-direction:column;align-items:stretch}
      .btn-main,.btn-outline-main{width:100%}
      .about-image,
      .history-image{min-height:300px}
      .footer-top{grid-template-columns:1fr}
      .footer-bottom{flex-direction:column;align-items:flex-start}
      .wa-float span{display:none}
      .mosaic-gallery{grid-template-columns:1fr 1fr}
      .item-lg,.item-wide,.item-sm,.item-md{
        grid-column:span 1;
        grid-row:span 1;
        min-height:220px;
      }
    }
    @media (max-width:575.98px){
      .navbar-brand{font-size:.92rem}
      .brand-logo,.footer-logo{height:40px}
      .hero-title{font-size:2.35rem}
      .hero-text{font-size:1rem}
      .content-card,.contact-card,.form-card,.service-card,.why-card{padding:1.35rem}
      .mosaic-gallery{grid-template-columns:1fr}
      .mosaic-item,
      .item-lg,.item-wide,.item-sm,.item-md{
        grid-column:span 1;
        min-height:240px;
      }
    }
  

  @media (max-width: 575.98px){
    .hero-mobile-slot{
      display:block;
      margin:1.15rem 0 1.05rem;
    }
    .hero-mobile-slot .hero-media{
      max-width:100%;
    }
    .hero-mobile-slot .hero-note{
      left:10px;
      bottom:10px;
      max-width:200px;
    }
  }

  html, body{
    max-width:100%;
    overflow-x:hidden;
  }

  .container-custom{
    width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  @media (max-width: 991.98px){
    .navbar .container.container-custom{
      padding-left:14px;
      padding-right:14px;
    }
    .navbar-collapse{
      margin-top:.9rem;
      padding:1rem;
      background:rgba(255,255,255,.98);
      border:1px solid rgba(86,32,107,.12);
      border-radius:18px;
      box-shadow:0 18px 40px rgba(37,16,47,.12);
      overflow:hidden;
    }
    .navbar-nav{
      width:100%;
      align-items:stretch!important;
      gap:.2rem;
    }
    .navbar-nav .nav-item,
    .navbar-nav .nav-link,
    .navbar-nav .btn-main{
      width:100%;
    }
    .navbar-nav .nav-link{
      padding:.85rem 0!important;
    }
    .navbar-nav .btn-main{
      margin-top:.45rem;
      min-height:50px;
    }
  }

  @media (max-width: 767.98px){
    .row{
      --bs-gutter-x:1.2rem;
      margin-left:0;
      margin-right:0;
    }
    .hero,
    .section,
    .footer{
      overflow-x:hidden;
    }
    .hero-media,
    .hero-frame,
    .hero-visual,
    .stats-strip,
    .mosaic-gallery,
    .footer-top,
    .footer-bottom{
      max-width:100%;
    }
  }

/* ===== INLINE <style> BLOCK #2 ===== */
.hero{
    padding:158px 0 92px;
    background:
      radial-gradient(circle at top left, rgba(86,32,107,.07), transparent 34%),
      linear-gradient(180deg, #ffffff 0%, #fbf8fc 100%);
    overflow:hidden;
  }
  .hero-title{
    font-size:clamp(2.5rem, 5vw, 5rem);
    line-height:.97;
    letter-spacing:-.05em;
    font-weight:800;
    margin-bottom:1.15rem;
  }
  .hero-title span{color:var(--accent)}
  .hero-text{
    color:var(--muted);
    font-size:1.07rem;
    line-height:1.9;
    max-width:650px;
    margin-bottom:1.7rem;
  }
  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.85rem;
    margin-bottom:1.3rem;
  }
  .hero-badges{
    display:flex;
    flex-wrap:wrap;
    gap:.7rem;
  }
  .hero-badge{
    padding:.72rem 1rem;
    border-radius:999px;
    background:#fff;
    border:1px solid rgba(86,32,107,.12);
    box-shadow:var(--shadow-soft);
    color:#2e2633;
    font-size:.92rem;
    font-weight:600;
  }

  .hero-media{
    position:relative;
    max-width:560px;
    margin-inline:auto;
  }

  .hero-frame{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:34px;
    padding:14px;
    box-shadow:var(--shadow);
    overflow:hidden;
  }

  .hero-visual{
    position:relative;
    width:100%;
    aspect-ratio:1 / 1.08;
    border-radius:24px;
    overflow:hidden;
    background:
      radial-gradient(circle at center, rgba(86,32,107,.08), rgba(86,32,107,.02) 55%, transparent 75%),
      linear-gradient(180deg, #f8f2fb 0%, #ffffff 100%);
  }

  .hero-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    transition:opacity 1.15s ease-in-out, transform 1.15s ease-in-out;
    transform:scale(1.03);
    pointer-events:none;
  }

  .hero-slide.is-active{
    opacity:1;
    transform:scale(1);
    pointer-events:auto;
  }

  .hero-slide img{
    width:100%;
    height:100%;
    display:block;
  }

  .hero-slide.photo img{
    object-fit:cover;
  }

  .hero-slide.logo{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:12%;
    background:
      radial-gradient(circle at center, rgba(255,255,255,.96) 0%, rgba(244,235,248,.92) 68%, rgba(236,223,242,.88) 100%);
  }

  .hero-slide.logo img{
    object-fit:contain;
    filter:drop-shadow(0 20px 38px rgba(86,32,107,.16));
    max-width:82%;
    max-height:82%;
  }

  .hero-switch{
    position:absolute;
    left:50%;
    bottom:16px;
    transform:translateX(-50%);
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:.55rem .75rem;
    border-radius:999px;
    background:rgba(255,255,255,.84);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border:1px solid rgba(86,32,107,.10);
    box-shadow:0 10px 24px rgba(37,16,47,.10);
    z-index:3;
  }

  .hero-dot{
    width:11px;
    height:11px;
    border-radius:50%;
    border:none;
    background:rgba(86,32,107,.25);
    padding:0;
    transition:.22s ease;
    cursor:pointer;
  }

  .hero-dot.active{
    background:var(--accent);
    transform:scale(1.14);
  }

  .hero-glow{
    position:absolute;
    width:170px;
    height:170px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(86,32,107,.20) 0%, rgba(86,32,107,0) 72%);
    top:-30px;
    right:-20px;
    pointer-events:none;
    filter:blur(4px);
    z-index:0;
  }

  .stats-strip{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1rem;
    margin-top:2rem;
  }
  .stat-box{
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:1.25rem 1rem;
    text-align:center;
    box-shadow:var(--shadow-soft);
  }
  .stat-box strong{
    display:block;
    color:var(--accent);
    font-size:1.45rem;
    font-weight:800;
    margin-bottom:.25rem;
  }
  .stat-box span{
    color:var(--muted);
    font-size:.93rem;
    line-height:1.5;
  }

  @media (max-width:991.98px){
    .hero{padding:138px 0 74px}
    .stats-strip{grid-template-columns:1fr}
    .hero-media{max-width:520px}
  }

  @media (max-width:767.98px){
    .hero{padding:124px 0 66px}
    .hero-actions{flex-direction:column;align-items:stretch}
    .btn-main,.btn-outline-main{width:100%}
    .hero-switch{bottom:12px}
  }

  @media (max-width:575.98px){
    .hero-title{font-size:2.35rem}
    .hero-text{font-size:1rem}
    .hero-frame{
      border-radius:26px;
      padding:10px;
    }
    .hero-visual{
      border-radius:18px;
      aspect-ratio:1 / 1.14;
    }
    .hero-slide.logo{
      padding:14%;
    }
  }

/* ===== INLINE <style> BLOCK #3 ===== */
.gallery-ticker-wrap{
          position: relative;
      overflow: hidden;
          margin: 0 0 56px;
          padding: 8px 0;
        }
  
        .gallery-ticker-wrap::before,
        .gallery-ticker-wrap::after{
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          width: 90px;
          z-index: 2;
          pointer-events: none;
        }
  
        .gallery-ticker-wrap::before{
          left: 0;
          background: linear-gradient(to right, #fff, transparent);
        }
  
        .gallery-ticker-wrap::after{
          right: 0;
          background: linear-gradient(to left, #fff, transparent);
        }
  
        .gallery-ticker-wrap .ticker-wrapper{
          width: 100%;
          overflow: hidden;
        }
  
        .gallery-ticker-wrap .ticker-track{
          display: flex;
          align-items: center;
          gap: 40px;
          width: max-content;
          animation: galleryTickerMove 34s linear infinite;
          will-change: transform;
        }
  
        .gallery-ticker-wrap .ticker-track:hover{
          animation-play-state: paused;
        }
  
        .gallery-ticker-wrap .ticker-track img{
          height: 420px;
          width: 280px;
          object-fit: cover;
          border-radius: 18px;
          flex: 0 0 auto;
          filter: none;
          opacity: 1;
          transition: transform .3s ease, opacity .3s ease, box-shadow .3s ease;
          cursor: pointer;
          box-shadow: 0 18px 40px rgba(0,0,0,.08);
        }
  
        .gallery-ticker-wrap .ticker-track img:hover{
          filter: none;
          opacity: 1;
          transform: scale(1.04);
          box-shadow: 0 22px 50px rgba(0,0,0,.14);
        }
  
        @keyframes galleryTickerMove{
          0%{ transform: translateX(0); }
          100%{ transform: translateX(-50%); }
        }
  
        .ticker-gallery-modal .modal-dialog{
          max-width: min(1200px, calc(100vw - 32px));
        }
  
        .ticker-gallery-modal .modal-content{
          background: #fff;
          border: 0;
          border-radius: 24px;
          overflow: hidden;
          position: relative;
          box-shadow: 0 30px 90px rgba(0,0,0,.18);
        }
  
        .ticker-modal-close{
          position: absolute;
          top: 14px;
          right: 14px;
          width: 46px;
          height: 46px;
          border: 0;
          border-radius: 999px;
          background: rgba(255,255,255,.96);
          color: #111;
          font-size: 30px;
          line-height: 1;
          z-index: 20;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          box-shadow: 0 10px 25px rgba(0,0,0,.12);
        }
  
        .ticker-modal-close span{
          transform: translateY(-1px);
        }
  
        .ticker-modal-image-wrap{
          height: 82vh;
          min-height: 560px;
          padding: 32px;
          display: flex;
          align-items: center;
          justify-content: center;
          background: #fff;
        }
  
        .ticker-modal-image{
          max-width: 100%;
          max-height: 100%;
          width: auto;
          height: auto;
          object-fit: contain;
          border-radius: 18px;
          display: block;
        }
  
        .ticker-gallery-modal .carousel-control-prev,
        .ticker-gallery-modal .carousel-control-next{
          width: 72px;
          opacity: 1;
        }
  
        .ticker-gallery-modal .carousel-control-prev-icon,
        .ticker-gallery-modal .carousel-control-next-icon{
          width: 44px;
          height: 44px;
          border-radius: 999px;
          background-color: rgba(17,17,17,.78);
          background-size: 18px 18px;
        }
  
        .ticker-gallery-modal .carousel-indicators{
          margin-bottom: 18px;
          flex-wrap: wrap;
          gap: 6px;
        }
  
        .ticker-gallery-modal .carousel-indicators [data-bs-target]{
          width: 10px;
          height: 10px;
          border-radius: 999px;
          border: 0;
          background-color: rgba(0,0,0,.28);
        }
  
        .ticker-gallery-modal .carousel-indicators .active{
          background-color: rgba(0,0,0,.82);
        }
  
        @media (max-width: 991.98px){
          .gallery-ticker-wrap{
            margin-bottom: 42px;
          }
  
          .gallery-ticker-wrap::before,
          .gallery-ticker-wrap::after{
            width: 60px;
          }
  
          .gallery-ticker-wrap .ticker-track{
            gap: 28px;
            animation-duration: 30s;
          }
  
          .gallery-ticker-wrap .ticker-track img{
            height: 340px;
            width: 220px;
            border-radius: 16px;
          }
  
          .ticker-modal-image-wrap{
            height: 74vh;
            min-height: 460px;
            padding: 24px;
          }
        }
  
        @media (max-width: 767.98px){
          .gallery-ticker-wrap{
            margin-bottom: 28px;
          }
  
          .gallery-ticker-wrap::before,
          .gallery-ticker-wrap::after{
            width: 28px;
          }
  
          .gallery-ticker-wrap .ticker-track{
            gap: 18px;
            animation-duration: 26s;
          }
  
          .gallery-ticker-wrap .ticker-track img{
            height: 220px;
            width: 150px;
            border-radius: 14px;
            filter: none;
            opacity: 1;
          }
  
          .gallery-ticker-wrap .ticker-track img:hover{
            transform: none;
          }
  
          .ticker-gallery-modal .modal-dialog{
            max-width: calc(100vw - 14px);
            margin: 7px auto;
          }
  
          .ticker-gallery-modal .modal-content{
            border-radius: 18px;
          }
  
          .ticker-modal-close{
            top: 10px;
            right: 10px;
            width: 42px;
            height: 42px;
            font-size: 28px;
          }
  
          .ticker-modal-image-wrap{
            height: 72vh;
            min-height: 360px;
            padding: 18px 14px 46px;
          }
  
          .ticker-gallery-modal .carousel-control-prev,
          .ticker-gallery-modal .carousel-control-next{
            width: 52px;
          }
  
          .ticker-gallery-modal .carousel-control-prev-icon,
          .ticker-gallery-modal .carousel-control-next-icon{
            width: 38px;
            height: 38px;
            background-size: 15px 15px;
          }
  
          .ticker-gallery-modal .carousel-indicators{
            margin-bottom: 12px;
          }
        }

/* ===== INLINE <style> BLOCK #4 ===== */
.wa-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147483647;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  font-family:inherit;
}

.wa-btn{
  width:60px;
  height:60px;
  border-radius:50%;
  border:none;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(37,211,102,.45);
  transition:transform .25s, box-shadow .25s;
}
.wa-btn:hover{
  transform:translateY(-3px) scale(1.05);
  box-shadow:0 14px 36px rgba(37,211,102,.55);
}

.wa-card{
  position:absolute;
  right:0;
  bottom:74px;
  width:min(360px,92vw);
  background:#fff;
  border-radius:18px;
  border:1px solid #e3e6ea;
  box-shadow:0 18px 60px rgba(0,0,0,.25);
  overflow:hidden;
  transform:translateY(10px);
  opacity:0;
  transition:.25s ease;
}
.wa-card[aria-modal="true"]{
  transform:none;
  opacity:1;
}

.wa-head{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  background:linear-gradient(135deg,#25D366,#128C7E);
  color:#fff;
}
.wa-avatar{
  width:40px;
  height:40px;
  background:#fff;
  border-radius:10px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.wa-avatar img{
  width:26px;
  height:26px;
  object-fit:contain;
}
.wa-title{font-weight:800}
.wa-status{font-size:.85rem;opacity:.9}

.wa-close{
  margin-left:auto;
  border:none;
  background:transparent;
  color:#fff;
  font-size:24px;
  cursor:pointer;
  width:32px;
  height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:.9;
}
.wa-close:hover{
  opacity:1;
  background:rgba(255,255,255,.14);
}

.wa-body{
  padding:14px;
  max-height:40vh;
  overflow:auto;
  background:#f8f9fa;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.wa-bubble{
  max-width:88%;
  padding:10px 12px;
  border-radius:14px;
  font-size:.95rem;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
}
.wa-bot{
  background:#fff;
  border:1px solid #e3e6ea;
  align-self:flex-start;
}
.wa-user{
  background:#eaf7f0;
  border:1px solid #cfeedd;
  align-self:flex-end;
}

.wa-compose{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  padding:10px;
  border-top:1px solid #e3e6ea;
  background:#fff;
}
.wa-compose textarea{
  resize:none;
  border-radius:12px;
  padding:10px;
  border:1px solid #e3e6ea;
  font-family:inherit;
  outline:none;
}
.wa-send{
  background:#25D366;
  color:#fff;
  border:none;
  border-radius:12px;
  padding:0 16px;
  cursor:pointer;
}
.wa-send:hover{
  background:#1fb85a;
}

@media(max-width:480px){
  .wa-float{
    right:12px;
    bottom:12px;
  }
  .wa-card{
    width:calc(100vw - 24px);
  }
}

