:root{--sans:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--sans-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--ink:#0A0A0B;--navy:#141414;--gold:#C6A05A;--blue:#2F80ED;--cream:#F4F3EF;--mute:#A3A19B;--body:#C9C7C2;--lede:#E4E2DD;--line:rgba(244,243,239,.14);--red:#FF4D4F}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--cream);font-family:var(--sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible, button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.wrap{max-width:1280px;margin:0 auto;padding:0 48px}header{position:absolute;top:0;left:0;right:0;z-index:20}header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}.brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.brand img{width:66px;height:auto}.brand b{display:block;font-weight:500;letter-spacing:.2em;font-size:16px;line-height:1.3}.brand span{display:block;color:var(--gold);letter-spacing:.62em;font-size:10px;font-weight:400;margin-top:3px}.nav{display:flex;align-items:center;gap:34px;font-size:15px;font-weight:400}.nav>a:not(.pill){color:var(--lede);background:none;border:0;font:inherit;cursor:pointer}.nav>a:not(.pill):hover, .nav [aria-current=page]{color:#fff}.nav [aria-current=page]{border-bottom:1px solid var(--blue)}.pill{display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:14px 26px;font-weight:500;font-size:15px;transition:background .2s;cursor:pointer;border:0;font-family:inherit}.pill.solid{background:var(--cream);color:var(--ink)}.pill.solid:hover{background:#fff}.pill.ghost{border:1px solid rgba(244,243,239,.55);color:var(--cream);background:none}.pill.ghost:hover{background:rgba(244,243,239,.08)}.pill.small{padding:10px 20px;font-size:14px}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero.inner{min-height:82vh}.hero .media{position:absolute;inset:0 0 0 38%;background-size:cover;background-position:center;animation:drift 24s ease-in-out infinite alternate}.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 34%,rgba(10,10,11,.6) 56%,rgba(10,10,11,0) 82%)}.hero .copy{position:relative;z-index:2;max-width:680px;padding-top:150px}h1{font-weight:300;font-size:clamp(52px,7.4vw,112px);line-height:.98;letter-spacing:-.025em;margin-bottom:34px}h1 em{font-style:normal;display:block}.inner h1{font-size:clamp(42px,5.4vw,80px);line-height:1.02}.crumb{color:var(--gold);font-size:15px;font-weight:500;margin-bottom:22px;display:block}.lede{font-size:21px;color:var(--lede);max-width:520px;margin-bottom:44px}.ctas{display:flex;gap:16px;flex-wrap:wrap}section.band{padding:120px 0;border-top:1px solid var(--line)}section.band.first{border-top:0}.head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:64px}h2{font-weight:300;font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-.015em;max-width:720px}.head p{color:var(--mute);max-width:380px;font-size:17px}.statement{font-weight:300;font-size:clamp(28px,3.2vw,46px);line-height:1.25;max-width:1000px;letter-spacing:-.012em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 56px}.item{padding:30px 0 34px;border-top:1px solid var(--line)}h3{font-weight:400;font-size:24px;line-height:1.25;margin-bottom:12px;letter-spacing:-.005em}.item p{color:var(--body);font-size:17px}.more{border-bottom:1px solid var(--blue);padding-bottom:4px;font-weight:400;display:inline-block;margin-right:26px;margin-bottom:10px}.note{color:var(--mute);font-size:14px;margin-top:40px;max-width:760px}footer{padding:56px 0 48px;border-top:1px solid var(--line);font-size:13px;color:var(--mute);font-weight:400}.fcols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}.fcols b{display:block;color:var(--cream);font-weight:500;margin-bottom:12px;font-size:14px}.fcols a{display:block;margin-bottom:8px}.fcols a:hover{color:var(--cream)}@media (max-width:900px){.wrap{padding:0 24px}header .wrap{padding-top:16px;padding-bottom:16px}.brand img{width:52px}.brand b{font-size:14px}.nav{display:none;position:absolute;top:136px;left:16px;right:16px;flex-direction:column;align-items:stretch;gap:0;background:rgba(20,20,20,.98);border:1px solid var(--line);border-radius:16px;padding:12px}.nav>a{padding:12px;text-align:left}.hero .media{inset:0}.hero .shade{background:linear-gradient(180deg,rgba(10,10,11,.35),var(--ink) 78%)}.hero{align-items:flex-end;padding-bottom:110px}.head{flex-direction:column;align-items:start}.fcols{grid-template-columns:1fr 1fr}section.band{padding:80px 0}}@media (prefers-reduced-motion:reduce){.hero .media{animation:none}}.cond.on{display:grid;gap:22px}.fbar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.fbar a{margin-left:22px}.fbar a:hover{color:var(--cream)}.brand b{padding-left:.2em}.brand span{padding-left:.62em}.stepnav{display:flex;flex-wrap:wrap;gap:8px}.stepnav a{border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--body)}.stepnav a:hover{border-color:var(--blue);color:var(--cream)}.stepnav a[aria-current=page]{background:var(--blue);border-color:var(--blue);color:var(--ink);font-weight:500}.hero.full .media{inset:0;background-position:center 70%;animation:drift 40s ease-in-out infinite alternate}.hero.full .shade{background:linear-gradient(90deg,rgba(10,10,11,.88) 0%,rgba(10,10,11,.62) 30%,rgba(10,10,11,.12) 58%,rgba(10,10,11,0) 75%),linear-gradient(180deg,rgba(10,10,11,.55) 0%,rgba(10,10,11,0) 28%,rgba(10,10,11,0) 70%,var(--ink) 100%)}@media (max-width:900px){.hero.full .media{background-position:48% center}.hero.full .shade{background:linear-gradient(180deg,rgba(10,10,11,.5),rgba(10,10,11,.2) 35%,var(--ink) 82%)}}@media (max-width:900px){.hero.full .shade{background:linear-gradient(180deg,rgba(10,10,11,.45),rgba(10,10,11,.4) 30%,rgba(10,10,11,.75) 55%,var(--ink) 85%)}}.hero .media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero.plain{min-height:64vh;background:radial-gradient(ellipse 80% 70% at 78% 30%,rgba(60,60,60,.45),rgba(10,10,11,0) 70%),var(--ink)}.hero.plain .copy{padding-top:150px}@media (max-width:900px){.hero.plain{min-height:auto;padding:190px 0 70px;align-items:flex-start}.hero.plain .copy{padding-top:0}}@media (prefers-reduced-motion:reduce){.hero .media video{display:none}}.hero.inner .shade{background:linear-gradient(180deg,rgba(10,10,11,.78) 0%,rgba(10,10,11,.25) 24%,rgba(10,10,11,0) 45%,rgba(10,10,11,0) 80%,var(--ink) 100%),linear-gradient(90deg,var(--ink) 34%,rgba(10,10,11,.6) 56%,rgba(10,10,11,.1) 82%)}.hero.inner.full .media{inset:0}.hero.inner.full .shade{background:linear-gradient(90deg,rgba(10,10,11,.9) 0%,rgba(10,10,11,.66) 32%,rgba(10,10,11,.18) 60%,rgba(10,10,11,.05) 78%),linear-gradient(180deg,rgba(10,10,11,.7) 0%,rgba(10,10,11,0) 26%,rgba(10,10,11,0) 72%,var(--ink) 100%)}.img-engineer{background-position:right center}.img-data{background-position:70% center}.img-shard{background-position:center 35%}.img-robot{background-position:65% center}@media (max-width:900px){.hero.inner.full .shade{background:linear-gradient(180deg,rgba(10,10,11,.55),rgba(10,10,11,.45) 35%,rgba(10,10,11,.8) 60%,var(--ink) 90%)}}.img-robot, .img-meeting{filter:brightness(.68) contrast(1.08)!important}.hero.inner.full .shade{background:linear-gradient(90deg,rgba(10,10,11,.92) 0%,rgba(10,10,11,.72) 36%,rgba(10,10,11,.22) 62%,rgba(10,10,11,.05) 80%),linear-gradient(180deg,rgba(10,10,11,.7) 0%,rgba(10,10,11,0) 26%,rgba(10,10,11,0) 72%,var(--ink) 100%)}@media (max-width:900px){.hero.inner.full .shade{background:linear-gradient(180deg,rgba(10,10,11,.55),rgba(10,10,11,.5) 35%,rgba(10,10,11,.82) 60%,var(--ink) 90%)}}:root{--font:"Montserrat"}body,.pill,button,input,select,textarea{font-family:var(--sans)}body{font-weight:400}h1, h2, h3, .statement{font-weight:500;letter-spacing:-.035em}h1{letter-spacing:-.045em}.lede, .item p, .statement{font-weight:400}.statement{font-weight:400;letter-spacing:-.025em}.crumb{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600}.brand b{font-weight:600}.pill{border-radius:2px;padding:15px 24px;letter-spacing:.01em}.pill.small{padding:10px 18px}.pill:after{content:"\2192";font-weight:300;margin-left:4px;transition:transform .2s}.pill:hover:after{transform:translateX(4px)}.stepnav a{border-radius:0!important}.head{border-top:1px solid var(--line);padding-top:26px}section.band.first .head{border-top:0;padding-top:0}header{position:fixed;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}header .wrap{transition:padding .3s}header.scrolled{background:rgba(10,10,11,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line)}header.scrolled .wrap{padding-top:10px;padding-bottom:10px}header.scrolled .brand div{display:none}header.scrolled .brand img{width:40px}.stepnav{display:grid;grid-template-columns:repeat(9,1fr);gap:0}.stepnav a{border:0!important;border-top:2px solid rgba(244,243,239,.14)!important;padding:14px 10px 0 0;font-size:11px;letter-spacing:.14em;background:none!important;color:var(--mute)!important;font-weight:600}.stepnav a[aria-current=page]{border-top-color:var(--blue)!important;color:var(--cream)!important}.stepnav a:has(~ a[aria-current=page]){border-top-color:rgba(47,128,237,.5)!important;color:var(--body)!important}.stepnav a:hover{color:var(--cream)!important}@media (max-width:900px){.stepnav{overflow-x:auto;grid-template-columns:repeat(9,120px)}}@media (prefers-reduced-motion:reduce){.hero.full h1 em, .hero.full .lede, .hero.full .ctas{animation:none}}.stepnav a{border-top-width:3px!important}.brand span{color:#C6A05A}.journey.on .jline i{width:100%}.js{display:block;padding:0 4px 6px}.journey.on .jd{opacity:1;transform:none}.js:last-child .jd{width:18px;height:18px;margin-top:-3px;margin-bottom:13px;background:var(--gold);border-color:var(--gold)}.js:hover .jt, .js:focus-visible .jt{color:var(--gold)}.journey.on .js:hover .jd{transform:scale(1.4);background:var(--blue)}.journey.on .js:last-child:hover .jd{background:var(--gold)}@media (max-width:900px){.journey.on .jline i{height:100%;width:100%}.js{display:grid;grid-template-columns:42px 34px 1fr;align-items:center;padding:0}.js:last-child .jd{margin:0 0 0 12px}}.stepnav{grid-template-columns:repeat(var(--n,9),1fr)}@media (max-width:900px){.stepnav{grid-template-columns:repeat(var(--n,9),120px)}}.mintro{max-width:780px;color:var(--lede);font-size:20px;line-height:1.6;margin:26px 0 44px}section.band{padding:76px 0}.head{margin-bottom:44px}section.band:has(> .wrap > .head:only-child){padding-bottom:32px}section.band > .wrap > .head:only-child{margin-bottom:0}.hero.plain{min-height:52vh}.statement{margin:0}@media (max-width:900px){section.band{padding:56px 0}.hero.plain{min-height:auto}}.hero.inner{min-height:74vh}.brand img{width:58px}header .wrap{padding-top:18px;padding-bottom:18px}.hero .copy{padding-top:120px}@media (max-width:900px){.brand img{width:48px}.nav{top:92px!important}}/* premium buttons */
.pill{position:relative;padding:17px 30px;font-size:15px;font-weight:500;letter-spacing:.02em;overflow:hidden;transition:background .3s,color .3s,border-color .3s,transform .3s}.pill:after{margin-left:10px;font-weight:300;font-size:17px;opacity:.85}.pill.solid{background:rgba(244,243,239,.06);color:var(--cream);border:1px solid rgba(244,243,239,.34);backdrop-filter:blur(8px)}.pill.solid:hover{background:rgba(198,160,90,.12);border-color:var(--gold);color:#fff;transform:translateY(-1px)}.pill.ghost{border:1px solid rgba(244,243,239,.34);color:var(--cream);background:rgba(244,243,239,.03);backdrop-filter:blur(6px)}.pill.ghost:hover{border-color:var(--gold);background:rgba(198,160,90,.10);color:#fff;transform:translateY(-1px)}.pill.small{padding:11px 20px;font-size:14px}.ctas{gap:18px;align-items:center}.pill.solid:after{opacity:.85}.band .pill.solid{background:rgba(244,243,239,.05)}header .pill.solid{background:rgba(244,243,239,.08);border-color:rgba(244,243,239,.4)}.stepnav a{padding-right:12px}.stepnav a:first-child{color:var(--gold)!important}.stepnav{display:block!important;font-size:0;white-space:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.stepnav a{display:inline-block!important;width:auto!important;min-width:112px;font-size:11px;white-space:normal;vertical-align:top;padding:12px 26px 0 0;line-height:1.35}.stepnav a[aria-current=page]{color:var(--cream)!important}.stepnav{scrollbar-width:none;-ms-overflow-style:none}.stepnav::-webkit-scrollbar{display:none;width:0;height:0}.pitem{display:inline-block;width:49.8%;vertical-align:top;font-size:16px;box-sizing:border-box;padding-right:56px;border-top:1px solid var(--line);padding-top:26px}.pitem h3{font-size:22px;margin-bottom:8px}.pitem p{color:var(--body);margin-bottom:16px}@media (max-width:900px){.pitem{width:100%;padding-right:0}}/* consistent vertical rhythm: no trailing space inside a section */
section.band > .wrap > *:last-child{margin-bottom:0!important}section.band > .wrap > .head:last-child{margin-bottom:0!important}.mintro:last-child, .statement:last-child, .note:last-child, .grid:last-child{margin-bottom:0!important}.pitem{padding-bottom:26px}/* the section bar fits without scrolling */
.stepnav{white-space:normal;overflow:visible;display:block!important}.stepnav a{min-width:0;padding:12px 0 0 0;margin-right:2.2%;font-size:10.5px;letter-spacing:.1em}.stepnav a:last-child{margin-right:0}@media (max-width:1100px){.stepnav a{font-size:10px;margin-right:1.6%}}@media (max-width:760px){.stepnav{white-space:nowrap;overflow-x:auto}.stepnav a{margin-right:18px}}footer .fcols>div{width:100%;max-width:640px;padding-right:0}footer .fcols>div b{display:block;margin-bottom:10px}@media (max-width:760px){footer .fcols>div{width:100%}}/* even rhythm across every block of services, figures and cards */
.grid{margin-right:-48px}.grid > .item{padding:24px 48px 28px 0;border-top:1px solid var(--line);box-sizing:border-box}.grid > .item h3{margin:0 0 8px;font-size:19px;line-height:1.3}.grid > .item p{margin:0;font-size:16px;line-height:1.55}.pitem{padding-top:24px;padding-bottom:28px}.barlab{display:block;color:var(--gold);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:12px}section.band h2{font-size:34px;line-height:1.15;letter-spacing:-.02em;margin:0 0 18px;max-width:20ch}section.band p{max-width:78ch;margin:0 0 16px}section.band h3{font-size:20px;margin:26px 0 8px}.evs{display:block;margin-top:8px}section.band .head{display:block;font-size:0;margin-bottom:30px}section.band .head h2{display:inline-block;width:56%;vertical-align:top;font-size:34px;margin:0;padding-right:5%;box-sizing:border-box}section.band .head p{display:inline-block;width:39%;vertical-align:top;font-size:16px;color:var(--mute);margin:8px 0 0}@media (max-width:900px){section.band .head h2, section.band .head p{display:block;width:100%;padding-right:0}}.lede2{color:var(--lede);font-size:18px;line-height:1.6;max-width:62ch;margin:18px 0 0}section.band .head h2{font-size:32px}section.band{padding:64px 0}
section.band{padding:72px 0}section.band .head{margin-bottom:34px}section.band .head h2{width:54%;padding-right:6%;font-size:32px;line-height:1.18}section.band .head p{width:40%;font-size:16px;line-height:1.6;margin:10px 0 0}section.band .wrap > p{margin:0 0 18px}section.band .wrap > p:last-child{margin-bottom:0}.evs{margin-top:4px}.grid{margin-top:8px}.mintro{margin-bottom:26px}section.band .head p{color:var(--lede);font-size:17px}/* type scale, applied site-wide
   display 76 / 96 home | h2 32 | h3 20 | standfirst 19 | body 18 | small 16 | caption 13 */
.hero h1{font-size:76px;line-height:1.04;font-weight:500;letter-spacing:-.03em}.hero.full:not(.inner) h1{font-size:92px}.hero .lede{font-size:20px;line-height:1.6;color:var(--lede)}.lede2{font-size:18px;line-height:1.65;color:var(--body)}section.band .head h2{font-size:32px;line-height:1.18;font-weight:500;letter-spacing:-.02em}section.band .head p{font-size:19px;line-height:1.6;color:var(--lede)}.mintro{font-size:19px;line-height:1.6;color:var(--lede)}section.band .wrap > p{font-size:18px;line-height:1.65;color:var(--body)}section.band h3, .grid > .item h3{font-size:20px;line-height:1.35;font-weight:500;color:var(--cream)}.grid > .item p{font-size:17px;line-height:1.6}.crumb{font-size:11px;font-weight:600;letter-spacing:.16em}.barlab{font-size:11px;font-weight:600;letter-spacing:.16em}.stepnav a{font-size:11px;font-weight:600;letter-spacing:.1em}.nav a, .nav button{font-size:15px;font-weight:400}.pill{font-size:15px;font-weight:500}footer, footer a{font-size:14px;line-height:1.7}@media (max-width:900px){.hero h1, .hero.full:not(.inner) h1{font-size:46px}section.band .head h2{font-size:26px}}.futil{border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.futil a{display:inline-block;color:var(--body);font-size:14px;margin:0 26px 10px 0;text-decoration:none}.futil a:hover{color:var(--gold)}/* layout without grid or flex, so restricted viewers render it correctly */
.wrap{max-width:1280px;margin:0 auto;padding:0 48px}header .wrap{display:block!important;text-align:left;font-size:0}.brand{display:inline-block!important;vertical-align:middle}.nav{display:inline-block!important;vertical-align:middle;float:right;font-size:15px}.nav>a{display:inline-block!important;vertical-align:middle;margin-left:30px}.hero{display:block!important;position:relative;padding-top:120px;padding-bottom:90px}.hero .copy{padding-top:0!important}.ctas{display:block!important;font-size:0}.ctas>*{display:inline-block!important;vertical-align:middle;margin:0 16px 12px 0;font-size:15px}.pill{display:inline-block!important;vertical-align:middle}.head{display:block!important}.head h2{display:inline-block;vertical-align:bottom;width:62%}.head p{display:inline-block;vertical-align:bottom;width:34%;padding-left:3%}.stepnav{display:block!important;font-size:0}.stepnav>a{display:inline-block!important;width:12.4%;font-size:11px;box-sizing:border-box}.grid{display:block!important;font-size:0}.grid>.item{display:inline-block!important;width:33.2%;vertical-align:top;font-size:16px;box-sizing:border-box;padding-right:48px}.fcols{display:block!important;font-size:0}.fcols>div{display:inline-block!important;width:19.8%;vertical-align:top;font-size:13px;box-sizing:border-box;padding-right:24px}.fbar{display:block!important}.fbar>span{display:inline-block;vertical-align:middle}.fbar>span:last-child{float:right}@media (max-width:1100px){.grid>.item{width:50%}.fcols>div{width:33.33%;margin-bottom:24px}}@media (max-width:900px){.wrap{padding:0 20px}.nav{float:none;display:block!important;margin-top:10px}.nav>a{margin:0 18px 8px 0}.head h2, .head p{display:block;width:100%;padding-left:0}}@media (max-width:760px){.grid>.item, .fcols>div{width:100%}.stepnav>a{width:100%;text-align:left}.nav{float:none;display:block!important}}.hero .media{position:absolute;inset:0}.hero.plain{padding-top:150px;padding-bottom:90px}/* cards, sections and their spacing */
section.band{padding:0;background:none;border:0}section.band + section.band{border-top:0}section.band > .wrap{padding-top:0;padding-bottom:0}.cardwrap{padding:22px 0}.nacard{position:relative;background:rgba(244,243,239,.028);border:1px solid rgba(244,243,239,.10);
  padding:40px 44px 42px;box-sizing:border-box;transition:border-color .35s,background .35s,transform .35s,box-shadow .35s}.nacard:hover{border-color:rgba(198,160,90,.55);background:rgba(198,160,90,.05);transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(0,0,0,.34)}.nacard .num{display:block;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.18em;margin-bottom:16px;transition:color .35s}.nacard h2{font-size:26px;line-height:1.22;font-weight:500;letter-spacing:-.01em;margin:0 0 14px;color:var(--cream)}.nacard .stand{color:var(--lede);font-size:18px;line-height:1.6;margin:0 0 18px;max-width:70ch}.nacard p{color:var(--body);font-size:17px;line-height:1.68;margin:0 0 14px;max-width:78ch}.nacard p:last-child{margin-bottom:0}.nacard h3{font-size:18px;margin:22px 0 8px;color:var(--cream)}.nacard:after{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--gold);transition:height .45s}.nacard:hover:after{height:100%} two across, equal height, symmetrical 
.cards2{display:block;padding:8px 0 40px}.crow{display:table;width:100%;table-layout:fixed;border-spacing:24px 24px;margin:0 -24px;height:1px}.ccell{display:table-cell;vertical-align:top}.cardwrap{padding:0;height:100%;display:block}.nacard{height:100%;min-height:100%;box-sizing:border-box}/* grids and figures inside a card */
.nacard .grid{margin-right:-40px}.nacard .grid > .item{padding:22px 40px 24px 0;border-top:1px solid rgba(244,243,239,.09)}.nacard .grid > .item:hover h3{color:var(--gold)}.nacard .grid > .item{width:50%}@media (max-width:900px){.cards2 > .cardwrap{width:100%;padding-right:0}.nacard{padding:26px 22px 28px}.nacard h2{font-size:22px}.cardwrap{padding:12px 0}}.hero.full:not(.inner) h1{max-width:12ch}.hero h1 .tl{display:block;line-height:1.02;margin:0 0 6px}.hero h1 .tl:last-child{margin-bottom:0}.nacard.wide{}.crow:has(.nacard.wide){table-layout:auto}/* the two service columns */
.oboxes{display:table;width:100%;table-layout:fixed;border-spacing:28px 0;margin:22px -28px 0}.obox{display:table-cell;width:50%;vertical-align:top}.obox .olab{display:block;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
  border-top:2px solid var(--gold);padding-top:14px;margin-bottom:14px}.obox .oline{font-size:16px;line-height:1.6;color:var(--lede);margin:0 0 18px}.osvc{list-style:none;margin:0;padding:0}.osvc li{font-size:16px;line-height:1.5;color:var(--cream);padding:12px 0;border-top:1px solid rgba(244,243,239,.09)}.osvc li:before{content:"";display:inline-block;width:5px;height:5px;background:var(--gold);margin-right:12px;vertical-align:middle}@media (max-width:900px){.oboxes{display:block;margin:16px 0 0}.obox{display:block;width:100%;padding:0 0 22px}}/* rows line up across the two boxes */
.oboxes{display:table;width:100%;table-layout:fixed;border-spacing:14px 0;margin:16px -14px 0}.obox{display:table-cell;width:50%;padding:0;vertical-align:top}@media (max-width:900px){.oboxes{display:block;margin:12px 0 0}.obox{display:block;width:100%}}.ohd{margin-bottom:12px}.ohd .ostage{display:inline-block;vertical-align:middle;color:var(--gold);font-size:13px;font-weight:600;letter-spacing:.18em;
  border:1px solid rgba(198,160,90,.45);padding:7px 11px;margin-right:16px}.ohd h2{display:inline-block;vertical-align:middle;margin:0}.nacard.wide .stand{max-width:88ch;margin-bottom:8px}/* space under the stage bar, and around the chain */
section.band.first{padding:30px 0 0}section.band.first + section.band{padding-top:44px}section.band.first .stepnav{padding-bottom:22px;border-bottom:1px solid rgba(244,243,239,.08)}/* keep the chain on one line and balanced */
.nacard.wide .grid{margin-right:-40px;margin-top:10px}.nacard.wide .grid > .item{width:24.9%;padding:20px 40px 22px 0;border-top:1px solid rgba(244,243,239,.10)}@media (max-width:1100px){.nacard.wide .grid > .item{width:49.8%}}@media (max-width:760px){.nacard.wide .grid > .item{width:100%;padding-right:0}}/* the stage bar */
.stepnav{display:table!important;width:100%;table-layout:fixed;border-spacing:10px 0;margin:0 -10px;white-space:normal;overflow:visible}.stepnav a.step{display:table-cell!important;width:auto!important;border:0!important;border-top:2px solid rgba(244,243,239,.13)!important;
  padding:12px 0 0!important;margin:0!important;text-decoration:none;transition:border-color .3s,color .3s}.stepnav a.step .sn{display:block;font-size:11px;letter-spacing:.14em;color:var(--mute);margin-bottom:5px;transition:color .3s}.stepnav a.step .st{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--body);transition:color .3s}.stepnav a.step.done{border-top-color:rgba(198,160,90,.35)!important}.stepnav a.step.done .sn, .stepnav a.step.done .st{color:var(--body)}.stepnav a.step.on{border-top-color:var(--gold)!important}.stepnav a.step.on .sn{color:var(--gold)}.stepnav a.step.on .st{color:var(--cream)}.stepnav a.step:hover{border-top-color:rgba(198,160,90,.7)!important}.stepnav a.step:hover .st{color:var(--cream)}.stepnav a.step:hover .sn{color:var(--gold)}@media (max-width:900px){.stepnav{display:block!important;white-space:nowrap;overflow-x:auto;margin:0}.stepnav a.step{display:inline-block!important;min-width:104px;margin-right:16px!important}}.stepnav a.step.done .sn{color:var(--gold);opacity:.75}/* a card with no partner spans the width and sets its body in two columns */
.crow.full{width:100%}.nacard.solo{padding:40px 44px 42px}.nacard.solo h2{max-width:28ch}.nacard.solo .stand{max-width:80ch}.nacard.solo p{max-width:none}.nacard.solo > p:not(.stand){display:inline-block;width:49.6%;vertical-align:top;box-sizing:border-box;padding-right:40px;font-size:17px}@media (max-width:900px){.nacard.solo{padding:26px 22px}.nacard.solo > p:not(.stand){display:block;width:100%;padding-right:0}}.nacard.wide > h3{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:28px 0 6px}.nacard.wide > h3:first-of-type{margin-top:14px}.ev-n{color:var(--gold);font-weight:500}.ev-src{display:block;margin-top:8px;font-size:12px;color:var(--mute)}.ev-src a{color:var(--mute)}/* a one-line assertion reads as a statement, not a half-empty card */
.nacard.assert{background:rgba(198,160,90,.05);border-color:rgba(198,160,90,.28)}.nacard.assert h2{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:14px}.nacard.assert .stand, .nacard.assert p{font-size:26px;line-height:1.35;color:var(--cream);max-width:34ch;margin:0}.nacard.assert .num{color:var(--gold)}@media (max-width:900px){.hero .media{right:0;max-width:100%}section.band.first > .wrap{padding-right:0}.stepnav{padding-right:20px}body{overflow-x:hidden}}@media (max-width:900px){section.band.first > .wrap{overflow:hidden}.stepnav{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:900px){.crow{display:block!important;width:100%;margin:0;border-spacing:0}.ccell{display:block!important;width:100%}.cardwrap{margin-bottom:14px}}.evline{margin-top:16px;padding-top:16px;border-top:1px solid rgba(244,243,239,.09);font-size:16px;line-height:1.6;color:var(--body)}.evline .ev-src{display:block;margin-top:8px;font-size:12px;color:var(--mute)}.obox .oline{min-height:80px}@media (max-width:900px){.obox .oline{min-height:0}}/* one colour rule: cream for headings, body grey for text, gold for figures and labels */
.osvc li{color:var(--body)}.osvc li:hover{color:var(--cream)}.nacard p:not(.stand), .evline{color:var(--body)}.nacard .stand, .obox .oline{color:var(--lede)}.ev-n{color:var(--gold);font-weight:500}.ev-src, .ev-src a{color:var(--mute)}/* one evidence pattern site-wide */
.evs{margin-top:10px}.evline{margin:0;padding:18px 0 16px;border-top:1px solid rgba(244,243,239,.09);
  font-size:17px;line-height:1.62;color:var(--body);max-width:82ch}.evline:first-child{border-top:1px solid rgba(244,243,239,.09)}.evline .ev-n{color:var(--gold);font-weight:500}.evline .ev-src{display:block;margin-top:8px;font-size:12px;line-height:1.5;color:var(--mute)}.nacard h2{font-size:30px;line-height:1.2}.nacard .stand{font-size:18px;line-height:1.62;color:var(--lede);margin-bottom:18px}.nacard p:not(.stand):not(.evline){font-size:17px;line-height:1.66;color:var(--body)}.obox .olab{margin-bottom:6px}/* fewer rules: the hierarchy is carried by size and colour */
.evline{border-top:0!important;padding:0;margin:16px 0 0;max-width:88ch}.evline .ev-src{display:block;margin-top:6px}.evs .evline{margin-top:18px}.nacard .stand + .evline{margin-top:14px}.osvc li{border-top:0;padding:9px 0}.osvc li:before{margin-right:11px}.obox .olab{border-top:2px solid var(--gold);padding-top:13px;margin-bottom:12px}.grid > .item{border-top:1px solid rgba(244,243,239,.08)}/* breathing room now that the rules are gone */
.nacard.wide .stand{margin-bottom:0}.evline{margin-top:20px}.oboxes{margin-top:34px}/* a label beside its paragraph */ on a full-width card the heading sits beside the text 
.nacard.solo{display:table;width:100%;table-layout:fixed}.nacard.solo > .num, .nacard.solo > h2{display:block}.nacard.solo > .num{color:var(--gold)}.nacard.solo:before{content:"";display:none}.nacard.solo > h2{width:auto}.solo-head{display:table-cell;width:34%;vertical-align:top;padding-right:48px;box-sizing:border-box}.solo-body{display:table-cell;vertical-align:top}.solo-body > p:not(.stand){display:block!important;width:auto!important;padding-right:0!important}@media (max-width:900px){.nacard.solo, .solo-head, .solo-body{display:block;width:100%;padding-right:0}}.nacard.solo .solo-body > p:not(.stand){display:block!important;width:auto!important;padding-right:0!important;max-width:74ch}.solo-head{width:30%}.nacard.solo h2{font-size:26px;max-width:18ch}@media (max-width:900px){.nacard.solo .solo-body > p:not(.stand){display:block!important;width:100%!important;padding-right:0!important}}.stand .evjoin{color:var(--body)}.stand .ev-src{margin-left:6px;font-size:12px;color:var(--mute);white-space:nowrap}.stand .ev-n{color:var(--gold);font-weight:500}/* full-width card: fill the card, keep the same type scale */
.nacard.solo{display:table!important;width:100%!important;table-layout:fixed;box-sizing:border-box}.solo-head{display:table-cell!important;width:32%!important;vertical-align:top;padding-right:56px;box-sizing:border-box}.solo-body{display:table-cell!important;width:68%!important;vertical-align:top;box-sizing:border-box}.solo-body > p:not(.stand){max-width:none!important;width:auto!important}.nacard.solo h2{font-size:30px;line-height:1.2;max-width:none}.nacard.solo .stand{font-size:18px;margin-bottom:0}.nacard.solo .solo-body > p:first-child{margin-top:0}.nacard.solo{padding:38px 44px 40px;border-collapse:separate}.nacard.solo > .solo-head, .nacard.solo > .solo-body{float:none}.crow.full .ccell{width:100%}.crow.full{table-layout:auto}/* solo card columns, without table quirks */
.nacard.solo{display:block!important;font-size:0}.solo-head{display:inline-block!important;width:32%!important;vertical-align:top;padding-right:4%;box-sizing:border-box;font-size:16px}.solo-body{display:inline-block!important;width:64%!important;vertical-align:top;box-sizing:border-box;font-size:16px}/* one scale, and no dead space at the foot of a card */
section.band .head h2, .nacard h2{font-size:30px!important;line-height:1.2}.nacard.assert h2{font-size:13px!important}.nacard .stand, .nacard.solo .stand{font-size:18px}.nacard p:not(.stand):not(.evline), .evline, .grid > .item p{font-size:17px}.osvc li{font-size:16px}.nacard > *:last-child{margin-bottom:0!important}.nacard{padding-bottom:34px}.ccell{height:auto}.crow{height:auto}/* the body column must never collapse */
.solo-body{min-height:1px}.solo-body > .mintro{font-size:18px;line-height:1.62;color:var(--lede);margin:0 0 16px;max-width:none}.solo-body p{display:block}b.ev-n{color:var(--gold);font-weight:500}.osvc b.ev-n{font-weight:500}.hero .claim{margin:20px 0 0;padding-top:18px;border-top:1px solid rgba(198,160,90,.4);max-width:44ch;
  font-size:17px;line-height:1.55;color:var(--cream);font-weight:500;letter-spacing:.01em}@media (max-width:900px){.hero .claim{font-size:15px;max-width:none}}.hero .ctas{margin-top:0}/* the positioning line: gold first clause, lighter second */
.hero .claim{border-top:0;border-bottom:1px solid rgba(198,160,90,.4);max-width:52ch;margin:26px 0 20px;padding:0 0 16px}.hero .claim .c1{display:block;color:var(--gold);font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.005em}@media (max-width:900px){.hero .claim .c1{font-size:18px}}/* ===== one type scale, applied last so it wins =====
   display 88 | page 64 | section 28 | sub 19 | standfirst 19 | body 17 | list 16 | small 12 | label 11 */
.hero.full:not(.inner) h1{font-size:88px!important;line-height:1.02;font-weight:500;letter-spacing:-.03em}.hero.inner h1{font-size:64px!important;line-height:1.08;font-weight:500;letter-spacing:-.025em}section.band .head h2, .nacard h2, .ohd h2{font-size:28px!important;line-height:1.22;font-weight:500;letter-spacing:-.015em}.nacard.assert h2{font-size:11px!important;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.nacard.assert .stand, .nacard.assert p{font-size:24px!important;line-height:1.4;color:var(--cream)}section.band h3, .grid > .item h3, .nacard.wide > h3{font-size:19px!important;line-height:1.35;font-weight:500}.nacard.wide > h3{font-size:11px!important;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}.hero .lede{font-size:19px!important;line-height:1.6}.hero .claim .c1{font-size:22px!important}.nacard .stand, .obox .oline, .mintro, .solo-body > .mintro{font-size:19px!important;line-height:1.6}.nacard p:not(.stand):not(.evline):not(.mintro), .evline, .grid > .item p, .lede2{font-size:17px!important;line-height:1.66}.osvc li{font-size:16px!important;line-height:1.5}.ev-src, .ev-src a, .note{font-size:12px!important}.crumb, .barlab, .stepnav a .sn, .stepnav a .st, .olab, .nacard .num{font-size:11px!important;letter-spacing:.15em;font-weight:600}.stepnav a .st{font-size:12px!important}.pill, .pill.small{font-size:15px!important;font-weight:500}.nav a, .nav button{font-size:15px!important}footer, footer a, .futil a{font-size:14px!important}@media (max-width:900px){.hero.full:not(.inner) h1{font-size:44px!important}.hero.inner h1{font-size:36px!important}section.band .head h2, .nacard h2, .ohd h2{font-size:24px!important}.nacard.assert p, .nacard.assert .stand{font-size:20px!important}.nacard .stand, .obox .oline, .mintro{font-size:17px!important}}section.band > .wrap > p{font-size:17px!important;line-height:1.66}.ohd .ostage{font-size:11px!important}/* tighter rhythm between labelled rows */.nacard.wide .stand{margin-bottom:2px}.evline{margin-top:14px!important}.nacard.wide .stand + .evline{margin-top:10px!important}.oboxes{margin-top:30px!important} paragraphs inside a card sit close together 
.nacard .mintro{margin:0 0 14px}.nacard .mintro + .mintro{margin-top:0}.nacard p + p{margin-top:0}.nacard p{margin:0 0 14px}.nacard > *:last-child{margin-bottom:0}.solo-body > p{margin:0 0 14px}.osvc li:before{background:rgba(198,160,90,.75);width:4px;height:4px}/* services grouped into boxes that open */
.svcgs{margin-top:4px}.svcg{border:1px solid rgba(244,243,239,.12);margin-bottom:10px;background:rgba(244,243,239,.02);
  transition:border-color .3s,background .3s}.svcg[open]{border-color:rgba(198,160,90,.45);background:rgba(198,160,90,.04)}.svcg:hover{border-color:rgba(198,160,90,.4)}.svcg > summary{list-style:none;cursor:pointer;padding:15px 18px;display:block;position:relative;
  color:var(--cream);font-size:17px;line-height:1.4;font-weight:500}.svcg > summary::-webkit-details-marker{display:none}.svcg > summary:after{content:"+";position:absolute;right:18px;top:13px;color:var(--gold);font-size:18px;font-weight:400}.svcg[open] > summary:after{content:"\2212"}.svcg .sg-c{display:inline-block;margin-left:10px;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.1em;vertical-align:1px}.svcg .osvc{padding:0 18px 14px}.svcg .osvc li{border-top:1px solid rgba(244,243,239,.08);padding:11px 0;font-size:16px;color:var(--body)}.svcg .osvc li:first-child{border-top:0}/* emphasis inside body copy */.nacard strong, .evline strong, section.band strong{color:var(--gold);font-weight:500} one hero hierarchy on every page: headline, gold line, supporting line, note 
.hero .copy{max-width:56ch}.hero.full:not(.inner) h1{font-size:82px!important}.hero.inner h1{font-size:58px!important}.hero .claim .c1{font-size:24px!important;line-height:1.3}.hero .lede{font-size:21px!important;line-height:1.55;color:var(--lede);margin:0}.hero .lede2{font-size:16px!important;line-height:1.62;color:var(--mute);margin-top:16px;max-width:52ch}.hero .crumb{margin-bottom:18px;display:block}@media (max-width:900px){.hero.full:not(.inner) h1{font-size:42px!important}.hero.inner h1{font-size:34px!important}.hero .claim .c1{font-size:18px!important}.hero .lede{font-size:17px!important}.hero .lede2{font-size:15px!important}}.hero.inner .claim{border-bottom:1px solid rgba(198,160,90,.35);padding-bottom:16px;margin:22px 0 18px;max-width:52ch}.hero.inner .crumb{margin-bottom:14px}.hero .lede2{margin-top:0}/* gold marks the headings that carry the message, nothing else */
.nacard h2, section.band .head h2, .ohd h2{color:var(--gold)!important}.nacard.assert h2{color:var(--gold)!important}.obox .olab{color:var(--gold)!important}.hero .claim .c1{color:var(--gold)!important}b.ev-n{color:inherit!important;font-weight:500}.evline b, .stand b{color:var(--cream)!important}.nacard strong, section.band strong{color:var(--cream)!important}.svcg > summary{color:var(--cream)}/* the stage bar: clear space under the label, with a marker pointing to it */
.barlab{display:block;margin-bottom:22px;position:relative}/* a marker over the current stage */
.stepnav a.step{position:relative}.stepnav a.step .hint{position:absolute;top:-24px;left:0;color:var(--gold);font-size:15px;line-height:1;
  animation:barnudge 2.2s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.stepnav a.step .hint{animation:none}}section.band.first{padding-top:44px}/* less empty space beneath the hero text */
.hero{min-height:0!important;padding:112px 0 72px!important}.hero.full:not(.inner){min-height:0!important;padding:150px 0 96px!important}@media (max-width:900px){.hero{padding:88px 0 52px!important}.hero.full:not(.inner){padding:96px 0 60px!important}}/* no gold rules above the service columns */
.obox .olab{border-top:0!important;padding-top:0!important}.oboxes{margin-top:26px!important}.hero .claim{border-bottom:0!important;padding-bottom:0!important;margin-bottom:16px!important}.nacard.assert{border-color:rgba(244,243,239,.12)!important}.barlab{font-size:13px!important;letter-spacing:.17em;margin-bottom:30px}.stepnav a.step .hint{top:-22px}.barlab{font-size:17px!important;letter-spacing:.06em;text-transform:none;font-weight:500;margin-bottom:32px}.hero .claim{max-width:46ch}.hero .claim .c1{display:inline;font-size:24px!important;color:var(--gold)}@media (max-width:900px){.hero .claim .c1{font-size:18px!important}}/* card headings sit below the section label in weight and size */
.nacard h2, section.band .head h2, .ohd h2{font-size:23px!important;line-height:1.25;font-weight:500;letter-spacing:-.005em}.nacard .stand{font-size:18px!important}.nacard p:not(.stand):not(.evline):not(.mintro):not(.widecopy):not(.oline), .evline, .grid > .item p{font-size:16px!important;line-height:1.66}.nacard .mintro, .obox .oline{font-size:17px!important}.svcg > summary{font-size:16px!important}.osvc li{font-size:15px!important}@media (max-width:900px){.nacard h2, section.band .head h2, .ohd h2{font-size:20px!important}}.stepnav a.step .hint{left:50%;transform-origin:center;margin-left:-8px;top:-26px;font-size:19px;width:16px;text-align:center}/* the audience is the heading for its list */
.obox .olab{font-size:20px!important;font-weight:500;letter-spacing:0!important;text-transform:none!important;
  color:var(--gold)!important;margin:0 0 10px;border:0!important;padding:0!important}.obox .oline{line-height:1.62;color:var(--body);margin:0 0 18px;max-width:46ch}.oboxes{margin-top:30px!important}.img-hero{background-image:url("./img-hero.jpg")}.img-shard{background-image:url("./img-shard.jpg")}.img-meeting{background-image:url("./img-meeting.jpg")}.img-engineer{background-image:url("./img-engineer.jpg")}.img-eye{background-image:url("./img-eye.jpg")}.img-robot{background-image:url("./img-robot.jpg")}.img-data{background-image:url("./img-data.jpg")}.img-crew{background-image:url("./img-crew.jpg")}.img-plant{background-image:url("./img-plant.jpg")}.img-bridges{background-image:url("./img-bridges.jpg")}
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;color:#0A0A0B;padding:10px 14px;font-weight:600}.skip-link:focus{top:12px}.section-kicker, .classification{display:block;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}.statement-block{max-width:980px}.supporting, .widecopy{color:var(--body);font-size:18px;max-width:900px;margin-top:22px}.clean-list{list-style:none;margin-top:14px}.clean-list li{border-top:1px solid var(--line);padding:10px 0;color:var(--body)}.proofgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:10px 0 48px}.proof{background:var(--ink);padding:30px}.proof b{display:block;color:var(--gold);font-size:34px;font-weight:500;line-height:1.05;margin-bottom:12px}.proof span{color:var(--body);font-size:15px}.proof a{display:inline;border-bottom:1px solid var(--line);color:var(--mute)}.routegrid, .founders{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.routecard, .founders article{background:var(--ink);padding:34px}.routecard>span, .roleline{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.routecard p, .founders p{color:var(--body);margin:12px 0 18px}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.principle-grid div{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:20px}.value-tags{display:flex;flex-wrap:wrap;gap:10px}.value-tags span{border:1px solid var(--line);padding:10px 14px;color:var(--lede);font-size:14px}.sector-class{padding:32px 0!important}.mandate-note{padding:26px 0!important}.sectorgrid, .sourcegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.sectorcard, .sourcecard{display:block;background:var(--ink);padding:30px;min-height:230px}.sectorcard span, .sourcecard>span{display:block;color:var(--gold);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-bottom:14px}.sectorcard p, .sourcecard p{color:var(--body);margin:12px 0 18px}.sectorcard b{color:var(--gold);font-weight:500}.cta-band{padding-top:70px!important}.cta-panel{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid var(--line);padding-top:38px}.cta-panel h2{font-size:36px}.enquiry-form{max-width:920px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label, .enquiry-form>label{display:block;color:var(--mute);font-size:14px}.form-grid .full{grid-column:1/-1}.enquiry-form input, .enquiry-form select, .enquiry-form textarea{display:block;width:100%;margin-top:8px;background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);padding:14px 16px;font:inherit;border-radius:0}.enquiry-form select option{background:var(--navy)}.enquiry-form fieldset{border:1px solid var(--line);padding:24px;margin:30px 0}.enquiry-form legend{padding:0 8px;color:var(--gold);font-weight:600}.enquiry-form .check{margin:18px 0;color:var(--body);font-size:14px}.enquiry-form .check input{display:inline-block;width:auto;margin:0 9px 0 0}.enquiry-form .check a{border-bottom:1px solid var(--blue)}.conditional{display:none}.conditional.on{display:block}.form-note, .form-status{color:var(--mute);font-size:13px;margin:16px 0}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.sourcecard{min-height:210px}.sourcecard h3{font-size:20px}.sourcecard a{margin-top:10px}.hero.plain .copy{max-width:760px}@media(max-width:900px){.proofgrid, .sectorgrid, .sourcegrid, .principle-grid{grid-template-columns:1fr 1fr}.routegrid, .founders, .form-grid{grid-template-columns:1fr}.cta-panel{display:block}.cta-panel .ctas{margin-top:24px}}@media(max-width:600px){.proofgrid, .sectorgrid, .sourcegrid, .principle-grid{grid-template-columns:1fr}}
@media(max-width:900px){header .nav{display:flex;position:static;flex-direction:row;align-items:center;gap:0;background:none;border:0;border-radius:0;padding:0}header .nav>a{padding:10px 16px;text-align:center}}@media(max-width:760px){.grid, .nacard .grid{margin-right:0!important}}@media(max-width:900px){header .wrap{display:flex!important;align-items:center;justify-content:space-between;text-align:left;font-size:initial}header .brand{display:flex!important;flex-direction:column;align-items:center;margin:0}header .nav{display:flex!important;position:static;float:none;flex-direction:row;align-items:center;margin:0;gap:0;background:none;border:0;border-radius:0;padding:0}header .nav>a{margin:0!important;padding:9px 15px!important;text-align:center;font-size:13px!important}}
/* section cards: content sections read as boxes, as on the stage pages */




section.band{padding:14px 0}
section.band.first{padding:44px 0 0}
@media (max-width:900px){
  
  section.band{padding:10px 0}
}

/* grids fill their rows evenly. The build labels each grid with its column count, and the
   layout stays inline-block so it renders identically in the single-file preview. */
.grid{display:block!important;font-size:0;margin-right:-48px}
.grid > .item{display:inline-block!important;vertical-align:top;font-size:16px;box-sizing:border-box;
  padding:24px 48px 26px 0;width:33.2%}
.grid.c1 > .item{width:100%}
.grid.c2 > .item{width:49.8%}
.grid.c3 > .item{width:33.2%}
.grid.c4 > .item{width:24.9%}
.grid.c5 > .item{width:19.9%}
.nacard .grid.c2 > .item,.nacard.wide .grid.c2 > .item{width:49.8%}
.nacard .grid.c3 > .item,.nacard.wide .grid.c3 > .item{width:33.2%}
.nacard .grid.c4 > .item,.nacard.wide .grid.c4 > .item{width:24.9%}
@media (max-width:1100px){.grid > .item,.grid.c3 > .item,.grid.c4 > .item,.grid.c5 > .item,
  .nacard .grid.c3 > .item,.nacard .grid.c4 > .item,.nacard.wide .grid.c3 > .item,.nacard.wide .grid.c4 > .item{width:49.8%}}
@media (max-width:760px){.grid,.grid > .item{margin-right:0}
  .grid > .item,.grid.c2 > .item,.grid.c3 > .item,.grid.c4 > .item,.grid.c5 > .item,
  .nacard .grid > .item,.nacard.wide .grid > .item{width:100%;padding-right:0}}

/* stage links inside the model card */
.nacard.wide .grid > .item h3 a{color:var(--cream);text-decoration:none;transition:color .3s}
.nacard.wide .grid > .item h3 a:hover{color:var(--gold)}
.nacard.wide .widecopy{margin-top:22px}

/* the model: eight stages that open */
.stagegrid{display:block;font-size:0;margin:6px -12px 0}
.stagegrid > .svcg.stage{display:inline-block;width:49.6%;vertical-align:top;font-size:16px;box-sizing:border-box;margin:0 12px 12px 0}
.svcg.stage > summary{padding:15px 18px}
.svcg.stage .sg-d{display:block;margin-top:6px;color:var(--body);font-size:15px;font-weight:400;line-height:1.55;padding-right:18px}
.stagebody{padding:0 18px 16px}
.stagebody p{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--body)}
.stagebody p b{color:var(--cream);font-weight:500}
.stagebody .stagelink{margin:0}
.stagebody .stagelink a{color:var(--gold);font-size:15px;text-decoration:none}
.stagebody .stagelink a:hover{text-decoration:underline}
@media (max-width:760px){.stagegrid{margin-right:0}.stagegrid > .svcg.stage{width:100%;margin-right:0}}

/* layout containment: nothing may push the page wider than the viewport */
.grid{margin-right:0}
.stagegrid{margin:6px 0 0}
.stagegrid > .svcg.stage{width:calc(50% - 7px);margin:0 12px 12px 0}
.stagegrid > .svcg.stage:nth-child(2n){margin-right:0}
@media (max-width:1024px){
  .stepnav{display:block!important;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0}
  .stepnav a.step{display:inline-block!important;min-width:104px;margin-right:16px!important}
  section.band.first > .wrap{overflow:hidden}
}
@media (max-width:820px){
  .stagegrid > .svcg.stage{width:100%;margin-right:0}
}
html,body{overflow-x:hidden}

/* one container rule: the measure is the wrap, the visible box is the card or the panel */
section.band > .wrap{max-width:1280px;margin:0 auto;padding:0 48px;box-sizing:border-box}
.cards2{margin:0}
.crow.full{border-spacing:0;margin:0;width:100%}
.crow.full > .ccell{width:100%}
.panel{background:rgba(244,243,239,.028);border:1px solid rgba(244,243,239,.10);
  padding:40px 44px 34px;box-sizing:border-box;position:relative;
  transition:border-color .35s,background .35s,transform .35s,box-shadow .35s}
.panel:hover{border-color:rgba(198,160,90,.55);background:rgba(198,160,90,.05);
  transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.34)}
.panel:after{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--gold);transition:height .45s}
.panel:hover:after{height:100%}
.panel > *:last-child{margin-bottom:0!important}
@media (max-width:900px){
  section.band > .wrap{padding:0 20px}
  .panel{padding:26px 22px 28px}
}

