:root {
  --fp-night: #061331;
  --fp-night-deep: #020817;
  --fp-blue: #0b2867;
  --fp-blue-bright: #194fbd;
  --fp-gold: #d9b457;
  --fp-gold-soft: #f5dda2;
  --fp-cream: #fffaf0;
  --fp-white: #f8faff;
  --fp-muted: #a9b4ce;
  --fp-line: rgba(220, 190, 104, 0.22);
  --fp-radius: 28px;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--fp-white);
  background: var(--fp-night-deep);
  font-family: Inter, "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
}
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.fp-skip {
  position: fixed;
  z-index: 1000;
  top: 0.7rem;
  left: 0.7rem;
  padding: 0.8rem 1rem;
  color: #07102c;
  background: var(--fp-gold-soft);
  transform: translateY(-150%);
}
.fp-skip:focus { transform: translateY(0); }

.fp-nav {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  min-height: 84px;
  padding: 0 4vw;
  border-bottom: 1px solid transparent;
  background: linear-gradient(180deg, rgba(2, 8, 23, 0.9), transparent);
  transition: min-height 240ms ease, border-color 240ms ease, background 240ms ease, backdrop-filter 240ms ease;
}
.fp-nav.is-scrolled {
  min-height: 68px;
  border-color: var(--fp-line);
  background: rgba(2, 8, 23, 0.83);
  backdrop-filter: blur(18px);
}
.fp-brand { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; }
.fp-brand > span:last-child { display: flex; flex-direction: column; line-height: 1; }
.fp-brand b { font-size: 0.8rem; font-weight: 900; letter-spacing: 0.16em; }
.fp-brand small { margin-top: 0.35rem; color: var(--fp-gold-soft); font-size: 0.55rem; font-weight: 800; letter-spacing: 0.38em; }
.fp-brand-mark { position: relative; display: flex; width: 38px; height: 38px; align-items: center; justify-content: center; }
.fp-brand-mark::before,
.fp-brand-mark::after,
.fp-brand-mark i { position: absolute; width: 22px; height: 22px; border: 1px solid var(--fp-gold); content: ""; transform: rotate(45deg); }
.fp-brand-mark::after { width: 15px; height: 15px; opacity: 0.58; }
.fp-brand-mark i:first-child { width: 7px; height: 7px; border-color: var(--fp-gold-soft); }
.fp-brand-mark i:last-child { display: none; }
.fp-nav > nav { display: flex; align-items: center; gap: clamp(1.3rem, 3vw, 3.4rem); }
.fp-nav > nav a { color: #d4dbec; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }
.fp-nav > nav a:hover { color: var(--fp-gold-soft); }
.fp-nav-cta { padding: 0.8rem 1rem; border: 1px solid var(--fp-line); color: var(--fp-gold-soft); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.fp-nav-cta span { margin-left: 0.5rem; }

.fp-hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
  align-items: center;
  gap: 4vw;
  padding: 8rem 6vw 5rem;
  background:
    linear-gradient(90deg, rgba(1, 7, 21, 0.96) 0 45%, rgba(4, 18, 52, 0.72)),
    radial-gradient(circle at 80% 40%, #0b3a91, transparent 40%),
    #020817;
  isolation: isolate;
}
.fp-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.36;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 58px 58px;
  content: "";
  mask-image: linear-gradient(90deg, transparent, #000);
}
.fp-hero-glow { position: absolute; z-index: -1; width: 36rem; height: 36rem; border-radius: 50%; background: rgba(23, 78, 181, 0.28); filter: blur(90px); transform: translate(125%, -25%); }
.fp-hero-copy { position: relative; z-index: 2; max-width: 740px; }
.fp-kicker { margin: 0 0 1.4rem; color: var(--fp-gold-soft); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.19em; text-transform: uppercase; }
.fp-kicker span { display: inline-block; width: 28px; height: 1px; margin: 0 0.8rem 0.2rem 0; background: var(--fp-gold); }
.fp-hero h1,
.fp-section h2,
.fp-final-cta h2 {
  margin: 0;
  font-size: clamp(3.35rem, 7.5vw, 7.4rem);
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: -0.075em;
  text-transform: uppercase;
}
.fp-hero h1 em,
.fp-section h2 em,
.fp-final-cta h2 em { color: var(--fp-gold-soft); font-style: normal; font-weight: 300; letter-spacing: -0.065em; }
.fp-hero-lead { max-width: 620px; margin: 2rem 0 0; color: #bec8df; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.7; }
.fp-hero-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2.2rem; }
.fp-btn { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 1.3rem; padding: 0.9rem 1.4rem; border: 1px solid transparent; font-size: 0.7rem; font-weight: 900; letter-spacing: 0.12em; text-decoration: none; text-transform: uppercase; transition: transform 180ms ease, background 180ms ease, color 180ms ease; }
.fp-btn:hover { transform: translateY(-3px); }
.fp-btn-gold { color: #071129; background: var(--fp-gold); }
.fp-btn-gold:hover { background: var(--fp-gold-soft); }
.fp-btn-ghost { border-color: rgba(255,255,255,.2); color: #e6ebf8; background: rgba(255,255,255,.025); }
.fp-btn-ghost:hover { border-color: rgba(255,255,255,.5); }
.fp-proof { display: flex; gap: clamp(1rem, 3vw, 3rem); padding: 0; margin: 3.4rem 0 0; list-style: none; }
.fp-proof li { display: flex; align-items: center; gap: 0.75rem; }
.fp-proof strong { color: var(--fp-gold-soft); font-size: 1.55rem; font-weight: 850; letter-spacing: -0.06em; }
.fp-proof span { color: #8d9ab8; font-size: 0.61rem; font-weight: 750; line-height: 1.45; letter-spacing: 0.08em; text-transform: uppercase; }

.fp-hero-stage { position: relative; display: grid; min-height: 660px; place-items: center; perspective: 1000px; }
.fp-phone { position: absolute; width: min(310px, 62vw); aspect-ratio: 0.52; padding: 10px; border: 1px solid rgba(255,255,255,.3); border-radius: 38px; background: #030711; box-shadow: 0 40px 90px rgba(0,0,0,.55); }
.fp-phone::before { position: absolute; z-index: 3; top: 17px; left: 50%; width: 75px; height: 18px; border-radius: 999px; background: #030711; content: ""; transform: translateX(-50%); }
.fp-phone-main { z-index: 3; transform: rotateY(-7deg) rotateZ(3deg); animation: fp-float 7s ease-in-out infinite; }
.fp-phone-back { z-index: 1; opacity: .62; filter: saturate(.7); transform: translate(-55%, 5%) rotateZ(-10deg) scale(.82); }
.fp-phone-screen { position: relative; display: flex; height: 100%; overflow: hidden; align-items: center; justify-content: center; flex-direction: column; padding: 2rem; border-radius: 29px; text-align: center; }
.fp-phone-screen::before { position: absolute; inset: 15px; border: 1px solid currentColor; border-radius: 24px; content: ""; opacity: .35; }
.fp-phone-screen p { margin: 0 0 2rem; font-size: .58rem; font-weight: 900; letter-spacing: .25em; }
.fp-phone-screen h2 { margin: 0; font-size: clamp(2rem, 5vw, 3rem); font-weight: 750; line-height: .92; letter-spacing: -.06em; text-transform: none; }
.fp-phone-screen h2 span { color: var(--fp-gold-soft); font-size: .7em; font-weight: 300; }
.fp-phone-screen > small { margin-top: 2rem; font-size: .54rem; font-weight: 800; letter-spacing: .2em; }
.fp-mini-date { display: flex; width: 100%; align-items: center; justify-content: center; gap: .65rem; margin-top: 2rem; }
.fp-mini-date i { width: 28px; height: 1px; background: currentColor; opacity: .45; }
.fp-mini-date b { font-size: 2.1rem; line-height: 1; }
.fp-mini-date span { font-size: .5rem; font-weight: 850; line-height: 1.4; letter-spacing: .12em; text-align: left; }
.fp-design-alliance .fp-phone-screen { color: #f9e1aa; background: radial-gradient(circle at 50% 30%, rgba(205,162,84,.22), transparent 30%), linear-gradient(155deg, #35241d, #100c0b 75%); }
.fp-design-saphir .fp-phone-screen { color: #ffe6a0; background: radial-gradient(circle at 50% 20%, #194a9b, transparent 42%), linear-gradient(155deg, #081944, #020817); }
.fp-floating-note { position: absolute; z-index: 5; display: flex; align-items: center; gap: .7rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.14); color: #ced8ed; background: rgba(5, 16, 45, .78); box-shadow: 0 18px 40px rgba(0,0,0,.25); backdrop-filter: blur(12px); font-size: .58rem; font-weight: 850; letter-spacing: .11em; }
.fp-floating-note span { color: var(--fp-gold-soft); }
.fp-note-top { top: 24%; right: 3%; animation: fp-float 6s ease-in-out -2s infinite; }
.fp-note-bottom { bottom: 18%; left: 2%; animation: fp-float 8s ease-in-out -4s infinite; }
.fp-orbit { position: absolute; border: 1px solid rgba(217,180,87,.18); border-radius: 50%; }
.fp-orbit-one { width: 520px; height: 520px; animation: fp-spin 26s linear infinite; }
.fp-orbit-two { width: 650px; height: 650px; border-style: dashed; opacity: .5; animation: fp-spin 38s linear reverse infinite; }

.fp-marquee { overflow: hidden; border-top: 1px solid var(--fp-line); border-bottom: 1px solid var(--fp-line); background: var(--fp-gold); color: #071129; }
.fp-marquee > div { display: flex; width: max-content; align-items: center; gap: 2.7rem; padding: .8rem 0; animation: fp-marquee 26s linear infinite; }
.fp-marquee span { font-size: .7rem; font-weight: 950; letter-spacing: .18em; }
.fp-marquee i { font-style: normal; }

.fp-section { padding: clamp(5rem, 10vw, 9rem) 6vw; }
.fp-section-head { display: flex; align-items: end; justify-content: space-between; gap: 4rem; margin-bottom: clamp(3rem, 7vw, 6rem); }
.fp-section-head > div { max-width: 850px; }
.fp-section-head h2,
.fp-final-cta h2 { font-size: clamp(2.8rem, 6vw, 6.3rem); }
.fp-section-head > p { max-width: 430px; margin: 0 0 .5rem; color: var(--fp-muted); line-height: 1.8; }
.fp-section-head-centered { display: block; text-align: center; }

.fp-designs { background: #f2eee5; color: #091126; }
.fp-designs .fp-kicker { color: #725f2a; }
.fp-designs .fp-section-head h2 em { color: #8a6d25; }
.fp-designs .fp-section-head > p { color: #5e6575; }
.fp-design-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4.5rem 1.4rem; }
.fp-design-card { min-width: 0; }
.fp-design-visual { position: relative; display: grid; min-height: clamp(420px, 54vw, 680px); overflow: hidden; place-items: center; background: #121212; }
.fp-design-index { position: absolute; top: 1.3rem; left: 1.3rem; color: rgba(255,255,255,.62); font-size: .62rem; font-weight: 850; letter-spacing: .15em; }
.fp-design-invite { position: relative; display: flex; width: 60%; aspect-ratio: .65; align-items: center; justify-content: center; flex-direction: column; padding: 2rem; border: 1px solid currentColor; text-align: center; box-shadow: 0 24px 65px rgba(0,0,0,.22); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.fp-design-card:hover .fp-design-invite { transform: translateY(-8px) rotate(-1deg); }
.fp-design-invite::before { position: absolute; inset: 10px; border: 1px solid currentColor; content: ""; opacity: .3; }
.fp-design-invite small { max-width: 80%; font-size: .52rem; font-weight: 900; letter-spacing: .2em; text-transform: uppercase; }
.fp-design-invite strong { margin: 1.8rem 0; font-size: clamp(1.8rem, 4vw, 3.3rem); font-weight: 650; line-height: .95; letter-spacing: -.07em; }
.fp-design-invite b { font-size: .58rem; letter-spacing: .17em; }
.fp-design-alliance .fp-design-visual { background: radial-gradient(circle at 30% 10%, rgba(217,180,87,.2), transparent 35%), linear-gradient(145deg, #251915, #070606); }
.fp-design-alliance .fp-design-invite { color: #f7d98d; background: rgba(30,19,15,.72); }
.fp-design-nuit-saphir .fp-design-visual { background: radial-gradient(circle at 72% 24%, #164c9f, transparent 35%), linear-gradient(135deg, #071638, #020715); }
.fp-design-nuit-saphir .fp-design-invite { color: #f6d679; background: rgba(4,13,39,.75); border-radius: 180px 180px 8px 8px; }
.fp-design-jardin-ivoire .fp-design-visual { background: radial-gradient(ellipse at 10% 90%, rgba(50,83,58,.45), transparent 34%), radial-gradient(ellipse at 95% 5%, rgba(148,174,131,.5), transparent 32%), #dcd8c9; }
.fp-design-jardin-ivoire .fp-design-invite { color: #48604d; background: rgba(252,249,238,.78); border-radius: 50% 50% 6px 6px; }
.fp-design-edition-privee .fp-design-visual { background: linear-gradient(112deg, #070707 0 55%, #d3ac4f 55% 59%, #151515 59%); }
.fp-design-edition-privee .fp-design-invite { align-items: flex-start; color: #f7d56f; background: rgba(0,0,0,.76); text-align: left; }
.fp-design-edition-privee .fp-design-invite strong { font-size: clamp(2rem, 4.7vw, 4rem); font-weight: 950; text-transform: uppercase; }
.fp-design-info { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-top: 1.3rem; }
.fp-design-info small { color: #7b7464; font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.fp-design-info h3 { margin: .3rem 0 0; font-size: clamp(1.7rem, 3vw, 2.8rem); font-weight: 900; letter-spacing: -.06em; text-transform: uppercase; }
.fp-design-info a,
.fp-text-link { border-bottom: 1px solid currentColor; color: #4a3b15; font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.fp-design-card > p { max-width: 520px; margin: .8rem 0 0; color: #666b77; }

.fp-experience { display: grid; min-height: 830px; grid-template-columns: minmax(0,.85fr) minmax(420px,1.15fr); align-items: center; gap: 7vw; background: radial-gradient(circle at 85% 50%, #103a86, transparent 42%), #05112f; }
.fp-experience-copy { max-width: 650px; }
.fp-experience h2 { font-size: clamp(3rem, 6vw, 6rem); }
.fp-experience-copy > p:not(.fp-kicker) { max-width: 560px; margin: 2rem 0; color: #b0bdd6; line-height: 1.8; }
.fp-experience .fp-text-link { display: inline-block; padding-bottom: .4rem; color: var(--fp-gold-soft); }
.fp-experience-demo { perspective: 1200px; }
.fp-door-stage { position: relative; display: grid; max-width: 650px; aspect-ratio: 1.02; overflow: hidden; place-items: center; border: 12px solid #182140; background: #071431; box-shadow: 0 55px 100px rgba(0,0,0,.45); transform: rotateY(-4deg); transform-style: preserve-3d; }
.fp-door-back { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; color: var(--fp-gold-soft); background: radial-gradient(circle at 50% 40%, #174793, transparent 48%), #050e25; }
.fp-door-back small { font-size: .58rem; font-weight: 900; letter-spacing: .19em; }
.fp-door-back strong { margin-top: 1.2rem; font-size: clamp(2.5rem, 5vw, 5.2rem); font-weight: 800; letter-spacing: -.08em; }
.fp-door-back i { color: #fff; font-style: normal; font-weight: 250; }
.fp-door { position: absolute; z-index: 2; top: 0; bottom: 0; width: 50.2%; border: 1px solid #776138; background: repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 2px, transparent 2px 25%), linear-gradient(145deg,#152956,#050d24 72%); transition: transform 1.25s cubic-bezier(.7,0,.15,1); backface-visibility: hidden; }
.fp-door::before { position: absolute; inset: 7%; border: 1px solid rgba(217,180,87,.42); content: ""; }
.fp-door span { position: absolute; top: 50%; color: rgba(245,221,162,.88); font-size: .7rem; font-weight: 900; letter-spacing: .16em; }
.fp-door-left { left: 0; transform-origin: left; }
.fp-door-right { right: 0; transform-origin: right; }
.fp-door-left span { right: 10%; }
.fp-door-right span { left: 10%; }
.fp-door-stage.is-open .fp-door-left { transform: rotateY(-108deg); }
.fp-door-stage.is-open .fp-door-right { transform: rotateY(108deg); }
.fp-door-stage button { position: relative; z-index: 4; display: grid; width: 84px; height: 84px; place-items: center; border: 1px solid var(--fp-gold); border-radius: 50%; color: #071129; background: var(--fp-gold); cursor: pointer; transition: opacity .35s ease, transform .35s ease; }
.fp-door-stage button span { font-size: .57rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.fp-door-stage button i { position: absolute; width: 102px; height: 102px; border: 1px solid rgba(217,180,87,.38); border-radius: 50%; animation: fp-pulse 2.5s ease-out infinite; }
.fp-door-stage.is-open button { opacity: 0; pointer-events: none; transform: scale(.75); }

.fp-modes { background: #020817; }
.fp-modes .fp-section-head { margin-bottom: 4rem; }
.fp-mode-grid { display: grid; max-width: 1280px; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0 auto; }
.fp-mode-card { position: relative; display: flex; min-height: 570px; flex-direction: column; padding: clamp(2rem,3vw,3.3rem); border: 1px solid rgba(255,255,255,.12); background: linear-gradient(155deg,rgba(13,35,84,.7),rgba(3,10,29,.85)); }
.fp-mode-card.is-featured { border-color: var(--fp-gold); background: linear-gradient(155deg,rgba(28,57,115,.9),rgba(5,14,38,.95)); transform: translateY(-18px); }
.fp-mode-badge { position: absolute; top: 0; right: 0; padding: .55rem .8rem; color: #071129; background: var(--fp-gold); font-size: .52rem; font-weight: 950; letter-spacing: .12em; }
.fp-mode-number { color: var(--fp-gold-soft); font-size: .7rem; font-weight: 900; letter-spacing: .13em; }
.fp-mode-card > p:first-of-type { margin: 3.2rem 0 .5rem; color: #8fa1c7; font-size: .58rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.fp-mode-card h3 { margin: 0; font-size: clamp(2rem,3vw,3.2rem); font-weight: 900; line-height: .95; letter-spacing: -.065em; text-transform: uppercase; }
.fp-mode-rule { width: 42px; height: 2px; margin: 2rem 0; background: var(--fp-gold); }
.fp-mode-description { min-height: 76px; margin: 0; color: #b7c2da; line-height: 1.65; }
.fp-mode-card ul { display: grid; gap: 1rem; padding: 0; margin: 2rem 0; list-style: none; }
.fp-mode-card li { display: grid; grid-template-columns: 22px 1fr; color: #dbe2f1; font-size: .88rem; }
.fp-mode-card li span { color: var(--fp-gold-soft); }
.fp-manager-note { padding: .85rem; margin: auto 0 1.6rem !important; border: 1px solid var(--fp-line); color: var(--fp-gold-soft) !important; background: rgba(217,180,87,.06); font-size: .7rem !important; font-weight: 800; letter-spacing: .04em !important; }
.fp-mode-card > a { display: flex; justify-content: space-between; padding-top: 1.15rem; border-top: 1px solid rgba(255,255,255,.16); color: var(--fp-gold-soft); font-size: .63rem; font-weight: 900; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }

.fp-process { background: #eef0f4; color: #071129; }
.fp-process .fp-kicker { color: #745e28; }
.fp-process h2 em { color: #896d26; }
.fp-process .fp-section-head > p { color: #5f687d; }
.fp-process ol { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 0; margin: 0; list-style: none; border-top: 1px solid #c9cbd1; }
.fp-process li { min-height: 255px; padding: 1.3rem; border-right: 1px solid #c9cbd1; }
.fp-process li:first-child { border-left: 1px solid #c9cbd1; }
.fp-process li > span { color: #9b7d32; font-size: .62rem; font-weight: 900; letter-spacing: .14em; }
.fp-process li div { margin-top: 6rem; }
.fp-process h3 { margin: 0; font-size: 1.6rem; font-weight: 900; letter-spacing: -.04em; text-transform: uppercase; }
.fp-process li p { margin: .6rem 0 0; color: #6a7180; font-size: .87rem; line-height: 1.6; }

.fp-final-cta { padding: clamp(6rem,12vw,11rem) 6vw; text-align: center; background: radial-gradient(circle at 50% 45%,#103b88,transparent 42%),#020817; }
.fp-final-cta .fp-kicker span { display: none; }
.fp-final-cta > p:not(.fp-kicker) { max-width: 630px; margin: 2rem auto; color: #aebad3; font-size: 1.05rem; line-height: 1.7; }
.fp-final-cta .fp-btn { margin-top: 1rem; }
.fp-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.4rem 5vw; border-top: 1px solid var(--fp-line); background: #010511; }
.fp-footer > p { color: #77839f; font-size: .75rem; }
.fp-footer nav { display: flex; gap: 1.4rem; }
.fp-footer nav a { color: #aeb9d1; font-size: .7rem; text-decoration: none; }

@keyframes fp-float { 0%,100% { transform: translateY(0) rotateY(-7deg) rotateZ(3deg); } 50% { transform: translateY(-14px) rotateY(-7deg) rotateZ(2deg); } }
@keyframes fp-spin { to { transform: rotate(360deg); } }
@keyframes fp-marquee { to { transform: translateX(-50%); } }
@keyframes fp-pulse { 0% { opacity:.7; transform:scale(.78); } 80%,100% { opacity:0; transform:scale(1.25); } }

@media (max-width: 1020px) {
  .fp-nav > nav { display: none; }
  .fp-hero { grid-template-columns: 1fr; padding-top: 10rem; }
  .fp-hero-stage { min-height: 620px; }
  .fp-section-head { display: block; }
  .fp-section-head > p { margin-top: 1.6rem; }
  .fp-experience { grid-template-columns: 1fr; }
  .fp-experience-demo { width: min(700px,100%); margin: 0 auto; }
  .fp-mode-grid { grid-template-columns: 1fr; max-width: 680px; }
  .fp-mode-card { min-height: auto; }
  .fp-mode-card.is-featured { transform: none; }
  .fp-process ol { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 700px) {
  .fp-nav { min-height: 68px; padding: 0 1rem; }
  .fp-nav-cta { padding: .65rem .7rem; font-size: .56rem; }
  .fp-brand b { font-size: .68rem; }
  .fp-brand small { font-size: .48rem; }
  .fp-brand-mark { width: 32px; height: 32px; }
  .fp-hero { display: block; min-height: auto; padding: 8.2rem 1.2rem 3rem; }
  .fp-hero h1 { font-size: clamp(3.5rem,18vw,5.5rem); }
  .fp-hero h1 em,
  .fp-section h2 em,
  .fp-final-cta h2 em {
    display: block;
    max-width: 100%;
    font-size: .78em;
    line-height: .92;
    letter-spacing: -.045em;
    overflow-wrap: anywhere;
  }
  .fp-hero-lead { font-size: 1rem; }
  .fp-hero-actions { display: grid; }
  .fp-btn { width: 100%; }
  .fp-proof { justify-content: space-between; gap: .7rem; }
  .fp-proof li { display: block; }
  .fp-proof strong,.fp-proof span { display: block; }
  .fp-proof span { margin-top: .3rem; font-size: .52rem; }
  .fp-hero-stage { min-height: 560px; margin-top: 2rem; }
  .fp-phone { width: min(270px,73vw); }
  .fp-phone-back { transform: translate(-28%,7%) rotateZ(-8deg) scale(.78); }
  .fp-note-top { top: 14%; right: -3%; }
  .fp-note-bottom { bottom: 8%; left: -2%; }
  .fp-orbit-one { width: 360px; height: 360px; }
  .fp-orbit-two { width: 470px; height: 470px; }
  .fp-section { padding: 5rem 1.2rem; }
  .fp-section h2,.fp-final-cta h2 { font-size: clamp(3rem,15vw,4.8rem); }
  .fp-design-grid { grid-template-columns: 1fr; gap: 3.8rem; }
  .fp-design-visual { min-height: 470px; }
  .fp-design-invite { width: 70%; }
  .fp-design-info { display: block; }
  .fp-design-info a { display: inline-block; margin-top: 1rem; }
  .fp-experience { min-height: auto; gap: 3.5rem; }
  .fp-door-stage { aspect-ratio: .8; border-width: 7px; transform: none; }
  .fp-mode-card { padding: 2rem 1.4rem; }
  .fp-process ol { grid-template-columns: 1fr; }
  .fp-process li { min-height: 170px; border-left: 1px solid #c9cbd1; border-bottom: 1px solid #c9cbd1; }
  .fp-process li div { margin-top: 3.4rem; }
  .fp-final-cta { padding: 6rem 1.2rem; }
  .fp-footer { align-items: flex-start; flex-direction: column; padding: 2.4rem 1.2rem; }
}

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