.flagship-home{background:#fafbf9;color:#092d4c}.flagship-home .topbar{height:82px;padding:14px 4.5vw;background:rgba(250,251,249,.94);border-bottom:1px solid #e4e9e7;backdrop-filter:blur(18px)}.flagship-home .topbar .brand img{filter:none!important;mix-blend-mode:multiply!important}.flagship-home .desktop-nav{color:#28495f;font-size:12px;gap:30px}.catalog-button{display:flex;align-items:center;gap:16px;border:1px solid #bdc9ce;border-radius:3px;background:transparent;padding:12px 18px;cursor:pointer;color:#143a55;font-size:12px}.catalog-button:hover{background:#062e56;color:white;border-color:#062e56}
.flagship-hero{display:grid;grid-template-columns:minmax(320px,.76fr) minmax(0,1.24fr);gap:2vw;max-width:1720px;margin:auto;padding:132px 4.5vw 60px;align-items:center;min-height:calc(100svh - 20px);scroll-margin-top:82px}.flagship-copy{max-width:465px;padding-right:1.5vw}.flagship-kicker{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.13em;color:#456377}.flagship-kicker i,.viewer-badge i{width:6px;height:6px;background:#bd985b;border-radius:50%;display:inline-block}.aircraft-series{font-size:9px;letter-spacing:.16em;color:#718897;margin:32px 0 15px}.flagship-copy h1{font-family:Georgia,"Noto Serif SC","Songti SC","SimSun",serif;font-size:clamp(44px,4.4vw,70px);line-height:1.13;margin:0;font-weight:600;white-space:nowrap}.flagship-copy h1 span{display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.3em;font-weight:400;margin-top:17px;color:#6e8597}.flagship-lead{font-family:"Noto Serif SC","Songti SC","SimSun",serif;font-size:24px;font-weight:500;line-height:1.6;margin:30px 0 14px}.flagship-description{font-size:13px;line-height:1.95;color:#627a89;margin:0;max-width:425px}.aircraft-facts{display:flex;gap:28px;margin:24px 0;padding:18px 0;border-top:1px solid #dee6e6;border-bottom:1px solid #dee6e6}.aircraft-facts dt{color:#7b8c94;font-size:10px;margin-bottom:7px}.aircraft-facts dd{margin:0;color:#254960;font-size:11px;white-space:nowrap}.catalog-primary{display:inline-flex;align-items:center;gap:42px;padding:14px 20px;color:white;background:#092f50;border-radius:3px;font-size:12px}.catalog-primary:hover{background:#146786}.reference-link{display:flex;align-items:center;gap:13px;width:100%;max-width:390px;padding:14px 0;margin-top:17px;border:0;border-bottom:1px solid #dee6e6;background:transparent;text-align:left;color:#14394f;cursor:pointer}.reference-link img{width:65px;height:60px;object-fit:cover;object-position:top;border:1px solid #dce3e6}.reference-link small{display:block;font-size:8px;letter-spacing:.18em;color:#8c9ca5;margin-bottom:8px}.reference-link strong{font-size:12px;font-weight:500}.reference-link b{margin-left:auto;font-weight:400}
.flagship-display{min-width:0;align-self:center}.flight-stage{height:clamp(420px,42vw,580px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 55% 55%,#dfeaf0 0%,#edf3f4 37%,#f7f9f7 70%);border:1px solid #e1e8e8;border-radius:5px}.stage-watermark{position:absolute;right:3%;top:13%;font:clamp(110px,18vw,300px)/1 Georgia,serif;color:rgba(15,52,75,.035);letter-spacing:-.07em;pointer-events:none}.stage-halo{position:absolute;width:73%;aspect-ratio:1;border:1px solid rgba(51,103,129,.09);border-radius:50%;left:18%;top:11%;pointer-events:none}.stage-halo:after{content:"";position:absolute;inset:13%;border-radius:50%;border:1px solid rgba(51,103,129,.07)}.model-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity .7s}.flight-stage.ready .model-poster{opacity:0}.canvas-host{position:absolute;inset:0;opacity:0;transition:opacity .7s}.flight-stage.ready .canvas-host{opacity:1}.canvas-host canvas{display:block;width:100%;height:100%;outline-offset:-4px;touch-action:none;cursor:grab}.canvas-host canvas:active{cursor:grabbing}.viewer-badge{position:absolute;left:22px;top:24px;display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:.19em;color:#567789;pointer-events:none}.viewer-badge i{background:#2b7890}.viewer-fullscreen{position:absolute;right:17px;top:16px;width:35px;height:35px;display:grid;place-items:center;border:1px solid #cbd9df;border-radius:50%;background:rgba(255,255,255,.55);color:#24495f;font-size:21px;cursor:pointer}.viewer-hint{position:absolute;bottom:25px;left:20px;right:20px;text-align:center;font-size:10px;color:#708493;pointer-events:none}.model-loader{position:absolute;left:50%;bottom:57px;transform:translateX(-50%);text-align:center;font-size:11px;color:#587488;white-space:nowrap}.model-loader i{display:block;width:130px;height:2px;background:#cfdbde;margin:10px auto}.model-loader b{display:block;width:5%;height:100%;background:#548ca1;transition:width .3s}.flight-stage.ready .model-loader{display:none}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid #dee5e6}.viewer-toolbar button{background:transparent;color:#647d8e;border:1px solid transparent;border-radius:3px;padding:8px 10px;font-size:10px;cursor:pointer;white-space:nowrap}.view-presets{display:flex;gap:2px}.viewer-toolbar button.active,.viewer-toolbar button[aria-pressed="true"]{border-color:#afc6d0;color:#133c55;background:#edf4f5}.viewer-toolbar button:hover{color:#075674}.viewer-toolbar #autoRotate{border-left:1px solid #d2dee2;border-radius:0;padding-left:15px}.display-caption{display:flex;justify-content:space-between;gap:10px;padding-top:17px;font-size:9px;color:#82949f;letter-spacing:.06em}.display-caption button{border:0;padding:0;color:#607b8d;background:none;font-size:10px;cursor:pointer}.flight-stage:fullscreen{border:0;border-radius:0;background:#edf2f4}.flight-stage:fullscreen .viewer-hint{font-size:13px;bottom:30px}
.portfolio-directory{max-width:1720px;margin:auto;padding:80px 4.5vw 95px;border-top:1px solid #dfe7e7;scroll-margin-top:82px}.editorial-label{font-size:9px;letter-spacing:.18em;color:#b18b4f}.directory-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:43px}.directory-heading h2{font-family:"Songti SC","SimSun",Georgia,serif;font-size:clamp(33px,3.6vw,51px);line-height:1.4;margin:16px 0 0;font-weight:500}.directory-heading p{font-size:13px;line-height:1.9;color:#6c8190;margin:0 0 18px;max-width:390px}.directory-heading a{font-size:11px;border-bottom:1px solid #92aebb;padding-bottom:7px;display:inline-flex;gap:28px;color:#234f67}.directory-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;border-bottom:1px solid #dae4e6;padding-bottom:17px}.chapter-filters{display:flex;gap:8px;flex-wrap:wrap}.chapter-filters button{padding:9px 14px;border:1px solid transparent;background:transparent;color:#6d8492;font-size:11px;border-radius:2px;cursor:pointer}.chapter-filters button.active{background:#0d3553;color:white;border-color:#0d3553}.directory-controls>span{font-size:10px;white-space:nowrap;color:#8397a3}.chapter-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.chapter-index-card{display:grid;grid-template-columns:100px minmax(0,1fr);column-gap:18px;align-items:start;padding:22px;background:white;border:1px solid #dce5e7;border-radius:3px;transition:transform .35s ease,border-color .35s,box-shadow .35s;min-width:0}.chapter-index-card[hidden]{display:none}.chapter-index-card:hover{border-color:#8bb3c6;transform:translateY(-3px);box-shadow:0 10px 32px rgba(31,65,84,.07)}.index-card-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.index-card-top>span{font:23px Georgia,serif;color:#b39360}.index-card-top b{font-size:15px;font-weight:400;color:#82a7b8}.chapter-index-card>img{width:100px;height:128px;object-fit:cover;object-position:top;border-radius:2px}.index-card-copy{min-width:0}.index-card-copy small{font-size:7px;letter-spacing:.11em;color:#8da1ae}.index-card-copy h3{font-family:"Songti SC","SimSun",serif;font-size:20px;line-height:1.4;font-weight:600;margin:8px 0}.index-card-copy p{font-size:10px;line-height:1.8;color:#7a8d99;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 13px}.index-card-copy>span{font-size:9px;color:#90a2aa;display:flex;justify-content:space-between;gap:5px;flex-wrap:wrap}.index-card-copy i{font-style:normal;color:#427790}.project-note{padding:64px 4.5vw 74px;background:#f0f4f3;display:grid;grid-template-columns:.45fr 1fr;gap:10vw;scroll-margin-top:100px}.project-note h2{font-family:"Songti SC","SimSun",serif;font-size:30px;font-weight:500;margin:0 0 20px}.project-note p{font-size:13px;color:#607b8b;line-height:1.95;max-width:690px;margin:0 0 24px}.project-note small{color:#98a8af;font-size:10px}.homepage-footer{display:flex;justify-content:space-between;gap:20px;padding:25px 4.5vw;font-size:9px;letter-spacing:.07em;color:#91a3ad}.homepage-footer a{color:#54758a}
.flagship-home .menu-panel{width:min(490px,100%);padding:26px 35px;overflow-y:auto;background:#fafbf9;z-index:16000}.flagship-home .menu-links a{padding:14px 0;font-size:16px}.menu-links a b{font:16px Georgia,serif;color:#b39360;margin-right:7px}.flagship-home .menu-links a small{font-size:7px;letter-spacing:.09em}.menu-intro{font-size:11px;color:#8496a0;margin-bottom:10px}.menu-backdrop{position:fixed;inset:0;border:0;background:rgba(5,25,40,.4);backdrop-filter:blur(4px);z-index:15500;opacity:0;visibility:hidden;transition:opacity .3s;cursor:pointer}.menu-open .menu-backdrop{visibility:visible;opacity:1}.reference-dialog{width:min(920px,92vw);max-height:90svh;border:1px solid #d6e1e7;border-radius:5px;padding:25px;background:#f7f9f8;color:#153b54;overflow:auto}.reference-dialog::backdrop{background:rgba(2,21,37,.84);backdrop-filter:blur(6px)}.reference-dialog-head{display:flex;align-items:center;justify-content:space-between}.reference-dialog-head small{font-size:10px;color:#6d8796;letter-spacing:.07em}.reference-dialog-head h2{font-family:SimSun,serif;margin:10px 0 16px;font-size:25px}.reference-dialog-head button{border:0;background:none;color:#244c66;font-size:30px;cursor:pointer}.reference-tabs{display:flex;gap:8px;margin-bottom:15px}.reference-tabs button{background:none;border:1px solid #bcced8;border-radius:2px;padding:8px 15px;color:#496c80;font-size:11px;cursor:pointer}.reference-tabs button.active{background:#10364f;color:white;border-color:#10364f}.reference-dialog>img{display:block;width:100%;height:auto}
.intro-active{overflow:hidden}.flight-intro{position:fixed;inset:0;z-index:22000;overflow:hidden;background:#062842;color:white;isolation:isolate;transition:opacity .42s ease,visibility .42s}.flight-intro.finished{opacity:0;visibility:hidden;pointer-events:none}.intro-scenes,.intro-vignette{position:absolute;inset:0}.intro-scene{position:absolute;inset:-8%;background-size:cover;background-position:center 28%;opacity:0;will-change:transform,opacity}.scene-port{background-image:url('assets/images/16-img-16.webp')}.scene-world{background-image:url('assets/images/24-from-ningbo-to-the-world.webp')}.scene-sea{background-image:url('assets/images/17-747-2.webp')}.intro-vignette{background:linear-gradient(180deg,rgba(2,28,47,.7),rgba(2,30,47,.08) 45%,rgba(2,26,44,.9)),radial-gradient(ellipse,transparent 10%,rgba(0,21,42,.6) 90%)}.intro-brand{position:absolute;top:35px;left:4.5vw;display:flex;align-items:center;gap:28px;z-index:4}.intro-brand img{width:165px;filter:brightness(0) invert(1)}.intro-brand span{font-size:8px;letter-spacing:.23em;color:rgba(255,255,255,.65)}.intro-skip{position:absolute;top:34px;right:4.5vw;z-index:6;border:1px solid rgba(255,255,255,.35);border-radius:30px;padding:11px 18px;background:rgba(1,27,45,.3);backdrop-filter:blur(8px);color:white;cursor:pointer;font-size:11px;min-width:143px}.intro-skip span{display:inline-block;margin-left:12px;min-width:8px}.intro-skip b{font-weight:400;margin-left:12px}.intro-aircraft{position:absolute;width:min(145vw,2000px);max-width:none;height:auto;top:50%;left:50%;transform:translate(-50%,-50%) scale(.14);opacity:0;filter:drop-shadow(0 50px 50px rgba(0,16,38,.22));pointer-events:none;will-change:transform,opacity}.intro-caption{position:absolute;bottom:8vh;left:0;right:0;text-align:center;z-index:4;pointer-events:none}.intro-caption>span{display:block;font-size:8px;letter-spacing:.22em;color:#b6dce4}.intro-caption>strong{display:block;font-family:"SimSun",serif;font-size:25px;letter-spacing:.1em;font-weight:500;margin-top:15px}.intro-caption i{display:block;width:150px;height:1px;background:rgba(220,187,132,.35);margin:23px auto 0;position:relative;overflow:hidden}.intro-caption i:after{content:"";position:absolute;inset:0;background:#d6b87d;transform:translateX(-100%)}.intro-orbit{position:absolute;width:85vw;height:85vw;border-radius:50%;border:1px solid rgba(177,216,229,.1);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.intro-flash{position:absolute;inset:0;background:#fafbf9;opacity:0;pointer-events:none}.flight-intro.playing .intro-aircraft{animation:aircraft-arrival 3s cubic-bezier(.45,.02,.25,1) both}.flight-intro.playing .scene-port{animation:scene-port 3s ease both}.flight-intro.playing .scene-world{animation:scene-world 3s ease both}.flight-intro.playing .scene-sea{animation:scene-sea 3s ease both}.flight-intro.playing .intro-caption i:after{animation:intro-progress 3s linear both}.flight-intro.playing .intro-flash{animation:intro-flash 3s ease both}
@keyframes aircraft-arrival{0%{opacity:0;transform:translate(-8%,-105%) scale(.06) rotate(-9deg)}15%{opacity:.85}65%{opacity:1;transform:translate(-43%,-53%) scale(.70) rotate(-3deg)}85%{opacity:1;transform:translate(-53%,-47%) scale(1.1) rotate(0deg)}100%{opacity:0;transform:translate(-73%,-28%) scale(1.55) rotate(4deg)}}@keyframes scene-port{0%{opacity:.3;transform:scale(1.02) translateX(-1%)}38%{opacity:.55}75%,100%{opacity:0;transform:scale(1.11) translateX(2%)}}@keyframes scene-world{0%,15%{opacity:0}48%{opacity:.38}88%,100%{opacity:0;transform:scale(1.12)}}@keyframes scene-sea{0%,45%{opacity:0;transform:scale(1.02)}76%,100%{opacity:.45;transform:scale(1.09)}}@keyframes intro-progress{to{transform:translateX(0)}}@keyframes intro-flash{0%,85%{opacity:0}100%{opacity:1}}
.flagship-home button:focus-visible,.flagship-home a:focus-visible{outline:2px solid #1385a5;outline-offset:5px}
@media(max-width:1100px){.flagship-hero{grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr);gap:2vw;padding-left:4vw;padding-right:4vw}.flagship-copy h1{font-size:47px}.aircraft-facts{gap:18px}.flight-stage{height:510px}.chapter-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-controls{align-items:start;flex-direction:column;gap:12px}.flagship-home .desktop-nav{gap:18px}.viewer-toolbar{flex-wrap:wrap}.viewer-toolbar button{padding:7px 8px}}
@media(max-width:800px){.flagship-home .topbar{height:72px;padding:12px 22px}.flagship-home .brand{width:153px}.flagship-home .desktop-nav{display:none}.catalog-button{padding:10px 13px;gap:10px;font-size:11px}.flagship-hero{grid-template-columns:1fr;padding:96px 22px 45px;gap:34px;min-height:0}.flagship-copy{max-width:none;padding:0}.flagship-display{grid-row:1}.flight-stage{height:45svh;min-height:320px;max-height:480px}.flagship-copy h1{font-size:49px}.aircraft-series{margin-top:24px}.flagship-lead{font-size:23px}.flagship-description{max-width:570px}.aircraft-facts{gap:40px}.reference-link{max-width:500px}.directory-heading{grid-template-columns:1fr;gap:25px}.portfolio-directory{padding:53px 22px 60px}.directory-heading h2{font-size:34px}.project-note{grid-template-columns:1fr;gap:25px;padding:48px 22px}.homepage-footer{padding:22px;flex-wrap:wrap}.intro-brand{top:26px;left:22px}.intro-brand img{width:135px}.intro-brand span{display:none}.intro-skip{top:25px;right:22px;padding:9px 12px;font-size:10px;min-width:128px}.intro-caption>strong{font-size:20px}.intro-aircraft{width:180vw}.viewer-badge{font-size:7px;left:17px;top:20px}.viewer-hint{font-size:9px;bottom:21px}.flagship-home .menu-panel{padding:22px 26px}}
@media(max-width:520px){.chapter-index-grid{grid-template-columns:1fr;gap:13px}.chapter-index-card{grid-template-columns:83px minmax(0,1fr);padding:20px}.chapter-index-card>img{width:83px;height:105px}.chapter-filters{gap:3px}.chapter-filters button{padding:9px 11px;font-size:10px}.aircraft-facts{gap:23px}.viewer-toolbar{gap:6px;padding:13px 0}.viewer-toolbar button{font-size:9px;padding:7px 6px}.viewer-toolbar #autoRotate{padding-left:8px}.view-presets{gap:0}.display-caption{font-size:8px}.display-caption button{font-size:9px}.reference-dialog{padding:18px}.intro-caption{bottom:12vh}.flagship-copy h1{font-size:46px}}
@media(prefers-reduced-motion:reduce){.flight-intro{display:none}.flagship-home{scroll-behavior:auto}.model-poster,.canvas-host,.chapter-index-card{transition:none}}
@media(max-width:520px){.flagship-home .topbar{gap:12px}.flagship-home .brand{width:140px}.catalog-button{gap:7px;padding:10px 11px;font-size:10px}}
.flight-intro .scene-port{background-size:auto 270%;background-position:50% 81%}.flight-intro .scene-world{background-size:auto 235%;background-position:50% 90%}.flight-intro .scene-sea{background-size:auto 580%;background-position:40% 55%}.intro-brand img{filter:grayscale(1) invert(1);mix-blend-mode:screen}
.intro-brand{mix-blend-mode:screen}
.flight-intro.instant{display:none;transition:none}
.flagship-home .brand img{height:auto;max-height:none;mix-blend-mode:normal!important}.intro-brand{mix-blend-mode:normal}.intro-brand img{filter:brightness(0) invert(1);mix-blend-mode:normal}.reference-tabs{flex-wrap:wrap}.image-download{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #bdd0d9;border-radius:2px;font-size:11px;color:#204f69}.image-download:hover{background:#edf3f5}.reference-tabs .image-download{margin-left:auto}
