.elementor-8 .elementor-element.elementor-element-d01b38d1 .elementor-wrapper{--video-aspect-ratio:1.77777;}:root{--page-title-display:none;}/* Start custom CSS */.elementor .page-template{
      --blue: var(--color-brand-blue);
      --blue-dark: var(--color-brand-deep);
      --blue-pale: var(--color-blue-pale);
      --green: var(--color-accent);
      --ink: var(--color-text);
      --muted: #666666;
      --light: var(--color-paper);
      --white: var(--color-white);
      --line: var(--color-line);
      --max: 1180px;
      --section: clamp(4.5rem, 7vw, 7rem);
      --pad: clamp(1.25rem, 4vw, 2.25rem);
      --radius: 4px;
    }.elementor .page-template *{ box-sizing: border-box; }.elementor .page-template html{ scroll-behavior: smooth; }.elementor .page-template body{
      margin: 0;
      font-family:var(--font-body),sans-serif;
      color: var(--ink);
      background: var(--white);
      line-height: 1.55;
      -webkit-font-smoothing: antialiased;
    }.elementor .page-template a{ color: inherit; }.elementor .page-template img{ display: block; max-width: 100%; }.elementor .page-template button,.elementor .page-template input,.elementor .page-template textarea,.elementor .page-template select{ font: inherit; }.elementor .page-template button,.elementor .page-template a{ -webkit-tap-highlight-color: transparent; }.elementor .page-template :focus-visible{ outline: 3px solid rgba(65, 211, 49, .65); outline-offset: 3px; }.elementor .page-template .shell{ width: min(var(--max), calc(100% - (2 * var(--pad)))); margin-inline: auto; }.elementor .page-template .eyebrow{
      display: inline-flex;
      align-items: center;
      gap: .7rem;
      margin: 0 0 .8rem;
      color: var(--blue);
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
    }.elementor .page-template .eyebrow::before{ content: ""; width: 28px; height: 2px; flex: 0 0 28px; background: currentColor; }.elementor .page-template .eyebrow.on-dark{ color: #8bddeb; }.elementor .page-template h1,.elementor .page-template h2,.elementor .page-template h3,.elementor .page-template p{ margin-top: 0; }.elementor .page-template h1,.elementor .page-template .display{
      font-family:var(--font-heading),sans-serif;
      font-size: clamp(2.6rem, 5vw, 4.65rem);
      line-height: 1.02;
      letter-spacing: -.045em;
      margin-bottom: 1.35rem;
    }.elementor .page-template h2{
      font-size: clamp(2rem, 3.4vw, 3.05rem);
      line-height: 1.1;
      letter-spacing: -.035em;
      margin-bottom: 1.1rem;
    }.elementor .page-template h3{ font-size: 1.15rem; line-height: 1.25; margin-bottom: .55rem; }.elementor .page-template .lead{ color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.2rem); max-width: 65ch; }.elementor .page-template .section-head{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .68fr); align-items: end; gap: 3rem; margin-bottom: 2.6rem; }.elementor .page-template .section-head .lead{ margin-bottom: .2rem; }.elementor .page-template .btn{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .7rem;
      min-height: 50px;
      padding: .78rem 1.25rem;
      border: 2px solid transparent;
      border-radius: 3px;
      text-decoration: none;
      font-weight: 800;
      cursor: pointer;
      transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
    }.elementor .page-template .btn:hover{ transform: translateY(-2px); }.elementor .page-template .btn-primary{ background: var(--blue); color: var(--white); }.elementor .page-template .btn-primary:hover{ background: var(--blue-dark); }.elementor .page-template .btn-outline{ border-color: var(--blue); color: var(--blue); background: transparent; }.elementor .page-template .btn-outline:hover{ background: var(--blue-pale); }.elementor .page-template .btn-light{ background: var(--white); color: var(--blue-dark); }.elementor .page-template .btn-arrow::after{ content: "→"; font-size: 1.2em; }.elementor .page-template .topbar{ background: var(--ink); color: var(--white); font-size: .78rem; }.elementor .page-template .topbar-inner{ min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }.elementor .page-template .topbar-info{ display: flex; gap: 1.4rem; align-items: center; }.elementor .page-template .topbar a{ text-decoration: none; }.elementor .page-template .topbar a:hover{ text-decoration: underline; }.elementor .page-template .topbar-note{ color: #d5d5d5; }.elementor .page-template .site-header{ background: var(--white); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }.elementor .page-template .header-inner{ min-height: 86px; display: flex; align-items: center; gap: 2rem; }.elementor .page-template .logo{ width: 165px; flex: 0 0 auto; }.elementor .page-template .main-nav{ display: flex; align-items: center; gap: clamp(.85rem, 2vw, 1.55rem); margin-left: auto; }.elementor .page-template .main-nav > a{ color: var(--ink); font-size: .88rem; font-weight: 800; text-decoration: none; }.elementor .page-template .main-nav > a:hover{ color: var(--blue); }.elementor .page-template .header-cta{ min-height: 44px; padding: .55rem .95rem; }.elementor .page-template .menu-toggle{ display: none; margin-left: auto; background: none; border: 0; font-weight: 800; color: var(--blue); padding: .7rem; }.elementor .page-template .hero{ overflow: hidden; background: var(--white); }.elementor .page-template .hero-grid{ display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(420px, .97fr); min-height: 650px; }.elementor .page-template .hero-copy{ padding: clamp(4rem, 8vw, 7rem) max(var(--pad), calc((100vw - var(--max)) / 2)) 4rem max(var(--pad), calc((100vw - var(--max)) / 2)); display: flex; flex-direction: column; justify-content: center; }.elementor .page-template .hero-copy h1 span{ color: var(--blue); }.elementor .page-template .hero-copy .lead{ max-width: 54ch; margin-bottom: 1.8rem; }.elementor .page-template .hero-actions{ display: flex; flex-wrap: wrap; gap: .8rem; }.elementor .page-template .hero-media{ position: relative; min-height: 560px; background: var(--blue-dark); }.elementor .page-template .hero-media::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 79, 126, .28), transparent 42%); z-index: 1; }.elementor .page-template .hero-media img{ width: 100%; height: 100%; object-fit: cover; object-position: 55% center; filter: saturate(.78) contrast(1.03); }.elementor .page-template .hero-caption{
      position: absolute;
      left: 0;
      bottom: 0;
      z-index: 2;
      width: min(88%, 440px);
      background: var(--blue);
      color: var(--white);
      padding: 1.2rem 1.45rem;
      font-size: .9rem;
      font-weight: 700;
      border-top: 5px solid var(--green);
    }.elementor .page-template .proofbar{ background: var(--blue-dark); color: var(--white); }.elementor .page-template .proof-grid{ display: grid; grid-template-columns: repeat(5, 1fr); }.elementor .page-template .proof{ min-height: 104px; padding: 1.2rem 1.35rem; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.2); }.elementor .page-template .proof:first-child{ border-left: 1px solid rgba(255,255,255,.2); }.elementor .page-template .proof strong{ font-family:var(--font-heading),sans-serif; font-size: 1.1rem; line-height: 1.15; }.elementor .page-template .proof span{ color: #cfe7f3; font-size: .75rem; margin-top: .35rem; }.elementor .page-template .problems{ padding: var(--section) 0; }.elementor .page-template .problem-grid{ display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.elementor .page-template .problem-card{
      min-height: 235px;
      padding: 1.65rem;
      border: 0;
      border-right: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      background: var(--white);
      text-align: left;
      color: var(--ink);
      cursor: pointer;
      display: flex;
      flex-direction: column;
      transition: background .2s ease, color .2s ease;
    }.elementor .page-template .problem-card:hover,.elementor .page-template .problem-card.is-active{ background: var(--blue); color: var(--white); }.elementor .page-template .problem-card:hover p,.elementor .page-template .problem-card.is-active p{ color: #dceef6; }.elementor .page-template .problem-number{ color: var(--blue); font-weight: 800; margin-bottom: 2.6rem; }.elementor .page-template .problem-card:hover .problem-number,.elementor .page-template .problem-card.is-active .problem-number{ color: var(--green); }.elementor .page-template .problem-card p{ margin: 0; color: var(--muted); font-size: .9rem; }.elementor .page-template .problem-link{ margin-top: auto; padding-top: 1.4rem; color: var(--blue); font-weight: 700; font-size: .83rem; }.elementor .page-template .problem-card:hover .problem-link,.elementor .page-template .problem-card.is-active .problem-link{ color: var(--white); }.elementor .page-template .orientation{
      margin-top: 1.1rem;
      padding: 1.2rem 1.35rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 1.5rem;
      background: var(--light);
      border-left: 5px solid var(--green);
    }.elementor .page-template .orientation strong{ color: var(--blue-dark); }.elementor .page-template .orientation p{ margin: .15rem 0 0; color: var(--muted); font-size: .88rem; }.elementor .page-template .expertises{ padding: var(--section) 0; background: var(--light); }.elementor .page-template .expertise-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }.elementor .page-template .expertise-card{ min-height: 320px; padding: 1.8rem; background: var(--white); display: flex; flex-direction: column; }.elementor .page-template .expertise-card .tag{ width: 42px; height: 5px; background: var(--blue); margin-bottom: 2rem; }.elementor .page-template .expertise-card:nth-child(4) .tag{ background: var(--green); }.elementor .page-template .expertise-card p{ color: var(--muted); font-size: .9rem; }.elementor .page-template .expertise-card a{ margin-top: auto; color: var(--blue); font-weight: 800; text-decoration: none; font-size: .85rem; }.elementor .page-template .expertise-card a:hover{ text-decoration: none; }.elementor .page-template .method{ padding: var(--section) 0; background: var(--ink); color: var(--white); overflow: hidden; }.elementor .page-template .method .section-head{ margin-bottom: 3.3rem; }.elementor .page-template .method h2{ max-width: 18ch; }.elementor .page-template .method .lead{ color: #cfcfcf; }.elementor .page-template .method-steps{ display: grid; grid-template-columns: repeat(5, 1fr); position: relative; }.elementor .page-template .method-steps::before{ content: ""; position: absolute; left: 3%; right: 3%; top: 25px; border-top: 1px solid #6b6b6b; }.elementor .page-template .step{ position: relative; z-index: 1; padding-right: 1.2rem; }.elementor .page-template .step-num{ width: 50px; height: 50px; display: grid; place-items: center; background: var(--blue); color: var(--white); font-weight: 900; margin-bottom: 1.45rem; border-radius: 50%; }.elementor .page-template .step:last-child .step-num{ background: var(--green); color: var(--ink); }.elementor .page-template .step p{ color: #bfbfbf; font-size: .82rem; max-width: 20ch; }.elementor .page-template .facilities{ padding: var(--section) 0; }.elementor .page-template .facility-grid{ display: grid; grid-template-columns: 1.16fr .84fr; gap: 1.2rem; }.elementor .page-template .facility-card{ position: relative; min-height: 515px; overflow: hidden; background: var(--ink); }.elementor .page-template .facility-card.small{ min-height: 248px; }.elementor .page-template .facility-stack{ display: grid; gap: 1.2rem; }.elementor .page-template .facility-card img{ width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }.elementor .page-template .facility-card:hover img{ transform: scale(1.025); }.elementor .page-template .facility-card::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(0,0,0,.82)); }.elementor .page-template .facility-copy{ position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 1.7rem; color: var(--white); }.elementor .page-template .facility-copy p{ margin: .2rem 0 0; color: #e5e5e5; font-size: .88rem; max-width: 58ch; }.elementor .page-template .facility-copy a{ color: var(--white); font-weight: 800; }.elementor .page-template .case-study{ padding: var(--section) 0; background: var(--blue-pale); }.elementor .page-template .case-grid{ display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(2.5rem, 6vw, 6.5rem); align-items: center; }.elementor .page-template .case-visual{ position: relative; }.elementor .page-template .case-visual img{ width: 100%; aspect-ratio: 4/5; object-fit: cover; }.elementor .page-template .case-badge{ position: absolute; right: -24px; bottom: 35px; background: var(--green); color: var(--ink); padding: 1rem; font-weight: 900; max-width: 180px; }.elementor .page-template .case-facts{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #bcdbe9; border: 1px solid #bcdbe9; margin: 2rem 0; }.elementor .page-template .case-fact{ padding: 1.1rem; background: var(--white); }.elementor .page-template .case-fact span{ display: block; color: var(--muted); font-size: .75rem; margin-bottom: .25rem; }.elementor .page-template .case-fact strong{ color: var(--blue-dark); font-size: .92rem; }.elementor .page-template .resources{ padding: var(--section) 0; }.elementor .page-template .resource-grid{ display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 1.2rem; }.elementor .page-template .resource{ min-height: 360px; padding: 1.7rem; background: var(--light); border-top: 5px solid var(--blue); display: flex; flex-direction: column; }.elementor .page-template .resource:first-child{ background: var(--blue-dark); color: var(--white); border-color: var(--green); }.elementor .page-template .resource .meta{ font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--blue); margin-bottom: 3rem; }.elementor .page-template .resource:first-child .meta{ color: #8bddeb; }.elementor .page-template .resource p{ color: var(--muted); font-size: .9rem; }.elementor .page-template .resource:first-child p{ color: #d4e8f1; }.elementor .page-template .resource a{ margin-top: auto; color: var(--blue); font-weight: 800; text-decoration: none; }.elementor .page-template .resource:first-child a{ color: var(--white); }.elementor .page-template .final-cta{ padding: var(--section) 0; background: var(--blue); color: var(--white); }.elementor .page-template .cta-grid{ display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; }.elementor .page-template .final-cta h2{ margin-bottom: .8rem; max-width: 19ch; }.elementor .page-template .final-cta p{ color: #dbeef7; margin-bottom: 0; max-width: 65ch; }.elementor .page-template .cta-actions{ display: flex; gap: .75rem; flex-wrap: wrap; justify-content: flex-end; }.elementor .page-template .footer{ background: var(--ink); color: var(--white); padding: 4.5rem 0 1.5rem; }.elementor .page-template .footer-grid{ display: grid; grid-template-columns: 1.15fr .85fr .85fr .85fr; gap: 2rem; padding-bottom: 3rem; }.elementor .page-template .footer-logo{ width: 160px; background: var(--white); padding: .55rem; margin-bottom: 1rem; }.elementor .page-template .footer p,.elementor .page-template .footer a{ color: #c8c8c8; font-size: .83rem; }.elementor .page-template .footer a{ text-decoration: none; }.elementor .page-template .footer a:hover{ color: var(--white); text-decoration: underline; }.elementor .page-template .footer h3{ font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }.elementor .page-template .footer-links{ display: grid; gap: .55rem; }.elementor .page-template .footer-bottom{ border-top: 1px solid #4a4a4a; padding-top: 1.2rem; display: flex; justify-content: space-between; gap: 1rem; color: #9d9d9d; font-size: .75rem; }.elementor .page-template .mockup-label{ position: fixed; right: 0; bottom: var(--space-md); z-index: 50; background: var(--green); color: var(--ink); padding: .55rem .8rem; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }@media (max-width: 1050px){.elementor .page-template .main-nav{ display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--white); padding: 1.3rem var(--pad); border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; }.elementor .page-template .main-nav.is-open{ display: flex; }.elementor .page-template .menu-toggle{ display: inline-flex; }.elementor .page-template .hero-grid{ grid-template-columns: 1fr 1fr; }.elementor .page-template .hero-copy{ padding-left: var(--pad); padding-right: var(--pad); }.elementor .page-template .proof-grid{ grid-template-columns: repeat(3, 1fr); }.elementor .page-template .proof:nth-child(4),.elementor .page-template .proof:nth-child(5){ border-top: 1px solid rgba(255,255,255,.2); }.elementor .page-template .expertise-grid{ grid-template-columns: repeat(2, 1fr); }.elementor .page-template .resource-grid{ grid-template-columns: 1fr 1fr; }.elementor .page-template .resource:first-child{ grid-column: 1 / -1; }}@media (max-width: 760px){.elementor .page-template .topbar-note,.elementor .page-template .topbar-info span:nth-child(2){ display: none; }.elementor .page-template .header-inner{ min-height: 72px; }.elementor .page-template .logo{ width: 145px; }.elementor .page-template .hero-grid{ grid-template-columns: 1fr; }.elementor .page-template .hero-copy{ padding-top: 4.2rem; padding-bottom: 3.6rem; }.elementor .page-template .hero-media{ min-height: 410px; }.elementor .page-template .proof-grid{ grid-template-columns: repeat(2, 1fr); }.elementor .page-template .proof{ border-top: 1px solid rgba(255,255,255,.2); }.elementor .page-template .section-head{ grid-template-columns: 1fr; gap: .5rem; }.elementor .page-template .problem-grid{ grid-template-columns: 1fr; }.elementor .page-template .problem-card{ min-height: 210px; }.elementor .page-template .problem-number{ margin-bottom: 1.5rem; }.elementor .page-template .orientation{ align-items: flex-start; flex-direction: column; }.elementor .page-template .expertise-grid{ grid-template-columns: 1fr; }.elementor .page-template .expertise-card{ min-height: 255px; }.elementor .page-template .method-steps{ grid-template-columns: 1fr; gap: 1.8rem; }.elementor .page-template .method-steps::before{ top: 0; bottom: 0; left: 25px; right: auto; border-top: 0; border-left: 1px solid #6b6b6b; }.elementor .page-template .step{ padding-left: 70px; min-height: 80px; }.elementor .page-template .step-num{ position: absolute; left: 0; top: 0; }.elementor .page-template .facility-grid{ grid-template-columns: 1fr; }.elementor .page-template .facility-card{ min-height: 400px; }.elementor .page-template .facility-card.small{ min-height: 280px; }.elementor .page-template .case-grid{ grid-template-columns: 1fr; }.elementor .page-template .case-visual{ width: 86%; }.elementor .page-template .case-badge{ right: -16%; }.elementor .page-template .case-facts{ grid-template-columns: 1fr; }.elementor .page-template .resource-grid{ grid-template-columns: 1fr; }.elementor .page-template .resource:first-child{ grid-column: auto; }.elementor .page-template .resource{ min-height: 290px; }.elementor .page-template .cta-grid{ grid-template-columns: 1fr; }.elementor .page-template .cta-actions{ justify-content: flex-start; }.elementor .page-template .footer-grid{ grid-template-columns: 1fr 1fr; }.elementor .page-template .footer-bottom{ flex-direction: column; }.elementor .page-template .mockup-label{ display: none; }}@media (max-width: 460px){.elementor .page-template h1{ font-size: 2.45rem; }.elementor .page-template .topbar-info span:last-child{ display: none; }.elementor .page-template .proof-grid,.elementor .page-template .footer-grid{ grid-template-columns: 1fr; }.elementor .page-template .hero-actions .btn,.elementor .page-template .cta-actions .btn{ width: 100%; }.elementor .page-template .hero-media{ min-height: 340px; }.elementor .page-template .hero-caption{ width: 92%; font-size: .8rem; }}@media (prefers-reduced-motion: reduce){.elementor .page-template html{ scroll-behavior: auto; }.elementor .page-template *,.elementor .page-template *::before,.elementor .page-template *::after{ transition-duration: .01ms !important; }}.elementor .page-template{
      --curve: cubic-bezier(.22, 1, .36, 1);
      --mx: 0;
      --my: 0;
    }.elementor .page-template body{ overflow-x: hidden; }.elementor .page-template .shell,.elementor .page-template .header-inner,.elementor .page-template .hero-grid,.elementor .page-template .hero-copy,.elementor .page-template .proof-grid,.elementor .page-template .proof,.elementor .page-template .section-head > *,.elementor .page-template .cta-grid > *{ min-width: 0; }.elementor .page-template .eyebrow,.elementor .page-template .lead,.elementor .page-template .proof strong,.elementor .page-template .proof span{ overflow-wrap: anywhere; }.elementor .page-template .site-header{ box-shadow: 0 10px 35px rgba(0, 79, 126, .06); }.elementor .page-template .header-cta,.elementor .page-template .btn{ border-radius: 999px; }.elementor .page-template .hero{ position: relative; background: radial-gradient(circle at 47% 24%, rgba(0,119,188,.08), transparent 27%), var(--white); }.elementor .page-template .hero::before,.elementor .page-template .hero::after{
      content: "";
      position: absolute;
      pointer-events: none;
      border: 1px solid rgba(0,119,188,.16);
      border-radius: 50%;
      z-index: 0;
    }.elementor .page-template .hero::before{ width: 720px; height: 275px; left: 31%; top: 6%; transform: rotate(-16deg); animation: orbit-drift 11s ease-in-out infinite alternate; }.elementor .page-template .hero::after{ width: 560px; height: 190px; left: 38%; top: 16%; transform: rotate(12deg); animation: orbit-drift-reverse 14s ease-in-out infinite alternate; }.elementor .page-template .hero-grid{ position: relative; z-index: 2; }.elementor .page-template .hero-copy{ position: relative; }.elementor .page-template .hero-copy::after{
      content: "";
      position: absolute;
      width: 11px;
      height: 11px;
      right: 5%;
      top: 21%;
      background: var(--green);
      border-radius: 50%;
      box-shadow: 0 0 0 9px rgba(65,211,49,.13), -112px 95px 0 -2px var(--blue), -215px -48px 0 -3px rgba(0,119,188,.46);
      animation: atom-pulse 3.8s ease-in-out infinite;
    }.elementor .page-template .hero-copy h1{ position: relative; z-index: 2; }.elementor .page-template .hero-copy h1 span{ display: inline; background: linear-gradient(100deg, var(--blue) 0%, #00a5cf 55%, var(--blue) 100%); background-size: 200% auto; -webkit-background-clip: text; background-clip: text; color: transparent; animation: text-flow 6s linear infinite; }.elementor .page-template .hero-media{
      margin: 28px 0 28px -18px;
      min-width: 0;
      max-width: 100vw;
      min-height: 595px;
      border-radius: 46% 0 0 46% / 10% 0 0 10%;
      box-shadow: -24px 24px 0 rgba(0,119,188,.09);
      transform: translateZ(0);
    }.elementor .page-template .hero-media::before{
      border-radius: inherit;
      background:
        linear-gradient(180deg, rgba(0,79,126,.03) 42%, rgba(0,79,126,.76) 100%),
        linear-gradient(90deg, rgba(0,79,126,.42), transparent 48%);
    }.elementor .page-template .hero-media::after{
      content: "";
      position: absolute;
      inset: 9% auto 9% -22px;
      width: 46px;
      border: 2px solid rgba(255,255,255,.55);
      border-right: 0;
      border-radius: 100% 0 0 100% / 50% 0 0 50%;
      z-index: 2;
      animation: curve-breathe 5s ease-in-out infinite;
    }.elementor .page-template .hero-media img{ transform: scale(1.07) translate(calc(var(--mx) * 1px), calc(var(--my) * 1px)); transition: transform .6s var(--curve); }.elementor .page-template .hero-video{
      display: block;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      height: 100%;
      min-height: inherit;
      object-fit: cover;
      object-position: 48% center;
      filter: saturate(.74) contrast(1.08);
      transform: scale(1.07) translate(calc(var(--mx) * 1px), calc(var(--my) * 1px));
      transition: transform .6s var(--curve), filter .35s ease;
    }.elementor .page-template .hero-media:hover .hero-video{ filter: saturate(.9) contrast(1.06); }.elementor .page-template .hero-caption{ left: 8%; bottom: 24px; border: 0; border-radius: 0 28px 28px 28px; box-shadow: 0 18px 45px rgba(0,0,0,.18); }.elementor .page-template .hero-caption::before{ content: ""; position: absolute; left: -8%; top: -5px; width: 62%; height: 5px; border-radius: 999px; background: var(--green); }.elementor .page-template .polymer-orbit{ position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }.elementor .page-template .orbit-ring{ position: absolute; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; }.elementor .page-template .orbit-ring.one{ width: 510px; height: 170px; right: -120px; top: 13%; transform: rotate(18deg); }.elementor .page-template .orbit-ring.two{ width: 630px; height: 225px; right: -170px; top: 27%; transform: rotate(-12deg); }.elementor .page-template .orbit-dot{ position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--white); box-shadow: 0 0 0 6px rgba(255,255,255,.12); animation: atom-pulse 3.4s ease-in-out infinite; }.elementor .page-template .orbit-dot.d1{ right: 16%; top: 17%; }.elementor .page-template .orbit-dot.d2{ right: 7%; top: 41%; background: var(--green); animation-delay: -1.1s; }.elementor .page-template .orbit-dot.d3{ right: 29%; top: 34%; width: 6px; height: 6px; animation-delay: -2.1s; }.elementor .page-template .proofbar{ position: relative; z-index: 3; background: linear-gradient(105deg, var(--blue-dark), var(--color-brand-blue) 75%, #008eb8); }.elementor .page-template .proof{ position: relative; overflow: hidden; }.elementor .page-template .proof::after{ content: ""; position: absolute; width: 74px; height: 74px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; right: -var(--space-lg); top: -34px; transition: transform .55s var(--curve); }.elementor .page-template .proof:hover::after{ transform: scale(1.55); }.elementor .page-template .problems{ position: relative; z-index: 4; margin-top: -42px; padding-top: calc(var(--section) + 42px); border-radius: 50% 50% 0 0 / 42px 42px 0 0; background: var(--white); }.elementor .page-template .problem-grid{ gap: 14px; border: 0; }.elementor .page-template .problem-card{ border: 1px solid var(--line); border-radius: 18px 4px 18px 4px; overflow: hidden; transform: translateY(0); }.elementor .page-template .problem-card::after{ content: ""; position: absolute; width: 150px; height: 72px; right: -110px; top: -26px; border: 1px solid rgba(0,119,188,.18); border-radius: 50%; transform: rotate(-18deg); transition: right .55s var(--curve), transform .55s var(--curve); }.elementor .page-template .problem-card:hover::after,.elementor .page-template .problem-card.is-active::after{ right: -30px; transform: rotate(12deg); border-color: rgba(255,255,255,.25); }.elementor .page-template .problem-card:hover{ transform: translateY(-7px); box-shadow: 0 24px 55px rgba(0,79,126,.12); }.elementor .page-template .problem-card.is-active{ background: linear-gradient(145deg, var(--blue), var(--blue-dark)); box-shadow: 0 var(--space-md) 48px rgba(0,79,126,.2); }.elementor .page-template .orientation{ border: 0; border-radius: 36px 6px 36px 6px; background: linear-gradient(100deg, var(--light), var(--blue-pale)); box-shadow: inset 5px 0 0 var(--green); transition: transform .35s var(--curve); }.elementor .page-template .orientation.is-refreshing{ transform: scale(.985); }.elementor .page-template .expertises{ position: relative; overflow: hidden; }.elementor .page-template .expertises::before{ content: ""; position: absolute; width: 860px; height: 230px; right: -280px; top: -125px; border: 1px solid rgba(0,119,188,.14); border-radius: 50%; transform: rotate(-10deg); }.elementor .page-template .expertise-grid{ gap: 16px; border: 0; background: transparent; }.elementor .page-template .expertise-card{ border: 1px solid var(--line); border-radius: 4px 30px 4px 30px; transition: transform .4s var(--curve), box-shadow .4s var(--curve); }.elementor .page-template .expertise-card:hover{ transform: translateY(-9px); box-shadow: 0 25px 50px rgba(40,40,40,.1); }.elementor .page-template .expertise-card .tag{ height: 6px; border-radius: 999px; transition: width .4s var(--curve); }.elementor .page-template .expertise-card:hover .tag{ width: 82px; }.elementor .page-template .method{ position: relative; border-radius: 50% 50% 0 0 / 65px 65px 0 0; padding-top: calc(var(--section) + 25px); }.elementor .page-template .method::before,.elementor .page-template .method::after{ content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); pointer-events: none; }.elementor .page-template .method::before{ width: 900px; height: 260px; right: -330px; top: 17%; transform: rotate(-14deg); }.elementor .page-template .method::after{ width: 620px; height: 190px; right: -140px; top: 25%; transform: rotate(12deg); }.elementor .page-template .step-num{ box-shadow: 0 0 0 var(--space-xs) rgba(0,119,188,.12); transition: transform .35s var(--curve), box-shadow .35s var(--curve); }.elementor .page-template .step:hover .step-num{ transform: scale(1.12); box-shadow: 0 0 0 14px rgba(0,119,188,.12); }.elementor .page-template .step:last-child .step-num{ box-shadow: 0 0 0 var(--space-xs) rgba(65,211,49,.13); }.elementor .page-template .facility-card{ border-radius: 42px 5px 42px 5px; }.elementor .page-template .facility-card.small{ border-radius: 5px var(--space-lg) 5px var(--space-lg); }.elementor .page-template .facility-card img{ transform: scale(1.015); }.elementor .page-template .facility-card:hover img{ transform: scale(1.065); }.elementor .page-template .facility-copy{ border-radius: 0 38px 0 0; }.elementor .page-template .case-study{ position: relative; border-radius: 0 0 48% 48% / 0 0 55px 55px; overflow: hidden; }.elementor .page-template .case-study::before{ content: ""; position: absolute; width: 740px; height: 210px; left: -260px; bottom: -110px; border: 1px solid rgba(0,119,188,.2); border-radius: 50%; transform: rotate(9deg); }.elementor .page-template .case-visual img{ border-radius: 48% 4px 48% 4px / 16% 4px 16% 4px; }.elementor .page-template .case-badge{ border-radius: 30px 3px 30px 3px; animation: badge-float 4.5s ease-in-out infinite; }.elementor .page-template .case-facts{ gap: 10px; border: 0; background: transparent; }.elementor .page-template .case-fact{ border-radius: 18px 3px 18px 3px; box-shadow: 0 var(--space-sm) 25px rgba(0,79,126,.07); }.elementor .page-template .resource-grid{ gap: 16px; }.elementor .page-template .resource{ border: 0; border-radius: 4px 34px 4px 34px; box-shadow: inset 0 5px 0 var(--blue); transition: transform .4s var(--curve), box-shadow .4s var(--curve); }.elementor .page-template .resource:first-child{ box-shadow: inset 0 5px 0 var(--green); }.elementor .page-template .resource:hover{ transform: translateY(-var(--space-xs)) rotate(-.25deg); box-shadow: inset 0 5px 0 var(--blue), 0 24px 46px rgba(40,40,40,.1); }.elementor .page-template .resource:first-child:hover{ box-shadow: inset 0 5px 0 var(--green), 0 24px 46px rgba(0,79,126,.18); }.elementor .page-template .final-cta{ position: relative; overflow: hidden; background: linear-gradient(110deg, var(--blue-dark), var(--blue)); border-radius: 50% 50% 0 0 / 58px 58px 0 0; padding-top: calc(var(--section) + 18px); }.elementor .page-template .final-cta::before,.elementor .page-template .final-cta::after{ content: ""; position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.24); pointer-events: none; }.elementor .page-template .final-cta::before{ width: 680px; height: 205px; right: -170px; top: -35px; transform: rotate(-13deg); }.elementor .page-template .final-cta::after{ width: 520px; height: 160px; right: -var(--space-md); top: 18px; transform: rotate(10deg); }.elementor .page-template .final-cta .shell{ position: relative; z-index: 2; }.elementor .page-template .motion-ready [data-reveal]{ opacity: 0; transform: translateY(34px); transition: opacity .8s var(--curve), transform .8s var(--curve); }.elementor .page-template .motion-ready [data-reveal="left"]{ transform: translateX(-38px); }.elementor .page-template .motion-ready [data-reveal="right"]{ transform: translateX(38px); }.elementor .page-template .motion-ready [data-reveal].is-visible{ opacity: 1; transform: translate(0, 0); }.elementor .page-template .motion-ready [data-reveal-delay="1"]{ transition-delay: .08s; }.elementor .page-template .motion-ready [data-reveal-delay="2"]{ transition-delay: .16s; }.elementor .page-template .motion-ready [data-reveal-delay="3"]{ transition-delay: .24s; }.elementor .page-template .motion-ready [data-reveal-delay="4"]{ transition-delay: .32s; }.elementor .page-template .scroll-progress{ position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 100; pointer-events: none; background: rgba(0,119,188,.08); }.elementor .page-template .scroll-progress span{ display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, var(--blue), #00a5cf 72%, var(--green)); }.elementor .page-template .hero-satellite{ position: absolute; z-index: 4; border-radius: 50%; padding: 7px; background: rgba(255,255,255,.92); box-shadow: 0 18px 48px rgba(0,79,126,.24); animation: satellite-float 6s ease-in-out infinite; }.elementor .page-template .hero-satellite img{ width: 100%; height: 100%; object-fit: cover; border-radius: 50%; transform: none; }.elementor .page-template .hero-satellite span{ position: absolute; left: 50%; bottom: -15px; transform: translateX(-50%); white-space: nowrap; background: var(--ink); color: var(--white); border-radius: 999px; padding: .38rem .72rem; font-size: .68rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }.elementor .page-template .hero-satellite.s1{ width: 138px; height: 138px; left: 4%; top: 10%; }.elementor .page-template .hero-satellite.s2{ width: 105px; height: 105px; right: 3%; top: 45%; animation-delay: -2.6s; }.elementor .page-template .hero-data-chip{ position: absolute; z-index: 4; right: 7%; top: 18px; display: flex; align-items: center; gap: .6rem; padding: .7rem .95rem; border-radius: 999px; color: var(--white); background: rgba(40,40,40,.82); backdrop-filter: blur(10px); font-size: .72rem; font-weight: 800; box-shadow: 0 10px var(--space-lg) rgba(0,0,0,.15); }.elementor .page-template .hero-data-chip::before{ content: ""; width: var(--space-xs); height: var(--space-xs); border-radius: 50%; background: var(--green); box-shadow: 0 0 0 6px rgba(65,211,49,.15); animation: atom-pulse 2.2s ease-in-out infinite; }.elementor .page-template .video-toggle{
      position: absolute;
      right: 7%;
      top: 68px;
      z-index: 5;
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      min-height: 42px;
      padding: .55rem .82rem;
      border: 1px solid rgba(255,255,255,.48);
      border-radius: 999px;
      color: var(--white);
      background: rgba(40,40,40,.7);
      backdrop-filter: blur(10px);
      cursor: pointer;
      font-size: .7rem;
      font-weight: 900;
      letter-spacing: .05em;
      text-transform: uppercase;
      transition: background .2s ease, transform .2s ease;
    }.elementor .page-template .video-toggle:hover{ background: rgba(0,79,126,.92); transform: translateY(-2px); }.elementor .page-template .video-toggle-icon{ display: grid; place-items: center; width: 18px; height: 18px; font-size: .8rem; }.elementor .page-template .capability-rail{ position: relative; z-index: 5; overflow: hidden; background: var(--green); color: var(--ink); transform: rotate(-1.15deg) scale(1.02); transform-origin: center; box-shadow: 0 14px 40px rgba(0,79,126,.13); }.elementor .page-template .rail-track{ display: flex; width: max-content; padding: .8rem 0; animation: rail-scroll 28s linear infinite; }.elementor .page-template .rail-group{ display: flex; align-items: center; gap: 1.2rem; padding-right: 1.2rem; }.elementor .page-template .rail-group span{ display: inline-flex; align-items: center; gap: 1.2rem; white-space: nowrap; font-family:var(--font-heading),sans-serif; font-size: .82rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.elementor .page-template .rail-group span::after{ content: ""; width: 7px; height: 7px; border: 2px solid var(--ink); border-radius: 50%; }.elementor .page-template .capability-rail:hover .rail-track{ animation-play-state: paused; }.elementor .page-template .capability-rail + .problems{ margin-top: -var(--space-xs); padding-top: calc(var(--section) + 28px); }.elementor .page-template .proof strong .count-value{ color: inherit; font: inherit; margin: 0; }.elementor .page-template .method-steps::before{ transform: scaleX(0); transform-origin: left center; transition: transform 1.5s var(--curve) .15s; }.elementor .page-template .method.line-visible .method-steps::before{ transform: scaleX(1); }.elementor .page-template .motion-ready .facility-card[data-reveal]{ clip-path: inset(0 0 100% 0 round 42px 5px 42px 5px); transform: none; transition: opacity .85s var(--curve), clip-path 1.05s var(--curve); }.elementor .page-template .motion-ready .facility-card[data-reveal].is-visible{ clip-path: inset(0 0 0 0 round 42px 5px 42px 5px); }.elementor .page-template .case-visual::before,.elementor .page-template .case-visual::after{ content: ""; position: absolute; z-index: 3; pointer-events: none; border-radius: 50%; border: 1px solid rgba(0,119,188,.35); }.elementor .page-template .case-visual::before{ width: 150px; height: 54px; left: -58px; top: 16%; transform: rotate(-18deg); animation: orbit-drift 7s ease-in-out infinite alternate; }.elementor .page-template .case-visual::after{ width: 90px; height: 90px; right: -34px; top: 7%; border-color: rgba(65,211,49,.75); animation: atom-pulse 4s ease-in-out infinite; }.elementor .page-template .footer{ position: relative; overflow: hidden; }.elementor .page-template .footer::before,.elementor .page-template .footer::after{ content: ""; position: absolute; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; pointer-events: none; }.elementor .page-template .footer::before{ width: 620px; height: 190px; right: -180px; bottom: 10px; transform: rotate(-11deg); }.elementor .page-template .footer::after{ width: 430px; height: 135px; right: -60px; bottom: 40px; transform: rotate(9deg); }.elementor .page-template .footer .shell{ position: relative; z-index: 2; }@keyframes orbit-drift{ from { transform: rotate(-16deg) translate3d(0,0,0); } to { transform: rotate(-10deg) translate3d(42px,24px,0); } }@keyframes orbit-drift-reverse{ from { transform: rotate(12deg) translate3d(0,0,0); } to { transform: rotate(6deg) translate3d(-35px,15px,0); } }@keyframes atom-pulse{ 0%,100% { transform: scale(.85); opacity: .55; } 50% { transform: scale(1.18); opacity: 1; } }@keyframes text-flow{ to { background-position: -200% center; } }@keyframes curve-breathe{ 0%,100% { transform: scaleY(.84); opacity: .45; } 50% { transform: scaleY(1.04); opacity: .9; } }@keyframes badge-float{ 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-10px) rotate(1deg); } }@keyframes satellite-float{ 0%,100% { transform: translate3d(0,0,0) rotate(-2deg); } 50% { transform: translate3d(0,-13px,0) rotate(2deg); } }@keyframes rail-scroll{ to { transform: translateX(-50%); } }@media (max-width: 1050px){.elementor .page-template .hero-media{ margin-left: 0; border-radius: 36% 0 0 36% / 8% 0 0 8%; }.elementor .page-template .hero::before{ left: 15%; }}@media (max-width: 760px){.elementor .page-template .hero::before{ width: 430px; height: 155px; left: 18%; top: 10%; }.elementor .page-template .hero::after{ width: 360px; height: 120px; left: 28%; top: 17%; }.elementor .page-template .hero-copy::after{ display: none; }.elementor .page-template .hero-media{ margin: 0; min-height: 410px; border-radius: 42% 42% 0 0 / 10% 10% 0 0; box-shadow: 0 -18px 0 rgba(0,119,188,.08); }.elementor .page-template .hero-media::after{ display: none; }.elementor .page-template .hero-caption{ left: 0; bottom: 0; width: 94%; border-radius: 0 28px 0 0; }.elementor .page-template .hero-video{ min-height: 410px; object-position: 43% center; }.elementor .page-template .video-toggle{ right: 4%; top: 62px; padding: .48rem .65rem; }.elementor .page-template .video-toggle-label{ display: none; }.elementor .page-template .hero-satellite.s1{ width: 92px; height: 92px; left: 5%; top: 8%; }.elementor .page-template .hero-satellite.s2{ display: none; }.elementor .page-template .hero-satellite span{ font-size: .58rem; bottom: -var(--space-sm); }.elementor .page-template .hero-data-chip{ right: 4%; top: 15px; font-size: .62rem; }.elementor .page-template .problems{ border-radius: 50% 50% 0 0 / 26px 26px 0 0; margin-top: -24px; padding-top: calc(var(--section) + 24px); }.elementor .page-template .problem-grid{ gap: 10px; }.elementor .page-template .orientation{ border-radius: 25px 4px 25px 4px; }.elementor .page-template .method{ border-radius: 50% 50% 0 0 / 35px 35px 0 0; }.elementor .page-template .facility-card,.elementor .page-template .facility-card.small{ border-radius: 28px 4px 28px 4px; }.elementor .page-template .case-study{ border-radius: 0; }.elementor .page-template .final-cta{ border-radius: 50% 50% 0 0 / var(--space-lg) var(--space-lg) 0 0; }.elementor .page-template .proof-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }.elementor .page-template .menu-toggle{ display: inline-flex !important; align-items: center; gap: .45rem; border: 1px solid var(--line); border-radius: 999px; }.elementor .page-template .method-steps::before{ transform: scaleY(0); transform-origin: center top; }.elementor .page-template .method.line-visible .method-steps::before{ transform: scaleY(1); }.elementor .page-template .capability-rail + .problems{ margin-top: -6px; padding-top: calc(var(--section) + 18px); }}@media (max-width: 460px){.elementor .page-template .proof-grid{ grid-template-columns: 1fr; }.elementor .page-template .eyebrow{ max-width: 30ch; }.elementor .page-template .hero-satellite.s1{ width: 78px; height: 78px; }.elementor .page-template .hero-data-chip{ display: none; }}@media (prefers-reduced-motion: reduce){.elementor .page-template .hero::before,.elementor .page-template .hero::after,.elementor .page-template .hero-copy::after,.elementor .page-template .orbit-dot,.elementor .page-template .case-badge,.elementor .page-template .hero-copy h1 span,.elementor .page-template .hero-media::after,.elementor .page-template .hero-satellite,.elementor .page-template .rail-track,.elementor .page-template .case-visual::before,.elementor .page-template .case-visual::after{ animation: none !important; }.elementor .page-template .motion-ready [data-reveal]{ opacity: 1; transform: none; transition: none; }.elementor .page-template .hero-media img{ transform: scale(1.03); }.elementor .page-template .hero-video{ transform: scale(1.03); }}.elementor .page-template{
      --studio-filter: grayscale(1) contrast(1.17) brightness(.86) sepia(.12) hue-rotate(155deg) saturate(1.45);
      --studio-filter-hover: grayscale(.2) contrast(1.08) brightness(.94) saturate(.78);
    }.elementor .page-template .main-nav > a.btn-primary{ color: var(--white); }.elementor .page-template .proof span{ color: #edf7fb; }.elementor .page-template .problem-card:hover .problem-number,.elementor .page-template .problem-card.is-active .problem-number{ color: var(--white); }.elementor .page-template .hero-media{ background: #071a24; }.elementor .page-template .hero-video{
      filter: var(--studio-filter);
      transform: scale(1.085) translate(calc(var(--mx) * 1px), calc(var(--my) * 1px));
    }.elementor .page-template .hero-media:hover .hero-video{ filter: grayscale(.78) contrast(1.13) brightness(.9) sepia(.08) hue-rotate(155deg) saturate(1.2); }.elementor .page-template .hero-media::before{
      background:
        linear-gradient(180deg, rgba(0,20,32,.02) 36%, rgba(0,59,94,.88) 100%),
        linear-gradient(105deg, rgba(0,79,126,.58), rgba(0,79,126,.04) 58%),
        radial-gradient(circle at 76% 22%, rgba(65,211,49,.13), transparent 21%);
    }.elementor .page-template .hero-satellite img{
      filter: grayscale(.62) contrast(1.12) saturate(.7);
      transition: filter .45s var(--curve), transform .45s var(--curve);
    }.elementor .page-template .hero-satellite:hover img{ filter: grayscale(.05) contrast(1.05) saturate(.9); transform: scale(1.035); }.elementor .page-template .facility-card{ background: #071a24; isolation: isolate; }.elementor .page-template .facility-card::before{
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background: linear-gradient(135deg, rgba(0,79,126,.46), rgba(0,28,44,.08) 58%);
      mix-blend-mode: multiply;
      transition: opacity .55s var(--curve);
    }.elementor .page-template .facility-card::after{ z-index: 2; }.elementor .page-template .facility-card img{
      position: relative;
      z-index: 0;
      filter: var(--studio-filter);
      transition: transform .65s var(--curve), filter .65s var(--curve);
    }.elementor .page-template .facility-card:hover::before{ opacity: .22; }.elementor .page-template .facility-card:hover img{ filter: var(--studio-filter-hover); transform: scale(1.07); }.elementor .page-template .facility-copy{ z-index: 3; }.elementor .page-template .case-visual{ background: #dbe8ee; border-radius: 48% 4px 48% 4px / 16% 4px 16% 4px; }.elementor .page-template .case-visual img{
      filter: var(--studio-filter);
      transition: filter .65s var(--curve), transform .65s var(--curve);
    }.elementor .page-template .case-visual:hover img{ filter: var(--studio-filter-hover); transform: scale(1.018); }.elementor .page-template .case-badge{ box-shadow: 0 18px 35px rgba(0,79,126,.2); }@media (max-width: 1024px){.elementor .page-template .hero-grid{ grid-template-columns: 1fr; }.elementor .page-template .hero-copy{
        width: min(780px, 100%);
        padding: clamp(3.5rem, 8vw, 5.5rem) var(--pad);
      }.elementor .page-template .hero-copy h1{ max-width: 12ch; }.elementor .page-template .hero-media{
        margin: 0;
        min-height: 500px;
        max-width: 100%;
        border-radius: 42% 42% 0 0 / 10% 10% 0 0;
        box-shadow: 0 -18px 0 rgba(0,119,188,.08);
      }.elementor .page-template .hero-video{ min-height: 500px; object-position: 48% 44%; }.elementor .page-template .hero-satellite.s2{ display: none; }.elementor .page-template .hero::before{ left: 24%; top: 5%; }.elementor .page-template .hero::after{ left: 36%; top: 12%; }}@media (max-width: 767px){.elementor .page-template{ --pad: 1.25rem; --section: clamp(3.8rem, 13vw, 5rem); }.elementor .page-template .hero-copy{ padding-top: 3.5rem; padding-bottom: 3rem; }.elementor .page-template .hero-copy h1{ max-width: 10.8ch; }.elementor .page-template .hero-media,.elementor .page-template .hero-video{ min-height: 410px; }.elementor .page-template .hero-media{ border-radius: 38% 38% 0 0 / 8% 8% 0 0; }.elementor .page-template .hero-video{ object-position: 44% center; }.elementor .page-template .hero-caption{ padding-right: 1.1rem; }.elementor .page-template .facility-card:hover img,.elementor .page-template .case-visual:hover img{ filter: var(--studio-filter); transform: scale(1.015); }.elementor .page-template .case-visual{ width: 92%; }.elementor .page-template .case-badge{ right: -8%; max-width: 150px; }.elementor .page-template .section-head{ margin-bottom: 2rem; }}@media (max-width: 460px){.elementor .page-template .hero-copy{ padding-top: 3rem; }.elementor .page-template .hero-media,.elementor .page-template .hero-video{ min-height: 350px; }.elementor .page-template .hero-satellite.s1{ width: 72px; height: 72px; }.elementor .page-template .video-toggle{ top: 16px; right: 16px; }.elementor .page-template .hero-caption{ width: 100%; }.elementor .page-template .facility-card{ min-height: 340px; }.elementor .page-template .facility-card.small{ min-height: 245px; }}.elementor .page-template .header-inner{
      min-height: 108px;
      padding-block: 13px;
    }.elementor .page-template .header-inner > a:first-child{
      display: inline-flex;
      align-items: center;
      align-self: stretch;
      padding: var(--space-xs) 0;
    }.elementor .page-template .logo{ width: 158px; }.elementor .page-template .main-nav > a:not(.btn){ position: relative; }.elementor .page-template .main-nav > a:not(.btn)::after{
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -9px;
      height: 3px;
      border-radius: 999px;
      background: var(--green);
      transition: right .35s var(--curve);
    }.elementor .page-template .main-nav > a:not(.btn):hover::after{ right: 0; }.elementor .page-template .hero-copy .lead{
      padding-left: 1.1rem;
      border-left: 3px solid var(--green);
    }.elementor .page-template .hero-media::before{
      background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 58px 58px,
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 58px 58px,
        linear-gradient(180deg, rgba(0,20,32,.02) 36%, rgba(0,59,94,.9) 100%),
        linear-gradient(105deg, rgba(0,79,126,.6), rgba(0,79,126,.04) 58%),
        radial-gradient(circle at 76% 22%, rgba(65,211,49,.14), transparent 21%);
    }.elementor .page-template .hero-caption{
      background: rgba(0,119,188,.9);
      backdrop-filter: blur(var(--space-sm));
    }.elementor .page-template .section-head{ position: relative; }.elementor .page-template .expertise-grid{ counter-reset: expertise-card; }.elementor .page-template .expertise-card{ position: relative; overflow: hidden; counter-increment: expertise-card; }.elementor .page-template .expertise-card::before{
      content: "0" counter(expertise-card);
      position: absolute;
      right: 18px;
      top: 10px;
      color: rgba(0,119,188,.075);
      font-family:var(--font-heading),sans-serif;
      font-size: 4.7rem;
      font-weight: 900;
      line-height: 1;
      letter-spacing: -.08em;
      pointer-events: none;
      transition: color .35s ease, transform .45s var(--curve);
    }.elementor .page-template .expertise-card:hover::before{ color: rgba(65,211,49,.18); transform: translate(-5px, 5px); }.elementor .page-template .expertise-card > *{ position: relative; z-index: 1; }@media (min-width: 1025px){.elementor .page-template .hero-grid{
        grid-template-columns: max(520px, calc((100vw - var(--max)) / 2 + 610px)) minmax(0, 1fr);
      }.elementor .page-template .hero-copy{
        padding-left: max(var(--pad), calc((100vw - var(--max)) / 2));
        padding-right: clamp(2.5rem, 5vw, 6rem);
      }.elementor .page-template .hero-copy > *{ width: min(100%, 610px); }.elementor .page-template .section-head::before{
        content: "";
        position: absolute;
        left: -24px;
        top: 4px;
        width: 3px;
        height: 42px;
        border-radius: 999px;
        background: linear-gradient(var(--green) 0 34%, var(--blue) 34% 100%);
      }}@media (max-width: 1024px){.elementor .page-template .header-inner{ min-height: 94px; padding-block: 9px; }.elementor .page-template .logo{ width: 148px; }}@media (max-width: 767px){.elementor .page-template .header-inner{ min-height: 84px; padding-block: 7px; }.elementor .page-template .header-inner > a:first-child{ padding-block: 5px; }.elementor .page-template .logo{ width: 136px; }.elementor .page-template .hero-copy .lead{ padding-left: .9rem; }.elementor .page-template .expertise-card::before{ font-size: 4rem; }}@media (max-width: 460px){.elementor .page-template .header-inner{ min-height: 78px; }.elementor .page-template .logo{ width: 128px; }}.elementor .page-template .resource-grid{ align-items: stretch; }.elementor .page-template .resource{
      min-height: 500px;
      padding: 0;
      overflow: hidden;
      isolation: isolate;
    }.elementor .page-template .resource-media{
      position: relative;
      flex: 0 0 205px;
      min-height: 205px;
      margin: 0;
      overflow: hidden;
      background: #071a24;
    }.elementor .page-template .resource-media::after{
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(0,79,126,.06), rgba(0,79,126,.48)),
        linear-gradient(90deg, rgba(0,79,126,.28), transparent 58%);
      mix-blend-mode: multiply;
      transition: opacity .55s var(--curve);
    }.elementor .page-template .resource-media img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: var(--studio-filter);
      transform: scale(1.02);
      transition: filter .65s var(--curve), transform .65s var(--curve);
    }.elementor .page-template .resource:first-child .resource-media{ flex-basis: 235px; min-height: 235px; }.elementor .page-template .resource:first-child .resource-media img{ object-position: center 42%; }.elementor .page-template .resource:nth-child(2) .resource-media img{ object-position: center 38%; }.elementor .page-template .resource:nth-child(3) .resource-media img{ object-position: center; }.elementor .page-template .resource:hover .resource-media::after{ opacity: .26; }.elementor .page-template .resource:hover .resource-media img{ filter: var(--studio-filter-hover); transform: scale(1.07); }.elementor .page-template .resource-body{
      display: flex;
      flex: 1 1 auto;
      flex-direction: column;
      padding: 1.5rem 1.6rem 1.65rem;
    }.elementor .page-template .resource .meta{ margin-bottom: 1rem; }.elementor .page-template .resource-body p{ margin-bottom: 1.25rem; }.elementor .page-template .resource-footer{ display: flex; justify-content: flex-end; margin-top: 1.7rem; }@media (max-width: 1024px){.elementor .page-template .resource{ min-height: 480px; }.elementor .page-template .resource:first-child .resource-media,.elementor .page-template .resource-media{ flex-basis: 220px; min-height: 220px; }}@media (max-width: 767px){.elementor .page-template .resource{ min-height: 0; }.elementor .page-template .resource:first-child .resource-media,.elementor .page-template .resource-media{ flex-basis: 215px; min-height: 215px; }.elementor .page-template .resource:hover .resource-media img{ filter: var(--studio-filter); transform: scale(1.02); }.elementor .page-template .resource-footer{ justify-content: stretch; }.elementor .page-template .resource-footer .btn{ width: 100%; }}.elementor .page-template .manifesto-header{
      position: absolute;
      inset: 0 0 auto;
      z-index: 40;
      border: 0;
      background: transparent;
      box-shadow: none;
    }.elementor .page-template .manifesto-nav{
      width: min(1520px, calc(100% - 40px));
      margin-inline: auto;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      align-items: start;
      gap: 24px;
    }.elementor .page-template .manifesto-brand{
      display: grid;
      place-items: center;
      width: 216px;
      min-height: 158px;
      padding: 30px 27px 26px;
      border-radius: 0 0 38px 38px;
      background: var(--white);
      box-shadow: 0 24px 70px rgba(0,0,0,.24);
    }.elementor .page-template .manifesto-header .logo{ width: 164px; }.elementor .page-template .manifesto-nav-panel{
      min-height: 72px;
      margin-top: 25px;
      padding: 10px 11px 10px 24px;
      display: flex;
      align-items: center;
      gap: clamp(.8rem, 1.45vw, 1.5rem);
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 999px;
      color: var(--white);
      background: rgba(7,26,36,.68);
      box-shadow: 0 18px 50px rgba(0,0,0,.18);
      backdrop-filter: blur(18px);
    }.elementor .page-template .manifesto-nav-panel > p{
      margin: 0 auto 0 0;
      color: rgba(255,255,255,.62);
      font-size: .68rem;
      font-weight: 800;
      letter-spacing: .09em;
      text-transform: uppercase;
      white-space: nowrap;
    }.elementor .page-template .manifesto-header .main-nav{ display: flex; margin: 0; gap: .35rem; }.elementor .page-template .manifesto-header .nav-item{
      position: relative;
      display: flex;
      align-items: center;
      border-radius: 999px;
    }.elementor .page-template .manifesto-header .nav-item > a{
      position: relative;
      padding: .75rem .32rem .75rem .72rem;
      color: var(--white);
      font-size: .82rem;
      font-weight: 800;
      letter-spacing: .02em;
      text-decoration: none;
    }.elementor .page-template .manifesto-header .nav-item > a::after{ display: none; }.elementor .page-template .submenu-toggle{
      width: 30px;
      height: 30px;
      margin-right: .25rem;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      border: 0;
      border-radius: 50%;
      color: rgba(255,255,255,.72);
      background: transparent;
      cursor: pointer;
      transition: color .25s ease, background .25s ease, transform .25s ease;
    }.elementor .page-template .submenu-toggle::before{
      content: "";
      width: 7px;
      height: 7px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: translateY(-2px) rotate(45deg);
      transition: transform .3s var(--curve);
    }.elementor .page-template .nav-item:hover,.elementor .page-template .nav-item:focus-within,.elementor .page-template .nav-item.is-open{ background: rgba(255,255,255,.09); }.elementor .page-template .nav-item:hover .submenu-toggle,.elementor .page-template .nav-item:focus-within .submenu-toggle,.elementor .page-template .nav-item.is-open .submenu-toggle{ color: var(--green); background: rgba(255,255,255,.08); }.elementor .page-template .nav-item.is-open .submenu-toggle::before{ transform: translateY(2px) rotate(225deg); }.elementor .page-template .submenu{
      position: absolute;
      z-index: 55;
      left: -.7rem;
      top: calc(100% + var(--space-md));
      width: min(390px, 72vw);
      padding: 1.35rem;
      display: grid;
      grid-template-columns: 1fr;
      gap: 2px;
      border: 1px solid rgba(0,79,126,.13);
      border-radius: 4px 30px 4px 30px;
      color: var(--ink);
      background: rgba(250,252,253,.98);
      box-shadow: 0 30px 80px rgba(0,0,0,.27);
      backdrop-filter: blur(18px);
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px) scale(.98);
      transform-origin: top left;
      pointer-events: none;
      transition: opacity .22s ease, visibility .22s ease, transform .3s var(--curve);
    }.elementor .page-template .submenu::before{
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -22px;
      height: 24px;
    }.elementor .page-template .submenu.is-wide{ width: min(560px, 82vw); grid-template-columns: repeat(2, minmax(0,1fr)); }.elementor .page-template .submenu-intro{
      grid-column: 1 / -1;
      margin: 0 0 .7rem;
      padding: 0 .75rem .95rem;
      border-bottom: 1px solid #dce4e8;
      color: #68757c;
      font-size: .72rem;
      line-height: 1.5;
    }.elementor .page-template .submenu a{
      min-width: 0;
      padding: .78rem .8rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: .8rem;
      border-radius: 3px 15px 3px 15px;
      color: var(--ink);
      font-size: .78rem;
      font-weight: 800;
      line-height: 1.25;
      text-decoration: none;
      transition: color .2s ease, background .2s ease, padding .25s var(--curve);
    }.elementor .page-template .submenu a::after{ content: "↗"; color: var(--blue); font-size: .9rem; }.elementor .page-template .submenu a:hover,.elementor .page-template .submenu a:focus-visible{ padding-left: 1rem; color: var(--blue-dark); background: var(--blue-pale); }@media (min-width: 1051px){.elementor .page-template .nav-item:hover > .submenu,.elementor .page-template .nav-item:focus-within > .submenu,.elementor .page-template .nav-item.is-open > .submenu{
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;
      }}.elementor .page-template .manifesto-phone{
      color: var(--white);
      font-size: .75rem;
      font-weight: 900;
      text-decoration: none;
      white-space: nowrap;
    }.elementor .page-template .manifesto-header-cta{
      min-height: 44px;
      padding-inline: 1rem;
      color: var(--ink);
      background: var(--green);
      white-space: nowrap;
    }.elementor .page-template .manifesto-header-cta:hover{ color: var(--ink); background: #72ec63; }.elementor .page-template .manifesto-hero{
      position: relative;
      min-height: max(780px, 100svh);
      overflow: hidden;
      color: var(--white);
      background: #05141c;
    }.elementor .page-template .manifesto-hero::before,.elementor .page-template .manifesto-hero::after,.elementor .page-template .manifesto-media::before,.elementor .page-template .manifesto-media::after{ display: none; }.elementor .page-template .hero-media.manifesto-media{
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      max-width: none;
      min-height: 100%;
      margin: 0;
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
    }.elementor .page-template .manifesto-media .hero-video{
      width: 100%;
      height: 100%;
      min-height: 100%;
      object-fit: cover;
      object-position: center 42%;
      filter: grayscale(1) contrast(1.16) brightness(.48);
      transform: scale(1.055) translate(calc(var(--mx) * .35px), calc(var(--my) * .35px));
      transition: transform .8s var(--curve), filter .8s ease;
    }.elementor .page-template .manifesto-media:hover .hero-video{ filter: grayscale(1) contrast(1.16) brightness(.5); }.elementor .page-template .manifesto-video-wash{
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(90deg, rgba(2,13,19,.96) 0%, rgba(2,13,19,.78) 43%, rgba(0,79,126,.26) 72%, rgba(0,20,32,.42) 100%),
        linear-gradient(180deg, rgba(0,0,0,.15), transparent 50%, rgba(0,20,32,.7));
    }.elementor .page-template .manifesto-video-wash::after{
      content: "";
      position: absolute;
      inset: 0;
      opacity: .45;
      background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 72px 72px,
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 72px 72px;
      mask-image: linear-gradient(90deg, transparent 12%, #000 48%, #000);
    }.elementor .page-template .manifesto-orbits{ position: absolute; inset: 0; z-index: 2; pointer-events: none; }.elementor .page-template .manifesto-orbits .manifesto-orbit{
      position: absolute;
      right: -9vw;
      top: 12%;
      width: min(58vw, 980px);
      height: min(22vw, 350px);
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 50%;
      transform: rotate(-14deg);
      animation: manifesto-orbit 16s ease-in-out infinite alternate;
    }.elementor .page-template .manifesto-orbits .manifesto-orbit:nth-child(2){
      right: -2vw;
      top: 25%;
      width: min(49vw, 820px);
      height: min(18vw, 285px);
      border-color: rgba(65,211,49,.32);
      transform: rotate(12deg);
      animation-duration: 20s;
      animation-direction: alternate-reverse;
    }.elementor .page-template .manifesto-orbits i,.elementor .page-template .manifesto-orbits b{
      position: absolute;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 var(--space-sm) rgba(65,211,49,.12), 0 0 35px rgba(65,211,49,.4);
      animation: atom-pulse 3.6s ease-in-out infinite;
    }.elementor .page-template .manifesto-orbits i{ width: 10px; height: 10px; right: 19%; top: 26%; }.elementor .page-template .manifesto-orbits b{ width: 6px; height: 6px; right: 8%; top: 53%; background: #8bddeb; animation-delay: -1.8s; }.elementor .page-template .manifesto-content{
      position: relative;
      z-index: 4;
      width: min(1480px, calc(100% - 48px));
      min-height: max(780px, 100svh);
      margin-inline: auto;
      padding: clamp(190px, 18vh, 240px) 0 190px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 255px;
      align-items: center;
      gap: clamp(3rem, 8vw, 8rem);
    }.elementor .page-template .manifesto-copy{ max-width: 1020px; }.elementor .page-template .manifesto-kicker{
      display: flex;
      align-items: center;
      gap: .85rem;
      margin: 0 0 1.5rem;
      color: #b7d9e8;
      font-size: .76rem;
      font-weight: 900;
      letter-spacing: .14em;
      text-transform: uppercase;
      animation: manifesto-rise .8s var(--curve) both;
    }.elementor .page-template .manifesto-kicker span{ display: grid; place-items: center; width: 34px; height: 34px; color: var(--ink); background: var(--green); border-radius: 50%; letter-spacing: 0; }.elementor .page-template .manifesto-copy h1{
      max-width: 100%;
      margin: 0 0 1.45rem;
      color: var(--white);
      font-size: clamp(4.1rem, 6.7vw, 4.5rem);
      line-height: 1.2;
      letter-spacing: -.065em;
      text-wrap: balance;
      animation: manifesto-rise .9s var(--curve) .08s both;
    }.elementor .page-template .manifesto-outline{
      display: inline-block;
      color: rgba(255,255,255,.78);
      font-family:var(--font-heading),sans-serif;
      font-size: .86em;
      font-weight: 600;
      line-height: .9;
      letter-spacing: -.045em;
      vertical-align: .035em;
      -webkit-text-stroke: 0;
      text-stroke: 0;
      paint-order: normal;
    }.elementor .page-template .manifesto-accent{ color: #21aee0; }.elementor .page-template .manifesto-lead{
      max-width: 650px;
      margin: 0 0 2rem;
      padding-left: 1.2rem;
      border-left: 3px solid var(--green);
      color: rgba(255,255,255,.76);
      font-size: clamp(1rem, 1.35vw, 1.18rem);
      animation: manifesto-rise .9s var(--curve) .16s both;
    }.elementor .page-template .manifesto-actions{ display: flex; align-items: center; flex-wrap: wrap; gap: 1.15rem; animation: manifesto-rise .9s var(--curve) .24s both; }.elementor .page-template .manifesto-primary{ min-height: var(--space-xl); color: var(--ink); background: var(--green); }.elementor .page-template .manifesto-primary:hover{ color: var(--ink); background: #72ec63; }.elementor .page-template .manifesto-link{ padding: .8rem .25rem; color: var(--white); font-size: .88rem; font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.42); }.elementor .page-template .manifesto-link:hover{ border-color: var(--green); }.elementor .page-template .manifesto-index{
      align-self: center;
      padding: 1.3rem 1.2rem 1.45rem;
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 4px var(--space-lg) 4px var(--space-lg);
      background: rgba(7,26,36,.43);
      backdrop-filter: blur(14px);
    }.elementor .page-template .manifesto-index > p{ margin-bottom: 1.5rem; color: rgba(255,255,255,.56); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.elementor .page-template .manifesto-index ol{ display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }.elementor .page-template .manifesto-index li{ display: flex; align-items: center; gap: .8rem; padding: .75rem 0; border-top: 1px solid rgba(255,255,255,.13); color: var(--white); font-size: .82rem; font-weight: 800; }.elementor .page-template .manifesto-index li span{ color: var(--green); font-size: .65rem; }.elementor .page-template .manifesto-proof{
      position: absolute;
      z-index: 5;
      left: 50%;
      bottom: 0;
      width: min(1480px, calc(100% - 48px));
      min-height: 112px;
      transform: translateX(-50%);
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
      border: 1px solid rgba(255,255,255,.25);
      border-bottom: none;
      background: linear-gradient(90deg, rgba(0,79,126,.44), rgba(7,26,36,.46));
      backdrop-filter: blur(16px);
    }.elementor .page-template .manifesto-proof > div{ padding: 1.15rem 1.3rem; border-right: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; justify-content: center; }.elementor .page-template .manifesto-proof strong{ color: var(--white); font-family:var(--font-heading),sans-serif; font-size: 1rem; }.elementor .page-template .manifesto-proof span{ color: rgba(255,255,255,.62); font-size: .67rem; }.elementor .page-template .manifesto-proof > p{ min-width: 125px; margin: 0; display: grid; place-items: center; color: var(--white); font-size: .67rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.elementor .page-template .manifesto-media .video-toggle{ top: auto; right: 28px; bottom: 136px; z-index: 7; }.elementor .page-template .manifesto-hero + .capability-rail{ margin-top: -1px; }@keyframes manifesto-rise{ from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: translateY(0); } }@keyframes manifesto-orbit{ from { transform: rotate(-14deg) translate3d(0,0,0); } to { transform: rotate(-8deg) translate3d(-35px,28px,0); } }@media (max-width: 1200px){.elementor .page-template .manifesto-nav-panel > p{ display: none; }.elementor .page-template .manifesto-phone{ margin-left: auto; }.elementor .page-template .manifesto-copy h1{ font-size: clamp(4rem, 7.6vw, 6.1rem); }}@media (max-width: 1050px){.elementor .page-template .manifesto-nav{ width: min(100% - var(--space-lg), 960px); }.elementor .page-template .manifesto-brand{ width: 170px; min-height: 126px; padding: 23px 22px var(--space-md); }.elementor .page-template .manifesto-header .logo{ width: 132px; }.elementor .page-template .manifesto-header .main-nav{ display: none; }.elementor .page-template .manifesto-header .main-nav.is-open{
        display: flex;
        top: calc(100% + 10px);
        left: 0;
        right: 0;
        padding: 1.2rem;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 22px;
        background: rgba(7,26,36,.96);
      }.elementor .page-template .manifesto-header .main-nav.is-open{ max-height: min(74vh, 660px); overflow-y: auto; }.elementor .page-template .manifesto-header .nav-item{ width: 100%; flex-wrap: wrap; border-radius: var(--space-sm); }.elementor .page-template .manifesto-header .nav-item > a{ flex: 1 1 auto; padding: .85rem .5rem .85rem .7rem; }.elementor .page-template .manifesto-header .submenu-toggle{ margin-left: auto; margin-right: .25rem; }.elementor .page-template .manifesto-header .submenu{
        position: static;
        width: 100%;
        max-height: 0;
        padding: 0 1rem;
        display: grid;
        grid-template-columns: 1fr;
        overflow: hidden;
        border: 0;
        border-radius: 0 0 14px 14px;
        background: rgba(255,255,255,.07);
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        transform: none;
        transition: max-height .35s var(--curve), padding .3s ease, opacity .2s ease;
      }.elementor .page-template .manifesto-header .nav-item.is-open > .submenu{
        max-height: 520px;
        padding: .65rem;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
      }.elementor .page-template .manifesto-header .submenu::before,.elementor .page-template .manifesto-header .submenu-intro{ display: none; }.elementor .page-template .manifesto-header .submenu a{ color: rgba(255,255,255,.9); }.elementor .page-template .manifesto-header .submenu a::after{ color: var(--green); }.elementor .page-template .manifesto-header .submenu a:hover,.elementor .page-template .manifesto-header .submenu a:focus-visible{ color: var(--white); background: rgba(255,255,255,.08); }.elementor .page-template .manifesto-header .menu-toggle{ display: inline-flex !important; color: var(--white); border-color: rgba(255,255,255,.35); }.elementor .page-template .manifesto-nav-panel{ position: relative; }.elementor .page-template .manifesto-content{ width: min(100% - 40px, 960px); grid-template-columns: 1fr; }.elementor .page-template .manifesto-index{ display: none; }.elementor .page-template .manifesto-copy h1{ max-width: 12ch; }}@media (max-width: 767px){.elementor .page-template .manifesto-nav{ width: calc(100% - 24px); grid-template-columns: 126px minmax(0,1fr); gap: 10px; }.elementor .page-template .manifesto-brand{ width: 126px; min-height: 102px; padding: 16px 14px; border-radius: 0 0 24px 24px; }.elementor .page-template .manifesto-header .logo{ width: 104px; }.elementor .page-template .manifesto-nav-panel{ min-height: 52px; margin-top: var(--space-sm); padding: 6px 7px 6px var(--space-sm); gap: .6rem; }.elementor .page-template .manifesto-phone,.elementor .page-template .manifesto-header-cta{ display: none; }.elementor .page-template .manifesto-nav-panel .menu-toggle{ margin-left: auto; }.elementor .page-template .manifesto-hero{ min-height: 820px; }.elementor .page-template .manifesto-content{
        width: calc(100% - 40px);
        min-height: 820px;
        padding: 142px 0 235px;
        align-items: center;
      }.elementor .page-template .manifesto-copy h1{ max-width: 10ch; font-size: clamp(2.8rem, 11.6vw, 3.65rem); line-height: .92; }.elementor .page-template .manifesto-outline{ display: block; width: max-content; max-width: 100%; }.elementor .page-template .manifesto-kicker{ font-size: .62rem; letter-spacing: .1em; }.elementor .page-template .manifesto-kicker span{ width: 30px; height: 30px; }.elementor .page-template .manifesto-lead{ font-size: .94rem; }.elementor .page-template .manifesto-actions{ align-items: stretch; flex-direction: column; }.elementor .page-template .manifesto-actions .btn{ width: 100%; }.elementor .page-template .manifesto-link{ width: max-content; }.elementor .page-template .manifesto-proof{
        width: 100%;
        min-height: 190px;
        grid-template-columns: repeat(2, minmax(0,1fr));
        background: rgba(0,79,126,.65);
      }.elementor .page-template .manifesto-proof > div{ min-height: 82px; padding: .85rem 1rem; border-bottom: 1px solid rgba(255,255,255,.16); }.elementor .page-template .manifesto-proof > p{ display: none; }.elementor .page-template .manifesto-media .video-toggle{ right: 14px; bottom: 208px; }.elementor .page-template .manifesto-orbits .manifesto-orbit{ width: 530px; height: 180px; right: -250px; top: 24%; }.elementor .page-template .manifesto-orbits .manifesto-orbit:nth-child(2){ width: 430px; height: 140px; right: -190px; top: 32%; }}@media (prefers-reduced-motion: reduce){.elementor .page-template .manifesto-kicker,.elementor .page-template .manifesto-copy h1,.elementor .page-template .manifesto-lead,.elementor .page-template .manifesto-actions,.elementor .page-template .manifesto-orbits .manifesto-orbit{ animation: none !important; }}.elementor .page-template .manifesto-header,.elementor .page-template .manifesto-brand,.elementor .page-template .manifesto-brand .logo,.elementor .page-template .manifesto-nav-panel{ transition: min-height .35s var(--curve), width .35s var(--curve), padding .35s var(--curve), margin .35s var(--curve), border-radius .35s var(--curve), background .35s ease; }.elementor .page-template .manifesto-header{ position: fixed; }.elementor .page-template .manifesto-header.is-scrolled .manifesto-brand{ width: 158px; min-height: 92px; padding: 16px 19px 14px; border-radius: 0 0 26px 26px; }.elementor .page-template .manifesto-header.is-scrolled .manifesto-brand .logo{ width: 120px; }.elementor .page-template .manifesto-header.is-scrolled .manifesto-nav-panel{ min-height: 64px; margin-top: 10px; background: rgba(7,26,36,.93); }.elementor .page-template .capability-rail{
      background: var(--green);
      border-block: 1px solid rgba(40,40,40,.28);
      box-shadow: none;
    }.elementor .page-template .rail-track{ padding-block: .9rem; }.elementor .page-template .rail-group span{ font-size: .76rem; letter-spacing: .16em; }.elementor .page-template .problems,.elementor .page-template .capability-rail + .problems{
      position: relative;
      margin: 0;
      padding: clamp(6rem, 9vw, 9rem) 0;
      border-radius: 0;
      overflow: hidden;
      background:
        linear-gradient(rgba(0,119,188,.04) 1px, transparent 1px) 0 0 / 84px 84px,
        linear-gradient(90deg, rgba(0,119,188,.04) 1px, transparent 1px) 0 0 / 84px 84px,
        #f3f6f8;
    }.elementor .page-template .problems::after{
      content: "01";
      position: absolute;
      right: -1vw;
      top: 1.3rem;
      color: rgba(0,119,188,.055);
      font-family:var(--font-heading),sans-serif;
      font-size: clamp(10rem, 24vw, 26rem);
      font-weight: 900;
      line-height: .8;
      letter-spacing: -.1em;
      pointer-events: none;
    }.elementor .page-template .problems .shell{ position: relative; z-index: 1; }.elementor .page-template .problems .section-head{ grid-template-columns: 1.15fr .68fr; margin-bottom: 3.5rem; }.elementor .page-template .problems .section-head h2,.elementor .page-template .expertises .section-head h2,.elementor .page-template .method .section-head h2,.elementor .page-template .facilities .section-head h2,.elementor .page-template .resources .section-head h2{
      max-width: 15ch;
      font-size: clamp(2.7rem, 4.7vw, 5.2rem);
      line-height: .98;
      letter-spacing: -.055em;
    }.elementor .page-template .problem-grid{
      gap: 1px;
      border: 1px solid #cbd7de;
      background: #cbd7de;
    }.elementor .page-template .problem-card{
      min-height: 315px;
      padding: 2rem;
      border: 0;
      border-radius: 0;
      background: rgba(255,255,255,.94);
      transition: color .4s ease, background .4s ease, transform .4s var(--curve), box-shadow .4s var(--curve);
    }.elementor .page-template .problem-card::after{ width: 190px; height: 95px; right: -145px; top: -38px; }.elementor .page-template .problem-card:hover{ z-index: 2; transform: translateY(-var(--space-xs)); box-shadow: 0 30px 70px rgba(0,35,53,.16); }.elementor .page-template .problem-card.is-active{ background: linear-gradient(145deg, var(--color-ink), #0b3448); }.elementor .page-template .problem-number{
      margin-bottom: 2.2rem;
      color: rgba(0,119,188,.42);
      font-family:var(--font-heading),sans-serif;
      font-size: 3rem;
      font-weight: 900;
      line-height: 1;
      letter-spacing: -.08em;
    }.elementor .page-template .problem-card.is-active .problem-number{ color: var(--green); }.elementor .page-template .problem-card h3{ max-width: 18ch; font-size: 1.32rem; }.elementor .page-template .problem-card.is-active h3{ color: var(--white); }.elementor .page-template .orientation{
      margin-top: var(--space-md);
      padding: 1.35rem 1.5rem;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 4px 30px 4px 30px;
      color: var(--white);
      background: var(--color-ink);
      box-shadow: inset 5px 0 0 var(--green), 0 18px 45px rgba(0,35,53,.12);
    }.elementor .page-template .orientation strong{ color: var(--white); }.elementor .page-template .orientation p{ color: rgba(255,255,255,.62); }.elementor .page-template .orientation .btn{ min-height: auto; color: var(--ink); background: var(--green); }.elementor .page-template .expertises{
      position: relative;
      padding: clamp(6.5rem, 9vw, 9.5rem) 0;
      color: var(--white);
      background:
        radial-gradient(circle at 85% 20%, rgba(0,119,188,.23), transparent 28%),
        var(--color-ink);
    }.elementor .page-template .expertises::before{
      width: 850px;
      height: 280px;
      right: -220px;
      top: 2%;
      border-color: rgba(255,255,255,.12);
    }.elementor .page-template .expertises .section-head h2,.elementor .page-template .expertises .expertise-card h3{ color: var(--white); }.elementor .page-template .expertises .eyebrow{ color: var(--green); }.elementor .page-template .expertises .lead{ color: rgba(255,255,255,.6); }.elementor .page-template .expertise-grid{ gap: 1px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.16); }.elementor .page-template .expertise-card{
      min-height: 410px;
      padding: 2.15rem;
      border: 0;
      border-radius: 0;
      color: var(--white);
      background: rgba(7,26,36,.78);
    }.elementor .page-template .expertise-card::before{ top: 18px; right: 22px; color: rgba(255,255,255,.07); font-size: 6rem; }.elementor .page-template .expertise-card .tag{ width: 54px; background: var(--green); }.elementor .page-template .expertise-card p{ color: rgba(255,255,255,.58); }.elementor .page-template .expertise-card a{ color: #8bddeb; }.elementor .page-template .expertise-card:hover{ color: var(--ink); background: var(--green); box-shadow: none; }.elementor .page-template .expertise-card:hover h3,.elementor .page-template .expertise-card:hover p,.elementor .page-template .expertise-card:hover a{ color: var(--ink); }.elementor .page-template .expertise-card:hover .tag{ background: var(--ink); }.elementor .page-template .method{
      padding: clamp(6.5rem, 9vw, 9rem) 0;
      border-radius: 0;
      color: var(--ink);
      background: var(--white);
    }.elementor .page-template .method::before,.elementor .page-template .method::after{ display: none; }.elementor .page-template .method .eyebrow.on-dark{ color: var(--blue); }.elementor .page-template .method h2{ max-width: 14ch; color: var(--ink); }.elementor .page-template .method .lead{ color: var(--muted); }.elementor .page-template .method-steps::before{ border-color: rgba(0,119,188,.38); }.elementor .page-template .step-num{
      color: var(--blue);
      background: var(--white);
      border: 1px solid rgba(0,119,188,.5);
      box-shadow: 0 0 0 9px rgba(0,119,188,.06);
    }.elementor .page-template .step h3{ color: var(--ink); }.elementor .page-template .step p{ color: var(--muted); }.elementor .page-template .step:last-child .step-num{ color: var(--ink); background: var(--green); border-color: var(--green); }.elementor .page-template .facilities{
      position: relative;
      padding: clamp(6.5rem, 9vw, 9.5rem) 0;
      overflow: hidden;
      color: var(--white);
      background: #071a24;
    }.elementor .page-template .facilities::before{
      content: "";
      position: absolute;
      width: 900px;
      height: 270px;
      left: -250px;
      top: 3%;
      border: 1px solid rgba(65,211,49,.18);
      border-radius: 50%;
      transform: rotate(12deg);
    }.elementor .page-template .facilities .shell{ position: relative; z-index: 1; }.elementor .page-template .facilities .section-head h2{ color: var(--white); }.elementor .page-template .facilities .eyebrow{ color: var(--green); }.elementor .page-template .facilities .lead{ color: rgba(255,255,255,.58); }.elementor .page-template .facility-grid{ grid-template-columns: 1.3fr .7fr; gap: var(--space-sm); }.elementor .page-template .facility-stack{ gap: var(--space-sm); }.elementor .page-template .facility-card{ min-height: 620px; border: 1px solid rgba(255,255,255,.14); border-radius: 4px 72px 4px 72px; }.elementor .page-template .facility-card.small{ min-height: 304px; border-radius: 42px 4px 42px 4px; }.elementor .page-template .facility-copy{ padding: 2rem; }.elementor .page-template .facility-copy h3{ font-size: 1.4rem; }.elementor .page-template .case-study{
      position: relative;
      padding: clamp(7rem, 10vw, 10rem) 0;
      border-radius: 0;
      overflow: hidden;
      background:
        linear-gradient(rgba(0,79,126,.045) 1px, transparent 1px) 0 0 / 82px 82px,
        #edf6f9;
    }.elementor .page-template .case-study::before{
      content: "CASE / 01";
      width: auto;
      height: auto;
      left: auto;
      right: -1.5vw;
      top: 2.5rem;
      bottom: auto;
      border: 0;
      border-radius: 0;
      color: transparent;
      -webkit-text-stroke: 1px rgba(0,79,126,.09);
      font-family:var(--font-heading),sans-serif;
      font-size: clamp(7rem, 15vw, 15rem);
      font-weight: 900;
      line-height: 1;
      letter-spacing: -.09em;
      transform: none;
      white-space: nowrap;
    }.elementor .page-template .case-study::after{
      content: "";
      position: absolute;
      width: 980px;
      height: 300px;
      right: -320px;
      bottom: -135px;
      border: 1px solid rgba(65,211,49,.38);
      border-radius: 50%;
      transform: rotate(-10deg);
      pointer-events: none;
    }.elementor .page-template .case-study .shell{ position: relative; z-index: 2; }.elementor .page-template .case-intro{
      display: grid;
      grid-template-columns: minmax(0,1.15fr) minmax(300px,.6fr);
      align-items: end;
      gap: clamp(2rem, 8vw, 8rem);
      margin-bottom: clamp(3rem, 5vw, 5rem);
    }.elementor .page-template .case-intro h2{
      max-width: 12ch;
      margin: 0;
      font-size: clamp(3rem, 5.4vw, 5.8rem);
      line-height: .9;
      letter-spacing: -.065em;
    }.elementor .page-template .case-intro .lead{ margin: 0 0 .35rem; font-size: 1rem; line-height: 1.75; }.elementor .page-template .case-project{
      position: relative;
      display: grid;
      grid-template-columns: minmax(0,.75fr) minmax(430px,.94fr);
      min-height: 700px;
      overflow: hidden;
      color: var(--white);
      background: var(--color-ink);
      border: 1px solid rgba(0,79,126,.16);
      border-radius: 4px 82px 4px 82px;
      box-shadow: 0 34px 90px rgba(0,79,126,.18);
    }.elementor .page-template .case-project::after{
      content: "01";
      position: absolute;
      right: -1.5rem;
      bottom: -4.2rem;
      color: transparent;
      -webkit-text-stroke: 1px rgba(255,255,255,.07);
      font-family:var(--font-heading),sans-serif;
      font-size: 19rem;
      font-weight: 900;
      line-height: 1;
      pointer-events: none;
    }.elementor .page-template .case-visual{
      position: relative;
      min-height: 700px;
      overflow: hidden;
      border-radius: 0;
      background: #0d2834;
    }.elementor .page-template .case-visual::before{
      content: "";
      position: absolute;
      z-index: 2;
      inset: 0;
      width: auto;
      height: auto;
      border: 0;
      border-radius: 0;
      background: linear-gradient(180deg, rgba(6,24,33,.04) 36%, rgba(6,24,33,.92) 100%);
      transform: none;
      animation: none;
    }.elementor .page-template .case-visual::after{
      content: "";
      position: absolute;
      z-index: 3;
      width: 660px;
      height: 205px;
      right: -270px;
      top: 7%;
      border: 1px solid rgba(65,211,49,.72);
      border-radius: 50%;
      transform: rotate(-13deg);
      animation: orbit-drift 9s ease-in-out infinite alternate;
    }.elementor .page-template .case-visual img{
      width: 100%;
      height: 100%;
      min-height: 700px;
      aspect-ratio: auto;
      object-fit: cover;
      border-radius: 0;
      filter: grayscale(1) contrast(1.12) brightness(.78);
      transform: scale(1.02);
      transition: filter .7s ease, transform 1s var(--curve);
    }.elementor .page-template .case-project:hover .case-visual img{ filter: grayscale(.82) contrast(1.1) brightness(.82); transform: scale(1.055); }.elementor .page-template .case-project-index{
      position: absolute;
      z-index: 4;
      left: 2rem;
      top: 2rem;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 1rem !important;
      color: var(--white);
      font-size: .7rem;
      font-weight: 900;
      letter-spacing: .13em;
      text-transform: uppercase;
    }.elementor .page-template .case-project-index::before{ content: ""; position: static; width: var(--space-lg); height: 3px; flex: 0 0 auto; background: var(--green); }.elementor .page-template .case-visual-caption{
      position: absolute;
      z-index: 4;
      left: 2rem;
      right: 2rem;
      bottom: 2rem;
      display: grid;
      grid-template-columns: 1fr;
      align-items: end;
      gap: 0;
    }.elementor .page-template .case-visual-caption span{ display: none; }.elementor .page-template .case-visual-caption p{ max-width: 29ch; margin: 0; color: rgba(255,255,255,.82); font-size: .88rem; line-height: 1.55; }.elementor .page-template .case-content{
      position: relative;
      z-index: 2;
      min-width: 0;
      padding: clamp(2.8rem, 5vw, 3.5rem);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }.elementor .page-template .case-content-top{ display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-bottom: 2rem; }.elementor .page-template .case-category,.elementor .page-template .case-confidential{
      padding: .5rem .75rem;
      border-radius: 999px;
      font-size: .64rem;
      font-weight: 900;
      letter-spacing: .1em;
      text-transform: uppercase;
    }.elementor .page-template .case-category{ color: #06200b; background: var(--green); }.elementor .page-template .case-confidential{ color: #b8cbd4; border: 1px solid rgba(255,255,255,.18); }.elementor .page-template .case-content h3{
      max-width: 100%;
      margin: 0 0 1.3rem;
      color: var(--white);
      font-size: clamp(2.4rem, 4vw, 3rem);
      line-height: 1.1;
      letter-spacing: -.06em;
    }.elementor .page-template .case-content > p{ max-width: 52ch; margin: 0; color: #b8cbd4; font-size: .94rem; line-height: 1.7; }.elementor .page-template .case-content > .case-journey-label{ margin: 2rem 0 .8rem; color: var(--green); font-size: .65rem; font-weight: 900; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }.elementor .page-template .case-journey{
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, minmax(0,1fr));
      gap: .6rem;
      margin-bottom: 1.8rem;
    }.elementor .page-template .case-journey::before{
      content: "";
      position: absolute;
      left: 17px;
      right: 17px;
      top: 17px;
      height: 1px;
      background: linear-gradient(90deg, var(--green), var(--blue));
    }.elementor .page-template .case-stage{ position: relative; z-index: 1; min-width: 0; }.elementor .page-template .case-stage span{
      width: 35px;
      height: 35px;
      margin-bottom: .65rem;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255,255,255,.22);
      border-radius: 50%;
      color: var(--white);
      background: var(--color-ink);
      font-size: .67rem;
      font-weight: 900;
    }.elementor .page-template .case-stage:last-child span{ color: #06200b; background: var(--green); border-color: var(--green); }.elementor .page-template .case-stage strong{ display: block; color: var(--white); font-size: .7rem; line-height: 1.3; }.elementor .page-template .case-outcome{
      margin-bottom: 1.8rem;
      padding: 1.15rem 1.25rem;
      display: flex !important;
      flex-direction: column;
      align-items: flex-start !important;
      gap: .4rem !important;
      border-left: 3px solid var(--green);
      background: rgba(255,255,255,.055);
    }.elementor .page-template .case-outcome span{ color: var(--green); font-size: .66rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }.elementor .page-template .case-outcome p{ margin: 0 !important; }.elementor .page-template .case-content .btn{ align-self: flex-start; color: var(--white); border-color: rgba(255,255,255,.48); }.elementor .page-template .case-content .btn:hover{ color: var(--ink); background: var(--green); border-color: var(--green); }.elementor .page-template .resources{
      padding: clamp(6.5rem, 9vw, 9.5rem) 0;
      background: var(--white);
    }.elementor .page-template .resources .section-head{ margin-bottom: 3.2rem; }.elementor .page-template .resource-grid{ grid-template-columns: 1.25fr .875fr .875fr; gap: var(--space-sm); }.elementor .page-template .resource{ border-radius: 4px 48px 4px 48px; box-shadow: inset 0 4px 0 var(--blue); }.elementor .page-template .resource:first-child{ box-shadow: inset 0 4px 0 var(--green); }.elementor .page-template .resource-media{ min-height: 235px; flex-basis: 235px; }.elementor .page-template .resource:first-child .resource-media{ min-height: 265px; flex-basis: 265px; }.elementor .page-template .final-cta{
      min-height: 720px;
      padding: clamp(6.5rem, 10vw, 9rem) 0;
      border-radius: 0;
      display: flex;
      align-items: center;
      overflow: hidden;
      background:
        radial-gradient(circle at 82% 30%, rgba(0,119,188,.42), transparent 29%),
        linear-gradient(118deg, rgba(65,211,49,.045), transparent 45%),
        var(--color-ink);
    }.elementor .page-template .final-cta::before{
      width: 1020px;
      height: 340px;
      right: -250px;
      top: 8%;
      border-color: rgba(65,211,49,.3);
      transform: rotate(-12deg);
    }.elementor .page-template .final-cta::after{
      content: "PARLONSA MATIÈRE";
      width: auto;
      height: auto;
      right: -1vw;
      top: 50%;
      border: 0;
      border-radius: 0;
      transform: translateY(-50%);
      white-space: pre;
      color: transparent;
      -webkit-text-stroke: 1px rgba(255,255,255,.075);
      font-family:var(--font-heading),sans-serif;
      font-size: clamp(6rem, 12vw, 12rem);
      font-weight: 900;
      line-height: .72;
      letter-spacing: -.08em;
      text-align: right;
    }.elementor .page-template .final-cta-layout{
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr);
      gap: clamp(3rem, 7vw, 7.5rem);
      align-items: center;
    }.elementor .page-template .final-cta-copy{ min-width: 0; }.elementor .page-template .final-cta-index{
      display: flex;
      align-items: center;
      gap: .9rem;
      margin: 0 0 2rem;
      color: #c9d8df;
      font-size: .76rem;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }.elementor .page-template .final-cta-index span{
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      border: 1px solid rgba(65,211,49,.55);
      border-radius: 50%;
      color: var(--green);
      font-size: .72rem;
      letter-spacing: .06em;
    }.elementor .page-template .final-cta-copy h2{
      max-width: 10.2ch;
      margin: 0 0 1.6rem;
      color: var(--white);
      font-size: clamp(3.7rem, 6.4vw, 7rem);
      line-height: .87;
      letter-spacing: -.07em;
    }.elementor .page-template .final-cta-copy h2 span{
      display: block;
      width: max-content;
      max-width: 100%;
      color: #9cff92;
      font-family:var(--font-heading),sans-serif;
      font-size: .9em;
      font-weight: 800;
      line-height: 1;
      letter-spacing: -.055em;
      filter: none;
      -webkit-text-stroke: 0;
      text-stroke: 0;
      paint-order: normal;
    }.elementor .page-template .final-cta-copy > p:not(.final-cta-index){
      max-width: 52ch;
      margin: 0;
      color: #c9d8df;
      font-size: clamp(1rem, 1.2vw, 1.12rem);
      line-height: 1.75;
    }.elementor .page-template .final-assurances{
      display: flex;
      flex-wrap: wrap;
      gap: .7rem 1.5rem;
      margin-top: 2.2rem;
    }.elementor .page-template .final-assurances span{
      position: relative;
      padding-left: 1.05rem;
      color: #eef7fa;
      font-size: .77rem;
      font-weight: 700;
      letter-spacing: .025em;
    }.elementor .page-template .final-assurances span::before{
      content: "";
      position: absolute;
      left: 0;
      top: .42em;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 4px rgba(65,211,49,.12);
    }.elementor .page-template .contact-card{
      position: relative;
      min-width: 0;
      padding: clamp(2.2rem, 4vw, 3.4rem);
      overflow: hidden;
      color: var(--ink);
      background: rgba(248,251,252,.97);
      border: 1px solid rgba(255,255,255,.65);
      border-radius: 4px 60px 4px 60px;
      box-shadow: 0 34px 90px rgba(0,0,0,.28);
      isolation: isolate;
    }.elementor .page-template .contact-card::before{
      content: "";
      position: absolute;
      z-index: -1;
      width: 260px;
      height: 88px;
      right: -82px;
      top: -25px;
      border: 1px solid rgba(0,119,188,.22);
      border-radius: 50%;
      transform: rotate(-12deg);
    }.elementor .page-template .contact-card-kicker{
      margin: 0 0 1rem;
      color: var(--blue-dark) !important;
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }.elementor .page-template .contact-card h3{
      max-width: 14ch;
      margin: 0 0 1rem;
      font-size: clamp(1.8rem, 2.6vw, 2.65rem);
      line-height: 1.02;
      letter-spacing: -.045em;
    }.elementor .page-template .contact-card > p:not(.contact-card-kicker){
      max-width: 43ch;
      margin: 0 0 1.8rem;
      color: #59666d;
      font-size: .92rem;
      line-height: 1.65;
    }.elementor .page-template .contact-card-primary{
      width: 100%;
      min-height: 58px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: .95rem 1.15rem;
      color: #06200b;
      background: var(--green);
      border-color: var(--green);
    }.elementor .page-template .contact-card-primary span{
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      background: rgba(255,255,255,.5);
      transition: transform .25s ease;
    }.elementor .page-template .contact-card-primary::after{ display: none; }.elementor .page-template .contact-card-primary:hover{ background: #71e963; }.elementor .page-template .contact-card-primary:hover span{ transform: rotate(45deg); }.elementor .page-template .contact-card-links{
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 1px;
      margin-top: 1.5rem;
      background: #dce3e7;
      border-top: 1px solid #dce3e7;
    }.elementor .page-template .contact-card-links a{
      min-width: 0;
      padding: 1.1rem .9rem .2rem 0;
      color: var(--ink);
      background: rgba(248,251,252,.97);
      text-decoration: none;
    }.elementor .page-template .contact-card-links a + a{ padding-left: 1rem; }.elementor .page-template .contact-card-links small{
      display: block;
      margin-bottom: .35rem;
      color: #647078;
      font-size: .64rem;
      font-weight: 800;
      letter-spacing: .12em;
      text-transform: uppercase;
    }.elementor .page-template .contact-card-links strong{
      display: block;
      overflow-wrap: anywhere;
      color: var(--blue-dark);
      font-size: clamp(.76rem, .9vw, .9rem);
      line-height: 1.35;
    }.elementor .page-template .contact-card-links a:hover strong{ color: var(--blue); }.elementor .page-template .footer{
      padding-top: 5rem;
      color: var(--ink);
      background: var(--color-paper);
    }.elementor .page-template .footer::before,.elementor .page-template .footer::after{ border-color: rgba(0,119,188,.1); }.elementor .page-template .footer-logo{ background: transparent; padding: 0; }.elementor .page-template .footer h3{ color: var(--ink); }.elementor .page-template .footer p,.elementor .page-template .footer a{ color: var(--color-muted); }.elementor .page-template .footer a:hover{ color: var(--blue); }.elementor .page-template .footer-bottom{ border-color: var(--color-line); color: var(--color-muted); }.elementor .page-template .footer-certifications{
      padding: 2.2rem 0 2.5rem;
      display: grid;
      grid-template-columns: minmax(210px, .65fr) minmax(0, 1.85fr);
      gap: clamp(2rem, 5vw, 5rem);
      align-items: center;
      border-top: 1px solid var(--color-line);
    }.elementor .page-template .footer-certifications-copy h3{
      margin: 0 0 .65rem;
      color: var(--ink);
      font-size: .82rem;
      font-weight: 800;
      letter-spacing: .11em;
      text-transform: uppercase;
    }.elementor .page-template .footer-certifications-copy p{
      max-width: 36ch;
      margin: 0;
      line-height: 1.55;
    }.elementor .page-template .certification-grid{
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: .7rem;
    }.elementor .page-template .certification-card{
      min-width: 0;
      min-height: 116px;
      margin: 0;
      padding: .9rem .75rem .8rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: .65rem;
      text-align: center;
      background: rgba(255,255,255,.72);
      border: 1px solid var(--color-line);
    }.elementor .page-template .certification-card img{
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 58px;
      object-fit: contain;
    }.elementor .page-template .certification-card.is-wide img{
      width: min(148px, 100%);
      max-height: 44px;
    }.elementor .page-template .certification-card figcaption{
      color: #45545c;
      font-size: .61rem;
      font-weight: 700;
      line-height: 1.3;
    }@media (max-width: 1050px){.elementor .page-template .problem-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }.elementor .page-template .expertise-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }.elementor .page-template .resource-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }.elementor .page-template .resource:first-child{ grid-column: 1 / -1; }.elementor .page-template .final-cta{ min-height: auto; padding: 6.5rem 0; }.elementor .page-template .final-cta-layout{ grid-template-columns: minmax(0, 1fr); gap: 4rem; }.elementor .page-template .final-cta-copy{ max-width: 720px; }.elementor .page-template .contact-card{ width: min(680px, 100%); justify-self: end; }.elementor .page-template .contact-card h3{ max-width: 17ch; }.elementor .page-template .final-cta-copy h2{ font-size: clamp(3.5rem, 7.4vw, 5.3rem); }.elementor .page-template .case-project{ grid-template-columns: 1fr; min-height: 0; }.elementor .page-template .case-visual{ width: 100%; min-height: 560px; }.elementor .page-template .case-visual img{ min-height: 560px; }.elementor .page-template .case-content{ padding: clamp(2.8rem, 7vw, 3.5rem); }.elementor .page-template .case-content h3{ max-width: 100%; font-size: clamp(2.4rem, 6.8vw, 3rem); line-height: 1.1; }.elementor .page-template .footer-certifications{ grid-template-columns: 1fr; gap: 1.5rem; }.elementor .page-template .footer-certifications-copy p{ max-width: 58ch; }.elementor .page-template .certification-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); }}@media (max-width: 767px){.elementor .page-template .manifesto-header.is-scrolled .manifesto-brand{ width: 104px; min-height: 72px; padding: 10px var(--space-sm); }.elementor .page-template .manifesto-header.is-scrolled .manifesto-brand .logo{ width: 82px; }.elementor .page-template .problems .section-head{ grid-template-columns: 1fr; }.elementor .page-template .problems .section-head h2,.elementor .page-template .expertises .section-head h2,.elementor .page-template .method .section-head h2,.elementor .page-template .facilities .section-head h2,.elementor .page-template .resources .section-head h2{ font-size: clamp(2.45rem, 12vw, 3.5rem); }.elementor .page-template .problem-grid,.elementor .page-template .expertise-grid,.elementor .page-template .resource-grid{ grid-template-columns: 1fr; }.elementor .page-template .problem-card{ min-height: 280px; }.elementor .page-template .orientation{ align-items: stretch; }.elementor .page-template .orientation .btn{ width: 100%; }.elementor .page-template .expertise-card{ min-height: 330px; }.elementor .page-template .method-steps::before{ border-color: rgba(0,119,188,.35); }.elementor .page-template .facility-grid{ grid-template-columns: 1fr; }.elementor .page-template .facility-card{ min-height: 440px; }.elementor .page-template .facility-card.small{ min-height: 290px; }.elementor .page-template .case-grid{ grid-template-columns: 1fr; }.elementor .page-template .case-grid h2{ font-size: clamp(2.5rem, 12vw, 3.5rem); }.elementor .page-template .case-visual{ width: 92%; }.elementor .page-template .case-facts{ grid-template-columns: 1fr; }.elementor .page-template .case-study{ padding: 5.8rem 0; }.elementor .page-template .case-study::before{ right: -10vw; top: 1.2rem; font-size: 6rem; }.elementor .page-template .case-intro{ grid-template-columns: 1fr; gap: 1.4rem; margin-bottom: 2.6rem; }.elementor .page-template .case-intro h2{ font-size: clamp(3rem, 13vw, 4.4rem); }.elementor .page-template .case-project{ grid-template-columns: 1fr; min-height: 0; border-radius: 4px 48px 4px 48px; }.elementor .page-template .case-visual{ width: 100%; min-height: 430px; }.elementor .page-template .case-visual img{ min-height: 430px; }.elementor .page-template .case-project-index{ left: 1.3rem; top: 1.3rem; }.elementor .page-template .case-visual-caption{ left: 1.3rem; right: 1.3rem; bottom: 1.3rem; }.elementor .page-template .case-content{ padding: 2.4rem 1.35rem 2.7rem; }.elementor .page-template .case-content h3{ font-size: clamp(2.35rem, 11vw, 3rem); }.elementor .page-template .case-journey{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.2rem .8rem; }.elementor .page-template .case-journey::before{ display: none; }.elementor .page-template .case-content .btn{ width: 100%; }.elementor .page-template .resource:first-child{ grid-column: auto; }.elementor .page-template .final-cta{ min-height: auto; padding: 5.5rem 0 4.7rem; }.elementor .page-template .final-cta::before{ right: -470px; top: 2%; }.elementor .page-template .final-cta::after{ right: -16vw; top: 24%; font-size: 5.8rem; }.elementor .page-template .final-cta-layout{
        width: calc(100% - 40px);
        max-width: calc(100vw - 40px);
        grid-template-columns: minmax(0, 1fr);
        gap: 3.2rem;
      }.elementor .page-template .final-cta-copy,.elementor .page-template .contact-card{ width: 100%; max-width: 100%; min-width: 0; }.elementor .page-template .final-cta-copy h2{ max-width: 9.5ch; font-size: clamp(3rem, 14vw, 4.4rem); }.elementor .page-template .final-cta-copy > p:not(.final-cta-index),.elementor .page-template .contact-card > p{ overflow-wrap: anywhere; }.elementor .page-template .final-assurances{ display: grid; gap: .8rem; }.elementor .page-template .contact-card{ padding: 2rem 1.35rem; border-radius: 4px 42px 4px 42px; }.elementor .page-template .contact-card h3{ font-size: clamp(1.85rem, 9vw, 2.55rem); }.elementor .page-template .contact-card-primary{ max-width: 100%; white-space: normal; }.elementor .page-template .contact-card-links{ grid-template-columns: 1fr; }.elementor .page-template .contact-card-links a{ padding: 1rem 0 .75rem; }.elementor .page-template .contact-card-links a + a{ padding: 1rem 0 .1rem; }.elementor .page-template .contact-card-links strong{ font-size: .86rem; }.elementor .page-template .footer{ padding-top: 4rem; }.elementor .page-template .footer-certifications{ padding: 2rem 0; }.elementor .page-template .certification-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }.elementor .page-template .certification-card{ min-height: 112px; }.elementor .page-template .certification-card.is-wide{ grid-column: 1 / -1; }}.elementor .page-template h1,.elementor .page-template h2,.elementor .page-template h3,.elementor .page-template .display,.elementor .page-template .btn,.elementor .page-template .menu-toggle{ font-family:var(--font-heading),sans-serif; }.elementor .page-template h2{ font-weight: 800; }.elementor .page-template h3{ font-weight: 700; }.elementor .page-template section[id]{ scroll-margin-top: 110px; }.elementor .page-template .skip-link{
      position: fixed;
      z-index: 200;
      left: 1rem;
      top: 1rem;
      padding: .8rem 1rem;
      color: var(--color-ink);
      background: var(--green);
      border-radius: 999px;
      font-weight: 800;
      text-decoration: none;
      transform: translateY(-180%);
      transition: transform .2s ease;
    }.elementor .page-template .skip-link:focus{ transform: translateY(0); }.elementor .page-template .btn:active{ transform: translateY(0) scale(.985); }.elementor .page-template .problem-card:focus-visible,.elementor .page-template .submenu a:focus-visible,.elementor .page-template .contact-card-links a:focus-visible{ position: relative; z-index: 3; }.elementor .page-template .submenu-toggle{ min-width: 38px; min-height: 38px; }.elementor .page-template .nav-item.is-current > a{ color: var(--white); }.elementor .page-template .nav-item.is-current > a::before{
      content: "";
      position: absolute;
      left: .72rem;
      right: .32rem;
      bottom: .35rem;
      height: 2px;
      border-radius: 999px;
      background: var(--green);
      transform-origin: left;
      animation: current-link .35s var(--curve) both;
    }@keyframes current-link{ from { transform: scaleX(0); } to { transform: scaleX(1); } }.elementor .page-template .resource:focus-within,.elementor .page-template .facility-card:focus-within,.elementor .page-template .expertise-card:focus-within{ box-shadow: 0 26px 55px rgba(0,79,126,.18); }.elementor .page-template .footer-links a{ width: max-content; max-width: 100%; }.elementor .page-template .footer-links a::after{ content: ""; display: block; width: 0; height: 1px; margin-top: 2px; background: var(--blue); transition: width .25s var(--curve); }.elementor .page-template .footer-links a:hover::after,.elementor .page-template .footer-links a:focus-visible::after{ width: 100%; }.elementor .page-template .contact-dialog{
      width: min(960px, calc(100% - 40px));
      max-height: calc(100dvh - 40px);
      padding: 0;
      overflow: auto;
      border: 0;
      border-radius: 4px 64px 4px 64px;
      color: var(--ink);
      background: var(--color-paper);
      box-shadow: 0 40px 120px rgba(0,0,0,.42);
    }.elementor .page-template .contact-dialog::backdrop{
      background: rgba(3,17,24,.78);
      backdrop-filter: blur(10px);
    }.elementor .page-template .contact-dialog[open]{ animation: dialog-enter .45s var(--curve) both; }@keyframes dialog-enter{ from { opacity: 0; transform: translateY(26px) scale(.975); } to { opacity: 1; transform: translateY(0) scale(1); } }.elementor .page-template .dialog-layout{ position: relative; display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); min-height: 650px; }.elementor .page-template .dialog-close{
      position: absolute;
      z-index: 3;
      right: 1.2rem;
      top: 1.2rem;
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border: 1px solid #cbd6db;
      border-radius: 50%;
      color: var(--ink);
      background: rgba(255,255,255,.86);
      cursor: pointer;
      font-size: 1.35rem;
      line-height: 1;
      transition: transform .25s var(--curve), background .2s ease;
    }.elementor .page-template .dialog-close:hover{ transform: rotate(90deg); background: var(--green); }.elementor .page-template .dialog-aside{
      position: relative;
      overflow: hidden;
      padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.8rem, 4vw, 3.5rem);
      color: var(--white);
      background:
        radial-gradient(circle at 12% 82%, rgba(0,119,188,.42), transparent 35%),
        var(--color-ink);
    }.elementor .page-template .dialog-aside::after{
      content: "";
      position: absolute;
      width: 520px;
      height: 165px;
      left: -210px;
      bottom: 7%;
      border: 1px solid rgba(65,211,49,.5);
      border-radius: 50%;
      transform: rotate(-12deg);
    }.elementor .page-template .dialog-step{ color: var(--green); font-size: .7rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }.elementor .page-template .dialog-aside h2{ max-width: 8ch; margin: 1.4rem 0 1.2rem; color: var(--white); font-size: clamp(2.5rem, 4.2vw, 4.2rem); line-height: .92; letter-spacing: -.06em; }.elementor .page-template .dialog-aside > p:not(.dialog-step){ max-width: 31ch; color: #bfd0d8; font-size: .92rem; line-height: 1.7; }.elementor .page-template .dialog-reassurance{ position: relative; z-index: 1; display: grid; gap: .75rem; margin-top: 2.2rem; }.elementor .page-template .dialog-reassurance span{ display: flex; align-items: center; gap: .65rem; color: #edf7fa; font-size: .78rem; font-weight: 700; }.elementor .page-template .dialog-reassurance span::before{ content: "✓"; width: 25px; height: 25px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #06200b; background: var(--green); font-weight: 900; }.elementor .page-template .lead-form{ position: relative; padding: clamp(3.2rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4rem) 3rem; }.elementor .page-template .lead-form-head{ max-width: 50ch; margin-bottom: 1.8rem; }.elementor .page-template .lead-form-head p:first-child{ margin-bottom: .55rem; color: var(--blue); font-size: .7rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }.elementor .page-template .lead-form-head h3{ margin-bottom: .65rem; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.02; letter-spacing: -.045em; }.elementor .page-template .lead-form-head p:last-child{ margin: 0; color: #5e6c73; font-size: .88rem; line-height: 1.6; }.elementor .page-template .lead-fields{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }.elementor .page-template .lead-field{ min-width: 0; display: grid; gap: .45rem; }.elementor .page-template .lead-field.is-wide{ grid-column: 1 / -1; }.elementor .page-template .lead-field label{ color: #30424b; font-size: .72rem; font-weight: 800; }.elementor .page-template .lead-field input,.elementor .page-template .lead-field select,.elementor .page-template .lead-field textarea{
      width: 100%;
      min-height: 52px;
      padding: .78rem .9rem;
      border: 1px solid #bdcbd2;
      border-radius: 4px 15px 4px 15px;
      color: var(--ink);
      background: var(--white);
      transition: border-color .2s ease, box-shadow .2s ease;
    }.elementor .page-template .lead-field textarea{ min-height: 112px; resize: vertical; }.elementor .page-template .lead-field input:focus,.elementor .page-template .lead-field select:focus,.elementor .page-template .lead-field textarea:focus{ outline: 0; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(0,119,188,.12); }.elementor .page-template .lead-consent{ display: grid; grid-template-columns: 22px 1fr; align-items: start; gap: .7rem; margin: 1.15rem 0; color: #58666d; font-size: .71rem; line-height: 1.5; }.elementor .page-template .lead-consent input{ width: var(--space-md); height: var(--space-md); margin: 0; accent-color: var(--blue); }.elementor .page-template .lead-submit{ width: 100%; justify-content: space-between; color: #06200b; background: var(--green); border-color: var(--green); }.elementor .page-template .lead-submit:hover{ background: #71e963; }.elementor .page-template .lead-form-note{ margin: .75rem 0 0; color: #647078; font-size: .68rem; text-align: center; }.elementor .page-template .lead-success{ min-height: 430px; display: none; place-items: center; text-align: center; }.elementor .page-template .lead-form.is-sent .lead-form-content{ display: none; }.elementor .page-template .lead-form.is-sent .lead-success{ display: grid; }.elementor .page-template .lead-success span{ width: 72px; height: 72px; margin-inline: auto; display: grid; place-items: center; border-radius: 50%; color: #06200b; background: var(--green); font-size: 2rem; font-weight: 900; }.elementor .page-template .lead-success h3{ margin: 1.25rem 0 .7rem; font-size: 2rem; }.elementor .page-template .lead-success p{ max-width: 38ch; margin: 0; color: #5e6c73; }.elementor .page-template .mobile-lead-bar{ display: none; }@media (max-width: 1050px){.elementor .page-template .submenu-toggle{ min-width: 44px; min-height: 44px; }}@media (max-width: 767px){.elementor .page-template body{ padding-bottom: 74px; }.elementor .page-template .mobile-lead-bar{
        position: fixed;
        z-index: 70;
        left: 10px;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        min-height: 58px;
        padding: 6px;
        display: grid;
        grid-template-columns: .7fr 1.3fr;
        gap: 6px;
        border: 1px solid rgba(255,255,255,.18);
        border-radius: 999px;
        background: rgba(6,24,33,.94);
        box-shadow: 0 16px 42px rgba(0,0,0,.32);
        backdrop-filter: blur(14px);
      }.elementor .page-template .mobile-lead-bar a,.elementor .page-template .mobile-lead-bar button{
        min-height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 999px;
        font-family:var(--font-heading),sans-serif;
        font-size: .72rem;
        font-weight: 800;
        text-decoration: none;
        cursor: pointer;
      }.elementor .page-template .mobile-lead-bar a{ color: var(--white); }.elementor .page-template .mobile-lead-bar button{ color: #06200b; background: var(--green); }.elementor .page-template .contact-dialog{ width: calc(100% - var(--space-md)); max-height: calc(100dvh - var(--space-md)); border-radius: 4px 36px 4px 36px; }.elementor .page-template .dialog-layout{ grid-template-columns: 1fr; }.elementor .page-template .dialog-aside{ padding: 2.2rem 1.3rem 2rem; }.elementor .page-template .dialog-aside h2{ max-width: 9ch; font-size: clamp(2.35rem, 12vw, 3.4rem); }.elementor .page-template .dialog-aside > p:not(.dialog-step){ margin-bottom: 0; }.elementor .page-template .dialog-reassurance{ margin-top: 1.4rem; }.elementor .page-template .lead-form{ padding: 3.3rem 1.25rem 2rem; }.elementor .page-template .lead-fields{ grid-template-columns: 1fr; }.elementor .page-template .lead-field.is-wide{ grid-column: auto; }}.elementor .page-template .capability-rail{
      transform: none;
      color: var(--ink);
      background: #dfe8ec;
      border-block: 1px solid #c4d1d7;
    }.elementor .page-template .rail-track{ padding-block: .82rem; animation-duration: 42s; }.elementor .page-template .rail-group span::after{ border-color: var(--blue); }.elementor .page-template .section-head::before,.elementor .page-template .problems::after,.elementor .page-template .problem-card::after,.elementor .page-template .expertises::before,.elementor .page-template .facilities::before,.elementor .page-template .case-study::before,.elementor .page-template .case-study::after,.elementor .page-template .final-cta::after,.elementor .page-template .footer::before,.elementor .page-template .footer::after{ display: none; }.elementor .page-template .problems,.elementor .page-template .capability-rail + .problems{
      background: #f3f6f7;
    }.elementor .page-template .problem-card{
      min-height: 285px;
      transition: color .28s ease, background .28s ease, border-color .28s ease;
    }.elementor .page-template .problem-card:hover{
      transform: none;
      border-color: #8ea6b2;
      box-shadow: none;
    }.elementor .page-template .problem-card:hover h3,.elementor .page-template .problem-card:focus-visible h3{ color: var(--white); }.elementor .page-template .problem-card.is-active{
      background: #082432;
      box-shadow: inset 4px 0 0 var(--green);
    }.elementor .page-template .problem-number{
      margin-bottom: 2rem;
      color: var(--blue);
      font-size: .78rem;
      letter-spacing: .14em;
    }.elementor .page-template .problem-card.is-active .problem-number{ color: #8fef84; }.elementor .page-template .orientation{
      border-radius: 2px;
      box-shadow: inset 4px 0 0 var(--green);
    }.elementor .page-template .expertises{
      background: #071a24;
    }.elementor .page-template .expertises .eyebrow,.elementor .page-template .facilities .eyebrow{ color: #72cfe6; }.elementor .page-template .expertise-grid{
      gap: 0;
      border: 0;
      background: transparent;
    }.elementor .page-template .expertise-card{
      min-height: 350px;
      border: 0;
      border-left: 1px solid rgba(255,255,255,.18);
      color: var(--white);
      background: transparent;
      transition: background .28s ease;
    }.elementor .page-template .expertise-card:first-child{ border-left: 0; }.elementor .page-template .expertise-card::before{ display: none; }.elementor .page-template .expertise-card .tag{
      width: 34px;
      height: 3px;
      border-radius: 0;
      background: #72cfe6;
    }.elementor .page-template .expertise-card:last-child .tag{ background: var(--green); }.elementor .page-template .expertise-card:hover{
      transform: none;
      color: var(--white);
      background: rgba(255,255,255,.035);
      box-shadow: none;
    }.elementor .page-template .expertise-card:hover h3{ color: var(--white); }.elementor .page-template .expertise-card:hover p{ color: rgba(255,255,255,.58); }.elementor .page-template .expertise-card:hover a{ color: #8bddeb; }.elementor .page-template .expertise-card:hover .tag{ width: 34px; background: #72cfe6; }.elementor .page-template .expertise-card:last-child:hover .tag{ background: var(--green); }.elementor .page-template .step:hover .step-num{
      transform: none;
      box-shadow: 0 0 0 9px rgba(0,119,188,.06);
    }.elementor .page-template .facilities{ background: #081c26; }.elementor .page-template .facility-location{
      display: block;
      margin-top: 1rem;
      color: #9fb6c1;
      font-size: .72rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }.elementor .page-template .facility-card,.elementor .page-template .facility-card.small{
      border-radius: 2px;
    }.elementor .page-template .facility-copy{ border-radius: 0; }.elementor .page-template .facility-card:hover img{ transform: scale(1.025); }.elementor .page-template .facility-evidence{
      position: absolute;
      z-index: 3;
      left: 1rem;
      top: 1rem;
      padding: .5rem .65rem;
      color: #edf7fa;
      background: rgba(5,24,33,.78);
      border: 1px solid rgba(255,255,255,.2);
      font-size: .61rem;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      backdrop-filter: blur(var(--space-xs));
    }.elementor .page-template .resource{
      border: 1px solid var(--color-line);
      border-top: 3px solid var(--blue);
      border-radius: 2px;
      box-shadow: none;
      transition: border-color .28s ease;
    }.elementor .page-template .resource:first-child{ box-shadow: none; }.elementor .page-template .resource:hover,.elementor .page-template .resource:first-child:hover{
      transform: none;
      border-color: #8ea6b2;
      box-shadow: none;
    }.elementor .page-template .resource:hover .resource-media img{ transform: scale(1.025); }.elementor .page-template .case-project::after{ display: none; }.elementor .page-template .case-visual::after{
      opacity: .72;
      animation: none;
    }.elementor .page-template .final-cta{
      min-height: 670px;
      background:
        radial-gradient(circle at 84% 28%, rgba(0,119,188,.3), transparent 31%),
        var(--color-ink);
    }.elementor .page-template .final-cta::before{
      border-color: rgba(65,211,49,.18);
      animation: none;
    }.elementor .page-template .contact-team{
      display: grid;
      grid-template-columns: 64px minmax(0,1fr);
      align-items: center;
      gap: .9rem;
      margin: 1.4rem 0 1.5rem;
      padding-top: 1.2rem;
      border-top: 1px solid var(--color-line);
    }.elementor .page-template .contact-team img{
      width: 64px;
      height: 64px;
      object-fit: cover;
      object-position: 50% 34%;
      filter: grayscale(1) contrast(1.12);
      border-radius: 50%;
    }.elementor .page-template .contact-team strong,.elementor .page-template .contact-team span{ display: block; }.elementor .page-template .contact-team strong{ color: var(--ink); font-size: .78rem; line-height: 1.35; }.elementor .page-template .contact-team span{ margin-top: .25rem; color: #647078; font-size: .66rem; }.elementor .page-template .contact-dialog{ border-radius: 2px 36px 2px 36px; }.elementor .page-template .dialog-aside::after{ display: none; }.elementor .page-template .dialog-layout{ min-height: 600px; }.elementor .page-template .problems .section-head h2,.elementor .page-template .expertises .section-head h2,.elementor .page-template .method .section-head h2,.elementor .page-template .facilities .section-head h2,.elementor .page-template .resources .section-head h2{
      max-width: 17ch;
      font-size: clamp(2.45rem, 3.55vw, 3.95rem);
      line-height: 1.02;
      letter-spacing: -.045em;
    }.elementor .page-template .case-intro h2{
      max-width: 15ch;
      font-size: clamp(2.7rem, 4vw, 4.35rem);
      line-height: .95;
      letter-spacing: -.055em;
    }.elementor .page-template .final-cta-copy h2{
      max-width: 11.5ch;
      font-size: clamp(3.3rem, 5vw, 5.3rem);
      line-height: .9;
    }@media (max-width: 1050px) and (min-width: 768px){.elementor .page-template .expertise-card:nth-child(odd){ border-left: 0; }.elementor .page-template .expertise-card:nth-child(n+3){ border-top: 1px solid rgba(255,255,255,.18); }}@media (max-width: 767px){.elementor .page-template .problem-card{ min-height: 245px; }.elementor .page-template .problems .section-head h2,.elementor .page-template .expertises .section-head h2,.elementor .page-template .method .section-head h2,.elementor .page-template .facilities .section-head h2,.elementor .page-template .resources .section-head h2{
        font-size: clamp(2.1rem, 9vw, 2.75rem);
        line-height: 1.03;
      }.elementor .page-template .case-intro h2{
        font-size: clamp(2.35rem, 10vw, 3.2rem);
        line-height: .98;
      }.elementor .page-template .final-cta-copy h2{
        max-width: 11ch;
        font-size: clamp(2.6rem, 11.2vw, 3.65rem);
        line-height: .93;
      }.elementor .page-template .expertise-card{
        min-height: 0;
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.18);
      }.elementor .page-template .expertise-card:first-child{ border-top: 0; }.elementor .page-template .facility-evidence{ left: .75rem; top: .75rem; }.elementor .page-template .contact-dialog{ border-radius: 2px 24px 2px 24px; }}@media (prefers-reduced-motion: reduce){.elementor .page-template .contact-dialog[open],.elementor .page-template .nav-item.is-current > a::before{ animation: none !important; }}.elementor .page-template .manifesto-header .main-nav{ gap: .12rem; }.elementor .page-template .manifesto-header .nav-item > a{ padding-inline: .42rem; font-size: clamp(.7rem,.72vw,.8rem); white-space: nowrap; }.elementor .page-template .submenu-toggle{ min-width: 38px; min-height: 38px; }@media (max-width: 1500px) and (min-width: 1051px){.elementor .page-template .manifesto-nav-panel > p,.elementor .page-template .manifesto-phone{ display: none; }}@media (max-width: 1500px) and (min-width: 1051px){.elementor .page-template .manifesto-nav-panel{ gap: .28rem; padding-left: 10px; }.elementor .page-template .manifesto-header .main-nav{ gap: 0; }.elementor .page-template .manifesto-header .nav-item > a{ padding-inline: .25rem; font-size: .68rem; }.elementor .page-template .manifesto-header .submenu-toggle{ width: var(--space-lg); min-width: var(--space-lg); height: 38px; min-height: 38px; margin-right: 0; }.elementor .page-template .manifesto-header-cta{ min-height: 44px; padding-inline: .75rem; font-size: .72rem; }}@media (max-width: 1050px){.elementor .page-template .manifesto-header .submenu-toggle{ min-width: 44px; min-height: 44px; }}
