.elementor-1141 .elementor-element.elementor-element-c1180f5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-1141 .elementor-element.elementor-element-c1180f5:not(.elementor-motion-effects-element-type-background), .elementor-1141 .elementor-element.elementor-element-c1180f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#20211E;}.elementor-1141 .elementor-element.elementor-element-4169808{--display:flex;}.elementor-1141 .elementor-element.elementor-element-3833873{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:35px 35px;--row-gap:35px;--column-gap:35px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-1141 .elementor-element.elementor-element-5521987{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1141 .elementor-element.elementor-element-96bb233{text-align:center;}.elementor-1141 .elementor-element.elementor-element-96bb233 .elementor-heading-title{font-family:"GC Mox", Sans-serif;font-size:22px;font-weight:300;text-transform:uppercase;line-height:25px;letter-spacing:0.2px;color:var( --e-global-color-secondary );}.elementor-1141 .elementor-element.elementor-element-c014ee6{--display:flex;}.elementor-1141 .elementor-element.elementor-element-5d62f12{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}body.elementor-page-1141:not(.elementor-motion-effects-element-type-background), body.elementor-page-1141 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#20211E;}@media(min-width:768px){.elementor-1141 .elementor-element.elementor-element-4169808{--width:95%;}.elementor-1141 .elementor-element.elementor-element-3833873{--width:100%;}.elementor-1141 .elementor-element.elementor-element-5521987{--width:37%;}.elementor-1141 .elementor-element.elementor-element-c014ee6{--width:80%;}}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:1366px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-1141 .elementor-element.elementor-element-c1180f5{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1141 .elementor-element.elementor-element-4169808{--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1141 .elementor-element.elementor-element-3833873{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-1141 .elementor-element.elementor-element-96bb233 .elementor-heading-title{font-size:18px;}}/* Start custom CSS for html, class: .elementor-element-9f1e75c *//* ── Section: relative container ─────────── */
.nw {
  background: transparent;
  width: 100%;
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
}

/* ── WHO WE ARE: dead center ─────────────── */
.nw-mid {
  position: absolute;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: max-content;
  z-index: 1;
}

.nw-h1 {
  display: block;
  font-family: "GC Mox", sans-serif;
  font-weight: 100;
  font-size: 6.3vw;
  letter-spacing: 0.15em;
  color: #F3EDE3;
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1;
  margin: 0;
}

.nw-script {
  display: block;
  font-family: "Drive Hearts", sans-serif;
  font-size: 8.4vw;
  color: #48C181;
  margin-top: -1.45em;
  line-height: 1.3;
  white-space: nowrap;
  position: relative;
  z-index: 2;
  font-weight: 200;
}

/* ── Paragraphs: absolute positioned ─────── */
.nw-para {
  position: absolute;
  width: 44%;
  font-family: 'GC Mox';
  font-weight: 300;
  font-size: 25px;
  line-height: 1.3;
  color: #CCC8C2;
  margin: 0;
  text-align: justify;
  letter-spacing: 0.02em;
  z-index: 2;
}

.nw-left  { top: 8%;    left: 0%; }
.nw-right { bottom: 11%; right: 0%; }

.nw-year {
  color: #4B816E;
  font-style: italic;
}

/* ============================================
   ANIMATION — 4 phase sequence
   ph1: WHO WE ARE slides up
   ph2: Plan.Design.Enable. fades in
   ph3: Right para slides from right
   ph4: Left para slides from left
============================================ */

/* Initial hidden states */
.nw-ph1 {
  opacity: 0;
  transform: translateY(55px);
  will-change: transform, opacity;
}

.nw-ph2 {
  opacity: 0;
  transform: translateY(10px);
  will-change: transform, opacity;
}

.nw-ph3 {
  opacity: 0;
  transform: translateX(60px);
  will-change: transform, opacity;
}

.nw-ph4 {
  opacity: 0;
  transform: translateX(-60px);
  will-change: transform, opacity;
}

/* Phase 1: WHO WE ARE slides up */
.nw--ph1 .nw-ph1 {
  animation: nw-up 1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}

/* Phase 2: Script fades in gently */
.nw--ph2 .nw-ph2 {
  animation: nw-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0s forwards;
}

/* Phase 3: Right para slides from right */
.nw--ph3 .nw-ph3 {
  animation: nw-from-right 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0s forwards;
}

/* Phase 4: Left para slides from left */
.nw--ph4 .nw-ph4 {
  animation: nw-from-left 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}

/* ── Initial hidden states ───────────────── */
.nw-ph1 {
  opacity: 0;
  transform: translateY(65px);
  will-change: transform, opacity;
}

/* Script starts hidden — JS controls it */
.nw-ph2 {
  opacity: 0;
  will-change: opacity;
}

.nw-ph3 {
  opacity: 0;
  transform: translateX(70px);
  will-change: transform, opacity;
}

.nw-ph4 {
  opacity: 0;
  transform: translateX(-70px);
  will-change: transform, opacity;
}

/* Phase 1: WHO WE ARE — slower 1.4s */
.nw--ph1 .nw-ph1 {
  animation: nw-up 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.1s forwards;
}

/* Phase 3: Right para slides from right — slower 1.3s */
.nw--ph3 .nw-ph3 {
  animation: nw-from-right 1.3s cubic-bezier(0.16, 1, 0.3, 1) 0s forwards;
}

