:root {
  --dhhm-text: #102033;
  --dhhm-muted: rgba(16,32,51,.66);
  --dhhm-border: rgba(16,32,51,.13);
  --dhhm-bg: #fff;
  --dhhm-soft: #f7f9f8;
  --dhhm-active: #071f3a;
  --dhhm-teal: #00A6AE;
  --dhhm-gold: #C89B5E;
}

body.dhhfe-custom-header-enabled .header-main-wrap,
body.dhhfe-custom-header-enabled .header-desktop,
body.dhhfe-custom-header-enabled .header-mobile,
body.dhhfe-custom-header-enabled .nav-mobile,
body.dhhfe-custom-header-enabled .houzez-nav-menu-main-mobile-wrap,
body.dhhfe-custom-header-enabled .mobile-header-nav { display:none !important; }

/* Dynamic plugin pages must not show the legacy Houzez mini search above our approved search/card system. */
body.dhhfe-dynamic-landing-page .advanced-search-wrap,
body.dhhfe-dynamic-landing-page .advanced-search-nav,
body.dhhfe-dynamic-landing-page .advanced-search-v1,
body.dhhfe-dynamic-landing-page .advanced-search,
body.dhhfe-dynamic-landing-page .search-expandable,
body.dhhfe-dynamic-landing-page .search-expandable-wrap {
  display:none !important;
}

