@font-face {
  font-family: "Tenor Sans";
  src: url("/assets/fonts/Tenor_Sans/TenorSans-Regular.ttf") format("truetype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Onest";
  src: url("/assets/fonts/Onest/Onest-VariableFont_wght.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 100 900;
}

body.custom-demo-shell { margin: 0; }

.nova-page {
  --nova-ink: #17211f;
  --nova-muted: #65716d;
  --nova-line: rgba(23, 33, 31, .13);
  --nova-paper: #fafbf9;
  --nova-warm: #f5f1e9;
  --nova-mist: #eaf1ee;
  --nova-sage: #dbe7e2;
  --nova-green: #315f57;
  --nova-deep: #214840;
  --nova-white: #fff;
  --nova-radius: 1.55rem;
  color: var(--nova-ink);
  background: var(--nova-paper);
  font-family: "Onest", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  overflow: clip;
}

.nova-page *, .nova-page *::before, .nova-page *::after { box-sizing: border-box; }
.nova-page img { display: block; width: 100%; }
.nova-page a { color: inherit; text-decoration: none; }
.nova-page button, .nova-page input { font: inherit; }
.nova-page h1, .nova-page h2, .nova-page h3, .nova-page p, .nova-page figure, .nova-page dl, .nova-page dd { margin: 0; }
.nova-page h1, .nova-page h2, .nova-page h3 { font-family: "Tenor Sans", Georgia, serif; font-weight: 400; text-wrap: balance; }
.nova-page h2 { font-size: clamp(3rem, 4.8vw, 5.15rem); line-height: 1; }
.nova-page :focus-visible { outline: 2px solid var(--nova-green); outline-offset: 5px; }
.nova-page [data-nova-parallax] { transform: translate3d(0, var(--nova-parallax-y, 0), 0); will-change: transform; }

.nova-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 30;
  padding: .9rem 1rem;
}

.nova-header__inner {
  width: min(100%, 1620px);
  height: 70px;
  margin: 0 auto;
  padding: 0 .85rem 0 1.4rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: 999px;
  background: rgba(250, 251, 249, .79);
  box-shadow: inset 0 1px rgba(255, 255, 255, .85), 0 18px 52px rgba(42, 76, 68, .09);
  backdrop-filter: blur(24px) saturate(135%);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  transition: background .35s ease, box-shadow .35s ease, transform .35s ease;
}

.nova-header.is-scrolled { padding-top: .45rem; }
.nova-header.is-scrolled .nova-header__inner { background: rgba(250, 251, 249, .95); box-shadow: 0 16px 46px rgba(42, 76, 68, .13); }
.nova-brand { display: inline-grid; width: fit-content; line-height: 1.05; }
.nova-brand strong { font-family: "Tenor Sans", Georgia, serif; font-size: 1.03rem; font-weight: 400; }
.nova-brand span { margin-top: .22rem; color: var(--nova-muted); font-size: .63rem; text-transform: uppercase; }
.nova-nav { display: flex; align-items: center; gap: 2.35rem; }
.nova-nav a { position: relative; color: #3b4844; font-size: .76rem; font-weight: 600; }
.nova-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.55rem; height: 1px; background: var(--nova-green); transition: right .3s ease; }
.nova-nav a:hover::after, .nova-nav a.is-active::after { right: 0; }
.nova-header__actions { justify-self: end; display: flex; align-items: center; gap: 1.1rem; color: var(--nova-muted); font-size: .7rem; }
.nova-page .nova-header__cta { padding: .78rem 1.2rem; border-radius: 999px; color: var(--nova-white); background: var(--nova-ink); font-size: .74rem; font-weight: 650; transition: transform .25s ease, background .25s ease; }
.nova-header__cta:hover { background: var(--nova-green); transform: translateY(-2px); }
.nova-header__cta:active, .nova-btn:active { transform: translateY(1px) scale(.985); }
.nova-menu { display: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--nova-ink); }
.nova-menu span { display: block; width: 18px; height: 1px; margin: 5px auto; background: white; transition: transform .25s ease; }

