/* Du-All shared navigation. Existing palette and self-hosted typography. */
.duall-nav{border-bottom:3px solid var(--navy)}
.duall-nav .util{background:var(--ink)}
.duall-nav .main-h>.wrap{position:relative;column-gap:22px;min-height:104px}
.duall-nav .brand{padding:12px 0}.duall-nav .brand img{width:218px}
.duall-nav .menu{gap:1px}.duall-nav .dd{position:static}
.duall-nav .dd>button{font-size:14px;font-weight:700;padding:15px 11px;border-radius:0;position:relative;min-height:48px}
.duall-nav .dd>button:after{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:3px;background:var(--red);transform:scaleX(0);transition:transform .18s}
.duall-nav .dd.open>button:after,.duall-nav .dd>button:hover:after{transform:scaleX(1)}
.duall-nav .dd>button svg{transition:transform .18s}.duall-nav .dd.open>button svg{transform:rotate(180deg)}
.duall-nav .sched{padding:13px 18px;border-radius:4px;font-size:14px;gap:18px;box-shadow:4px 4px 0 var(--navy)}
.duall-nav .panel{top:calc(100% - 1px);left:auto;right:0;min-width:300px;padding:12px;border:1px solid var(--line);border-top:3px solid var(--red);border-radius:0 0 8px 8px;box-shadow:0 22px 38px #0b163326;max-height:calc(100dvh - 150px);overflow:auto}
.duall-nav .dd:hover>.panel,.duall-nav .dd:focus-within>.panel{display:none}.duall-nav .dd.open>.panel{display:block}
.duall-nav .panel>a{padding:13px 17px;border-radius:4px;font-size:15px;min-height:48px}
.duall-nav .panel>a:after{content:"↗";float:right;margin-left:22px;color:var(--red)}
.duall-nav .nav-mega{left:0;right:0;padding:0}
.duall-nav .nav-mega-top,.duall-nav .nav-mega-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 26px;background:var(--mist)}
.duall-nav .nav-mega-top>span{font:800 28px/1.1 var(--head);color:var(--navy)}
.duall-nav .nav-mega-top>a,.duall-nav .nav-mega-bottom>a{padding:0;font-size:13px;font-weight:700;text-decoration:none;color:var(--red)}
.duall-nav .nav-mega-bottom{border-top:1px solid var(--line);background:var(--navy);color:var(--duall-white,#fff);font-size:13px}
.duall-nav .nav-mega-bottom>a{color:#fff}.duall-nav .nav-mega a:hover{background:transparent}
.duall-nav .nav-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:18px}
.duall-nav a.nav-service{display:grid;grid-template-columns:42px minmax(0,1fr) 16px;gap:12px;align-items:center;padding:13px 12px;border-radius:5px;min-height:80px;text-decoration:none}
.duall-nav a.nav-service:hover,.duall-nav a.nav-service:focus-visible{background:var(--mist);color:var(--navy)}
.duall-nav .nav-icon{display:grid;place-items:center;width:42px;height:44px;color:var(--navy);background:color-mix(in srgb,var(--cyan) 10%,white);border-bottom:2px solid var(--cyan);border-radius:4px}
.duall-nav .nav-service:hover .nav-icon{background:var(--navy);color:#fff;border-color:var(--red)}
.duall-nav .nav-service strong{font:700 21px/1.15 var(--head);display:block}.duall-nav .nav-service small{display:block;font-size:11px;font-weight:400;margin-top:4px;color:var(--mut);line-height:1.45}.duall-nav .nav-arrow{color:var(--red)}
.duall-nav a[aria-current="page"],.duall-nav .dd>button[data-current]{color:var(--red)}
/* Full-height disclosure groups bridge the trigger-to-panel pointer path.
   The mega panel stays wrap-wide; smaller panels anchor to their own trigger. */
@media(min-width:1061px){
 .duall-nav .main-h>.wrap>nav{align-self:stretch;display:flex;justify-content:flex-end}
 .duall-nav .menu{align-items:stretch}
 .duall-nav .dd{display:flex;align-items:center}
 .duall-nav .dd:not(:first-child){position:relative}
 .duall-nav .dd:not(:first-child)>.panel{right:0;width:320px}
 .duall-nav .dd>button{white-space:nowrap}
 .duall-nav .burger{display:none}
}
@media(min-width:1061px) and (max-width:1180px){
 .duall-nav .main-h>.wrap{column-gap:14px}
 .duall-nav .brand img{width:180px}
 .duall-nav .dd>button{font-size:13px;padding-inline:8px;gap:5px}
 .duall-nav .sched{font-size:13px;padding-inline:12px;gap:10px}
}
@media(max-width:1060px){
 .duall-nav .main-h>.wrap{min-height:82px;display:flex;gap:14px;justify-content:space-between}.duall-nav .brand{margin-right:auto}.duall-nav .brand img{width:190px}
 .duall-nav .sched{display:none}.duall-nav .m-call{display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:4px;width:44px;height:44px}
 .duall-nav .burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:var(--mist);border:1px solid var(--line);border-radius:4px}
 .duall-nav .burger span{display:block;width:22px;height:2px;background:var(--navy);transition:transform .18s}
 .duall-nav .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.duall-nav .burger[aria-expanded="true"] span:nth-child(2){opacity:0}.duall-nav .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .duall-nav .menu{display:none;position:absolute;top:100%;left:-4.35%;right:-4.35%;padding:12px 4% 24px;background:#fff;border-top:3px solid var(--red);box-shadow:0 20px 30px #0b163326;max-height:calc(100dvh - 210px);overflow:auto;width:auto}
 .duall-nav .menu.open{display:block}.duall-nav .dd{border-bottom:1px solid var(--line)}.duall-nav .dd>button{width:100%;justify-content:space-between;font:700 22px var(--head);padding:16px 8px;min-height:56px}
 .duall-nav .dd>button:after{display:none}.duall-nav .panel,.duall-nav .nav-mega{position:static;min-width:0;max-height:none;border:0;box-shadow:none;border-radius:0;padding:4px 0 14px;background:var(--mist);width:100%}
 .duall-nav .nav-mega-top{padding:15px 12px;display:block}.duall-nav .nav-mega-top>span{font-size:24px}.duall-nav .nav-mega-top>a{margin-top:10px;min-height:30px;display:flex;align-items:center;gap:10px}
 .duall-nav .nav-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:4px}
 .duall-nav a.nav-service{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:12px 8px;min-height:86px}.duall-nav .nav-icon{width:32px;height:36px}.duall-nav .nav-icon svg{width:21px;height:21px}.duall-nav .nav-arrow{display:none}.duall-nav .nav-service strong{font-size:20px}.duall-nav .nav-service small{font-size:11px}
 .duall-nav .nav-mega-bottom{display:block;padding:16px}.duall-nav .nav-mega-bottom>a{display:block;padding:10px 0 0;min-height:32px}
 .duall-nav .m-only{display:block}.duall-nav .m-only>a{display:block;padding:16px 8px;font-weight:700;text-decoration:none}
}
@media(max-width:380px){.duall-nav .brand img{width:160px}.duall-nav .main-h>.wrap{gap:9px}.duall-nav .nav-service-grid{grid-template-columns:1fr}.duall-nav a.nav-service{min-height:66px}.duall-nav .util .wrap{font-size:11px;min-height:32px}}
@media(prefers-reduced-motion:reduce){.duall-nav *{transition:none!important}}
