:root {
  --red: #d71d27;
  --ink: #101216;
  --paper: #f2f1ed;
  --line: rgba(16, 18, 22, 0.16);
  --muted: #656a73;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
a { color: inherit; text-decoration: none; }
.container { width: min(1280px, calc(100% - 72px)); margin: 0 auto; }
.section { padding: 130px 0; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 26px; height: 2px; background: currentColor; }
.eyebrow.light { color: rgba(255,255,255,.82); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.045em; }
h2 { max-width: 830px; margin: 22px 0 0; font-size: clamp(42px, 5.5vw, 76px); line-height: .98; font-weight: 500; }
p { color: var(--muted); line-height: 1.75; }
.lead { font-size: 20px; line-height: 1.65; }
.button { min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-red { background: var(--red); color: white; }
.button-red:hover { background: #eb1e29; }
.button-outline-light { border: 1px solid rgba(255,255,255,.42); color: white; }
.button-outline-light:hover { background: white; color: var(--ink); }
.text-link { display: inline-flex; align-items: center; gap: 16px; padding-bottom: 8px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px,-3px); }
.text-link.light { color: white; }

.site-header { position: absolute; inset: 0 0 auto; z-index: 10; color: white; }
.header-inner { height: 96px; display: flex; align-items: center; border-bottom: 1px solid rgba(255,255,255,.25); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border: 2px solid var(--red); color: white; font-size: 21px; font-weight: 800; transform: skew(-8deg); }
.brand-name { font-size: 18px; font-weight: 800; letter-spacing: .12em; }
.brand-name small { display: block; margin-top: 2px; font-size: 7px; font-weight: 600; letter-spacing: .37em; opacity: .66; }
.desktop-nav { display: flex; align-items: center; gap: 34px; margin-left: auto; }
.desktop-nav a { position: relative; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:1px; background:var(--red); transition:right .25s ease; }
.desktop-nav a:hover::after { right:0; }
.header-cta { min-height: 42px; margin-left: 36px; padding: 0 16px; display: inline-flex; align-items: center; gap: 14px; border-left: 1px solid rgba(255,255,255,.32); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.mobile-menu { display: none; margin-left: auto; }

.hero { position: relative; min-height: 830px; display: flex; align-items: flex-end; overflow: hidden; color: white; background-size: cover; background-position: center; }
.home-hero { background-image: url("https://images.unsplash.com/photo-1494412574643-ff11b0a5c1c3?auto=format&fit=crop&w=2400&q=88"); }
.about-hero { min-height: 720px; background-image: url("https://images.unsplash.com/photo-1513828583688-c52646db42da?auto=format&fit=crop&w=2400&q=88"); background-position: center 45%; }
.hero-shade { position:absolute; inset:0; background: linear-gradient(90deg, rgba(7,9,13,.9) 0%, rgba(7,9,13,.56) 49%, rgba(7,9,13,.2) 100%), linear-gradient(0deg, rgba(7,9,13,.72) 0%, transparent 48%); }
.hero::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent calc(50% - 1px), rgba(255,255,255,.08) 50%, transparent calc(50% + 1px)); pointer-events:none; }
.hero-content { position:relative; z-index:2; padding-bottom: 128px; }
.hero h1 { max-width: 980px; margin: 24px 0 30px; font-size: clamp(58px, 7.6vw, 112px); line-height: .88; font-weight: 500; }
.hero-copy { max-width: 620px; color: rgba(255,255,255,.72); font-size: 19px; line-height: 1.62; }
.hero-actions { display:flex; align-items:center; gap:38px; margin-top: 40px; }
.hero-index { position:absolute; z-index:2; right:36px; bottom:30px; display:flex; gap:38px; color:rgba(255,255,255,.45); font-size:9px; font-weight:700; letter-spacing:.2em; writing-mode:vertical-rl; transform:rotate(180deg); }
.about-hero-content { padding-bottom: 102px; }
.about-hero h1 { font-size: clamp(56px, 6.7vw, 98px); }

.metrics-strip { background: var(--ink); color: white; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.metric { min-height: 150px; padding: 34px 40px; display:flex; flex-direction:column; justify-content:center; border-left:1px solid rgba(255,255,255,.12); }
.metric:last-child { border-right:1px solid rgba(255,255,255,.12); }
.metric strong { font-size: 46px; font-weight: 500; letter-spacing:-.04em; }
.metric span { margin-top:10px; color:rgba(255,255,255,.5); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }

.intro-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:110px; align-items:end; }
.intro-copy { padding-top:60px; }
.intro-copy .text-link { margin-top:22px; }
.ecosystem-flow { margin-top:100px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.flow-card { min-height:250px; padding:38px 30px; border-left:1px solid var(--line); }
.flow-card:last-child { border-right:1px solid var(--line); }
.flow-card > span { color:var(--red); font-size:11px; font-weight:700; }
.flow-card h3 { margin:70px 0 12px; font-size:26px; font-weight:500; }
.flow-card p { margin:0; font-size:13px; }

.image-break { min-height:560px; display:flex; align-items:flex-end; color:white; background-size:cover; background-position:center; position:relative; }
.image-break::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,11,15,.78),rgba(9,11,15,.04) 70%); }
.home-image-break { background-image:url("https://images.unsplash.com/photo-1578575437130-527eed3abbec?auto=format&fit=crop&w=2400&q=88"); }
.image-break-content { position:relative; z-index:1; padding-bottom:58px; display:flex; align-items:flex-end; justify-content:space-between; }
.image-break-content p { max-width:660px; margin:0; color:white; font-size:clamp(30px,4vw,54px); line-height:1.05; letter-spacing:-.04em; }

