:root {
  --runway-sage: #A8B5A0;
  --runway-sage-dark: #687865;
  --runway-ivory: #F7F5EF;
  --runway-mist: #E5EADF;
  --runway-ink: #1D211E;
  --runway-muted: #626A63;
  --runway-gold: #B08B49;
  --runway-line: rgba(29, 33, 30, .16);
}

html { scroll-behavior: smooth; }
body {
  background: var(--runway-ivory);
  color: var(--runway-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
::selection { background: var(--runway-sage); color: var(--runway-ink); }

.fme-runway-header,
.fme-runway-header-root {
  border-bottom: 1px solid var(--runway-line);
  transition: min-height .35s ease, background-color .35s ease, box-shadow .35s ease;
}
.fme-runway-header.elementor-sticky--effects,
.elementor-sticky--effects .fme-runway-header {
  background: rgba(247,245,239,.94) !important;
  box-shadow: 0 16px 48px rgba(29,33,30,.10);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.fme-runway-header .elementor-nav-menu--main .elementor-item {
  letter-spacing: .135em;
  text-transform: uppercase;
}
.fme-runway-header .elementor-nav-menu--main .elementor-item::after { height: 1px; }
.fme-runway-header .elementor-menu-toggle {
  border: 1px solid var(--runway-line);
  border-radius: 0;
}
.fme-runway-header .elementor-nav-menu--dropdown {
  border: 1px solid var(--runway-line);
  box-shadow: 0 28px 60px rgba(29,33,30,.13);
}

.fme-runway-page { overflow: clip; }
.fme-runway-eyebrow .elementor-heading-title,
.fme-runway-eyebrow {
  letter-spacing: .21em;
  text-transform: uppercase;
}
.fme-runway-display .elementor-heading-title {
  text-wrap: balance;
  letter-spacing: -.025em;
}
.fme-runway-copy,
.fme-runway-copy p { text-wrap: pretty; }
.fme-runway-copy p:last-child { margin-bottom: 0; }
.fme-runway-line { width: min(100%, 82px) !important; }
.fme-runway-image-frame { overflow: hidden; }
.fme-runway-image-frame img,
.fme-runway-service-image,
.fme-runway-company-hero,
.fme-runway-business-hero,
.fme-runway-contact-closing {
  transition: transform 1s cubic-bezier(.2,.8,.2,1), filter .55s ease;
}
.fme-runway-image-frame:hover img { transform: scale(1.035); }
.fme-runway-button .elementor-button,
.fme-runway-text-link .elementor-button { transition: transform .25s ease, background-color .25s ease, color .25s ease; }
.fme-runway-button .elementor-button:hover { transform: translateY(-2px); }
.fme-runway-text-link .elementor-button { position: relative; }
.fme-runway-text-link .elementor-button::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(.22);
  transform-origin: left;
  transition: transform .35s ease;
}
.fme-runway-text-link .elementor-button:hover::after { transform: scaleX(1); }

/* Home · runway triptych */
.fme-runway-home-hero { position: relative; isolation: isolate; }
.fme-runway-home-hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(18,21,19,.74) 0%, rgba(18,21,19,.32) 48%, rgba(18,21,19,.12) 100%);
}
.fme-runway-home-hero::before {
  content: "RUNWAY ÉDITION  /  ITALY TO WORLD";
  position: absolute;
  z-index: 6;
  right: 28px;
  bottom: 24px;
  color: rgba(247,245,239,.74);
  font: 600 9px/1 "DM Sans", sans-serif;
  letter-spacing: .22em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.fme-runway-hero-gallery {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.fme-runway-hero-panel {
  filter: saturate(.74) contrast(1.02);
  transition: width .8s cubic-bezier(.2,.8,.2,1), filter .65s ease, transform 1.2s cubic-bezier(.2,.8,.2,1);
}
.fme-runway-hero-gallery:hover .fme-runway-hero-panel { filter: saturate(.52) contrast(1.02); }
.fme-runway-hero-gallery .fme-runway-hero-panel:hover { filter: saturate(.92) contrast(1.04); }
.fme-runway-hero-panel:not(:last-child) { border-right: 1px solid rgba(247,245,239,.32); }
.fme-runway-hero-copy {
  position: absolute !important;
  z-index: 5;
  left: max(26px, calc((100vw - 1400px)/2 + 40px));
  top: 0;
  bottom: 0;
  background: transparent !important;
}
.fme-runway-hero-logo {
  width: 420px !important;
  max-width: 48vw;
  margin-bottom: auto;
  background: var(--runway-ivory);
  border: 1px solid rgba(29,33,30,.12);
  box-shadow: 0 18px 50px rgba(0,0,0,.10);
}
.fme-runway-hero-logo img {
  display: block;
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
}
.fme-runway-hero-copy .elementor-heading-title { color: var(--runway-ivory) !important; }
.fme-runway-hero-copy .fme-runway-eyebrow .elementor-heading-title { color: var(--runway-sage) !important; }
.fme-runway-hero-copy .elementor-widget-text-editor,
.fme-runway-hero-copy .elementor-widget-text-editor p { color: rgba(247,245,239,.78) !important; }
.fme-runway-hero-copy .fme-runway-display .elementor-heading-title {
  font-size: clamp(74px, 8.2vw, 138px) !important;
  line-height: .84 !important;
  max-width: 940px;
  text-shadow: 0 10px 50px rgba(0,0,0,.18);
}
.fme-runway-hero-copy .elementor-button { border-color: rgba(247,245,239,.74) !important; }

.fme-runway-home-manifesto {
  position: relative;
  background: var(--runway-ink) !important;
  border-top: 1px solid rgba(247,245,239,.18);
  border-bottom: 1px solid rgba(247,245,239,.18);
}
.fme-runway-manifesto-item { position: relative; }
.fme-runway-manifesto-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 8%;
  width: 1px;
  height: 84%;
  background: rgba(247,245,239,.18);
}
.fme-runway-home-manifesto .elementor-heading-title { color: var(--runway-sage) !important; }
.fme-runway-home-manifesto .elementor-widget-text-editor,
.fme-runway-home-manifesto .elementor-widget-text-editor p { color: rgba(247,245,239,.68) !important; }

.fme-runway-home-identity { position: relative; }
.fme-runway-home-identity::before {
  content: "01";
  position: absolute;
  left: 0;
  top: 80px;
  color: rgba(29,33,30,.08);
  font: 400 clamp(130px,18vw,270px)/.7 Italiana, Georgia, serif;
}
.fme-runway-identity-copy { position: relative; z-index: 1; }
.fme-runway-identity-image {
  position: relative;
  clip-path: inset(0 0 0 9%);
}
.fme-runway-identity-image::after {
  content: "RELATIONSHIPS";
  position: absolute;
  left: 22px;
  bottom: 18px;
  color: rgba(247,245,239,.82);
  font: 600 9px/1 "DM Sans", sans-serif;
  letter-spacing: .20em;
}

.fme-runway-home-business { background: var(--runway-mist) !important; }
.fme-runway-home-business > .e-con-inner > :first-child { border-bottom: 1px solid var(--runway-line); }
.fme-runway-service-spread { border: 1px solid var(--runway-line); border-top: 0; }
.fme-runway-service-image {
  position: relative;
  overflow: hidden;
  filter: saturate(.78);
}
.fme-runway-service-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(29,33,30,.18));
  transition: background .5s ease;
}
.fme-runway-service-spread:hover .fme-runway-service-image { filter: saturate(.96); }
.fme-runway-service-copy { position: relative; isolation: isolate; }
.fme-runway-service-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 40px;
  top: 40px;
  width: 88px;
  height: 88px;
  border: 1px solid rgba(29,33,30,.18);
  border-radius: 50%;
}
.fme-runway-service-copy-2 .elementor-heading-title,
.fme-runway-service-copy-2 .elementor-widget-text-editor,
.fme-runway-service-copy-2 .elementor-widget-text-editor p { color: var(--runway-ink) !important; }

