:root{color-scheme:light;--ink:#15171c;--ink-2:#1f1f1f;--paper:#f8f8f6;--white:#fff;--gold:#d6ad45;--gold-2:#c6a85a;--muted:#666862;--line:#d9d8d2;--danger:#a12626;--success:#177245;--shadow:0 18px 50px #0a0a0a24;--radius:.45rem;--container:min(1180px,calc(100% - 2rem));--s1:.5rem;--s2:.75rem;--s3:1rem;--s4:1.5rem;--s5:2rem;--s6:3rem;--s7:5rem;--font-ui:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Cormorant Garamond",Georgia,serif;--motion:180ms ease}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:1rem;line-height:1.6}img{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.22em}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3{font-family:var(--font-display);line-height:.98;text-wrap:balance}h1{font-size:clamp(3rem,8vw,6.2rem);letter-spacing:-.045em}h2{font-size:clamp(2.1rem,5vw,4.25rem);letter-spacing:-.035em}h3{font-size:clamp(1.5rem,3vw,2.25rem)}p{max-width:70ch}.container{width:var(--container);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:1rem;translate:0 -200%;background:var(--white);color:#000;padding:.8rem 1rem;z-index:1000;border-radius:var(--radius)}.skip-link:focus{translate:0}.icon{width:1.2em;height:1.2em;flex:0 0 auto}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.site-header{position:sticky;top:0;z-index:100;background:#15171cf5;color:var(--white);border-bottom:1px solid #ffffff18;backdrop-filter:blur(12px)}.site-header__inner{width:min(1240px,calc(100% - 2rem));min-height:5.5rem;margin:auto;display:grid;grid-template-columns:9rem 1fr auto auto;align-items:center;gap:clamp(1rem,2vw,2rem)}.brand{display:inline-flex}.brand img{width:7rem;height:auto}.primary-nav ul,.site-footer ul,.breadcrumbs ol{list-style:none;margin:0;padding:0}.primary-nav ul{display:flex;justify-content:center;gap:clamp(.8rem,1.4vw,1.4rem)}.primary-nav a,.language-switcher a{text-decoration:none;font-size:.78rem;font-weight:800}.primary-nav a:hover,.primary-nav a:focus-visible{color:var(--gold)}.language-switcher{display:flex;border:1px solid #ffffff22;border-radius:var(--radius);padding:.2rem}.language-switcher a{padding:.35rem .5rem;border-radius:.25rem}.language-switcher a[aria-current=page]{background:var(--gold);color:#181818}.menu-toggle{display:none;background:transparent;color:inherit;border:1px solid #ffffff30;border-radius:var(--radius);padding:.65rem}.menu-close{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.9rem;padding:.72rem 1.15rem;border:1px solid var(--gold);border-radius:var(--radius);background:var(--gold);color:#151515;font-weight:850;text-decoration:none;box-shadow:none}.button:hover{background:#e0bd62}.button--small{font-size:.8rem;min-height:2.6rem}.button--ghost{background:transparent;color:inherit;border-color:currentColor}.button--ghost:hover{background:#ffffff10}.breadcrumbs{padding-block:1.15rem}.breadcrumbs ol{display:flex;gap:.7rem;font-size:.82rem}.breadcrumbs li+li:before{content:"/";margin-right:.7rem;color:var(--muted)}.scaffold{min-height:70vh;display:grid;place-content:center;justify-items:start;padding-block:var(--s7)}.scaffold h1{max-width:12ch;margin:0}.scaffold p{font-size:1.2rem}.site-footer{background:var(--ink);color:#ffffffc7;padding-top:var(--s7)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--s6)}.footer-logo{width:8rem}.site-footer h2{font:800 .8rem/1 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.site-footer li{margin-block:.55rem}.site-footer a,.link-button{color:inherit}.link-button{border:0;background:transparent;padding:0;text-decoration:underline;text-underline-offset:.22em}.footer-bottom{margin-top:var(--s6);padding-block:var(--s4);border-top:1px solid #ffffff18}.style-guide{padding-block:var(--s7)}.style-guide>h1{margin:0}.lead{font-size:1.25rem;color:var(--muted)}.style-guide>section{padding-block:var(--s6);border-top:1px solid var(--line)}.component-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s3)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.card{position:relative;min-height:18rem;padding:var(--s5);border:1px solid var(--line);background:var(--white);display:flex;flex-direction:column;align-items:flex-start}.card--dark{background:var(--ink);color:var(--white);border-color:var(--ink)}.card h3{margin-block:2rem 0}.card-index{font-weight:800;color:var(--gold-2)}.card a{margin-top:auto;display:flex;align-items:center;gap:.5rem;font-weight:800}.demo-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);max-width:50rem}.demo-form label{display:grid;gap:.4rem;font-weight:800}.demo-form label:last-of-type,.demo-form .button,.form-status{grid-column:1/-1}.demo-form input,.demo-form textarea{width:100%;border:1px solid #7a7a72;border-radius:var(--radius);padding:.8rem;background:var(--white);color:var(--ink)}.field-help{font-size:.8rem;color:var(--muted);font-weight:500}.form-status{min-height:1.5rem}details{border-block:1px solid var(--line);padding:var(--s3) 0}summary{font-weight:850;cursor:pointer}.tabs [role=tablist]{display:flex;gap:.25rem;border-bottom:1px solid var(--line)}.tabs [role=tab]{border:0;background:transparent;padding:.8rem 1rem;font-weight:800}.tabs [role=tab][aria-selected=true]{color:#8c6c17;border-bottom:3px solid var(--gold)}.tabs [role=tabpanel]{padding:var(--s4);background:var(--white)}.consent-banner{position:fixed;z-index:300;right:1rem;bottom:1rem;width:min(42rem,calc(100% - 2rem));padding:var(--s4);background:#101217;color:var(--white);border:1px solid #d6ad4570;border-top:4px solid var(--gold);box-shadow:var(--shadow);display:grid;gap:var(--s3)}.consent-banner[hidden]{display:none}.consent-banner p{margin:.35rem 0}.consent-actions{display:flex;gap:.5rem;flex-wrap:wrap}.consent-dialog{width:min(38rem,calc(100% - 2rem));border:1px solid #d6ad4570;border-radius:var(--radius);padding:0;color:var(--ink);box-shadow:var(--shadow)}.consent-dialog::backdrop{background:#000a}.consent-dialog form{padding:var(--s5)}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.dialog-head h2{font-size:2.5rem;margin:0}.icon-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;width:2.75rem;height:2.75rem}.consent-dialog fieldset{display:grid;gap:1rem;margin-block:var(--s4);border:0;padding:0}.consent-dialog legend{font-weight:850;margin-bottom:1rem}.dialog-actions{display:flex;justify-content:flex-end}
@media(max-width:1050px){.site-header__inner{grid-template-columns:8rem 1fr auto auto}.primary-nav{display:none}.menu-toggle{display:inline-flex;justify-self:end}.primary-nav[data-open]{display:block;position:absolute;inset:100% 0 auto;background:var(--ink);padding:1rem}.primary-nav[data-open] ul{width:var(--container);margin:auto;display:grid;gap:0}.primary-nav[data-open] a{display:block;padding:.85rem 0;border-bottom:1px solid #ffffff18}.menu-toggle[aria-expanded=true] .menu-open{display:none}.menu-toggle[aria-expanded=true] .menu-close{display:inline-flex}}
@media(max-width:650px){.site-header__inner{min-height:4.5rem;grid-template-columns:1fr auto}.brand img{width:5.5rem}.language-switcher,.header-cta{display:none}.footer-grid,.cards,.demo-form{grid-template-columns:1fr}.demo-form label:last-of-type,.demo-form .button,.form-status{grid-column:auto}.consent-actions{display:grid}.consent-actions .button{width:100%}h1{font-size:clamp(2.8rem,15vw,4.5rem)}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button,.primary-nav a{transition:background-color var(--motion),color var(--motion),transform var(--motion)}.button:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.button,.site-header{border:1px solid ButtonText}}

/* Live header proportions and reliable mega-menu interaction. */
.site-header{position:fixed;inset:0 0 auto;z-index:200;padding:16px 24px;background:rgba(21,23,28,.38);border-bottom:1px solid #ffffff1a;backdrop-filter:blur(14px);transition:padding var(--motion),background-color var(--motion),box-shadow var(--motion)}
.site-header__inner{width:min(1280px,100%);min-height:90px;grid-template-columns:150px minmax(0,1fr) auto auto}
.brand{align-items:center}.brand img{width:150px;height:90px;object-fit:contain;transition:width var(--motion),height var(--motion)}
.site-header.is-scrolled{padding:9px 24px;background:rgba(21,23,28,.94);box-shadow:0 12px 34px #0004}
.site-header.is-scrolled .site-header__inner{min-height:62px}.site-header.is-scrolled .brand img{width:126px;height:62px}
.breadcrumbs{display:none}
.page-420 main,.page-426 main,.page-435 main{padding-top:122px}
.primary-nav__service-trigger{appearance:none;color:inherit;background:transparent;border:0;font-family:var(--font-ui);font-size:.78rem;font-weight:800;line-height:1;cursor:default}
.primary-nav__service-trigger::before{width:.42rem;height:.42rem;margin-left:.45rem;order:2;content:"";border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.header-cta,.header-cta:visited,.header-cta .icon{color:#fff!important}.header-cta .icon{stroke:#fff}
.primary-nav__item--mega{position:static}
.mega-menu{top:calc(100% - 8px);padding-top:14px}

@media(max-width:1050px){.site-header{padding:10px 16px;background:rgba(21,23,28,.9)}.site-header.is-scrolled{padding:7px 16px}.site-header__inner{width:100%;min-height:62px;grid-template-columns:132px 1fr auto auto}.brand img,.site-header.is-scrolled .brand img{width:132px;height:62px}.primary-nav[data-open]{top:100%;inset-inline:-16px;max-height:calc(100svh - 82px);background:rgba(21,23,28,.98);box-shadow:0 18px 42px #0008}.primary-nav__service-trigger{cursor:pointer;font-size:.78rem;text-align:left}.primary-nav__service-trigger::before{display:none}.mega-menu{padding-top:.5rem}}
@media(max-width:650px){.site-header__inner{grid-template-columns:1fr auto}.brand img,.site-header.is-scrolled .brand img{width:118px;height:58px}.page-420 main,.page-426 main,.page-435 main{padding-top:82px}}

/* Northstone 22 July 2026 content and layout revision. */
.ns22-container{width:min(1240px,calc(100% - 2.5rem));margin-inline:auto}.ns22-section{padding:clamp(4.5rem,8vw,8rem) 0}.ns22-heading{display:grid;max-width:62rem;margin-bottom:clamp(2rem,4vw,3.5rem);gap:.65rem}.ns22-heading>p,.ns22-kicker{margin:0;color:#9a7929;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.ns22-heading h2,.ns22-section h2{margin:.1rem 0;font-size:clamp(2.55rem,5.2vw,4.8rem);line-height:.98}.ns22-heading>span{max-width:70ch;color:#68645e;font-size:1.04rem;line-height:1.8}.ns22-lead{font-family:var(--font-display);font-size:clamp(1.55rem,2.8vw,2.2rem);line-height:1.12}.ns22-page-hero{display:grid;min-height:clamp(34rem,72vh,48rem);align-items:end;padding:12rem 0 5.5rem;color:#fff;background-position:center;background-size:cover;isolation:isolate}.ns22-page-hero>.ns22-container{display:grid;max-width:1240px;gap:.8rem}.ns22-page-hero p{margin:0;color:#e1bb58;font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.ns22-page-hero h1{max-width:14ch;margin:0;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.92}.ns22-page-hero span{max-width:66ch;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.8}.ns22-page-hero--services{background-image:linear-gradient(90deg,#11141be8,#11141b82),url('/assets/optimized/2026/01/ChatGPT-Image-Jan-10-2026-07_16_48-PM.webp')}.ns22-page-hero--industries{background-image:linear-gradient(90deg,#11141be8,#11141b82),url('/assets/optimized/2026/01/ChatGPT-Image-Jan-10-2026-08_17_51-PM.webp')}.ns22-page-hero--projects{background-image:linear-gradient(90deg,#11141be8,#11141b75),url('/assets/optimized/2026/01/ChatGPT-Image-Jan-10-2026-10_08_06-PM.webp')}.ns22-page-hero--resources{background-image:linear-gradient(90deg,#11141be8,#11141b82),url('/assets/optimized/2026/01/ChatGPT-Image-Jan-11-2026-01_47_48-AM.webp')}
.ns22-divisions{background:#f4f1e9}.ns22-divisions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ns22-division-card{display:flex;min-width:0;min-height:35rem;padding:1.55rem;flex-direction:column;color:#17191e;background:#fff;border:1px solid #ddd6c7;border-radius:1rem;box-shadow:0 14px 38px #17191e0d}.ns22-index{color:#a17e28;font-weight:900}.ns22-division-card h3{margin:1.35rem 0 .5rem;font-size:2rem;line-height:1;overflow-wrap:anywhere}.ns22-division-card p{min-height:4.5rem;margin:.2rem 0 1rem;color:#68645e}.ns22-division-card ul{display:grid;margin:0;padding:0;gap:.55rem;list-style:none}.ns22-division-card li{padding-left:1rem;font-size:.83rem}.ns22-division-card li::before{margin-left:-1rem;margin-right:.55rem;color:#c39c38;content:"•"}.ns22-division-card a{display:flex;margin-top:auto;padding-top:1.5rem;justify-content:space-between;color:inherit;font-size:.8rem;font-weight:900;text-decoration:none;border-top:1px solid #d7d0c2}
.ns22-why{color:#fff;background:radial-gradient(circle at 88% 12%,#d6ad4524,transparent 32%),#17191e}.ns22-why-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,8rem);align-items:start}.ns22-why h2{max-width:14ch;font-size:clamp(2.35rem,4vw,4rem)}.ns22-why .ns22-lead{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.18}.ns22-why-grid>ul{display:grid;margin:0;padding:0;gap:.75rem;list-style:none}.ns22-why-grid li{display:grid;padding:1.2rem 1.3rem;gap:.3rem;background:#ffffff0b;border:1px solid #ffffff18;border-radius:.75rem}.ns22-why-grid li strong{color:#e1bb58}.ns22-why-grid li span{color:#ffffffb8;line-height:1.65}
.ns22-process{background:#fff}.ns22-process-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;gap:.8rem;list-style:none}.ns22-process-grid::before{position:absolute;top:1.15rem;right:8%;left:8%;height:1px;content:"";background:#d6ad4573}.ns22-process-grid>li{position:relative;padding:3.25rem 1.15rem 1.35rem;background:#f7f5ef;border:1px solid #dfd8c9;border-radius:.8rem}.ns22-process-grid>li>span{position:absolute;top:.45rem;left:1rem;z-index:1;display:grid;width:1.45rem;height:1.45rem;place-items:center;color:#17191e;background:#d6ad45;border-radius:50%;font-size:.62rem;font-weight:900}.ns22-process-grid h3{margin:0 0 .7rem;font-size:1.55rem}.ns22-process-grid p{margin:0;color:#69655d;font-size:.86rem;line-height:1.65}
.ns22-home-projects{padding:3rem 0 4rem;color:#fff;background:#17191e}.ns22-home-projects__heading{max-width:64rem;margin:0 auto 1.75rem;justify-items:center;gap:.5rem;text-align:center}.ns22-home-projects__heading h2{max-width:27ch;font-size:clamp(2.7rem,3.8vw,3.6rem)}.ns22-home-projects__heading>i{display:block;width:2.25rem;height:3px;margin:.35rem 0 .6rem;background:#d6ad45;border-radius:999px}.ns22-home-projects .ns22-heading>span{max-width:66ch;color:#ffffffad;line-height:1.65}.ns22-home-projects__heading>img{width:1.45rem;height:1.45rem;margin-top:.25rem;filter:invert(72%) sepia(48%) saturate(643%) hue-rotate(357deg) brightness(91%) contrast(88%)}.ns22-sector-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}.ns22-sector-card{position:relative;display:flex;min-width:0;min-height:30rem;align-items:end;padding:1.25rem;overflow:hidden;color:#fff;background:linear-gradient(180deg,#1111,#0b0c0fe8),var(--sector-image) center/cover;border:1px solid #ffffff1c;border-radius:.8rem;box-shadow:0 14px 34px #0003;text-decoration:none}.ns22-sector-card::before{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 20%,#0c0e1252 48%,#0c0e12f2 100%);transition:background-color var(--motion)}.ns22-sector-card>div{position:relative;z-index:1;width:100%}.ns22-sector-icon{display:grid;width:3.6rem;height:3.6rem;margin-bottom:1rem;place-items:center;background:#fff;border:1px solid #ffffffc9;border-radius:50%;box-shadow:0 8px 24px #0003}.ns22-sector-icon img{width:1.75rem;height:1.75rem;filter:invert(58%) sepia(31%) saturate(1128%) hue-rotate(357deg) brightness(93%) contrast(88%)}.ns22-sector-grid h3{margin:0;font-family:var(--font-ui);font-size:1.28rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}.ns22-sector-card>div>i{display:block;width:1.5rem;height:3px;margin:.75rem 0 .8rem;background:#d6ad45}.ns22-sector-grid p{min-height:5rem;margin:0;color:#ffffffe0;font-size:.75rem;line-height:1.65}.ns22-sector-card:hover::before,.ns22-sector-card:focus-visible::before{background:#0c0e1230}.ns22-sector-card:focus-visible{outline-color:#fff}.ns22-actions{display:flex;margin-top:2rem;gap:.75rem;flex-wrap:wrap}.ns22-home-projects .ns22-actions{justify-content:center}.ns22-home-projects .button--ghost{color:#fff}
.ns22-about{text-align:center;background:#f3efe4}.ns22-about>.ns22-container{display:grid;justify-items:center}.ns22-about h2{max-width:12ch}.ns22-about p:not(.ns22-kicker){max-width:58ch;font-family:var(--font-display);font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.25}.ns22-about .button{margin-top:1rem}
.ns22-industries-dark{padding:4.5rem 0 2.75rem;color:#fff;background:#18191b}.ns22-industries-dark>.ns22-container{display:grid;width:min(1100px,calc(100% - 2rem))}.ns22-industries-dark__heading{display:grid;max-width:48rem;margin:0 0 2.15rem;gap:.4rem}.ns22-industries-dark__heading>p{margin:0}.ns22-industries-dark__heading h2{margin:.35rem 0 .55rem;font-size:clamp(2.45rem,3vw,3rem)}.ns22-industries-dark__heading>i{display:block;width:2.4rem;height:2px;margin-bottom:.7rem;background:#d6ad45}.ns22-industries-dark .ns22-heading>span{max-width:72ch;color:#ffffffad;line-height:1.8}.ns22-industry-mini{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.ns22-industry-mini article{display:grid;min-height:17.5rem;padding:1.45rem 1.2rem;align-content:start;justify-items:center;text-align:center;background:#ffffff05;border:1px solid #ffffff24;border-radius:.85rem;box-shadow:0 12px 25px #0002}.ns22-industry-mini__icon{display:grid;width:5rem;height:5rem;margin-bottom:1.25rem;place-items:center;border:1px solid #d6ad45;border-radius:50%}.ns22-industry-mini__icon img{width:2.5rem;height:2.5rem;filter:invert(72%) sepia(48%) saturate(643%) hue-rotate(357deg) brightness(91%) contrast(88%)}.ns22-industry-mini h3{margin:0 0 .75rem;color:#fff;font-size:1.3rem}.ns22-industry-mini p{margin:0;color:#ffffffb8;font-size:.75rem;line-height:1.75}.ns22-industries-dark__link{display:inline-flex;min-width:15rem;margin:2rem auto 0;padding:.35rem 0 .55rem;align-items:center;justify-content:space-between;gap:1.5rem;color:#e1bb58;font-weight:900;text-decoration:none;border-bottom:1px solid #d6ad45}.ns22-industries-dark__link:hover,.ns22-industries-dark__link:focus-visible{color:#f0ca68}
.ns22-industry-cards{background:#f4f1e9}.ns22-industry-grid{display:grid;gap:1.25rem}.ns22-industry-grid article{display:grid;grid-template-columns:minmax(20rem,.8fr) minmax(0,1.2fr);min-height:25rem;overflow:hidden;background:#fff;border:1px solid #ddd6c7;border-radius:1rem}.ns22-industry-grid article:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr)}.ns22-industry-grid article:nth-child(even) img{grid-column:2}.ns22-industry-grid article:nth-child(even)>div{grid-column:1;grid-row:1}.ns22-industry-grid img{width:100%;height:100%;object-fit:cover}.ns22-industry-grid article>div{display:flex;padding:clamp(2rem,5vw,4.5rem);flex-direction:column;justify-content:center}.ns22-industry-grid span{color:#a17e28;font-weight:900}.ns22-industry-grid h2{margin:.7rem 0 1rem}.ns22-industry-grid p{font-size:1.05rem;line-height:1.8}.ns22-industry-grid strong{color:#9a7929;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.ns22-service-list{background:#f4f1e9}.ns22-service-list>.ns22-container>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.ns22-service-list article{display:flex;min-height:14rem;padding:1.35rem;flex-direction:column;background:#fff;border:1px solid #ddd6c7;border-radius:.75rem}.ns22-service-list article>span{color:#9a7929;font-size:.7rem;font-weight:900}.ns22-service-list h3{margin:1rem 0 .65rem;font-size:2rem}.ns22-service-list article p{margin:0;color:#6a665f;font-size:.86rem}.ns22-service-list article a{margin-top:auto;color:#8b6a1c;font-size:.78rem;font-weight:900;text-decoration:none}.ns22-transition{padding:clamp(4rem,6vw,5.5rem) 1.25rem;color:#fff;background:radial-gradient(circle at 80% 20%,#d6ad4524,transparent 34%),#17191e}.ns22-transition>div{display:grid;width:min(1240px,100%);margin:auto;justify-items:start}.ns22-transition p{margin:0;color:#d6ad45;font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.ns22-transition h2{width:100%;max-width:none;margin:.7rem 0;font-size:clamp(2.7rem,5vw,4.8rem)}.ns22-transition span{width:100%;max-width:none;color:#ffffffbd;line-height:1.8}.ns22-transition .button{margin-top:1.5rem}
.ns22-analysis-services{color:#18191d;background:#fbfaf7}.ns22-analysis-services>.ns22-container{width:min(1240px,calc(100% - 2rem))}.ns22-analysis-services__heading{display:grid;max-width:51rem;margin-bottom:2.25rem;gap:.4rem}.ns22-analysis-services__heading>p{margin:0}.ns22-analysis-services__heading h2{margin:.3rem 0 .45rem;font-size:clamp(2.55rem,4vw,4rem);line-height:1}.ns22-analysis-services__heading>span{max-width:72ch;color:#69665f;line-height:1.7}.ns22-analysis-services__layout{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);align-items:stretch;gap:1rem}.ns22-analysis-primary,.ns22-analysis-card{min-width:0;background:#fff;border:1px solid #dedbd3;border-radius:1rem;box-shadow:0 14px 36px #17191e0b}.ns22-analysis-primary{display:flex;min-height:38rem;padding:1.55rem;flex-direction:column;border-color:#d6ad45}.ns22-analysis-primary__meta{display:flex;min-height:2rem;align-items:center;justify-content:space-between;gap:1rem}.ns22-analysis-primary__meta>span{display:inline-flex;padding:.35rem .65rem;align-items:center;gap:.35rem;color:#71520f;background:#fff9e8;border:1px solid #d6ad4575;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.ns22-analysis-primary__meta img{width:.75rem;height:.75rem;filter:invert(63%) sepia(53%) saturate(768%) hue-rotate(358deg) brightness(91%) contrast(84%)}.ns22-analysis-primary__meta strong{color:#71520f;font-size:.72rem}.ns22-analysis-card__icon{width:2.8rem;height:2.8rem;margin:1.25rem 0 .65rem;filter:invert(63%) sepia(53%) saturate(768%) hue-rotate(358deg) brightness(91%) contrast(84%)}.ns22-analysis-card__icon--primary{width:4rem;height:4rem;margin:1.5rem 0 .8rem}.ns22-analysis-primary h3{max-width:17ch;margin:0 0 .8rem;font-size:2.25rem;line-height:1}.ns22-analysis-primary>p{max-width:55ch;margin:0;color:#66635c;font-size:.88rem;line-height:1.7}.ns22-analysis-primary ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.5rem 0 1rem;padding:0;gap:.7rem;list-style:none}.ns22-analysis-primary li{display:flex;min-height:3rem;padding:.65rem .75rem;align-items:center;gap:.55rem;color:#4d4b46;background:#fff;border:1px solid #dedbd3;border-radius:.55rem;font-size:.72rem;font-weight:800}.ns22-analysis-primary li img{flex:0 0 1.15rem;width:1.15rem;height:1.15rem;filter:invert(63%) sepia(53%) saturate(768%) hue-rotate(358deg) brightness(91%) contrast(84%)}.ns22-analysis-primary>a,.ns22-analysis-card>a{display:flex;margin-top:auto;align-items:center;justify-content:space-between;color:#24231f;font-size:.77rem;font-weight:900;text-decoration:none;border-top:1px solid #e1ddd4}.ns22-analysis-primary>a{margin-right:-1.55rem;margin-bottom:-1.55rem;margin-left:-1.55rem;padding:1.15rem 1.55rem}.ns22-analysis-primary>a img,.ns22-analysis-card>a img{width:1.15rem;height:1.15rem;filter:invert(63%) sepia(53%) saturate(768%) hue-rotate(358deg) brightness(91%) contrast(84%);transition:transform var(--motion)}.ns22-analysis-primary>a:hover img,.ns22-analysis-primary>a:focus-visible img,.ns22-analysis-card>a:hover img,.ns22-analysis-card>a:focus-visible img{transform:translateX(.25rem)}.ns22-analysis-secondary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.ns22-analysis-card{display:flex;min-height:18rem;padding:1.15rem;flex-direction:column}.ns22-analysis-card:nth-child(-n+2){grid-column:span 3}.ns22-analysis-card:nth-child(n+3){grid-column:span 2}.ns22-analysis-card__top{display:flex;min-height:1.7rem;align-items:center;justify-content:space-between;gap:.8rem}.ns22-analysis-card__top>i{display:block;width:2rem;height:2px;background:#d6ad45}.ns22-analysis-card__top>span{padding:.3rem .55rem;color:#3e3d39;background:#fbfaf7;border:1px solid #dedbd3;border-radius:999px;font-size:.61rem;font-weight:900}.ns22-analysis-card h3{margin:0 0 .55rem;font-size:1.42rem;line-height:1.05}.ns22-analysis-card p{margin:0;color:#69665f;font-size:.72rem;line-height:1.65}.ns22-analysis-card>a{margin-right:-1.15rem;margin-bottom:-1.15rem;margin-left:-1.15rem;padding:.85rem 1.15rem}.ns22-analysis-outcomes{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(0,2.1fr);margin-top:1.4rem;padding:1.25rem 1.45rem;align-items:center;background:#fff;border:1px solid #dedbd3;border-radius:1rem;box-shadow:0 14px 36px #17191e0b}.ns22-analysis-outcomes__title{display:flex;min-width:0;align-items:center;gap:1rem}.ns22-analysis-outcomes__title>span{display:grid;flex:0 0 4.2rem;width:4.2rem;height:4.2rem;place-items:center;background:#d6ad45;border-radius:50%}.ns22-analysis-outcomes__title img{filter:brightness(0) invert(1)}.ns22-analysis-outcomes h3{margin:0;font-size:1.35rem;line-height:1.1}.ns22-analysis-outcomes ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}.ns22-analysis-outcomes li{display:flex;min-height:3rem;padding:0 .9rem;align-items:center;justify-content:center;gap:.5rem;border-left:1px solid #dedbd3;color:#4f4c46;font-size:.7rem;font-weight:800;text-align:center}.ns22-analysis-outcomes li img{flex:0 0 1.45rem;width:1.45rem;height:1.45rem;filter:invert(63%) sepia(53%) saturate(768%) hue-rotate(358deg) brightness(91%) contrast(84%)}
.ns22-benefits{background:#f3efe4}.ns22-benefits>.ns22-container>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.ns22-benefits article{padding:1.3rem;background:#fff;border-left:3px solid #d6ad45}.ns22-benefits article>span{color:#a17e28;font-size:.68rem;font-weight:900}.ns22-benefits h3{margin:.8rem 0 .4rem;font-size:1.8rem}.ns22-benefits p{margin:0;color:#66635c}.ns22-transport-process{color:#fff;background:#17191e}.ns22-transport-process .ns22-heading>span{color:#ffffffad}.ns22-transport-process>div>ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;gap:.85rem;list-style:none}.ns22-transport-process>div>ol>li{padding:1.35rem;background:#ffffff0b;border:1px solid #d6ad4538;border-radius:.8rem}.ns22-transport-process>div>ol>li>span{color:#d6ad45;font-weight:900}.ns22-transport-process h3{margin:1rem 0 .6rem;font-size:1.8rem}.ns22-transport-process p{color:#ffffffb8;font-size:.84rem}.ns22-transport-process strong{color:#e1bb58;font-size:.72rem;text-transform:uppercase}.ns22-transport-process ul{padding-left:1.1rem;color:#ffffffc7;font-size:.76rem}
.ns22-faq{background:#f4f1e9}.ns22-faq-list{display:grid;gap:.65rem}.ns22-faq-list details{padding:0;background:#fff;border:1px solid #ddd6c7;border-radius:.65rem}.ns22-faq-list summary{display:flex;padding:1.2rem 1.3rem;align-items:center;justify-content:space-between;gap:1rem;list-style:none}.ns22-faq-list summary::-webkit-details-marker{display:none}.ns22-faq-list summary span{display:grid;width:1.75rem;height:1.75rem;flex:0 0 auto;place-items:center;color:#17191e;background:#d6ad45;border-radius:50%}.ns22-faq-list details[open] summary span{transform:rotate(45deg)}.ns22-faq-list details p{max-width:78ch;margin:0;padding:0 1.3rem 1.3rem;color:#68645e;line-height:1.75}.ns22-prose{display:grid;gap:1rem}.ns22-prose p{margin:0;font-size:1.03rem;line-height:1.85}.ns22-about-who .about-who__container{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(2rem,7vw,7rem)}
.ns22-infrastructure-media{background:#f3efe4}.ns22-infrastructure-media>.ns22-container>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ns22-infrastructure-media figure{margin:0;overflow:hidden;background:#17191e;border-radius:.8rem}.ns22-infrastructure-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.ns22-infrastructure-media figcaption{padding:.8rem 1rem;color:#fff;font-weight:800}.ns22-cta{text-align:center;background:#e9e2d1}.ns22-cta>.ns22-container{display:grid;justify-items:center}.ns22-cta h2{max-width:15ch}.ns22-cta p{max-width:62ch}.ns22-cta .button{margin-top:1rem}
.ns22-resources-intro{background:#fff}.ns22-resources-intro>.ns22-container{display:grid;max-width:1000px}.ns22-resources-intro h2{max-width:14ch}.ns22-resources-intro>div>p:not(.ns22-kicker){font-size:1.08rem;line-height:1.9}.ns22-resources-intro nav{display:flex;margin-top:1.5rem;gap:.65rem;flex-wrap:wrap}.ns22-resources-intro nav a{padding:.6rem .9rem;background:#f3efe4;border:1px solid #ddd4c0;border-radius:999px;font-size:.78rem;font-weight:900;text-decoration:none}.ns22-resource-library{background:#f4f1e9}.ns22-resource-library--tools{background:#fff}.ns22-resource{scroll-margin-top:7rem;margin-bottom:.8rem;padding:0;background:#fff;border:1px solid #ddd6c7;border-radius:.8rem;overflow:hidden}.ns22-resource>summary{display:flex;padding:1.35rem 1.5rem;align-items:center;justify-content:space-between;gap:1rem;list-style:none}.ns22-resource>summary::-webkit-details-marker{display:none}.ns22-resource>summary>span:first-child{display:grid;gap:.25rem}.ns22-resource summary small{color:#9a7929;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.ns22-resource summary strong{font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1}.ns22-resource summary em{max-width:75ch;color:#69655d;font-size:.82rem;font-style:normal;font-weight:500}.ns22-resource>summary>span:last-child{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;background:#d6ad45;border-radius:50%}.ns22-resource[open]>summary>span:last-child{transform:rotate(45deg)}.ns22-resource__body{display:grid;padding:1.5rem;gap:1.25rem;border-top:1px solid #e4ded1}.ns22-resource__body>section{max-width:82ch}.ns22-resource__body h3{margin:0 0 .55rem;font-size:clamp(1.55rem,2.5vw,2.1rem)}.ns22-resource__body p{margin:.35rem 0;color:#55534d;line-height:1.85}.ns22-resource__body ul{padding-left:1.2rem}.ns22-resource__body li{margin:.35rem 0}.ns22-resource-poster{display:grid;max-width:42rem;margin:0;gap:.5rem}.ns22-resource-poster a{display:block;background:#17191e;border-radius:.6rem;overflow:hidden}.ns22-resource-poster img{display:block;width:100%;height:auto}.ns22-resource-poster figcaption{color:#8b6a1c;font-size:.78rem;font-weight:900}.ns22-checklist{display:grid;padding-left:1.4rem;gap:.5rem}.ns22-brief-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.ns22-brief-fields section{padding:1rem;background:#f7f5ef;border:1px solid #e0d9ca;border-radius:.6rem}.ns22-brief-fields h3{font-size:1.35rem}
.mega-menu__featured>a{display:inline-flex;margin-top:auto;padding-top:1.2rem;align-items:center;justify-content:space-between;color:#e4bd5a;font-size:.76rem;font-weight:900;text-decoration:none;border-top:1px solid #ffffff20}.page-519 .topography-page{color:#1f1f1f}.page-519 .topography-section{opacity:1!important;filter:none!important}.page-318 .cd-services__list{grid-column:1/-1}.page-318 .cd-services__grid{grid-template-columns:1fr}.page-11 .page-hero__content{padding-top:clamp(5rem,10vh,8rem)}
@media(max-width:1100px){.ns22-divisions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ns22-division-card{min-height:30rem}.ns22-sector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ns22-industry-mini{grid-template-columns:repeat(3,minmax(0,1fr))}.ns22-process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ns22-process-grid::before{display:none}.ns22-transport-process>div>ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.ns22-container{width:min(100% - 2rem,1240px)}.ns22-page-hero{min-height:35rem;padding:9rem 0 4rem}.ns22-page-hero h1{font-size:clamp(3rem,12vw,5rem)}.ns22-why-grid,.ns22-industry-grid article,.ns22-industry-grid article:nth-child(even),.ns22-about-who .about-who__container{grid-template-columns:1fr}.ns22-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ns22-sector-card{min-height:28rem}.ns22-industry-grid article:nth-child(even) img,.ns22-industry-grid article:nth-child(even)>div{grid-column:auto;grid-row:auto}.ns22-industry-grid img{max-height:22rem}.ns22-service-list>.ns22-container>div,.ns22-benefits>.ns22-container>div{grid-template-columns:repeat(2,minmax(0,1fr))}.ns22-infrastructure-media>.ns22-container>div{grid-template-columns:1fr}.ns22-brief-fields{grid-template-columns:1fr}.ns22-industries-dark__heading h2{font-size:clamp(2.5rem,9vw,3.4rem)}}
@media(max-width:560px){.ns22-section{padding:4rem 0}.ns22-divisions-grid,.ns22-sector-grid,.ns22-industry-mini,.ns22-process-grid,.ns22-service-list>.ns22-container>div,.ns22-benefits>.ns22-container>div,.ns22-transport-process>div>ol{grid-template-columns:1fr}.ns22-division-card{min-height:auto}.ns22-division-card h3{font-size:1.9rem}.ns22-home-projects{padding:3.25rem 0}.ns22-home-projects__heading h2{max-width:13ch;font-size:2.35rem}.ns22-sector-card{min-height:26rem}.ns22-sector-grid p{min-height:0}.ns22-actions{display:grid}.ns22-actions .button{width:100%}.ns22-resource>summary{padding:1.1rem}.ns22-resource__body{padding:1.1rem}.ns22-resource summary strong{font-size:1.55rem}.page-11 .page-hero__content{padding-top:4rem}}

/* Documentary portfolio imported from the client-supplied July 2026 archive. */
.portfolio-media{padding:clamp(4.5rem,8vw,7.5rem) 1.25rem;color:#1f1f1f;background:#f4f1e9;font-family:var(--font-ui)}
.portfolio-media--related{background:#fff}.portfolio-media__container{width:min(1240px,100%);margin-inline:auto}.portfolio-media__head{display:grid;max-width:58rem;margin-bottom:2.25rem;gap:.65rem}.portfolio-media__head>p{margin:0;color:#9a7929;font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.portfolio-media__head h2{margin:0;font-size:clamp(2.6rem,5vw,4.7rem);line-height:.98}.portfolio-media__head>span{max-width:72ch;color:#67645e;line-height:1.75}.portfolio-media__jumps{display:flex;margin-bottom:3rem;gap:.55rem;flex-wrap:wrap}.portfolio-media__jumps a{padding:.52rem .78rem;color:#2a2926;background:#fff;border:1px solid #d8d2c2;border-radius:999px;font-size:.75rem;font-weight:800;text-decoration:none}.portfolio-media__jumps a:hover,.portfolio-media__jumps a:focus-visible{color:#171717;background:#d6ad45;border-color:#d6ad45}.portfolio-media__albums{display:grid;gap:1rem}.portfolio-album{scroll-margin-top:7rem;padding:0;border:1px solid #d8d2c2;border-radius:1.2rem;background:#fff;overflow:hidden}.portfolio-album summary{display:flex;min-height:6rem;padding:1.35rem 1.5rem;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}.portfolio-album summary::-webkit-details-marker{display:none}.portfolio-album summary::after{display:grid;width:2rem;height:2rem;place-items:center;margin-left:.5rem;content:"+";color:#1f1f1f;background:#d6ad45;border-radius:50%;font-size:1.25rem}.portfolio-album[open] summary::after{content:"−"}.portfolio-album summary>span:first-child{display:grid;gap:.2rem}.portfolio-album summary small{color:#9a7929;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.portfolio-album summary strong{font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1}.portfolio-album summary>span:last-of-type{margin-left:auto;color:#6b6860;font-size:.76rem;font-weight:800;white-space:nowrap}.portfolio-album__body{padding:0 1.5rem 1.5rem;border-top:1px solid #e6e1d5}.portfolio-album__body>p{margin:1.35rem 0;color:#68645c}.portfolio-media__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.portfolio-media__item{min-width:0;margin:0}.portfolio-media__item>a,.portfolio-media__item video{display:block;width:100%;aspect-ratio:4/3;background:#17191e;border-radius:.75rem;overflow:hidden}.portfolio-media__item>a{position:relative;color:#fff}.portfolio-media__item img,.portfolio-media__item video{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.portfolio-media__item>a span{position:absolute;right:.55rem;bottom:.55rem;padding:.38rem .6rem;color:#fff;background:#111c;border:1px solid #ffffff38;border-radius:999px;font-size:.68rem;font-weight:800;opacity:0;transform:translateY(.3rem);transition:opacity var(--motion),transform var(--motion)}.portfolio-media__item>a:hover span,.portfolio-media__item>a:focus-visible span{opacity:1;transform:none}.portfolio-media__item figcaption{margin-top:.48rem;color:#6c6962;font-size:.68rem;line-height:1.45}.portfolio-media__features{display:grid;gap:3.5rem}.portfolio-feature{scroll-margin-top:7rem}.portfolio-feature>header{display:grid;grid-template-columns:1fr auto;margin-bottom:1rem;align-items:end;gap:.25rem 1rem}.portfolio-feature>header p{grid-column:1;margin:0;color:#9a7929;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.portfolio-feature>header h3{grid-column:1;margin:0;font-size:clamp(1.75rem,3.4vw,2.8rem)}.portfolio-feature>header span{grid-column:2;grid-row:1/3;color:#77736b;font-size:.75rem;font-weight:800}.portfolio-media__more{display:inline-flex;margin-top:1.15rem;align-items:center;gap:.5rem;color:#24231f;font-size:.82rem;font-weight:900;text-decoration:none;border-bottom:2px solid #d6ad45}.portfolio-media__more:hover{color:#9a7929}.portfolio-media__item--video video{background:#111}
@media(max-width:1024px){.portfolio-media__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.portfolio-media{padding-inline:1rem}.portfolio-media__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-album summary{padding:1.1rem}.portfolio-album__body{padding-inline:1.1rem}.portfolio-feature>header{grid-template-columns:1fr}.portfolio-feature>header span{grid-column:1;grid-row:auto}}
@media(max-width:480px){.portfolio-media__grid{grid-template-columns:1fr}.portfolio-media__item figcaption{font-size:.74rem}.portfolio-media__jumps{display:grid}.portfolio-media__jumps a{text-align:center}}

/* Reference-detail corrections for the Services industries cards. */
.ns22-industry-mini__icon{position:relative;margin-bottom:2.65rem}
.ns22-industry-mini__icon::after{position:absolute;bottom:-1rem;left:50%;width:2rem;height:2px;content:"";background:#d6ad45;border-radius:999px;transform:translateX(-50%)}
.ns22-industries-dark__link{width:max-content;min-width:0;justify-content:flex-start;gap:.55rem}

/* Recovered service-page rhythm and a consistent content grid. */
.migrated-content:is([data-wordpress-id="306"],[data-wordpress-id="311"],[data-wordpress-id="313"],[data-wordpress-id="317"],[data-wordpress-id="318"],[data-wordpress-id="319"],[data-wordpress-id="320"],[data-wordpress-id="321"],[data-wordpress-id="379"],[data-wordpress-id="386"],[data-wordpress-id="393"],[data-wordpress-id="519"],[data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"],[data-wordpress-id="615"],[data-wordpress-id="700"])>section:first-child:not([class$="-page"]){background-color:#15171c99;background-blend-mode:multiply}

/* Service families that inherited the page canvas now use the same granite treatment as Topography. */
.migrated-content:is([data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"]) section:is([class$="-intro"],[class$="-problems"],[class$="-examples"]){
  color:#fff;
  background:#15171c;
}
.migrated-content:is([data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"]) section:is([class$="-intro"],[class$="-problems"],[class$="-examples"]) :is(h2,h3){
  color:#fff;
}
.migrated-content:is([data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"]) section:is([class$="-intro"],[class$="-problems"],[class$="-examples"]) p:not([class$="-kicker"]){
  color:#ffffffbd;
}
.migrated-content:is([data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"]) section:is([class$="-intro"],[class$="-problems"],[class$="-examples"]) :is([class$="-result"],[class$="-problem"],[class$="-example"],[class$="-disclaimer"]){
  color:#fff;
  background:#20232a;
  border-color:#ffffff21;
  box-shadow:0 18px 48px #0003;
}
.migrated-content:is([data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"]) section[class$="-intro"] [class$="-result"],
.migrated-content:is([data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"]) section[class$="-examples"] [class$="-disclaimer"]{
  border-color:#c9a24a57;
}
.migrated-content>section[class$="-hero"]:not(.ns-rail-hero)>[class$="__content"]{width:min(1240px,calc(100% - 2.5rem));max-width:1240px;margin-inline:auto}
.migrated-content>section[class$="-hero"]:not(.ns-rail-hero)>[class$="__content"]>:is(h1,p,[class$="__actions"]){max-width:860px}
.migrated-content:is([data-wordpress-id="311"],[data-wordpress-id="313"],[data-wordpress-id="317"],[data-wordpress-id="318"],[data-wordpress-id="319"],[data-wordpress-id="320"],[data-wordpress-id="321"],[data-wordpress-id="379"],[data-wordpress-id="386"],[data-wordpress-id="393"])>section:not(:first-child)>[class*="__wrap"],
.migrated-content:is([data-wordpress-id="311"],[data-wordpress-id="313"])>section:not(:first-child)>[class$="__content"]{width:min(1180px,100%);margin-inline:auto}
.migrated-content:is([data-wordpress-id="306"],[data-wordpress-id="311"],[data-wordpress-id="313"],[data-wordpress-id="317"],[data-wordpress-id="318"],[data-wordpress-id="319"],[data-wordpress-id="320"],[data-wordpress-id="321"],[data-wordpress-id="379"],[data-wordpress-id="386"],[data-wordpress-id="393"],[data-wordpress-id="519"],[data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"],[data-wordpress-id="615"],[data-wordpress-id="700"]) h2{font-size:clamp(2.25rem,3.55vw,3.25rem);line-height:1.06}

/* Accessible fullscreen gallery for supplied photographs and video. */
.portfolio-media__open{isolation:isolate;border:0;box-shadow:inset 0 0 0 1px #ffffff12;transition:transform var(--motion),box-shadow var(--motion)}
.portfolio-media__open::after{position:absolute;inset:0;z-index:1;content:"";background:linear-gradient(180deg,transparent 52%,#090a0d9c);pointer-events:none}
.portfolio-media__open img{transition:transform 420ms ease,filter 420ms ease}
.portfolio-media__open:hover,.portfolio-media__open:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px #1114}
.portfolio-media__open:hover img,.portfolio-media__open:focus-visible img{transform:scale(1.035);filter:saturate(1.07)}
.portfolio-media__item>a .portfolio-media__action{z-index:2;display:inline-flex;align-items:center;gap:.42rem;opacity:1;transform:none;background:#101217d9;backdrop-filter:blur(8px)}
.portfolio-media__action b{display:grid;width:1.25rem;height:1.25rem;place-items:center;color:#17191e;background:#d6ad45;border-radius:50%;font-size:.58rem}
.media-lightbox[hidden]{display:none}.media-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:stretch;color:#fff;background:#08090bf5}.media-lightbox__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;background:transparent;border:0}.media-lightbox__panel{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100dvh;min-height:100%;background:radial-gradient(circle at 50% 45%,#242730 0,#0a0b0e 62%)}.media-lightbox__toolbar{display:flex;min-height:5rem;padding:1rem clamp(1rem,3vw,2.5rem);align-items:center;justify-content:space-between;gap:1rem;background:#090a0dcc;border-bottom:1px solid #ffffff1c;backdrop-filter:blur(16px)}.media-lightbox__toolbar>div:first-child{min-width:0}.media-lightbox__toolbar p{max-width:min(70ch,70vw);margin:0;overflow:hidden;color:#fff;font-size:.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.media-lightbox__toolbar span[data-media-counter]{display:block;margin-top:.15rem;color:#ffffff9e;font-size:.72rem;font-weight:800;letter-spacing:.08em}.media-lightbox__tools{display:flex;flex:0 0 auto;gap:.55rem}.media-lightbox__tools button,.media-lightbox__nav{display:grid;place-items:center;color:#fff;background:#ffffff12;border:1px solid #ffffff2e;border-radius:50%;transition:background-color var(--motion),border-color var(--motion),transform var(--motion)}.media-lightbox__tools button{width:3rem;height:3rem}.media-lightbox__tools button:hover,.media-lightbox__tools button:focus-visible,.media-lightbox__nav:hover,.media-lightbox__nav:focus-visible{color:#17191e;background:#d6ad45;border-color:#d6ad45}.media-lightbox__tools button span{font-size:1.55rem;line-height:1}.media-lightbox__tools [data-media-close] span{font-size:2.25rem;font-weight:300;transform:translateY(-1px)}.media-lightbox__stage{position:relative;display:grid;min-height:0;grid-template-columns:clamp(3.5rem,7vw,6.5rem) minmax(0,1fr) clamp(3.5rem,7vw,6.5rem);align-items:center}.media-lightbox__viewport{display:grid;min-width:0;min-height:0;height:100%;place-items:center;padding:1.25rem}.media-lightbox__media{display:block;max-width:100%;max-height:calc(100dvh - 7.5rem);width:auto;height:auto;object-fit:contain;border-radius:.4rem;box-shadow:0 24px 80px #000b}.media-lightbox__viewport video{width:min(100%,1100px);background:#000}.media-lightbox__nav{position:relative;z-index:2;width:clamp(2.75rem,4vw,3.75rem);height:clamp(2.75rem,4vw,3.75rem);justify-self:center}.media-lightbox__nav span{font:300 clamp(2.4rem,4vw,4rem)/.7 var(--font-ui);transform:translateY(-2px)}.media-lightbox__nav:disabled{visibility:hidden}.has-media-lightbox{overflow:hidden;overscroll-behavior:none}
@media(max-width:700px){.migrated-content>section[class$="-hero"]:not(.ns-rail-hero)>[class$="__content"]{width:min(100% - 2rem,1240px)}.migrated-content:is([data-wordpress-id="306"],[data-wordpress-id="311"],[data-wordpress-id="313"],[data-wordpress-id="317"],[data-wordpress-id="318"],[data-wordpress-id="319"],[data-wordpress-id="320"],[data-wordpress-id="321"],[data-wordpress-id="379"],[data-wordpress-id="386"],[data-wordpress-id="393"],[data-wordpress-id="519"],[data-wordpress-id="563"],[data-wordpress-id="569"],[data-wordpress-id="576"],[data-wordpress-id="586"],[data-wordpress-id="594"],[data-wordpress-id="615"],[data-wordpress-id="700"]) h2{font-size:clamp(2rem,10vw,2.75rem)}.media-lightbox__toolbar{min-height:4.5rem}.media-lightbox__toolbar p{max-width:58vw;font-size:.78rem}.media-lightbox__tools button{width:2.65rem;height:2.65rem}.media-lightbox__stage{grid-template-columns:3.25rem minmax(0,1fr) 3.25rem}.media-lightbox__viewport{padding:.6rem}.media-lightbox__nav{width:2.65rem;height:2.65rem}.media-lightbox__media{max-height:calc(100dvh - 6rem)}}

/* Global back-to-top control. */
.scroll-top{position:fixed;right:clamp(1rem,2.4vw,2rem);bottom:clamp(1rem,2.4vw,2rem);z-index:190;display:grid;width:3.35rem;height:3.35rem;place-items:center;padding:0;color:#17191e;background:linear-gradient(145deg,#e0bd62,#c79b31);border:1px solid #f0d98a;border-radius:50%;box-shadow:0 14px 34px #0005;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(1rem) scale(.88);transition:opacity var(--motion),visibility var(--motion),transform var(--motion),box-shadow var(--motion),background-color var(--motion)}.scroll-top svg{width:1.45rem;height:1.45rem}.scroll-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}.scroll-top:hover,.scroll-top:focus-visible{background:#e6c76f;box-shadow:0 18px 42px #0007;transform:translateY(-3px)}
@media(max-width:650px){.scroll-top{right:1rem;bottom:1rem;width:3rem;height:3rem}.scroll-top svg{width:1.3rem;height:1.3rem}}
@media(max-width:360px){h1{font-size:2.4rem}.page-hero h1{overflow-wrap:normal;word-break:normal}.consent-dialog{max-width:calc(100vw - 1rem);overflow-x:hidden}.consent-dialog form{padding:1.25rem}.dialog-head>*{min-width:0}.dialog-head h2{font-size:clamp(1.75rem,11vw,2.25rem);overflow-wrap:anywhere}.dialog-head .icon-button{flex:0 0 2.5rem;width:2.5rem;height:2.5rem}}
.page-hero{min-height:calc(100svh - 5.5rem);display:grid;align-items:center;background:linear-gradient(90deg,#15171cf2 0%,#15171cbb 55%,#15171c55),url('/assets/images/home-hero-source.png') center/cover;color:var(--white);padding-block:var(--s7)}.page-hero__content{display:grid;justify-items:start}.page-hero h1{max-width:15ch;margin:0}.page-hero__lead{font-family:var(--font-display);font-size:clamp(1.3rem,2.4vw,2rem);line-height:1.08;max-width:37ch}.page-hero__actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s3)}.migrated-content{overflow:clip}.migrated-content section{scroll-margin-top:7rem}@media(max-width:650px){.page-hero{min-height:calc(100svh - 4.5rem);background-position:58% center}.page-hero__actions{display:grid;width:100%}.page-hero__actions .button{width:100%}}
.secure-contact-form{display:grid;gap:1rem}.secure-contact-form h3{margin:0}.secure-contact-form label{display:grid;gap:.4rem;font-weight:700}.secure-contact-form input,.secure-contact-form textarea{width:100%;border:1px solid #777;border-radius:.25rem;padding:.75rem;font:inherit;color:#171717;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.form-check input{width:1.25rem;height:1.25rem}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.secure-contact-form .form-status{min-height:1.5em;margin:0}@media(max-width:560px){.form-grid{grid-template-columns:1fr}}

/* Original Northstone header and mega-menu, adapted for the static runtime. */
.site-header__inner{position:relative;grid-template-columns:8rem minmax(0,1fr) auto auto;width:min(1280px,calc(100% - 2rem));gap:clamp(.55rem,1.35vw,1.35rem)}
.brand img{width:7.5rem}.primary-nav__list{align-items:center;gap:.15rem!important}.primary-nav__item{margin:0;padding:0}.primary-nav__row{position:relative;display:flex;align-items:center}.primary-nav__link{position:relative;display:inline-flex;min-height:2.75rem;align-items:center;padding:.75rem clamp(.5rem,.8vw,.8rem);border-radius:999px;white-space:nowrap}.primary-nav__link.is-current{color:var(--gold);background:#ffffff0d}.primary-nav__link::after{position:absolute;right:.8rem;bottom:.4rem;left:.8rem;height:2px;content:"";opacity:0;background:var(--gold);border-radius:99px;transform:scaleX(.35);transition:opacity var(--motion),transform var(--motion)}.primary-nav__link:hover::after,.primary-nav__link:focus-visible::after,.primary-nav__link.is-current::after{opacity:1;transform:scaleX(1)}
.primary-nav__submenu-toggle{display:none;width:2.2rem;height:2.2rem;align-items:center;justify-content:center;color:#fff;background:transparent;border:0;border-radius:.3rem}.primary-nav__submenu-toggle span{width:.55rem;height:.55rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px)}
.header-cta,.header-cta:hover,.header-cta:focus-visible{color:#fff}.header-cta .icon{color:#fff;stroke:#fff}
.primary-nav__item--mega{position:static}.mega-menu{position:absolute;top:calc(100% - 1px);left:50%;z-index:120;width:min(1180px,calc(100vw - 3rem));padding-top:.9rem;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(.65rem);transition:opacity var(--motion),visibility var(--motion),transform var(--motion)}.mega-menu::before{position:absolute;inset:0 0 auto;height:1rem;content:""}.primary-nav__item--mega:hover .mega-menu,.primary-nav__item--mega:focus-within .mega-menu,.primary-nav__item--mega.is-open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
@media(min-width:1051px){.primary-nav__item--mega .primary-nav__row::after{position:absolute;top:100%;right:0;left:0;height:28px;content:""}}
.mega-menu__inner{display:grid;min-height:31rem;grid-template-columns:15.5rem minmax(0,1fr);gap:.5rem;padding:1.45rem;color:#fff;background:#15171cfa;border:1px solid #d6ad4538;border-radius:1.45rem;box-shadow:0 24px 52px #000a;backdrop-filter:blur(18px)}
.mega-menu__featured{display:flex;min-height:100%;padding:1.25rem 1.1rem;flex-direction:column;color:#fff;background:#24262c;border:1px solid #ffffff17;border-radius:.75rem}
.mega-menu__eyebrow{margin-bottom:1.15rem;color:var(--gold);font-size:.66rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.mega-menu__featured strong{display:block;color:#fff;font-size:.9rem;font-weight:650;line-height:1.72}
.mega-menu__stats{display:grid!important;width:auto!important;margin:1.5rem 0 0!important;padding:1.1rem 0 0!important;gap:0!important;list-style:none;border-top:1px solid #d6ad456b}
.mega-menu__stats li{display:grid;min-height:4.6rem;grid-template-columns:2.2rem 1fr;align-items:center;gap:.75rem;border-bottom:1px solid #ffffff14}
.mega-menu__stats img,.mega-menu__title img{filter:invert(72%) sepia(48%) saturate(643%) hue-rotate(357deg) brightness(91%) contrast(88%)}
.mega-menu__stats img{width:1.8rem;height:1.8rem}
.mega-menu__stats span{color:#ffffffdc;font-size:.78rem;font-weight:700;line-height:1.4}
.mega-menu__grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem!important}
.mega-menu__column{display:flex;min-width:0;padding:1.2rem 1rem 1rem;flex-direction:column;background:#202228;border:1px solid #ffffff12;border-radius:.7rem}
.mega-menu__column--infrastructure{background:#202228;border-color:#ffffff12}
.mega-menu__title{display:grid;min-height:3.25rem;grid-template-columns:1.9rem minmax(0,1fr);align-items:start;gap:.55rem;margin-bottom:.7rem;color:#e4bd5a!important;font-size:.78rem!important;font-weight:800!important;line-height:1.28;text-decoration:none}
.mega-menu__title img{width:1.6rem;height:1.6rem}
.mega-menu__title span{padding-top:.12rem}
.mega-menu__column ul{display:grid!important;width:auto!important;margin:0!important;padding:0!important;gap:0!important;list-style:none}
.mega-menu__column li{margin:0}
.mega-menu__column ul a{display:block;padding:.63rem 0;color:#ffffffc7!important;font-size:.69rem!important;font-weight:500!important;line-height:1.3;text-decoration:none;border-bottom:1px solid #ffffff11;transition:color var(--motion),padding-left var(--motion)}
.mega-menu__column ul a:hover,.mega-menu__column ul a:focus-visible{padding-left:.3rem;color:#e4bd5a!important}
.mega-menu__all{display:flex;margin-top:auto;padding-top:1rem;align-items:center;justify-content:flex-start;gap:.35rem;color:#e4bd5a!important;font-size:.7rem!important;font-weight:850!important;text-decoration:none}
.mega-menu__all:hover,.mega-menu__all:focus-visible{color:#f0c866!important}

/* Video hero. The image remains a local poster/fallback. */
.page-hero{position:relative;isolation:isolate;overflow:hidden}.page-hero__video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.page-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#15171cf2 0%,#15171cbd 55%,#15171c66)}.page-hero__content{position:relative;z-index:1}.page-hero h1{width:100%;max-width:none;font-size:62px;line-height:1.08;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal}.page-hero__lead{max-width:46ch}.page-hero__content>p:not(.page-hero__lead){max-width:62ch}

/* Roadmap remains visible without JS; the runtime progressively enhances it. */
.rx-step{opacity:1;transform:none}.has-js .rx-step{opacity:0;transform:translateY(18px)}.has-js .rx-step.is-visible{opacity:1;transform:translateY(0)}

/* Premium footer mirrors the supplied WordPress design. */
.footer-premium{position:relative;padding:5.625rem 1.25rem 2.125rem;color:#ffffffd1;background:linear-gradient(180deg,#1f1f1f,#161616);font-family:var(--font-ui)}.footer-premium::before{position:absolute;inset:0 0 auto;height:1px;content:"";background:#c6a85a8c;opacity:.55}.footer-premium__container{max-width:1240px;margin:0 auto}.footer-premium__top{display:grid;grid-template-columns:1.4fr .8fr .9fr .9fr;gap:2.125rem;align-items:start;padding-bottom:2.25rem;border-bottom:1px solid #ffffff1a}.footer-premium__logo{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}.footer-premium__logo img{display:block;width:15rem;height:auto}.footer-premium__about{max-width:32.5rem;margin:0 0 1.125rem;color:#ffffffb8;font-size:.9375rem;line-height:1.85}.footer-premium__cta{display:flex;gap:.75rem;flex-wrap:wrap}.footer-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1rem;border-radius:999px;font-size:.875rem;font-weight:900;text-decoration:none;transition:all .25s ease}.footer-btn--primary{color:#1a1a1a;background:#c6a85a;border:1px solid #c6a85a}.footer-btn--primary:hover{background:#b49448;border-color:#b49448;transform:translateY(-1px)}.footer-btn--ghost{color:#fff;background:transparent;border:1.5px solid #ffffff40}.footer-btn--ghost:hover{color:#c6a85a;border-color:#c6a85a;transform:translateY(-1px)}.footer-premium__col{display:flex;flex-direction:column;gap:.625rem}.footer-premium__title{margin:0 0 .625rem;color:#fff;font-size:.875rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.footer-premium__col a{color:#ffffffb8;font-size:.875rem;text-decoration:none;transition:color .2s ease}.footer-premium__col a:hover{color:#c6a85a}.footer-premium__line{margin:0;color:#ffffffb8;font-size:.875rem;line-height:1.75}.footer-premium__label{margin-right:.375rem;color:#ffffff8f}.footer-premium__mini{max-width:26rem;margin:.875rem 0 0;color:#ffffffa3;font-size:.8125rem;line-height:1.75}.footer-premium__bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.125rem;color:#ffffff9e;font-size:.8125rem;flex-wrap:wrap}.footer-premium__bottom p{margin:0}.footer-premium__bottom a{color:#ffffff9e;text-decoration:none}.footer-premium__bottom a:hover{color:#c6a85a}.footer-premium__legal{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.footer-premium__sep{color:#ffffff4d}.footer-premium__settings{padding:0;color:#ffffff9e;background:transparent;border:0;text-decoration:underline;text-underline-offset:.22em}.footer-premium__settings:hover{color:#c6a85a}

/* Original cookie-banner appearance, backed by the secure consent module. */
.ciasi-cookie-consent{position:fixed;right:1.5rem;bottom:1.5rem;z-index:999999;width:32.5rem;max-width:calc(100vw - 3rem);color:#fff}.ciasi-cookie-consent[hidden]{display:none}.ciasi-cookie-box{position:relative;padding:1.5rem;background:radial-gradient(circle at 14% 10%,#c9a24a38,transparent 32%),linear-gradient(135deg,#181b21fa,#0c0e12fa);border:1px solid #c9a24a52;border-radius:1.375rem;box-shadow:0 28px 80px #00000061}.ciasi-cookie-eyebrow{margin:0 0 .5rem;color:#c9a24a;font-size:.75rem;font-weight:800;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}.ciasi-cookie-title{margin:0 0 .75rem;color:#fff;font-family:var(--font-display);font-size:1.375rem;font-weight:850;line-height:1.15}.ciasi-cookie-text{margin:0;color:#ffffffc7;font-size:.875rem;line-height:1.7}.ciasi-cookie-text a{color:#d6ad45;font-weight:750}.ciasi-cookie-actions{display:flex;gap:.625rem;margin-top:1.125rem}.ciasi-cookie-btn{display:flex;align-items:center;justify-content:center;padding:.6875rem 1rem;color:#f8f8f8;border-radius:.375rem;font-size:.875rem;font-weight:800;line-height:1.2;white-space:nowrap}.ciasi-cookie-btn--primary{background:#c9a24a;border:1px solid #c9a24a}.ciasi-cookie-btn--ghost{background:#ffffff14;border:1px solid #ffffff2e}.ciasi-cookie-btn--link{background:transparent;border:1px solid #c9a24a59}.ciasi-cookie-btn:hover{color:#fff;filter:brightness(1.12)}

@media(max-width:1100px){.site-header__inner{grid-template-columns:7rem minmax(0,1fr) auto auto}.mega-menu__inner{grid-template-columns:14rem 1fr}.mega-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.site-header__inner{grid-template-columns:8rem 1fr auto auto}.primary-nav[data-open]{max-height:calc(100svh - 5.5rem);overflow-y:auto}.primary-nav[data-open] .primary-nav__list{display:grid;width:100%!important;margin:0!important;gap:.3rem!important}.primary-nav[data-open] .primary-nav__link{width:100%;padding:.85rem;border:0}.primary-nav__row{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid #ffffff18}.primary-nav__submenu-toggle{display:inline-flex}.mega-menu{position:static;display:none;width:100%;padding:.5rem 0 1rem;opacity:1;visibility:visible;pointer-events:auto;transform:none}.primary-nav__item--mega:hover .mega-menu,.primary-nav__item--mega:focus-within .mega-menu,.primary-nav__item--mega.is-open .mega-menu{transform:none}.primary-nav__item--mega.is-open .mega-menu{display:block}.mega-menu__inner{display:grid;min-height:0;grid-template-columns:1fr;padding:1rem;border-radius:1rem}.mega-menu__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mega-menu__column ul{display:grid!important}.primary-nav__submenu-toggle[aria-expanded=true] span{transform:rotate(225deg) translate(-1px,-1px)}}
@media(max-width:1024px){.footer-premium__top{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.page-hero h1{font-size:clamp(2.65rem,11vw,3.85rem);line-height:1.02}.footer-premium{padding:4.375rem 1rem 1.75rem}.footer-premium__top{grid-template-columns:1fr;gap:1.625rem}.footer-premium__logo img{width:12rem}.ciasi-cookie-consent{right:1rem;bottom:1rem;width:calc(100vw - 2rem);max-width:none}.ciasi-cookie-box{padding:1.25rem}.ciasi-cookie-actions{display:grid}.ciasi-cookie-btn{width:100%;white-space:normal}}
@media(max-width:560px){.mega-menu__grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.page-hero__video{display:none}.has-js .rx-step{opacity:1;transform:none}}

/* Final header overrides stay after legacy responsive rules. */
.site-header{position:fixed;inset:0 0 auto;z-index:200;padding:16px 24px;background:rgba(21,23,28,.38);border-bottom:1px solid #ffffff1a;backdrop-filter:blur(14px)}
.site-header__inner{width:min(1280px,100%);min-height:90px;grid-template-columns:150px minmax(0,1fr) auto auto}
.brand img{width:150px;height:90px;object-fit:contain}.site-header.is-scrolled{padding:9px 24px;background:rgba(21,23,28,.94);box-shadow:0 12px 34px #0004}.site-header.is-scrolled .site-header__inner{min-height:62px}.site-header.is-scrolled .brand img{width:126px;height:62px}
.breadcrumbs{display:none}.page-420 main,.page-426 main,.page-435 main{padding-top:122px}
.primary-nav__service-trigger{appearance:none;color:inherit;background:transparent;border:0;font-family:var(--font-ui);font-size:.78rem;font-weight:800;line-height:1;cursor:default}.primary-nav__service-trigger::before{width:.42rem;height:.42rem;margin-left:.45rem;order:2;content:"";border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.header-cta,.header-cta:visited,.header-cta .icon{color:#fff!important}.header-cta .icon{stroke:#fff}.mega-menu{top:calc(100% - 8px);padding-top:14px}
@media(max-width:1100px) and (min-width:1051px){.site-header__inner{grid-template-columns:138px minmax(0,1fr) auto auto}.brand img{width:138px;height:82px}}
@media(max-width:1050px){.site-header{padding:10px 16px;background:rgba(21,23,28,.9)}.site-header.is-scrolled{padding:7px 16px}.site-header__inner{width:100%;min-height:62px;grid-template-columns:132px 1fr auto auto}.brand img,.site-header.is-scrolled .brand img{width:132px;height:62px}.primary-nav[data-open]{inset:100% -16px auto;max-height:calc(100svh - 82px);background:rgba(21,23,28,.98);box-shadow:0 18px 42px #0008}.primary-nav__service-trigger{cursor:pointer;font-size:.78rem;text-align:left}.primary-nav__service-trigger::before{display:none}.mega-menu{padding-top:.5rem}}
@media(max-width:650px){.site-header__inner{grid-template-columns:1fr auto}.brand img,.site-header.is-scrolled .brand img{width:118px;height:58px}.page-420 main,.page-426 main,.page-435 main{padding-top:82px}}

/* Responsive layout for the reference-matched Analysis & Design service grid. */
@media(max-width:1050px){.ns22-analysis-services__layout{grid-template-columns:1fr}.ns22-analysis-primary{min-height:34rem}.ns22-analysis-outcomes{grid-template-columns:1fr;gap:1.25rem}.ns22-analysis-outcomes ul{border-top:1px solid #dedbd3}.ns22-analysis-outcomes li:first-child{border-left:0}}
@media(max-width:800px){.ns22-analysis-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.ns22-analysis-card:nth-child(n){grid-column:auto}.ns22-analysis-card:last-child{grid-column:1/-1}.ns22-analysis-outcomes ul{grid-template-columns:repeat(2,minmax(0,1fr))}.ns22-analysis-outcomes li{justify-content:flex-start;border-top:1px solid #dedbd3}.ns22-analysis-outcomes li:nth-child(odd){border-left:0}.ns22-analysis-outcomes li:last-child{grid-column:1/-1}}
@media(max-width:560px){.ns22-analysis-services__heading h2{font-size:2.6rem}.ns22-analysis-primary{min-height:0;padding:1.2rem}.ns22-analysis-primary__meta{align-items:flex-start;flex-direction:column}.ns22-analysis-primary h3{font-size:2rem}.ns22-analysis-primary ul{grid-template-columns:1fr}.ns22-analysis-primary>a{margin-right:-1.2rem;margin-bottom:-1.2rem;margin-left:-1.2rem;padding:1rem 1.2rem}.ns22-analysis-secondary{grid-template-columns:1fr}.ns22-analysis-card:last-child{grid-column:auto}.ns22-analysis-card{min-height:17rem}.ns22-analysis-outcomes{padding:1rem}.ns22-analysis-outcomes__title{align-items:flex-start;flex-direction:column}.ns22-analysis-outcomes ul{grid-template-columns:1fr}.ns22-analysis-outcomes li,.ns22-analysis-outcomes li:nth-child(odd),.ns22-analysis-outcomes li:last-child{grid-column:auto;justify-content:flex-start;border-left:0}.ns22-analysis-outcomes__title>span{width:3.6rem;height:3.6rem;flex-basis:3.6rem}}

/* Document revision: preserve readable typography on the dark process sections. */
.page-563 .earthworks-process h2,
.page-563 .earthworks-process h3,
.page-569 .aggregates-process h2,
.page-569 .aggregates-process h3,
.page-586 .materials-process h2,
.page-586 .materials-process h3,
.page-594 .gasexec-process h2,
.page-594 .gasexec-process h3 {
  color: #ffffff;
}

.page-563 .earthworks-process p,
.page-569 .aggregates-process p,
.page-586 .materials-process p,
.page-594 .gasexec-process p {
  color: rgba(255, 255, 255, 0.82);
}

/* Final WCAG AA contrast layer: deliberately last in the cascade. */
.ns22-heading>p,.ns22-kicker,.ns22-index,.ns22-service-list article>span,.ns22-service-list article a,.ns22-benefits article>span,.ns22-industry-grid article span,.ns22-industry-grid article strong,.ns22-resource summary small,.portfolio-media__head>p,.portfolio-feature>header p,.portfolio-album summary small,.about-pillars__index,.about-divisions__label,.ns-rail-process-grid article>span,.ns-rail-detail>div>span{color:#71520f!important}
.ns-rail-card .ns-rail-number{color:var(--rail-gold)!important}
.migrated-content [class$="-tags"] span,.topography-tags span,.migrated-content [class$="__impact"]>*{color:#71520f!important}
.migrated-content [class$="-section--dark"] [class$="-tags"] span{color:#fff!important}
.migrated-content :is([class$="__kicker"],[class$="-kicker"],[class$="__eyebrow"],[class$="-eyebrow"]){color:#71520f!important}
.migrated-content :is([class*="hero"] [class$="__kicker"],[class*="hero"] [class$="-kicker"],[class*="hero"] [class$="__eyebrow"],[class*="hero"] [class$="-eyebrow"],[class*="hero"][class$="__kicker"],[class*="hero"][class$="-kicker"],[class*="hero"][class$="__eyebrow"],[class*="hero"][class$="-eyebrow"]),.migrated-content [class*="-cta"] :is([class$="__kicker"],[class$="-kicker"]),.migrated-content :is(.cc-pains,.cd-services,.cd-pains,.sg-services,.sg-risks,.pg-process,.iu-process,.im-process,.le-services) :is([class$="__kicker"],[class$="-kicker"]),.ns22-page-hero p,.ns22-why .ns22-kicker,.ns22-home-projects .ns22-heading>p,.ns22-industries-dark .ns22-heading>p,.ns22-transport-process .ns22-heading>p,.ns22-transition p,.ns22-sector-grid article span,.ns22-industry-mini span,.ns22-transport-process>div>ol>li>span{color:#e1bb58!important}
.migrated-content [class$="__tag"]{color:#f3d57c!important}
.pvc-alu-btn--primary,.pvc-alu-btn--primary:hover,.pvc-alu-btn--primary:focus,.facade-btn--primary,.facade-btn--primary:hover,.facade-btn--primary:focus,.ciasi-cookie-btn--primary,.ciasi-cookie-btn--primary:hover{color:#17191e!important}
.migrated-content details p{color:#515a6b}.ns22-faq-list details p{padding:.65rem 1.3rem 1.35rem}

/* Reference-matched Logistics & Equipment workflow. */
.ns22-logistics-process{
  padding:1.4rem 0 1.65rem;
  color:#fff;
  background:#101214;
}
.ns22-logistics-process>.ns22-container{
  width:min(1180px,calc(100% - 3rem));
}
.ns22-logistics-process__head{
  display:grid;
  max-width:58rem;
  gap:.55rem;
  margin-bottom:1.45rem;
}
.ns22-logistics-process__head>p{
  margin:0;
  color:#e1bb58;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.2em;
  line-height:1.2;
  text-transform:uppercase;
}
.ns22-logistics-process__head h2{
  max-width:23ch;
  margin:0;
  color:#fff;
  font-size:clamp(2.4rem,4.2vw,3.8rem);
  line-height:1;
}
.ns22-logistics-process__head>span{
  color:#ffffffbd;
  font-size:.86rem;
  line-height:1.65;
}
.ns22-logistics-process__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  padding:0;
  gap:.75rem;
  list-style:none;
}
.ns22-logistics-process__grid>li{
  display:flex;
  min-width:0;
  min-height:19.6rem;
  padding:1rem;
  flex-direction:column;
  background:#1a1c1f;
  border:1px solid #ffffff20;
  border-radius:.72rem;
  box-shadow:0 16px 32px #0003;
}
.ns22-logistics-process__number{
  display:grid;
  width:2.45rem;
  min-height:1.45rem;
  place-items:center;
  color:#fff;
  background:#22252a;
  border:1px solid #d6ad45;
  border-radius:.5rem;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.ns22-logistics-process__grid h3{
  margin:.75rem 0 .55rem;
  color:#fff;
  font-family:var(--font-ui);
  font-size:1rem;
  font-weight:850;
  letter-spacing:-.02em;
  line-height:1.25;
}
.ns22-logistics-process__grid>li>p{
  margin:0;
  color:#ffffffb8;
  font-size:.76rem;
  line-height:1.55;
}
.ns22-logistics-process__grid>li>strong{
  margin-top:auto;
  padding-top:.85rem;
  color:#e1bb58;
  font-size:.72rem;
  font-weight:900;
}
.ns22-logistics-process__grid ul{
  display:grid;
  margin:.55rem 0 0;
  padding:0;
  gap:.42rem;
  list-style:none;
}
.ns22-logistics-process__grid ul li{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:.55rem;
  color:#ffffffc9;
  font-size:.7rem;
  line-height:1.45;
}
.ns22-logistics-process__grid ul img{
  flex:0 0 1rem;
  width:1rem;
  height:1rem;
  margin-top:.05rem;
  filter:invert(72%) sepia(48%) saturate(643%) hue-rotate(357deg) brightness(91%) contrast(88%);
}
.ns22-logistics-process__outcome{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  min-height:5rem;
  margin-top:.8rem;
  align-items:center;
  background:#181a1c;
  border:1px solid #d6ad4570;
  border-radius:.75rem;
  box-shadow:0 16px 34px #0003;
}
.ns22-logistics-process__summary{
  display:flex;
  min-width:0;
  padding:.8rem 1rem;
  align-items:center;
  gap:1rem;
}
.ns22-logistics-process__summary-icon{
  display:grid;
  flex:0 0 2.8rem;
  width:2.8rem;
  height:2.8rem;
  place-items:center;
  background:#d6ad45;
  border-radius:50%;
}
.ns22-logistics-process__summary-icon img{
  width:1.85rem;
  height:1.85rem;
}
.ns22-logistics-process__summary p{
  display:grid;
  min-width:0;
  margin:0;
  gap:.15rem;
  line-height:1.2;
}
.ns22-logistics-process__summary p>span{
  color:#e1bb58;
  font-family:var(--font-display);
  font-size:1.05rem;
  font-weight:800;
}
.ns22-logistics-process__summary p>strong{
  color:#fff;
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:700;
}
.ns22-logistics-process__metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  min-width:0;
  border-left:1px solid #ffffff18;
}
.ns22-logistics-process__metrics>div{
  display:flex;
  min-width:0;
  min-height:3rem;
  padding:.45rem .8rem;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  border-left:1px solid #ffffff12;
}
.ns22-logistics-process__metrics>div:first-child{
  border-left:0;
}
.ns22-logistics-process__metrics img{
  flex:0 0 1.85rem;
  width:1.85rem;
  height:1.85rem;
  filter:invert(72%) sepia(48%) saturate(643%) hue-rotate(357deg) brightness(91%) contrast(88%);
}
.ns22-logistics-process__metrics span{
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  line-height:1.35;
}
@media(max-width:860px){
  .ns22-logistics-process__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ns22-logistics-process__grid>li{min-height:18rem}
  .ns22-logistics-process__outcome{grid-template-columns:1fr}
  .ns22-logistics-process__metrics{border-top:1px solid #ffffff18;border-left:0}
}
@media(max-width:560px){
  .ns22-logistics-process{padding:4rem 0}
  .ns22-logistics-process>.ns22-container{width:min(100% - 2rem,1180px)}
  .ns22-logistics-process__head h2{font-size:2.55rem}
  .ns22-logistics-process__grid{grid-template-columns:1fr}
  .ns22-logistics-process__grid>li{min-height:0}
  .ns22-logistics-process__grid>li>strong{margin-top:1.2rem;padding-top:0}
  .ns22-logistics-process__summary{align-items:flex-start}
  .ns22-logistics-process__metrics{grid-template-columns:1fr}
  .ns22-logistics-process__metrics>div{justify-content:flex-start;border-top:1px solid #ffffff12;border-left:0}
}

/* Mobile navigation — full-height Northstone panel with reference-led spacing. */
.mobile-nav__footer{display:none}
@media(max-width:1050px){
  body.has-mobile-menu{overflow:hidden}
  .site-header .menu-toggle{
    display:grid;
    width:44px;
    height:44px;
    aspect-ratio:1;
    padding:0;
    place-items:center;
    line-height:0;
  }
  .site-header .menu-toggle .menu-open,
  .site-header .menu-toggle .menu-close{width:24px;height:24px;line-height:0}
  .site-header .menu-toggle .icon{display:block;width:24px;height:24px}
  .site-header.has-mobile-menu{
    position:fixed;
    inset:0;
    z-index:500;
    height:100svh;
    padding:0!important;
    color:#f4f4f2;
    background:#181b21;
    border:0;
    backdrop-filter:none;
  }
  .site-header.has-mobile-menu .site-header__inner{
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
    padding:0;
    grid-template-columns:minmax(0,1fr) auto auto;
    grid-template-rows:82px minmax(0,1fr);
    align-items:center;
    gap:0;
  }
  .site-header.has-mobile-menu .brand{
    grid-column:1;
    grid-row:1;
    align-self:stretch;
    align-items:center;
    padding-left:24px;
  }
  .site-header.has-mobile-menu .brand img,
  .site-header.has-mobile-menu.is-scrolled .brand img{
    width:104px;
    height:auto;
  }
  .site-header.has-mobile-menu .language-switcher{
    display:flex;
    grid-column:2;
    grid-row:1;
    margin-right:12px;
    padding:3px;
    border-color:#ffffff29;
    border-radius:10px;
  }
  .site-header.has-mobile-menu .language-switcher a{
    min-width:37px;
    padding:7px 8px;
    color:#d9dadd;
    font-size:.78rem;
    text-align:center;
  }
  .site-header.has-mobile-menu .menu-toggle{
    display:grid;
    width:44px;
    height:44px;
    grid-column:3;
    grid-row:1;
    place-items:center;
    justify-self:end;
    margin-right:18px;
    padding:0;
    border-color:#ffffff2d;
    border-radius:9px;
  }
  .site-header.has-mobile-menu .menu-toggle .icon{width:24px;height:24px}
  .site-header.has-mobile-menu .header-cta{display:none}
  .site-header.has-mobile-menu .primary-nav[data-open]{
    position:static;
    inset:auto;
    display:flex;
    width:100%;
    height:100%;
    max-height:none;
    grid-column:1/-1;
    grid-row:2;
    flex-direction:column;
    padding:18px 16px 0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    color:#f4f4f2;
    background:#181b21;
    border-top:1px solid #ffffff14;
    box-shadow:none;
    scrollbar-color:#6e7178 transparent;
    scrollbar-width:thin;
  }
  .site-header.has-mobile-menu .primary-nav__list{
    width:min(100%,34rem)!important;
    margin:0 auto!important;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    justify-content:stretch;
    gap:4px!important;
  }
  .site-header.has-mobile-menu .primary-nav__item{width:100%;margin:0}
  .site-header.has-mobile-menu .primary-nav__link{
    display:flex!important;
    min-height:48px;
    padding:11px 16px!important;
    align-items:center;
    color:#f0f0ef;
    border:0!important;
    border-radius:10px;
    font-size:1rem!important;
    font-weight:760!important;
    line-height:1.3;
    text-align:left;
  }
  .site-header.has-mobile-menu a.primary-nav__link.is-current{
    color:#d9b75e;
    background:transparent;
  }
  .site-header.has-mobile-menu .primary-nav__link::after{display:none}
  .site-header.has-mobile-menu .primary-nav__row{
    min-height:56px;
    grid-template-columns:minmax(0,1fr) 52px;
    align-items:stretch;
    background:#252930;
    border:0;
    border-radius:11px;
    overflow:hidden;
  }
  .site-header.has-mobile-menu .primary-nav__service-trigger{color:#d9b75e}
  .site-header.has-mobile-menu .primary-nav__submenu-toggle{
    width:52px;
    height:56px;
    color:#d9b75e;
    border-left:1px solid #ffffff0d;
    border-radius:0;
  }
  .site-header.has-mobile-menu .mega-menu{padding:.45rem 0 .8rem}
  .site-header.has-mobile-menu .mega-menu__inner{
    padding:.35rem .55rem .65rem;
    color:#fff;
    background:#1c1f25;
    border:0;
    border-radius:0 0 11px 11px;
    box-shadow:none;
  }
  .site-header.has-mobile-menu .mega-menu__featured{display:none}
  .site-header.has-mobile-menu .mega-menu__grid{grid-template-columns:1fr!important;gap:0!important}
  .site-header.has-mobile-menu .mega-menu__column{
    padding:.72rem .25rem;
    background:transparent;
    border:0;
    border-radius:0;
  }
  .site-header.has-mobile-menu .mega-menu__title{
    display:flex;
    min-height:2.25rem;
    padding:0!important;
    align-items:center;
    gap:.55rem;
    margin:0 0 .2rem;
    border:0!important;
    font-size:clamp(.68rem,3vw,.82rem)!important;
    line-height:1.2;
    white-space:nowrap;
  }
  .site-header.has-mobile-menu .mega-menu__title br{display:none}
  .site-header.has-mobile-menu .mega-menu__title img{width:1.45rem;height:1.45rem;flex:0 0 1.45rem}
  .site-header.has-mobile-menu .mega-menu__title span{padding:0}
  .site-header.has-mobile-menu .mega-menu__column ul{
    width:100%!important;
    grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    justify-content:stretch;
  }
  .site-header.has-mobile-menu .mega-menu__column ul a{
    width:100%;
    padding:.52rem .2rem!important;
    font-size:.78rem!important;
    text-align:left;
    border:0;
  }
  .site-header.has-mobile-menu .mega-menu__column ul a:hover,
  .site-header.has-mobile-menu .mega-menu__column ul a:focus-visible{padding-left:.35rem!important}
  .site-header.has-mobile-menu .mega-menu__all{
    margin-left:.2rem;
    padding:.62rem .2rem .25rem!important;
    border:0!important;
  }
  .mobile-nav__footer{
    display:grid;
    width:min(100%,34rem);
    margin:auto auto 0;
    padding:24px 0 max(24px,env(safe-area-inset-bottom));
    gap:12px;
    border-top:1px solid #ffffff17;
  }
  .mobile-nav__cta{
    display:flex;
    min-height:52px;
    padding:.8rem 1rem;
    align-items:center;
    justify-content:center;
    border:1px solid #d6ad45;
    border-radius:9px;
    font-size:.9rem!important;
    font-weight:850!important;
    line-height:1.25;
    text-align:center;
    text-decoration:none;
  }
  .mobile-nav__cta--primary{color:#15171c!important;background:#d6ad45}
}
@media(max-width:420px){
  .site-header.has-mobile-menu .site-header__inner{grid-template-rows:78px minmax(0,1fr)}
  .site-header.has-mobile-menu .brand{padding-left:20px}
  .site-header.has-mobile-menu .brand img,.site-header.has-mobile-menu.is-scrolled .brand img{width:96px}
  .site-header.has-mobile-menu .menu-toggle{margin-right:16px}
  .site-header.has-mobile-menu .primary-nav[data-open]{padding:16px 12px 0}
  .site-header.has-mobile-menu .primary-nav__link{min-height:46px;padding:10px 16px!important;font-size:.96rem!important}
  .site-header.has-mobile-menu .primary-nav__row{min-height:54px}
  .site-header.has-mobile-menu .primary-nav__submenu-toggle{height:54px}
}

/* Reference-matched Industries expertise and card showcase. */
.ns22-industry-cards{
  padding:1.65rem 0 1.25rem;
  color:#1a1b1e;
  background:#fbfaf7;
}
.ns22-industry-cards>.ns22-container{
  width:min(1400px,calc(100% - 2.5rem));
}
.ns22-industry-overview{
  display:grid;
  grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);
  margin-bottom:1.7rem;
  align-items:center;
  gap:2rem;
}
.ns22-industry-overview>header{
  display:grid;
  min-width:0;
  padding-right:2.2rem;
  gap:.55rem;
  border-right:1px solid #dfd9ce;
}
.ns22-industry-overview>header>p{
  margin:0;
  color:#9b761d;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ns22-industry-overview>header h2{
  max-width:100%;
  margin:0;
  font-size:clamp(2.4rem,3.2vw,2.9rem);
  line-height:.98;
}
.ns22-industry-overview>header>i{
  display:block;
  width:3.2rem;
  height:2px;
  margin:.6rem 0 .35rem;
  background:#d6ad45;
}
.ns22-industry-overview>header>span{
  max-width:58ch;
  color:#57544f;
  font-size:.83rem;
  line-height:1.8;
}
.ns22-industry-benefits{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  min-width:0;
}
.ns22-industry-benefits article{
  display:grid;
  min-width:0;
  min-height:7.2rem;
  grid-template-columns:3.2rem minmax(0,1fr);
  padding:1rem 1.15rem;
  align-items:start;
  gap:.8rem;
  border-bottom:1px solid #e3ddd3;
}
.ns22-industry-benefits article:nth-child(n+4){
  border-bottom:0;
}
.ns22-industry-benefits article>span{
  display:grid;
  width:3.2rem;
  height:3.2rem;
  place-items:center;
  background:#faf3e4;
  border-radius:.75rem;
}
.ns22-industry-benefits img,
.ns22-industry-showcase figure>span img,
.ns22-industry-showcase__card>a img,
.ns22-industry-showcase__card a img,
.ns22-industry-outcome img{
  filter:invert(62%) sepia(41%) saturate(796%) hue-rotate(357deg) brightness(93%) contrast(84%);
}
.ns22-industry-benefits article>span img{
  width:1.85rem;
  height:1.85rem;
}
.ns22-industry-benefits h3{
  margin:.1rem 0 .35rem;
  font-family:var(--font-ui);
  font-size:.78rem;
  font-weight:900;
  line-height:1.25;
}
.ns22-industry-benefits p{
  margin:0;
  color:#62605b;
  font-size:.66rem;
  line-height:1.65;
}
.ns22-industry-showcase{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.85rem;
}
.ns22-industry-showcase__card{
  display:flex;
  min-width:0;
  min-height:28.75rem;
  overflow:hidden;
  flex-direction:column;
  background:#fff;
  border:1px solid #e1dbd0;
  border-radius:1rem;
  box-shadow:0 12px 26px #1a1b1e0a;
}
.ns22-industry-showcase__card figure{
  position:relative;
  flex:0 0 auto;
  margin:0;
}
.ns22-industry-showcase__card figure>img{
  display:block;
  width:100%;
  aspect-ratio:1.48/1;
  object-fit:cover;
}
.ns22-industry-showcase__card figure>span{
  position:absolute;
  left:1rem;
  bottom:-1.65rem;
  display:grid;
  width:3.3rem;
  height:3.3rem;
  place-items:center;
  background:#222428;
  border:1px solid #d6ad45;
  border-radius:50%;
  box-shadow:0 8px 18px #0003;
}
.ns22-industry-showcase__card figure>span img{
  width:1.75rem;
  height:1.75rem;
}
.ns22-industry-showcase__card>div{
  display:flex;
  min-height:0;
  padding:2.35rem 1rem 1rem;
  flex:1;
  flex-direction:column;
}
.ns22-industry-showcase__card h2{
  margin:0 0 .75rem;
  color:#9b761d;
  font-family:var(--font-ui);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.ns22-industry-showcase__card p{
  min-height:5.3rem;
  margin:0;
  color:#4f4d49;
  font-size:.7rem;
  line-height:1.7;
}
.ns22-industry-showcase__card ul{
  display:flex;
  min-height:3.3rem;
  margin:.85rem 0 .75rem;
  padding:.7rem 0 0;
  align-content:flex-start;
  gap:.35rem;
  flex-wrap:wrap;
  list-style:none;
  border-top:1px solid #e4ded4;
}
.ns22-industry-showcase__card li{
  padding:.28rem .48rem;
  align-self:flex-start;
  color:#45433f;
  background:#f5f1e9;
  border-radius:.3rem;
  font-size:.54rem;
  font-weight:850;
  line-height:1.2;
}
.ns22-industry-showcase__card a{
  display:flex;
  margin-top:auto;
  padding-top:.75rem;
  align-items:center;
  justify-content:space-between;
  color:#24231f;
  font-size:.67rem;
  font-weight:900;
  text-decoration:none;
  border-top:1px solid #e4ded4;
}
.ns22-industry-showcase__card a span{
  border-bottom:2px solid #d6ad45;
}
.ns22-industry-showcase__card a img{
  width:1rem;
  height:1rem;
  transition:transform var(--motion);
}
.ns22-industry-showcase__card a:hover img,
.ns22-industry-showcase__card a:focus-visible img{
  transform:translateX(.2rem);
}
.ns22-industry-outcome{
  display:grid;
  grid-template-columns:minmax(22rem,1.15fr) minmax(0,2fr);
  margin-top:1.25rem;
  padding:1rem 1.25rem;
  align-items:center;
  background:#f8f3e9;
  border:1px solid #e6dfd2;
  border-radius:1rem;
}
.ns22-industry-outcome__statement{
  display:grid;
  min-width:0;
  grid-template-columns:3.75rem minmax(0,1fr);
  padding-right:1.3rem;
  align-items:center;
  gap:1rem;
  border-right:1px solid #ddd5c7;
}
.ns22-industry-outcome__statement>span{
  display:grid;
  width:3.75rem;
  height:3.75rem;
  place-items:center;
  background:#222428;
  border-radius:50%;
  box-shadow:0 8px 18px #0003;
}
.ns22-industry-outcome__statement>span img{
  width:2rem;
  height:2rem;
}
.ns22-industry-outcome__statement p{
  display:grid;
  margin:0;
  gap:.25rem;
  color:#44423e;
  font-size:.68rem;
  line-height:1.45;
}
.ns22-industry-outcome__statement strong{
  color:#1f2023;
  font-size:.76rem;
}
.ns22-industry-outcome>ul{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
}
.ns22-industry-outcome>ul li{
  display:grid;
  min-width:0;
  grid-template-columns:2rem minmax(0,1fr);
  padding:.3rem .9rem;
  align-items:center;
  gap:.6rem;
}
.ns22-industry-outcome>ul img{
  width:1.7rem;
  height:1.7rem;
}
.ns22-industry-outcome>ul span{
  display:grid;
  gap:.2rem;
  color:#5b5852;
  font-size:.56rem;
  line-height:1.4;
}
.ns22-industry-outcome>ul strong{
  color:#292824;
  font-size:.62rem;
}
@media(max-width:1100px){
  .ns22-industry-overview{grid-template-columns:1fr}
  .ns22-industry-overview>header{padding-right:0;padding-bottom:1.5rem;border-right:0;border-bottom:1px solid #dfd9ce}
  .ns22-industry-showcase{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ns22-industry-outcome{grid-template-columns:1fr;gap:1rem}
  .ns22-industry-outcome__statement{padding-right:0;padding-bottom:1rem;border-right:0;border-bottom:1px solid #ddd5c7}
}
@media(max-width:760px){
  .ns22-industry-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ns22-industry-benefits article:nth-child(n){border-bottom:1px solid #e3ddd3}
  .ns22-industry-benefits article:nth-last-child(-n+2){border-bottom:0}
  .ns22-industry-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ns22-industry-outcome>ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .ns22-industry-cards{padding:3rem 0}
  .ns22-industry-cards>.ns22-container{width:min(100% - 2rem,1400px)}
  .ns22-industry-overview>header h2{font-size:2.55rem}
  .ns22-industry-benefits{grid-template-columns:1fr}
  .ns22-industry-benefits article:nth-child(n){border-bottom:1px solid #e3ddd3}
  .ns22-industry-benefits article:last-child{border-bottom:0}
  .ns22-industry-showcase{grid-template-columns:1fr}
  .ns22-industry-showcase__card{min-height:0}
  .ns22-industry-showcase__card p{min-height:0}
  .ns22-industry-showcase__card ul{min-height:0}
  .ns22-industry-outcome{grid-template-columns:1fr;padding:1rem}
  .ns22-industry-outcome__statement{grid-template-columns:3.3rem 1fr}
  .ns22-industry-outcome__statement>span{width:3.3rem;height:3.3rem}
  .ns22-industry-outcome>ul{grid-template-columns:1fr}
  .ns22-industry-outcome>ul li{padding:.7rem 0;border-bottom:1px solid #e1d9cc}
  .ns22-industry-outcome>ul li:last-child{border-bottom:0}
}

/* Resources — responsive web editions of the Northstone technical posters */
.ns22-resource-library--tools .ns22-resource{border-color:#d8c795;box-shadow:0 18px 55px rgb(32 27 17 / 7%)}
.ns22-resource-library--tools .ns22-resource>summary{padding:1.6rem 1.75rem;background:linear-gradient(135deg,#fff 0%,#faf8f2 100%)}
.ns22-resource-library--tools .ns22-resource__body{padding:clamp(1.15rem,3vw,2.25rem);gap:2rem;background:#fbfaf7}
.ns22-tool-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,34rem);align-items:start;gap:clamp(1.5rem,4vw,3.5rem)}
.ns22-tool-intro>div{display:grid;align-content:start;gap:1.1rem}
.ns22-tool-intro>div>p{margin:0;color:#3e3b35;font-size:1rem;line-height:1.85}
.ns22-resource-poster{max-width:none;margin:0;border:1px solid #d7c58e;border-radius:.7rem;background:#fff;box-shadow:0 14px 35px rgb(29 25 17 / 10%);overflow:hidden}
.ns22-resource-poster a{border-radius:0;background:#11151a}
.ns22-resource-poster figcaption{padding:.65rem .85rem;margin:0;color:#735713;background:#fff;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.ns22-resource-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.ns22-resource-button{display:inline-flex;min-height:2.8rem;padding:.7rem 1rem;align-items:center;justify-content:center;color:#11151a!important;background:#d6ad45;border:1px solid #d6ad45;border-radius:.35rem;font-size:.76rem;font-weight:900;text-decoration:none}
.ns22-resource-button--ghost{color:#7b5b14!important;background:transparent}
.ns22-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.ns22-tool-grid--brief{grid-template-columns:repeat(3,minmax(0,1fr))}
.ns22-tool-card{display:flex;min-width:0;flex-direction:column;padding:1rem;background:#fff;border:1px solid #dfd3b5;border-radius:.65rem;box-shadow:0 8px 24px rgb(34 29 17 / 5%)}
.ns22-tool-card--featured{grid-column:span 2}
.ns22-tool-card>header{display:grid;grid-template-columns:2rem 2.25rem 1fr;min-height:3.2rem;align-items:start;gap:.55rem}
.ns22-tool-card>header img{width:2rem;height:2rem;object-fit:contain;filter:brightness(0) saturate(100%) invert(62%) sepia(79%) saturate(554%) hue-rotate(4deg) brightness(91%) contrast(89%)}
.ns22-tool-card--unnumbered>header{grid-template-columns:2.25rem 1fr}
.ns22-tool-card>header h3{margin:.05rem 0 0;font-family:var(--font-body);font-size:.82rem;line-height:1.3;text-transform:uppercase}
.ns22-tool-number{display:grid;width:1.75rem;height:1.75rem;place-items:center;color:#d6ad45;background:#11151a;border-radius:.18rem;font-size:.68rem;font-weight:900}
.ns22-tool-card>p{margin:.7rem 0 .3rem;color:#5e5a51;font-size:.75rem;line-height:1.6}
.ns22-tool-list{display:grid;padding:0;margin:.8rem 0 0;gap:.55rem;list-style:none}
.ns22-tool-list li{display:grid;grid-template-columns:1rem 1fr;align-items:start;gap:.45rem;margin:0;color:#34322d;font-size:.72rem;line-height:1.45}
.ns22-tool-list input{width:.82rem;height:.82rem;margin:.12rem 0 0;accent-color:#c79628;opacity:1}
.ns22-tool-fields{display:grid;margin-top:.8rem;gap:.55rem}
.ns22-tool-fields label{display:grid;grid-template-columns:minmax(6.5rem,auto) 1fr;align-items:end;gap:.5rem;color:#34322d;font-size:.7rem}
.ns22-tool-fields input,.ns22-tool-notes textarea{width:100%;padding:.15rem 0;color:#34322d;background:transparent;border:0;border-bottom:1px solid #9c978b;border-radius:0}
.ns22-tool-fields input:focus,.ns22-tool-notes textarea:focus{outline:2px solid #d6ad45;outline-offset:2px}
.ns22-tool-notes{display:block;margin-top:.4rem}
.ns22-tool-notes textarea{min-height:4.5rem;resize:vertical;background:repeating-linear-gradient(to bottom,transparent 0,transparent 1.35rem,#c8c1b1 1.4rem,#c8c1b1 1.45rem);border-bottom:0}
.ns22-tool-alert,.ns22-tool-recommendation{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:1.25rem 1.4rem;border-radius:.65rem}
.ns22-tool-alert{color:#f7f4ec;background:#11151a;border:1px solid #33363b}
.ns22-tool-alert img,.ns22-tool-recommendation img{object-fit:contain;filter:brightness(0) saturate(100%) invert(62%) sepia(79%) saturate(554%) hue-rotate(4deg) brightness(91%) contrast(89%)}
.ns22-tool-alert h3,.ns22-tool-recommendation h3{margin:0 0 .65rem;font-family:var(--font-body);font-size:.86rem;letter-spacing:.06em;text-transform:uppercase}
.ns22-tool-alert h3{color:#fff}
.ns22-tool-alert ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-left:1.1rem;margin:0;gap:.35rem 1.5rem}
.ns22-tool-alert li{margin:0;color:#dedbd3;font-size:.76rem;line-height:1.5}
.ns22-tool-recommendation{background:linear-gradient(135deg,#fffdf8,#f4eddd);border:1px solid #d6ad45}
.ns22-tool-recommendation h3{color:#9b6f0d}
.ns22-tool-recommendation p{max-width:100ch;margin:0;color:#403b31;line-height:1.75}
@media(max-width:1100px){
  .ns22-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ns22-tool-grid--brief{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .ns22-tool-intro{grid-template-columns:1fr}
  .ns22-resource-poster{max-width:36rem}
  .ns22-tool-alert ul{grid-template-columns:1fr}
}
@media(max-width:560px){
  .ns22-resource-library--tools .ns22-resource>summary{padding:1.15rem}
  .ns22-resource-library--tools .ns22-resource__body{padding:1rem}
  .ns22-tool-grid,.ns22-tool-grid--brief{grid-template-columns:1fr}
  .ns22-tool-card--featured{grid-column:auto}
  .ns22-tool-card{padding:.9rem}
  .ns22-tool-card>header{grid-template-columns:1.9rem 2rem 1fr}
  .ns22-tool-fields label{grid-template-columns:1fr}
  .ns22-tool-alert,.ns22-tool-recommendation{grid-template-columns:2.6rem 1fr;padding:1rem}
  .ns22-resource-actions{display:grid}
}