/* a paired row uses the same outer edges as a full-width row */
.crow{border-spacing:24px 0;margin:0 -24px;width:calc(100% + 48px)}
.crow.full{border-spacing:0;margin:0;width:100%}

/* a sub-heading inside a card */
.nacard.wide .subhead{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  font-weight:600;margin:26px 0 12px}

/* ===== one type scale, applied last =====
   h1 82/58 | page statement 30 | section heading 28 | sub-heading 19 | standfirst 18
   body 16 | list 15 | small 12 | label 11 */
.hero.full:not(.inner) h1{font-size:82px!important}
.hero.inner h1{font-size:58px!important}
.panel .statement,.statement-block .statement{font-size:30px!important;line-height:1.28;font-weight:500;color:var(--cream)}
main h2,.ohd h2,section.band .head h2,.nacard h2,.cta-panel h2{font-size:28px!important;line-height:1.24;font-weight:500;letter-spacing:-.01em}
.nacard.assert h2{font-size:11px!important;letter-spacing:.16em;text-transform:uppercase;font-weight:600}
main h3{font-size:19px!important;line-height:1.35;font-weight:500}
.nacard.wide .subhead,.nacard.wide > h3{font-size:11px!important;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.olab{font-size:20px!important}
.nacard .stand,.panel .supporting,.obox .oline,.row2 .rtxt p,.mintro{font-size:18px!important;line-height:1.62}
main p:not(.stand):not(.statement):not(.supporting):not(.oline):not(.mintro):not(.widecopy):not(.ev-src):not(.pnote):not(.claim):not(.lede2):not(.c1):not(.ed){font-size:16px!important;line-height:1.66}
.osvc li,.inc.wide li,.stagebody p{font-size:15px!important;line-height:1.6}
.ev-src,.pnote,.fieldnote{font-size:12px!important;line-height:1.6}
.svcg > summary{font-size:16px!important;font-weight:500}
.svcg.stage .sg-d{font-size:15px!important}

/* the number badge sits on the same optical line as its heading */
.ohd{display:block;margin-bottom:14px}
.ohd .ostage{display:inline-block;vertical-align:middle;width:38px;height:38px;line-height:36px;
  text-align:center;padding:0;margin:0 16px 0 0;font-size:12px;letter-spacing:.08em;
  border:1px solid rgba(198,160,90,.45);color:var(--gold);box-sizing:border-box}
.ohd h2{display:inline-block;vertical-align:middle;margin:0;max-width:calc(100% - 64px)}
@media (max-width:900px){
  .hero.full:not(.inner) h1{font-size:42px!important}
  .hero.inner h1{font-size:34px!important}
  .panel .statement,.statement-block .statement{font-size:22px!important}
  main h2,.ohd h2,.nacard h2,.cta-panel h2{font-size:22px!important}
  .ohd .ostage{width:32px;height:32px;line-height:30px;margin-right:12px}
}
.mintro,.nacard .stand,.solo-body > .mintro{font-size:18px!important}
.nacard.assert .stand,.nacard.assert p{font-size:22px!important;line-height:1.4}
.grid > .item h3,.stagebody p b{font-size:19px}
.nacard.wide .grid > .item h3{font-size:19px!important}
/* final pass: every lead paragraph and every column heading at one size */
.nacard .stand,.panel .supporting,.obox .oline,.row2 .rtxt p,.mintro,p.mintro,.solo-body p.mintro,.widecopy{font-size:18px!important;line-height:1.62}
.obox .olab,h3.olab{font-size:19px!important}
main h3:not(.subhead):not(.olab){font-size:19px!important}
.obox .oline,p.oline{font-size:17px!important;line-height:1.62;color:var(--lede)}
.mintro,p.mintro{font-size:17px!important}
.widecopy,p.widecopy{font-size:17px!important}
/* these carry a class, so they must beat the generic paragraph rule that follows them */
.nacard .oline,.nacard .widecopy,.nacard .mintro,
.panel .oline,.panel .widecopy,.panel .mintro,
main .oline,main .widecopy,main .mintro{font-size:17px!important;line-height:1.64}
.nacard.assert .stand,.nacard.assert p{font-size:22px!important}
main .stand:not(.assert){font-size:18px!important}

/* one scale, final */
html body main .mintro,html body main .widecopy,html body main .oline{font-size:17px!important;line-height:1.64!important}
html body main .stand{font-size:18px!important;line-height:1.62!important}
html body main .nacard.assert .stand,html body main .nacard.assert p{font-size:22px!important;line-height:1.4!important}

/* number and heading centred on each other, and the heading takes the full width */
.ohd{display:table!important;width:100%;table-layout:auto;margin-bottom:16px}
.ohd .ostage{display:table-cell!important;vertical-align:middle;width:38px;height:38px;
  text-align:center;line-height:1;padding:0;margin:0;font-size:12px;letter-spacing:.08em;
  border:1px solid rgba(198,160,90,.45);color:var(--gold);box-sizing:border-box}
.ohd h2{display:table-cell!important;vertical-align:middle;max-width:none!important;
  padding-left:18px;margin:0;width:auto}
@media (max-width:900px){
  .ohd .ostage{width:32px;height:32px}
  .ohd h2{padding-left:14px}
}

/* the marker over the current stage */
.stepnav a.step .hint{font-size:24px!important;top:-30px;margin-left:-10px;width:20px;line-height:1}
@media (max-width:1024px){.stepnav a.step .hint{font-size:20px!important;top:-26px}}

/* headings are never capped to an arbitrary measure */
main h2,.ohd h2,.cta-panel h2,section.band .head h2{max-width:none!important}
.cta-panel{display:table;width:100%;table-layout:fixed}
.cta-panel > div:first-child{display:table-cell;vertical-align:middle;padding-right:40px}
.cta-panel > .ctas{display:table-cell;vertical-align:middle;text-align:right;white-space:nowrap}
@media (max-width:900px){
  .cta-panel,.cta-panel > div:first-child,.cta-panel > .ctas{display:block;width:100%;text-align:left;padding-right:0;white-space:normal}
  .cta-panel > .ctas{margin-top:18px}
}
@media (max-width:900px){
  /* paired rows stack, so they must not keep the desktop gutter offsets */
  .crow{display:block!important;width:100%!important;margin:0!important;border-spacing:0!important}
  .ccell{display:block!important;width:100%!important}
  .cardwrap{margin-bottom:14px}
}

/* the stage a page belongs to, stated in the hero */
.hero .stagetag{display:inline-block;margin:0 0 20px;padding:9px 16px 9px 9px;text-decoration:none;
  border:1px solid rgba(198,160,90,.5);background:rgba(198,160,90,.07);
  transition:border-color .3s,background .3s}
.hero .stagetag:hover{border-color:var(--gold);background:rgba(198,160,90,.14)}
.hero .stagetag .stnum{display:inline-block;margin-right:12px;padding:3px 8px;background:var(--gold);
  color:#101011;font-size:12px;font-weight:600;letter-spacing:.08em;vertical-align:middle}
.hero .stagetag .stname{display:inline-block;vertical-align:middle;color:var(--gold);
  font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:900px){
  .hero .stagetag{padding:7px 12px 7px 7px;margin-bottom:16px}
  .hero .stagetag .stname{font-size:13px}
}

/* a stage page states its number beside its own name */
.hero h1.stageh1{display:block}
.hero h1.stageh1 .h1num{display:inline-block;vertical-align:middle;margin-right:22px;padding:0 14px;
  border:2px solid rgba(198,160,90,.6);color:var(--gold);font-size:.42em;line-height:1.9;
  font-weight:600;letter-spacing:.06em;box-sizing:border-box}
@media (max-width:900px){.hero h1.stageh1 .h1num{margin-right:14px;padding:0 10px;font-size:.44em}}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.12) translateX(-2%)}}@keyframes barnudge{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(3px);opacity:1}}
/* figures carried inside the sentence */
.nacard .stand b{color:var(--gold);font-weight:500}
/* three boxes sit three across, so no row is left part filled */
.stagegrid:has(> .svcg:nth-child(3):last-child) > .svcg.stage{width:calc(33.33% - 8px)}
.stagegrid:has(> .svcg:nth-child(3):last-child) > .svcg.stage:nth-child(2n){margin-right:12px}
.stagegrid:has(> .svcg:nth-child(3):last-child) > .svcg.stage:nth-child(3n){margin-right:0}
.stagegrid:has(> .svcg:nth-child(5):last-child) > .svcg.stage:nth-child(5){width:100%;margin-right:0}
@media (max-width:1180px){
  /* below this width three across is too tight, so a group of three stacks rather than leaving a gap */
  .stagegrid:has(> .svcg:nth-child(3):last-child) > .svcg.stage{width:100%;margin-right:0}
}
@media (max-width:820px){.stagegrid > .svcg.stage{width:100%!important;margin-right:0!important}}
/* with no heading, the closing buttons sit left in the same box as everything else */
.cta-band .cta-panel:not(:has(h2)){display:block}
.cta-band .cta-panel:not(:has(h2)) > .ctas{display:block;text-align:left;white-space:normal}
/* the footer bar carries one statement now */
.fbar span:empty{display:none}
.fbar{justify-content:flex-start}
/* each side of a stage page carries its own evidence */
.obox .evline{margin:0 0 18px;padding-left:14px;border-left:2px solid rgba(198,160,90,.4)}
.obox .evline .ev-src{display:block;margin-top:6px}

/* every banner is the same height, with its content centred and the image covering the frame */
.hero{position:relative;overflow:hidden;box-sizing:border-box}
.hero.inner{height:520px;display:flex;align-items:center;padding:0}
.hero.inner > .wrap{width:100%;padding-top:0;padding-bottom:0}
.hero.full:not(.inner){height:720px;display:flex;align-items:center;padding:0}
.hero.full:not(.inner) > .wrap{width:100%;padding-top:0;padding-bottom:0}
.hero .media,.hero .herovid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center}
.hero .copy{max-width:62ch}
.hero .lede2{max-width:56ch}
@media (max-width:1100px){.hero.inner{height:460px}.hero.full:not(.inner){height:600px}}
@media (max-width:900px){.hero.inner{height:400px}.hero.full:not(.inner){height:520px}}
@media (max-width:640px){.hero.inner{height:360px}.hero.full:not(.inner){height:460px}}
@media (max-width:640px){
  /* on a phone the banner keeps one height and the supporting line is dropped so nothing is cut off */
  .hero.inner{height:420px;padding:0}
  .hero.full:not(.inner){height:520px;padding:0}
  .hero .lede2{display:none}
  .hero .copy{max-width:100%}
}