.nova-hero { min-height: 100dvh; padding: 94px 1rem 1rem; background: #f6f8f5; }
.nova-hero__frame { position: relative; width: min(100%, 1700px); min-height: max(570px, calc(100dvh - 110px)); max-height: 950px; margin: 0 auto; overflow: hidden; border-radius: clamp(1.3rem, 2.2vw, 2.3rem); background: #ecebe4; isolation: isolate; }
.nova-hero__image { position: absolute; z-index: -3; inset: -6% 0; height: 112%; object-fit: cover; object-position: center; }
.nova-hero__veil { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(248, 249, 246, .98) 0%, rgba(248, 249, 246, .9) 23%, rgba(248, 249, 246, .46) 48%, rgba(248, 249, 246, .05) 74%), linear-gradient(0deg, rgba(22, 33, 30, .5) 0%, rgba(22, 33, 30, 0) 28%); }
.nova-hero__copy { position: absolute; left: clamp(1.5rem, 6.2vw, 7.2rem); top: 43%; width: min(54%, 690px); transform: translateY(-50%); }
.nova-kicker { margin-bottom: 1.2rem !important; color: var(--nova-green); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.nova-hero h1 { max-width: 680px; font-size: clamp(3.35rem, 4.9vw, 5.4rem); line-height: .98; }
.nova-hero__lead { max-width: 34rem; margin-top: 1.55rem !important; color: #4f5e59; font-size: clamp(.96rem, 1.2vw, 1.08rem); }
.nova-hero__buttons { margin-top: 2.2rem; display: flex; align-items: center; gap: 1.6rem; }
.nova-page .nova-btn { min-height: 52px; padding: .9rem 1.45rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--nova-green); border-radius: 999px; color: var(--nova-white); background: var(--nova-green); font-size: .77rem; font-weight: 700; transition: transform .25s ease, color .25s ease, background .25s ease, box-shadow .25s ease; }
.nova-btn:hover { transform: translateY(-2px); box-shadow: 0 15px 34px rgba(49, 95, 87, .2); }
.nova-arrow-link { display: inline-flex; align-items: center; gap: .65rem; border-bottom: 1px solid rgba(23, 33, 31, .35); padding-bottom: .2rem; font-size: .76rem; font-weight: 650; }
.nova-arrow-link span { transition: transform .25s ease; }
.nova-arrow-link:hover span { transform: translateY(3px); }
.nova-hero__note { position: absolute; right: clamp(1.2rem, 3vw, 3.5rem); top: 25%; width: min(260px, 21vw); padding: 1.2rem 1.25rem; display: grid; gap: .35rem; border: 1px solid rgba(255, 255, 255, .58); border-radius: 1rem; background: rgba(250, 251, 249, .64); box-shadow: inset 0 1px rgba(255, 255, 255, .75); backdrop-filter: blur(18px); }
.nova-hero__note span { color: var(--nova-muted); font-size: .63rem; text-transform: uppercase; }
.nova-hero__note strong { font-family: "Tenor Sans", Georgia, serif; font-size: 1.06rem; font-weight: 400; line-height: 1.25; }
.nova-hero__proof { position: absolute; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); color: white; background: rgba(23, 33, 31, .35); border-top: 1px solid rgba(255, 255, 255, .24); backdrop-filter: blur(18px); }
.nova-hero__proof span { min-height: 74px; padding: 1rem; display: grid; place-items: center; text-align: center; font-size: .72rem; font-weight: 600; }
.nova-hero__proof span + span { border-left: 1px solid rgba(255, 255, 255, .23); }

.nova-demo-strip, .nova-project-return, .nova-footer { padding-inline: max(1.25rem, calc((100vw - 1500px) / 2)); }
.nova-demo-strip { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-bottom: 1px solid var(--nova-line); color: var(--nova-muted); background: #f7f9f6; font-size: .68rem; }
.nova-demo-strip a { border-bottom: 1px solid currentColor; color: var(--nova-green); }

.nova-flow { background: radial-gradient(circle at 14% 22%, rgba(220, 234, 228, .78), transparent 28%), radial-gradient(circle at 84% 48%, rgba(244, 236, 222, .72), transparent 31%), linear-gradient(180deg, #fafbf9 0%, #f5f8f6 37%, #faf9f5 70%, #f8faf8 100%); }
.nova-services, .nova-philosophy, .nova-specialist, .nova-studio { padding-inline: max(1.25rem, calc((100vw - 1500px) / 2)); }
.nova-services, .nova-specialist, .nova-studio, .nova-contacts { scroll-margin-top: 96px; }
.nova-services { padding-top: clamp(6rem, 8vw, 8rem); padding-bottom: clamp(6.5rem, 9vw, 9rem); }
.nova-section-title { max-width: 980px; margin-bottom: clamp(2.8rem, 4.5vw, 4.2rem); }
.nova-section-title > p { max-width: 38rem; margin-top: 1.25rem !important; color: var(--nova-muted); }
.nova-services__accordion { height: clamp(680px, 52vw, 780px); display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.nova-service { position: relative; min-width: 0; overflow: hidden; border-radius: var(--nova-radius); background: #dce6e1; cursor: pointer; transition: transform .45s cubic-bezier(.16, 1, .3, 1); }
.nova-service__trigger { position: absolute; inset: 0; z-index: 3; padding: 0; border: 0; border-radius: inherit; background: transparent; cursor: pointer; }
.nova-service__trigger:focus-visible { outline: 2px solid rgba(255, 255, 255, .96); outline-offset: -5px; }
.nova-service:first-child { grid-row: 1 / -1; }
.nova-service:hover { transform: translateY(-4px); }
.nova-service > img { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.16, 1, .3, 1), filter .6s ease; }
.nova-service:not(.is-active) > img { filter: saturate(.9) brightness(.96); }
.nova-service.is-active > img { transform: scale(1.035); }
.nova-service__shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(17, 28, 25, .83) 0%, rgba(17, 28, 25, .26) 46%, rgba(17, 28, 25, .02) 72%); }
.nova-service__copy { position: absolute; inset: auto 0 0; min-width: 0; padding: clamp(1.15rem, 1.8vw, 1.8rem); color: white; }
.nova-service__copy > span { display: block; margin-bottom: .65rem; color: rgba(255, 255, 255, .76); font-size: .61rem; font-weight: 650; text-transform: uppercase; }
.nova-service__copy h3 { max-width: 18ch; font-size: clamp(1.55rem, 2.15vw, 2.4rem); line-height: 1.03; }
.nova-service__copy p { max-width: 31rem; margin-top: .75rem !important; color: rgba(255, 255, 255, .8); font-size: .76rem; }
.nova-service__copy footer { margin-top: 1rem; padding-top: .85rem; display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255, 255, 255, .28); }
.nova-service__copy footer strong { font-size: .9rem; }
.nova-service__copy footer small { color: rgba(255, 255, 255, .68); }

.nova-philosophy { padding-top: clamp(2rem, 4vw, 4rem); padding-bottom: clamp(4.5rem, 6vw, 6rem); }
.nova-philosophy__intro { max-width: 1120px; margin: 0 auto clamp(4rem, 6vw, 6rem); text-align: center; }
.nova-philosophy__intro h2 { font-size: clamp(3rem, 5.2vw, 5.45rem); line-height: 1.03; }
.nova-philosophy__intro h2 span { display: block; color: rgba(23, 33, 31, .16); transition: color .95s ease calc(var(--word) * 240ms), transform .95s cubic-bezier(.16, 1, .3, 1) calc(var(--word) * 240ms); transform: translateY(18px); }
.nova-philosophy__intro h2.is-visible span { color: var(--nova-ink); transform: none; }
.nova-philosophy__composition { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); grid-template-rows: auto auto; column-gap: clamp(3rem, 7vw, 7.5rem); row-gap: 2rem; align-items: start; }
.nova-philosophy__image { overflow: hidden; border-radius: var(--nova-radius); box-shadow: 0 28px 76px rgba(62, 91, 83, .12); }
.nova-philosophy__image img { height: 100%; object-fit: cover; }
.nova-philosophy__image--main { grid-row: 1 / -1; width: 100%; height: clamp(610px, 50vw, 750px); border-radius: 18rem 18rem var(--nova-radius) var(--nova-radius); }
.nova-philosophy__steps { width: 100%; padding-top: 1.5rem; }
.nova-philosophy__steps article { padding: 1.65rem 0; display: grid; grid-template-columns: 44px 1fr; gap: 1.1rem; border-top: 1px solid var(--nova-line); }
.nova-philosophy__steps article:last-child { border-bottom: 1px solid var(--nova-line); }
.nova-philosophy__steps article > span { color: var(--nova-green); font-size: .68rem; font-weight: 700; }
.nova-philosophy__steps strong { display: block; font-family: "Tenor Sans", Georgia, serif; font-size: clamp(1.35rem, 2vw, 1.9rem); font-weight: 400; }
.nova-philosophy__steps p { max-width: 31rem; margin-top: .55rem !important; color: var(--nova-muted); font-size: .84rem; }
.nova-philosophy__image--detail { justify-self: end; width: min(78%, 480px); height: clamp(230px, 23vw, 330px); }

.nova-specialist { padding-top: clamp(4rem, 5vw, 5.5rem); padding-bottom: clamp(5rem, 7vw, 7rem); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 7.5rem); align-items: center; }
.nova-specialist__portrait { position: relative; height: min(700px, 60vw); overflow: hidden; border-radius: 18rem 18rem var(--nova-radius) var(--nova-radius); background: var(--nova-sage); box-shadow: 0 35px 90px rgba(50, 87, 77, .14); }
.nova-specialist__portrait img { height: 112%; object-fit: cover; object-position: center top; }
.nova-specialist__copy { max-width: 670px; }
.nova-specialist__copy h2 { font-size: clamp(3.35rem, 5.4vw, 5.45rem); }
.nova-specialist__role { margin-top: 1rem !important; color: var(--nova-green); font-family: "Tenor Sans", Georgia, serif; font-size: 1.08rem; }
.nova-specialist__lead { max-width: 39rem; margin-top: 1.65rem !important; color: var(--nova-muted); font-size: 1rem; }
.nova-specialist dl { margin: 2.7rem 0; border-top: 1px solid var(--nova-line); }
.nova-specialist dl > div { padding: 1rem 0; display: grid; grid-template-columns: minmax(130px, .55fr) 1fr; gap: 1.3rem; border-bottom: 1px solid var(--nova-line); }
.nova-specialist dt { font-family: "Tenor Sans", Georgia, serif; font-size: 1.08rem; }
.nova-specialist dd { color: var(--nova-muted); font-size: .78rem; }
.nova-page .nova-btn--outline { color: var(--nova-green); background: transparent; }
.nova-page .nova-btn--outline:hover { color: var(--nova-white); background: var(--nova-green); }