.dhhm-header, .dhhm-header * { box-sizing:border-box; box-shadow:none !important; }
.dhhm-header { position:relative; z-index:1000; width:100%; background:var(--dhhm-bg); border-bottom:1px solid var(--dhhm-border); color:var(--dhhm-text); font-family:inherit; }
.dhhm-inner { width:calc(100% - 128px); max-width:1390px; margin:0 auto; padding:0; min-height:60px; display:flex; align-items:center; gap:28px; }
.dhhm-logo { flex:0 0 auto; display:flex; align-items:center; text-decoration:none !important; }
.dhhm-logo img { display:block; width:auto; max-width:203px; height:28px; object-fit:contain; transform:scale(.85) translateY(-1px); transform-origin:left center; }
.dhhm-desktop-nav { flex:1 1 auto; display:flex; align-items:stretch; justify-content:flex-end; gap:12px; min-height:60px; }
.dhhm-nav-item { position:relative; min-height:60px; display:flex; align-items:stretch; }
.dhhm-nav-link { appearance:none; border:0; background:transparent; padding:0 10px; margin:0; min-height:60px; display:inline-flex; align-items:center; justify-content:center; color:var(--dhhm-text); text-decoration:none !important; font-size:15px; font-weight:400; line-height:1; cursor:pointer; border-radius:0; transition:color .16s ease, background-color .16s ease; white-space:nowrap; }
.dhhm-nav-link:hover { color:var(--dhhm-gold); }
.dhhm-nav-item.is-active > .dhhm-nav-link,
.dhhm-nav-link.is-active { color:#fff !important; background:var(--dhhm-active); }
.dhhm-nav-button { font-family:inherit; }
.dhhm-dropdown { position:absolute; top:60px; left:50%; transform:translateX(-50%) translateY(7px); width:360px; max-width:calc(100vw - 32px); background:#fff; border:1px solid var(--dhhm-border); border-radius:4px; padding:22px 28px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease, transform .24s ease, visibility .24s ease; }
.dhhm-dropdown.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0); }
.dhhm-dropdown-heading { margin:0 0 16px; color:var(--dhhm-text); font-size:17px; font-weight:800; line-height:1.25; }
.dhhm-dropdown-list { display:grid; grid-template-columns:1fr; gap:10px; }
.dhhm-dropdown-link { display:block; color:var(--dhhm-text); text-decoration:none !important; font-size:15px; line-height:1.35; padding:1px 0; transition:color .14s ease; }
.dhhm-dropdown-link:hover, .dhhm-dropdown-link.is-active { color:var(--dhhm-gold) !important; }
.dhhm-mobile-toggle { display:none; margin-left:auto; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; gap:5px; border:1px solid var(--dhhm-border); border-radius:4px; background:#fff; }
.dhhm-mobile-toggle span { width:20px; height:2px; background:var(--dhhm-text); display:block; }
.dhhm-mobile-panel { position:fixed; inset:0; z-index:1100; background:#fff; overflow:auto; }
.dhhm-mobile-head { min-height:56px; display:flex; align-items:center; justify-content:space-between; padding:0 18px; border-bottom:1px solid var(--dhhm-border); }
.dhhm-mobile-logo .dhhm-logo img { height:26px; max-width:188px; transform:scale(.85) translateY(-1px); transform-origin:left center; }
.dhhm-mobile-close { width:42px; height:42px; border:1px solid var(--dhhm-border); border-radius:4px; background:#fff; color:var(--dhhm-text); font-size:28px; line-height:1; }
.dhhm-mobile-nav { padding:12px 18px 34px; }
.dhhm-mobile-link, .dhhm-mobile-section-button { width:100%; min-height:50px; display:flex; align-items:center; justify-content:space-between; border:0; border-bottom:1px solid var(--dhhm-border); background:#fff; color:var(--dhhm-text); text-decoration:none !important; font-size:16px; font-weight:400; text-align:left; padding:0; }
.dhhm-mobile-link:hover, .dhhm-mobile-section-button:hover { color:var(--dhhm-gold); }
.dhhm-mobile-link.is-active, .dhhm-mobile-section.is-active > .dhhm-mobile-section-button { color:#fff !important; background:var(--dhhm-active); padding:0 12px; }
.dhhm-mobile-submenu { padding:14px 0 16px 14px; border-bottom:1px solid var(--dhhm-border); }
.dhhm-mobile-subheading { margin:0 0 8px; color:var(--dhhm-muted); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.dhhm-mobile-sublink { display:block; padding:9px 0; color:var(--dhhm-text); text-decoration:none !important; font-size:15px; line-height:1.25; }
.dhhm-mobile-sublink:hover, .dhhm-mobile-sublink.is-active { color:var(--dhhm-gold) !important; }
body.dhhm-mobile-open { overflow:hidden; }

.dhhm-index-main { background:#fff; color:var(--dhhm-text); }
.dhhm-index-hero { border-bottom:1px solid var(--dhhm-border); background:#fff; }
.dhhm-index-inner { max-width:1310px; margin:0 auto; padding:54px 28px 30px; }
.dhhm-index-inner h1 { margin:0 0 10px; color:var(--dhhm-text); font-size:clamp(30px,4vw,48px); line-height:1.08; font-weight:800; }
.dhhm-index-inner p { margin:0; color:var(--dhhm-muted); font-size:16px; }
.dhhm-index-grid-shell { max-width:1310px; margin:0 auto; padding:42px 28px 70px; }
.dhhm-index-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:28px 22px; }
.dhhm-dev-card, .dhhm-area-card { border:0; border-radius:4px; background:#fff; overflow:visible; }
.dhhm-dev-card a, .dhhm-area-card a { display:block; color:inherit; text-decoration:none !important; height:100%; }
.dhhm-dev-card-media, .dhhm-area-card-media { position:relative; height:190px; background:var(--dhhm-soft); overflow:hidden; border-radius:4px; border:1px solid var(--dhhm-border); }
.dhhm-dev-card-bg, .dhhm-area-card-media img { width:100%; height:100%; object-fit:cover; display:block; }
.dhhm-dev-card-media:after { content:""; position:absolute; inset:0; background:rgba(7,31,58,.18); pointer-events:none; }
.dhhm-dev-card-logo { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:28px; z-index:1; background:transparent; border:0; border-radius:0; }
.dhhm-dev-card-logo img { max-width:210px; max-height:92px; width:auto; height:auto; object-fit:contain; display:block; }
.dhhm-dev-card-logo span { color:#fff; font-weight:800; text-align:center; font-size:19px; line-height:1.2; }
.dhhm-dev-card-body, .dhhm-area-card-body { padding:16px 0 0; border:0; }
.dhhm-dev-card-body h2, .dhhm-area-card-body h2 { margin:0 0 8px; font-size:19px; line-height:1.2; font-weight:800; color:var(--dhhm-text); }
.dhhm-dev-card-body p, .dhhm-area-card-body p { margin:0; color:var(--dhhm-muted); font-size:14px; line-height:1.55; }
.dhhm-area-card-body small { display:block; margin-top:9px; color:var(--dhhm-gold); font-weight:800; }


.dhhm-developer-tools, .dhhm-area-tools { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 26px; }
.dhhm-developer-search, .dhhm-area-search { width:min(100%, 430px); min-height:46px; border:1px solid var(--dhhm-border); border-radius:4px; padding:0 14px; color:var(--dhhm-text); background:#fff; font:inherit; font-size:15px; box-shadow:none !important; }
.dhhm-developer-search::placeholder, .dhhm-area-search::placeholder { color:rgba(16,32,51,.52); }
.dhhm-developer-search:focus, .dhhm-area-search:focus { outline:0; border-color:var(--dhhm-teal); }
.dhhm-load-more-wrap { display:flex; justify-content:center; margin:34px 0 0; }
.dhhm-load-more { min-width:180px; min-height:46px; border:0; border-radius:4px; background:var(--dhhm-teal); color:#fff; font:inherit; font-weight:600; cursor:pointer; box-shadow:none !important; }
.dhhm-load-more:hover { background:#0e5f6a; }
.dhhm-no-results { margin:20px 0 0; color:var(--dhhm-muted); font-size:15px; }

body.dhhfe-custom-header-enabled.dh-clean-search-results-page .dh-clean-search-main,
body.dhhfe-dynamic-landing-page .dh-clean-search-main { background:#fff; }

body.dhhfe-dynamic-landing-page .back-to-top,
body.dhhfe-dynamic-landing-page #back-to-top { right:28px !important; bottom:28px !important; width:44px !important; height:44px !important; border-radius:4px !important; box-shadow:none !important; }

@media (max-width: 1199px) {
  .dhhm-desktop-nav { display:none; }
  .dhhm-mobile-toggle { display:flex; }
  .dhhm-inner { width:calc(100% - 20px); max-width:none; min-height:56px; padding:0; }
  .dhhm-logo img { height:26px; max-width:188px; transform:scale(.85) translateY(-1px); transform-origin:left center; }
  .dhhm-index-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .dhhm-developer-tools, .dhhm-area-tools { align-items:stretch; }
  .dhhm-developer-search, .dhhm-area-search { width:100%; }
}
@media (max-width: 767px) {
  .dhhm-index-inner { padding:36px 18px 22px; }
  .dhhm-index-grid-shell { padding:26px 18px 50px; }
  .dhhm-index-grid { grid-template-columns:1fr; gap:24px; }
  .dhhm-developer-tools, .dhhm-area-tools { display:block; }
  .dhhm-dev-card-media, .dhhm-area-card-media { height:210px; }
}

/* v2.3.6 Developer detail route: clean SEO landing header before the approved search/cards system. */
.dhhm-dev-detail-hero {
  background:#fff;
  border-bottom:1px solid var(--dhhm-border);
  color:var(--dhhm-text);
}
.dhhm-dev-detail-inner {
  max-width:1310px;
  margin:0 auto;
  padding:34px 28px 30px;
}
.dhhm-route-breadcrumb {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 18px;
  color:var(--dhhm-muted);
  font-size:13px;
  line-height:1.3;
}
.dhhm-route-breadcrumb a {
  color:var(--dhhm-muted);
  text-decoration:none !important;
}
.dhhm-route-breadcrumb a:hover { color:var(--dhhm-gold); }
.dhhm-dev-detail-layout {
  display:grid;
  grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
  gap:34px;
  align-items:center;
}
.dhhm-dev-detail-media {
  position:relative;
  height:260px;
  border:1px solid var(--dhhm-border);
  border-radius:4px;
  overflow:hidden;
  background:var(--dhhm-soft);
}
.dhhm-dev-detail-bg {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dhhm-dev-detail-media:after {
  content:"";
  position:absolute;
  inset:0;
  background:rgba(7,31,58,.18);
  pointer-events:none;
}
.dhhm-dev-detail-logo {
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:34px;
  text-align:center;
}
.dhhm-dev-detail-logo img {
  display:block;
  max-width:230px;
  max-height:110px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.dhhm-dev-detail-logo span {
  color:#fff;
  font-size:28px;
  line-height:1.15;
  font-weight:800;
}
.dhhm-dev-detail-copy h1 {
  margin:0 0 14px;
  color:var(--dhhm-text);
  font-size:clamp(30px,4vw,48px);
  line-height:1.08;
  font-weight:800;
}
.dhhm-dev-detail-copy > p:not(.dhhm-dev-detail-count),
.dhhm-dev-detail-description {
  max-width:760px;
  color:var(--dhhm-muted);
  font-size:15px;
  line-height:1.65;
}
.dhhm-dev-detail-description p {
  margin:0 0 10px;
}
.dhhm-dev-detail-description p:last-child { margin-bottom:0; }
.dhhm-dev-detail-count {
  margin:14px 0 0;
  color:var(--dhhm-teal);
  font-size:14px;
  line-height:1.35;
  font-weight:700;
}
.dhhm-dev-projects-intro {
  background:#fff;
  border-bottom:1px solid var(--dhhm-border);
}
.dhhm-dev-projects-intro-inner {
  max-width:1310px;
  margin:0 auto;
  padding:24px 28px 14px;
}
.dhhm-dev-projects-intro h2 {
  margin:0;
  color:var(--dhhm-text);
  font-size:24px;
  line-height:1.2;
  font-weight:800;
}
.dhhm-dev-projects-intro p {
  margin:6px 0 0;
  color:var(--dhhm-muted);
  font-size:14px;
  line-height:1.55;
}

@media (max-width: 767px) {
  .dhhm-dev-detail-inner { padding:24px 18px 24px; }
  .dhhm-dev-detail-layout { grid-template-columns:1fr; gap:22px; }
  .dhhm-dev-detail-media { height:220px; }
  .dhhm-dev-detail-logo { padding:28px; }
  .dhhm-dev-detail-logo img { max-width:210px; max-height:96px; }
  .dhhm-dev-detail-copy h1 { font-size:30px; }
  .dhhm-dev-projects-intro-inner { padding:22px 18px 12px; }
  .dhhm-dev-projects-intro h2 { font-size:22px; }
}

/* v2.3.20 Dynamic page header polish: premium, lighter landing headings without touching cards/search/menu logic. */
.dhhm-index-hero {
  background:linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
}
.dhhm-index-inner {
  padding:46px 28px 26px;
}
.dhhm-index-inner h1 {
  margin:0 0 9px;
  font-size:clamp(28px, 3.1vw, 40px);
  line-height:1.12;
  font-weight:700;
  letter-spacing:-.035em;
}
.dhhm-index-inner p {
  max-width:1040px;
  font-size:15px;
  line-height:1.55;
}
.dhhm-dev-detail-inner {
  padding:28px 28px 26px;
}
.dhhm-route-breadcrumb {
  margin-bottom:16px;
  font-size:13px;
}
.dhhm-dev-detail-layout {
  grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
  gap:36px;
}
.dhhm-dev-detail-copy h1 {
  margin:0 0 12px;
  font-size:clamp(28px, 3vw, 40px);
  line-height:1.12;
  font-weight:700;
  letter-spacing:-.04em;
}
.dhhm-route-fit-title {
  white-space:nowrap;
  max-width:100%;
}
.dhhm-dev-detail-copy > p:not(.dhhm-dev-detail-count),
.dhhm-dev-detail-description {
  max-width:800px;
  font-size:15px;
  line-height:1.62;
}
.dhhm-dev-detail-count {
  margin-top:13px;
  font-size:14px;
  font-weight:700;
}
.dhhm-dev-projects-intro-inner {
  padding:21px 28px 13px;
}
.dhhm-dev-projects-intro h2 {
  font-size:clamp(20px, 2.25vw, 25px);
  line-height:1.18;
  font-weight:700;
  letter-spacing:-.026em;
}
.dhhm-dev-projects-intro p {
  font-size:14px;
  line-height:1.5;
}

@media (max-width: 767px) {
  .dhhm-index-inner { padding:34px 18px 20px; }
  .dhhm-index-inner h1 { font-size:30px; }
  .dhhm-index-inner p { font-size:14px; line-height:1.5; }
  .dhhm-dev-detail-inner { padding:22px 18px 22px; }
  .dhhm-dev-detail-layout { gap:20px; }
  .dhhm-dev-detail-copy h1 { font-size:28px; }
  .dhhm-route-fit-title { white-space:nowrap; }
  .dhhm-dev-projects-intro-inner { padding:19px 18px 11px; }
  .dhhm-dev-projects-intro h2 { font-size:21px; }
}
