@import url("/fonts/fonts-full.css?v=20260918-full2");

:root {
  --font-cjk: "Locus Noto Sans SC Full", "Noto Sans SC";
  --font-latin: "Locus Helvetica", Helvetica, Arial;
  --font-ui: var(--font-cjk), var(--font-latin), sans-serif;
  --blue: #002fa7;
  --blue-deep: #001f73;
  --blue-soft: #eaf0ff;
  --paper: #f7f4ec;
  --paper-light: #fbfaf6;
  --surface: #fffdf8;
  --ink: #16181d;
  --muted: #687080;
  --faint: #9299a6;
  --line: rgba(18, 27, 46, .14);
  --line-blue: rgba(0, 47, 167, .22);
  --shell: 1320px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-family: var(--font-ui); font-optical-sizing: auto; text-rendering: optimizeLegibility; }
body { min-width: 320px; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--font-ui); }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.marketing-shell { width: min(calc(100% - 96px), var(--shell)); margin-inline: auto; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 1000; padding: 10px 16px; background: var(--blue); color: white; text-decoration: none; }
.skip-link:focus { top: 12px; }

.marketing-header { position: sticky; top: 0; z-index: 50; height: 72px; border-bottom: 1px solid transparent; background: rgba(247, 244, 236, .92); backdrop-filter: blur(16px); transition: border-color .2s ease, background .2s ease; }
.marketing-header.is-scrolled { border-color: var(--line); background: rgba(251, 250, 246, .96); }
.header-inner { height: 100%; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 40px; }
.marketing-logo { width: 142px; height: 46px; display: flex; align-items: center; overflow: hidden; }
.marketing-logo img { width: 142px; height: auto; }
.marketing-nav { display: flex; align-items: center; gap: 34px; }
.marketing-nav a, .text-action { position: relative; color: #343943; font-size: 14px; text-decoration: none; }
.marketing-nav a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: var(--blue); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.marketing-nav a:hover::after, .marketing-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; justify-self: end; align-items: center; gap: 22px; }
.language-switcher { min-width: 36px; min-height: 36px; padding: 0 9px; border: 1px solid rgba(23,27,36,.18); border-radius: 999px; background: transparent; color: #343943; font: 600 13px/1 Helvetica, Arial, sans-serif; letter-spacing: .04em; cursor: pointer; transition: border-color .2s ease, color .2s ease, background .2s ease; }
.language-switcher:hover { border-color: var(--blue); color: var(--blue); background: rgba(0,47,167,.04); }
.mobile-menu-button { display: none; }

.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 13px 22px; border: 1px solid transparent; border-radius: 6px; font-size: 15px; font-weight: 650; text-decoration: none; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, .text-action:focus-visible, .marketing-nav a:focus-visible, .mobile-menu-button:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.language-switcher:focus, .language-switcher:focus-visible { outline: none; box-shadow: none; color: var(--blue); }
.button-small { min-height: 40px; padding: 8px 16px; font-size: 13px; }
.button-primary { background: var(--blue); color: white; }
.button-primary:hover { background: var(--blue-deep); }
.button-secondary { border-color: var(--line); background: transparent; color: var(--ink); }
.button-secondary:hover { border-color: var(--blue); color: var(--blue); }

.hero { position: relative; padding-top: clamp(76px, 9vw, 132px); padding-bottom: 68px; }
.hero-copy { max-width: 980px; margin: 0 auto; text-align: center; }
.eyebrow { margin-bottom: 22px; color: var(--blue); font-family: var(--font-latin); font-size: 12px; font-weight: 700; letter-spacing: .22em; }
.hero h1 { color: var(--ink); font-size: clamp(58px, 6.1vw, 88px); font-weight: 630; letter-spacing: -.055em; line-height: 1.03; }
.hero-lede { max-width: 690px; margin: 30px auto 0; color: var(--muted); font-size: 19px; line-height: 1.85; }
.hero-actions { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 32px; }
.hero-product { position: relative; margin: 82px auto 0; perspective: 1800px; }
.hero-product::before { position: absolute; inset: 13% 8% -8%; background: rgba(0, 47, 167, .12); filter: blur(65px); content: ""; }
.product-window { position: relative; overflow: hidden; border: 1px solid rgba(0, 47, 167, .22); border-radius: 16px; background: var(--surface); box-shadow: 0 34px 90px rgba(19, 26, 45, .13); }
.hero-window { transform: rotateX(1.5deg); transform-origin: 50% 100%; }
.window-bar { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 26px; border-bottom: 1px solid var(--line); background: rgba(255, 253, 248, .92); }
.window-brand { display: flex; align-items: center; }
.window-logo { display: block; width: 140px; height: auto; }
.window-nav { display: flex; align-items: center; gap: 24px; color: var(--muted); font-size: 12px; }
.avatar-dot { width: 28px; height: 28px; border: 1px solid var(--line); border-radius: 50%; }
.window-body { min-height: 580px; display: grid; grid-template-columns: 240px 1fr; }
.mock-sidebar { display: flex; flex-direction: column; gap: 12px; padding: 34px 28px; border-right: 1px solid var(--line); background: #faf8f2; }
.mock-sidebar b { margin-bottom: 8px; color: #25304b; font-size: 17px; line-height: 1.4; }
.sidebar-title, .sidebar-label { color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.sidebar-label { margin-top: 22px; }
.sidebar-line { width: 62%; height: 5px; border-radius: 5px; background: #e2e4e8; }
.sidebar-line.is-long { width: 92%; }
.sidebar-pill { width: fit-content; padding: 7px 10px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 11px; }
.sidebar-pill.is-active { border-color: var(--blue); background: var(--blue); color: white; }
.mock-results { padding: 36px 42px 44px; }
.results-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 24px; }
.results-heading div { display: flex; flex-direction: column; gap: 7px; }
.results-heading span { color: var(--blue); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.results-heading strong { font-size: 27px; font-weight: 650; }
.results-heading small { color: var(--faint); font-size: 12px; }
.hero-match-card { position: relative; min-height: 138px; display: grid; grid-template-columns: 78px 1fr; gap: 24px; align-items: center; margin-top: 12px; padding: 23px 58px 23px 24px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.hero-match-card.is-featured { border-color: rgba(0, 47, 167, .5); background: #f7f9ff; }
.hero-match-card.is-muted { opacity: .62; }
.match-score { width: 68px; height: 68px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue); }
.match-score b { font-size: 20px; }.match-score span { font-size: 10px; }
.match-main h2 { margin: 4px 0; color: #0c357f; font-size: 20px; font-weight: 650; }
.match-main p { color: var(--muted); font-size: 13px; line-height: 1.5; }
.match-main .supervisor { color: #303b54; }.country { color: var(--faint); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }.tag-row span { padding: 4px 8px; border-radius: 4px; background: #edf2fb; color: #24406f; font-size: 10px; }
.tag-row.large span { padding: 7px 10px; font-size: 11px; }
.card-arrow { position: absolute; top: 22px; right: 24px; color: var(--blue); }
.hero-keywords { display: flex; justify-content: center; gap: 72px; padding-top: 54px; color: #9299a6; font-family: var(--font-latin); font-size: 10px; letter-spacing: .28em; }

.section { padding: clamp(108px, 11vw, 168px) 0; }
.section-rule { border-top: 1px solid var(--line); }
.section-heading { max-width: 870px; margin-bottom: 68px; }
.section-heading h2, .showcase-copy h2, .final-cta h2 { font-size: clamp(42px, 4.5vw, 66px); font-weight: 590; letter-spacing: -.045em; line-height: 1.1; }
.section-heading > p:last-child, .showcase-copy > p:not(.eyebrow), .final-cta-inner > p:not(.eyebrow) { max-width: 660px; margin-top: 25px; color: var(--muted); font-size: 18px; line-height: 1.85; }
.matching-map { display: grid; grid-template-columns: 1fr 310px 1fr; align-items: stretch; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.profile-node, .match-node { min-height: 390px; padding: 48px; }
.profile-node { border-right: 1px solid var(--line); }.match-node { border-left: 1px solid var(--line); }
.node-label { color: var(--blue); font-family: var(--font-latin); font-size: 10px; font-weight: 700; letter-spacing: .2em; }
.profile-node h3, .match-node h3 { max-width: 360px; margin-top: 50px; font-size: 27px; font-weight: 620; line-height: 1.35; }
.signal-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }.signal-list span { padding: 9px 12px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: #3d4555; font-size: 12px; }
.matching-engine { display: flex; align-items: center; justify-content: center; }
.engine-line { flex: 1; height: 1px; background: linear-gradient(90deg, var(--line), var(--blue)); }.engine-line:last-child { background: linear-gradient(90deg, var(--blue), var(--line)); }
.engine-core { width: 106px; height: 106px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--blue); border-radius: 50%; background: var(--paper); color: var(--blue); box-shadow: 0 0 0 12px rgba(0, 47, 167, .04); }
.engine-core b { font-family: var(--font-latin); font-size: 27px; }.engine-core small { margin-top: 4px; font-size: 7px; letter-spacing: .16em; }.engine-core i { width: 5px; height: 5px; margin-bottom: 4px; border-radius: 50%; background: var(--blue); }
.compact-score { display: flex; align-items: baseline; gap: 6px; margin-top: 42px; color: var(--blue); }.compact-score b { font-family: var(--font-latin); font-size: 44px; }.compact-score span { font-size: 12px; }
.match-node h3 { margin-top: 14px; font-size: 22px; }.match-node dl { margin-top: 30px; }.match-node dl div { display: flex; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--line); font-size: 12px; }.match-node dt { color: var(--muted); }.match-node dd { color: var(--blue); font-weight: 700; }

.showcase { background: var(--paper-light); }
.showcase-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(70px, 10vw, 150px); }
.showcase-copy { max-width: 500px; }
.showcase-note { padding-top: 22px; border-top: 1px solid var(--line); font-size: 14px !important; }
.profile-ui, .direction-ui { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: 0 28px 75px rgba(26, 33, 48, .08); }
.ui-caption { height: 66px; display: flex; align-items: center; justify-content: space-between; padding: 0 28px; border-bottom: 1px solid var(--line); color: var(--blue); font-family: var(--font-latin); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.ui-caption small { color: var(--faint); font-size: 9px; }
.profile-row { min-height: 116px; display: grid; grid-template-columns: 165px 1fr; align-items: center; gap: 24px; padding: 24px 28px; border-bottom: 1px solid var(--line); }
.profile-row > span { color: var(--faint); font-family: var(--font-latin); font-size: 9px; font-weight: 700; letter-spacing: .14em; }.profile-row b { font-size: 17px; }.profile-row p { margin-top: 7px; color: var(--muted); font-size: 13px; }
.profile-status { display: grid; grid-template-columns: 10px 1fr auto; gap: 14px; align-items: center; padding: 24px 28px; background: #eff8f3; }.profile-status > i { width: 8px; height: 8px; border-radius: 50%; background: #238262; }.profile-status span { display: flex; flex-direction: column; gap: 3px; }.profile-status small { color: var(--muted); }.profile-status strong { color: #238262; font-size: 20px; }
.showcase-dark { background: #141923; color: white; }.showcase-dark .showcase-copy > p:not(.eyebrow) { color: #adb5c5; }.direction-layout { grid-template-columns: 1.15fr .85fr; }.direction-ui { color: var(--ink); box-shadow: 0 35px 90px rgba(0, 0, 0, .22); }.field-label { padding: 28px 28px 12px; color: var(--faint); font-family: var(--font-latin); font-size: 9px; font-weight: 700; letter-spacing: .14em; }.direction-prompt { min-height: 130px; margin: 0 28px; padding: 20px; border: 1px solid var(--line-blue); border-radius: 6px; color: #173a7d; font-family: var(--font-latin); font-size: 20px; line-height: 1.55; }.prompt-caret { display: inline-block; width: 1px; height: 20px; margin-left: 3px; vertical-align: -3px; background: var(--blue); animation: caret 1s step-end infinite; }.keyword-cloud { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 28px 30px; }.keyword-cloud span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 4px; background: #f1f4f9; color: #314466; font-size: 11px; }.direction-footer { display: flex; justify-content: space-between; padding: 22px 28px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }.direction-footer b { color: var(--blue); }.direction-list { margin-top: 40px; list-style: none; }.direction-list li { display: flex; gap: 18px; padding: 15px 0; border-top: 1px solid rgba(255, 255, 255, .12); color: #d8dce4; font-size: 14px; }.direction-list span { color: #7180a0; font-family: var(--font-latin); }

.section-heading-split { max-width: none; display: grid; grid-template-columns: 1.1fr .7fr; align-items: end; gap: 80px; }.section-heading-split > p { margin-bottom: 8px; }
.opportunity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.opportunity-card { min-height: 460px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); background: var(--surface); transition: transform .2s ease, border-color .2s ease; }.opportunity-card:hover { transform: translateY(-5px); border-color: var(--blue); }.opportunity-top { display: flex; justify-content: space-between; align-items: center; }.opportunity-country { color: var(--faint); font-family: var(--font-latin); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.opportunity-score { padding: 6px 8px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-family: var(--font-latin); font-size: 9px; }.opportunity-score b { font-size: 13px; }.opportunity-monogram { width: 66px; height: 66px; display: flex; align-items: center; justify-content: center; margin: 54px 0 30px; background: #f0f3f9; color: var(--blue); font-family: Georgia, serif; font-size: 20px; }.opportunity-card h3 { max-width: 330px; color: #0e357d; font-size: 25px; font-weight: 630; line-height: 1.25; }.opportunity-card > p { margin-top: 10px; color: var(--muted); font-size: 13px; }.opportunity-card .opportunity-detail { color: #35405a; }.opportunity-link { margin-top: auto; padding-top: 28px; border-top: 1px solid var(--line); color: var(--blue); font-size: 13px; font-weight: 650; }.opportunity-link b { float: right; }

.explanation-section { background: #ecefe9; }.explanation-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(70px, 10vw, 150px); }.explanation-card { padding: 38px; border: 1px solid var(--line); background: var(--surface); box-shadow: 0 28px 70px rgba(32, 38, 50, .09); }.explanation-head { display: flex; justify-content: space-between; align-items: start; }.explanation-head span { color: var(--blue); font-family: var(--font-latin); font-size: 9px; font-weight: 700; letter-spacing: .16em; }.explanation-head h3 { margin-top: 8px; font-size: 24px; }.explanation-score b { color: var(--blue); font-family: var(--font-latin); font-size: 42px; }.explanation-score span { color: var(--faint); letter-spacing: 0; }.explanation-card blockquote { margin: 34px 0; padding: 26px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: #2f3748; font-size: 17px; line-height: 1.8; }.evidence-list { display: flex; flex-direction: column; gap: 18px; }.evidence-list > div { display: grid; grid-template-columns: 165px 1fr 65px; gap: 16px; align-items: center; font-family: var(--font-latin); font-size: 11px; }.evidence-list i { height: 4px; overflow: hidden; background: #e5e7eb; }.evidence-list i b { display: block; height: 100%; background: var(--blue); }.evidence-list strong { color: var(--blue); font-size: 10px; text-align: right; }.evidence-source { display: flex; align-items: center; gap: 8px; margin-top: 28px; color: var(--faint); font-size: 10px; }.evidence-source span { width: 6px; height: 6px; border-radius: 50%; background: #248566; }

.features-section { background: var(--paper-light); }.bento-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }.bento-card { min-height: 330px; display: flex; flex-direction: column; padding: 30px; overflow: hidden; border: 1px solid var(--line); background: var(--surface); }.bento-card.bento-wide { min-height: 390px; display: grid; grid-template-columns: .7fr 1.3fr; gap: 50px; grid-column: 1 / -1; }.bento-index { color: var(--blue); font-family: var(--font-latin); font-size: 10px; font-weight: 700; }.bento-card h3 { margin-top: 16px; font-size: 24px; }.bento-card > p, .bento-card > div > p { max-width: 390px; margin-top: 10px; color: var(--muted); font-size: 14px; line-height: 1.7; }.mini-profile { align-self: end; border: 1px solid var(--line); background: #fafafa; }.mini-profile > span { display: block; padding: 12px 16px; border-bottom: 1px solid var(--line); color: var(--faint); font-size: 8px; letter-spacing: .14em; }.mini-profile > div { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: center; padding: 15px 16px; border-bottom: 1px solid var(--line); }.mini-profile i { color: var(--blue); font-style: normal; }.mini-profile p { display: flex; flex-direction: column; font-size: 11px; }.mini-profile small { margin-top: 4px; color: var(--faint); }.mini-profile strong { color: #238262; }.mini-keywords { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 35px; }.mini-keywords span { padding: 10px 12px; border: 1px solid var(--line-blue); border-radius: 4px; color: var(--blue); font-size: 11px; }.mini-match { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding: 20px; border-left: 3px solid var(--blue); background: #f1f4fb; }.mini-match b { color: var(--blue); font-size: 28px; }.mini-match span { color: #18386f; font-size: 13px; }.mini-bars { display: flex; flex-direction: column; gap: 12px; margin-top: auto; padding-top: 35px; }.mini-bars i { height: 5px; background: #eaebee; }.mini-bars b { display: block; height: 100%; background: var(--blue); }.mini-compare { display: flex; gap: 10px; margin-top: auto; padding-top: 35px; }.mini-compare span { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: #f5f7fb; color: var(--blue); font-family: Georgia, serif; }.mini-directions { align-self: stretch; display: flex; flex-direction: column; border-top: 1px solid var(--line); }.mini-directions span { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; padding: 18px 4px; border-bottom: 1px solid var(--line); font-size: 13px; }.mini-directions i { color: var(--blue); font-style: normal; }.mini-directions b { color: var(--muted); font-size: 11px; font-weight: 400; }

.journey-section { border-top: 1px solid var(--line); }.journey-list { display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; }.journey-list li { min-height: 230px; padding: 25px 24px; border-top: 1px solid var(--ink); border-right: 1px solid var(--line); }.journey-list li:last-child { border-right: 0; }.journey-list > li > span { color: var(--blue); font-family: var(--font-latin); font-size: 12px; }.journey-list div { margin-top: 90px; }.journey-list h3 { font-size: 19px; }.journey-list p { margin-top: 9px; color: var(--muted); font-size: 13px; line-height: 1.6; }

.final-cta { overflow: hidden; background: var(--blue); color: white; }.final-cta-inner { position: relative; padding-top: clamp(110px, 12vw, 180px); padding-bottom: clamp(110px, 12vw, 180px); text-align: center; }.final-cta-inner::before { position: absolute; top: 50%; left: 50%; width: 620px; height: 620px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 50%; content: ""; transform: translate(-50%, -50%); }.final-cta .eyebrow { color: #b9c9ff; }.final-cta h2 { position: relative; font-size: clamp(48px, 5.6vw, 80px); }.final-cta-inner > p:not(.eyebrow) { position: relative; margin-inline: auto; color: #d5ddf6; }.final-cta .hero-actions { position: relative; }.button-light { background: white; color: var(--blue); }.text-action.light { color: white; }
.marketing-footer { padding: 70px 0 26px; background: #111722; color: white; }.footer-top { display: flex; justify-content: space-between; align-items: start; padding-bottom: 70px; }.footer-brand img { width: 170px; filter: brightness(0) invert(1); }.footer-brand p { margin-top: 26px; color: #98a2b3; font-family: var(--font-latin); font-size: 13px; line-height: 1.7; }.footer-top nav { display: grid; grid-template-columns: repeat(2, 140px); gap: 18px 40px; }.footer-top nav a { color: #c9cfda; font-size: 13px; text-decoration: none; }.footer-top nav a:hover { color: white; }.footer-bottom { display: flex; justify-content: space-between; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .12); color: #7d8798; font-family: var(--font-latin); font-size: 10px; letter-spacing: .12em; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease var(--reveal-delay, 0ms), transform .7s ease var(--reveal-delay, 0ms); }.reveal.is-visible { opacity: 1; transform: none; }
@keyframes caret { 50% { opacity: 0; } }

@media (max-width: 1100px) {
  .marketing-shell { width: min(calc(100% - 64px), var(--shell)); }
  .header-inner { gap: 24px; }.marketing-nav { gap: 18px; }.header-actions { gap: 14px; }
  .window-body { grid-template-columns: 190px 1fr; }.mock-sidebar { padding-inline: 22px; }.mock-results { padding-inline: 26px; }
  .matching-map { grid-template-columns: 1fr 190px 1fr; }.profile-node, .match-node { padding: 34px 28px; }
  .showcase-grid, .explanation-grid { gap: 60px; }.opportunity-card { padding: 24px; }.opportunity-card h3 { font-size: 21px; }
}

@media (max-width: 820px) {
  .marketing-shell { width: min(calc(100% - 40px), var(--shell)); }
  .marketing-header { height: 64px; }.header-inner { display: flex; justify-content: space-between; gap: 16px; }.marketing-logo, .marketing-logo img { width: 122px; }
  .header-actions .text-action { display: none; }.header-actions { margin-left: auto; }.mobile-menu-button { width: 42px; height: 42px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; order: 3; border: 1px solid var(--line); border-radius: 50%; background: transparent; }.mobile-menu-button span { width: 16px; height: 1px; background: var(--ink); }.marketing-nav { position: absolute; top: 63px; right: 20px; left: 20px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; border: 1px solid var(--line); background: var(--surface); box-shadow: 0 18px 40px rgba(17, 24, 39, .12); }.marketing-nav.is-open { display: flex; }.marketing-nav a { padding: 13px 12px; }
  .hero { padding-top: 72px; }.hero h1 { font-size: clamp(50px, 9.6vw, 68px); }.hero-break-desktop { display: none; }.hero-product { margin-top: 60px; }.window-body { grid-template-columns: 1fr; min-height: 0; }.mock-sidebar { display: none; }.mock-results { padding: 28px 22px; }.hero-match-card { grid-template-columns: 62px 1fr; gap: 14px; padding: 18px 38px 18px 16px; }.match-score { width: 56px; height: 56px; }.match-score b { font-size: 16px; }.match-main h2 { font-size: 16px; }.tag-row { display: none; }.hero-keywords { gap: 28px; }
  .matching-map { grid-template-columns: 1fr; }.profile-node, .match-node { min-height: 0; border: 0; }.matching-engine { min-height: 180px; transform: rotate(90deg); }.engine-core { transform: rotate(-90deg); }.match-node { border-top: 1px solid var(--line); }.profile-node h3 { margin-top: 30px; }
  .showcase-grid, .direction-layout, .explanation-grid { grid-template-columns: 1fr; }.showcase-copy { max-width: 640px; }.direction-layout .direction-ui { order: 2; }.direction-layout .showcase-copy { order: 1; }
  .section-heading-split { grid-template-columns: 1fr; gap: 10px; }.opportunity-grid { grid-template-columns: 1fr; }.opportunity-card { min-height: 390px; }
  .bento-card.bento-wide { grid-template-columns: 1fr; gap: 30px; }.journey-list { grid-template-columns: 1fr 1fr; }.journey-list li { min-height: 190px; }.journey-list div { margin-top: 55px; }
}

@media (max-width: 520px) {
  .marketing-shell { width: min(calc(100% - 32px), var(--shell)); }.header-actions .button { min-height: 38px; padding: 8px 12px; }.mobile-menu-button { width: 38px; height: 38px; }.marketing-logo, .marketing-logo img { width: 104px; }
  .hero { padding-top: 60px; padding-bottom: 50px; }.eyebrow { margin-bottom: 16px; font-size: 10px; }.hero h1 { font-size: clamp(43px, 12.4vw, 58px); line-height: 1.08; }.hero-lede { margin-top: 24px; font-size: 16px; line-height: 1.75; }.hero-actions { flex-direction: column; align-items: stretch; }.hero-actions .button { width: 100%; }.hero-product { width: calc(100% + 12px); margin-left: -6px; }.window-bar { height: 50px; padding: 0 16px; }.window-nav span { display: none; }.mock-results { padding: 22px 14px; }.results-heading strong { font-size: 20px; }.hero-match-card { min-height: 116px; grid-template-columns: 48px 1fr; }.match-score { width: 46px; height: 46px; }.match-score b { font-size: 13px; }.match-main h2 { font-size: 14px; }.match-main p { font-size: 11px; }.hero-match-card.is-muted { display: none; }.hero-keywords { justify-content: space-between; gap: 0; padding-top: 34px; font-size: 7px; }
  .section { padding: 92px 0; }.section-heading { margin-bottom: 48px; }.section-heading h2, .showcase-copy h2, .final-cta h2 { font-size: 39px; line-height: 1.15; }.section-heading > p:last-child, .showcase-copy > p:not(.eyebrow), .final-cta-inner > p:not(.eyebrow) { font-size: 16px; }.profile-node, .match-node { padding: 28px 20px; }.matching-engine { min-height: 145px; }.profile-ui, .direction-ui { border-radius: 8px; }.profile-row { grid-template-columns: 1fr; gap: 12px; padding: 22px 20px; }.profile-status { grid-template-columns: 10px 1fr; padding: 20px; }.profile-status > strong { display: none; }.ui-caption { padding-inline: 20px; }.direction-prompt { margin-inline: 20px; font-size: 17px; }.field-label { padding-inline: 20px; }.keyword-cloud { padding-inline: 20px; }.direction-footer { padding-inline: 20px; }
  .opportunity-grid { gap: 12px; }.opportunity-card { min-height: 400px; }.explanation-card { padding: 24px 20px; }.explanation-score b { font-size: 32px; }.evidence-list > div { grid-template-columns: 125px 1fr; }.evidence-list strong { display: none; }
  .bento-grid { grid-template-columns: 1fr; }.bento-card, .bento-card.bento-wide { min-height: 300px; grid-column: auto; display: flex; }.journey-list { grid-template-columns: 1fr; }.journey-list li { min-height: 150px; display: grid; grid-template-columns: 50px 1fr; border-right: 0; }.journey-list div { margin-top: 0; }.final-cta-inner::before { width: 420px; height: 420px; }.footer-top { flex-direction: column; gap: 55px; }.footer-top nav { grid-template-columns: repeat(2, 110px); }.footer-bottom { flex-direction: column; gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