.nova-journey { position: relative; width: min(calc(100% - 2rem), 1600px); min-height: 700px; margin: 0 auto clamp(4.5rem, 6vw, 6rem); display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border: 1px solid rgba(49, 95, 87, .1); border-radius: clamp(1.5rem, 3vw, 3rem); background: rgba(238, 244, 241, .78); box-shadow: 0 40px 100px rgba(48, 81, 72, .1); }
.nova-journey__media { position: relative; min-height: 700px; overflow: hidden; }
.nova-journey__media img { position: absolute; inset: -7% 0; height: 114%; object-fit: cover; }
.nova-journey__veil { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 70%, rgba(238, 244, 241, .82)); }
.nova-journey__content { align-self: center; padding: clamp(2.8rem, 4.5vw, 4.8rem); }
.nova-journey__content h2 { font-size: clamp(2.75rem, 3.7vw, 3.85rem); }
.nova-journey__list { margin-top: 3rem; border-top: 1px solid var(--nova-line); }
.nova-journey__list article { padding: 1.1rem 0; display: grid; grid-template-columns: 38px 1fr; gap: .9rem; border-bottom: 1px solid var(--nova-line); }
.nova-journey__list article > span { color: var(--nova-green); font-size: .67rem; font-weight: 700; }
.nova-journey__list strong { font-family: "Tenor Sans", Georgia, serif; font-size: 1.18rem; font-weight: 400; }
.nova-journey__list p { margin-top: .18rem !important; color: var(--nova-muted); font-size: .75rem; }