.fme-runway-home-values { position: relative; background: var(--runway-ivory) !important; }
.fme-runway-home-values::after {
  content: "VALUES";
  position: absolute;
  z-index: 0;
  right: -26px;
  top: 80px;
  color: rgba(168,181,160,.14);
  font: 400 clamp(72px,12vw,180px)/.8 Italiana, Georgia, serif;
  writing-mode: vertical-rl;
}
.fme-runway-home-values > .e-con-inner { position: relative; z-index: 1; }
.fme-runway-value-card {
  border: 1px solid var(--runway-line);
  margin-right: -1px;
  margin-bottom: -1px;
  transition: background-color .4s ease, color .4s ease, transform .4s cubic-bezier(.2,.8,.2,1);
}
.fme-runway-value-card:hover { z-index: 2; background: var(--runway-ink) !important; transform: translateY(-6px); }
.fme-runway-value-card:hover .elementor-heading-title,
.fme-runway-value-card:hover .elementor-widget-text-editor,
.fme-runway-value-card:hover .elementor-widget-text-editor p { color: var(--runway-ivory) !important; }
.fme-runway-value-card .fme-runway-index .elementor-heading-title {
  color: transparent !important;
  -webkit-text-stroke: 1px rgba(176,139,73,.68);
  font-size: 76px !important;
}

