:root { --ink:#071426; --navy:#06152c; --blue:#1768e5; --pale:#edf4fb; --paper:#f7f9fc; --line:#d9e1ea; --muted:#596779; --amber:#e0a24a; --background:#f7f9fc; --foreground:#071426; --card:#fff; --card-foreground:#071426; --popover:#fff; --popover-foreground:#071426; --primary:#1768e5; --primary-foreground:#fff; --secondary:#edf4fb; --secondary-foreground:#071426; --muted-foreground:#596779; --accent:#edf4fb; --accent-foreground:#071426; --destructive:#c9262f; --border:#d9e1ea; --input:#d9e1ea; --ring:#1768e5; --radius:.25rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }

.site-header { position:absolute; z-index:20; top:0; left:0; right:0; height:88px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(24px,5vw,78px); color:white; border-bottom:1px solid rgba(255,255,255,.18); }
.brand { display:inline-flex; align-items:center; gap:12px; font-weight:700; letter-spacing:-.02em; font-size:1.08rem; }
.brand-mark { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.45); font-size:.72rem; letter-spacing:-.03em; }
.site-header nav { display:flex; gap:34px; font-size:.9rem; color:rgba(255,255,255,.8); }
.site-header nav a:hover { color:white; }
.nav-cta { justify-self:end; display:inline-flex; align-items:center; gap:8px; font-size:.9rem; }