/* banners crop from the bottom, not the top, and the slow drift no longer pushes the subject out of frame */
.hero .media{background-position:center 22%!important}
.hero.full:not(.inner) .media{background-position:center 30%!important}
.hero .media video,.hero .herovid{object-position:center 25%}
@keyframes drift{from{transform:scale(1.01)}to{transform:scale(1.05) translateY(-1%)}}
@media (max-width:900px){.hero .media{background-position:center 18%!important}}
/* a page that sits across the model carries a plain label, not a stage tag */
.hero .crosslab{display:inline-block;margin:0 0 20px;padding:9px 16px;
  border:1px solid rgba(198,160,90,.5);background:rgba(198,160,90,.07);
  color:var(--gold);font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:900px){.hero .crosslab{font-size:13px;padding:7px 12px;margin-bottom:16px}}
.obox .oline a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(198,160,90,.35)}
.obox .oline a:hover{border-bottom-color:var(--gold)}
/* the stage number reads as a number, the name as the name */
.svcg.stage .sg-t .sgnum{color:var(--gold);font-weight:600;margin-right:10px;letter-spacing:.04em}

/* the banner shows the picture, with only enough shading behind the words to keep them legible */
.hero .shade{background:linear-gradient(180deg,rgba(10,10,11,.62) 0%,rgba(10,10,11,.18) 30%,rgba(10,10,11,.10) 55%,rgba(10,10,11,.72) 100%)!important}
.hero.full:not(.inner) .shade{background:linear-gradient(180deg,rgba(10,10,11,.58) 0%,rgba(10,10,11,.14) 32%,rgba(10,10,11,.12) 58%,rgba(10,10,11,.78) 100%)!important}
.hero .copy{text-shadow:0 2px 24px rgba(10,10,11,.75)}
.hero .lede2{text-shadow:0 2px 18px rgba(10,10,11,.85)}

/* the stage bar wraps on a phone instead of running off the screen */
@media (max-width:760px){
  .stepnav{display:grid!important;grid-template-columns:repeat(2,1fr);gap:0;white-space:normal!important;overflow:visible!important}
  .stepnav a.step{display:block!important;min-width:0!important;margin:0!important;padding:12px 10px 14px 0;border-top:1px solid rgba(244,243,239,.12)}
  .stepnav a.step .hint{display:none}
  .barlab{margin-bottom:14px}
}

/* the top bar needs its own ground now that it carries the stages */
header{background:linear-gradient(180deg,rgba(10,10,11,.92) 0%,rgba(10,10,11,.72) 60%,rgba(10,10,11,0) 100%)}
header.scrolled{background:rgba(10,10,11,.96);border-bottom:1px solid rgba(244,243,239,.10);backdrop-filter:saturate(120%) blur(6px)}

/* one banner height everywhere, and enough shading behind the words to read them on a bright picture */
.hero.full:not(.inner),.hero.inner{height:520px}
.hero .shade{background:
  linear-gradient(90deg,rgba(10,10,11,.90) 0%,rgba(10,10,11,.78) 34%,rgba(10,10,11,.42) 58%,rgba(10,10,11,.10) 78%,rgba(10,10,11,0) 92%),
  linear-gradient(180deg,rgba(10,10,11,.55) 0%,rgba(10,10,11,.15) 34%,rgba(10,10,11,.35) 72%,rgba(10,10,11,.80) 100%)!important}
.hero.full:not(.inner) .shade{background:
  linear-gradient(90deg,rgba(10,10,11,.88) 0%,rgba(10,10,11,.74) 34%,rgba(10,10,11,.38) 58%,rgba(10,10,11,.08) 80%,rgba(10,10,11,0) 94%),
  linear-gradient(180deg,rgba(10,10,11,.50) 0%,rgba(10,10,11,.12) 34%,rgba(10,10,11,.30) 72%,rgba(10,10,11,.78) 100%)!important}
.hero .copy{text-shadow:0 2px 20px rgba(10,10,11,.9),0 1px 3px rgba(10,10,11,.7)}
.hero h1,.hero .claim,.hero .lede2{text-shadow:0 2px 20px rgba(10,10,11,.9),0 1px 3px rgba(10,10,11,.7)}
@media (max-width:1100px){.hero.full:not(.inner),.hero.inner{height:460px}}
@media (max-width:900px){.hero.full:not(.inner),.hero.inner{height:400px}}
@media (max-width:640px){.hero.full:not(.inner),.hero.inner{height:420px}}
/* the supporting line under the claim needs the same weight as the rest to read on a picture */
.hero .lede2{color:rgba(244,243,239,.92)!important;font-size:17px!important}
.hero .claim,.hero .claim .c1{color:var(--gold)!important}

/* the stage menu: a bar that opens to show the eight stages */
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hmenu{position:relative;margin-left:auto;margin-right:14px}
.hmenu > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;
  padding:9px 16px;border:1px solid rgba(244,243,239,.20);color:rgba(244,243,239,.86);
  font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  transition:border-color .25s,color .25s,background .25s;background:rgba(10,10,11,.35)}
.hmenu > summary::-webkit-details-marker{display:none}
.hmenu > summary:hover{border-color:rgba(198,160,90,.6);color:var(--cream)}
.hmenu[open] > summary{border-color:rgba(198,160,90,.7);color:var(--gold);background:rgba(10,10,11,.7)}
.hbars{display:inline-block;width:18px;height:2px;background:currentColor;position:relative}
.hbars:before,.hbars:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .25s}
.hbars:before{top:-6px}.hbars:after{top:6px}
.hmenu[open] .hbars{background:transparent}
.hmenu[open] .hbars:before{transform:translateY(6px) rotate(45deg)}
.hmenu[open] .hbars:after{transform:translateY(-6px) rotate(-45deg)}
.hmpanel{position:absolute;right:0;top:calc(100% + 12px);z-index:80;min-width:260px;
  background:rgba(10,10,11,.98);border:1px solid rgba(244,243,239,.12);
  box-shadow:0 26px 60px rgba(0,0,0,.5);padding:10px 0}
.hmpanel .hs{display:flex;align-items:baseline;gap:12px;padding:11px 22px;text-decoration:none;
  color:rgba(244,243,239,.86);font-size:15px;transition:background .2s,color .2s}
.hmpanel .hs .hsn{color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.06em;min-width:20px}
.hmpanel .hs:hover{background:rgba(198,160,90,.10);color:var(--cream)}
.hmpanel .hs.on{color:var(--gold);background:rgba(198,160,90,.08)}
@media (max-width:640px){
  .hmenu{margin-right:10px}
  .hmenu > summary .hmlab{display:none}
  .hmenu > summary{padding:9px 12px}
  .hmpanel{position:fixed;left:0;right:0;top:auto;min-width:0;margin-top:12px}
}
/* a details panel that is positioned must still be hidden when the menu is closed */
.hmenu:not([open]) .hmpanel{display:none}

/* the menu button sits beside the call to action rather than stretching across the bar */
.hmenu{flex:0 0 auto}
.hmenu > summary{display:inline-flex;width:auto}
header .brand{flex:0 0 auto}
/* the menu button sits on the left of the bar, next to the logo, where a menu is expected */
.hmenu{margin-left:26px;margin-right:auto}
/* the panel opens under the button that opened it */
.hmpanel{left:0;right:auto}
@media (max-width:640px){.hmpanel{left:0;right:0}}

/* one header layout at every width: logo, stage menu, call to action, on a single line */
header .wrap{display:flex!important;flex-wrap:nowrap!important;align-items:center;
  justify-content:flex-start;gap:16px;text-align:left;font-size:initial}
header .brand{flex:0 0 auto;display:inline-flex!important;align-items:center;margin:0}
.hmenu{flex:0 0 auto;margin:0 0 0 22px}
header .nav{flex:0 0 auto;display:flex!important;position:static!important;margin-left:auto;
  background:none!important;border:0!important;padding:0!important;flex-direction:row!important}
@media (max-width:640px){.hmenu{margin-left:14px}header .wrap{gap:10px}}

/* the current stage reads as a filled block, not an outline */
.stepnav a.step.on{background:rgba(198,160,90,.14);border-top-color:var(--gold)!important}
.stepnav a.step.on .sn{color:var(--gold)}
.stepnav a.step.on .st{color:var(--cream);font-weight:600}
.stepnav a.step{padding-left:12px;padding-right:12px;transition:background .25s}
.stepnav a.step:hover{background:rgba(244,243,239,.05)}
.stepnav a.step.on .hint{margin-left:0}

/* the stage menu sits beside the call to action */
.hmenu{margin:0 16px 0 auto}
header .nav{margin-left:0}
.hmpanel{left:auto;right:0}
@media (max-width:640px){.hmenu{margin-left:auto;margin-right:10px}.hmpanel{left:0;right:0}}
/* the bar is a table, so the cell itself takes the fill */
.stepnav a.step.on,.stepnav .step.on{background-color:rgba(198,160,90,.16)!important}
.stepnav .step:hover{background-color:rgba(244,243,239,.05)}

/* the stage menu sits beside the call to action, on the right of the bar */
header .hright{display:flex;align-items:center;gap:14px;margin-left:auto;flex:0 0 auto}
header .hright .hmenu{margin:0}
header .hright .nav{margin-left:0}
.hmpanel{left:auto;right:0}
@media (max-width:640px){.hmpanel{left:0;right:0}header .hright{gap:10px}}

/* the current stage reads as filled, not outlined */
.stepnav a.step.on{background:rgba(198,160,90,.14)}
.stepnav a.step.on .st{color:#141414;background:var(--gold);padding:3px 10px;display:inline-block}
.stepnav a.step.on .sn{color:var(--gold)}
.stepnav a.step.on{border-top-color:var(--gold)!important}
/* the home banner carries a three-line headline and two buttons, so it needs a little more room */
.hero.full:not(.inner){height:600px}
@media (max-width:1100px){.hero.full:not(.inner){height:540px}}
@media (max-width:900px){.hero.full:not(.inner){height:480px}}
@media (max-width:640px){.hero.full:not(.inner){height:500px}}
/* a group of three never sits two across, which would leave a gap */
@media (max-width:1180px) and (min-width:761px){.grid.c3 > .item{width:33.2%}}
/* one size for every secondary paragraph, wherever it sits */
html body main .mintro,html body main .widecopy,html body main .oline,
html body main .panel .mintro,html body main .nacard .mintro{font-size:17px!important;line-height:1.64!important}

/* the two sides line up row for row: heading, statement, evidence, then the boxes */
.oboxes{display:grid!important;grid-template-columns:1fr 1fr;gap:0 48px;
  grid-template-rows:auto auto auto auto;align-items:start}
.obox{display:grid!important;grid-template-rows:subgrid;grid-row:span 4;width:auto!important;
  padding:0!important;margin:0!important;vertical-align:top}
.obox .olab{margin:0 0 10px}
.obox .oline{margin:0 0 16px;max-width:none}
.obox .evline{margin:0 0 18px}
.obox .svcgs{align-self:start}
@media (max-width:820px){
  .oboxes{grid-template-columns:1fr;grid-template-rows:none}
  .obox{grid-row:auto;grid-template-rows:none;margin-bottom:28px!important}
}
.obox .evline.empty{border-left:0;padding:0;margin:0;min-height:0}
/* a route onward sits under the boxes, so both columns start and end the same way */
.obox .oafter{margin:16px 0 0;font-size:15px}
.obox .oafter a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(198,160,90,.35)}
.obox .oafter a:hover{border-bottom-color:var(--gold)}
/* the two columns are equal: same statement measure, same evidence block, same box widths */
.oboxes{display:table;width:100%;table-layout:fixed;border-spacing:28px 0;margin:0 -28px}
.obox{display:table-cell;vertical-align:top;width:50%}
.obox .oline{min-height:3.3em}
.obox .evline{min-height:9.2em;box-sizing:border-box}
@media (max-width:900px){.oboxes{display:block;margin:0;border-spacing:0}
  .obox{display:block;width:100%}.obox+.obox{margin-top:30px}
  .obox .oline,.obox .evline{min-height:0}}

/* the bar starts at Home, marked with a house rather than a number */
.stepnav a.step.homestep .sn{display:inline-flex;align-items:center;height:14px}
.stepnav .homeicon{width:14px;height:14px;color:var(--gold);display:block}
.stepnav a.step.homestep:hover .homeicon{color:var(--cream)}
.stepnav a.step.homestep.on .homeicon{color:var(--gold)}

/* the banner text sits low in the frame rather than centred, so the picture reads above it */
.hero.inner,.hero.full:not(.inner){align-items:flex-end}
.hero.inner > .wrap{padding-bottom:26px}
.hero.full:not(.inner) > .wrap{padding-bottom:34px}
@media (max-width:1100px){.hero.inner > .wrap{padding-bottom:24px}.hero.full:not(.inner) > .wrap{padding-bottom:30px}}
@media (max-width:900px){.hero.inner > .wrap{padding-bottom:22px}.hero.full:not(.inner) > .wrap{padding-bottom:26px}}
/* the banner grows a little where the headline runs to three lines, rather than cutting it */
@media (max-width:1180px){.hero.inner{height:540px}.hero.full:not(.inner){height:600px}}
@media (max-width:900px){.hero.inner{height:470px}.hero.full:not(.inner){height:520px}}
@media (max-width:640px){.hero.inner{height:440px}.hero.full:not(.inner){height:520px}}

/* a notice is read, not browsed: smaller type, tighter spacing, no decoration */
body.notice .hero.inner{height:300px}
body.notice .hero.inner > .wrap{padding-bottom:40px}
body.notice section.band{padding:6px 0}
body.notice .panel,body.notice .nacard{padding:26px 30px 24px}
body.notice main h2,body.notice .ohd h2{font-size:19px!important;line-height:1.3}
body.notice .ohd .ostage{width:30px;height:30px;font-size:11px}
body.notice main p,body.notice .mintro,body.notice .widecopy,
body.notice main li{font-size:15px!important;line-height:1.62!important}
body.notice main h3{font-size:16px!important}
body.notice .osvc li{font-size:14px!important}
@media (max-width:900px){body.notice .hero.inner{height:260px}}
/* the notice pages use a quieter scale throughout */
html body.notice main p,html body.notice main li,
html body.notice main .mintro,html body.notice main .widecopy{font-size:15px!important;line-height:1.62!important}
html body.notice .hero h1{font-size:40px!important}
html body.notice .hero .claim{font-size:16px!important}
html body.notice .hero .lede2{display:none}
/* the notice scale must beat the generic paragraph rule, so it carries the same specificity */
html body.notice main p:not(.stand):not(.statement):not(.supporting):not(.oline):not(.mintro):not(.widecopy):not(.ev-src):not(.pnote):not(.claim):not(.lede2):not(.c1):not(.ed){font-size:15px!important;line-height:1.62!important}
html body.notice main li,html body.notice .osvc li{font-size:14px!important;line-height:1.6!important}
@media (max-width:640px){body.notice .hero.inner{height:300px}body.notice .hero h1{font-size:30px!important}}
/* the claim and its supporting line sit apart from the headline, low in the frame */
.hero .claim{margin-top:26px}
.hero .lede2{margin-top:12px;margin-bottom:0}
.hero .ctas{margin-top:22px}
/* the banner is tall enough for the headline, the claim and its supporting line, low in the frame */
.hero.inner{height:570px}
.hero.full:not(.inner){height:620px}
@media (max-width:1180px){.hero.inner{height:580px}.hero.full:not(.inner){height:620px}}
@media (max-width:900px){.hero.inner{height:500px}.hero.full:not(.inner){height:540px}}
@media (max-width:640px){.hero.inner{height:480px}.hero.full:not(.inner){height:540px}}
body.notice .hero.inner{height:320px!important}
@media (max-width:640px){body.notice .hero.inner{height:300px!important}}
/* the banner is a fixed size unless the words need more, in which case it grows rather than cutting */
.hero.inner{height:auto!important;min-height:570px}
.hero.full:not(.inner){height:auto!important;min-height:620px}
@media (max-width:1180px){.hero.inner{min-height:580px}.hero.full:not(.inner){min-height:620px}}
@media (max-width:900px){.hero.inner{min-height:500px}.hero.full:not(.inner){min-height:540px}}
@media (max-width:640px){.hero.inner{min-height:480px}.hero.full:not(.inner){min-height:540px}}
body.notice .hero.inner{min-height:320px!important}
@media (max-width:640px){body.notice .hero.inner{min-height:300px!important}}
/* final: one banner size everywhere, text low in the frame */
.hero.inner{height:570px!important;min-height:0!important}
.hero.full:not(.inner){height:620px!important;min-height:0!important}
@media (max-width:1180px){.hero.inner{height:580px!important}.hero.full:not(.inner){height:620px!important}}
@media (max-width:900px){.hero.inner{height:510px!important}.hero.full:not(.inner){height:560px!important}}
@media (max-width:640px){.hero.inner{height:500px!important}.hero.full:not(.inner){height:560px!important}}
body.notice .hero.inner{height:330px!important}
@media (max-width:640px){body.notice .hero.inner{height:340px!important}}

/* every banner uses the home scale: same headline weight, same claim, same supporting line.
   Long headlines step down a little so they still fit the frame. */
.hero.inner h1{font-size:72px!important;line-height:1.06!important;letter-spacing:-.02em}
.hero.full:not(.inner) h1{font-size:82px!important;line-height:1.02!important}
.hero .claim,.hero .claim .c1{font-size:24px!important;line-height:1.35!important}
.hero .lede2{font-size:18px!important;line-height:1.6!important;max-width:60ch}
.hero.inner .stageh1 .h1num{font-size:.34em}
@media (max-width:1180px){.hero.inner h1{font-size:60px!important}.hero.full:not(.inner) h1{font-size:68px!important}
  .hero .claim,.hero .claim .c1{font-size:22px!important}}
@media (max-width:900px){.hero.inner h1{font-size:44px!important}.hero.full:not(.inner) h1{font-size:48px!important}
  .hero .claim,.hero .claim .c1{font-size:19px!important}.hero .lede2{font-size:16px!important}}
@media (max-width:640px){.hero.inner h1{font-size:34px!important}.hero.full:not(.inner) h1{font-size:38px!important}
  .hero .claim,.hero .claim .c1{font-size:17px!important}}
body.notice .hero h1{font-size:44px!important}
body.notice .hero .claim{font-size:17px!important}
/* a headline longer than about six words steps down so the frame still holds it */
.hero.inner h1{max-width:20ch}
@media (min-width:1181px){.hero.inner{height:600px!important}}
/* the banner lays its words out low in a fixed frame, on every page */
.hero{display:flex!important;flex-direction:column;justify-content:flex-end}
.hero > .wrap{width:100%;box-sizing:border-box}
/* one rule for the banner text block: clear of the header at the top, close to the frame at the foot */
.hero > .wrap{padding-top:104px!important;padding-bottom:40px!important}
.hero .copy{margin:0!important;padding:0!important}
.hero .copy > *:last-child{margin-bottom:0!important}
@media (max-width:900px){.hero > .wrap{padding-top:88px!important;padding-bottom:30px!important}}

/* ===== banner, final settlement =====
   One frame per page, words low in it, clear of the header, nothing clipped. */
.hero{display:flex!important;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.hero > .wrap{width:100%;box-sizing:border-box;padding-top:0!important;padding-bottom:44px!important}
.hero.inner{height:600px!important}
.hero.full:not(.inner){height:640px!important}
body.notice .hero.inner{height:330px!important}
.hero.inner h1{font-size:60px!important;line-height:1.08!important;max-width:22ch}
.hero.full:not(.inner) h1{font-size:82px!important;line-height:1.03!important;max-width:14ch}
.hero .claim,.hero .claim .c1{font-size:22px!important;line-height:1.4!important}
.hero .lede2{font-size:17px!important;line-height:1.6!important;max-width:62ch}
body.notice .hero h1{font-size:42px!important;max-width:24ch}
body.notice .hero .claim{font-size:17px!important}
@media (max-width:1180px){
  .hero.inner{height:560px!important}.hero.full:not(.inner){height:600px!important}
  .hero.inner h1{font-size:50px!important}.hero.full:not(.inner) h1{font-size:64px!important}
  .hero .claim,.hero .claim .c1{font-size:20px!important}}
@media (max-width:900px){
  .hero.inner{height:500px!important}.hero.full:not(.inner){height:540px!important}
  .hero > .wrap{padding-bottom:34px!important}
  .hero.inner h1{font-size:40px!important}.hero.full:not(.inner) h1{font-size:46px!important}
  .hero .claim,.hero .claim .c1{font-size:18px!important}.hero .lede2{font-size:16px!important}
  body.notice .hero.inner{height:300px!important}body.notice .hero h1{font-size:32px!important}}
@media (max-width:640px){
  .hero.inner{height:470px!important}.hero.full:not(.inner){height:520px!important}
  .hero.inner h1{font-size:32px!important}.hero.full:not(.inner) h1{font-size:36px!important}}
/* the home banner carries two buttons as well, so it needs the extra room */
.hero.full:not(.inner){height:700px!important}
@media (max-width:1180px){.hero.full:not(.inner){height:640px!important}}
@media (max-width:900px){.hero.full:not(.inner){height:580px!important}}
@media (max-width:640px){.hero.full:not(.inner){height:560px!important}}
/* the frame carries no padding of its own: the text block handles its own spacing */
.hero{padding:0!important;align-items:stretch!important}
/* the home banner is the tallest, because it carries a three-line headline and two buttons */
.hero.full:not(.inner){height:760px!important}
@media (max-width:1180px){.hero.full:not(.inner){height:700px!important}}
@media (max-width:900px){.hero.full:not(.inner){height:600px!important}}
@media (max-width:640px){.hero.full:not(.inner){height:580px!important}}
.hero.full:not(.inner){height:800px!important}
@media (max-width:1180px){.hero.full:not(.inner){height:740px!important}}
@media (max-width:900px){.hero.full:not(.inner){height:620px!important}}
@media (max-width:640px){.hero.full:not(.inner){height:600px!important}}
@media (max-width:640px){
  .hero.full:not(.inner){height:640px!important}
  body.notice .hero.inner{height:340px!important}
}
@media (max-width:400px){.hero.full:not(.inner){height:680px!important}.hero.full:not(.inner) h1{font-size:34px!important}}

/* ===== one weight system =====
   Headlines and headings 500. Emphasis inside prose 600. Labels 600. Nothing else is bold. */
html body .hero h1,html body main h2,html body main h3{font-weight:500!important}
html body main b,html body main strong{font-weight:600!important}
html body main .evline b,html body main .stand b,html body main .oline b{font-weight:600!important;color:var(--cream)!important}
html body main b.ev-n,html body main .ev-n{font-weight:600!important;color:var(--gold)!important}
html body .svcg > summary .sg-t{font-weight:500!important}
html body main .osvc li,html body main p{font-weight:400!important}
html body main .osvc li b,html body main p b{font-weight:600!important}

/* the hero claim and its supporting line are one size, wherever they sit */
html body .hero .claim,html body .hero .claim .c1{font-size:22px!important;font-weight:500!important;line-height:1.4!important}
html body .hero .lede2{font-size:17px!important;font-weight:400!important;line-height:1.6!important}
html body.notice .hero .claim,html body.notice .hero .claim .c1{font-size:17px!important}
@media (max-width:1180px){html body .hero .claim,html body .hero .claim .c1{font-size:20px!important}}
@media (max-width:900px){html body .hero .claim,html body .hero .claim .c1{font-size:18px!important}
  html body .hero .lede2{font-size:16px!important}}
/* bold text never changes size, only weight */
html body main b,html body main strong{font-size:inherit!important}
/* every headline at the home size */
html body .hero h1,html body .hero.inner h1,html body .hero.full:not(.inner) h1{font-size:82px!important;line-height:1.03!important;max-width:16ch}
html body .hero.inner .stageh1 .h1num{font-size:.3em}
html body.notice .hero h1{font-size:42px!important;max-width:24ch}
@media (max-width:1180px){html body .hero h1,html body .hero.inner h1,html body .hero.full:not(.inner) h1{font-size:64px!important}}
@media (max-width:900px){html body .hero h1,html body .hero.inner h1,html body .hero.full:not(.inner) h1{font-size:46px!important}
  html body.notice .hero h1{font-size:32px!important}}
@media (max-width:640px){html body .hero h1,html body .hero.inner h1,html body .hero.full:not(.inner) h1{font-size:36px!important}}
/* the frame grows to carry an 82px headline on every page */
.hero.inner{height:760px!important}
.hero.full:not(.inner){height:800px!important}
body.notice .hero.inner{height:340px!important}
@media (max-width:1180px){.hero.inner{height:660px!important}.hero.full:not(.inner){height:700px!important}}
@media (max-width:900px){.hero.inner{height:540px!important}.hero.full:not(.inner){height:600px!important}
  body.notice .hero.inner{height:310px!important}}
@media (max-width:640px){.hero.inner{height:520px!important}.hero.full:not(.inner){height:640px!important}}
/* tall enough for a five or six line headline at the home size */
.hero.inner{height:830px!important}
@media (max-width:1180px){.hero.inner{height:700px!important}}
@media (max-width:900px){.hero.inner{height:580px!important}}
@media (max-width:640px){.hero.inner{height:560px!important}}
@media (max-width:1180px){.hero.full:not(.inner){height:760px!important}}

/* ===== three areas in the top bar ===== */
header .anav{display:flex;align-items:center;gap:6px;margin-left:22px;margin-right:auto}
.amenu{position:relative}
.amenu > summary{list-style:none;cursor:pointer;padding:10px 14px;color:rgba(244,243,239,.86);
  font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
  border-bottom:2px solid transparent;transition:color .25s,border-color .25s}
.amenu > summary::-webkit-details-marker{display:none}
.amenu > summary:hover{color:var(--cream)}
.amenu.on > summary{color:var(--gold);border-bottom-color:var(--gold)}
.amenu[open] > summary{color:var(--gold);border-bottom-color:rgba(198,160,90,.6)}
.amenu:not([open]) .apanel{display:none}
.apanel{position:absolute;left:0;top:calc(100% + 10px);z-index:90;min-width:344px;
  background:rgba(10,10,11,.99);border:1px solid rgba(244,243,239,.12);
  box-shadow:0 26px 60px rgba(0,0,0,.55);padding:8px 0}
.apanel .mrow{display:flex;gap:12px;align-items:baseline;padding:11px 20px;text-decoration:none;
  color:rgba(244,243,239,.9);font-size:15px;transition:background .2s,color .2s}
.apanel .mrow:hover{background:rgba(198,160,90,.10);color:var(--cream)}
.apanel .mrow.sel{background:rgba(198,160,90,.09);color:var(--gold)}
.apanel .mn{color:var(--gold);font-size:12px;font-weight:600;min-width:20px}
.apanel .mt{display:block;font-weight:500}
.apanel .mt small{display:block;color:var(--mute);font-size:12.5px;font-weight:400;margin-top:3px;line-height:1.45}
.apanel .mall{display:block;margin-top:6px;padding:11px 20px;border-top:1px solid rgba(244,243,239,.10);
  color:var(--gold);text-decoration:none;font-size:13px;letter-spacing:.06em}
.apanel .mall:hover{background:rgba(198,160,90,.10)}
@media (max-width:1180px){.amenu > summary{font-size:11.5px;padding:10px 10px;letter-spacing:.08em}header .anav{gap:2px;margin-left:14px}}
@media (max-width:900px){
  header .anav{margin-left:12px}
  .amenu > summary{padding:9px 8px;font-size:11px}
  .apanel{position:fixed;left:0;right:0;top:auto;min-width:0}
}
/* the area name navigates, the chevron opens the menu */
.amenu > summary{display:flex;align-items:center;gap:8px}
.amenu > summary .atop{color:inherit;text-decoration:none}
.amenu > summary .achev{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);margin-top:-3px;opacity:.7;transition:transform .25s}
.amenu[open] > summary .achev{transform:rotate(-135deg);margin-top:2px}
.apanel .mall.first{margin:0 0 6px;border-top:0;border-bottom:1px solid rgba(244,243,239,.10);
  font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}
/* a section the bar jumps to clears the sticky header */
section.band[id]{scroll-margin-top:110px}
html{scroll-behaviour:smooth;scroll-behavior:smooth}

/* an area bar sizes itself to its own number of items, and the labels never touch */
.stepnav.area{display:grid!important;grid-template-columns:repeat(8,1fr);gap:0 18px;white-space:normal}
.stepnav.area.n2{grid-template-columns:repeat(2,1fr)}
.stepnav.area.n6{grid-template-columns:repeat(6,1fr)}
.stepnav.area.n8{grid-template-columns:repeat(8,1fr)}
.stepnav.area a.step{display:block!important;min-width:0;padding:12px 10px 14px 0;margin:0!important}
.stepnav.area a.step .st{display:block;line-height:1.3;hyphens:none}
@media (max-width:1180px){.stepnav.area,.stepnav.area.n8{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.stepnav.area,.stepnav.area.n8,.stepnav.area.n6{grid-template-columns:repeat(2,1fr)}}
/* with one audience on a stage page, the column runs the full width */
.oboxes:not(:has(.obox.corp)) .obox.pe{display:block;width:100%}
.oboxes:not(:has(.obox.corp)){display:block;margin:0;border-spacing:0}
.oboxes:not(:has(.obox.corp)) .svcgs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}
@media (max-width:900px){.oboxes:not(:has(.obox.corp)) .svcgs{grid-template-columns:1fr}}
/* the route to Advisory sits under the owner column, not beside it */
.oboxes:not(:has(.obox.corp)) .oafter{display:block;margin:22px 0 0;clear:both}
.nacard.wide .oafter{margin-top:22px}

/* ===== a stage page has one audience, so the column and its boxes use the full card ===== */
html body .oboxes:not(:has(.obox.corp)){display:block!important;width:100%!important;margin:0!important;border-spacing:0!important}
html body .oboxes:not(:has(.obox.corp)) .obox.pe{display:block!important;width:100%!important}
html body .oboxes:not(:has(.obox.corp)) .obox.pe .oline,
html body .oboxes:not(:has(.obox.corp)) .obox.pe .evline{max-width:80ch;min-height:0}
html body .oboxes:not(:has(.obox.corp)) .svcgs{display:grid!important;grid-template-columns:repeat(2,1fr);gap:12px 18px}
@media (max-width:900px){html body .oboxes:not(:has(.obox.corp)) .svcgs{grid-template-columns:1fr}}

