/* MIXED CSS PACK */
/* Template: herreriasanmartin.com.ar/index.html */
/* Template mtime: 2026-04-22 11:31:02 */

/* external link (no embedded): https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Outfit:wght@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 ===== */
/* ── TOKENS ─────────────────────────────────── */
    :root{
      --accent:#c42329;
      --accent-strong:#a61d22;
      --accent-glow:rgba(196,35,41,.18);
      --ink:#0d0e10;
      --ink-2:#1c1d21;
      --muted:#666a75;
      --muted-light:#9295a0;
      --line:#e5e6ea;
      --soft:#f5f6f8;
      --soft-2:#fafafb;
      --card:#ffffff;
      --shadow-xs:0 2px 8px rgba(11,17,34,.05);
      --shadow-sm:0 8px 28px rgba(11,17,34,.07);
      --shadow-md:0 18px 48px rgba(11,17,34,.09);
      --shadow-lg:0 32px 80px rgba(11,17,34,.11);
      --radius-xl:36px;
      --radius-lg:24px;
      --radius-md:16px;
      --radius-sm:10px;
      --nav-h:80px;
      --container:1240px;
      --transition:.28s cubic-bezier(.22,1,.36,1);
    }

    /* ── RESET & BASE ───────────────────────────── */
    *, *::before, *::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
    body{
      font-family:'DM Sans',system-ui,sans-serif;
      color:var(--ink);
      background:#fff;
      overflow-x:hidden;
    }
    a{text-decoration:none;color:inherit}
    img{max-width:100%;display:block}
    .container-xl{max-width:var(--container);margin-inline:auto;padding-inline:clamp(18px,4vw,48px)}

    /* ── EYEBROW ────────────────────────────────── */
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      padding:8px 14px 8px 10px;
      border-radius:999px;
      background:rgba(196,35,41,.08);
      color:var(--accent);
      font-size:.72rem;
      font-weight:700;
      letter-spacing:.16em;
      text-transform:uppercase;
      margin-bottom:20px;
    }
    .eyebrow-dot{
      width:7px;height:7px;
      border-radius:50%;
      background:var(--accent);
      flex-shrink:0;
      animation:pulse-dot 2.4s ease infinite;
    }
    @keyframes pulse-dot{
      0%,100%{box-shadow:0 0 0 0 rgba(196,35,41,.38)}
      50%{box-shadow:0 0 0 6px rgba(196,35,41,0)}
    }

    /* ── SECTION ────────────────────────────────── */
    .section{padding:clamp(72px,10vw,120px) 0;position:relative}
    .section-soft{background:var(--soft-2)}
    .section-title{
      font-family:'Outfit',sans-serif;
      font-size:clamp(1.75rem,3.2vw,2.95rem);
      font-weight:800;
      line-height:.97;
      letter-spacing:-.03em;
      color:var(--ink);
      margin-bottom:18px;
    }
    .section-subtitle{
      color:var(--muted);
      font-size:1.06rem;
      line-height:1.85;
      max-width:720px;
    }
    .section-head{margin-bottom:56px}
    .section-head.center{text-align:center}
    .section-head.center .section-subtitle{margin-inline:auto}

    /* ── BUTTONS ────────────────────────────────── */
    .btn-main,.btn-ghost{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:54px;
      padding:0 28px;
      border-radius:999px;
      font-weight:600;
      font-size:.97rem;
      letter-spacing:-.01em;
      transition:var(--transition);
      border:none;
      cursor:pointer;
      position:relative;
      overflow:hidden;
    }
    .btn-main{
      background:var(--accent);
      color:#fff;
      box-shadow:0 12px 32px rgba(196,35,41,.28),0 4px 10px rgba(196,35,41,.14);
    }
    .btn-main::after{
      content:'';
      position:absolute;inset:0;
      background:linear-gradient(120deg,rgba(255,255,255,.22) 0%,transparent 60%);
      pointer-events:none;
    }
    .btn-main:hover{
      background:var(--accent-strong);
      color:#fff;
      transform:translateY(-2px);
      box-shadow:0 18px 40px rgba(196,35,41,.34),0 4px 12px rgba(196,35,41,.18);
    }
    .btn-ghost{
      background:#fff;
      color:var(--ink);
      border:1.5px solid var(--line);
      box-shadow:var(--shadow-xs);
    }
    .btn-ghost:hover{
      color:var(--accent);
      border-color:rgba(196,35,41,.28);
      transform:translateY(-2px);
      box-shadow:var(--shadow-sm);
    }
    .btn-sm{min-height:44px;padding:0 20px;font-size:.9rem}

    /* ══════════════════════════════════════════════
       NAVBAR
    ══════════════════════════════════════════════ */
    .navbar{
      position:fixed;top:0;left:0;right:0;z-index:1000;
      height:var(--nav-h);
      background:rgba(255,255,255,.88);
      backdrop-filter:blur(20px) saturate(180%);
      -webkit-backdrop-filter:blur(20px) saturate(180%);
      border-bottom:1px solid rgba(18,18,22,.07);
      transition:var(--transition);
    }
    .navbar.scrolled{
      box-shadow:0 4px 24px rgba(11,17,34,.06);
      background:rgba(255,255,255,.96);
    }
    .nav-inner{
      height:var(--nav-h);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .nav-brand{
      display:flex;align-items:center;gap:11px;
      font-family:'Outfit',sans-serif;
      font-size:.92rem;
      font-weight:700;
      color:var(--ink);
      line-height:1.2;
      flex-shrink:1;
      min-width:0;
      max-width:calc(100% - 72px);
    }
    .nav-brand span{display:block}
    .nav-brand img{height:36px;width:auto;object-fit:contain;flex-shrink:0}
    .nav-links{
      display:flex;align-items:center;gap:4px;
      list-style:none;
    }
    .nav-links a{
      display:block;
      padding:8px 14px;
      border-radius:999px;
      font-size:.92rem;
      font-weight:500;
      color:var(--ink-2);
      transition:.2s ease;
    }
    .nav-links a:hover{color:var(--accent);background:rgba(196,35,41,.06)}
    .nav-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}
    .nav-toggle{
      display:none;
      width:42px;height:42px;
      border-radius:12px;
      border:1.5px solid var(--line);
      background:#fff;
      cursor:pointer;
      align-items:center;justify-content:center;
      flex-direction:column;gap:5px;
      box-shadow:var(--shadow-xs);
      flex-shrink:0;
      position:relative;
      z-index:1001;
    }
    .nav-toggle span{
      display:block;width:20px;height:2px;
      background:var(--ink);
      border-radius:2px;
      transition:.25s ease;
    }
    /* Mobile nav */
    .nav-mobile{
      display:block;
      position:fixed;top:var(--nav-h);left:0;right:0;
      background:rgba(255,255,255,.98);
      backdrop-filter:blur(20px);
      border-bottom:1px solid var(--line);
      padding:16px 24px 24px;
      z-index:999;
      box-shadow:var(--shadow-md);
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transform:translateY(-10px);
      transition:opacity .24s ease, transform .24s ease, visibility .24s ease;
      max-height:calc(100vh - var(--nav-h));
      overflow-y:auto;
    }
    .nav-mobile.open{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateY(0);
    }
    .nav-mobile .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:2px}
    .nav-mobile .nav-links a{border-radius:14px;padding:13px 16px}
    .nav-mobile .btn-main{width:100%;margin-top:12px;justify-content:center}
    body.nav-open{overflow:hidden}

    /* ══════════════════════════════════════════════
       HERO
    ══════════════════════════════════════════════ */
    .hero{
      padding-top:calc(var(--nav-h) + clamp(52px,8vw,96px));
      padding-bottom:clamp(72px,10vw,128px);
      background:#fff;
      position:relative;
      overflow:hidden;
    }
    /* decorative background shapes */
    .hero::before{
      content:'';
      position:absolute;
      top:-120px;right:-200px;
      width:700px;height:700px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(196,35,41,.07) 0%,transparent 72%);
      pointer-events:none;
    }
    .hero::after{
      content:'';
      position:absolute;
      bottom:-60px;left:-80px;
      width:460px;height:460px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(196,35,41,.04) 0%,transparent 70%);
      pointer-events:none;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1fr 480px;
      gap:clamp(40px,6vw,80px);
      align-items:center;
      position:relative;z-index:1;
    }
    /* LEFT copy */
    .hero-label{
      display:inline-flex;align-items:center;gap:8px;
      margin-bottom:28px;
      font-size:.8rem;font-weight:600;
      letter-spacing:.14em;text-transform:uppercase;
      color:var(--muted);
    }
    .hero-label-line{width:36px;height:1.5px;background:var(--accent);flex-shrink:0}
    .hero-h1{
      font-family:'Outfit',sans-serif;
      font-size:clamp(2.15rem,4.4vw,3.9rem);
      font-weight:800;
      line-height:.94;
      letter-spacing:-.04em;
      color:var(--ink);
      margin-bottom:26px;
    }
    .hero-h1 em{
      font-style:normal;
      color:var(--accent);
    }
    .hero-desc{
      color:var(--muted);
      font-size:1.07rem;
      line-height:1.88;
      max-width:580px;
      margin-bottom:36px;
    }
    .hero-tags{
      display:flex;flex-wrap:wrap;gap:10px;
      margin-bottom:40px;
    }
    .hero-tag{
      display:inline-flex;align-items:center;gap:7px;
      padding:9px 16px;
      background:#fff;
      border:1.5px solid var(--line);
      border-radius:999px;
      font-size:.88rem;
      font-weight:600;
      color:var(--ink-2);
      box-shadow:var(--shadow-xs);
      transition:.2s ease;
    }
    .hero-tag:hover{border-color:rgba(196,35,41,.24);color:var(--accent)}
    .hero-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px}
    /* stats strip */
    .hero-stats{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:0;
      border:1.5px solid var(--line);
      border-radius:var(--radius-md);
      overflow:hidden;
      background:#fff;
      box-shadow:var(--shadow-sm);
    }
    .hero-stat{
      padding:18px 16px;
      border-right:1.5px solid var(--line);
      position:relative;
    }
    .hero-stat:last-child{border-right:none}
    .hero-stat-label{
      font-size:.72rem;font-weight:600;
      letter-spacing:.12em;text-transform:uppercase;
      color:var(--muted-light);
      margin-bottom:7px;
      display:block;
    }
    .hero-stat-value{
      font-family:'Outfit',sans-serif;
      font-size:.98rem;
      font-weight:700;
      color:var(--ink);
      line-height:1.2;
    }

    /* RIGHT image */
    .hero-visual{position:relative}
    .hero-frame{
      position:relative;
      border-radius:var(--radius-xl);
      overflow:hidden;
      background:linear-gradient(180deg,#ffffff 0%,#f6f7f9 100%);
      border:1.5px solid var(--line);
      box-shadow:var(--shadow-lg);
      aspect-ratio:1/1.05;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:clamp(18px,3vw,34px);
    }
    .hero-frame img{
      width:100%;
      height:100%;
      object-fit:contain;
      object-position:center;
      display:block;
    }
    .hero-visual--mobile{display:none}
    /* floating badge */
    .hero-badge{
      position:absolute;
      bottom:-20px;left:-24px;
      background:#fff;
      border:1.5px solid var(--line);
      border-radius:20px;
      padding:16px 20px;
      box-shadow:var(--shadow-md);
      display:flex;align-items:center;gap:14px;
      min-width:220px;
      z-index:2;
    }
    .hero-badge-icon{
      width:46px;height:46px;
      border-radius:13px;
      background:rgba(196,35,41,.1);
      display:grid;place-items:center;
      color:var(--accent);
      flex-shrink:0;
    }
    .hero-badge-icon svg{width:22px;height:22px}
    .hero-badge strong{display:block;font-size:.9rem;font-weight:700;letter-spacing:-.01em;margin-bottom:3px}
    .hero-badge span{font-size:.8rem;color:var(--muted);line-height:1.4}
    /* top floating chip */
    .hero-chip{
      position:absolute;
      top:-18px;right:-18px;
      background:var(--accent);
      color:#fff;
      border-radius:16px;
      padding:12px 18px;
      font-size:.82rem;font-weight:700;
      box-shadow:0 12px 28px rgba(196,35,41,.28);
      z-index:2;
      letter-spacing:-.01em;
    }

    /* ══════════════════════════════════════════════
       QUIÉNES SOMOS
    ══════════════════════════════════════════════ */
    .about-wrap{
      display:grid;
      grid-template-columns:1fr 400px;
      gap:clamp(32px,5vw,72px);
      align-items:center;
    }
    .about-copy p{
      color:var(--muted);
      font-size:1.04rem;
      line-height:1.88;
      margin-bottom:24px;
    }
    .about-copy p:last-child{margin-bottom:0}
    .about-note{
      display:inline-flex;align-items:center;gap:9px;
      padding:10px 14px;
      border-radius:12px;
      background:var(--soft);
      border:1.5px solid var(--line);
      font-size:.86rem;color:var(--muted);
      margin-top:8px;
    }
    .about-note::before{
      content:'';width:7px;height:7px;
      border-radius:50%;background:var(--accent);flex-shrink:0;
    }
    .about-cards{display:grid;gap:14px}
    .about-card{
      padding:24px;
      border-radius:var(--radius-lg);
      background:#fff;
      border:1.5px solid var(--line);
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
      position:relative;
      overflow:hidden;
    }
    .about-card::before{
      content:'';
      position:absolute;left:0;top:0;bottom:0;
      width:3px;
      background:var(--accent);
      transform:scaleY(0);
      transform-origin:bottom;
      transition:var(--transition);
    }
    .about-card:hover{transform:translateX(4px);border-color:rgba(196,35,41,.2)}
    .about-card:hover::before{transform:scaleY(1)}
    .about-card strong{
      display:block;
      font-family:'Outfit',sans-serif;
      font-size:1rem;
      font-weight:700;
      margin-bottom:8px;
      color:var(--ink);
    }
    .about-card span{
      display:block;
      color:var(--muted);
      font-size:.93rem;
      line-height:1.72;
    }

    /* ══════════════════════════════════════════════
       SERVICIOS
    ══════════════════════════════════════════════ */
    .services-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:20px;
    }
    .service-card{
      position:relative;
      padding:32px 28px;
      background:#fff;
      border:1.5px solid var(--line);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
      overflow:hidden;
      display:flex;flex-direction:column;
    }
    .service-card-accent{
      position:absolute;inset:0 auto auto 0;
      width:100%;height:3px;
      background:linear-gradient(90deg,var(--accent) 0%,transparent 100%);
      transform:scaleX(0);
      transform-origin:left;
      transition:var(--transition);
    }
    .service-card:hover{
      transform:translateY(-6px);
      box-shadow:var(--shadow-md);
      border-color:rgba(196,35,41,.18);
    }
    .service-card:hover .service-card-accent{transform:scaleX(1)}
    .icon-wrap{
      width:60px;height:60px;
      border-radius:17px;
      display:grid;place-items:center;
      background:rgba(196,35,41,.07);
      color:var(--accent);
      margin-bottom:22px;
      transition:var(--transition);
      flex-shrink:0;
    }
    .service-card:hover .icon-wrap{background:rgba(196,35,41,.13);transform:scale(1.06)}
    .icon-wrap svg{width:28px;height:28px}
    .service-card h3{
      font-family:'Outfit',sans-serif;
      font-size:1.08rem;
      font-weight:700;
      letter-spacing:-.025em;
      margin-bottom:12px;
      color:var(--ink);
    }
    .service-card p{
      color:var(--muted);
      font-size:.96rem;
      line-height:1.78;
      flex:1;
    }

    /* ══════════════════════════════════════════════
       POR QUÉ ELEGIRNOS
    ══════════════════════════════════════════════ */
    .choose-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
      margin-bottom:40px;
    }
    .choose-card{
      padding:28px 24px;
      background:#fff;
      border:1.5px solid var(--line);
      border-radius:var(--radius-lg);
      box-shadow:var(--shadow-sm);
      transition:var(--transition);
      position:relative;
      overflow:hidden;
    }
    .choose-card::after{
      content:'';
      position:absolute;
      bottom:-40px;right:-40px;
      width:100px;height:100px;
      border-radius:50%;
      background:rgba(196,35,41,.05);
      transition:var(--transition);
    }
    .choose-card:hover{
      transform:translateY(-5px);
      border-color:rgba(196,35,41,.18);
      box-shadow:var(--shadow-md);
    }
    .choose-card:hover::after{transform:scale(2.4);opacity:.6}
    .choose-card .icon-wrap{margin-bottom:18px}
    .choose-card h3{
      font-family:'Outfit',sans-serif;
      font-size:1rem;font-weight:700;
      letter-spacing:-.02em;
      margin-bottom:10px;color:var(--ink);
    }
    .choose-card p{color:var(--muted);font-size:.93rem;line-height:1.76}

    /* CTA band */
    .cta-band{
      background:linear-gradient(135deg,#0f1012 0%,#1e2028 100%);
      border-radius:28px;
      padding:clamp(24px,4vw,36px) clamp(24px,5vw,48px);
      display:flex;align-items:center;
      justify-content:space-between;
      gap:24px;flex-wrap:wrap;
      box-shadow:0 24px 60px rgba(11,17,34,.18);
      position:relative;overflow:hidden;
    }
    .cta-band::before{
      content:'';
      position:absolute;top:-60px;right:-80px;
      width:340px;height:340px;border-radius:50%;
      background:radial-gradient(circle,rgba(196,35,41,.14) 0%,transparent 70%);
      pointer-events:none;
    }
    .cta-band-copy strong{
      display:block;
      font-family:'Outfit',sans-serif;
      font-size:1.25rem;font-weight:800;
      letter-spacing:-.03em;
      color:#fff;margin-bottom:8px;
    }
    .cta-band-copy p{
      margin:0;color:rgba(255,255,255,.68);
      font-size:.97rem;line-height:1.76;
    }

    /* ══════════════════════════════════════════════
       GALERÍA — SE CONSERVA INTACTA (sólo ajuste
       de contenedor para coherencia de layout)
    ══════════════════════════════════════════════ */
    .gal-card{
      background:#fff;
      border:1.5px solid var(--line);
      border-radius:var(--radius-xl);
      padding:clamp(22px,3vw,36px);
      box-shadow:var(--shadow-sm);
    }
    .gal-gallery .carousel{max-width:1100px;margin-inline:auto;position:relative}
    .gal-frame{
      height:clamp(280px,56vh,560px);
      background:linear-gradient(180deg,#ffffff 0%,#f6f7f9 100%);
      border-radius:28px;
      overflow:hidden;
      border:1px solid rgba(18,18,20,.07);
      box-shadow:0 24px 50px rgba(11,17,34,.08);
      display:flex;align-items:center;justify-content:center;
      padding:16px;
    }
    .gal-img{
      width:auto!important;max-width:100%;
      height:auto!important;max-height:100%;
      object-fit:contain!important;object-position:center;
      display:block;cursor:zoom-in;
      border-radius:18px;
    }
    .gal-gallery .carousel-control-prev,
    .gal-gallery .carousel-control-next{
      z-index:20;width:56px;height:56px;
      top:50%;transform:translateY(-50%);
      opacity:1;background:rgba(17,18,22,.72);
      border-radius:50%;margin:0 10px;transition:.25s ease;
    }
    .gal-gallery .carousel-control-prev:hover,
    .gal-gallery .carousel-control-next:hover{background:rgba(196,35,41,.92)}
    .gal-gallery .carousel-control-prev{left:0}
    .gal-gallery .carousel-control-next{right:0}
    .gal-gallery .gal-ctrl-icon{width:2.75rem;height:2.75rem;background-size:58% 58%}
    .gal-gallery .carousel-indicators{z-index:10;bottom:-56px;margin-bottom:0}
    .gal-gallery .carousel-indicators button{
      width:12px;height:12px;border-radius:50%;border:none;
      background:rgba(17,18,22,.22);opacity:1;margin:0 5px;
    }
    .gal-gallery .carousel-indicators button.active{background:var(--accent)}
    .gal-gallery{padding-bottom:60px}
    #galLightbox .modal-dialog{padding:0 12px}
    #galLightbox .modal-content{background:#000;border:none;border-radius:24px;overflow:hidden}
    #galLightboxImg{width:100%;max-height:86vh;height:auto;object-fit:contain;background:#000}
    .gal-lightbox-nav{
      position:absolute;top:50%;transform:translateY(-50%);
      border:0;width:50px;height:50px;border-radius:999px;
      background:rgba(255,255,255,.16);color:#fff;font-size:34px;
      line-height:50px;text-align:center;z-index:5;cursor:pointer;
    }
    .gal-lightbox-nav:hover{background:rgba(255,255,255,.28)}
    .gal-lightbox-nav.gal-prev{left:14px}
    .gal-lightbox-nav.gal-next{right:14px}

    /* ══════════════════════════════════════════════
       FAQs
    ══════════════════════════════════════════════ */
    .faq-wrap{max-width:860px;margin-inline:auto}
    .faq-item{
      border-bottom:1.5px solid var(--line);
      overflow:hidden;
    }
    .faq-item:first-child{border-top:1.5px solid var(--line)}
    .faq-btn{
      width:100%;
      display:flex;align-items:center;justify-content:space-between;
      gap:16px;
      padding:22px 0;
      background:none;border:none;cursor:pointer;
      font-family:'DM Sans',sans-serif;
      font-size:1.02rem;font-weight:600;
      color:var(--ink);
      text-align:left;
      transition:.2s ease;
    }
    .faq-btn:hover{color:var(--accent)}
    .faq-btn[aria-expanded="true"]{color:var(--accent)}
    .faq-icon{
      width:32px;height:32px;flex-shrink:0;
      border-radius:50%;
      background:var(--soft);
      display:grid;place-items:center;
      transition:var(--transition);
    }
    .faq-icon svg{width:14px;height:14px;transition:var(--transition)}
    .faq-btn[aria-expanded="true"] .faq-icon{background:rgba(196,35,41,.1)}
    .faq-btn[aria-expanded="true"] .faq-icon svg{transform:rotate(45deg);color:var(--accent)}
    .faq-body{
      display:none;
      padding:0 0 22px;
      color:var(--muted);
      font-size:.97rem;
      line-height:1.82;
    }
    .faq-body.open{display:block}

    /* ══════════════════════════════════════════════
       CONTACTO
    ══════════════════════════════════════════════ */
    .contact-grid{
      display:grid;
      grid-template-columns:400px 1fr;
      gap:clamp(28px,4vw,56px);
      align-items:start;
    }
    .contact-copy p{
      color:var(--muted);font-size:1.03rem;line-height:1.85;margin-bottom:28px;
    }
    .contact-items{display:grid;gap:12px}
    .contact-item{
      display:flex;align-items:flex-start;gap:14px;
      padding:18px;
      background:#fff;border:1.5px solid var(--line);
      border-radius:18px;box-shadow:var(--shadow-xs);
      transition:var(--transition);
    }
    .contact-item:hover{border-color:rgba(196,35,41,.2);transform:translateX(3px)}
    .c-icon{
      width:46px;height:46px;flex-shrink:0;
      border-radius:13px;
      background:rgba(196,35,41,.08);
      display:grid;place-items:center;color:var(--accent);
    }
    .c-icon svg{width:22px;height:22px}
    .contact-item strong{
      display:block;font-size:.93rem;font-weight:700;
      letter-spacing:-.01em;margin-bottom:4px;color:var(--ink);
    }
    .contact-item span,.contact-item a{
      font-size:.91rem;color:var(--muted);line-height:1.7;word-break:break-word;
    }
    .contact-item a:hover{color:var(--accent)}

    /* Form */
    .form-shell{
      background:linear-gradient(160deg,#fff 0%,#fafafb 100%);
      border:1.5px solid var(--line);
      border-radius:var(--radius-xl);
      padding:clamp(28px,4vw,44px);
      box-shadow:var(--shadow-md);
    }
    .form-shell h3{
      font-family:'Outfit',sans-serif;
      font-size:1.45rem;font-weight:800;
      letter-spacing:-.04em;margin-bottom:8px;color:var(--ink);
    }
    .form-shell > p{
      color:var(--muted);font-size:.97rem;line-height:1.78;margin-bottom:28px;
    }
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
    .form-group:last-child{margin-bottom:0}
    .form-label{
      font-size:.83rem;font-weight:700;
      letter-spacing:.02em;text-transform:uppercase;
      color:var(--ink-2);
    }
    .form-control,.form-select{
      width:100%;
      min-height:52px;
      padding:12px 16px;
      border-radius:14px;
      border:1.5px solid #dde0e8;
      background:#fff;
      font-family:'DM Sans',sans-serif;
      font-size:.97rem;
      color:var(--ink);
      outline:none;
      transition:.2s ease;
      -webkit-appearance:none;appearance:none;
    }
    textarea.form-control{min-height:140px;resize:vertical}
    .form-control:focus,.form-select:focus{
      border-color:var(--accent);
      box-shadow:0 0 0 3px rgba(196,35,41,.1);
    }
    .form-submit{
      width:100%;
      min-height:56px;
      border-radius:14px;
      font-size:1rem;font-weight:700;
      margin-top:4px;
    }

    /* ══════════════════════════════════════════════
       FOOTER
    ══════════════════════════════════════════════ */
    .footer{
      background:var(--ink);
      color:#fff;
      padding:clamp(56px,8vw,96px) 0 0;
      position:relative;overflow:hidden;
    }
    .footer::before{
      content:'';
      position:absolute;top:-120px;right:-160px;
      width:560px;height:560px;border-radius:50%;
      background:radial-gradient(circle,rgba(196,35,41,.1) 0%,transparent 70%);
      pointer-events:none;
    }
    .footer-grid{
      display:grid;
      grid-template-columns:1.3fr 1fr 1fr;
      gap:clamp(32px,5vw,56px);
      padding-bottom:clamp(40px,6vw,72px);
      position:relative;z-index:1;
    }
    .footer-brand{
      display:flex;align-items:center;gap:11px;
      margin-bottom:18px;
    }
    .footer-brand img{height:36px;width:auto;object-fit:contain}
    .footer-brand span{
      font-family:'Outfit',sans-serif;
      font-size:.93rem;font-weight:700;
      color:#fff;line-height:1.2;
    }
    .footer-desc{
      color:rgba(255,255,255,.6);
      font-size:.93rem;line-height:1.85;
      max-width:380px;
      margin-bottom:24px;
    }
    .footer-social{display:flex;gap:10px}
    .footer-soc-btn{
      width:38px;height:38px;
      border-radius:10px;
      background:rgba(255,255,255,.08);
      display:grid;place-items:center;
      color:rgba(255,255,255,.7);
      transition:.2s ease;border:1.5px solid rgba(255,255,255,.1);
    }
    .footer-soc-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
    .footer-soc-btn svg{width:17px;height:17px}
    .footer-col-title{
      font-family:'Outfit',sans-serif;
      font-size:.88rem;font-weight:700;
      letter-spacing:.1em;text-transform:uppercase;
      color:rgba(255,255,255,.38);
      margin-bottom:18px;
    }
    .footer-links,.footer-contact-list{
      list-style:none;display:grid;gap:10px;
    }
    .footer-links a,.footer-contact-list a,.footer-contact-list li{
      font-size:.93rem;
      color:rgba(255,255,255,.64);
      transition:.2s ease;
    }
    .footer-links a:hover,.footer-contact-list a:hover{color:#fff}
    .footer-bottom{
      border-top:1px solid rgba(255,255,255,.1);
      padding:22px 0;
      display:flex;align-items:center;justify-content:space-between;
      gap:12px;flex-wrap:wrap;
      position:relative;z-index:1;
    }
    .footer-bottom span{font-size:.88rem;color:rgba(255,255,255,.44)}
    .footer-bottom a{color:rgba(255,255,255,.64)}
    .footer-bottom a:hover{color:#fff}

    /* ══════════════════════════════════════════════
       DIVIDER / ACCENT LINE
    ══════════════════════════════════════════════ */
    .section-divider{
      width:48px;height:3px;
      background:var(--accent);
      border-radius:2px;
      margin-bottom:28px;
    }

    /* ══════════════════════════════════════════════
       ANIMATE ON SCROLL (simple fade-up)
    ══════════════════════════════════════════════ */
    [data-aos]{
      opacity:0;
      transform:translateY(24px);
      transition:opacity .6s ease, transform .6s ease;
    }
    [data-aos].aos-in{
      opacity:1;transform:translateY(0);
    }
    [data-aos-delay="100"]{transition-delay:.1s}
    [data-aos-delay="150"]{transition-delay:.15s}
    [data-aos-delay="200"]{transition-delay:.2s}
    [data-aos-delay="250"]{transition-delay:.25s}
    [data-aos-delay="300"]{transition-delay:.3s}
    [data-aos-delay="350"]{transition-delay:.35s}
    [data-aos-delay="400"]{transition-delay:.4s}

    /* ══════════════════════════════════════════════
       RESPONSIVE
    ══════════════════════════════════════════════ */
    @media(max-width:1100px){
      .hero-grid{grid-template-columns:1fr 420px}
      .hero-badge{left:-12px;bottom:-16px;min-width:190px}
    }
    @media(max-width:960px){
      .hero-grid,.about-wrap{grid-template-columns:1fr;gap:40px}
      .hero-visual{max-width:520px;margin-inline:auto}
      .hero-stats{grid-template-columns:repeat(2,1fr)}
      .hero-stat:nth-child(2){border-right:none}
      .hero-stat:nth-child(3){border-top:1.5px solid var(--line)}
      .hero-stat:nth-child(4){border-top:1.5px solid var(--line);border-right:none}
      .about-cards{grid-template-columns:1fr 1fr}
      .services-grid,.choose-grid{grid-template-columns:1fr 1fr}
      .contact-grid{grid-template-columns:1fr}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media(max-width:700px){
      .services-grid,.choose-grid,.footer-grid{grid-template-columns:1fr}
      .about-cards{grid-template-columns:1fr}
      .form-row{grid-template-columns:1fr}
      .navbar .container-xl{padding-inline:14px}
      .nav-inner{
        position:relative;
        display:flex;
        align-items:center;
        justify-content:flex-start;
        gap:0;
      }
      .nav-links,.nav-right .btn-main{display:none}
      .nav-mobile .nav-links{display:flex}
      .nav-right{
        position:absolute;
        right:0;
        top:50%;
        transform:translateY(-50%);
        display:flex;
        align-items:center;
        justify-content:flex-end;
        width:44px;
        margin:0;
      }
      .nav-toggle{display:flex;margin:0;width:44px;height:44px}
      .nav-brand{
        max-width:none;
        min-width:0;
        gap:10px;
        padding-right:58px;
      }
      .nav-brand img{height:32px}
      .nav-brand span{font-size:.84rem;line-height:1.08}
      .hero-copy{display:flex;flex-direction:column}
      .hero-label{order:1}
      .hero-h1{order:2}
      .hero-desc{order:3}
      .hero-visual--mobile{
        display:block;
        order:4;
        margin:2px 0 22px;
      }
      .hero-visual--mobile .hero-frame{
        aspect-ratio:auto;
        min-height:260px;
        max-height:420px;
        padding:22px;
      }
      .hero-visual--mobile .hero-frame img{
        width:100%;
        height:100%;
        object-fit:contain;
      }
      .hero-tags{order:6;margin-bottom:28px}
      .hero-actions{order:5;margin-bottom:22px}
      .hero-stats{order:7;grid-template-columns:1fr 1fr}
      .hero-grid > .hero-visual:not(.hero-visual--mobile){display:none}
      .hero-badge{display:none}
      .hero-chip{display:none}
    }
    @media(max-width:460px){
      .navbar .container-xl{padding-inline:12px}
      .nav-brand{padding-right:54px}
      .nav-brand span{font-size:.78rem;line-height:1.05}
      .hero-visual--mobile{margin:0 0 18px}
      .hero-visual--mobile .hero-frame{
        min-height:220px;
        padding:18px;
      }
      .hero-stats{grid-template-columns:1fr}
      .hero-stat{border-right:none;border-top:1.5px solid var(--line)}
      .hero-stat:first-child{border-top:none}
      .hero-actions{flex-direction:column}
      .hero-actions .btn-main,.hero-actions .btn-ghost{width:100%}
    }

/* ===== INLINE <style> BLOCK #2 ===== */
@media (max-width:700px){
      .navbar{
        overflow:visible;
      }
      .navbar .container-xl{
        position:relative !important;
        padding-inline:12px !important;
      }
      .nav-inner{
        position:relative !important;
        display:block !important;
        height:var(--nav-h) !important;
        min-height:var(--nav-h) !important;
      }
      .nav-brand{
        position:absolute !important;
        left:0 !important;
        top:50% !important;
        transform:translateY(-50%) !important;
        max-width:calc(100% - 74px) !important;
        min-width:0 !important;
        padding-right:0 !important;
        margin:0 !important;
      }
      .nav-brand img{
        height:31px !important;
      }
      .nav-brand span{
        font-size:.8rem !important;
        line-height:1.02 !important;
      }
      .nav-right{
        position:fixed !important;
        top:18px !important;
        right:10px !important;
        left:auto !important;
        transform:none !important;
        width:44px !important;
        height:44px !important;
        margin:0 !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        z-index:1005 !important;
      }
      .nav-toggle{
        display:flex !important;
        width:44px !important;
        height:44px !important;
        margin:0 !important;
      }
      .nav-mobile{
        top:var(--nav-h) !important;
        padding:14px 12px 18px !important;
        z-index:1001 !important;
      }
    }

    @media (max-width:460px){
      .navbar .container-xl{
        padding-inline:10px !important;
      }
      .nav-right{
        right:8px !important;
      }
      .nav-brand{
        max-width:calc(100% - 68px) !important;
      }
      .nav-brand span{
        font-size:.76rem !important;
      }
    }

/* ===== INLINE <style> BLOCK #3 ===== */
@media (max-width:700px){
      .navbar .container-xl{
        padding-inline:10px !important;
      }
      .nav-inner{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) auto !important;
        align-items:center !important;
        gap:8px !important;
        width:100% !important;
        height:var(--nav-h) !important;
        min-height:var(--nav-h) !important;
      }
      .nav-links,
      .nav-right .btn-main{
        display:none !important;
      }
      .nav-mobile .nav-links{
        display:flex !important;
      }
      .nav-brand{
        position:static !important;
        transform:none !important;
        left:auto !important;
        top:auto !important;
        max-width:100% !important;
        min-width:0 !important;
        width:auto !important;
        margin:0 !important;
        padding-right:0 !important;
        display:flex !important;
        align-items:center !important;
        gap:10px !important;
        overflow:hidden !important;
      }
      .nav-brand img{
        height:32px !important;
        width:auto !important;
        flex-shrink:0 !important;
      }
      .nav-brand span{
        display:block !important;
        font-size:.8rem !important;
        line-height:1.04 !important;
        white-space:normal !important;
      }
      .nav-right{
        position:static !important;
        top:auto !important;
        right:auto !important;
        left:auto !important;
        transform:none !important;
        width:auto !important;
        height:auto !important;
        margin:0 !important;
        margin-left:auto !important;
        padding:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-end !important;
        justify-self:end !important;
        flex-shrink:0 !important;
        z-index:auto !important;
      }
      .nav-toggle{
        display:flex !important;
        width:42px !important;
        height:42px !important;
        margin:0 !important;
        flex-shrink:0 !important;
      }
      .nav-mobile{
        top:var(--nav-h) !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        padding:16px 12px 20px !important;
        z-index:1001 !important;
      }
    }

    @media (max-width:460px){
      .navbar .container-xl{
        padding-inline:8px !important;
      }
      .nav-inner{
        grid-template-columns:minmax(0,1fr) 42px !important;
        gap:6px !important;
      }
      .nav-brand img{
        height:30px !important;
      }
      .nav-brand span{
        font-size:.74rem !important;
        line-height:1.02 !important;
      }
    }

/* ===== INLINE <style> BLOCK #4 ===== */
:root{
    --wa:#25D366;
    --wa-dark:#1fb85a;
    --light-bg:#ffffff;
    --light-bg-soft:#f6f8f7;
    --light-border:#dde4df;
    --dark-text:#1c1f1d;
    --muted-text:#6c756f;
  }

  .ig-float{
    position:fixed;
    right:18px;
    bottom:92px;
    z-index:9998;
    width:54px;
    height:54px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#fff;
    text-decoration:none;
    background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    transition:transform .25s, box-shadow .25s, opacity .25s;
  }
  .ig-float:hover{
    transform:translateY(-2px) scale(1.04);
    box-shadow:0 14px 36px rgba(0,0,0,.35);
  }

  .wa-float{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:9999;
    font-family:inherit;
  }

  .wa-btn{
    background:var(--wa);
    color:#fff;
    border:0;
    width:60px;
    height:60px;
    border-radius:50%;
    display:grid;
    place-items:center;
    box-shadow:0 10px 30px rgba(0,0,0,.22);
    cursor:pointer;
    transition:transform .3s, box-shadow .3s, filter .3s;
    position:relative;
    overflow:hidden;
    z-index:9999;
  }
  .wa-btn:hover{
    transform:translateY(-3px) scale(1.05);
    box-shadow:0 14px 36px rgba(0,0,0,.28);
    filter:brightness(.98);
  }

  .wa-card{
    position:absolute;
    right:0;
    bottom:74px;
    width:min(360px,92vw);
    background:var(--light-bg);
    color:var(--dark-text);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 60px rgba(0,0,0,.25);
    border:1px solid var(--light-border);
    transform:translateY(10px);
    opacity:0;
    transition:transform .3s, opacity .3s;
    z-index:10000;
  }
  .wa-card[aria-modal="true"]{
    transform:translateY(0);
    opacity:1;
  }

  .wa-head{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
    background:linear-gradient(135deg,#ffffff,#ecf6f0);
    border-bottom:1px solid var(--light-border);
  }
  .wa-avatar{
    width:40px;
    height:40px;
    border-radius:10px;
    background:#e9f7ef;
    display:grid;
    place-items:center;
    border:1px solid #cfeeda;
    overflow:hidden;
  }
  .wa-title{
    font-weight:800;
    font-size:1.02rem;
    color:var(--dark-text);
  }
  .wa-status{
    font-size:.85rem;
    color:var(--muted-text);
    display:flex;
    align-items:center;
    gap:6px;
  }
  .wa-status::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--wa);
  }
  .wa-close{
    margin-left:auto;
    background:transparent;
    color:var(--muted-text);
    border:0;
    font-size:24px;
    cursor:pointer;
    opacity:.75;
    width:32px;
    height:32px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.2s;
  }
  .wa-close:hover{
    opacity:1;
    background:rgba(0,0,0,.04);
  }

  .wa-body{
    padding:12px 14px;
    max-height:40vh;
    overflow:auto;
    background:var(--light-bg-soft);
    display:flex;
    flex-direction:column;
    gap:8px;
  }

  .wa-bubble{
    max-width:88%;
    padding:9px 11px;
    border-radius:14px;
    line-height:1.35;
    box-shadow:0 3px 10px rgba(0,0,0,.06);
    animation:fadeIn .25s ease;
    font-size:.9rem;
  }
  @keyframes fadeIn{
    from{opacity:0;transform:translateY(5px)}
    to{opacity:1;transform:none}
  }
  .wa-bot{
    background:#fff;
    border:1px solid var(--light-border);
    align-self:flex-start;
    border-bottom-left-radius:4px;
  }
  .wa-user{
    background:var(--wa);
    color:#fff;
    align-self:flex-end;
    border-bottom-right-radius:4px;
  }

  .wa-compose{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    padding:10px 12px;
    background:#fff;
    border-top:1px solid var(--light-border);
  }
  .wa-compose textarea{
    resize:none;
    border-radius:12px;
    padding:10px 12px;
    border:1px solid var(--light-border);
    background:#f9fbfa;
    color:var(--dark-text);
    outline:none;
    min-height:44px;
    font-family:inherit;
    font-size:.9rem;
    transition:.2s;
  }
  .wa-compose textarea:focus{
    border-color:var(--wa);
    box-shadow:0 0 0 2px rgba(37,211,102,.15);
    background:#fff;
  }
  .wa-send{
    background:var(--wa);
    color:#fff;
    border:0;
    border-radius:12px;
    padding:0 16px;
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.2s;
  }
  .wa-send:hover{
    background:var(--wa-dark);
    transform:scale(1.04);
  }

  .wa-body::-webkit-scrollbar{width:6px}
  .wa-body::-webkit-scrollbar-track{background:rgba(0,0,0,.03);border-radius:3px}
  .wa-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.12);border-radius:3px}
  .wa-body::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.18)}

  @media (max-width:480px){
    .ig-float{
      right:12px;
      bottom:86px;
      width:52px;
      height:52px;
    }
    .wa-float{
      right:12px;
      bottom:12px;
    }
    .wa-card{
      width:calc(100vw - 24px);
      right:0;
    }
  }

