*, *::before, *::after { box-sizing: border-box; }

    body { margin: 0; font-family: "Segoe UI", Inter, Arial, sans-serif; background: #f5f6fa; color: #1a1d2b; position: relative; }

    a { color: inherit; text-decoration: none; }



    :root{

      --ink:#11152b;

      --muted:#5c6074;

      --line:#e0e4f0;

      --accent:#1f3f77;

      --accent-soft:#d7e1f5;

      --panel:#ffffff;

      --radius:18px;

      --shadow:0 18px 40px rgba(20, 29, 58, .12);

    }



    .container{ width: min(1180px, 92vw); margin: 0 auto; }



    header{ background: #ffffff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 8; }

    .topline{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 0; }

    .brand{ display:flex; align-items:center; gap:18px; }

    .brand img{ width:280px; height:auto; }

    .brand span{ font-size:13px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }

    nav{ display:flex; gap:16px; font-weight:600; font-size:18px; }

    nav a, nav span{ position:relative; color:var(--muted); white-space:nowrap; cursor:pointer; }

    nav a::after, nav span::after{ content:""; position:absolute; left:0; bottom:-6px; width:0; height:2px; background:var(--accent); transition:width .25s ease; }

    nav a:hover::after, nav a:focus-visible::after, nav span:hover::after{ width:100%; }

    .nav-item{ position:relative; }
    .nav-item::before{ content:""; position:absolute; top:100%; left:-20px; right:-20px; height:16px; z-index:9; }
    .nav-item > a, .nav-item > span{ position:relative; }
    .submenu{ visibility:hidden; position:absolute; top:100%; left:0; margin-top:12px; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:8px 0; min-width:280px; z-index:10; opacity:0; transform:translateY(-8px); transition:opacity .2s ease, transform .2s ease, visibility 0s .2s; pointer-events:none; }
    .nav-item:nth-last-child(-n+3) .submenu{ left:auto; right:0; }
    .nav-item:hover .submenu, .nav-item:focus-within .submenu, .submenu:hover{ visibility:visible; opacity:1; transform:translateY(0); transition:opacity .2s ease, transform .2s ease, visibility 0s; pointer-events:auto; }
    .submenu a{ display:block; padding:10px 20px; color:var(--muted); font-size:15px; font-weight:500; white-space:nowrap; transition:color .2s ease, background .2s ease; cursor:pointer; position:relative; z-index:11; }
    .submenu a::after{ display:none; }
    .submenu a:hover, .submenu a:focus-visible{ color:var(--accent); background:var(--accent-soft); }

    .cta{ display:flex; gap:12px; align-items:center; }

    .lang-switch{ display:flex; gap:8px; align-items:center; }
    .lang-button{ padding:8px 12px; border-radius:999px; border:1px solid var(--accent); font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--accent); background:#fff; transition:background .2s ease, color .2s ease, border-color .2s ease; }
    .lang-button:hover, .lang-button:focus-visible{ background:var(--accent-soft); }
    .lang-button.active{ background:var(--accent); color:#fff; }

    .cta .phone{ font-weight:700; color:var(--accent); font-size:18px; white-space:nowrap; }

    .menu-toggle{ display:none; background:none; border:none; cursor:pointer; padding:8px; flex-direction:column; gap:5px; }

    .menu-toggle span{ display:block; width:24px; height:3px; background:var(--accent); transition:all 0.3s ease; }

    .menu-toggle.active span:nth-child(1){ transform:rotate(45deg) translate(8px, 8px); }

    .menu-toggle.active span:nth-child(2){ opacity:0; }

    .menu-toggle.active span:nth-child(3){ transform:rotate(-45deg) translate(7px, -7px); }

    .mobile-nav{ display:none; position:fixed; top:70px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); z-index:7; padding:20px; box-shadow:0 4px 12px rgba(0,0,0,0.1); max-height:calc(100vh - 70px); overflow-y:auto; }

    .mobile-nav.active{ display:block; }

    .mobile-nav-item{ border-bottom:1px solid var(--line); position:relative; }

    .mobile-nav-item:last-child{ border-bottom:none; }

    .mobile-nav-link{ display:block; padding:12px 0; color:var(--muted); font-weight:600; font-size:18px; }

    .mobile-nav-item-wrapper{ display:flex; align-items:center; justify-content:space-between; }

    .mobile-nav-item-wrapper .mobile-nav-link{ flex:1; }

    .mobile-submenu-toggle{ background:none; border:none; color:var(--accent); font-size:24px; font-weight:300; cursor:pointer; padding:8px 12px; transition:transform .25s ease; line-height:1; }

    .mobile-submenu-toggle.active{ transform:rotate(45deg); }

    .mobile-submenu{ display:none; padding-left:16px; padding-top:8px; padding-bottom:8px; }

    .mobile-submenu.active{ display:block !important; }

    .mobile-submenu a{ display:block; padding:10px 0; color:var(--muted); font-weight:500; font-size:16px; border-bottom:none; }

    .mobile-submenu a:hover, .mobile-submenu a:focus-visible{ color:var(--accent); }

    .button{ padding:12px 20px; border-radius:10px; border:1px solid var(--accent); font-size:14px; font-weight:600; background:var(--accent); color:#fff; transition: filter .25s ease; }

    .button:hover, .button:focus-visible{ filter:brightness(1.05); }



    .hero{ position:relative; padding-bottom:0; margin-bottom:0; }

    .hero::before{

      content:"";

      position:absolute;

      inset:0;

      background: linear-gradient(120deg, rgba(20,36,70,.85), rgba(31,63,119,.92)), url("../../images/office-01.jpg") center/cover no-repeat;

      z-index:-1;

      filter: saturate(1.05);

    }

    .hero-inner{ padding:9px 0 50px; margin-top:-50px; color:#fff; display:grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap:32px; align-items:center; }

    .hero-copy{ grid-column: span 7; display:grid; gap:20px; }

    .hero-copy h1{ margin:0; font-size: clamp(34px, 4.6vw, 64px); line-height:1.05; text-transform:uppercase; letter-spacing:.04em; }

    .hero-copy p{ margin:0; font-size: clamp(18px, 2vw, 22px); color:rgba(255,255,255,.82); line-height:1.5; }



    /* New line with tags */

    .hero-meta{

      display:flex;

      flex-wrap:wrap;

      gap:10px;

      font-size:13px;

      letter-spacing:.08em;

      text-transform:uppercase;

      color:rgba(255,255,255,.85);

    }

    .hero-meta span{

      padding:6px 12px;

      border-radius:999px;

      border:1px solid rgba(255,255,255,.3);

      background:rgba(7,16,38,.35);

      white-space:nowrap;

    }



    .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:4px; }

    .hero-actions .button{ background:#fff; color:var(--accent); }

    .hero-actions .button.secondary{ background: transparent; border-color:rgba(255,255,255,.6); color:#fff; }

    .hero-visual{ grid-column: span 5; background: rgba(255,255,255,.08); border-radius: var(--radius); padding:24px; backdrop-filter: blur(8px); box-shadow:0 28px 60px rgba(7,16,38,.45); display:grid; gap:18px; }

    .hero-visual figure{ margin:0; border-radius:14px; overflow:hidden; border:1px solid rgba(255,255,255,.2); box-shadow:0 16px 36px rgba(7,16,38,.35); position:relative; }

    .hero-visual img{ width:100%; height:auto; display:block; opacity:1; transition:opacity 0.5s ease; cursor:pointer; }

    .hero-visual img.fade-out{ opacity:0; }

    .hero-caption{ font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.7); }

    .video-modal{ display:none; position:fixed; inset:0; background:rgba(0,0,0,0.9); z-index:10000; align-items:center; justify-content:center; }

    .video-modal.active{ display:flex; }

    .video-modal-content{ position:relative; max-width:90vw; max-height:90vh; }

    .video-modal video{ width:100%; height:auto; max-height:90vh; border-radius:12px; }

    .video-modal-close{ position:absolute; top:-40px; right:0; color:#fff; font-size:32px; cursor:pointer; background:none; border:none; padding:0; width:40px; height:40px; line-height:40px; }

    .video-modal-close:hover{ opacity:0.7; }



    section{ padding:80px 0; }

    .section-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:32px; margin-bottom:44px; }

    .section-head h2{ margin:0; font-size: clamp(26px, 3.4vw, 42px); color:var(--ink); text-transform:uppercase; letter-spacing:.08em; }

    .section-head p{ margin:0; max-width:440px; color:var(--muted); line-height:1.7; }



    .services{ background:#fff; }

    .service-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:24px; }

    .service-card{ background:var(--panel); border-radius: var(--radius); padding:26px; border:1px solid var(--line); box-shadow:var(--shadow); display:grid; gap:18px; }

    .service-card img{ width:100%; height:170px; object-fit:cover; border-radius:12px; }

    .service-card h3{ margin:0; font-size:20px; color:var(--ink); }

    .service-card p{ margin:0; color:var(--muted); line-height:1.6; }

    .service-card footer{ font-size:13px; letter-spacing:.18em; color:var(--accent); text-transform:uppercase; }



    .about{ background: linear-gradient(180deg,#eef1f9,#ffffff); }

    .about-grid{ display:grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap:32px; align-items:center; }

    .about-copy{ grid-column: span 6; display:grid; gap:20px; }

    .about-copy h3{ margin:0; font-size:28px; color:var(--ink); }

    .about-copy p{ margin:0; color:var(--muted); line-height:1.7; }

    .about-gallery{ grid-column: span 6; display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:18px; }

    .gallery-card{ border-radius:16px; overflow:hidden; border:1px solid var(--line); box-shadow:0 18px 34px rgba(20,29,58,.15); position:relative; }

    .gallery-card img{ width:100%; height:100%; object-fit:cover; display:block; }

    .gallery-card span{ position:absolute; left:16px; bottom:16px; background:rgba(31,63,119,.88); color:#fff; padding:10px 14px; border-radius:999px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; }



    .cases{ background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

    .case-grid{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:24px; }

    .case-card{ padding:26px; border-radius: var(--radius); background:var(--panel); border:1px solid var(--line); box-shadow:var(--shadow); display:grid; gap:16px; position:relative; overflow:hidden; }

    .case-card::before{

      content:"";

      position:absolute;

      inset:0;

      background: url("../../images/office-01.jpg") center/cover no-repeat;

      opacity:0.05;

      z-index:0;

    }

    .case-card h3{ margin:0; font-size:18px; color:var(--ink); position:relative; z-index:1; }

    .case-card p{ margin:0; color:var(--muted); line-height:1.6; position:relative; z-index:1; }

    .case-meta{ display:flex; justify-content:space-between; color:var(--accent); font-size:12px; letter-spacing:.2em; text-transform:uppercase; position:relative; z-index:1; }



    .contact{ background:#f0f2f8; }

    .contact-card{ background:#fff; border-radius:24px; padding:36px; border:1px solid var(--line); box-shadow:var(--shadow); display:grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap:32px; }

    .contact-info{ grid-column: span 5; display:grid; gap:18px; }

    .contact-info h3{ margin:0; font-size:26px; color:var(--ink); }

    .contact-info p{ margin:0; color:var(--muted); line-height:1.7; }

    .contact-info ul{ margin:0; padding:0; list-style:none; display:grid; gap:12px; font-size:15px; color:var(--ink); }

    .contact-info li span{ display:block; color:var(--accent); font-size:12px; letter-spacing:.24em; text-transform:uppercase; margin-bottom:6px; }

    form{ grid-column: span 7; display:grid; gap:16px; }

    label{ font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }

    input, textarea{ width:100%; padding:14px 16px; border-radius:12px; border:1px solid var(--line); background:#f9faff; color:var(--ink); font-size:16px; transition:border .2s ease, box-shadow .2s ease; }

    input:focus, textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 4px rgba(31,63,119,.16); }

    textarea{ min-height:140px; resize:vertical; }

    .consent{ display:flex; gap:10px; align-items:flex-start; font-size:12px; color:var(--muted); }

    .consent input{ width:16px; height:16px; margin-top:4px; }

    .submit{ justify-self:start; padding:12px 24px; border-radius:12px; background:var(--accent); color:#fff; border:1px solid var(--accent); font-weight:600; }

    .submit:hover, .submit:focus-visible{ filter:brightness(1.05); }



    footer{ background:#101428; color:rgba(235,237,252,.7); padding:28px 0; text-transform:uppercase; font-size:12px; letter-spacing:.18em; }

    .footer-inner{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }



    @media (max-width: 1024px){

      .hero-inner{ grid-template-columns: repeat(6, minmax(0,1fr)); }

      .hero-copy, .hero-visual{ grid-column: span 6; }

      .service-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }

      .about-grid{ grid-template-columns: repeat(6, minmax(0,1fr)); }

      .about-copy, .about-gallery{ grid-column: span 6; }

      .case-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }

      .contact-card{ grid-template-columns: repeat(6, minmax(0,1fr)); }

      .contact-info, form{ grid-column: span 6; }

    }

    @media (max-width: 680px){

      nav{ display:none; }

      .menu-toggle{ display:flex; }

      .cta .phone{ font-size:16px; }

      .hero-inner{ padding:8px 0 50px; }

      .service-grid, .case-grid{ grid-template-columns: 1fr; }

      .about-gallery{ grid-template-columns: 1fr; }

      .contact-card{ grid-template-columns: 1fr; }

      .brand img{ width:220px; }

      .hero-meta span{ white-space:normal; }

      .lang-button{ padding:6px 10px; font-size:11px; }

    }