/* the title sits left, the count beside it, the plus hard right */
.svcg > summary{display:flex!important;align-items:center;gap:10px}
.svcg > summary .sg-t{flex:1 1 auto;min-width:0}
.svcg > summary .sg-c{flex:0 0 auto;margin-left:auto;margin-right:26px;color:var(--gold);font-size:12px}
/* an odd number of boxes: the last one runs the full width rather than leaving a gap */
html body .oboxes:not(:has(.obox.corp)) .svcgs > .svcg:last-child:nth-child(odd){grid-column:1 / -1}
/* a stage box: number and name on the first line, the description beneath */
.svcg.stage > summary{display:block!important;position:relative;padding-right:34px}
.svcg.stage > summary .sg-t{display:block;margin:0 0 4px}
.svcg.stage > summary .sg-d{display:block;margin:0;padding:0}
.svcg.stage > summary::after{position:absolute;right:16px;top:14px}
/* the count stays on the title's line rather than dropping below it */
.svcg > summary{flex-wrap:nowrap}
.svcg > summary .sg-c{align-self:flex-start;margin-top:2px}
/* a box with a count but no description keeps the count on the title line */
.svcg.stage > summary .sg-c{position:absolute;right:36px;top:13px;margin:0}

/* How we engage: four steps as a flow, matching the 8-stage bar */
.eflow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:22px}
.estep{position:relative;border-top:2px solid rgba(244,243,239,.14);padding:14px 34px 0 0;min-width:0}
@media (max-width:1100px){.estep{padding-right:22px}.estep p{font-size:14px!important}}
.estep:not(:last-child)::after{content:"";position:absolute;right:8px;top:-7px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid var(--gold)}
.estep .sn{display:block;font-size:11px;letter-spacing:.14em;font-weight:600;color:var(--mute)}
.estep .st{display:block;margin-top:6px;font-size:13px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:var(--cream)}
.estep p{margin:10px 0 0!important;font-size:15px;line-height:1.55;color:var(--body)}


/* Section 09: two aligned rows, How we engage and What gets measured. Each measure sits under the step it belongs to.
   The rows never stack. On a narrow screen both rows scroll sideways together, so the columns stay aligned. */
html body .nacard .eflow-h{margin:40px 0 0;font-size:13px!important;letter-spacing:.14em;font-weight:600!important;text-transform:uppercase;color:var(--gold)!important;line-height:1.4}
html body .nacard .eflows-in > .eflow-h:first-child{margin-top:22px}
.eflow-s{margin:6px 0 0!important;font-size:15px;color:var(--body)}
@media (max-width:760px){.eflows{overflow-x:auto;scrollbar-width:none;margin-right:-4px}.eflows::-webkit-scrollbar{display:none}.eflows-in{width:760px;padding-top:2px}.eflows-in .eflow-s{max-width:calc(100vw - 96px)}}

/* 8-stage bar: on hover the top line turns full gold and the box fills with matching gold, fading downwards */
.stepnav a.step{transition:background-color .25s,border-color .25s}
.stepnav a.step:hover{background:linear-gradient(to bottom,rgba(198,160,90,.40),rgba(198,160,90,.14))!important;border-top-color:var(--gold)!important}

