:root {
  --blue: #2f6f86;
  --blue-2: #2f6f86;
  --blue-dark: #224d5d;
  --blue-ink: #17323c;
  --blue-pale: #eaf2f4;
  --blue-mist: #f3f7f8;
  --ink: #172026;
  --ink-soft: #536168;
  --line: #d7dfe2;
  --paper: #f6f7f7;
  --white: #ffffff;
  --black: #0e1519;
  --shell: min(1320px, calc(100vw - 64px));
  --sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --display: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: var(--sans);
  font-size: 19px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.button:focus-visible, .header-cta:focus-visible, a:focus-visible, button:focus-visible { outline:3px solid #d28a32; outline-offset:4px; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 20px; top: -100px; z-index: 1000; background: var(--ink); color: white; padding: 10px 14px; }
.skip-link:focus { top: 20px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.93);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(215,223,226,.9);
}
.header-inner { height: 88px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: max-content; }
.brand img { width: 40px; height: 40px; object-fit: contain; flex: 0 0 40px; }
.brand-word { font-family: var(--sans); font-weight: 730; letter-spacing: -.035em; font-size: 24px; line-height: 1; }
.brand-word small { font-size: 11px; font-weight: 700; letter-spacing: .09em; color: #728087; margin-left: 4px; vertical-align: .18em; }
.desktop-nav { justify-self: center; display: flex; align-items: center; gap: 30px; font-size: 14px; font-weight: 650; color: #48565d; }
.desktop-nav a { position: relative; padding: 30px 0; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:24px; height:1px; background:var(--blue); transition:right .22s ease; }
.desktop-nav a:hover::after { right:0; }
.header-cta { font-size: 14px; font-weight: 750; background: var(--ink); color: var(--white); padding: 13px 18px; border:1px solid var(--ink); transition: background .2s ease, transform .2s ease; }
.header-cta:hover { background: var(--blue-dark); border-color:var(--blue-dark); transform: translateY(-1px); }
.menu-btn, .mobile-nav { display: none; }

.hero { position: relative; overflow: hidden; min-height: 760px; display:flex; align-items:center; padding: 104px 0 98px; border-bottom:1px solid var(--line); background:linear-gradient(90deg,#fff 0 54%,#f8fafb 54% 100%); }
.hero::before { content:""; position:absolute; left:54%; top:0; bottom:0; width:1px; background:rgba(66,135,159,.14); }
.hero-diamonds { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.diamond { position:absolute; display:block; width:430px; height:430px; border:1px solid rgba(66,135,159,.18); transform:rotate(45deg); }
.d1 { right:3%; top:-120px; }
.d2 { right:-13%; top:160px; width:520px; height:520px; border-color:rgba(66,135,159,.12); }
.d3 { left:-265px; bottom:-325px; width:620px; height:620px; border-color:rgba(30,67,80,.08); }
.hero-layout { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.92fr) minmax(620px,1.08fr); gap:52px; align-items:center; }
.eyebrow { margin:0 0 20px; text-transform:uppercase; font-size:17px; line-height:1.2; letter-spacing:.11em; font-weight:760; color:var(--blue-dark); }
.eyebrow-light { color:#c1d8e1; }
.hero h1, h2 { font-family:var(--display); font-weight:700; }
.hero h1 { max-width:820px; margin:0; font-size:clamp(58px,6.4vw,92px); line-height:.98; letter-spacing:-.045em; }
.hero h1 em { color:var(--blue); font-style:normal; font-weight:700; }
.hero-lead { max-width:760px; margin:34px 0 0; color:var(--ink-soft); font-size:22px; line-height:1.55; letter-spacing:-.01em; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:40px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 23px; font-size:15px; font-weight:760; border:1px solid transparent; transition:all .2s ease; }
.button-primary { background:var(--blue); color:white; }
.button-primary:hover { background:var(--blue-dark); transform:translateY(-2px); box-shadow:0 12px 30px rgba(30,72,89,.14); }
.button-outline { border-color:var(--ink); color:var(--ink); background:transparent; }
.button-outline:hover { background:var(--ink); color:white; }
.button-white { background:white; color:var(--ink); }
.button-white:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(0,0,0,.14); }
.text-link { display:inline-flex; gap:9px; align-items:center; font-size:15px; font-weight:720; border-bottom:1px solid #aeb9bd; padding-bottom:4px; }
.text-link span { transition:transform .2s ease; }
.text-link:hover span { transform:translate(3px,3px); }
.text-link-light { color:white; border-bottom-color:rgba(255,255,255,.45); }
.hero-proof { display:flex; flex-wrap:wrap; margin-top:48px; padding-top:22px; border-top:1px solid var(--line); font-size:14px; font-weight:650; color:#526067; }
.hero-proof span { display:flex; align-items:center; gap:9px; margin-right:28px; }
.hero-proof span::before { content:""; width:7px; height:7px; background:var(--blue); transform:rotate(45deg); }

.hero-stage { position:relative; width:100%; max-width:100%; min-width:0; min-height:500px; display:grid; grid-template-columns:minmax(0,1fr) 36px minmax(0,1.22fr) 36px minmax(0,1fr); grid-template-rows:48px 1fr 88px; align-items:center; }
.stage-rail { grid-column:1/6; align-self:start; display:flex; justify-content:space-between; align-items:center; border-top:1px solid #bdc9cd; padding-top:14px; font-size:12px; letter-spacing:.12em; font-weight:780; color:#5b6d74; }
.stage-card, .stage-core { position:relative; z-index:3; min-width:0; min-height:180px; padding:24px 20px; border:1px solid #bcc8cc; background:rgba(255,255,255,.94); box-shadow:0 22px 55px rgba(21,55,67,.08); display:flex; flex-direction:column; justify-content:flex-end; }
.stage-core { min-height:250px; background:var(--blue-dark); border-color:var(--blue-dark); color:white; justify-content:space-between; box-shadow:0 30px 75px rgba(27,73,89,.22); }
.stage-core img { width:62px; height:62px; object-fit:contain; filter:none; }
.stage-label { display:block; margin-bottom:7px; text-transform:uppercase; font-size:13px; line-height:1.2; letter-spacing:.11em; font-weight:760; color:#566a72; }
.stage-core .stage-label { color:#b9d3dc; }
.stage-card strong, .stage-core strong { font-size:20px; line-height:1.2; letter-spacing:-.025em; }
.stage-link { position:relative; height:1px; background:#afbbc0; z-index:2; }
.stage-link span { display:none; }
.stage-link-right span { right:auto; left:-2px; transform:rotate(-135deg); }
.stage-note { grid-column:2/6; justify-self:end; align-self:end; max-width:360px; padding:18px 20px; border-left:3px solid var(--blue); background:white; box-shadow:0 16px 42px rgba(26,61,73,.09); font-size:15px; line-height:1.55; color:#59676d; }

.model-section { padding:122px 0; background:white; }
.model-grid { display:grid; grid-template-columns:170px minmax(0,1fr) 270px; gap:70px; align-items:start; }
.section-marker { display:flex; flex-direction:column; gap:4px; padding-top:6px; }
.section-no { display:block; font-size:48px; line-height:1; font-weight:720; letter-spacing:-.04em; color:var(--blue); }
.section-marker p { margin:6px 0 0; font-size:16px; font-weight:760; text-transform:uppercase; letter-spacing:.1em; color:#65747a; }
.model-copy { max-width:820px; }
.model-copy h2, .section-head h2, .control-copy h2, .process-head h2, .company-copy h2, .fit-title h2, .contact-inner h2 { margin:0; font-size:clamp(46px,4.6vw,68px); line-height:1.04; letter-spacing:-.038em; }
.model-copy p { max-width:780px; margin:30px 0 0; font-size:21px; line-height:1.62; color:var(--ink-soft); }
.model-aside { margin-top:12px; padding-top:24px; border-top:1px solid #b8c4c8; }
.model-aside-line { width:44px; height:6px; background:var(--blue); margin-bottom:24px; }
.model-aside strong { display:block; font-size:27px; line-height:1.18; letter-spacing:-.03em; }
.model-aside span { display:block; margin-top:13px; color:#66747a; font-size:15px; }

.capabilities { background:var(--paper); padding:120px 0 128px; }
.section-head { display:grid; grid-template-columns:1fr 360px; gap:70px; align-items:end; margin-bottom:58px; }
.section-head h2 { max-width:830px; }
.section-head > p { margin:0 0 6px; color:var(--ink-soft); font-size:18px; line-height:1.55; }
.capability-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.capability-card { position:relative; min-height:330px; padding:34px 34px 30px; border:1px solid #cdd6d9; background:white; overflow:hidden; display:grid; grid-template-columns:1fr 150px; gap:28px; align-items:end; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.capability-card:hover { transform:translateY(-3px); box-shadow:0 20px 55px rgba(20,55,68,.08); border-color:#b5c4c9; }
.capability-card-wide { grid-column:auto; }
.capability-card-blue { background:var(--blue-dark); color:white; border-color:var(--blue-dark); }
.card-no { position:absolute; left:32px; top:28px; font-size:42px; line-height:1; font-weight:720; letter-spacing:-.045em; color:var(--blue); }
.capability-card-blue .card-no { color:#9dc2cf; }
.capability-card h3 { margin:0 0 12px; font-size:30px; line-height:1.1; letter-spacing:-.03em; }
.capability-card p { margin:0; max-width:530px; color:#58666c; font-size:19px; line-height:1.56; }
.capability-card-blue p { color:#d4e0e4; }
.card-visual { align-self:end; justify-self:end; width:140px; height:120px; position:relative; }
.bars { display:flex; align-items:flex-end; gap:10px; }
.bars i { flex:1; border:1px solid #aebbc0; background:#eef3f4; }
.bars i:nth-child(1){height:34%;}.bars i:nth-child(2){height:48%;}.bars i:nth-child(3){height:72%;}.bars i:nth-child(4){height:58%;}.bars i:nth-child(5){height:92%;background:var(--blue);border-color:var(--blue);}
.frames i { position:absolute; display:block; width:82px; height:58px; border:1px solid #9eacb2; background:white; }
.frames i:nth-child(1){left:0;top:8px}.frames i:nth-child(2){right:0;top:28px}.frames i:nth-child(3){left:28px;bottom:0;border-color:var(--blue);background:var(--blue-pale)}
.curve { border-left:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
.curve::before { content:""; position:absolute; left:8px; bottom:16px; width:112px; height:72px; border-top:2px solid #b8d7e1; border-right:2px solid #b8d7e1; transform:skewY(-22deg) rotate(-8deg); border-radius:0 70% 0 0; }
.curve span { position:absolute; right:8px; top:18px; width:11px; height:11px; background:#b8d7e1; transform:rotate(45deg); }
.report { display:grid; grid-template-rows:repeat(3,1fr); gap:10px; }
.report i { display:block; border:1px solid #aebbc0; position:relative; }
.report i::before { content:""; position:absolute; left:10px; top:50%; width:42px; height:3px; background:#c9d2d5; transform:translateY(-50%); }
.report i::after { content:""; position:absolute; right:10px; top:50%; width:28px; height:8px; background:var(--blue); transform:translateY(-50%); }

.control-section { position:relative; overflow:hidden; background:var(--ink); color:white; padding:132px 0; }
.control-diamonds span { position:absolute; display:block; transform:rotate(45deg); border:1px solid rgba(255,255,255,.07); }
.control-diamonds span:first-child { width:590px; height:590px; right:-260px; top:-310px; }
.control-diamonds span:last-child { width:420px; height:420px; left:-260px; bottom:-250px; }
.control-grid { position:relative; z-index:2; display:grid; grid-template-columns:.84fr 1.16fr; gap:94px; align-items:center; }
.control-copy h2 { max-width:650px; }
.control-copy > p:not(.eyebrow) { max-width:620px; margin:30px 0 34px; color:#c6d0d4; font-size:19px; }
.control-board { border:1px solid rgba(255,255,255,.17); background:#162229; box-shadow:0 32px 80px rgba(0,0,0,.25); }
.board-title { padding:24px 28px 22px; border-bottom:1px solid rgba(255,255,255,.13); display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.board-title span { font-size:13px; letter-spacing:.12em; font-weight:760; color:#b8c6cc; }
.board-title strong { font-size:18px; font-weight:650; }
.board-row { display:grid; grid-template-columns:70px 160px 1fr; gap:28px; align-items:center; min-height:190px; padding:26px 30px; }
.board-num { font-size:38px; font-weight:720; letter-spacing:-.04em; color:#b5c5cc; }
.board-after { background:linear-gradient(90deg,#1a303a,#214e60); }
.board-after .board-num { color:#a9d0dd; }
.seller-cloud { display:grid; grid-template-columns:repeat(3,34px); gap:13px; }
.seller-cloud i { width:34px; height:34px; border:1px solid #80949c; display:block; }
.seller-cloud i:nth-child(2), .seller-cloud i:nth-child(5) { background:#273840; }
.board-logo { width:90px; height:90px; background:white; display:grid; place-items:center; }
.board-logo img { width:48px; height:48px; object-fit:contain; }
.board-row span { display:block; margin-bottom:8px; text-transform:uppercase; font-size:13px; letter-spacing:.1em; color:#bdcbd0; font-weight:760; }
.board-row strong { font-size:25px; line-height:1.2; }
.board-divider { padding:0 30px; }
.board-divider span { display:block; height:1px; background:rgba(255,255,255,.14); }

.process-section { padding:122px 0 128px; }
.process-head { display:grid; grid-template-columns:1fr 360px; gap:70px; align-items:end; margin-bottom:64px; }
.process-head h2 { max-width:850px; }
.process-head > p { margin:0 0 6px; color:var(--ink-soft); font-size:18px; }
.process-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #bcc8cc; }
.process-grid li { position:relative; min-height:300px; padding:32px 28px 26px 0; border-right:1px solid #d4dcdf; display:flex; flex-direction:column; justify-content:flex-start; gap:70px; }
.process-grid li:not(:first-child) { padding-left:28px; }
.process-grid li:last-child { border-right:0; }
.step-no { font-size:54px; line-height:1; font-weight:720; letter-spacing:-.045em; color:var(--blue); }
.process-grid h3 { margin:0 0 12px; font-size:29px; line-height:1.1; letter-spacing:-.025em; }
.process-grid p { margin:0; color:var(--ink-soft); font-size:18px; line-height:1.58; }

.company-section { position:relative; overflow:hidden; background:var(--blue-pale); padding:132px 0; }
.company-diamonds span { position:absolute; display:block; transform:rotate(45deg); border:1px solid rgba(45,111,134,.12); }
.company-diamonds span:first-child { width:500px; height:500px; right:-300px; bottom:-250px; }
.company-diamonds span:last-child { width:280px; height:280px; right:60px; top:-210px; }
.company-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.section-marker-inline { margin-bottom:30px; }
.company-copy h2 { max-width:720px; }
.company-copy > p { max-width:710px; margin:30px 0 36px; color:var(--ink-soft); font-size:19px; }
.stats-panel { display:grid; grid-template-columns:1fr 1fr; border:1px solid #b7c7cc; background:white; box-shadow:0 22px 52px rgba(38,83,99,.10); }
.stat { min-height:230px; padding:32px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid #ccd7da; border-bottom:1px solid #ccd7da; }
.stat:nth-child(2) { border-right:0; }
.stat:nth-child(3) { border-bottom:0; }
.stat-primary { background:var(--blue); color:white; }
.stat strong { font-size:66px; line-height:.92; letter-spacing:-.055em; font-weight:720; }
.stat strong span { color:#2f6f86; font-size:.62em; }
.stat-primary strong span { color:#d2e8ef; }
.stat p { margin:13px 0 0; font-size:16px; }
.stat-location { padding:32px; display:flex; flex-direction:column; justify-content:flex-end; }
.stat-location span { font-size:13px; letter-spacing:.13em; color:#738289; font-weight:760; }
.stat-location strong { margin-top:8px; font-size:26px; letter-spacing:-.03em; }

.fit-section { padding:124px 0; }
.fit-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:108px; align-items:start; }
.fit-title h2 { max-width:630px; }
.fit-list { border-top:1px solid #bcc8cc; }
.fit-list > div { display:grid; grid-template-columns:82px 1fr; gap:22px; padding:29px 0; border-bottom:1px solid #d4dcdf; }
.fit-list span { color:var(--blue); font-size:38px; line-height:1; font-weight:720; letter-spacing:-.04em; }
.fit-list p { margin:0; font-size:20px; line-height:1.55; }

.contact-section { position:relative; overflow:hidden; background:var(--blue-dark); color:white; padding:112px 0; }
.contact-diamonds span { position:absolute; display:block; transform:rotate(45deg); border:1px solid rgba(255,255,255,.11); }
.contact-diamonds span:nth-child(1){width:520px;height:520px;right:-170px;top:-300px}.contact-diamonds span:nth-child(2){width:330px;height:330px;right:200px;bottom:-250px}.contact-diamonds span:nth-child(3){width:260px;height:260px;left:-150px;top:20px}
.contact-inner { position:relative; z-index:2; max-width:980px; margin-inline:auto; text-align:center; }
.contact-inner h2 { font-size:clamp(52px,6vw,82px); }
.contact-inner > p:not(.eyebrow) { max-width:730px; margin:30px auto 0; color:#d6e2e6; font-size:20px; }
.contact-actions { margin-top:40px; display:flex; justify-content:center; align-items:center; gap:24px; font-size:15px; }
.contact-actions > span { color:#dbe5e8; }
.button-phone { border-color:rgba(255,255,255,.72); color:white; background:transparent; }
.button-phone:hover { background:white; color:var(--ink); transform:translateY(-2px); }

.site-footer { background:#10171b; color:#d9e0e3; padding:72px 0 24px; }
.footer-grid { display:grid; grid-template-columns:1.5fr .9fr 1.1fr .7fr; gap:36px; }
.brand-footer .brand-word { color:white; }
.brand-footer .brand-word small { color:#91a0a6; }
.footer-brand > p { color:#b4c0c4; font-size:15px; margin:20px 0 0; }
.footer-col { display:flex; flex-direction:column; gap:8px; font-size:15px; color:#b4c0c4; }
.footer-col strong { color:white; font-size:13px; text-transform:uppercase; letter-spacing:.1em; margin-bottom:8px; }
.footer-col a { text-decoration:underline; text-decoration-color:rgba(255,255,255,.3); text-underline-offset:3px; }
.footer-col a:hover { color:white; text-decoration-color:white; }
.footer-bottom { margin-top:60px; padding-top:20px; border-top:1px solid #273238; display:flex; justify-content:space-between; color:#9ba7ac; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }

.reveal { opacity:1; transform:none; }
.js .reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }
.js .reveal.is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto!important; } .js .reveal { opacity:1; transform:none; transition:none; } }

@media (max-width: 1280px) {
  .hero-layout { grid-template-columns:1fr; gap:56px; }
  .hero h1 { max-width:900px; }
  .hero-lead { max-width:760px; }
  .hero-stage { width:min(100%, 760px); justify-self:center; grid-template-columns:minmax(0,1fr) 40px minmax(0,1.22fr) 40px minmax(0,1fr); }
}

@media (max-width: 1120px) {
  :root { --shell:min(100% - 44px, 1120px); }
  .desktop-nav { display:none; }
  .header-inner { grid-template-columns:auto 1fr auto auto; }
  .header-cta { justify-self:end; }
  .menu-btn { display:block; width:42px; height:42px; border:1px solid var(--line); background:white; padding:10px; }
  .menu-btn span:not(.sr-only) { display:block; height:1px; background:var(--ink); margin:6px 0; }
  .mobile-nav { position:absolute; left:0; right:0; top:88px; background:white; border-bottom:1px solid var(--line); padding:16px 22px 24px; flex-direction:column; }
  .mobile-nav.is-open { display:flex; }
  .mobile-nav a { padding:12px 0; border-bottom:1px solid #edf0f1; font-weight:650; }
  .hero-layout { grid-template-columns:1fr; gap:56px; }
  .hero h1 { font-size:clamp(54px,7vw,76px); max-width:900px; }
  .hero-lead { font-size:20px; max-width:760px; }
  .hero-stage { width:min(100%, 760px); justify-self:center; grid-template-columns:minmax(0,1fr) 40px minmax(0,1.22fr) 40px minmax(0,1fr); }
  .stage-card strong, .stage-core strong { font-size:19px; }
  .model-grid { grid-template-columns:130px 1fr; }
  .model-aside { grid-column:2; display:grid; grid-template-columns:44px 1fr; column-gap:18px; }
  .model-aside-line { margin:6px 0 0; }
  .model-aside span { grid-column:2; }
  .control-grid { grid-template-columns:1fr; }
  .control-copy h2 { max-width:900px; }
  .company-grid { gap:60px; }
  .fit-grid { gap:60px; }
}

@media (max-width: 860px) {
  body { font-size:18px; }
  :root { --shell:calc(100vw - 36px); }
  .header-cta { display:none; }
  .header-inner { height:76px; grid-template-columns:auto 1fr auto; }
  .mobile-nav { top:76px; }
  .brand img { width:38px; height:38px; }
  .brand-word { font-size:22px; }
  .hero { min-height:0; padding:72px 0 80px; background:white; }
  .hero::before { display:none; }
  .hero-layout { grid-template-columns:1fr; gap:58px; }
  .hero h1 { font-size:clamp(48px,11vw,70px); max-width:760px; }
  .hero-stage { min-height:520px; max-width:650px; grid-template-columns:1fr 44px 1.2fr 44px 1fr; }
  .model-section, .capabilities, .process-section, .company-section, .fit-section { padding:92px 0; }
  .model-grid { grid-template-columns:1fr; gap:34px; }
  .model-aside { grid-column:auto; }
  .section-marker { flex-direction:row; align-items:baseline; gap:18px; }
  .section-marker p { margin:0; }
  .model-copy h2, .section-head h2, .control-copy h2, .process-head h2, .company-copy h2, .fit-title h2, .contact-inner h2 { font-size:clamp(40px,8vw,58px); }
  .model-copy p { font-size:19px; }
  .section-head, .process-head { grid-template-columns:1fr; gap:22px; }
  .capability-grid { grid-template-columns:1fr; }
  .control-section { padding:96px 0; }
  .board-row { grid-template-columns:60px 120px 1fr; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .process-grid li { border-bottom:1px solid #d4dcdf; }
  .process-grid li:nth-child(2) { border-right:0; }
  .company-grid, .fit-grid { grid-template-columns:1fr; gap:58px; }
  .stats-panel { max-width:650px; }
  .contact-section { padding:108px 0; }
  .footer-grid { grid-template-columns:1.2fr 1fr; row-gap:42px; }
}

@media (max-width: 600px) {
  :root { --shell:calc(100vw - 28px); }
  .brand-word small { display:none; }
  .eyebrow { font-size:15px; margin-bottom:16px; }
  .hero { padding-top:54px; }
  .hero h1 { font-size:clamp(40px,11.5vw,54px); }
  .hero-lead { font-size:18px; margin-top:24px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; margin-top:30px; }
  .hero-proof { gap:10px 0; margin-top:36px; }
  .hero-proof span { width:100%; margin-right:0; }
  .hero-stage { display:block; min-height:auto; padding:24px 0 0; }
  .stage-rail, .stage-link { display:none; }
  .stage-card, .stage-core { min-height:150px; margin-bottom:12px; }
  .stage-core { min-height:190px; }
  .stage-note { margin-top:16px; max-width:none; }
  .section-no { font-size:42px; }
  .section-marker p { font-size:15px; }
  .capability-card { min-height:300px; padding:96px 26px 30px; grid-template-columns:1fr; align-items:start; }
  .card-no { font-size:38px; left:26px; top:24px; }
  .card-visual { width:120px; height:92px; justify-self:start; margin-top:14px; }
  .board-title { display:block; }
  .board-title strong { display:block; margin-top:8px; }
  .board-row { grid-template-columns:52px 92px 1fr; gap:16px; padding:24px 18px; }
  .board-num { font-size:31px; }
  .seller-cloud { grid-template-columns:repeat(3,25px); gap:9px; }
  .seller-cloud i { width:25px; height:25px; }
  .board-logo { width:72px; height:72px; }
  .board-logo img { width:42px; height:42px; }
  .board-row strong { font-size:20px; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid li, .process-grid li:not(:first-child) { padding:28px 0; border-right:0; min-height:220px; gap:52px; }
  .step-no { font-size:46px; }
  .stats-panel { grid-template-columns:1fr; }
  .stat, .stat:nth-child(2), .stat:nth-child(3) { min-height:180px; border-right:0; border-bottom:1px solid #ccd7da; }
  .stat-location { min-height:120px; }
  .fit-list > div { grid-template-columns:62px 1fr; }
  .fit-list span { font-size:30px; }
  .fit-list p { font-size:18px; }
  .contact-actions { flex-direction:column; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

/* V6.3 refinements */
.brand { gap: 13px; }
.brand img {
  width: 58px;
  height: auto;
  flex: 0 0 auto;
  object-fit: contain;
}
.brand-word {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-size: 0;
  line-height: 1;
  letter-spacing: 0;
}
.brand-name {
  font-size: 25px;
  font-weight: 720;
  letter-spacing: -.032em;
  color: var(--ink);
}
.brand-suffix {
  font-size: 19px;
  font-weight: 580;
  letter-spacing: -.018em;
  color: #536168;
}
.brand-footer img { width: 54px; }
.brand-footer .brand-name { color: #fff; }
.brand-footer .brand-suffix { color: #aab5ba; }

.stage-core {
  align-items: center;
  justify-content: center;
  gap: 25px;
  text-align: center;
  padding: 30px 24px 28px;
}
.stage-logo-badge {
  width: 148px;
  height: 94px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 16px 34px rgba(5,24,31,.18);
}
.stage-logo-badge img {
  width: 112px;
  height: auto;
  object-fit: contain;
}
.stage-core > div:last-child { width: 100%; }
.stage-core .stage-label { margin-bottom: 9px; }

.board-logo {
  width: 126px;
  height: 82px;
  background: #fff;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 12px 26px rgba(8,26,33,.12);
}
.board-logo img {
  width: 88px;
  height: auto;
  object-fit: contain;
}

/* Legal pages */
.legal-main {
  background: #fff;
  min-height: 65vh;
  padding: 72px 0 96px;
}
.legal-hero {
  max-width: 920px;
  padding-bottom: 32px;
  margin-bottom: 36px;
  border-bottom: 1px solid var(--line);
}
.legal-hero h1 {
  margin: 0;
  font-size: clamp(48px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -.045em;
}
.legal-hero p {
  max-width: 780px;
  margin: 24px 0 0;
  color: var(--ink-soft);
  font-size: 19px;
}
.legal-content {
  max-width: 820px;
}
.legal-content h2 {
  margin: 40px 0 12px;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.legal-content h3 {
  margin: 28px 0 10px;
  font-size: 22px;
  line-height: 1.3;
}
.legal-content p,
.legal-content li {
  color: #3f4c52;
  font-size: 17px;
  line-height: 1.75;
}
.legal-content ul { padding-left: 22px; }
.legal-content a { color: var(--blue-dark); text-decoration: underline; text-underline-offset: 3px; }
.legal-note {
  margin-top: 46px;
  padding: 22px 24px;
  background: var(--blue-mist);
  border-left: 3px solid var(--blue);
  color: #405159;
  font-size: 15px;
}

@media (max-width: 860px) {
  .brand img { width: 52px; height: auto; }
  .brand-name { font-size: 23px; }
  .brand-suffix { font-size: 17px; }
  .board-logo { width: 112px; height: 74px; }
  .board-logo img { width: 78px; }
  .legal-main { padding: 76px 0 90px; }
}

@media (max-width: 600px) {
  .brand { gap: 10px; }
  .brand img { width: 46px; }
  .brand-name { font-size: 21px; }
  .brand-suffix { font-size: 16px; }
  .stage-logo-badge { width: 136px; height: 86px; }
  .stage-logo-badge img { width: 102px; }
  .board-logo { width: 94px; height: 64px; }
  .board-logo img { width: 68px; }
  .legal-hero h1 { font-size: clamp(44px, 13vw, 58px); }
}

/* V6.3 logo asset correction: separate symbol and full lockup */
.brand img { width: 48px; height: auto; }
.brand-footer img { width: 46px; height: auto; }
.board-logo { width: 142px; height: 92px; }
.board-logo img { width: 108px; height: auto; }

@media (max-width: 860px) {
  .brand img { width: 44px; }
  .board-logo { width: 124px; height: 82px; }
  .board-logo img { width: 94px; }
}
@media (max-width: 600px) {
  .brand img { width: 40px; }
  .brand-footer img { width: 42px; }
  .board-logo { width: 100px; height: 70px; }
  .board-logo img { width: 76px; }
}
