/* DNGWORLD V40 — shared visual contract across existing page generations.
 * Applied to generated _site only. Original source, textual content, WebGL,
 * calculators, pricing, News & TV and private Portfolio logic remain intact.
 */
:root{--d40-bg:#0d231b;--d40-surface:#172f24;--d40-surface2:#203d2e;--d40-white:#f3efe6;--d40-muted:#c0cfc1;--d40-gold:#e5bf88;--d40-line:rgba(229,191,136,.24);--d40-width:1220px;--d40-shadow:0 18px 46px rgba(1,12,7,.18);--d40-radius:20px;--d40-sans:'Be Vietnam Pro','DM Sans',Arial,sans-serif;--d40-display:'DM Sans','Be Vietnam Pro',Arial,sans-serif;--d40-serif:'DM Serif Display',Georgia,serif}
html{scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body.dng-unified-v40{font-family:var(--d40-sans)!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.dng-unified-v40 :where(button,input,textarea,select){font-family:var(--d40-sans)!important}
body.dng-unified-v40 :where(p,li,blockquote){overflow-wrap:break-word}
body.dng-unified-v40 :where(h1,h2,h3,h4){font-family:var(--d40-display)!important;letter-spacing:-.04em;line-height:1.22;overflow-wrap:normal;text-wrap:balance}
body.dng-unified-v40 :where(h1 em,h2 em,.serif,.signature){font-family:var(--d40-serif)!important}
body.dng-unified-v40 :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--d40-gold)!important;outline-offset:4px}
body.dng-unified-v40 :where(button,input,select,textarea){min-height:42px}
body.dng-unified-v40 :where(img,video){max-width:100%}
body.dng-unified-v40 :where(.shell,.v33-wrap,.p37-container,.pf-wrap,.news-wrap>.shell){max-width:var(--d40-width)}
/* One header design without changing the original semantic nav, locale controls or JS hooks. */
body.dng-unified-v40 [data-dng-shell="header"]{height:auto;min-height:76px;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--d40-line)!important;background:rgba(10,31,23,.96)!important;color:var(--d40-white)!important;box-shadow:0 7px 24px rgba(0,0,0,.10);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.dng-unified-v40 [data-dng-shell="header"] :where(.topbar,.head-row,.navline,.header-inner,.pf-nav,.v33-wrap,.p37-top,.shell.topbar){max-width:var(--d40-width);min-height:75px;align-items:center}
body.dng-unified-v40 [data-dng-shell="header"] :where(.brand,.brand-name,.brand-logo,.logo,.v33-brand,.p37-logo,.pf-brand){font-family:var(--d40-display)!important;font-size:clamp(21px,2vw,26px)!important;font-weight:800!important;letter-spacing:-.055em!important;line-height:1.25!important;color:var(--d40-white)!important;white-space:nowrap}
body.dng-unified-v40 [data-dng-shell="header"] :where(sup,.brand i){color:var(--d40-gold)!important}
body.dng-unified-v40 [data-dng-shell="header"] :where(.mainnav,.main-nav,.v33-nav,.p37-menu,.pf-nav nav){gap:clamp(10px,1.5vw,23px);align-items:center}
body.dng-unified-v40 [data-dng-shell="header"] :where(.mainnav a,.main-nav a,.v33-nav a,.p37-menu a,.pf-nav nav a){font-family:var(--d40-sans)!important;font-size:12px!important;font-weight:600!important;letter-spacing:0!important;color:#d2ddd0!important;line-height:1.5;white-space:nowrap}
body.dng-unified-v40 [data-dng-shell="header"] :where(.mainnav a,.main-nav a,.v33-nav a,.p37-menu a,.pf-nav nav a):hover,
body.dng-unified-v40 [data-dng-shell="header"] :where(.mainnav a[aria-current],.main-nav a[aria-current],.v33-nav a[aria-current],.p37-menu a[aria-current],.pf-nav nav a[aria-current]){color:var(--d40-gold)!important}
body.dng-unified-v40 [data-dng-shell="header"] :where(.topcontact,.contact-pill,.contact-chip,.p37-navcontact,.pf-contact){border-radius:100px!important;border:1px solid rgba(229,191,136,.45)!important;background:transparent!important;color:var(--d40-gold)!important;padding:10px 15px!important;font-size:12px!important;font-weight:700!important;text-decoration:none;line-height:1.4;white-space:nowrap}
body.dng-unified-v40 [data-dng-shell="header"] :where(.dng-language,.langs,.v33-lang,.p37-languages,.pf-lang){font-size:11px;gap:10px;align-items:center}
body.dng-unified-v40 [data-dng-shell="header"] :where(.dng-language a,.langs a,.v33-lang a,.p37-languages a,.pf-lang a){color:#b5c4b5!important;font-weight:700}
body.dng-unified-v40 [data-dng-shell="header"] :where(.dng-language a[aria-current],.langs a[aria-current],.v33-lang a[aria-current],.p37-languages a[aria-current],.pf-lang a[aria-current]){color:var(--d40-gold)!important}
body.dng-unified-v40 [data-dng-shell="header"] :where(.menubtn,.menu-toggle,.v33-nav-toggle,.p37-toggle){color:var(--d40-gold)!important;border-color:var(--d40-line)!important;background:#153226!important;min-width:42px;min-height:42px}
/* Unified footer: preserve every page's existing links, locality, copyright and legal disclosures. */
body.dng-unified-v40 [data-dng-shell="footer"]{height:auto;border-top:1px solid var(--d40-line)!important;background:#091e15!important;color:var(--d40-white)!important;padding:clamp(40px,5vw,65px) 0 27px!important}
body.dng-unified-v40 [data-dng-shell="footer"] :where(.shell,.container,.v33-wrap,.p37-container,.pf-wrap){max-width:var(--d40-width)}
body.dng-unified-v40 [data-dng-shell="footer"] :where(.footerinner,.footer-grid,.footgrid,.v33-wrap,.p37-footer-grid){column-gap:clamp(20px,3vw,45px);row-gap:27px}
body.dng-unified-v40 [data-dng-shell="footer"] :where(.brand,.brand-name,.brand-logo,.v33-brand,.p37-logo,.pf-brand){color:var(--d40-white)!important;font-family:var(--d40-display)!important;font-size:24px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:-.055em!important}
body.dng-unified-v40 [data-dng-shell="footer"] :where(.kicker,.v33-eyebrow,.p37-eyebrow,.footer-title,strong):not(.brand):not(.p37-logo){color:var(--d40-gold)!important}
body.dng-unified-v40 [data-dng-shell="footer"] :where(a,p,small,.small,.copyright,.p37-copyright){font-family:var(--d40-sans)!important;line-height:1.75;font-size:12.5px;color:#bbccbd!important}
body.dng-unified-v40 [data-dng-shell="footer"] a:hover{color:var(--d40-gold)!important}
body.dng-unified-v40 [data-dng-shell="footer"] :where(.copyright,.sticky-foot,.p37-copyright){border-top-color:var(--d40-line);padding-top:16px}
/* Typography and surfaces: source HTML stays unchanged. */
body.dng-unified-v40 :where(.hero25 h1,.v33-hero h1,.p37-hero h1,.pf-hero h1){line-height:1.11!important;letter-spacing:-.052em!important}
body.dng-unified-v40 :where(.hero25 .lead,.v33-lead,.p37-intro,.pf-lead){font-size:clamp(15px,1.3vw,18px);line-height:1.77}
body.dng-unified-v40 :where(.p37-section,.v33-section,body.dngv25 .section){scroll-margin-top:85px}
body.dngv25.dng-unified-v40 .panel,body.v33.dng-unified-v40 .v33-card,body.p37-body.dng-unified-v40 :where(.p37-service,.p37-plan),body.pf39.dng-unified-v40 :where(.pf-steps article,.pf-gate){border-radius:var(--d40-radius)!important;border-color:var(--d40-line)!important;box-shadow:var(--d40-shadow)}
body.dngv25.dng-unified-v40 .btn,body.v33.dng-unified-v40 .v33-btn,body.p37-body.dng-unified-v40 .p37-button,body.pf39.dng-unified-v40 .pf-btn{min-height:46px;font-weight:700}
body.dng-unified-v40 .news-wrap :where(.masthead-title,.article-title){line-height:1.17!important;letter-spacing:-.042em!important}
body.dng-unified-v40 .news-wrap :where(.story-card h3,.side-feature h3){line-height:1.42!important}
body.dng-unified-v40 .news-wrap :where(.lead-copy p,.story-card p,.article-body p){line-height:1.75!important}
/* Original V24 camera/canvas positioning intentionally untouched. */
body.dng-unified-v40 .hero .hero-intro{line-height:1.73!important}
body.dng-unified-v40 .site-head .head-row{min-height:74px}
@media(max-width:1120px){
 body.dng-unified-v40 [data-dng-shell="header"] :where(.mainnav,.main-nav,.v33-nav,.p37-menu,.pf-nav nav){gap:12px}
 body.dng-unified-v40 [data-dng-shell="header"] :where(.mainnav a,.main-nav a,.v33-nav a,.p37-menu a,.pf-nav nav a){font-size:11px!important}
}
@media(max-width:790px){
 body.dng-unified-v40 [data-dng-shell="header"]{min-height:66px}
 body.dng-unified-v40 [data-dng-shell="header"] :where(.topbar,.head-row,.navline,.header-inner,.pf-nav,.v33-wrap,.p37-top){min-height:66px}
 body.dng-unified-v40 [data-dng-shell="header"] :where(.v33-nav.open,.p37-menu.open,.mainnav.open,.main-nav.open){background:#122c20!important;border:1px solid var(--d40-line)!important;box-shadow:0 20px 50px #0007}
 body.dng-unified-v40 [data-dng-shell="footer"] :where(.footerinner,.footer-grid,.footgrid,.v33-wrap,.p37-footer-grid){grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
 body.dng-unified-v40 [data-dng-shell="footer"] :where(.copyright,.sticky-foot,.p37-copyright){grid-column:1/-1}
 body.dng-unified-v40 .news-wrap .masthead-title{font-size:clamp(39px,10vw,66px)}
}
@media(max-width:550px){
 body.dng-unified-v40 [data-dng-shell="header"] :where(.mainnav.open,.main-nav.open,.v33-nav.open,.p37-menu.open){max-height:min(72vh,550px);overflow:auto}
 body.dng-unified-v40 [data-dng-shell="footer"] :where(.footerinner,.footer-grid,.footgrid,.v33-wrap,.p37-footer-grid){grid-template-columns:1fr;gap:17px}
 body.dng-unified-v40 [data-dng-shell="footer"] :where(.footerinner,.footer-grid,.footgrid) > :first-child{grid-column:auto}
 body.dng-unified-v40 [data-dng-shell="footer"]{padding:36px 0 24px!important}
 body.dng-unified-v40 :where(.p37-hero h1,.v33-hero h1,.pf-hero h1,.hero25 h1){font-size:clamp(38px,10vw,54px)!important}
 body.dng-unified-v40 :where(.p37-container,.v33-wrap,.pf-wrap,.shell){max-width:calc(100% - 32px)}
 body.dng-unified-v40 .news-wrap :where(.article-title,.masthead-title){line-height:1.18!important}
}
@media(prefers-reduced-motion:reduce){body.dng-unified-v40 :where(.p37-service,.v33-card,.panel){transition:none!important}}
