/* Future Academy Enterprise Solutions — standalone WordPress page styles */

:root {
  --navy: #071936;
  --navy-2: #0d2b5d;
  --blue: #2869f7;
  --blue-light: #76a3ff;
  --paper: #f4f7fb;
  --white: #ffffff;
  --ink: #0b1e3b;
  --muted: #68758a;
  --line: #d5dce7;
  --orange: #ffb44a;
  --green: #58cfaa;
}

.fae-site, .fae-site * { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.fae-wordpress-page {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Helvetica Neue", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.fae-site a { color: inherit; text-decoration: none; }
.fae-site img { display: block; max-width: 100%; }
.fae-site { width: 100vw; margin-left: calc(50% - 50vw); overflow: hidden; }
.fae-site h1, .fae-site h2, .fae-site h3 { text-wrap: pretty; }
.admin-bar .fae-site .site-header, .admin-bar .fae-site .service-header { top: 32px; }

.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 50%;
  width: min(100% - 64px, 1440px);
  height: 108px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 240px 1fr 220px;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.18);
  color: white;
}
.brand img { width: 172px; height: auto; }
.site-header nav { display: flex; justify-content: center; align-items: center; gap: 36px; font-size: 14px; color: rgba(255,255,255,.76); }
.site-header nav a { transition: color .2s ease; }
.site-header nav a:hover { color: white; }
.header-spacer { width: 220px; }
.header-cta { justify-self: end; display: inline-flex; align-items: center; gap: 28px; padding: 14px 18px 14px 24px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; font-size: 14px; }
.header-cta span { display: grid; place-items: center; width: 28px; height: 28px; background: white; color: var(--navy); border-radius: 50%; }

