@font-face{font-family:Inter;src:local('Inter');font-display:swap}
:root{color-scheme:dark;--bg:#090c10;--surface:#0c1217;--text:#eef4f6;--muted:#a0adb5;--line:#2a3940;--accent:#73f5de;--sans:Inter,'Segoe UI','Microsoft YaHei',Arial,sans-serif;--mono:'Cascadia Code','SFMono-Regular',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(1408px,calc(100% - 112px));margin-inline:auto}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.12em}.header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:36px;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand-logo{width:194px;height:52px;background:url('./assets/concursys-logo.png') center / contain no-repeat;flex-shrink:0}.header nav{display:flex;gap:38px;margin-inline-start:auto}.header nav a{font-size:14px;color:#c6d0d5;transition:color .2s}.header nav a:hover,.text-link:hover,.email:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:24px}.language{border:0;background:none;font:12px var(--mono);padding:12px 0;white-space:nowrap}.language span{color:var(--muted)}.button{min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 23px;font-size:14px;font-weight:600;border:1px solid transparent;transition:background .2s,border-color .2s,color .2s;white-space:nowrap}.button.primary{background:var(--accent);color:#071311}.button.primary:hover{background:#b4fff1}.button.outline{background:transparent;border-color:#527b79;color:var(--text)}.button.outline:hover{border-color:var(--accent);background:#132322}.arrow{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}.diagonal{transform:rotate(-45deg)}#menu{display:none}.hero{position:relative;min-height:620px;display:grid;grid-template-columns:1.03fr 1fr;align-items:center}.hero-copy{position:relative;z-index:2;padding:68px 0 88px;pointer-events:none}.hero-copy a{pointer-events:auto}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(50px,5.05vw,78px);line-height:1.06;letter-spacing:-.058em;font-weight:570;margin-inline-end:-80px}h1 br{display:block}.hero-description{font-size:20px;line-height:1.6;color:#acbac2;max-width:520px;margin-top:30px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:38px}.text-link{display:inline-flex;gap:15px;align-items:center;font-size:14px;padding:9px 0;border-bottom:1px solid #50676b;transition:color .2s;line-height:1.5}.hero-art{position:relative;align-self:stretch;margin:15px -50px 0 -25px;min-width:0;perspective:1300px;overflow:visible}.art-image{position:absolute;inset:0;background:url('./assets/execution-architecture.jpg') center / contain no-repeat;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .45s ease-out;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 94%,transparent)}.art-coordinate{position:absolute;inset:70px 24px;color:#4c646c;font:18px var(--mono);pointer-events:none}.art-coordinate span{position:absolute}.art-coordinate span:nth-child(2){right:0}.art-coordinate span:nth-child(3){bottom:0}.art-coordinate span:nth-child(4){bottom:0;right:0}.expertise-rail{display:grid;grid-template-columns:1.1fr 1fr .9fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:86px;align-items:center}.expertise-rail a{display:flex;gap:24px;align-items:center;padding:15px 28px;font-size:15px;border-inline-end:1px solid var(--line)}.expertise-rail a:first-child{padding-inline-start:0}.expertise-rail a:last-child{border-inline-end:0}.expertise-rail .mono{color:var(--accent)}.expertise-rail a:hover{color:var(--accent)}.section{padding-block:112px}.section-index{display:block;margin-bottom:24px;color:var(--accent);font-size:11px;letter-spacing:.14em}.section-heading h2{font-size:clamp(34px,3.5vw,53px);line-height:1.15;letter-spacing:-.042em;font-weight:540}.section-heading .intro{margin-top:24px;color:var(--muted);font-size:18px;line-height:1.7}.section-heading{margin-bottom:54px}.service-row{display:grid;grid-template-columns:32px 1.05fr 1.35fr 1.05fr;gap:28px;padding:38px 0;border-top:1px solid var(--line);align-items:start}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row .number{color:var(--accent);padding-top:6px;font-size:13px}.service-row h3{font-size:25px;line-height:1.25;letter-spacing:-.02em;font-weight:550}.service-row p{font-size:16px;line-height:1.75;color:var(--muted);max-width:395px}.service-scope{border-inline-start:1px solid var(--line);padding-inline-start:26px}.service-scope span{display:block;font-size:10px;color:var(--muted);margin-bottom:10px}.service-scope p{font-size:14px;color:#c6d4d9;line-height:1.9}.technology{border-block:1px solid var(--line);background:var(--surface)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:20px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:20px 25px;font-size:15px;color:var(--muted);white-space:nowrap}.tabs button:first-child{padding-inline-start:0;padding-inline-end:36px}.tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.tabs button:hover{color:var(--text)}.tech-panel{display:grid;grid-template-columns:1.65fr 1fr;gap:54px;padding-top:42px;min-height:495px}.diagram{position:relative;aspect-ratio:1.65;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(#20313766 1px,transparent 1px),linear-gradient(90deg,#20313766 1px,transparent 1px);background-size:32px 32px;border:1px solid #203037;overflow:hidden}.diagram svg{display:block;width:100%;height:auto;max-height:100%;font-family:var(--mono)}.diagram svg .line{fill:none;stroke:#61968f;stroke-width:1.3}.diagram svg .node{fill:#0e1b21;stroke:#82a7aa;stroke-width:1.2}.diagram svg .accent{fill:var(--accent)}.diagram svg .muted{fill:#587078}.diagram svg text{fill:#c9d7dd;font-size:12px;text-anchor:middle}.diagram svg .big{font:20px var(--sans);fill:var(--text)}.diagram svg .small{font-size:10px;fill:#99afb7}.diagram-caption{display:flex;justify-content:space-between;gap:20px;margin-top:16px;color:#94acb4;font-size:9px}.tech-copy{padding-top:15px}.tech-name{font-size:10px;color:var(--accent);line-height:1.7;letter-spacing:.06em}.tech-copy h3{font-size:34px;line-height:1.2;font-weight:550;letter-spacing:-.03em;margin:15px 0 22px}.tech-copy p{font-size:16px;color:var(--muted);line-height:1.8}.help{margin:28px 0 20px;padding-top:22px;border-top:1px solid var(--line)}.help h4{font-size:18px;font-weight:500;margin-bottom:10px}.help p{font-size:15px}.demo-controls{display:flex;flex-wrap:wrap;gap:17px;margin-top:20px;align-items:center}.demo-controls[hidden],.demo-status[hidden]{display:none}.demo-controls .button{font-size:12px;min-height:39px;padding:9px 15px}.small-button{border:0;border-bottom:1px solid #586c73;background:transparent;padding:8px 0;font-size:12px}.demo-status{font-size:13px;color:var(--muted);line-height:1.7;margin-top:14px;min-height:45px}.company-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:100px}.company h2{font-size:clamp(33px,3.35vw,51px);line-height:1.17;letter-spacing:-.035em;font-weight:530}.company-copy{padding-top:44px}.company-copy p{font-size:19px;line-height:1.8;color:var(--muted)}.company-copy .text-link{margin-top:20px;color:var(--accent)}.process{margin-top:72px;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding:32px 0}.process article{padding:0 34px;border-inline-start:1px solid var(--line)}.process article:first-child{padding-inline-start:0;border-inline-start:0}.process article:last-child{padding-inline-end:0}.process .mono{color:var(--accent);font-size:11px}.process h3{font-size:22px;line-height:1.4;margin:17px 0 13px;font-weight:530;letter-spacing:-.02em}.process p{font-size:14px;line-height:1.8;color:var(--muted)}.contact{background:#11211f;border-block:1px solid #31524b}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center}.contact h2{font-size:clamp(40px,4.7vw,70px);font-weight:540;letter-spacing:-.045em;line-height:1.1}.contact p{color:#a9c4be;font-size:18px;line-height:1.75;margin-top:26px;max-width:590px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;padding-top:45px}.contact-actions .button{font-size:14px}.email{font:19px var(--mono);margin-top:27px}.copy-email{border:0;border-bottom:1px solid #5e8177;background:none;padding:9px 0;color:#b2c9c2;font:12px var(--mono);margin-top:7px}.copy-status{min-height:26px;font-size:12px;color:var(--accent);padding-top:10px}.footer{display:flex;align-items:center;gap:36px;padding-block:38px}.footer .brand-logo{width:160px;height:42px}.footer p{color:var(--muted);font-size:12px}.copyright{font:10px var(--mono);color:#94a1a9;margin-inline-start:auto}.skip{position:fixed;left:16px;top:-80px;padding:12px;background:var(--accent);color:var(--bg);z-index:100}.skip:focus{top:15px}.noscript{padding:25px;background:#19302a;color:white}.signal{stroke-dasharray:5 7;animation:signal-flow 4s linear infinite}.diagram:not(.playing) .signal{animation:none}@keyframes signal-flow{to{stroke-dashoffset:-96}}
html[lang=zh] h1{font-size:clamp(43px,4.55vw,68px);line-height:1.22;letter-spacing:-.03em;margin-inline-end:0;max-width:610px}html[lang=zh] .hero-description{max-width:490px}html[lang=zh] .section-heading h2{max-width:900px;line-height:1.35}html[lang=zh] .tech-copy h3{font-size:30px;line-height:1.4}html[lang=zh] .company h2{line-height:1.35}html[lang=zh] .contact h2{font-size:clamp(38px,4vw,59px);line-height:1.32;max-width:650px}
@media(min-width:1700px){.hero{min-height:710px}.hero-art{margin-inline-end:-70px}.hero-description{font-size:22px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.header{gap:23px}.header nav{gap:22px}.header-actions{gap:20px}.brand-logo{width:165px;height:44px}.hero{min-height:575px}.hero-description{font-size:18px;max-width:410px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-art{margin-inline-start:-25px;margin-inline-end:-25px}.hero-copy{padding-block:60px}h1{font-size:58px}.expertise-rail a{font-size:13px;gap:14px;padding-inline:18px}.section{padding-block:85px}.service-row{grid-template-columns:24px 1fr 1.2fr;gap:22px}.service-scope{grid-column:3;border-inline-start:0;padding-inline-start:0;margin-top:-8px}.tech-panel{gap:30px;grid-template-columns:1.3fr 1fr}.tech-copy h3{font-size:29px}.company-grid{gap:55px}.contact-grid{gap:35px}.contact-actions .button{white-space:normal;text-align:left}.tabs{gap:0}.tabs button{padding-inline:19px}.copyright{font-size:9px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header{height:85px;gap:20px}.brand-logo{width:157px;height:42px}.header nav{display:none;position:absolute;left:-20px;right:-20px;top:84px;background:#0c1419;border-bottom:1px solid var(--line);padding:25px 20px;flex-direction:column;gap:25px}.header nav.open{display:flex}.header-actions{margin-inline-start:auto;gap:20px}.header-contact{display:none}#menu{display:flex;flex-direction:column;gap:6px;justify-content:center;border:0;background:transparent;width:30px;height:42px;padding:3px}#menu span{display:block;width:24px;height:1px;background:var(--text)}.hero{display:flex;flex-direction:column;min-height:auto;align-items:stretch}.hero-copy{padding:62px 0 10px;pointer-events:auto}h1{font-size:clamp(42px,8vw,66px);margin-inline-end:0;letter-spacing:-.05em}.hero-description{max-width:560px;margin-top:24px;font-size:18px}.hero-actions{margin-top:27px;gap:25px}.hero-art{height:390px;margin:0 -5px;align-self:auto;order:2}.art-coordinate{inset:40px 20px}.expertise-rail{min-height:80px;grid-template-columns:1.1fr 1fr 1fr}.expertise-rail a{font-size:12px;line-height:1.6;padding:15px 13px;gap:10px;align-items:flex-start}.expertise-rail .mono{font-size:9px;padding-top:3px}.section{padding-block:70px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:36px}.section-heading .intro{font-size:16px;margin-top:20px}.service-row{grid-template-columns:25px 1fr;gap:20px;padding-block:30px}.service-row h3{font-size:25px}.service-row h3 br{display:none}.service-row>p,.service-scope{grid-column:2;max-width:none}.service-row>p{font-size:16px;margin-top:-8px}.service-scope{margin-top:0}.tech-panel{grid-template-columns:1fr;gap:28px;min-height:0}.tech-copy{padding-top:0}.tech-copy h3{max-width:540px;font-size:32px;margin-top:12px}.tech-copy>p{max-width:620px}.help{margin-top:24px}.tabs{overflow-x:auto}.tabs button{font-size:13px;padding:17px 19px}.tabs button:first-child{padding-inline-end:22px}.company-grid{grid-template-columns:1fr;gap:25px}.company h2{max-width:550px;font-size:39px}.company-copy{padding-top:0;max-width:650px}.company-copy p{font-size:18px}.process{margin-top:44px;gap:0}.process article{padding-inline:20px}.process h3{font-size:19px}.process p{font-size:13px}.contact-grid{grid-template-columns:1fr;gap:20px}.contact h2{font-size:52px}.contact p{font-size:17px}.contact-actions{padding-top:8px}.footer{flex-wrap:wrap;gap:20px;padding-block:28px}.footer p{margin-inline-start:auto;font-size:11px}.copyright{width:100%;margin-inline-start:0}html[lang=zh] h1{font-size:clamp(40px,7vw,58px);max-width:650px}html[lang=zh] .contact h2{font-size:43px;max-width:540px}}
@media(max-width:440px){.hero-art{height:290px;margin-top:10px}.hero-copy{padding-top:44px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:18px;font-size:13px}.hero-actions .text-link{font-size:12px}.hero-description{font-size:16px}.expertise-rail a{padding-inline:10px;display:block}.expertise-rail .mono{display:block;margin-bottom:6px}.section-heading h2{font-size:30px}.section-heading h2 br{display:none}.section-index{margin-bottom:18px}.service-row h3{font-size:22px}.service-row>p{font-size:15px}.service-row{gap:16px}.diagram{aspect-ratio:1.4}.tabs button{padding-inline:14px;font-size:12px}.tabs button:first-child{padding-inline-end:18px}.company h2{font-size:32px}.company-copy p{font-size:16px}.process{display:block;padding:0}.process article,.process article:first-child,.process article:last-child{padding:25px 0;border-inline-start:0;border-bottom:1px solid var(--line)}.process article:last-child{border-bottom:0}.process h3{margin-block:10px}.process p{font-size:14px}.contact h2{font-size:44px}.contact p{font-size:16px}.footer .brand-logo{width:145px;height:39px}.footer p{width:100%;margin:0}.footer{gap:14px}.tech-copy h3{font-size:29px}.diagram-caption{font-size:8px;letter-spacing:.05em}html[lang=zh] h1{font-size:42px}html[lang=zh] .contact h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.art-image{transform:none!important}}
.research-lineage{display:grid;grid-template-columns:1fr 1.65fr;gap:70px;margin-top:62px;padding-top:34px;border-top:1px solid var(--line)}.research-lineage .mono{font-size:10px;color:var(--accent);line-height:1.7}.research-lineage h3{font-size:29px;line-height:1.3;letter-spacing:-.02em;font-weight:530;margin-top:15px}.research-lineage p{font-size:15px;line-height:1.8;color:#b5c4cb}.research-lineage .research-note{font-size:12px;line-height:1.8;color:#91a6ae;margin-top:19px}.research-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:25px}.research-details h4{font:14px var(--mono);color:var(--accent);margin-bottom:9px}.research-details p{font-size:13px}.brand-logo{background-position:left center}
@media(max-width:800px){.research-lineage{grid-template-columns:1fr;gap:20px;margin-top:38px}.research-lineage h3{font-size:28px}.research-details{gap:22px}}
@media(max-width:440px){.research-details{grid-template-columns:1fr}.tabs{flex-wrap:wrap;overflow:visible}.tabs button,.tabs button:first-child{padding:14px 15px}.tabs button:first-child{padding-inline-start:0}.tabs button:last-child{padding-inline-start:0}.research-lineage p{font-size:14px}}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
.term{white-space:nowrap}
@media(max-width:600px){.diagram svg text{font-size:20px}.diagram svg .small{font-size:18px}.diagram svg .big{font-size:27px}.diagram-caption{font-size:10px;letter-spacing:0}.tech-name{font-size:11px}}
@media(max-width:440px){.header{gap:12px}.header .brand-logo{width:145px}.header-actions{gap:12px}}

.language{width:104px;border:1px solid var(--line);border-radius:0;padding:10px 7px;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;cursor:pointer;min-height:42px;direction:ltr}.language:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.language option{background:var(--surface);color:var(--text)}
html:lang(ja) h1,html:lang(ko) h1{font-size:clamp(40px,4.2vw,65px);line-height:1.25;margin-inline-end:0;letter-spacing:-.03em}html:lang(ko){word-break:keep-all;overflow-wrap:break-word}html:lang(ja) h2,html:lang(ko) h2{line-height:1.35}html:lang(ar){--sans:'Segoe UI',Tahoma,Arial,sans-serif;--mono:'Segoe UI',Tahoma,Arial,sans-serif}html:lang(ar) .mono,html:lang(ar) .tech-name,html:lang(ar) .section-index{letter-spacing:0}html:lang(ar) h1{font-size:clamp(42px,4.4vw,67px);line-height:1.3;margin-inline-end:0;letter-spacing:0}html:lang(ar) h2,html:lang(ar) h3{letter-spacing:0;line-height:1.4}html:lang(ar) .hero-description{line-height:1.9}html[dir=rtl] .arrow{transform:scaleX(-1)}html[dir=rtl] .arrow.diagonal{transform:scaleX(-1) rotate(-45deg)}html[dir=rtl] .brand-logo{background-position:right center}html[dir=rtl] .diagram{direction:ltr}html[dir=rtl] .diagram svg text{direction:rtl;unicode-bidi:plaintext}html[dir=rtl] .diagram-code,.email,.copyright{direction:ltr;unicode-bidi:isolate}html[dir=rtl] .contact-actions .button{text-align:right}
@media(max-width:1150px) and (min-width:801px){.header{gap:15px}.header-actions{gap:12px}.header nav{gap:16px}.header nav a{font-size:13px}.header-contact{padding-inline:14px;gap:10px}}
@media(max-width:600px){html:lang(ar) .diagram svg text{font-size:18px}html:lang(ar) .diagram svg .small{font-size:16px}html:lang(ar) .diagram svg .big{font-size:25px}}
@media(max-width:440px){.header .brand-logo{width:120px;height:34px}.header-actions{gap:10px}.header{gap:10px}.language{width:94px;font-size:12px}html:lang(ja) h1,html:lang(ko) h1{font-size:36px}html:lang(ar) h1{font-size:40px}.tabs{column-gap:12px}.tabs button,.tabs button:first-child,.tabs button:last-child{padding-inline:0}.hero-actions .button{white-space:normal;text-align:start}.hero-actions .text-link{max-width:100%}}
