:root{
  --navy:#0d0a18;
  --navy-2:#171024;
  --navy-3:#21153a;
  --paper:#f8f7fc;
  --paper-2:#eeeaf8;
  --surface:#ffffff;
  --ink:#17131f;
  --ink-soft:#665f72;
  --line:rgba(33,21,58,.14);
  --line-strong:rgba(98,62,151,.34);
  --violet:#8b73d8;
  --violet-bright:#bb75e6;
  --blue:#5261dc;
  --gradient:linear-gradient(100deg,#c477e7 0%,#8b73d8 46%,#5261dc 100%);
  --shadow:0 24px 70px rgba(38,25,67,.12);
  --ease:cubic-bezier(.2,.8,.2,1);
  --max:2200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit}
.shell{width:min(calc(100% - clamp(34px,6vw,112px)),var(--max));margin-inline:auto}
.reading{max-width:820px}
.skip-link{position:fixed;left:18px;top:-80px;z-index:9999;padding:12px 16px;background:#fff;color:#111}.skip-link:focus{top:16px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,10,24,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.brand{display:flex;align-items:center;gap:17px;min-width:260px}
.brand-mark{width:92px;height:56px;object-fit:contain}
.brand-tagline{max-width:150px;padding-left:17px;border-left:1px solid rgba(255,255,255,.24);font-size:11px;line-height:1.45;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.nav-links{display:flex;align-items:center;gap:30px;color:rgba(255,255,255,.83);font-size:14px;font-weight:650}
.nav-links>a,.nav-group-link{position:relative;padding:30px 0}
.nav-links>a::after,.nav-group-link::after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:1px;background:var(--violet-bright);transition:right .25s var(--ease)}
.nav-links>a:hover::after,.nav-links>a[aria-current="page"]::after,.nav-group:hover>.nav-group-link::after{right:0}
.nav-group{position:relative}
.nav-submenu{position:absolute;top:68px;left:-22px;min-width:185px;padding:11px;background:#171024;border:1px solid rgba(255,255,255,.13);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s var(--ease)}
.nav-group:hover .nav-submenu,.nav-group:focus-within .nav-submenu{opacity:1;visibility:visible;transform:none}
.nav-submenu a{display:block;padding:11px 12px;color:rgba(255,255,255,.76);font-size:13px}
.nav-submenu a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-contact{padding:11px 18px!important;border:1px solid rgba(255,255,255,.28);border-radius:999px}
.nav-contact::after{display:none!important}.nav-contact:hover{background:var(--gradient);border-color:transparent;color:#fff}
.menu-button{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;border-radius:50%;padding:0;cursor:pointer}
.menu-button span{display:block;width:19px;height:1px;background:#fff;margin:6px auto}
.breadcrumb{padding:22px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.breadcrumb span{padding:0 8px;color:var(--violet)}
.hero{position:relative;overflow:hidden;padding:clamp(42px,5.2vw,82px) 0 clamp(54px,6vw,76px);background:linear-gradient(180deg,#f8f7fc 0%,#f2eef9 100%)}
.hero::before{content:"";position:absolute;width:900px;height:900px;right:-410px;top:-500px;border-radius:50%;background:radial-gradient(circle,rgba(139,115,216,.25),rgba(82,97,220,.07) 48%,transparent 70%)}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.68fr);gap:clamp(48px,7vw,104px);align-items:end}
.eyebrow{margin:0 0 22px;color:#5d3f8f;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.display{margin:0;max-width:12.5ch;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4rem,8.9vw,8.4rem);font-weight:400;line-height:.91;letter-spacing:-.057em}
.display em{font-style:normal;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{max-width:800px;margin:34px 0 0;color:var(--ink-soft);font-size:clamp(1.15rem,1.55vw,1.45rem);line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:38px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 22px;border:1px solid var(--navy);border-radius:999px;font-size:13px;font-weight:760;transition:.25s var(--ease)}
.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:var(--gradient);border-color:transparent;transform:translateY(-2px)}
.button.secondary{background:rgba(255,255,255,.82);color:#100d1a;-webkit-text-fill-color:#100d1a}.button.secondary:hover{background:#fff;border-color:var(--violet);color:#100d1a;-webkit-text-fill-color:#100d1a;transform:translateY(-2px)}
.hero-card{position:relative;padding:clamp(34px,4vw,58px);background:linear-gradient(145deg,#0d0a18 0%,#1b1230 60%,#302052 100%);color:#fff;box-shadow:var(--shadow);overflow:hidden}
.hero-card::before{content:"";position:absolute;width:390px;height:390px;right:-205px;top:-190px;border-radius:50%;border:1px solid rgba(255,255,255,.22);box-shadow:0 0 0 60px rgba(255,255,255,.025),0 0 0 120px rgba(255,255,255,.014)}
.hero-card>*{position:relative}
.hero-card-label{display:flex;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.17);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#d6b8ed}
.hero-card h2{max-width:12ch;margin:34px 0 24px;font-family:Georgia,serif;font-size:clamp(2.5rem,4vw,4.2rem);font-weight:400;line-height:1;letter-spacing:-.045em}
.hero-card p{margin:0;color:rgba(255,255,255,.74);font-size:15px}
.diff-list{display:grid;gap:0;margin:35px 0 0;padding:0;list-style:none}
.diff-list li{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:16px 0;border-top:1px solid rgba(255,255,255,.13);font-size:14px;color:#fff}
.diff-list span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(196,119,231,.14);color:#dfc0f2;font-size:11px;font-weight:800}
.domain-strip{background:var(--navy);color:#fff}
.domain-grid{display:grid;grid-template-columns:1.15fr repeat(3,.62fr);gap:1px;background:rgba(255,255,255,.12)}
.domain-cell{min-height:150px;padding:30px;background:var(--navy)}
.domain-cell:first-child{background:linear-gradient(135deg,#171024,#251742)}
.domain-cell small{display:block;margin-bottom:16px;color:#c58ae6;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.domain-cell strong{display:block;font-family:Georgia,serif;font-size:clamp(1.5rem,2.2vw,2.3rem);font-weight:400;line-height:1.05}
.domain-cell p{margin:12px 0 0;color:rgba(255,255,255,.6);font-size:13px}
.section{padding:clamp(88px,10vw,154px) 0}
.section.alt{background:var(--paper-2)}
.section.dark{background:linear-gradient(135deg,#0d0a18 0%,#171024 55%,#251742 100%);color:#fff}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);gap:70px;align-items:end;margin-bottom:62px}
.section-title{max-width:13ch;margin:0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);line-height:.95;letter-spacing:-.052em;font-weight:400}
.section-intro{margin:0;color:var(--ink-soft);font-size:17px}.dark .section-intro{color:rgba(255,255,255,.64)}.dark .eyebrow{color:#c589e8}
.pillar-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}
.pillar-card{position:relative;min-height:365px;padding:30px 28px;background:linear-gradient(145deg,#0d0a18 0%,#1b1230 62%,#2b1849 100%);color:#fff;border:1px solid rgba(255,255,255,.13);overflow:hidden;transition:.28s var(--ease)}
.pillar-card:hover{transform:translateY(-5px);border-color:rgba(196,119,231,.55);box-shadow:var(--shadow)}
.pillar-card::after{content:attr(data-number);position:absolute;right:-10px;bottom:-38px;font-family:Georgia,serif;font-size:9rem;color:rgba(255,255,255,.035);line-height:1}
.pillar-card small{display:block;color:#d0a9ea;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.pillar-card h3{position:relative;margin:76px 0 18px;font-family:Georgia,serif;font-size:clamp(1.8rem,2.4vw,2.6rem);font-weight:400;line-height:1;letter-spacing:-.035em}
.pillar-card p{position:relative;margin:0;color:rgba(255,255,255,.72);font-size:14px}
.journey{position:relative;margin-top:20px}
.journey::before{content:"";position:absolute;left:8%;right:8%;top:36px;height:1px;background:linear-gradient(90deg,#c477e7,#5261dc)}
.journey-grid{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.journey-step{text-align:center}
.journey-dot{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 25px;border-radius:50%;background:var(--surface);border:1px solid var(--line-strong);box-shadow:0 0 0 12px var(--paper-2);font-size:12px;font-weight:800;color:#60408f}
.journey-step h3{margin:0 0 10px;font-size:17px}
.journey-step p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.55}
.engagement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.engagement-card{display:flex;flex-direction:column;min-height:470px;padding:34px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 46px rgba(38,25,67,.06)}
.engagement-card.featured{background:linear-gradient(145deg,#151022,#2b1849);color:#fff;border-color:rgba(196,119,231,.4)}
.engagement-card small{color:#6d479f;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.engagement-card.featured small{color:#d4aceb}
.engagement-card h3{margin:28px 0 18px;font-family:Georgia,serif;font-size:clamp(2rem,2.7vw,3rem);font-weight:400;line-height:1;letter-spacing:-.04em}
.engagement-card>p{margin:0;color:var(--ink-soft);font-size:14px}.engagement-card.featured>p{color:rgba(255,255,255,.7)}
.engagement-card ul{margin:auto 0 0;padding:28px 0 0;list-style:none}
.engagement-card li{padding:11px 0;border-top:1px solid var(--line);font-size:13px}.engagement-card.featured li{border-color:rgba(255,255,255,.14)}
.system-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:center}
.system-copy h2{max-width:10ch;margin:0;font-family:Georgia,serif;font-size:clamp(3.4rem,6vw,6.4rem);line-height:.94;letter-spacing:-.055em;font-weight:400}
.system-copy p{max-width:650px;margin:30px 0 0;color:rgba(255,255,255,.66)}
.system-map{position:relative;min-height:630px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(139,115,216,.075));overflow:hidden}
.system-map::before,.system-map::after{content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;border:1px solid rgba(255,255,255,.08);border-radius:50%}.system-map::before{width:430px;height:430px}.system-map::after{width:560px;height:560px}
.system-core{position:absolute;z-index:3;left:50%;top:50%;translate:-50% -50%;display:grid;place-items:center;width:170px;aspect-ratio:1;border-radius:50%;background:var(--gradient);font-weight:800;text-align:center;box-shadow:0 0 0 22px rgba(139,115,216,.09)}
.system-node{position:absolute;z-index:2;width:210px;padding:20px;background:rgba(13,10,24,.88);border:1px solid rgba(255,255,255,.19)}
.system-node strong{display:block;margin-bottom:7px;font-size:15px}.system-node span{display:block;color:rgba(255,255,255,.58);font-size:12px}
.system-node.n1{top:44px;left:44px}.system-node.n2{top:44px;right:44px}.system-node.n3{bottom:44px;left:44px}.system-node.n4{bottom:44px;right:44px}
.system-line{position:absolute;z-index:1;left:50%;top:50%;width:37%;height:1px;background:linear-gradient(90deg,rgba(196,119,231,.7),rgba(82,97,220,.35));transform-origin:left center}.system-line.l1{transform:rotate(218deg)}.system-line.l2{transform:rotate(322deg)}.system-line.l3{transform:rotate(142deg)}.system-line.l4{transform:rotate(38deg)}
.outcomes-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.outcome-callout{padding:clamp(38px,5vw,68px);background:linear-gradient(145deg,#0d0a18,#2b1849);color:#fff}
.outcome-callout .eyebrow{color:#c589e8}.outcome-callout h2{max-width:12ch;margin:0;font-family:Georgia,serif;font-size:clamp(3rem,5vw,5.2rem);font-weight:400;line-height:.97;letter-spacing:-.05em}.outcome-callout p{margin:30px 0 0;color:rgba(255,255,255,.71)}
.outcome-list{display:grid;gap:0}
.outcome-row{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:28px 0;border-top:1px solid var(--line)}
.outcome-row:first-child{border-top:0;padding-top:0}
.outcome-row span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--paper-2);color:#633f94;font-size:12px;font-weight:800}
.outcome-row h3{margin:0 0 8px;font-size:18px}.outcome-row p{margin:0;color:var(--ink-soft);font-size:14px}
.context-panel{margin-top:70px;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line)}
.context-panel>div{padding:clamp(32px,5vw,64px)}
.context-panel>div:first-child{background:linear-gradient(145deg,#ede8f7,#f8f7fc)}
.context-panel h3{max-width:14ch;margin:0;font-family:Georgia,serif;font-size:clamp(2.4rem,4vw,4.2rem);font-weight:400;line-height:1;letter-spacing:-.045em}
.context-panel p{margin:24px 0 0;color:var(--ink-soft)}
.context-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.context-tags span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:11px;font-weight:750;color:#5f3e8c}
.contact-section{padding:clamp(92px,10vw,148px) 0;background:linear-gradient(135deg,#171024 0%,#0d0a18 58%,#21153a 100%);color:#fff}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}.contact-section .eyebrow{color:#c589e8}
.contact-title{max-width:12ch;margin:0;font-family:Georgia,serif;font-size:clamp(3.2rem,6vw,6.2rem);line-height:.94;letter-spacing:-.055em;font-weight:400}
.contact-aside p{margin:0 0 32px;color:rgba(255,255,255,.67)}
.email-link{display:flex;justify-content:space-between;gap:25px;padding:18px 0;border-top:1px solid rgba(255,255,255,.26);border-bottom:1px solid rgba(255,255,255,.26);font-weight:750;color:#fff}
.site-footer{padding:52px 0 28px;background:#090711;color:rgba(255,255,255,.72)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:start}.footer-brand{display:flex;align-items:center;gap:22px}.footer-logo{width:104px}.footer-brand p{margin:0;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:15px 28px;font-size:13px}.legal{display:flex;justify-content:space-between;gap:30px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:rgba(255,255,255,.42)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.in{opacity:1;transform:none}
:focus-visible{outline:3px solid rgba(187,117,230,.55);outline-offset:4px}
@media(max-width:1180px){.pillar-grid{grid-template-columns:repeat(3,1fr)}.engagement-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr .72fr}.display{font-size:clamp(3.9rem,8vw,7rem)}}
@media(max-width:900px){.menu-button{display:block}.nav-links{display:none;position:absolute;left:20px;right:20px;top:72px;flex-direction:column;align-items:stretch;gap:0;padding:18px;background:#171024;border:1px solid rgba(255,255,255,.13);box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links>a,.nav-group-link{padding:13px 9px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-submenu{position:static;display:block;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:transparent;padding:0 0 0 18px}.hero-grid,.section-head,.system-layout,.outcomes-grid,.contact-grid{grid-template-columns:1fr}.hero-card{max-width:760px}.domain-grid{grid-template-columns:1fr 1fr}.pillar-grid{grid-template-columns:repeat(2,1fr)}.journey::before{display:none}.journey-grid{grid-template-columns:1fr 1fr}.journey-step{text-align:left;display:grid;grid-template-columns:72px 1fr;column-gap:20px}.journey-dot{grid-row:1/3;margin:0}.context-panel{grid-template-columns:1fr}.system-map{min-height:600px}.footer-grid{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}
@media(max-width:640px){body{font-size:16px}.shell{width:min(calc(100% - 28px),var(--max))}.nav{min-height:70px}.brand{min-width:0}.brand-mark{width:76px}.brand-tagline{display:none}.hero{padding-top:38px}.display{font-size:clamp(3.45rem,15vw,5.45rem)}.hero-grid{gap:46px}.domain-grid,.pillar-grid,.engagement-grid,.journey-grid{grid-template-columns:1fr}.domain-cell{min-height:auto}.pillar-card{min-height:310px}.journey-step{grid-template-columns:60px 1fr}.journey-dot{width:54px;height:54px;box-shadow:none}.system-map{min-height:720px}.system-node{width:160px}.system-node.n1{top:28px;left:20px}.system-node.n2{top:170px;right:20px}.system-node.n3{bottom:170px;left:20px}.system-node.n4{bottom:28px;right:20px}.system-line{display:none}.system-core{width:125px}.legal{display:grid}.footer-brand{align-items:flex-start}.footer-links{display:grid;grid-template-columns:1fr 1fr}.contact-title{font-size:3.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


body.admin-bar .tdgx-canvas[data-tdg-page="modernization_advisory"] .site-header{top:32px;}
@media(max-width:782px){body.admin-bar .tdgx-canvas[data-tdg-page="modernization_advisory"] .site-header{top:46px;}}
html{margin-top:0!important;}
body.tdgx-redesign-page{margin:0!important;padding:0!important;}
