@charset "UTF-8";
:root {
  color-scheme: light;
  --nx-blue: #315bff;
  --nx-lime: #d7f36a;
  --nx-ink: #171717;
  --nx-paper: #f5f5f0;
  --nx-white: #ffffff;
  --nx-stone: #e8e8e1;
  --nx-muted: #666761;
  --nx-line: rgba(23, 23, 23, .16);
  --nx-font-head: "Readex Pro", "Noto Sans Arabic", sans-serif;
  --nx-font-body: "Noto Sans Arabic", "Tahoma", sans-serif;
  --nx-container: 1240px;
  --nx-shadow: 7px 7px 0 var(--nx-ink);
  --nx-speed: 180ms ease-out;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--nx-paper); color: var(--nx-ink); font-family: var(--nx-font-body); font-size: 16px; line-height: 1.75; text-rendering: optimizeLegibility; }
body, button, input, select, textarea { font-family: var(--nx-font-body); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
.container { width: min(calc(100% - 48px), var(--nx-container)); margin-inline: auto; }
.nx-site { overflow: clip; }
.nx-site h1, .nx-site h2, .nx-site h3, .nx-footer h2 { font-family: var(--nx-font-head); line-height: 1.12; letter-spacing: -.045em; margin: 0; }
.nx-site p { margin: 0; }
.nx-overline, .nx-section-tag { display: inline-flex; align-items: center; gap: 10px; font-family: var(--nx-font-head); font-size: 11px; font-weight: 700; letter-spacing: .09em; line-height: 1.4; text-transform: uppercase; }
.nx-overline { color: var(--nx-muted); }
.nx-overline b { display: inline-grid; place-items: center; min-width: 28px; height: 28px; background: var(--nx-lime); color: var(--nx-ink); font-size: 12px; }
.nx-section-tag { align-self: start; justify-self: start; padding: 7px 9px; background: var(--nx-blue); color: var(--nx-white); direction: ltr; }
.nx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.nx-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 20px; padding: 12px 19px; border: 2px solid var(--nx-ink); font-size: 14px; font-weight: 800; line-height: 1.3; transition: color var(--nx-speed), background var(--nx-speed), transform var(--nx-speed), box-shadow var(--nx-speed); }
.nx-button i, .nx-inline-link i { transition: transform var(--nx-speed); }
.nx-button:hover, .nx-button:focus-visible { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--nx-ink); }
.nx-button:hover i, .nx-button:focus-visible i, .nx-inline-link:hover i { transform: translateX(-4px); }
.nx-button--lime { background: var(--nx-lime); color: var(--nx-ink); }
.nx-button--dark { background: var(--nx-ink); color: var(--nx-white); }
.nx-button--line { color: var(--nx-white); border-color: rgba(255,255,255,.55); }
.nx-inline-link { display: inline-flex; align-items: center; gap: 13px; padding-bottom: 5px; border-bottom: 2px solid currentColor; font-size: 14px; font-weight: 800; transition: color var(--nx-speed); }
.nx-inline-link:hover { color: var(--nx-blue); }
:focus-visible { outline: 3px solid var(--nx-blue); outline-offset: 4px; }

/* Utility ribbon and navigation */
.nx-ribbon { background: var(--nx-lime); color: var(--nx-ink); font-size: 11px; font-weight: 700; }
.nx-ribbon__inner { display: flex; min-height: 34px; justify-content: space-between; align-items: center; gap: 12px; }
.nx-ribbon__inner > span, .nx-ribbon__inner > a { display: inline-flex; align-items: center; gap: 8px; }
.nx-ribbon__inner > span b { font-family: var(--nx-font-head); }
.nx-header { position: sticky; z-index: 50; top: 0; background: var(--nx-paper); border-bottom: 1px solid var(--nx-ink); }
.nx-header__inner { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 24px; }
.nx-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 11px; max-width: 270px; }
.nx-brand__mark { display: inline-grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; background: var(--nx-blue); color: var(--nx-white); font-size: 19px; box-shadow: 4px 4px 0 var(--nx-lime); }
.nx-brand__text { display: grid; gap: 1px; line-height: 1.25; }
.nx-brand .brand-name { max-width: 200px; font: 800 15px/1.35 var(--nx-font-head); }
.nx-brand .brand-phone { color: var(--nx-muted); font-size: 11px; direction: ltr; text-align: right; }
.nx-brand .brand-logo-full { width: auto; max-width: 215px; height: 54px; object-fit: contain; object-position: right center; }
.nx-nav { display: flex; flex: 1 1 auto; justify-content: center; align-items: center; gap: clamp(12px, 2vw, 28px); }
.nx-nav a { position: relative; padding: 9px 0; font-size: 13px; font-weight: 700; white-space: nowrap; }
.nx-nav a::after { position: absolute; right: 0; bottom: 1px; width: 0; height: 3px; background: var(--nx-blue); content: ""; transition: width var(--nx-speed); }
.nx-nav a:hover::after, .nx-nav a.is-active::after { width: 100%; }
.nx-header__call { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 13px; padding: 12px 14px; background: var(--nx-ink); color: var(--nx-white); font-size: 12px; font-weight: 800; }
.nx-header__call i { color: var(--nx-lime); }
.nx-menu { display: none; width: 46px; height: 46px; align-items: center; justify-content: center; border: 2px solid var(--nx-ink); background: transparent; font-size: 19px; cursor: pointer; }
.nx-drawer { position: fixed; z-index: 102; inset-block: 0; inset-inline-end: -440px; display: flex; width: min(420px, 90vw); flex-direction: column; padding: 28px; background: var(--nx-paper); border-inline-start: 4px solid var(--nx-blue); transition: inset-inline-end 240ms ease; }
.nx-drawer.is-open { inset-inline-end: 0; }
.nx-drawer__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 2px solid var(--nx-ink); }
.nx-drawer__close { display: grid; width: 40px; height: 40px; place-items: center; border: 0; background: var(--nx-lime); cursor: pointer; font-size: 18px; }
.nx-drawer > a { display: flex; justify-content: space-between; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--nx-line); font-family: var(--nx-font-head); font-size: 19px; font-weight: 700; }
.nx-drawer > a span { color: var(--nx-blue); font-size: 13px; }
.nx-drawer > .nx-drawer__phone { justify-content: flex-start; gap: 12px; margin-top: auto; padding: 14px; background: var(--nx-ink); color: var(--nx-white); direction: ltr; }
.nx-overlay { position: fixed; z-index: 101; inset: 0; background: rgba(23,23,23,.62); opacity: 0; visibility: hidden; transition: opacity var(--nx-speed), visibility var(--nx-speed); }
.nx-overlay.is-open { opacity: 1; visibility: visible; }

