@font-face{font-family:"HH Inter";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/inter-400.woff2") format("woff2")}
@font-face{font-family:"HH Inter";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/inter-500.woff2") format("woff2")}
@font-face{font-family:"HH Inter";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/inter-600.woff2") format("woff2")}
@font-face{font-family:"HH Inter";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/inter-700.woff2") format("woff2")}
/* Only this Header. Layout/background/logo remain Elementor-owned. */
.hh-el-header { --hhm-text:#1f1f1f; --hhm-accent:#7c0a0a; --hhm-border:#e8e6e3; --hhm-panel-bg:#fff; z-index:30; font-family:"HH Inter",Inter,Arial,sans-serif; }
.hh-el-header, .hh-el-header .hh-el-row, .hh-el-header .hh-el-nav-slot { overflow:visible!important; }
.hh-el-header .hh-el-nav-slot { align-self:stretch; }
.hh-el-header .hh-el-nav-source,
.hh-el-header .hh-el-nav-source .elementor-widget-container,
.hh-el-header .hh-el-nav-source .elementor-shortcode { display:flex; align-items:stretch; }
.hh-el-header .hhm-nav { display:flex; color:var(--hhm-text); font-family:inherit; width:max-content; max-width:100%; }
.hh-el-header .hhm-menu, .hh-el-header .hhm-nav .sub-menu { list-style:none; padding:0; margin:0; }
.hh-el-header .hhm-menu { display:flex; align-items:stretch; flex-wrap:nowrap; gap:var(--hhm-gap,26px); }
.hh-el-header .hhm-menu > li { display:flex; align-items:center; position:relative; flex:0 0 auto; min-height:44px; }
.hh-el-header .hhm-nav a { display:flex; align-items:center; min-height:44px; color:inherit; font-family:inherit; font-size:14px; font-weight:500; line-height:20px; text-decoration:none; white-space:nowrap; }
.hh-el-header .hhm-menu > li > a { position:relative; font-family:var(--hhm-family,inherit); font-size:var(--hhm-size,14px); font-weight:var(--hhm-weight,500); line-height:var(--hhm-line-height,20px); color:var(--hhm-primary-text,var(--hhm-text)); }
.hh-el-header .hhm-menu > li > a::after { content:''; position:absolute; inset-inline:0; bottom:3px; height:2px; background:transparent; }
.hh-el-header .hhm-nav a:hover, .hh-el-header .hhm-nav a:focus-visible,
.hh-el-header .hhm-nav .current-menu-item > a, .hh-el-header .hhm-nav .current-menu-ancestor > a { color:var(--hhm-accent); }
.hh-el-header .hhm-menu > .current-menu-item > a::after,
.hh-el-header .hhm-menu > .current-menu-ancestor > a::after { background:var(--hhm-accent); }
.hh-el-header .hhm-nav a:focus-visible, .hh-el-header .hhm-nav button:focus-visible,
.hh-el-header .hhm-menu-button:focus-visible { outline:2px solid var(--hhm-accent); outline-offset:3px; }
.hh-el-header .hhm-nav .hhm-sub-toggle, .hh-el-header .hh-el-menu-toggle .hhm-menu-button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; padding:0; margin:0; border:0; border-radius:0; box-shadow:none; color:inherit; background:transparent; cursor:pointer; font-family:inherit; text-transform:none; letter-spacing:normal; }
.hh-el-header .hhm-sub-toggle { width:26px; height:44px; }
.hh-el-header .hhm-sub-toggle svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.hh-el-header .hhm-sub-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.hh-el-header .hhm-nav .hhm-sub-toggle:hover, .hh-el-header .hhm-nav .hhm-sub-toggle[aria-expanded=true],
.hh-el-header .hh-el-menu-toggle .hhm-menu-button:hover, .hh-el-header .hh-el-menu-toggle .hhm-menu-button[aria-expanded=true] { color:var(--hhm-accent); background:#f8f5f3; }
.hh-el-header .hhm-nav .sub-menu { display:none; position:absolute; top:100%; left:-20px; z-index:2; width:244px; max-width:calc(100vw - 40px); padding:12px; background:var(--hhm-panel-bg); border:1px solid var(--hhm-border); border-top:2px solid var(--hhm-accent); transform:translateX(var(--hhm-shift,0px)); }
.hh-el-header .hhm-nav .sub-menu li { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; }
.hh-el-header .hhm-nav .sub-menu a { padding:10px 12px; font-weight:400; white-space:normal; overflow-wrap:anywhere; }
.hh-el-header .hhm-nav .sub-menu a:hover, .hh-el-header .hhm-nav .sub-menu a:focus-visible,
.hh-el-header .hhm-nav .sub-menu .current-menu-item > a { color:var(--hhm-accent); background:#f8f5f3; }
.hh-el-header .hhm-nav .sub-menu .sub-menu { top:0; left:100%; }
.hh-el-header .hhm-nav li:hover > .sub-menu, .hh-el-header .hhm-nav li:focus-within > .sub-menu,
.hh-el-header .hhm-nav .sub-menu:not([hidden])[data-hhm-open] { display:block; }
.hh-el-header .hhm-nav [hidden] { display:none!important; }
/* This control remains the existing Icon widget. Its real button owns the 44px hit area. */
.hh-el-header .hh-el-menu-toggle, .hh-el-header .hh-el-menu-toggle > .elementor-widget-container { padding:0!important; }
.hh-el-header .hh-el-menu-toggle .elementor-icon-wrapper { line-height:0; }
.hh-el-header .hhm-menu-button { width:44px; height:44px; visibility:hidden; }
.hh-el-header[data-hhm-ready] .hhm-menu-button { visibility:visible; }
.hh-el-header .hhm-menu-glyph { display:inline-flex; align-items:center; }
.hh-el-header .hhm-menu-glyph svg { width:1em; height:1em; }
.hh-el-header .hhm-close-glyph { display:none; width:22px; height:22px; fill:none!important; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; }
.hh-el-header .hhm-menu-button[aria-expanded=true] .hhm-menu-glyph { display:none; }
.hh-el-header .hhm-menu-button[aria-expanded=true] .hhm-close-glyph { display:block; }
@media(min-width:1120px) {
  .hh-el-header .hh-el-menu-toggle { display:none!important; }
  .hh-el-header .hh-el-nav-slot.e-con { display:flex!important; }
}


/* Support both the original nested row and the saved split-row template.
   Business classes, not template IDs. Desktop normalization only matches the split form. */
/* Desktop-only spacing: wide but centered, with the compact original-site rhythm.
   Tablet/mobile retain their existing 80px/72px rules and paddings. */
@media(min-width:1120px) {
 .hh-el-header.elementor-element:has(> .hh-el-actions).e-con {
  --flex-direction:row; --flex-wrap:nowrap; --align-items:center; --min-height:70px;
  --column-gap:24px; --row-gap:0px;
  --padding-left:max(24px,calc((100% - 1360px)/2));
  --padding-right:max(24px,calc((100% - 1360px)/2));
 }
}
.hh-el-header:has(> .hh-el-actions) > .hh-el-row.elementor-element.e-con {
 --width:auto; --min-height:0px; --padding-left:0px; --padding-right:0px;
 flex:0 0 auto; min-width:0;
}
.hh-el-header:has(> .hh-el-actions) > .hh-el-row .hh-el-logo.elementor-widget-image { margin:0; }
.hh-el-header:has(> .hh-el-actions) > .hh-el-nav-slot.e-con { margin:0; min-width:0; --width:auto; flex:1 1 0%; --padding-top:0px; --padding-bottom:0px; }
.hh-el-header:has(> .hh-el-actions) > .hh-el-actions.e-con { margin:0; flex:0 0 auto; }




/* Search uses the existing Elementor Icon and reserved panel; only owned hooks. */
.hh-el-header .hh-el-logo img { cursor:default; }
.hh-el-header .hh-el-search-toggle, .hh-el-header .hh-el-search-toggle > .elementor-widget-container { padding:0!important; }
.hh-el-header .hh-el-search-toggle .elementor-icon-wrapper { line-height:0; }
/* Cover the native editor Icon and the PHP button, including Kit focus styles.
   The icon must not disappear just because search-form initialization is delayed. */
.hh-el-header .hh-el-search-toggle.elementor-widget.elementor-widget-icon .elementor-icon-wrapper .elementor-icon,
.hh-el-header .hh-el-search-toggle.elementor-widget.elementor-widget-icon .elementor-icon-wrapper .elementor-icon:hover,
.hh-el-header .hh-el-search-toggle.elementor-widget.elementor-widget-icon .elementor-icon-wrapper .elementor-icon:focus,
.hh-el-header .hh-el-search-toggle.elementor-widget.elementor-widget-icon .elementor-icon-wrapper .elementor-icon:active { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; margin:0; border:0; border-radius:0; color:var(--hhm-text,#1f1f1f); background:transparent; box-shadow:none; cursor:pointer; transition:none; }
.hh-el-header .hhm-search-button svg { width:1em; height:1em; }
.hh-el-header .hh-el-search-panel.e-con { display:none!important; }
.hh-el-header[data-hhs-open] .hh-el-search-panel.e-con { display:flex!important; position:absolute; top:100%; inset-inline:0; width:100%; max-width:none; padding:22px max(24px,calc((100% - 1360px)/2)); background:var(--hhm-panel-bg); border-bottom:1px solid var(--hhm-border); z-index:3; }
.hh-el-header .hh-el-search-source, .hh-el-header .hh-el-search-source .elementor-widget-container,
.hh-el-header .hh-el-search-source .elementor-shortcode { width:100%; min-width:0; }
.hh-el-header .hhm-search-form { display:grid; grid-template-columns:minmax(0,1fr) 44px 44px; gap:8px; width:100%; margin:0; align-items:center; }
.hh-el-header .hhm-search-input { width:100%; min-width:0; height:44px; margin:0; padding:10px 12px; border:1px solid #cfc9c3; border-radius:0; color:var(--hhm-text); background:#fff; font:400 16px/22px "HH Inter",Inter,Arial,sans-serif; box-shadow:none; }
.hh-el-header .hhm-search-form button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; height:44px; padding:0; margin:0; color:var(--hhm-text); background:transparent; border:1px solid var(--hhm-border); border-radius:0; box-shadow:none; cursor:pointer; }
.hh-el-header .hhm-search-form button:hover { color:var(--hhm-accent); background:#f8f5f3; }
.hh-el-header .hhm-search-form button svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.hh-el-header .hhm-search-button:focus-visible, .hh-el-header .hhm-search-form :focus-visible { outline:2px solid var(--hhm-accent); outline-offset:3px; }
.hh-el-header .hhm-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Compact layout, navigation and search share one ordered block per breakpoint. */
@media(max-width:1119px) {
.hh-el-header .hh-el-actions .hh-el-menu-toggle { display:block!important; }
  .hh-el-header .hh-el-actions.elementor-element.e-con { --width:max-content!important; width:max-content!important; }
  .hh-el-header .hh-el-nav-slot.e-con { display:none!important; }
  .hh-el-header[data-hhm-open] .hh-el-nav-slot.e-con { display:block!important; position:fixed!important; inset:auto 0 0; top:var(--hhm-panel-top,80px); width:100%!important; max-width:none; max-height:calc(100vh - var(--hhm-panel-top,80px)); max-height:calc(100dvh - var(--hhm-panel-top,80px)); padding:26px max(24px,calc((100% - 680px)/2)) max(28px,env(safe-area-inset-bottom)); overflow-y:auto!important; overscroll-behavior:contain; background:var(--hhm-panel-bg); border-bottom:1px solid var(--hhm-border); align-self:auto; }
  .hh-el-header[data-hhm-open] .hh-el-nav-slot.e-con > .e-con-inner { display:block; min-height:0; height:auto; width:100%; max-width:none; padding:0; }
  .hh-el-header .hh-el-nav-slot .hh-el-nav-source { display:block; width:100%!important; max-width:100%!important; }
  .hh-el-header .hh-el-nav-source .elementor-widget-container,
  .hh-el-header .hh-el-nav-source .elementor-shortcode { display:block; width:100%; }
  .hh-el-header .hhm-nav { display:block; width:100%; }
  .hh-el-header .hhm-menu { display:block; width:100%; }
  .hh-el-header .hhm-menu > li { display:grid; grid-template-columns:minmax(0,1fr) 44px; border-bottom:1px solid var(--hhm-border); }
  .hh-el-header .hhm-menu > li > a { min-height:56px; font-size:var(--hhm-size-tablet,16px); line-height:var(--hhm-line-height-tablet,20px); white-space:normal; overflow-wrap:anywhere; }
  .hh-el-header .hhm-menu > li > a::after { display:none; }
  .hh-el-header .hhm-menu > .current-menu-item > a::before,
  .hh-el-header .hhm-menu > .current-menu-ancestor > a::before { content:''; width:4px; height:4px; flex:0 0 auto; background:var(--hhm-accent); margin-right:10px; }
  .hh-el-header .hhm-sub-toggle { width:44px; height:44px; align-self:center; }
  .hh-el-header .hhm-sub-toggle svg { width:18px; height:18px; }
  .hh-el-header .hhm-nav .sub-menu, .hh-el-header .hhm-nav .sub-menu .sub-menu { display:block; position:static; width:auto; max-width:none; grid-column:1/-1; padding:0 0 0 14px; margin:0 0 14px; border:0; border-left:1px solid #ddd5cc; background:transparent; transform:none; }
  .hh-el-header .hhm-nav .sub-menu a { padding-left:14px; }
.hh-el-header.elementor-element.e-con.e-flex {
  --flex-direction:row; --flex-wrap:nowrap; --flex-wrap-mobile:nowrap;
  --align-items:center; --min-height:80px; --row-gap:0px; --column-gap:16px;
 }
 .hh-el-header .hh-el-row.elementor-element.e-con {
  --flex-direction:row; --flex-wrap:nowrap; --flex-wrap-mobile:nowrap;
  --justify-content:space-between; --align-items:center; --min-height:79px;
  min-width:0; flex:1 1 auto;
 }
 .hh-el-header .hh-el-row.elementor-element.e-con > .e-con-inner { flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; min-width:0; }
 .hh-el-header:has(> .hh-el-actions) > .hh-el-row.elementor-element.e-con { --min-height:0px; }
 .hh-el-header .hh-el-row .hh-el-logo.elementor-widget-image {
  margin:0; flex:0 1 auto; min-width:0; max-width:min(136px,calc(100vw - 144px)); text-align:left;
 }
 .hh-el-header .hh-el-row .hh-el-logo.elementor-widget-image img {
  max-width:100%; max-height:56px; object-fit:contain; object-position:left center; vertical-align:middle;
 }
 .hh-el-header .hh-el-actions.elementor-element.e-con {
  --flex-direction:row; --flex-wrap:nowrap; --flex-wrap-mobile:nowrap;
  --justify-content:flex-end; --align-items:center; --column-gap:4px;
  flex:0 0 auto; min-width:92px; margin:0 0 0 auto;
 }
 .hh-el-header .hh-el-actions .elementor-widget.hh-el-search-toggle,
 .hh-el-header .hh-el-actions .elementor-widget.hh-el-menu-toggle {
  display:block!important; flex:0 0 44px; width:44px; min-width:44px; max-width:44px; margin:0;
 }
}
@media(max-width:767px) {
.hh-el-header.elementor-element.e-con.e-flex { --min-height:72px; --column-gap:8px; }
 .hh-el-header .hh-el-row.elementor-element.e-con { --min-height:71px; --column-gap:8px; }
 .hh-el-header.elementor-element:has(> .hh-el-actions).e-con { --padding-left:20px; --padding-right:20px; }
 .hh-el-header .hh-el-row .hh-el-logo.elementor-widget-image img { max-height:48px; }
 .hh-el-header .hh-el-actions.elementor-element.e-con { min-width:88px; --column-gap:0px; }
 .hh-el-header .hhm-menu > li > a { font-size:var(--hhm-size-mobile,16px); line-height:var(--hhm-line-height-mobile,20px); }
.hh-el-header[data-hhs-open] .hh-el-search-panel.e-con { padding:18px 20px; }
 .hh-el-header .hhm-search-form { gap:4px; }
}
@media(max-width:359px) {
.hh-el-header .hh-el-row.elementor-element.e-con { --padding-left:16px; --padding-right:16px; }
 .hh-el-header.elementor-element:has(> .hh-el-actions).e-con { --padding-left:16px; --padding-right:16px; }
 .hh-el-header:has(> .hh-el-actions) > .hh-el-row.elementor-element.e-con { --padding-left:0px; --padding-right:0px; }
}
