.dmm-nav,
.dmm-nav * { box-sizing: border-box; }

.dmm-nav {
    width: 100%;
    background: #fff;
    color: var(--dmm-menu-color, #111);
    font-family: inherit;
    border-bottom: 1px solid #d9ded9;
}

.dmm-inner {
    width: 90%;
    max-width: none;
    min-height: 80px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 30px;
}

.dmm-logo-link {
    display: grid;
    grid-template-columns: 46px 1fr;
    grid-template-rows: auto auto;
    column-gap: 9px;
    align-items: center;
    flex: 0 0 190px;
    width: 190px;
    min-width: 190px;
    max-width: 190px;
    color: #0f4929 !important;
    text-decoration: none !important;
    overflow: visible;
}

.dmm-logo-mark {
    display: block;
    width: 46px;
    height: 46px;
    object-fit: contain;
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
}

.dmm-brand-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    line-height: 1;
    grid-column: 2;
    grid-row: 1 / span 2;
}

.dmm-brand-name {
    display: block;
    color: #164b2a;
    font-size: 24px;
    line-height: .95;
    font-weight: 800;
    letter-spacing: .015em;
}

.dmm-brand-subtitle {
    display: block;
    margin-top: 6px;
    color: #7d837f;
    font-size: 7px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: .30em;
    white-space: nowrap;
}

.dmm-menu-area {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
    min-width: 0;
}

.dmm-menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
}

.dmm-menu li { margin: 0 !important; padding: 0 !important; }

.dmm-menu a {
    position: relative;
    display: inline-block;
    padding: 29px 0 26px;
    color: inherit !important;
    text-decoration: none !important;
    font-size: var(--dmm-menu-size, 14px);
    line-height: 1;
    font-weight: var(--dmm-menu-weight, 600);
    white-space: nowrap;
}

.dmm-menu li:first-child a::after,
.dmm-menu a:hover::after,
.dmm-menu a:focus-visible::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    height: 2px;
    background: #2f6a33;
}

.dmm-cta {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 27px;
    border-radius: 5px;
    background: var(--dmm-button-bg, #165b28);
    color: var(--dmm-button-color, #fff) !important;
    text-decoration: none !important;
    font-size: var(--dmm-button-size, 14px);
    line-height: 1;
    font-weight: var(--dmm-button-weight, 600);
    white-space: nowrap;
}

.dmm-cta::after { content: "→"; margin-left: 18px; font-size: 18px; font-weight: 400; }
.dmm-cta:hover,.dmm-cta:focus { background:#104a20; color:#fff !important; }

.dmm-toggle { display:none; width:44px; height:44px; margin-left:auto; padding:8px; border:0; background:transparent; cursor:pointer; }
.dmm-toggle span { display:block; width:27px; height:2px; margin:6px auto; background:#165b28; transition:transform .2s ease,opacity .2s ease; }

@media (max-width: 1380px) {
    .dmm-inner { width: 94%; gap: 24px; }
    .dmm-logo-link { flex-basis:176px; width:176px; min-width:176px; max-width:176px; grid-template-columns:42px 1fr; column-gap:8px; }
    .dmm-logo-mark { width:42px; height:42px; }
    .dmm-brand-name { font-size:22px; }
    .dmm-brand-subtitle { font-size:6.5px; }
    .dmm-menu { gap: 20px; }
    .dmm-menu-area { gap: 24px; }
    .dmm-menu a { font-size: 13px; }
}

@media (max-width: 1180px) {
    .dmm-menu { gap: 15px; }
    .dmm-menu-area { gap: 18px; }
    .dmm-menu a { font-size: 12px; }
    .dmm-logo-link { flex-basis:165px; width:165px; min-width:165px; max-width:165px; grid-template-columns:39px 1fr; }
}

@media (max-width: 980px) {
    .dmm-has-hamburger .dmm-inner { min-height:76px; position:relative; flex-wrap:wrap; }
    .dmm-has-hamburger .dmm-toggle { display:block; }
    .dmm-has-hamburger .dmm-menu-area { display:none; flex:0 0 100%; width:100%; padding:10px 0 24px; flex-direction:column; align-items:stretch; gap:18px; }
    .dmm-has-hamburger.dmm-open .dmm-menu-area { display:flex; }
    .dmm-has-hamburger .dmm-menu { width:100%; flex-direction:column; align-items:stretch; gap:0; }
    .dmm-has-hamburger .dmm-menu a { display:block; width:100%; padding:13px 0; }
    .dmm-has-hamburger .dmm-menu li:first-child a::after,
    .dmm-has-hamburger .dmm-menu a:hover::after,
    .dmm-has-hamburger .dmm-menu a:focus-visible::after { bottom:8px; right:auto; width:28px; }
    .dmm-has-hamburger .dmm-cta { align-self:flex-start; }
    .dmm-has-hamburger.dmm-open .dmm-toggle span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
    .dmm-has-hamburger.dmm-open .dmm-toggle span:nth-child(2) { opacity:0; }
    .dmm-has-hamburger.dmm-open .dmm-toggle span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
}

@media (max-width: 600px) {
    .dmm-inner { width:90%; }
    .dmm-logo-link { flex-basis:160px; width:160px; min-width:160px; max-width:160px; grid-template-columns:38px 1fr; column-gap:8px; }
    .dmm-logo-mark { width:38px; height:38px; }
    .dmm-brand-name { font-size:21px; }
    .dmm-brand-subtitle { font-size:6px; margin-top:5px; }
}

/* WordPress submenu support */
.dmm-menu .menu-item-has-children { position:relative; }
.dmm-menu .sub-menu { display:none; position:absolute; left:0; top:100%; min-width:210px; margin:0 !important; padding:8px 0 !important; list-style:none !important; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.12); z-index:9999; }
.dmm-menu .menu-item-has-children:hover > .sub-menu,.dmm-menu .menu-item-has-children:focus-within > .sub-menu { display:block; }
.dmm-menu .sub-menu li { width:100%; }
.dmm-menu .sub-menu a { display:block; padding:10px 18px !important; white-space:nowrap; }
.dmm-menu .sub-menu a::after { display:none !important; }
.dmm-no-menu { font-size:13px; opacity:.7; }
@media (max-width:980px) {
    .dmm-has-hamburger .dmm-menu .sub-menu { display:block; position:static; min-width:0; margin:0 0 0 16px !important; padding:0 !important; box-shadow:none; background:transparent; }
    .dmm-has-hamburger .dmm-menu .sub-menu a { padding:10px 0 !important; font-size:12px; }
}