.hero {
  position: relative;
  min-height: 920px;
  padding: 210px max(32px, calc((100vw - 1440px)/2)) 88px;
  background: radial-gradient(circle at 68% 34%, #143b7a 0, #0a2450 29%, var(--navy) 62%);
  color: white;
}
.hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero-copy { position: relative; z-index: 3; width: 55%; padding-top: 48px; }
.eyebrow, .section-label { display: flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 650; letter-spacing: .14em; text-transform: uppercase; color: var(--blue); }
.eyebrow { color: #91b3ff; }
.eyebrow span { width: 32px; height: 1px; background: currentColor; }
.hero h1 { margin: 26px 0 28px; font-size: clamp(56px, 5.4vw, 88px); line-height: 1.08; letter-spacing: -.055em; font-weight: 590; }
.hero h1 em { color: #82a9ff; font-style: normal; }
.hero h1.hero-title-long { max-width: 900px; line-height: 1.16; letter-spacing: -.045em; }
.hero-title-primary { display: block; font-size: clamp(48px, 4.6vw, 74px); }
.hero-title-secondary { display: block; margin-top: 16px; white-space: nowrap; font-size: clamp(27px, 2.35vw, 38px); line-height: 1.28; }
.hero-lead { max-width: 620px; margin: 0; color: rgba(255,255,255,.7); font-size: 18px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; gap: 34px; margin-top: 42px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; min-width: 210px; padding: 18px 20px 18px 24px; border-radius: 999px; font-size: 14px; font-weight: 620; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--blue); color: white; }
.button span { font-size: 20px; }
.text-link { display: inline-flex; gap: 16px; color: rgba(255,255,255,.74); font-size: 14px; border-bottom: 1px solid rgba(255,255,255,.28); padding-bottom: 6px; }

.hero-visual { position: absolute; z-index: 2; right: max(32px, calc((100vw - 1440px)/2)); top: 190px; width: min(41vw, 600px); height: 590px; }
.type-visual { border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.type-visual::before, .type-visual::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.type-visual::before { inset: 42px; border: 1px solid rgba(255,255,255,.14); }
.type-visual::after { width: 155px; height: 155px; right: 8px; bottom: 52px; background: var(--blue); box-shadow: 0 28px 70px rgba(0,0,0,.24); }
.type-ring { position: absolute; top: 50%; left: 50%; z-index: 2; width: 62%; transform: translate(-50%,-50%); display: grid; place-items: center; gap: 15px; text-align: center; color: rgba(255,255,255,.92); font-size: 13px; font-weight: 620; letter-spacing: .2em; }
.type-ring b { display: grid; place-items: center; width: 82px; height: 82px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28); border-radius: 50%; font-size: 30px; font-weight: 250; letter-spacing: 0; }
.type-metric { position: absolute; z-index: 3; display: flex; align-items: flex-end; gap: 10px; padding: 16px 20px; background: #f4f7fb; color: var(--navy); box-shadow: 0 20px 50px rgba(0,0,0,.16); }
.type-metric strong { font-size: 54px; line-height: .9; letter-spacing: -.06em; }
.type-metric span { max-width: 80px; font-size: 11px; line-height: 1.45; color: var(--muted); }
.metric-one { left: -14px; top: 82px; }
.metric-two { right: -18px; top: 120px; }
.type-caption { position: absolute; z-index: 3; right: 45px; bottom: 92px; color: white; font-size: 10px; font-weight: 650; line-height: 1.7; letter-spacing: .16em; text-align: right; }
.hero-orbit { position: absolute; border: 2px solid rgba(102,145,255,.3); border-radius: 50%; pointer-events: none; }
.orbit-one { width: 720px; height: 720px; right: -260px; top: 60px; }
.orbit-two { width: 220px; height: 220px; left: -80px; bottom: -80px; border-width: 34px; border-color: rgba(43,105,247,.2); }
.hero-index { position: absolute; z-index: 3; left: max(32px, calc((100vw - 1440px)/2)); right: max(32px, calc((100vw - 1440px)/2)); bottom: 42px; display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 16px; color: rgba(255,255,255,.48); font-size: 10px; letter-spacing: .12em; }
.hero-index div { height: 1px; background: rgba(255,255,255,.2); }

.section { padding: 118px max(32px, calc((100vw - 1320px)/2)); }
.section h2 { margin: 0; font-size: clamp(38px, 3.7vw, 60px); line-height: 1.18; letter-spacing: -.04em; font-weight: 590; }
.intro { background: white; }
.intro-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 110px; align-items: end; margin-top: 46px; }
.intro-copy p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.9; }
.intro-copy a { display: inline-flex; gap: 24px; margin-top: 30px; padding-bottom: 6px; color: var(--blue); font-weight: 640; border-bottom: 1px solid #a8bde9; }
.signal-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 86px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.signal-grid article { min-height: 210px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .25s ease; }
.signal-grid article:hover { background: #f3f7ff; }
.signal-grid span { color: var(--blue); font-size: 12px; }
.signal-grid strong { display: block; margin-top: 44px; font-size: 21px; }
.signal-grid p { max-width: 190px; margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }

.solutions { background: var(--navy); color: white; }
.section-heading { display: grid; grid-template-columns: .45fr 1fr .55fr; gap: 60px; align-items: end; margin-bottom: 64px; }
.section-label.light { color: #8fb2ff; }
.section-heading p { margin: 0; color: rgba(255,255,255,.54); line-height: 1.8; }
.solution-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.solution-card { position: relative; min-height: 610px; padding: 30px; overflow: hidden; border-radius: 8px; color: var(--ink); }
.solution-card { transition: transform .25s ease, box-shadow .25s ease; }
.solution-card:hover { transform: translateY(-5px); box-shadow: 0 26px 60px rgba(0,0,0,.2); }
.brand-card { background: var(--orange); }
.talent-card { background: var(--green); }
.solution-card::before { content: ""; position: absolute; width: 420px; height: 420px; border: 1px solid rgba(7,25,54,.2); border-radius: 50%; right: -130px; top: 45px; }
.solution-card::after { content: ""; position: absolute; width: 230px; height: 230px; border: 48px solid rgba(255,255,255,.22); border-radius: 50%; right: -60px; bottom: -70px; }
.card-topline { position: relative; z-index: 2; display: flex; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(7,25,54,.25); font-size: 11px; letter-spacing: .13em; }
.card-body { position: relative; z-index: 2; max-width: 500px; padding: 58px 12px 20px; }
.card-kicker { margin: 0 0 18px; font-size: 12px; font-weight: 650; letter-spacing: .08em; }
.card-body h3 { margin: 0; font-size: clamp(38px, 3.15vw, 52px); line-height: 1.15; letter-spacing: -.045em; font-weight: 620; }
.card-body > p:not(.card-kicker) { max-width: 430px; margin: 26px 0; line-height: 1.8; font-size: 15px; }
.card-body ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.card-body li::before { content: "—"; margin-right: 10px; }
.card-footer { position: absolute; z-index: 2; left: 42px; right: 30px; bottom: 30px; display: flex; align-items: center; justify-content: space-between; font-size: 12px; }
.round-arrow { display: grid; place-items: center; width: 52px; height: 52px; background: var(--navy); color: white; border-radius: 50%; font-size: 18px; }

.growth { background: var(--paper); }
.growth-title { display: grid; grid-template-columns: .5fr 1fr .7fr; gap: 60px; align-items: end; }
.growth-title p { margin: 0; color: var(--muted); line-height: 1.8; }
.growth-track { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 92px; }
.growth-track::before { content: ""; position: absolute; top: 42px; left: 5%; right: 5%; height: 1px; background: #aab7c9; }
.growth-track article { position: relative; padding-right: 28px; }
.step-number { color: #8b98ab; font-size: 11px; }
.step-dot { position: relative; z-index: 2; width: 16px; height: 16px; margin: 25px 0 38px; background: var(--paper); border: 4px solid var(--blue); border-radius: 50%; box-shadow: 0 0 0 7px var(--paper); }
.growth-track article:first-child .step-dot { background: var(--blue); }
.growth-track h3 { margin: 0 0 10px; font-size: 19px; }
.growth-track p { max-width: 150px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.growth-statement { display: grid; grid-template-columns: .7fr 1.3fr; margin-top: 90px; padding: 36px 0 0; border-top: 1px solid var(--line); }
.growth-statement span { color: var(--blue); font-size: 12px; font-weight: 650; }
.growth-statement p { margin: 0; font-size: clamp(24px, 2.4vw, 38px); line-height: 1.4; letter-spacing: -.03em; }

.cases { background: white; }
.cases-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: 100px; align-items: end; margin-top: 44px; }
.cases-heading p { margin: 0; color: var(--muted); line-height: 1.8; }
.project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 64px; }
.project-card { position: relative; min-height: 510px; padding: 30px; overflow: hidden; border: 1px solid var(--line); background: var(--paper); transition: transform .25s ease, border-color .25s ease, background .25s ease; }
.project-card:hover { transform: translateY(-4px); border-color: #9eb5df; background: #edf3ff; }
.project-card:nth-child(2), .project-card:nth-child(3) { background: var(--navy); color: white; border-color: var(--navy); }
.project-card:nth-child(2):hover, .project-card:nth-child(3):hover { background: #0d2b5d; }
.project-card-head { position: relative; z-index: 2; display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid currentColor; color: var(--blue); font-size: 10px; font-weight: 650; letter-spacing: .14em; }
.project-card:nth-child(2) .project-card-head, .project-card:nth-child(3) .project-card-head { color: #87adff; border-color: rgba(255,255,255,.22); }
.project-card-body { position: relative; z-index: 2; padding-top: 38px; }
.project-tag { display: inline-block; padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 10px; }
.project-card:nth-child(2) .project-tag, .project-card:nth-child(3) .project-tag { border-color: rgba(255,255,255,.25); color: rgba(255,255,255,.6); }
.project-card h3 { max-width: 520px; min-height: 95px; margin: 22px 0 30px; font-size: clamp(29px, 2.7vw, 42px); line-height: 1.15; letter-spacing: -.04em; }
.project-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.project-copy b { display: block; margin-bottom: 9px; color: var(--blue); font-size: 11px; }
.project-card:nth-child(2) .project-copy b, .project-card:nth-child(3) .project-copy b { color: #87adff; }
.project-copy p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.project-card:nth-child(2) .project-copy p, .project-card:nth-child(3) .project-copy p { color: rgba(255,255,255,.58); }
.project-index { position: absolute; right: -12px; bottom: -48px; color: rgba(40,105,247,.08); font-size: 190px; font-weight: 700; line-height: 1; letter-spacing: -.08em; }
.project-card:nth-child(2) .project-index, .project-card:nth-child(3) .project-index { color: rgba(255,255,255,.05); }
.data-note { margin-top: 20px; color: #939dad; font-size: 10px; line-height: 1.65; }

.process { display: grid; grid-template-columns: .8fr 1.2fr; gap: 110px; background: var(--navy); color: white; }
.process-intro { position: sticky; top: 40px; align-self: start; }
.process-intro h2 { margin-top: 42px; }
.process-intro p { max-width: 500px; color: rgba(255,255,255,.55); line-height: 1.85; }
.process-list { border-top: 1px solid rgba(255,255,255,.2); }
.process-list article { display: grid; grid-template-columns: 55px 1fr 1.5fr 24px; gap: 20px; align-items: center; min-height: 120px; border-bottom: 1px solid rgba(255,255,255,.2); }
.process-list article > span { color: #7fa8ff; font-size: 11px; }
.process-list h3 { font-size: 18px; }
.process-list p { color: rgba(255,255,255,.55); font-size: 13px; line-height: 1.6; }
.process-list b { color: #7fa8ff; font-size: 18px; font-weight: 400; }

.ecosystem { background: white; }
.ecosystem-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; margin-top: 44px; }
.ecosystem-grid p { max-width: 610px; margin-top: 30px; color: var(--muted); line-height: 1.9; }
.ecosystem-mark { display: grid; grid-template-columns: 1fr 68px 1fr; place-items: center; gap: 22px; min-height: 310px; padding: 34px; border: 1px solid var(--line); background: var(--paper); }
.ecosystem-mark b { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; background: var(--blue); color: white; font-size: 28px; font-weight: 300; }
.partner-logo { display: grid; place-items: center; width: 100%; height: 150px; overflow: hidden; background: white; border: 1px solid #e3e7ee; }
.future-partner-logo img { width: 86%; }
.horizon-partner-logo img { width: 96%; height: auto; max-width: 96%; mix-blend-mode: multiply; }
.capability-row { display: grid; grid-template-columns: repeat(6, 1fr); margin-top: 70px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.capability-row span { padding: 25px 12px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; font-size: 13px; }

.fae-site footer { display: grid; grid-template-columns: 220px 1fr auto; align-items: end; gap: 50px; padding: 46px max(32px, calc((100vw - 1320px)/2)); background: #041126; color: rgba(255,255,255,.48); }
.fae-site footer img { width: 150px; }
.fae-site footer p { margin: 0; font-size: 13px; }
.fae-site footer div { display: flex; gap: 24px; font-size: 10px; }

/* Business solution detail pages */
.service-page { --service-accent: var(--blue); --service-soft: #eaf1ff; background: var(--paper); color: var(--ink); }
.service-brand { --service-accent: var(--orange); --service-soft: #fff2db; }
.service-talent { --service-accent: var(--green); --service-soft: #e2f8f1; }
.service-hero { position: relative; min-height: 820px; padding: 210px max(32px, calc((100vw - 1320px)/2)) 92px; overflow: hidden; background: radial-gradient(circle at 74% 32%, #173f82 0, #0b2958 30%, var(--navy) 68%); color: white; }
.service-hero::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px); background-size: 76px 76px; mask-image: linear-gradient(to bottom, black, transparent 88%); }
.service-header { position: absolute; z-index: 10; top: 0; left: 50%; width: min(100% - 64px, 1440px); height: 108px; transform: translateX(-50%); display: grid; grid-template-columns: 240px 1fr 220px; align-items: center; border-bottom: 1px solid rgba(255,255,255,.18); }
.service-brand img { width: 172px; }
.service-header nav { display: flex; justify-content: center; align-items: center; gap: 34px; color: rgba(255,255,255,.67); font-size: 13px; }
.service-header nav a:hover { color: white; }
.nav-dropdown { position: relative; z-index: 30; }
.nav-dropdown summary { display: flex; align-items: center; gap: 9px; list-style: none; cursor: pointer; user-select: none; transition: color .2s ease; }
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary span { color: #8fb2ff; font-size: 13px; transition: transform .2s ease; }
.nav-dropdown[open] summary, .nav-dropdown:hover summary { color: white; }
.nav-dropdown[open] summary span { transform: rotate(180deg); }
.nav-dropdown-menu { position: absolute; top: calc(100% + 22px); left: 50%; width: 230px; padding: 10px; transform: translateX(-50%); background: white; color: var(--ink); border: 1px solid #e0e6ef; box-shadow: 0 22px 55px rgba(0,0,0,.2); opacity: 0; visibility: hidden; transition: opacity .18s ease, visibility .18s ease, transform .18s ease; }
.nav-dropdown-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -23px; height: 23px; }
.nav-dropdown[open] .nav-dropdown-menu, .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.nav-dropdown-menu a { display: grid; grid-template-columns: 30px 1fr; align-items: center; min-height: 48px; padding: 0 12px; border-bottom: 1px solid #edf0f5; color: var(--ink) !important; }
.nav-dropdown-menu a:last-child { border-bottom: 0; }
.nav-dropdown-menu a:hover { background: #f1f5fb; }
.nav-dropdown-menu b { color: var(--blue); font-size: 9px; font-weight: 700; }
.nav-dropdown-menu span { font-size: 13px; }
.service-back { justify-self: end; display: flex; align-items: center; gap: 16px; font-size: 12px; color: rgba(255,255,255,.78); }
.service-back span { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: white; }
.service-hero-content { position: relative; z-index: 3; max-width: 1100px; }
.service-breadcrumb { display: flex; align-items: center; gap: 9px; color: #8fb2ff; font-size: 11px; font-weight: 650; letter-spacing: .16em; }
.service-breadcrumb span { color: var(--service-accent); }
.service-hero h1 { max-width: 1150px; margin: 34px 0 28px; font-size: clamp(58px, 6vw, 96px); line-height: 1.04; letter-spacing: -.06em; font-weight: 590; }
.service-hero-content > p { max-width: 830px; margin: 0; color: rgba(255,255,255,.67); font-size: 18px; line-height: 1.85; }
.service-hero-statement { position: absolute; z-index: 3; left: max(32px, calc((100vw - 1320px)/2)); right: max(32px, calc((100vw - 1320px)/2)); bottom: 48px; display: grid; grid-template-columns: .35fr 1.65fr; gap: 40px; align-items: start; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.2); }
.service-hero-statement span { color: var(--service-accent); font-size: 11px; font-weight: 650; letter-spacing: .12em; }
.service-hero-statement p { max-width: 880px; margin: 0; font-size: 18px; line-height: 1.55; }
.service-hero-code { position: absolute; z-index: 1; right: -22px; bottom: 72px; color: rgba(255,255,255,.035); font-size: 170px; font-weight: 750; line-height: 1; letter-spacing: -.08em; }
.service-hero-orbit { position: absolute; border: 2px solid color-mix(in srgb, var(--service-accent) 38%, transparent); border-radius: 50%; }
.orbit-large { width: 650px; height: 650px; right: -170px; top: 100px; }
.orbit-small { width: 170px; height: 170px; right: 190px; top: 210px; border-width: 32px; opacity: .55; }

.service-metrics { display: grid; grid-template-columns: repeat(4, 1fr); background: white; border-bottom: 1px solid var(--line); }
.service-metrics article { min-height: 205px; padding: 30px max(24px, calc((100vw - 1320px)/8)); border-right: 1px solid var(--line); }
.service-metrics article:last-child { border-right: 0; }
.service-metrics span { color: var(--service-accent); font-size: 10px; font-weight: 700; }
.service-metrics strong { display: block; margin-top: 38px; font-size: 23px; }
.service-metrics p { max-width: 230px; margin: 10px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

.service-section { padding: 112px max(32px, calc((100vw - 1320px)/2)); }
.service-label { color: var(--service-accent); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.service-label.light { color: color-mix(in srgb, var(--service-accent) 75%, white); }
.service-section-intro { display: grid; grid-template-columns: .38fr 1.1fr .62fr; gap: 55px; align-items: end; }
.service-section-intro.compact { grid-template-columns: .38fr 1.1fr .62fr; }
.service-section h2 { margin: 0; font-size: clamp(42px, 4.2vw, 66px); line-height: 1.12; letter-spacing: -.045em; font-weight: 590; }
.service-section-intro > p { margin: 0; color: var(--muted); line-height: 1.8; }
.issue-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.issue-grid article { min-height: 300px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; }
.issue-grid span { color: var(--service-accent); font-size: 11px; }
.issue-grid h3 { margin: 64px 0 15px; font-size: 22px; letter-spacing: -.02em; }
.issue-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }

.service-framework { background: var(--navy); color: white; }
.framework-heading { display: grid; grid-template-columns: .38fr 1.1fr .62fr; gap: 55px; align-items: end; }
.framework-heading > p { margin: 0; color: rgba(255,255,255,.53); line-height: 1.8; }
.framework-track { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 86px; }
.framework-track::before { content: ""; position: absolute; top: 49px; left: 4%; right: 4%; height: 1px; background: rgba(255,255,255,.23); }
.framework-track article { position: relative; padding-right: 28px; }
.framework-track article > span { color: rgba(255,255,255,.4); font-size: 10px; }
.framework-node { position: relative; z-index: 2; width: 17px; height: 17px; margin: 34px 0 35px; border: 4px solid var(--service-accent); border-radius: 50%; background: var(--navy); box-shadow: 0 0 0 8px var(--navy); }
.framework-track article:first-child .framework-node { background: var(--service-accent); }
.framework-track h3 { margin: 0 0 11px; font-size: 20px; }
.framework-track p { max-width: 190px; margin: 0; color: rgba(255,255,255,.52); font-size: 12px; line-height: 1.7; }

.service-modules { background: white; }
.module-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 68px; }
.module-grid article { min-height: 390px; padding: 30px; border: 1px solid var(--line); background: var(--paper); transition: transform .22s ease, border-color .22s ease; }
.module-grid article:hover { transform: translateY(-3px); border-color: var(--service-accent); }
.module-head { display: flex; justify-content: space-between; color: var(--service-accent); font-size: 11px; }
.module-head b { font-size: 18px; font-weight: 400; }
.module-grid h3 { max-width: 540px; margin: 55px 0 18px; font-size: clamp(29px, 2.6vw, 42px); line-height: 1.15; letter-spacing: -.04em; }
.module-grid > article > p { max-width: 570px; color: var(--muted); line-height: 1.75; }
.module-grid ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; }
.module-grid li { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; }

.service-deliverables { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; background: var(--service-soft); }
.deliverable-heading h2 { margin-top: 36px; }
.deliverable-grid { border-top: 1px solid color-mix(in srgb, var(--service-accent) 30%, var(--line)); }
.deliverable-grid article { display: grid; grid-template-columns: 44px .72fr 1.28fr; gap: 22px; align-items: center; min-height: 112px; border-bottom: 1px solid color-mix(in srgb, var(--service-accent) 30%, var(--line)); }
.deliverable-grid span { color: var(--service-accent); font-size: 10px; }
.deliverable-grid h3 { font-size: 17px; }
.deliverable-grid p { color: var(--muted); font-size: 12px; line-height: 1.65; }

.service-evidence { background: white; }
.evidence-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 68px; }
.evidence-grid article { min-height: 430px; padding: 34px; overflow: hidden; background: var(--navy); color: white; }
.evidence-grid article:nth-child(even) { background: var(--service-accent); color: var(--ink); }
.evidence-grid article > span { font-size: 10px; font-weight: 700; letter-spacing: .13em; color: #8fb2ff; }
.evidence-grid article:nth-child(even) > span { color: color-mix(in srgb, var(--ink) 60%, transparent); }
.evidence-grid h3 { max-width: 560px; margin: 72px 0 22px; font-size: clamp(30px, 3vw, 46px); line-height: 1.14; letter-spacing: -.045em; }
.evidence-grid p { max-width: 600px; color: rgba(255,255,255,.58); line-height: 1.78; }
.evidence-grid article:nth-child(even) p { color: color-mix(in srgb, var(--ink) 66%, transparent); }
.evidence-grid article > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 35px; }
.evidence-grid b { padding: 8px 11px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; font-size: 11px; font-weight: 500; }
.evidence-grid article:nth-child(even) b { border-color: color-mix(in srgb, var(--ink) 28%, transparent); }
.industry-band { display: grid; grid-template-columns: .25fr 1.75fr; gap: 40px; align-items: start; margin-top: 54px; padding-top: 28px; border-top: 1px solid var(--line); }
.industry-band > span { color: var(--service-accent); font-size: 11px; font-weight: 700; }
.industry-band > div { display: flex; flex-wrap: wrap; gap: 9px; }
.industry-band b { padding: 9px 14px; background: var(--paper); border-radius: 999px; color: var(--muted); font-size: 11px; font-weight: 500; }

.service-success-case { display: grid; grid-template-columns: .42fr 1.58fr; gap: 80px; background: var(--navy); color: white; }
.success-case-intro > p { margin: 34px 0 0; color: rgba(255,255,255,.42); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.success-case-quote { display: inline-block; margin-bottom: 30px; color: var(--service-accent); font-size: 13px; font-weight: 650; letter-spacing: .04em; }
.success-case-content h2 { max-width: 900px; margin: 0; color: white; }
.success-case-content > p { max-width: 830px; margin: 30px 0 0; color: rgba(255,255,255,.64); font-size: 16px; line-height: 1.9; }
.success-case-facts { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 830px; margin-top: 54px; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.success-case-facts article { display: flex; flex-direction: column; gap: 8px; padding: 26px 24px 26px 0; border-right: 1px solid rgba(255,255,255,.18); }
.success-case-facts article:not(:first-child) { padding-left: 24px; }
.success-case-facts article:last-child { border-right: 0; }
.success-case-facts strong { color: white; font-size: 31px; font-weight: 590; letter-spacing: -.04em; }
.success-case-facts span { color: rgba(255,255,255,.46); font-size: 11px; }
.success-case-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.success-case-topics b { padding: 8px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: rgba(255,255,255,.7); font-size: 11px; font-weight: 500; }
.success-case-link { display: inline-flex; align-items: center; gap: 20px; margin-top: 44px; color: white; font-size: 13px; font-weight: 650; }
.success-case-link > b { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--service-accent); color: var(--ink); font-size: 17px; transition: transform .2s ease; }
.success-case-link:hover > b { transform: translate(3px, -3px); }

.service-next { display: grid; grid-template-columns: .45fr 1.45fr 70px; gap: 50px; align-items: center; min-height: 260px; padding: 56px max(32px, calc((100vw - 1320px)/2)); background: var(--service-accent); color: var(--ink); }
.service-next > span { font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.service-next strong { font-size: clamp(33px, 3.7vw, 58px); line-height: 1.12; letter-spacing: -.045em; font-weight: 590; }
.service-next > b { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%; background: var(--navy); color: white; font-size: 24px; font-weight: 400; transition: transform .2s ease; }
.service-next:hover > b { transform: translateX(5px); }
.service-footer { display: grid; grid-template-columns: 220px 1fr auto; align-items: end; gap: 50px; padding: 46px max(32px, calc((100vw - 1320px)/2)); background: #041126; color: rgba(255,255,255,.48); }
.service-footer img { width: 150px; }
.service-footer p { margin: 0; font-size: 13px; }
.service-footer div { display: flex; gap: 24px; font-size: 10px; }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  .site-header nav { display: none; }
  .header-spacer { display: none; }
  .hero { min-height: 1080px; padding-top: 180px; }
  .hero-copy { width: 100%; }
  .hero-visual { position: relative; right: auto; top: auto; width: 100%; height: 470px; margin-top: 70px; }
  .section-heading, .growth-title { grid-template-columns: 1fr; }
  .section-heading h2, .growth-title h2 { max-width: 760px; }
  .process { grid-template-columns: 1fr; }
  .process-intro { position: static; }
}

@media (max-width: 760px) {
  .site-header { width: calc(100% - 36px); height: 84px; grid-template-columns: 1fr auto; }
  .brand img { width: 132px; }
  .header-cta { min-width: 0; padding: 10px 12px 10px 16px; gap: 12px; }
  .header-cta span { width: 22px; height: 22px; }
  .hero { min-height: 1040px; padding: 145px 18px 70px; }
  .hero h1 { font-size: 50px; }
  .hero h1.hero-title-long { line-height: 1.2; }
  .hero-title-primary { font-size: 46px; }
  .hero-title-secondary { margin-top: 12px; white-space: normal; font-size: 30px; line-height: 1.35; }
  .hero-lead { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 22px; }
  .hero-visual { width: 390px; max-width: 100%; height: 390px; margin: 55px auto 0; }
  .type-metric { padding: 12px 14px; }
  .type-metric strong { font-size: 42px; }
  .metric-one { left: -4px; top: 52px; }
  .metric-two { right: -4px; top: 94px; }
  .type-caption { right: 27px; bottom: 52px; }
  .hero-index { left: 18px; right: 18px; grid-template-columns: 24px 1fr; }
  .hero-index span:last-child { display: none; }
  .section { padding: 82px 20px; }
  .section h2 { font-size: 40px; }
  .intro-grid, .cases-heading, .ecosystem-grid { grid-template-columns: 1fr; gap: 40px; }
  .signal-grid { grid-template-columns: 1fr 1fr; margin-top: 54px; }
  .signal-grid article { min-height: 180px; padding: 22px; }
  .solution-cards { grid-template-columns: 1fr; }
  .solution-card { min-height: 570px; padding: 24px; }
  .card-footer { left: 36px; right: 24px; }
  .growth-track { grid-template-columns: 1fr; margin-top: 55px; }
  .growth-track::before { top: 0; bottom: 0; left: 7px; right: auto; width: 1px; height: auto; }
  .growth-track article { display: grid; grid-template-columns: 36px 1fr; padding: 0 0 38px; }
  .step-number { display: none; }
  .step-dot { grid-row: span 2; margin: 3px 20px 0 0; }
  .growth-track h3 { grid-column: 2; }
  .growth-track p { grid-column: 2; max-width: none; }
  .growth-statement { grid-template-columns: 1fr; gap: 24px; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card { min-height: 570px; padding: 24px; }
  .project-card h3 { min-height: 0; }
  .project-copy { grid-template-columns: 1fr; gap: 22px; }
  .process-list article { grid-template-columns: 42px 1fr 20px; padding: 22px 0; }
  .process-list p { grid-column: 2; }
  .process-list b { grid-column: 3; grid-row: 1 / span 2; }
  .ecosystem-mark { grid-template-columns: 1fr; padding: 24px; }
  .ecosystem-mark b { width: 48px; height: 48px; font-size: 22px; }
  .partner-logo { height: 130px; }
  .capability-row { grid-template-columns: repeat(2, 1fr); }
  .fae-site footer { grid-template-columns: 1fr; align-items: start; gap: 24px; }
  .fae-site footer div { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .fae-site * { transition: none !important; }
}

@media screen and (max-width: 782px) {
  .admin-bar .fae-site .site-header, .admin-bar .fae-site .service-header { top: 46px; }
}

@media (max-width: 1050px) {
  .service-header { grid-template-columns: 1fr auto; }
  .service-header nav { display: none; }
  .service-hero h1 { font-size: 72px; }
  .service-section-intro, .service-section-intro.compact, .framework-heading { grid-template-columns: 1fr; align-items: start; }
  .service-section-intro h2, .framework-heading h2 { max-width: 820px; }
  .service-section-intro > p, .framework-heading > p { max-width: 650px; }
  .issue-grid { grid-template-columns: repeat(2, 1fr); }
  .service-deliverables { grid-template-columns: 1fr; }
  .deliverable-heading { max-width: 720px; }
}

@media (max-width: 760px) {
  .service-header { width: calc(100% - 36px); height: 84px; }
  .service-brand img { width: 132px; }
  .service-back { gap: 8px; font-size: 0; }
  .service-back::before { content: "返回"; font-size: 12px; }
  .service-back span { width: 30px; height: 30px; }
  .service-hero { min-height: auto; padding: 145px 20px 72px; }
  .service-hero h1 { margin-top: 26px; font-size: 50px; line-height: 1.08; }
  .service-hero-content > p { font-size: 15px; }
  .service-hero-statement { position: relative; left: auto; right: auto; bottom: auto; grid-template-columns: 1fr; gap: 15px; margin-top: 58px; }
  .service-hero-statement p { font-size: 16px; }
  .service-hero-code { display: none; }
  .orbit-large { width: 420px; height: 420px; right: -260px; }
  .orbit-small { right: -20px; top: 210px; }
  .service-metrics { grid-template-columns: repeat(2, 1fr); }
  .service-metrics article { min-height: 190px; padding: 24px 20px; border-bottom: 1px solid var(--line); }
  .service-metrics article:nth-child(2n) { border-right: 0; }
  .service-metrics strong { margin-top: 30px; font-size: 20px; }
  .service-section { padding: 82px 20px; }
  .service-section h2 { font-size: 42px; }
  .issue-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .issue-grid article { min-height: 250px; }
  .issue-grid h3 { margin-top: 44px; }
  .framework-track { grid-template-columns: 1fr; margin-top: 55px; }
  .framework-track::before { top: 0; bottom: 0; left: 7px; right: auto; width: 1px; height: auto; }
  .framework-track article { display: grid; grid-template-columns: 36px 1fr; padding: 0 0 38px; }
  .framework-track article > span { display: none; }
  .framework-node { grid-row: span 2; margin: 3px 20px 0 0; }
  .framework-track h3 { grid-column: 2; }
  .framework-track p { grid-column: 2; max-width: none; }
  .module-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .module-grid article { min-height: 380px; padding: 24px; }
  .module-grid h3 { margin-top: 42px; }
  .service-deliverables { gap: 48px; }
  .deliverable-grid article { grid-template-columns: 32px 1fr; gap: 12px; padding: 19px 0; }
  .deliverable-grid p { grid-column: 2; margin: 0; }
  .evidence-grid { grid-template-columns: 1fr; margin-top: 48px; }
  .evidence-grid article { min-height: 410px; padding: 26px; }
  .evidence-grid h3 { margin-top: 56px; }
  .industry-band { grid-template-columns: 1fr; gap: 20px; }
  .service-success-case { grid-template-columns: 1fr; gap: 46px; }
  .success-case-intro > p { margin-top: 22px; }
  .success-case-content > p { font-size: 14px; }
  .success-case-facts strong { font-size: 25px; }
  .success-case-facts article { padding: 22px 12px 22px 0; }
  .success-case-facts article:not(:first-child) { padding-left: 12px; }
  .service-next { grid-template-columns: 1fr 55px; gap: 26px; min-height: 260px; padding: 46px 20px; }
  .service-next > span { grid-column: 1 / span 2; }
  .service-next strong { font-size: 36px; }
  .service-next > b { width: 55px; height: 55px; }
  .service-footer { grid-template-columns: 1fr; align-items: start; gap: 24px; padding: 42px 20px; }
  .service-footer div { flex-direction: column; gap: 8px; }
}

/* WordPress theme compatibility: lock text contrast inside plugin-owned dark surfaces. */
.fae-site .hero,
.fae-site .hero h1,
.fae-site .hero .hero-title-primary,
.fae-site .site-header,
.fae-site .site-header > nav > a,
.fae-site .site-header > nav > .nav-dropdown > summary,
.fae-site .service-hero,
.fae-site .service-hero h1,
.fae-site .service-header,
.fae-site .service-header > nav > a,
.fae-site .service-header > nav > .nav-dropdown > summary,
.fae-site .service-hero-statement p,
.fae-site .solutions,
.fae-site .solutions .section-heading h2,
.fae-site .process,
.fae-site .process h2,
.fae-site .process h3,
.fae-site .service-framework,
.fae-site .service-framework h2,
.fae-site .service-framework h3,
.fae-site .project-card:nth-child(2) h3,
.fae-site .project-card:nth-child(3) h3,
.fae-site .evidence-grid article:nth-child(odd),
.fae-site .evidence-grid article:nth-child(odd) h3 {
  color: #ffffff !important;
}

.fae-site .hero-title-secondary {
  color: #82a9ff !important;
}

.fae-site .hero-lead,
.fae-site .service-hero-content > p,
.fae-site .text-link {
  color: rgba(255,255,255,.70) !important;
}

.fae-site .hero .eyebrow,
.fae-site .solutions .section-label,
.fae-site .process .section-label,
.fae-site .service-breadcrumb,
.fae-site .service-framework .service-label,
.fae-site .project-card:nth-child(2) .project-card-head,
.fae-site .project-card:nth-child(3) .project-card-head,
.fae-site .project-card:nth-child(2) .project-copy b,
.fae-site .project-card:nth-child(3) .project-copy b,
.fae-site .evidence-grid article:nth-child(odd) > span {
  color: #8fb2ff !important;
}

.fae-site .hero-index {
  color: rgba(255,255,255,.52) !important;
}

.fae-site .type-ring,
.fae-site .type-caption {
  color: rgba(255,255,255,.92) !important;
}

.fae-site .type-metric,
.fae-site .type-metric strong {
  color: var(--navy) !important;
}

.fae-site .type-metric span {
  color: var(--muted) !important;
}

.fae-site .service-hero-statement > span,
.fae-site .service-breadcrumb > span {
  color: var(--service-accent) !important;
}

.fae-site .service-hero-code {
  color: rgba(255,255,255,.035) !important;
}

.fae-site .service-success-case,
.fae-site .service-success-case h2,
.fae-site .success-case-facts strong,
.fae-site .success-case-link {
  color: #ffffff !important;
}

.fae-site .success-case-content > p,
.fae-site .success-case-topics b {
  color: rgba(255,255,255,.68) !important;
}

.fae-site .success-case-intro > p,
.fae-site .success-case-facts span {
  color: rgba(255,255,255,.48) !important;
}

.fae-site .success-case-quote {
  color: var(--service-accent) !important;
}

.fae-site .success-case-link > b {
  color: var(--ink) !important;
}

.fae-site .section-heading > p,
.fae-site .process-intro > p,
.fae-site .process-list p,
.fae-site .framework-heading > p,
.fae-site .framework-track p,
.fae-site .project-card:nth-child(2) .project-copy p,
.fae-site .project-card:nth-child(3) .project-copy p,
.fae-site .evidence-grid article:nth-child(odd) > p {
  color: rgba(255,255,255,.60) !important;
}

.fae-site .solution-card,
.fae-site .solution-card h3,
.fae-site .solution-card p,
.fae-site .solution-card li,
.fae-site .solution-card .card-topline,
.fae-site .solution-card .card-footer,
.fae-site .evidence-grid article:nth-child(even),
.fae-site .evidence-grid article:nth-child(even) h3,
.fae-site .service-next,
.fae-site .service-next strong,
.fae-site .service-next > span {
  color: var(--ink) !important;
}

.fae-site .evidence-grid article:nth-child(even) > p {
  color: rgba(11,30,59,.68) !important;
}

.fae-site .evidence-grid article:nth-child(odd) b {
  color: #ffffff !important;
}

.fae-site .evidence-grid article:nth-child(even) b {
  color: var(--ink) !important;
}

.fae-site .project-card:nth-child(2) .project-tag,
.fae-site .project-card:nth-child(3) .project-tag {
  color: rgba(255,255,255,.68) !important;
}

.fae-site .process-list article > span,
.fae-site .process-list article > b {
  color: #7fa8ff !important;
}

.fae-site .nav-dropdown-menu,
.fae-site .nav-dropdown-menu a,
.fae-site .nav-dropdown-menu span {
  color: var(--ink) !important;
}

.fae-site .button-primary,
.fae-site .round-arrow,
.fae-site .service-next > b,
.fae-site .service-back,
.fae-site .service-back span {
  color: #ffffff !important;
}

.fae-site footer,
.fae-site footer p,
.fae-site footer span,
.fae-site .service-footer,
.fae-site .service-footer p,
.fae-site .service-footer span {
  color: rgba(255,255,255,.58) !important;
}