body.home .manifesto-hero{position:relative;min-height:max(780px,100svh);padding:0!important;margin:0!important;overflow:hidden;color:var(--color-white);background:#05141c}
body.home .manifesto-poster{position:absolute;inset:0;z-index:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 42%;filter:grayscale(1) contrast(1.16) brightness(.48);transform:scale(1.055)}
body.home .manifesto-video-widget,body.home .manifesto-video-widget>.elementor-widget-container,body.home .manifesto-video-widget .elementor-wrapper,body.home .manifesto-video-widget video{position:absolute!important;inset:0;width:100%;height:100%;min-height:100%;object-fit:cover}
body.home .manifesto-video-widget{z-index:1;filter:grayscale(1) contrast(1.16) brightness(.48);transform:scale(1.055)}
body.home .manifesto-video-wash{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(2,13,19,.96) 0%,rgba(2,13,19,.78) 43%,rgba(0,79,126,.26) 72%,rgba(0,20,32,.42) 100%),linear-gradient(180deg,rgba(0,0,0,.15),transparent 50%,rgba(0,20,32,.7))}
body.home .manifesto-video-wash:after{content:"";position:absolute;inset:0;opacity:.45;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/72px 72px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/72px 72px;mask-image:linear-gradient(90deg,transparent 12%,#000 48%,#000)}
body.home .manifesto-orbits{position:absolute;inset:0;z-index:3;pointer-events:none}
body.home .manifesto-orbit{position:absolute;right:-9vw;top:12%;width:min(58vw,980px);height:min(22vw,350px);border:1px solid rgba(255,255,255,.22);border-radius:50%;transform:rotate(-14deg);animation:critt-orbit 16s ease-in-out infinite alternate}
body.home .manifesto-orbit.is-second{right:-2vw;top:25%;width:min(49vw,820px);height:min(18vw,285px);border-color:rgba(57,230,78,.34);transform:rotate(12deg);animation-duration:20s;animation-direction:alternate-reverse}
body.home .manifesto-content{position:relative;z-index:4;width:min(1480px,calc(100% - 48px));min-height:max(780px,100svh);margin-inline:auto;padding:clamp(190px,18vh,240px) 0 190px;display:grid;grid-template-columns:minmax(0,1fr) 255px;align-items:center;gap:clamp(3rem,8vw,8rem)}
body.home .manifesto-copy{max-width:1020px;padding:0!important;display:flex;flex-direction:column;align-items:flex-start;gap:0}
body.home .manifesto-kicker{padding:0!important;display:flex;flex-direction:row;align-items:center;gap:.85rem;margin:0 0 1.5rem;color:#b7d9e8;font-family:var(--font-heading),sans-serif;font-size:.76rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
body.home .manifesto-kicker .t-eyebrow{margin:0;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:1.2;white-space:nowrap}
body.home .manifesto-kicker-number{display:grid;place-items:center;width:34px;height:34px;margin:0;flex:0 0 34px;color:var(--color-ink);background:var(--color-accent-ui);border-radius:50%;font-size:.75rem;font-weight:900;letter-spacing:0}
body.home .manifesto-title{max-width:13ch;margin:0 0 1.45rem;color:var(--color-white);font-family:var(--font-heading),sans-serif;font-size:clamp(4.1rem,6.7vw,7.5rem);font-weight:700;line-height:.89;letter-spacing:-.065em;text-wrap:balance}
body.home .manifesto-title .manifesto-outline{color:rgba(255,255,255,.78);font-size:.86em;font-weight:600;line-height:.9;letter-spacing:-.045em}
body.home .manifesto-title .manifesto-accent{color:#21aee0}
body.home .manifesto-lead{max-width:650px;margin:0 0 2rem;padding-left:1.2rem;border-left:3px solid var(--color-accent-ui);color:rgba(255,255,255,.76);font-family:var(--font-body),sans-serif;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6}
body.home .manifesto-actions{padding:0!important;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:1.15rem}
body.home .manifesto-primary{min-height:var(--space-xl);color:var(--color-ink);background:var(--color-accent-ui)}
body.home .manifesto-link{min-height:auto;padding:.8rem .25rem;color:var(--color-white);background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.42);border-radius:0}
body.home .manifesto-index{align-self:center;padding:1.3rem 1.2rem 1.45rem;border:1px solid rgba(255,255,255,.2);border-radius:4px var(--space-lg) 4px var(--space-lg);background:rgba(7,26,36,.43);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:0}
body.home .manifesto-index>.t-caption{margin:0 0 1.1rem;color:rgba(255,255,255,.58);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
body.home .manifesto-step{display:block;margin:0;padding:.75rem 0;border-top:1px solid rgba(255,255,255,.13);color:var(--color-white);font-family:var(--font-heading),sans-serif;font-size:.82rem;font-weight:800}
body.home .manifesto-step span{display:inline-block;width:2rem;color:var(--color-accent-ui);font-size:.65rem}
body.home .manifesto-proof{position:absolute;z-index:5;left:50%;bottom:0;width:min(1480px,calc(100% - 48px));min-height:112px;padding:0!important;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;border-top:1px solid rgba(255,255,255,.25);background:linear-gradient(90deg,rgba(0,79,126,.44),rgba(7,26,36,.46));backdrop-filter:blur(16px)}
body.home .manifesto-proof-item{padding:1.15rem 1.3rem;border-right:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;justify-content:center;gap:.15rem}
body.home .manifesto-proof-item strong{color:var(--color-white);font-family:var(--font-heading),sans-serif;font-size:1rem}
body.home .manifesto-proof-item span{color:rgba(255,255,255,.62);font-size:.67rem}
body.home .manifesto-proof-more{min-width:125px;margin:0;display:grid;place-items:center;color:var(--color-white);font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@keyframes critt-orbit{from{transform:rotate(-14deg) translate3d(0,0,0)}to{transform:rotate(-8deg) translate3d(-35px,28px,0)}}
@media(max-width:1050px){body.home .manifesto-content{width:min(100% - 40px,960px);grid-template-columns:1fr}body.home .manifesto-index{display:none}body.home .manifesto-title{max-width:12ch;font-size:clamp(4rem,7.6vw,6.1rem)}}
@media(max-width:767px){body.home .manifesto-hero,body.home .manifesto-content{min-height:820px}body.home .manifesto-content{width:calc(100% - 40px);padding:142px 0 235px}body.home .manifesto-title{max-width:10ch;font-size:clamp(2.8rem,11.6vw,3.65rem);line-height:.92}body.home .manifesto-title .manifesto-outline{display:block;width:max-content;max-width:100%}body.home .manifesto-kicker{font-size:.62rem;letter-spacing:.1em}body.home .manifesto-kicker-number{width:30px;height:30px;flex-basis:30px}body.home .manifesto-lead{font-size:.94rem}body.home .manifesto-actions{width:100%;align-items:stretch;flex-direction:column}body.home .manifesto-primary{width:100%}body.home .manifesto-link{width:max-content}body.home .manifesto-proof{width:100%;min-height:190px;grid-template-columns:repeat(2,minmax(0,1fr));background:rgba(0,79,126,.65)}body.home .manifesto-proof-item{min-height:82px;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.16)}body.home .manifesto-proof-more{display:none}body.home .manifesto-orbit{width:530px;height:180px;right:-250px;top:24%}body.home .manifesto-orbit.is-second{width:430px;height:140px;right:-190px;top:32%}}
body.home .problem-card,body.home .problem-card>*{min-width:0;white-space:normal}
body.home .problem-card h3,body.home .problem-card p{overflow-wrap:anywhere}
body.home .problem-card:hover h3,body.home .problem-card:focus-visible h3,body.home .problem-card.is-active h3{color:var(--color-white)!important}
body.home .method .method-steps::before{transform:scaleX(1)!important}
@media(max-width:760px){body.home .method .method-steps::before{transform:scaleY(1)!important}}
body.home .manifesto-proof>.manifesto-proof-item{display:flex!important}
body.home .resource-body .e-button-base{align-self:flex-start!important;width:auto!important;min-height:auto!important;margin-top:auto!important;padding:.5rem 0!important;color:var(--color-brand-blue)!important;background:transparent!important;border:0!important;border-bottom:1px solid currentColor!important;border-radius:0!important;font-family:var(--font-heading),sans-serif;font-size:.82rem!important;font-weight:600!important;line-height:1.35!important;text-align:left!important;white-space:normal!important;box-shadow:none!important}
body.home .resource:first-child .resource-body .e-button-base{color:var(--color-white)!important}
body.home .resource-body .e-button-base:hover,body.home .resource-body .e-button-base:focus-visible{color:var(--color-brand-deep)!important;background:transparent!important;border-bottom-color:var(--color-accent-ui)!important;transform:translateX(4px)}
body.home .resource:first-child .resource-body .e-button-base:hover,body.home .resource:first-child .resource-body .e-button-base:focus-visible{color:var(--color-accent-ui)!important}
body.home .resource:first-child h3{color:var(--color-white)!important}
body.home .expertise-card .e-button-base{align-self:flex-start!important;width:auto!important;min-height:auto!important;margin-top:auto!important;padding:.5rem 0!important;color:#8bddeb!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(139,221,235,.48)!important;border-radius:0!important;font-family:var(--font-heading),sans-serif;font-size:.78rem!important;font-weight: 700!important;line-height:1.35!important;text-align:left!important;white-space:normal!important;box-shadow:none!important}
body.home .expertise-card .e-button-base:hover,body.home .expertise-card .e-button-base:focus-visible{color:var(--color-accent-ui)!important;background:transparent!important;border-bottom-color:var(--color-accent-ui)!important;transform:translateX(4px)}
body.home .facility-card h3{color:var(--color-white)!important;text-shadow:0 2px 18px rgba(0,0,0,.48)}
body.home .facility-card .facility-copy .e-button-base{align-self:flex-start!important;width:auto!important;margin-top:18px!important;padding:.75rem 1rem!important;color:var(--color-white)!important;background:rgba(6,24,33,.42)!important;border:1px solid rgba(255,255,255,.58)!important;border-radius:999px!important;font-family:var(--font-heading),sans-serif;font-size:.78rem!important;font-weight:600!important;line-height:1.3!important;text-align:left!important;white-space:normal!important;box-shadow:none!important;backdrop-filter:blur(var(--space-xs))}
body.home .facility-card .facility-copy .e-button-base:hover,body.home .facility-card .facility-copy .e-button-base:focus-visible{color:var(--color-ink)!important;background:var(--color-accent-ui)!important;border-color:var(--color-accent-ui)!important}
@media(prefers-reduced-motion:reduce){body.home .manifesto-orbit{animation:none!important}body.home .manifesto-video-widget{display:none}}

/* Corrections de contraste ciblées — accueil */
body.home [data-id="9f2f3aef"]{
  color:var(--color-white)!important;
}
body.home [data-id="a3f80b38"],
body.home [data-id="eeba7612"]{
  color:var(--color-blue-pale)!important;
}
body.home [data-id="a8cce087"],
body.home [data-id="67311c67"],
body.home [data-id="394ed1bb"],
body.home [data-id="efa6a26a"],
body.home [data-id="34ada89e"]{
  color:var(--color-text)!important;
}
body.home [data-id="e12802e1"],
body.home [data-id="a59a4f04"],
body.home [data-id="f87bc4f6"],
body.home [data-id="0359bb9c"],
body.home [data-id="0ce7bc4b"],
body.home [data-id="fn000007"],
body.home [data-id="fn000009"]{
  color:var(--color-brand-deep)!important;
}

/* Conservation du rendu après normalisation des balises */
body.home [data-id="67bfad03"],
body.home [data-id="d1ffcdba"],
body.home [data-id="140f02df"],
body.home [data-id="ca56a0f0"],
body.home [data-id="45697a4e"],
body.home [data-id="9c993977"]{
  font-size:17px!important;
  line-height:1.65!important;
  margin:0!important;
}

/* Priorité finale sur les règles historiques de la page */
body.home .elementor .page-template [data-id="d1ffcdba"],
body.home .elementor .page-template [data-id="140f02df"],
body.home .elementor .page-template [data-id="ca56a0f0"],
body.home .elementor .page-template [data-id="45697a4e"],
body.home .elementor .page-template [data-id="9c993977"]{
  color:var(--color-white)!important;
}
body.home .elementor .page-template [data-id="f87bc4f6"].e-button-base,
body.home .elementor .page-template [data-id="0359bb9c"].e-button-base{
  color:var(--color-brand-deep)!important;
}

/* Ajustements actualités et newsletter — accueil */
.elementor .page-template .critt-dynamic-posts .elementor-post__meta-data{
  position:absolute;
  top:50%;
}
.elementor .page-template .critt-dynamic-posts .elementor-post__read-more{
  text-transform:none;
  font-size:.8rem!important;
  font-weight:700!important;
}
.elementor .page-template .critt-dynamic-posts .elementor-post__badge{
  font-weight:700!important;
  font-size:.6rem!important;
}
.elementor .page-template .critt-dynamic-posts .elementor-post__thumbnail img{
  transform:scale(1.01) translate(-50%,-50%);
  transform-origin:center;
}
.elementor .page-template .critt-dynamic-posts .elementor-post__card:hover .elementor-post__thumbnail img{
  filter:grayscale(.55) contrast(1.04);
  transform:scale(1.015) translate(-50%,-50%);
}
body.home .c-footer .g-critt-newsletter.c-card{
  padding:0!important;
}
body.home .c-footer .g-critt-newsletter-action{
  padding:2rem!important;
}

/* Cas client — règles finales desktop et responsive */
.elementor .page-template .case-project{
  grid-template-columns:minmax(0,.75fr) minmax(430px,.94fr);
}
.elementor .page-template .case-content{
  padding:clamp(2.8rem,5vw,3.5rem);
}
.elementor .page-template .case-content h3{
  max-width:100%;
  font-size:clamp(2.4rem,4vw,3rem);
  line-height:1.1;
}
@media (max-width:1050px){
  .elementor .page-template .case-project{
    grid-template-columns:1fr;
  }
  .elementor .page-template .case-content{
    padding:clamp(2.8rem,7vw,3.5rem);
  }
  .elementor .page-template .case-content h3{
    max-width:100%;
    font-size:clamp(2.4rem,6.8vw,3rem);
    line-height:1.1;
  }
}
@media (max-width:767px){
  .elementor .page-template .case-content{
    padding:2.4rem 1.35rem 2.7rem;
  }
  .elementor .page-template .case-content h3{
    font-size:clamp(2.35rem,11vw,3rem);
  }
}/* End custom CSS */