*, *::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; }
    .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:60px 0 80px; color:#fff; text-align:center; }
    .hero-inner h1{ margin:0 0 20px 0; font-size: clamp(34px, 4.6vw, 64px); line-height:1.05; text-transform:uppercase; letter-spacing:.04em; }
    .hero-inner p{ margin:0 auto; max-width:700px; font-size: clamp(18px, 2vw, 22px); color:rgba(255,255,255,.85); line-height:1.5; }

    section{ padding:80px 0; }
    section:not(.hero){ background:#fff; }

    .section-head{ text-align:center; margin-bottom:50px; }
    .section-head h2{ margin:0 0 16px 0; font-size: clamp(26px, 3.4vw, 42px); color:var(--ink); text-transform:uppercase; letter-spacing:.08em; }
    .section-head p{ margin:0 auto; max-width:600px; color:var(--muted); line-height:1.7; }

    /* Quick Contact Bar */
    .quick-contact{ background:var(--accent); padding:24px 0; }
    .quick-contact-inner{ display:flex; justify-content:center; gap:48px; flex-wrap:wrap; }
    .quick-item{ display:flex; align-items:center; gap:12px; color:#fff; }
    .quick-item-icon{ width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:20px; }
    .quick-item-text{ display:flex; flex-direction:column; gap:2px; }
    .quick-item-label{ font-size:11px; letter-spacing:.15em; text-transform:uppercase; opacity:.7; }
    .quick-item-value{ font-size:16px; font-weight:600; }
    .quick-item-value a{ color:#fff; transition:opacity .2s ease; }
    .quick-item-value a:hover{ opacity:.8; }

    /* Offices Grid */
    .offices-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:32px; margin-bottom:60px; }
    .office-card{ background:var(--panel); border-radius:var(--radius); padding:36px; border:1px solid var(--line); box-shadow:var(--shadow); transition:transform .25s ease, box-shadow .25s ease; }
    .office-card:hover{ transform:translateY(-4px); box-shadow:0 24px 50px rgba(20, 29, 58, .16); }
    .office-badge{ display:inline-block; padding:6px 14px; border-radius:8px; background:var(--accent-soft); color:var(--accent); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.1em; margin-bottom:20px; }
    .office-card h3{ margin:0 0 20px 0; font-size:28px; color:var(--ink); }
    .office-details{ display:grid; gap:16px; }
    .office-detail{ display:flex; gap:14px; }
    .office-detail-icon{ width:40px; height:40px; border-radius:10px; background:var(--accent-soft); display:flex; align-items:center; justify-content:center; color:var(--accent); font-size:18px; flex-shrink:0; }
    .office-detail-content{ display:flex; flex-direction:column; gap:4px; }
    .office-detail-label{ font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); }
    .office-detail-value{ font-size:15px; color:var(--ink); line-height:1.5; }
    .office-detail-value a{ color:var(--accent); font-weight:500; transition:color .2s ease; }
    .office-detail-value a:hover{ color:var(--ink); }

    /* Contact Form Section */
    .contact-section{ background:#f5f6fa; }
    .contact-wrapper{ display:grid; grid-template-columns: 1fr 1fr; gap:48px; align-items:start; }
    .contact-info-block{ display:grid; gap:32px; }
    .contact-info-block h3{ margin:0; font-size:32px; color:var(--ink); line-height:1.3; }
    .contact-info-block > p{ margin:0; color:var(--muted); line-height:1.7; font-size:17px; }
    .contact-features{ display:grid; gap:20px; }
    .contact-feature{ display:flex; gap:16px; align-items:flex-start; }
    .contact-feature-icon{ width:48px; height:48px; border-radius:12px; background:var(--accent); display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; flex-shrink:0; }
    .contact-feature-text h4{ margin:0 0 6px 0; font-size:17px; color:var(--ink); }
    .contact-feature-text p{ margin:0; font-size:14px; color:var(--muted); line-height:1.5; }

    .contact-form-card{ background:var(--panel); border-radius:var(--radius); padding:40px; border:1px solid var(--line); box-shadow:var(--shadow); }
    .contact-form-card h3{ margin:0 0 24px 0; font-size:24px; color:var(--ink); }
    .form-row{ display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
    .form-group{ margin-bottom:20px; }
    .form-group.full{ grid-column: span 2; }
    .form-group label{ display:block; margin-bottom:8px; font-size:13px; font-weight:600; color:var(--ink); text-transform:uppercase; letter-spacing:.08em; }
    .form-group input, .form-group textarea, .form-group select{ width:100%; padding:14px 18px; border:1px solid var(--line); border-radius:10px; font-size:15px; font-family:inherit; transition:border-color .2s ease, box-shadow .2s ease; background:#fff; }
    .form-group input:focus, .form-group textarea:focus, .form-group select:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
    .form-group textarea{ min-height:120px; resize:vertical; }
    .form-group input::placeholder, .form-group textarea::placeholder{ color:#a0a5b8; }

    .consent-group{ display:flex; gap:12px; align-items:flex-start; margin-bottom:24px; }
    .consent-group input[type="checkbox"]{ width:20px; height:20px; margin-top:2px; accent-color:var(--accent); flex-shrink:0; }
    .consent-group span{ font-size:13px; color:var(--muted); line-height:1.5; }

    .submit-btn{ width:100%; padding:16px 32px; border-radius:10px; border:none; background:var(--accent); color:#fff; font-size:16px; font-weight:600; cursor:pointer; transition:filter .25s ease, transform .2s ease; text-transform:uppercase; letter-spacing:.08em; }
    .submit-btn:hover{ filter:brightness(1.05); transform:translateY(-2px); }

    /* Holiday Schedule */
    .hours-section{ background:#fff; }
    .hours-card{ background:var(--accent-soft); border-radius:var(--radius); padding:40px; }
    .hours-title{ margin-bottom:32px; }
    .hours-title h3{ margin:0 0 12px 0; font-size:28px; color:var(--ink); }
    .hours-title p{ margin:0; color:var(--muted); line-height:1.6; }
    .holiday-table{ width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,.06); }
    .holiday-table th, .holiday-table td{ padding:16px 20px; text-align:left; border-bottom:1px solid var(--line); }
    .holiday-table th{ background:var(--accent); color:#fff; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
    .holiday-table td{ font-size:15px; color:var(--ink); }
    .holiday-table tr:last-child td{ border-bottom:none; }
    .holiday-table tr:hover td{ background:var(--accent-soft); }
    .holiday-table .holiday-name{ font-weight:600; color:var(--ink); }
    .holiday-table .holiday-dates{ color:var(--accent); font-weight:500; }
    .holiday-table .holiday-duration{ text-align:center; }
    .holiday-table .holiday-note{ color:var(--muted); font-size:14px; }
    .holiday-footer{ margin-top:24px; padding:20px; background:#fff; border-radius:12px; color:var(--muted); font-size:15px; line-height:1.7; }

    /* Map Section */
    .map-section{ padding:0; }
    .map-container{ height:450px; background:var(--line); position:relative; }
    .map-container iframe{ width:100%; height:100%; border:0; }

    /* FAQ Section */
    .faq-section{ background:#fff; }
    .faq-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:24px; }
    .faq-item{ background:var(--panel); border-radius:var(--radius); padding:28px; border:1px solid var(--line); transition:box-shadow .25s ease; }
    .faq-item:hover{ box-shadow:var(--shadow); }
    .faq-item h4{ margin:0 0 12px 0; font-size:17px; color:var(--ink); display:flex; align-items:flex-start; gap:12px; }
    .faq-item h4::before{ content:"Q"; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:8px; background:var(--accent); color:#fff; font-size:14px; font-weight:600; flex-shrink:0; }
    .faq-item p{ margin:0; color:var(--muted); line-height:1.6; font-size:15px; padding-left:40px; }

    /* Trust Section */
    .trust-section{ background:var(--accent); padding:60px 0; }
    .trust-inner{ text-align:center; color:#fff; }
    .trust-inner h3{ margin:0 0 16px 0; font-size:28px; }
    .trust-inner > p{ margin:0 0 40px 0; opacity:.85; font-size:17px; }
    .trust-stats{ display:grid; grid-template-columns: repeat(4, 1fr); gap:32px; }
    .trust-stat{ display:flex; flex-direction:column; gap:8px; }
    .trust-stat-number{ font-size:48px; font-weight:700; line-height:1; }
    .trust-stat-label{ font-size:14px; opacity:.8; text-transform:uppercase; letter-spacing:.1em; }

    /* CTA Section */
    .cta-section{ background:linear-gradient(135deg, #1a3562 0%, #1f3f77 50%, #2d5aa8 100%); padding:80px 0; text-align:center; }
    .cta-inner{ max-width:700px; margin:0 auto; color:#fff; }
    .cta-inner h3{ margin:0 0 20px 0; font-size:36px; line-height:1.2; }
    .cta-inner p{ margin:0 0 32px 0; font-size:18px; opacity:.9; line-height:1.6; }
    .cta-buttons{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
    .cta-btn{ padding:16px 32px; border-radius:10px; font-size:16px; font-weight:600; cursor:pointer; transition:all .25s ease; text-transform:uppercase; letter-spacing:.06em; }
    .cta-btn-primary{ background:#fff; color:var(--accent); border:2px solid #fff; }
    .cta-btn-primary:hover{ background:transparent; color:#fff; }
    .cta-btn-secondary{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.5); }
    .cta-btn-secondary:hover{ border-color:#fff; background:rgba(255,255,255,.1); }

    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){
      .offices-grid{ grid-template-columns: 1fr; }
      .contact-wrapper{ grid-template-columns: 1fr; }
      .faq-grid{ grid-template-columns: 1fr; }
      .trust-stats{ grid-template-columns: repeat(2, 1fr); }
      .holiday-table{ font-size:14px; }
      .holiday-table th, .holiday-table td{ padding:12px 14px; }
    }
    @media (max-width: 680px){
      nav{ display:none; }
      .menu-toggle{ display:flex; }
      .brand img{ width:220px; }
      .quick-contact-inner{ gap:24px; }
      .form-row{ grid-template-columns: 1fr; }
      .form-group.full{ grid-column: span 1; }
      .contact-form-card{ padding:24px; }
      .trust-stats{ grid-template-columns: 1fr; gap:24px; }
      .trust-stat-number{ font-size:36px; }
      .cta-inner h3{ font-size:28px; }
      .cta-buttons{ flex-direction:column; }
      .cta-btn{ width:100%; text-align:center; }
      .hours-card{ padding:20px; }
      .holiday-table{ font-size:12px; display:block; overflow-x:auto; }
      .holiday-table th, .holiday-table td{ padding:10px 8px; white-space:nowrap; }
      .holiday-table .holiday-note{ display:none; }
      .holiday-footer{ font-size:13px; padding:16px; }
    }
