/* Shared visual system. Preserves the theme's routes, components and media. */
:root {
  --ny-primary: #6650c7;
  --ny-primary-dark: #5039a9;
  --ny-accent: #6650c7;
  --ny-ink: #1b242b;
  --ny-graphite: #1b242b;
  --ny-muted: #56636d;
  --ny-soft: #f5f7f8;
  --ny-border: #dce2e6;
  --ny-line: #dce2e6;
  --ny-electric: #6650c7;
  --ny-shell: min(1240px, calc(100% - 64px));
  --ny-space-section: 88px;
}
html { scroll-padding-top: 100px; }
body { margin: 0; background: #fff; color: var(--ny-ink); }
button, input, textarea, select { font-size: 16px; }
:where(h1,h2,h3,h4,p,a,button,label) { letter-spacing: 0; }
:where(h1,h2,h3) { text-wrap: balance; overflow-wrap: break-word; }
:where(p,li) { text-wrap: pretty; }
:where(a,button,input,textarea,select,summary):focus-visible {
  outline: 2px solid var(--ny-primary-dark); outline-offset: 4px;
}
.ny-shell { width: var(--ny-shell); max-width: 1240px; margin-inline: auto; }
.ny-site-header { background: #fff; border-bottom: 1px solid var(--ny-line); }
.ny-header-inner { min-height: 76px; padding-block: 12px; gap: 24px; }
.ny-brand { flex-shrink: 0; }
.ny-brand img { width: 164px; height: auto; }
.ny-primary-nav { gap: 22px; }
.ny-primary-nav > a,.ny-nav-menu__toggle { font-size: 14px; white-space: nowrap; }
.ny-primary-nav .ny-nav-cta { min-height: 44px; padding-inline: 18px; border-radius: 4px; }
.ny-nav-menu__panel { border-radius: 6px; box-shadow: 0 12px 32px #1b242b12; }
.ny-primary-nav .ny-nav-menu__grid a { padding-block: 14px; font-size: 14px; }
.ny-btn,.ny-button,.wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 48px; padding: 12px 22px; border-radius: 4px;
  font-size: 14px; font-weight: 700; line-height: 1.5; text-decoration: none;
  box-shadow: none; transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ny-btn--dark { background: var(--ny-ink); color: #fff; }
.ny-btn--outline { border: 1px solid #b9c3cb; background: #ffffffed; color: var(--ny-ink); }
.ny-btn:active,.ny-button:active,.wp-block-button__link:active { transform: translateY(1px); }
.ny-actions { flex-wrap: wrap; gap: 12px; }
.ny-kicker,.ny-eyebrow { color: var(--ny-primary-dark); font-size: 12px; font-weight: 700; }
.ny-signal,.ny-final-cta__system,.ny-results-grid article::after { display: none; }

/* Clear, consistently scaled hero typography. Media layering remains intact. */
:is(.ny-home-hero__copy,.ny-services-hero__copy,.ny-odoo-hero__copy,.ny-industries-hero__copy,.ny-module-hero__copy,.ny-industry-copy) h1 {
  font-size: 56px; font-weight: 700; line-height: 1.18; max-width: 720px;
}
:is(.ny-home-hero__copy,.ny-services-hero__copy,.ny-odoo-hero__copy,.ny-industries-hero__copy,.ny-module-hero__copy,.ny-industry-copy) > p {
  font-size: 17px; line-height: 1.85; color: var(--ny-muted); max-width: 56ch;
}
.ny-home-hero__grid { min-height: 640px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.ny-home-hero__copy { padding-block: 64px 80px; }
.ny-home-hero__copy h1 { font-size: 52px; }
.ny-services-hero,.ny-services-hero__inner,.ny-odoo-hero,.ny-odoo-hero__inner,.ny-industries-hero__grid { min-height: 640px; }
.ny-services-hero__copy,.ny-odoo-hero__copy,.ny-industries-hero__copy { padding-block: 72px; }
.ny-industry-hero { min-height: 640px; }
.ny-industry-hero__copy { padding-block: 72px; }
.ny-module-hero { background: #f7f9fa; }
.ny-module-hero::before,.ny-industries-hero::before { display: none; }
.ny-module-hero__frame { border-color: var(--ny-border); border-radius: 6px; box-shadow: 0 16px 44px #1b242b0d; }
.ny-module-hero__frame::after { background: var(--ny-primary); }

/* Shared page rhythm and quieter section headings. */
:is(.ny-section,.ny-clients,.ny-sector-story,.ny-sector-outcomes,.ny-industry-body,.ny-industries-intro,.ny-sector-catalog,.ny-industries-foundation,.ny-industries-method,.ny-services-positioning,.ny-service-catalog,.ny-services-lifecycle,.ny-services-outcomes,.ny-odoo-intro,.ny-odoo-apps,.ny-odoo-flow,.ny-odoo-fit,.ny-odoo-delivery,.ny-odoo-faq,.ny-video-library,.ny-sector-video,.ny-module-section,.ny-module-directory,.ny-contact-section,.ny-final-cta) {
  padding-block: var(--ny-space-section);
}
:is(.ny-section-head,.ny-module-section__head,.ny-industries-foundation__head,.ny-services-lifecycle__head,.ny-odoo-flow__head,.ny-sector-intro) {
  display: block; margin-bottom: 40px;
}
:is(.ny-section-head,.ny-module-section__head,.ny-industries-foundation__head,.ny-services-lifecycle__head,.ny-odoo-flow__head,.ny-sector-intro) > p {
  max-width: 65ch; margin: 20px 0 0; font-size: 16px; line-height: 1.85;
}
:is(.ny-section-head,.ny-module-section__head,.ny-industries-foundation__head,.ny-services-lifecycle__head,.ny-odoo-flow__head,.ny-sector-intro) .ny-kicker { margin-bottom: 14px; }
:is(.ny-section-head,.ny-module-section__head,.ny-industries-foundation,.ny-services-lifecycle,.ny-odoo-flow,.ny-sector-intro,.ny-sector-outcomes,.ny-process-section,.ny-industries,.ny-services-positioning,.ny-services-outcomes,.ny-industries-intro,.ny-odoo-intro,.ny-odoo-delivery,.ny-module-benefits,.ny-module-readiness,.ny-contact-copy,.ny-case__copy,.ny-final-cta,.ny-sector-video__copy) h2 {
  margin-block: 0 20px; font-size: 40px; font-weight: 700; line-height: 1.3; max-width: 780px;
}
.ny-module-section__head > .ny-kicker { margin-bottom: 14px; }
.ny-insights .ny-section-head > a { display: inline-block; margin-top: 16px; font-size: 14px; }
.ny-proof__grid > div { min-height: 104px; padding-inline: 28px; }
.ny-proof b { font-size: 32px; font-weight: 700; }
.ny-proof span { font-size: 14px; }

/* Services and capabilities use open rows and clear dividers. */
.ny-service-grid { gap: 0 32px; border-top: 1px solid var(--ny-line); }
.ny-service-card { --ny-card-accent: var(--ny-primary-dark); min-height: 290px; padding: 28px 0; border: 0; border-bottom: 1px solid var(--ny-line); border-radius: 0; background: transparent; box-shadow: none; }
.ny-service-card::before,.ny-service-card::after { display: none; }
.ny-service-card:hover { transform: none; box-shadow: none; border-color: #b5a4e0; }
.ny-service-card i { width: auto; height: auto; display: block; margin-bottom: 24px; color: var(--ny-muted); text-align: start; }
.ny-service-card h3 { font-size: 23px; font-weight: 700; }
.ny-service-card p { font-size: 15px; line-height: 1.85; max-width: 42ch; }
.ny-service-card a { font-size: 14px; }
.ny-service-catalog__list > article { min-height: 0; padding-block: 40px; }
.ny-service-catalog article p,.ny-service-catalog article li { font-size: 16px; line-height: 1.8; }
.ny-sector-grid { gap: 0 32px; background: transparent; border: 0; border-top: 1px solid var(--ny-line); margin-top: 40px; }
.ny-sector-grid article { padding: 28px 0; min-height: 260px; border-bottom: 1px solid var(--ny-line); }
.ny-sector-grid h3 { margin-top: 24px; font-size: 23px; }
.ny-sector-grid p { font-size: 15px; }
:is(.ny-module-capability-grid,.ny-odoo-apps__grid,.ny-odoo-fit__grid,.ny-services-outcomes__grid) article { padding: 30px; min-height: 0; }
:is(.ny-module-capability-grid,.ny-odoo-apps__grid,.ny-odoo-fit__grid,.ny-services-outcomes__grid) h3 { margin-top: 28px; font-size: 23px; line-height: 1.4; }
:is(.ny-module-capability-grid,.ny-odoo-apps__grid,.ny-odoo-fit__grid,.ny-services-outcomes__grid,.ny-module-integration-grid) p { min-height: 0; font-size: 15px; line-height: 1.85; }
.ny-odoo-apps__grid li { font-size: 12px; font-weight: 600; }
.ny-sector-entry__body { min-height: 0; padding: 32px; }
.ny-sector-entry__body p,.ny-sector-entry__body li { font-size: 15px; line-height: 1.85; }
.ny-sector-entry__body > a { font-size: 14px; }
.ny-industry-tabs { gap: 0; border-top: 1px solid var(--ny-line); grid-template-columns: 1fr; }
.ny-industry-tabs button { border: 0; border-bottom: 1px solid var(--ny-line); border-radius: 0; background: transparent; font-size: 15px; padding-inline: 16px; }
.ny-industry-tabs button.is-active,.ny-industry-tabs button:hover { background: #f0edf8; color: var(--ny-primary-dark); box-shadow: inset 3px 0 var(--ny-primary); }
html[dir="rtl"] .ny-industry-tabs button.is-active { box-shadow: inset -3px 0 var(--ny-primary); }
.ny-industry-stage { box-shadow: none; }
.ny-industry-content h3 { font-size: 28px; }
.ny-industry-content ul { font-size: 15px; line-height: 1.85; }

/* Light section backgrounds retain a consistent reading environment. */
:is(.ny-industries-foundation,.ny-services-lifecycle,.ny-odoo-flow,.ny-module-benefits,.ny-module-cta,.ny-sector-outcomes) { background: #f5f7f8; color: var(--ny-ink); }
:is(.ny-industries-foundation,.ny-services-lifecycle,.ny-odoo-flow,.ny-module-benefits,.ny-module-cta,.ny-sector-outcomes) :is(h2,h3,strong,li) { color: var(--ny-ink); }
:is(.ny-industries-foundation,.ny-services-lifecycle,.ny-odoo-flow,.ny-module-benefits,.ny-module-cta,.ny-sector-outcomes) :is(p,small) { color: var(--ny-muted); font-size: 15px; }
:is(.ny-industries-foundation,.ny-services-lifecycle,.ny-odoo-flow,.ny-module-benefits,.ny-module-cta,.ny-sector-outcomes) .ny-kicker { color: var(--ny-primary-dark); }
.ny-industries-foundation__grid,.ny-industries-foundation__grid article,.ny-module-benefits__list,.ny-module-benefits__list article { border-color: var(--ny-line); }
.ny-industries-foundation__grid article { min-height: 230px; padding: 28px; }
.ny-industries-foundation__grid b,.ny-module-benefits__list article > span { color: var(--ny-primary-dark); }
.ny-services-lifecycle__track b,.ny-odoo-flow__track b { background: #fff; color: var(--ny-primary-dark); border-color: #c5cdd4; }
.ny-services-lifecycle__track strong,.ny-odoo-flow__track strong { color: var(--ny-ink); }
.ny-module-cta .ny-button { background: var(--ny-ink); color: #fff; }
.ny-process-beam { height: 1px; background: var(--ny-line); box-shadow: none; animation: none; }
.ny-process-line i { box-shadow: none; background: #fff; }
.ny-process-line small { max-width: 24ch; font-size: 14px; }
.ny-process-line b { font-size: 18px; }
.ny-motion-ready .ny-process-line article[data-reveal] { opacity: 1; transform: none; transition: none; }
.ny-process-beam { overflow: hidden; }
.ny-process-beam::after { content: ""; position: absolute; inset: 0; background: var(--ny-primary); transform: scaleX(var(--ny-process-progress,1)); transform-origin: left; transition: transform 1200ms cubic-bezier(.22,1,.36,1); }
[dir="rtl"] .ny-process-beam::after { transform-origin: right; }
.ny-process-animated { --ny-process-progress: 0; }
.ny-motion-ready .ny-process-animated article[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.22,1,.36,1); transition-delay: var(--ny-process-delay,0ms); }
.ny-motion-ready .ny-process-animated article.ny-step-visible { opacity: 1; transform: none; }
.ny-process-animated article i { transition: border-color 650ms ease, background-color 650ms ease; transition-delay: var(--ny-process-delay,0ms); }
.ny-process-animated .ny-step-visible i { border-color: #b8a9e3; background-color: #f7f4fc; }
@media(max-width:767px) {
  .ny-process-line .ny-process-beam { top: 34px; bottom: 34px; height: auto; width: 1px; left: auto; right: auto; inset-inline-start: 33px; }
  .ny-process-beam::after,[dir="rtl"] .ny-process-beam::after { transform: scaleY(var(--ny-process-progress,1)); transform-origin: top; }
  .ny-motion-ready .ny-process-animated article[data-reveal],.ny-process-animated article i { transition-delay: 0ms; }
}
@media(prefers-reduced-motion:reduce) {
  .ny-motion-ready .ny-process-animated article[data-reveal] { opacity: 1; transform: none; transition: none; }
  .ny-process-beam::after { transform: none; transition: none; }
  .ny-process-animated article i { transition: none; }
}
.ny-results-grid { gap: 24px; }
.ny-results-grid article { min-height: 140px; padding: 24px 0; border: 0; border-top: 1px solid var(--ny-line); background: transparent; }
.ny-results-grid b { font-size: 36px; }
.ny-results-grid span { font-size: 14px; }
.ny-case__visual img { filter: none; transform: none; }
.ny-case-columns p,.ny-case-columns b,.ny-case__copy > a { font-size: 14px; }
.ny-video-feature { border: 0; gap: 32px; min-height: 0; background: transparent; align-items: center; }
.ny-video-feature__copy { padding: 0; }
.ny-video-feature__copy h3 { font-size: 30px; line-height: 1.35; }
.ny-video-feature__copy p { font-size: 16px; line-height: 1.85; }

/* Blog and article typography follows a readable editorial measure. */
.ny-blog-index,.ny-article { background: #fff; padding-inline: 0; }
.ny-blog-hero,.ny-article-header { width: var(--ny-shell); max-width: 1240px; margin-inline: auto; padding-block: 64px 40px; }
.ny-blog-hero h1,.ny-blog-hero .wp-block-query-title,.ny-article-header .wp-block-post-title { max-width: 900px; font-size: 52px; line-height: 1.25; font-weight: 700; }
.ny-blog-hero .ny-archive-intro { max-width: 65ch; margin-inline: 0; font-size: 17px; line-height: 1.85; }
.ny-blog-query,.ny-article-layout,.ny-article .ny-article-cover,.ny-post-navigation,.ny-related-section { width: var(--ny-shell); max-width: 1240px; margin-inline: auto; }
.ny-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px 28px; }
.ny-post-grid > li:first-child { grid-column: auto; }
.ny-post-grid > li:first-child .ny-post-card { display: flex; min-height: 0; }
.ny-post-grid > li:first-child .wp-block-post-featured-image { height: auto; min-height: 0; grid-area: auto; }
.ny-post-card { padding: 0; overflow: hidden; border: 1px solid var(--ny-line); border-radius: 6px; background: #fff; box-shadow: none; }
.ny-post-card:hover { transform: none; box-shadow: none; border-color: #b5a4e0; }
.ny-post-card .wp-block-post-featured-image,.ny-insight-grid .wp-block-post-featured-image { width: 100%; max-width: none; height: auto; aspect-ratio: 16/10; margin: 0; }
.ny-post-card .wp-block-post-featured-image img,.ny-insight-grid .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; }
.ny-post-card > :not(.wp-block-post-featured-image) { width: auto; max-width: none; padding-inline: 0; margin-inline: 24px; }
.ny-post-card__meta { margin-top: 22px; font-size: 12px; }
.ny-post-card .wp-block-post-title { font-size: 23px; line-height: 1.5; }
.ny-post-card .wp-block-post-excerpt { font-size: 15px; line-height: 1.85; }
.ny-post-card .wp-block-post-excerpt__more-link { font-size: 14px; }
.ny-post-card__tags a { font-size: 12px; }
.ny-insight-grid { gap: 28px; }
.ny-insight-grid .wp-block-post-title { min-height: 0; font-size: 22px; margin-block: 12px; }
.ny-insight-grid .wp-block-post-excerpt { font-size: 15px; line-height: 1.85; }
.ny-insight-grid .wp-block-post-date { font-size: 12px; }
.ny-article-layout { grid-template-columns: minmax(0,760px) minmax(0,280px); gap: 64px; justify-content: space-between; }
.ny-article-main .wp-block-post-content { font-size: 18px; line-height: 1.95; }
.ny-article-main .wp-block-post-content h2 { font-size: 32px; line-height: 1.4; margin-top: 1.8em; }
.ny-article-main .wp-block-post-content h3 { font-size: 24px; line-height: 1.5; }
.ny-article-main .wp-block-post-content > * { max-width: 100%; }
.ny-article-main .wp-block-post-content table { width: 100%; border-collapse: collapse; font-size: 15px; }
.ny-article-main .wp-block-post-content :is(td,th) { padding: 14px; border-bottom: 1px solid var(--ny-line); text-align: start; }
.ny-article-main .wp-block-post-content th { background: var(--ny-soft); }
.ny-article-main .wp-block-table { overflow-x: auto; }
.ny-article-sidebar { gap: 24px; }
.ny-toc { padding: 24px; border-radius: 4px; background: var(--ny-soft); box-shadow: none; }
.ny-toc a,.ny-sidebar-latest a,.ny-sidebar-categories a { font-size: 13px; line-height: 1.8; }
.ny-sidebar-title { font-size: 14px; }
.ny-sidebar-cta { background: var(--ny-soft); color: var(--ny-ink); border: 1px solid var(--ny-line); }
.ny-sidebar-cta strong { color: var(--ny-ink); }
.ny-sidebar-cta p { color: var(--ny-muted); }
.ny-sidebar-cta a { color: var(--ny-primary-dark); }
.ny-related-card time { font-size: 12px; }
.ny-related-card h3 { font-size: 22px; line-height: 1.5; }
.ny-related-card > p { font-size: 15px; line-height: 1.85; }
.ny-blog-topics { display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin-top: 28px; list-style: none; }
.ny-blog-topics li { color: var(--ny-muted); font-size: 13px; }
.ny-blog-topics a { display: inline-block; padding: 8px 12px; border: 1px solid var(--ny-line); border-radius: 4px; font-size: 13px; color: var(--ny-primary-dark); }
.ny-pattern-hero { padding-block: 72px; background: var(--ny-soft); }
.ny-pattern-hero > .alignwide { width: var(--ny-shell); max-width: 1240px; margin-inline: auto; }
.ny-pattern-hero h1,.ny-error-page h1 { max-width: 850px; font-size: 48px; line-height: 1.3; }
.ny-pattern-hero .ny-lead { max-width: 65ch; font-size: 17px; line-height: 1.85; }
.ny-error-page { padding-block: 72px; background: #fff; }
.ny-error-code { color: var(--ny-primary-dark); }
:is(.ny-services-positioning,.ny-services-outcomes,.ny-industries-intro,.ny-industries-method,.ny-odoo-intro,.ny-odoo-fit,.ny-odoo-delivery,.ny-sector-story,.ny-sector-outcomes,.ny-process-section,.ny-results-section,.ny-case,.ny-insights,.ny-contact-copy,.ny-module-capabilities,.ny-module-integrations,.ny-module-readiness) .ny-kicker { display: none; }
.ny-blog-pagination { flex-wrap: wrap; }
.ny-blog-pagination a,.ny-blog-pagination .page-numbers { min-width: 44px; min-height: 44px; }

/* Reusable contact surfaces and feedback. */
.ny-contact-layout,.ny-contact-page { gap: 64px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.ny-contact-layout > .wpcf7,.ny-contact-page > .wpcf7 { padding: 32px; border: 1px solid var(--ny-line); border-radius: 6px; box-shadow: none; }
.wpcf7 { min-width: 0; }
.wpcf7-form label { font-size: 14px; font-weight: 600; color: var(--ny-ink); }
.wpcf7-form :is(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select) {
  width: 100%; max-width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #abb8c2; border-radius: 4px; background: #fff; color: var(--ny-ink); font-size: 16px;
}
.wpcf7-form :is(input,textarea)::placeholder { color: #64717b; opacity: 1; }
.wpcf7-form :is(input,textarea,select):focus { border-color: var(--ny-primary-dark); box-shadow: 0 0 0 3px #6650c71a; }
.wpcf7-form input[type="submit"] { min-height: 48px; padding: 12px 24px; border-radius: 4px; background: var(--ny-ink); color: #fff; font-size: 15px; }
.wpcf7-form input[type="submit"]:disabled { opacity: .6; cursor: wait; }
.wpcf7-form .wpcf7-not-valid-tip { color: #a82336; font-size: 13px; }
.wpcf7-form .wpcf7-response-output { font-size: 14px; line-height: 1.7; }
html[dir="rtl"] .wpcf7-form input:is([type="email"],[type="tel"],[type="url"]) { direction: ltr; text-align: start; }
.ny-contact-details a { width: fit-content; line-height: 1.8; }
.ny-contact-details a:is([href^="tel:"],[href^="mailto:"],[href^="https://wa.me"]) { direction: ltr; unicode-bidi: isolate; }
.ny-site-footer { padding-block: 64px 24px; background: #1b242b; }
.ny-footer-grid { gap: 32px; grid-template-columns: 1.4fr repeat(4,minmax(0,1fr)); }
.ny-footer-grid h3 { color: #fff; font-size: 15px; font-weight: 700; }
.ny-footer-grid a,.ny-footer-grid p { font-size: 13px; line-height: 1.9; color: #ccd3d8; }
.ny-footer-grid a { padding-block: 3px; }
.ny-footer-grid a:hover { color: #fff; text-decoration: underline; }
.ny-footer-brand img { width: 164px; height: auto; max-width: 100%; object-fit: contain; }
.ny-footer-bottom { margin-top: 40px; padding-top: 24px; border-top: 1px solid #ffffff26; font-size: 12px; }

.ny-company-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-block-start: 1px solid var(--ny-line); }
.ny-company { min-width: 0; min-height: 190px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 24px; border-block-end: 1px solid var(--ny-line); text-align: center; }
.ny-company a { display: flex; flex-direction: column; align-items: center; width: 100%; color: inherit; text-decoration: none; }
.ny-company img { width: 180px; max-width: 100%; height: 96px; object-fit: contain; margin-block-end: 16px; }
.ny-company span { font-size: 14px; font-weight: 600; }
.ny-company a:hover span { color: var(--ny-primary-dark); text-decoration: underline; }
.ny-clients-editor { margin-block-start: 28px; padding: 20px; border: 1px solid var(--ny-line); background: #fff; }
.ny-clients-editor summary { cursor: pointer; font-weight: 700; }
.ny-clients-rows fieldset { display: flex; gap: 16px; align-items: center; margin-block: 20px; padding: 16px; border: 1px solid var(--ny-line); min-width: 0; }
.ny-clients-rows fieldset > img { width: 88px; height: 70px; object-fit: contain; }
.ny-client-fields { flex: 1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.ny-client-fields label { font-size: 13px; }
.ny-client-fields input { display: block; width: 100%; min-height: 44px; padding: 8px; border: 1px solid #abb8c2; font: inherit; }
.ny-client-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.ny-clients-form button { min-width: 44px; min-height: 44px; padding: 8px 12px; background: #fff; border: 1px solid var(--ny-line); color: var(--ny-ink); border-radius: 4px; cursor: pointer; font: inherit; }
.ny-clients-form button[type="submit"] { color: #fff; background: var(--ny-ink); }
.ny-clients-form button:disabled { opacity: .4; cursor: default; }
@media (max-width: 900px) {
  .ny-company-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ny-clients-rows fieldset { flex-wrap: wrap; }
  .ny-client-fields { flex-basis: 100%; grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ny-company-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ny-company { padding: 20px 10px; min-height: 170px; }
}

/* Breakpoints apply to English and RTL layouts through logical properties. */
@media (max-width: 1100px) {
  :root { --ny-space-section: 72px; }
  .ny-primary-nav { gap: 14px; }
  .ny-primary-nav > a,.ny-nav-menu__toggle { font-size: 13px; }
  :is(.ny-home-hero__copy,.ny-services-hero__copy,.ny-odoo-hero__copy,.ny-industries-hero__copy,.ny-module-hero__copy,.ny-industry-copy) h1 { font-size: 44px; }
  .ny-footer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ny-article-layout { gap: 36px; grid-template-columns: minmax(0,1fr) 240px; }
  .ny-industries-hero__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 32px; }
}
@media (max-width: 1040px) {
  .ny-header-inner { padding-inline: 0; }
  .ny-home-hero__grid { grid-template-columns: 1fr; }
  .ny-home-hero__copy { max-width: 600px; }
  .ny-primary-nav { gap: 8px; top: 76px; }
  .ny-primary-nav > a,.ny-nav-menu__toggle { font-size: 15px; min-height: 44px; }
  .ny-nav-menu__panel { box-shadow: none; }
  .ny-contact-layout,.ny-contact-page { gap: 32px; }
}
@media (max-width: 900px) {
  .ny-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ny-post-grid > li:first-child { grid-column: auto; }
  .ny-sector-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ny-article-layout { grid-template-columns: 1fr; }
  .ny-article-sidebar { position: static; }
}
@media (max-width: 767px) {
  :root { --ny-shell: calc(100% - 40px); --ny-space-section: 56px; }
  .ny-shell { width: var(--ny-shell); padding-inline: 0; margin-inline: auto; }
  .ny-header-inner { min-height: 72px; }
  .ny-brand img { width: 148px; }
  :is(.ny-home-hero__copy,.ny-services-hero__copy,.ny-odoo-hero__copy,.ny-industries-hero__copy,.ny-module-hero__copy,.ny-industry-copy) h1 { font-size: 36px; line-height: 1.3; }
  :is(.ny-home-hero__copy,.ny-services-hero__copy,.ny-odoo-hero__copy,.ny-industries-hero__copy,.ny-module-hero__copy,.ny-industry-copy) > p { font-size: 16px; }
  .ny-home-hero__grid { min-height: 700px; align-items: end; }
  .ny-home-hero__copy { padding-block: 270px 48px; overflow: visible; }
  .ny-services-hero__inner,.ny-odoo-hero__inner { min-height: 0; }
  .ny-services-hero__copy,.ny-odoo-hero__copy { width: 100%; padding-block: 290px 48px; }
  .ny-industries-hero__grid { grid-template-columns: 1fr; gap: 0; }
  .ny-industries-hero__copy { padding-block: 48px 24px; }
  .ny-industry-hero { min-height: 0; }
  .ny-industry-hero__copy { padding-block: 290px 48px; }
  :is(.ny-section-head,.ny-module-section__head,.ny-industries-foundation,.ny-services-lifecycle,.ny-odoo-flow,.ny-sector-intro,.ny-sector-outcomes,.ny-process-section,.ny-industries,.ny-services-positioning,.ny-services-outcomes,.ny-industries-intro,.ny-odoo-intro,.ny-odoo-delivery,.ny-module-benefits,.ny-module-readiness,.ny-contact-copy,.ny-case__copy,.ny-final-cta,.ny-sector-video__copy) h2 { font-size: 30px; line-height: 1.4; }
  .ny-section-head { margin-bottom: 28px; }
  .ny-service-grid,.ny-sector-grid,.ny-post-grid,.ny-insight-grid { grid-template-columns: 1fr; }
  .ny-service-card,.ny-sector-grid article { min-height: 0; }
  .ny-contact-layout,.ny-contact-page { grid-template-columns: 1fr; gap: 32px; }
  .ny-contact-layout > .wpcf7,.ny-contact-page > .wpcf7 { padding: 24px 20px; }
  .ny-contact-layout .wpcf7-form,.ny-contact-page .wpcf7-form { grid-template-columns: 1fr; }
  .ny-industry-content { padding-inline: 24px; }
  .ny-industry-stage::after,
  html[lang^="ar"] .ny-industry-stage::after,
  body.rtl .ny-industry-stage::after,
  body.ny-ar-home .ny-industry-stage::after {
    background: linear-gradient(180deg,#fff 0%,rgba(255,255,255,.96) 48%,rgba(255,255,255,.12) 85%);
  }
  .ny-industry-content h3 { font-size: 25px; }
  .ny-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .ny-results-grid b { font-size: 28px; }
  .ny-results-grid article { min-height: 120px; }
  .ny-proof__grid > div { padding-inline: 0; min-height: 86px; }
  .ny-video-feature { gap: 24px; }
  .ny-video-feature__copy h3 { font-size: 26px; }
  .ny-blog-hero,.ny-article-header { padding-block: 48px 28px; }
  .ny-blog-hero h1,.ny-blog-hero .wp-block-query-title,.ny-article-header .wp-block-post-title { font-size: 34px; line-height: 1.35; }
  .ny-article-main .wp-block-post-content { font-size: 17px; line-height: 1.9; }
  .ny-article-main .wp-block-post-content h2 { font-size: 27px; }
  .ny-article-main .wp-block-post-content h3 { font-size: 22px; }
  .ny-pattern-hero h1,.ny-error-page h1 { font-size: 34px; }
  .ny-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
  .ny-footer-brand { grid-column: 1/-1; }
  .ny-footer-grid > :last-child { grid-column: 1/-1; }
  .ny-footer-bottom { gap: 20px; flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ny-motion-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
  .ny-btn,.ny-button,.ny-post-card,.ny-service-card,.ny-client-logos img { transition: none; }
}