button.explore-stages{font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none}
/* Private Equity: "Explore the eight stages" button scrolls up to the 8-stage bar and flashes stage 01 */
@keyframes stageflash{0%,100%{opacity:0}50%{opacity:1}}
.stepnav a.step.flash::before{content:"";position:absolute;left:0;right:0;top:-2px;bottom:0;background:linear-gradient(to bottom,rgba(198,160,90,.55),rgba(198,160,90,.18));border-top:2px solid #C6A05A;pointer-events:none;opacity:0;z-index:-1;animation:stageflash 1.6s ease-in-out infinite}
.stepnav a.step{isolation:isolate}
.stepnav a.step.flash .sn{color:#C6A05A!important}
.stepnav a.step.flash .st{color:#F4F3EF!important}
@media (prefers-reduced-motion:reduce){.stepnav a.step.flash::before{animation:none;opacity:.7}}

/* A section heading row without a number sits flush left, like the headings that have one */
.ohd.nonum h2{padding-left:0!important;margin-left:0!important}

/* How a mandate works: the pricing line uses the same columns but no arrows, because the four fee types are options, not steps */
.eflow.noarrow .estep::after{display:none!important}
.eflow-note{margin-top:22px!important;font-size:15px}

/* How a mandate works: the description under each step uses the smaller text size, headings unchanged */
html body .nacard .eflows-in .eflow .estep p.ed.ed.ed.ed.ed,html body .nacard .eflows-in p.eflow-note.ed.ed.ed.ed.ed{font-size:14px!important;line-height:1.55!important}

/* Advisory mandates: each mandate opens in steps. The bar takes you to the mandate, the Explore services button opens its service groups, each group opens its detail */
html.najs .mbody{display:none}
html.najs .mbody.open{display:block;animation:mbodyin .35s ease-out}
@keyframes mbodyin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mtoggle{margin:16px 0 4px}
.mtoggle .mt-c{margin-left:10px;color:var(--gold);font-size:13px;letter-spacing:.04em}
.mtoggle[aria-expanded="true"]{background:rgba(198,160,90,.14)!important;border-color:var(--gold)!important;color:#fff}
.mtoggle:after{display:inline-block;transition:transform .3s}
.mtoggle[aria-expanded="true"]:after{transform:rotate(90deg)!important}
html:not(.najs) .mtoggle{display:none!important}
.mbody.open{margin-top:14px}

/* Home, Two ways to work with us: an Explore button under each route */
.home-explore{margin-top:18px}
.home-explore .pill{white-space:nowrap}

/* Drop-down menus: the overview is the parent and the pages hang beneath it on a gold tree line */
.apanel .mall.first{display:flex;align-items:center;gap:10px}
.apanel .mall.first::before{content:"";width:8px;height:8px;border:1.5px solid var(--gold);border-radius:50%;flex:0 0 auto}
.apanel .mrow{position:relative;margin-left:24px!important;padding-left:24px!important}
.apanel .mrow::before{content:"";position:absolute;left:0;top:0;bottom:0;border-left:1px solid rgba(198,160,90,.45)}
.apanel .mrow::after{content:"";position:absolute;left:0;top:1.35em;width:14px;border-top:1px solid rgba(198,160,90,.45)}
.apanel .mrow:last-child::before{bottom:auto;height:1.35em}
.apanel .mrow:first-of-type{margin-top:0}

/* How a mandate works and How an investment works: on hover each step fills with gold, matching the 8-stage bar */
.estep{transition:background-color .25s,border-color .25s}
.estep:hover{background:linear-gradient(to bottom,rgba(198,160,90,.30),rgba(198,160,90,.06));border-top-color:var(--gold)!important}
.estep:hover .sn{color:var(--gold)}
.estep:hover .st{color:#fff}

/* Home, Two ways to work with us: two equal columns across the full card, not four narrow ones */
.nacard .grid.g2 > .item{width:50%!important}
/* Stage pages: one reading width for the paragraphs in a card, so they line up */
html body main .nacard p.stand,html body main .nacard p.mintro,html body main .nacard p.oline,html body main .nacard p.widecopy{max-width:900px!important}

/* Top bar: a Home link in the same style as the area links, added 20 September 2026 */
.anav > a.atop.home{display:inline-block;padding:0 0 6px;margin-right:26px;border-bottom:2px solid transparent;font-size:12.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--cream);text-decoration:none}
.anav > a.atop.home.on{color:var(--gold);border-bottom-color:var(--gold)}
/* Inner banners: the text starts at the same height on every page, rather than being pushed down by its length */
html body .hero.inner:not(.plain){align-items:flex-start!important;justify-content:flex-start!important;padding-top:129px!important;padding-bottom:40px!important;height:auto!important;min-height:830px;box-sizing:border-box}
html body .hero.inner:not(.plain) .wrap{display:block!important;padding-top:0!important;margin-top:0!important}
.hero.inner:not(.plain) .copy{margin-top:0!important;margin-bottom:0!important}
@media (max-width:900px){html body .hero.inner:not(.plain){padding-top:214px!important;min-height:560px}}

/* One reading width for body paragraphs in a full-width box, and one wider width for statements */
html body main .nacard p.stand,html body main .nacard p.mintro,html body main .nacard p.oline,
html body main .nacard p.widecopy,html body main .nacard p.evline,html body main .nacard p.note,
html body main .nacard p.oafter,html body main .nacard p.supporting,html body main .nacard p.lede2,
html body main .band .head p.stand,html body main .band .head p.mintro,html body main p.form-note{max-width:900px!important}
html body main p.statement{max-width:1000px!important}
/* the same reading width in panel-style sections, which are full width but not cards */
html body main .panel > p,html body main .panel .evs p,html body main .panel p.note,
html body main .panel p.mintro,html body main .panel p.stand,html body main .panel p.oafter{max-width:900px!important}
html body main p.note,html body main .eflows-in p.eflow-s,html body main .eflows-in p.eflow-note{max-width:900px!important}
/* the form status line holds the message after sending: take no space until it has something to say */
html body main p.form-status:empty{display:none!important}

/* Team sign in: the icon in the top bar and the two account forms */
.nav .loginlink{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-right:14px;color:var(--gold);
border:1px solid rgba(198,160,90,.45);transition:background-color .25s,border-color .25s,transform .2s}
.nav .loginlink:hover{background:rgba(198,160,90,.18);border-color:var(--gold);transform:translateY(-1px)}
html body main section.signin{padding-top:20px!important;padding-bottom:90px!important}
.signin-card{max-width:460px;margin:0 auto}
.signin-card form{background:var(--navy);border:1px solid var(--line);padding:26px}
.signin-card .sgl{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:8px}
.signin-card input{width:100%;padding:13px 14px;background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);font:inherit}
.signin-card input:focus{outline:2px solid var(--gold);outline-offset:1px}
html body main .signin-card p.hint{font-size:13.5px!important;color:var(--mute);margin:12px 0 0!important;max-width:none!important}
.signin-card .pill{margin-top:18px;width:100%;justify-content:space-between}
.signin-card .msg{margin-top:16px;padding:12px 14px;border-left:2px solid #E5A3A3;background:rgba(229,163,163,.07);font-size:14.5px;color:var(--cream);display:none}
.signin-card .msg.show{display:block}
.signin-card .foot-note{text-align:center}

/* Top bar: the team sign-in icon, in gold, and no Work with us button */
html body header .nav a.loginlink{width:auto;height:auto;padding:4px;margin-right:0;color:var(--gold)!important;border:0!important;background:none!important}
html body header .nav a.loginlink svg{fill:currentColor}
html body header .nav a.loginlink:hover{background:none!important;color:#E7C98B!important;transform:translateY(-1px)}

/* Home, Two ways to work with us: stack the two routes on a phone rather than squeezing them side by side */
@media (max-width:760px){html body .nacard .grid.g2 > .item{width:100%!important}}

/* Contact form: every field label in the same small grey style, inside or outside the two-column grid */
html body main form fieldset > label,html body main form > label:not(.check){font-size:14px;color:var(--mute);display:block;margin-top:20px}
html body main form fieldset > label > select,html body main form fieldset > label > textarea,html body main form > label:not(.check) > textarea{margin-top:8px}

/* Team area */
.teamtabs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px}
.teamtabs .ttab{background:none;border:0;border-bottom:2px solid transparent;color:var(--cream);font:inherit;font-size:12.5px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:6px 2px;margin-right:18px;cursor:pointer}
.teamtabs .ttab.on{color:var(--gold);border-bottom-color:var(--gold)}
.teamtabs #team-signout{margin-left:auto}
.teampane .tph{color:var(--gold);font-weight:500;font-size:23px;margin:0 0 8px}
.tabwrap{overflow-x:auto}
.apptab{width:100%;border-collapse:collapse;margin-top:10px}
.apptab th{text-align:left;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;border-bottom:1px solid var(--line);padding:12px 10px}
.apptab td{border-bottom:1px solid rgba(244,243,239,.07);padding:14px 10px;vertical-align:top;color:var(--body)}
.apptab td .pill{margin:0 8px 6px 0}
.apptab .rname{color:var(--cream);font-weight:500;display:block}
.apptab .rsub{display:block;color:var(--mute);font-size:13px;margin-top:3px}
.apptab .tag{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:3px 8px}
.apptab .tag.wait{border-color:rgba(198,160,90,.5);color:var(--gold)}
.apptab .tag.ok{border-color:rgba(160,214,160,.45);color:#A7D3A7}
.apptab .tag.off{border-color:rgba(229,163,163,.45);color:#E5A3A3}
.signin-card .msg.good{border-left-color:var(--gold);background:rgba(198,160,90,.08)}
@media (max-width:760px){.apptab .hidecol{display:none}}

/* Team search */
.spanel{background:var(--navy);border:1px solid var(--line);padding:20px;margin:16px 0}
.sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}
.sgrid label{display:block;font-size:14px;color:var(--mute)}
.sgrid select,.sgrid input,.apptab textarea{display:block;width:100%;margin-top:8px;padding:11px 12px;background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);font:inherit;box-sizing:border-box}
.smeta{color:var(--mute);font-size:14px;margin:6px 0 4px}
.apptab .score{color:var(--gold);font-weight:600;font-size:18px}
.apptab .sbar{display:block;height:4px;width:80px;background:rgba(244,243,239,.1);margin-top:6px}
.apptab .sbar span{display:block;height:4px;background:var(--gold)}
.apptab tr.detail td{background:rgba(198,160,90,.05)}
.apptab .ev{border-left:2px solid rgba(198,160,90,.45);padding:2px 0 2px 12px;margin:6px 0;font-size:14px}
.apptab .gap{border-left-color:rgba(229,163,163,.5);color:#E5A3A3}
.apptab a{color:var(--gold)}
#s-csv{margin-top:14px}
@media (max-width:760px){.sgrid{grid-template-columns:1fr}}
.sgrid label[hidden]{display:none!important}
/* Opportunities */
.obar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:16px 0}
.obar select,.opcard select,.opcard textarea{padding:10px 12px;background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);font:inherit}
.obar #o-refresh{margin-left:auto}
.opanel{background:var(--navy);border:1px solid var(--line);padding:16px 18px;margin:0 0 14px}
#o-watch-list{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 14px;color:var(--body);font-size:14px}
.otab th[data-k]{cursor:pointer;user-select:none;white-space:nowrap}
.otab th[data-k]:hover{color:#E7C98B}
.otab th.sorted::after{content:" \25BE"}
.otab th.sorted.asc::after{content:" \25B4"}
.otab th.num,.otab td.num{text-align:right}
.otab tbody tr{cursor:pointer;transition:background-color .2s}
.otab tbody tr:hover{background:linear-gradient(to bottom,rgba(198,160,90,.16),rgba(198,160,90,.04))}
.otab .yes{color:#A7D3A7}.otab .no{color:var(--mute)}
.otab .newtag{display:inline-block;margin-left:8px;font-size:10px;letter-spacing:.12em;color:var(--ink);background:var(--gold);padding:2px 6px;vertical-align:middle}
.opactions{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 18px}
.opmsg{border-left:2px solid var(--gold);background:rgba(198,160,90,.08);padding:12px 14px;color:var(--cream);margin:0 0 16px;white-space:pre-wrap}
.opgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.opcard{background:var(--navy);border:1px solid var(--line);padding:20px;margin-bottom:18px}
.opcard label{display:block;margin:12px 0}
.opcard select,.opcard textarea{display:block;width:100%;margin-top:6px;box-sizing:border-box}
.kv{width:100%;border-collapse:collapse}
.kv td{padding:7px 12px 7px 0;border-bottom:1px solid rgba(244,243,239,.07);vertical-align:top;color:var(--cream)}
.kv td:first-child{color:var(--mute);width:40%}
.kv .src{display:block;color:var(--mute);font-size:12px}
.opcard .ev{border-left:2px solid rgba(198,160,90,.45);padding:2px 0 2px 12px;margin:6px 0;font-size:14px;color:var(--body)}
.opcard .gap{border-left-color:rgba(229,163,163,.5);color:#E5A3A3}
.opcard a,.glink{color:var(--gold)!important;text-decoration:underline}
@media (max-width:860px){.opgrid{grid-template-columns:1fr}.obar #o-refresh{margin-left:0}}

/* Progress panel for searches and refreshes */
.busy{background:var(--navy);border:1px solid rgba(198,160,90,.5);padding:18px 20px;margin:14px 0}
.busy-bar{height:4px;background:rgba(244,243,239,.1);overflow:hidden;position:relative}
.busy-bar span{position:absolute;left:-40%;top:0;height:4px;width:40%;background:var(--gold);animation:busymove 1.4s ease-in-out infinite}
@keyframes busymove{0%{left:-40%}100%{left:100%}}
.busy-text{margin:12px 0 0;color:var(--cream);font-size:15px}
.busy.done .busy-bar{display:none}
.busy.fail{border-color:rgba(229,163,163,.6)}
/* v80: readable drop-down lists everywhere */
html body select option,html body select optgroup{background:#141414;color:#F4F3EF}
html body select{color-scheme:dark}
/* v80: progress panel that fills */
.busy-head{margin:0 0 6px;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.busy .busy-text{margin:0 0 12px}
.pbar{height:8px;background:rgba(244,243,239,.1);border-radius:4px;overflow:hidden}
.pbar span{display:block;height:8px;width:0;background:var(--gold);transition:width .6s ease}
.busy-count{margin:10px 0 0;color:var(--mute);font-size:14px}
.busy.fail{border-color:rgba(229,163,163,.6)}.busy.fail .busy-head{color:#E5A3A3}
/* v80: settings, several industries, request panel */
.oph{color:var(--cream);font-size:15px;font-weight:500;margin:4px 0 8px}
#o-settings textarea{display:block;width:100%;box-sizing:border-box;margin:8px 0 14px;padding:12px;background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);font:inherit;font-size:14px}
.msel{position:relative;font-size:14px;color:var(--mute)}
.msel .mbtn{display:block;width:100%;margin-top:8px;padding:11px 12px;text-align:left;background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);font:inherit;cursor:pointer}
.msel .mlist{position:absolute;z-index:20;left:0;right:0;top:100%;max-height:320px;overflow:auto;background:#141414;border:1px solid var(--gold);padding:10px 12px;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.msel .mlist label{display:block;padding:5px 0;color:var(--cream);cursor:pointer}
.msel .mlist .pill{margin-top:8px}
.sicl{display:block;margin:0 0 16px;max-width:420px}
.sicl input{display:block;width:100%;margin-top:8px;padding:11px 12px;background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);font:inherit;box-sizing:border-box}
.otab .listed{white-space:nowrap}.otab .recent{color:var(--gold);font-weight:600}
.reqtext{white-space:pre-wrap;background:rgba(244,243,239,.04);border:1px solid var(--line);padding:14px;color:var(--cream);font-size:14px;margin:10px 0 14px}
.copyrow{display:flex;gap:10px;align-items:center;border-bottom:1px solid rgba(244,243,239,.07);padding:8px 0}
.copyrow .k{width:110px;color:var(--mute);font-size:14px}.copyrow .v{flex:1;color:var(--cream);word-break:break-word}
html body main form p.form-status:empty{display:none!important}
/* anything marked hidden in the team area stays hidden, whatever its button style */
#team-app [hidden],#op-app [hidden],#o-settings[hidden],#o-busy[hidden],#s-busy[hidden]{display:none!important}
#o-settings textarea{overflow:hidden;resize:none;min-height:0;line-height:1.55}

/* v82: search brief, match marks, business link */
.brief{border-left:2px solid rgba(198,160,90,.5);padding:8px 0 8px 14px;margin:0 0 14px;font-size:14px;color:var(--body);max-width:900px}
.brief b{color:var(--cream);font-weight:500}
.otab .blink{color:var(--cream);font-weight:500;text-decoration:none}
.otab .blink:hover{color:var(--gold);text-decoration:underline}
.otab .mk{display:inline-block;margin-top:5px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--line)}
.otab .mk.strong{border-color:rgba(160,214,160,.5);color:#A7D3A7}.otab .mk.possible{border-color:rgba(198,160,90,.5);color:var(--gold)}.otab .mk.weak{color:var(--mute)}
.otab .why{display:block;color:var(--mute);font-size:13px;margin-top:3px}
.otab .dlink{display:inline-block;margin-top:4px;font-size:13px;color:var(--gold)}

/* v83: the opportunities table fits the page, no sideways scroll */
.fitwrap{overflow:visible}
.otab{table-layout:fixed;width:100%}
.otab th,.otab td{padding:12px 8px;font-size:14px;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.otab th{font-size:10.5px;letter-spacing:.1em}
.otab th:nth-child(1){width:22%}.otab th:nth-child(2){width:11%}.otab th:nth-child(3){width:8%}.otab th:nth-child(4){width:8%}
.otab th:nth-child(5){width:9%}.otab th:nth-child(6){width:13%}.otab th:nth-child(7){width:10%}.otab th:nth-child(8){width:8%}.otab th:nth-child(9){width:11%}
.otab .newbadge{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#141414;background:var(--gold);padding:2px 6px;vertical-align:2px}
@media (max-width:1060px){
  .otab thead{display:none}
  .otab,.otab tbody,.otab tr,.otab td{display:block;width:100%}
  .otab tr{border:1px solid var(--line);margin:0 0 14px;padding:6px 12px;background:var(--navy)}
  .otab td{border:0;padding:6px 0;text-align:left!important}
  .otab td[data-l]::before{content:attr(data-l);display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
  .otab .hidecol{display:block!important}
}
/* v83: gold focus outline instead of the browser's blue */
#team-app select:focus,#team-app button:focus,#op-app button:focus,#team-app input:focus,#team-app textarea:focus,.signin-card input:focus{outline:2px solid var(--gold)!important;outline-offset:2px;box-shadow:none}
/* v83: gold pulse on the next step */
@keyframes nudge{0%,100%{box-shadow:0 0 0 0 rgba(198,160,90,.0);border-color:rgba(198,160,90,.45)}50%{box-shadow:0 0 0 6px rgba(198,160,90,.28);border-color:#C6A05A}}
.nudge{animation:nudge 1.8s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.nudge{animation:none;border-color:#C6A05A}}
/* v83: inactivity notice */
.idlebar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;background:#141414;border:1px solid var(--gold);padding:14px 18px;color:var(--cream);display:flex;gap:14px;align-items:center;box-shadow:0 12px 30px rgba(0,0,0,.45);max-width:92vw}
.otab .listed{white-space:normal}
.otab .mk{white-space:normal}
.otab td,.otab th{min-width:0}
@media (max-width:1200px){.otab th,.otab td{padding:10px 6px;font-size:13px}.otab th{font-size:10px;letter-spacing:.06em}}
html body .otab th[data-k]{white-space:normal;line-height:1.35;vertical-align:bottom}
.otab .mk{margin-top:8px}
html body .otab th[data-k]{overflow-wrap:normal;word-break:keep-all;hyphens:none}
.otab th:nth-child(6){width:12%}.otab th:nth-child(8){width:9%}
.otab .mk{display:table;margin:8px 0 0}
html body .otab .mk{padding:3px 8px}

/* v85: cards, status and the visual business page */
.obar2{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:13px;padding:6px 12px;border:1px solid var(--line);color:var(--body);background:none;cursor:pointer}
.chip.on{border-color:var(--gold);color:var(--gold)}.chip b{color:var(--cream);font-weight:500;margin-left:6px}
.viewsw{display:flex;gap:8px;margin-left:auto}.viewsw button{background:none;border:1px solid var(--line);color:var(--body);padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.viewsw button.on{border-color:var(--gold);color:var(--gold)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bc{background:var(--navy);border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:border-color .2s,transform .2s;text-decoration:none;color:inherit}
.bc:hover{border-color:var(--gold);transform:translateY(-2px)}
.bc .nm{color:var(--cream);font-size:16px;font-weight:500;line-height:1.35}
.bc .lc{color:var(--mute);font-size:13px}
.bc .nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bc .nums div{border:1px solid rgba(244,243,239,.08);padding:8px;min-width:0}.bc .nums b{display:block;color:var(--cream);font-size:15px;font-weight:500;overflow-wrap:anywhere}
.bc .nums span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.bc .ft{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--mute);margin-top:auto}
.bc .mk{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border:1px solid;white-space:nowrap}
.mk.strong{color:#A7D3A7;border-color:rgba(160,214,160,.55)}.mk.possible{color:var(--gold);border-color:rgba(198,160,90,.55)}.mk.weak{color:var(--mute);border-color:var(--line)}
.mini{display:flex;gap:4px;margin-top:2px}.mini i{display:block;width:26px;height:6px;border-radius:3px;background:rgba(244,243,239,.14)}.mini i.on{background:var(--gold)}
.ml{font-size:12.5px;color:var(--gold)}
.bc.nudge{animation:nudgecard 1.8s ease-in-out infinite}
@keyframes nudgecard{0%,100%{border-color:rgba(198,160,90,.35);box-shadow:none}50%{border-color:#C6A05A;box-shadow:0 0 0 6px rgba(198,160,90,.22)}}
.ttab.nudge{animation:nudgetext 1.8s ease-in-out infinite}
@keyframes nudgetext{0%,100%{color:var(--cream)}50%{color:#E7C98B;text-shadow:0 0 12px rgba(198,160,90,.6)}}
.stt{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border:1px solid}
.stt.new{color:#141414;background:var(--gold);border-color:var(--gold)}.stt.req{color:#9DB8E8;border-color:rgba(157,184,232,.55)}.stt.nda{color:#C9B3F0;border-color:rgba(201,179,240,.55)}.stt.docs{color:var(--gold);border-color:rgba(198,160,90,.6)}.stt.ready{color:#A7D3A7;border-color:rgba(160,214,160,.6)}
.opband{padding-top:10px!important}
.ophead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin:4px 0 14px}
.opsub{color:var(--gold);margin:0;font-size:16px}
.opactions{margin:0!important}
.opmsg.warn{border-left-color:#E5A3A3;background:rgba(229,163,163,.07)}
.trackbox{background:var(--navy);border:1px solid var(--line);padding:18px 10px 14px}
.track{display:flex;align-items:flex-start}
.track .stp{flex:1;position:relative;text-align:center;font-size:12.5px;color:var(--mute);min-width:0}
.track .stp::before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:3px;background:rgba(244,243,239,.12)}
.track .stp:first-child::before{display:none}
.track .stp.done::before,.track .stp.now::before{background:var(--gold)}
.track .dot{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(244,243,239,.2);background:#141414;color:var(--mute);font-weight:600;font-size:13px}
.track .done .dot{background:var(--gold);border-color:var(--gold);color:#141414}
.track .next .dot{border-color:var(--gold);color:var(--gold);animation:nudgedot 1.8s ease-in-out infinite}
@keyframes nudgedot{0%,100%{box-shadow:0 0 0 0 rgba(198,160,90,0)}50%{box-shadow:0 0 0 8px rgba(198,160,90,.25)}}
.track .done,.track .next{color:var(--cream)}
.track .when{display:block;font-size:11.5px;color:var(--mute);margin-top:2px}
.btabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:20px 0 18px}
.btabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--cream);font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:12px 16px;cursor:pointer}
.btabs button.on{color:var(--gold);border-bottom-color:var(--gold)}
.btabs button.nudge{animation:nudgetext 1.8s ease-in-out infinite}
.bpane{display:none}.bpane.on{display:block}
#op-app .tph,.opcard .tph{font-size:22px!important;line-height:1.3;color:var(--gold);font-weight:500;margin:0 0 12px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.tile{background:var(--navy);border:1px solid var(--line);padding:14px;min-width:0}.tile .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.tile .v{font-size:24px;color:var(--cream);margin-top:6px;overflow-wrap:anywhere}.tile .s{font-size:12.5px;color:var(--mute)}
.chartbox{background:var(--navy);border:1px solid var(--line);padding:16px;min-width:0}
.twocol{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:16px}
.tag2{display:inline-block;border:1px solid var(--line);padding:6px 10px;font-size:13px;color:var(--body);margin:0 6px 6px 0}.tag2.g{border-color:rgba(160,214,160,.5);color:#A7D3A7}.tag2.r{border-color:rgba(229,163,163,.5);color:#E5A3A3}
.flag{border-left:2px solid #E5A3A3;padding:10px 12px;color:#F3C9C9;font-size:14px;background:rgba(229,163,163,.06);margin:0 0 8px}
.empty{background:var(--navy);border:1px dashed rgba(198,160,90,.5);padding:26px;text-align:center;color:var(--body)}
.doccards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dc{background:var(--navy);border:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:6px;cursor:pointer;min-width:0}
.dc:hover{border-color:var(--gold)}
.dc .ic{width:38px;height:46px;border:1px solid var(--gold);display:flex;align-items:flex-end;justify-content:center;font-size:10px;font-weight:700;color:var(--gold);padding-bottom:5px;letter-spacing:.06em}
.dc .n{color:var(--cream);font-size:14px;overflow-wrap:anywhere}.dc .m{color:var(--mute);font-size:12px}
.addc{border:2px dashed rgba(198,160,90,.6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--gold);min-height:150px;cursor:pointer;background:rgba(198,160,90,.05);font:inherit}
.addc b{width:42px;height:42px;border-radius:50%;background:var(--gold);color:#141414;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1}
.addc.nudge{animation:nudgecard 1.8s ease-in-out infinite}
.ndabox{border:1px solid var(--gold);background:#141414;padding:18px;margin:14px 0;max-width:680px}
.ndabox .hd{color:var(--gold);font-size:12px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;margin-bottom:6px}
.ndabox label{display:flex;gap:10px;align-items:center;margin:10px 0;color:var(--cream);font-size:14px;flex-wrap:wrap}
.ndabox input[type=date],.ndabox input[type=text]{background:rgba(244,243,239,.04);border:1px solid var(--line);color:var(--cream);padding:8px 10px;font:inherit;font-size:14px;color-scheme:dark}
.uplist{margin:10px 0;font-size:14px;color:var(--body)}.uplist div{margin:4px 0}
.sheet{background:#F4F3EF;color:#141414;padding:24px 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;font-size:13.5px;line-height:1.5}
.sheet .full{grid-column:1/-1}.sheet h3{margin:0;font-size:18px;color:#141414}.sheet .sub{color:#7A7873}
.sheet h4{margin:0 0 6px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#8A6B2E}.sheet ul,.sheet ol{margin:0;padding-left:18px}
.sheet .big{font-size:21px;font-weight:600}.sheet .lab{font-size:11px;color:#7A7873;text-transform:uppercase;letter-spacing:.08em;margin-top:8px}
.dirs{display:flex;flex-direction:column;gap:10px}.dir{display:grid;grid-template-columns:minmax(0,200px) 1fr 40px;align-items:center;gap:10px;font-size:14px;color:var(--cream)}.bar{height:10px;background:rgba(244,243,239,.1);border-radius:5px;overflow:hidden}.bar span{display:block;height:10px;background:var(--gold)}
.log{font-size:13px;color:var(--mute);margin-top:12px;line-height:1.7}
.dangerlink{background:none;border:0;color:#E5A3A3;text-decoration:underline;font:inherit;font-size:13px;cursor:pointer;padding:0}
@media (max-width:1060px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles,.doccards{grid-template-columns:repeat(2,minmax(0,1fr))}.twocol{grid-template-columns:1fr}.sheet{grid-template-columns:1fr}}
@media (max-width:640px){.cards{grid-template-columns:1fr}.track .stp{font-size:11px}.track .when{display:none}.btabs button{padding:10px 10px;font-size:11.5px}}
@media print{body *{visibility:hidden}.sheet,.sheet *{visibility:visible}.sheet{position:absolute;left:0;top:0;width:100%;padding:0}}
.newbadge{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;letter-spacing:.12em;color:#141414;background:var(--gold);padding:2px 6px;vertical-align:2px}
#op-app .chartbox .stand{font-size:15px!important;line-height:1.6;max-width:none!important}

/* v86: cards only, and the left-to-right journey */
.ofoot{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;border-top:1px solid var(--line);padding-top:12px}
.ofoot .smeta{margin:0}.linkbtn{background:none;border:0;color:var(--gold);text-decoration:underline;font:inherit;font-size:13px;cursor:pointer;margin-left:16px;padding:0}
#pane-opps .obar{margin:0 0 20px}
.journey{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:18px 0 0;background:var(--navy);border:1px solid var(--line);padding:22px 8px 20px}
.jstep{position:relative;text-align:center;padding:6px 8px 8px;min-width:0;cursor:pointer;background:none;border:0;font:inherit;color:inherit}
.jstep::before{content:"";position:absolute;top:25px;left:-50%;width:100%;height:3px;background:rgba(244,243,239,.12)}
.jstep:first-child::before{display:none}.jstep.done::before,.jstep.next::before{background:var(--gold)}
.jstep .dot{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(244,243,239,.2);background:#141414;color:var(--mute);font-weight:600}
.jstep.done .dot{background:var(--gold);border-color:var(--gold);color:#141414}
.jstep.next .dot{border-color:var(--gold);color:var(--gold);animation:nudgedot 1.8s ease-in-out infinite}
.jstep .t{display:block;color:var(--cream);font-size:14px;font-weight:500}.jstep.later .t{color:var(--mute)}
.jstep .d{display:block;font-size:12px;color:var(--mute);min-height:18px;margin:2px 0 8px}
.jstep .b{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;padding:8px 12px;border:1px solid rgba(198,160,90,.6);background:rgba(198,160,90,.12);color:var(--cream);animation:nudge 1.8s ease-in-out infinite}
.jstep.sel{background:rgba(198,160,90,.07);outline:1px solid rgba(198,160,90,.35)}
.jstep.later{cursor:default}
.jpanel{background:var(--navy);border:1px solid var(--line);border-top:0;padding:22px}
.jh{color:var(--gold);font-weight:500;font-size:20px;margin:0 0 14px}
#op-app .jpanel .chartbox{background:rgba(10,10,11,.35)}
@media (max-width:760px){.journey{grid-template-columns:1fr;padding:10px}.jstep{display:grid;grid-template-columns:44px 1fr;text-align:left;align-items:center;column-gap:12px}.jstep::before{display:none}.jstep .dot{margin:0;grid-row:span 3}.jstep .d{margin:0}.jstep .b{justify-self:start;margin-top:6px}}
html body #op-app .jh{color:var(--gold)!important;font-size:20px!important;font-weight:500}
html body #op-app .jpanel .stand{font-size:15px!important;line-height:1.6;max-width:760px!important}

/* v87: refresh note, tailored email, cookie notice, insights */
.rnote{font-size:13px;color:var(--mute);margin-left:4px}
#o-refresh.waiting{opacity:.55;cursor:help}
.mailbox{background:#F4F3EF;color:#141414;padding:18px 20px;max-width:760px;font-size:14.5px;line-height:1.6}
.mailbox .row{display:grid;grid-template-columns:70px 1fr;gap:8px;border-bottom:1px solid #E8E6E1;padding:6px 0;font-size:13.5px}.mailbox .row b{color:#7A7873;font-weight:500}
.mailbox .body{white-space:pre-wrap;padding-top:12px}
.mailacts{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 4px}
.cookiebar{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:760px;margin:0 auto;background:#141414;border:1px solid var(--gold);color:var(--cream);padding:14px 18px;display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:14px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.cookiebar a{color:var(--gold);text-decoration:underline}
@media (max-width:600px){.cookiebar{flex-direction:column;align-items:flex-start}}
.hbar{display:grid;grid-template-columns:minmax(0,1fr) 3fr 44px;gap:10px;align-items:center;font-size:13.5px;color:var(--body);margin:7px 0}
.hbar .bar span{background:var(--gold)}
.hbar .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cream)}
.funnel .hbar .bar span{background:#A7D3A7}
.teamrow{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;border-bottom:1px solid rgba(244,243,239,.07);padding:8px 0;font-size:14px;color:var(--body)}
.funnel .hbar{grid-template-columns:minmax(150px,1.3fr) 2fr 44px}
#pane-insights .smeta{font-size:13.5px}
#pane-insights .chartbox p.smeta{font-size:14px;margin:4px 0}
#team-app .teamtabs #team-signout{margin-left:0}
#me-panel{margin:0 0 18px}
.sigask{border:1px solid var(--gold);background:rgba(198,160,90,.07);padding:14px 16px;margin:0 0 14px;max-width:760px}

.cookiebtns{display:flex;gap:10px;flex-shrink:0}
.cookieset{display:inline-block;margin-top:10px;background:none;border:0;padding:0;color:var(--mute);text-decoration:underline;font:inherit;font-size:13px;cursor:pointer}
.cookieset:hover{color:var(--gold)}

/* v91: was the listing there, remove and restore */
.askbar{background:rgba(198,160,90,.08);border:1px solid var(--gold);border-top:0;padding:14px 18px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.askbar .q{color:var(--cream);font-size:15px;margin-right:8px}
.opfoot{margin-top:26px;border-top:1px solid var(--line);padding-top:12px}
#op-remove-box{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rrow{display:grid;grid-template-columns:1.6fr 1.2fr 1fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(244,243,239,.07);padding:8px 0;font-size:14px;color:var(--body)}
.rrow .n{color:var(--cream)}
@media (max-width:760px){.rrow{grid-template-columns:1fr}}
.jstep .b.calm{animation:none}
/* v92: Home, Private Equity and Advisory on one line */
header .anav{display:flex;align-items:flex-start}
header .anav .amenu > summary{display:flex;align-items:center;height:42px}
header .anav > a.atop.home{display:block!important;height:42px!important;box-sizing:border-box;line-height:20px;padding:10px 0 0!important;align-self:flex-start}
@media (max-width:1180px){header .anav > a.atop.home{font-size:11.5px;letter-spacing:.08em;padding-top:10.4px!important}}

/* v93: waiting for the broker */
.waitbar{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--gold);background:rgba(198,160,90,.08);padding:14px 16px;margin:0 0 16px;color:var(--cream);font-size:14.5px;line-height:1.55;animation:waitglow 2.2s ease-in-out infinite}
.waitbar b{color:var(--gold);font-weight:600}
.wdot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--gold);margin-top:6px;animation:waitdot 1.4s ease-in-out infinite}
.ml.waitl{display:flex;gap:8px;align-items:center}.ml.waitl .wdot{margin-top:0}
.jstep .b.waitb{background:rgba(198,160,90,.18)}
@keyframes waitglow{0%,100%{box-shadow:0 0 0 0 rgba(198,160,90,0)}50%{box-shadow:0 0 0 5px rgba(198,160,90,.18)}}
@keyframes waitdot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
@media (prefers-reduced-motion:reduce){.waitbar,.wdot{animation:none}}

/* v95: checks, sites and log in the refresh panel */
.rep{margin-top:14px}
.rep h4{margin:14px 0 8px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}
.chk{display:flex;flex-wrap:wrap;gap:8px}
.chk span{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:5px 10px;border:1px solid var(--line);color:var(--body)}
.chk .y{border-color:rgba(160,214,160,.5);color:#CFE8CF}.chk .n{border-color:rgba(229,163,163,.55);color:#F3C9C9}.chk .w{border-color:rgba(198,160,90,.5);color:#E7D3A6}
.chk i{font-style:normal;font-weight:700}
.sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.sites div{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:5px 10px;border:1px solid rgba(244,243,239,.08);color:var(--mute)}
.sites div.hit{border-color:rgba(198,160,90,.45);color:var(--cream)}.sites div.hit b{color:var(--gold)}
.sites div.oth{border-style:dashed}
.log2{max-height:230px;overflow:auto;font-size:13px;line-height:1.6;border:1px solid rgba(244,243,239,.08);padding:8px 10px;background:rgba(10,10,11,.35)}
.log2 div{color:var(--body)}.log2 .ok::before{content:"✓ ";color:#A7D3A7}.log2 .warn::before{content:"• ";color:var(--gold)}.log2 .fail::before{content:"✗ ";color:#E5A3A3}
.log2 time{color:var(--mute);margin-right:8px;font-size:12px}

/* v96: livelier progress, searching message, remove on the card */
.pbar2{position:relative;height:16px;border-radius:8px;background:rgba(244,243,239,.1);overflow:hidden;margin:4px 0 8px}
.pbar2 span{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:8px;background:repeating-linear-gradient(45deg,#C6A05A 0 14px,#D8B872 14px 28px);background-size:40px 40px;animation:stripes 1s linear infinite;transition:width .6s ease}
.busy.done .pbar2 span,.busy.fail .pbar2 span{animation:none}
.pbar2 em{position:absolute;right:10px;top:-1px;font-style:normal;font-size:11.5px;color:var(--cream);line-height:18px}
@keyframes stripes{from{background-position:0 0}to{background-position:40px 0}}
.timer{display:flex;flex-wrap:wrap;gap:18px;font-size:13.5px;color:var(--body);margin:0 0 2px}.timer b{color:var(--cream);font-weight:600}
.searching{display:flex;gap:12px;align-items:center;border:1px dashed rgba(198,160,90,.6);padding:16px 18px;color:var(--cream);background:rgba(198,160,90,.05);margin:0 0 16px}
.spin{flex:0 0 18px;width:18px;height:18px;border:2px solid rgba(198,160,90,.3);border-top-color:#C6A05A;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.bc{position:relative}.bc .rm{position:absolute;right:14px;bottom:14px;font-size:12.5px;color:var(--mute);text-decoration:underline;background:none;border:0;cursor:pointer;font-family:inherit;padding:0}
.bc .rm:hover{color:var(--gold)}
.bc .rmbox{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;font-size:12.5px;color:var(--mute)}
.bc .rmbox button{font:inherit;font-size:12.5px;padding:5px 9px;border:1px solid var(--line);background:rgba(244,243,239,.04);color:var(--cream);cursor:pointer}
.bc .rmbox button:hover{border-color:var(--gold)}
.bc .ft{padding-right:58px}
@media (prefers-reduced-motion:reduce){.pbar2 span,.spin{animation:none}}

/* v97: costs, and easier reading */
.ctiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}
.ctile{background:linear-gradient(180deg,rgba(198,160,90,.16),rgba(198,160,90,.06));border:1px solid rgba(198,160,90,.55);padding:16px 16px 14px;min-width:0}
.ctile .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.ctile .v{font-size:30px;font-weight:700;color:#FFFFFF;margin:6px 0 2px;line-height:1.1}
.ctile .s{font-size:13px;color:var(--body)}.ctile .s b{color:var(--cream)}
.ctile.warn{background:linear-gradient(180deg,rgba(229,163,163,.2),rgba(229,163,163,.07));border-color:rgba(229,163,163,.7)}
.ctile .lim{height:8px;border-radius:4px;background:rgba(244,243,239,.15);margin-top:8px;overflow:hidden}.ctile .lim span{display:block;height:8px;background:var(--gold)}
.ctile.warn .lim span{background:#E5A3A3}
.cbal{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:14px;color:var(--body);background:var(--navy);border:1px solid var(--line);padding:12px 14px;margin:0 0 16px}
.cin{display:inline-flex;align-items:center;gap:4px;color:var(--cream);font-weight:600}.cin input{width:110px;padding:7px 9px;background:rgba(244,243,239,.05);border:1px solid var(--line);color:var(--cream);font:inherit;font-weight:600}
.ctab{width:100%;border-collapse:collapse;font-size:14px}.ctab th{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.ctab td{padding:8px;border-bottom:1px solid rgba(244,243,239,.07);color:var(--body)}.ctab td.num,.ctab th.num{text-align:right}.ctab td b{color:var(--cream)}
.ctab tr:nth-child(even) td{background:rgba(244,243,239,.025)}
.costline b{color:#FFFFFF}
.backbtn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid rgba(198,160,90,.6);background:rgba(198,160,90,.1);color:var(--cream);text-decoration:none;font-weight:600;font-size:14px}
.backbtn:hover{border-color:var(--gold);color:var(--gold)}
@media (max-width:900px){.ctiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
#c-sectors .hbar,#c-kinds .hbar{grid-template-columns:minmax(170px,1.4fr) 2fr 64px}
.cin input{width:140px}

/* v104 home banner: three steps joined by gold lines, leading into the logo */
.hero.full.hhome{height:auto!important;min-height:720px;padding:120px 0 64px!important}
.hhome .copy{max-width:none!important;width:100%}
.hhome .claim{max-width:46ch}
.stair{position:relative;margin:0 0 30px;--stw:60px;--stc:18px}
.stair h1{font-size:var(--stw)!important;line-height:1!important;margin:0!important;max-width:none!important;letter-spacing:-.03em}
.stair .tl{display:block;white-space:nowrap;margin:0 0 6px}
.stcap{display:block;color:var(--gold);font-size:var(--stc);line-height:1.3;font-weight:500;letter-spacing:.01em;margin:4px 0 16px;white-space:nowrap;text-shadow:0 2px 16px rgba(10,10,11,.9)}
.stsq{display:flex;gap:9px;margin:0 0 18px}
.stsq i{display:block;width:12px;height:12px;background:var(--gold)}
.stlines,.stlogo{display:none}
.najs .stair.ready{margin-bottom:34px}
.najs .stair.ready .stsq,.najs .stair.ready .tl,.najs .stair.ready .stcap,.najs .stair.ready .stlogo{position:absolute;margin:0}
.najs .stair.ready .stlines{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.stln{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:var(--len,900);stroke-dashoffset:var(--len,900);transition:stroke-dashoffset 1s ease}
.stln:nth-of-type(3){transition-duration:1.4s}
.stair .stu{transition-duration:.7s}
.najs .stair.ready .stsq i,.najs .stair.ready .stcap{opacity:0;transition:opacity .6s ease}
.najs .stair.ready .tl{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.najs .stair.ready .stlogo{display:block;text-align:center}
.stglow{display:none!important}
.stmark{position:relative;display:block;margin:0 auto;width:var(--stm,150px);height:auto;overflow:hidden}
.stmark .pt{transform:translateY(120px);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.stn1,.stn2{position:relative;display:block;white-space:nowrap;opacity:0}
.stn1{margin-top:22px;font-size:var(--stn,24px);font-weight:600;letter-spacing:.2em;padding-left:.2em;color:var(--cream);transform:translateY(10px);transition:opacity .8s ease,transform .8s ease;text-shadow:0 2px 16px rgba(10,10,11,.9)}
.stn2{margin-top:8px;font-size:calc(var(--stn,24px) * .54);letter-spacing:1.1em;padding-left:1.1em;color:var(--gold);transition:opacity 1.2s ease,letter-spacing 1.2s ease,padding-left 1.2s ease}
.stair .on{opacity:1!important}
.stair .tl.on,.stair .pt.on,.stair .stn1.on,.stair .stglow.on{transform:none!important}
.stair .stln.on{stroke-dashoffset:0}
.stair .stn2.on{letter-spacing:.62em;padding-left:.62em}
@media (max-width:1100px){.stair{--stw:52px;--stc:16px}.hero.full.hhome{min-height:640px}}
@media (max-width:700px){.stair{--stw:40px;--stc:14px;--stm:104px;--stn:18px}.hero.full.hhome{min-height:0;padding:104px 0 48px!important}}
@media (prefers-reduced-motion:reduce){.stair *{transition:none!important}}
/* v107 home banner video mirrored, so the small peak is on the left and the large peak on the right, matching the logo */
@keyframes driftm{from{transform:scaleX(-1) scale(1.01)}to{transform:scaleX(-1) scale(1.05) translateY(-1%)}}
.hero.full.hhome .media{transform:scaleX(-1);animation-name:driftm}
@media (prefers-reduced-motion:reduce){.hero.full.hhome .media{animation:none}}
/* v108 home statement: three numbered steps and the advisory route, same wording, in the site's step style */
.hsteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 36px}
.hstep{border-top:3px solid rgba(198,160,90,.45);padding:16px 14px 18px;transition:border-color .3s ease,background .3s ease}
.hstep:hover{border-top-color:var(--gold);background:linear-gradient(180deg,rgba(198,160,90,.16),rgba(198,160,90,0) 85%)}
.hsn{display:block;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:.15em}
.statement-block .hsl{font-size:19px!important;line-height:1.35;font-weight:500;color:var(--cream)!important;margin:6px 0 10px;letter-spacing:-.005em}
.panel .hstep .supporting{font-size:16px!important;line-height:1.62;margin:0;max-width:none}
.halt{border-left:2px solid var(--gold);padding:4px 0 4px 22px}
.halt .hsl{color:var(--gold)!important;margin-top:0}
.panel .halt .supporting{margin-top:0;margin-bottom:12px}
.panel .halt .supporting:last-child{margin-bottom:0}
@media (max-width:900px){.hsteps{grid-template-columns:1fr;gap:22px;margin:30px 0 28px}}
/* v109 every banner: picture and video fade into the page at the bottom, so no hard edge */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:180px;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,10,11,0) 0%,rgba(10,10,11,.55) 45%,rgba(10,10,11,.88) 75%,var(--ink) 100%)}
@media (max-width:900px){.hero::after{height:120px}}
/* v110 stage pages: the paragraphs under the lead sit side by side in the gold column style, same wording */
.pcols{display:grid;gap:28px;margin:28px 0 34px}
.pcols.pc2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pcols.pc3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pcol{border-top:3px solid rgba(198,160,90,.45);padding:14px 12px 16px;transition:border-color .3s ease,background .3s ease}
.pcol:hover{border-top-color:var(--gold);background:linear-gradient(180deg,rgba(198,160,90,.16),rgba(198,160,90,0) 85%)}
.nacard .pcl{font-size:17px!important;line-height:1.35;font-weight:500;color:var(--cream)!important;margin:0 0 10px;letter-spacing:-.005em;text-transform:none!important}
.nacard .pcol .mintro{font-size:16px!important;line-height:1.62;margin:0!important;max-width:none!important;width:auto!important}
@media (max-width:900px){.pcols.pc2,.pcols.pc3{grid-template-columns:1fr;gap:20px;margin:22px 0 26px}}
/* v112 Advisory: two banner sentences now open How a mandate works, as on Private Equity the banner stays short */
.mwopen{margin:4px 0 30px}
.mwopen .mintro{margin:0 0 12px!important;max-width:900px}
.mwopen .mintro:last-child{margin-bottom:0!important}
.mwopen .stand{margin:0 0 14px!important;max-width:900px}
.mwopen .stand:last-child{margin-bottom:0!important}
/* v113 the descriptive banner paragraph now opens the page body on 22 pages */
section.band.pintro{padding-bottom:0!important}
section.band.pintro + section.band{padding-top:40px}
.pintro .mwopen{margin:0}
@media (max-width:900px){section.band.pintro + section.band{padding-top:28px}}
/* v114 one type scale for the whole site: every level larger than the one below it, one size per kind of text. Legal notice pages keep their own sizes */
html body:not(.notice):not(#na-scale) h2:not(.x-none){font-size:32px!important;line-height:1.2!important}
html body:not(.notice):not(#na-scale) main .nacard.assert h2{font-size:11px!important}
html body:not(.notice):not(#na-scale) .hero .claim,html body:not(.notice):not(#na-scale) .hero .claim .c1{font-size:26px!important;line-height:1.35!important}
html body:not(.notice):not(#na-scale) main .panel .statement,html body:not(.notice):not(#na-scale) main .statement-block .statement{font-size:22px!important;line-height:1.45!important}
html body:not(.notice):not(#na-scale) main .stand{font-size:22px!important;line-height:1.5!important}
html body:not(.notice):not(#na-scale) main h3:not(.subhead):not(.eflow-h){font-size:19px!important}
html body:not(.notice):not(#na-scale) main .eflow-h,html body:not(.notice):not(#na-scale) main .estep .st{font-size:12px!important}
html body:not(.notice):not(#na-scale) main p:not(.stand):not(.statement):not(.claim):not(.lede2):not(.c1):not(.ed):not(.ev-src):not(.pnote):not(.hint){font-size:17px!important;line-height:1.65!important}
html body:not(.notice):not(#na-scale) main p.ed,html body:not(.notice):not(#na-scale) main .osvc li,html body:not(.notice):not(#na-scale) main .clean-list li{font-size:15px!important}
@media (max-width:1180px){html body:not(.notice):not(#na-scale) .hero .claim,html body:not(.notice):not(#na-scale) .hero .claim .c1{font-size:24px!important}}
@media (max-width:900px){
  html body:not(.notice):not(#na-scale) h2:not(.x-none){font-size:24px!important}
  html body:not(.notice):not(#na-scale) main .nacard.assert h2{font-size:11px!important}
  html body:not(.notice):not(#na-scale) .hero .claim,html body:not(.notice):not(#na-scale) .hero .claim .c1{font-size:20px!important}
  html body:not(.notice):not(#na-scale) main .panel .statement,html body:not(.notice):not(#na-scale) main .statement-block .statement,html body:not(.notice):not(#na-scale) main .stand{font-size:19px!important}
  html body:not(.notice):not(#na-scale) main h3:not(.subhead):not(.eflow-h){font-size:18px!important}
  html body:not(.notice):not(#na-scale) main p:not(.stand):not(.statement):not(.claim):not(.lede2):not(.c1):not(.ed):not(.ev-src):not(.pnote):not(.hint){font-size:16px!important}
  html body:not(.notice):not(#na-scale) main p.ed,html body:not(.notice):not(#na-scale) main .osvc li,html body:not(.notice):not(#na-scale) main .clean-list li{font-size:14px!important}
}
@media (max-width:700px){html body:not(.notice):not(#na-scale) .hero:not(.hhome) h1{font-size:40px!important}}
/* v114 one weight rule: 400 text, 500 gold lines and buttons, 600 every heading, label and bold word */
html body:not(#na-scale) h1,html body:not(#na-scale) h2,html body:not(#na-scale) h3,html body:not(#na-scale) .stair .tl{font-weight:600!important}
html body:not(#na-scale) main strong,html body:not(#na-scale) main b,html body:not(#na-scale) main summary{font-weight:600!important}
html body:not(#na-scale) main strong,html body:not(#na-scale) main b{color:var(--cream)!important}
html body:not(#na-scale) .hero .claim,html body:not(#na-scale) .hero .claim .c1,html body:not(#na-scale) .pill{font-weight:500!important}
html body:not(#na-scale) main .sg-t{font-weight:600!important}
/* v114 bold rule: one key figure per evidence line, in bold gold, no other bold inside text */
html body:not(#na-scale) main b.kf{color:var(--gold)!important;font-weight:600!important}
/* v115 home banner squares: one square fills with each word, then all three echo when the logo lands */
.najs .stair.ready .stsq{opacity:0;transition:opacity .5s ease}
.najs .stair.ready .stsq i{opacity:1!important;background:transparent;box-shadow:inset 0 0 0 1px rgba(198,160,90,.5);transition:background-color .5s ease,box-shadow .5s ease}
.najs .stair.ready .stsq i.on{background:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.stsq i.echo{animation:naecho .6s ease}
@keyframes naecho{0%{transform:scale(1)}40%{transform:scale(1.35);background:#F0D8A8}100%{transform:scale(1)}}
/* v115 gold lines draw themselves on scroll */
.nadraw .hstep,.nadraw .pcol,.nadraw .estep,.nadraw .obox .olab{border-top-color:transparent!important;position:relative}
.nadraw .hstep::before,.nadraw .pcol::before,.nadraw .estep::before,.nadraw .obox .olab::before{content:"";position:absolute;left:0;right:0;top:-3px;height:3px;background:rgba(198,160,90,.45);transform:scaleX(0);transform-origin:left center;transition:transform .9s cubic-bezier(.3,.7,.2,1) calc(var(--di,0) * .18s),background-color .3s ease}
.nadraw .estep::before{top:-2px;height:2px;background:rgba(244,243,239,.14);transition-delay:calc(var(--di,0) * .45s)}
.nadraw .obox .olab::before{top:-2px;height:2px;background:var(--gold)}
.nadraw .drawn::before{transform:scaleX(1)}
.nadraw .hstep:hover::before,.nadraw .pcol:hover::before,.nadraw .estep:hover::before{background:var(--gold)}
.nadraw .estep:not(:last-child)::after{opacity:0;transition:opacity .3s ease calc(var(--di,0) * .45s + .7s)}
.nadraw .estep.drawn:not(:last-child)::after{opacity:1}
@media (prefers-reduced-motion:reduce){.stsq i.echo{animation:none}}
/* v115 home: after the logo lands, a gold light runs along the 8-stage bar from 01 to 08 */
.stepnav a.step{position:relative}
.stepnav a.step.sweep::after{content:"";position:absolute;left:0;right:0;top:-2px;bottom:0;border-top:2px solid var(--gold);background:linear-gradient(to bottom,rgba(198,160,90,.45),rgba(198,160,90,0));pointer-events:none;opacity:0;animation:nasweep 1.1s ease}
.stepnav a.step.sweep .sn{animation:nasweepn 1.1s ease}
@keyframes nasweep{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@keyframes nasweepn{0%,100%{color:inherit}30%{color:var(--gold)}}
@media (prefers-reduced-motion:reduce){.stepnav a.step.sweep::after,.stepnav a.step.sweep .sn{animation:none}}
/* v115 home: the two banner buttons have a gold border traced round them as the final beat */
.hhome .ctas .pill{position:relative}
.hhome .ctas .pill.trace::before{content:"";position:absolute;inset:0;margin:0;border:2px solid var(--gold);box-shadow:inset 0 0 14px rgba(198,160,90,.3);pointer-events:none;animation:natrace 2.2s ease forwards}
@keyframes natrace{0%{clip-path:inset(0 100% 100% 0);opacity:1}35%{clip-path:inset(0 0 0 0);opacity:1}70%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 0);opacity:0}}
@media (prefers-reduced-motion:reduce){.hhome .ctas .pill.trace::before{animation:none;opacity:0}}
/* v115 banner titles: room for the bolder weight, so no title wraps onto more lines than it did before v114 */
html body:not(.notice):not(#na-scale) .hero:not(.hhome) h1{width:118%!important;max-width:calc(100vw - 96px)!important;letter-spacing:-.02em}
@media (max-width:700px){html body:not(.notice):not(#na-scale) .hero:not(.hhome) h1{width:auto!important;max-width:none!important;font-size:36px!important;font-weight:500!important}}
@media (max-width:700px){html body.notice:not(#na-scale) .hero h1{font-weight:500!important}}
/* v116 click-out boxes: an open box no longer stretches the one beside it, and each item has a gold tick with wrapped lines aligned under the text */
html body .oboxes:not(:has(.obox.corp)) .svcgs{align-items:start!important}
html body .svcg{align-self:start}
html body main .osvc li{position:relative;padding-left:24px!important}
html body main .osvc li::before{content:""!important;position:absolute;left:3px;top:calc(.8em + 3px);width:9px!important;height:5px!important;background:none!important;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg);margin:0!important;display:block!important}
/* v117 stage pages: the What we do as owner groups are always open, numbered, and the one being read is highlighted as the page scrolls */
.svcgs.nxgs{display:block!important}
.nxgbar{position:sticky;top:72px;z-index:5;display:grid;grid-template-columns:repeat(var(--nx-n,4),minmax(0,1fr));gap:6px;background:#0F0F10;padding:10px 0 0;margin:6px 0 4px;border-bottom:1px solid rgba(244,243,239,.08)}
.nxgbar a{font-size:11px;letter-spacing:.08em;color:#9A9893;text-decoration:none;padding:4px 0 8px;border-bottom:3px solid transparent;transition:color .3s,border-color .3s;cursor:pointer}
.nxgbar a b{display:block;font-size:13px;letter-spacing:0;font-weight:600;color:inherit;text-transform:none}
.nxgbar a.on,.nxgbar a:hover{color:var(--gold);border-bottom-color:var(--gold)}
.svcg.nxg{display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 16px;margin:14px 0 0;padding:20px 18px 14px;background:rgba(244,243,239,.02)!important;border:1px solid rgba(244,243,239,.08)!important;border-left:3px solid rgba(198,160,90,.25)!important;scroll-margin-top:140px;transition:background .4s,border-color .4s}
.svcg.nxg.on{background:rgba(198,160,90,.07)!important;border-color:rgba(198,160,90,.35)!important;border-left-color:var(--gold)!important}
.svcg.nxg .sgh{display:contents}
.svcg.nxg .sg-n{grid-column:1;grid-row:1/3;display:block;font-size:30px;font-weight:600;line-height:1;color:rgba(198,160,90,.45);transition:color .4s}
.svcg.nxg.on .sg-n{color:var(--gold)}
html body:not(#na-scale) main .svcg.nxg h4.sg-t{font-size:18px!important;font-weight:600!important;color:var(--cream);margin:0 0 8px!important;grid-column:2;grid-row:1}
.svcg.nxg > .osvc{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:0!important}
@media (max-width:900px){.svcg.nxg{grid-template-columns:44px minmax(0,1fr);padding:16px 14px 10px}.svcg.nxg .sg-n{font-size:22px}.svcg.nxg > .osvc{grid-template-columns:1fr}.nxgbar{top:60px}.nxgbar a b{display:none}}
@media (prefers-reduced-motion:reduce){.svcg.nxg,.svcg.nxg .sg-n,.nxgbar a{transition:none}}
/* v117 banner pictures: soft focus reveal as the page opens, then one soft sweep of light */
.hero .shade{animation:nasoftfocus 2.4s ease-out both}
@keyframes nasoftfocus{from{-webkit-backdrop-filter:blur(10px) brightness(.6);backdrop-filter:blur(10px) brightness(.6)}to{-webkit-backdrop-filter:blur(0) brightness(1);backdrop-filter:blur(0) brightness(1)}}
.hero .shade::after{content:"";position:absolute;top:-20%;bottom:-20%;left:-45%;width:32%;background:linear-gradient(100deg,rgba(255,240,210,0),rgba(255,240,210,.16),rgba(255,240,210,0));transform:skewX(-12deg);pointer-events:none;animation:nasweep 3s ease-in-out 1.2s both}
@keyframes nasweep{from{left:-45%}to{left:125%}}
@media (prefers-reduced-motion:reduce){.hero .shade{animation:none}.hero .shade::after{display:none}}
html body .oboxes:not(:has(.obox.corp)) .svcgs.nxgs{display:block!important}
/* v117 keep sideways scrolling blocked without stopping sticky elements: clip instead of hidden where the browser supports it */
@supports (overflow-x:clip){html,body{overflow-x:clip!important;overflow-y:visible!important}}
.nxgbar{box-shadow:0 -12px 0 #0F0F10}
/* v118 banner order, as chosen by Av: B soft focus reveal, then A slow zoom, then C light sweep */
.hero .media{scale:1;animation:nazoom 18s ease-out 2.4s both}
.hero.full .media{animation:drift 40s ease-in-out infinite alternate,nazoom 18s ease-out 2.4s both}
.hero.full.hhome .media{animation:driftm 40s ease-in-out infinite alternate,nazoom 18s ease-out 2.4s both}
@keyframes nazoom{from{scale:1}to{scale:1.1}}
.hero .shade::after{animation-delay:3.2s!important}
@media (prefers-reduced-motion:reduce){.hero .media,.hero.full .media,.hero.full.hhome .media{animation:none!important;scale:1}}
/* preview only: contrast sections */
html body:not(#nx) section.band.nx-ivory{position:relative;background:#F4F2EC;padding:96px 0 72px!important;margin-top:24px}
html body:not(#nx) section.band.nx-ivory::before{content:"";position:absolute;left:0;right:0;top:-1px;height:56px;background:#0A0A0B;border-bottom-left-radius:100% 100%}
html body:not(#nx) .nx-ivory .panel,html body:not(#nx) .nx-ivory .nacard{background:transparent!important;border:0!important;box-shadow:none!important;position:relative}
html body:not(#nx) .nx-ivory .nx-ridge{position:absolute;right:0;top:-10px;width:240px;height:auto}
html body:not(#nx) .nx-ivory h2,html body:not(#nx) .nx-ivory h3,html body:not(#nx) .nx-ivory .statement,html body:not(#nx) .nx-ivory .stand{color:#141414!important}
html body:not(#nx) .nx-ivory h2{color:#141414!important}
html body:not(#nx) .nx-ivory p,html body:not(#nx) .nx-ivory li,html body:not(#nx) .nx-ivory .supporting,html body:not(#nx) .nx-ivory .mintro,html body:not(#nx) .nx-ivory .oline{color:#3A3A3A!important}
html body:not(#nx) .nx-ivory .hsn,html body:not(#nx) .nx-ivory .ostage,html body:not(#nx) .nx-ivory .olab,html body:not(#nx) .nx-ivory .halt .hsl,html body:not(#nx) .nx-ivory .sg-c{color:#8A6B2E!important;border-color:#8A6B2E!important}
html body:not(#nx) .nx-ivory a{color:#141414!important}
html body:not(#nx) .nx-ivory details.svcg,html body:not(#nx) .nx-ivory .svcg summary{background:#FFFFFF!important;border-color:#D9D4C7!important;color:#141414!important}
html body:not(#nx) .nx-ivory .sg-t{color:#141414!important}
html body:not(#nx) .nx-ivory .hstep,html body:not(#nx) .nx-ivory .pcol{background:transparent}
html body:not(#nx) section.band.nx-figure{background:#0A0A0B;padding:72px 0!important;border-top:1px solid rgba(198,160,90,.25);border-bottom:1px solid rgba(198,160,90,.25)}
.nx-fig{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;max-width:1000px}
.nx-n{font-size:88px;font-weight:600;color:#C6A05A;line-height:1;letter-spacing:-.03em;white-space:nowrap}
html body:not(#nx) .nx-fig p.nx-t{font-size:21px!important;line-height:1.5!important;color:#ECEAE5!important;margin:0 0 10px!important}
html body:not(#nx) .nx-fig p.nx-s{font-size:13px!important;color:#9A9893!important;margin:0!important}
html body:not(#nx) section.band.cta-band{background:#C6A05A;padding:56px 0!important}
html body:not(#nx) .cta-band .cta-panel{background:transparent!important;border:0!important;box-shadow:none!important;display:flex;justify-content:center}
html body:not(#nx) .cta-band .pill{background:#141414!important;color:#F4F3EF!important;border-color:#141414!important}
@media (max-width:900px){.nx-fig{grid-template-columns:1fr;gap:12px}.nx-n{font-size:60px}html body:not(#nx) .nx-ivory .nx-ridge{width:150px;top:-40px;opacity:.6}}
html body:not(#nx) .nx-ivory .nx-ridge{width:200px;top:-58px}
html body:not(#nx) .nx-ivory .statement,html body:not(#nx) .nx-ivory .stand{max-width:780px!important}
html body:not(#nx) .nx-ivory .nx-ridge{top:-34px}

html body:not(#nx) .nx-ivory .nx-stage{width:190px;top:-30px}
section.band.nx-figure,section.band.nx-topo-band{position:relative;overflow:hidden}
.nx-topo{position:absolute;inset:0;width:100%;height:100%;opacity:.16;pointer-events:none}
section.band.nx-figure .wrap,section.band.nx-topo-band .wrap{position:relative}
html body:not(#nx) section.band.nx-route{background:#0A0A0B;padding:70px 0 60px!important}
html body:not(#nx) .nx-route p.nx-rl{color:#C6A05A!important;font-size:15px!important;letter-spacing:.04em;margin:0 0 14px!important}
.nx-route svg{width:100%;height:auto;display:block}
.nx-route .nx-mtn{fill:none;stroke:#F4F3EF;stroke-width:1.4;opacity:.55;stroke-linejoin:round}
.nx-route .nx-path{fill:none;stroke:#C6A05A;stroke-width:2;stroke-dasharray:6 6;stroke-linecap:round}
.nx-route .nx-camp{fill:#C6A05A;transition:r .2s}
.nx-route a:hover .nx-camp{r:9}
.nx-route text{fill:#F4F3EF;font:500 15px Geist,Arial,sans-serif}
.nx-route .nx-sn{fill:#C6A05A;font-weight:600}
.nx-route a:hover text{fill:#C6A05A}
@media (max-width:700px){.nx-route text{font-size:22px}}

/* ivory treatment for the open owner groups and their bar */
html body:not(#nx) .nx-ivory .nxgbar{background:#F4F2EC;box-shadow:0 -12px 0 #F4F2EC;border-bottom-color:#DDD7C9}
html body:not(#nx) .nx-ivory .nxgbar a{color:#7A7873!important}
html body:not(#nx) .nx-ivory .nxgbar a.on,html body:not(#nx) .nx-ivory .nxgbar a:hover{color:#8A6B2E!important;border-bottom-color:#C6A05A}
html body:not(#nx) .nx-ivory .svcg.nxg{background:#FFFFFF!important;border-color:#DDD7C9!important;border-left-color:rgba(198,160,90,.4)!important}
html body:not(#nx) .nx-ivory .svcg.nxg.on{background:#FBF7EC!important;border-color:#C6A05A!important;border-left-color:#C6A05A!important}
html body:not(#nx) .nx-ivory .svcg.nxg h4.sg-t{color:#141414!important}
html body:not(#nx) .nx-ivory .svcg.nxg .sg-n{color:rgba(138,107,46,.45)}
html body:not(#nx) .nx-ivory .svcg.nxg.on .sg-n{color:#8A6B2E}
html body:not(#nx) .nx-ivory .osvc li{border-top-color:#EFEBE2!important;color:#3A3A3A!important}
/* preview: curved dividers at every change of colour */
html body:not(#nx) section.band.nx-ivory{padding-bottom:110px!important}
html body:not(#nx) section.band.nx-ivory::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:56px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) section.band.nx-figure{border-top:0!important;border-bottom:0!important}
html body:not(#nx) section.band.cta-band{position:relative;padding-top:96px!important}
html body:not(#nx) section.band.cta-band::before{content:"";position:absolute;left:0;right:0;top:-1px;height:48px;background:#0A0A0B;border-bottom-left-radius:100% 100%;pointer-events:none}
html body:not(#nx) section.band.cta-band{padding-bottom:96px!important}
html body:not(#nx) section.band.cta-band::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:48px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) section.band.cta-band .wrap{position:relative;z-index:1}
/* preview: replace the moving light band with a soft sunlight glow that builds from the top corner */
.hero .shade::after{left:0!important;right:0;top:0!important;bottom:0!important;width:auto!important;transform:none!important;
  background:radial-gradient(ellipse 70% 90% at 82% 0%,rgba(255,232,190,.42),rgba(255,232,190,.12) 40%,rgba(255,232,190,0) 70%)!important;
  mix-blend-mode:soft-light;opacity:0;animation:nasun 7s ease-out 2.8s forwards!important}
@keyframes nasun{0%{opacity:0;background-position:0 -20px}60%{opacity:1}100%{opacity:.85;background-position:0 0}}
@media (prefers-reduced-motion:reduce){.hero .shade::after{display:none}}
html body main .svcg.nxg > .osvc li:nth-child(-n+2){border-top:0!important}
/* preview: stage tabs for the owner groups */
.svcgs.nxtabs{scroll-margin-top:90px}
.nxt-bar{display:grid;grid-template-columns:repeat(var(--nx-n,4),minmax(0,1fr));gap:6px;margin:8px 0 0}
.nxt-tab{position:relative;text-align:left;font:inherit;cursor:pointer;padding:12px 14px;border:1px solid #DDD7C9;background:#FFFFFF;color:#3A3A3A;border-radius:0;transition:background .3s,border-color .3s,color .3s}
.nxt-tab .nxt-n{display:block;font-size:11px;letter-spacing:.12em;font-weight:600;color:#8A6B2E;margin-bottom:4px}
.nxt-tab .nxt-l{display:block;font-size:14px;font-weight:600;line-height:1.3;color:#141414}
.nxt-tab:hover{border-color:#C6A05A}
.nxt-tab.on{background:#141414;border-color:#141414}
.nxt-tab.on .nxt-n{color:#C6A05A}
.nxt-tab.on .nxt-l{color:#F4F3EF}
.nxt-tab.done .nxt-n:after{content:"  \2713";color:#C6A05A}
.nxt-tab.next{border-color:#C6A05A}
.nxt-tab.next:after{content:"Next";position:absolute;top:10px;right:12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8A6B2E;font-weight:600}
.nxt-tab.flash{animation:nxtflash .9s ease}
@keyframes nxtflash{0%{box-shadow:0 0 0 0 rgba(198,160,90,.9)}100%{box-shadow:0 0 0 12px rgba(198,160,90,0)}}
.nxt-prog{height:3px;background:#E3DED2;margin:6px 0 14px;position:relative}
.nxt-prog i{position:absolute;left:0;top:0;bottom:0;width:25%;background:#C6A05A;transition:width .5s ease}
.svcgs.nxtabs .svcg.nxg{margin-top:0}
.svcgs.nxtabs .svcg.nxg[hidden]{display:none!important}
.nxt-foot{display:flex;justify-content:space-between;align-items:center;margin:14px 0 0;gap:10px;flex-wrap:wrap}
.nxt-foot button{font:inherit;cursor:pointer;border-radius:0}
.nxt-prev{background:none;border:0;color:#7A7873;font-size:14px;padding:0}
.nxt-next{background:#141414;border:1px solid #141414;color:#F4F3EF;font-size:14px;padding:12px 18px}
.nxt-next:hover{background:#C6A05A;border-color:#C6A05A;color:#141414}
@media (max-width:900px){.nxt-bar{grid-template-columns:1fr 1fr}.nxt-tab.next:after{display:none}}
@media (prefers-reduced-motion:reduce){.nxt-tab,.nxt-prog i{transition:none}.nxt-tab.flash{animation:none}}
/* preview: icon tiles */
html body main .svcg.nxg > .osvc.nxtiles{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px!important;padding:4px 0 0!important}
html body main .osvc.nxtiles li{position:relative;padding:16px 14px 18px!important;background:#FFFFFF;border:1px solid #DDD7C9!important;border-top:3px solid #C6A05A!important;font-size:14px!important;line-height:1.5;color:#3A3A3A!important;animation:nxtile .5s ease both;animation-delay:var(--d,0s)}
html body main .osvc.nxtiles li::before{display:none!important}
.osvc.nxtiles .nxi{display:block;margin:0 0 10px;line-height:0}
@keyframes nxtile{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.svcg.nxg[hidden] .osvc.nxtiles li{animation:none}
@media (prefers-reduced-motion:reduce){html body main .osvc.nxtiles li{animation:none}}
@media (max-width:600px){html body main .svcg.nxg > .osvc.nxtiles{grid-template-columns:1fr 1fr}}
html body:not(#nx) .nx-ivory .osvc.nxtiles li,html body main .svcg.nxg > .osvc.nxtiles li:nth-child(-n+2){border-top:3px solid #C6A05A!important;border-color:#DDD7C9 #DDD7C9 #DDD7C9 #DDD7C9;border-top-color:#C6A05A!important}
/* preview: arrow centred over the current stage */
html body .stepnav a.step .hint,html body .stepnav a.step.on .hint{left:50%!important;margin-left:0!important;translate:-50% 0}
/* preview: the in-page stage tabs use the same look as the 8-stage bar */
html body main .nxt-bar{gap:0 10px;margin-top:34px}
html body main .nxt-tab{position:relative;background:transparent;border:0;border-top:2px solid #CFC8B8;padding:12px 8px 12px;text-align:left;transition:background .3s,border-color .3s;box-shadow:none}
html body main .nxt-tab:hover{border-top-color:#C6A05A;background:rgba(198,160,90,.08)}
html body main .nxt-tab .nxt-n{font-size:11px;letter-spacing:.12em;color:#8A6B2E;margin:0 0 6px}
html body main .nxt-tab .nxt-l{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#141414;padding:3px 0;line-height:1.35}
html body main .nxt-tab.on{background:rgba(198,160,90,.14);border-top-color:#C6A05A}
html body main .nxt-tab.on .nxt-l{background:#C6A05A;color:#141414;padding:3px 10px}
html body main .nxt-tab.on .nxt-n{color:#8A6B2E}
html body main .nxt-tab .nxt-arrow{display:none}
html body main .nxt-tab.on .nxt-arrow{display:block;position:absolute;left:50%;translate:-50% 0;top:-32px;font-size:22px;line-height:1;color:#C6A05A;animation:nxtbob 1.6s ease-in-out infinite}
@keyframes nxtbob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
html body main .nxt-tab.next::after{content:""!important;position:absolute;left:0;right:0;top:-2px;bottom:0;border-top:2px solid #C6A05A;background:linear-gradient(to bottom,rgba(198,160,90,.4),rgba(198,160,90,.08));pointer-events:none;animation:stageflash 2s ease-in-out infinite;z-index:0}
html body main .nxt-tab > span{position:relative;z-index:1}
html body main .nxt-tab.done .nxt-n:after{content:"  \2713";color:#C6A05A}
html body main .nxt-tab.flash{animation:none}
html body main .nxt-prog{display:none}
@media (prefers-reduced-motion:reduce){html body main .nxt-tab.on .nxt-arrow,html body main .nxt-tab.next::after{animation:none}}
/* preview: the home logo draws itself in gold lines, then fills */
.stmark .pt{transform:none!important;opacity:0;transition:opacity 1.1s ease 1.7s!important}
.stmark .pt.on{opacity:1}
.stmark .nxo .o{fill:none;stroke:#C6A05A;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s ease,opacity .9s ease 2.6s}
.stmark:has(.pt.on) .nxo .o{stroke-dashoffset:0;opacity:0}
@media (prefers-reduced-motion:reduce){.stmark .pt{opacity:1;transition:none!important}.stmark .nxo{display:none}}
/* preview: colour scheme A, ivory, navy and gold only */
html body.nxs-A:not(#nx) main .nxt-tab.on{background:transparent!important;border-top-color:#141414!important}
html body.nxs-A:not(#nx) main .nxt-tab.on .nxt-l{background:#141414!important;color:#F4F2EC!important}
html body.nxs-A:not(#nx) main .nxt-tab.on .nxt-arrow{color:#8A6B2E!important}
html body.nxs-A:not(#nx) main .nx-ivory .svcg.nxg,html body.nxs-A:not(#nx) main .nx-ivory .svcg.nxg.on{background:transparent!important;border:0!important;border-top:1px solid #D8D1C1!important}
html body.nxs-A:not(#nx) main .osvc.nxtiles li,html body.nxs-A:not(#nx) main .nx-ivory .osvc.nxtiles li{background:transparent!important;border:0!important;border-top:2px solid #C6A05A!important;padding:14px 4px 10px!important}
/* preview: colour scheme B, navy panel on ivory */
html body.nxs-B:not(#nx) main .nxt-tab.on{background:#141414!important;border-top-color:#C6A05A!important}
html body.nxs-B:not(#nx) main .nxt-tab.on .nxt-n{color:#C6A05A!important}
html body.nxs-B:not(#nx) main .nx-ivory .svcg.nxg,html body.nxs-B:not(#nx) main .nx-ivory .svcg.nxg.on{background:#141414!important;border:0!important}
html body.nxs-B:not(#nx) main .nx-ivory .svcg.nxg h4.sg-t{color:#F4F3EF!important}
html body.nxs-B:not(#nx) main .nx-ivory .svcg.nxg .sg-n{color:#C6A05A!important}
html body.nxs-B:not(#nx) main .osvc.nxtiles li,html body.nxs-B:not(#nx) main .nx-ivory .osvc.nxtiles li{background:rgba(244,243,239,.05)!important;border:0!important;border-top:2px solid #C6A05A!important;color:#C9C7C2!important}
html body.nxs-B:not(#nx) main .osvc.nxtiles .nxi svg{stroke:#F4F3EF}
/* preview: colour scheme C, the whole owner block in navy */
html body.nxs-C:not(#nx) main .nx-ivory .oboxes{background:#141414;padding:28px 26px 26px;margin-left:-26px;margin-right:-26px}
html body.nxs-C:not(#nx) main .nx-ivory .oboxes h3.olab{color:#C6A05A!important}
html body.nxs-C:not(#nx) main .nx-ivory .oboxes p,html body.nxs-C:not(#nx) main .nx-ivory .oboxes .oline{color:#C9C7C2!important}
html body.nxs-C:not(#nx) main .nxt-tab{border-top-color:rgba(244,243,239,.18)!important}
html body.nxs-C:not(#nx) main .nxt-tab .nxt-l{color:#F4F3EF!important}
html body.nxs-C:not(#nx) main .nxt-tab.on{background:rgba(198,160,90,.14)!important;border-top-color:#C6A05A!important}
html body.nxs-C:not(#nx) main .nxt-tab.on .nxt-l{color:#141414!important}
html body.nxs-C:not(#nx) main .nx-ivory .svcg.nxg,html body.nxs-C:not(#nx) main .nx-ivory .svcg.nxg.on{background:transparent!important;border:0!important}
html body.nxs-C:not(#nx) main .nx-ivory .svcg.nxg h4.sg-t{color:#F4F3EF!important}
html body.nxs-C:not(#nx) main .nx-ivory .svcg.nxg .sg-n{color:#C6A05A!important}
html body.nxs-C:not(#nx) main .osvc.nxtiles li,html body.nxs-C:not(#nx) main .nx-ivory .osvc.nxtiles li{background:rgba(244,243,239,.04)!important;border:0!important;border-top:2px solid #C6A05A!important;color:#C9C7C2!important}
html body.nxs-C:not(#nx) main .osvc.nxtiles .nxi svg{stroke:#F4F3EF}
html body.nxs-C:not(#nx) main .nxt-prev{color:#9A9893!important}

/* preview: faint contour circles behind the dark sections to break the pages up */
html body:not(#nx) main section.band:not(.nx-ivory):not(.cta-band):not(.nx-figure):not(.first){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20600%20360%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23C6A05A%22%20stroke-width%3D%22.9%22%20opacity%3D%22.2%22%3E%3Cpath%20d%3D%22M380%20180c0-60%2090-90%20140-55s80%20110%2020%20140-160%2015-160-85z%22/%3E%3Cpath%20d%3D%22M405%20180c0-42%2065-65%20105-42s60%2080%2018%20102-123%2012-123-60z%22/%3E%3Cpath%20d%3D%22M430%20180c2-26%2040-38%2068-24s42%2052%2014%2064-80%208-82-40z%22/%3E%3Cpath%20d%3D%22M455%20180c3-12%2019-18%2033-10s20%2026%206%2030-38%202-39-20z%22/%3E%3Cpath%20d%3D%22M330%20180c-10-110%20150-140%20230-80s90%20230-10%20245-210%200-220-165z%22/%3E%3Cpath%20d%3D%22M290%20182c-25-150%20210-200%20300-110%22/%3E%3Cpath%20d%3D%22M40%20350c60-60%20150-55%20210%200%22/%3E%3Cpath%20d%3D%22M10%20360c80-90%20230-85%20300%200%22/%3E%3Cpath%20d%3D%22M80%20350c40-36%20100-34%20140%200%22/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:min(1100px,90vw) auto;background-position:right -120px top 20px}
html body:not(#nx) main section.band:not(.nx-ivory):not(.cta-band):not(.nx-figure):not(.first):nth-of-type(even){background-position:left -160px bottom 0}
html body.nxs-C:not(#nx) main .nx-ivory .oboxes{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20600%20360%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23C6A05A%22%20stroke-width%3D%22.9%22%20opacity%3D%22.2%22%3E%3Cpath%20d%3D%22M380%20180c0-60%2090-90%20140-55s80%20110%2020%20140-160%2015-160-85z%22/%3E%3Cpath%20d%3D%22M405%20180c0-42%2065-65%20105-42s60%2080%2018%20102-123%2012-123-60z%22/%3E%3Cpath%20d%3D%22M430%20180c2-26%2040-38%2068-24s42%2052%2014%2064-80%208-82-40z%22/%3E%3Cpath%20d%3D%22M455%20180c3-12%2019-18%2033-10s20%2026%206%2030-38%202-39-20z%22/%3E%3Cpath%20d%3D%22M330%20180c-10-110%20150-140%20230-80s90%20230-10%20245-210%200-220-165z%22/%3E%3Cpath%20d%3D%22M290%20182c-25-150%20210-200%20300-110%22/%3E%3Cpath%20d%3D%22M40%20350c60-60%20150-55%20210%200%22/%3E%3Cpath%20d%3D%22M10%20360c80-90%20230-85%20300%200%22/%3E%3Cpath%20d%3D%22M80%20350c40-36%20100-34%20140%200%22/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-size:900px auto;background-position:right -200px bottom -60px}
/* preview: no ivory, the former ivory sections become a lighter navy band with the same curves */
html body:not(#nx) section.band.nx-deep{position:relative;background:#141414;padding:96px 0 110px!important;margin-top:24px}
html body:not(#nx) section.band.nx-deep::before{content:"";position:absolute;left:0;right:0;top:-1px;height:56px;background:#0A0A0B;border-bottom-left-radius:100% 100%;pointer-events:none}
html body:not(#nx) section.band.nx-deep::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:56px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) .nx-deep .panel,html body:not(#nx) .nx-deep .nacard{background:transparent!important;border:0!important;box-shadow:none!important;position:relative}
html body:not(#nx) .nx-deep .nx-ridge{position:absolute;right:0;top:-34px;width:200px;height:auto}
html body:not(#nx) .nx-deep .nx-stage{width:190px;top:-30px}
html body:not(#nx) .nx-deep .nx-ridge [stroke="#141414"]{stroke:#F4F3EF}
html body:not(#nx) .nx-deep .nx-ridge [fill="#141414"]{fill:#F4F3EF}
html body:not(#nx) .nx-deep .statement,html body:not(#nx) .nx-deep .stand{max-width:780px!important}
/* owner tabs and tiles in navy and gold */
html body:not(#nx) main .nx-deep .nxt-tab{border-top-color:rgba(244,243,239,.18)}
html body:not(#nx) main .nx-deep .nxt-tab .nxt-n{color:#9A9893}
html body:not(#nx) main .nx-deep .nxt-tab .nxt-l{color:#F4F3EF}
html body:not(#nx) main .nx-deep .nxt-tab:hover{background:rgba(198,160,90,.08);border-top-color:#C6A05A}
html body:not(#nx) main .nx-deep .nxt-tab.on{background:rgba(198,160,90,.14);border-top-color:#C6A05A}
html body:not(#nx) main .nx-deep .nxt-tab.on .nxt-n{color:#C6A05A}
html body:not(#nx) main .nx-deep .nxt-tab.on .nxt-l{background:#C6A05A;color:#141414}
html body:not(#nx) main .nx-deep .nxt-tab.on .nxt-arrow{color:#C6A05A}
html body:not(#nx) main .nx-deep .svcg.nxg,html body:not(#nx) main .nx-deep .svcg.nxg.on{background:transparent!important;border:0!important}
html body:not(#nx) main .nx-deep .svcg.nxg h4.sg-t{color:#F4F3EF!important}
html body:not(#nx) main .nx-deep .svcg.nxg .sg-n{color:#C6A05A!important}
html body:not(#nx) main .nx-deep .osvc.nxtiles li{background:rgba(244,243,239,.04)!important;border:0!important;border-top:2px solid #C6A05A!important;color:#C9C7C2!important}
html body:not(#nx) main .nx-deep .osvc.nxtiles .nxi svg{stroke:#F4F3EF}
html body:not(#nx) main .nx-deep .nxt-prev{color:#9A9893}
html body:not(#nx) main .nx-deep .nxt-next{background:#C6A05A;border-color:#C6A05A;color:#141414}
html body:not(#nx) main .nx-deep .nxt-next:hover{background:#F4F3EF;border-color:#F4F3EF}
html body:not(#nx) main .nx-deep .oboxes{background-image:none}

/* preview: black and gold only, no outlines round the boxes */
:root{--ink:#0A0A0B}
html body:not(#nx) main .nacard,html body:not(#nx) main .panel,html body:not(#nx) main .card,html body:not(#nx) main .cardwrap,html body:not(#nx) main .obox,html body:not(#nx) main .svcg,html body:not(#nx) main .item{border:0!important;box-shadow:none!important;outline:0!important}
html body:not(#nx) main .nacard,html body:not(#nx) main .panel{background:transparent!important}
html body:not(#nx) section.band.nx-deep{background:#141414}
/* preview: one gold wave band per page, in a different place on each page */
html body:not(#nx) main section.band.nx-gold{position:relative;background:#C6A05A!important;background-image:none!important;padding:110px 0 110px!important;margin:0}
html body:not(#nx) main section.band.nx-gold::before{content:""!important;position:absolute;left:0;right:0;top:-1px;height:56px;background:#0A0A0B;border-radius:0;border-bottom-left-radius:100% 100%;pointer-events:none;display:block}
html body:not(#nx) main section.band.nx-gold::after{content:""!important;position:absolute;left:0;right:0;bottom:-1px;height:56px;background:#0A0A0B;border-radius:0;border-top-right-radius:100% 100%;pointer-events:none;display:block}
html body:not(#nx) main section.band.nx-gold .wrap{position:relative;z-index:1}
html body:not(#nx) main .nx-gold *{color:#141414!important;border-color:rgba(20,20,20,.28)!important;background-color:transparent!important;text-shadow:none!important}
html body:not(#nx) main .nx-gold .nx-topo{display:none}
html body:not(#nx) main .nx-gold svg [stroke]:not([stroke="none"]){stroke:#141414!important}
html body:not(#nx) main .nx-gold svg [fill="#C6A05A"],html body:not(#nx) main .nx-gold svg [fill="#F4F7FB"]{fill:#141414!important}
html body:not(#nx) main .nx-gold .pill,html body:not(#nx) main .nx-gold .nxt-next,html body:not(#nx) main .nx-gold a.btn{background-color:#141414!important;color:#F4F3EF!important;border-color:#141414!important}
html body:not(#nx) main .nx-gold .pill *,html body:not(#nx) main .nx-gold .nxt-next *{color:#F4F3EF!important}
html body:not(#nx) main .nx-gold .nxt-tab.on .nxt-l{background-color:#141414!important;color:#C6A05A!important}
html body:not(#nx) main .nx-gold .osvc li::before{border-color:#141414!important}
/* the bottom call to action band turns black with a gold button, so each page has one gold band */
html body:not(#nx) main section.band.cta-band{background:#0A0A0B!important}
html body:not(#nx) main section.band.cta-band::before,html body:not(#nx) main section.band.cta-band::after{display:none}
html body:not(#nx) main .cta-band .pill{background:#C6A05A!important;color:#141414!important;border-color:#C6A05A!important}
html body:not(#nx) main .cta-band .pill *{color:#141414!important}
/* preview: slim gold band for the call to action, placed differently on each page */
html body:not(#nx) main section.band.nx-goldslim{position:relative;background:#C6A05A!important;background-image:none!important;padding:74px 0!important;margin:0}
html body:not(#nx) main section.band.nx-goldslim::before{content:""!important;display:block;position:absolute;left:0;right:0;top:-1px;height:40px;background:#0A0A0B;border-bottom-left-radius:100% 100%;pointer-events:none}
html body:not(#nx) main section.band.nx-goldslim::after{content:""!important;display:block;position:absolute;left:0;right:0;bottom:-1px;height:40px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) main .nx-goldslim .wrap{position:relative;z-index:1}
html body:not(#nx) main .nx-goldslim .cta-panel,html body:not(#nx) main .nx-slim{display:flex;justify-content:center;background:transparent!important;border:0!important}
html body:not(#nx) main .nx-goldslim .pill{background:#141414!important;color:#F4F3EF!important;border-color:#141414!important}
html body:not(#nx) main .nx-goldslim .pill *{color:#F4F3EF!important}
/* preview: slim ivory band for the evidence figures on the stage pages */
html body:not(#nx) main section.band.nx-figure.nx-ivoryslim{background:#F4F2EC!important;padding:76px 0!important}
html body:not(#nx) main section.band.nx-ivoryslim::before{content:"";position:absolute;left:0;right:0;top:-1px;height:40px;background:#0A0A0B;border-bottom-left-radius:100% 100%;pointer-events:none}
html body:not(#nx) main section.band.nx-ivoryslim::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:40px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) main .nx-ivoryslim .nx-topo{display:none}
html body:not(#nx) main .nx-ivoryslim .nx-n{color:#8A6B2E}
html body:not(#nx) main .nx-ivoryslim .nx-fig p.nx-t{color:#141414!important}
html body:not(#nx) main .nx-ivoryslim .nx-fig p.nx-s,html body:not(#nx) main .nx-ivoryslim .nx-fig p.nx-s *{color:#5A5852!important}
html body:not(#nx) main .nx-ivoryslim .wrap{position:relative;z-index:1}
/* preview: solid black menu bar with a thin gold line, so nothing shows through */
html body:not(#nx) header,html body:not(#nx) .site-header,html body:not(#nx) header.nav{background:#0A0A0B!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-bottom:1px solid rgba(198,160,90,.45)!important}
/* preview: clearer contrast for the lighter band and its waves, and cream and gold drawings */
html body:not(#nx) section.band.nx-deep{background:#1E1E20!important}
html body:not(#nx) section.band.nx-deep::before{box-shadow:0 1px 0 rgba(198,160,90,.55)}
html body:not(#nx) section.band.nx-deep::after{box-shadow:0 -1px 0 rgba(198,160,90,.55)}
html body:not(#nx) main .nx-ridge [stroke="#0B1A30"],html body:not(#nx) main .nx-ridge g[stroke="#0B1A30"],html body:not(#nx) main .nx-ridge g[stroke="#0B1A30"] path{stroke:#F4F3EF!important}
html body:not(#nx) main .nx-ridge [fill="#0B1A30"]{fill:#F4F3EF!important}
html body:not(#nx) main .nx-ridge{opacity:1}
html body:not(#nx) main .nx-deep .osvc.nxtiles li{background:rgba(244,243,239,.06)!important}
/* preview: no gold line along the waves */
html body:not(#nx) section.band.nx-deep::before,html body:not(#nx) section.band.nx-deep::after{box-shadow:none!important}

/* preview: contour lines used sparingly, one section per page, hairline thin */
html body:not(#nx) main section.band:not(.nx-contour){background-image:none!important}
html body:not(#nx) main .nx-deep .oboxes{background-image:none!important}
html body:not(#nx) main .nx-topo{display:none!important}
html body:not(#nx) main section.band.nx-contour{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20600%20360%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23C6A05A%22%20stroke-width%3D%22.45%22%20opacity%3D%22.35%22%3E%3Cpath%20d%3D%22M380%20180c0-60%2090-90%20140-55s80%20110%2020%20140-160%2015-160-85z%22/%3E%3Cpath%20d%3D%22M405%20180c0-42%2065-65%20105-42s60%2080%2018%20102-123%2012-123-60z%22/%3E%3Cpath%20d%3D%22M430%20180c2-26%2040-38%2068-24s42%2052%2014%2064-80%208-82-40z%22/%3E%3Cpath%20d%3D%22M455%20180c3-12%2019-18%2033-10s20%2026%206%2030-38%202-39-20z%22/%3E%3Cpath%20d%3D%22M330%20180c-10-110%20150-140%20230-80s90%20230-10%20245-210%200-220-165z%22/%3E%3C/g%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-size:min(900px,80vw) auto!important;background-position:right -140px center!important}
/* preview: the home logo draws itself and stays as a line drawing, name included */
.stmark .pt{opacity:0!important}
.stmark .nxo .o{stroke-width:.9;opacity:1!important;transition:stroke-dashoffset 2.2s ease!important}
.stmark:has(.pt.on) .nxo .o{stroke-dashoffset:0;opacity:1!important}
.stair .stn1{color:transparent!important;-webkit-text-stroke:.8px #F4F3EF;text-shadow:none!important;clip-path:inset(0 100% 0 0);transition:clip-path 1.6s ease,opacity .2s!important}
.stair .stn2{color:transparent!important;-webkit-text-stroke:.6px #C6A05A;clip-path:inset(0 100% 0 0);transition:clip-path 1.4s ease .3s,opacity .2s!important}
.stair .stn1.on,.stair .stn2.on{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.stmark .nxo .o{stroke-dashoffset:0}.stair .stn1,.stair .stn2{clip-path:none}}
/* preview: name back to solid lettering, the mark stays as a line drawing */
.stair .stn1{color:#F4F3EF!important;-webkit-text-stroke:0!important;clip-path:none!important}
.stair .stn2{color:#C6A05A!important;-webkit-text-stroke:0!important;clip-path:none!important}
/* preview: each stage drawing sits on the right of its banner picture */
.hero .nx-herodraw{position:absolute;right:max(40px,6vw);top:50%;transform:translateY(-58%);width:min(340px,28vw);height:auto;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 10px rgba(0,0,0,.55));opacity:0;animation:nxdraw 1.2s ease 2.6s forwards}
@keyframes nxdraw{to{opacity:1}}
.hero .nx-herodraw path,.hero .nx-herodraw rect,.hero .nx-herodraw circle{stroke-width:1.1}
@media (max-width:900px){.hero .nx-herodraw{width:160px;right:18px;top:96px;transform:none}}
@media (prefers-reduced-motion:reduce){.hero .nx-herodraw{animation:none;opacity:1}}
html body:not(#nx) .nx-deep .nx-homedraw{width:200px;top:-34px}
.hero .nx-herodraw [stroke="#C6A05A"]{stroke-width:1.8!important}
.hero .nx-herodraw{filter:drop-shadow(0 0 6px rgba(0,0,0,.85)) drop-shadow(0 2px 14px rgba(0,0,0,.6))}
/* preview: banner drawings draw themselves on, line by line */
.hero .nx-herodraw{opacity:1!important;animation:none!important}
.hero .nx-herodraw [pathLength]{stroke-dasharray:1;stroke-dashoffset:1;animation:nxline 2.4s ease 2.6s forwards}
.hero .nx-herodraw [pathLength]:nth-child(2){animation-delay:3.4s}
.hero .nx-herodraw [pathLength]:nth-child(3){animation-delay:3.8s}
.hero .nx-herodraw [pathLength]:nth-child(n+4){animation-delay:4.1s}
.hero .nx-herodraw g[fill="#C6A05A"] rect,.hero .nx-herodraw rect[fill]{opacity:0;animation:nxpix .4s ease forwards}
.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(1){animation-delay:3.4s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(2){animation-delay:3.55s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(3){animation-delay:3.7s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(4){animation-delay:3.85s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(5){animation-delay:4s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(6){animation-delay:4.15s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(7){animation-delay:4.3s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(8){animation-delay:4.45s}.hero .nx-herodraw g[fill="#C6A05A"] rect:nth-child(9){animation-delay:4.6s}
.hero .nx-herodraw g [pathLength]{animation-delay:3.6s}
@keyframes nxline{to{stroke-dashoffset:0}}
@keyframes nxpix{to{opacity:1}}
/* home: the flag drawing in place of the logo mark */
.stmark .nxflag .o{stroke-width:1.4}
@media (prefers-reduced-motion:reduce){.hero .nx-herodraw [pathLength]{stroke-dashoffset:0;animation:none}.hero .nx-herodraw rect{opacity:1;animation:none}}
/* preview: home banner without the name, the summit drawing larger and the gold line from Scale running into its foot */
.stair .stn1,.stair .stn2{display:none!important}
.stair .stlogo .stmark{width:clamp(200px,20vw,300px)!important;height:auto!important}
.stair .stlogo{width:auto!important}
/* preview: type fixes so every kind of text matches the agreed scale */
html body:not(.notice):not(#na-scale):not(#nx) main .estep p,html body:not(.notice):not(#na-scale):not(#nx) main p.eflow-s{font-size:17px!important;line-height:1.6!important}
html body:not(.notice):not(#na-scale):not(#nx) main .nx-fig p.nx-t{font-size:22px!important;line-height:1.5!important}
html body:not(.notice):not(#na-scale):not(#nx) main .svcg.nxg h4.sg-t{font-size:19px!important}
html body:not(.notice):not(#na-scale):not(#nx) main .subhead,html body:not(.notice):not(#na-scale):not(#nx) main .nacard.assert h2,html body:not(.notice):not(#na-scale):not(#nx) main .eflow-h,html body:not(.notice):not(#na-scale):not(#nx) main .estep .st,html body:not(.notice):not(#na-scale):not(#nx) main .ostage{font-size:12px!important}
@media (max-width:900px){
 html body:not(.notice):not(#na-scale):not(#nx) main .estep p,html body:not(.notice):not(#na-scale):not(#nx) main p.eflow-s{font-size:16px!important}
 html body:not(.notice):not(#na-scale):not(#nx) main .nx-fig p.nx-t{font-size:19px!important}
 html body:not(.notice):not(#na-scale):not(#nx) main .svcg.nxg h4.sg-t{font-size:18px!important}}
/* preview: name back under the summit drawing, drawing at its original height */
.stair .stn1,.stair .stn2{display:block!important}
.stair .stlogo .stmark{width:auto!important;height:auto!important}
.stmark{overflow:visible}
/* preview: no outer boxes or side lines round blocks, only the small number badges and tags keep a frame */
html body:not(#nx) main .halt,html body:not(#nx) main .crosslab,html body:not(#nx) main .evline,html body:not(#nx) main .founders,html body:not(#nx) main .principle-grid,html body:not(#nx) main .proofgrid,html body:not(#nx) main .routegrid,html body:not(#nx) main .sectorgrid,html body:not(#nx) main .sourcegrid,html body:not(#nx) main .mwopen,html body:not(#nx) main blockquote{border:0!important;box-shadow:none!important;outline:0!important}
html body:not(#nx) main .halt,html body:not(#nx) main .evline{padding-left:0!important}
html body:not(#nx) main .founders *,html body:not(#nx) main .routegrid *,html body:not(#nx) main .sectorgrid *,html body:not(#nx) main .sourcegrid *,html body:not(#nx) main .proofgrid *,html body:not(#nx) main .principle-grid *{border-left:0!important;border-right:0!important;border-bottom:0!important;box-shadow:none!important}
/* preview: Montserrat across the site */
html,body,body *:not(svg):not(svg *){font-family:var(--sans)}
html body:not(#nx) section.hero h1,html body:not(#nx) .stair .tl{letter-spacing:-.03em!important}
html body:not(#nx) main h2{letter-spacing:-.01em!important}
/* preview: home banner option A, three words stacked, gold line and buttons below, summit drawing on the right */
html body .hero.hhome .stair{position:static!important;height:auto!important;width:auto!important}
html body .hero.hhome .stair h1{position:static!important;display:block;margin:0 0 22px!important}
html body .hero.hhome .stair .tl{position:static!important;display:block!important;left:auto!important;top:auto!important;transform:none;font-size:clamp(52px,6.6vw,92px)!important;line-height:1.02!important;white-space:nowrap}
html body .hero.hhome .stair .stcap,html body .hero.hhome .stair .stlines,html body .hero.hhome .stair .stsq,html body .hero.hhome .stair .stn1,html body .hero.hhome .stair .stn2,html body .hero.hhome .stair .stglow{display:none!important}
html body .hero.hhome .wrap{position:relative}
html body .hero.hhome .stair .stlogo{position:absolute!important;left:auto!important;right:max(0px,2vw)!important;top:50%!important;width:auto!important;height:auto!important;transform:translateY(-55%)}
html body .hero.hhome .stair .stlogo .stmark{width:clamp(220px,24vw,340px)!important;height:auto!important}
html body .hero.hhome .stair .stlogo .nxflag .o{stroke-width:1.2}
@media (max-width:900px){html body .hero.hhome .stair .stlogo{top:110px;right:12px;transform:none}html body .hero.hhome .stair .stlogo .stmark{width:120px!important}}
@media (max-width:900px){html body .hero.hhome .stair .stlogo{top:0!important;right:4px!important;transform:none!important}html body .hero.hhome .stair .stlogo .stmark{width:110px!important}}
@media (max-width:900px){html body .hero.hhome .stair .stlogo{top:-78px!important}html body .hero.hhome .stair .stlogo .stmark{width:96px!important}}
/* preview: sketch-note clusters on the Private Equity and Advisory banners */
.hero .nx-sketch{width:min(560px,44vw)!important;right:max(24px,3vw)!important;transform:translateY(-52%)!important;opacity:1!important;animation:none!important}
.hero .nx-sketch .s{fill:none;stroke:#F4F3EF;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
.hero .nx-sketch .g{fill:none;stroke:#C6A05A;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.hero .nx-sketch .t{fill:#F4F3EF;font-family:var(--sans);font-size:19px;font-weight:500}
.hero .nx-sketch .dr{stroke-dasharray:600;stroke-dashoffset:600;animation:nxsk 2.6s ease forwards}
.hero .nx-sketch .fa{opacity:0;animation:nxskf .6s ease forwards}
.hero .nx-sketch [style*="animation-delay"]{}
.hero .nx-sketch .dr,.hero .nx-sketch .fa{animation-delay:calc(2.6s + var(--d,0s))}
@keyframes nxsk{to{stroke-dashoffset:0}}@keyframes nxskf{to{opacity:1}}
@media (max-width:900px){.hero .nx-sketch{width:220px!important;top:90px!important;transform:none!important}}
@media (prefers-reduced-motion:reduce){.hero .nx-sketch .dr{stroke-dashoffset:0;animation:none}.hero .nx-sketch .fa{opacity:1;animation:none}}
/* preview: balance rules, long runs of paragraphs set in two columns */
html body:not(#nx) main .nx-pcols{column-count:2;column-gap:56px;max-width:1100px}
html body:not(#nx) main .nx-pcols p{break-inside:avoid;max-width:none!important}
@media (max-width:900px){html body:not(#nx) main .nx-pcols{column-count:1}}
/* preview: blocks in a grid get the fine gold line on top used by the steps, so grids no longer run together */
html body:not(#nx) main .cards2 .crow:not(.full) .nacard{border-top:2px solid rgba(198,160,90,.55)!important;padding-top:20px!important}
/* preview: button style D, a light rounded outline with the arrow in its own solid circle */
html body:not(#nx) .pill{display:inline-flex!important;align-items:center;gap:12px;background:transparent!important;border:1.5px solid rgba(198,160,90,.8)!important;border-radius:999px!important;padding:7px 7px 7px 22px!important;color:#F4F3EF!important;font-weight:600!important;box-shadow:none!important;transition:background .25s ease}
html body:not(#nx) .pill *{color:inherit}
html body:not(#nx) .pill::after{content:"\2192"!important;display:inline-flex!important;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#C6A05A;color:#141414!important;font-size:16px!important;font-weight:500;margin:0!important;opacity:1!important;transition:transform .25s ease}
html body:not(#nx) .pill:hover{background:rgba(198,160,90,.1)!important}
html body:not(#nx) .pill:hover::after{transform:translateX(3px)}
html body:not(#nx) .pill.trace::before{border-radius:999px}
html body:not(#nx) main .nx-goldslim .pill{border-color:#141414!important;color:#141414!important;background:transparent!important}
html body:not(#nx) main .nx-goldslim .pill *{color:#141414!important}
html body:not(#nx) main .nx-goldslim .pill::after{background:#141414;color:#C6A05A!important}
html body:not(#nx) main .nx-goldslim .pill:hover{background:rgba(20,20,20,.08)!important}
html body:not(#nx) main .cta-band .pill{background:transparent!important;color:#F4F3EF!important}
html body:not(#nx) main .cta-band .pill *{color:#F4F3EF!important}
html body:not(#nx) .pill::after{line-height:1!important;padding-bottom:2px;box-sizing:border-box}
html body:not(#nx) .pill .mt-c{color:#C6A05A!important;font-weight:500}
/* preview: long sections show their first part, with the rest behind an Explore the detail button */
html body:not(#nx) main .nx-moretoggle{margin:18px 0 6px}
html body:not(#nx) main .mbody.nx-morecards.open{margin-top:22px}
/* preview: numbers on the items behind each Explore button, matching the count on the button */
html body:not(#nx) main .nx-num{display:inline-block;min-width:2.1em;margin-right:10px;color:#C6A05A;font-size:.72em;font-weight:600;letter-spacing:.08em;vertical-align:.12em}
html body:not(#nx) main .mbody,html body:not(#nx) main .mbody.open,html body:not(#nx) main .nacard:has(.mbody.open){border-left:0!important;box-shadow:none!important}
/* preview: nothing shows before a line starts to draw, so no dots appear early */
@keyframes nxline2{0%{stroke-dashoffset:1;opacity:0}2%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
.hero .nx-herodraw [pathLength]{opacity:0;animation-name:nxline2!important;animation-fill-mode:both!important}
.stmark .nxo .o{opacity:0}
.stmark:has(.pt.on) .nxo .o{opacity:1!important;transition:stroke-dashoffset 2.2s ease,opacity .05s linear!important}
@media (prefers-reduced-motion:reduce){.hero .nx-herodraw [pathLength]{opacity:1;animation:none!important;stroke-dashoffset:0}}
/* preview: every title above text is larger than the text it introduces */
html body:not(.notice):not(#na-scale):not(#nx) main .estep .st{font-size:19px!important;letter-spacing:0!important;text-transform:none!important;font-weight:600!important;color:#F4F3EF!important;line-height:1.3!important;display:block}
html body:not(.notice):not(#na-scale):not(#nx) main .eflow-h{font-size:19px!important;letter-spacing:0!important;text-transform:none!important;font-weight:600!important;color:#C6A05A!important;line-height:1.3!important}
html body:not(.notice):not(#na-scale):not(#nx) main .nacard.assert h2{font-size:19px!important;letter-spacing:0!important;text-transform:none!important;font-weight:600!important;color:#C6A05A!important}
html body:not(.notice):not(#na-scale):not(#nx) main .nx-goldslim .estep .st,html body:not(.notice):not(#na-scale):not(#nx) main .nx-goldslim .eflow-h{color:#141414!important}
@media (max-width:900px){html body:not(.notice):not(#na-scale):not(#nx) main .estep .st,html body:not(.notice):not(#na-scale):not(#nx) main .eflow-h,html body:not(.notice):not(#na-scale):not(#nx) main .nacard.assert h2{font-size:18px!important}}
html body:not(.notice):not(#na-scale):not(#nx) main .nacard.assert h2{font-size:32px!important;line-height:1.2!important}
@media (max-width:900px){html body:not(.notice):not(#na-scale):not(#nx) main .nacard.assert h2{font-size:24px!important}}
/* preview: owner group number inline with its title, so title and tiles start at the same left edge as the tabs */
html body:not(#nx) main .svcg.nxg{display:block!important;padding-left:0!important;padding-right:0!important}
html body:not(#nx) main .svcg.nxg .sgh{display:flex!important;align-items:baseline;gap:14px;margin:0 0 14px}
html body:not(#nx) main .svcg.nxg .sg-n{font-size:22px!important;grid-row:auto!important;grid-column:auto!important}
html body:not(#nx) main .svcg.nxg h4.sg-t{margin:0!important}
html body:not(#nx) main .svcg.nxg > .osvc{padding-left:0!important;margin-left:0!important}
/* preview: number badges hang in the margin, so every heading's text starts on the same left edge as the text beneath it */
@media (min-width:901px){
 html body:not(#nx) main .ohd{display:block!important;position:relative}
 html body:not(#nx) main .ohd > *{display:block!important;padding-left:0!important;margin-left:0!important;width:auto!important}
 html body:not(#nx) main .ohd > .ostage{position:absolute!important;right:calc(100% + 16px);top:.35em;width:auto!important;display:inline-flex!important}
 html body:not(#nx) main .svcg.nxg .sgh{position:relative}
 html body:not(#nx) main .svcg.nxg .sg-n{position:absolute;right:calc(100% + 14px);top:.1em}
}
html body:not(#nx) main .pcol,html body:not(#nx) main .pcol > *{padding-left:0!important}
@media (min-width:901px){html body:not(#nx) main .ohd > .ostage{width:38px!important;height:38px!important;justify-content:center!important;align-items:center!important;box-sizing:border-box}}
html body:not(#nx) main .svcgs.nxtabs .svcg.nxg[hidden]{display:none!important}

/* v119 Montserrat everywhere, with tighter spacing in sub sections */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main li,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .osvc li,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .estep p{letter-spacing:-.012em!important;line-height:1.55!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.stand,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.statement,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .nx-t{letter-spacing:-.015em!important;line-height:1.45!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main h3,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main h4,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .pcl,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .hsl,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .st,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .sg-t,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .eflow-h{letter-spacing:-.01em!important;line-height:1.25!important;margin-bottom:6px!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .pcol,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .hstep,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .estep{padding-top:14px!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .pcol p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .hstep p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .estep p{margin-top:4px!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .osvc.nxtiles li{padding:14px 12px 14px!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .pcol p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .hstep p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .estep p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .osvc li,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .item p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .grid p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .cards2 .crow:not(.full) p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .mbody p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .halt p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .nx-fig p.nx-s{line-height:1.38!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .pcol p+p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .hstep p+p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .item p+p{margin-top:8px!important}
/* v119b fixes from the live review, 6 October 2026 */
/* no gold bar down the left of a card after its button is used */
html body:not(#nx) main .nacard::after{display:none!important}
/* stage tabs: the flashing next stage is the guide, so no Next or Previous buttons */
html body:not(#nx) main .nxt-foot{display:none!important}
/* lead paragraphs run the full width, balancing the columns under them */
html body:not(#nx) main p.stand,html body:not(#nx) main p.statement,html body:not(#nx) .nx-deep .statement,html body:not(#nx) .nx-deep .stand{max-width:none!important}
/* the ivory band is a slim accent, directly under the banner */
html body:not(#nx) main section.band.nx-figure.nx-ivoryslim{padding:40px 0!important}
html body:not(#nx) main section.band.nx-ivoryslim::before,html body:not(#nx) main section.band.nx-ivoryslim::after{height:26px!important}
html body:not(#nx) main .nx-ivoryslim .nx-fig{gap:30px;max-width:1040px}
html body:not(#nx) main .nx-ivoryslim .nx-n{font-size:56px!important;letter-spacing:-.025em}
html body:not(#nx) main .nx-ivoryslim .nx-fig p.nx-t{font-size:18px!important;line-height:1.45!important;margin:0 0 6px!important}
html body:not(#nx) main .nx-ivoryslim .nx-fig p.nx-s,html body:not(#nx) main .nx-ivoryslim .nx-fig p.nx-s *{font-size:12px!important}
@media (max-width:900px){html body:not(#nx) main .nx-ivoryslim .nx-n{font-size:40px!important}html body:not(#nx) main .nx-ivoryslim .nx-fig p.nx-t{font-size:16px!important}}
/* banner drawings sit closer to the title, centred on it */
@media (min-width:901px){
 .hero .nx-herodraw{right:auto!important;left:calc(50% + 70px)!important;width:min(300px,24vw)!important;top:50%!important;transform:translateY(-62%)!important}
 html body .hero.hhome .stair .stlogo{right:auto!important;left:58%!important;top:28px!important;transform:none!important}
 html body .hero.hhome .stair .stlogo .stmark{width:clamp(220px,22vw,300px)!important}
}
/* the home summit draws as soon as Modernise appears */
.stair:has(h1 .tl:nth-child(2).on) .stmark .nxo .o{stroke-dashoffset:0!important;opacity:1!important;transition:stroke-dashoffset 1.8s ease,opacity .05s linear!important}
/* v121: the gold band carries each page's big figure under the stage bar, no ivory and no button bands */
html body:not(#nx) main section.band.nx-figure.nx-goldfig{position:relative;background:#C6A05A!important;background-image:none!important;padding:40px 0!important}
html body:not(#nx) main section.band.nx-goldfig::before{content:"";position:absolute;left:0;right:0;top:-1px;height:26px;background:#0A0A0B;border-bottom-left-radius:100% 100%;pointer-events:none}
html body:not(#nx) main section.band.nx-goldfig::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:26px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) main .nx-goldfig .wrap{position:relative;z-index:1}
html body:not(#nx) main .nx-goldfig .nx-fig{gap:30px;max-width:1040px}
html body:not(#nx) main .nx-goldfig .nx-n{font-size:56px!important;letter-spacing:-.025em;color:#141414!important}
html body:not(#nx) main .nx-goldfig .nx-fig p.nx-t{font-size:18px!important;line-height:1.45!important;margin:0 0 6px!important;color:#141414!important}
html body:not(#nx) main .nx-goldfig .nx-fig p.nx-s,html body:not(#nx) main .nx-goldfig .nx-fig p.nx-s *{font-size:12px!important;color:#3A3226!important}
html body:not(#nx) main .nx-goldfig .nx-topo{display:none}
@media (max-width:900px){html body:not(#nx) main .nx-goldfig .nx-n{font-size:40px!important}html body:not(#nx) main .nx-goldfig .nx-fig p.nx-t{font-size:16px!important}}
/* the bottom call to action sits on the page, no band behind it */
html body:not(#nx) main section.band.cta-band{background:transparent!important;padding:30px 0 70px!important}
html body:not(#nx) main section.band.cta-band::before,html body:not(#nx) main section.band.cta-band::after{display:none!important}
html body:not(#nx) main .cta-band .pill{background:transparent!important;color:#F4F3EF!important;border-color:rgba(198,160,90,.8)!important}
html body:not(#nx) main .cta-band .pill *{color:#F4F3EF!important}
html body:not(#nx) main .cta-band .pill::after{background:#C6A05A!important;color:#141414!important}
/* v121: the contrast band in deep bronze, with cream text */
html body:not(#nx) section.band.nx-deep{background:#3A2E1C!important}
html body:not(#nx) main .nx-deep p,html body:not(#nx) main .nx-deep li,html body:not(#nx) main .nx-deep .osvc li{color:#E4D7BE!important}
html body:not(#nx) main .nx-deep h3,html body:not(#nx) main .nx-deep h4,html body:not(#nx) main .nx-deep .pcl,html body:not(#nx) main .nx-deep .hsl,html body:not(#nx) main .nx-deep .sg-t{color:#F4F3EF!important}
html body:not(#nx) main .nx-deep .osvc.nxtiles li{background:rgba(244,243,239,.07)!important}
html body:not(#nx) main .nx-deep .nxt-tab{border-top-color:rgba(244,243,239,.25)!important}
html body:not(#nx) main .nx-deep .nxt-tab .nxt-n{color:#D9C9A8!important}
/* v121: text colours tuned for the deep bronze band */
html body:not(#nx) main section.nx-deep h2,html body:not(#nx) main section.nx-deep .eflow-h,html body:not(#nx) main section.nx-deep .subhead,html body:not(#nx) main section.nx-deep b.kf,html body:not(#nx) main section.nx-deep .sg-n,html body:not(#nx) main section.nx-deep .nxt-arrow,html body:not(#nx) main section.nx-deep .mt-c,html body:not(#nx) main section.nx-deep .sg-c{color:#E8CB8E!important}
html body:not(#nx) main section.nx-deep .ostage,html body:not(#nx) main section.nx-deep .h1num{color:#E8CB8E!important;border-color:rgba(232,203,142,.65)!important}
html body:not(#nx) main section.nx-deep p,html body:not(#nx) main section.nx-deep li,html body:not(#nx) main section.nx-deep .osvc li,html body:not(#nx) main section.nx-deep .statement,html body:not(#nx) main section.nx-deep .stand{color:#F1E8D8!important}
html body:not(#nx) main section.nx-deep a:not(.pill),html body:not(#nx) main section.nx-deep .sn,html body:not(#nx) main section.nx-deep span:not([class]),html body:not(#nx) main section.nx-deep .nxt-n{color:#DCCBA9!important}
html body:not(#nx) main section.nx-deep h3,html body:not(#nx) main section.nx-deep h4,html body:not(#nx) main section.nx-deep .pcl,html body:not(#nx) main section.nx-deep .hsl,html body:not(#nx) main section.nx-deep .sg-t,html body:not(#nx) main section.nx-deep .st{color:#FFFFFF!important}
html body:not(#nx) main section.nx-deep .pcol,html body:not(#nx) main section.nx-deep .hstep,html body:not(#nx) main section.nx-deep .estep{border-top-color:rgba(232,203,142,.55)!important}
html body:not(#nx) main section.nx-deep .nxt-tab.on .nxt-l{background:#E8CB8E!important;color:#2A2114!important}
html body:not(#nx) main section.nx-deep .osvc.nxtiles li{background:rgba(255,248,235,.07)!important;border-top-color:#E8CB8E!important}
html body:not(#nx) main section.nx-deep .osvc.nxtiles .nxi svg{stroke:#F1E8D8}
html body:not(#nx) main section.nx-deep .pill{border-color:rgba(232,203,142,.8)!important;color:#F1E8D8!important}
html body:not(#nx) main section.nx-deep .pill::after{background:#E8CB8E!important;color:#2A2114!important}
/* v121: all writing in the bronze bands is white, with hierarchy from size and weight only */
html body:not(#nx) main section.nx-deep,html body:not(#nx) main section.nx-deep *:not(svg):not(svg *){color:#FFFFFF!important}
html body:not(#nx) main section.nx-deep .ostage,html body:not(#nx) main section.nx-deep .h1num{border-color:rgba(255,255,255,.7)!important}
html body:not(#nx) main section.nx-deep .pcol,html body:not(#nx) main section.nx-deep .hstep,html body:not(#nx) main section.nx-deep .estep,html body:not(#nx) main section.nx-deep .osvc.nxtiles li{border-top-color:rgba(255,255,255,.55)!important}
html body:not(#nx) main section.nx-deep .nxt-tab{border-top-color:rgba(255,255,255,.3)!important}
html body:not(#nx) main section.nx-deep .nxt-tab.on{border-top-color:#FFFFFF!important;background:rgba(255,255,255,.08)!important}
html body:not(#nx) main section.nx-deep .nxt-tab.on .nxt-l{background:transparent!important;color:#FFFFFF!important;box-shadow:inset 0 0 0 1px #FFFFFF;padding:3px 10px}
html body:not(#nx) main section.nx-deep .nxt-tab .nxt-n{opacity:.75}
html body:not(#nx) main section.nx-deep .osvc.nxtiles .nxi svg,html body:not(#nx) main section.nx-deep .osvc.nxtiles .nxi svg *{stroke:#FFFFFF!important}
html body:not(#nx) main section.nx-deep .pill{border-color:rgba(255,255,255,.75)!important}
html body:not(#nx) main section.nx-deep .pill::after{background:#FFFFFF!important;color:#2A2114!important}
/* v121: lead paragraphs one step smaller, so they sit closer to the body text */
html body:not(.notice):not(#na-scale):not(#nx) main p.stand,html body:not(.notice):not(#na-scale):not(#nx) main p.statement,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.stand,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.statement{font-size:20px!important;line-height:1.5!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.stand,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.statement{font-size:18px!important}}
/* v121: no section numbers beside headings, they only counted sections on the page */
html body:not(#nx) main .ohd > .ostage{display:none!important}
/* v121: the selected stage tab is unmistakable, the next one only pulses along its top line */
html body:not(#nx) main .nxt-tab.next::after{background:none!important;border-top:2px solid #C6A05A!important;bottom:auto!important;height:0!important;animation:nxtpulse 1.8s ease-in-out infinite!important}
@keyframes nxtpulse{0%,100%{opacity:.35}50%{opacity:1}}
html body:not(#nx) main section.nx-deep .nxt-tab.on{background:rgba(255,255,255,.1)!important;border-top:3px solid #FFFFFF!important}
html body:not(#nx) main section.nx-deep .nxt-tab.on .nxt-l{background:#FFFFFF!important;color:#3A2E1C!important;box-shadow:none!important;padding:3px 10px}
html body:not(#nx) main section.nx-deep .nxt-tab.next::after{border-top-color:#FFFFFF!important}
/* every word in the bronze band white, including tiles and group numbers */
html body:not(#nx):not(#nx2) main section.nx-deep .osvc.nxtiles li,html body:not(#nx):not(#nx2) main section.nx-deep .sg-n,html body:not(#nx):not(#nx2) main section.nx-deep .svcg.nxg .sg-n{color:#FFFFFF!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main section.nx-deep .osvc li,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main section.nx-deep p{color:#FFFFFF!important}
@media (prefers-reduced-motion:reduce){html body:not(#nx) main .nxt-tab.next::after{animation:none!important;opacity:.8}}
/* v121: stage tab names larger than the tile text they lead to */
html body:not(#nx) main .nxt-tab .nxt-l{font-size:16px!important;letter-spacing:.05em!important;line-height:1.3!important}
html body:not(#nx) main .nxt-tab .nxt-n{font-size:12px!important}
@media (max-width:900px){html body:not(#nx) main .nxt-tab .nxt-l{font-size:14px!important}}
/* v121: one box style everywhere, the gold label with dark text used on the 8-stage bar */
html body:not(#nx) main .nxt-tab.on .nxt-l,html body:not(#nx) main section.nx-deep .nxt-tab.on .nxt-l{background:#C6A05A!important;color:#141414!important;box-shadow:none!important;padding:3px 10px!important}
html body:not(#nx) main .nxt-tab.on,html body:not(#nx) main section.nx-deep .nxt-tab.on{border-top:2px solid #C6A05A!important;background:rgba(198,160,90,.12)!important}
html body:not(#nx) main section.nx-deep .nxt-tab.on .nxt-n{color:#C6A05A!important;opacity:1}
html body:not(#nx) main .nxt-tab.on .nxt-arrow,html body:not(#nx) main section.nx-deep .nxt-tab.on .nxt-arrow{color:#C6A05A!important}
html body:not(#nx) main .nxt-tab.next::after,html body:not(#nx) main section.nx-deep .nxt-tab.next::after{border-top-color:#C6A05A!important}
html body:not(#nx) .hero .h1num{background:#C6A05A!important;color:#141414!important;border:0!important;padding:4px 10px!important}
/* v121: small warm cream sections break long runs of black, dark text throughout */
html body:not(#nx) main section.band.nx-cream{position:relative;background:#EFE8DA!important;background-image:none!important;padding:64px 0 68px!important}
html body:not(#nx) main section.band.nx-cream::before{content:"";position:absolute;left:0;right:0;top:-1px;height:30px;background:#0A0A0B;border-bottom-left-radius:100% 100%;pointer-events:none}
html body:not(#nx) main section.band.nx-cream::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:30px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) main section.band.nx-cream .wrap{position:relative;z-index:1}
html body:not(#nx):not(#nx2) main section.nx-cream,html body:not(#nx):not(#nx2) main section.nx-cream *:not(svg):not(svg *):not(.pill):not(.pill *){color:#141414!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main section.nx-cream p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main section.nx-cream li{color:#141414!important}
html body:not(#nx) main section.nx-cream .nacard,html body:not(#nx) main section.nx-cream .panel{background:transparent!important}
html body:not(#nx) main section.nx-cream .pcol,html body:not(#nx) main section.nx-cream .hstep,html body:not(#nx) main section.nx-cream .estep,html body:not(#nx) main section.nx-cream .crow:not(.full) .nacard{border-top-color:#C6A05A!important}
html body:not(#nx) main section.nx-cream .pill{border-color:#141414!important;color:#141414!important}
html body:not(#nx) main section.nx-cream .pill *{color:#141414!important}
html body:not(#nx) main section.nx-cream .pill::after{background:#141414!important;color:#C6A05A!important}
html body:not(#nx) main section.nx-cream .mt-c{color:#7A5E2A!important}
/* v121: tiles on black */
html body:not(#nx) main section:not(.nx-cream) .osvc.nxtiles li{background:rgba(244,243,239,.05)!important;color:#E4E2DD!important;border:0!important;border-top:2px solid #C6A05A!important}
html body:not(#nx) main section:not(.nx-cream) .osvc.nxtiles .nxi svg,html body:not(#nx) main section:not(.nx-cream) .osvc.nxtiles .nxi svg *{stroke:#F4F3EF!important}
html body:not(#nx) main section:not(.nx-cream) .svcg.nxg h4.sg-t{color:#F4F3EF!important}
html body:not(#nx) main section:not(.nx-cream) .nxt-tab .nxt-l{color:#F4F3EF}
html body:not(#nx) main section:not(.nx-cream) .nxt-tab{border-top-color:rgba(244,243,239,.25)}
html body:not(#nx) main section:not(.nx-cream) .nxt-tab.on .nxt-l{color:#141414!important}
/* v121: the Home opening statement is the page's headline text, larger than every introduction below it */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.statement{font-size:26px!important;line-height:1.4!important;font-weight:500!important;letter-spacing:-.015em!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main p.statement{font-size:21px!important}}
/* v122: a fine full-width line where two black sections on different subjects meet, matching the line above the footer */
html body:not(#nx) main section.band.nx-split{border-top:1px solid rgba(244,243,239,.12)!important}
@media (prefers-reduced-motion:reduce){.stmark .nxo{display:block!important}.stmark .nxo .o{stroke-dashoffset:0!important;opacity:1!important;transition:none!important}}
/* v124: buttons at the bottom of a page line up with the text above them */
html body:not(#nx) main .cta-band .cta-panel,html body:not(#nx) main .cta-band .nx-slim{justify-content:flex-start!important;text-align:left!important}
/* v124: type sizes brought back onto the agreed scale */
html body:not(#nx) .stepnav .sn,html body:not(#nx) .stepnav span.sn{font-size:12px!important}
html body:not(#nx) main .nx-num{font-size:12px!important;vertical-align:.15em}
html body:not(#nx) main .sectorgrid span,html body:not(#nx) main .sourcegrid span{font-size:12px!important}
html body:not(.notice):not(#na-scale):not(#nx) main .nx-fig p.nx-t,html body:not(#nx) main .nx-goldfig .nx-fig p.nx-t{font-size:20px!important;line-height:1.45!important}
html body:not(#nx) main b.ev-n{font-size:20px!important}
html body:not(#nx) .hero .h1num{font-size:26px!important;line-height:1!important}
html body:not(#nx) main .svcg.nxg .sg-n{font-size:19px!important}
html body:not(#nx) main .nxt-arrow,html body:not(#nx) .stepnav a.step .hint{font-size:22px!important}
@media (max-width:900px){html body:not(.notice):not(#na-scale):not(#nx) main .nx-fig p.nx-t,html body:not(#nx) main .nx-goldfig .nx-fig p.nx-t{font-size:17px!important}html body:not(#nx) .hero .h1num{font-size:20px!important}html body:not(#nx) main .svcg.nxg .sg-n{font-size:18px!important}}
html body:not(#nx) main .cta-band .cta-panel{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important;padding-left:44px!important;padding-right:44px!important}
html body:not(#nx) main .cta-band .cta-panel .ctas{justify-content:flex-start!important;margin:0!important}
@media (max-width:900px){html body:not(#nx) main .cta-band .cta-panel{padding-left:22px!important;padding-right:22px!important}}
@media (max-width:900px){html body:not(#nx) main .cta-band .cta-panel{padding-left:36px!important;padding-right:36px!important}}
html body:not(#nx) main span.sn,html body:not(#nx) main span.crumb,html body:not(#nx) span.sn{font-size:12px!important}
/* v125: one slim ivory statement band in the middle of each page, no deeper than the gold band */
html body:not(#nx) main section.band.nx-ivoryline{position:relative;background:#EFE8DA!important;background-image:none!important;padding:40px 0!important;border-top:0!important}
html body:not(#nx) main section.band.nx-ivoryline::before{content:"";position:absolute;left:0;right:0;top:-1px;height:26px;background:#0A0A0B;border-bottom-left-radius:100% 100%;pointer-events:none}
html body:not(#nx) main section.band.nx-ivoryline::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:26px;background:#0A0A0B;border-top-right-radius:100% 100%;pointer-events:none}
html body:not(#nx) main .nx-ivoryline .wrap{position:relative;z-index:1}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .nx-ivoryline p.nx-iv{font-size:22px!important;line-height:1.4!important;font-weight:500!important;color:#141414!important;margin:0!important;max-width:900px;padding-left:44px;letter-spacing:-.01em!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .nx-ivoryline p.nx-iv{font-size:18px!important;padding-left:36px}}
html body:not(#nx) main section.band.nx-goldfig{padding:40px 0!important}
/* v125: arrow circles in outline, not filled */
html body:not(#nx) .pill::after{background:transparent!important;border:1.5px solid #C6A05A!important;color:#C6A05A!important}
html body:not(#nx) main section.nx-ivoryline .pill::after,html body:not(#nx) main section.nx-goldfig .pill::after{border-color:#141414!important;color:#141414!important}
/* v125: no counts on Explore buttons */
html body:not(#nx) .mtoggle .mt-c{display:none!important}
/* v125: the stage-page ivory band runs full width inside the In practice section, just before What we do as owner */
html body:not(#nx) main .nx-ivoryline.nx-inline{position:relative;background:#EFE8DA;margin:56px calc(50% - 50vw) 40px;padding:40px calc(50vw - 50%);}
html body:not(#nx) main .nx-ivoryline.nx-inline::before{content:"";position:absolute;left:0;right:0;top:-1px;height:26px;background:#0A0A0B;border-bottom-left-radius:100% 100%}
html body:not(#nx) main .nx-ivoryline.nx-inline::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:26px;background:#0A0A0B;border-top-right-radius:100% 100%}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .nx-ivoryline.nx-inline p.nx-iv{position:relative;z-index:1;padding-left:0;max-width:900px}
html body{overflow-x:clip}
html body:not(#nx) main .cta-band .pill::after,html body:not(#nx) main section.band.cta-band .pill::after{background:transparent!important;border:1.5px solid #C6A05A!important;color:#C6A05A!important}
/* v125: the mid-page statement band is gold, like the band at the top, no ivory */
html body:not(#nx) main section.band.nx-ivoryline,html body:not(#nx) main .nx-ivoryline.nx-inline{background:#C6A05A!important}
/* v125: in every stage and services bar, the heading leads and the items follow */
html body:not(#nx) .stepnav .barlab,html body:not(#nx) span.barlab{font-size:19px!important;font-weight:600!important;letter-spacing:0!important}
html body:not(#nx) .stepnav a.step .st,html body:not(#nx) .stepnav a.step .sn,html body:not(#nx) .stepnav .st,html body:not(#nx) .stepnav .sn{font-weight:500!important}
html body:not(#nx) .stepnav a.step.on .st{font-weight:600!important}
/* v125: quieter buttons, no outer outline, just the words and the outlined arrow circle */
html body:not(#nx) .pill,html body:not(#nx) main .cta-band .pill,html body:not(#nx) main section.nx-ivoryline .pill,html body:not(#nx) main section.nx-goldfig .pill{border:0!important;background:transparent!important;padding:4px 0!important;box-shadow:none!important}
html body:not(#nx) .pill:hover{background:transparent!important}
html body:not(#nx) .pill:hover .mt-l,html body:not(#nx) .pill:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-color:#C6A05A}
html body:not(#nx) .pill.trace::before{display:none!important}
html body:not(#nx) main .panel::after,html body:not(#nx) main .panel:hover::after,html body:not(#nx) main .nacard:hover::after{display:none!important}
/* v125: Contact in the top menu on every page */
html body:not(#nx) header .nav{display:flex;align-items:center;gap:22px}
html body:not(#nx) header .navcontact{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#141414;background:#C6A05A;padding:9px 16px;border-radius:999px;text-decoration:none;transition:background .2s ease}
html body:not(#nx) header .navcontact:hover{background:#E0C084}
@media (max-width:900px){html body:not(#nx) header .navcontact{font-size:11px;padding:7px 12px}}
/* v125: the banner line matches the introductions below it rather than outweighing them */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) .hero p.claim,html body:not(#nx) .hero .claim,html body:not(#nx) .hero span.c1{font-size:20px!important;line-height:1.5!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) .hero p.claim,html body:not(#nx) .hero .claim,html body:not(#nx) .hero span.c1{font-size:18px!important}}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim span.c1,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim{font-size:20px!important;line-height:1.5!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim span.c1,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim{font-size:18px!important}}
/* v125: one text size in every gold band, matching the introductions */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-ivoryline p.nx-iv,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-goldfig .nx-fig p.nx-t{font-size:20px!important;line-height:1.45!important;font-weight:500!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-ivoryline p.nx-iv,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-goldfig .nx-fig p.nx-t{font-size:17px!important}}
html body:not(#nx) main a.more{font-size:15px!important;font-weight:600!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim span{font-weight:400!important}
/* v125: Contact styled exactly like the other top menu items */
html body:not(#nx) header .navcontact{background:transparent!important;color:rgba(244,243,239,.86)!important;font-size:12.5px!important;font-weight:600!important;letter-spacing:1.5px!important;text-transform:uppercase!important;line-height:20px!important;padding:0!important;border-radius:0!important;position:relative}
html body:not(#nx) header .navcontact:hover{color:#C6A05A!important;background:transparent!important}
html body:not(#nx).page-contact header .navcontact,html body:not(#nx) header .navcontact[aria-current]{color:#C6A05A!important}
/* v125: text steps down from the top of the page: banner line, then the opening statement, then introductions, then body */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim span.c1{font-size:26px!important;font-weight:500!important;line-height:1.45!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main p.statement{font-size:23px!important;font-weight:500!important;line-height:1.45!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim span.c1{font-size:21px!important}html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main p.statement{font-size:19px!important}}
/* v125: strict order from the top: banner title, banner line, section headings, opening statement, introductions, sub headings, body */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim span.c1{font-size:30px!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h2:not(.sr-only){font-size:28px!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3):not(#na-scale) .hero p.claim span.c1{font-size:23px!important}html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h2:not(.sr-only){font-size:22px!important}}
/* preview: buttons are the words with a plain gold arrow, no circle */
html body:not(#nx) .pill::after,html body:not(#nx) main .cta-band .pill::after,html body:not(#nx) main section.band.cta-band .pill::after,html body:not(#nx) main section.nx-ivoryline .pill::after,html body:not(#nx) main section.nx-goldfig .pill::after{content:"\2192"!important;width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;color:#C6A05A!important;font-size:17px!important;line-height:1!important;padding:0!important;margin-left:2px!important;transition:transform .25s ease!important}
html body:not(#nx) .pill:hover::after{transform:translateX(5px)!important}
html body:not(#nx) .pill,html body:not(#nx) .pill .mt-l{color:#F4F3EF!important;opacity:1!important;visibility:visible!important}
/* preview: the hover underline sits under the words only, never under the arrow */
html body:not(#nx) .pill::after{display:inline-block!important;text-decoration:none!important}
html body:not(#nx) .pill{overflow:visible!important;padding-right:10px!important}
/* preview: the arrow sits outside the line of text, so the hover underline can never run under it */
html body:not(#nx) .pill{position:relative!important;padding-right:30px!important}
html body:not(#nx) .pill::after{position:absolute!important;right:4px!important;top:50%!important;transform:translateY(-52%)!important;margin:0!important}
html body:not(#nx) .pill:hover::after{transform:translate(5px,-52%)!important}
/* preview: one way to open detail, one box look, less decoration */
/* stage owner groups as headings with Explore buttons */
html body:not(#nx) main .svcgs.nxflat{display:block!important}
html body:not(#nx) main .svcg.nxflatg{display:block!important;background:transparent!important;border:0!important;border-top:1px solid rgba(198,160,90,.6)!important;padding:18px 0 14px!important;margin:0!important}
html body:not(#nx) main .svcg.nxflatg .sgh{display:block!important;margin:0 0 8px!important}
html body:not(#nx) main .svcg.nxflatg h4.sg-t{font-size:19px!important;color:#F4F3EF!important;margin:0!important}
/* every list of items: plain text, no shaded or outlined boxes */
html body:not(#nx) main .osvc li,html body:not(#nx) main .osvc.nxtiles li{background:transparent!important;border:0!important;box-shadow:none!important;padding:4px 0 4px 18px!important;position:relative;color:#E4E2DD!important}
html body:not(#nx) main .osvc li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:#C6A05A}
html body:not(#nx) main .osvc .nxi{display:none!important}
html body:not(#nx) main .osvc{display:block!important;columns:2;column-gap:48px;margin:10px 0 4px!important}
@media (max-width:900px){html body:not(#nx) main .osvc{columns:1}}
html body:not(#nx) main .svcg,html body:not(#nx) main .svcg.on{background:transparent!important;border:0!important;border-top:1px solid rgba(198,160,90,.6)!important;border-radius:0!important;box-shadow:none!important}
html body:not(#nx) main .value-tags span{border:0!important;background:transparent!important;padding:0 14px 0 0!important;color:#C9C7C2!important}
html body:not(#nx) main .value-tags span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#C6A05A;margin:0 12px 2px 0;vertical-align:middle}
html body:not(#nx) main .proof,html body:not(#nx) main .item,html body:not(#nx) main .ccell{background:transparent!important;box-shadow:none!important}
/* less decoration: no contour lines, no number badges outside the stage bar */
html body:not(#nx) main section.band.nx-contour,html body:not(#nx) main section.band{background-image:none!important}
html body:not(#nx) .hero .h1num{display:none!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2) main .osvc li::before{content:""!important;position:absolute!important;left:0!important;top:.78em!important;width:9px!important;height:1px!important;border:0!important;background:#C6A05A!important;transform:none!important}
html body:not(#nx) main .svcgs{display:block!important;gap:0!important;grid-template-columns:none!important}
html body:not(#nx) main .mbody .svcg.nxflatg{border-top-color:rgba(198,160,90,.35)!important}
/* preview: each group's title row is its own button, with a gold plus that turns into a cross when open */
html body:not(#nx) main .svcg.nxflatg h4.sg-t{margin:0!important}
html body:not(#nx) main .nx-rowbtn{display:flex!important;width:100%;align-items:center;justify-content:space-between;gap:20px;background:none!important;border:0!important;padding:4px 0!important;cursor:pointer;font:600 19px/1.3 var(--sans)!important;color:#F4F3EF!important;text-align:left;letter-spacing:-.01em}
html body:not(#nx) main .nx-rowbtn::after{display:none!important;content:none!important}
html body:not(#nx) main .nx-rowbtn .nx-pl{color:#C6A05A;font-size:26px;font-weight:400;line-height:1;transition:transform .3s ease;flex:none}
html body:not(#nx) main .nx-rowbtn[aria-expanded="true"] .nx-pl{transform:rotate(45deg)}
html body:not(#nx) main .nx-rowbtn:hover .nx-rt{color:#C6A05A}
html body:not(#nx) main .nx-rowbtn:focus-visible{outline:2px solid #C6A05A;outline-offset:4px}
@media (max-width:900px){html body:not(#nx) main .nx-rowbtn{font-size:17px!important}}
/* preview: Advisory services as rows, title and one-line description visible, plus to open */
html body:not(#nx) main section.nx-svclist .wrap{padding-left:44px;padding-right:44px}
html body:not(#nx) main .nx-svcrow{padding:20px 0 18px!important}
html body:not(#nx) main .nx-svcrow > p{max-width:820px;margin:6px 0 0!important;color:#C9C7C2!important;font-size:17px!important}
html body:not(#nx) main .nx-svcrow .mbody.open{margin-top:18px}
html body:not(#nx) main .nx-svcrow .mbody .svcg.nxflatg{padding:14px 0 6px!important}
html body:not(#nx) main .nx-svcrow .mbody h4.sg-t{font-size:17px!important}
@media (max-width:900px){html body:not(#nx) main section.nx-svclist .wrap{padding-left:36px;padding-right:36px}}
html body:not(#nx) main section.nx-svclist .wrap{padding-left:48px!important;padding-right:48px!important}
html body:not(#nx) main section.nx-svclist .wrap > .nx-svcrow{margin-left:44px!important;margin-right:44px!important}
@media (max-width:900px){html body:not(#nx) main section.nx-svclist .wrap > .nx-svcrow{margin-left:14px!important;margin-right:14px!important}}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-svcrow > p,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-svcrow > p.stand{font-size:17px!important;line-height:1.55!important;color:#C9C7C2!important}
/* preview: rows with nothing to open, same look as the service rows without the plus */
html body:not(#nx) main .nx-plainrows{margin:18px 0 6px}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-static h3.nx-rowtitle{font-size:19px!important;font-weight:600!important;color:#F4F3EF!important;margin:0 0 6px!important;line-height:1.3!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-static p.nx-rowdesc{font-size:17px!important;line-height:1.55!important;color:#C9C7C2!important;margin:0!important;max-width:820px}
html body:not(#nx) main .eflows:has(.nx-plainrows){overflow:visible}
html body:not(#nx) main .eflows-in:has(.nx-plainrows){display:block!important;min-width:0!important}
/* preview: a clear tree on every page, section heading, then rows, then detail */
html body:not(#nx) main section.nx-svclist .wrap > h2.nx-listhead{margin:0 44px 18px!important;font-size:28px!important;color:#C6A05A!important;font-weight:600!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h3.olab{font-size:28px!important;font-weight:600!important;color:#C6A05A!important;margin:40px 0 10px!important;letter-spacing:-.01em!important;text-transform:none!important}
@media (max-width:900px){html body:not(#nx) main section.nx-svclist .wrap > h2.nx-listhead{margin:0 14px 14px!important;font-size:22px!important}html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h3.olab{font-size:22px!important}}
/* preview: one standard bar, eight items, the same columns everywhere */
html body:not(#nx) .stepnav{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:0 10px!important}
@media (max-width:900px){html body:not(#nx) .stepnav{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:4px 12px!important}}
/* preview: in every bar the next stage only pulses along its top line, and the heading lines up with the items */
html body:not(#nx) .stepnav a.step.flash::before{background:none!important;border-top:2px solid #C6A05A!important;height:0!important;bottom:auto!important;animation:nxtpulse 1.8s ease-in-out infinite!important}
html body:not(#nx) .barlab{margin-left:-10px!important;padding-left:0!important}
@media (prefers-reduced-motion:reduce){html body:not(#nx) .stepnav a.step.flash::before{animation:none!important;opacity:.8}}
@media (max-width:900px){html body:not(#nx) .barlab{margin-left:0!important}}
/* preview: former page buttons as plain text links */
html body:not(#nx) main a.nx-inline{color:#C6A05A!important;font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;white-space:nowrap}
html body:not(#nx) main a.nx-inline::after{content:" \2192";text-decoration:none;display:inline-block;margin-left:4px}
html body:not(#nx) main a.nx-inline:hover{color:#F4F3EF!important}
/* preview: opening statements, sector labels and added headings */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main section.nx-opening p.nx-openp{font-size:23px!important;line-height:1.45!important;font-weight:500!important;color:#F4F3EF!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main section.nx-opening p.nx-openp{font-size:19px!important}}
html body:not(#nx) main p.nx-kicker{font-size:12px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase;color:#C6A05A!important;margin:0 0 10px!important;padding-left:44px}
@media (max-width:900px){html body:not(#nx) main p.nx-kicker{padding-left:36px}}
html body:not(#nx) main h2.nx-addhead{margin:0 0 14px!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main section.nx-opening p.nx-kicker{font-size:12px!important;font-weight:600!important;color:#C6A05A!important;line-height:1.4!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h2.nx-addhead{color:#C6A05A!important}
html body:not(#nx) main section > .wrap > h2.nx-addhead,html body:not(#nx) main section.nx-opening > .wrap > p,html body:not(#nx) main section.nx-opening > .wrap > div:not(.cards2):not(.panel){padding-left:44px!important;padding-right:44px!important}
@media (max-width:900px){html body:not(#nx) main section > .wrap > h2.nx-addhead,html body:not(#nx) main section.nx-opening > .wrap > p,html body:not(#nx) main section.nx-opening > .wrap > div:not(.cards2):not(.panel){padding-left:36px!important;padding-right:36px!important}}
html body:not(#nx) main section:has(> .wrap > h2.nx-addhead) > .wrap > *:not(.cards2):not(.panel){padding-left:44px!important;padding-right:44px!important}
@media (max-width:900px){html body:not(#nx) main section:has(> .wrap > h2.nx-addhead) > .wrap > *:not(.cards2):not(.panel){padding-left:36px!important;padding-right:36px!important}}
html body:not(#nx) main p.nx-linkline{padding-left:44px!important}@media (max-width:900px){html body:not(#nx) main p.nx-linkline{padding-left:36px!important}}
/* preview: both bars centre their number and name, and mark the selected item the same way */
html body:not(#nx) .stepnav a.step{text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;position:relative}
html body:not(#nx) .stepnav a.step .sn,html body:not(#nx) .stepnav a.step .st{display:block!important;text-align:center!important;margin-left:auto!important;margin-right:auto!important}
html body:not(#nx) .stepnav a.step .hint{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;top:-26px!important;margin:0!important}
html body:not(#nx) .stepnav a.step:hover::before{background:#C6A05A!important}
html body:not(#nx) .stepnav a.step:hover .st{color:#C6A05A}
html body:not(#nx) .stepnav a.step.on:hover .st{color:#141414}
@media (max-width:900px){html body:not(#nx) .stepnav a.step .hint{top:-20px!important}}
html body:not(#nx) .stepnav a.step{position:relative!important}html body:not(#nx) .stepnav a.step .hint{left:0!important;right:0!important;width:auto!important;transform:none!important;text-align:center!important}
html body:not(#nx) .stepnav a.step .hint{translate:none!important}
/* preview: a list item never splits across columns */
html body:not(#nx) main .osvc li,html body:not(#nx) main [style*="columns"] li,html body:not(#nx) main ul li{break-inside:avoid!important;page-break-inside:avoid!important;-webkit-column-break-inside:avoid!important;display:block}
/* preview: the heading over a set of step boxes is larger than the box titles inside it */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h3.eflow-h,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .eflow-h{font-size:23px!important;line-height:1.3!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .eflow-h{font-size:20px!important}}
/* preview: small capital labels that lead a set of rows become proper headings, larger than the rows */
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h3.subhead{font-size:23px!important;font-weight:600!important;letter-spacing:-.01em!important;text-transform:none!important;color:#C6A05A!important;line-height:1.3!important;margin:26px 0 10px!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .mbody h3.subhead{font-size:20px!important}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main h3.subhead{font-size:20px!important}html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .mbody h3.subhead{font-size:18px!important}}
@media (max-width:900px){html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .mbody h3.subhead{font-size:21px!important}}
/* preview: figure and statement bands in deep navy, gold figure, white text */
html body:not(#nx) main section.band.nx-figure.nx-goldfig,html body:not(#nx) main section.band.nx-ivoryline,html body:not(#nx) main .nx-ivoryline.nx-inline{background:#13233D!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-goldfig .nx-n{color:#C6A05A!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-goldfig .nx-fig p.nx-t,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-ivoryline p.nx-iv{color:#F4F3EF!important}
html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-goldfig .nx-fig p.nx-s,html body:not(.notice):not(.z1):not(.z2):not(#nx):not(#nx2):not(#nx3) main .nx-goldfig .nx-fig p.nx-s *{color:#B9C2D0!important}
html body:not(#nx) main .nx-goldfig .nx-fig p.nx-s a{text-decoration-color:rgba(185,194,208,.5)}
/* preview: the mid-page navy band is a blank breaker, no wording */
html body:not(#nx) main section.band.nx-ivoryline.nx-blank{padding:0!important;height:64px!important;min-height:0!important}
html body:not(#nx) main .nx-ivoryline.nx-inline.nx-blank{padding:0 calc(50vw - 50%)!important;height:64px!important}

/* preview: the Digitise pixel staircase appears square by square, the last rising squares fading out */
.hero .nx-herodraw g.nx-pix rect:nth-child(1){animation-delay:2.90s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(2){animation-delay:3.01s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(3){animation-delay:3.12s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(4){animation-delay:3.23s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(5){animation-delay:3.34s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(6){animation-delay:3.45s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(7){animation-delay:3.56s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(8){animation-delay:3.67s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(9){animation-delay:3.78s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(10){animation-delay:3.89s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(11){animation-delay:4.00s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(12){animation-delay:4.11s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(13){animation-delay:4.22s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(14){animation-delay:4.33s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(15){animation-delay:4.44s!important}.hero .nx-herodraw g.nx-pix rect:nth-child(16){animation-delay:4.55s!important}

/* contact form: asterisks on mandatory fields, missing ones marked once sending is attempted */
html body:not(#nx) form.enquiry-form .req{color:#C6A05A;margin-left:4px;font-weight:600}
html body:not(#nx) form.enquiry-form .req-note{font-size:14px!important;color:#9A9893!important;margin:6px 0 12px!important}
html body:not(#nx) form.enquiry-form.tried :is(input,select,textarea):invalid{border-color:#D97757!important;box-shadow:0 0 0 1px #D97757 inset!important}
html body:not(#nx) form.enquiry-form.tried label:has(:invalid){color:#E8A08A}

/* Advisory drawing: the dotted gold route appears after the mountains draw, then the waypoints one by one */
.hero .nx-herodraw .nx-route{opacity:0;animation:nxfadein 1.2s ease 3.1s forwards}
.hero .nx-herodraw .nx-way{opacity:0;animation:nxfadein .35s ease forwards}
.hero .nx-herodraw .nx-way:nth-of-type(1){animation-delay:3.2s}.hero .nx-herodraw .nx-way:nth-of-type(2){animation-delay:3.5s}
.hero .nx-herodraw .nx-way:nth-of-type(3){animation-delay:3.8s}.hero .nx-herodraw .nx-way:nth-of-type(4){animation-delay:4.1s}
@keyframes nxfadein{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.hero .nx-herodraw .nx-route,.hero .nx-herodraw .nx-way{animation:none;opacity:1}}

.hero .nx-herodraw .nx-summitflag{opacity:0;animation:nxfadein .5s ease 4.4s forwards}
@media (prefers-reduced-motion:reduce){.hero .nx-herodraw .nx-summitflag{animation:none;opacity:1}}