/* Home: poster-like cover, number strip and editorial sections */
.nx-hero { position: relative; padding: 38px 0 54px; background: var(--nx-blue); color: var(--nx-white); }
.nx-hero__frame { position: relative; }
.nx-hero__label { display: flex; justify-content: space-between; align-items: center; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.42); color: rgba(255,255,255,.86); font: 700 10px/1.4 var(--nx-font-head); letter-spacing: .12em; }
.nx-hero__label span { direction: ltr; }
.nx-hero__label b { padding: 4px 8px; background: var(--nx-lime); color: var(--nx-ink); letter-spacing: 0; }
.nx-hero__grid { display: grid; min-height: 550px; grid-template-columns: minmax(0, 1.03fr) minmax(330px, .97fr); align-items: stretch; gap: clamp(28px, 5vw, 78px); padding-top: 35px; }
.nx-hero__copy { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 20px 0 46px; }
.nx-hero__copy .nx-overline { color: rgba(255,255,255,.78); }
.nx-hero__copy h1 { max-width: 730px; margin: 18px 0 20px; font-size: clamp(48px, 7vw, 88px); font-weight: 700; line-height: 1.08; }
.nx-hero__copy p { max-width: 590px; color: rgba(255,255,255,.85); font-size: 16px; }
.nx-hero__copy .nx-actions { margin-top: 27px; }
.nx-hero__copy .nx-button--line { border-color: rgba(255,255,255,.6); }
.nx-hero__side-note { position: absolute; inset-inline-end: 0; bottom: 0; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.7); font-size: 10px; line-height: 1.4; }
.nx-hero__side-note b { display: grid; width: 35px; height: 35px; place-items: center; background: var(--nx-lime); color: var(--nx-ink); font: 700 13px var(--nx-font-head); }
.nx-hero__visual { position: relative; min-height: 420px; overflow: hidden; align-self: center; background: var(--nx-ink); border: 2px solid var(--nx-ink); box-shadow: 12px 12px 0 var(--nx-lime); }
.nx-hero__visual > img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.nx-hero-art { position: absolute; inset: 0; overflow: hidden; background: var(--nx-paper); color: var(--nx-ink); }
.nx-hero-art::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(49,91,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(49,91,255,.12) 1px, transparent 1px); background-size: 34px 34px; content: ""; }
.nx-hero-art__number { position: absolute; inset-inline-start: 8%; top: 1%; color: var(--nx-blue); font: 700 clamp(100px, 19vw, 245px)/1 var(--nx-font-head); letter-spacing: -.12em; }
.nx-hero-art__square { position: absolute; inset-inline-end: 13%; top: 20%; width: 44%; height: 50%; background: var(--nx-blue); border: 8px solid var(--nx-ink); transform: rotate(-5deg); }
.nx-hero-art__square::after { position: absolute; inset: 20% 20% -16% -15%; border: 5px solid var(--nx-ink); background: var(--nx-lime); content: ""; }
.nx-hero-art__circle { position: absolute; inset-inline-start: 12%; bottom: 16%; width: 110px; aspect-ratio: 1; border: 15px solid var(--nx-ink); border-radius: 50%; background: var(--nx-lime); }
.nx-hero-art__caption { position: absolute; inset-inline-end: 8%; bottom: 5%; padding: 7px 10px; background: var(--nx-ink); color: var(--nx-white); font: 700 10px var(--nx-font-head); letter-spacing: .12em; }
.nx-hero__visual-tag { position: absolute; top: 14px; inset-inline-start: 14px; padding: 7px 9px; background: var(--nx-lime); color: var(--nx-ink); font: 700 9px/1.35 var(--nx-font-head); letter-spacing: .1em; }
.nx-hero__controls { display: flex; gap: 8px; margin-top: 27px; }
.ng-hero-slide { display: none; }
.ng-hero-slide.is-active { display: block; animation: nx-rise .38s ease-out both; }
.ng-hero-dot { min-width: 45px; min-height: 35px; border: 1px solid rgba(255,255,255,.5); background: transparent; color: var(--nx-white); cursor: pointer; }
.ng-hero-dot.is-active { background: var(--nx-lime); color: var(--nx-ink); border-color: var(--nx-lime); }
.nx-hero__edge { position: absolute; inset-inline-end: 0; top: 42%; writing-mode: vertical-rl; transform: rotate(180deg); font: 700 10px var(--nx-font-head); letter-spacing: .15em; opacity: .72; }
.nx-stats { border-bottom: 1px solid var(--nx-ink); background: var(--nx-paper); }
.nx-stats__grid { display: grid; min-height: 112px; grid-template-columns: repeat(3, 1fr) 1.5fr; align-items: center; }
.nx-stats__grid > div { display: flex; align-items: center; gap: 13px; min-height: 48px; padding-inline: 20px; border-inline-start: 1px solid var(--nx-line); }
.nx-stats__grid > div:first-child { padding-inline-start: 0; }
.nx-stats__grid > div b { color: var(--nx-blue); font: 700 29px/1 var(--nx-font-head); }
.nx-stats__grid > div span, .nx-stats__grid > p { color: var(--nx-muted); font-size: 11px; font-weight: 700; }
.nx-stats__grid > p { justify-self: end; max-width: 170px; text-align: left; }
.nx-about-strip { padding: 112px 0; }
.nx-about-strip__grid { display: grid; grid-template-columns: 150px 1fr 1fr 250px; gap: 30px; align-items: start; }
.nx-about-strip__heading h2 { margin-top: 17px; font-size: clamp(30px, 4vw, 50px); }
.nx-about-strip__copy { padding-top: 36px; }
.nx-about-strip__copy p { color: var(--nx-muted); font-size: 14px; }
.nx-about-strip__copy .nx-inline-link { margin-top: 20px; }
.nx-about-strip__media { position: relative; aspect-ratio: 1 / 1.12; margin-top: 8px; border: 2px solid var(--nx-ink); background: var(--nx-lime); box-shadow: 8px 8px 0 var(--nx-blue); }
.nx-about-strip__media img { width: 100%; height: 100%; object-fit: cover; }
.nx-media-fallback { display: grid; min-height: 100%; place-content: center; background: repeating-linear-gradient(135deg, var(--nx-paper) 0 17px, var(--nx-lime) 17px 34px); color: var(--nx-ink); font: 700 23px/1.3 var(--nx-font-head); text-align: center; }
.nx-section-heading { display: grid; grid-template-columns: 150px 1fr auto; align-items: end; gap: 26px; margin-bottom: 45px; }
.nx-section-heading > div h2 { margin-top: 12px; font-size: clamp(36px, 5vw, 62px); }
.nx-section-heading > div h2 em, .nx-hero__copy h1 em, .nx-page-cover h1 em, .nx-contact-info h2 em, .nx-about-story__copy h2 em, .nx-process__intro h2 em, .nx-reading h2 em, .nx-contact-band h2 em, .nx-detail-body h2 em, .nx-service-detail-copy h1 em, .nx-article h2 em, .nx-keyword-detail h2 em, .nx-not-found h1 em { color: inherit; font-style: normal; text-decoration: underline; text-decoration-color: var(--nx-lime); text-decoration-thickness: .13em; text-underline-offset: .09em; }
.nx-services { padding: 100px 0 112px; background: var(--nx-stone); }
.nx-service-list { border-top: 2px solid var(--nx-ink); }
.nx-service-row { display: grid; grid-template-columns: 64px 60px minmax(0,1fr) 55px; align-items: center; gap: 19px; min-height: 116px; padding: 17px 13px; border-bottom: 1px solid var(--nx-ink); transition: background var(--nx-speed), padding var(--nx-speed); }
.nx-service-row:hover { padding-inline: 22px; background: var(--nx-lime); }
.nx-service-row__no { color: var(--nx-blue); font: 700 22px var(--nx-font-head); }
.nx-service-row__icon { display: grid; width: 48px; height: 48px; place-items: center; background: var(--nx-paper); border: 1px solid var(--nx-ink); font-size: 17px; }
.nx-service-row__text { display: grid; gap: 5px; }
.nx-service-row__text strong { font: 700 20px/1.35 var(--nx-font-head); }
.nx-service-row__text small { max-width: 760px; color: var(--nx-muted); font-size: 12px; line-height: 1.7; }
.nx-service-row__arrow { display: grid; width: 43px; height: 43px; place-items: center; background: var(--nx-blue); color: var(--nx-white); }
.nx-service-row:hover .nx-service-row__arrow { background: var(--nx-ink); }
.nx-process { padding: 112px 0; }
.nx-process__grid { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); gap: 8vw; }
.nx-process__intro { position: relative; }
.nx-process__intro .nx-overline { display: flex; margin: 30px 0 15px; }
.nx-process__intro h2 { font-size: clamp(37px, 4.5vw, 58px); }
.nx-process__intro p { max-width: 460px; margin-top: 20px; color: var(--nx-muted); font-size: 14px; }
.nx-process__intro .nx-button { margin-top: 22px; }
.nx-process__image { position: relative; width: min(100%, 250px); height: 170px; margin-top: 30px; margin-inline-start: auto; border: 2px solid var(--nx-ink); background: var(--nx-blue); transform: rotate(-2deg); }
.nx-process__image img { width: 100%; height: 100%; object-fit: cover; }
.nx-process__list { border-top: 2px solid var(--nx-ink); }
.nx-process-row { display: grid; grid-template-columns: 52px minmax(0,1fr) 32px; align-items: start; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--nx-line); }
.nx-process-row > b { color: var(--nx-blue); font: 700 23px var(--nx-font-head); }
.nx-process-row h3 { font-size: 18px; }
.nx-process-row p { margin-top: 6px; color: var(--nx-muted); font-size: 13px; }
.nx-process-row > i { color: var(--nx-blue); }
.nx-works, .nx-related { padding: 105px 0 115px; background: var(--nx-ink); color: var(--nx-white); }
.nx-section-heading--inverse { color: var(--nx-white); }
.nx-section-heading--inverse .nx-overline { color: rgba(255,255,255,.65); }
.nx-section-heading--inverse .nx-section-tag { background: var(--nx-lime); color: var(--nx-ink); }
.nx-works-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 18px; align-items: start; }
.nx-work-card { position: relative; display: block; min-height: 260px; overflow: hidden; grid-column: span 4; border: 1px solid rgba(255,255,255,.3); background: #292929; color: var(--nx-white); }
.nx-work-card:nth-child(6n + 1), .nx-work-card:nth-child(6n + 4) { grid-column: span 5; }
.nx-work-card:nth-child(6n + 2), .nx-work-card:nth-child(6n + 5) { grid-column: span 3; margin-top: 38px; }
.nx-work-card:nth-child(6n + 3), .nx-work-card:nth-child(6n) { grid-column: span 4; margin-top: 16px; }
.nx-work-card img { width: 100%; height: 310px; object-fit: cover; transition: transform 500ms ease; }
.nx-work-card:hover img { transform: scale(1.04); }
.nx-work-card > span { position: absolute; inset-inline: 0; bottom: 0; display: flex; min-height: 58px; align-items: center; gap: 12px; padding: 10px 14px; background: linear-gradient(0deg, rgba(23,23,23,.94), rgba(23,23,23,.08)); font-size: 13px; font-weight: 700; }
.nx-work-card > span b { display: grid; width: 27px; height: 27px; flex: 0 0 27px; place-items: center; background: var(--nx-lime); color: var(--nx-ink); font: 700 10px var(--nx-font-head); }
.nx-work-card > span i { margin-inline-start: auto; color: var(--nx-lime); }
.nx-reading { padding: 108px 0 114px; }
.nx-reading-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 17px; }
.nx-reading-card { display: flex; min-height: 390px; flex-direction: column; padding: 15px; border: 1px solid var(--nx-ink); background: transparent; transition: background var(--nx-speed), transform var(--nx-speed), box-shadow var(--nx-speed); }
.nx-reading-card:hover { background: var(--nx-white); transform: translateY(-5px); box-shadow: 5px 5px 0 var(--nx-blue); }
.nx-reading-card__index { min-height: 26px; direction: ltr; text-align: left; color: var(--nx-blue); font: 700 9px var(--nx-font-head); letter-spacing: .11em; }
.nx-reading-card img, .nx-reading-card__art { width: 100%; height: 145px; object-fit: cover; border: 1px solid var(--nx-line); background: var(--nx-lime); }
.nx-reading-card__art { display: grid; place-items: center; color: var(--nx-blue); font-size: 34px; }
.nx-reading-card h3 { margin-top: 17px; font-size: 17px; }
.nx-reading-card p { display: -webkit-box; overflow: hidden; margin-top: 9px; color: var(--nx-muted); font-size: 12px; line-height: 1.65; line-clamp: 3; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.nx-reading-card > b { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 17px; font-size: 11px; }
.nx-reading-card > b i { color: var(--nx-blue); }
.nx-contact-band { padding: 68px 0; background: var(--nx-blue); color: var(--nx-white); }
.nx-contact-band__inner { display: grid; grid-template-columns: 150px 1fr auto; align-items: center; gap: 28px; }
.nx-contact-band .nx-section-tag { background: var(--nx-lime); color: var(--nx-ink); }
.nx-contact-band .nx-overline { color: rgba(255,255,255,.7); }
.nx-contact-band h2 { margin-top: 11px; font-size: clamp(30px, 4vw, 48px); }
.nx-contact-band p { max-width: 680px; margin-top: 10px; color: rgba(255,255,255,.83); font-size: 13px; }

/* Shared page mastheads and inner pages */
.nx-page-cover { position: relative; overflow: hidden; padding: 70px 0 66px; background: var(--nx-lime); }
.nx-page-cover--dark { background: var(--nx-ink); color: var(--nx-white); }
.nx-page-cover__inner { position: relative; display: grid; grid-template-columns: 150px 1fr minmax(180px, .7fr); align-items: end; gap: 28px; }
.nx-page-cover__inner > div { position: relative; z-index: 1; }
.nx-page-cover__inner .nx-overline { margin-bottom: 12px; color: var(--nx-muted); }
.nx-page-cover--dark .nx-overline { color: rgba(255,255,255,.6); }
.nx-page-cover h1 { max-width: 820px; font-size: clamp(48px, 7vw, 82px); }
.nx-page-cover__inner > p { max-width: 380px; color: var(--nx-muted); font-size: 13px; }
.nx-page-cover--dark .nx-page-cover__inner > p { color: rgba(255,255,255,.74); }
.nx-page-cover__number { position: absolute; inset-inline-end: 5%; top: -118px; color: rgba(255,255,255,.1); font: 700 250px/1 var(--nx-font-head); pointer-events: none; }
.nx-page-cover:not(.nx-page-cover--dark) .nx-page-cover__number { color: rgba(49,91,255,.12); }
.nx-about-story { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(40px, 8vw, 110px); padding-block: 104px; }
.nx-about-story__visual { position: relative; min-height: 440px; border: 2px solid var(--nx-ink); background: var(--nx-blue); box-shadow: 10px 10px 0 var(--nx-lime); }
.nx-about-story__visual img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.nx-about-story__visual > b { position: absolute; inset-inline-start: 13px; bottom: 13px; display: block; max-width: calc(100% - 26px); padding: 8px 10px; background: var(--nx-lime); font: 700 10px var(--nx-font-head); }
.nx-about-story__visual small { font: 600 10px var(--nx-font-body); }
.nx-about-story__copy h2 { margin-top: 16px; font-size: clamp(34px, 4.2vw, 55px); }
.nx-about-story__copy > p { margin-top: 20px; color: var(--nx-muted); font-size: 14px; }
.nx-area-list { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.nx-area-list span { display: inline-flex; align-items: center; gap: 8px; padding: 6px 9px; border: 1px solid var(--nx-line); font-size: 11px; }
.nx-area-list i { color: var(--nx-blue); }
.nx-about-story__copy .nx-actions { margin-top: 26px; }
.nx-about-services { padding: 85px 0 105px; background: var(--nx-stone); }
.nx-about-service-list { display: grid; grid-template-columns: repeat(2,1fr); column-gap: 42px; border-top: 2px solid var(--nx-ink); }
.nx-about-service-list a { display: grid; grid-template-columns: 45px 1fr 20px; align-items: center; gap: 12px; min-height: 70px; border-bottom: 1px solid var(--nx-line); font-size: 14px; font-weight: 700; }
.nx-about-service-list a > b { color: var(--nx-blue); font: 700 14px var(--nx-font-head); }
.nx-about-service-list a > i { color: var(--nx-blue); }
.nx-service-catalog { display: grid; grid-template-columns: minmax(230px,.62fr) minmax(0,1.38fr); gap: 9vw; padding-block: 90px 110px; }
.nx-service-catalog__lead { align-self: start; position: sticky; top: 130px; }
.nx-service-catalog__lead h2 { margin-top: 15px; font-size: clamp(38px, 5vw, 62px); }
.nx-service-catalog__lead p { margin-top: 16px; color: var(--nx-muted); font-size: 13px; }
.nx-service-catalog__lead .nx-button { margin-top: 21px; }
.nx-catalog-list { border-top: 2px solid var(--nx-ink); }
.nx-catalog-list > a { display: grid; grid-template-columns: 48px minmax(0,1fr) 36px; align-items: center; gap: 18px; min-height: 105px; padding: 16px 10px; border-bottom: 1px solid var(--nx-line); transition: background var(--nx-speed), padding var(--nx-speed); }
.nx-catalog-list > a:hover { padding-inline: 18px; background: var(--nx-lime); }
.nx-catalog-list > a > b { color: var(--nx-blue); font: 700 20px var(--nx-font-head); }
.nx-catalog-list > a > span { display: grid; gap: 6px; }
.nx-catalog-list strong { font: 700 18px var(--nx-font-head); }
.nx-catalog-list small { color: var(--nx-muted); font-size: 12px; }
.nx-catalog-list > a > i { display: grid; width: 35px; height: 35px; place-items: center; background: var(--nx-blue); color: var(--nx-white); }
.nx-contact-layout { display: grid; grid-template-columns: minmax(280px,.82fr) minmax(0,1.18fr); gap: clamp(35px, 7vw, 90px); padding-block: 84px 110px; }
.nx-contact-info { align-self: start; }
.nx-contact-info h2 { margin-top: 15px; font-size: clamp(32px, 4vw, 48px); }
.nx-contact-details { display: grid; gap: 0; margin-top: 30px; border-top: 2px solid var(--nx-ink); }
.nx-contact-details > a, .nx-contact-details > p { display: flex; align-items: center; gap: 14px; margin: 0; padding: 15px 4px; border-bottom: 1px solid var(--nx-line); font-size: 13px; }
.nx-contact-details > a > i, .nx-contact-details > p > i { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; background: var(--nx-lime); color: var(--nx-ink); }
.nx-contact-details small { display: block; color: var(--nx-muted); font-size: 10px; }
.nx-map { width: 100%; height: 230px; margin-top: 24px; border: 1px solid var(--nx-ink); background: var(--nx-stone); }
.nx-form-panel { padding: clamp(24px, 4vw, 46px); border: 2px solid var(--nx-ink); background: var(--nx-white); box-shadow: 9px 9px 0 var(--nx-blue); }
.nx-form-panel h2 { margin-top: 12px; font-size: clamp(32px, 4vw, 48px); }
.nx-form-panel > p { margin-top: 10px; color: var(--nx-muted); font-size: 13px; }
.nx-form-panel form { display: grid; gap: 17px; margin-top: 27px; }
.nx-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.nx-form-panel label { display: grid; gap: 7px; font-size: 12px; font-weight: 700; }
.nx-form-panel input, .nx-form-panel select, .nx-form-panel textarea { width: 100%; min-height: 47px; padding: 11px 12px; border: 1px solid var(--nx-ink); border-radius: 0; background: var(--nx-paper); color: var(--nx-ink); font-size: 14px; }
.nx-form-panel textarea { min-height: 150px; resize: vertical; }
.nx-form-panel .nx-button { justify-self: start; cursor: pointer; }
.nx-honeypot { position: absolute !important; inset-inline-start: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.nx-offers { display: grid; grid-template-columns: minmax(230px,.55fr) minmax(0,1.45fr); gap: 8vw; padding-block: 90px 115px; }
.nx-offers__lead { align-self: start; position: sticky; top: 130px; }
.nx-offers__lead h2 { margin-top: 15px; font-size: clamp(38px, 5vw, 60px); }
.nx-offers-list { border-top: 2px solid var(--nx-ink); }
.nx-offer-row { display: grid; grid-template-columns: 40px 180px minmax(0,1fr); align-items: start; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--nx-line); }
.nx-offer-row__index { color: var(--nx-blue); font: 700 18px var(--nx-font-head); }
.nx-offer-row__media { display: grid; min-height: 125px; place-items: center; border: 1px solid var(--nx-ink); background: var(--nx-lime); color: var(--nx-blue); font-size: 27px; }
.nx-offer-row__media img { width: 100%; height: 125px; object-fit: cover; }
.nx-offer-row__copy small { color: var(--nx-blue); font: 700 9px var(--nx-font-head); letter-spacing: .12em; }
.nx-offer-row__copy h3 { margin-top: 6px; font-size: 18px; }
.nx-offer-row__copy p { margin-top: 8px; color: var(--nx-muted); font-size: 12px; }
.nx-offer-row__copy .nx-inline-link { margin-top: 14px; font-size: 12px; }
.nx-service-detail-hero { padding: 78px 0; background: var(--nx-ink); color: var(--nx-white); }
.nx-service-detail-hero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); align-items: center; gap: 8vw; }
.nx-service-detail-copy .nx-overline { color: var(--nx-lime); direction: ltr; }
.nx-service-detail-copy h1 { margin-top: 15px; font-size: clamp(45px, 6.5vw, 78px); }
.nx-service-detail-copy p { max-width: 640px; margin-top: 18px; color: rgba(255,255,255,.75); font-size: 14px; }
.nx-service-detail-copy .nx-button { margin-top: 25px; }
.nx-service-detail-copy .nx-actions { margin-top: 25px; }
.nx-service-detail-copy .nx-inline-link { color: var(--nx-white); }
.nx-service-detail-media { position: relative; min-height: 360px; border: 2px solid var(--nx-white); background: var(--nx-blue); box-shadow: 9px 9px 0 var(--nx-lime); }
.nx-service-detail-media > img { width: 100%; height: 360px; object-fit: cover; }
.nx-service-detail-media > b { position: absolute; inset-inline-start: 12px; bottom: 12px; display: flex; gap: 8px; padding: 9px 12px; background: var(--nx-lime); color: var(--nx-ink); font: 700 14px var(--nx-font-head); }
.nx-service-detail-media > b small { font: 600 11px var(--nx-font-body); }
.nx-detail-body { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 8vw; padding-block: 90px 110px; }
.nx-detail-body__index h2 { margin-top: 18px; font-size: 42px; }
.nx-detail-body__copy > p { font-size: 16px; line-height: 2; }
.nx-process-steps { display: grid; gap: 0; margin-block: 28px; border-top: 2px solid var(--nx-ink); }
.nx-process-steps span { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--nx-line); font-size: 13px; font-weight: 700; }
.nx-process-steps b { display: grid; width: 29px; height: 29px; place-items: center; background: var(--nx-lime); font: 700 11px var(--nx-font-head); }
.nx-next-services { padding: 48px 0; background: var(--nx-lime); }
.nx-next-services .container > div { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-top: 15px; }
.nx-next-services a { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 13px 11px; border: 1px solid var(--nx-ink); font-size: 12px; font-weight: 700; }
.nx-next-services a:hover { background: var(--nx-ink); color: var(--nx-white); }
.nx-next-services a i { color: var(--nx-blue); }
.nx-article-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 8vw; padding-block: 86px 110px; }
.nx-article h2 { margin-top: 14px; font-size: clamp(35px, 4.3vw, 56px); }
.nx-article > div:not(.nx-process-steps) { margin-top: 22px; font-size: 15px; line-height: 2; }
.nx-article-aside { align-self: start; display: grid; gap: 13px; padding: 23px; background: var(--nx-lime); border: 2px solid var(--nx-ink); box-shadow: 7px 7px 0 var(--nx-blue); }
.nx-article-aside strong { font: 700 20px var(--nx-font-head); direction: ltr; text-align: right; }
.nx-article-aside > span:not(.nx-overline) { color: var(--nx-muted); font-size: 12px; }
.nx-article-aside .nx-button { margin-top: 8px; }
.nx-keyword-detail { position: relative; display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 7vw; padding-block: 100px 125px; }
.nx-keyword-detail__number { color: var(--nx-blue); font: 700 150px/.9 var(--nx-font-head); }
.nx-keyword-detail article h2 { margin-top: 15px; font-size: clamp(34px,4vw,52px); }
.nx-keyword-detail article > p { max-width: 800px; margin-top: 20px; font-size: 15px; line-height: 2; }
.nx-keyword-detail .nx-actions { margin-top: 28px; }
.nx-filter { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 20px; padding-block: 38px 28px; }
.nx-filter > div { display: flex; flex-wrap: wrap; gap: 8px; }
.nx-filter a { display: inline-flex; align-items: center; gap: 9px; padding: 8px 11px; border: 1px solid var(--nx-ink); font-size: 11px; font-weight: 700; }
.nx-filter a b { color: var(--nx-blue); font-size: 10px; }
.nx-filter a.is-active, .nx-filter a:hover { background: var(--nx-blue); color: var(--nx-white); }
.nx-filter a.is-active b, .nx-filter a:hover b { color: var(--nx-lime); }
.nx-portfolio { padding-bottom: 100px; }
.nx-portfolio .nx-works-grid { color: var(--nx-white); }
.nx-empty { padding: 45px; border: 1px dashed var(--nx-ink); color: var(--nx-muted); text-align: center; }
.nx-pagination { display: flex; justify-content: center; gap: 7px; margin-top: 40px; }
.nx-pagination a { display: grid; min-width: 42px; height: 42px; place-items: center; border: 1px solid var(--nx-ink); font-size: 12px; font-weight: 700; }
.nx-pagination a.is-active, .nx-pagination a:hover { background: var(--nx-blue); color: var(--nx-white); }
.nx-not-found { display: grid; min-height: 70vh; place-items: center; padding-block: 85px; background: var(--nx-blue); color: var(--nx-white); text-align: center; }
.nx-not-found > .container { display: flex; flex-direction: column; align-items: center; }
.nx-not-found .nx-overline { color: var(--nx-lime); }
.nx-not-found strong { margin-top: 15px; color: var(--nx-lime); font: 700 clamp(120px, 23vw, 250px)/.9 var(--nx-font-head); }
.nx-not-found h1 { margin-top: 12px; font-size: clamp(32px,5vw,58px); }
.nx-not-found p { margin-top: 12px; color: rgba(255,255,255,.8); }
.nx-not-found .nx-actions { justify-content: center; margin-top: 25px; }
.nx-not-found .nx-inline-link { border-color: rgba(255,255,255,.6); }