.fme-runway-home-global { position: relative; isolation: isolate; }
.fme-runway-home-global::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(18,21,19,.61);
}
.fme-runway-global-copy {
  text-align: center;
  background: rgba(29,33,30,.72);
  border: 1px solid rgba(247,245,239,.35);
  backdrop-filter: blur(8px);
}
.fme-runway-global-copy .elementor-heading-title { color: var(--runway-ivory) !important; }
.fme-runway-global-copy .fme-runway-eyebrow .elementor-heading-title { color: var(--runway-sage) !important; }
.fme-runway-global-copy .elementor-widget-text-editor,
.fme-runway-global-copy .elementor-widget-text-editor p { color: rgba(247,245,239,.74) !important; }

.fme-runway-home-cta,
.fme-runway-company-cta,
.fme-runway-business-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.fme-runway-home-cta::before,
.fme-runway-company-cta::before,
.fme-runway-business-cta::before {
  content: "FM";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  color: rgba(29,33,30,.07);
  font: 400 clamp(160px,30vw,440px)/.7 Italiana, Georgia, serif;
}

/* Inner pages */
.fme-runway-company-hero,
.fme-runway-business-hero {
  position: relative;
  isolation: isolate;
  border-bottom: 10px solid var(--runway-sage);
}
.fme-runway-company-hero::after,
.fme-runway-business-hero::after {
  content: "FAYORO MAISON  /  RUNWAY ÉDITION";
  position: absolute;
  right: 28px;
  bottom: 22px;
  color: rgba(247,245,239,.72);
  font: 600 9px/1 "DM Sans", sans-serif;
  letter-spacing: .22em;
}
.fme-runway-company-identity,
.fme-runway-company-global,
.fme-runway-company-approach,
.fme-runway-business-overview,
.fme-runway-service-chapter { border-bottom: 1px solid var(--runway-line); }
.fme-runway-company-founders { background: var(--runway-ink) !important; }
.fme-runway-company-founders > .e-con-inner > .elementor-widget-heading .elementor-heading-title { color: var(--runway-ivory) !important; }
.fme-runway-founder-card {
  min-height: 470px;
  background: transparent !important;
  border: 1px solid rgba(247,245,239,.22) !important;
  transition: background-color .4s ease, transform .4s ease;
}
.fme-runway-founder-card:hover { background: rgba(247,245,239,.07) !important; transform: translateY(-6px); }
.fme-runway-founder-card .elementor-heading-title { color: var(--runway-ivory) !important; }
.fme-runway-founder-card .fme-runway-eyebrow .elementor-heading-title { color: var(--runway-sage) !important; }
.fme-runway-founder-card .elementor-widget-text-editor,
.fme-runway-founder-card .elementor-widget-text-editor p { color: rgba(247,245,239,.72) !important; }
.fme-runway-company-values .fme-runway-card {
  border-top: 1px solid var(--runway-line);
  border-bottom: 1px solid var(--runway-line);
  border-left: 0;
  border-right: 0;
}
.fme-runway-company-global { background: var(--runway-mist) !important; }
.fme-runway-company-approach { background: var(--runway-ivory) !important; }

.fme-runway-business-pronto,
.fme-runway-business-stock,
.fme-runway-business-connection { position: relative; }
.fme-runway-business-pronto::before,
.fme-runway-business-stock::before,
.fme-runway-business-connection::before {
  position: absolute;
  top: 64px;
  color: rgba(29,33,30,.08);
  font: 400 clamp(120px,17vw,250px)/.7 Italiana, Georgia, serif;
}
.fme-runway-business-pronto::before { content: "01"; right: 24px; }
.fme-runway-business-stock::before { content: "02"; left: 24px; }
.fme-runway-business-connection::before { content: "03"; right: 24px; }
.fme-runway-business-stock { background: var(--runway-mist) !important; }
.fme-runway-business-method { background: var(--runway-ink) !important; }
.fme-runway-business-method .elementor-heading-title { color: var(--runway-ivory) !important; }
.fme-runway-business-method .fme-runway-eyebrow .elementor-heading-title { color: var(--runway-sage) !important; }
.fme-runway-business-method .elementor-widget-text-editor,
.fme-runway-business-method .elementor-widget-text-editor p { color: rgba(247,245,239,.68) !important; }
.fme-runway-business-method .elementor-element:not(.elementor-widget-heading):not(.elementor-widget-text-editor) { border-color: rgba(247,245,239,.18); }
.fme-runway-business-audience .fme-runway-card { border: 1px solid var(--runway-line); }