.hero { min-height:780px; height:100vh; max-height:980px; position:relative; overflow:hidden; background:var(--navy); color:white; }
.hero-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .8s ease,visibility .8s ease; }
.hero-slide.active { opacity:1; visibility:visible; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,15,35,.98) 0%,rgba(4,18,40,.86) 37%,rgba(4,18,40,.22) 68%,rgba(4,18,40,.2) 100%); }
.hero-content { position:relative; z-index:2; max-width:720px; padding:clamp(180px,23vh,240px) 0 80px clamp(24px,7vw,110px); }
.eyebrow,.section-label { text-transform:uppercase; letter-spacing:.15em; font-size:.72rem; font-weight:700; }
.eyebrow { display:flex; align-items:center; gap:10px; color:#c9dbf4; }
.eyebrow span { width:28px; height:1px; background:var(--amber); }
.hero h1 { font-size:clamp(3.4rem,6.4vw,6.7rem); line-height:.94; letter-spacing:-.062em; font-weight:500; margin:32px 0; }
.hero-copy { max-width:610px; color:#c4d0df; line-height:1.7; font-size:1.12rem; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:42px; }
.button-primary { display:inline-flex; align-items:center; gap:16px; background:white; color:var(--ink); padding:17px 20px; font-weight:700; font-size:.9rem; }
.button-primary:hover { background:#e7f0fa; }
.button-quiet { color:#d7e2ee; font-size:.9rem; border-bottom:1px solid rgba(255,255,255,.45); padding-bottom:5px; }
.slider-controls { position:absolute; z-index:5; right:clamp(24px,5vw,78px); bottom:36px; display:flex; align-items:center; gap:16px; color:rgba(255,255,255,.72); }
.slider-controls > button { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); background:rgba(4,18,40,.35); color:white; cursor:pointer; }
.slider-controls > button:hover { background:rgba(255,255,255,.12); }
.slider-controls span { font-size:.68rem; letter-spacing:.18em; min-width:52px; }
.slider-dots { display:flex; gap:7px; }
.slider-dots button { width:22px; height:2px; padding:0; border:0; background:rgba(255,255,255,.3); cursor:pointer; }
.slider-dots button.active { background:var(--amber); }

.section { padding:112px clamp(24px,7vw,110px); }
.intro { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,4fr); gap:70px; background:white; }
.section-label { color:var(--blue); padding-top:10px; }
.lead { max-width:1030px; margin:0; font-size:clamp(2rem,3.2vw,3.75rem); line-height:1.13; letter-spacing:-.045em; }
.body-columns { display:grid; grid-template-columns:1fr 1fr; gap:56px; max-width:900px; margin-top:66px; color:var(--muted); line-height:1.75; }

.platform { padding-top:0; background:white; }
.platform-card { background:var(--pale); padding:clamp(28px,5vw,70px); border-top:3px solid var(--blue); }
.platform-topline { display:flex; justify-content:space-between; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.status { display:flex; align-items:center; gap:9px; }
.status i { width:7px; height:7px; border-radius:50%; background:var(--amber); }
.wordmark { margin:54px 0 70px; font-size:clamp(3.5rem,8vw,8.5rem); line-height:.85; letter-spacing:-.075em; font-weight:700; }
.platform-grid { border-top:1px solid #c8d5e4; padding-top:32px; display:grid; grid-template-columns:1.3fr 1fr; gap:80px; }
.platform-grid h2 { margin:0; max-width:620px; font-size:clamp(1.8rem,3vw,3.1rem); line-height:1.1; letter-spacing:-.04em; font-weight:500; }
.platform-grid p { margin:0; color:var(--muted); line-height:1.75; }
.platform-grid a,.company-note a { display:inline-flex; gap:12px; align-items:center; margin-top:30px; color:var(--blue); font-size:.9rem; font-weight:700; }

.capabilities { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,4fr); gap:70px; }
.capabilities h2 { margin:0 0 62px; font-size:clamp(2.3rem,4.5vw,5rem); line-height:1; letter-spacing:-.055em; font-weight:500; max-width:850px; }
.capability-list { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.capability-list article { position:relative; min-height:330px; padding:38px 30px 30px 0; border-right:1px solid var(--line); }
.capability-list article:not(:first-child) { padding-left:30px; }
.capability-list article:last-child { border-right:0; }
.capability-number { color:#8d9aaa; font-size:.72rem; margin-bottom:70px; }
.capability-list svg { color:var(--blue); }
.capability-list h3 { margin:25px 0 12px; font-size:1.25rem; }
.capability-list p { margin:0; color:var(--muted); line-height:1.65; font-size:.95rem; }

.transaction-flow { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,4fr); gap:70px; background:white; }
.transaction-flow h2 { margin:0 0 58px; font-size:clamp(2.3rem,4.4vw,4.8rem); line-height:1.03; letter-spacing:-.052em; font-weight:500; max-width:900px; }
.flow-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.flow-grid article { padding:32px 24px 12px 0; border-right:1px solid var(--line); }
.flow-grid article:not(:first-child) { padding-left:24px; }
.flow-grid article:last-child { border-right:0; }
.flow-grid span { color:var(--blue); font-size:.72rem; letter-spacing:.12em; }
.flow-grid h3 { font-size:1.2rem; margin:48px 0 12px; }
.flow-grid p { color:var(--muted); line-height:1.65; font-size:.92rem; margin:0; }

.applications { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,4fr); gap:70px; background:#0b203d; color:white; }
.application-content h2 { max-width:950px; margin:0; font-size:clamp(2.3rem,4.4vw,4.8rem); line-height:1.04; letter-spacing:-.052em; font-weight:500; }
.application-tags { display:flex; flex-wrap:wrap; gap:10px; margin:52px 0 38px; }
.application-tags span { border:1px solid rgba(255,255,255,.22); padding:11px 15px; font-size:.86rem; color:#d7e3f2; }
.application-content > p { max-width:820px; color:#9eafc4; line-height:1.7; }

.principles { background:var(--navy); color:white; display:grid; grid-template-columns:1.15fr 1fr; gap:100px; }
.section-label.light { color:#8bbaff; }
.principles h2 { margin:44px 0 0; font-size:clamp(2.6rem,4.6vw,5.1rem); line-height:1.02; letter-spacing:-.055em; font-weight:500; }
.principle { display:grid; grid-template-columns:36px 1fr; gap:10px; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.principle:first-child { border-top:1px solid rgba(255,255,255,.16); }
.principle svg { color:var(--amber); margin-top:3px; }
.principle h3 { margin:0 0 8px; font-size:1.1rem; }
.principle p { margin:0; color:#9fadc0; font-size:.94rem; line-height:1.55; }

.company-note { background:white; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:34px; }
.company-note svg,.building-icon { color:var(--blue); font-size:2rem; }
.company-note p { font-size:clamp(1.9rem,3vw,3.25rem); letter-spacing:-.045em; line-height:1.1; margin:0; }
.company-note p span { color:#8b98a8; }

.contact-section { background:#0b203d; color:white; display:grid; grid-template-columns:1fr 1.25fr; gap:clamp(48px,8vw,120px); align-items:start; }
.contact-copy h2 { margin:38px 0 20px; font-size:clamp(2.7rem,5vw,5.3rem); line-height:1; letter-spacing:-.055em; font-weight:500; }
.contact-copy > p { max-width:500px; color:#aebed1; line-height:1.7; font-size:1rem; }
.contact-form { background:white; color:var(--ink); padding:clamp(24px,4vw,48px); display:grid; gap:22px; position:relative; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form label { display:grid; gap:9px; font-size:.78rem; font-weight:700; letter-spacing:.02em; }
.contact-form label span { color:#7e8a99; font-weight:400; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid #cbd6e2; background:#f8fafc; color:var(--ink); border-radius:0; padding:13px 14px; font:inherit; font-size:.95rem; outline:none; }
.contact-form input:focus,.contact-form textarea:focus { border-color:var(--blue); box-shadow:0 0 0 2px rgba(23,104,229,.12); }
.contact-form textarea { resize:vertical; min-height:130px; }
.contact-submit { justify-self:start; border:0; border-radius:0; background:var(--blue); color:white; padding:16px 20px; font:inherit; font-size:.88rem; font-weight:700; cursor:pointer; }
.contact-submit:disabled { cursor:not-allowed; opacity:.52; }
.form-status { margin:0; color:#687789; font-size:.76rem; line-height:1.5; }
.form-status.error { color:#a2272e; }
.form-status.success { color:#187244; font-weight:700; }
.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.turnstile-widget { min-height:65px; }

footer { display:grid; grid-template-columns:1fr 1fr auto; gap:40px; align-items:center; background:#030c19; color:#abb8c8; padding:58px clamp(24px,7vw,110px) 36px; font-size:.82rem; }
.footer-brand { color:white; display:flex; align-items:center; gap:12px; }
.footer-brand .brand-mark { border-color:#3a4b61; }
.footer-links { display:flex; gap:24px; color:white; }
.legal { grid-column:1 / -1; border-top:1px solid #1b2939; padding-top:24px; margin-top:16px; max-width:1180px; color:#748296; font-size:.74rem; line-height:1.65; }
.legal p { margin:0 0 9px; }
.legal a { color:#9aa9ba; text-decoration:underline; text-underline-offset:2px; }

@media (max-width:850px) {
  .site-header { grid-template-columns:1fr auto; height:76px; } .site-header nav { display:none; }
  .hero { min-height:740px; } .hero-image { object-position:62% center; opacity:.68; } .hero-shade { background:linear-gradient(90deg,rgba(3,15,35,.97),rgba(3,15,35,.55)); }
  .hero-content { padding-top:170px; padding-right:24px; } .hero h1 { font-size:clamp(3.1rem,13vw,5.2rem); }
  .intro,.capabilities,.principles,.transaction-flow,.applications,.contact-section { grid-template-columns:1fr; gap:38px; }
  .body-columns,.platform-grid { grid-template-columns:1fr; gap:30px; } .wordmark { margin-bottom:50px; }
  .capability-list { grid-template-columns:1fr; }
  .capability-list article,.capability-list article:not(:first-child) { border-right:0; border-bottom:1px solid var(--line); padding:28px 0; min-height:auto; }
  .capability-number { margin-bottom:28px; }
  .flow-grid { grid-template-columns:1fr 1fr; }
  .flow-grid article:nth-child(2) { border-right:0; }
  .company-note { grid-template-columns:auto 1fr; } .company-note a { grid-column:2; }
  footer { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:560px) {
  .nav-cta { font-size:0; gap:0; } .nav-cta svg { width:20px; height:20px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .slider-controls { left:24px; right:auto; bottom:26px; }
  .section { padding-top:78px; padding-bottom:78px; } .lead { font-size:2rem; } .body-columns { margin-top:42px; }
  .platform-topline { align-items:flex-start; gap:20px; } .wordmark { font-size:3.4rem; }
  .company-note { grid-template-columns:1fr; } .company-note a { grid-column:1; }
  .footer-links { flex-direction:column; gap:10px; }
  .form-row { grid-template-columns:1fr; }
  .flow-grid { grid-template-columns:1fr; }
  .flow-grid article,.flow-grid article:not(:first-child) { border-right:0; border-left:0; padding-left:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.legal-page { background:white; }
.legal-header { min-height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,7vw,110px); background:var(--navy); color:white; }
.legal-header .brand-mark { border-color:#42536a; }
.legal-header > a:last-child { color:#cad7e7; font-size:.88rem; }
.legal-main { padding:80px clamp(24px,7vw,110px) 110px; }
.legal-main article { max-width:850px; }
.legal-main h1 { margin:22px 0 12px; font-size:clamp(2.7rem,5vw,5rem); line-height:1; letter-spacing:-.055em; font-weight:500; }
.legal-main h2 { margin:42px 0 12px; font-size:1.35rem; }
.legal-main p,.legal-main li { color:var(--muted); line-height:1.75; }
.legal-main ul { padding-left:22px; }
.legal-main a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.legal-meta { color:var(--blue)!important; font-size:.82rem; font-weight:700; }
.legal-note { margin:38px 0; background:var(--pale); border-left:3px solid var(--blue); padding:20px 22px; color:var(--ink)!important; }
.legal-footer { display:flex; gap:24px; justify-content:flex-start; padding:32px clamp(24px,7vw,110px); }