:root{
    --bg:#F6F4EF;--bg-alt:#EFEAE0;--ink:#1D2321;--ink-soft:#4A544F;
    --steel:#26363E;--steel-2:#334752;--steel-light:#5C7684;
    --rust:#BF4E1C;--rust-dark:#95390E;--gold:#B9822E;--line:#DCD4C3;--white:#FFFFFF;
    --radius:14px;--shadow:0 10px 30px rgba(29,35,33,0.08);
    --font-display:'Oswald','Arial Narrow',sans-serif;
    --font-body:'Source Sans 3','Segoe UI',Arial,sans-serif;
    --font-mono:'IBM Plex Mono',monospace;
  }
  .site-header *, .site-footer *{box-sizing:border-box;}
  .site-header, .site-footer{font-family:var(--font-body);-webkit-font-smoothing:antialiased;}
  .site-header a, .site-footer a{text-decoration:none;color:inherit;}

  /* ============ HEADER ============ */
  .site-header{position:sticky;top:0;z-index:200;background:var(--white);border-bottom:1px solid var(--line);}
  .site-header .top-bar{background:var(--steel);color:#D9E1E4;font-family:var(--font-mono);font-size:11px;padding:5px 0;}
  .site-header .top-bar .wrap{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
  .site-header .top-bar .tb-left{display:flex;gap:18px;flex-wrap:wrap;}
  .site-header .top-bar a{color:#D9E1E4;}
  .site-header .top-bar a:hover{color:var(--white);text-decoration:underline;}
  .site-header .top-bar .tb-phone{color:var(--white);font-weight:600;}

  .site-header .main-bar{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;height:60px;}

  .site-header .logo{display:flex;align-items:center;gap:9px;flex:none;}
  .site-header .logo .mark{width:33px;height:33px;border-radius:9px;background:linear-gradient(135deg,var(--rust) 0%,var(--rust-dark) 100%);display:flex;align-items:center;justify-content:center;flex:none;}
  .site-header .logo .mark svg{color:var(--white);width:17px;height:17px;}
  .site-header .logo .name{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--steel);line-height:1.15;}
  .site-header .logo .name span{display:block;font-family:var(--font-mono);font-weight:400;font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--rust);margin-top:1px;}

  .site-header nav.primary-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center;}
  .site-header .nav-item{position:relative;}
  .site-header .nav-link{display:flex;align-items:center;gap:5px;font-family:var(--font-display);font-weight:500;font-size:14px;color:var(--steel);padding:9px 12px;border-radius:8px;transition:background .15s ease, color .15s ease;cursor:pointer;background:none;border:none;-webkit-appearance:none;appearance:none;}
  .site-header .nav-link:hover, .site-header .nav-item.is-open .nav-link{background:var(--bg-alt);color:var(--rust-dark);}
  .site-header .nav-link svg{transition:transform .18s ease;flex:none;}
  .site-header .nav-item.is-open .nav-link svg, .site-header .nav-item:hover .nav-link svg{transform:rotate(180deg);}

  .site-header .header-cta{display:flex;align-items:center;gap:12px;flex:none;}
  .site-header .btn-call{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--white);background:var(--rust);padding:9px 17px;border-radius:8px;box-shadow:0 6px 16px rgba(191,78,28,0.32);transition:transform .18s ease, background .18s ease;}
  .site-header .btn-call:hover{background:var(--rust-dark);transform:translateY(-2px);text-decoration:none;}
  .site-header .btn-call svg{flex:none;}

  /* ---------- mega dropdown (opens on hover) ---------- */
  .site-header .mega{
    position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);
    padding-top:12px;
    width:640px;max-width:90vw;
    opacity:0;visibility:hidden;
    transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
    z-index:210;
  }
  .site-header .mega .mega-inner{
    background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 50px rgba(29,35,33,0.16);
    padding:20px;
  }
  .site-header .nav-item.is-open .mega, .site-header .nav-item:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
  .site-header .mega .mega-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;}
  .site-header .mega .mega-title{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--steel-light);}
  .site-header .mega .mega-viewall{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--rust-dark);}
  .site-header .mega .mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;}
  .site-header .mega .mega-box{
    display:flex;align-items:center;gap:8px;background:var(--bg-alt);border:1px solid var(--line);border-radius:11px;
    padding:10px 12px;font-family:var(--font-display);font-weight:500;font-size:13px;color:var(--steel);
    transition:background .15s ease, border-color .15s ease, transform .15s ease;
  }
  .site-header .mega .mega-box:hover{background:var(--white);border-color:var(--rust);transform:translateY(-2px);text-decoration:none;}
  .site-header .mega .mega-box .dot{width:6px;height:6px;border-radius:50%;background:var(--rust);flex:none;}

  /* ---------- mobile menu ---------- */
  .site-header .burger{display:none;flex:none;width:38px;height:38px;border-radius:8px;border:1.5px solid var(--line);align-items:center;justify-content:center;background:var(--white);cursor:pointer;}
  .site-header .burger svg{color:var(--steel);}

  .site-header .mobile-panel{
    display:none;position:fixed;inset:0;top:0;background:var(--white);z-index:300;
    overflow-y:auto;padding:0 0 40px;
  }
  .site-header .mobile-panel.is-open{display:block;}
  .site-header .mobile-panel .mp-top{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);}
  .site-header .mobile-panel .mp-close{width:38px;height:38px;border-radius:8px;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;background:var(--white);cursor:pointer;}
  .site-header .mobile-panel .mp-body{padding:8px 20px;}
  .site-header .mobile-panel .mp-link{display:block;font-family:var(--font-display);font-weight:500;font-size:16.5px;color:var(--steel);padding:15px 4px;border-bottom:1px solid var(--line);}
  .site-header .mobile-panel .mp-accordion summary{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-weight:500;font-size:16.5px;color:var(--steel);padding:15px 4px;border-bottom:1px solid var(--line);cursor:pointer;list-style:none;}
  .site-header .mobile-panel .mp-accordion summary::-webkit-details-marker{display:none;}
  .site-header .mobile-panel .mp-accordion[open] summary svg{transform:rotate(180deg);}
  .site-header .mobile-panel .mp-accordion summary svg{transition:transform .18s ease;flex:none;}
  .site-header .mobile-panel .mp-sublist{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 4px 18px;}
  .site-header .mobile-panel .mp-subitem{background:var(--bg-alt);border:1px solid var(--line);border-radius:10px;padding:9px 11px;font-family:var(--font-display);font-weight:500;font-size:13.5px;color:var(--steel);}
  .site-header .mobile-panel .mp-cta{margin:22px 4px 0;}

  @media (max-width:980px){
    .site-header nav.primary-nav, .site-header .header-cta .btn-call-text{display:none;}
    .site-header .burger{display:flex;}
    .site-header .main-bar{height:54px;}
  }
  @media (max-width:620px){
    .site-header .top-bar .tb-left span:not(:first-child){display:none;}
  }

  /* ============ FOOTER ============ */
  .site-footer{background:var(--steel);color:#C7D2D5;}
  .site-footer .foot-top{padding:56px 0 40px;}
  .site-footer .wrap{max-width:1280px;margin:0 auto;padding:0 24px;}
  .site-footer .foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;}
  .site-footer .foot-brand .logo{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
  .site-footer .foot-brand .mark{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--rust) 0%,var(--rust-dark) 100%);display:flex;align-items:center;justify-content:center;flex:none;}
  .site-footer .foot-brand .mark svg{color:var(--white);}
  .site-footer .foot-brand .name{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--white);}
  .site-footer .foot-brand p{font-size:14px;color:#9DAEB3;max-width:34ch;margin:0 0 18px;line-height:1.6;}
  .site-footer .foot-brand .btn-call{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--white);background:var(--rust);padding:12px 22px;border-radius:8px;transition:background .18s ease, transform .18s ease;}
  .site-footer .foot-brand .btn-call:hover{background:var(--rust-dark);transform:translateY(-2px);}
  .site-footer .foot-brand .socials{display:flex;gap:10px;margin-top:20px;}
  .site-footer .foot-brand .socials a{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:#C7D2D5;transition:background .15s ease, color .15s ease;}
  .site-footer .foot-brand .socials a:hover{background:var(--rust);color:var(--white);border-color:var(--rust);}

  .site-footer .foot-col h4{font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:0.04em;text-transform:uppercase;color:var(--white);margin:0 0 16px;}
  .site-footer .foot-col ul{list-style:none;margin:0;padding:0;}
  .site-footer .foot-col li{margin-bottom:10px;}
  .site-footer .foot-col a{font-size:14px;color:#AEC0C8;transition:color .15s ease;}
  .site-footer .foot-col a:hover{color:var(--white);text-decoration:underline;}
  .site-footer .foot-col .view-all{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--gold);margin-top:4px;}

  .site-footer .foot-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:22px 0;}
  .site-footer .foot-bottom .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
  .site-footer .foot-bottom p{margin:0;font-size:13px;color:#8CA3AC;}
  .site-footer .foot-bottom .legal-links{display:flex;gap:18px;font-size:13px;}
  .site-footer .foot-bottom .legal-links a{color:#8CA3AC;}
  .site-footer .foot-bottom .legal-links a:hover{color:var(--white);text-decoration:underline;}

  @media (max-width:980px){
    .site-footer .foot-grid{grid-template-columns:1fr 1fr;row-gap:34px;}
  }
  @media (max-width:620px){
    .site-footer .foot-grid{grid-template-columns:1fr;}
    .site-footer .foot-top{padding:44px 0 30px;}
    .site-footer .foot-bottom .wrap{flex-direction:column;align-items:flex-start;}
  }

  /* ---------- skip link ---------- */
  .skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--rust);color:var(--white);padding:12px 20px;border-radius:0 0 8px 0;font-family:var(--font-display);font-weight:600;font-size:14px;}
  .skip-link:focus{left:0;}

  /* ---------- focus-visible states ---------- */
  .site-header .nav-link:focus-visible{outline:2px solid var(--rust);outline-offset:2px;}
  .site-header .mega-box:focus-visible{outline:2px solid var(--rust);outline-offset:2px;background:var(--white);}
  .site-header .btn-call:focus-visible{outline:2px solid var(--steel);outline-offset:2px;}
  .site-header .burger:focus-visible, .site-header .mp-close:focus-visible{outline:2px solid var(--rust);outline-offset:2px;}
  .site-header .mp-link:focus-visible, .site-header .mp-subitem:focus-visible{outline:2px solid var(--rust);outline-offset:-2px;}

  /* ---------- visible breadcrumb bar ---------- */
  .site-breadcrumb{background:var(--bg-alt);border-bottom:1px solid var(--line);}
  .site-breadcrumb .wrap{max-width:1280px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .site-breadcrumb a, .site-breadcrumb span{font-family:var(--font-mono);font-size:12.5px;color:var(--steel-light);}
  .site-breadcrumb a{text-decoration:none;}
  .site-breadcrumb a:hover{color:var(--rust-dark);text-decoration:underline;}
  .site-breadcrumb .crumb-current{color:var(--steel);font-weight:600;}
  .site-breadcrumb .sep{color:var(--line);}