.fme-runway-contact-hero { position: relative; background: var(--runway-ink) !important; }
.fme-runway-contact-hero::before {
  content: "CONTACT / BUSINESS ENQUIRIES";
  position: absolute;
  left: 24px;
  bottom: 26px;
  color: rgba(247,245,239,.48);
  font: 600 9px/1 "DM Sans", sans-serif;
  letter-spacing: .22em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.fme-runway-contact-hero .elementor-heading-title { color: var(--runway-ivory) !important; }
.fme-runway-contact-hero .fme-runway-eyebrow .elementor-heading-title { color: var(--runway-sage) !important; }
.fme-runway-contact-hero .elementor-widget-text-editor,
.fme-runway-contact-hero .elementor-widget-text-editor p { color: rgba(247,245,239,.7) !important; }
.fme-runway-contact-logo { background: var(--runway-ivory); border: 1px solid rgba(247,245,239,.28); }
.fme-runway-contact-paths { background: var(--runway-mist) !important; }
.fme-runway-contact-paths .fme-runway-card { border: 1px solid var(--runway-line); }
.fme-runway-form-stage { background: var(--runway-ivory) !important; }
.fme-runway-form .elementor-field-group { margin-bottom: 18px; }
.fme-runway-form .elementor-field,
.fme-runway-form select.elementor-field,
.fme-runway-form textarea.elementor-field {
  min-height: 54px;
  padding: 14px 0 !important;
  color: var(--runway-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(29,33,30,.30) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.fme-runway-form textarea.elementor-field { min-height: 132px; resize: vertical; }
.fme-runway-form .elementor-field:focus { border-bottom-color: var(--runway-sage-dark) !important; }
.fme-runway-form .elementor-field-label {
  margin-bottom: 2px;
  color: var(--runway-muted);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.fme-runway-form .elementor-button { min-height: 56px; border-radius: 0; letter-spacing: .14em; text-transform: uppercase; }

.fme-runway-footer-root { border-top: 9px solid var(--runway-sage); }
.fme-runway-footer-root a { color: inherit; }
.fme-runway-footer-root a:hover { color: var(--runway-sage); }
.fme-runway-footer-logo { background: var(--runway-ivory); }
.fme-runway-soft-grain::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

@media (max-width: 1024px) {
  .fme-runway-manifesto-item:not(:last-child)::after { display: none; }
  .fme-runway-hero-copy { left: 26px; }
  .fme-runway-hero-copy .fme-runway-display .elementor-heading-title { font-size: clamp(66px, 10vw, 104px) !important; }
  .fme-runway-identity-copy { padding-right: 42px !important; }
  .fme-runway-service-copy { padding: 58px 42px !important; }
  .fme-runway-header .elementor-nav-menu--dropdown a { padding: 15px 26px !important; }
}

@media (max-width: 767px) {
  .fme-runway-display .elementor-heading-title { hyphens: auto; }
  .fme-runway-header-root { flex-wrap: nowrap !important; }
  .fme-runway-hero-panel-street { display: none; }
  .fme-runway-hero-panel { width: 50% !important; min-height: 650px !important; }
  .fme-runway-home-hero::after { background: linear-gradient(180deg, rgba(18,21,19,.36), rgba(18,21,19,.78)); }
  .fme-runway-home-hero::before { display: none; }
  .fme-runway-hero-copy { left: 0; right: 0; width: 100% !important; }
  .fme-runway-hero-copy .fme-runway-display .elementor-heading-title { font-size: 55px !important; line-height: .89 !important; }
  .fme-runway-hero-logo { width: 270px !important; max-width: calc(100vw - 40px); margin-bottom: auto; }
  .fme-runway-home-identity::before { top: 44px; }
  .fme-runway-identity-image { clip-path: none; }
  .fme-runway-identity-copy { padding: 62px 18px 46px !important; }
  .fme-runway-service-spread-2 > .e-con-inner,
  .fme-runway-service-spread-2 { flex-direction: column-reverse !important; }
  .fme-runway-service-copy { min-height: 0 !important; padding: 54px 24px !important; }
  .fme-runway-service-image { min-height: 470px !important; }
  .fme-runway-value-card { width: 100% !important; min-height: 300px !important; padding: 42px 28px !important; }
  .fme-runway-global-copy { padding: 44px 20px !important; }
  .fme-runway-founder-card { min-height: 0; }
  .fme-runway-company-hero::after,
  .fme-runway-business-hero::after { right: 18px; bottom: 16px; letter-spacing: .15em; }
  .fme-runway-business-pronto::before,
  .fme-runway-business-stock::before,
  .fme-runway-business-connection::before { top: 34px; opacity: .8; }
  .fme-runway-contact-hero::before { display: none; }
  .fme-runway-image-frame:hover img,
  .fme-runway-value-card:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms;
    animation-iteration-count: 1;
    scroll-behavior: auto;
    transition-duration: .01ms;
  }
}