:root {
  --navy-950: var(--awb-color8, #04111e);
  --navy-900: var(--awb-color7, #071a2b);
  --navy-800: var(--awb-color6, #0d2940);
  --navy-700: #173b55;
  --ink: #102637;
  --ink-soft: var(--awb-color5, #4b6170);
  --teal: var(--awb-color4, #1dc7ad);
  --teal-dark: #087466;
  --teal-pale: var(--awb-color3, #dff9f4);
  --lime: var(--awb-color2, #c8f56b);
  --paper: #f5f7f4;
  --white: var(--awb-color1, #ffffff);
  --line: #dbe4e4;
  --warm: #f0eee8;
  --shadow-sm: 0 10px 30px rgba(6, 29, 45, .08);
  --shadow-lg: 0 34px 90px rgba(3, 20, 34, .2);
  --radius-sm: 10px;
  --radius: 20px;
  --radius-lg: 32px;
  --container: 1240px;
  --header-height: 82px;
  --ease: cubic-bezier(.2,.75,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden; }
img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
:where(a, button, input, select, textarea, video):focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 4px;
  border-radius: 6px;
}
p { line-height: 1.7; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { letter-spacing: -.035em; }
.fd-container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 132px 0; }
.sr-only { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; top: 10px; left: 10px; transform: translateY(-150%); padding: 12px 18px; border-radius: 8px; background: var(--white); color: var(--navy-900); }
.skip-link:focus { transform: none; }
.fd-icon { display: inline-flex; width: 22px; height: 22px; flex: 0 0 auto; }
.fd-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Header */
.site-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  height: var(--header-height);
  display: flex;
  align-items: center;
  color: var(--white);
  background: linear-gradient(to bottom, rgba(4,17,30,.68), rgba(4,17,30,0));
  transition: background .35s ease, box-shadow .35s ease, color .35s ease;
}
.site-header.is-scrolled { color: var(--navy-900); background: rgba(249,251,249,.95); box-shadow: 0 1px 0 rgba(8,35,52,.08); backdrop-filter: blur(18px); }
.flyttdrift-site:not(.home) .site-header { color: var(--navy-900); background: rgba(249,251,249,.97); box-shadow: 0 1px 0 rgba(8,35,52,.08); backdrop-filter: blur(18px); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 850; line-height: 1; }
.brand-name { font-size: 24px; letter-spacing: -.055em; }
.brand-name span { color: var(--teal); }
.brand-mark { position: relative; width: 32px; height: 32px; display: inline-block; transform: rotate(-9deg); }
.brand-mark i { position: absolute; display: block; width: 10px; border-radius: 3px; background: var(--teal); transform: skewY(-22deg); }
.brand-mark i:nth-child(1) { height: 15px; left: 2px; bottom: 5px; opacity: .65; }
.brand-mark i:nth-child(2) { height: 23px; left: 12px; bottom: 5px; }
.brand-mark i:nth-child(3) { height: 30px; left: 22px; bottom: 5px; background: var(--lime); }
.brand-mark.mini { width: 22px; height: 22px; transform: scale(.7) rotate(-9deg); transform-origin: left center; margin-right: -3px; }
.brand-mark.large { width: 52px; height: 52px; transform: scale(1.5) rotate(-9deg); }
.site-nav { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 650; }
.site-nav > a:not(.fd-button) { position: relative; padding: 12px 0; }
.site-nav > a:not(.fd-button)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 2px; background: var(--teal); transition: right .25s ease; }
.site-nav > a:not(.fd-button):hover::after { right: 0; }
.nav-login { margin-left: 6px; }
.nav-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.nav-toggle .fd-icon { width: 27px; height: 27px; }
.nav-toggle .menu-close { display: none; }
.nav-toggle[aria-expanded="true"] .menu-open { display: none; }
.nav-toggle[aria-expanded="true"] .menu-close { display: inline-flex; }

/* Shared buttons and headings */
.fd-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 24px;
  border: 1px solid var(--teal);
  border-radius: 999px;
  color: var(--navy-950);
  background: var(--teal);
  box-shadow: 0 12px 30px rgba(29,199,173,.18);
  font-size: 15px;
  font-weight: 780;
  transition: transform .25s var(--ease), background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.fd-button:hover { transform: translateY(-2px); background: #24d7bb; box-shadow: 0 18px 38px rgba(29,199,173,.26); }
.fd-button-small { min-height: 44px; padding-inline: 19px; font-size: 13px; }
.fd-button-ghost { color: var(--white); background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.35); box-shadow: none; backdrop-filter: blur(10px); }
.fd-button-ghost:hover { color: var(--navy-950); background: var(--white); border-color: var(--white); }
.fd-button-light { color: var(--navy-950); background: var(--white); border-color: var(--white); box-shadow: 0 14px 36px rgba(3,20,34,.18); }
.fd-button-light:hover { background: var(--lime); border-color: var(--lime); }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; color: var(--teal-dark); font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow-light { color: var(--teal); }
.eyebrow > span { width: 28px; height: 1px; background: currentColor; }
.section-heading { max-width: 760px; margin-bottom: 60px; }
.section-heading.centered { text-align: center; margin-inline: auto; }
.section-heading h2, .split-intro h2, .portal-heading h2, .demo-copy h2, .control-grid h2, .faq-intro h2, .cta-inner h2 { margin-bottom: 22px; font-size: clamp(40px, 5vw, 68px); line-height: .99; font-weight: 780; }
.section-heading p, .portal-heading > p, .demo-copy > p, .control-grid > div > p, .faq-intro > p, .cta-inner > div > p { color: var(--ink-soft); font-size: 18px; }
.light h2, .light p { color: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--navy-900); font-weight: 800; border-bottom: 1px solid rgba(7,26,43,.25); padding-bottom: 5px; }
.text-link .fd-icon { width: 19px; transition: transform .2s ease; }
.text-link:hover .fd-icon { transform: translateX(4px); }

/* Hero */
.hero { position: relative; min-height: min(920px, 100svh); display: flex; align-items: center; overflow: hidden; background: var(--navy-950); color: var(--white); }
.hero-media, .hero-overlay { position: absolute; inset: 0; }
.hero-media picture { display: block; width: 100%; height: 100%; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-overlay { background: linear-gradient(90deg, rgba(3,15,26,.96) 0%, rgba(4,20,34,.87) 35%, rgba(5,22,37,.28) 68%, rgba(3,14,24,.22) 100%), linear-gradient(0deg, rgba(4,17,30,.45), transparent 48%); }
.hero-content { position: relative; z-index: 2; padding-top: var(--header-height); }
.hero-copy { max-width: 780px; padding: 80px 0 70px; }
.hero h1 { max-width: 860px; margin-bottom: 30px; font-size: clamp(50px, 6.1vw, 90px); line-height: .94; font-weight: 770; }
.hero h1 em { color: var(--lime); font-style: normal; }
.hero-lead { max-width: 730px; margin-bottom: 34px; color: rgba(255,255,255,.82); font-size: clamp(18px, 1.6vw, 22px); line-height: 1.58; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-bottom: 38px; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 24px; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 650; }
.hero-trust span { display: inline-flex; align-items: center; gap: 7px; }
.hero-trust .fd-icon { width: 17px; height: 17px; color: var(--teal); }
.hero-scroll { position: absolute; z-index: 3; left: 50%; bottom: 26px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: rgba(255,255,255,.6); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; transform: translateX(-50%); }
.hero-scroll i { position: relative; display: block; width: 1px; height: 35px; background: rgba(255,255,255,.25); overflow: hidden; }
.hero-scroll i::after { content: ""; position: absolute; inset: -100% 0 auto; height: 100%; background: var(--teal); animation: scrollLine 2s ease infinite; }
@keyframes scrollLine { 0% { transform: translateY(0); } 70%,100% { transform: translateY(200%); } }

.signal-strip { background: var(--white); border-bottom: 1px solid var(--line); }
.signal-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.signal-grid p { margin: 0; padding: 28px 32px; display: flex; flex-direction: column; gap: 3px; border-right: 1px solid var(--line); }
.signal-grid p:first-child { padding-left: 0; }
.signal-grid p:last-child { border-right: 0; }
.signal-grid strong { font-size: 16px; }
.signal-grid span { color: var(--ink-soft); font-size: 13px; }

/* Problem */
.section-problem { background: var(--white); }
.split-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; align-items: start; }
.split-intro h2 { max-width: 570px; }
.intro-copy { padding-top: 42px; border-top: 1px solid var(--line); }
.intro-copy p { color: var(--ink-soft); font-size: 17px; }
.intro-copy .large-copy { color: var(--ink); font-size: 24px; line-height: 1.55; }
.intro-copy strong { color: var(--navy-900); }

/* Outcomes */
.section-dark { background: var(--navy-950); color: var(--white); }
.outcomes { position: relative; overflow: hidden; }
.outcomes::before { content: ""; position: absolute; width: 680px; height: 680px; top: -360px; left: 50%; border-radius: 50%; background: radial-gradient(circle, rgba(29,199,173,.16), transparent 65%); transform: translateX(-50%); }
.outcome-grid { position: relative; display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); overflow: hidden; }
.outcome-card { min-height: 315px; padding: 36px 30px; border-right: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.025); transition: background .3s ease, transform .3s ease; }
.outcome-card:last-child { border-right: 0; }
.outcome-card:hover { background: rgba(29,199,173,.07); }
.outcome-card > .fd-icon { width: 38px; height: 38px; margin-bottom: 60px; color: var(--teal); }
.outcome-card h3 { font-size: 25px; margin-bottom: 14px; }
.outcome-card p { margin: 0; color: rgba(255,255,255,.62); font-size: 15px; }

/* Process */
.process-section { background: var(--warm); }
.process-rail { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(7,26,43,.17); }
.process-step { position: relative; padding: 32px 28px 0 0; cursor: default; }
.process-step::before { content: ""; position: absolute; top: -2px; left: 0; width: 100%; height: 3px; background: var(--teal); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease); }
.process-step.is-active::before, .process-step:hover::before { transform: scaleX(1); }
.step-number { display: block; margin-bottom: 70px; color: var(--teal-dark); font-size: 13px; font-weight: 850; letter-spacing: .1em; }
.process-step h3 { margin-bottom: 14px; font-size: 24px; }
.process-step p { color: var(--ink-soft); font-size: 15px; }

/* Demo video */
.demo-section { background: var(--white); overflow: hidden; }
.demo-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 64px; }
.demo-copy h2 { font-size: clamp(36px, 4vw, 56px); line-height: 1.04; }
.fd-builder-content h1, .fd-builder-content h2 { overflow-wrap: break-word; }
.check-list { list-style: none; padding: 0; margin: 30px 0 34px; }
.check-list li { display: flex; align-items: center; gap: 10px; margin: 12px 0; color: var(--ink); font-weight: 650; }
.check-list .fd-icon { width: 18px; color: var(--teal-dark); }
.video-shell { position: relative; border-radius: 18px; overflow: hidden; background: #071723; box-shadow: var(--shadow-lg); transform: perspective(1200px) rotateY(-2deg); }
.video-shell::after { content: ""; position: absolute; z-index: -1; inset: 8% -8% -10% 15%; border-radius: 45%; background: rgba(29,199,173,.22); filter: blur(45px); }
.video-topbar { height: 43px; display: flex; align-items: center; gap: 7px; padding: 0 15px; background: #0d2435; }
.video-topbar > span { width: 9px; height: 9px; border-radius: 50%; background: #315064; }
.video-topbar > span:nth-child(1) { background: #f17373; }.video-topbar > span:nth-child(2) { background: #e8c55d; }.video-topbar > span:nth-child(3) { background: #45c78e; }
.video-topbar p { margin: 0 auto; padding-right: 52px; color: rgba(255,255,255,.55); font-size: 11px; }
.video-shell video { width: 100%; aspect-ratio: 16/9; background: var(--navy-950); object-fit: cover; }
.video-transcript { margin: 10px 14px 14px; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.6; }
.video-transcript summary { width: fit-content; cursor: pointer; color: var(--white); font-weight: 750; }
.video-transcript p { margin: 10px 0 0; }

/* Portal demo */
.portal-section { background: #edf2ef; overflow: hidden; }
.portal-heading { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: end; margin-bottom: 60px; }
.portal-heading h2 { max-width: 690px; margin-bottom: 0; }
.portal-browser { background: var(--white); border: 1px solid #d3dedc; border-radius: 22px; box-shadow: 0 40px 110px rgba(9,42,59,.16); overflow: hidden; }
.portal-browser-bar { height: 54px; display: grid; grid-template-columns: 1fr minmax(260px, 470px) 1fr; align-items: center; padding: 0 18px; border-bottom: 1px solid #e4ecea; background: #f9fbfa; }
.browser-dots { display: flex; gap: 6px; }.browser-dots i { width: 10px; height: 10px; border-radius: 50%; background: #d5dfdd; }.browser-dots i:first-child { background: #ed8e86; }.browser-dots i:nth-child(2) { background: #e8c466; }.browser-dots i:nth-child(3) { background: #69c995; }
.browser-address { display: flex; align-items: center; justify-content: center; gap: 8px; height: 30px; padding: 0 20px; border: 1px solid #dfe7e5; border-radius: 8px; background: var(--white); color: #7a8c95; font-size: 11px; }
.lock-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--teal); }
.browser-user { justify-self: end; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--white); background: var(--navy-800); font-size: 9px; font-weight: 800; }
.portal-app { display: grid; grid-template-columns: 220px 1fr; min-height: 650px; }
.portal-sidebar { position: relative; padding: 26px 18px; color: var(--white); background: var(--navy-900); }
.portal-logo { display: flex; align-items: center; margin-bottom: 36px; font-size: 17px; font-weight: 850; }
.portal-company-label { margin: 0 0 3px; color: rgba(255,255,255,.45); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.portal-sidebar > strong { display: block; margin-bottom: 24px; font-size: 12px; }
.portal-sidebar nav { display: grid; gap: 4px; }
.portal-sidebar nav button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 0; border-radius: 8px; color: rgba(255,255,255,.64); background: transparent; font-size: 11px; text-align: left; cursor: pointer; transition: color .2s, background .2s; }
.portal-sidebar nav button span { width: 18px; color: var(--teal); text-align: center; }
.portal-sidebar nav button:hover, .portal-sidebar nav button.is-active { color: var(--white); background: rgba(29,199,173,.15); }
.portal-help { position: absolute; left: 18px; right: 18px; bottom: 24px; display: flex; align-items: center; gap: 9px; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; }
.portal-help > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--lime); font-weight: 850; }
.portal-help strong, .portal-help small { display: block; }.portal-help strong { font-size: 10px; }.portal-help small { color: rgba(255,255,255,.55); font-size: 8px; }
.portal-main { min-width: 0; padding: 28px 34px; background: #f5f8f7; }
.portal-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.portal-breadcrumb { color: #83949d; font-size: 9px; }.portal-top h3 { margin: 3px 0 0; font-size: 24px; }.portal-avatar { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--teal); font-size: 10px; font-weight: 850; }
.portal-notice { display: flex; align-items: center; gap: 9px; margin-bottom: 22px; padding: 11px 14px; border: 1px solid #c5e9e1; border-radius: 9px; color: #176555; background: #e8f8f4; font-size: 10px; }.portal-notice .fd-icon { width: 16px; height: 16px; }
.portal-panel { display: none; }.portal-panel.is-active { display: block; animation: panelIn .32s ease both; }
@keyframes panelIn { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.portal-welcome { display: flex; justify-content: space-between; align-items: center; min-height: 145px; margin-bottom: 17px; padding: 25px 28px; border-radius: 13px; color: var(--white); background: linear-gradient(120deg, var(--navy-800), #0b4c5b); overflow: hidden; }
.portal-welcome p { margin: 0 0 6px; color: var(--teal); font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.portal-welcome h4 { margin: 0 0 6px; font-size: 23px; }.portal-welcome span { color: rgba(255,255,255,.65); font-size: 10px; }.health-ring { width: 80px; height: 80px; display: grid; place-content: center; text-align: center; border: 6px solid rgba(255,255,255,.14); border-top-color: var(--lime); border-right-color: var(--lime); border-radius: 50%; transform: rotate(35deg); }.health-ring b, .health-ring small { transform: rotate(-35deg); }.health-ring b { font-size: 17px; }.health-ring small { color: rgba(255,255,255,.55); font-size: 8px; }
.portal-card-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 13px; }.portal-status-card { display: grid; grid-template-columns: 10px 1fr; gap: 4px 8px; padding: 18px; border: 1px solid #e1e8e6; border-radius: 11px; background: var(--white); }.status-dot { grid-row: span 3; width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px var(--teal-pale); }.portal-status-card span { color: #71838d; font-size: 9px; }.portal-status-card strong { font-size: 12px; }.portal-status-card small { color: #9aabb2; font-size: 8px; }
.portal-panel-head { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; }.portal-panel-head h4 { margin: 0 0 5px; font-size: 19px; }.portal-panel-head p { margin: 0; color: #72858e; font-size: 10px; }.portal-panel-head button { align-self: flex-start; padding: 9px 12px; border: 0; border-radius: 7px; color: var(--navy-900); background: var(--teal); font-size: 9px; font-weight: 800; }
.portal-panel-head button:disabled, .settings-demo button:disabled { cursor: default; opacity: 1; }
.portal-table-wrap { overflow-x: auto; border: 1px solid #e0e8e5; border-radius: 10px; background: var(--white); }.portal-table-wrap table { width: 100%; min-width: 630px; border-collapse: collapse; font-size: 9px; }.portal-table-wrap th { padding: 12px; color: #6e818a; background: #f7f9f8; font-weight: 700; text-align: left; white-space: nowrap; }.portal-table-wrap th span { display: inline-grid; width: 14px; height: 14px; place-items: center; margin-left: 3px; border-radius: 50%; color: #69808a; background: #e4ecea; font-size: 8px; }.portal-table-wrap td { padding: 14px 12px; border-top: 1px solid #e8eeec; color: #546b76; }.portal-table-wrap td strong { color: var(--navy-900); }.active-pill { display: inline-block; padding: 4px 8px; border-radius: 99px; color: #087d67; background: #dff8f2; font-size: 8px; font-weight: 800; }
.form-demo-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }.form-demo-grid label { padding: 16px; border: 1px solid #e0e8e5; border-radius: 10px; color: var(--navy-900); background: var(--white); font-size: 10px; font-weight: 800; }.form-demo-grid label small { min-height: 30px; display: block; margin: 5px 0 12px; color: #81919a; font-size: 8px; font-weight: 500; line-height: 1.45; }.form-demo-grid label > span { display: flex; justify-content: space-between; padding: 9px 10px; border: 1px solid #dbe4e2; border-radius: 7px; font-weight: 600; }.form-demo-grid label i { color: #83949b; font-size: 8px; font-style: normal; }
.settings-demo { display: grid; gap: 10px; }.settings-demo > div { display: flex; justify-content: space-between; align-items: center; padding: 15px 17px; border: 1px solid #e0e8e5; border-radius: 10px; background: var(--white); }.settings-demo strong, .settings-demo small { display: block; }.settings-demo strong { font-size: 10px; }.settings-demo small { margin-top: 4px; color: #81929a; font-size: 8px; }.settings-demo b { font-size: 10px; }.toggle-on { position: relative; width: 34px; height: 19px; padding: 0; border: 0; border-radius: 99px; background: var(--teal); }.toggle-on i { position: absolute; width: 15px; height: 15px; top: 2px; right: 2px; border-radius: 50%; background: var(--white); }
.demo-caption { max-width: 800px; margin: 20px auto 0; color: #758991; font-size: 12px; text-align: center; }

/* Control illustration */
.control-section { background: var(--white); }
.control-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; align-items: center; }
.control-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.control-core { position: relative; z-index: 3; width: 190px; height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; color: var(--white); background: var(--navy-900); box-shadow: 0 30px 70px rgba(4,25,41,.22); }.control-core strong { font-size: 21px; }.control-core small { color: rgba(255,255,255,.52); font-size: 10px; }.orbit { position: absolute; border: 1px dashed #b9cbc7; border-radius: 50%; }.orbit-one { width: 350px; height: 350px; }.orbit-two { width: 500px; height: 500px; opacity: .65; }.control-node { position: absolute; z-index: 2; min-width: 105px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 99px; background: var(--white); box-shadow: var(--shadow-sm); color: var(--navy-800); font-size: 11px; font-weight: 800; text-align: center; }.node-one { top: 45px; right: 40px; }.node-two { left: 10px; bottom: 120px; }.node-three { right: 5px; bottom: 40px; }.control-points { display: grid; gap: 18px; margin-top: 32px; }.control-points p { display: flex; gap: 14px; margin: 0; }.control-points .fd-icon { width: 25px; height: 25px; color: var(--teal-dark); }.control-points span, .control-points strong { display: block; }.control-points span { color: var(--ink-soft); font-size: 14px; line-height: 1.55; }.control-points strong { margin-bottom: 3px; color: var(--navy-900); font-size: 15px; }

/* Manifest */
.manifest-section { position: relative; padding: 145px 0; color: var(--white); background: var(--navy-800); overflow: hidden; }
.manifest-section::before { content: ""; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to right, transparent, black 25%, black 75%, transparent); }
.manifest-inner { position: relative; max-width: 1040px; text-align: center; }
.manifest-inner .eyebrow { justify-content: center; }
.manifest-inner blockquote { margin: 0 0 32px; font-size: clamp(37px, 5.2vw, 68px); line-height: 1.08; letter-spacing: -.045em; font-weight: 690; }
.manifest-inner > p:last-child { max-width: 760px; margin: 0 auto; color: rgba(255,255,255,.64); font-size: 17px; }

/* FAQ */
.faq-section { background: var(--paper); }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 100px; align-items: start; }
.faq-intro { position: sticky; top: 120px; }.faq-intro .text-link { margin-top: 20px; }
.faq-list { border-top: 1px solid #cdd9d6; }
.faq-item { border-bottom: 1px solid #cdd9d6; }.faq-item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px 0; border: 0; background: transparent; text-align: left; cursor: pointer; }.faq-item button span { font-size: 19px; font-weight: 760; }.faq-item button i { position: relative; width: 22px; height: 22px; flex: 0 0 auto; }.faq-item button i::before, .faq-item button i::after { content: ""; position: absolute; top: 10px; left: 3px; width: 16px; height: 2px; background: var(--teal-dark); transition: transform .25s; }.faq-item button i::after { transform: rotate(90deg); }.faq-item.is-open button i::after { transform: rotate(0); }.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--ease); }.faq-answer > p { min-height: 0; overflow: hidden; margin: 0; color: var(--ink-soft); font-size: 15px; }.faq-item.is-open .faq-answer { grid-template-rows: 1fr; }.faq-item.is-open .faq-answer > p { padding-bottom: 27px; }

/* CTA */
.cta-section { padding: 110px 0; color: var(--white); background: var(--teal-dark); }
.cta-inner { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 80px; }.cta-inner h2 { max-width: 780px; }.cta-inner > div > p { max-width: 720px; color: rgba(255,255,255,.75); }.cta-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }.cta-contact > a:not(.fd-button) { display: inline-flex; align-items: center; gap: 9px; color: rgba(255,255,255,.88); font-weight: 700; }.cta-contact .fd-icon { width: 18px; height: 18px; }

/* Footer */
.site-footer { padding: 74px 0 24px; color: var(--white); background: var(--navy-950); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); gap: 70px; padding-bottom: 60px; }.brand-footer { margin-bottom: 22px; }.footer-brand p, .footer-grid > div > p { max-width: 280px; color: rgba(255,255,255,.48); font-size: 13px; }.footer-grid h2 { margin-bottom: 20px; color: rgba(255,255,255,.45); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }.footer-grid > div:not(:first-child) a { display: block; margin: 12px 0; color: rgba(255,255,255,.78); font-size: 13px; }.footer-grid a:hover { color: var(--teal); }.footer-bottom { display: flex; justify-content: space-between; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); }.footer-bottom p { margin: 0; color: rgba(255,255,255,.38); font-size: 11px; }

/* Standard pages */
.standard-page { min-height: 70vh; padding-top: 160px; padding-bottom: 100px; }.page-article { max-width: 850px; margin: 0 auto; }.page-article h1 { font-size: clamp(44px, 6vw, 76px); line-height: 1; }.entry-content { color: var(--ink-soft); font-size: 17px; }.entry-content h2 { margin-top: 50px; color: var(--ink); font-size: 34px; }.entry-content a { color: var(--teal-dark); text-decoration: underline; }

/* Reveal */
/* Text must remain visible when Avada Live redraws a Text Block, and when
   JavaScript or an observer does not run. Never hide content for decoration. */
body.flyttdrift-site [data-reveal],
body.flyttdrift-site [data-reveal].is-visible {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: none;
}

@media (max-width: 1100px) {
  .site-nav { gap: 18px; }.site-nav > a:nth-child(4), .site-nav > a:nth-child(5) { display: none; }
  .outcome-grid { grid-template-columns: repeat(2,1fr); }.outcome-card { border-bottom: 1px solid rgba(255,255,255,.12); }.outcome-card:nth-child(2) { border-right: 0; }.outcome-card:nth-child(n+3) { border-bottom: 0; }
  .portal-app { grid-template-columns: 185px 1fr; }.portal-main { padding: 24px; }
}

@media (max-width: 900px) {
  :root { --header-height: 72px; }
  .fd-container { width: min(calc(100% - 36px), var(--container)); }.section { padding: 94px 0; }
  .site-header { color: var(--navy-900); background: rgba(249,251,249,.97); box-shadow: 0 1px 0 rgba(8,35,52,.08); }
  .nav-toggle { display: inline-flex; }.site-nav { position: fixed; inset: var(--header-height) 0 0; display: flex; flex-direction: column; align-items: stretch; gap: 3px; padding: 30px 24px 40px; color: var(--navy-900); background: var(--paper); transform: translateX(100%); transition: transform .35s var(--ease); }.site-nav.is-open { transform: none; }.site-nav > a, .site-nav > a:nth-child(4), .site-nav > a:nth-child(5) { display: block; padding: 14px 4px!important; font-size: 18px; }.site-nav .fd-button { margin-top: 12px; }
  .hero { min-height: 880px; }.hero-media img { object-position: 62% center; }.hero-overlay { background: linear-gradient(90deg, rgba(3,15,26,.95) 0%, rgba(4,20,34,.83) 55%, rgba(5,22,37,.35) 100%); }.hero-copy { padding-top: 120px; }.hero h1 { max-width: 720px; }
  .split-intro, .demo-grid, .portal-heading, .control-grid, .faq-grid, .cta-inner { grid-template-columns: 1fr; gap: 50px; }.intro-copy { padding-top: 28px; }.demo-grid { gap: 55px; }.video-shell { transform: none; }.portal-heading { align-items: start; }.portal-heading > p { max-width: 700px; }.control-grid { gap: 40px; }.control-visual { order: 2; }.faq-intro { position: static; }
  .process-rail { grid-template-columns: repeat(2,1fr); }.process-step { padding-bottom: 35px; }.step-number { margin-bottom: 30px; }
  .portal-browser { overflow-x: auto; }.portal-app { min-width: 850px; }
  .footer-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 640px) {
  .fd-container { width: min(calc(100% - 28px), var(--container)); }.section { padding: 76px 0; }
  .brand-name { font-size: 22px; }.brand-mark { transform: scale(.88) rotate(-9deg); }
  .hero { min-height: 800px; align-items: flex-end; }.hero-media img { object-position: 68% center; }.hero-overlay { background: linear-gradient(0deg, rgba(3,15,26,.98) 0%, rgba(4,20,34,.85) 62%, rgba(4,20,34,.38) 100%); }.hero-copy { padding: 150px 0 90px; }.hero h1 { font-size: clamp(44px, 13vw, 64px); }.hero-lead { font-size: 17px; }.hero-actions { display: grid; }.hero-actions .fd-button { width: 100%; }.hero-trust { gap: 12px 18px; }.hero-scroll { display: none; }
  .signal-grid { grid-template-columns: 1fr; }.signal-grid p, .signal-grid p:first-child { padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--line); }.signal-grid p:last-child { border-bottom: 0; }
  .section-heading h2, .split-intro h2, .portal-heading h2, .demo-copy h2, .control-grid h2, .faq-intro h2, .cta-inner h2 { font-size: 40px; }.section-heading p, .portal-heading > p, .demo-copy > p, .control-grid > div > p, .faq-intro > p, .cta-inner > div > p { font-size: 16px; }.intro-copy .large-copy { font-size: 20px; }
  .outcome-grid { grid-template-columns: 1fr; }.outcome-card { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12)!important; }.outcome-card:last-child { border-bottom: 0!important; }.outcome-card > .fd-icon { margin-bottom: 32px; }
  .process-rail { grid-template-columns: 1fr; }.process-step { border-bottom: 1px solid rgba(7,26,43,.12); }
  .portal-browser-bar { grid-template-columns: auto 1fr auto; }.browser-address { margin: 0 12px; padding: 0 8px; white-space: nowrap; overflow: hidden; }.portal-app { min-width: 760px; grid-template-columns: 170px 1fr; min-height: 600px; }.portal-main { padding: 20px; }.portal-card-grid { grid-template-columns: 1fr; }
  .control-visual { min-height: 400px; transform: scale(.78); margin: -50px 0; }.manifest-section { padding: 100px 0; }.manifest-inner blockquote { font-size: 38px; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }.footer-bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* Premium multipage structure */
.page-hero { position: relative; min-height: 720px; display: flex; align-items: center; padding: 180px 0 100px; color: var(--white); background: radial-gradient(circle at 80% 20%, rgba(29,199,173,.18), transparent 34%), linear-gradient(135deg, var(--navy-950), var(--navy-800)); overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, transparent 0, #000 45%, #000 100%); }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.06fr .94fr; gap: 90px; align-items: center; }
.page-hero-grid > div:first-child { max-width: 750px; }
.page-hero h1 { max-width: 880px; margin-bottom: 28px; font-size: clamp(54px, 6vw, 88px); line-height: .96; font-weight: 780; }
.page-hero p:not(.eyebrow) { max-width: 720px; color: rgba(255,255,255,.76); font-size: 19px; }
.page-hero .fd-button { margin-top: 18px; }
.page-hero-narrow { position: relative; z-index: 1; max-width: 990px; text-align: center; }
.page-hero-narrow .eyebrow { justify-content: center; }
.page-hero-narrow h1 { margin-inline: auto; }
.page-hero-narrow > p:last-child { margin-inline: auto; }
.large-copy { color: var(--ink); font-size: 23px; line-height: 1.55; }
.feature-split { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.feature-split h2, .document-grid h2, .onboarding-card h2, .pricing-teaser-inner h2 { margin-bottom: 22px; font-size: clamp(40px, 5vw, 66px); line-height: 1; }
.feature-split > div:first-child > p:not(.eyebrow), .document-grid > div:last-child > p { color: var(--ink-soft); font-size: 17px; }
.feature-links { margin-top: 28px; }

/* Home page additions */
.platform-preview { background: var(--white); }
.branch-stack { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8fbfa; box-shadow: var(--shadow-lg); }
.branch-head, .branch-row { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 13px; }
.branch-head { margin-bottom: 10px; color: var(--white); background: var(--navy-900); }
.branch-head > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 10px; color: var(--navy-900); background: var(--teal); }
.branch-head small, .branch-head strong { display: block; }.branch-head small { color: rgba(255,255,255,.55); font-size: 10px; }.branch-head strong { margin-top: 2px; font-size: 16px; }
.branch-head b { margin-left: auto; padding: 6px 9px; border-radius: 99px; color: var(--navy-900); background: var(--lime); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.branch-row { margin-top: 8px; border: 1px solid var(--line); background: var(--white); }
.branch-row > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--teal-pale); font-weight: 850; }
.branch-row div { flex: 1; }.branch-row strong, .branch-row small { display: block; }.branch-row strong { font-size: 14px; }.branch-row small { margin-top: 3px; color: var(--ink-soft); font-size: 10px; }
.branch-row i { color: var(--teal-dark); font-size: 10px; font-style: normal; font-weight: 800; }
.rut-preview { background: #e8eeea; }
.rut-preview-card { display: grid; grid-template-columns: auto 1fr auto; gap: 34px; align-items: center; padding: 46px 50px; border: 1px solid #cbd9d5; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.rut-preview-card-home { grid-template-columns: auto 1fr; align-items: start; }
.rut-preview-card h2 { margin-bottom: 14px; font-size: clamp(36px, 4vw, 56px); line-height: 1; }.rut-preview-card p:not(.eyebrow) { margin-bottom: 14px; color: var(--ink-soft); }.rut-preview-card p:last-child { margin-bottom: 0; }
.rut-icon { width: 74px; height: 74px; display: grid; place-items: center; border-radius: 20px; color: var(--navy-900); background: var(--lime); transform: rotate(-4deg); }.rut-icon .fd-icon { width: 37px; height: 37px; }
.product-path { background: var(--warm); }.compact-process .process-step p { max-width: 220px; }
.pricing-teaser { padding: 84px 0; background: var(--teal-pale); }
.pricing-teaser-inner { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; }.pricing-teaser-inner h2 { margin-bottom: 12px; }.pricing-teaser-inner p:not(.eyebrow) { max-width: 760px; margin-bottom: 0; color: var(--ink-soft); font-size: 17px; }

/* Engine page */
.engine-console { padding: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: rgba(4,17,30,.72); box-shadow: 0 38px 90px rgba(0,0,0,.3); backdrop-filter: blur(14px); }
.console-top { display: flex; align-items: center; gap: 7px; padding: 0 0 15px; border-bottom: 1px solid rgba(255,255,255,.1); }.console-top i { width: 9px; height: 9px; border-radius: 50%; background: #f17373; }.console-top i:nth-child(2) { background: #e8c55d; }.console-top i:nth-child(3) { background: #45c78e; }.console-top span { margin-left: auto; color: rgba(255,255,255,.5); font-size: 10px; }
.console-status { display: flex; justify-content: space-between; padding: 18px 4px 12px; }.console-status b { font-size: 14px; }.console-status span { color: var(--teal); font-size: 10px; }
.console-line { display: flex; align-items: center; gap: 13px; margin-top: 8px; padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.04); }.console-line > i { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--navy-900); background: var(--teal); }.console-line > i .fd-icon { width: 18px; height: 18px; }.console-line strong, .console-line small { display: block; }.console-line strong { font-size: 12px; }.console-line small { margin-top: 3px; color: rgba(255,255,255,.53); font-size: 9px; }.console-line.is-active { border-color: rgba(200,245,107,.55); }.console-line.is-active > i { background: var(--lime); }
.console-output { display: flex; align-items: center; gap: 8px; margin-top: 14px; padding: 14px; border-radius: 11px; color: var(--navy-900); background: var(--white); }.console-output span { padding: 5px 7px; border-radius: 5px; background: var(--teal-pale); font-size: 8px; font-weight: 850; }.console-output span:nth-child(2) { color: #9d322b; background: #fde6e3; }.console-output b { margin-left: auto; font-size: 11px; }
.step-grid { display: grid; gap: 18px; }.six-grid { grid-template-columns: repeat(3,1fr); }.four-grid { grid-template-columns: repeat(4,1fr); }.step-grid article { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.step-grid article > span { display: inline-flex; margin-bottom: 34px; color: var(--teal-dark); font-size: 12px; font-weight: 850; letter-spacing: .08em; }.step-grid h3 { margin-bottom: 11px; font-size: 23px; }.step-grid p { margin-bottom: 0; color: var(--ink-soft); font-size: 14px; }
.capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); background: rgba(255,255,255,.12); overflow: hidden; }.capability-grid article { min-height: 230px; padding: 30px; background: var(--navy-950); }.capability-grid .fd-icon { width: 34px; height: 34px; margin-bottom: 42px; color: var(--teal); }.capability-grid h3 { margin-bottom: 10px; font-size: 23px; }.capability-grid p { margin-bottom: 0; color: rgba(255,255,255,.58); font-size: 14px; }
.optional-fields-section { background: var(--white); }.decision-card { padding: 16px; border-radius: var(--radius); color: var(--white); background: var(--navy-900); box-shadow: var(--shadow-lg); }.decision-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 18px; border-bottom: 1px solid rgba(255,255,255,.1); }.decision-row:last-child { border-bottom: 0; }.decision-row span { color: rgba(255,255,255,.66); font-size: 13px; }.decision-row strong { color: var(--teal); font-size: 12px; }.decision-row.warning strong { color: var(--lime); }
.documents-section { background: var(--warm); }.document-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; align-items: center; }.document-preview { position: relative; min-height: 500px; display: grid; place-items: center; }.doc-sheet { width: min(360px, 82%); min-height: 440px; padding: 40px; border-radius: 8px; background: var(--white); box-shadow: 0 35px 90px rgba(6,29,45,.17); transform: rotate(-3deg); }.doc-sheet > span { color: var(--teal-dark); font-size: 10px; font-weight: 900; letter-spacing: .14em; }.doc-sheet h3 { margin: 22px 0 44px; font-size: 25px; }.doc-sheet p { margin: 25px 0 9px; color: var(--ink-soft); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.doc-sheet i { display: block; height: 7px; margin-top: 8px; border-radius: 99px; background: #e5ecea; }.doc-sheet i.short { width: 65%; }.doc-sheet b { display: block; margin-top: 45px; padding-top: 18px; border-top: 2px solid var(--navy-900); text-align: right; }.doc-format { position: absolute; display: grid; place-items: center; width: 82px; height: 82px; border-radius: 18px; color: var(--white); background: #2463a7; box-shadow: var(--shadow-sm); font-size: 11px; font-weight: 900; transform: rotate(8deg); }.doc-format.word { left: 4%; bottom: 7%; }.doc-format.pdf { right: 5%; top: 12%; background: #c5473e; transform: rotate(-6deg); }

/* Portal page */
.page-hero-portal { min-height: 780px; }.login-card { width: min(420px, 100%); justify-self: end; padding: 32px; border: 1px solid rgba(255,255,255,.15); border-radius: 22px; color: var(--ink); background: var(--white); box-shadow: 0 38px 100px rgba(0,0,0,.28); }.login-brand { display: flex; align-items: center; gap: 9px; margin-bottom: 30px; }.login-brand > strong { font-size: 21px; }.login-brand > strong span { color: var(--teal); }.login-card > p { margin-bottom: 22px; color: var(--ink)!important; font-size: 20px!important; font-weight: 800; }.login-card label { display: block; margin-top: 13px; color: var(--ink); font-size: 11px; font-weight: 800; }.login-card label span { display: block; margin-top: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; color: #8b9aa1; font-weight: 500; }.login-card button { width: 100%; margin-top: 18px; padding: 13px; border: 0; border-radius: 99px; color: var(--navy-950); background: var(--teal); font-size: 12px; font-weight: 850; }.login-card > a { display: block; margin: 14px 0 18px; color: var(--teal-dark); font-size: 11px; font-weight: 750; text-align: center; }.login-card > small { display: block; padding-top: 14px; border-top: 1px solid var(--line); color: #83939b; font-size: 9px; text-align: center; }
.portal-page-section { background: #edf2ef; }.portal-browser-wide .portal-app { min-height: 690px; }.portal-page-section .portal-heading { margin-bottom: 48px; }.portal-list, .timeline-list { display: grid; gap: 9px; }.portal-list > div, .timeline-list > div { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid #e0e8e5; border-radius: 9px; background: var(--white); }.portal-list-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--navy-900); background: var(--teal-pale); font-size: 10px; font-weight: 850; }.portal-list p, .timeline-list p { flex: 1; margin: 0; }.portal-list strong, .portal-list small, .timeline-list strong, .timeline-list small { display: block; }.portal-list strong, .timeline-list strong { font-size: 10px; }.portal-list small, .timeline-list small { margin-top: 3px; color: #81929a; font-size: 8px; }.portal-list > div > b { color: #536b75; font-size: 8px; }.portal-search { display: flex; gap: 8px; margin-bottom: 13px; }.portal-search > span, .portal-search > b { display: flex; align-items: center; padding: 9px 11px; border: 1px solid #dce5e2; border-radius: 7px; color: #788a92; background: var(--white); font-size: 8px; font-weight: 600; }.portal-search > span { flex: 1; gap: 7px; }.portal-search .fd-icon { width: 13px; height: 13px; }.file-pill { display: inline-block; padding: 5px 7px; border-radius: 5px; color: #145a91; background: #e3f1fc; font-size: 7px; font-weight: 850; }.pdf-pill { color: #9a3931; background: #fde6e3; }.review-pill { display: inline-block; padding: 4px 8px; border-radius: 99px; color: #865f10; background: #fff2cf; font-size: 8px; font-weight: 800; }.table-action { padding: 5px 7px; border: 1px solid #cddbd7; border-radius: 5px; color: #47626d; background: var(--white); font-size: 7px; }.index-panel { display: none; margin-bottom: 13px; padding: 12px; border: 1px solid #bfe8df; border-radius: 9px; background: #e9f9f5; }.index-panel.is-open { display: block; animation: panelIn .25s ease both; }.index-panel > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }.index-panel label { padding: 9px; border-radius: 7px; background: rgba(255,255,255,.72); color: #6c828b; font-size: 7px; }.index-panel strong { display: block; margin-top: 3px; color: var(--navy-900); font-size: 9px; }.index-panel p { margin: 8px 2px 0; color: #527068; font-size: 7px; }.timeline-list i.status-dot { flex: 0 0 auto; margin: 0; }.timeline-list > div > b { color: #69808a; font-size: 8px; }.timeline-list .needs-review > i { width: 8px; height: 8px; border-radius: 50%; background: #e8bd4d; box-shadow: 0 0 0 4px #fff2cf; }.timeline-list .needs-review > b { color: #855f13; }
.roles-section { background: var(--white); }.role-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }.role-grid article { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8faf9; }.role-grid article > span { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 34px; border-radius: 13px; color: var(--navy-900); background: var(--teal); font-size: 11px; font-weight: 900; }.role-grid h3 { font-size: 22px; }.role-grid p { margin-bottom: 0; color: var(--ink-soft); font-size: 14px; }
.password-section { background: var(--warm); }.reset-flow { display: grid; gap: 10px; }.reset-flow > div { display: flex; align-items: center; gap: 15px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }.reset-flow span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--lime); font-size: 10px; font-weight: 850; }.reset-flow p { margin: 0; }.reset-flow strong, .reset-flow small { display: block; }.reset-flow small { margin-top: 3px; color: var(--ink-soft); font-size: 11px; }
.source-note { margin: 24px 0 0; color: var(--ink-soft); font-size: 12px; }.source-note a { color: var(--teal-dark); text-decoration: underline; }

/* Pricing page */
.pricing-section { background: var(--paper); }.pricing-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; align-items: stretch; }.price-card { position: relative; display: flex; flex-direction: column; padding: 34px 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.price-card.featured { border-color: var(--teal); box-shadow: 0 22px 55px rgba(29,199,173,.14); transform: translateY(-12px); }.price-card.enterprise { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); }.price-card h2 { margin-bottom: 8px; font-size: 45px; }.price-card h2 small { font-size: 13px; letter-spacing: 0; }.price-card > strong { min-height: 42px; font-size: 13px; }.price-card > p:not(.eyebrow) { min-height: 98px; color: var(--ink-soft); font-size: 13px; }.price-card.enterprise > p:not(.eyebrow) { color: rgba(255,255,255,.6); }.price-card ul { display: grid; gap: 12px; margin: auto 0 0; padding: 24px 0 0; border-top: 1px solid var(--line); list-style: none; }.price-card.enterprise ul { border-color: rgba(255,255,255,.14); }.price-card li { display: flex; gap: 8px; align-items: flex-start; font-size: 11px; line-height: 1.45; }.price-card li .fd-icon { width: 15px; height: 15px; color: var(--teal); }.price-badge { position: absolute; top: -12px; right: 22px; padding: 6px 10px; border-radius: 99px; color: var(--navy-900); background: var(--lime); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }.pricing-terms { max-width: 980px; margin: 32px auto 0; padding: 18px 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }.pricing-terms p { margin: 0; color: var(--ink-soft); font-size: 12px; text-align: center; }
.onboarding-section { background: var(--white); }.onboarding-card { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; padding: 58px; border-radius: var(--radius-lg); color: var(--white); background: linear-gradient(130deg, var(--navy-900), #0b4b5a); }.onboarding-card h2 { color: var(--white); }.onboarding-card > div:first-child > p:not(.eyebrow) { color: rgba(255,255,255,.66); }.onboarding-list { display: grid; gap: 11px; }.onboarding-list p { display: flex; gap: 12px; margin: 0; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 11px; background: rgba(255,255,255,.05); }.onboarding-list .fd-icon { color: var(--teal); }.onboarding-list span, .onboarding-list strong { display: block; }.onboarding-list span { color: rgba(255,255,255,.58); font-size: 11px; }.onboarding-list strong { margin-bottom: 3px; color: var(--white); font-size: 13px; }

/* Demo page */
.contact-card { justify-self: end; padding: 36px; border-radius: var(--radius); color: var(--ink); background: var(--white); box-shadow: 0 38px 100px rgba(0,0,0,.28); }.contact-card h2 { margin-bottom: 14px; font-size: 42px; }.contact-card > p:not(.eyebrow) { color: var(--ink-soft)!important; font-size: 14px!important; }.contact-card .fd-button { width: 100%; margin-top: 18px; }.contact-phone { display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 17px; color: var(--navy-900); font-weight: 800; }.contact-phone .fd-icon { color: var(--teal-dark); }
.demo-agenda { background: var(--warm); }.prepare-section { background: var(--white); }.prepare-list { display: grid; gap: 13px; }.prepare-list p { display: flex; gap: 14px; margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: #f8faf9; }.prepare-list .fd-icon { width: 27px; height: 27px; color: var(--teal-dark); }.prepare-list span, .prepare-list strong { display: block; }.prepare-list span { color: var(--ink-soft); font-size: 12px; }.prepare-list strong { margin-bottom: 4px; color: var(--ink); font-size: 14px; }

@media (max-width: 1100px) {
  .site-nav { gap: 16px; font-size: 13px; }.site-nav > a:nth-child(4), .site-nav > a:nth-child(5) { display: inline-flex; }
  .page-hero-grid { gap: 55px; }
  .page-hero h1 { font-size: 58px; }
  .pricing-grid { grid-template-columns: repeat(2,1fr); }.price-card.featured { transform: none; }
  .role-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .site-nav > a:nth-child(4), .site-nav > a:nth-child(5) { display: block; }
  .page-hero { min-height: auto; padding: 150px 0 90px; }.page-hero-grid, .feature-split, .document-grid, .onboarding-card { grid-template-columns: 1fr; gap: 50px; }.page-hero-grid > div:first-child { max-width: none; }.login-card, .contact-card { justify-self: stretch; width: 100%; }
  .rut-preview-card { grid-template-columns: auto 1fr; }.rut-preview-card .fd-button { grid-column: 1 / -1; }
  .six-grid, .capability-grid { grid-template-columns: repeat(2,1fr); }.four-grid { grid-template-columns: repeat(2,1fr); }
  .portal-page-section .portal-browser { overflow: hidden; }.portal-page-section .portal-app { min-width: 0; grid-template-columns: 1fr; }.portal-page-section .portal-sidebar { padding: 18px; }.portal-page-section .portal-sidebar > .portal-company-label, .portal-page-section .portal-sidebar > strong, .portal-page-section .portal-help { display: none; }.portal-page-section .portal-logo { margin-bottom: 14px; }.portal-page-section .portal-sidebar nav { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 3px; }.portal-page-section .portal-sidebar nav button { flex: 0 0 auto; width: auto; }.portal-page-section .portal-main { min-height: 610px; }.portal-page-section .portal-browser-bar { grid-template-columns: auto 1fr auto; }
  .pricing-teaser-inner { grid-template-columns: 1fr; gap: 28px; }.pricing-teaser-inner .fd-button { width: fit-content; }
}

@media (max-width: 640px) {
  .page-hero { padding: 128px 0 72px; }.page-hero h1 { font-size: 44px; }.page-hero p:not(.eyebrow) { font-size: 17px; }
  .feature-split h2, .document-grid h2, .onboarding-card h2, .pricing-teaser-inner h2 { font-size: 39px; }
  .rut-preview-card { grid-template-columns: 1fr; padding: 30px; }.rut-preview-card .fd-button { grid-column: auto; width: 100%; }.rut-icon { width: 62px; height: 62px; }
  .six-grid, .four-grid, .capability-grid, .pricing-grid, .role-grid { grid-template-columns: 1fr; }
  .step-grid article, .role-grid article { padding: 26px; }
  .document-preview { min-height: 430px; }.doc-sheet { padding: 30px; }.doc-format { width: 66px; height: 66px; }
  .portal-page-section .fd-container { width: min(calc(100% - 18px), var(--container)); }.portal-page-section .portal-heading { gap: 25px; }.portal-page-section .portal-main { padding: 16px; min-height: 660px; }.portal-page-section .portal-top h3 { font-size: 20px; }.portal-page-section .portal-notice { align-items: flex-start; }.portal-page-section .portal-card-grid { grid-template-columns: 1fr; }.portal-page-section .portal-table-wrap table { min-width: 590px; }.portal-search { flex-wrap: wrap; }.portal-search > span { flex-basis: 100%; }.index-panel > div { grid-template-columns: 1fr; }.portal-welcome { padding: 20px; }.health-ring { width: 68px; height: 68px; }
  .onboarding-card { padding: 32px; }.price-card > p:not(.eyebrow) { min-height: auto; }.page-hero-narrow { text-align: left; }.page-hero-narrow .eyebrow { justify-content: flex-start; }
}

/* Avada child-theme integration. The content remains native Builder content,
   while these guards remove Avada's default page gutters around the design. */
body.flyttdrift-site #boxed-wrapper,
body.flyttdrift-site #wrapper,
body.flyttdrift-site #main,
body.flyttdrift-site #main > .fusion-row,
body.flyttdrift-site #content,
body.flyttdrift-site .post-content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent;
}
body.flyttdrift-site #content { float: none; }
body.flyttdrift-site .fusion-page-title-bar { display: none; }
body.flyttdrift-site .fd-builder-section.fusion-fullwidth,
body.flyttdrift-site .fd-builder-section > .fusion-builder-row,
body.flyttdrift-site .fd-builder-section .fusion-layout-column,
body.flyttdrift-site .fd-builder-section .fusion-column-wrapper,
body.flyttdrift-site .fd-builder-section .fusion-text,
body.flyttdrift-site .fd-global-section.fusion-fullwidth,
body.flyttdrift-site .fusion-tb-header .fusion-fullwidth,
body.flyttdrift-site .fusion-tb-footer .fusion-fullwidth {
  width: 100%;
  max-width: none!important;
  margin: 0!important;
  padding: 0!important;
  border: 0!important;
}
body.flyttdrift-site .fd-builder-section .fusion-column-wrapper,
body.flyttdrift-site .fd-builder-section .fusion-text { min-height: 0; }
body.flyttdrift-site .fusion-tb-header,
body.flyttdrift-site .fusion-tb-footer { position: relative; z-index: 20; }
body.flyttdrift-site .fusion-tb-header { z-index: 1000; }
body.flyttdrift-site .fd-hero-builder-section { background-size: cover!important; }
body.flyttdrift-site .fd-hero-builder-section .hero { background: transparent; }
body.flyttdrift-site .fd-builder-content > :last-child { margin-bottom: 0; }

/* Avada global typography is the editable source; the fallback keeps the site
   faithful if the optional global design step has not yet been applied. */
body.flyttdrift-site {
  font-family: var(--awb-typography4-font-family, Inter), ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.flyttdrift-site h1,
body.flyttdrift-site h2,
body.flyttdrift-site h3,
body.flyttdrift-site h4 {
  font-family: var(--awb-typography1-font-family, Inter), ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Real login, recovery and portal pages. Portal business UI comes from the
   companion plugin; the theme only provides the presentation shell. */
.fd-auth-page {
  min-height: max(720px, 100svh);
  display: flex;
  align-items: center;
  padding: 160px 0 100px;
  color: var(--white);
  background:
    radial-gradient(circle at 78% 25%, rgba(29,199,173,.2), transparent 32%),
    linear-gradient(135deg, var(--navy-950), var(--navy-800));
}
.fd-auth-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 90px; align-items: center; }
.fd-auth-copy { max-width: 690px; }
.fd-auth-copy h1 { margin-bottom: 28px; font-size: clamp(52px, 6vw, 84px); line-height: .96; font-weight: 780; }
.fd-auth-copy > p:not(.eyebrow) { max-width: 650px; color: rgba(255,255,255,.74); font-size: 19px; }
.fd-auth-back { display: inline-flex; margin-top: 24px; color: var(--teal); font-size: 14px; font-weight: 750; }
.fd-auth-host { width: min(480px,100%); justify-self: end; }
.fd-auth-card { width: 100%; margin: 0; padding: 38px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; color: var(--ink); background: var(--white); box-shadow: 0 38px 100px rgba(0,0,0,.3); }
.fd-auth-card h1, .fd-auth-card h2, .fd-auth-card h3 { color: var(--navy-900); }
.fd-auth-form { display: grid; gap: 10px; }
.fd-auth-form label { color: var(--ink); font-size: 13px; font-weight: 750; }
.fd-auth-form .fd-check { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
.fd-auth-form .fd-check input { width: auto; }
.fd-auth-card input:not([type="checkbox"]), .fd-auth-card select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 9px; padding: 10px 13px; background: #fff; }
.fd-auth-card button, .fd-auth-card input[type="submit"] { min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; color: var(--navy-950); background: var(--teal); font-weight: 800; cursor: pointer; }
.fd-auth-card .fd-notice { margin: 12px 0 20px; padding: 12px 14px; border-radius: 9px; background: #e7f8f4; color: #085f52; }
.fd-auth-card .fd-notice-error { background: #fff0f0; color: #a82727; }
.fd-auth-card .fd-notice-success { background: #e7f8f4; color: #085f52; }
.fd-auth-link { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid var(--line); text-align: center; }
.fd-auth-link a { color: var(--teal-dark); font-size: 13px; font-weight: 750; }
.fd-live-portal { min-height: 70vh; padding-top: var(--header-height); background: #edf2ef; }
.fd-live-portal .fd-platform { width: min(calc(100% - 48px), 1500px); margin: 0 auto; padding: 44px 0 80px; }
.fd-live-portal > .fd-auth-card { width: min(calc(100% - 48px), 520px); margin: 80px auto; }

@media (max-width: 900px) {
  body.flyttdrift-site .fd-hero-builder-section { background-position: 62% center!important; }
  .fd-auth-grid { grid-template-columns: 1fr; gap: 50px; }
  .fd-auth-host { justify-self: stretch; }
}
@media (max-width: 640px) {
  body.flyttdrift-site .fd-hero-builder-section { background-position: 68% center!important; }
  .fd-auth-page { padding: 128px 0 72px; }
  .fd-auth-copy h1 { font-size: 44px; }
  .fd-auth-card { padding: 28px 22px; }
}

/* 5.2.0: preserve text/surface pairs against Avada's global heading and link
   colors. A heading on a navy card must not inherit the dark page heading. */
body.flyttdrift-site {
  --fd-site-muted: #526977;
  --fd-site-on-dark: #d7e3e8;
  color-scheme: light;
}
body.flyttdrift-site .fd-builder-content :is(h1, h2, h3, h4, h5, h6) {
  color: #102637;
  text-shadow: none;
}
body.flyttdrift-site :is(.hero, .page-hero, .fd-auth-copy, .section-dark, .manifest-section, .onboarding-card, .price-card.enterprise, .portal-sidebar, .portal-welcome, .control-core, .engine-console, .site-footer) :is(h1, h2, h3, h4, h5, h6) {
  color: #fff !important;
  text-shadow: none;
}
body.flyttdrift-site :is(.login-card, .contact-card, .doc-sheet, .portal-main, .price-card:not(.enterprise), .fd-auth-card) :is(h1, h2, h3, h4, h5, h6) { color: #102637 !important; }
/* The welcome card is a dark surface nested in the light demo portal. */
body.flyttdrift-site .portal-main .portal-welcome :is(h3, h4) { color: #fff !important; }
body.flyttdrift-site .hero h1 em { color: #c8f56b; }
body.flyttdrift-site .manifest-inner blockquote { color: #fff; background: transparent; }
body.flyttdrift-site :is(.branch-head, .control-core, .engine-console, .onboarding-list) strong { color: #fff; }
body.flyttdrift-site :is(.hero, .page-hero, .fd-auth-page, .section-dark, .manifest-section, .onboarding-card, .price-card.enterprise, .portal-sidebar, .portal-welcome, .control-core, .engine-console, .site-footer) {
  color: #fff;
}
body.flyttdrift-site :is(.hero-lead, .hero-trust, .hero-scroll, .outcome-card p, .capability-grid p, .video-topbar p, .video-transcript, .portal-company-label, .portal-help small, .portal-welcome span, .health-ring small, .control-core small, .branch-head small, .console-top span, .console-line small, .decision-row span, .onboarding-list span, .footer-brand p, .footer-grid > div > p, .footer-bottom p) {
  color: var(--fd-site-on-dark);
}
body.flyttdrift-site :is(.page-hero, .fd-auth-copy, .price-card.enterprise) > p:not(.eyebrow),
body.flyttdrift-site .page-hero :is(.page-hero-narrow, .page-hero-grid > div:first-child) > p:not(.eyebrow),
body.flyttdrift-site .manifest-inner > p:last-child,
body.flyttdrift-site .onboarding-card > div:first-child > p:not(.eyebrow) { color: var(--fd-site-on-dark); }
body.flyttdrift-site .portal-welcome p { color: #c8f56b; }
body.flyttdrift-site .video-transcript :is(summary, a),
body.flyttdrift-site .site-footer .brand.brand-footer { color: #fff !important; }
body.flyttdrift-site .site-footer .footer-grid h2 { color: var(--fd-site-on-dark) !important; }
body.flyttdrift-site .site-footer .footer-grid > div:not(:first-child) a { color: #fff; }
body.flyttdrift-site .site-footer a:hover { color: #c8f56b !important; }

/* The former bright teal CTA did not provide enough contrast for small white
   text. Its darker brand color keeps all CTA text readable. */
body.flyttdrift-site .cta-section { background: #087466; color: #fff; }
body.flyttdrift-site .cta-section :is(h2, p, .cta-contact > a:not(.fd-button)) { color: #fff !important; }
body.flyttdrift-site .cta-section .eyebrow { color: #c8f56b !important; }

/* Header colors follow its actual background, including the mobile menu. */
body.flyttdrift-site .site-header { --fd-header-ink: #fff; }
body.flyttdrift-site .site-header.is-scrolled,
body.flyttdrift-site:not(.home) .site-header { --fd-header-ink: #071a2b; }
body.flyttdrift-site .site-header :is(.brand, .site-nav > a:not(.fd-button), .nav-toggle) { color: var(--fd-header-ink); }
body.flyttdrift-site .fd-button { color: #04111e; text-shadow: none; }
body.flyttdrift-site .fd-button:hover { color: #04111e; }
body.flyttdrift-site .fd-button-ghost { color: #fff; }
body.flyttdrift-site .fd-button-ghost:hover { color: #04111e; background: #fff; }
body.flyttdrift-site .fd-button-light { color: #04111e; background: #fff; }

/* Small labels and demo table text retain a minimum 4.5:1 ratio on the
   original light panel colors rather than becoming pale gray. */
body.flyttdrift-site :is(.browser-address, .portal-breadcrumb, .portal-status-card span, .portal-status-card small, .portal-panel-head p, .portal-table-wrap th, .portal-table-wrap th span, .form-demo-grid label small, .form-demo-grid label i, .settings-demo small, .demo-caption, .login-card label span, .login-card > small, .portal-list small, .timeline-list small, .portal-search > span, .portal-search > b, .index-panel label, .timeline-list > div > b) { color: var(--fd-site-muted); }
body.flyttdrift-site :is(.portal-main, .portal-table-wrap, .form-demo-grid label, .settings-demo > div, .login-card, .contact-card, .console-output, .doc-sheet) { color: #102637; }
body.flyttdrift-site .portal-table-wrap :is(th, td) { background-color: #fff; }
body.flyttdrift-site .portal-table-wrap th { background-color: #f0f5f3; }
body.flyttdrift-site .portal-table-wrap th span { background: #e4ecea; }
body.flyttdrift-site .active-pill { color: #076253; }
body.flyttdrift-site .index-panel p { color: #455e6b; }
body.flyttdrift-site .portal-sidebar nav button { color: var(--fd-site-on-dark); }
body.flyttdrift-site .portal-sidebar nav button:is(:hover, .is-active) { color: #fff; }
body.flyttdrift-site .faq-item button { color: #102637; }
body.flyttdrift-site :is(.eyebrow:not(.eyebrow-light), .text-link, .source-note a, .entry-content a, .login-card > a, .fd-auth-link a) { color: #087466; }
body.flyttdrift-site :is(.section-dark, .page-hero, .fd-auth-copy, .manifest-section, .onboarding-card, .price-card.enterprise) .eyebrow { color: #50dec5; }
/* These elements sit on a different surface from their outer section. */
body.flyttdrift-site .page-hero .contact-card .eyebrow { color: #087466; }
body.flyttdrift-site .fd-auth-host > .fd-auth-link a { color: #50dec5; }
body.flyttdrift-site .fd-auth-back { color: #50dec5; }
body.flyttdrift-site :is(.source-note a, .entry-content a, .fd-auth-back, .fd-auth-link a, .login-card > a, .cta-contact > a:not(.fd-button), .video-transcript a) { text-decoration: underline; text-underline-offset: 3px; }

/* Strong, contrasting keyboard focus for both light and dark surfaces. The
   inner white gap keeps focus visible around colored buttons. */
body.flyttdrift-site :where(a, button, input, select, textarea, summary, video):focus-visible {
  outline: 3px solid #087466;
  outline-offset: 3px;
  box-shadow: 0 0 0 2px #fff;
}
body.flyttdrift-site :is(.hero, .page-hero, .fd-auth-copy, .section-dark, .manifest-section, .onboarding-card, .price-card.enterprise, .portal-sidebar, .site-footer, .cta-section) :where(a, button, summary, video):focus-visible {
  outline-color: #c8f56b;
  box-shadow: 0 0 0 2px #071a2b;
}
body.flyttdrift-site :is(.login-card, .contact-card, .fd-auth-card) :where(a, button, input, select, textarea):focus-visible {
  outline-color: #087466;
  box-shadow: 0 0 0 2px #fff;
}
@media (max-width: 900px) {
  /* A backdrop-filter on the header would become the containing block of its
     fixed menu. Use an opaque surface so the menu fills the viewport. */
  body.flyttdrift-site .site-header,
  body.flyttdrift-site .site-header.is-scrolled,
  body.flyttdrift-site:not(.home) .site-header {
    --fd-header-ink: #071a2b;
    background: #f9fbf9;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.flyttdrift-site .site-nav { background: #f5f7f4; color: #071a2b; overflow-y: auto; visibility: hidden; pointer-events: none; }
  body.flyttdrift-site .site-nav.is-open { visibility: visible; pointer-events: auto; }
  body.flyttdrift-site .site-header :is(.brand, .site-nav > a:not(.fd-button), .nav-toggle) { color: #071a2b; }
}

/* Founder statement. Uses ordinary Avada Text Block content. */
.fd-founder-section { background: var(--warm); }
.fd-founder-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 6vw, 90px); align-items: start; }
.fd-founder-grid h2 { font-size: clamp(32px, 4vw, 52px); }
.fd-founder-story { max-width: 730px; }
.fd-founder-story p { color: var(--ink-soft); font-size: 18px; line-height: 1.7; }
.fd-founder-signature { color: var(--navy-900) !important; font-size: 15px !important; font-weight: 750; }
@media (max-width: 900px) { .fd-founder-grid { grid-template-columns: 1fr; } }
