/* DTXG Marketing Shell — strictly isolated to allowlisted marketing pages */
body.dtxgms-active.dtxgms-mounted #masthead,
body.dtxgms-active.dtxgms-mounted #colophon,
body.dtxgms-active.dtxgms-mounted .site-header:not(.dtxgms-header),
body.dtxgms-active.dtxgms-mounted .site-footer:not(.dtxgms-footer),
body.dtxgms-active.dtxgms-mounted .wp-site-blocks > header,
body.dtxgms-active.dtxgms-mounted .wp-site-blocks > footer {display:none!important;}
/* Avoid duplicate theme-generated entry title; never hide headings inside page body. */
body.dtxgms-active.dtxgms-mounted .entry-header > .entry-title {display:none!important;}

body.dtxgms-active .dtxgms-header,
body.dtxgms-active .dtxgms-footer,
body.dtxgms-active .dtxgms-contact {
  --dtxgms-ink:#151515;--dtxgms-red:#f04432;--dtxgms-wine:#641e32;
  box-sizing:border-box;font-family:Inter,"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.dtxgms-active .dtxgms-header *,
body.dtxgms-active .dtxgms-footer *,
body.dtxgms-active .dtxgms-contact * {box-sizing:border-box;}
body.dtxgms-active .dtxgms-header a:focus-visible,
body.dtxgms-active .dtxgms-header summary:focus-visible,
body.dtxgms-active .dtxgms-footer a:focus-visible,
body.dtxgms-active .dtxgms-contact a:focus-visible,
body.dtxgms-active .dtxgms-contact summary:focus-visible {outline:3px solid var(--dtxgms-red);outline-offset:3px;}

/* Header */
body.dtxgms-active .dtxgms-header {
  position:sticky;top:0;z-index:950;width:100%;min-width:0;
  padding:0!important;margin:0!important;
  background:#fff;color:#151515;border-bottom:1px solid #ebe7e3;
}
body.dtxgms-active .dtxgms-header-inner {
  width:min(1240px,calc(100% - 52px));margin:0 auto;min-height:76px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
}
body.dtxgms-active .dtxgms-logo,
body.dtxgms-active .dtxgms-logo:visited {
  font-size:25px;line-height:1.2;font-weight:900;letter-spacing:-.055em;
  text-decoration:none!important;color:#151515!important;white-space:nowrap;
}
body.dtxgms-active .dtxgms-logo span,
body.dtxgms-active .dtxgms-footer-brand strong span {color:#f04432;}
body.dtxgms-active .dtxgms-desktop-nav {display:flex;align-items:center;gap:clamp(14px,1.8vw,29px);min-width:0;}
body.dtxgms-active .dtxgms-desktop-nav > a,
body.dtxgms-active .dtxgms-desktop-nav > a:visited,
body.dtxgms-active .dtxgms-course-menu > summary {
  color:#151515!important;text-decoration:none!important;display:inline-flex;align-items:center;
  font-weight:750;font-size:13px;line-height:1.5;white-space:nowrap;cursor:pointer;
  border:0;background:transparent;padding:13px 0;margin:0;
}
body.dtxgms-active .dtxgms-desktop-nav a:hover,
body.dtxgms-active .dtxgms-course-menu > summary:hover {color:#641e32!important;}
body.dtxgms-active .dtxgms-course-menu {position:relative;margin:0;}
body.dtxgms-active .dtxgms-course-menu > summary,
body.dtxgms-active .dtxgms-mobile-menu > summary,
body.dtxgms-active .dtxgms-contact > summary {list-style:none;}
body.dtxgms-active .dtxgms-course-menu > summary::-webkit-details-marker,
body.dtxgms-active .dtxgms-mobile-menu > summary::-webkit-details-marker,
body.dtxgms-active .dtxgms-contact > summary::-webkit-details-marker {display:none;}
body.dtxgms-active .dtxgms-course-panel {
  position:absolute;z-index:980;top:calc(100% + 3px);left:-24px;width:254px;padding:10px;
  background:#fff;border:1px solid #e6e1dd;box-shadow:0 16px 38px rgba(0,0,0,.12);
}
body.dtxgms-active .dtxgms-course-panel a,
body.dtxgms-active .dtxgms-course-panel a:visited {
  display:block!important;padding:11px 13px;color:#151515!important;background:transparent;
  font-weight:700;font-size:13px;text-decoration:none!important;line-height:1.6;margin:0;
}
body.dtxgms-active .dtxgms-course-panel a:hover {background:#faf4f2!important;color:#641e32!important;}

/* Compact menu for laptop/tablet/mobile */
body.dtxgms-active .dtxgms-mobile-menu {display:none;position:relative;}
body.dtxgms-active .dtxgms-mobile-menu > summary {
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;min-width:46px;padding:0;border:1px solid #d9d5d1;cursor:pointer;
  background:#fff;color:#151515;font-size:13px;font-weight:800;line-height:1.4;
}
/* Three-line hamburger: right-aligned compact navigation control. */
body.dtxgms-active .dtxgms-hamburger {display:flex;flex-direction:column;justify-content:center;gap:5px;width:20px;height:20px;}
body.dtxgms-active .dtxgms-hamburger span {display:block;height:2px;width:20px;border-radius:2px;background:currentColor;transition:transform .18s ease,opacity .18s ease;}
body.dtxgms-active .dtxgms-mobile-menu[open] .dtxgms-hamburger span:nth-child(1) {transform:translateY(7px) rotate(45deg);}
body.dtxgms-active .dtxgms-mobile-menu[open] .dtxgms-hamburger span:nth-child(2) {opacity:0;}
body.dtxgms-active .dtxgms-mobile-menu[open] .dtxgms-hamburger span:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}
body.dtxgms-active .dtxgms-mobile-panel {
  position:absolute;z-index:981;right:0;top:calc(100% + 9px);
  width:min(340px,calc(100vw - 34px));max-height:min(78vh,620px);overflow-y:auto;
  overscroll-behavior:contain;background:#fff;padding:12px;
  border:1px solid #e6e1dd;box-shadow:0 18px 38px rgba(0,0,0,.14);
}
body.dtxgms-active .dtxgms-mobile-panel a,
body.dtxgms-active .dtxgms-mobile-panel a:visited {
  display:block!important;padding:11px 12px;margin:0;border-bottom:1px solid #f1eeec;
  text-decoration:none!important;color:#151515!important;font-size:14px;line-height:1.55;font-weight:700;
}
body.dtxgms-active .dtxgms-mobile-panel a:hover {background:#faf4f2!important;}
body.dtxgms-active .dtxgms-mobile-label {
  display:block;padding:18px 12px 7px;font-size:11px;font-weight:900;letter-spacing:.06em;color:#641e32;
}

/* Footer */
body.dtxgms-active .dtxgms-footer {
  display:block;width:100%;max-width:none;margin:0!important;padding:72px 0 25px!important;
  background:#151515;color:#fff;text-align:left;
}
body.dtxgms-active .dtxgms-footer-inner {width:min(1240px,calc(100% - 52px));margin:0 auto;}
body.dtxgms-active .dtxgms-footer-brand {margin:0 0 34px;}
body.dtxgms-active .dtxgms-footer-brand strong {font-size:28px;font-weight:900;letter-spacing:-.055em;}
body.dtxgms-active .dtxgms-footer-brand p {color:#aaa;font-size:12px;margin:9px 0 0;line-height:1.7;}
body.dtxgms-active .dtxgms-footer-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;}
body.dtxgms-active .dtxgms-footer-grid h2 {color:#fff!important;font-size:15px!important;font-weight:850!important;margin:0 0 20px!important;line-height:1.5;}
body.dtxgms-active .dtxgms-footer-grid a,
body.dtxgms-active .dtxgms-footer-grid a:visited {
  display:block;color:#c9c9c9!important;text-decoration:none!important;font-weight:500;
  font-size:13px;line-height:1.75;margin:0 0 12px;padding:0;
}
body.dtxgms-active .dtxgms-footer-grid a:hover {color:#fff!important;text-decoration:underline!important;}
body.dtxgms-active .dtxgms-footer-grid p {color:#aaa;font-size:12px;line-height:1.8;margin:15px 0 0;}
body.dtxgms-active .dtxgms-footer-bottom {display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:45px;padding-top:22px;border-top:1px solid #444;font-size:11px;color:#aaa;}
body.dtxgms-active .dtxgms-legal-entity {display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:16px;color:#999;font-size:11px;line-height:1.75;}
/* WordPress admin toolbar stays visible for authenticated admin users. */
body.admin-bar.dtxgms-active .dtxgms-header {top:32px;}
@media(max-width:782px) {body.admin-bar.dtxgms-active .dtxgms-header {top:46px;}}

/* Contact launcher: role-aware; no output on Foundation / Intermediate */
body.dtxgms-active .dtxgms-contact {
  position:fixed;z-index:9990;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));
  width:auto;max-width:calc(100vw - 28px);margin:0;padding:0;
}
body.dtxgms-active .dtxgms-contact > summary {
  display:flex;align-items:center;gap:9px;cursor:pointer;box-shadow:0 7px 22px rgba(0,0,0,.16);
  border:1px solid #641e32;background:#641e32;color:#fff;padding:12px 17px;
  font-weight:850;font-size:13px;line-height:1.5;
}
body.dtxgms-active .dtxgms-contact-panel {
  position:absolute;bottom:calc(100% + 10px);right:0;
  width:min(310px,calc(100vw - 28px));padding:22px;background:#fff;color:#151515;
  border:1px solid #e6e1dd;box-shadow:0 16px 36px rgba(0,0,0,.15);
}
body.dtxgms-active .dtxgms-contact-panel strong {display:block;color:#151515;font-weight:850;font-size:18px;margin-bottom:8px;}
body.dtxgms-active .dtxgms-contact-panel p {font-size:13px;line-height:1.75;color:#666;margin:0 0 16px;}
body.dtxgms-active .dtxgms-contact-panel a,
body.dtxgms-active .dtxgms-contact-panel a:visited {
  display:block;padding:11px 14px;border:1px solid #151515;color:#151515!important;
  background:#fff;text-decoration:none!important;font-size:13px;font-weight:800;margin-top:8px;
}
body.dtxgms-active .dtxgms-contact-panel a:hover {background:#151515;color:#fff!important;}
body.dtxgms-active .dtxgms-contact.dtxgms-cta-visible:not([open]) {opacity:0;pointer-events:none;}

@media(max-width:1080px) {
  body.dtxgms-active .dtxgms-desktop-nav {display:none;}
  body.dtxgms-active .dtxgms-mobile-menu {display:block;}
}
@media(max-width:760px) {
  body.dtxgms-active .dtxgms-header-inner {width:calc(100% - 36px);min-height:64px;}
  body.dtxgms-active .dtxgms-logo {font-size:22px;}
  body.dtxgms-active .dtxgms-footer {padding:55px 0 25px!important;}
  body.dtxgms-active .dtxgms-footer-inner {width:calc(100% - 36px);}
  body.dtxgms-active .dtxgms-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;}
  body.dtxgms-active .dtxgms-contact {right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));}
  body.dtxgms-active .dtxgms-contact > summary {padding:11px 13px;font-size:12px;}
}
@media(max-width:380px) {
  body.dtxgms-active .dtxgms-footer-grid {grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce) {
  body.dtxgms-active .dtxgms-header *,body.dtxgms-active .dtxgms-footer *,body.dtxgms-active .dtxgms-contact * {animation:none!important;transition:none!important;}
}
