 :root{
      --bg:#071027;
      --card:#0f172a;
      --muted:#9aa9bd;
      --accent1:#7c3aed; /* purple */
      --accent2:#06b6d4; /* cyan */
      --teal:#06b6d4;
      --maxw:1200px;
      --proj-h:280px;
      --transition: .36s cubic-bezier(.2,.9,.3,1);
    }
    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
      margin:0;
      color:#eaf2ff;
      background: linear-gradient(180deg, var(--bg) 0%, #0b1220 60%);
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      transition: padding-top .2s ease;
    }

    .container{max-width:var(--maxw);margin:0 auto;padding:0 20px}

    /* NAV */
    header.site-header{position:fixed;top:0;left:0;right:0;z-index:120;background:linear-gradient(180deg, rgba(2,6,23,0.6), rgba(2,6,23,0.35));backdrop-filter: blur(8px);border-bottom:1px solid rgba(255,255,255,0.03)}
    .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px}
    .brand{display:flex;gap:12px;align-items:center}
    .isologo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--accent1),var(--accent2));flex-shrink:0}
    .isologo img{width:36px;height:36px;display:block;border-radius:8px}
    .logotype{font-weight:800;line-height:1}
    .logotype .title{font-size:16px}
    .logotype .subtitle{font-size:12px;color:var(--muted)}
    nav.main-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
    nav.main-nav a{color:var(--muted);text-decoration:none;font-weight:600}
    nav.main-nav a:hover{color:#fff}
    .btn-cta{background:linear-gradient(90deg,var(--accent1),var(--accent2));padding:8px 14px;border-radius:10px;color:#021124;font-weight:800;text-decoration:none}

    /* HERO */
    main{padding-top:110px} /* fallback; JS will sync header height */
    .hero{display:grid;grid-template-columns:1fr 460px;gap:36px;align-items:center;padding:56px 0}
    @media (max-width:1000px){.hero{grid-template-columns:1fr 360px}}
    @media (max-width:780px){.hero{grid-template-columns:1fr;gap:18px;padding:36px 0}.logotype .title{display:none} .subtitle{display:none}}

    .eyebrow{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,0.03);color:var(--muted);font-weight:600;margin-bottom:14px}
    .hero h1{font-size:44px;line-height:1.03;margin:6px 0 12px}
    .hero p.lead{color:var(--muted);max-width:70%;margin:0 0 20px}
    .kpis{display:flex;gap:12px;margin-top:18px}
    .kpi{background:rgba(255,255,255,0.02);padding:12px 16px;border-radius:10px}

    .media-card{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,0.03);background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.02))}
    .media-card img{width:100%;height:420px;object-fit:cover;display:block}
    @media (max-width:780px){.media-card img{height:320px}}

    /* SERVICES */
    .services{margin-top:28px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    @media (max-width:1000px){.services{grid-template-columns:repeat(2,1fr)}}
    @media (max-width:640px){.services{grid-template-columns:1fr}}
    .service{border-radius:12px;padding:20px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border:1px solid rgba(255,255,255,0.02);transition:transform var(--transition),box-shadow .3s ease}
    .service:hover{transform:translateY(-6px);box-shadow:0 12px 36px rgba(8,14,30,0.5)}
    .service .icon{width:100%;height:72px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;background:linear-gradient(135deg,#6c5bff,#06b6d4)}
    .service h3{margin:0 0 6px}
    .service p{color:var(--muted);font-size:14px}

    /* WORKS: filters + grid */
    .works-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:36px}
    .filters{display:flex;gap:10px;flex-wrap:wrap}
    .filter-btn{background:transparent;color:var(--muted);border:1px solid rgba(255,255,255,0.04);padding:8px 12px;border-radius:999px;cursor:pointer;font-weight:700;transition:all .22s ease}
    .filter-btn[aria-pressed="true"]{background:linear-gradient(90deg,var(--accent1),var(--accent2));color:#021124;transform:translateY(-2px);box-shadow:0 6px 18px rgba(12,18,48,0.45)}
    .filter-btn:focus{outline:3px solid rgba(124,58,237,0.18);outline-offset:2px}

    .portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:12px}
    @media (max-width:1000px){.portfolio{grid-template-columns:repeat(2,1fr)}}
    @media (max-width:720px){.portfolio{grid-template-columns:1fr}}

    .proj{position:relative;border-radius:12px;overflow:hidden;height:var(--proj-h);background:rgba(255,255,255,0.02);transition:transform var(--transition),box-shadow .3s ease,opacity .28s ease;will-change:transform,opacity}
    .proj.hidden{opacity:0;transform:scale(.98);pointer-events:none}
    .proj img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .4s ease}
    .proj:hover img{transform:scale(1.08);filter:brightness(.75)}

    /* overlay slide-up */
    .overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.78) 90%);color:#fff;transform:translateY(10px);opacity:0;transition:transform .32s ease,opacity .32s ease}
    .proj:hover .overlay{transform:none;opacity:1}
    .overlay h3{margin:0;font-size:18px}
    .overlay p{margin:6px 0 0;color:#d1d5db;font-size:13px;line-height:1.35}

    /* CLIENTS CAROUSEL */
    .clients-wrap{margin-top:36px;background:linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.02));padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,0.02)}
    .clients-track{display:flex;gap:22px;align-items:center;overflow:hidden}
    .client{flex:0 0 auto;width:160px;height:64px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.02);padding:8px}
    .client img{max-width:140px;max-height:48px;object-fit:contain}
    .carousel-controls{display:flex;gap:8px;align-items:center;margin-top:10px;justify-content:center}
    .carousel-btn{background:transparent;border:1px solid rgba(255,255,255,0.04);padding:8px 10px;border-radius:8px;color:var(--muted);cursor:pointer}

    /* CONTACT */
    .contact{margin-top:36px}
    .contact-grid{display:grid;grid-template-columns:1fr 360px;gap:18px}
    @media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
    .contact form input, .contact form textarea{width:100%;padding:10px;margin-top:6px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:transparent;color:inherit}

    /* CTA emotional bottom */
    .cta-bottom{text-align:center;margin:28px 0}
    .cta-emotional{background:linear-gradient(90deg,var(--accent1),var(--accent2));color:#021124;padding:14px 22px;border-radius:12px;border:none;font-weight:800;cursor:pointer;transition:transform .24s ease}
    .cta-emotional:hover{transform:translateY(-6px)}

    /* Footer */
    footer{padding:36px 0;margin-top:36px;border-top:1px solid rgba(255,255,255,0.03);color:var(--muted)}

    /* Stagger utility */
    .staggered{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
    .staggered.visible{opacity:1;transform:none}

    /* small helpers */
    .muted{color:var(--muted)}
    .text-center{text-align:center}

    /* Modal styles (appointment and confirm) */
    .modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px}
    .modal{background:linear-gradient(180deg,#0b1220,#071027);border-radius:12px;padding:20px;max-width:720px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.03);position:relative}
    .modal h3{margin:0 0 8px}
    .modal form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .modal label{display:block;font-size:13px;color:var(--muted)}
    .modal input, .modal select, .modal textarea{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.05);background:transparent;color:inherit}
    .modal .full{grid-column:1/ -1}
    .modal .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
    .small{font-size:13px;color:var(--muted)}
    .calendar-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
    .calendar-links a{font-size:13px;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,0.03);text-decoration:none;color:var(--muted)}
    .confirm-box{text-align:center;padding:18px}