:root {
  --emerald: #063d35;
  --emerald-2: #0a5449;
  --black: #111515;
  --cobalt: #164ad6;
  --amber: #e59a27;
  --porcelain: #f7f7f2;
  --white: #fffefa;
  --silver: #dfe4e2;
  --muted: #65716e;
  --line: rgba(17,21,21,.16);
  --max: 1460px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 112px; }
body { margin: 0; background: var(--porcelain); color: var(--black); font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; line-height: 1.72; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--amber); outline-offset: 4px; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(247,247,242,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.topline { min-height: 32px; padding: 6px max(20px, calc((100% - var(--max))/2)); display: flex; justify-content: space-between; align-items: center; gap: 24px; background: var(--emerald); color: #dbe7e3; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.nav-shell { width: min(calc(100% - 40px), var(--max)); min-height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.brand { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.brand img { width: 44px; height: 44px; object-fit: contain; border-radius: 50%; }
.brand strong { font-size: 20px; letter-spacing: -.02em; }
.primary-nav { display: flex; align-items: center; gap: 2px; }
.primary-nav a { position: relative; padding: 26px 11px 23px; color: #3f4d49; text-decoration: none; font-size: 13px; white-space: nowrap; transition: color .2s ease, background-color .2s ease; }
.primary-nav a::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 17px; height: 2px; background: var(--emerald-2); transform: scaleX(0); transition: transform .2s ease; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: var(--emerald); background: rgba(6,61,53,.045); }
.primary-nav a:hover::after, .primary-nav a[aria-current="page"]::after { transform: scaleX(1); }
.menu-toggle { display: none; padding: 10px 0 10px 12px; border: 0; background: transparent; color: var(--black); font: inherit; }
.menu-toggle i,.menu-toggle i::before,.menu-toggle i::after { display: block; width: 22px; height: 1px; background: currentColor; transition: transform .2s ease; }
.menu-toggle i { position: relative; margin-left: 10px; }.menu-toggle i::before,.menu-toggle i::after { content: ""; position: absolute; left: 0; }.menu-toggle i::before { top: -6px; }.menu-toggle i::after { top: 6px; }

.hero { background: var(--porcelain); }
.hero-shell { width: min(calc(100% - 40px), var(--max)); min-height: 720px; margin: 0 auto; padding: 54px 0; display: grid; grid-template-columns: 175px minmax(500px, 1.15fr) minmax(390px, .85fr); gap: clamp(35px, 5vw, 78px); align-items: center; }
.service-directory { align-self: stretch; padding: 22px 28px 22px 0; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line); }
.directory-label { color: var(--emerald-2); font-size: 9px; font-weight: 800; letter-spacing: .18em; writing-mode: vertical-rl; transform: rotate(180deg); }
.service-directory ol { margin: 0; padding: 0; list-style: none; }
.service-directory li { padding: 12px 0; display: flex; gap: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; }
.service-directory b { color: var(--cobalt); font-size: 9px; }
.kicker,.eyebrow,.desk-label { margin: 0 0 20px; color: var(--emerald-2); font-size: 10px; font-weight: 800; line-height: 1.35; letter-spacing: .2em; text-transform: uppercase; }
.brand-stage { max-width: 620px; display: flex; align-items: center; gap: 8px; line-height: .78; }
.brand-stage span { width: 50%; display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: var(--emerald); color: var(--white); font-size: clamp(92px, 10vw, 158px); font-weight: 850; letter-spacing: -.08em; }
.brand-stage span:last-child { margin-left: -50px; background: transparent; border: 2px solid var(--cobalt); color: var(--cobalt); mix-blend-mode: multiply; }
.hero h1 { max-width: 780px; margin: 36px 0 18px; font-size: clamp(38px, 4vw, 65px); line-height: 1.08; letter-spacing: -.052em; }
.hero-lead { margin: 0 0 20px; color: var(--emerald); font-size: clamp(18px, 1.5vw, 24px); font-weight: 650; }
.hero-copy { max-width: 700px; margin: 0; color: var(--muted); font-size: 14px; }
.hero-visual { position: relative; height: min(63vh, 570px); min-height: 470px; overflow: hidden; border-radius: 140px 0 0 0; background: var(--black); box-shadow: 24px 24px 0 var(--silver); }
.hero-visual::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.15); background: linear-gradient(180deg, transparent 52%, rgba(6,61,53,.32)); pointer-events: none; }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; filter: contrast(1.04); }
.verification-strip { min-height: 90px; padding: 0 max(20px, calc((100% - var(--max))/2)); display: grid; grid-template-columns: repeat(3,1fr); align-items: center; background: var(--emerald); color: #fff; }
.verification-strip div { min-height: 90px; padding: 22px 30px; display: grid; align-content: center; border-right: 1px solid rgba(255,255,255,.18); }.verification-strip div:first-child { border-left: 1px solid rgba(255,255,255,.18); }
.verification-strip span { color: #a8c5be; font-size: 9px; letter-spacing: .14em; }.verification-strip strong { margin-top: 4px; font-size: 14px; }

.section { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; padding: 124px 0; }
.section-head { margin-bottom: 60px; display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 40px; align-items: start; }
.section-index { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid var(--emerald); border-radius: 50%; color: var(--emerald); font-size: 12px; font-weight: 800; }
.section-head h2 { max-width: 960px; margin: 0 0 21px; font-size: clamp(36px, 4vw, 60px); line-height: 1.1; letter-spacing: -.045em; }
.section-head div > p:last-child { max-width: 780px; margin: 0; color: var(--muted); }
.identity-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: start; }
.large-statement { margin: 0 0 34px; font-size: clamp(28px, 3vw, 44px); line-height: 1.36; letter-spacing: -.034em; }
.identity-lead > p:last-child { max-width: 850px; margin: 0; color: var(--muted); }
.scope-board { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--white); }
.scope-board article { min-height: 220px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.scope-board span { color: var(--cobalt); font-size: 10px; font-weight: 800; }.scope-board h3 { margin: 42px 0 10px; font-size: 20px; }.scope-board p { margin: 0; color: var(--muted); font-size: 13px; }

.capabilities { border-top: 1px solid var(--line); }
.capability-table { border-top: 3px solid var(--black); }
.cap-row { min-height: 88px; padding: 18px 8px; display: grid; grid-template-columns: .75fr 1.65fr .6fr; gap: 32px; align-items: center; border-bottom: 1px solid var(--line); }
.cap-row strong { font-size: 20px; }.cap-row span { color: var(--muted); }.cap-row em { justify-self: end; padding: 6px 10px; background: var(--silver); color: var(--emerald); font-size: 10px; font-style: normal; font-weight: 800; letter-spacing: .08em; }
.cap-header { min-height: 48px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }.cap-header span:last-child { justify-self: end; }

.compatibility { padding: 0 20px; background: var(--cobalt); color: #fff; }
.compat-shell { width: min(100%, var(--max)); min-height: 560px; margin: 0 auto; padding: 90px 0; display: grid; grid-template-columns: 1fr .8fr .8fr; gap: 70px; align-items: center; }
.compat-title .eyebrow { color: #b9c9ff; }.compat-title h2 { max-width: 600px; margin: 0; font-size: clamp(40px, 5vw, 72px); line-height: 1.02; letter-spacing: -.05em; }
.compat-status { padding: 38px; border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.08); }.compat-status span { color: #b9c9ff; font-size: 9px; letter-spacing: .15em; }.compat-status strong { display: block; margin: 35px 0 14px; font-size: 28px; }.compat-status p { margin: 0; color: #d7e0ff; font-size: 13px; }
.compat-requirements h3 { margin: 0 0 26px; font-size: 20px; }.compat-requirements ul { margin: 0; padding: 0; list-style: none; }.compat-requirements li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.22); color: #d7e0ff; font-size: 13px; }

.client-desk { display: grid; grid-template-columns: .9fr 1.1fr; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.client-primary { min-height: 580px; padding: 45px; display: flex; flex-direction: column; justify-content: flex-end; background: var(--emerald); color: #fff; }
.client-primary .desk-label { margin-bottom: auto; color: #acd0c8; }.client-primary h3 { margin: 0 0 16px; font-size: clamp(36px, 4vw, 58px); line-height: 1.05; }.client-primary > p { margin: 0 0 38px; color: #bdd2cd; }
.client-primary dl { margin: 0; }.client-primary dl div { padding: 13px 0; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.2); }.client-primary dt { color: #aac4be; }.client-primary dd { margin: 0; font-weight: 700; }
.client-list { display: grid; grid-template-rows: repeat(3,1fr); gap: 1px; background: var(--line); }.client-list article { padding: 30px 36px; display: grid; grid-template-columns: .35fr 1fr auto; gap: 24px; align-items: center; background: var(--white); }.client-list article > span { color: var(--cobalt); font-size: 9px; font-weight: 800; letter-spacing: .15em; }.client-list h3 { margin: 0 0 6px; font-size: 20px; }.client-list p { margin: 0; color: var(--muted); font-size: 13px; }.client-list b { color: var(--emerald); font-size: 10px; letter-spacing: .07em; }
.verify-before-install { margin-top: 35px; padding: 32px; border: 1px solid var(--line); background: var(--silver); }.verify-before-install h3 { margin: 0 0 22px; font-size: 20px; }.verify-before-install ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; list-style: none; }.verify-before-install li { min-height: 72px; padding: 14px; background: var(--white); font-size: 12px; }.verify-before-install li span { display: block; margin-bottom: 5px; color: var(--cobalt); font-size: 9px; font-weight: 800; }

.operation-center { background: var(--black); color: #fff; }.light-head .section-index { border-color: #8aac9f; color: #acd0c8; }.light-head .eyebrow { color: #8fc5b8; }.light-head div > p:last-child { color: #a8b1af; }
.task-route { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }.task-route article { min-height: 285px; padding: 30px; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); transition: background-color .2s ease; }.task-route article:hover { background: #1b2221; }.task-route article > span { color: var(--amber); font-size: 10px; font-weight: 800; }.task-route h3 { margin: 66px 0 12px; font-size: 21px; }.task-route p { margin: 0; color: #9ea8a6; font-size: 13px; }
.transfer-check { margin-top: 45px; padding: 30px; display: grid; grid-template-columns: .4fr 1fr 1fr; gap: 40px; align-items: center; border: 1px solid rgba(255,255,255,.18); }.transfer-check strong { color: var(--amber); }.transfer-check div { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.transfer-check div span { padding: 8px 10px; background: rgba(255,255,255,.08); font-size: 11px; }.transfer-check p { margin: 0; color: #9ea8a6; font-size: 12px; }

.security-pledge { margin-bottom: 55px; padding: 42px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; background: var(--amber); color: var(--black); }.security-pledge strong { font-size: clamp(25px, 3vw, 40px); line-height: 1.15; }.security-pledge div p { margin: 10px 0 0; font-weight: 700; }.security-pledge > p { margin: 0; }
.risk-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.risk-list article { min-height: 220px; padding: 30px; display: grid; grid-template-columns: 55px 1fr; gap: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }.risk-list article > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--emerald); color: #fff; font-size: 10px; }.risk-list h3 { margin: 3px 0 12px; font-size: 20px; }.risk-list p { margin: 0; color: var(--muted); font-size: 13px; }

.notices { background: var(--emerald); color: #fff; }.notice-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 26px; }.notice-record,.notice-pending { padding: 48px; border: 1px solid rgba(255,255,255,.2); }.notice-record time,.notice-record > span,.notice-pending > span { color: #add0c8; font-size: 9px; font-weight: 800; letter-spacing: .16em; }.notice-record > span { margin-left: 28px; }.notice-record h3,.notice-pending h3 { margin: 55px 0 18px; font-size: 29px; line-height: 1.25; }.notice-record p,.notice-pending p { margin: 0; color: #bfd3ce; }.notice-pending { background: rgba(255,255,255,.07); }

.faq-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 2px solid var(--black); }.faq-grid details { min-height: 160px; padding: 0 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.faq-grid details:nth-child(2n) { border-right: 0; }.faq-grid summary { padding: 28px 0; display: flex; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; font-size: 18px; font-weight: 750; }.faq-grid summary::-webkit-details-marker { display: none; }.faq-grid summary i { color: var(--cobalt); font-size: 22px; font-style: normal; font-weight: 400; transition: transform .2s ease; }.faq-grid details[open] summary i { transform: rotate(45deg); }.faq-grid details p { margin: -4px 0 28px; color: var(--muted); font-size: 14px; }

.disclosure { border-top: 1px solid var(--line); }.disclosure-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }.disclosure-grid article { min-height: 190px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }.disclosure-grid span { color: var(--muted); font-size: 10px; letter-spacing: .11em; }.disclosure-grid strong { display: block; margin: 35px 0 8px; color: var(--emerald); font-size: 19px; }.disclosure-grid p { margin: 0; color: var(--muted); font-size: 12px; }.privacy-boundary { margin-top: 36px; padding: 28px 32px; display: grid; grid-template-columns: 200px 1fr; gap: 35px; background: var(--cobalt); color: #fff; }.privacy-boundary p { margin: 0; color: #d7e0ff; font-size: 13px; }

.site-footer { padding: 68px max(20px, calc((100% - var(--max))/2)) 30px; display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; background: #031d19; color: #fff; }.footer-brand { display: flex; align-items: center; gap: 16px; }.footer-brand img { width: 58px; height: 58px; object-fit: contain; border-radius: 50%; }.footer-brand div { display: grid; }.footer-brand strong { font-size: 20px; }.footer-brand span { color: #96bcb2; font-size: 11px; }.site-footer > p { max-width: 680px; margin: 0; color: #96aaa5; font-size: 13px; }.footer-meta { grid-column: span 2; padding-top: 25px; display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.14); color: #74928b; font-size: 10px; letter-spacing: .08em; }

@media (max-width: 1140px) {
  .primary-nav a { padding-left: 7px; padding-right: 7px; font-size: 12px; }.primary-nav a::after { left: 7px; right: 7px; }
  .hero-shell { grid-template-columns: 120px 1.05fr .95fr; gap: 35px; }.brand-stage span:last-child { margin-left: -38px; }.identity-grid { gap: 55px; }
  .compat-shell { grid-template-columns: 1fr 1fr; }.compat-requirements { grid-column: span 2; }.compat-requirements ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 20px; }
  .task-route { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  html { scroll-padding-top: 78px; }.topline { display: none; }.nav-shell { min-height: 72px; width: min(calc(100% - 32px),var(--max)); }.menu-toggle { display: flex; align-items: center; cursor: pointer; }.primary-nav { position: fixed; left: 0; right: 0; top: 72px; height: calc(100vh - 72px); padding: 22px; display: none; flex-direction: column; align-items: stretch; overflow: auto; background: var(--porcelain); }.primary-nav.open { display: flex; }.primary-nav a { padding: 18px 4px; border-bottom: 1px solid var(--line); font-size: 17px; }.primary-nav a::after { left: 4px; right: auto; bottom: 11px; width: 34px; }.menu-toggle[aria-expanded="true"] i { background: transparent; }.menu-toggle[aria-expanded="true"] i::before { top: 0; transform: rotate(45deg); }.menu-toggle[aria-expanded="true"] i::after { top: 0; transform: rotate(-45deg); }
  .hero-shell { width: min(calc(100% - 32px),var(--max)); grid-template-columns: 80px 1fr; padding: 55px 0 65px; }.service-directory { grid-row: span 2; }.hero-visual { grid-column: 2; height: 420px; min-height: 0; }.brand-stage { max-width: 480px; }.verification-strip { padding: 0 16px; grid-template-columns: 1fr 1fr; }.verification-strip div:last-child { grid-column: span 2; }
  .section { width: min(calc(100% - 32px),var(--max)); padding: 90px 0; }.identity-grid { grid-template-columns: 1fr; }.compat-shell { grid-template-columns: 1fr; padding: 75px 0; }.compat-requirements { grid-column: 1; }.compat-requirements ul { grid-template-columns: repeat(2,1fr); }.client-desk { grid-template-columns: 1fr; }.client-primary { min-height: 420px; }.verify-before-install ol { grid-template-columns: repeat(3,1fr); }.transfer-check { grid-template-columns: 1fr; gap: 22px; }.security-pledge { grid-template-columns: 1fr; gap: 30px; }.notice-layout { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .hero-shell { grid-template-columns: 1fr; }.service-directory { display: none; }.hero-main,.hero-visual { grid-column: 1; }.brand-stage { width: 90%; }.brand-stage span { font-size: 90px; }.brand-stage span:last-child { margin-left: -30px; }.hero h1 { font-size: 39px; }.hero-visual { height: 340px; border-radius: 90px 0 0 0; box-shadow: 14px 14px 0 var(--silver); }.verification-strip { grid-template-columns: 1fr; padding: 0 16px; }.verification-strip div,.verification-strip div:last-child { grid-column: 1; border-left: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
  .section-head { grid-template-columns: 1fr; gap: 25px; }.section-head h2 { font-size: 36px; }.section-index { width: 52px; height: 52px; }.large-statement { font-size: 28px; }.scope-board { grid-template-columns: 1fr; }.cap-header { display: none; }.cap-row { grid-template-columns: 1fr; gap: 6px; padding: 22px 5px; }.cap-row em { justify-self: start; }.compatibility { padding: 0 16px; }.compat-title h2 { font-size: 44px; }.compat-requirements ul { grid-template-columns: 1fr; }.client-primary { padding: 30px; }.client-list article { grid-template-columns: 1fr; gap: 8px; }.verify-before-install { padding: 24px; }.verify-before-install ol { grid-template-columns: 1fr; }.task-route { grid-template-columns: 1fr; }.task-route article { min-height: 240px; }.security-pledge { padding: 28px; }.risk-list { grid-template-columns: 1fr; }.faq-grid { grid-template-columns: 1fr; }.faq-grid details,.faq-grid details:nth-child(2n) { border-right: 0; }.disclosure-grid { grid-template-columns: 1fr; }.privacy-boundary { grid-template-columns: 1fr; }.site-footer { grid-template-columns: 1fr; gap: 35px; }.footer-meta { grid-column: 1; flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { transition: none !important; scroll-behavior: auto !important; }
}
