:root {
    --nw-ink: #182c37;
    --nw-muted: #49616c;
    --nw-bg: #f4f8f8;
    --nw-surface: rgba(255, 255, 255, .94);
    --nw-line: rgba(35, 98, 110, .18);
    --nw-violet: #236779;
    --nw-cyan: #14788b;
    --nw-radius: 1.5rem;
}

.nw-catalog { color: var(--nw-ink); background: var(--nw-bg); min-height: 100vh; padding: clamp(1rem, 3vw, 3rem); font-family: inherit; }
.nw-catalog::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .22; background-image: linear-gradient(var(--nw-line) 1px, transparent 1px), linear-gradient(90deg, var(--nw-line) 1px, transparent 1px), radial-gradient(circle at 80% 10%, rgba(109,193,205,.22), transparent 32%), radial-gradient(circle at 15% 55%, rgba(164,219,219,.3), transparent 28%); background-size: 64px 64px, 64px 64px, auto, auto; }
.nw-catalog > * { position: relative; z-index: 1; max-width: 1440px; margin-inline: auto; }
.nw-hero { padding: clamp(3rem, 8vw, 8rem) clamp(1rem, 5vw, 5rem); border: 1px solid var(--nw-line); border-radius: calc(var(--nw-radius) * 1.35); overflow: hidden; background: linear-gradient(135deg, rgba(232,249,250,.98), rgba(255,255,255,.98) 48%, rgba(226,242,239,.98)); box-shadow: 0 22px 65px rgba(27,80,93,.10); }
.nw-hero h1 { max-width: 900px; margin: .6rem 0 1rem; font-size: clamp(2.25rem, 6vw, 5.75rem); line-height: 1.02; letter-spacing: -.04em; }
.nw-hero p { max-width: 760px; color: var(--nw-muted); font-size: clamp(1rem, 1.8vw, 1.3rem); line-height: 1.85; }
.nw-kicker, .nw-hero code, .nw-card code { color: var(--nw-cyan); font-weight: 800; letter-spacing: .04em; }
.nw-search { display: grid; grid-template-columns: 1fr auto; gap: .75rem; margin-block: 2rem; }
.nw-search input, .nw-quote input, .nw-quote select, .nw-quote textarea { color: var(--nw-ink); background: #ffffff; border: 1px solid var(--nw-line); border-radius: 1rem; padding: 1rem 1.1rem; }
.nw-search button, .nw-action { color: #ffffff; background: linear-gradient(135deg, #176d7b, #215e72); border: 0; border-radius: 999px; padding: .9rem 1.3rem; font-weight: 900; text-decoration: none; display: inline-flex; width: fit-content; }
.nw-sector-orbit, .nw-grid, .nw-bento { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1rem; margin-block: 2rem; }
.nw-sector-orbit a, .nw-card, .nw-bento article, .nw-split article, .nw-article-block, .nw-quote, .nw-faq { color: inherit; text-decoration: none; border: 1px solid var(--nw-line); border-radius: var(--nw-radius); background: var(--nw-surface); backdrop-filter: blur(18px); padding: 1.4rem; }
.nw-sector-orbit strong, .nw-sector-orbit span { display: block; }.nw-sector-orbit span, .nw-card p { color: var(--nw-muted); line-height: 1.75; margin-top: .6rem; }
.nw-card { min-height: 280px; display: flex; flex-direction: column; }.nw-card h2 { font-size: 1.35rem; line-height: 1.45; }.nw-card h2 a { color: inherit; text-decoration: none; }.nw-card .nw-action { margin-top: auto; }
.nw-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-block: 2rem; }.nw-split p, .nw-bento li, .nw-article-block li { color: var(--nw-muted); line-height: 1.85; }
.nw-process { margin-block: 4rem; }.nw-process ol { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; padding: 0; }.nw-process li { border-top: 2px solid var(--nw-violet); padding: 1.2rem; background: linear-gradient(180deg, rgba(35,103,121,.08), transparent); }.nw-process li span { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; border-radius: 50%; background: var(--nw-violet); font-weight: 900; margin-bottom: 1rem; }
.nw-faq { margin-block: 2rem; }.nw-faq details { border-top: 1px solid var(--nw-line); padding: 1rem 0; }.nw-faq summary { cursor: pointer; font-weight: 800; }.nw-faq p { color: var(--nw-muted); line-height: 1.8; }
.nw-quote { max-width: 900px; margin-block: 3rem; }.nw-quote form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.nw-quote textarea, .nw-quote label, .nw-quote button { grid-column: 1 / -1; }.nw-success { color: #176d58; font-weight: 900; }
.nw-article { max-width: 1000px; margin-inline: auto; }.nw-article-block { margin-block: 1rem; }
.nw-smart { margin-block: 3rem; border: 1px solid var(--nw-line); border-radius: var(--nw-radius); padding: clamp(1rem,3vw,2.5rem); background: var(--nw-surface); overflow: hidden; }
.nw-smart[data-surface="cinematic-gradient"] { background: linear-gradient(135deg,rgba(218,247,249,.95),rgba(255,255,255,.96),rgba(230,248,242,.96)); }.nw-smart[data-surface="geometric-grid"] { background-color:#f8fcfc;background-image:linear-gradient(var(--nw-line) 1px,transparent 1px),linear-gradient(90deg,var(--nw-line) 1px,transparent 1px);background-size:40px 40px; }
.nw-smart__items { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem; }.nw-smart__item { padding:1.2rem;border:1px solid var(--nw-line);border-radius:1.1rem;background:#ffffff; }.nw-smart__item > span { color:var(--nw-cyan);font:800 .75rem ui-monospace; }.nw-smart__item p { color:var(--nw-muted);line-height:1.7; }
.nw-smart--bento .nw-smart__item:first-child,.nw-smart--editorial-showcase .nw-smart__item:first-child { grid-column:span 2;grid-row:span 2; }.nw-smart--split-feature .nw-smart__items { grid-template-columns:1.5fr 1fr; }.nw-smart--split-feature .nw-smart__item:first-child { grid-row:span 3; }.nw-smart--process-timeline .nw-smart__items,.nw-smart--requirements-accordion .nw-smart__items { grid-template-columns:1fr; }
.nw-smart--process-orbit .nw-smart__items,.nw-smart--process-radial .nw-smart__items { display:flex;flex-wrap:wrap;justify-content:center; }.nw-smart--process-orbit .nw-smart__item,.nw-smart--process-radial .nw-smart__item { width:190px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center; }
.nw-smart--layered-cards .nw-smart__items { display:flex;padding:2rem;overflow:hidden; }.nw-smart--layered-cards .nw-smart__item { flex:0 0 240px;margin-inline-start:-45px;box-shadow:0 28px 70px rgba(24,71,82,.13); }.nw-smart--featured-carousel .nw-smart__items { display:flex;overflow:auto;scroll-snap-type:x mandatory; }.nw-smart--featured-carousel .nw-smart__item { flex:0 0 min(78vw,330px);scroll-snap-align:start; }.nw-smart--outcome-matrix .nw-smart__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width: 760px) { .nw-split, .nw-quote form { grid-template-columns: 1fr; }.nw-catalog { padding: .75rem; }.nw-hero { border-radius: 1.35rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

/* Catalog art direction: shared light identity, distinct surface rhythms per layout. */
.nw-catalog { color-scheme: light; }
.nw-catalog :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #14788b; outline-offset: 3px; }
.nw-hero h1, .nw-smart h2 { text-wrap: balance; }
.nw-card, .nw-smart__item { box-shadow: 0 8px 28px rgba(27,80,93,.06); }
.nw-smart--editorial-showcase { background: linear-gradient(120deg,#ffffff 64%,#e6f5f4); }
.nw-smart--editorial-showcase .nw-smart__item:first-child { background: linear-gradient(145deg,#d9f1ee,#ffffff); border-color:#9ccfcf; }
.nw-smart--process-orbit { background: radial-gradient(circle at 50% 45%,#ffffff 0 20%,#e8f5f5 70%,#f8fcfc 100%); }
.nw-smart--process-orbit .nw-smart__item { border:2px solid #90c7ca; box-shadow:0 12px 32px rgba(29,108,122,.11); }
.nw-smart--process-radial { background: repeating-radial-gradient(circle at 50% 50%,#f5fbfb 0 38px,#e6f1f1 39px 40px); }
.nw-smart--process-radial .nw-smart__item { border:2px solid #accfd0; }
.nw-smart--process-timeline .nw-smart__items { gap:0; }
.nw-smart--process-timeline .nw-smart__item { border-inline-start:3px solid #197286; border-radius:0 1rem 1rem 0; margin-inline-start:1rem; margin-block:.3rem; }
.nw-smart--layered-cards { background:linear-gradient(135deg,#eef8f7,#ffffff); }
.nw-smart--layered-cards .nw-smart__item { transform:rotate(-1deg); }
.nw-smart--layered-cards .nw-smart__item:nth-child(even) { transform:rotate(1deg); }
.nw-smart--bento .nw-smart__item:first-child { background:#d9f1ef; }
.nw-smart--featured-carousel .nw-smart__item { scroll-margin-inline:1rem; }
.nw-smart--requirements-accordion .nw-smart__item { border-inline-start:4px solid #238596; }
.nw-smart--outcome-matrix .nw-smart__item:nth-child(4n+1) { background:#e9f7f4; }
@media (max-width:760px) {
  .nw-smart--bento .nw-smart__item:first-child,.nw-smart--editorial-showcase .nw-smart__item:first-child { grid-column:auto;grid-row:auto; }
  .nw-smart--split-feature .nw-smart__items,.nw-smart--outcome-matrix .nw-smart__items { grid-template-columns:1fr; }
  .nw-smart--layered-cards .nw-smart__items { padding:.4rem; }
  .nw-smart--layered-cards .nw-smart__item { margin-inline-start:0;transform:none !important; }
}
@media (prefers-reduced-motion:no-preference) {
  .nw-catalog .nw-card,.nw-smart__item { transition:transform .28s ease,box-shadow .28s ease; }
  .nw-catalog .nw-card:hover,.nw-smart__item:hover { transform:translateY(-4px);box-shadow:0 15px 35px rgba(27,80,93,.12); }
  .nw-smart--process-orbit .nw-smart__item:hover,.nw-smart--process-radial .nw-smart__item:hover { transform:scale(1.035); }
}

/* Semantic service diagrams and accessible request flow. */
.nw-catalog { overflow-wrap:anywhere; }
.nw-catalog *, .nw-catalog *::before, .nw-catalog *::after { box-sizing:border-box; }
.nw-hero h1 { line-height:1.35;letter-spacing:0; }
.nw-hero p,.nw-smart p { text-wrap:pretty; }
.nw-actions,.nw-section-nav { display:flex;flex-wrap:wrap;gap:.75rem; }
.nw-section-nav { margin-block:1.25rem; }
.nw-section-nav a { padding:.75rem 1rem;border:1px solid var(--nw-line);border-radius:999px;background:#fff;color:var(--nw-ink);text-decoration:none; }
.nw-smart__heading { margin-bottom:1.5rem; }
.nw-smart__heading p { color:var(--nw-muted);line-height:1.8; }
.nw-journey { position:relative;isolation:isolate; }
.nw-journey__map { position:absolute;inset:10% 0 auto;width:100%;height:80%;color:#76b6bd;z-index:-1;pointer-events:none; }
.nw-journey__steps { list-style:none;margin:0;padding:0; }
.nw-step-icon { width:2.25rem;height:2.25rem;display:block;color:#1b7b89;margin-block-end:.8rem;flex:none; }
.nw-smart__item h3 { font-size:1.1rem;line-height:1.65;margin:.25rem 0; }
.nw-smart--process-orbit .nw-smart__item,.nw-smart--process-radial .nw-smart__item { width:clamp(200px,24vw,280px);aspect-ratio:auto;min-height:220px;border-radius:2.75rem;text-align:start; }
.nw-smart--process-orbit .nw-step-icon { width:3.5rem;height:3.5rem;border-radius:50%;background:#d9f1ed;padding:.5rem; }
.nw-smart--process-radial .nw-smart__item { border-radius:1.5rem; }
.nw-smart--process-radial .nw-step-icon { margin-inline:auto; }
.nw-smart--process-timeline .nw-journey__map { display:none; }
.nw-smart--process-timeline .nw-smart__item { position:relative;padding-inline-start:4.25rem; }
.nw-smart--process-timeline .nw-step-icon { position:absolute;inset-inline-start:1rem;top:1.25rem; }
.nw-requirements { display:grid;gap:.8rem; }
.nw-requirement { border:1px solid var(--nw-line);border-radius:1rem;background:#fff;padding:1rem 1.2rem; }
.nw-requirement summary { display:flex;justify-content:space-between;gap:1rem;cursor:pointer;font-weight:700;line-height:1.7; }
.nw-requirement summary::after { content:"+";font-size:1.5rem;color:#1b7b89; }
.nw-requirement[open] summary::after { content:"−"; }
.nw-requirement__state { font-size:.78rem;color:#3e666e;white-space:nowrap;margin-inline-start:auto; }
.nw-requirement p { color:var(--nw-muted);line-height:1.85; }
.nw-branch-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem;list-style:none;margin:1rem 0;padding:0; }
.nw-branch-list li { border-inline-start:3px solid #63abae;padding:.85rem 1rem;background:#f1f9f8;line-height:1.8;border-radius:.5rem; }
.nw-media-gallery { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin-block:2rem; }
.nw-media-gallery figure { margin:0; }
.nw-media-gallery img { width:100%;height:auto;max-height:600px;object-fit:contain;border-radius:1.25rem;background:#fff; }
.nw-text-link { color:#156875;text-underline-offset:.3em;display:inline-block;margin-top:.8rem; }
.nw-quote form label { display:grid;gap:.5rem;grid-column:auto; }
.nw-quote form label input,.nw-quote form label textarea,.nw-quote form label select { width:100%;min-width:0; }
.nw-quote .nw-field-wide,.nw-quote .nw-consent { grid-column:1 / -1; }
.nw-quote form .nw-consent { display:flex;align-items:flex-start;gap:.75rem;line-height:1.8; }
.nw-quote form .nw-consent input { width:1.2rem;height:1.2rem;flex:none;margin-top:.3rem; }
.nw-form-errors { background:#fff2ed;color:#7c3021;padding:1rem;border:1px solid #e9b9aa;border-radius:1rem; }
.nw-smart--layered-cards .nw-smart__items { overflow-x:auto; }
@media (prefers-reduced-motion:no-preference) {
  .nw-smart[data-motion="reveal"] .nw-smart__item,.nw-smart[data-motion="stagger"] .nw-smart__item { animation:nw-enter .6s ease both; }
  .nw-smart--process-orbit:not([data-motion="none"]) .nw-step-icon { animation:nw-breathe 3.8s ease-in-out 2; }
  @keyframes nw-enter { from { opacity:.35;transform:translateY(10px); } to { opacity:1;transform:translateY(0); } }
  @keyframes nw-breathe { 50% { box-shadow:0 0 0 8px rgba(96,174,172,.16); } }
}
@media (max-width:760px) {
  .nw-journey__map { display:none; }
  .nw-smart--process-orbit .nw-smart__item,.nw-smart--process-radial .nw-smart__item { width:100%;min-height:0; }
  .nw-requirement summary { flex-wrap:wrap;gap:.4rem; }
  .nw-requirement__state { white-space:normal; }
  .nw-quote form { grid-template-columns:minmax(0,1fr); }
}
.nw-page { margin:0;background:#f4f8f8;color:#182c37;font-family:Tahoma,Arial,sans-serif; }
.nw-site-header { display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap;padding:1rem clamp(1rem,4vw,4rem);background:#ffffff;border-bottom:1px solid #dce9e8;position:relative;z-index:10; }
.nw-brand { display:flex;align-items:center;gap:.8rem;color:#176c70;text-decoration:none;font-size:1.75rem;font-weight:800; }
.nw-brand svg { width:2.8rem;height:2.8rem; }
.nw-brand small { display:block;color:#49616c;font-size:.75rem;font-weight:400;margin-top:.25rem; }
.nw-site-header nav { display:flex;gap:1rem;flex-wrap:wrap; }
.nw-site-header nav a,.nw-site-footer a { color:#1c666f;text-decoration:none;padding:.65rem .2rem;line-height:1.6; }
.nw-site-header nav a:hover,.nw-site-footer a:hover { text-decoration:underline;text-underline-offset:.3em; }
.nw-site-footer { padding:2.5rem clamp(1rem,4vw,4rem);background:#fff;border-top:1px solid #dce9e8;line-height:1.9; }
.nw-site-footer p { color:#49616c; }
.nw-skip-link { position:absolute;inset-inline-start:1rem;top:-8rem;padding:.8rem;background:#fff;color:#175f6c;z-index:100; }
.nw-skip-link:focus { top:1rem; }
.nw-page a:focus-visible,.nw-page button:focus-visible,.nw-page summary:focus-visible { outline:3px solid #168392;outline-offset:4px; }
.nw-catalog .visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.nw-catalog h1,.nw-catalog h2,.nw-catalog h3 { font-family:inherit; }
.nw-catalog button,.nw-catalog input,.nw-catalog select,.nw-catalog textarea { font:inherit; }
.nw-catalog button { cursor:pointer; }
.nw-page .nw-catalog { min-height:60vh; }
@media(max-width:600px) { .nw-site-header { align-items:flex-start; }.nw-site-header nav { width:100%;justify-content:space-between;gap:.5rem; }.nw-brand { font-size:1.45rem; } }

/* Numbered RTL execution diagram; original service artwork is unchanged. */
.nw-step-number { display:grid;place-items:center;inline-size:2.25rem;block-size:2.25rem;border:1px solid #76b6bd;border-radius:50%;background:#e6f5f4;color:#155f70;font-weight:800;margin-block-end:.8rem; }
.nw-smart--process-timeline .nw-journey__steps { position:relative;gap:1rem;padding-inline-start:.25rem; }
.nw-smart--process-timeline .nw-journey__steps::before { content:"";position:absolute;inset-inline-start:2.375rem;inset-block:2.375rem;background:#76b6bd;inline-size:2px; }
.nw-smart--process-timeline .nw-smart__item { margin:0;border-inline-start:1px solid var(--nw-line);border-radius:1rem;padding-inline-start:4.25rem;background:rgba(255,255,255,.94); }
.nw-smart--process-timeline .nw-step-number { position:absolute;inset-inline-start:1rem;inset-block-start:1.25rem;margin:0; }
.nw-smart--process-timeline .nw-smart__item:not(:last-child)::after { content:"";position:absolute;inset-inline-start:2rem;inset-block-end:-.75rem;inline-size:.65rem;block-size:.65rem;border-inline-end:2px solid #197286;border-block-end:2px solid #197286;transform:rotate(45deg);z-index:1; }
