/* D’Ascola Experience — shared visual tokens. Existing functional components remain intact. */
html:root {--nx-bg:#080c12;--nx-surface:#101720;--nx-ink:#edf3fa;--nx-muted:#a9b7c8;--nx-line:#283442;--nx-accent:#75dfed;--nx-orange:#ffad70}
html[data-theme="light"] {--nx-bg:#f1f3f5;--nx-surface:#fff;--nx-ink:#14232f;--nx-muted:#506171;--nx-line:#cbd5dd;--nx-accent:#087483;--nx-orange:#a64b13}
body.dt-experience {background:var(--nx-bg);color:var(--nx-ink);--bg:var(--nx-bg);--panel:var(--nx-surface);--fg:var(--nx-ink);--fg-muted:var(--nx-muted);--stroke:var(--nx-line);--fg-soft:var(--nx-muted);--brand-text:var(--nx-accent);--dt-link:var(--nx-accent);--dt-text-muted:var(--nx-muted)}
.dt-experience .container {width:min(1320px,calc(100% - 80px))}
.dt-experience :is(h1,h2,h3) {text-wrap:balance}
.dt-experience :is(a,button,input,select,textarea):focus-visible {outline:3px solid var(--nx-orange);outline-offset:4px}
.dt-experience .site-header {background:var(--nx-bg);border-bottom:1px solid var(--nx-line);box-shadow:none}
.dt-experience .brand-wordmark {letter-spacing:.025em}
.dt-experience .brand-wordmark small {letter-spacing:.16em}
.dt-experience .btn {border-radius:7px;min-height:48px;box-shadow:none;transition:transform .2s,background .2s}
.dt-experience .btn-primary {background:#1560d2;color:#fff;border-color:#1560d2}
.dt-experience .btn:hover {transform:translateY(-2px)}
.dt-experience .site-nav a[aria-current="page"] {color:var(--nx-accent)}
.nx-kicker {display:flex;align-items:center;gap:10px;font:600 10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.16em;color:var(--nx-accent)}
.nx-kicker i {width:7px;height:7px;background:var(--nx-accent);border-radius:50%}
.nx-link {display:inline-flex;gap:24px;align-items:center;font-size:13px;font-weight:650;color:var(--nx-ink)}
/* Homepage: architectural split composition and an original lightweight orbital illustration. */
.nx-hero {overflow:hidden;position:relative;background:radial-gradient(ellipse at 80% 20%,#28668426,transparent 58%),var(--nx-bg)}
.nx-hero-grid {display:grid;grid-template-columns:1.15fr 1fr;gap:75px;align-items:center;padding:86px 0 65px}
.nx-hero-copy h1 {font-size:clamp(44px,5.2vw,78px);line-height:1.06;letter-spacing:-.065em;font-weight:650;margin:27px 0}
.nx-hero-copy h1 em,.nx-editorial h1 em {font-style:normal;color:var(--nx-accent)}
.nx-hero-copy>p {color:var(--nx-muted);font-size:16px;line-height:1.85;max-width:540px}
.nx-actions {display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:34px}
.nx-hero-index {display:flex;gap:23px;flex-wrap:wrap;margin-top:48px;color:var(--nx-muted);font:10px/1.6 ui-monospace,monospace;letter-spacing:.08em}
.nx-engine {border:1px solid var(--nx-line);border-radius:20px;background:linear-gradient(140deg,#ffffff05,transparent);position:relative;min-width:0;transform:rotate(-3deg)}
.nx-engine-top,.nx-engine-bottom {display:flex;align-items:center;justify-content:space-between;padding:22px 25px;gap:15px}
.nx-engine-top {border-bottom:1px solid var(--nx-line);font:10px/1.5 ui-monospace,monospace;letter-spacing:.13em;color:var(--nx-muted)}
.nx-engine-bottom {border-top:1px solid var(--nx-line);font-size:13px;color:var(--nx-muted);line-height:1.8}
.nx-engine-bottom strong {color:var(--nx-ink);font-weight:500}
.nx-engine-bottom a {width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--nx-line);border-radius:50%;font-size:22px;color:var(--nx-accent)}
.nx-orbit {height:365px;position:relative;display:grid;place-items:center;background-image:linear-gradient(#8bcde008 1px,transparent 1px),linear-gradient(90deg,#8bcde008 1px,transparent 1px);background-size:30px 30px}
.nx-orbit img {width:52%;height:auto;z-index:1;filter:drop-shadow(0 10px 35px #088bf644)}
.nx-orbit-ring {position:absolute;border:1px solid var(--nx-line);width:75%;aspect-ratio:1;border-radius:50%;transform:rotateX(50deg) rotate(-25deg)}
.nx-ring-two {width:65%;transform:rotateY(50deg) rotate(25deg);border-color:#67cee859}
.nx-node {position:absolute;border:1px solid var(--nx-line);background:var(--nx-bg);padding:9px 12px;border-radius:5px;font:9px/1.3 ui-monospace,monospace;letter-spacing:.1em;z-index:2}
.nx-node-one{left:5%;top:22%}.nx-node-two{right:4%;top:48%;color:var(--nx-orange)}.nx-node-three{bottom:15%;left:13%;color:var(--nx-accent)}
.nx-hero-bottom {display:flex;justify-content:space-between;gap:20px;padding-block:23px;border-top:1px solid var(--nx-line);font:10px/1.7 ui-monospace,monospace;letter-spacing:.13em;color:var(--nx-muted)}
.dt-experience .ticker-section {border-block:1px solid var(--nx-line);background:var(--nx-surface)}
.dt-experience .section-intro {max-width:820px;text-align:left;margin-left:0}
.dt-experience .section-intro h2 {font-size:clamp(30px,4vw,54px);font-weight:550}
.dt-experience .service-grid {gap:0;border:1px solid var(--nx-line);border-radius:12px;overflow:hidden}
.dt-experience .service-card {border:0;border-right:1px solid var(--nx-line);border-radius:0;box-shadow:none;background:var(--nx-surface);padding:32px 25px}
.dt-experience .service-card:last-child {border-right:0}
.dt-experience .service-card p {font-size:13px;line-height:1.8}
.dt-experience .service-card .service-icon {border-radius:8px;background:transparent;color:var(--nx-accent);border:1px solid var(--nx-line)}
.dt-experience :is(.dt31-home,.dt31-home-featured,.dt35-solutions) {background:var(--nx-bg);border-top:1px solid var(--nx-line)}
.dt-experience .dt31-home-featured-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.dt-experience .dt31-home-featured-grid>a {background:var(--nx-surface);border-radius:10px;border:1px solid var(--nx-line)}
.dt-experience .cta-section {background:#103e50;border-block:1px solid #3b6978}
.dt-experience .site-footer {background:var(--nx-bg);border-top:1px solid var(--nx-line)}
/* Portfolio: editorial masthead, asymmetric case studies; original galleries and filters stay active. */
body.dt-experience .pf17 {--pf-bg:var(--nx-bg);--pf-surface:var(--nx-surface);--pf-text:var(--nx-ink);background:var(--nx-bg);color:var(--nx-ink)}
body.dt-experience .pf17 .pf17-wrap {width:min(1320px,calc(100% - 80px))}
body.dt-experience .pf17 .pf17-intro {padding:85px 0 65px;background:var(--nx-bg);border-bottom:1px solid var(--nx-line)}
body.dt-experience .pf17 .pf17-intro h1 {font-size:clamp(42px,5.8vw,82px);line-height:1.05;max-width:850px;font-weight:550;letter-spacing:-.065em}
body.dt-experience .pf17 .pf17-intro h1 em {color:var(--nx-accent)}
.nx-case-total {display:flex;gap:18px;align-items:center;font-size:60px;font-weight:300;line-height:1;padding-bottom:30px;border-bottom:1px solid var(--nx-line);margin-bottom:24px;color:var(--nx-accent)}
.nx-case-total small {font:10px/1.8 ui-monospace,monospace;letter-spacing:.1em;max-width:100px;color:var(--nx-muted)}
body.dt-experience .pf17 .pf17-project {border-radius:12px;border-color:var(--nx-line);box-shadow:none;background:var(--nx-surface)}
body.dt-experience .pf17 .pf17-project--lead {display:grid;grid-template-columns:1.5fr 1fr;grid-column:1/-1}
body.dt-experience .pf17 .pf17-project--lead .pf17-project-content {padding:36px;display:flex;flex-direction:column;justify-content:center}
body.dt-experience .pf17 .pf17-project--lead h3 {font-size:36px}
body.dt-experience .pf17 .pf17-filter-list button {border-radius:5px}
body.dt-experience .pf17 .pf17-filter-list button.is-selected {background:var(--nx-ink);color:var(--nx-bg);border-color:var(--nx-ink)}
/* News: a publication layout with progressive, client-side filtering. */
.nx-editorial {padding:60px 0 55px;border-bottom:1px solid var(--nx-line);background:radial-gradient(ellipse at 90% 50%,#3fa8bc16,transparent 55%)}
.nx-editorial-top,.nx-editorial-bottom {display:flex;justify-content:space-between;gap:35px;align-items:center}
.nx-editorial-top>span:last-child {font:10px ui-monospace,monospace;color:var(--nx-muted);letter-spacing:.12em}
.nx-editorial h1 {font-size:clamp(48px,7.5vw,108px);letter-spacing:-.07em;font-weight:500;line-height:1.02;margin:46px 0 35px}
.nx-editorial-bottom p {max-width:600px;color:var(--nx-muted);font-size:15px}
.nx-news-toolbar {display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:25px}
.nx-news-toolbar h2 {font-size:36px;margin:8px 0 0}.nx-news-toolbar label{font-size:12px;color:var(--nx-muted);width:min(100%,360px)}
.nx-news-toolbar input,.nx-nav-search input {display:block;width:100%;margin-top:9px;border:1px solid var(--nx-line);border-radius:6px;background:var(--nx-surface);color:var(--nx-ink);padding:13px;font:inherit}
.nx-news .news-list {counter-reset:articles;gap:20px}
.dt-experience .nx-news .news-item {border:1px solid var(--nx-line);border-radius:8px;background:var(--nx-surface);box-shadow:none;padding:30px;display:flex;flex-direction:column;min-height:290px}
.nx-news .news-item::before {counter-increment:articles;content:counter(articles,decimal-leading-zero) " / RADAR";font:10px ui-monospace,monospace;letter-spacing:.14em;color:var(--nx-accent);margin-bottom:35px}
.nx-news .news-item h2 {font-size:23px;line-height:1.35}.nx-news .news-item a{margin-top:auto;padding-top:25px}.nx-search-status{font-size:12px;color:var(--nx-muted)}
/* Authenticated workspace: the same identity, with compact operational density. */
.dt-private .floating-actions {display:none}
.dt-experience .portal-layout {max-width:1600px;margin:0 auto;grid-template-columns:245px minmax(0,1fr);background:var(--nx-bg)}
.dt-experience .portal-sidebar {background:var(--nx-surface);border-right:1px solid var(--nx-line);padding:30px 20px;align-self:stretch}
.nx-workspace-brand {display:block;padding:0 8px 25px;border-bottom:1px solid var(--nx-line);margin-bottom:20px}.nx-workspace-brand>span{font-size:40px;font-weight:750;letter-spacing:-.09em;color:var(--nx-ink)}.nx-brand-dot{color:var(--nx-accent)}.nx-workspace-brand small{display:block;font:9px/1.6 ui-monospace,monospace;letter-spacing:.15em;color:var(--nx-muted);margin-top:5px}
.nx-nav-search {display:block;font-size:11px;color:var(--nx-muted);margin:20px 0}.nx-nav-search input{font-size:12px;background:var(--nx-bg)}
.dt-experience .portal-sidebar nav a {border-radius:6px;font-size:12px;padding:12px;color:var(--nx-muted)}
.dt-experience .portal-sidebar nav a[aria-current="page"] {background:#1c64832a;color:var(--nx-accent);border:1px solid #5796ad55}
.dt-experience .portal-work {padding:24px 36px 70px;min-width:0;background:var(--nx-bg)}
.nx-workspace-bar {display:flex;justify-content:space-between;gap:15px;color:var(--nx-muted);font:9px/1.5 ui-monospace,monospace;letter-spacing:.1em;padding-bottom:20px;border-bottom:1px solid var(--nx-line);margin-bottom:20px}
.nx-shortcuts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}
.nx-shortcuts>a {display:flex;flex-direction:column;gap:14px;border:1px solid var(--nx-line);background:var(--nx-surface);border-radius:9px;padding:22px;transition:border-color .2s,transform .2s}
.nx-shortcuts>a:hover{border-color:var(--nx-accent);transform:translateY(-3px)}.nx-shortcuts strong{display:flex;justify-content:space-between;gap:10px;font-size:18px;color:var(--nx-ink)}.nx-shortcuts small{font-size:12px;color:var(--nx-muted)}
.dt-experience .portal-heading h1{font-size:36px;font-weight:550;letter-spacing:-.045em}
.dt-experience .portal-work .panel{background:var(--nx-surface);border:1px solid var(--nx-line);border-radius:10px;box-shadow:none}
.dt-experience .data-table th {background:var(--nx-surface);color:var(--nx-muted);font-size:11px;letter-spacing:.02em}
.dt-experience .data-table td {border-color:var(--nx-line)}
.nx-auth-mark{font-size:110px;line-height:1;font-weight:700;letter-spacing:-.1em;color:var(--nx-ink);margin-bottom:50px}.nx-auth-mark span{color:var(--nx-accent);font-weight:300;margin-left:15px}
.dt-experience .auth-intro>img{display:none}.dt-experience .auth-intro h1{font-size:clamp(40px,4.5vw,65px);line-height:1.1}.dt-experience .auth-card{border-radius:16px;border:1px solid var(--nx-line);background:var(--nx-surface);box-shadow:0 20px 80px #0002}
/* Motion never gates content visibility and stops for reduced-motion preferences. */
@media(prefers-reduced-motion:no-preference){.nx-orbit img{animation:nx-float 7s ease-in-out infinite}.nx-hero-copy{animation:nx-enter .65s ease-out both}.nx-engine{animation:nx-enter .9s ease-out both}@keyframes nx-float{50%{transform:translateY(-9px)}}@keyframes nx-enter{from{opacity:.4;translate:0 18px}to{opacity:1;translate:0 0}}}
.dt-experience [hidden] {display:none!important}
@media(min-width:1100px){.nx-portfolio .pf17-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.nx-hero-grid{gap:30px}.nx-orbit{height:310px}.dt-experience .portal-layout{grid-template-columns:210px minmax(0,1fr)}.dt-experience .portal-work{padding:22px}.nx-shortcuts>a{padding:16px}.nx-shortcuts strong{font-size:15px}}
@media(max-width:950px){.dt-experience .site-nav{background:var(--nx-surface)}.nx-hero-grid{grid-template-columns:1fr;padding-top:55px}.nx-hero-copy{max-width:720px}.nx-engine{max-width:600px;width:100%;margin:25px auto}.nx-orbit{height:340px}.nx-hero-copy h1{font-size:clamp(42px,7.5vw,70px)}.nx-shortcuts{grid-template-columns:1fr}.nx-shortcuts>a{gap:8px}.dt-experience .service-card:nth-child(2){border-right:0}.dt-experience .service-card{border-bottom:1px solid var(--nx-line)}}
@media(max-width:690px){.dt-experience .container,body.dt-experience .pf17 .pf17-wrap{width:calc(100% - 36px)}.nx-hero-grid{padding-top:42px;gap:20px}.nx-hero-copy h1{font-size:43px}.nx-actions{align-items:stretch;flex-direction:column;gap:22px}.nx-engine{transform:none;margin:15px 0}.nx-orbit{height:300px}.nx-hero-index{gap:12px;font-size:9px;margin-top:30px}.nx-hero-bottom{flex-direction:column;gap:8px}.dt-experience .service-card{border-right:0}.dt-experience .dt31-home-featured-grid{grid-template-columns:1fr}.nx-editorial-top>span:last-child{display:none}.nx-editorial h1{font-size:56px}.nx-editorial-bottom,.nx-news-toolbar{flex-direction:column;align-items:start;gap:16px}.nx-news-toolbar label{width:100%}.nx-news .news-item{min-height:240px}body.dt-experience .pf17 .pf17-project--lead{display:block}body.dt-experience .pf17 .pf17-project--lead .pf17-project-content{padding:24px}.nx-case-total{font-size:45px;margin-top:20px;padding-bottom:20px}.dt-experience .portal-layout{grid-template-columns:1fr}.dt-experience .portal-sidebar{padding:18px;border-right:0;border-bottom:1px solid var(--nx-line)}.nx-workspace-brand{display:flex;align-items:center;gap:20px;padding:0 0 12px;margin:0}.nx-workspace-brand>span{font-size:30px}.nx-nav-search{margin:14px 0}.dt-experience .portal-sidebar nav{max-width:100%;display:flex;flex-direction:row;overflow:auto}.dt-experience .portal-sidebar nav a{flex-shrink:0}.dt-experience .portal-work{padding:20px 18px 60px}.nx-shortcuts{grid-template-columns:1fr;gap:8px}.nx-shortcuts .nx-kicker{display:none}.nx-shortcuts>a{padding:15px}.nx-shortcuts strong{font-size:17px}.nx-shortcuts small{font-size:11px}.nx-workspace-bar{font-size:8px}.dt-experience .portal-topline{flex-wrap:wrap;gap:15px}.dt-experience .dt-top-actions{flex-wrap:wrap}.dt-experience .portal-heading h1{font-size:30px}.dt-experience .auth-intro{display:block}.nx-auth-mark{display:none}.dt-experience .auth-intro h1{font-size:38px}.dt-experience .auth-scene{padding-top:35px}.dt-experience .brand-wordmark small{font-size:6px}}
@media print{.nx-nav-search,.nx-shortcuts,.nx-workspace-bar{display:none}.dt-experience .portal-work{padding:0}}
/* Explicit contracts prevent older page-specific themes from winning the cascade. */
body.dt-experience .pf17 {--p17-ink:var(--nx-ink);--p17-muted:var(--nx-muted);--p17-paper:var(--nx-bg);--p17-card:var(--nx-surface);--p17-border:var(--nx-line);--p17-blue:var(--nx-accent)}
body.dt-experience .pf17 .pf17-intro h1 {color:var(--nx-ink)}
body.dt-experience .pf17 :is(.pf17-intro-note p,.pf17-project-summary,.pf17-project-headline){color:var(--nx-muted)}
body.dt-experience .pf17 :is(.pf17-overline,.pf17-text-link){color:var(--nx-accent)}
body.dt-experience .portal-sidebar {justify-content:flex-start;gap:0}
body.dt-experience .portal-identity b {color:var(--nx-ink)}
body.dt-experience .portal-identity span {color:var(--nx-muted)}
body.dt-experience .portal-sidebar nav {margin-top:18px}
body.dt-experience .portal-sidebar nav a {color:var(--nx-muted);background:transparent;box-shadow:none}
body.dt-experience .portal-sidebar nav a[aria-current="page"] {color:var(--nx-accent);background:#3c9fb122;border:1px solid var(--nx-line)}
body.dt-experience :is(.dt-exec-kpi,.dt-comm-dashboard,.dt-comm-dashboard-stats>a,.dt-v17-stat,.dt-v17-surface,.dt-v17-finance,.dt-v17-news,.dt-v17-news-item) {border-radius:10px;background:var(--nx-surface);border-color:var(--nx-line);box-shadow:none}
body.dt-experience :is(.dt-exec-kpi strong,.dt-comm-dashboard h2,.dt-comm-dashboard-stats strong,.dt-comm-dashboard-stats span,.dt-v17-stat strong,.dt-v17-surface h2,.dt-v17-news h2,.dt-v17-news-item h3) {color:var(--nx-ink)}
body.dt-experience :is(.dt-comm-dashboard p,.dt-comm-dashboard-stats small,.dt-exec-kpi small,.dt-v17-helper,.dt-v17-stat small) {color:var(--nx-muted)}
body.dt-experience .dt-exec-dashboard {display:flex;flex-direction:column;gap:24px}
body.dt-experience .dt-exec-toolbar {order:-3;margin:0}
body.dt-experience .dt-exec-warning {order:-2}
body.dt-experience .dt-exec-kpis {order:-1;gap:12px;margin:0}
body.dt-experience .dt-exec-kpi {border-top:2px solid var(--nx-accent);padding:25px 20px}
body.dt-experience .dt-exec-kpi strong {font-size:45px;font-weight:500;letter-spacing:-.06em}
body.dt-experience .dt-comm-dashboard {padding:25px;margin:0}
body.dt-experience .dt-v17-welcome {background:linear-gradient(110deg,#143442,#102134);border:1px solid #365261;border-radius:12px}
body.dt-experience .dt-v17-stat {border-top:2px solid var(--nx-accent)}
body.dt-experience .dt-v17-stat strong {font-size:48px;font-weight:500}
body.dt-experience .dt-v17-finance-cards article {background:var(--nx-bg);border-color:var(--nx-line)}
body.dt-experience .dt-v17-finance-cards article strong {color:var(--nx-ink)}
body.dt-experience .pf17 :is(.pf17-results,.pf17-project-overline span,.pf17-project-bottom>span) {color:var(--nx-muted)}
body.dt-experience .dt-auth-support-help a {color:var(--nx-accent)}
body.dt-experience .dt-cookie-accept {background:#1458bb;color:#fff}
body.dt-experience .pf17 :is(.pf17-steps-list li b,.pf17-related-card>div>small,.pf17-related-card>div>span) {color:var(--nx-accent)}
body.dt-experience .portal-sidebar .dt-admin-mail-first {color:var(--nx-accent)!important}
body.dt-experience .portal-sidebar-footer a {color:var(--nx-muted)}
body.dt-experience :is(.dt-exec-eyebrow,.dt-v17-news-item>span) {color:var(--nx-accent)}
body.dt-experience .portal-work label {color:var(--nx-ink)}
body.dt-experience .portal-work .form-hint {color:var(--nx-muted)}
body.dt-experience .portal-sidebar .nx-nav-search input {background:var(--nx-bg);color:var(--nx-ink);border-color:var(--nx-line)}
body.dt-experience .portal-sidebar .nx-nav-search input::placeholder {color:var(--nx-muted);opacity:1}