.nova-studio { padding-bottom: clamp(6rem, 8vw, 8rem); }
.nova-studio__copy { width: min(100%, 900px); margin: 0 0 clamp(3.5rem, 5vw, 5rem) auto; }
.nova-studio__copy p:last-child { max-width: 39rem; margin-top: 1.5rem !important; color: var(--nova-muted); }
.nova-studio__gallery { position: relative; min-height: 650px; }
.nova-studio__gallery figure { overflow: hidden; border-radius: var(--nova-radius); box-shadow: 0 30px 80px rgba(46, 80, 71, .13); }
.nova-studio__gallery img { height: 100%; object-fit: cover; }
.nova-studio__wide { width: 76%; height: 540px; }
.nova-studio__small { position: absolute; right: 0; bottom: 0; width: 31%; height: 420px; }

.nova-contacts { position: relative; min-height: 720px; padding: clamp(6rem, 8vw, 8rem) max(1.25rem, calc((100vw - 1500px) / 2)); overflow: hidden; background: radial-gradient(circle at 18% 30%, rgba(219, 231, 226, .95), transparent 38%), radial-gradient(circle at 82% 70%, rgba(245, 237, 221, .92), transparent 36%), #f8faf8; }
.nova-contacts__orb { position: absolute; left: -8rem; bottom: -12rem; width: 34rem; aspect-ratio: 1; border-radius: 50%; background: rgba(255, 255, 255, .56); filter: blur(2px); box-shadow: 0 0 0 5rem rgba(255, 255, 255, .18); }
.nova-contacts__panel { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .72fr; gap: clamp(3rem, 9vw, 10rem); align-items: center; }
.nova-contacts__copy h2 { max-width: 700px; font-size: clamp(3.4rem, 5.4vw, 5.5rem); }
.nova-contacts__copy > p { max-width: 35rem; margin-top: 1.55rem !important; color: var(--nova-muted); }
.nova-contacts address { margin-top: 2.8rem; font-style: normal; line-height: 1.8; }
.nova-contacts address span { color: var(--nova-muted); font-size: .72rem; }
.nova-form { padding: clamp(1.5rem, 3vw, 2.8rem); border: 1px solid rgba(255, 255, 255, .82); border-radius: var(--nova-radius); background: rgba(255, 255, 255, .74); box-shadow: inset 0 1px rgba(255, 255, 255, .95), 0 30px 80px rgba(49, 82, 73, .12); backdrop-filter: blur(24px); }
.nova-form fieldset { display: grid; gap: 1.1rem; padding: 0; border: 0; }
.nova-form legend { margin-bottom: 1.35rem; font-family: "Tenor Sans", Georgia, serif; font-size: 2rem; }
.nova-form label { display: grid; gap: .42rem; color: var(--nova-ink); font-size: .72rem; font-weight: 650; }
.nova-form input { width: 100%; height: 55px; padding: 0 1rem; border: 1px solid rgba(23, 33, 31, .17); border-radius: .8rem; color: var(--nova-ink); background: rgba(255, 255, 255, .78); }
.nova-form input::placeholder { color: #7a8682; }
.nova-form input:focus { border-color: var(--nova-green); outline: 3px solid rgba(49, 95, 87, .13); }
.nova-form .nova-btn { width: 100%; margin-top: .35rem; }
.nova-form > p, .nova-form noscript p { margin-top: .9rem !important; color: #64706c; font-size: .66rem; }
.nova-form__status { min-height: 1em; }

.nova-project-return { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid var(--nova-line); color: var(--nova-muted); background: #f1f5f2; font-size: .72rem; }
.nova-project-return a { color: var(--nova-green); text-decoration: underline; text-underline-offset: 5px; }
.nova-footer { min-height: 180px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: var(--nova-ink); background: #e7efeb; }
.nova-footer .nova-brand span, .nova-footer small { color: var(--nova-muted); }
.nova-footer p { text-align: center; font-size: .72rem; }
.nova-footer > span { justify-self: end; color: var(--nova-muted); font-size: .7rem; }

.nova-page.is-enhanced [data-nova-reveal] { opacity: 0; transform: translateY(34px); transition: opacity .85s cubic-bezier(.16, 1, .3, 1), transform .85s cubic-bezier(.16, 1, .3, 1); }
.nova-page.is-enhanced [data-nova-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .nova-header__inner { grid-template-columns: 1fr auto; }
  .nova-nav { position: fixed; inset: 86px 1rem auto; display: grid; gap: 0; padding: 1rem; border: 1px solid rgba(23, 33, 31, .11); border-radius: 1.3rem; background: rgba(250, 251, 249, .98); box-shadow: 0 25px 60px rgba(35, 66, 58, .15); opacity: 0; transform: translateY(-12px); pointer-events: none; }
  .nova-nav.is-open { opacity: 1; transform: none; pointer-events: auto; }
  .nova-nav a { padding: 1rem; border-bottom: 1px solid var(--nova-line); }
  .nova-nav a:last-child { border: 0; }
  .nova-nav a::after { display: none; }
  .nova-header__actions { display: none; }
  .nova-menu { display: block; }
  .nova-hero__copy { width: min(58%, 620px); }
  .nova-hero__note { display: none; }
  .nova-services__accordion { height: 610px; margin-right: -1.25rem; padding-right: 1.25rem; grid-template-columns: none; grid-template-rows: 1fr; grid-auto-flow: column; grid-auto-columns: minmax(320px, 46vw); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .nova-services__accordion::-webkit-scrollbar { display: none; }
  .nova-service, .nova-service:first-child { grid-row: auto; scroll-snap-align: start; }
  .nova-service__copy { min-width: 0; }
  .nova-philosophy__composition { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: 2.5rem; }
  .nova-philosophy__image--main { height: 620px; }
  .nova-philosophy__image--detail { width: 88%; height: 260px; }
  .nova-journey { grid-template-columns: .92fr 1.08fr; }
}

@media (max-width: 767px) {
  .nova-header { padding: .55rem; }
  .nova-header__inner { height: 62px; padding: 0 .65rem 0 1rem; }
  .nova-brand strong { font-size: .92rem; }
  .nova-brand span { font-size: .54rem; }
  .nova-menu { width: 42px; height: 42px; }
  .nova-nav { inset: 72px .55rem auto; }
  .nova-hero { padding: 76px .55rem .55rem; }
  .nova-hero__frame { min-height: max(690px, calc(100dvh - 82px)); border-radius: 1.35rem; }
  .nova-hero__image { object-position: 60% center; }
  .nova-hero__veil { background: linear-gradient(180deg, rgba(248, 249, 246, .96) 0%, rgba(248, 249, 246, .8) 40%, rgba(248, 249, 246, .1) 72%), linear-gradient(0deg, rgba(22, 33, 30, .6) 0%, rgba(22, 33, 30, 0) 30%); }
  .nova-hero__copy { left: 1.2rem; right: 1.2rem; top: 11%; width: auto; transform: none; }
  .nova-kicker { margin-bottom: .8rem !important; font-size: .61rem; }
  .nova-hero h1 { max-width: 21rem; font-size: clamp(2.8rem, 12.5vw, 3.4rem); line-height: .99; }
  .nova-hero__lead { max-width: 22rem; margin-top: 1rem !important; font-size: .88rem; }
  .nova-hero__buttons { margin-top: 1.4rem; gap: .9rem; }
  .nova-btn { min-height: 48px; padding: .8rem 1.15rem; }
  .nova-arrow-link { font-size: .68rem; }
  .nova-hero__proof { grid-template-columns: 1fr; padding: .65rem 0; }
  .nova-hero__proof span { min-height: 33px; padding: .3rem .7rem; font-size: .58rem; }
  .nova-hero__proof span + span { border-left: 0; }
  .nova-demo-strip { min-height: auto; padding-block: .85rem; align-items: flex-start; font-size: .6rem; }
  .nova-page h2 { font-size: clamp(2.65rem, 12vw, 3.75rem); }
  .nova-services, .nova-specialist, .nova-studio, .nova-contacts { scroll-margin-top: 80px; }
  .nova-services { padding: 5.5rem 1rem 6.5rem; }
  .nova-section-title { margin-bottom: 2.8rem; }
  .nova-section-title > p { margin-top: 1.15rem !important; }
  .nova-services__accordion { height: 560px; margin-right: -1rem; padding-right: 1rem; grid-template-columns: none; grid-template-rows: 1fr; grid-auto-flow: column; grid-auto-columns: 84vw; }
  .nova-services__accordion::-webkit-scrollbar { display: none; }
  .nova-service, .nova-service.is-active, .nova-service:first-child { width: 100%; min-width: 0; grid-row: auto; scroll-snap-align: center; }
  .nova-service__copy { min-width: 0; padding: 1.3rem; }
  .nova-service__copy h3 { font-size: 2.35rem; }
  .nova-philosophy { padding: 2.5rem 1rem 4rem; }
  .nova-philosophy__intro { margin-bottom: 4rem; text-align: left; }
  .nova-philosophy__intro h2 { font-size: clamp(2.65rem, 12vw, 3.75rem); }
  .nova-philosophy__composition { grid-template-columns: 1fr; grid-template-rows: auto; gap: 3rem; }
  .nova-philosophy__image--main { grid-row: auto; width: 88%; height: 118vw; max-height: 620px; margin-left: auto; }
  .nova-philosophy__steps { width: 100%; margin: 0; padding: 0; }
  .nova-philosophy__image--detail { justify-self: start; width: 62%; height: 240px; }
  .nova-specialist { padding: 4.5rem 1rem 5.5rem; grid-template-columns: 1fr; gap: 3.4rem; }
  .nova-specialist__portrait { height: 122vw; max-height: 700px; }
  .nova-specialist dl > div { grid-template-columns: 1fr; gap: .2rem; }
  .nova-journey { width: calc(100% - 1.1rem); min-height: 0; margin-bottom: 5.5rem; grid-template-columns: 1fr; }
  .nova-journey__media { min-height: 530px; }
  .nova-journey__veil { background: linear-gradient(0deg, rgba(238, 244, 241, .72), transparent 40%); }
  .nova-journey__content { padding: 2rem 1.25rem 3rem; }
  .nova-studio { padding: 0 1rem 5.5rem; }
  .nova-studio__copy { margin: 0 0 3rem; }
  .nova-studio__gallery { min-height: 590px; }
  .nova-studio__wide { width: 92%; height: 400px; }
  .nova-studio__small { width: 59%; height: 320px; }
  .nova-contacts { min-height: 0; padding: 6rem 1rem; }
  .nova-contacts__panel { grid-template-columns: 1fr; gap: 3rem; }
  .nova-contacts__copy h2 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .nova-form { padding: 1.2rem; }
  .nova-project-return { padding-block: 1.4rem; display: grid; }
  .nova-footer { min-height: 230px; padding: 2rem 1rem; grid-template-columns: 1fr; gap: 1.3rem; }
  .nova-footer p { text-align: left; }
  .nova-footer > span { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .nova-page *, .nova-page *::before, .nova-page *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .01ms !important; }
  .nova-page [data-nova-parallax] { transform: none !important; }
  .nova-page.is-enhanced [data-nova-reveal] { opacity: 1; transform: none; }
  .nova-philosophy__intro h2 span { color: var(--nova-ink); transform: none; }
}

@media (prefers-reduced-transparency: reduce) {
  .nova-header__inner, .nova-form { background: var(--nova-paper); backdrop-filter: none; }
  .nova-hero__proof { background: rgba(23, 33, 31, .78); backdrop-filter: none; }
}
