/* HADMEDIA - clean core */
:root{
  --hm-header-bg:#ffffff;
  --hm-header-text:#111827;
  --hm-header-border:#e5e7eb;
  --hm-header-border-width:1px;
  --hm-project-image-divider-color:#e5e7eb;
  --hm-footer-bg:#f8fafc;
  --hm-footer-text:#111827;
  --hm-footer-muted-text:#6b7280;
  --hm-preloader-gradient-start:#0f172a;
  --hm-preloader-gradient-end:#1e293b;
  --hm-preloader-lines-color:#ffffff;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--hm-body-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
  color:#111827;
}

/* Global preloader */
.hm-preloader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--hm-preloader-gradient-start, #0f172a), var(--hm-preloader-gradient-end, #1e293b));
  opacity:1;
  visibility:visible;
  transition:opacity .45s ease, visibility .45s ease;
  animation:hm-preloader-auto-hide .45s ease 3.2s forwards;
}
.hm-preloader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.hm-preloader-inner{
  position:relative;
  width:220px;
  height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hm-preloader-center{
  width:112px;
  height:112px;
  border-radius:50%;
  overflow:hidden;
  background:rgba(255,255,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
}
.hm-preloader-image{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.hm-preloader-text{
  color:#fff;
  font-weight:700;
  letter-spacing:.02em;
  font-size:14px;
  text-align:center;
  padding:0 10px;
}
.hm-preloader-spinner{
  position:absolute;
  inset:0;
  animation:hm-preloader-spin 2.2s linear infinite;
}
.hm-preloader-line{
  position:absolute;
  top:50%;
  left:50%;
  width:46px;
  height:4px;
  border-radius:999px;
  background:var(--hm-preloader-lines-color, #fff);
  transform-origin:0 50%;
  opacity:.2;
  animation:hm-preloader-fade 1.2s ease-in-out infinite;
}
.hm-preloader-line--1{ transform:rotate(0deg) translateX(64px); animation-delay:0s; }
.hm-preloader-line--2{ transform:rotate(72deg) translateX(64px); animation-delay:.12s; }
.hm-preloader-line--3{ transform:rotate(144deg) translateX(64px); animation-delay:.24s; }
.hm-preloader-line--4{ transform:rotate(216deg) translateX(64px); animation-delay:.36s; }
.hm-preloader-line--5{ transform:rotate(288deg) translateX(64px); animation-delay:.48s; }

@keyframes hm-preloader-spin{
  from{transform:rotate(0deg);}
  to{transform:rotate(360deg);}
}
@keyframes hm-preloader-fade{
  0%,100%{opacity:.2;}
  50%{opacity:1;}
}
@keyframes hm-preloader-auto-hide{
  to{
    opacity:0;
    visibility:hidden;
  }
}

.hm-container{max-width:1200px;margin:0 auto;padding:0 16px}

/* =========================
   HEADER (shared)
   ========================= */
.hm-header{
  position:sticky;
  top:0;
  z-index:50;
  background: var(--hm-header-bg, #fff);
  border-bottom:var(--hm-header-border-width, 1px) solid var(--hm-header-border, #e5e7eb);
}
.hm-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.hm-brand{
  text-decoration:none;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:10px;
  color: var(--hm-header-text, #111827);
}
.hm-nav .hm-menu,
.hm-nav ul{
  list-style:none;
  display:flex;
  gap:14px;
  margin:0;
  padding:0;
  align-items:center;
}
.hm-nav .hm-menu > li{
  display:flex;
  align-items:center;
}
.hm-nav a{
  text-decoration:none;
  font-weight:600;
  padding:10px 10px;
  border-radius:12px;
  color: var(--hm-header-text, #111827);
  line-height:1.2;
}
.hm-nav li{
  position:relative;
}
.hm-nav .menu-item-has-children{
  display:flex;
  align-items:center;
  gap:2px;
  padding-right:0;
}
.hm-nav .sub-menu{
  list-style:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:220px;
  margin:10px 0 0;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:4px;
  background:var(--hm-header-bg, #fff);
  border:1px solid var(--hm-header-border, #e5e7eb);
  border-radius:16px;
  box-shadow:0 18px 40px rgba(15, 23, 42, 0.18);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index:40;
  align-items:flex-start;
}
.hm-nav .hm-menu > li:last-child > .sub-menu,
.hm-nav .hm-menu > li:nth-last-child(2) > .sub-menu{
  left:auto;
  right:0;
}
.hm-nav .sub-menu a{
  display:block;
  width:100%;
  padding:10px 12px;
  color:var(--hm-header-text, #111827);
  text-align:left;
  justify-content:flex-start;
}
.hm-nav li.is-submenu-open > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.hm-submenu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--hm-header-text, #111827);
  cursor:pointer;
  line-height:1;
  align-self:center;
  margin-left:-4px;
  vertical-align:middle;
  flex:0 0 14px;
  opacity:.72;
}
.hm-submenu-toggle::before{
  content:"\203A";
  font-size:13px;
  line-height:1;
  transform:rotate(90deg);
  display:block;
  font-weight:700;
}
.hm-nav li.is-submenu-open > .hm-submenu-toggle::before{
  transform:rotate(-90deg);
}
.hm-nav a:hover{
  background:transparent;
  text-decoration:underline;
  text-underline-offset:7px;
}

.hm-actions{display:flex;align-items:center;gap:10px}
.hm-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--hm-header-text, #111827);
  border-radius:10px;
  cursor:pointer;
}
.hm-menu-toggle:hover,
.hm-menu-toggle:focus,
.hm-menu-toggle:active{
  background:transparent;
  box-shadow:none;
}
.hm-menu-toggle-icon{
  width:18px;
  height:2px;
  background:currentColor;
  border-radius:999px;
  position:relative;
  display:inline-block;
}
.hm-menu-toggle-icon::before,
.hm-menu-toggle-icon::after{
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:2px;
  background:currentColor;
  border-radius:999px;
  transition:transform .2s ease;
}
.hm-menu-toggle-icon::before{top:-6px}
.hm-menu-toggle-icon::after{top:6px}
.hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle-icon::before{
  transform:translateY(6px) rotate(45deg);
}
.hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle-icon::after{
  transform:translateY(-6px) rotate(-45deg);
}
.hm-menu-toggle[aria-expanded="true"] .hm-menu-toggle-icon{
  background:transparent;
}
.hm-header--7 .hm-menu-toggle{
  color:#fff;
}

/* Header 1: logo left, menu fluid center, CTA right */
.hm-header--1 .hm-header-inner{
  justify-content:flex-start;
}
.hm-header--1 .hm-brand{
  flex:0 0 auto;
  width:auto;
  justify-content:center;
  text-align:center;
  margin:0;
}
.hm-header--1 .hm-nav{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  justify-content:center;
}
.hm-header--1 .hm-nav .hm-menu,
.hm-header--1 .hm-nav ul{
  justify-content:center;
  flex-wrap:wrap;
}
.hm-header--1 .hm-actions{
  flex:0 0 auto;
  margin-left:auto;
}
.hm-header--1 .custom-logo-link{
  display:inline-flex;
  margin:0;
}

/* Header 2: centered logo row, centered menu below, CTA on the far right */
.hm-header--2 .hm-header-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:16px;
  width:100%;
  justify-content:stretch !important;
}
.hm-header--2 .hm-header-row--balanced{
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
}
.hm-header--2 .hm-header-slot{
  min-width:0;
}
.hm-header--2 .hm-header-slot--left{
  justify-self:start;
}
.hm-header--2 .hm-header-slot--center{
  grid-column:2;
  display:flex;
  justify-content:center;
}
.hm-header--2 .hm-header-slot--right{
  grid-column:3;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}
.hm-header--2 .hm-brand{
  margin:0;
  justify-content:center;
  justify-self:center;
  text-align:center;
}
.hm-header--2 .custom-logo-link{
  display:inline-flex;
  margin:0;
}
.hm-header--2 .hm-header-row.hm-center{
  text-align:initial;
}
.hm-header--2 .hm-nav{
  display:flex;
  justify-content:center;
}
.hm-header--2 .hm-nav .hm-menu,
.hm-header--2 .hm-nav ul{
  justify-content:center;
  flex-wrap:wrap;
}
.hm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  border:1px solid transparent;
}
.hm-btn-primary{background:#1a73e8;color:#fff}
.hm-btn-outline{background:#fff;border-color:#e5e7eb;color:#111}
.hm-btn--with-icon{gap:8px}
.hm-btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.hm-btn-icon svg{
  width:16px;
  height:16px;
  display:block;
}
.hm-btn-icon img{
  width:16px;
  height:16px;
  display:block;
  object-fit:contain;
}

/* Header layout helpers for some styles */
.hm-center{justify-content:center;text-align:center}
.hm-header-stack{padding:14px 0}
.hm-header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.hm-header--builder .hm-header-builder{display:grid}
.hm-header--builder .hm-header-builder--mobile{display:none}
.hm-header-builder-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}
.hm-header-builder-row + .hm-header-builder-row{border-top:1px solid var(--hm-header-border, #e5e7eb)}
.hm-header-builder-row--left{justify-content:flex-start}
.hm-header-builder-row--center{justify-content:center}
.hm-header-builder-row--right{justify-content:flex-end}
.hm-header-builder-row--between{justify-content:space-between}
.hm-header-builder-cell{display:flex;align-items:center;min-width:0}
.hm-header-builder-cell--menu{flex:1 1 auto}
.hm-header-builder-cell--menu .hm-nav{width:100%}
.hm-header-builder-cell--menu .hm-menu,
.hm-header-builder-cell--menu .hm-nav ul{justify-content:center}
.hm-header-builder-cell--spacer,
.hm-header-spacer{flex:1 1 auto}
.hm-header-search form{display:flex;gap:8px;align-items:center}
.hm-header-search input[type="search"]{padding:10px 12px;border:1px solid var(--hm-header-border, #e5e7eb);border-radius:999px;min-width:220px;background:rgba(255,255,255,.7);color:var(--hm-header-text, #111827)}
.hm-header-search input[type="submit"]{padding:10px 14px;border:0;border-radius:999px;background:var(--hm-cta-bg, #124434);color:var(--hm-cta-text, #fff);cursor:pointer}
.hm-split{align-items:center}
.hm-boxed{
  margin:12px 0;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  overflow:visible;
}

/* Optional search area (header style 9) */
.hm-search form{display:flex;gap:8px}
.hm-search input[type="search"]{
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  min-width:240px;
}
.hm-search input[type="submit"]{
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}

/* Transparent header (style 7) */
.hm-transparent{
  background:transparent !important;
  border-bottom-color:rgba(255,255,255,.15) !important;
  position:absolute;
  left:0; right:0;
}
.hm-brand--white{color:#fff !important}
.hm-menu--white a{color:#fff !important}
.hm-menu--white a:hover{
  background:transparent;
  text-decoration:underline;
  text-underline-offset:7px;
}

/* =========================
   TOP BAR (shared + 6 styles)
   ========================= */
.hm-topbar{font-size:13px;line-height:1.3}
.hm-topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:8px 0;
  padding-left:10px;
  padding-right:10px;
}
.hm-topbar-left{color:#6b7280}
.hm-topbar-right,.hm-topbar-center{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.hm-topbar-center{justify-content:center;flex:1}

.hm-topbar-search form{display:flex;gap:8px}
.hm-topbar-search{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.hm-topbar-search-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  color:#111827;
  cursor:pointer;
}
.hm-topbar-search form{
  max-width:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  transition:max-width .22s ease, opacity .18s ease;
}
.hm-topbar-search.is-open form{
  max-width:260px;
  opacity:1;
  pointer-events:auto;
}
.hm-topbar-search input[type="search"]{
  padding:8px 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  min-width:190px;
}
.hm-topbar-search input[type="submit"]{
  padding:8px 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}

/* Language switcher */
.hm-lang select{
  padding:7px 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
}
.hm-lang--fallback{
  padding:7px 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  color:#111;
  background:#fff;
}

.hm-google-translator{
  display:inline-flex;
  align-items:center;
}

/* Social */
.hm-social{display:flex;align-items:center;gap:8px}
.hm-social-link{
  font-weight:700;
  text-decoration:none;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #e5e7eb;
  color:#111;
  background:#fff;
}
.hm-social-link:hover{background:#f5f5f5}

/* Topbar style variations */
.hm-topbar--1{background:#f8fafc;border-bottom:1px solid #e5e7eb}
.hm-topbar--2{background:#ffffff;border-bottom:1px solid #f0f0f0}
.hm-topbar--3{background:#ffffff;border-bottom:1px solid #e5e7eb}
.hm-topbar--4{background:#111827;border-bottom:1px solid rgba(255,255,255,.12)}
.hm-topbar--4 .hm-topbar-left{color:rgba(255,255,255,.75)}
.hm-topbar--4 .hm-social-link,
.hm-topbar--4 .hm-lang select,
.hm-topbar--4 .hm-topbar-search-toggle,
.hm-topbar--4 .hm-topbar-search input[type="search"],
.hm-topbar--4 .hm-topbar-search input[type="submit"]{
  background:rgba(255,255,255,.06);
  color:#fff;
  border-color:rgba(255,255,255,.18);
}
.hm-topbar--4 .hm-social-link:hover{background:rgba(255,255,255,.12)}
.hm-topbar--5{background:#ffffff;border-bottom:1px solid #e5e7eb}
.hm-topbar--6{background:#f8fafc;border-bottom:1px solid #e5e7eb}
.hm-topbar-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
}

/* Pills (style 3 helper) */
.hm-pill{
  padding:6px 10px;
  border:1px solid #e5e7eb;
  border-radius:999px;
  background:#fff;
  display:flex;
  align-items:center;
  gap:10px;
}
.hm-pill--search{padding:4px 6px}

/* Sub-row helper (header style 8/10, etc.) */
.hm-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.hm-row--sub{border-top:1px solid #eee}
.hm-row--sub .hm-menu a{padding:10px 12px}

/* Responsive */
@media (max-width: 960px){
  .hm-header-inner,
  .hm-header-row,
  .hm-header-builder-row,
  .hm-row,
  .hm-boxed{
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:12px;
    padding-left:10px;
    padding-right:10px;
  }
  .hm-header .hm-brand,
  .hm-header .hm-actions{
    display:none !important;
  }
  .hm-menu-toggle{
    display:inline-flex;
    margin:0 0 0 auto;
  }
  .hm-header.hm-transparent .hm-menu-toggle{
    color:var(--hm-header-text, #111827);
    background:transparent;
  }
  .hm-header--builder .hm-header-builder--desktop{
    display:none;
  }
  .hm-header--builder .hm-header-builder--mobile{
    display:grid;
  }
  .hm-header-builder-row{
    justify-content:flex-start;
    gap:var(--hm-mobile-header-gap, 18px);
    padding-top:var(--hm-mobile-header-row-padding, 12px);
    padding-bottom:var(--hm-mobile-header-row-padding, 12px);
  }
  .hm-header-builder-cell,
  .hm-header-builder-cell--menu{
    width:100%;
    flex:1 1 100%;
  }
  .hm-header--builder .hm-header-builder--mobile .hm-brand,
  .hm-header--builder .hm-header-builder--mobile .hm-actions{
    display:flex !important;
  }
  .hm-header--builder .hm-header-builder--mobile .hm-brand{
    width:auto;
    flex:0 0 auto;
  }
  .hm-header--builder .hm-header-builder--mobile .custom-logo-link,
  .hm-header--builder .hm-header-builder--mobile .custom-logo{
    max-width:var(--hm-mobile-header-logo-width, 160px);
    width:100%;
    height:auto;
  }
  .hm-header-builder-cell--menu .hm-menu,
  .hm-header-builder-cell--menu .hm-nav ul{
    justify-content:flex-start;
  }
  .hm-header-search input[type="search"]{
    min-width:0;
    width:100%;
  }
  .hm-header .hm-nav{
    display:none;
    flex-basis:100%;
  }
  .hm-header.is-menu-open .hm-nav{
    display:block;
  }
  .hm-menu-row{
    display:none;
  }
  .hm-header.is-menu-open .hm-menu-row{
    display:block;
  }
  .hm-nav{
    width:100%;
  }
  .hm-nav .hm-menu,
  .hm-nav ul{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:8px;
  }
  .hm-nav .menu-item-has-children{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 40px;
    align-items:center;
    gap:8px;
  }
  .hm-nav a{
    display:block;
    width:100%;
    text-align:center;
  }
  .hm-nav .sub-menu{
    position:static;
    min-width:0;
    margin:0;
    padding:8px 0 0 14px;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
  }
  .hm-nav li.is-submenu-open > .sub-menu{
    display:flex;
  }
  .hm-submenu-toggle{
    justify-self:end;
    padding-right:6px;
  }
  .hm-actions{
    width:100%;
    justify-content:center;
  }
  .hm-actions .hm-btn{
    width:auto;
    align-self:center;
  }
  .hm-search form{
    width:100%;
  }
  .hm-search input[type="search"],
  .hm-search input[type="submit"]{
    width:100%;
  }
  .hm-search input[type="search"]{min-width:160px}
  .hm-header.hm-transparent{
    position:sticky;
    background:var(--hm-header-bg, #fff) !important;
    border-bottom-color:var(--hm-header-border, #e5e7eb) !important;
  }
  .hm-header.hm-transparent .hm-brand--white,
  .hm-header.hm-transparent .hm-menu--white a{
    color:var(--hm-header-text, #111827) !important;
  }
  .hm-topbar-inner{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:10px;
  }
  .hm-topbar-left{
    width:100%;
    text-align:center;
  }
  .hm-topbar-right,
  .hm-topbar-center{
    width:100%;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .hm-topbar-right > *,
  .hm-topbar-center > *{
    width:100%;
    display:flex;
    justify-content:center;
  }
  .hm-topbar-search input[type="search"]{min-width:160px}
}
/* FOOTER base */
.hm-footer{background:var(--hm-footer-bg, #f8fafc);border-top:1px solid #e5e7eb;padding:32px 0 0;color:var(--hm-footer-text, #111827);overflow-x:clip}
.hm-footer a{color:inherit;text-decoration:none}
.hm-footer a:hover{text-decoration:underline;text-underline-offset:6px}
.hm-footer-grid{display:grid;gap:16px;margin-bottom:0;padding-bottom:16px}
.hm-footer-grid.cols-1{grid-template-columns:1fr}
.hm-footer-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hm-footer-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hm-footer-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hm-footer-column{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
}
.hm-footer .hm-footer-grid .widget{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
}
.hm-footer .widget,
.hm-footer .widget_block{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
}
.hm-footer .widget > *,
.hm-footer .widget_block > *,
.hm-footer .widget .wp-block-group,
.hm-footer .widget .wp-block-group.has-background,
.hm-footer .widget .has-background{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.hm-footer .hm-footer-box{
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  padding:0 !important;
}
.hm-footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  color:inherit;
  font-size:14px;
  margin-top:8px;
  width:100%;
  margin-left:0;
  margin-right:0;
  position:relative;
  z-index:1;
  padding-top:16px;
  padding-bottom:16px;
  padding-left:16px;
  padding-right:16px;
}
.hm-footer-bottom::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  border-top:1px solid rgba(17,24,39,.16);
  background:var(--hm-footer-bottom-bg, #d7dde4);
  z-index:-1;
}
.hm-footer-bottom a{color:inherit}

.hm-footer-center{text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}
.hm-footer-brand{font-weight:900;font-size:18px}
.hm-footer-brand-link{display:inline-flex;align-items:center;max-width:220px}
.hm-footer-brand-image{display:block;max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain}
.hm-footer-copy{color:var(--hm-footer-muted-text, #6b7280);font-size:14px}
.hm-muted{color:var(--hm-footer-muted-text, #6b7280)}

.hm-footer-dark{background:#111827;color:var(--hm-footer-text, #111827);border-top-color:rgba(255,255,255,.12)}
.hm-footer-dark .widget{background:transparent;border-color:transparent}
.hm-footer-dark .widget-title{color:inherit}
.hm-footer-dark a{color:inherit}

.hm-footer-newsletter{display:flex;justify-content:space-between;gap:12px;align-items:center;
  padding:14px 16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;margin-bottom:16px}
.hm-news-form{display:flex;gap:10px}
.hm-news-form input{padding:10px 12px;border:1px solid #e5e7eb;border-radius:999px;min-width:220px}
.hm-news-form button{padding:10px 12px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;cursor:pointer}

.hm-footer-split{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.hm-footer-right{display:flex;flex-direction:column;gap:10px;align-items:flex-end}

.hm-footer-cta{background:#fff;border-top:1px solid #e5e7eb}
.hm-footer-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0}

.hm-footer-row{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.hm-footer-social{margin-top:8px}

.hm-footer-box{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:18px}
.hm-footer-builder{display:grid;gap:0}
.hm-footer-builder--mobile{display:none}
.hm-footer-builder-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 0}
.hm-footer-builder-row + .hm-footer-builder-row{border-top:1px solid rgba(148,163,184,.18)}
.hm-footer-builder-row--left{justify-content:flex-start}
.hm-footer-builder-row--center{justify-content:center}
.hm-footer-builder-row--right{justify-content:flex-end}
.hm-footer-builder-row--between{justify-content:space-between}
.hm-footer-builder-cell{display:flex;align-items:flex-start;min-width:0}
.hm-footer-builder-cell--widget_1,
.hm-footer-builder-cell--widget_2,
.hm-footer-builder-cell--widget_3,
.hm-footer-builder-cell--widget_4{flex:1 1 220px}
.hm-footer-builder-cell--menu .menu,
.hm-footer-builder-cell--menu .hm-footer-menu{display:flex;flex-wrap:wrap;gap:14px;list-style:none;margin:0;padding:0}
.hm-footer-builder-cell--menu a{text-decoration:none}
.hm-footer-builder-cell--spacer,
.hm-footer-spacer{flex:1 1 auto}
.hm-footer-builder .widget{width:100%}
.hm-footer-builder .hm-social-links{margin-top:0}

@media (max-width: 960px){
  .hm-footer-grid.cols-3,.hm-footer-grid.cols-4{grid-template-columns:1fr}
  .hm-footer-split{flex-direction:column}
  .hm-footer-right{align-items:flex-start}
  .hm-footer-newsletter{flex-direction:column;align-items:flex-start}
  .hm-footer-builder--desktop{display:none}
  .hm-footer-builder--mobile{display:grid}
  .hm-footer-builder-row{
    flex-direction:column;
    align-items:flex-start;
    gap:var(--hm-mobile-footer-gap, 18px);
    padding-top:var(--hm-mobile-footer-row-padding, 18px);
    padding-bottom:var(--hm-mobile-footer-row-padding, 18px);
  }
  .hm-footer-builder-cell{width:100%}
  .hm-footer-builder--mobile .hm-footer-brand-link,
  .hm-footer-builder--mobile .hm-footer-brand-image{
    max-width:var(--hm-mobile-footer-logo-width, 180px);
    width:100%;
    height:auto;
  }
  .hm-news-form input{min-width:160px}
}

.hm-card{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.hm-card-body{padding:16px}
.hm-card img{width:100%;height:auto;display:block}

/* SIDEBAR LAYOUTS */
.hm-layout{
  display:grid;
  gap:16px;
  align-items:start;
}

/* 25 / 50 / 25 */
.hm-layout--25-50-25{
  grid-template-columns: 1fr 2fr 1fr;
}

/* 70 / 30 (content | sidebar) */
.hm-layout--70-30{
  grid-template-columns: 7fr 3fr;
}

/* 30 / 70 (sidebar | content) */
.hm-layout--30-70{
  grid-template-columns: 3fr 7fr;
}

/* Sidebar widgets */
.widget{
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  padding:14px;
}
.widget-title{
  margin:0 0 10px;
  font-size:16px;
}
.hm-footer .widget img{
  display:block;
  max-width:100%;
  height:auto;
}
.hm-footer .widget .wp-block-image{
  margin:0;
}

/* Responsive: stack */
@media (max-width: 960px){
  .hm-layout--25-50-25,
  .hm-layout--70-30,
  .hm-layout--30-70{
    grid-template-columns: 1fr;
  }
}

.hm-sidebar{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding-bottom:10px;
}

.hm-sidebar .widget,
.hm-project-donation-sidebar .widget,
.hm-visual-single__sidebar .widget,
.hm-sidebar .widget_block,
.hm-project-donation-sidebar .widget_block,
.hm-visual-single__sidebar .widget_block{
  box-shadow:none !important;
}

/* ===== NEWS GRID FIXED CARDS ===== */

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

@media (max-width: 960px){
  .hm-grid-3{grid-template-columns:1fr}
}

/* Card equal height */
.hm-news-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* Fixed image height */
.hm-news-thumb{
  display:block;
  height:220px;
  overflow:hidden;
  background:#f3f4f6;
}

.hm-news-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Placeholder if no image */
.hm-thumb-placeholder{
  display:block;
  width:100%;
  height:100%;
}

/* Body flex so button sticks to bottom */
.hm-news-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}

/* Clamp title */
.hm-news-card h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.3;
  min-height: calc(1.3em * 2);
}

/* Clamp excerpt */
.hm-news-excerpt{
  margin:0;
  color:#6b7280;

  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;

  min-height: calc(1.4em * 3);
}

/* Button always bottom */
.hm-news-actions{
  margin-top:auto;
}

/* Project Hero Styles */
.hm-project-hero {
    position: relative;
    width: 100%;
    height: 60vh; /* Zauzima 60% visine ekrana */
    min-height: 400px;
    overflow: hidden;
    margin-bottom: 40px;
}

.hm-project-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Osigurava da slika popuni prostor bez razvlačenja */
    display: block;
}

.hm-project-hero-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 60px 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    color: #ffffff;
}

.hm-project-hero .hm-project-title {
    margin: 0;
    font-size: 3rem;
    font-weight: 800;
}

.hm-project-meta {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e7eb;
    color: #6b7280;
    font-size: 0.9rem;
}

.hm-entry-content {
    line-height: 1.8;
    font-size: 1.1rem;
}

.hm-project-main-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 320px;
  gap:24px;
  align-items:start;
}

.hm-project-main-content{
  min-width:0;
}

.hm-project-donation-sidebar{
  position:sticky;
  top:100px;
  padding-bottom:10px;
}

/* Single Project: large image + text side by side */
.hm-project-featured{
  padding:28px 0 20px;
}

.hm-project-featured-inner{
  display:grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap:28px;
  align-items:stretch;
}

.hm-project-featured-media{
  min-height:520px;
  border-radius:22px;
  overflow:hidden;
  background:#f3f4f6;
}

.hm-project-featured-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hm-project-featured-placeholder{
  width:100%;
  height:100%;
  min-height:520px;
  background:#e5e7eb;
}

.hm-project-featured-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.hm-project-single-title{
  margin:0 0 14px;
  font-size:3rem;
  line-height:1.1;
  font-weight:800;
}

.hm-project-single-lead{
  margin:0;
  color:#4b5563;
  font-size:1.05rem;
  line-height:1.75;
}

@media (max-width: 768px) {
    .hm-project-hero .hm-project-title { font-size: 2rem; }
    .hm-project-hero { height: 40vh; }
    .hm-project-featured-inner{grid-template-columns:1fr}
    .hm-project-featured-media,
    .hm-project-featured-placeholder{min-height:320px}
    .hm-project-single-title{font-size:2rem}
    .hm-project-main-layout{grid-template-columns:1fr}
    .hm-project-donation-sidebar{position:static}
}

/* PROJECTS cards (equal height) */
.hm-project-card{display:flex;flex-direction:column;height:100%}

.hm-project-thumb{
  display:block;
  aspect-ratio: 4 / 3;
  overflow:hidden;
  background:#f3f4f6;
  border-bottom:10px solid var(--hm-project-image-divider-color, #e5e7eb);
}
.hm-project-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hm-project-body{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}

.hm-project-card .hm-project-title{
  font-size:1.35rem;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.2;
  min-height: calc(1.2em * 2);
}

.hm-project-excerpt{
  margin:0;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
  color:#6b7280;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height: calc(1.4em * 3);
}

.hm-project-actions{
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
}

.hm-visuals-archive{
  padding:24px 0 40px;
}

.hm-home-narratives-slider{
  padding:20px 0 8px;
  --hm-home-narratives-panel-bg:#1f2937;
  --hm-home-narratives-panel-text:#f8fafc;
  --hm-home-narratives-radius:22px;
}

.hm-home-narratives__head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:12px;
}

.hm-home-narratives__title{
  margin:0;
  font-size:1.25rem;
  width:100%;
  text-align:center;
}

.hm-home-narratives-slider-wrap{
  position:relative;
  padding:0 46px;
}

.hm-home-narratives-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:6px;
  -ms-overflow-style:none;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}

.hm-home-narratives-track.is-dragging{
  cursor:grabbing;
}

.hm-home-narratives-track::-webkit-scrollbar{
  display:none;
}

.hm-home-narratives-slide{
  flex:0 0 100%;
  width:100%;
  max-width:100%;
  min-width:0;
  scroll-snap-align:start;
}

.hm-home-narratives-feature{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
  min-height:clamp(260px, 46vh, 520px);
  background:#fff;
  overflow:hidden;
  border-radius:var(--hm-home-narratives-radius, 22px);
}

.hm-home-narratives-feature__media{
  display:block;
  min-height:100%;
  background:#e5e7eb;
}

.hm-home-narratives-feature__media img,
.hm-home-narratives-feature__placeholder{
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  object-fit:cover;
}

.hm-home-narratives-feature__placeholder{
  background:linear-gradient(135deg,#e5e7eb,#cbd5e1);
}

.hm-home-narratives-feature__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:14px;
  padding:28px 32px;
  background:var(--hm-home-narratives-panel-bg, #1f2937);
  color:var(--hm-home-narratives-panel-text, #f8fafc);
}

.hm-home-narratives-feature__title{
  margin:0;
  font-size:clamp(1.35rem, 2.2vw, 2rem);
  line-height:1.12;
  display:-webkit-box;
  -webkit-line-clamp:6;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.hm-home-narratives-feature__title a{
  color:inherit;
  text-decoration:none;
}

.hm-home-narratives-feature__excerpt{
  margin:0;
  color:color-mix(in srgb, var(--hm-home-narratives-panel-text, #f8fafc) 82%, transparent);
  font-size:.98rem;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:6;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.hm-home-narratives-feature__actions{
  padding-top:12px;
}

.hm-home-narratives-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  line-height:1;
  font-size:46px;
  opacity:.55;
  padding:0;
}

.hm-home-narratives-nav--prev{
  left:8px;
}

.hm-home-narratives-nav--next{
  right:8px;
}

.hm-home-narratives-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:14px;
}

.hm-home-narratives-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  border:0;
  background:#d1d5db;
  cursor:pointer;
  padding:0;
}

.hm-home-narratives-dot.is-active{
  width:22px;
  background:#111827;
}

.hm-visuals-archive__head{
  margin:0 0 18px;
}

.hm-visuals-archive__title{
  margin:0;
}

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

.hm-visual-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.hm-visual-card__media{
  display:block;
  aspect-ratio:4/3;
  background:#f3f4f6;
}

.hm-visual-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hm-visual-card__placeholder{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#e5e7eb,#cbd5e1);
}

.hm-visual-card__body{
  padding-top:16px;
}

.hm-visual-card__title{
  margin:0;
  font-size:1.2rem;
  line-height:1.25;
}

.hm-visual-card__title a{
  color:inherit;
  text-decoration:none;
}

.hm-visual-single{
  padding:28px 0 40px;
}

.hm-visual-single__layout{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(280px,3fr);
  gap:24px;
  align-items:start;
}

.hm-visual-single__main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:24px;
}

.hm-visual-single__media{
  position:relative;
  background:#f3f4f6;
  border-radius:22px;
  overflow:hidden;
  min-width:0;
  min-height:360px;
}

.hm-visual-single__image,
.hm-visual-single__placeholder{
  display:block;
  width:100%;
  height:100%;
  min-height:360px;
  max-height:480px;
  object-fit:cover;
}

.hm-visual-single__placeholder{
  background:linear-gradient(135deg,#e5e7eb,#cbd5e1);
}

.hm-visual-single__title{
  margin:0;
  font-size:2rem;
  line-height:1.15;
}

.hm-visual-single__overlay{
  position:absolute;
  left:0;
  right:auto;
  bottom:0;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  max-width:min(72%,680px);
  padding:20px 24px;
  background:rgba(18,68,52,.82);
  border-radius:0 22px 0 0;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}

.hm-visual-single__overlay .hm-visual-single__title{
  color:#fff;
  max-width:16ch;
}

.hm-visual-single__content{
  max-width:none;
}

.hm-video-single__media iframe{
  display:block;
  width:100%;
  min-height:420px;
  aspect-ratio:16 / 9;
  border:0;
}

.hm-video-single .hm-visual-single__media{
  width:100%;
}

.hm-video-single .hm-visual-single__main{
  width:100%;
}

.hm-video-single__header{
  display:grid;
  gap:16px;
}

.hm-video-single__title{
  max-width:22ch;
}

.hm-video-single__divider{
  width:100%;
  height:1px;
  background:#d6dbe3;
}

.hm-product-single-page{
  padding:28px 0 48px;
}

.hm-product-single__breadcrumb{
  margin-bottom:18px;
  color:#6b7280;
  font-size:.95rem;
}

.hm-product-single__breadcrumb .woocommerce-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.hm-product-single__breadcrumb a{
  color:var(--hm-body-link-color, #1a73e8);
  text-decoration:none;
}

.hm-product-single__layout{
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) minmax(320px, .9fr);
  gap:28px;
  align-items:start;
}

.hm-product-single__gallery-column,
.hm-product-single__summary-column{
  min-width:0;
}

.hm-product-single__gallery-card,
.hm-product-single__summary-card,
.hm-product-single__details .woocommerce-tabs,
.hm-product-single__details .related,
.hm-product-single__details .up-sells{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:24px;
}

.hm-product-single__gallery-card{
  position:relative;
  padding:18px;
  overflow:hidden;
}

.hm-product-single__gallery-card .woocommerce-product-gallery{
  margin:0 !important;
}

.hm-product-single__gallery-card .woocommerce-product-gallery__wrapper{
  border-radius:18px;
  overflow:hidden;
  background:#f8fafc;
}

.hm-product-single__gallery-card .woocommerce-product-gallery__image a,
.hm-product-single__gallery-card .woocommerce-product-gallery__image img{
  display:block;
  width:100%;
}

.hm-product-single__gallery-card .flex-control-thumbs{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin:16px 0 0 !important;
  padding:0;
  list-style:none;
}

.hm-product-single__gallery-card .flex-control-thumbs li{
  margin:0 !important;
}

.hm-product-single__gallery-card .flex-control-thumbs img{
  display:block;
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:14px;
  border:1px solid #e5e7eb;
  background:#fff;
}

.hm-product-single span.onsale{
  position:absolute;
  left:28px;
  top:28px;
  right:auto;
  margin:0;
  min-height:auto;
  min-width:auto;
  padding:8px 14px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-weight:700;
  line-height:1.2;
}

.hm-product-single__summary-column{
  position:sticky;
  top:96px;
}

.hm-product-single__summary-card{
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
  box-shadow:0 24px 60px rgba(15,23,42,.08);
}

.hm-product-single__summary-card .product_title{
  margin:0;
  font-size:clamp(2rem, 2.8vw, 2.75rem);
  line-height:1.05;
}

.hm-product-single__summary-card .woocommerce-product-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}

.hm-product-single__summary-card .price{
  margin:0;
  color:#0f172a;
  font-size:clamp(1.4rem, 2vw, 1.9rem);
  font-weight:800;
}

.hm-product-single__summary-card .price del{
  color:#94a3b8;
  font-weight:600;
}

.hm-product-single__summary-card .price ins{
  text-decoration:none;
}

.hm-product-single__summary-card .woocommerce-product-details__short-description{
  color:#475569;
  font-size:1rem;
  line-height:1.75;
}

.hm-product-single__summary-card form.cart{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:4px 0 0;
}

.hm-product-single__summary-card form.cart .quantity{
  margin:0 !important;
}

.hm-product-single__summary-card .quantity .qty{
  min-height:52px;
  min-width:84px;
  padding:0 14px;
  border:1px solid #dbe1e8;
  border-radius:14px;
  background:#fff;
}

.hm-product-single__summary-card .single_add_to_cart_button,
.hm-product-single__details .related .button,
.hm-product-single__details .up-sells .button{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:var(--hm-cta-bg, #124434);
  color:var(--hm-cta-text, #ffffff);
  font-weight:700;
  box-shadow:none;
}

.hm-product-single__summary-card .single_add_to_cart_button:hover,
.hm-product-single__details .related .button:hover,
.hm-product-single__details .up-sells .button:hover{
  background:var(--hm-cta-bg-hover, #0f3a2c);
  color:var(--hm-cta-text, #ffffff);
}

.hm-product-single__summary-card .single_add_to_cart_button::before{
  content:"";
  display:inline-block;
  width:18px;
  height:18px;
  flex:0 0 18px;
  background-color:currentColor;
  vertical-align:middle;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h-2l-1 2h2l2.68 7.59-1.03 1.88A2 2 0 0 0 9.38 19h9.62v-2H9.42l1.1-2h7.45a2 2 0 0 0 1.79-1.11L23 7H8.42l-.94-2ZM10 21a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3Zm8 0a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 4h-2l-1 2h2l2.68 7.59-1.03 1.88A2 2 0 0 0 9.38 19h9.62v-2H9.42l1.1-2h7.45a2 2 0 0 0 1.79-1.11L23 7H8.42l-.94-2ZM10 21a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3Zm8 0a1.5 1.5 0 1 1 0-3a1.5 1.5 0 0 1 0 3Z'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

.hm-product-single__summary-card .product_meta{
  display:grid;
  gap:8px;
  padding-top:14px;
  border-top:1px solid #e5e7eb;
  color:#64748b;
  font-size:.95rem;
}

.hm-product-single__summary-card .product_meta a{
  color:#111827;
  text-decoration:none;
}

.hm-product-single__summary-card .product_meta a:hover{
  text-decoration:underline;
}

.hm-product-single__summary-card .woocommerce-tabs,
.hm-product-single__summary-card .related,
.hm-product-single__summary-card .up-sells{
  margin:0;
}

.hm-product-single__details{
  display:grid;
  gap:28px;
  margin-top:32px;
  width:100%;
}

.hm-product-single__details-row{
  display:block;
  width:100%;
  clear:both;
}

.hm-product-single__details-row--related,
.hm-product-single__details-row--upsells{
  width:100%;
}

.hm-related-products{
  display:grid;
  gap:20px;
  padding:28px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:24px;
}

.hm-related-products__head{
  display:block;
}

.hm-related-products__title{
  margin:0;
  font-size:1.5rem;
  line-height:1.2;
  color:#111827;
}

.hm-related-products__grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin:0 !important;
  padding:0;
  list-style:none;
}

.hm-related-products__grid li.product{
  width:auto !important;
  min-width:0 !important;
  float:none !important;
  margin:0 !important;
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}

.hm-related-products__grid li.product a img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  margin-bottom:14px;
  border-radius:16px;
}

.hm-related-products__grid li.product .woocommerce-loop-product__title{
  min-height:2.8em;
  color:#111827;
  font-size:1.05rem;
  line-height:1.4;
}

.hm-related-products__grid li.product .price{
  margin-top:auto;
  padding-top:10px;
  color:#111827;
  font-weight:800;
}

.hm-related-products__grid li.product .button{
  margin-top:12px;
}

.hm-product-single__details-wrap{
  margin-top:36px;
}

.hm-product-single__details-row--related,
.hm-product-single__details-row--upsells{
  padding-top:6px;
}

.hm-product-single__details .woocommerce-tabs,
.hm-product-single__details .related,
.hm-product-single__details .up-sells{
  clear:both;
  width:100%;
}

.hm-product-single__details .woocommerce-tabs{
  padding:28px;
}

.hm-product-single__details .woocommerce-tabs ul.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 20px !important;
  padding:0 !important;
  border:0 !important;
  list-style:none !important;
}

.hm-product-single__details .woocommerce-tabs ul.tabs::before,
.hm-product-single__details .woocommerce-tabs ul.tabs::after{
  display:none !important;
}

.hm-product-single__details .woocommerce-tabs ul.tabs li{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:none !important;
  border-radius:999px !important;
  list-style:none !important;
}

.hm-product-single__details .woocommerce-tabs ul.tabs li::before,
.hm-product-single__details .woocommerce-tabs ul.tabs li::after{
  display:none !important;
}

.hm-product-single__details .woocommerce-tabs ul.tabs li a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  background:var(--hm-product-tabs-bg, #f8fafc);
  color:var(--hm-product-tabs-text, #111827);
  font-weight:700;
}

.hm-product-single__details .woocommerce-tabs ul.tabs li.active a{
  background:var(--hm-product-tabs-active-bg, var(--hm-cta-bg, #124434));
  color:var(--hm-product-tabs-active-text, #ffffff);
}

.hm-product-single__details .woocommerce-Tabs-panel{
  margin:0 !important;
  color:#334155;
  line-height:1.8;
}

.hm-product-single__details .related,
.hm-product-single__details .up-sells{
  padding:28px;
}

.hm-product-single__details .related,
.hm-product-single__details .up-sells{
  position:relative;
}

.hm-product-single__details .related > h2,
.hm-product-single__details .up-sells > h2{
  margin:0 0 18px;
  font-size:1.5rem;
}

.hm-product-single__details .up-sells .products{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin:0 !important;
  padding:0;
}

.hm-product-single__details .up-sells .products li.product{
  width:auto !important;
  min-width:0 !important;
  float:none !important;
  margin:0 !important;
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  min-height:100%;
}

.hm-product-single__details .up-sells .products li.product a img{
  border-radius:16px;
  margin-bottom:14px;
  aspect-ratio:1 / 1;
  object-fit:cover;
}

.hm-product-single__details .up-sells .products li.product .woocommerce-loop-product__title{
  font-size:1.05rem;
  color:#111827;
  min-height:2.8em;
  line-height:1.4;
}

.hm-product-single__details .up-sells .products li.product .price,
.hm-product-single__details .up-sells .products li.product .star-rating,
.hm-product-single__details .up-sells .products li.product .button{
  margin-top:auto;
}

.hm-product-single__details .up-sells .products li.product .price{
  color:#111827;
  font-weight:800;
  padding-top:10px;
}

.hm-product-single__details #reviews #comments ol.commentlist{
  padding-left:0;
}

.hm-product-single__details #reviews #comments ol.commentlist li{
  margin-bottom:16px;
  padding-bottom:16px;
  border-bottom:1px solid #e5e7eb;
}

.hm-shop-page{
  background:
    radial-gradient(circle at top left, rgba(18,68,52,.10), transparent 32%),
    linear-gradient(180deg, #f8fafc 0%, #ffffff 42%, #f7f8fa 100%);
}

.hm-shop-hero{
  padding:48px 0 26px;
}

.hm-shop-hero__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(280px, .75fr);
  gap:28px;
  align-items:end;
  padding:34px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(236,253,245,.88));
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}

.hm-shop-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(18,68,52,.08);
  color:#124434;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hm-shop-hero__title{
  margin:14px 0 10px;
  font-size:clamp(2rem, 5vw, 3.5rem);
  line-height:1;
}

.hm-shop-hero__text{
  max-width:62ch;
  margin:0;
  color:#475569;
  font-size:1.05rem;
}

.hm-shop-hero__meta{
  display:flex;
  justify-content:flex-end;
}

.hm-shop-hero__crumbs{
  width:100%;
  max-width:320px;
  padding:18px 20px;
  border-radius:22px;
  background:#0f172a;
  color:#e2e8f0;
}

.hm-shop-hero__crumbs .woocommerce-breadcrumb,
.hm-shop-hero__crumbs .woocommerce-breadcrumb a{
  color:inherit;
}

.hm-shop-catalog{
  padding:0 0 56px;
}

.hm-shop-page .woocommerce-notices-wrapper{
  margin-bottom:18px;
}

.hm-shop-page .woocommerce-message,
.hm-shop-page .woocommerce-info,
.hm-shop-page .woocommerce-error{
  margin:0 0 16px;
  padding:16px 18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 44px rgba(15,23,42,.05);
}

.hm-shop-page .term-description{
  margin:0 0 24px;
  color:#475569;
}

.hm-shop-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin:0 0 22px;
  padding:18px 20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 48px rgba(15,23,42,.05);
}

.hm-shop-toolbar__result{
  color:#475569;
  font-weight:600;
}

.hm-shop-toolbar .woocommerce-ordering{
  margin:0;
}

.hm-shop-toolbar .orderby{
  min-width:220px;
  padding:12px 44px 12px 16px;
  border:1px solid #dbe2ea;
  border-radius:16px;
  background:#f8fafc;
  color:#0f172a;
}

.hm-shop-page ul.products{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin:0;
  padding:0;
}

.hm-shop-page ul.products::before,
.hm-shop-page ul.products::after{
  display:none;
}

.hm-shop-page ul.products li.product{
  width:auto;
  margin:0;
  float:none;
  list-style:none;
}

.hm-shop-card__inner{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  border-radius:26px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 54px rgba(15,23,42,.06);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.hm-shop-card:hover .hm-shop-card__inner{
  transform:translateY(-4px);
  border-color:rgba(18,68,52,.18);
  box-shadow:0 28px 70px rgba(15,23,42,.12);
}

.hm-shop-card__media{
  position:relative;
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:linear-gradient(135deg, #f8fafc, #edf6f2);
}

.hm-shop-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.hm-shop-card:hover .hm-shop-card__media img{
  transform:scale(1.04);
}

.hm-shop-card__placeholder{
  display:block;
  width:100%;
  height:100%;
  background:
    linear-gradient(135deg, rgba(18,68,52,.12), rgba(15,23,42,.08)),
    #f1f5f9;
}

.hm-shop-card__badge{
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#124434;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.hm-shop-card__body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  gap:12px;
  padding:22px;
}

.hm-shop-card__rating{
  min-height:18px;
  color:#f59e0b;
}

.hm-shop-card__rating .star-rating{
  color:inherit;
}

.hm-shop-card__title{
  margin:0;
  font-size:1.3rem;
  line-height:1.2;
}

.hm-shop-card__title a{
  color:#0f172a;
  text-decoration:none;
}

.hm-shop-card__title a:hover{
  color:#124434;
}

.hm-shop-card__excerpt{
  margin:0;
  color:#475569;
  line-height:1.65;
}

.hm-shop-card__price{
  margin-top:auto;
  font-size:1.1rem;
  font-weight:800;
  color:#0f172a;
}

.hm-shop-card__price del{
  color:#94a3b8;
}

.hm-shop-card__price ins{
  text-decoration:none;
}

.hm-shop-card__actions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:8px;
}

.hm-shop-card__actions .hm-btn{
  justify-content:center;
  width:100%;
}

.hm-shop-card__cart{
  background:var(--hm-product-cart-bg, #124434);
  border-color:var(--hm-product-cart-bg, #124434);
  color:var(--hm-product-cart-text, #ffffff);
}

.hm-shop-card__cart:hover{
  background:var(--hm-product-cart-bg-hover, #0c2d22);
  border-color:var(--hm-product-cart-bg-hover, #0c2d22);
  color:var(--hm-product-cart-text, #ffffff);
}

.hm-shop-page nav.woocommerce-pagination{
  margin-top:28px;
}

.hm-shop-page nav.woocommerce-pagination ul{
  display:flex;
  justify-content:center;
  gap:10px;
  padding:0;
  border:0;
  background:transparent;
}

.hm-shop-page nav.woocommerce-pagination ul li{
  border:0;
}

.hm-shop-page nav.woocommerce-pagination ul li .page-numbers{
  display:grid;
  place-items:center;
  min-width:46px;
  height:46px;
  padding:0 14px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:#fff;
  color:#0f172a;
  font-weight:700;
}

.hm-shop-page nav.woocommerce-pagination ul li .page-numbers.current,
.hm-shop-page nav.woocommerce-pagination ul li .page-numbers:hover{
  background:#124434;
  border-color:#124434;
  color:#fff;
}

.hm-visual-single__sidebar{
  position:sticky;
  top:0;
  padding-bottom:10px;
}

@media (max-width: 991px){
  .hm-shop-hero__inner{
    grid-template-columns:1fr;
  }

  .hm-shop-hero__meta{
    justify-content:flex-start;
  }

  .hm-shop-page ul.products{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

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

  .hm-home-narratives-feature{
    grid-template-columns:minmax(0, 1.5fr) minmax(260px, 1fr);
    min-height:clamp(240px, 42vh, 460px);
  }

  .hm-home-narratives-feature__content{
    padding:22px 24px;
  }

  .hm-home-narratives-feature__title{
    font-size:clamp(1.15rem, 2vw, 1.5rem);
  }

  .hm-home-narratives-feature__excerpt{
    -webkit-line-clamp:4;
    font-size:.92rem;
  }

  .hm-visual-single__layout{
    grid-template-columns:1fr;
  }

  .hm-visual-single__sidebar{
    position:static;
  }

  .hm-video-single__media iframe{
    min-height:320px;
  }

  .hm-product-single__layout{
    grid-template-columns:1fr;
  }

  .hm-product-single__summary-column{
    position:static;
  }

}

@media (max-width: 680px){
  .hm-shop-page ul.products{
    grid-template-columns:1fr;
  }

  .hm-shop-card__actions{
    grid-template-columns:1fr;
  }

  .hm-product-single__summary-card,
  .hm-product-single__details .woocommerce-tabs,
  .hm-product-single__details .related,
  .hm-product-single__details .up-sells,
  .hm-product-single__gallery-card{
    padding:18px;
    border-radius:18px;
  }

  .hm-product-single__gallery-card .flex-control-thumbs{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .hm-product-single__details .up-sells .products{
    grid-template-columns:1fr;
  }

  .hm-related-products{
    padding:18px;
    border-radius:18px;
  }

  .hm-product-single__summary-card .product_title{
    font-size:1.8rem;
  }
}

@media (max-width: 991px){
  .hm-related-products__grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:12px;
  }

  .hm-related-products__grid li.product{
    padding:12px;
    border-radius:16px;
  }

  .hm-related-products__grid li.product a img{
    margin-bottom:10px;
    border-radius:12px;
  }

  .hm-related-products__grid li.product .woocommerce-loop-product__title{
    min-height:0;
    font-size:.92rem;
    line-height:1.3;
  }

  .hm-related-products__grid li.product .price{
    font-size:.95rem;
    padding-top:8px;
  }
}

@media (max-width: 640px){
  .hm-shop-hero{
    padding-top:28px;
  }

  .hm-shop-hero__inner{
    padding:24px 20px;
  }

  .hm-shop-toolbar{
    padding:16px;
  }

  .hm-visuals-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .hm-home-narratives-slider-wrap{
    padding:0 16px;
  }

  .hm-home-narratives-nav{
    display:none;
  }

  .hm-home-narratives-feature{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .hm-home-narratives-feature__media{
    min-height:240px;
  }

  .hm-home-narratives-feature__content{
    padding:18px 18px 20px;
  }

  .hm-home-narratives-feature__title{
    font-size:1.2rem;
  }

  .hm-home-narratives-feature__excerpt{
    -webkit-line-clamp:3;
    font-size:.9rem;
  }

  .hm-visual-single__image,
  .hm-visual-single__placeholder{
    min-height:260px;
    max-height:340px;
  }

  .hm-visual-single__title{
    font-size:1.5rem;
  }

  .hm-visual-single__overlay{
    left:0;
    right:auto;
    bottom:0;
    max-width:calc(100% - 14px);
    padding:16px 18px;
    border-radius:0 18px 0 0;
  }

  .hm-video-single__media iframe{
    min-height:220px;
  }

}

.hm-social-links{
  display:flex;
  align-items:center;
  gap:10px;
  --hm-social-icon-size:20px;
}

.hm-social-links .hm-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:calc(var(--hm-social-icon-size) + 16px);
  height:calc(var(--hm-social-icon-size) + 16px);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid transparent;
  color:inherit;
  transition:transform .2s ease, background .2s ease;
}

.hm-social-links .hm-social-link:hover{
  background:rgba(255,255,255,.18);
  transform:translateY(-2px);
}

.hm-social-links .hm-social-link svg,
.hm-social-links .hm-social-link img{
  width:var(--hm-social-icon-size);
  height:var(--hm-social-icon-size);
  display:block;
}

.hm-logo-about-widget{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.hm-logo-about-widget__logo-wrap{
  display:block;
}

.hm-logo-about-widget__logo{
  display:block;
  max-width:min(100%, 220px);
  width:auto;
  height:auto;
}

.hm-logo-about-widget__divider{
  width:100%;
  border-radius:999px;
}

.hm-logo-about-widget__text{
  color:inherit;
}

.hm-logo-about-widget__text p{
  margin:0 0 12px;
}

.hm-logo-about-widget__text p:last-child{
  margin-bottom:0;
}

.hm-social-links--outline .hm-social-link{
  background:transparent;
  border-color:currentColor;
}

.hm-social-links--plain .hm-social-link{
  width:auto;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}

/* Blog cards: separated media (4:3) + body */
.hm-blog-grid{
  display:grid;
  gap:20px;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.hm-blog-grid--split{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.hm-blog-grid--magazine{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
}

.hm-archive-shell{
  padding:24px 0 40px;
}

.hm-archive-header{
  margin:0 0 22px;
  padding:22px 24px;
  border:1px solid #e5e7eb;
  border-radius:24px;
  background:linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:0 18px 50px rgba(15, 23, 42, 0.06);
}

.hm-archive-header--search{
  background:
    radial-gradient(circle at top right, rgba(14, 116, 144, 0.12), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}

.hm-archive-eyebrow{
  margin:0 0 10px;
  color:#0f766e;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.hm-archive-title{
  margin:0 0 8px;
  color:#0f172a;
}

.hm-archive-description{
  color:#475569;
  line-height:1.7;
}

.hm-archive-description p:last-child{
  margin-bottom:0;
}

.hm-archive-meta{
  margin:12px 0 0;
  color:#64748b;
  font-size:.95rem;
  font-weight:700;
}

.hm-search-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.hm-search-filter{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid #cbd5e1;
  border-radius:999px;
  background:#fff;
  color:#334155;
  font-size:.92rem;
  font-weight:700;
  text-decoration:none;
  transition:all .25s ease;
}

.hm-search-filter:hover{
  border-color:#94a3b8;
  color:#0f172a;
  transform:translateY(-1px);
}

.hm-search-filter.is-active{
  border-color:#0f172a;
  background:#0f172a;
  color:#fff;
  box-shadow:0 14px 28px rgba(15, 23, 42, 0.16);
}

.hm-archive-pagination-space{
  height:18px;
}

.hm-blog-after-header-image{
  position:relative;
  width:100%;
  height:450px;
  overflow:hidden;
  background:#0f172a;
}

.hm-blog-after-header-image::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  background:linear-gradient(180deg, rgba(15,23,42,0) 0%, rgba(255,255,255,0.92) 70%, #ffffff 100%);
  pointer-events:none;
}

.hm-blog-after-header-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.hm-pagination{
  display:flex;
  justify-content:center;
  margin:0 auto;
}

.hm-pagination__inner{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:0 18px 40px rgba(15, 23, 42, 0.08);
}

.hm-pagination .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid transparent;
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
  line-height:1;
  transition:all .22s ease;
}

.hm-pagination a.page-numbers:hover{
  border-color:#cbd5e1;
  background:#fff;
  transform:translateY(-1px);
}

.hm-pagination .hm-pagination__number.current,
.hm-pagination .hm-pagination__number.is-current{
  border-color:#0f172a;
  background:#0f172a;
  color:#fff;
  box-shadow:0 14px 26px rgba(15, 23, 42, 0.18);
}

.hm-pagination .hm-pagination__control{
  min-width:auto;
  padding:0 16px;
  background:#ecfdf5;
  color:#0f766e;
}

.hm-pagination .hm-pagination__control:hover{
  border-color:#99f6e4;
  background:#d1fae5;
  color:#115e59;
}

.hm-pagination .hm-pagination__dots{
  min-width:auto;
  padding:0 4px;
  color:#94a3b8;
}

@media (max-width: 640px){
  .hm-blog-after-header-image{
    height:280px;
  }

  .hm-pagination__inner{
    gap:8px;
    padding:10px;
    border-radius:24px;
  }

  .hm-pagination .page-numbers{
    min-width:38px;
    height:38px;
    padding:0 12px;
    font-size:14px;
  }
}

.hm-search-empty-state{
  padding:20px 0 8px;
}

.hm-search-empty-state__inner{
  max-width:760px;
  margin:0 auto;
  padding:34px 28px;
  border:1px solid #e5e7eb;
  border-radius:26px;
  background:linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
  box-shadow:0 22px 70px rgba(15, 23, 42, 0.08);
  text-align:center;
}

.hm-search-empty-state__eyebrow{
  margin:0 0 10px;
  color:#0f766e;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.hm-search-empty-state__title{
  margin:0 0 10px;
  color:#0f172a;
}

.hm-search-empty-state__text{
  margin:0 auto 20px;
  max-width:52ch;
  color:#475569;
  line-height:1.75;
}

.hm-search-empty-state__search{
  margin:0 auto;
  max-width:560px;
}

.hm-search-empty-state__search form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
}

.hm-search-empty-state__search input[type="search"]{
  width:100%;
  min-height:54px;
  padding:0 18px;
  border:1px solid #cbd5e1;
  border-radius:16px;
  background:#fff;
}

.hm-search-empty-state__search button,
.hm-search-empty-state__search input[type="submit"]{
  min-height:54px;
  padding:0 20px;
  border:0;
  border-radius:16px;
  background:#0f172a;
  color:#fff;
  font-weight:700;
}

.hm-search-empty-state__actions{
  margin-top:16px;
}

.hm-blog-card{
  height:100%;
  display:flex;
  flex-direction:column;
  border:1px solid #e5e7eb;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}

.hm-blog-card-media{
  display:block;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#f3f4f6;
  text-decoration:none;
  position:relative;
}

.hm-blog-card-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--hm-news-hover-overlay-color, rgba(15, 23, 42, 0.22));
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}

.hm-blog-card-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s ease;
  transform-origin:center center;
}

.hm-blog-card:hover .hm-blog-card-img{
  transform:scale(1.08) rotate(1.4deg);
}

.hm-blog-card:hover .hm-blog-card-media::after{
  opacity:1;
}

.hm-blog-card-body{
  padding:14px 16px 12px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.hm-blog-card-date{
  margin:0 0 6px;
  font-size:13px;
  color:#6b7280;
}

.hm-blog-card-title{
  margin:0 0 8px;
  color:#111827;
  font-size:1.35rem;
  line-height:1.2;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.hm-blog-card-title a{
  color:inherit;
  text-decoration:none;
}
.hm-blog-card-title a:hover{
  text-decoration:underline;
}

.hm-blog-card-excerpt{
  margin:0;
  color:#4b5563;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.hm-blog-card-content{
  padding:8px 0 10px;
  border-top:1px solid #e5e7eb;
}

.hm-blog-card-readmore-wrap{
  padding-top:10px;
  border-top:1px solid #e5e7eb;
}

.hm-blog-card-readmore{
  display:inline-flex;
  align-items:center;
  font-weight:700;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#111827;
  text-decoration:none;
}
.hm-blog-card-readmore:hover{
  text-decoration:underline;
}

.hm-blog-list,
.hm-blog-minimal-list{
  display:grid;
  gap:18px;
}

.hm-blog-item{
  display:grid;
  gap:18px;
}

.hm-blog-item--list{
  grid-template-columns:minmax(220px, 320px) minmax(0, 1fr);
  align-items:stretch;
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#fff;
}

.hm-blog-item__media{
  display:block;
  min-height:220px;
  border-radius:16px;
  overflow:hidden;
  background:#f3f4f6;
}

.hm-blog-item__media .hm-blog-card-img{
  height:100%;
}

.hm-blog-item__content{
  display:grid;
  gap:10px;
  align-content:start;
}

.hm-blog-item__readmore{
  padding-top:10px;
}

.hm-blog-item--minimal{
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
  padding:0 0 18px;
  border-bottom:1px solid #e5e7eb;
}

.hm-blog-item--minimal .hm-blog-card-title{
  font-size:1.25rem;
  margin:0;
}

.hm-blog-item--minimal .hm-blog-card-excerpt{
  -webkit-line-clamp:2;
}

.hm-blog-featured-card{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr);
  gap:0;
  border:1px solid #e5e7eb;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  grid-column:1 / -1;
}

.hm-blog-featured-card__media{
  display:block;
  min-height:360px;
  background:#f3f4f6;
}

.hm-blog-featured-card__media .hm-blog-card-img{
  height:100%;
}

.hm-blog-featured-card__body{
  display:grid;
  align-content:center;
  gap:14px;
  padding:26px;
}

.hm-blog-card--magazine-featured{
  grid-column:span 2;
}

.hm-blog-card--magazine-featured .hm-blog-card-media{
  aspect-ratio:16 / 9;
}

.hm-video-card-media{
  position:relative;
}

.hm-video-card .hm-blog-card-media::after{
  display:none;
}

.hm-video-card:hover .hm-blog-card-img{
  transform:none;
}

.hm-video-card-player,
.hm-video-card-player iframe{
  width:100%;
  height:100%;
}

.hm-video-card-player--inline{
  aspect-ratio:4 / 3;
  background:#111827;
}

.hm-video-card-player iframe{
  display:block;
  border:0;
}

.hm-video-card-body{
  justify-content:space-between;
}

.hm-video-card-content{
  padding:0;
  border-top:0;
}

.hm-video-card .hm-blog-card-title{
  margin:0;
}

/* Single post: huge featured image + transparent panel */
.hm-post-featured{
  position:relative;
  width:100%;
  height:68vh;
  min-height:440px;
  overflow:hidden;
  margin-bottom:28px;
  background:#111827;
}

.hm-post-featured-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hm-post-featured-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:flex-end;
  padding:26px 0;
  background:linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,.2), transparent);
}

.hm-post-featured-panel{
  width:100%;
  max-width:none;
  background:rgba(17,24,39,.38);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  padding:18px 20px;
  backdrop-filter: blur(2px);
}

.hm-post-featured-date{
  margin:0 0 8px;
  color:rgba(255,255,255,.84);
  font-size:14px;
}

.hm-post-featured-title{
  margin:0 0 10px;
  color:#fff;
  font-size:1.76rem;
  line-height:1.15;
}

.hm-post-featured-summary{
  margin:0;
  color:rgba(255,255,255,.9);
  line-height:1.65;
}

@media (max-width: 960px){
  .hm-archive-header,
  .hm-search-empty-state__inner{
    padding:20px 18px;
    border-radius:20px;
  }

  .hm-search-filter-bar{
    gap:8px;
  }

  .hm-search-empty-state__search form{
    grid-template-columns:1fr;
  }

  .hm-blog-grid{grid-template-columns:1fr}
  .hm-blog-grid--split,
  .hm-blog-grid--magazine,
  .hm-blog-item--list,
  .hm-blog-item--minimal,
  .hm-blog-featured-card{
    grid-template-columns:1fr;
  }
  .hm-blog-card--magazine-featured{
    grid-column:auto;
  }
  .hm-blog-featured-card__media,
  .hm-blog-item__media{
    min-height:240px;
  }
  .hm-post-featured{
    height:48vh;
    min-height:320px;
  }
  .hm-post-featured-title{font-size:1.43rem}
  .hm-post-featured-panel{padding:14px 16px}
}

/* Comments: compact card style */
.comments-area,
#comments{
  margin-top:26px;
  margin-bottom:20px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  padding:16px;
}

.comments-area .comments-title,
.comments-area .comment-reply-title,
#comments .comments-title,
#comments .comment-reply-title{
  margin:0 0 12px;
  font-size:1.1rem;
}

.comments-area .comment-list,
#comments .comment-list,
#comments ol.comment-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.comments-area .comment,
#comments .comment{
  list-style:none;
}

.comments-area .comment-body,
#comments .comment-body{
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  padding:12px 14px;
}

.comments-area .comment-meta,
#comments .comment-meta{
  margin:0 0 8px;
  font-size:13px;
  color:#6b7280;
}

.comments-area .comment-content p,
#comments .comment-content p{
  margin:0 0 8px;
  line-height:1.6;
}

.comments-area .reply a,
#comments .reply a{
  display:inline-flex;
  align-items:center;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}

.comments-area .reply a:hover,
#comments .reply a:hover{
  text-decoration:underline;
}

.comments-area .children,
#comments .children{
  list-style:none;
  margin:10px 0 0 14px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.comments-area .comment-respond,
#comments .comment-respond,
.comment-respond{
  margin-top:16px;
  border-top:1px solid #e5e7eb;
  padding-top:14px;
}

.comments-area .comment-form,
#comments .comment-form,
.comment-respond .comment-form{
  display:grid;
  gap:10px;
}

.comments-area .comment-form input[type="text"],
.comments-area .comment-form input[type="email"],
.comments-area .comment-form input[type="url"],
.comments-area .comment-form textarea,
#comments .comment-form input[type="text"],
#comments .comment-form input[type="email"],
#comments .comment-form input[type="url"],
#comments .comment-form textarea,
.comment-respond .comment-form input[type="text"],
.comment-respond .comment-form input[type="email"],
.comment-respond .comment-form input[type="url"],
.comment-respond .comment-form textarea{
  width:100%;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
}

.comments-area .comment-form textarea,
#comments .comment-form textarea,
.comment-respond .comment-form textarea{
  min-height:120px;
  resize:vertical;
}

.comments-area .form-submit,
#comments .form-submit,
.comment-respond .form-submit{
  margin:0 0 20px;
}

.comments-area .form-submit input[type="submit"],
#comments .form-submit input[type="submit"],
.comment-respond .form-submit input[type="submit"]{
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:10px 14px;
  background:#fff;
  cursor:pointer;
  font-weight:700;
}

/* Homepage random projects slider */
.hm-home-projects-slider{
  padding:20px 0 28px;
  background:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}
.hm-home-products-slider{
  padding:20px 0 28px;
  background:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}
.hm-home-projects-slider-wrap{
  position:relative;
  padding:0 46px;
}
.hm-home-products-slider-wrap{
  position:relative;
  padding:0 46px;
}
.hm-home-news-slider-wrap{
  position:relative;
  padding:0 46px;
}
.hm-home-projects-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:12px;
}
.hm-home-products-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:12px;
}
.hm-home-projects-title{
  margin:0;
  font-size:1.25rem;
  width:100%;
  text-align:center;
}
.hm-home-products-title{
  margin:0;
  font-size:1.25rem;
  width:100%;
  text-align:center;
}
.hm-home-projects-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:6px;
  -ms-overflow-style:none;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.hm-home-products-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:6px;
  -ms-overflow-style:none;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.hm-home-projects-track.is-dragging{
  cursor:grabbing;
}
.hm-home-products-track.is-dragging{
  cursor:grabbing;
}
.hm-home-projects-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  line-height:1;
  font-size:46px;
  opacity:.55;
  padding:0;
}
.hm-home-news-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  line-height:1;
  font-size:46px;
  opacity:.55;
  padding:0;
}
.hm-home-products-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:auto;
  height:auto;
  border:0;
  border-radius:0;
  background:transparent;
  color:#111827;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3;
  line-height:1;
  font-size:46px;
  opacity:.55;
  padding:0;
}
.hm-home-projects-nav--prev{
  left:8px;
}
.hm-home-projects-nav--next{
  right:8px;
}
.hm-home-news-nav--prev{
  left:8px;
}
.hm-home-news-nav--next{
  right:8px;
}
.hm-home-products-nav--prev{
  left:8px;
}
.hm-home-products-nav--next{
  right:8px;
}
.hm-home-projects-track::-webkit-scrollbar{
  display:none;
}
.hm-home-products-track::-webkit-scrollbar{
  display:none;
}
.hm-home-project-slide{
  flex:0 0 calc((100% - 32px) / 3);
  width:calc((100% - 32px) / 3);
  max-width:calc((100% - 32px) / 3);
  min-width:0;
  scroll-snap-align:start;
}
.hm-home-product-slide{
  flex:0 0 calc((100% - 32px) / 3);
  width:calc((100% - 32px) / 3);
  max-width:calc((100% - 32px) / 3);
  min-width:0;
  scroll-snap-align:start;
}

/* Force 3 cards per row on desktop */
@media (min-width: 961px){
  .hm-home-projects-track > .hm-home-project-slide{
    flex:0 0 calc((100% - 32px) / 3) !important;
    width:calc((100% - 32px) / 3) !important;
    max-width:calc((100% - 32px) / 3) !important;
    min-width:0 !important;
  }
  .hm-home-news-track > .hm-home-news-slide{
    flex:0 0 calc((100% - 32px) / 3) !important;
    width:calc((100% - 32px) / 3) !important;
    max-width:calc((100% - 32px) / 3) !important;
    min-width:0 !important;
  }
  .hm-home-products-track > .hm-home-product-slide{
    flex:0 0 calc((100% - 32px) / 3) !important;
    width:calc((100% - 32px) / 3) !important;
    max-width:calc((100% - 32px) / 3) !important;
    min-width:0 !important;
  }
}
.hm-home-project-slide .hm-project-title{
  font-size:1.35rem;
  line-height:1.2;
}
.hm-home-project-slide .hm-project-excerpt{
  font-size:.95rem;
}
.hm-home-product-slide .hm-project-title{
  font-size:1.2rem;
  line-height:1.25;
}
.hm-home-projects-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:14px;
}
.hm-home-projects-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  border:0;
  background:#d1d5db;
  cursor:pointer;
  padding:0;
}
.hm-home-projects-dot.is-active{
  width:22px;
  background:#111827;
}
.hm-home-products-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin-top:14px;
}
.hm-home-products-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  border:0;
  background:#d1d5db;
  cursor:pointer;
  padding:0;
}
.hm-home-products-dot.is-active{
  width:22px;
  background:#111827;
}
.hm-home-product-thumb{
  position:relative;
}
.hm-home-product-thumb img{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  display:block;
}
.hm-home-product-badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  padding:6px 10px;
  border-radius:999px;
  background:var(--hm-cta-bg, #124434);
  color:var(--hm-cta-text, #fff);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.hm-home-product-body{
  gap:10px;
}
.hm-home-product-title-card{
  min-height:3em;
}
.hm-home-product-price{
  font-size:1rem;
  font-weight:800;
  color:#111827;
}
.hm-home-product-price del{
  opacity:.55;
  margin-right:6px;
}
.hm-home-product-price ins{
  text-decoration:none;
}
.hm-home-product-actions{
  margin-top:auto;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.hm-home-product-actions .hm-btn{
  width:100%;
  min-height:44px;
}
.hm-home-product-actions .hm-btn-primary{
  background:var(--hm-product-cart-bg, #e5e7eb);
  border-color:var(--hm-product-cart-bg, #e5e7eb);
  color:var(--hm-product-cart-text, #0f172a);
}
.hm-home-product-actions .hm-btn-primary:hover{
  background:var(--hm-product-cart-bg-hover, #cbd5e1);
  border-color:var(--hm-product-cart-bg-hover, #cbd5e1);
  color:var(--hm-product-cart-text, #0f172a);
}

/* Homepage split section between projects and news */
.hm-home-split-section{
  padding:20px 0;
  background:var(--hm-home-split-bg, #fff);
  color:var(--hm-home-split-text, #111827);
}
.hm-home-split-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  align-items:start;
}
.hm-home-split-grid--50-50{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.hm-home-split-grid--33-67{
  grid-template-columns:minmax(0, 33fr) minmax(0, 67fr);
}
.hm-home-split-grid--67-33{
  grid-template-columns:minmax(0, 67fr) minmax(0, 33fr);
}
.hm-home-split-grid--25-50-25{
  grid-template-columns:minmax(0, 25fr) minmax(0, 50fr) minmax(0, 25fr);
}
.hm-home-split-col{
  min-width:0;
  overflow:hidden;
  color:inherit;
}
.hm-home-split-col a{
  color:inherit;
}

/* Homepage news slider */
.hm-home-news-slider{
  padding:20px 0 8px;
}
.hm-home-news-head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:12px;
}
.hm-home-news-title{
  margin:0;
  font-size:1.25rem;
  width:100%;
  text-align:center;
}
.hm-home-news-track{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding-bottom:6px;
  -ms-overflow-style:none;
  scrollbar-width:none;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
}
.hm-home-news-track.is-dragging{
  cursor:grabbing;
}
.hm-home-news-track::-webkit-scrollbar{
  display:none;
}
.hm-home-news-slide{
  flex:0 0 calc((100% - 32px) / 3);
  width:calc((100% - 32px) / 3);
  max-width:calc((100% - 32px) / 3);
  min-width:0;
  scroll-snap-align:start;
}
.hm-home-news-slide .hm-project-thumb{
  position:relative;
}
.hm-home-news-slide .hm-project-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--hm-news-hover-overlay-color, rgba(15, 23, 42, 0.22));
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
.hm-home-news-slide .hm-project-thumb img{
  transition:transform .45s ease;
  transform-origin:center center;
}
.hm-home-news-slide:hover .hm-project-thumb img{
  transform:scale(1.08) rotate(1.4deg);
}
.hm-home-news-slide:hover .hm-project-thumb::after{
  opacity:1;
}
.hm-home-news-slide .hm-project-title{
  font-size:1.35rem;
  line-height:1.2;
}
.hm-home-news-slide .hm-project-excerpt{
  font-size:.95rem;
}
.hm-home-news-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:18px;
  flex-wrap:wrap;
}
.hm-home-news-dot{
  min-width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid #d1d5db;
  background:#fff;
  color:#111827;
  cursor:pointer;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.9rem;
  font-weight:700;
  line-height:1;
  transition:all .2s ease;
}
.hm-home-news-dot.is-active{
  background:#111827;
  border-color:#111827;
  color:#fff;
}
.hm-posts-slider--magazine .hm-home-news-slide{
  display:block;
}
.hm-posts-slider--magazine .hm-blog-card{
  height:100%;
}
.hm-posts-slider--magazine .hm-blog-card-media{
  min-height:220px;
}
.hm-news-category-groups{
  padding:20px 0 8px;
}
.hm-news-category-groups__head{
  margin:0 0 18px;
}
.hm-news-category-groups__title{
  margin:0;
  text-align:center;
  font-size:1.5rem;
}
.hm-news-category-group{
  margin:0 0 28px;
}
.hm-news-category-group:last-child{
  margin-bottom:0;
}
.hm-news-category-group__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 14px;
}
.hm-news-category-group__title{
  margin:0;
  font-size:1.2rem;
}
.hm-news-category-group__link{
  text-decoration:none;
  font-weight:600;
}
.hm-news-category-group__grid{
  margin:0;
}

@media (max-width: 960px){
  .hm-home-projects-slider-wrap{
    padding:0 34px;
  }
  .hm-home-products-slider-wrap{
    padding:0 34px;
  }
  .hm-home-news-slider-wrap{
    padding:0 34px;
  }
  .hm-home-projects-nav{
    font-size:38px;
  }
  .hm-home-products-nav{
    font-size:38px;
  }
  .hm-home-news-nav{
    font-size:38px;
  }
  .hm-home-projects-nav--prev{
    left:4px;
  }
  .hm-home-projects-nav--next{
    right:4px;
  }
  .hm-home-news-nav--prev{
    left:4px;
  }
  .hm-home-news-nav--next{
    right:4px;
  }
  .hm-home-products-nav--prev{
    left:4px;
  }
  .hm-home-products-nav--next{
    right:4px;
  }
  .hm-home-project-slide{
    flex:0 0 calc((100% - 16px) / 2);
    min-width:0;
  }
  .hm-home-product-slide{
    flex:0 0 calc((100% - 16px) / 2);
    min-width:0;
  }
  .hm-home-news-slide{
    flex:0 0 calc((100% - 16px) / 2);
    min-width:0;
  }
  .hm-news-category-group__head{
    flex-wrap:wrap;
  }
  .hm-home-split-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .hm-home-projects-nav{
    display:none;
  }
  .hm-home-products-nav{
    display:none;
  }
  .hm-home-news-nav{
    display:none;
  }
  .hm-home-projects-head{
    flex-wrap:wrap;
  }
  .hm-home-project-slide{
    flex:0 0 100%;
    min-width:100%;
  }
  .hm-home-product-slide{
    flex:0 0 100%;
    min-width:100%;
  }
  .hm-home-news-head{
    flex-wrap:wrap;
  }
  .hm-home-news-slide{
    flex:0 0 100%;
    min-width:100%;
  }
  .hm-posts-slider--magazine .hm-home-news-slide{
    width:100%;
    max-width:100%;
  }
}

/* Homepage 3-column text block */
.hm-home-after-header-shortcode{
  position:relative;
  z-index:1;
  padding-bottom:42px;
}
.hm-home-after-header-shortcode + .hm-home-three-cols{
  margin-top:-42px;
  position:relative;
  z-index:3;
}
.hm-home-three-cols{
  padding:16px 0 10px;
}
.hm-home-three-cols--full .hm-home-three-cols-wrap{
  width:100%;
  margin:0;
  padding:0;
}
.hm-home-three-cols--full{
  margin:0;
  padding:0;
}
.hm-home-three-cols--full .hm-home-three-cols-grid{
  width:100%;
  margin:0;
  padding:0;
  gap:0;
}
.hm-home-three-cols--full .hm-home-three-col{
  margin:0;
  padding:20px 0;
  border:0;
  border-radius:0;
}
.hm-home-three-cols--full.hm-home-three-cols--full-with-borders .hm-home-three-col{
  border:1px solid var(--hm-home-three-cols-border, #e5e7eb);
}
.hm-home-three-cols-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.hm-home-separator{
  width:100%;
  display:block;
  flex:0 0 auto;
}
.hm-home-image-placeholder{
  width:100%;
}
.hm-home-image-placeholder--boxed{
  padding:0 0 28px;
}
.hm-home-image-placeholder--full{
  padding:0 0 28px;
}
.hm-home-image-placeholder__frame{
  position:relative;
  overflow:hidden;
  background:#e5e7eb;
}
.hm-home-image-placeholder__frame--boxed{
  border-radius:22px;
}
.hm-home-image-placeholder__frame img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hm-home-cta-banner{
  padding:18px 0;
}
.hm-home-cta-banner__inner{
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) auto;
  gap:20px;
  align-items:center;
  padding:28px 32px;
  border-radius:28px;
  background:linear-gradient(135deg, var(--hm-home-cta-bg, #124434), color-mix(in srgb, var(--hm-home-cta-bg, #124434) 72%, #0f172a 28%));
  color:var(--hm-home-cta-text, #ffffff);
  box-shadow:0 26px 64px rgba(15,23,42,.14);
}
.hm-home-cta-banner__title{
  margin:0 0 10px;
  font-size:clamp(1.6rem, 3vw, 2.35rem);
  line-height:1.05;
  color:inherit;
}
.hm-home-cta-banner__text{
  margin:0;
  max-width:60ch;
  color:inherit;
  opacity:.92;
}
.hm-home-cta-banner__button.hm-btn-outline{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.hm-home-cta-banner__button.hm-btn-outline:hover{
  background:#fff;
  border-color:#fff;
  color:#0f172a;
}
.hm-home-form-block{
  padding:24px 0;
}
.hm-home-form-block__inner{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:24px;
  align-items:start;
  padding:28px;
  border-radius:28px;
  background:var(--hm-home-form-bg, #f8fafc);
  color:var(--hm-home-form-text, #111827);
  box-shadow:0 24px 70px rgba(15,23,42,.08);
}
.hm-home-form-block--newsletter .hm-home-form-block__inner{
  background:
    radial-gradient(circle at top right, rgba(56,189,248,.18), transparent 32%),
    var(--hm-home-form-bg, #0f172a);
}
.hm-home-form-block__title{
  margin:0 0 12px;
  color:var(--hm-home-form-text, #111827);
  font-size:clamp(1.6rem, 3vw, 2.35rem);
  line-height:1.08;
}
.hm-home-form-block__text{
  margin:0;
  color:color-mix(in srgb, var(--hm-home-form-text, #111827) 78%, transparent);
  line-height:1.72;
}
.hm-home-form-block__form{
  padding:24px;
  border:1px solid color-mix(in srgb, var(--hm-home-form-text, #111827) 10%, transparent);
  border-radius:22px;
  background:color-mix(in srgb, var(--hm-home-form-text, #111827) 3%, #ffffff);
}
.hm-home-form-block--newsletter .hm-home-form-block__form{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}

.hm-form-theme form,
.wpcf7 form,
.wpforms-container form,
.forminator-ui.forminator-custom-form,
.forminator-ui.forminator-design--default{
  display:grid;
  gap:14px;
}
.hm-form-theme label,
.wpcf7 label,
.wpforms-container label,
.forminator-ui label{
  display:block;
  margin-bottom:6px;
  font-weight:700;
}
.hm-form-theme input[type="text"],
.hm-form-theme input[type="email"],
.hm-form-theme input[type="url"],
.hm-form-theme input[type="tel"],
.hm-form-theme input[type="number"],
.hm-form-theme input[type="search"],
.hm-form-theme input[type="password"],
.hm-form-theme select,
.hm-form-theme textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="search"],
.wpcf7 select,
.wpcf7 textarea,
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="url"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container input[type="search"],
.wpforms-container select,
.wpforms-container textarea,
.forminator-ui input[type="text"],
.forminator-ui input[type="email"],
.forminator-ui input[type="url"],
.forminator-ui input[type="tel"],
.forminator-ui input[type="number"],
.forminator-ui input[type="search"],
.forminator-ui select,
.forminator-ui textarea{
  width:100%;
  min-height:52px;
  padding:0 16px;
  border:1px solid #cbd5e1;
  border-radius:16px;
  background:#fff;
  color:#0f172a;
  box-shadow:none;
}
.hm-form-theme textarea,
.wpcf7 textarea,
.wpforms-container textarea,
.forminator-ui textarea{
  min-height:150px;
  padding:14px 16px;
  resize:vertical;
}
.hm-home-form-block--newsletter .hm-form-theme input[type="text"],
.hm-home-form-block--newsletter .hm-form-theme input[type="email"],
.hm-home-form-block--newsletter .hm-form-theme input[type="url"],
.hm-home-form-block--newsletter .hm-form-theme input[type="tel"],
.hm-home-form-block--newsletter .hm-form-theme input[type="number"],
.hm-home-form-block--newsletter .hm-form-theme input[type="search"],
.hm-home-form-block--newsletter .hm-form-theme select,
.hm-home-form-block--newsletter .hm-form-theme textarea,
.hm-home-form-block--newsletter .wpcf7 input[type="text"],
.hm-home-form-block--newsletter .wpcf7 input[type="email"],
.hm-home-form-block--newsletter .wpcf7 input[type="url"],
.hm-home-form-block--newsletter .wpcf7 input[type="tel"],
.hm-home-form-block--newsletter .wpcf7 input[type="number"],
.hm-home-form-block--newsletter .wpcf7 input[type="search"],
.hm-home-form-block--newsletter .wpcf7 select,
.hm-home-form-block--newsletter .wpcf7 textarea,
.hm-home-form-block--newsletter .wpforms-container input[type="text"],
.hm-home-form-block--newsletter .wpforms-container input[type="email"],
.hm-home-form-block--newsletter .wpforms-container input[type="url"],
.hm-home-form-block--newsletter .wpforms-container input[type="tel"],
.hm-home-form-block--newsletter .wpforms-container input[type="number"],
.hm-home-form-block--newsletter .wpforms-container input[type="search"],
.hm-home-form-block--newsletter .wpforms-container select,
.hm-home-form-block--newsletter .wpforms-container textarea,
.hm-home-form-block--newsletter .forminator-ui input[type="text"],
.hm-home-form-block--newsletter .forminator-ui input[type="email"],
.hm-home-form-block--newsletter .forminator-ui input[type="url"],
.hm-home-form-block--newsletter .forminator-ui input[type="tel"],
.hm-home-form-block--newsletter .forminator-ui input[type="number"],
.hm-home-form-block--newsletter .forminator-ui input[type="search"],
.hm-home-form-block--newsletter .forminator-ui select,
.hm-home-form-block--newsletter .forminator-ui textarea{
  border-color:rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#f8fafc;
}
.hm-home-form-block--newsletter .hm-form-theme input::placeholder,
.hm-home-form-block--newsletter .hm-form-theme textarea::placeholder,
.hm-home-form-block--newsletter .wpcf7 input::placeholder,
.hm-home-form-block--newsletter .wpcf7 textarea::placeholder,
.hm-home-form-block--newsletter .wpforms-container input::placeholder,
.hm-home-form-block--newsletter .wpforms-container textarea::placeholder,
.hm-home-form-block--newsletter .forminator-ui input::placeholder,
.hm-home-form-block--newsletter .forminator-ui textarea::placeholder{
  color:rgba(248,250,252,.72);
}
.hm-form-theme input[type="submit"],
.hm-form-theme button[type="submit"],
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"],
.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"],
.forminator-ui button[type="submit"],
.forminator-ui input[type="submit"]{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:#0f172a;
  color:#fff;
  font-weight:800;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.hm-form-theme input[type="submit"]:hover,
.hm-form-theme button[type="submit"]:hover,
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover,
.wpforms-container button[type="submit"]:hover,
.wpforms-container input[type="submit"]:hover,
.forminator-ui button[type="submit"]:hover,
.forminator-ui input[type="submit"]:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 28px rgba(15,23,42,.18);
}
.hm-home-form-block--newsletter .hm-form-theme input[type="submit"],
.hm-home-form-block--newsletter .hm-form-theme button[type="submit"],
.hm-home-form-block--newsletter .wpcf7 input[type="submit"],
.hm-home-form-block--newsletter .wpcf7 button[type="submit"],
.hm-home-form-block--newsletter .wpforms-container button[type="submit"],
.hm-home-form-block--newsletter .wpforms-container input[type="submit"],
.hm-home-form-block--newsletter .forminator-ui button[type="submit"],
.hm-home-form-block--newsletter .forminator-ui input[type="submit"]{
  background:#38bdf8;
  color:#082f49;
}
.wpcf7-not-valid-tip,
.wpforms-error,
.forminator-error-message{
  font-size:.9rem;
}
.wpcf7-response-output,
.wpforms-confirmation-container,
.forminator-response-message{
  margin:8px 0 0 !important;
  border-radius:16px;
  padding:14px 16px !important;
}
.hm-home-stats-strip{
  padding:18px 0;
  color:var(--hm-home-stats-text, #ffffff);
}
.hm-home-stats-strip__head,
.hm-home-info-cards__head{
  margin-bottom:12px;
}
.hm-home-stats-strip__title,
.hm-home-info-cards__title{
  margin:0;
  font-size:1.25rem;
}
.hm-home-stats-strip__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.hm-home-stats-strip__item{
  padding:24px 18px;
  border-radius:22px;
  background:var(--hm-home-stats-bg, #0f172a);
  color:var(--hm-home-stats-text, #ffffff);
  text-align:center;
  box-shadow:0 20px 52px rgba(15,23,42,.14);
}
.hm-home-stats-strip__item strong{
  display:block;
  margin-bottom:6px;
  font-size:clamp(1.8rem, 4vw, 2.8rem);
  line-height:1;
}
.hm-home-info-cards{
  padding:18px 0;
}
.hm-home-info-cards__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.hm-home-info-cards__card{
  padding:24px 20px;
  border:1px solid #e2e8f0;
  border-radius:var(--hm-home-info-radius, 22px);
  background:var(--hm-home-info-bg, #f8fafc);
  color:var(--hm-home-info-text, #111827);
  box-shadow:0 18px 46px rgba(15,23,42,.06);
}
.hm-home-info-cards__card strong{
  display:block;
  margin-bottom:8px;
  font-size:1.15rem;
}
.hm-home-three-col{
  border:1px solid var(--hm-home-three-cols-border, #e5e7eb);
  border-radius:14px;
  background:var(--hm-home-three-cols-bg, #fff);
  color:var(--hm-home-three-cols-text, #111827);
  padding:35px 15px;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.hm-home-three-col p,
.hm-home-three-col h1,
.hm-home-three-col h2,
.hm-home-three-col h3,
.hm-home-three-col h4,
.hm-home-three-col h5,
.hm-home-three-col h6,
.hm-home-three-col ul,
.hm-home-three-col ol{
  text-align:center;
  width:100%;
}
.hm-home-three-col ul,
.hm-home-three-col ol{
  padding-left:0;
  list-style-position:inside;
}
.hm-home-three-cols-grid .hm-home-three-col:nth-child(1){
  border-color:var(--hm-home-col-1-border, var(--hm-home-three-cols-border, #e5e7eb));
  background:var(--hm-home-col-1-bg, var(--hm-home-three-cols-bg, #fff));
  color:var(--hm-home-col-1-text, var(--hm-home-three-cols-text, #111827));
  font-size:var(--hm-home-col-1-font-size, 16px);
  --hm-col-row-1-size:var(--hm-home-col-1-row-1-size, 18px);
  --hm-col-row-1-weight:var(--hm-home-col-1-row-1-weight, 700);
  --hm-col-row-2-size:var(--hm-home-col-1-row-2-size, 34px);
  --hm-col-row-2-weight:var(--hm-home-col-1-row-2-weight, 800);
  --hm-col-row-3-size:var(--hm-home-col-1-row-3-size, 16px);
  --hm-col-row-3-weight:var(--hm-home-col-1-row-3-weight, 600);
}
.hm-home-three-cols-grid .hm-home-three-col:nth-child(2){
  border-color:var(--hm-home-col-2-border, var(--hm-home-three-cols-border, #e5e7eb));
  background:var(--hm-home-col-2-bg, var(--hm-home-three-cols-bg, #fff));
  color:var(--hm-home-col-2-text, var(--hm-home-three-cols-text, #111827));
  font-size:var(--hm-home-col-2-font-size, 16px);
  --hm-col-row-1-size:var(--hm-home-col-2-row-1-size, 16px);
  --hm-col-row-1-weight:var(--hm-home-col-2-row-1-weight, 600);
  --hm-col-row-2-size:var(--hm-home-col-2-row-2-size, 16px);
  --hm-col-row-2-weight:var(--hm-home-col-2-row-2-weight, 600);
  --hm-col-row-3-size:var(--hm-home-col-2-row-3-size, 16px);
  --hm-col-row-3-weight:var(--hm-home-col-2-row-3-weight, 600);
}
.hm-home-three-cols-grid .hm-home-three-col:nth-child(3){
  border-color:var(--hm-home-col-3-border, var(--hm-home-three-cols-border, #e5e7eb));
  background:var(--hm-home-col-3-bg, var(--hm-home-three-cols-bg, #fff));
  color:var(--hm-home-col-3-text, var(--hm-home-three-cols-text, #111827));
  font-size:var(--hm-home-col-3-font-size, 16px);
  --hm-col-row-1-size:var(--hm-home-col-3-row-1-size, 16px);
  --hm-col-row-1-weight:var(--hm-home-col-3-row-1-weight, 600);
  --hm-col-row-2-size:var(--hm-home-col-3-row-2-size, 16px);
  --hm-col-row-2-weight:var(--hm-home-col-3-row-2-weight, 600);
  --hm-col-row-3-size:var(--hm-home-col-3-row-3-size, 16px);
  --hm-col-row-3-weight:var(--hm-home-col-3-row-3-weight, 600);
}
.hm-home-three-col > :first-child{
  margin-top:0;
}
.hm-home-three-col > :last-child{
  margin-bottom:0;
}
.hm-home-col-row + .hm-home-col-row{
  margin-top:10px;
  padding-top:0;
  border-top:0;
}
.hm-home-col-row p{
  margin:0;
}
.hm-home-col-row--1{
  font-size:var(--hm-col-row-1-size, 16px);
  font-weight:var(--hm-col-row-1-weight, 600);
}
.hm-home-col-row--2{
  font-size:var(--hm-col-row-2-size, 16px);
  font-weight:var(--hm-col-row-2-weight, 600);
}
.hm-home-col-row--3{
  font-size:var(--hm-col-row-3-size, 16px);
  font-weight:var(--hm-col-row-3-weight, 600);
}
.hm-home-col-segment--counter{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:4px;
  font-weight:800;
  line-height:1;
}
.hm-home-col-segment--icon-text{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
}
.hm-home-col-icon{
  display:inline-flex;
  line-height:1;
}
.hm-home-col-icon svg{
  display:block;
}
.hm-home-col-segment--icon-text > *{
  margin:0;
}
.hm-home-col-segment--cta{
  display:flex;
  justify-content:center;
}
.hm-animated-counter{
  font-size:1em;
}
.hm-animated-counter-suffix{
  font-size:1.25rem;
}

@media (max-width: 960px){
  .hm-home-cta-banner__inner{
    grid-template-columns:1fr;
    align-items:start;
  }
  .hm-home-form-block__inner{
    grid-template-columns:1fr;
    padding:22px;
  }
  .hm-home-stats-strip__grid,
  .hm-home-info-cards__grid{
    grid-template-columns:1fr;
  }
  .hm-home-after-header-shortcode{
    padding-bottom:22px;
  }
  .hm-home-after-header-shortcode + .hm-home-three-cols{
    margin-top:-22px;
  }
  .hm-home-three-cols-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .hm-home-after-header-shortcode{
    padding-bottom:0;
  }
  .hm-home-after-header-shortcode + .hm-home-three-cols{
    margin-top:0;
  }
}

/* Gutenberg featured gallery: one large image + thumbnails */
.hm-gb-gallery-wrap{
  margin:24px 0;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:16px;
  width:100%;
  max-width:none;
}
.hm-gb-gallery-main{
  border-radius:14px;
  overflow:hidden;
  background:#f3f4f6;
  height:clamp(280px, 55vh, 640px);
  display:flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  max-width:100%;
  margin:0 auto;
  cursor:zoom-in;
}
.hm-gb-gallery-main img{
  width:auto;
  height:100%;
  display:block;
  max-width:100%;
  object-fit:contain;
}
.hm-gb-gallery-thumbs-row{
  display:grid;
  grid-template-columns:40px minmax(0, 1fr) 40px;
  gap:10px;
  align-items:center;
}
.hm-gb-gallery-thumbs{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-behavior:smooth;
}
.hm-gb-gallery-thumbs::-webkit-scrollbar{
  display:none;
}
.hm-gb-gallery-thumb{
  appearance:none;
  border:2px solid transparent;
  background:#fff;
  padding:0;
  border-radius:10px;
  overflow:hidden;
  cursor:pointer;
  flex:0 0 96px;
}
.hm-gb-gallery-thumb img{
  width:96px;
  height:72px;
  object-fit:cover;
  display:block;
}
.hm-gb-gallery-thumb.is-active{
  border-color:#1a73e8;
}
.hm-gb-gallery-nav{
  appearance:none;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  color:#0f172a;
  border-radius:12px;
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 1px 2px rgba(15, 23, 42, 0.06);
  line-height:1;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.hm-gb-gallery-nav:hover{
  background:#fff;
  border-color:#d1d5db;
  transform:translateY(-1px);
}
.hm-gb-gallery-nav svg{
  display:block;
}
.hm-gb-gallery-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.hm-gb-gallery-page-nav{
  appearance:none;
  border:0;
  background:#d1d5db;
  color:transparent;
  border-radius:999px;
  width:12px;
  height:5px;
  min-width:12px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease;
}
.hm-gb-gallery-page-nav.is-active{
  background:#111827;
  width:18px;
  min-width:18px;
}

body.hm-lightbox-open{
  overflow:hidden;
}
.hm-gb-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}
.hm-gb-lightbox.is-active{
  display:block;
}
.hm-gb-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(9, 12, 16, 0.84);
  backdrop-filter:blur(4px);
}

.hm-home-image-placeholder__frame{
  overflow:hidden;
}

.hm-home-image-placeholder__frame img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.hm-home-image-placeholder__frame--mask-blob{
  border-radius:36% 64% 58% 42% / 32% 38% 62% 68%;
}

.hm-home-image-placeholder__frame--mask-arch{
  border-radius:999px 999px 28px 28px / 58% 58% 14% 14%;
}

.hm-home-image-placeholder__frame--mask-hexagon{
  clip-path:polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0% 50%);
}

.hm-home-image-placeholder__frame--mask-diamond{
  clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.hm-home-image-placeholder__frame--mask-wave{
  clip-path:polygon(0% 10%, 12% 4%, 25% 8%, 38% 2%, 50% 7%, 63% 1%, 76% 6%, 88% 2%, 100% 10%, 100% 90%, 88% 98%, 75% 92%, 62% 99%, 50% 93%, 37% 98%, 24% 92%, 12% 97%, 0% 90%);
}

.hm-home-image-placeholder__frame--mask-custom{
  -webkit-mask-image:var(--hm-home-custom-mask);
  mask-image:var(--hm-home-custom-mask);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}

html.hm-utility-standalone,
body.hm-utility-standalone{
  margin:0;
  min-height:100vh;
  background:var(--hm-utility-bg, #0f172a);
}

body.hm-utility-standalone .hm-main.hm-utility{
  min-height:100vh;
}

.hm-back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:999;
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--hm-cta-bg, #124434);
  color:var(--hm-cta-text, #ffffff);
  box-shadow:0 16px 34px rgba(15,23,42,.22);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .24s ease, transform .24s ease, visibility .24s ease, background-color .2s ease;
}

.hm-back-to-top:hover,
.hm-back-to-top:focus-visible{
  background:var(--hm-cta-bg-hover, #0f3a2c);
  transform:translateY(0);
}

.hm-back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.hm-back-to-top__icon{
  line-height:0;
}

@media (max-width: 782px){
  .hm-back-to-top{
    right:16px;
    bottom:16px;
    width:44px;
    height:44px;
  }
}

.hm-utility-screen{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  padding:64px 0;
  background:
    linear-gradient(135deg, rgba(15,23,42,.84), rgba(15,23,42,.58)),
    var(--hm-utility-image, none),
    var(--hm-utility-bg, #0f172a);
  background-size:cover;
  background-position:center;
  color:var(--hm-utility-text, #f8fafc);
  overflow:hidden;
}

.hm-utility-screen__backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--hm-utility-accent, #38bdf8) 22%, transparent), transparent 38%),
    radial-gradient(circle at bottom right, rgba(255,255,255,.08), transparent 34%);
  pointer-events:none;
}

.hm-utility-screen__container{
  position:relative;
  z-index:1;
}

.hm-utility-screen__card{
  width:min(100%, 760px);
  padding:36px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:32px;
  background:rgba(15,23,42,.54);
  box-shadow:0 30px 80px rgba(2,6,23,.28);
  backdrop-filter:blur(12px);
}

.hm-utility-screen__eyebrow{
  display:inline-flex;
  margin-bottom:14px;
  padding:6px 12px;
  border-radius:999px;
  background:color-mix(in srgb, var(--hm-utility-accent, #38bdf8) 20%, transparent);
  color:var(--hm-utility-text, #f8fafc);
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.hm-utility-screen__title{
  margin:0 0 14px;
  font-size:clamp(2.2rem, 4vw, 4.4rem);
  line-height:1.05;
  color:var(--hm-utility-text, #f8fafc);
}

.hm-utility-screen__text{
  max-width:58ch;
  margin:0 0 22px;
  color:color-mix(in srgb, var(--hm-utility-text, #f8fafc) 84%, transparent);
  font-size:1.05rem;
}

.hm-utility-screen__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:24px;
}

.hm-utility-screen .hm-btn-primary{
  background:var(--hm-utility-accent, #38bdf8);
  border-color:var(--hm-utility-accent, #38bdf8);
  color:#082f49;
}

.hm-utility-screen__search{
  margin-top:10px;
}

.hm-utility-screen__search form{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.hm-utility-screen__search input[type="search"]{
  flex:1 1 280px;
  min-height:48px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  color:var(--hm-utility-text, #f8fafc);
}

.hm-utility-screen__search input[type="search"]::placeholder{
  color:rgba(255,255,255,.68);
}

@media (max-width: 767px){
  .hm-utility-screen{
    min-height:100vh;
    padding:40px 0;
  }

  .hm-utility-screen__card{
    padding:24px;
    border-radius:24px;
  }
}
.hm-gb-lightbox__dialog{
  position:relative;
  z-index:1;
  width:min(92vw, 1320px);
  height:min(88vh, 920px);
  margin:4vh auto 0;
  padding:28px;
  border-radius:22px;
  background:rgba(17, 22, 27, 0.96);
  border:1px solid rgba(255,255,255,.08);
  display:grid;
  gap:14px;
  align-content:center;
  justify-items:center;
}
.hm-gb-lightbox__img{
  max-width:100%;
  max-height:calc(88vh - 120px);
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  border-radius:14px;
}
.hm-gb-lightbox__caption{
  margin:0;
  color:#cbd5e1;
  text-align:center;
}
.hm-gb-lightbox__close{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:28px;
  line-height:1;
}
.hm-gb-lightbox__close:hover{
  background:rgba(255,255,255,.12);
}

/* Gutenberg hashtag buttons block */
.hm-hashtag-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

/* Office contact widget / Gutenberg block / Elementor widget */
.hm-office-contact{
  width:100%;
  max-width:100%;
  padding:24px;
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#ffffff;
}
.hm-office-contact .hm-office-contact__title{
  margin:0 0 24px;
  text-align:center;
  font-size:clamp(1.6rem, 2.5vw, 2.2rem);
  line-height:1.15;
}
.hm-office-contact .hm-office-contact__grid{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:24px !important;
  align-items:start !important;
}
.hm-office-contact .hm-office-contact__media,
.hm-office-contact .hm-office-contact__details{
  width:100%;
  min-width:0;
}
.hm-office-contact .hm-office-contact__media{
  display:block;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#f8fafc;
  overflow:hidden;
}
.hm-office-contact .hm-office-contact__image,
.hm-office-contact .hm-office-contact__media img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:320px !important;
  max-height:320px !important;
  min-height:0 !important;
  object-fit:cover;
  border-radius:14px;
}
.hm-office-contact .hm-office-contact__image-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:320px;
  border:1px dashed #cbd5e1;
  border-radius:14px;
  background:#eef2ff;
  color:#64748b;
  font-weight:600;
}
.hm-office-contact .hm-office-contact__details{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.hm-office-contact .hm-office-contact__rows{
  display:grid;
  gap:12px;
}
.hm-office-contact .hm-office-contact__row{
  display:grid;
  grid-template-columns:110px minmax(0, 1fr);
  gap:12px;
  align-items:start;
  padding:12px 14px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#f8fafc;
}
.hm-office-contact .hm-office-contact__row strong{
  color:#0f172a;
  font-size:.82rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.hm-office-contact .hm-office-contact__row span,
.hm-office-contact .hm-office-contact__row a{
  color:#475569;
  font-size:1rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}
.hm-office-contact .hm-office-contact__map{
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:20px;
  background:#f8fafc;
  overflow:hidden;
}
.hm-office-contact .hm-office-contact__map iframe{
  display:block;
  width:100% !important;
  height:260px !important;
  min-height:260px !important;
  border:0;
  border-radius:14px;
}
@media (max-width: 767px){
  .hm-office-contact{
    padding:18px;
  }
  .hm-office-contact .hm-office-contact__grid{
    grid-template-columns:1fr !important;
  }
  .hm-office-contact .hm-office-contact__image,
  .hm-office-contact .hm-office-contact__media img,
  .hm-office-contact .hm-office-contact__image-placeholder{
    height:240px !important;
    max-height:240px !important;
  }
  .hm-office-contact .hm-office-contact__row{
    grid-template-columns:1fr;
    gap:6px;
  }
}

.hm-post-single{
  color:#0f172a;
}

.hm-post-single-header{
  display:grid;
  gap:14px;
}

.hm-post-single-title{
  margin:0;
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.05;
}

.hm-post-single-excerpt,
.hm-post-featured-excerpt{
  margin:0;
  max-width:760px;
  font-size:1.06rem;
  line-height:1.75;
  color:#cbd5e1;
}

.hm-post-single-header--hero .hm-post-single-excerpt,
.hm-post-single-header--split .hm-post-single-excerpt,
.hm-post-single-header--minimal .hm-post-single-excerpt{
  color:#475569;
}

.hm-post-single-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:10px;
  align-items:center;
  color:#64748b;
  font-size:.9rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.hm-post-single-meta span{
  position:relative;
}

.hm-post-single-meta span + span::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:12px;
  border-radius:999px;
  background:#cbd5e1;
  vertical-align:middle;
}

.hm-post-single-tax{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 20px;
}

.hm-post-single-tax a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#0f172a;
  text-decoration:none;
  font-weight:700;
}

.hm-post-single-comments{
  margin-top:32px;
}

.hm-post-single-shell--split{
  display:grid;
  grid-template-columns:minmax(280px, .92fr) minmax(0, 1.18fr);
  gap:42px;
  padding:32px 0 40px;
}

.hm-post-single-sticky{
  position:sticky;
  top:110px;
  display:grid;
  gap:18px;
}

.hm-post-single-side-meta{
  display:grid;
  gap:14px;
  padding:20px 22px;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
}

.hm-post-single-media-card{
  overflow:hidden;
  border-radius:28px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
}

.hm-post-single-media-img{
  display:block;
  width:100%;
  height:auto;
}

.hm-post-single-header--split{
  margin-bottom:22px;
  padding-bottom:22px;
  border-bottom:1px solid #e2e8f0;
}

.hm-post-single-shell--minimal{
  max-width:840px;
  margin:0 auto;
  padding:42px 0 56px;
}

.hm-post-single-header--minimal{
  text-align:center;
  justify-items:center;
  margin-bottom:26px;
}

.hm-post-single-header--minimal .hm-post-single-tax{
  justify-content:center;
  margin-bottom:0;
}

.hm-post-single-media-card--minimal{
  margin:0 0 28px;
}

.hm-post-featured-panel .hm-post-single-meta{
  color:#e2e8f0;
}

.hm-post-featured-panel .hm-post-single-meta span + span::before{
  background:#cbd5e1;
}

.woocommerce-cart .hm-page-single,
.woocommerce-checkout .hm-page-single,
.woocommerce-account .hm-page-single{
  padding:26px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:30px;
  background:
    radial-gradient(circle at top left, rgba(18,68,52,.08), transparent 24%),
    rgba(255,255,255,.96);
  box-shadow:0 22px 64px rgba(15,23,42,.07);
}

.woocommerce-cart .hm-page-single > .woocommerce,
.woocommerce-checkout .hm-page-single > .woocommerce,
.woocommerce-account .hm-page-single > .woocommerce{
  display:grid;
  gap:22px;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce-notices-wrapper{
  display:grid;
  gap:14px;
}

.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error{
  margin:0;
  padding:16px 18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 42px rgba(15,23,42,.05);
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table,
.woocommerce-account table.shop_table{
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.05);
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td{
  padding:18px 16px;
  border-color:#e2e8f0;
}

.woocommerce-cart table.shop_table th,
.woocommerce-checkout table.shop_table th,
.woocommerce-account table.shop_table th{
  color:#0f172a;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:#f8fafc;
}

.woocommerce-cart .product-name a,
.woocommerce-account .product-name a,
.woocommerce-account .woocommerce-table__product-name a{
  color:#0f172a;
  font-weight:700;
  text-decoration:none;
}

.woocommerce-cart .product-name a:hover,
.woocommerce-account .product-name a:hover,
.woocommerce-account .woocommerce-table__product-name a:hover{
  color:#124434;
}

.woocommerce-cart .product-thumbnail img{
  width:84px;
  border-radius:16px;
}

.woocommerce-cart .quantity .qty,
.woocommerce-checkout .quantity .qty,
.woocommerce-account .quantity .qty,
.woocommerce-cart form .input-text,
.woocommerce-checkout form .input-text,
.woocommerce-account form .input-text,
.woocommerce-cart form select,
.woocommerce-checkout form select,
.woocommerce-account form select,
.woocommerce-cart form textarea,
.woocommerce-checkout form textarea,
.woocommerce-account form textarea{
  min-height:46px;
  padding:12px 14px;
  border:1px solid #dbe2ea;
  border-radius:16px;
  background:#f8fafc;
  color:#0f172a;
  box-shadow:none;
}

.woocommerce-cart form textarea,
.woocommerce-checkout form textarea,
.woocommerce-account form textarea{
  min-height:120px;
}

.woocommerce-cart .actions .coupon,
.woocommerce-checkout .checkout_coupon,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .woocommerce-ResetPassword,
.woocommerce-account .woocommerce-form-edit-account,
.woocommerce-account form.woocommerce-address-fields{
  padding:20px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 44px rgba(15,23,42,.05);
}

.woocommerce-cart .actions .coupon{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation{
  padding:22px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.05);
}

.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(320px, .85fr);
  gap:22px;
  align-items:start;
}

.woocommerce-checkout #customer_details{
  display:grid;
  gap:18px;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  float:none;
  width:100%;
}

.woocommerce-checkout #order_review{
  position:sticky;
  top:110px;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-shipping-fields{
  display:grid;
  gap:14px;
}

.woocommerce-checkout .form-row{
  margin:0 0 14px;
}

.woocommerce-checkout .form-row label,
.woocommerce-account .form-row label{
  margin:0 0 6px;
  font-weight:700;
  color:#0f172a;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order,
.woocommerce-account .woocommerce-Button,
.woocommerce-account .button,
.woocommerce-cart .button,
.woocommerce-checkout .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border:1px solid var(--hm-cta-bg, #124434);
  border-radius:16px;
  background:var(--hm-cta-bg, #124434);
  color:var(--hm-cta-text, #ffffff);
  font-weight:800;
  box-shadow:none;
}

.woocommerce-cart .button:hover,
.woocommerce-checkout .button:hover,
.woocommerce-account .button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover{
  background:#0c2d22;
  border-color:#0c2d22;
  color:#fff;
}

.woocommerce-cart .button[name="update_cart"],
.woocommerce-cart .actions .coupon .button,
.woocommerce-account .woocommerce-MyAccount-navigation-link a,
.woocommerce-account .woocommerce-button{
  background:#f8fafc;
  color:#0f172a;
  border-color:#dbe2ea;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link{
  margin:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link a{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 16px;
  border-radius:16px;
  text-decoration:none;
  font-weight:700;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation-link a:hover{
  background:#124434;
  border-color:#124434;
  color:#fff;
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child,
.woocommerce-cart .cart_totals > :first-child,
.woocommerce-checkout #order_review > :first-child{
  margin-top:0;
}

.woocommerce-account .addresses{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}

.woocommerce-account .woocommerce-Address{
  padding:20px;
  border:1px solid #e2e8f0;
  border-radius:20px;
  background:#f8fafc;
}

.woocommerce-cart .cart-collaterals .cart_totals table td,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-checkout #order_review table td,
.woocommerce-checkout #order_review table th{
  padding:14px 0;
}

@media (max-width: 1024px){
  .hm-post-single-shell--split{
    grid-template-columns:1fr;
    gap:24px;
  }

  .hm-post-single-sticky{
    position:static;
  }

  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr;
  }

  .woocommerce-checkout #order_review{
    position:static;
  }
}

@media (max-width: 767px){
  .hm-post-single-title{
    font-size:clamp(1.8rem, 8vw, 2.5rem);
  }

  .hm-post-single-shell--minimal{
    padding:28px 0 42px;
  }

  .hm-post-single-shell--split{
    padding:24px 0 36px;
  }

  .woocommerce-cart .hm-page-single,
  .woocommerce-checkout .hm-page-single,
  .woocommerce-account .hm-page-single,
  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #customer_details,
  .woocommerce-account .woocommerce-MyAccount-content,
  .woocommerce-account .woocommerce-MyAccount-navigation{
    padding:18px;
    border-radius:22px;
  }

  .woocommerce-account .addresses{
    grid-template-columns:1fr;
  }

  .woocommerce-cart .actions .coupon{
    flex-direction:column;
    align-items:stretch;
  }
}

.hm-shop-hero__stat{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:180px;
  margin-top:18px;
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
}

.hm-shop-hero__stat strong{
  color:#fff;
  font-size:1.2rem;
}

.hm-shop-hero__visual{
  position:relative;
  width:min(100%, 280px);
  min-height:180px;
  margin-top:22px;
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.28), transparent 45%),
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.18);
}

.hm-shop-hero__visual.has-image{
  background:rgba(255,255,255,.1);
}

.hm-shop-hero__image{
  display:block;
  width:100%;
  height:100%;
  min-height:180px;
  object-fit:cover;
}

.hm-shop-hero__visual-mark{
  position:absolute;
  inset:24px;
  border-radius:22px;
  border:1px dashed rgba(255,255,255,.32);
}

.hm-mini-cart-shell{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:10001;
}

.hm-mini-cart-launcher{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:56px;
  padding:0 18px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:#ffffff;
  color:#0f172a;
  box-shadow:0 18px 44px rgba(15,23,42,.18);
}

.hm-mini-cart-launcher__icon{
  display:inline-flex;
  width:22px;
  height:22px;
}

.hm-mini-cart-launcher__icon svg{
  width:100%;
  height:100%;
}

.hm-mini-cart-launcher__label{
  font-weight:800;
}

.hm-mini-cart-launcher__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:var(--hm-cta-bg, #124434);
  color:var(--hm-cta-text, #ffffff);
  font-size:.82rem;
  font-weight:800;
}

.hm-mini-cart-overlay{
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.44);
}

.hm-mini-cart-drawer{
  position:fixed;
  top:0;
  right:0;
  width:min(100vw, 420px);
  height:100vh;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  background:#f8fafc;
  box-shadow:-18px 0 48px rgba(15,23,42,.16);
  transform:translateX(100%);
  transition:transform .28s ease;
  z-index:10002;
}

.hm-mini-cart-open .hm-mini-cart-drawer{
  transform:translateX(0);
}

.hm-mini-cart-drawer__header,
.hm-mini-cart-drawer__subtotal,
.hm-mini-cart-drawer__actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.hm-mini-cart-drawer__eyebrow{
  display:block;
  margin-bottom:6px;
  color:#64748b;
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.hm-mini-cart-drawer__title{
  margin:0;
  color:#0f172a;
}

.hm-mini-cart-drawer__close{
  width:42px;
  height:42px;
  border:1px solid rgba(15,23,42,.1);
  border-radius:50%;
  background:#fff;
  color:#0f172a;
  font-size:1.5rem;
  line-height:1;
}

.hm-mini-cart-drawer__body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

.hm-mini-cart-drawer__body .woocommerce-mini-cart{
  display:grid;
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}

.hm-mini-cart-drawer__body .woocommerce-mini-cart-item{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  gap:14px;
  align-items:start;
  padding:14px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:18px;
  background:#fff;
}

.hm-mini-cart-drawer__body .woocommerce-mini-cart-item a{
  color:#0f172a;
  font-weight:700;
  text-decoration:none;
}

.hm-mini-cart-drawer__body .woocommerce-mini-cart-item img{
  width:72px;
  height:72px;
  border-radius:16px;
  object-fit:cover;
}

.hm-mini-cart-drawer__body .remove{
  float:right;
  color:#ef4444 !important;
  text-decoration:none;
}

.hm-mini-cart-drawer__body .quantity,
.hm-mini-cart-drawer__subtotal span{
  color:#64748b;
}

.hm-mini-cart-drawer__subtotal{
  padding:16px 18px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
}

.hm-mini-cart-drawer__subtotal strong{
  color:#0f172a;
}

.hm-mini-cart-drawer__actions{
  justify-content:stretch;
}

.hm-mini-cart-drawer__actions .hm-btn{
  flex:1 1 0;
}

.woocommerce-order{
  display:grid;
  gap:22px;
}

.woocommerce-order .woocommerce-notice--success.woocommerce-thankyou-order-received{
  margin:0;
  padding:20px 22px;
  border:1px solid rgba(18,68,52,.16);
  border-radius:22px;
  background:linear-gradient(135deg, rgba(18,68,52,.1), rgba(18,68,52,.04));
  color:#124434;
  font-size:1.2rem;
  font-weight:800;
}

.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details{
  padding:22px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.05);
}

.woocommerce-order .woocommerce-order-overview{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:14px;
  margin:0;
  list-style:none;
}

.woocommerce-order .woocommerce-order-overview li{
  margin:0;
  padding:14px 16px;
  border-radius:18px;
  background:#f8fafc;
}

.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title{
  margin-top:0;
}

.woocommerce-cart .cross-sells,
.woocommerce-checkout .cross-sells,
.woocommerce-account .cross-sells{
  margin-top:24px;
}

@media (max-width: 767px){
  .hm-mini-cart-shell{
    right:16px;
    bottom:16px;
  }

  .hm-mini-cart-launcher__label{
    display:none;
  }

  .hm-mini-cart-drawer{
    width:100vw;
    padding:18px;
  }

  .hm-mini-cart-drawer__actions{
    flex-direction:column;
  }

  .hm-mini-cart-drawer__actions .hm-btn{
    width:100%;
  }

  .hm-shop-hero__visual{
    width:100%;
    max-width:none;
  }
}

.hm-ad-slot{
  margin:28px 0;
}

.hm-ad-slot--after_header{
  margin-top:0;
}

.hm-ad-slot__inner{
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  padding:12px;
  overflow:hidden;
}

.hm-ad-slot__inner > *{
  max-width:100%;
}

.hm-ad-slot__inner iframe,
.hm-ad-slot__inner img,
.hm-ad-slot__inner ins{
  max-width:100%;
}

.hm-floating-ads{
  display:none;
}

@media (min-width: 1400px){
  .hm-floating-ads{
    display:block;
  }

  .hm-floating-ad{
    position:fixed;
    top:50%;
    z-index:40;
    transform:translateY(-50%);
    width:min(160px, calc((100vw - 1200px) / 2 - 24px));
    pointer-events:none;
  }

  .hm-floating-ad--left{
    left:12px;
  }

  .hm-floating-ad--right{
    right:12px;
  }

  .hm-floating-ad__inner{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    pointer-events:auto;
    overflow:hidden;
  }

  .hm-floating-ad__inner > *{
    max-width:100%;
  }

  .hm-floating-ad__inner iframe,
  .hm-floating-ad__inner img,
  .hm-floating-ad__inner ins{
    max-width:100%;
    height:auto;
  }
}