.section-heading { margin-bottom:70px; }
.split-heading { display:grid; grid-template-columns:1.25fr .55fr; gap:100px; align-items:end; }
.split-heading > p { margin:0; font-size:16px; }
.business-section { background:#f7f6f2; }
.business-list { border-top:1px solid var(--line); }
.business-row { min-height:130px; padding:28px 18px; display:grid; grid-template-columns:90px 1fr 1fr 30px; gap:30px; align-items:center; border-bottom:1px solid var(--line); transition:background .25s ease, padding .25s ease; }
.business-row:hover { background:white; padding-left:30px; padding-right:30px; }
.business-number { color:var(--red); font-size:10px; font-weight:700; }
.business-row h3 { margin:0; font-size:28px; font-weight:500; }
.business-row p { max-width:440px; margin:0; font-size:13px; }
.business-arrow { font-size:22px; color:var(--red); }

.network-section { background:var(--ink); color:white; overflow:hidden; }
.network-grid { min-height:620px; display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:70px; }
.network-copy h2 { color:white; }
.network-copy p { max-width:520px; margin:30px 0 38px; color:rgba(255,255,255,.58); font-size:17px; }
.network-map { position:relative; height:520px; border-radius:50%; border:1px solid rgba(255,255,255,.13); background:radial-gradient(circle at 50%,rgba(215,29,39,.15),transparent 38%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:auto,46px 46px,46px 46px; }
.network-map::before,.network-map::after { content:""; position:absolute; inset:14% 5%; border:1px dashed rgba(255,255,255,.12); border-radius:50%; transform:rotate(13deg); }
.network-map::after { inset:8% 24%; transform:rotate(-22deg); }
.orbit { position:absolute; border:1px solid rgba(215,29,39,.55); border-radius:50%; }
.orbit-one { inset:22% 10%; transform:rotate(-18deg); }
.orbit-two { inset:8% 35%; transform:rotate(28deg); }
.map-point { position:absolute; display:flex; align-items:center; gap:8px; color:rgba(255,255,255,.72); font-size:9px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.map-point i { width:8px; height:8px; border:2px solid white; border-radius:50%; box-shadow:0 0 0 7px rgba(215,29,39,.25); background:var(--red); }
.p1{left:12%;top:40%}.p2{left:44%;top:29%}.p3{left:57%;top:51%}.p4{right:9%;top:38%}.p5{left:43%;bottom:21%}

.commitment-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:90px; align-items:center; }
.commitment-image { min-height:650px; background:url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1600&q=88") center/cover; }
.commitment-copy h2 { font-size:clamp(42px,5vw,68px); }
.commitment-copy .lead { margin:32px 0; }
.value-mini-grid { margin:36px 0 42px; display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.value-mini-grid span { padding:18px 0; border-bottom:1px solid var(--line); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

.statement-grid { display:grid; grid-template-columns:.42fr 1.3fr; gap:70px; }
.statement-grid h2 { margin:0 0 38px; }
.statement-grid > div:last-child { max-width:880px; }
.statement-text { color:var(--ink); font-size:24px; line-height:1.55; }
.about-panorama { min-height:620px; background:url("https://images.unsplash.com/photo-1567789884554-0b844b597180?auto=format&fit=crop&w=2400&q=88") center/cover; }
.purpose-grid { display:grid; grid-template-columns:1fr 1fr; }
.purpose-card { min-height:520px; padding:70px; display:flex; flex-direction:column; justify-content:flex-end; }
.purpose-card h2 { margin-bottom:28px; font-size:clamp(40px,4vw,62px); }
.purpose-card p { max-width:560px; }
.mission-card { background:var(--red); color:white; }
.mission-card p { color:rgba(255,255,255,.72); }
.vision-card { background:white; }
.group-system { display:grid; grid-template-columns:1.15fr .9fr .9fr; gap:18px; }
.group-core,.group-company { min-height:380px; padding:44px; display:flex; flex-direction:column; justify-content:flex-end; }
.group-core { background:var(--ink); color:white; }
.group-core h3 { font-size:44px; font-weight:500; margin:12px 0 18px; }
.group-core p { color:rgba(255,255,255,.56); }
.group-company { border:1px solid var(--line); background:#f8f7f3; }
.group-company h3 { font-size:28px; font-weight:500; margin:18px 0; }
.group-label { margin-bottom:auto; color:var(--red); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.fincore-mark { color:#095b49; font-size:36px; font-weight:800; letter-spacing:-.06em; }
.fincore-card { border-top:4px solid #b69649; }
.growth-card { border-top:4px solid var(--red); }

.values-section { background:var(--ink); color:white; }
.values-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; }
.values-intro { position:sticky; top:70px; align-self:start; }
.values-intro h2 { color:white; font-size:clamp(46px,5vw,72px); }
.values-intro p { max-width:480px; margin-top:30px; color:rgba(255,255,255,.55); }
.values-list { border-top:1px solid rgba(255,255,255,.16); }
.values-list article { min-height:150px; padding:30px 0; display:grid; grid-template-columns:70px 1fr; border-bottom:1px solid rgba(255,255,255,.16); }
.values-list article > span { color:var(--red); font-size:10px; font-weight:700; }
.values-list h3 { margin:0 0 12px; font-size:28px; font-weight:500; }
.values-list p { max-width:580px; margin:0; color:rgba(255,255,255,.52); font-size:14px; }
.presence-grid { display:grid; grid-template-columns:1.05fr .75fr; gap:110px; }
.presence-grid .lead { max-width:700px; margin:32px 0 42px; }
.region-list { border-top:1px solid var(--line); }
.region-list div { min-height:72px; display:grid; grid-template-columns:70px 1fr; align-items:center; border-bottom:1px solid var(--line); }
.region-list span { color:var(--red); font-size:10px; font-weight:700; }
.region-list strong { font-size:19px; font-weight:500; }

.site-footer { background:#0c0e12; color:white; }
.footer-top { padding:120px 0 100px; position:relative; border-bottom:1px solid rgba(255,255,255,.14); }
.footer-top::after { content:"F"; position:absolute; right:2%; bottom:-28px; color:rgba(255,255,255,.025); font-size:280px; font-weight:900; line-height:.7; transform:skew(-8deg); }
.footer-kicker { color:var(--red); font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.footer-top h2 { margin:28px 0 45px; color:white; font-size:clamp(50px,7vw,92px); }
.footer-grid { padding:70px 0; display:grid; grid-template-columns:1.35fr .7fr .85fr .85fr; gap:60px; }
.footer-brand p { margin-top:24px; color:rgba(255,255,255,.42); font-size:13px; }
.footer-column { display:flex; flex-direction:column; gap:14px; }
.footer-column > span { margin-bottom:10px; color:rgba(255,255,255,.35); font-size:9px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.footer-column a,.footer-column p,.footer-column strong { margin:0; color:rgba(255,255,255,.76); font-size:13px; line-height:1.55; }
.footer-column a:hover { color:white; }
.footer-office strong { font-size:18px; font-weight:500; }
.footer-bottom { padding:22px 0 30px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.32); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }

@media (max-width: 980px) {
  .container { width:min(100% - 40px, 760px); }
  .section { padding:90px 0; }
  .desktop-nav,.header-cta { display:none; }
  .mobile-menu { display:block; position:relative; }
  .mobile-menu summary { width:42px; height:42px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; border:1px solid rgba(255,255,255,.34); list-style:none; cursor:pointer; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary i { width:17px; height:1px; background:white; }
  .mobile-menu nav { position:absolute; right:0; top:50px; width:230px; padding:22px; display:flex; flex-direction:column; gap:18px; background:var(--ink); box-shadow:0 18px 42px rgba(0,0,0,.35); }
  .mobile-menu nav a { font-size:12px; font-weight:700; text-transform:uppercase; }
  .hero { min-height:760px; }
  .hero-content { padding-bottom:92px; }
  .metric-grid { grid-template-columns:1fr 1fr; }
  .metric:nth-child(2) { border-right:1px solid rgba(255,255,255,.12); }
  .metric:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .intro-grid,.split-heading,.commitment-grid,.statement-grid,.values-grid,.presence-grid { grid-template-columns:1fr; gap:55px; }
  .intro-copy { padding-top:0; }
  .ecosystem-flow { grid-template-columns:1fr 1fr; }
  .flow-card:nth-child(2) { border-right:1px solid var(--line); }
  .flow-card:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .image-break-content { display:block; }
  .image-break-content p { margin-top:22px; }
  .business-row { grid-template-columns:55px 1fr 30px; }
  .business-row p { grid-column:2/3; }
  .business-arrow { grid-column:3; grid-row:1; }
  .network-grid { grid-template-columns:1fr; }
  .network-map { height:430px; }
  .commitment-image { min-height:520px; }
  .purpose-grid { grid-template-columns:1fr; }
  .group-system { grid-template-columns:1fr; }
  .values-intro { position:static; }
  .footer-grid { grid-template-columns:1.2fr 1fr; }
}

@media (max-width: 620px) {
  .container { width:calc(100% - 30px); }
  .header-inner { height:78px; }
  .hero { min-height:690px; }
  .hero h1 { font-size:50px; line-height:.94; }
  .hero-copy { font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:26px; }
  .hero-index { display:none; }
  .metric { min-height:118px; padding:24px 18px; }
  .metric strong { font-size:36px; }
  h2 { font-size:39px; }
  .ecosystem-flow { grid-template-columns:1fr; }
  .flow-card,.flow-card:nth-child(2) { min-height:190px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .flow-card h3 { margin-top:42px; }
  .image-break { min-height:460px; }
  .business-row { grid-template-columns:38px 1fr 20px; gap:12px; padding:25px 4px; }
  .business-row h3 { font-size:22px; }
  .network-map { height:330px; }
  .commitment-grid { gap:45px; }
  .commitment-image { min-height:410px; }
  .value-mini-grid { grid-template-columns:1fr; }
  .statement-text { font-size:20px; }
  .about-panorama { min-height:430px; }
  .purpose-card { min-height:480px; padding:45px 28px; }
  .group-core,.group-company { min-height:340px; padding:32px 28px; }
  .values-list article { grid-template-columns:44px 1fr; }
  .footer-top { padding:90px 0 75px; }
  .footer-grid { grid-template-columns:1fr; gap:40px; }
  .footer-bottom { flex-direction:column; gap:12px; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-content { animation: rise .8s ease-out both; }
  .metric { animation: fade .7s ease both; }
  .metric:nth-child(2){animation-delay:.06s}.metric:nth-child(3){animation-delay:.12s}.metric:nth-child(4){animation-delay:.18s}
  @keyframes rise { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
  @keyframes fade { from { opacity:0; } to { opacity:1; } }
}

/* FTOREX corporate pages — reference-matched dark system */
.ft-home,.ft-about { --ft-bg:#061019; --ft-panel:#0b151e; --ft-border:rgba(174,194,207,.18); --ft-copy:#aeb9c2; background:var(--ft-bg); color:#fff; overflow:hidden; }
.ft-shell { width:min(1180px,calc(100% - 64px)); margin:0 auto; }
.ft-header { position:absolute; inset:0 0 auto; z-index:20; color:white; background:rgba(4,10,15,.78); border-bottom:1px solid rgba(255,255,255,.05); backdrop-filter:blur(7px); }
.ft-header-inner { height:82px; display:flex; align-items:center; }
.ft-brand { width:155px; height:58px; display:flex; align-items:center; overflow:hidden; }
.ft-brand img { width:155px; height:auto; display:block; }
.ft-desktop-nav { margin-left:auto; display:flex; align-items:center; gap:30px; }
.ft-desktop-nav a { position:relative; padding:30px 0 27px; color:rgba(255,255,255,.78); font-size:10px; font-weight:700; letter-spacing:.02em; text-transform:uppercase; }
.ft-desktop-nav a:hover,.ft-desktop-nav a.active { color:#fff; }
.ft-desktop-nav a.active { color:#f1252e; }
.ft-desktop-nav a.active::after { content:""; position:absolute; left:0; right:0; bottom:17px; height:2px; background:#e3222a; }
.ft-header-cta { height:44px; margin-left:26px; padding:0 22px; display:flex; align-items:center; background:#dd2029; color:#fff; font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; transition:background .2s ease,transform .2s ease; }
.ft-header-cta:hover { background:#f02932; transform:translateY(-1px); }
.ft-mobile-menu { display:none; margin-left:auto; position:relative; }

.ft-hero { min-height:760px; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#030b11; }
.ft-hero::before { content:""; position:absolute; z-index:0; inset:0; background:url('/ftorex-truck-port.webp') center/cover no-repeat; }
.ft-hero::after { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:radial-gradient(circle at 87.9% 79.2%,rgba(255,244,224,.96) 0 2px,rgba(255,50,31,.78) 4px,rgba(229,21,20,.28) 10px,transparent 25px),radial-gradient(circle at 96.7% 79.2%,rgba(255,244,224,.96) 0 2px,rgba(255,50,31,.78) 4px,rgba(229,21,20,.28) 10px,transparent 25px),radial-gradient(ellipse at 93% 87%,rgba(232,39,24,.12),transparent 12%); opacity:.35; }
.ft-hero-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(2,9,14,.96) 0%,rgba(3,10,15,.83) 34%,rgba(3,10,15,.28) 70%,rgba(3,10,15,.08) 100%),linear-gradient(0deg,rgba(3,9,14,.88) 0%,transparent 58%); }
.ft-hero-content { position:relative; z-index:3; padding:70px 0 122px; }
.ft-hero h1,.fta-hero h1 { margin:0 0 12px; font-size:clamp(52px,6.4vw,88px); line-height:.94; font-weight:800; letter-spacing:-.055em; }
.ft-hero h1 span,.fta-hero h1 span { color:#e5242d; }
.ft-hero h2 { margin:0 0 30px; font-size:22px; line-height:1.2; font-weight:800; letter-spacing:.02em; text-transform:uppercase; }
.ft-hero-content>p { max-width:580px; margin:0; color:#bec6cc; font-size:17px; line-height:1.65; }
.ft-actions { margin-top:34px; display:flex; gap:18px; flex-wrap:wrap; }
.ft-btn { min-height:52px; padding:0 26px; display:inline-flex; align-items:center; justify-content:center; gap:24px; border:1px solid transparent; color:#fff; font-size:11px; font-weight:800; letter-spacing:.02em; text-transform:uppercase; transition:background .2s ease,border .2s ease,transform .2s ease; }
.ft-btn:hover { transform:translateY(-2px); }
.ft-btn-red { background:#dc2029; }
.ft-btn-red:hover { background:#ef2932; }
.ft-btn-outline { border-color:rgba(255,255,255,.58); background:rgba(5,12,18,.25); }
.ft-btn-outline:hover { border-color:white; background:rgba(255,255,255,.08); }
.ft-stats { position:absolute; z-index:4; left:50%; bottom:0; transform:translateX(-50%); min-height:126px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--ft-border); border-bottom:0; border-radius:10px 10px 0 0; background:rgba(6,16,24,.88); backdrop-filter:blur(10px); }
.ft-stat { min-width:0; padding:25px 28px; display:grid; grid-template-columns:46px 1fr; grid-template-rows:auto auto; align-items:center; column-gap:18px; border-right:1px solid var(--ft-border); }
.ft-stat:last-child { border-right:0; }
.ft-stat svg { grid-row:1/3; width:42px; color:#e6242d; }
.ft-stat strong { align-self:end; font-size:27px; line-height:1; }
.ft-stat span { align-self:start; margin-top:7px; color:#c2cad0; font-size:8px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }

.ft-section { padding:76px 0; background:radial-gradient(circle at 92% 30%,rgba(20,52,69,.13),transparent 36%),var(--ft-bg); }
.ft-section-border { border-top:1px solid rgba(255,255,255,.08); }
.ft-label { margin-bottom:16px; color:#e6262f; font-size:10px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.ft-title { max-width:820px; margin:0 0 13px; color:#fff; font-size:clamp(31px,3.7vw,48px); line-height:1.08; font-weight:700; letter-spacing:-.035em; }
.ft-intro { max-width:720px; margin:0; color:var(--ft-copy); font-size:15px; line-height:1.55; }
.ft-grid { display:grid; gap:22px; margin-top:30px; }
.ft-grid-2 { grid-template-columns:repeat(2,1fr); }
.ft-grid-3 { grid-template-columns:repeat(3,1fr); }
.ft-grid-4 { grid-template-columns:repeat(4,1fr); }
.ft-card { border:1px solid var(--ft-border); border-radius:7px; background:linear-gradient(135deg,rgba(16,28,38,.96),rgba(9,18,26,.88)); box-shadow:inset 0 1px rgba(255,255,255,.025); }
.ft-feature-card { min-height:142px; padding:26px; display:grid; grid-template-columns:54px 1fr; gap:20px; align-items:start; }
.ft-feature-card { position:relative; overflow:hidden; transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease; }
.ft-feature-card:hover { border-color:rgba(226,36,45,.62); transform:translateY(-3px); box-shadow:0 18px 38px rgba(0,0,0,.2); }
.ft-feature-card svg { width:44px; color:#e7232c; }
.ft-feature-card h3 { margin:0 0 9px; color:white; font-size:19px; line-height:1.2; font-weight:700; letter-spacing:-.02em; }
.ft-feature-card p { margin:0; color:var(--ft-copy); font-size:12px; line-height:1.55; }
.ft-feature-card em { position:absolute; right:18px; bottom:13px; color:rgba(255,255,255,.45); font-size:8px; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:0; transform:translateY(4px); transition:opacity .2s ease,transform .2s ease; }
.ft-feature-card:hover em { opacity:1; transform:none; }
.ft-area-card { min-height:92px; padding:20px 18px; display:grid; grid-template-columns:32px 1fr 20px; gap:13px; align-items:center; transition:border-color .2s ease,transform .2s ease; }
.ft-area-card:hover { border-color:rgba(226,36,45,.7); transform:translateY(-2px); }
.ft-area-card svg { width:26px; color:#e7232c; }
.ft-area-card h3 { margin:0; font-size:14px; line-height:1.25; letter-spacing:-.015em; }
.ft-area-card>span { color:#e7232c; font-size:18px; }
.ft-industries { display:grid; grid-template-columns:1fr .92fr; gap:70px; align-items:center; }
.ft-industries-image { min-height:400px; border:1px solid rgba(255,255,255,.19); border-radius:14px; background:url('/port-global.webp') center/cover no-repeat; box-shadow:0 28px 60px rgba(0,0,0,.28); }
.ft-industry-list { margin-top:28px; display:grid; grid-template-columns:repeat(2,1fr); gap:17px 48px; }
.ft-industry-list span { color:#c2cbd2; font-size:13px; }
.ft-industry-list i { width:9px; height:9px; margin-right:12px; display:inline-block; border-radius:50%; background:#e5242d; box-shadow:0 0 0 4px rgba(229,36,45,.08); }
.ft-why-grid .ft-feature-card { grid-template-columns:46px 1fr; }
.ft-why-grid .ft-feature-card svg { width:38px; }
.ft-process { margin-top:38px; display:grid; grid-template-columns:repeat(7,1fr); position:relative; }
.ft-process::before { content:""; position:absolute; left:7%; right:7%; top:24px; height:2px; background:linear-gradient(90deg,#e4242d,#d9dee1 15%,#d9dee1 85%,#e4242d); opacity:.75; }
.ft-process-step { position:relative; z-index:1; padding:0; text-align:center; border:0; background:transparent; }
.ft-process-step { transition:transform .2s ease; }
.ft-process-step:hover { transform:translateY(-3px); }
.ft-process-step span { width:48px; height:48px; margin:0 auto 16px; display:grid; place-items:center; border-radius:50%; background:#de222b; color:#fff; font-size:15px; font-weight:800; box-shadow:0 0 0 7px var(--ft-bg); }
.ft-process-step p { margin:0; color:#b9c3ca; font-size:11px; line-height:1.25; }
.ft-compliance { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:center; }
.ft-compliance .ft-btn { margin-top:27px; }
.ft-contact-card { padding:42px; border:1px solid var(--ft-border); border-radius:9px; background:linear-gradient(135deg,#101d27,#09131c); }
.ft-contact-card h3 { margin:0 0 15px; max-width:420px; color:#fff; font-size:28px; line-height:1.08; font-weight:700; }
.ft-contact-card p { margin:0; color:var(--ft-copy); font-size:13px; line-height:1.55; }
.ft-contact-card .ft-btn { min-height:46px; margin-top:24px; }

.ft-footer { background:#050c12; color:white; border-top:1px solid rgba(255,255,255,.11); }
.ft-footer-cta { background:linear-gradient(100deg,rgba(12,29,41,.98),rgba(5,14,21,.98)); border-bottom:1px solid rgba(255,255,255,.1); }
.ft-footer-cta>.ft-shell { min-height:168px; display:flex; align-items:center; justify-content:space-between; gap:55px; }
.ft-footer-cta span { display:block; margin-bottom:11px; color:#e7242d; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ft-footer-cta h2 { max-width:760px; margin:0; color:#fff; font-size:clamp(30px,3.5vw,47px); line-height:1.02; letter-spacing:-.035em; }
.ft-footer-cta .ft-btn { flex:0 0 auto; }
.ft-footer-main { padding:58px 0 52px; display:grid; grid-template-columns:1.2fr .62fr 1fr 1fr; align-items:start; gap:54px; }
.ft-footer-brand img { width:178px; height:auto; display:block; }
.ft-footer-brand p { max-width:290px; margin:17px 0 23px; color:#8d9aa4; font-size:11px; line-height:1.6; }
.ft-footer-focus { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:#bac3ca; font-size:9px; font-weight:700; text-transform:uppercase; }
.ft-footer-focus i { width:5px; height:5px; border-radius:50%; background:#e4232c; }
.ft-footer-links,.ft-footer-office { margin:0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; font-style:normal; }
.ft-footer-links>b,.ft-footer-office>b { margin-bottom:7px; color:#6f7c85; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.ft-footer-links a { color:#b8c1c8; font-size:10px; }
.ft-footer-links a:hover { color:white; }
.ft-footer-office strong { margin-bottom:2px; color:#fff; font-size:19px; }
.ft-footer-office p { margin:0 0 4px; color:#8d9aa4; font-size:10px; line-height:1.55; }
.ft-footer-office a { color:#d2d8dc; font-size:10px; line-height:1.35; overflow-wrap:anywhere; }
.ft-footer-office a:hover { color:#ef2932; }
.ft-footer-bottom { min-height:48px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.07); color:#5f6b74; font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

/* About */
.fta-hero { min-height:675px; position:relative; display:flex; align-items:center; background:url('/about-hero.webp') center/cover no-repeat; }
.fta-hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(2,8,13,.97) 0%,rgba(2,8,13,.88) 34%,rgba(2,8,13,.14) 67%,rgba(2,8,13,.04)); }
.fta-hero-content { position:relative; z-index:2; padding-top:82px; }
.fta-hero h1 { margin-bottom:10px; font-size:clamp(54px,6vw,82px); }
.fta-hero h2 { margin:0; color:#fff; font-size:27px; line-height:1.24; font-weight:750; text-transform:uppercase; }
.fta-red-line { width:36px; height:2px; margin:22px 0; display:block; background:#e7242d; }
.fta-hero-content>p { max-width:590px; margin:0 0 8px; color:#c2c9ce; font-size:15px; line-height:1.55; }
.fta-hero .ft-actions { margin-top:28px; }
.fta-ecosystem { display:grid; grid-template-columns:42% 58%; background:#f5f5f4; color:#11171b; }
.fta-global-image { min-height:520px; position:relative; overflow:hidden; isolation:isolate; background:#020b14; }
.fta-global-image::before { content:""; position:absolute; z-index:-2; inset:-5%; background:url('/about-global.webp') 45% center/cover no-repeat; animation:fta-globe-drift 22s ease-in-out infinite alternate; }
.fta-global-image::after { content:""; position:absolute; z-index:-1; inset:0; background:radial-gradient(ellipse at 58% 18%,rgba(72,178,255,.3),transparent 23%),linear-gradient(90deg,rgba(2,10,18,.08),rgba(1,8,15,.28)); mix-blend-mode:screen; animation:fta-atmosphere 4.8s ease-in-out infinite alternate; }
.fta-orbit { position:absolute; left:50%; top:46%; width:72%; height:31%; border:1px solid rgba(83,174,242,.34); border-radius:50%; transform:translate(-50%,-50%) rotate(-12deg); }
.fta-orbit-two { width:48%; height:58%; transform:translate(-50%,-50%) rotate(28deg); border-color:rgba(227,40,50,.24); }
.fta-orbit i { position:absolute; left:5%; top:48%; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 8px 3px rgba(67,177,255,.72); animation:fta-orbit-dot 9s linear infinite; }
.fta-orbit-two i { animation-duration:12s; animation-direction:reverse; background:#ef3139; box-shadow:0 0 10px 3px rgba(239,49,57,.65); }
.fta-map-pulse { position:absolute; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 0 0 rgba(71,181,255,.6); animation:fta-pulse 2.6s ease-out infinite; }
.fta-pulse-one { left:29%; top:36%; }.fta-pulse-two { left:58%; top:53%; animation-delay:.85s; }.fta-pulse-three { right:15%; top:31%; animation-delay:1.7s; }
.fta-ecosystem-content { padding:54px clamp(36px,6vw,90px) 48px 44px; }
.fta-ecosystem-content h2 { margin:0 0 16px; max-width:650px; color:#11171b; font-size:37px; line-height:1.05; font-weight:750; text-transform:uppercase; }
.fta-ecosystem-content>p { max-width:720px; margin:0 0 5px; color:#343a3e; font-size:12px; line-height:1.55; }
.fta-ecosystem-grid { margin-top:24px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fta-ecosystem-card { min-height:174px; padding:20px 14px; text-align:center; border:1px solid #d1d4d6; background:#fafafa; transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.fta-ecosystem-card:hover { border-color:#e1222c; transform:translateY(-3px); box-shadow:0 14px 30px rgba(8,17,25,.1); }
.fta-ecosystem-card>span { color:#e1222c; font-size:37px; line-height:1; }
.fta-ecosystem-grid h3 { margin:12px 0 10px; font-size:11px; line-height:1.2; font-weight:800; text-transform:uppercase; }
.fta-ecosystem-grid p { margin:0; color:#333; font-size:10px; line-height:1.45; }
.fta-ecosystem-grid em { display:block; margin-top:12px; color:#d9222b; font-size:8px; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; opacity:.6; }
.fta-journey { padding:52px 0 56px; background:radial-gradient(circle at 86% 44%,rgba(20,71,98,.23),transparent 30%),#04101a; color:#fff; }
.fta-journey-layout { display:grid; grid-template-columns:1fr 250px; gap:45px; align-items:start; }
.fta-timeline { display:grid; grid-template-columns:repeat(5,1fr); position:relative; }
.fta-timeline::before { content:""; position:absolute; left:6%; right:6%; top:16px; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,.15)); }
.fta-timeline-card { padding:0 22px 0 0; position:relative; text-align:center; border:0; background:transparent; transition:transform .2s ease; }
.fta-timeline-card:hover { transform:translateY(-3px); }
.fta-step { position:relative; z-index:1; }
.fta-step span { width:34px; height:34px; margin:0 auto 14px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:#07131c; color:#ef252e; font-size:13px; }
.fta-timeline strong { display:block; color:#e82831; font-size:22px; text-transform:uppercase; }
.fta-timeline h3 { margin:5px 0 10px; font-size:10px; letter-spacing:.05em; text-transform:uppercase; }
.fta-timeline p { margin:0; color:#aeb9c1; font-size:9px; line-height:1.55; }
.fta-journey aside { padding:6px 0 0 28px; border-left:1px solid rgba(255,255,255,.17); }
.fta-journey aside p { color:#c4ccd1; font-size:13px; line-height:1.6; }
.fta-journey aside strong { color:#e82a32; font-size:12px; }
.fta-pillars { padding:36px 0; background:#f5f5f4; }
.fta-pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.fta-pillar-card { min-height:130px; padding:24px; display:grid; grid-template-columns:78px 1fr; gap:22px; align-items:center; border:1px solid #d8d9da; background:#fafafa; transition:border-color .2s ease,transform .2s ease; }
.fta-pillar-card:hover { border-color:#e1222c; transform:translateY(-3px); }
.fta-pillar-card>span { width:68px; height:68px; display:grid; place-items:center; border-radius:50%; background:#ececec; color:#111; font-size:34px; }
.fta-pillars h3 { margin:0 0 8px; color:#df2029; font-size:11px; text-transform:uppercase; }
.fta-pillars p { margin:0; color:#161a1d; font-size:14px; line-height:1.35; }
.fta-pillars i { width:28px; height:2px; margin-top:14px; display:block; background:#e6242d; }
.fta-fincore { padding:38px 0 42px; background:linear-gradient(135deg,#f8f8f7 0%,#f8f8f7 72%,#e9e5dc 72%,#fafafa 82%); color:#121619; }
.fta-fincore-grid { display:grid; grid-template-columns:270px 1px 1fr; gap:42px; align-items:center; }
.fta-fincore-grid { padding:18px 22px; text-align:left; border:1px solid transparent; background:transparent; transition:border-color .2s ease,background .2s ease; }
.fta-fincore-grid:hover { border-color:rgba(7,87,68,.25); background:rgba(255,255,255,.55); }
.fta-fincore-logo strong { display:block; color:#075744; font-size:48px; line-height:1; letter-spacing:-.045em; }
.fta-fincore-logo strong::first-letter { color:#b8994b; }
.fta-fincore-logo span { display:block; margin-top:10px; color:#333; font-size:16px; text-align:center; }
.fta-divider { height:95px; background:#cfd0d0; }
.fta-fincore-grid>p { max-width:560px; margin:0; color:#303438; font-size:14px; line-height:1.55; }
.fta-metrics { padding:32px 0 40px; background:#05111a; }
.fta-metrics-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.fta-metric-card { min-height:120px; padding:12px 26px; display:grid; grid-template-columns:55px 1fr; gap:18px; text-align:left; border:0; border-right:1px solid rgba(255,255,255,.15); background:transparent; transition:background .2s ease; }
.fta-metric-card:hover { background:rgba(255,255,255,.035); }
.fta-metric-card:last-child { border-right:0; }
.fta-metric-card>span { color:#e8242d; font-size:42px; }
.fta-metrics-grid strong { font-size:35px; line-height:1; }
.fta-metrics-grid h3 { margin:8px 0 7px; font-size:10px; text-transform:uppercase; }
.fta-metrics-grid p { margin:0; color:#aeb7be; font-size:9px; line-height:1.4; }
.fta-cta { min-height:200px; position:relative; display:flex; align-items:center; background:url('/about-ship.webp') center/cover no-repeat; }
.fta-cta-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,11,17,.95),rgba(4,11,17,.62) 55%,rgba(4,11,17,.32)); }
.fta-cta-content { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:50px; }
.fta-cta h2 { margin:0; color:#fff; font-size:32px; line-height:1.02; font-weight:800; text-transform:uppercase; }
.fta-cta h2 span { color:#e7262f; }
.fta-cta p { max-width:630px; margin:12px 0 0; color:#ccd2d6; font-size:12px; }

/* Shared interactive surfaces */
.ft-modal-trigger { width:100%; margin:0; color:inherit; font:inherit; cursor:pointer; appearance:none; -webkit-appearance:none; }
.ft-modal-trigger:focus-visible { outline:2px solid #e7242d; outline-offset:4px; }
.ft-modal { position:fixed; inset:50% auto auto 50%; width:min(620px,calc(100% - 34px)); max-height:calc(100dvh - 34px); margin:0; padding:52px; overflow:auto; color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:12px; background:radial-gradient(circle at 90% 0,rgba(49,91,116,.2),transparent 34%),#08131c; box-shadow:0 34px 100px rgba(0,0,0,.6); transform:translate(-50%,-50%); }
.ft-modal[open] { animation:ft-modal-in .24s ease-out both; }
.ft-modal::backdrop { background:rgba(1,5,9,.76); backdrop-filter:blur(7px); }
.ft-modal-close { position:absolute; z-index:2; right:14px; top:14px; width:46px; height:46px; padding:0; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(4,11,17,.84); font-size:30px; line-height:1; cursor:pointer; touch-action:manipulation; }
.ft-modal-close span { display:block; transform:translateY(-1px); }
.ft-modal-close:hover,.ft-modal-close:focus-visible { color:#fff; border-color:#e7242d; background:#d92029; outline:none; }
.ft-modal-eyebrow { margin-bottom:16px; color:#e7242d; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ft-modal h2 { margin:0 0 18px; color:#fff; font-size:clamp(30px,5vw,48px); line-height:1.04; text-transform:none; }
.ft-modal p { margin:0; color:#b9c3ca; font-size:15px; line-height:1.65; }
.ft-modal ul { margin:26px 0 30px; padding:0; display:grid; gap:12px; list-style:none; }
.ft-modal li { position:relative; padding-left:20px; color:#dce2e6; font-size:13px; line-height:1.45; }
.ft-modal li::before { content:""; position:absolute; left:0; top:.52em; width:7px; height:7px; border-radius:50%; background:#e7242d; box-shadow:0 0 0 4px rgba(231,36,45,.12); }

@keyframes fta-globe-drift { from { transform:scale(1.08) translateX(-2.5%); background-position:42% center; } to { transform:scale(1.12) translateX(2.5%); background-position:55% center; } }
@keyframes fta-atmosphere { from { opacity:.55; } to { opacity:1; } }
@keyframes fta-orbit-dot { from { left:5%; top:48%; } 50% { left:92%; top:48%; } to { left:5%; top:48%; } }
@keyframes fta-pulse { 0% { box-shadow:0 0 0 0 rgba(71,181,255,.66); opacity:.25; } 35% { opacity:1; } 100% { box-shadow:0 0 0 18px rgba(71,181,255,0); opacity:.2; } }
@keyframes ft-modal-in { from { opacity:0; transform:translate(-50%,calc(-50% + 14px)) scale(.985); } to { opacity:1; transform:translate(-50%,-50%) scale(1); } }

@media (prefers-reduced-motion:no-preference) {
  .ft-hero-content,.fta-hero-content { animation:ft-hero-enter .8s cubic-bezier(.22,.8,.25,1) both; }
  .ft-stats { animation:ft-stats-enter .7s .22s ease-out both; }
  .ft-hero::after { animation:ft-tail-lights 3.8s ease-in-out infinite; }
  .ft-process::after { content:""; position:absolute; left:7%; top:24px; width:18%; height:2px; background:linear-gradient(90deg,transparent,#fff,transparent); opacity:.65; animation:ft-line-flow 4.5s linear infinite; }
  .ft-reveal-ready { opacity:0; transform:translateY(20px); transition:opacity .62s ease,transform .62s cubic-bezier(.22,.75,.25,1); }
  .ft-reveal-ready.ft-reveal-visible { opacity:1; transform:none; }
  @keyframes ft-hero-enter { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
  @keyframes ft-stats-enter { from { opacity:0; transform:translate(-50%,18px); } to { opacity:1; transform:translate(-50%,0); } }
  @keyframes ft-tail-lights { 0%,22%,100% { opacity:.26; filter:brightness(.82); } 46%,68% { opacity:1; filter:brightness(1.25); } }
  @keyframes ft-line-flow { from { transform:translateX(0); } to { transform:translateX(365%); } }
}

@media (prefers-reduced-motion:reduce) {
  .fta-global-image::before,.fta-global-image::after,.fta-orbit i,.fta-map-pulse { animation:none; }
}

@media (max-width:1100px) {
  .ft-desktop-nav { gap:18px; }
  .ft-desktop-nav a { font-size:8px; }
  .ft-header-cta { margin-left:16px; padding:0 16px; }
  .ft-grid-4 { grid-template-columns:repeat(2,1fr); }
  .ft-stats { width:calc(100% - 64px); }
  .fta-ecosystem { grid-template-columns:1fr; }
  .fta-global-image { min-height:440px; }
  .fta-journey-layout { grid-template-columns:1fr; }
  .fta-journey aside { border-left:0; border-top:1px solid rgba(255,255,255,.17); padding:24px 0 0; }
  .fta-metrics-grid { grid-template-columns:repeat(2,1fr); gap:24px 0; }
  .fta-metrics-grid article:nth-child(2) { border-right:0; }
}

@media (max-width:780px) {
  .ft-shell { width:calc(100% - 34px); }
  .ft-header-inner { height:72px; }
  .ft-brand,.ft-brand img { width:140px; }
  .ft-desktop-nav,.ft-header-cta { display:none; }
  .ft-mobile-menu { display:block; }
  .ft-mobile-menu summary { width:42px; height:42px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; list-style:none; border:1px solid rgba(255,255,255,.3); }
  .ft-mobile-menu summary::-webkit-details-marker { display:none; }
  .ft-mobile-menu summary i { width:18px; height:1px; background:#fff; }
  .ft-mobile-menu nav { position:absolute; right:0; top:50px; width:245px; padding:23px; display:flex; flex-direction:column; gap:17px; background:#07121b; border:1px solid var(--ft-border); box-shadow:0 22px 60px rgba(0,0,0,.45); }
  .ft-mobile-menu nav a { font-size:11px; font-weight:800; text-transform:uppercase; }
  .ft-hero { min-height:850px; align-items:flex-start; }
  .ft-hero::before { background-position:66% center; }
  .ft-hero::after { display:none; }
  .ft-hero-overlay { background:linear-gradient(90deg,rgba(2,8,13,.94),rgba(2,8,13,.52)),linear-gradient(0deg,rgba(2,8,13,.96) 0%,transparent 56%); }
  .ft-hero-content { padding-top:145px; }
  .ft-hero h1,.fta-hero h1 { font-size:48px; }
  .ft-hero h2 { font-size:17px; }
  .ft-hero-content>p { font-size:15px; }
  .ft-stats { width:calc(100% - 34px); grid-template-columns:1fr 1fr; min-height:240px; }
  .ft-stat { padding:18px; border-bottom:1px solid var(--ft-border); }
  .ft-stat:nth-child(2) { border-right:0; }
  .ft-stat:nth-child(n+3) { border-bottom:0; }
  .ft-section { padding:58px 0; }
  .ft-grid-2,.ft-grid-3 { grid-template-columns:1fr; }
  .ft-industries,.ft-compliance { grid-template-columns:1fr; gap:38px; }
  .ft-industries-image { min-height:330px; }
  .ft-process { grid-template-columns:1fr; gap:16px; }
  .ft-process::before { left:23px; right:auto; top:20px; bottom:20px; width:2px; height:auto; }
  .ft-process::after { display:none; }
  .ft-process-step { display:grid; grid-template-columns:48px 1fr; gap:18px; align-items:center; text-align:left; }
  .ft-process-step span { margin:0; }
  .ft-process-step p { font-size:13px; }
  .ft-footer-cta>.ft-shell { min-height:230px; padding-top:42px; padding-bottom:42px; flex-direction:column; align-items:flex-start; gap:28px; }
  .ft-footer-main { grid-template-columns:1fr 1fr; gap:42px 34px; }
  .fta-hero { min-height:740px; background-position:63% center; align-items:flex-start; }
  .fta-hero-overlay { background:linear-gradient(90deg,rgba(2,8,13,.96),rgba(2,8,13,.6)),linear-gradient(0deg,rgba(2,8,13,.86),transparent); }
  .fta-hero-content { padding-top:130px; }
  .fta-hero h2 { font-size:21px; }
  .fta-global-image { min-height:330px; }
  .fta-ecosystem-content { padding:44px 22px; }
  .fta-ecosystem-grid { grid-template-columns:1fr 1fr; }
  .fta-timeline { grid-template-columns:1fr; gap:20px; }
  .fta-timeline::before { left:17px; right:auto; top:15px; bottom:15px; width:1px; height:auto; }
  .fta-timeline-card { padding:0 0 0 54px; text-align:left; }
  .fta-step { position:absolute; left:0; top:0; }
  .fta-step span { margin:0; }
  .fta-pillars-grid { grid-template-columns:1fr; }
  .fta-fincore-grid { grid-template-columns:1fr; gap:26px; }
  .fta-divider { width:100%; height:1px; }
  .fta-metrics-grid { grid-template-columns:1fr; }
  .fta-metric-card,.fta-metric-card:nth-child(2) { border-right:0; border-bottom:1px solid rgba(255,255,255,.15); }
  .fta-cta { min-height:300px; }
  .fta-cta-content { flex-direction:column; align-items:flex-start; }
}

@media (max-width:520px) {
  .ft-hero h1,.fta-hero h1 { font-size:39px; }
  .ft-actions { flex-direction:column; align-items:stretch; }
  .ft-btn { width:100%; }
  .ft-grid-4 { grid-template-columns:1fr; }
  .ft-stat { grid-template-columns:36px 1fr; gap:12px; }
  .ft-stat svg { width:32px; }
  .ft-stat strong { font-size:22px; }
  .ft-title { font-size:30px; }
  .ft-feature-card { grid-template-columns:44px 1fr; padding:22px 18px; }
  .ft-area-grid { gap:12px; }
  .ft-industry-list { gap:14px 18px; }
  .ft-contact-card { padding:28px 22px; }
  .ft-footer-main { grid-template-columns:1fr; }
  .ft-footer-bottom { padding:17px 0; flex-direction:column; align-items:flex-start; gap:8px; }
  .fta-ecosystem-grid { grid-template-columns:1fr; }
  .fta-ecosystem-content h2 { font-size:31px; }
  .fta-fincore-logo strong { font-size:42px; }
  .fta-cta h2 { font-size:27px; }
  .ft-modal { width:calc(100% - 20px); max-height:calc(100dvh - 20px); padding:62px 22px 28px; border-radius:14px; }
  .ft-modal-close { position:fixed; right:20px; top:20px; width:50px; height:50px; border-width:2px; background:#d92029; box-shadow:0 8px 24px rgba(0,0,0,.34); }
}

/* Business areas */
.ft-business-page { --ftb-bg:#06121b; --ftb-panel:#091823; --ftb-border:rgba(164,188,203,.36); --ftb-copy:#c2ccd3; overflow:hidden; background:var(--ftb-bg); color:#fff; }
.ft-business-page h1,.ft-business-page h2,.ft-business-page h3 { font-family:"Arial Narrow",Impact,Arial,sans-serif; letter-spacing:-.025em; }
.ftb-hero { min-height:620px; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#020a10; }
.ftb-hero::before { content:""; position:absolute; z-index:0; inset:0; background:url('/business-areas-hero.webp') 58% center/cover no-repeat; }
.ftb-hero::after { content:""; position:absolute; z-index:2; inset:auto 0 0; height:1px; background:linear-gradient(90deg,transparent,#ec2932 28%,rgba(255,255,255,.6) 55%,transparent); opacity:.62; }
.ftb-hero-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(2,9,14,.98) 0%,rgba(3,11,17,.92) 36%,rgba(3,10,15,.38) 65%,rgba(3,10,15,.08)),linear-gradient(0deg,rgba(3,10,15,.72),transparent 44%); }
.ftb-hero-content { position:relative; z-index:3; padding-top:92px; }
.ftb-hero h1 { max-width:650px; margin:0 0 24px; font-size:clamp(48px,5.2vw,74px); line-height:.98; font-weight:800; text-transform:uppercase; }
.ftb-hero-content>p { max-width:620px; margin:0; color:#d0d7dc; font-size:16px; line-height:1.65; }
.ftb-section { padding:64px 0; background:radial-gradient(circle at 8% 8%,rgba(18,54,76,.18),transparent 32%),var(--ftb-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftb-heading-row { margin-bottom:28px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.ftb-heading-row h2,.ftb-why-intro h2 { margin:0; color:#fff; font-size:34px; line-height:1; text-transform:uppercase; }
.ftb-heading-row>div>i,.ftb-why-intro>i { width:38px; height:3px; margin-top:15px; display:block; background:#e92730; }
.ftb-heading-row>p { max-width:560px; margin:0; color:var(--ftb-copy); font-size:13px; line-height:1.55; }
.ftb-area-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ftb-border); border-left:1px solid var(--ftb-border); }
.ftb-area-card { min-height:235px; padding:28px 24px 22px; display:flex; flex-direction:column; align-items:center; text-align:center; border:0; border-right:1px solid var(--ftb-border); border-bottom:1px solid var(--ftb-border); background:linear-gradient(150deg,rgba(10,26,38,.96),rgba(5,16,25,.92)); transition:background .25s ease,box-shadow .25s ease; }
.ftb-area-card:hover { background:linear-gradient(150deg,rgba(17,40,54,.98),rgba(6,18,28,.96)); box-shadow:inset 0 -3px #e6252e; }
.ftb-area-card svg { width:50px; height:50px; margin-bottom:18px; color:#ec242e; }
.ftb-area-card h3 { min-height:38px; margin:0 0 10px; color:#fff; font-size:18px; line-height:1.08; text-transform:uppercase; }
.ftb-area-card p { max-width:245px; margin:0; color:#c6d0d6; font-size:11px; line-height:1.5; }
.ftb-area-card>span { margin-top:auto; padding-top:18px; color:#fff; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.ftb-area-card>span b { margin-left:10px; color:#e82730; font-size:19px; }
.ftb-stats { position:relative; padding:26px 0; overflow:hidden; background:linear-gradient(rgba(3,12,19,.56),rgba(3,12,19,.72)),url('/about-global.webp') center 42%/cover no-repeat; border-top:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.ftb-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.ftb-stats-grid>div { min-height:118px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid rgba(255,255,255,.32); text-align:center; }
.ftb-stats-grid>div:last-child { border-right:0; }
.ftb-stats strong { font-family:"Arial Narrow",Impact,Arial,sans-serif; font-size:54px; line-height:.95; }
.ftb-stats span { margin-top:10px; font-family:"Arial Narrow",Arial,sans-serif; font-size:15px; font-weight:800; text-transform:uppercase; }
.ftb-stats i { width:42px; height:2px; margin-top:14px; background:#e92a33; }
.ftb-industries { background:linear-gradient(120deg,#071722,#04101a); }
.ftb-industry-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:9px; }
.ftb-industry-card { min-width:0; position:relative; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.34); background:#07131c; aspect-ratio:.51; }
.ftb-industry-image { width:100%; height:100%; display:block; object-fit:cover; transition:transform .55s ease,filter .35s ease; }
.ftb-industry-card:hover .ftb-industry-image { transform:scale(1.035); filter:brightness(1.08); }
.ftb-industry-arrow { position:absolute; inset:auto 0 0; padding:34px 12px 13px; color:#fff; background:linear-gradient(transparent,rgba(3,11,18,.92)); font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; opacity:0; transform:translateY(5px); transition:opacity .2s ease,transform .2s ease; }
.ftb-industry-arrow b { margin-left:8px; color:#ed2730; font-size:16px; }
.ftb-industry-card:hover .ftb-industry-arrow { opacity:1; transform:none; }
.ftb-view-all { width:330px; margin:28px auto 0; display:flex; }
.ftb-why { background:#07131d; }
.ftb-why-layout { display:grid; grid-template-columns:280px 1fr; gap:40px; align-items:stretch; }
.ftb-why-intro { padding-right:25px; }
.ftb-why-intro p { margin:24px 0 0; color:#c5cdd3; font-size:12px; line-height:1.55; }
.ftb-why-grid { display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid var(--ftb-border); }
.ftb-why-card { min-height:190px; padding:16px 24px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:0; border-right:1px solid var(--ftb-border); background:transparent; transition:background .2s ease; }
.ftb-why-card:hover { background:rgba(255,255,255,.025); }
.ftb-why-card svg { width:48px; height:48px; color:#ed2630; }
.ftb-why-card h3 { margin:16px 0 9px; color:#fff; font-size:17px; text-transform:uppercase; }
.ftb-why-card p { margin:0; color:#c3ccd2; font-size:11px; line-height:1.5; }
.ftb-cta { min-height:220px; position:relative; display:flex; align-items:center; background:url('/business-areas-cta.webp') center/cover no-repeat; }
.ftb-cta-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,11,17,.95),rgba(3,11,17,.54) 55%,rgba(3,11,17,.2)); }
.ftb-cta-content { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:70px; }
.ftb-cta h2 { margin:0; color:#fff; font-size:36px; line-height:1; text-transform:uppercase; }
.ftb-cta h2 span { color:#ed2a33; }
.ftb-cta p { max-width:600px; margin:14px 0 0; color:#d6dce0; font-size:13px; }

@media (prefers-reduced-motion:no-preference) {
  .ftb-hero-content { animation:ft-hero-enter .8s cubic-bezier(.22,.8,.25,1) both; }
  .ftb-hero::before { animation:ftb-hero-light 8s ease-in-out infinite alternate; }
  @keyframes ftb-hero-light { from { filter:brightness(.9) saturate(.94); } to { filter:brightness(1.04) saturate(1.04); } }
}

@media (max-width:1050px) {
  .ftb-area-grid { grid-template-columns:repeat(2,1fr); }
  .ftb-industry-grid { grid-template-columns:repeat(3,1fr); gap:14px; }
  .ftb-why-layout { grid-template-columns:1fr; }
  .ftb-why-grid { border-top:1px solid var(--ftb-border); }
}

@media (max-width:780px) {
  .ftb-hero { min-height:700px; align-items:flex-start; }
  .ftb-hero::before { background-position:67% center; }
  .ftb-hero-overlay { background:linear-gradient(90deg,rgba(2,9,14,.96),rgba(2,9,14,.58)),linear-gradient(0deg,rgba(2,9,14,.9),transparent 55%); }
  .ftb-hero-content { padding-top:135px; }
  .ftb-hero h1 { font-size:45px; }
  .ftb-heading-row { grid-template-columns:1fr; gap:22px; }
  .ftb-section { padding:52px 0; }
  .ftb-stats-grid { grid-template-columns:repeat(2,1fr); }
  .ftb-stats-grid>div { border-bottom:1px solid rgba(255,255,255,.25); }
  .ftb-stats-grid>div:nth-child(2) { border-right:0; }
  .ftb-stats-grid>div:nth-child(n+3) { border-bottom:0; }
  .ftb-why-grid { grid-template-columns:repeat(2,1fr); }
  .ftb-why-card:nth-child(-n+2) { border-bottom:1px solid var(--ftb-border); }
  .ftb-why-card:nth-child(2) { border-right:0; }
  .ftb-cta { min-height:320px; }
  .ftb-cta-content { flex-direction:column; align-items:flex-start; gap:30px; }
}

@media (max-width:520px) {
  .ftb-hero h1 { font-size:38px; }
  .ftb-hero-content>p { font-size:14px; }
  .ftb-area-grid { grid-template-columns:1fr; }
  .ftb-area-card { min-height:220px; }
  .ftb-stats strong { font-size:43px; }
  .ftb-stats span { font-size:12px; }
  .ftb-industry-grid { grid-template-columns:repeat(2,1fr); gap:9px; }
  .ftb-industry-arrow { display:none; }
  .ftb-view-all { width:100%; }
  .ftb-why-grid { grid-template-columns:1fr; border-top:1px solid var(--ftb-border); }
  .ftb-why-card,.ftb-why-card:nth-child(2) { border-right:0; border-bottom:1px solid var(--ftb-border); }
  .ftb-cta h2 { font-size:30px; }
}

/* Business Areas — aligned with the shared FTOREX page system */
.ft-business-page { --ftb-bg:#061019; --ftb-panel:#0b151e; --ftb-border:rgba(174,194,207,.18); --ftb-copy:#aeb9c2; font-family:Arial,Helvetica,sans-serif; }
.ft-business-page h1,.ft-business-page h2,.ft-business-page h3 { font-family:Arial,Helvetica,sans-serif; letter-spacing:-.035em; }
.ftb-hero { min-height:675px; }
.ftb-hero-content { padding-top:112px; }
.ftb-hero h1 { max-width:720px; font-size:clamp(52px,5.8vw,82px); line-height:.94; font-weight:800; text-transform:none; }
.ftb-section { padding:76px 0; background:radial-gradient(circle at 8% 8%,rgba(18,54,76,.15),transparent 32%),var(--ftb-bg); }
.ftb-heading-row { margin-bottom:38px; }
.ftb-heading-row h2,.ftb-why-intro h2 { font-size:clamp(32px,3.7vw,48px); line-height:1.02; text-transform:none; }
.ftb-heading-row>p { color:var(--ftb-copy); font-size:14px; line-height:1.65; }
.ftb-area-grid { gap:14px; border:0; }
.ftb-area-card { min-height:254px; padding:30px 24px 24px; border:1px solid var(--ftb-border); border-radius:7px; background:linear-gradient(150deg,rgba(13,29,41,.98),rgba(7,18,27,.94)); transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease; }
.ftb-area-card:hover { transform:translateY(-3px); border-color:rgba(226,36,45,.66); background:linear-gradient(150deg,rgba(17,40,54,.98),rgba(6,18,28,.96)); box-shadow:0 18px 36px rgba(0,0,0,.22); }
.ftb-area-card h3 { min-height:0; font-size:17px; line-height:1.12; text-transform:none; }
.ftb-area-card p { color:var(--ftb-copy); font-size:12px; line-height:1.55; }
.ftb-stats { padding:34px 0 40px; background:#05111a; border-color:rgba(255,255,255,.11); }
.ftb-stats-grid { border:1px solid var(--ftb-border); border-radius:9px; overflow:hidden; background:rgba(255,255,255,.018); }
.ftb-stats-grid>div { min-height:126px; border-right:1px solid var(--ftb-border); }
.ftb-stats strong { font-family:Arial,Helvetica,sans-serif; font-size:40px; letter-spacing:-.045em; }
.ftb-stats span { margin-top:8px; font-family:Arial,Helvetica,sans-serif; color:#c7d0d6; font-size:11px; letter-spacing:.035em; }
.ftb-stats i { width:32px; margin-top:12px; }
.ftb-industry-grid { gap:14px; }
.ftb-industry-card { border-color:var(--ftb-border); border-radius:7px; }
.ftb-why-layout { grid-template-columns:300px 1fr; gap:46px; }
.ftb-why-grid { gap:14px; border:0; }
.ftb-why-card { min-height:210px; padding:22px; border:1px solid var(--ftb-border); border-radius:7px; background:rgba(255,255,255,.012); transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.ftb-why-card:hover { transform:translateY(-3px); border-color:rgba(226,36,45,.55); background:rgba(255,255,255,.03); }
.ftb-why-card h3 { font-size:16px; text-transform:none; }
.ftb-why-card p { color:var(--ftb-copy); font-size:12px; }
.ftb-cta { min-height:240px; }
.ftb-cta h2 { font-size:34px; line-height:1.05; text-transform:none; }

/* Services */
.ft-services { --fts-bg:#061019; --fts-panel:#0b151e; --fts-border:rgba(174,194,207,.18); --fts-copy:#aeb9c2; overflow:hidden; background:var(--fts-bg); color:#fff; }
.fts-hero { min-height:675px; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#020a10; }
.fts-hero::before { content:""; position:absolute; z-index:0; inset:0; background:url('/services-hero.webp') 58% center/cover no-repeat; }
.fts-hero-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(2,9,14,.98) 0%,rgba(3,11,17,.9) 36%,rgba(3,10,15,.34) 66%,rgba(3,10,15,.06)),linear-gradient(0deg,rgba(3,10,15,.7),transparent 46%); }
.fts-hero-content { position:relative; z-index:2; padding-top:112px; }
.fts-hero h1 { max-width:760px; margin:0 0 25px; color:#fff; font-size:clamp(52px,5.8vw,82px); line-height:.94; font-weight:800; letter-spacing:-.045em; }
.fts-hero-content>p { max-width:610px; margin:0; color:#d0d7dc; font-size:16px; line-height:1.65; }
.fts-values { padding:70px 0; background:#f4f4f2; color:#12171b; }
.fts-values-layout { display:grid; grid-template-columns:280px 1fr; gap:46px; align-items:stretch; }
.fts-values-intro { padding-right:22px; }
.fts-values-intro h2 { margin:0 0 20px; color:#10161a; font-size:34px; line-height:1.05; font-weight:800; letter-spacing:-.035em; }
.fts-values-intro p { margin:0; color:#343a3e; font-size:13px; line-height:1.62; }
.fts-values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.fts-value-card { min-height:235px; padding:28px 20px 22px; display:flex; flex-direction:column; align-items:center; text-align:center; border:1px solid #d1d4d6; border-radius:7px; background:#fafafa; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.fts-value-card:hover { transform:translateY(-3px); border-color:#e1222c; box-shadow:0 16px 32px rgba(8,17,25,.1); }
.fts-value-card svg { width:48px; height:48px; color:#e4232c; }
.fts-value-card h3 { margin:17px 0 10px; color:#12171b; font-size:16px; line-height:1.12; letter-spacing:-.025em; }
.fts-value-card p { margin:0; color:#3b4247; font-size:11px; line-height:1.52; }
.fts-value-card>span { margin-top:auto; padding-top:18px; color:#d9212a; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.fts-offerings { padding:78px 0; background:radial-gradient(circle at 88% 10%,rgba(18,54,76,.2),transparent 32%),var(--fts-bg); border-top:1px solid rgba(255,255,255,.08); }
.fts-title { margin:0; color:#fff; font-size:clamp(32px,3.7vw,48px); line-height:1.02; font-weight:800; letter-spacing:-.035em; }
.fts-intro { max-width:600px; margin:15px 0 38px; color:var(--fts-copy); font-size:14px; }
.fts-service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.fts-service-card { min-height:142px; padding:0; display:grid; grid-template-columns:108px 1fr 44px; align-items:stretch; overflow:hidden; text-align:left; border:1px solid var(--fts-border); border-radius:7px; background:linear-gradient(145deg,rgba(13,29,41,.98),rgba(7,18,27,.94)); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.fts-service-card:hover { transform:translateY(-3px); border-color:rgba(226,36,45,.62); box-shadow:0 18px 36px rgba(0,0,0,.22); }
.fts-service-icon { display:grid; place-items:center; border-right:1px solid var(--fts-border); }
.fts-service-icon svg { width:54px; height:54px; color:#e7242d; }
.fts-service-copy { padding:25px 24px; display:flex; flex-direction:column; justify-content:center; }
.fts-service-copy strong { color:#fff; font-size:18px; line-height:1.15; letter-spacing:-.02em; }
.fts-service-copy small { margin-top:10px; color:var(--fts-copy); font-size:12px; line-height:1.5; }
.fts-service-card>b { display:grid; place-items:center; color:#fff; font-size:21px; font-weight:400; }
.fts-approach { padding:76px 0 82px; background:#f4f4f2; color:#12171b; }
.fts-heading-row { margin-bottom:38px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.fts-heading-row h2 { margin:0; color:#11171b; font-size:clamp(32px,3.7vw,48px); line-height:1.02; font-weight:800; letter-spacing:-.035em; }
.fts-heading-row>p { max-width:520px; margin:0; color:#343a3e; font-size:14px; line-height:1.62; }
.fts-process-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.fts-process-card { min-height:270px; position:relative; padding:38px 18px 24px; display:flex; flex-direction:column; align-items:center; text-align:center; border:1px solid #d2d5d7; border-radius:7px; background:#fafafa; transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.fts-process-card:hover { transform:translateY(-3px); border-color:#df242d; box-shadow:0 16px 32px rgba(8,17,25,.09); }
.fts-process-number { width:38px; height:38px; position:absolute; left:50%; top:-19px; display:grid; place-items:center; border-radius:50%; background:#dc222b; color:#fff; font-size:11px; font-weight:800; transform:translateX(-50%); }
.fts-process-card svg { width:44px; height:44px; margin:13px 0 20px; color:#151a1d; }
.fts-process-card h3 { margin:0 0 12px; color:#11171b; font-size:15px; letter-spacing:-.02em; }
.fts-process-card p { margin:0; color:#3d4449; font-size:11px; line-height:1.55; }
.fts-success { min-height:470px; position:relative; display:flex; align-items:center; isolation:isolate; background:url('/about-global.webp') center/cover no-repeat; }
.fts-success-overlay { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(3,11,17,.98),rgba(3,11,17,.78) 48%,rgba(3,11,17,.42)); }
.fts-success-layout { padding-top:68px; padding-bottom:68px; display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:end; }
.fts-success-copy h2 { margin:0 0 20px; color:#fff; font-size:clamp(36px,4.3vw,58px); line-height:1; font-weight:800; letter-spacing:-.04em; }
.fts-success-copy p { max-width:520px; margin:0 0 28px; color:#c5ced4; font-size:14px; line-height:1.6; }
.fts-success-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--fts-border); border-radius:9px; overflow:hidden; background:rgba(4,14,22,.72); backdrop-filter:blur(4px); }
.fts-success-stats>div { min-height:180px; padding:24px 14px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-right:1px solid var(--fts-border); }
.fts-success-stats>div:last-child { border-right:0; }
.fts-success-stats svg { width:42px; height:42px; color:#e7242d; }
.fts-success-stats strong { margin-top:17px; color:#fff; font-size:34px; line-height:1; }
.fts-success-stats span { margin-top:8px; color:#c4cdd3; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }

@media (prefers-reduced-motion:no-preference) {
  .fts-hero-content { animation:ft-hero-enter .8s cubic-bezier(.22,.8,.25,1) both; }
  .fts-hero::before { animation:fts-hero-light 8s ease-in-out infinite alternate; }
  @keyframes fts-hero-light { from { filter:brightness(.91) saturate(.95); } to { filter:brightness(1.04) saturate(1.04); } }
}

@media (max-width:1050px) {
  .ftb-why-layout,.fts-values-layout { grid-template-columns:1fr; }
  .fts-values-grid { grid-template-columns:repeat(2,1fr); }
  .fts-process-grid { grid-template-columns:repeat(3,1fr); gap:30px 14px; }
  .fts-success-layout { grid-template-columns:1fr; }
}

@media (max-width:780px) {
  .ftb-hero,.fts-hero { min-height:740px; align-items:flex-start; }
  .ftb-hero-content,.fts-hero-content { padding-top:135px; }
  .ftb-hero h1,.fts-hero h1 { font-size:45px; }
  .ftb-section,.fts-values,.fts-offerings,.fts-approach { padding:58px 0; }
  .ftb-area-grid,.fts-service-grid { grid-template-columns:1fr; }
  .ftb-why-grid { grid-template-columns:repeat(2,1fr); gap:14px; border:0; }
  .ftb-why-card,.ftb-why-card:nth-child(2) { border:1px solid var(--ftb-border); }
  .fts-heading-row { grid-template-columns:1fr; gap:20px; }
  .fts-success-stats { grid-template-columns:repeat(2,1fr); }
  .fts-success-stats>div:nth-child(2) { border-right:0; }
  .fts-success-stats>div:nth-child(-n+2) { border-bottom:1px solid var(--fts-border); }
}

@media (max-width:520px) {
  .ftb-hero h1,.fts-hero h1 { font-size:39px; }
  .fts-values-grid,.fts-process-grid { grid-template-columns:1fr; }
  .fts-service-card { grid-template-columns:74px 1fr 34px; min-height:156px; }
  .fts-service-icon svg { width:42px; height:42px; }
  .fts-service-copy { padding:22px 16px; }
  .fts-service-copy strong { font-size:16px; }
  .fts-process-grid { gap:30px; }
  .ftb-stats-grid { grid-template-columns:1fr 1fr; }
  .ftb-stats-grid>div:nth-child(2) { border-right:0; }
  .ftb-stats-grid>div:nth-child(-n+2) { border-bottom:1px solid var(--ftb-border); }
  .ftb-why-grid { grid-template-columns:1fr; }
  .fts-success-stats>div { min-height:150px; }
}

/* Global Network */
.ft-network-page { --ftn-bg:#061019; --ftn-panel:#0b151e; --ftn-border:rgba(174,194,207,.18); --ftn-copy:#aeb9c2; overflow:hidden; background:var(--ftn-bg); color:#fff; }
.ftn-hero { min-height:675px; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#020a10; }
.ftn-hero::before { content:""; position:absolute; z-index:0; inset:-3%; background:url('/about-global.webp') 56% center/cover no-repeat; }
.ftn-hero-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(2,9,14,.98) 0%,rgba(3,11,17,.9) 35%,rgba(3,10,15,.32) 66%,rgba(3,10,15,.06)),linear-gradient(0deg,rgba(3,10,15,.72),transparent 48%); }
.ftn-hero-content { position:relative; z-index:2; padding-top:106px; }
.ftn-hero h1 { max-width:760px; margin:0 0 25px; color:#fff; font-size:clamp(52px,5.8vw,82px); line-height:.94; font-weight:800; letter-spacing:-.045em; }
.ftn-hero-content>p { max-width:610px; margin:0 0 7px; color:#d0d7dc; font-size:15px; line-height:1.6; }
.ftn-presence { padding:76px 0; background:radial-gradient(circle at 88% 20%,rgba(17,61,86,.22),transparent 30%),var(--ftn-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftn-presence-layout { margin-top:34px; display:grid; grid-template-columns:1.03fr .97fr; gap:36px; align-items:stretch; }
.ftn-presence-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.ftn-presence-card { min-height:225px; padding:25px 20px 21px; display:flex; flex-direction:column; align-items:center; text-align:center; border:1px solid var(--ftn-border); border-radius:7px; background:linear-gradient(150deg,rgba(13,29,41,.98),rgba(7,18,27,.94)); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ftn-presence-card:hover { transform:translateY(-3px); border-color:rgba(226,36,45,.64); box-shadow:0 18px 36px rgba(0,0,0,.22); }
.ftn-presence-card svg { width:42px; height:42px; color:#e7242d; }
.ftn-presence-card strong { margin-top:14px; color:#fff; font-size:36px; line-height:1; letter-spacing:-.045em; }
.ftn-presence-card h3 { margin:7px 0 10px; color:#fff; font-size:13px; letter-spacing:-.015em; }
.ftn-presence-card p { margin:0; color:var(--ftn-copy); font-size:10px; line-height:1.5; }
.ftn-presence-card>span { margin-top:auto; padding-top:13px; color:#e7242d; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ftn-map { min-height:464px; position:relative; overflow:hidden; border:1px solid var(--ftn-border); border-radius:9px; background:linear-gradient(rgba(3,12,19,.28),rgba(3,12,19,.42)),url('/about-global.webp') center/cover no-repeat; }
.ftn-map::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 68% 42%,rgba(53,166,234,.18),transparent 28%); pointer-events:none; }
.ftn-pulse { position:absolute; z-index:2; width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:#e7242d; box-shadow:0 0 0 0 rgba(231,36,45,.5); animation:ftn-map-pulse 2.8s ease-out infinite; }
.ftn-pulse-one { left:21%; top:38%; }.ftn-pulse-two { left:48%; top:32%; animation-delay:.7s; }.ftn-pulse-three { left:66%; top:47%; animation-delay:1.4s; }.ftn-pulse-four { right:13%; bottom:25%; animation-delay:2.1s; }
.ftn-map-legend { position:absolute; z-index:3; left:20px; right:20px; bottom:18px; padding:12px 15px; display:flex; justify-content:center; gap:24px; border:1px solid rgba(255,255,255,.13); border-radius:6px; background:rgba(3,12,19,.72); backdrop-filter:blur(4px); }
.ftn-map-legend span { color:#d0d7dc; font-size:8px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.ftn-map-legend i { width:7px; height:7px; margin-right:7px; display:inline-block; border-radius:50%; background:#e7242d; }
.ftn-regions { padding:78px 0; background:linear-gradient(120deg,#071722,#04101a); border-top:1px solid rgba(255,255,255,.09); }
.ftn-title { margin:0; max-width:780px; color:#fff; font-size:clamp(32px,3.7vw,48px); line-height:1.02; font-weight:800; letter-spacing:-.035em; }
.ftn-intro { max-width:650px; margin:16px 0 38px; color:var(--ftn-copy); font-size:14px; line-height:1.62; }
.ftn-region-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.ftn-region-card { min-width:0; padding:0; overflow:hidden; text-align:left; border:1px solid var(--ftn-border); border-radius:7px; background:linear-gradient(155deg,rgba(13,29,41,.98),rgba(7,18,27,.96)); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ftn-region-card:hover { transform:translateY(-4px); border-color:rgba(226,36,45,.62); box-shadow:0 20px 38px rgba(0,0,0,.25); }
.ftn-region-card img { width:100%; aspect-ratio:.8; display:block; object-fit:cover; transition:transform .55s ease,filter .35s ease; }
.ftn-region-card:hover img { transform:scale(1.035); filter:brightness(1.06); }
.ftn-region-card>div { min-height:205px; padding:22px 16px 18px; display:flex; flex-direction:column; }
.ftn-region-card h3 { margin:0 0 12px; color:#fff; font-size:16px; line-height:1.12; letter-spacing:-.02em; }
.ftn-region-card p { margin:0; color:var(--ftn-copy); font-size:11px; line-height:1.55; }
.ftn-region-card span { margin-top:auto; padding-top:17px; color:#e7242d; font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ftn-region-card span b { margin-left:7px; font-size:15px; }
.ftn-partners { padding:78px 0; background:radial-gradient(circle at 92% 12%,rgba(18,54,76,.2),transparent 30%),var(--ftn-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftn-partners-layout { display:grid; grid-template-columns:300px 1fr; gap:46px; align-items:start; }
.ftn-partners-intro h2 { margin:0 0 22px; color:#fff; font-size:clamp(32px,3.6vw,46px); line-height:1.03; font-weight:800; letter-spacing:-.035em; }
.ftn-partners-intro p { margin:0 0 15px; color:var(--ftn-copy); font-size:13px; line-height:1.62; }
.ftn-partners-intro .ft-btn { margin-top:15px; }
.ftn-partner-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ftn-partner-card { min-height:205px; padding:25px 18px 19px; display:flex; flex-direction:column; align-items:center; text-align:center; border:1px solid var(--ftn-border); border-radius:7px; background:rgba(255,255,255,.012); transition:transform .22s ease,border-color .22s ease,background .22s ease; }
.ftn-partner-card:hover { transform:translateY(-3px); border-color:rgba(226,36,45,.56); background:rgba(255,255,255,.03); }
.ftn-partner-card svg { width:46px; height:46px; color:#e7242d; }
.ftn-partner-card h3 { margin:15px 0 9px; color:#fff; font-size:14px; line-height:1.14; }
.ftn-partner-card p { margin:0; color:var(--ftn-copy); font-size:10px; line-height:1.5; }
.ftn-partner-card>span { margin-top:auto; padding-top:14px; color:#e7242d; font-size:8px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ftn-cta { min-height:420px; display:grid; grid-template-columns:46% 54%; background:#05101a; border-top:1px solid rgba(255,255,255,.1); }
.ftn-cta-image { min-height:420px; background:linear-gradient(90deg,transparent 70%,#05101a),url('/global-network-hero.webp') center/cover no-repeat; }
.ftn-cta-copy { padding:58px clamp(34px,6vw,90px) 52px 42px; }
.ftn-cta-copy h2 { margin:0 0 20px; color:#fff; font-size:clamp(38px,4.5vw,60px); line-height:.98; font-weight:800; letter-spacing:-.04em; }
.ftn-cta-copy h2 span { color:#e7242d; }
.ftn-cta-copy>p { max-width:540px; margin:0; color:#c6cfd5; font-size:14px; line-height:1.6; }
.ftn-cta-benefits { margin:27px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ftn-cta-benefits>span { min-width:0; padding-left:14px; display:grid; grid-template-columns:30px 1fr; gap:2px 10px; border-left:1px solid var(--ftn-border); }
.ftn-cta-benefits svg { width:29px; height:29px; grid-row:1/3; color:#e7242d; }
.ftn-cta-benefits b { color:#fff; font-size:10px; text-transform:uppercase; }
.ftn-cta-benefits small { color:var(--ftn-copy); font-size:8px; line-height:1.4; }

@media (prefers-reduced-motion:no-preference) {
  .ftn-hero-content { animation:ft-hero-enter .8s cubic-bezier(.22,.8,.25,1) both; }
  .ftn-hero::before { animation:ftn-hero-drift 16s ease-in-out infinite alternate; }
  @keyframes ftn-hero-drift { from { transform:scale(1.02) translateX(-1%); filter:brightness(.92); } to { transform:scale(1.055) translateX(1%); filter:brightness(1.04); } }
  @keyframes ftn-map-pulse { 0% { box-shadow:0 0 0 0 rgba(231,36,45,.58); } 100% { box-shadow:0 0 0 18px rgba(231,36,45,0); } }
}

@media (prefers-reduced-motion:reduce) {
  .ftn-pulse { animation:none; }
}

@media (max-width:1050px) {
  .ftn-presence-layout,.ftn-partners-layout { grid-template-columns:1fr; }
  .ftn-presence-grid { grid-template-columns:repeat(4,1fr); }
  .ftn-region-grid { grid-template-columns:repeat(3,1fr); }
  .ftn-partner-grid { grid-template-columns:repeat(4,1fr); }
}

@media (max-width:780px) {
  .ftn-hero { min-height:740px; align-items:flex-start; }
  .ftn-hero::before { background-position:62% center; }
  .ftn-hero-content { padding-top:135px; }
  .ftn-hero h1 { font-size:45px; }
  .ftn-presence,.ftn-regions,.ftn-partners { padding:58px 0; }
  .ftn-presence-grid { grid-template-columns:repeat(2,1fr); }
  .ftn-map { min-height:390px; }
  .ftn-region-grid { grid-template-columns:repeat(2,1fr); }
  .ftn-partner-grid { grid-template-columns:repeat(2,1fr); }
  .ftn-cta { grid-template-columns:1fr; }
  .ftn-cta-image { min-height:330px; background:linear-gradient(0deg,#05101a,transparent 40%),url('/global-network-hero.webp') center/cover no-repeat; }
  .ftn-cta-copy { padding:12px 28px 52px; }
}

@media (max-width:520px) {
  .ftn-hero h1 { font-size:39px; }
  .ftn-hero-content>p { font-size:14px; }
  .ftn-presence-grid,.ftn-region-grid,.ftn-partner-grid { grid-template-columns:1fr; }
  .ftn-map { min-height:320px; }
  .ftn-map-legend { justify-content:flex-start; flex-wrap:wrap; gap:10px 18px; }
  .ftn-region-card>div { min-height:180px; }
  .ftn-cta-benefits { grid-template-columns:1fr; }
  .ftn-cta-benefits>span { min-height:50px; }
}

/* Media Center */
.ft-media-page { --ftm-bg:#061019; --ftm-panel:#0b151e; --ftm-border:rgba(174,194,207,.18); --ftm-copy:#aeb9c2; overflow:hidden; background:var(--ftm-bg); color:#fff; }
.ftm-hero { min-height:675px; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#020a10; }
.ftm-hero::before { content:""; position:absolute; z-index:0; inset:-3%; background:url('/media_camera_cityscape.webp') 70% 50%/cover no-repeat; }
.ftm-hero-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(2,9,14,.99) 0%,rgba(3,11,17,.94) 39%,rgba(3,10,15,.4) 68%,rgba(3,10,15,.08)),linear-gradient(0deg,rgba(3,10,15,.74),transparent 48%); }
.ftm-hero-content { position:relative; z-index:2; padding-top:106px; }
.ftm-hero h1 { max-width:760px; margin:0 0 25px; color:#fff; font-size:clamp(52px,5.8vw,82px); line-height:.94; font-weight:800; letter-spacing:-.045em; }
.ftm-hero-content>p { max-width:630px; margin:0; color:#d0d7dc; font-size:16px; line-height:1.65; }
.ftm-press-strip { position:relative; z-index:3; background:#f3f3f1; color:#11171b; border-bottom:1px solid rgba(9,24,35,.12); }
.ftm-press-strip-inner { min-height:116px; display:flex; align-items:center; justify-content:space-between; gap:52px; }
.ftm-press-intro { min-width:245px; display:flex; flex-direction:column; gap:7px; }
.ftm-press-intro span { color:#e7242d; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ftm-press-intro b { max-width:260px; font-size:13px; line-height:1.35; }
.ftm-press-logos { flex:1; display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid rgba(9,24,35,.14); }
.ftm-press-logos a { min-height:58px; display:grid; place-items:center; border-right:1px solid rgba(9,24,35,.14); color:#182127; font-size:clamp(12px,1.45vw,19px); font-weight:900; letter-spacing:.045em; transition:color .2s ease,background .2s ease; }
.ftm-press-logos a:hover { color:#e7242d; background:#fff; }
.ftm-publications { padding:78px 0; background:radial-gradient(circle at 88% 9%,rgba(18,54,76,.22),transparent 31%),var(--ftm-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftm-heading-row { margin-bottom:38px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.ftm-heading-row h2 { margin:0; color:#fff; font-size:clamp(32px,3.7vw,48px); line-height:1.02; font-weight:800; letter-spacing:-.035em; }
.ftm-heading-row>p { max-width:560px; margin:0; color:var(--ftm-copy); font-size:14px; line-height:1.65; }
.ftm-publication-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ftm-publication-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--ftm-border); border-radius:7px; background:linear-gradient(150deg,rgba(13,29,41,.98),rgba(7,18,27,.94)); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ftm-publication-card:hover { transform:translateY(-4px); border-color:rgba(226,36,45,.64); box-shadow:0 20px 40px rgba(0,0,0,.26); }
.ftm-publication-image { position:relative; overflow:hidden; }
.ftm-publication-image img { width:100%; height:195px; display:block; object-fit:cover; transition:transform .55s ease,filter .35s ease; }
.ftm-publication-card:hover img { transform:scale(1.035); filter:brightness(1.06); }
.ftm-publication-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,13,20,.62),transparent 55%); pointer-events:none; }
.ftm-publication-image>span { position:absolute; z-index:1; left:15px; bottom:13px; padding:7px 10px; border-radius:4px; background:#df222b; color:#fff; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ftm-publication-body { min-height:330px; padding:23px 19px 20px; display:flex; flex-direction:column; }
.ftm-publication-meta { display:flex; justify-content:space-between; gap:12px; color:#8f9ba4; font-size:8px; letter-spacing:.05em; text-transform:uppercase; }
.ftm-publication-meta b { color:#e7242d; }
.ftm-publication-card h3 { margin:16px 0 13px; color:#fff; font-size:19px; line-height:1.15; letter-spacing:-.025em; }
.ftm-publication-card p { margin:0; color:var(--ftm-copy); font-size:11px; line-height:1.58; }
.ftm-read-more { margin-top:auto; padding-top:22px; color:#fff; font-size:9px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.ftm-read-more b { margin-left:9px; color:#e7242d; font-size:16px; }
.ftm-feature { padding:76px 0; background:#f3f3f1; color:#12171b; }
.ftm-feature-layout { display:grid; grid-template-columns:.86fr 1.14fr; gap:48px; align-items:stretch; }
.ftm-feature-copy { padding:16px 0; }
.ftm-source-mark { margin:20px 0 15px; display:inline-block; color:#11171b; font-size:24px; font-weight:900; letter-spacing:.08em; }
.ftm-feature-copy h2 { margin:0 0 20px; color:#11171b; font-size:clamp(34px,4vw,54px); line-height:1.02; font-weight:800; letter-spacing:-.04em; }
.ftm-feature-copy p { max-width:580px; margin:0 0 28px; color:#343a3e; font-size:14px; line-height:1.65; }
.ftm-feature-visual { min-height:390px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:9px; background:linear-gradient(rgba(3,11,18,.32),rgba(3,11,18,.58)),url('/about-global.webp') center/cover no-repeat; color:#fff; box-shadow:0 22px 46px rgba(8,17,25,.16); }
.ftm-feature-visual::after { content:""; position:absolute; inset:9%; border:1px solid rgba(255,255,255,.18); border-radius:50%; transform:rotate(-12deg); }
.ftm-feature-visual span,.ftm-feature-visual b { position:relative; z-index:1; font-size:clamp(38px,6vw,76px); font-weight:900; letter-spacing:-.05em; }
.ftm-feature-visual span { color:#e7242d; }
.ftm-feature-visual i { width:80px; height:1px; margin:0 20px; position:relative; z-index:1; background:linear-gradient(90deg,#e7242d,#fff); }
.ftm-topics { padding:78px 0; background:radial-gradient(circle at 8% 12%,rgba(18,54,76,.17),transparent 30%),var(--ftm-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftm-title { margin:0 0 38px; max-width:780px; color:#fff; font-size:clamp(32px,3.7vw,48px); line-height:1.02; font-weight:800; letter-spacing:-.035em; }
.ftm-topic-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.ftm-topic-card { min-height:265px; padding:30px 24px 23px; display:flex; flex-direction:column; align-items:flex-start; text-align:left; border:1px solid var(--ftm-border); border-radius:7px; background:linear-gradient(150deg,rgba(13,29,41,.98),rgba(7,18,27,.94)); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ftm-topic-card:hover { transform:translateY(-3px); border-color:rgba(226,36,45,.62); box-shadow:0 18px 36px rgba(0,0,0,.22); }
.ftm-topic-card svg { width:50px; height:50px; color:#e7242d; }
.ftm-topic-card h3 { margin:20px 0 11px; color:#fff; font-size:19px; line-height:1.1; letter-spacing:-.025em; }
.ftm-topic-card p { margin:0; color:var(--ftm-copy); font-size:12px; line-height:1.55; }
.ftm-topic-card>span { margin-top:auto; padding-top:19px; color:#fff; font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ftm-topic-card>span b { margin-left:8px; color:#e7242d; font-size:15px; }
.ftm-insights { padding:78px 0; background:#f3f3f1; color:#11171b; }
.ftm-insights .ftm-heading-row h2 { color:#11171b; }
.ftm-insights .ftm-heading-row>p { color:#4e565c; }
.ftm-insight-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ftm-insight-card { min-height:330px; display:grid; grid-template-columns:.85fr 1.15fr; overflow:hidden; border:1px solid rgba(9,24,35,.14); border-radius:8px; background:#fff; box-shadow:0 16px 38px rgba(8,17,25,.07); transition:transform .22s ease,box-shadow .22s ease; }
.ftm-insight-card:hover { transform:translateY(-4px); box-shadow:0 23px 48px rgba(8,17,25,.13); }
.ftm-insight-image { min-height:330px; overflow:hidden; background:#061019; }
.ftm-insight-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .6s ease,filter .3s ease; }
.ftm-insight-card:hover img { transform:scale(1.04); filter:brightness(1.05); }
.ftm-insight-copy { padding:32px 27px 27px; display:flex; flex-direction:column; align-items:flex-start; }
.ftm-insight-copy>span { color:#e7242d; font-size:8px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ftm-insight-copy h3 { margin:15px 0 14px; color:#11171b; font-size:23px; line-height:1.08; letter-spacing:-.03em; }
.ftm-insight-copy p { margin:0; color:#515a60; font-size:11px; line-height:1.6; }
.ftm-insight-copy>b { margin-top:auto; padding-top:25px; color:#11171b; font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.ftm-contact { min-height:270px; position:relative; display:flex; align-items:center; background:url('/business-areas-cta.webp') center/cover no-repeat; }
.ftm-contact-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,11,17,.97),rgba(3,11,17,.66) 58%,rgba(3,11,17,.3)); }
.ftm-contact-content { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:70px; }
.ftm-contact h2 { margin:0 0 13px; color:#fff; font-size:clamp(32px,3.7vw,48px); line-height:1.03; font-weight:800; letter-spacing:-.035em; }
.ftm-contact p { max-width:670px; margin:0; color:#ced5d9; font-size:13px; line-height:1.6; }
.ftm-contact .ft-btn { flex:0 0 auto; }

@media (prefers-reduced-motion:no-preference) {
  .ftm-hero-content { animation:ft-hero-enter .8s cubic-bezier(.22,.8,.25,1) both; }
  .ftm-hero::before { animation:ftm-hero-drift 15s ease-in-out infinite alternate; }
  @keyframes ftm-hero-drift { from { transform:scale(1.02) translateX(-1%); filter:brightness(.9); } to { transform:scale(1.055) translateX(1%); filter:brightness(1.04); } }
}

@media (max-width:1050px) {
  .ftm-publication-grid { grid-template-columns:repeat(2,1fr); }
  .ftm-topic-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:780px) {
  .ftm-hero { min-height:740px; align-items:flex-start; }
  .ftm-hero::before { background-position:72% center; }
  .ftm-hero-content { padding-top:135px; }
  .ftm-hero h1 { font-size:45px; }
  .ftm-publications,.ftm-feature,.ftm-topics,.ftm-insights { padding:58px 0; }
  .ftm-press-strip-inner { padding-top:25px; padding-bottom:25px; flex-direction:column; align-items:stretch; gap:22px; }
  .ftm-press-logos { border-top:1px solid rgba(9,24,35,.14); }
  .ftm-heading-row,.ftm-feature-layout { grid-template-columns:1fr; gap:28px; }
  .ftm-insight-grid { grid-template-columns:1fr; }
  .ftm-feature-visual { min-height:320px; }
  .ftm-contact { min-height:360px; }
  .ftm-contact-content { flex-direction:column; align-items:flex-start; gap:30px; }
}

@media (max-width:520px) {
  .ftm-hero h1 { font-size:39px; }
  .ftm-hero-content>p { font-size:14px; }
  .ftm-publication-grid,.ftm-topic-grid { grid-template-columns:1fr; }
  .ftm-press-logos { grid-template-columns:repeat(2,1fr); border-left:1px solid rgba(9,24,35,.14); border-top:0; }
  .ftm-press-logos a:nth-child(-n+2) { border-bottom:1px solid rgba(9,24,35,.14); }
  .ftm-insight-card { grid-template-columns:1fr; }
  .ftm-insight-image { min-height:220px; }
  .ftm-insight-copy { min-height:275px; padding:27px 22px 23px; }
  .ftm-publication-body { min-height:290px; }
  .ftm-feature-visual { min-height:270px; }
  .ftm-feature-visual i { width:36px; margin:0 10px; }
}

/* Contact */
.ft-contact-page { --ftc-bg:#061019; --ftc-panel:#0b151e; --ftc-border:rgba(174,194,207,.18); --ftc-copy:#aeb9c2; overflow:hidden; background:var(--ftc-bg); color:#fff; }
.ftc-hero { min-height:675px; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#020a10; }
.ftc-hero::before { content:""; position:absolute; z-index:0; inset:-3%; background:url('/ftorex_contact_boardroom.webp') 63% 52%/cover no-repeat; }
.ftc-hero-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(2,9,14,.99) 0%,rgba(3,11,17,.93) 40%,rgba(3,10,15,.45) 67%,rgba(3,10,15,.08)),linear-gradient(0deg,rgba(3,10,15,.74),transparent 48%); }
.ftc-hero-content { position:relative; z-index:2; padding-top:106px; }
.ftc-hero h1 { max-width:810px; margin:0 0 25px; color:#fff; font-size:clamp(52px,5.5vw,80px); line-height:.94; font-weight:800; letter-spacing:-.045em; }
.ftc-hero-content>p { max-width:630px; margin:0; color:#d0d7dc; font-size:16px; line-height:1.65; }
.ftc-contact { padding:82px 0; background:radial-gradient(circle at 92% 8%,rgba(18,54,76,.25),transparent 32%),var(--ftc-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftc-contact-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; }
.ftc-contact h2,.ftc-direct h2 { margin:0 0 29px; color:#fff; font-size:clamp(32px,3.7vw,48px); line-height:1.02; font-weight:800; letter-spacing:-.035em; }
.ftc-form { display:flex; flex-direction:column; gap:14px; }
.ftc-field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.ftc-form label { display:flex; flex-direction:column; gap:7px; }
.ftc-form label>span { color:#8996a0; font-size:8px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ftc-form input,.ftc-form select,.ftc-form textarea { width:100%; border:1px solid rgba(174,194,207,.25); border-radius:4px; outline:none; background:rgba(3,12,19,.72); color:#fff; font:inherit; font-size:12px; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.ftc-form input,.ftc-form select { height:51px; padding:0 15px; }
.ftc-form textarea { min-height:140px; padding:15px; resize:vertical; }
.ftc-form input::placeholder,.ftc-form textarea::placeholder { color:#68757f; }
.ftc-form input:focus,.ftc-form select:focus,.ftc-form textarea:focus { border-color:#e7242d; background:rgba(5,17,26,.92); box-shadow:0 0 0 3px rgba(231,36,45,.1); }
.ftc-form select { appearance:auto; }
.ftc-consent { flex-direction:row!important; align-items:flex-start; gap:9px!important; }
.ftc-consent input { width:16px; height:16px; flex:0 0 auto; accent-color:#e7242d; }
.ftc-consent span { padding-top:2px; font-size:9px!important; line-height:1.45; letter-spacing:0!important; text-transform:none!important; }
.ftc-form .ft-btn { align-self:flex-start; border:0; cursor:pointer; }
.ftc-form .ft-btn:disabled { cursor:wait; opacity:.72; transform:none; }
.ftc-form-note { margin:-2px 0 0; color:#71808a; font-size:9px; line-height:1.45; }
.ftc-honeypot { width:1px; height:1px; position:absolute; left:-10000px; overflow:hidden; opacity:0; pointer-events:none; }
.ftc-form-status { min-height:18px; margin:0; font-size:10px; line-height:1.45; }
.ftc-form-status.success { color:#74d6a1; }
.ftc-form-status.error { color:#ff8b91; }
.ftc-direct { padding-left:55px; border-left:1px solid var(--ftc-border); }
.ftc-direct>p { max-width:520px; margin:-12px 0 28px; color:var(--ftc-copy); font-size:13px; line-height:1.65; }
.ftc-direct-list { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.ftc-direct-list>div { min-height:105px; padding:20px 17px; display:flex; align-items:center; gap:14px; border:1px solid var(--ftc-border); border-radius:6px; background:linear-gradient(145deg,rgba(14,31,43,.92),rgba(7,17,25,.88)); }
.ftc-direct-list svg { width:31px; height:31px; flex:0 0 auto; color:#e7242d; }
.ftc-direct-list span { min-width:0; display:flex; flex-direction:column; gap:7px; }
.ftc-direct-list small { color:#7f8d97; font-size:7px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ftc-direct-list a { overflow-wrap:anywhere; color:#fff; font-size:11px; line-height:1.35; }
.ftc-direct-list a:hover { color:#ef3038; }
.ftc-response { margin-top:12px; padding:20px; display:flex; flex-direction:column; gap:8px; border-left:3px solid #e7242d; background:rgba(255,255,255,.035); }
.ftc-response b { color:#fff; font-size:11px; text-transform:uppercase; }
.ftc-response span { color:var(--ftc-copy); font-size:10px; line-height:1.5; }
.ftc-offices { padding:82px 0; background:#f3f3f1; color:#12171b; }
.ftc-heading-row { margin-bottom:38px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.ftc-heading-row h2 { margin:0; color:#11171b; font-size:clamp(34px,4vw,54px); line-height:1.02; font-weight:800; letter-spacing:-.04em; }
.ftc-heading-row>p { max-width:560px; margin:0; color:#4e565c; font-size:14px; line-height:1.65; }
.ftc-office-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.ftc-office-card { overflow:hidden; display:grid; grid-template-columns:1.06fr .94fr; min-height:410px; border:1px solid rgba(9,24,35,.14); border-radius:8px; background:#fff; box-shadow:0 18px 44px rgba(8,17,25,.08); transition:transform .22s ease,box-shadow .22s ease; }
.ftc-office-card:hover { transform:translateY(-4px); box-shadow:0 24px 54px rgba(8,17,25,.13); }
.ftc-office-image { min-height:410px; position:relative; overflow:hidden; background:#07121b; }
.ftc-office-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .65s ease,filter .35s ease; }
.ftc-office-card:hover img { transform:scale(1.035); filter:brightness(1.04); }
.ftc-office-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,10,15,.62),transparent 48%); }
.ftc-office-image>span { position:absolute; z-index:1; left:17px; bottom:16px; padding:7px 10px; border-radius:4px; background:#df222b; color:#fff; font-size:9px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ftc-office-copy { padding:34px 28px; }
.ftc-office-copy>small { color:#e7242d; font-size:8px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.ftc-office-copy h3 { margin:8px 0 25px; color:#10171c; font-size:34px; line-height:1; letter-spacing:-.04em; }
.ftc-office-copy ul { margin:0; padding:0; display:flex; flex-direction:column; gap:18px; list-style:none; }
.ftc-office-copy li { min-width:0; display:grid; grid-template-columns:25px 1fr; gap:10px; align-items:start; color:#4a5359; font-size:11px; line-height:1.55; }
.ftc-office-copy svg { width:23px; height:23px; color:#e7242d; }
.ftc-office-copy a { overflow-wrap:anywhere; color:#1c252b; }
.ftc-office-copy a:hover { color:#e7242d; }
.ftc-cta { min-height:300px; position:relative; display:flex; align-items:center; background:url('/business-areas-cta.webp') center/cover no-repeat; }
.ftc-cta-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,11,17,.97),rgba(3,11,17,.72) 58%,rgba(3,11,17,.32)); }
.ftc-cta-content { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:70px; }
.ftc-cta h2 { margin:0 0 13px; max-width:760px; color:#fff; font-size:clamp(32px,3.7vw,48px); line-height:1.03; font-weight:800; letter-spacing:-.035em; }
.ftc-cta p { max-width:690px; margin:0; color:#ced5d9; font-size:13px; line-height:1.6; }
.ftc-cta .ft-btn { flex:0 0 auto; }

@media (prefers-reduced-motion:no-preference) {
  .ftc-hero-content { animation:ft-hero-enter .8s cubic-bezier(.22,.8,.25,1) both; }
  .ftc-hero::before { animation:ftc-hero-drift 16s ease-in-out infinite alternate; }
  @keyframes ftc-hero-drift { from { transform:scale(1.02) translateX(-1%); filter:brightness(.9); } to { transform:scale(1.055) translateX(1%); filter:brightness(1.04); } }
}

@media (max-width:1100px) {
  .ftc-contact-layout { gap:42px; }
  .ftc-direct { padding-left:36px; }
  .ftc-office-card { grid-template-columns:1fr; }
  .ftc-office-image { min-height:270px; }
}

@media (max-width:780px) {
  .ftc-hero { min-height:740px; align-items:flex-start; }
  .ftc-hero::before { background-position:58% center; }
  .ftc-hero-content { padding-top:135px; }
  .ftc-hero h1 { font-size:45px; }
  .ftc-contact,.ftc-offices { padding:58px 0; }
  .ftc-contact-layout,.ftc-heading-row { grid-template-columns:1fr; gap:38px; }
  .ftc-direct { padding:38px 0 0; border-left:0; border-top:1px solid var(--ftc-border); }
  .ftc-office-grid { grid-template-columns:1fr; }
  .ftc-office-card { grid-template-columns:1fr 1fr; }
  .ftc-office-image { min-height:390px; }
  .ftc-cta { min-height:370px; }
  .ftc-cta-content { flex-direction:column; align-items:flex-start; gap:30px; }
}

@media (max-width:520px) {
  .ftc-hero h1 { font-size:39px; }
  .ftc-hero-content>p { font-size:14px; }
  .ftc-field-grid,.ftc-direct-list { grid-template-columns:1fr; }
  .ftc-office-card { grid-template-columns:1fr; }
  .ftc-office-image { min-height:235px; }
  .ftc-office-copy { padding:28px 22px; }
}

/* Compliance */
.ft-compliance-page { --ftcp-bg:#061019; --ftcp-panel:#0b151e; --ftcp-border:rgba(174,194,207,.18); --ftcp-copy:#aeb9c2; overflow:hidden; background:var(--ftcp-bg); color:#fff; }
.ftcp-hero { min-height:675px; position:relative; display:flex; align-items:center; overflow:hidden; isolation:isolate; background:#020a10; }
.ftcp-hero::before { content:""; position:absolute; z-index:0; inset:-3%; background:url('/compliance-port-storm.webp') 42% 50%/cover no-repeat; }
.ftcp-hero-overlay { position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(2,9,14,.98) 0%,rgba(3,11,17,.91) 37%,rgba(3,10,15,.54) 61%,rgba(3,10,15,.76)),linear-gradient(0deg,rgba(3,10,15,.78),transparent 52%); }
.ftcp-hero-layout { min-height:675px; position:relative; z-index:2; padding-top:96px; display:grid; grid-template-columns:1fr .82fr; gap:30px; align-items:center; }
.ftcp-hero-copy { position:relative; z-index:3; }
.ftcp-hero h1 { max-width:800px; margin:0 0 25px; color:#fff; font-size:clamp(52px,5.5vw,80px); line-height:.94; font-weight:800; letter-spacing:-.045em; }
.ftcp-hero-copy>p { max-width:630px; margin:0; color:#d0d7dc; font-size:16px; line-height:1.65; }
.ftcp-hero-graphic { width:min(42vw,510px); aspect-ratio:1; position:relative; justify-self:end; display:grid; place-items:center; filter:drop-shadow(0 24px 55px rgba(0,0,0,.38)); }
.ftcp-hero-graphic::before { content:""; position:absolute; inset:15%; border-radius:50%; background:radial-gradient(circle,rgba(15,94,142,.36),rgba(5,26,42,.16) 48%,transparent 70%); box-shadow:inset 0 0 70px rgba(75,185,255,.14); }
.ftcp-orbit { position:absolute; border:1px solid rgba(113,203,255,.29); border-radius:50%; box-shadow:0 0 30px rgba(38,151,220,.08); }
.ftcp-orbit-one { inset:14%; }
.ftcp-orbit-two { inset:25%; border-style:dashed; }
.ftcp-core { width:180px; aspect-ratio:1; position:relative; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; clip-path:polygon(50% 0,92% 17%,86% 70%,50% 100%,14% 70%,8% 17%); background:linear-gradient(145deg,rgba(36,147,216,.76),rgba(5,34,55,.91)); border:1px solid rgba(151,222,255,.64); color:#fff; box-shadow:0 0 56px rgba(28,153,230,.55); }
.ftcp-core::before { content:""; position:absolute; inset:8%; clip-path:inherit; border:1px solid rgba(255,255,255,.31); background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 60%); }
.ftcp-core svg { width:74px; height:74px; position:relative; z-index:1; filter:drop-shadow(0 0 12px rgba(255,255,255,.45)); }
.ftcp-core span { position:relative; z-index:1; font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.ftcp-orbit-node { width:60px; height:60px; position:absolute; z-index:4; display:grid; place-items:center; border:1px solid rgba(140,213,255,.42); border-radius:50%; background:rgba(4,22,35,.85); color:#d9f3ff; box-shadow:0 0 28px rgba(36,153,221,.2),inset 0 0 18px rgba(80,180,238,.08); }
.ftcp-orbit-node svg { width:31px; height:31px; }
.ftcp-orbit-node.node-1 { left:3%; top:24%; }
.ftcp-orbit-node.node-2 { left:24%; top:2%; }
.ftcp-orbit-node.node-3 { right:18%; top:4%; }
.ftcp-orbit-node.node-4 { right:1%; top:38%; }
.ftcp-orbit-node.node-5 { right:18%; bottom:3%; }
.ftcp-orbit-node.node-6 { left:10%; bottom:13%; }
.ftcp-framework { padding:82px 0; background:radial-gradient(circle at 91% 7%,rgba(18,54,76,.24),transparent 31%),var(--ftcp-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftcp-heading-row { margin-bottom:38px; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; }
.ftcp-heading-row h2 { margin:0; color:#fff; font-size:clamp(34px,4vw,54px); line-height:1.02; font-weight:800; letter-spacing:-.04em; }
.ftcp-heading-row>p { max-width:560px; margin:0; color:var(--ftcp-copy); font-size:14px; line-height:1.65; }
.ftcp-framework-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ftcp-framework-card { min-height:300px; padding:30px 25px 23px; display:flex; flex-direction:column; align-items:flex-start; text-align:left; border:1px solid var(--ftcp-border); border-radius:7px; background:linear-gradient(150deg,rgba(13,29,41,.98),rgba(7,18,27,.94)); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.ftcp-framework-card:hover { transform:translateY(-4px); border-color:rgba(226,36,45,.62); box-shadow:0 20px 40px rgba(0,0,0,.22); }
.ftcp-framework-card svg { width:53px; height:53px; color:#e7242d; }
.ftcp-framework-card h3 { margin:21px 0 11px; color:#fff; font-size:20px; line-height:1.1; letter-spacing:-.025em; }
.ftcp-framework-card p { margin:0; color:var(--ftcp-copy); font-size:12px; line-height:1.55; }
.ftcp-framework-card>span { margin-top:auto; padding-top:21px; color:#fff; font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.ftcp-framework-card>span b { margin-left:8px; color:#e7242d; font-size:15px; }
.ftcp-standards { padding:82px 0; background:#f3f3f1; color:#12171b; }
.ftcp-standards-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:55px; align-items:start; }
.ftcp-standards-copy h2 { margin:0 0 20px; color:#11171b; font-size:clamp(36px,4.2vw,56px); line-height:1.01; font-weight:800; letter-spacing:-.04em; }
.ftcp-standards-copy p { margin:0 0 29px; color:#40494f; font-size:13px; line-height:1.7; }
.ftcp-standard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.ftcp-standard-grid article { min-height:205px; padding:25px 20px; border:1px solid rgba(9,24,35,.14); border-radius:6px; background:#fff; box-shadow:0 12px 30px rgba(8,17,25,.05); }
.ftcp-standard-grid b { color:#e7242d; font-size:12px; letter-spacing:.08em; }
.ftcp-standard-grid h3 { margin:24px 0 11px; color:#11171b; font-size:16px; line-height:1.15; }
.ftcp-standard-grid p { margin:0; color:#596168; font-size:10px; line-height:1.55; }
.ftcp-process { padding:82px 0; background:radial-gradient(circle at 8% 10%,rgba(18,54,76,.2),transparent 30%),var(--ftcp-bg); border-top:1px solid rgba(255,255,255,.09); }
.ftcp-title { margin:0 0 38px; max-width:760px; color:#fff; font-size:clamp(34px,4vw,54px); line-height:1.02; font-weight:800; letter-spacing:-.04em; }
.ftcp-process-grid { display:grid; grid-template-columns:repeat(6,1fr); border:1px solid var(--ftcp-border); border-radius:7px; overflow:hidden; }
.ftcp-process-grid article { min-height:285px; position:relative; padding:28px 20px 24px; display:flex; flex-direction:column; align-items:flex-start; border-right:1px solid var(--ftcp-border); background:linear-gradient(150deg,rgba(13,29,41,.95),rgba(7,18,27,.9)); }
.ftcp-process-grid article:last-child { border-right:0; }
.ftcp-process-grid article>span { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; background:#e7242d; color:#fff; font-size:9px; font-weight:800; box-shadow:0 0 0 7px rgba(231,36,45,.08); }
.ftcp-process-grid svg { width:42px; height:42px; margin:26px 0 18px; color:#fff; }
.ftcp-process-grid h3 { margin:0 0 10px; color:#fff; font-size:15px; line-height:1.1; }
.ftcp-process-grid p { margin:0; color:var(--ftcp-copy); font-size:10px; line-height:1.55; }
.ftcp-coverage { padding:78px 0; background:#f3f3f1; color:#11171b; }
.ftcp-coverage-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:60px; align-items:center; }
.ftcp-coverage h2 { margin:0 0 19px; color:#11171b; font-size:clamp(36px,4.2vw,56px); line-height:1.01; font-weight:800; letter-spacing:-.04em; }
.ftcp-coverage p { margin:0; color:#465057; font-size:13px; line-height:1.7; }
.ftcp-commitments { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(9,24,35,.14); border-radius:7px; background:#fff; box-shadow:0 16px 38px rgba(8,17,25,.06); }
.ftcp-commitments article { min-height:190px; padding:29px 24px; display:flex; flex-direction:column; border-right:1px solid rgba(9,24,35,.12); }
.ftcp-commitments article:last-child { border-right:0; }
.ftcp-commitments svg { width:45px; height:45px; margin-bottom:24px; color:#e7242d; }
.ftcp-commitments b { color:#11171b; font-size:17px; text-transform:uppercase; }
.ftcp-commitments span { margin-top:8px; color:#596168; font-size:10px; line-height:1.5; }
.ftcp-cta { min-height:300px; position:relative; display:flex; align-items:center; background:url('/compliance-port-storm.webp') center 60%/cover no-repeat; }
.ftcp-cta-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,11,17,.98),rgba(3,11,17,.7) 59%,rgba(3,11,17,.38)); }
.ftcp-cta-content { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:70px; }
.ftcp-cta h2 { margin:0 0 13px; max-width:760px; color:#fff; font-size:clamp(34px,4vw,52px); line-height:1.02; font-weight:800; letter-spacing:-.04em; }
.ftcp-cta p { max-width:690px; margin:0; color:#ced5d9; font-size:13px; line-height:1.6; }
.ftcp-cta .ft-btn { flex:0 0 auto; }

@media (prefers-reduced-motion:no-preference) {
  .ftcp-hero-copy { animation:ft-hero-enter .8s cubic-bezier(.22,.8,.25,1) both; }
  .ftcp-hero::before { animation:ftcp-hero-drift 17s ease-in-out infinite alternate; }
  .ftcp-core { animation:ftcp-core-pulse 3.7s ease-in-out infinite; }
  .ftcp-orbit-one { animation:ftcp-ring-spin 28s linear infinite; }
  .ftcp-orbit-two { animation:ftcp-ring-spin 22s linear infinite reverse; }
  .ftcp-orbit-node { animation:ftcp-node-float 4.8s ease-in-out infinite; }
  .ftcp-orbit-node:nth-of-type(2n) { animation-delay:-1.6s; }
  .ftcp-orbit-node:nth-of-type(3n) { animation-delay:-3.1s; }
  @keyframes ftcp-hero-drift { from { transform:scale(1.02) translateX(-1%); filter:brightness(.88); } to { transform:scale(1.055) translateX(1%); filter:brightness(1.03); } }
  @keyframes ftcp-core-pulse { 0%,100% { transform:scale(1); filter:drop-shadow(0 0 7px rgba(61,177,244,.28)); } 50% { transform:scale(1.035); filter:drop-shadow(0 0 18px rgba(61,177,244,.52)); } }
  @keyframes ftcp-ring-spin { to { transform:rotate(360deg); } }
  @keyframes ftcp-node-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
}

@media (max-width:1050px) {
  .ftcp-hero-layout { grid-template-columns:1.05fr .75fr; }
  .ftcp-hero-graphic { width:min(39vw,440px); }
  .ftcp-core { width:155px; }
  .ftcp-orbit-node { width:53px; height:53px; }
  .ftcp-framework-grid { grid-template-columns:repeat(2,1fr); }
  .ftcp-standards-layout,.ftcp-coverage-layout { grid-template-columns:1fr; }
  .ftcp-process-grid { grid-template-columns:repeat(3,1fr); }
  .ftcp-process-grid article:nth-child(3) { border-right:0; }
  .ftcp-process-grid article:nth-child(-n+3) { border-bottom:1px solid var(--ftcp-border); }
}

@media (max-width:780px) {
  .ftcp-hero { min-height:850px; align-items:flex-start; }
  .ftcp-hero::before { background-position:48% center; }
  .ftcp-hero-layout { min-height:850px; padding-top:132px; grid-template-columns:1fr; align-content:start; }
  .ftcp-hero h1 { font-size:45px; }
  .ftcp-hero-graphic { width:min(84vw,430px); margin:-24px auto 0; justify-self:center; opacity:.92; }
  .ftcp-core { width:145px; }
  .ftcp-framework,.ftcp-standards,.ftcp-process,.ftcp-coverage { padding:58px 0; }
  .ftcp-heading-row { grid-template-columns:1fr; gap:28px; }
  .ftcp-standard-grid { grid-template-columns:repeat(2,1fr); }
  .ftcp-cta { min-height:370px; }
  .ftcp-cta-content { flex-direction:column; align-items:flex-start; gap:30px; }
}

@media (max-width:520px) {
  .ftcp-hero { min-height:820px; }
  .ftcp-hero-layout { min-height:820px; }
  .ftcp-hero h1 { font-size:39px; }
  .ftcp-hero-copy>p { font-size:14px; }
  .ftcp-hero-graphic { width:92vw; margin-top:-8px; }
  .ftcp-orbit-node { width:47px; height:47px; }
  .ftcp-orbit-node svg { width:25px; height:25px; }
  .ftcp-core { width:132px; }
  .ftcp-core svg { width:57px; height:57px; }
  .ftcp-framework-grid,.ftcp-standard-grid,.ftcp-process-grid,.ftcp-commitments { grid-template-columns:1fr; }
  .ftcp-process-grid article,.ftcp-process-grid article:nth-child(3),.ftcp-process-grid article:last-child,.ftcp-commitments article,.ftcp-commitments article:last-child { border-right:0; border-bottom:1px solid var(--ftcp-border); }
  .ftcp-process-grid article:last-child,.ftcp-commitments article:last-child { border-bottom:0; }
}