/* Phase 4: Left para slides from left — slower 1.3s, slight delay */
.nw--ph4 .nw-ph4 {
  animation: nw-from-left 1.3s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

@keyframes nw-up {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nw-from-right {
  to { opacity: 1; transform: translateX(0); }
}

@keyframes nw-from-left {
  to { opacity: 1; transform: translateX(0); }
}

/* GPU cleanup */
.nw--done .nw-ph1,
.nw--done .nw-ph2,
.nw--done .nw-ph3,
.nw--done .nw-ph4 {
  will-change: auto;
}

/* ── Reduced motion: skip typewriter too ─── */
@media (prefers-reduced-motion: reduce) {
  .nw-ph1, .nw-ph3, .nw-ph4 {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }
  .nw-ph2 { opacity: 1 !important; }
  #nwScript { opacity: 1 !important; }
}

/* ── 1280px ──────────────────────────────── */
@media (max-width: 1280px) {
  .nw-h1     { font-size: 5.5vw; }
  .nw-script { font-size: 7.2vw; }
  .nw-para   { font-size: 20px; width: 40%; }
}

/* ── 1100px ──────────────────────────────── */
@media (max-width: 1100px) {
  .nw-h1     { font-size: 5vw; }
  .nw-script { font-size: 6.5vw; }
  .nw-para   { font-size: 17px; width: 38%; }
  .nw-left   { top: 6%; }
  .nw-right  { bottom: 8%; }
}

/* ── 900px ───────────────────────────────── */
@media (max-width: 900px) {
  .nw-h1     { font-size: 4.5vw; }
  .nw-script { font-size: 6vw; }
  .nw-para   { font-size: 15px; width: 36%; line-height: 1.5; }
}

/* ── 768px: stacked layout ───────────────── */
@media (max-width: 768px) {
  .nw {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
    padding: 80px 6%;
    min-height: 100vh;
  }
  .nw-mid {
    position: static;
    transform: none;
    align-items: flex-start;
    text-align: left;
    width: 100%;
  }
  .nw-para {
    position: static;
    width: 100%;
    font-size: 15px;
    text-align: left;
    line-height: 1.7;
  }
  .nw-left  { top: auto; left: auto; }
  .nw-right { bottom: auto; right: auto; }
  .nw-ph3, .nw-ph4 { transform: translateY(40px); }
  .nw-h1     { font-size: 9vw; letter-spacing: 0.1em; white-space: normal; }
  .nw-script { font-size: 7vw; white-space: normal; margin-top: -0.4em; }
}

/* ── 480px ───────────────────────────────── */
@media (max-width: 480px) {
  .nw        { padding: 60px 5%; gap: 28px; }
  .nw-h1     { font-size: 11vw; }
  .nw-script { font-size: 8.5vw; }
  .nw-para   { font-size: 14px; }
}
@keyframes nw-up {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nw-from-right {
  to { opacity: 1; transform: translateX(0); }
}

@keyframes nw-from-left {
  to { opacity: 1; transform: translateX(0); }
}

/* GPU cleanup */
.nw--done .nw-ph1,
.nw--done .nw-ph2,
.nw--done .nw-ph3,
.nw--done .nw-ph4 {
  will-change: auto;
}

/* ── Reduced motion ──────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .nw-ph1, .nw-ph2, .nw-ph3, .nw-ph4 {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    will-change: auto !important;
  }
}

/* ── 1280px ──────────────────────────────── */
@media (max-width: 1280px) {
  .nw-h1     { font-size: 5.5vw; }
  .nw-script { font-size: 7.2vw; }
  .nw-para   { font-size: 20px; width: 40%; }
}

/* ── 1100px ──────────────────────────────── */
@media (max-width: 1100px) {
  .nw-h1     { font-size: 5vw; }
  .nw-script { font-size: 6.5vw; }
  .nw-para   { font-size: 17px; width: 38%; }
  .nw-left   { top: 6%; }
  .nw-right  { bottom: 8%; }
}

/* ── 900px ───────────────────────────────── */
@media (max-width: 900px) {
  .nw-h1     { font-size: 4.5vw; }
  .nw-script { font-size: 6vw; }
  .nw-para   { font-size: 15px; width: 36%; line-height: 1.5; }
}

/* ── 768px: stacked layout ───────────────── */
@media (max-width: 768px) {
  .nw {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
    padding: 80px 6%;
    min-height: 100vh;
  }
  .nw-mid {
    position: static;
    transform: none;
        align-items: center;
    text-align: left;
    width: 100%;
  }
  .nw-para {
    position: static;
    width: 100%;
    font-size: 15px;
    text-align: left;
    line-height: 1.7;
  }
  .nw-left  { top: auto; left: auto; }
  .nw-right { bottom: auto; right: auto; }

  /* On mobile paras slide up instead of sideways */
  .nw-ph3, .nw-ph4 { transform: translateY(40px); }

  .nw-h1     { font-size: 9vw; letter-spacing: 0.1em; white-space: normal; }
  .nw-script { font-size: 7vw; white-space: normal; margin-top: -1.2em; }
}

/* ── 480px ───────────────────────────────── */
@media (max-width: 480px) {
  .nw        { padding: 60px 4% 0px; gap: 60px; min-height: auto;}
  .nw-h1     { font-size: 9vw; }
  .nw-script { font-size: 16.5vw; }
  .nw-para   { font-size: 16px;         text-align: justify;}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4169808 */@media (max-width: 767px) {
    .e-con.e-flex {
        --width: 100%;
        --flex-wrap: nowrap;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'GC Mox';
	font-display: auto;
	src: url('https://nirmanengineers.com/wp-content/uploads/2026/04/GC-MOX.ttf') format('truetype');
}
/* End Custom Fonts CSS */