/* Footer, keyword index, fixed actions and JS-driven overlays */
.nx-keywords { padding: 70px 0; background: var(--nx-stone); border-top: 1px solid var(--nx-ink); }
.nx-keywords__layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 7vw; }
.nx-keywords__intro h2 { margin-top: 13px; font-size: 45px; }
.nx-keywords__intro h2 em { color: var(--nx-blue); font-style: normal; }
.nx-keywords__intro p { margin-top: 11px; color: var(--nx-muted); font-size: 12px; }
.nx-keyword-list { border-top: 2px solid var(--nx-ink); }
.nx-keyword { border-bottom: 1px solid var(--nx-line); }
.nx-keyword summary { display: flex; justify-content: space-between; align-items: center; min-height: 58px; cursor: pointer; list-style: none; font-weight: 700; }
.nx-keyword summary::-webkit-details-marker { display: none; }
.nx-keyword summary > span { display: flex; align-items: center; gap: 13px; }
.nx-keyword summary b { color: var(--nx-blue); font: 700 12px var(--nx-font-head); }
.nx-keyword summary > i { color: var(--nx-blue); }
.nx-keyword[open] summary > i { transform: rotate(45deg); }
.nx-keyword__links { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 34px 17px 0; }
.nx-keyword__links a { padding: 4px 8px; border: 1px solid var(--nx-line); background: var(--nx-paper); font-size: 10px; }
.nx-keyword__links a:hover { border-color: var(--nx-blue); color: var(--nx-blue); }
.nx-footer { background: var(--nx-ink); color: var(--nx-white); }
.nx-footer__main { display: grid; grid-template-columns: 1.3fr .7fr .9fr 1fr; gap: 35px; padding-block: 70px; }
.nx-footer__brand .nx-brand__mark { margin-bottom: 18px; }
.nx-footer__brand .nx-overline { display: flex; color: var(--nx-lime); }
.nx-footer__brand h2 { margin-top: 13px; font-size: 25px; }
.nx-footer__brand p { max-width: 320px; margin-top: 13px; color: rgba(255,255,255,.67); font-size: 12px; }
.nx-footer__phone { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--nx-lime); font-weight: 700; direction: ltr; }
.nx-footer__links, .nx-footer__contact, .nx-footer__gallery { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.nx-footer__links h3, .nx-footer__contact h3, .nx-footer__gallery h3 { margin-bottom: 7px; font: 700 15px var(--nx-font-head); }
.nx-footer__links a, .nx-footer__contact p { color: rgba(255,255,255,.69); font-size: 11px; }
.nx-footer__links a:hover { color: var(--nx-lime); }
.nx-footer__contact p { display: flex; gap: 9px; margin: 0; }
.nx-footer__contact p i { color: var(--nx-lime); }
.nx-socials { display: flex; gap: 7px; margin-top: 6px; }
.nx-socials a { display: grid; width: 33px; height: 33px; place-items: center; border: 1px solid rgba(255,255,255,.4); color: var(--nx-lime); }
.nx-socials a:hover { background: var(--nx-lime); color: var(--nx-ink); }
.nx-footer__gallery > div { display: grid; width: 100%; grid-template-columns: repeat(3,1fr); gap: 6px; }
.nx-footer__gallery a { border: 1px solid rgba(255,255,255,.3); overflow: hidden; }
.nx-footer__gallery img { width: 100%; height: 67px; object-fit: cover; transition: transform var(--nx-speed); }
.nx-footer__gallery a:hover img { transform: scale(1.05); }
.nx-footer__bottom { border-top: 1px solid rgba(255,255,255,.18); }
.nx-footer__bottom .container { display: flex; min-height: 53px; justify-content: space-between; align-items: center; gap: 15px; color: rgba(255,255,255,.58); font-size: 10px; }
.nx-fab { position: fixed; z-index: 80; inset-inline-start: 18px; bottom: 20px; display: flex; flex-direction: column; gap: 8px; }
.nx-fab .fab-circle { display: grid; width: 45px; height: 45px; place-items: center; border: 2px solid var(--nx-ink); box-shadow: 3px 3px 0 var(--nx-ink); cursor: pointer; }
.nx-fab .fab-circle.call { background: var(--nx-blue); color: var(--nx-white); }
.nx-fab .fab-circle.wat { background: var(--nx-lime); color: var(--nx-ink); }
.nx-fab .fab-circle.close { background: var(--nx-paper); color: var(--nx-ink); }
.nx-fab.is-hidden { display: none; }
.ng-alert { margin: 18px 0; padding: 12px 15px; border: 1px solid currentColor; font-size: 13px; }
.ng-alert-ok { background: #e5f7c6; color: #26420f; }
.ng-alert-err { background: #ffe0d9; color: #7d2414; }
.ng-reveal { opacity: 0; transform: translateY(20px); transition: opacity 420ms ease, transform 420ms ease; }
.ng-reveal.is-visible { opacity: 1; transform: none; }
.ng-lightbox { position: fixed; z-index: 200; inset: 0; display: flex; justify-content: center; align-items: center; padding: 60px 80px; background: rgba(15,15,15,.95); opacity: 0; visibility: hidden; transition: opacity var(--nx-speed), visibility var(--nx-speed); }
.ng-lightbox.is-open { opacity: 1; visibility: visible; }
.ng-lightbox > img { max-width: min(100%, 1200px); max-height: 100%; object-fit: contain; border: 2px solid var(--nx-white); }
.ng-lightbox__close, .ng-lightbox__nav { position: absolute; display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid var(--nx-white); background: var(--nx-lime); color: var(--nx-ink); cursor: pointer; }
.ng-lightbox__close { top: 15px; inset-inline-end: 18px; }
.ng-lightbox__prev { inset-inline-end: 20px; }
.ng-lightbox__next { inset-inline-start: 20px; }

@keyframes nx-rise { from { opacity: .5; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

/* Responsive layouts */
@media (max-width: 1080px) {
  .nx-nav { gap: 12px; }
  .nx-nav a { font-size: 11px; }
  .nx-header__inner { gap: 15px; }
  .nx-about-strip__grid { grid-template-columns: 110px 1fr 1fr 210px; gap: 20px; }
  .nx-footer__main { grid-template-columns: 1.1fr .7fr .9fr; }
  .nx-footer__gallery { grid-column: 1 / -1; }
  .nx-footer__gallery > div { grid-template-columns: repeat(6,1fr); }
  .nx-footer__gallery img { height: 90px; }
}
@media (max-width: 820px) {
  .container { width: min(calc(100% - 34px), var(--nx-container)); }
  .nx-ribbon__note { display: none !important; }
  .nx-header__inner { min-height: 72px; }
  .nx-nav { display: none; }
  .nx-menu { display: inline-flex; }
  .nx-header__call { margin-inline-start: auto; padding: 10px 12px; }
  .nx-hero { padding-top: 23px; }
  .nx-hero__grid { min-height: 0; grid-template-columns: 1fr; gap: 27px; padding-top: 26px; }
  .nx-hero__copy { padding: 5px 0 27px; }
  .nx-hero__copy h1 { max-width: 670px; font-size: clamp(46px, 9vw, 72px); }
  .nx-hero__visual { width: min(100%, 600px); min-height: 350px; justify-self: center; }
  .nx-hero__visual > img { min-height: 350px; }
  .nx-hero__edge { display: none; }
  .nx-stats__grid { grid-template-columns: repeat(3,1fr); min-height: 100px; }
  .nx-stats__grid > div { justify-content: center; padding-inline: 10px; }
  .nx-stats__grid > p { display: none; }
  .nx-about-strip { padding: 75px 0; }
  .nx-about-strip__grid { grid-template-columns: 100px 1fr 1fr; }
  .nx-about-strip__media { grid-column: 2 / 4; width: min(100%, 380px); aspect-ratio: 1.6; }
  .nx-section-heading { grid-template-columns: 105px 1fr auto; gap: 16px; }
  .nx-process__grid { grid-template-columns: 1fr; gap: 45px; }
  .nx-process__intro { max-width: 640px; }
  .nx-process__image { margin-inline-start: 0; }
  .nx-reading-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-contact-band__inner { grid-template-columns: 100px 1fr auto; gap: 17px; }
  .nx-page-cover__inner { grid-template-columns: 105px 1fr minmax(150px,.7fr); gap: 18px; }
  .nx-about-story { gap: 45px; }
  .nx-service-catalog, .nx-offers { grid-template-columns: 1fr; gap: 40px; }
  .nx-service-catalog__lead, .nx-offers__lead { position: static; }
  .nx-service-catalog__lead h2, .nx-offers__lead h2 { font-size: 46px; }
  .nx-contact-layout { grid-template-columns: 1fr; }
  .nx-service-detail-hero__grid { gap: 5vw; }
  .nx-detail-body { grid-template-columns: 180px minmax(0,1fr); gap: 40px; }
  .nx-keywords__layout { grid-template-columns: 180px minmax(0,1fr); gap: 35px; }
}
@media (max-width: 600px) {
  body { font-size: 15px; }
  .container { width: min(calc(100% - 28px), var(--nx-container)); }
  .nx-ribbon__inner { min-height: 32px; font-size: 9px; }
  .nx-ribbon__inner > a { direction: ltr; }
  .nx-header__inner { min-height: 66px; gap: 9px; }
  .nx-brand { max-width: 190px; gap: 8px; }
  .nx-brand__mark { width: 36px; height: 36px; flex-basis: 36px; font-size: 16px; box-shadow: 3px 3px 0 var(--nx-lime); }
  .nx-brand .brand-name { max-width: 142px; font-size: 12px; }
  .nx-brand .brand-phone { display: none; }
  .nx-brand .brand-logo-full { max-width: 145px; height: 42px; }
  .nx-header__call { min-height: 40px; gap: 7px; padding: 8px 9px; font-size: 10px; }
  .nx-menu { width: 40px; height: 40px; flex: 0 0 40px; }
  .nx-hero { padding: 18px 0 38px; }
  .nx-hero__label { font-size: 8px; }
  .nx-hero__grid { gap: 20px; padding-top: 22px; }
  .nx-hero__copy h1 { margin: 13px 0 12px; font-size: clamp(40px, 12vw, 58px); }
  .nx-hero__copy p { font-size: 13px; }
  .nx-hero__copy .nx-actions { gap: 8px; margin-top: 20px; }
  .nx-button { min-height: 45px; gap: 10px; padding: 10px 12px; font-size: 11px; }
  .nx-hero__side-note { font-size: 8px; }
  .nx-hero__visual { min-height: 260px; box-shadow: 6px 6px 0 var(--nx-lime); }
  .nx-hero__visual > img { min-height: 260px; }
  .nx-hero-art__number { font-size: 145px; }
  .nx-hero-art__square { border-width: 5px; }
  .nx-hero-art__square::after { border-width: 4px; }
  .nx-hero-art__circle { width: 68px; border-width: 10px; }
  .nx-hero__controls { margin-top: 19px; }
  .nx-stats__grid { min-height: 78px; }
  .nx-stats__grid > div { flex-direction: column; gap: 4px; text-align: center; }
  .nx-stats__grid > div b { font-size: 21px; }
  .nx-stats__grid > div span { font-size: 8px; }
  .nx-about-strip { padding: 60px 0; }
  .nx-about-strip__grid { grid-template-columns: 1fr 1fr; gap: 17px; }
  .nx-about-strip__grid > .nx-section-tag { grid-column: 1 / -1; }
  .nx-about-strip__heading h2 { font-size: 31px; }
  .nx-about-strip__copy { padding-top: 25px; }
  .nx-about-strip__copy p { font-size: 12px; }
  .nx-about-strip__media { grid-column: 1 / -1; width: 80%; margin-inline-start: auto; aspect-ratio: 1.55; }
  .nx-section-heading { grid-template-columns: 1fr auto; align-items: start; gap: 15px; margin-bottom: 27px; }
  .nx-section-heading > .nx-section-tag { grid-column: 1 / -1; }
  .nx-section-heading > div h2 { font-size: 38px; }
  .nx-section-heading > .nx-button, .nx-section-heading > .nx-inline-link { align-self: end; }
  .nx-services, .nx-works, .nx-reading { padding-block: 65px; }
  .nx-service-row { grid-template-columns: 35px 38px minmax(0,1fr) 32px; gap: 10px; min-height: 92px; padding: 12px 6px; }
  .nx-service-row__no { font-size: 15px; }
  .nx-service-row__icon { width: 34px; height: 34px; font-size: 13px; }
  .nx-service-row__text strong { font-size: 14px; }
  .nx-service-row__text small { font-size: 10px; }
  .nx-service-row__arrow { width: 30px; height: 30px; font-size: 11px; }
  .nx-process { padding: 65px 0; }
  .nx-process__intro h2 { font-size: 40px; }
  .nx-process-row { grid-template-columns: 34px minmax(0,1fr) 20px; gap: 11px; padding: 17px 0; }
  .nx-process-row > b { font-size: 18px; }
  .nx-process-row h3 { font-size: 15px; }
  .nx-process-row p { font-size: 11px; }
  .nx-works-grid { gap: 10px; }
  .nx-work-card, .nx-work-card:nth-child(n) { grid-column: span 6; min-height: 190px; margin-top: 0; }
  .nx-work-card img { height: 200px; }
  .nx-work-card:nth-child(3n) { grid-column: span 12; }
  .nx-work-card > span { gap: 7px; padding: 8px; font-size: 10px; }
  .nx-reading-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .nx-reading-card { min-height: 335px; padding: 10px; }
  .nx-reading-card img, .nx-reading-card__art { height: 112px; }
  .nx-reading-card h3 { font-size: 13px; }
  .nx-reading-card p { font-size: 10px; }
  .nx-reading-card > b { font-size: 9px; }
  .nx-contact-band { padding: 45px 0; }
  .nx-contact-band__inner { grid-template-columns: 1fr auto; gap: 16px; }
  .nx-contact-band__inner > .nx-section-tag { grid-column: 1 / -1; }
  .nx-contact-band h2 { font-size: 31px; }
  .nx-contact-band p { font-size: 11px; }
  .nx-page-cover { padding: 50px 0 45px; }
  .nx-page-cover__inner { grid-template-columns: 1fr auto; gap: 14px; }
  .nx-page-cover__inner > .nx-section-tag { grid-column: 1 / -1; }
  .nx-page-cover__inner > div { z-index: 1; }
  .nx-page-cover h1 { font-size: clamp(43px, 13vw, 60px); }
  .nx-page-cover__inner > p { grid-column: 1 / -1; max-width: 100%; font-size: 11px; }
  .nx-page-cover__number { top: -42px; inset-inline-end: 4%; font-size: 145px; }
  .nx-about-story { grid-template-columns: 1fr; gap: 35px; padding-block: 60px; }
  .nx-about-story__visual, .nx-about-story__visual img { min-height: 290px; }
  .nx-about-story__copy h2 { font-size: 36px; }
  .nx-about-story__copy > p { font-size: 12px; }
  .nx-about-services { padding: 60px 0; }
  .nx-about-service-list { grid-template-columns: 1fr; }
  .nx-about-service-list a { min-height: 58px; font-size: 12px; }
  .nx-service-catalog, .nx-offers { padding-block: 60px; }
  .nx-service-catalog__lead h2, .nx-offers__lead h2 { font-size: 40px; }
  .nx-catalog-list > a { grid-template-columns: 33px minmax(0,1fr) 30px; gap: 10px; min-height: 90px; padding: 12px 4px; }
  .nx-catalog-list strong { font-size: 14px; }
  .nx-catalog-list small { font-size: 10px; }
  .nx-catalog-list > a > b { font-size: 15px; }
  .nx-contact-layout { gap: 40px; padding-block: 60px; }
  .nx-contact-info h2 { font-size: 34px; }
  .nx-form-panel { padding: 19px; box-shadow: 6px 6px 0 var(--nx-blue); }
  .nx-form-panel h2 { font-size: 33px; }
  .nx-form-row { grid-template-columns: 1fr; }
  .nx-form-panel input, .nx-form-panel select, .nx-form-panel textarea { font-size: 13px; }
  .nx-offer-row { grid-template-columns: 30px 84px minmax(0,1fr); gap: 10px; padding: 16px 0; }
  .nx-offer-row__media, .nx-offer-row__media img { min-height: 86px; height: 86px; }
  .nx-offer-row__copy h3 { font-size: 13px; }
  .nx-offer-row__copy p { font-size: 10px; }
  .nx-detail-body { grid-template-columns: 1fr; gap: 24px; padding-block: 60px; }
  .nx-detail-body__index h2 { font-size: 36px; }
  .nx-service-detail-hero { padding: 56px 0; }
  .nx-service-detail-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .nx-service-detail-copy h1 { font-size: 47px; }
  .nx-service-detail-copy p { font-size: 12px; }
  .nx-service-detail-media, .nx-service-detail-media > img { min-height: 265px; height: 265px; }
  .nx-related { padding: 65px 0; }
  .nx-next-services .container > div { grid-template-columns: 1fr 1fr; }
  .nx-next-services a { font-size: 10px; }
  .nx-article-layout { grid-template-columns: 1fr; gap: 35px; padding-block: 60px; }
  .nx-article h2 { font-size: 38px; }
  .nx-article > div:not(.nx-process-steps) { font-size: 13px; }
  .nx-keyword-detail { grid-template-columns: 1fr; gap: 25px; padding-block: 60px; }
  .nx-keyword-detail__number { font-size: 90px; }
  .nx-keyword-detail article h2 { font-size: 35px; }
  .nx-keyword-detail article > p { font-size: 13px; }
  .nx-filter { grid-template-columns: 1fr; gap: 12px; padding-block: 25px; }
  .nx-portfolio { padding-bottom: 65px; }
  .nx-empty { padding: 25px; font-size: 12px; }
  .nx-pagination { margin-top: 25px; }
  .nx-keywords { padding: 55px 0; }
  .nx-keywords__layout { grid-template-columns: 1fr; gap: 25px; }
  .nx-keywords__intro h2 { font-size: 37px; }
  .nx-keyword__links { padding-inline-end: 0; }
  .nx-footer__main { grid-template-columns: 1fr 1fr; gap: 30px 18px; padding-block: 52px; }
  .nx-footer__brand { grid-column: 1 / -1; }
  .nx-footer__gallery { grid-column: 1 / -1; }
  .nx-footer__gallery > div { grid-template-columns: repeat(4,1fr); }
  .nx-footer__gallery img { height: 64px; }
  .nx-footer__bottom .container { min-height: 60px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 2px; padding-block: 10px; font-size: 9px; }
  .nx-fab { inset-inline-start: 10px; bottom: 10px; gap: 6px; }
  .nx-fab .fab-circle { width: 39px; height: 39px; }
  .ng-lightbox { padding: 58px 16px; }
  .ng-lightbox__prev { inset-inline-end: 7px; }
  .ng-lightbox__next { inset-inline-start: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .ng-reveal { opacity: 1; transform: none; }
}
