:root { --bg:#f6f9ff; --paper:#fff; --ink:#071a39; --muted:#586b88; --blue:#1769ff; --blue2:#5aa7ff; --line:#d9e4f3; color-scheme:light; }
body { background:var(--bg); color:var(--ink); }
.scroll-progress { color:var(--blue); }
.site-header { position:fixed; z-index:100; inset:0 0 auto; height:var(--header-h); background:rgba(246,249,255,.78); border-bottom:1px solid transparent; backdrop-filter:blur(18px); transition:border .3s ease,box-shadow .3s ease; }
.site-header.is-scrolled { border-color:var(--line); box-shadow:0 10px 40px rgba(23,61,116,.06); }
.header-inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { width:236px; }
.brand img { width:228px; }
.site-nav { display:flex; align-items:center; gap:27px; color:#314664; font-size:14px; }
.site-nav a { position:relative; padding:12px 0; }
.site-nav a:not(.nav-cta)::after { content:""; position:absolute; inset:auto 0 3px; height:2px; background:var(--blue); transform:scaleX(0); transition:transform .25s ease; }
.site-nav a:hover::after,.site-nav a.is-active::after { transform:scaleX(1); }
.nav-cta { display:flex; align-items:center; gap:20px; padding:11px 19px !important; border-radius:999px; background:linear-gradient(110deg,var(--blue),#08234a); color:#fff; font-weight:700; }
.nav-cta b { font-size:18px; }

.hero { padding-top:calc(var(--header-h) + clamp(60px,8vw,120px)); overflow:hidden; background:radial-gradient(circle at 72% 4%,rgba(83,153,255,.15),transparent 28%),var(--bg); }
.hero-top { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:clamp(50px,8vw,120px); }
.hero-title > p { color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.16em; }
.hero h1 { margin-top:25px; font-size:clamp(54px,6.8vw,104px); line-height:1.03; letter-spacing:-.065em; }
.hero h1 span { color:var(--blue); }
.hero-intro { padding-bottom:8px; }
.hero-intro > p { font-size:17px; line-height:1.9; color:#4b607d; }
.hero-intro strong { color:var(--blue); }
.hero-intro a { display:inline-flex; align-items:center; gap:34px; margin-top:27px; padding:14px 23px; border:1px solid var(--blue); border-radius:999px; color:var(--blue); font-size:14px; font-weight:800; transition:background .25s ease,color .25s ease,transform .25s ease; }
.hero-intro a:hover { background:var(--blue); color:#fff; transform:translateY(-2px); }
.photo-wall { width:min(1420px,calc(100% - 24px)); margin:clamp(64px,7vw,105px) auto 0; display:grid; grid-template-columns:.78fr 1fr .82fr .72fr; align-items:center; gap:16px; transform:rotate(-1.4deg); }
.photo-wall figure { position:relative; overflow:hidden; height:clamp(410px,43vw,650px); border-radius:clamp(18px,2vw,32px); box-shadow:0 26px 70px rgba(13,48,102,.18); background:#0b1b34; transition:transform .5s var(--ease),box-shadow .5s ease; }
.photo-wall figure:nth-child(1) { height:82%; transform:rotate(-1.8deg) translateY(20px); }
.photo-wall figure:nth-child(2) { transform:rotate(2.1deg) translateY(-8px); }
.photo-wall figure:nth-child(3) { height:90%; transform:rotate(-1deg) translateY(12px); }
.photo-wall figure:nth-child(4) { height:77%; transform:rotate(1.5deg) translateY(24px); }
.photo-wall figure:hover { z-index:3; transform:rotate(0) translateY(-12px) scale(1.02); box-shadow:0 36px 90px rgba(13,48,102,.26); }
.photo-wall img { height:100%; object-fit:cover; }
.photo-wall figure:nth-child(2) img { object-position:center; }
.photo-wall figcaption { position:absolute; inset:auto 16px 16px; padding:12px 14px; border-radius:12px; color:#fff; background:rgba(5,18,38,.62); backdrop-filter:blur(12px); }
.photo-wall small { display:block; color:#9fc9ff; font-size:9px; letter-spacing:.16em; }
.photo-wall span { display:block; margin-top:5px; font-size:14px; font-weight:700; }

.section { padding:var(--section-space) 0; }
.section-kicker { color:var(--blue); }
.position { background:#fff; }
.position-head { display:grid; grid-template-columns:220px 1fr; align-items:start; }
.position-head h2,.pipeline-head h2,.split-title h2,.works-head h2,.license-head h2,.contact h2 { font-size:clamp(42px,5.3vw,78px); line-height:1.1; letter-spacing:-.055em; }
.position-body { display:grid; grid-template-columns:1fr 1fr; gap:58px; max-width:920px; margin:62px 0 0 auto; color:#53657f; font-size:17px; line-height:1.9; }
.facts { display:grid; grid-template-columns:repeat(4,1fr); margin-top:64px; border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.facts div { padding:24px; border-right:1px solid var(--line); }
.facts div:last-child { border-right:0; }
.facts dt { color:#7c8da5; font-size:12px; }
.facts dd { margin-top:10px; font-size:15px; font-weight:800; }

.pipeline { overflow:hidden; background:linear-gradient(180deg,#f6f9ff,#edf5ff); }
.pipeline-head { text-align:center; }
.pipeline-head .section-kicker { justify-content:center; }
.pipeline-head h2 { margin-top:26px; }
.pipeline-head h2 span { color:var(--blue); }
.pipeline-head > p { max-width:680px; margin:22px auto 0; color:#61738e; font-size:16px; line-height:1.8; }
.pipeline-flow { position:relative; display:grid; grid-template-columns:repeat(6,1fr); gap:16px; margin-top:78px; }
.pipeline-flow::before { content:""; position:absolute; top:25px; left:6%; right:6%; height:2px; background:linear-gradient(90deg,#bad4ff,var(--blue),#9ac9ff); }
.pipeline-flow li { position:relative; padding-top:0; text-align:center; }
.pipeline-flow li::after { content:""; position:absolute; top:12px; left:50%; width:24px; height:24px; border:6px solid #edf5ff; border-radius:50%; background:#a8c9f9; transform:translateX(-50%); transition:background .4s ease,box-shadow .4s ease; }
.pipeline-flow li.is-active::after { background:var(--blue); box-shadow:0 0 0 7px rgba(23,105,255,.12); }
.pipeline-flow span { position:relative; z-index:2; width:52px; height:52px; display:grid; place-items:center; margin:auto; border-radius:50%; background:#fff; border:1px solid #bed4f2; color:var(--blue); font:13px ui-monospace,monospace; box-shadow:0 8px 26px rgba(30,77,147,.08); }
.pipeline-flow h3 { margin-top:31px; font-size:21px; }
.pipeline-flow p { margin-top:11px; color:#687a94; font-size:14px; line-height:1.65; }

.technology { background:#fff; }
.tech-panel { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; padding:clamp(44px,6vw,82px); border-radius:40px; background:linear-gradient(135deg,#0f66ff,#102b62); color:#fff; box-shadow:0 36px 100px rgba(17,78,177,.24); }
.tech-copy .section-kicker { color:#b9dcff; }
.tech-copy h2 { margin-top:28px; font-size:clamp(44px,5vw,74px); line-height:1.08; letter-spacing:-.05em; }
.tech-copy > p:not(.section-kicker) { margin-top:26px; color:#d5e6ff; line-height:1.85; }
.tech-copy a { display:inline-flex; gap:30px; margin-top:30px; padding-bottom:7px; border-bottom:1px solid #fff; font-weight:800; }
.tech-stack { display:flex; flex-direction:column; justify-content:center; gap:12px; }
.tech-stack article { display:grid; grid-template-columns:56px 1fr 26px; align-items:center; gap:16px; padding:20px; border:1px solid rgba(255,255,255,.23); border-radius:18px; background:rgba(255,255,255,.1); backdrop-filter:blur(12px); transition:transform .3s ease,background .3s ease; }
.tech-stack article:hover { transform:translateX(8px); background:rgba(255,255,255,.16); }
.tech-stack article > span { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--blue); font:12px ui-monospace,monospace; }
.tech-stack h3 { font-size:18px; }
.tech-stack p { margin-top:4px; color:#bcd3f5; font-size:12px; }

.advantages { background:#f6f9ff; }
.split-title { display:grid; grid-template-columns:260px 1fr; align-items:start; }
.advantage-list { margin-top:62px; border-top:1px solid var(--line); }
.advantage-list article { display:grid; grid-template-columns:80px 1fr 180px; align-items:center; gap:34px; padding:30px 10px; border-bottom:1px solid var(--line); transition:background .3s ease,padding .3s ease; }
.advantage-list article:hover { padding-left:24px; background:#fff; }
.advantage-list b { color:var(--blue); font:18px ui-monospace,monospace; }
.advantage-list h3 { font-size:25px; }
.advantage-list p { margin-top:7px; color:#677991; }
.advantage-list span { color:#8da0ba; font:10px ui-monospace,monospace; letter-spacing:.14em; text-align:right; }

.works { background:#fff; }
.works-head { display:flex; justify-content:space-between; align-items:end; gap:50px; }
.works-head h2 { margin-top:24px; }
.works-head > p { max-width:330px; color:#71829a; line-height:1.8; }
.works-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }
.works-grid figure { aspect-ratio:2/3; overflow:hidden; border-radius:26px; box-shadow:0 24px 60px rgba(11,50,108,.13); }
.works-grid img { height:100%; object-fit:cover; transition:transform .75s var(--ease); }
.works-grid article:hover img { transform:scale(1.05); }
.works-grid small { display:block; margin-top:20px; color:var(--blue); font:10px ui-monospace,monospace; letter-spacing:.15em; }
.works-grid h3 { margin-top:8px; font-size:23px; }

.cooperation { background:#f6f9ff; }
.coop-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:56px; }
.coop-grid article { min-height:280px; padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; transition:transform .35s ease,box-shadow .35s ease; }
.coop-grid article:hover { transform:translateY(-8px); box-shadow:0 28px 64px rgba(24,67,126,.11); }
.coop-grid span { color:var(--blue); font:13px ui-monospace,monospace; }
.coop-grid h3 { margin-top:65px; font-size:21px; }
.coop-grid p { margin-top:13px; color:#687990; line-height:1.7; }
.coop-grid small { display:block; margin-top:24px; color:#9aaac0; letter-spacing:.13em; }

.licensing { background:#fff; }
.license-head { display:grid; grid-template-columns:220px 1fr 360px; align-items:end; gap:30px; }
.license-head > p { color:#657790; line-height:1.8; }
.license-table { margin-top:55px; border-top:2px solid var(--ink); }
.license-table article { display:grid; grid-template-columns:70px 310px 1fr; align-items:center; gap:28px; padding:24px 8px; border-bottom:1px solid var(--line); }
.license-table article > span { color:var(--blue); font:17px ui-monospace,monospace; }
.license-table small { color:#8394aa; font-size:10px; letter-spacing:.1em; }
.license-table h3 { margin-top:5px; font-size:22px; }
.license-table p { color:#61728a; line-height:1.75; }
.license-foot { display:flex; justify-content:space-between; gap:30px; margin-top:18px; color:#6c7d94; font-size:13px; }
.license-foot b { max-width:620px; color:#40536e; text-align:right; }

.contact { padding:clamp(100px,12vw,180px) 0; background:radial-gradient(circle at 12% 20%,rgba(112,169,255,.35),transparent 28%),linear-gradient(135deg,#eef6ff,#dcecff); }
.contact-grid { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:90px; }
.contact h2 { margin-top:26px; }
.contact-copy { padding:28px; border:1px solid rgba(23,105,255,.2); border-radius:22px; background:rgba(255,255,255,.72); box-shadow:0 28px 70px rgba(44,91,156,.1); backdrop-filter:blur(12px); }
.contact-copy h3 { margin-bottom:18px; font-size:18px; line-height:1.5; }
.contact-copy p { padding:10px 0; border-top:1px solid var(--line); color:#5d708b; font-size:14px; }
.contact-copy a { display:flex; justify-content:space-between; margin-top:18px; color:var(--blue); font-weight:800; }
.site-footer { padding:34px 0 94px; border-top:1px solid var(--line); background:#f6f9ff; }
.site-footer .shell { display:grid; grid-template-columns:230px 1fr auto; align-items:center; gap:28px; color:#74859b; font-size:12px; }
.site-footer img { width:220px; }
.site-footer p { text-align:center; }
.theme-jump { border:1px solid rgba(45,94,164,.18); background:rgba(255,255,255,.88); color:#647792; }
.theme-jump a { color:#415672; }
.theme-jump a:hover { background:#e8f1ff; }
.theme-jump a[aria-current="page"] { background:var(--blue); color:#fff; }

@media(max-width:1080px){.site-nav{gap:16px;font-size:13px}.photo-wall{grid-template-columns:repeat(4,1fr)}.pipeline-flow{grid-template-columns:repeat(3,1fr);row-gap:48px}.pipeline-flow::before{display:none}.coop-grid{grid-template-columns:repeat(2,1fr)}.license-head{grid-template-columns:180px 1fr}.license-head>p{grid-column:2}.contact-grid{grid-template-columns:1fr 380px;gap:50px}}
@media(max-width:920px){.brand{width:210px}.brand img{width:205px}[data-nav]{background:rgba(255,255,255,.98);border:1px solid var(--line);box-shadow:0 24px 70px rgba(20,53,104,.15)}[data-nav] a:hover{background:#edf5ff}.hero-top{grid-template-columns:1fr}.hero-intro{max-width:650px}.photo-wall{grid-template-columns:repeat(2,1fr);padding:0 24px}.photo-wall figure,.photo-wall figure:nth-child(n){height:520px;transform:none}.position-head,.split-title{grid-template-columns:1fr}.position-head h2,.split-title h2{margin-top:26px}.facts{grid-template-columns:repeat(2,1fr)}.facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid var(--line)}.tech-panel{grid-template-columns:1fr}.works-head{display:block}.works-head>p{margin-top:22px}.license-head{grid-template-columns:1fr}.license-head>p{grid-column:auto}.contact-grid{grid-template-columns:1fr}.site-footer .shell{grid-template-columns:1fr;text-align:center}.site-footer img{margin:auto}}
@media(max-width:640px){.hero{padding-top:calc(var(--header-h) + 45px)}.hero h1{font-size:49px}.photo-wall{width:100%;grid-template-columns:repeat(4,78vw);overflow-x:auto;scroll-snap-type:x mandatory;padding:22px 12px 38px;transform:none}.photo-wall figure,.photo-wall figure:nth-child(n){height:510px;scroll-snap-align:center}.position-body{grid-template-columns:1fr;gap:20px;margin-top:38px}.facts{grid-template-columns:1fr}.facts div{border-right:0!important;border-bottom:1px solid var(--line)!important}.pipeline-flow{grid-template-columns:repeat(2,1fr);gap:38px 16px}.pipeline-flow p{font-size:13px}.tech-panel{padding:34px 20px;border-radius:24px}.advantage-list article{grid-template-columns:48px 1fr}.advantage-list span{display:none}.works-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px}.works-grid article{min-width:82vw;scroll-snap-align:start}.coop-grid{grid-template-columns:1fr}.license-table article{grid-template-columns:48px 1fr}.license-table article>p{grid-column:2}.license-foot{display:block}.license-foot b{display:block;margin-top:12px;text-align:left}.contact-copy{padding:21px}}
