:root { --navy:#043873; --blue:#4f9cf9; --light-blue:#a7cefc; --ink:#172c43; --muted:#687b90; --border:#dce5ef; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font:15px/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid var(--light-blue); outline-offset:5px; }
.container { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:absolute; top:-80px; left:20px; z-index:2; background:#fff; color:var(--navy); padding:12px 20px; border-radius:8px; }
.skip-link:focus { top:16px; }
.hero-shell { position:relative; overflow:hidden; background:var(--navy); color:#fff; }
.hero-shell::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 8% 95%,#4f9cf918,transparent 55%); }
.hero-shell::after { content:""; position:absolute; left:-180px; bottom:-470px; width:800px; height:800px; border:1px solid #a7cefc16; border-radius:50%; box-shadow:0 0 0 38px #a7cefc08,0 0 0 76px #a7cefc07,0 0 0 114px #a7cefc06; pointer-events:none; }
.site-header { position:relative; z-index:1; height:104px; display:flex; justify-content:space-between; align-items:center; gap:24px; border-bottom:1px solid #ffffff18; }
.brand { display:flex; align-items:center; gap:20px; }
.brand-name { display:flex; align-items:baseline; font-size:32px; font-weight:750; letter-spacing:-1px; line-height:1.2; }
.brand-dot { width:6px; height:6px; margin-left:6px; background:var(--light-blue); border-radius:50%; }
.brand-caption { padding-left:20px; border-left:1px solid #ffffff36; color:#d3e5fa; font-size:13px; letter-spacing:1px; }
.site-header nav { display:flex; align-items:center; gap:32px; font-size:14px; }
.nav-intro { color:#d3e5fa; }
.nav-intro:hover { color:#fff; }
.nav-community { color:#d3e5fa; }
.nav-community:hover { color:#fff; }
.nav-login { display:inline-flex; gap:16px; align-items:center; border:1px solid #ffe492; border-radius:8px; padding:9px 24px; background:#ffe492; color:var(--navy); font-weight:600; transition:background .15s; }
.nav-login:hover { background:#fff0b8; }
.hero { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); align-items:center; column-gap:44px; padding-block:70px 86px; }
.eyebrow,.section-eyebrow,.card-eyebrow { margin:0; font-size:11px; font-weight:650; letter-spacing:2px; }
.eyebrow { display:flex; align-items:center; gap:10px; color:#b9d8fe; }
.eyebrow>span { width:6px; height:6px; border-radius:50%; background:#ffe492; }
h1 { margin:22px 0; font-size:clamp(38px,3.6vw,50px); line-height:1.35; letter-spacing:-1.7px; font-weight:700; }
.title-accent { color:var(--light-blue); }
.hero-description { margin:0; color:#c6d9ef; font-size:16px; line-height:1.95; }
.hero-visual,.sharing-visual { min-width:0; margin:0; }
.hero-visual img,.sharing-visual img { display:block; width:100%; height:auto; }
.hero-capabilities { display:flex; flex-wrap:wrap; gap:0; margin-top:44px; color:#a9c6e8; font-size:12px; }
.hero-capabilities span+span { margin-left:20px; padding-left:20px; border-left:1px solid #ffffff30; }
.login-card { background:#fff; color:var(--ink); border-radius:16px; padding:36px 34px 28px; box-shadow:0 24px 60px #001c3b40; }
.login-dialog { width:min(410px,calc(100% - 40px)); max-height:calc(100dvh - 48px); border:0; overflow:auto; }
.login-dialog::backdrop { background:#061a35a6; backdrop-filter:blur(5px); }
body:has(.login-dialog[open]) { overflow:hidden; }
.dialog-close { position:absolute; top:16px; right:16px; width:30px; height:30px; display:grid; place-items:center; background:#f2f6fb; color:#63768a; border:0; border-radius:50%; cursor:pointer; }
.dialog-close:hover { background:#e5eef9; color:var(--navy); }
.login-card:focus { outline:none; }
.login-card:focus-visible { outline:3px solid var(--light-blue); outline-offset:5px; }
.card-eyebrow { color:#708499; font-size:9px; letter-spacing:1.5px; }
.login-card h2 { margin:12px 0 4px; font-size:26px; line-height:1.5; letter-spacing:-.5px; }
.card-description { margin:0 0 26px; font-size:13px; color:var(--muted); }
.form-field+.form-field { margin-top:18px; }
.form-field label { display:block; margin-bottom:7px; font-size:13px; font-weight:600; }
.required { color:#bd3448; margin-left:2px; }
.form-field input { display:block; width:100%; min-width:0; height:48px; border:1px solid var(--border); border-radius:8px; padding:0 14px; background:#fff; color:var(--ink); font-size:14px; transition:border-color .15s,box-shadow .15s; }
.form-field input::placeholder { color:#95a2b2; }
.form-field input:focus { outline:none; border-color:#307cdb; box-shadow:0 0 0 3px #4f9cf924; }
.submit-button { display:flex; align-items:center; justify-content:center; gap:15px; width:100%; height:49px; margin-top:25px; border:0; border-radius:8px; background:#2876d5; color:#fff; font-size:14px; font-weight:650; cursor:pointer; transition:background .15s; }
.submit-button:hover { background:#1f65bd; }
.submit-button:active { background:var(--navy); }
.account-help { margin:22px 0 0; padding-top:18px; border-top:1px solid #edf1f6; color:#7b8b9c; font-size:11px; line-height:1.85; }
.login-error { color:#a12b34; background:#fff1f2; padding:9px 12px; margin-bottom:18px; border-radius:8px; font-size:13px; }
.industry-section,.sharing-section { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:84px; padding-block:78px; scroll-margin-top:24px; }
.sharing-section { grid-template-columns:1.12fr 1fr; padding-top:34px; padding-bottom:90px; }
.industry-visual { min-width:0; margin:0; }
.industry-visual img { display:block; width:100%; height:auto; }
.section-eyebrow { color:#3b78bd; font-size:10px; letter-spacing:1.5px; }
.industry-copy h2 { margin:16px 0 20px; font-size:38px; line-height:1.35; letter-spacing:-.8px; }
.industry-copy>p:not(.section-eyebrow) { margin:0; color:var(--muted); font-size:14px; line-height:1.95; }
.industry-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.industry-tags span { border:1px solid #e3ebf4; color:#486582; border-radius:5px; padding:3px 11px; font-size:11px; }
.industry-copy>.sharing-note { margin-top:18px; font-size:11px; color:#7b90a8; }
.workflow-section { background:#f6f9fd; padding-block:52px 58px; }
.workflow-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; }
.workflow-heading h2 { margin:0; font-size:26px; letter-spacing:-.5px; }
.workflow-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.workflow-grid article { padding-right:32px; }
.workflow-grid article+article { border-left:1px solid #dce5ef; padding-left:36px; }
.step-number { font-size:12px; font-weight:600; color:#6489b3; letter-spacing:1px; }
.workflow-grid h3 { margin:10px 0 8px; font-size:18px; font-weight:650; }
.workflow-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.85; }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:28px; color:#8491a0; font-size:11px; }
.footer-identity { display:flex; flex-direction:column; gap:6px; }
.footer-contact { display:flex; align-items:center; gap:14px; }
.footer-contact a { display:inline-flex; align-items:center; gap:10px; color:var(--navy); font-size:13px; font-weight:500; white-space:nowrap; }
.footer-contact a:hover { color:#2876d5; text-decoration:underline; text-underline-offset:4px; }
.footer-brand { color:var(--navy); font-size:17px; font-weight:700; white-space:nowrap; }
.footer-brand span { margin-left:12px; color:#8f9aab; font-size:9px; font-weight:500; letter-spacing:1px; }
@media(min-width:1700px) {
  .container { width:min(1320px,calc(100% - 128px)); }
  .hero { column-gap:60px; padding-block:90px 100px; }
  h1 { font-size:56px; }
}
@media(max-width:1100px) {
  .container { width:calc(100% - 64px); }
  .hero { column-gap:28px; padding-block:54px 62px; }
  h1 { font-size:36px; }
  .login-card { padding:30px 28px 24px; }
  .industry-section,.sharing-section { gap:42px; padding-block:58px; }
  .industry-copy h2 { font-size:32px; }
  .workflow-grid { gap:24px; }
  .workflow-grid article { padding-right:0; }
  .workflow-grid article+article { padding-left:24px; }
}
@media(max-width:760px) {
  .container { width:calc(100% - 40px); }
  .site-header { height:82px; }
  .brand-name { font-size:28px; }
  .brand-caption { display:none; }
  .site-header nav { gap:18px; font-size:12px; }
  .nav-community { display:none; }
  .nav-login { padding:7px 12px; gap:10px; }
  .hero { grid-template-columns:1fr; gap:36px; padding-block:38px 44px; }
  .hero-copy { max-width:540px; }
  h1 { font-size:clamp(32px,7vw,42px); letter-spacing:-1px; margin-block:18px; }
  .hero-description { font-size:14px; }
  .hero-capabilities { margin-top:24px; }
  .hero-visual { width:100%; max-width:540px; justify-self:center; }
  .login-dialog { width:min(410px,calc(100% - 40px)); }
  .industry-section,.sharing-section { grid-template-columns:1fr; gap:28px; padding-block:42px; }
  .industry-copy { grid-row:1; }
  .industry-copy h2 { font-size:30px; }
  .industry-copy h2 br { display:none; }
  .industry-visual,.sharing-visual { width:100%; max-width:540px; justify-self:center; }
  .workflow-section { padding-block:38px; }
  .workflow-heading { display:block; margin-bottom:26px; }
  .workflow-heading h2 { font-size:23px; margin-top:10px; }
  .workflow-grid { grid-template-columns:1fr; gap:24px; }
  .workflow-grid article { position:relative; padding-left:40px; }
  .workflow-grid article+article { border-left:0; border-top:1px solid var(--border); padding:24px 0 0 40px; }
  .step-number { position:absolute; left:0; }
  .workflow-grid h3 { margin-top:0; font-size:17px; }
  .site-footer { align-items:flex-start; flex-direction:column; gap:8px; padding-block:24px; }
}
@media(max-width:360px) {
  .nav-intro { display:none; }
  .login-card { padding-inline:22px; }
  .hero-capabilities span+span { margin-left:14px; padding-left:14px; }
  .desktop-break { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; }
}
