:root{--navy:#071229;--navy-2:#0b1d38;--ink:#162840;--muted:#586c80;--line:#dbe3e9;--paper:#f7fafc;--ice:#dff4f8;--cyan:#88e5f1;--blue:#2c6d9a;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;font-size:16px;line-height:1.72;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #6ee0ed;outline-offset:5px}button{font:inherit}.container{width:min(1280px,calc(100% - 80px));margin-inline:auto}
.site-header{position:relative;z-index:5;background:#071229;color:white;border-bottom:1px solid #ffffff20}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:13px;min-width:max-content}.brand-mark{height:40px;width:40px;display:grid;place-items:center;border:1px solid #8addeb7a;color:#e9fcff;font:600 14px/1 "Segoe UI",sans-serif;letter-spacing:-.1em;transform:rotate(-8deg)}.brand-mark span{color:var(--cyan)}.brand-name{font-size:18px;font-weight:650;line-height:1.1;letter-spacing:.04em}.brand-name small{display:block;margin-top:4px;color:#8eacbf;font-size:10px;letter-spacing:.15em;font-weight:650}.nav{display:flex;align-items:center;gap:clamp(16px,2.25vw,34px);font-size:14px;color:#d0e0eb}.nav>a:not(.nav-contact){transition:color .2s}.nav>a:hover{color:white}.nav-contact{padding:9px 14px;border:1px solid #75d4e564;border-radius:4px;color:#e7fcff}.nav-contact span{margin-left:9px}
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(ellipse 50% 65% at 75% 36%,#224b7470,transparent 72%),radial-gradient(ellipse 33% 40% at 52% 70%,#351e6c61,transparent 80%),linear-gradient(135deg,#071229 5%,#071a37 45%,#030a1d 100%)}.hero-stars{position:absolute;inset:0;opacity:.7;background-image:radial-gradient(1px 1px at 8% 14%,#e8ffff 99%,transparent),radial-gradient(1px 1px at 29% 74%,#aee9f6 99%,transparent),radial-gradient(1px 1px at 50% 21%,#fff 99%,transparent),radial-gradient(2px 2px at 87% 15%,#ebf7ff 99%,transparent),radial-gradient(1px 1px at 95% 60%,#a4d8fa 99%,transparent);background-size:350px 270px,470px 390px,550px 370px,680px 510px,410px 330px;pointer-events:none}.hero-grid{position:relative;min-height:655px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(10px,2vw,40px)}.hero-copy{position:relative;z-index:2;padding:75px 0 64px}.eyebrow{display:flex;align-items:center;gap:11px;margin:0;color:#99dce7;font-size:13px;letter-spacing:.11em;font-weight:550}.eyebrow-line{height:1px;width:29px;background:#99dce7}.hero h1{font-size:clamp(48px,4.7vw,68px);line-height:1.2;letter-spacing:-.055em;font-weight:650;margin:28px 0 27px;white-space:nowrap}.hero h1 em{font-style:normal;color:#b9eff5}.hero-intro{max-width:510px;margin:0;color:#bbcede;font-size:18px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;gap:28px;min-height:51px;font-size:15px;font-weight:600;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{padding:12px 21px;border-radius:3px;background:#d8f4f6;color:#0b243b}.button-primary:hover{background:#fff}.button-text{color:#d9ecf3;border-bottom:1px solid #7898ad}.button-text span{font-size:19px}.hero-footnote{display:flex;align-items:center;gap:14px;color:#83a4b7;font-size:14px;margin-top:70px}.hero-footnote .rule{height:1px;width:30px;background:#7399b2;flex:none}.galaxy-scene{position:relative;min-width:0;aspect-ratio:1.1/1;max-height:640px;display:grid;place-items:center;isolation:isolate}.scene-aura{position:absolute;inset:7% 2% 9% 6%;border-radius:50%;background:radial-gradient(circle at 52% 48%,#387aa57d 0%,#21538a26 31%,transparent 64%);filter:blur(23px);z-index:-1}#galaxy-canvas{display:block;width:100%;height:100%;position:relative;z-index:1;outline:none}.scene-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#d2e8ed;font-size:15px;letter-spacing:.1em}.scene-fallback span{font-size:60px;color:#aadfe9}.galaxy-scene.is-ready .scene-fallback{display:none}.scene-caption{position:absolute;bottom:8%;left:8%;right:7%;z-index:2;display:flex;justify-content:space-between;gap:12px;color:#91b8c7;font-size:11px;letter-spacing:.08em;pointer-events:none}.hero-bottom{height:70px;position:relative;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d4eeff25;color:#718da7;font-size:11px;letter-spacing:.13em}.hero-bottom a{color:#a6c9d8;font-size:13px;letter-spacing:0}.hero-bottom a span{margin-left:8px;font-size:18px}
.section{padding:105px 0}.section-kicker{font-size:13px;color:#317b9f;letter-spacing:.12em;font-weight:700;margin:0 0 22px}.section h2{font-size:clamp(32px,3.8vw,54px);line-height:1.25;letter-spacing:-.045em;font-weight:620;margin:0}.section-top{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:end;margin-bottom:44px}.section-top .section-kicker{grid-column:1/-1}.section-lead{font-size:17px;color:var(--muted);line-height:1.9;max-width:530px;margin:0}.services-section{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}.service-card{min-height:326px;padding:28px 25px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;transition:background .25s}.service-card:last-child{border-right:0}.service-card:hover{background:#eff8fb}.service-index{font-size:13px;color:#4a8bad;font-weight:650}.service-card h3{font-size:23px;line-height:1.35;letter-spacing:-.02em;margin:39px 0 15px;font-weight:650}.service-card p{font-size:15px;line-height:1.85;color:var(--muted);margin:0}.service-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:23px}.service-tags span{font-size:12px;border:1px solid #d3e3eb;border-radius:2px;color:#3d6880;padding:3px 6px;line-height:1.4}
.solutions-section{background:#edf4f7}.solutions-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:clamp(55px,8vw,150px)}.solutions-heading{position:sticky;top:30px;align-self:start}.solutions-heading>p:last-child{color:var(--muted);font-size:17px;line-height:1.9;max-width:380px;margin:26px 0 0}.capability-list{border-top:1px solid #b8cbd6}.capability-list article{display:grid;grid-template-columns:58px 1fr;gap:8px;border-bottom:1px solid #b8cbd6;padding:24px 0}.capability-num{color:#3982a3;font-size:13px;font-weight:650;margin-top:4px}.capability-list h3{font-size:22px;font-weight:620;margin:0 0 7px}.capability-list p{color:var(--muted);font-size:15px;line-height:1.8;margin:0}
.work-section{background:#091a33;color:#f3fbff;position:relative;overflow:hidden}.work-section:before{content:"";position:absolute;width:700px;height:700px;right:-150px;top:-240px;border-radius:50%;background:radial-gradient(circle,#28608835,transparent 65%);pointer-events:none}.work-section .section-kicker{color:#8bdbe9}.work-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:40px}.work-head>p{max-width:340px;color:#a9bfcc;font-size:15px;line-height:1.8;margin:0}.featured-work{border:1px solid #8cbdd63d;display:grid;grid-template-columns:1fr 1fr;min-height:450px;background:#102741}.work-visual{position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(circle at 48% 50%,#34709078,transparent 45%),radial-gradient(circle at 48% 48%,#264262 0,#0b243d 78%)}.work-orbit{position:absolute;display:block;border:1px solid #9fdaef55;border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:56%;aspect-ratio:1/1}.orbit-two{width:82%;aspect-ratio:1/1;transform:rotate(28deg) scaleY(.65)}.work-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#bdedf7;box-shadow:0 0 25px #9aeefc}.dot-one{top:24%;left:29%}.dot-two{bottom:22%;right:25%;width:5px;height:5px}.work-visual-label{font:600 clamp(38px,5vw,76px)/1.06 "Segoe UI",sans-serif;color:#effbff;letter-spacing:-.04em;text-shadow:0 0 35px #76c7ef8c;text-align:center}.work-content{padding:clamp(35px,5vw,80px);display:flex;flex-direction:column;justify-content:center}.work-type{font-size:13px;color:#8ac9db;letter-spacing:.08em;margin:0 0 14px}.work-content h3{font-size:clamp(32px,3vw,46px);line-height:1.2;margin:0 0 27px;font-weight:600}.work-content>p:not(.work-type){font-size:17px;line-height:1.9;color:#bfd0dc;margin:0}.work-scope{display:flex;gap:9px;flex-wrap:wrap;margin-top:36px}.work-scope span{font-size:13px;color:#a7cddd;border:1px solid #7cadc75c;padding:5px 10px;border-radius:2px}.work-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}.work-type-grid article{border:1px solid #8cbdd63d;padding:27px 25px 30px;background:#0c213b}.work-type-grid article>span{font-size:11px;letter-spacing:.09em;color:#86bbcd}.work-type-grid h3{font-size:21px;line-height:1.4;font-weight:600;margin:19px 0 10px}.work-type-grid p{font-size:15px;line-height:1.8;color:#aac2d1;margin:0}
.method-section{background:#fff}.method-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,140px)}.method-steps{border-top:1px solid var(--line)}.method-steps>div{display:grid;grid-template-columns:50px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}.method-steps b{font-size:13px;color:#3b8aa9;margin-top:5px}.method-steps p{margin:0;display:grid;grid-template-columns:minmax(105px,.38fr) 1fr;gap:16px}.method-steps strong{font-size:19px;font-weight:620}.method-steps span{color:var(--muted);font-size:15px;line-height:1.8}.about-section{background:#edf4f7}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-main{margin:0;color:#385369;font-size:19px;line-height:1.9;max-width:590px}.about-english{font-size:14px;color:#7190a1;letter-spacing:.02em;margin-top:26px}
.contact-section{background:linear-gradient(135deg,#091c36,#071229);color:#fff;padding:100px 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-section .section-kicker{color:#8bdbe9}.contact-section h2{font-size:clamp(33px,4vw,54px);line-height:1.2;letter-spacing:-.04em;font-weight:620;margin:0 0 23px}.contact-section p:not(.section-kicker){max-width:430px;color:#b7cad8;font-size:17px;line-height:1.9;margin:0}.contact-detail{display:flex;flex-direction:column;align-items:start;justify-content:center}.contact-detail>span{font-size:14px;color:#8bafc3}.contact-detail a{font-size:clamp(20px,2.5vw,31px);margin:9px 0 25px;padding-bottom:8px;border-bottom:1px solid #7fa5bc;color:#effbff;overflow-wrap:anywhere}.contact-detail a:hover{color:#9ee5ef}.contact-detail a span{font-size:.7em;margin-left:5px}.contact-detail small{font-size:14px;color:#8ca9bb;line-height:1.6}.footer{background:#071229;color:#7894a8;border-top:1px solid #ffffff1f}.footer-inner{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr 1fr;min-height:590px}.hero h1{font-size:clamp(44px,5vw,62px)}.hero-intro{font-size:17px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card:nth-child(2){border-right:0}.service-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.service-card{min-height:280px}.solutions-layout{gap:55px}}
@media(max-width:760px){.container{width:min(100% - 40px,640px)}.header-inner{height:72px}.nav{gap:15px}.nav>a:nth-child(2),.nav>a:nth-child(4){display:none}.nav-contact{padding:7px 9px}.brand-name{font-size:16px}.brand-mark{width:35px;height:35px;font-size:12px}.hero-grid{display:flex;flex-direction:column;gap:0;min-height:0}.hero-copy{padding:72px 0 0;width:100%}.hero h1{font-size:clamp(44px,9vw,68px);margin:24px 0}.hero-intro{max-width:620px}.hero-footnote{display:none}.galaxy-scene{width:100%;max-width:620px;aspect-ratio:1.1/1;margin:-5px auto 0}.scene-caption{bottom:6%}.hero-bottom{height:54px}.section{padding:75px 0}.section-top,.solutions-layout,.method-layout,.about-layout,.contact-layout{grid-template-columns:1fr;gap:25px}.section-top{margin-bottom:30px}.solutions-heading{position:static}.solutions-heading>p:last-child{max-width:620px;margin:18px 0 12px}.work-head{align-items:start;flex-direction:column;gap:15px}.featured-work{grid-template-columns:1fr}.work-visual{min-height:300px}.work-type-grid{grid-template-columns:1fr}.work-type-grid article{padding:24px}.work-content{padding:34px}.contact-section{padding:72px 0}.contact-layout{gap:38px}}
@media(max-width:520px){.container{width:calc(100% - 34px)}.brand-name small{font-size:9px}.nav>a:not(.nav-contact){display:none}.hero-copy{padding-top:55px}.eyebrow{font-size:11px}.hero h1{font-size:clamp(42px,10vw,54px);white-space:normal}.hero-intro{font-size:16px}.hero-actions{gap:13px;margin-top:28px}.button{font-size:14px}.button-text{min-height:42px}.galaxy-scene{aspect-ratio:1/1}.scene-caption{font-size:10px;left:4%;right:4%;gap:5px}.hero-bottom{font-size:10px}.section{padding:60px 0}.section h2{font-size:33px}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:25px}.service-card:nth-child(2){border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}.service-card h3{margin-top:20px}.service-tags{margin-top:8px}.capability-list article{grid-template-columns:38px 1fr}.method-steps p{display:block}.method-steps p span{display:block;margin-top:5px}.work-visual{min-height:250px}.work-content>p:not(.work-type){font-size:16px}.about-main{font-size:17px}.contact-detail a{font-size:20px}.footer-inner{flex-direction:column;justify-content:center;align-items:start;padding:20px 0;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* The live WebGL image dissolves into the hero instead of appearing as a boxed asset. */
@media(min-width:1101px){.hero-grid{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr)}}
.galaxy-scene{max-height:690px}
.galaxy-scene.is-ready{cursor:grab}
.galaxy-scene.is-dragging{cursor:grabbing}
#galaxy-canvas{-webkit-mask-image:radial-gradient(ellipse 52% 71% at 50% 49%,#000 51%,#000d 69%,transparent 100%);mask-image:radial-gradient(ellipse 52% 71% at 50% 49%,#000 51%,#000d 69%,transparent 100%)}
.scene-live{position:absolute;top:11%;left:8%;z-index:2;display:flex;align-items:center;gap:7px;color:#b8d9e8;font-size:11px;letter-spacing:.08em;pointer-events:none;text-shadow:0 1px 12px #071229}
.scene-live i{display:block;width:5px;height:5px;border-radius:50%;background:#9ff3e3;box-shadow:0 0 12px #9ff3e3}
.scene-live small{font-size:11px;color:#81aabd;padding-left:10px;margin-left:3px;border-left:1px solid #8bc8db5e}
.footer a{border-bottom:1px solid #7ca0b680}.footer a:hover{color:#d9eff4}.footer-divider{padding:0 4px}
.scene-fallback{display:block;background:url('./assets/galaxy-poster.webp?v=20260926-mast-mobile-02') center/cover no-repeat;opacity:1;transition:opacity .45s ease}
.galaxy-scene.is-ready .scene-fallback{display:block;opacity:0}
#galaxy-canvas{opacity:0;transition:opacity .45s ease}
.galaxy-scene.is-ready #galaxy-canvas{opacity:1}
@media(max-width:760px){.galaxy-scene{max-height:620px}.scene-live{top:7%;left:6%;font-size:10px}.scene-live small{display:none}#galaxy-canvas{-webkit-mask-image:radial-gradient(ellipse 54% 66% at 50% 48%,#000 48%,transparent 100%);mask-image:radial-gradient(ellipse 54% 66% at 50% 48%,#000 48%,transparent 100%)}}
@media(max-width:760px){.scene-fallback{background-image:url('./assets/galaxy-poster-mobile.webp?v=20260926-mast-mobile-02')}}

/* The ship now sails through a full-bleed, interactive first screen. */
.site-header{position:absolute;inset:0 0 auto;z-index:20;background:linear-gradient(180deg,#030817dc,#03081763 80%,transparent);border-bottom-color:#ffffff18}
.hero{min-height:100svh;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#030817f2 0%,#041027df 23%,#05122975 48%,transparent 72%),linear-gradient(0deg,#030817b5,transparent 19%,transparent 83%,#0308172e)}
.hero-stars{z-index:1;opacity:.16}
.galaxy-scene{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto;margin:0;z-index:0;isolation:auto}
.scene-aura{display:none}
#galaxy-canvas{position:absolute;inset:0;width:100%;height:100%;-webkit-mask-image:none;mask-image:none}
.scene-fallback{inset:0;background-position:center;background-size:cover}
.hero-grid{min-height:max(730px,calc(100svh - 70px));display:flex;align-items:center;gap:0;z-index:3;pointer-events:none}
.hero-copy{width:min(565px,52vw);padding:160px 0 105px;pointer-events:auto}
.hero-intro{color:#c5d7e5}
.hero-bottom{z-index:3}
.scene-live{top:auto;left:auto;right:max(40px,calc((100vw - 1280px)/2));bottom:124px;z-index:3;color:#d6f0f4;font-size:12px}
.scene-live small{color:#b4d7e5}
.scene-caption{top:auto;left:auto;right:max(40px,calc((100vw - 1280px)/2));bottom:96px;z-index:3;display:flex;justify-content:flex-end;gap:17px;color:#9fc4d4}
.hero.is-draggable{cursor:grab}
.hero.is-dragging{cursor:grabbing;user-select:none}
.hero a{cursor:pointer}
@media(max-width:760px){
  .hero{min-height:850px}
  .hero::after{background:linear-gradient(180deg,#030817e6 0%,#041027c7 19%,#0410279c 42%,#05122940 66%,#0308178c 100%)}
  .hero-grid{display:block;min-height:796px}
  .hero-copy{width:100%;padding:134px 0 0}
  .hero h1{font-size:clamp(45px,9vw,62px)}
  .hero-intro{max-width:550px}
  .galaxy-scene{width:100%;max-width:none;max-height:none;aspect-ratio:auto;margin:0}
  #galaxy-canvas{-webkit-mask-image:none;mask-image:none}
  .scene-live{top:auto;left:20px;right:auto;bottom:102px;font-size:10px}
  .scene-live small{display:inline;font-size:10px}
  .scene-caption{left:auto;right:20px;bottom:103px;font-size:10px;gap:8px}
}
@media(max-width:520px){
  .hero{min-height:830px}
  .hero-grid{min-height:776px}
  .hero-copy{padding-top:125px}
  .hero h1{font-size:clamp(42px,10vw,54px)}
  .hero-intro{font-size:16px}
  .scene-live{bottom:87px;left:17px}
  .scene-live small{display:none}
  .scene-caption{bottom:88px;right:17px;gap:6px}
}

/* Every application type has a visual, with a clear illustrative label. */
.work-visual{display:block;background:#102741}
.work-visual img,.work-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.featured-work:hover .work-visual img,.work-type-grid article:hover .work-card-image img{transform:scale(1.035)}
.visual-note{position:absolute;left:19px;bottom:18px;z-index:2;padding:4px 9px;border:1px solid #d0f7ff78;border-radius:3px;background:#06192bba;color:#d3eff5;font-size:11px;letter-spacing:.09em;line-height:1.5}
.work-type-grid article{padding:0;overflow:hidden;display:flex;flex-direction:column;background:#0c213b;transition:transform .25s,border-color .25s}
.work-type-grid article:hover{transform:translateY(-4px);border-color:#8bd8e78a}
.work-card-image{position:relative;aspect-ratio:1.56/1;overflow:hidden;background:#16344f;border-bottom:1px solid #9ecce044}
.work-card-body{padding:24px 25px 29px;flex:1}
.work-card-body>span{font-size:11px;letter-spacing:.09em;color:#86bbcd}
.work-card-body h3{margin:15px 0 9px}
.work-card-body p{margin:0}
@media(max-width:760px){.work-visual img{min-height:300px}.work-card-image{aspect-ratio:1.7/1}.work-card-body{padding:23px 24px 28px}}
@media(max-width:520px){.work-visual img{min-height:250px}.work-card-image{aspect-ratio:1.55/1}}
/* Keep text readable while letting the phone's unbloomed vessel stay bright. */
@media(max-width:760px){.hero::after{background:linear-gradient(180deg,#030817c7 0%,#041027a8 38%,#04102730 55%,#03081708 74%,#03081718 100%)}}

/* Application directions inferred from the public opportunity list. */
.scenario-catalog{margin-top:96px;padding-top:76px;border-top:1px solid #9fc8db3b}
.scenario-catalog-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,420px);gap:56px;align-items:end}
.scenario-catalog-head .section-kicker{margin-bottom:15px}
.scenario-catalog-head h3{font-size:clamp(34px,3.3vw,48px);line-height:1.2;letter-spacing:-.04em;font-weight:620;margin:0}
.scenario-catalog-head>p{color:#b3cad7;font-size:16px;line-height:1.85;margin:0}
.scenario-group{margin-top:64px}
.scenario-group-head{display:grid;grid-template-columns:104px minmax(0,1fr);gap:24px;align-items:start;margin-bottom:23px;padding-bottom:19px;border-bottom:1px solid #9fc8db3b}
.scenario-group-head>span{color:#83bfce;font-size:13px;font-weight:650;letter-spacing:.1em;padding-top:9px}
.scenario-group-head h4{font-size:27px;line-height:1.3;font-weight:620;margin:0 0 5px}
.scenario-group-head p{color:#a8c1cf;font-size:15px;line-height:1.75;margin:0}
.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.scenario-card{min-width:0;display:flex;flex-direction:column;background:#0d233d;border:1px solid #8cbdd63d;transition:transform .25s,border-color .25s,background .25s}
.scenario-card:hover{transform:translateY(-4px);border-color:#8bd8e78a;background:#102a47}
.scenario-image{position:relative;aspect-ratio:1.56/1;overflow:hidden;background:#17334f;border-bottom:1px solid #9ecce044}
.scenario-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease}
.scenario-card:hover .scenario-image img{transform:scale(1.035)}
.scenario-body{padding:22px 23px 24px;display:flex;flex-direction:column;flex:1}
.scenario-body h5{font-size:21px;line-height:1.4;font-weight:620;margin:0 0 10px;letter-spacing:-.015em}
.scenario-body>p{color:#b4c9d6;font-size:15px;line-height:1.8;margin:0 0 20px}
.scenario-tags{display:flex;gap:7px;flex-wrap:wrap;list-style:none;margin:auto 0 0;padding:0}
.scenario-tags li{font-size:12px;line-height:1.4;color:#a8d2df;border:1px solid #83b2c650;border-radius:2px;padding:4px 7px}
@media(max-width:1100px){.scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-catalog-head{gap:30px}}
@media(max-width:760px){.scenario-catalog{margin-top:72px;padding-top:54px}.scenario-catalog-head{grid-template-columns:1fr;gap:14px}.scenario-group{margin-top:49px}.scenario-group-head{grid-template-columns:62px minmax(0,1fr);gap:12px}.scenario-group-head h4{font-size:24px}.scenario-grid{gap:15px}}
@media(max-width:620px){.scenario-grid{grid-template-columns:1fr}.scenario-image{aspect-ratio:1.7/1}.scenario-body{padding:21px 23px 23px}.scenario-body>p{font-size:16px;margin-bottom:16px}.scenario-tags li{font-size:13px}}

/* Full-page visual and content revision: each section has a real workflow image. */
.fields-section{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 4%,#28678952,transparent 35%),linear-gradient(155deg,#07162c,#0b2641 65%,#07172e);color:#eff9fc}
.fields-section::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(#91d8e430 1px,transparent 1px),linear-gradient(90deg,#91d8e430 1px,transparent 1px);background-size:66px 66px;mask-image:linear-gradient(to bottom,#000,transparent 37%)}
.fields-section>.container{position:relative}
.fields-section .section-kicker{color:#8adbe9}
.fields-intro{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(36px,6vw,100px);align-items:center}
.fields-copy h2{font-size:clamp(39px,4.4vw,66px);line-height:1.16;letter-spacing:-.045em;margin:0 0 22px;font-weight:640}
.fields-lead{max-width:580px;color:#d9e7ed;font-size:19px;line-height:1.9;margin:0}
.fields-source{max-width:600px;color:#a8c5d4;font-size:14px;line-height:1.85;margin:25px 0 0;padding-left:15px;border-left:2px solid #7bc8d48c}
.fields-collage{height:400px;position:relative;isolation:isolate}
.fields-collage::before{content:"";position:absolute;inset:11% 9%;border-radius:50%;background:#69c9f124;filter:blur(45px)}
.fields-collage img{position:absolute;display:block;width:55%;aspect-ratio:1.58/1;object-fit:cover;border:1px solid #b6e9f85e;box-shadow:0 26px 55px #0008;transform:rotate(var(--angle));animation:float-scene 7s ease-in-out infinite}
.fields-collage img:nth-child(1){left:1%;top:24%;width:62%;--angle:-7deg;z-index:2}
.fields-collage img:nth-child(2){right:1%;top:4%;--angle:7deg;animation-delay:-2s}
.fields-collage img:nth-child(3){right:5%;bottom:2%;width:48%;--angle:-3deg;animation-delay:-4s;z-index:3}
.fields-collage>span{position:absolute;left:7%;bottom:2%;z-index:4;background:#071d35df;border:1px solid #90daed82;color:#d9f8fb;font-size:12px;letter-spacing:.09em;padding:7px 11px}
@keyframes float-scene{0%,100%{transform:translateY(0) rotate(var(--angle))}50%{transform:translateY(-9px) rotate(var(--angle))}}
.field-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:38px;border:1px solid #83c7d84e;background:#83c7d84e}
.field-nav a{min-width:0;display:flex;justify-content:space-between;gap:8px;padding:15px 18px;background:#102b47;color:#d3e7ee;font-size:14px;transition:background .2s,color .2s}
.field-nav a:hover,.field-nav a:focus-visible{background:#1c4964;color:#fff}
.field-nav span{color:#8adbe9;font-variant-numeric:tabular-nums}
.fields-section .scenario-catalog{margin-top:78px;padding-top:0;border:0}
.fields-section .scenario-catalog-head{padding:0 0 27px;border-bottom:1px solid #9fc8db3b}
.fields-section .scenario-catalog-head h3{font-size:clamp(30px,3vw,42px)}
.fields-section .scenario-group{scroll-margin-top:20px}
.fields-section .scenario-card{background:#0d233dbf}
.fields-section .scenario-card:hover{background:#122d4a}
.scenario-body{min-height:259px}
.scenario-body .scenario-problem{color:#d2e4ea;margin:0 0 18px;font-size:15px;line-height:1.75}
.scenario-problem>span{display:block;margin:0 0 6px;color:#81cdda;font-size:11px;letter-spacing:.12em;font-weight:700}
.scenario-tags{margin:0 0 16px}
.scenario-more{margin-top:auto;border-top:1px solid #8cbdd63d}
.scenario-more summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:#a8e5ef;font-size:13px;font-weight:650;padding:13px 0 0;outline-offset:3px}
.scenario-more summary::-webkit-details-marker{display:none}
.scenario-more summary::after{content:"＋";font-size:17px;line-height:1;transition:transform .2s}
.scenario-more[open] summary::after{transform:rotate(45deg)}
.scenario-detail{padding-top:14px;animation:detail-show .25s ease}
@keyframes detail-show{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.scenario-detail dl{margin:0}
.scenario-detail dl>div{padding:10px 0;border-top:1px solid #9fc8db24}
.scenario-detail dt{color:#80cbd9;font-size:12px;font-weight:700;letter-spacing:.07em}
.scenario-detail dd{color:#d1e1e9;font-size:14px;line-height:1.75;margin:4px 0 0}

.services-section .section-top{margin-bottom:35px}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;border:0}
.service-card{min-height:312px;display:grid;grid-template-columns:42% 58%;padding:0;border:1px solid #d7e5ec;overflow:hidden;background:#fff;box-shadow:0 12px 35px #102c4210;transition:transform .25s,border-color .25s,box-shadow .25s}
.service-card:last-child{border-right:1px solid #d7e5ec}
.service-card:hover{transform:translateY(-4px);border-color:#9fd3df;box-shadow:0 18px 40px #102c4220;background:#fff}
.service-card-image{position:relative;min-height:100%;overflow:hidden;background:#102e4b}
.service-card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}
.service-card:hover img{transform:scale(1.05)}
.service-card-image .visual-note{left:12px;bottom:12px;font-size:10px}
.service-card-body{display:flex;flex-direction:column;min-width:0;padding:25px 25px 21px}
.service-index{letter-spacing:.08em}
.service-card h3{margin:13px 0 10px}
.service-card p{font-size:15px;line-height:1.7}
.service-output{margin-top:auto;padding-top:15px;border-top:1px solid #dce8ed;display:grid;gap:2px}
.service-output b{color:#267695;font-size:12px;letter-spacing:.07em}
.service-output span{font-size:13px;color:#426579;line-height:1.5}

.solutions-layout{grid-template-columns:minmax(270px,.79fr) minmax(0,1.21fr);gap:clamp(45px,7vw,110px)}
.solutions-heading>p:last-child{max-width:none}
.capability-flow{margin-top:35px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px solid #a9cbd7;background:#e2eff4;padding:15px}
.capability-flow span{background:#fff;color:#285672;border:1px solid #c8dbe5;padding:7px 8px;font-size:12px;font-weight:650}
.capability-flow i{width:17px;height:1px;background:#408db2;position:relative}
.capability-flow i::after{content:"";position:absolute;right:0;top:-3px;width:6px;height:6px;border-top:1px solid #408db2;border-right:1px solid #408db2;transform:rotate(45deg)}
.solutions-heading .solution-note{margin-top:12px;color:#7291a1;font-size:13px;line-height:1.7}
.capability-list{border:0;display:grid;gap:15px}
.capability-list .capability-card{position:relative;display:grid;grid-template-columns:36% 1fr;gap:0;padding:0;border:1px solid #c6dce6;background:#fff;box-shadow:0 10px 26px #102c420a;overflow:hidden;transition:transform .25s,border-color .25s}
.capability-list .capability-card:hover{transform:translateY(-3px);border-color:#83bbd1}
.capability-art{position:relative;min-height:175px;overflow:hidden;background:#102c49}
.capability-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.capability-card:hover img{transform:scale(1.04)}
.capability-art>span{position:absolute;top:10px;left:10px;background:#071e35d6;border:1px solid #b0e7f36b;color:#d9f4f7;padding:2px 7px;font-size:11px}
.capability-copy{padding:22px 23px 18px}
.capability-list .capability-copy h3{font-size:21px;margin:0 0 8px}
.capability-list .capability-copy p{font-size:14px;line-height:1.65}
.capability-copy small{display:block;margin-top:10px;font-size:12px;color:#36718c;line-height:1.65}

.work-section .work-head{margin-bottom:34px}
.work-section .work-content>p:not(.work-type){line-height:1.85}

.method-heading>p:not(.section-kicker){font-size:17px;line-height:1.8;color:#586c80;margin:22px 0 0}
.method-visual{position:relative;margin:29px 0 0;border:1px solid #d2e4eb;background:#102b48;overflow:hidden;box-shadow:0 15px 35px #08213a1a}
.method-visual img{display:block;width:100%;height:auto}
.method-visual figcaption,.about-visual figcaption{position:absolute;left:13px;bottom:13px;background:#071e35d9;border:1px solid #b0e7f36b;color:#d9f4f7;padding:4px 8px;font-size:11px}
.method-steps{border-top:0;display:grid;gap:14px}
.method-steps>article{display:grid;grid-template-columns:47px 1fr;gap:10px;padding:21px 24px;border:1px solid #d7e5eb;background:#f7fafb}
.method-steps>article b{color:#367e9e;font-size:13px;padding-top:3px}
.method-steps h3{font-size:20px;margin:0 0 7px;font-weight:650}
.method-steps p{display:block;margin:0;color:#526b7d;font-size:15px;line-height:1.75}
.method-steps small{display:block;color:#2b7590;margin-top:9px;font-size:13px;line-height:1.6}

.about-layout{grid-template-columns:.84fr 1.16fr;align-items:center}
.about-heading .about-main{margin-top:25px}
.about-visual{position:relative;margin:0;border:1px solid #bdd7e3;box-shadow:0 20px 42px #0d31421a;overflow:hidden;background:#0a203c}
.about-visual img{display:block;width:100%;height:auto}
.about-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:35px}
.about-proof-grid>div{background:#fff;border:1px solid #d1e4eb;padding:19px 21px;border-top:3px solid #75c4d8;min-height:144px}
.about-proof-grid span{display:block;color:#4386a1;font-size:12px}
.about-proof-grid strong{display:block;margin:8px 0 5px;font-size:17px}
.about-proof-grid p{margin:0;color:#5d7382;font-size:13px;line-height:1.65}

.contact-section{position:relative;overflow:hidden}
.contact-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,#2b70934a,transparent 40%);pointer-events:none}
.contact-layout{position:relative;grid-template-columns:.88fr 1.12fr;gap:clamp(45px,7vw,100px);align-items:center}
.contact-copy>p:not(.section-kicker){max-width:500px}
.contact-detail{margin-top:29px;align-items:start}
.contact-brief{border:1px solid #8ec8d262;background:#102b48;padding:14px 14px 20px;box-shadow:0 25px 50px #0003}
.contact-brief>img{display:block;width:100%;height:auto;max-height:285px;object-fit:cover}
.contact-brief>div{padding:12px 14px 0}
.contact-brief h3{font-size:18px;margin:0 0 12px;font-weight:630}
.contact-brief ol{margin:0;padding:0;list-style:none;counter-reset:brief;display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.contact-brief li{counter-increment:brief;color:#d5e5eb;font-size:13px;line-height:1.6;border:1px solid #8ec8d240;padding:8px 9px;background:#0b233a}
.contact-brief li::before{content:"0" counter(brief) " / ";color:#8cdae6;font-weight:700}
.contact-brief p{margin:12px 0 0!important;color:#96bacb!important;font-size:12px!important;line-height:1.6!important}
.footer{background-image:linear-gradient(90deg,#071229,#0a1d35)}

@media(max-width:1100px){
 .fields-intro{grid-template-columns:1fr .92fr;gap:35px}
 .fields-collage{height:315px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-card{grid-template-columns:1fr;min-height:0}
 .service-card-image{aspect-ratio:1.75/1;min-height:0}
 .service-card-body{min-height:272px}
 .service-card:nth-child(2),.service-card:nth-child(-n+2){border:1px solid #d7e5ec}
 .solutions-layout{gap:42px}
 .capability-list .capability-card{grid-template-columns:34% 1fr}
}
@media(max-width:760px){
 .fields-intro{grid-template-columns:1fr}
 .fields-collage{height:280px;max-width:570px;width:100%}
 .field-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}
 .fields-section .scenario-catalog{margin-top:55px}
 .scenario-catalog-head{align-items:start}
 .service-grid{grid-template-columns:1fr}
 .service-card{grid-template-columns:40% 60%;min-height:250px}
 .service-card-image{aspect-ratio:auto;min-height:100%}
 .service-card-body{min-height:250px}
 .solutions-layout{grid-template-columns:1fr}
 .solutions-heading{position:static}
 .capability-flow{margin-top:20px}
 .method-layout,.about-layout,.contact-layout{grid-template-columns:1fr}
 .about-proof-grid{grid-template-columns:1fr}
 .about-proof-grid>div{min-height:0}
 .contact-brief{max-width:640px}
}
@media(max-width:620px){
 .fields-collage{height:230px}
 .fields-source{font-size:13px}
 .field-nav{grid-template-columns:1fr 1fr}
 .field-nav a{padding:10px;font-size:12px}
 .fields-section .scenario-catalog-head{display:block}
 .fields-section .scenario-catalog-head>p{margin-top:12px}
 .scenario-body{min-height:0}
 .scenario-body .scenario-problem{font-size:16px}
 .scenario-tags{margin-bottom:15px}
 .service-card{display:block}
 .service-card-image{aspect-ratio:1.72/1}
 .service-card-body{min-height:0;padding:23px}
 .service-output{margin-top:20px}
 .capability-list .capability-card{grid-template-columns:1fr}
 .capability-art{aspect-ratio:1.8/1;min-height:0}
 .capability-copy{padding:22px}
 .method-steps>article{padding:18px}
 .contact-brief ol{grid-template-columns:1fr}
}
/* Explicit heights prevent intrinsic SVG size from stretching narrow layouts. */
.fields-collage img{height:auto}
@media(max-width:620px){
 .fields-collage{overflow:hidden}
 .service-card-image{width:100%;height:auto;min-height:0;aspect-ratio:1.72/1}
 .service-card-image img{position:absolute;inset:0;width:100%;height:100%}
}
.solutions-model{position:relative;margin:27px 0 0;border:1px solid #b9d1dc;overflow:hidden;background:#071a2f;box-shadow:0 18px 34px #0b2a4020}
.solutions-model img{width:100%;height:auto;display:block}
.solutions-model figcaption{position:absolute;left:12px;bottom:12px;color:#d9eff5;background:#071d32d9;border:1px solid #9bd4e17a;padding:5px 9px;font-size:11px}

/* Realistic conceptual scenes: keep a consistent caption contrast without hiding the working environment. */
.scenario-image::after,.work-card-image::after,.work-visual::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(4,17,35,.40));pointer-events:none;z-index:1}
.scenario-image .visual-note,.work-card-image .visual-note,.work-visual .visual-note{z-index:2}
.scenario-image img,.work-card-image img,.work-visual img{filter:saturate(1.04) contrast(1.02)}

/* Fill the final row of each scenario group with an editorial photo-and-copy feature. */
@media (min-width:1101px){
 .scenario-grid>.scenario-card:last-child:nth-child(3n + 1){grid-column:1/-1;display:grid;grid-template-columns:52% 48%;min-height:330px}
 .scenario-grid>.scenario-card:last-child:nth-child(3n + 2){grid-column:span 2;display:grid;grid-template-columns:50% 50%;min-height:330px}
 .scenario-grid>.scenario-card:last-child:nth-child(3n + 1) .scenario-image,.scenario-grid>.scenario-card:last-child:nth-child(3n + 2) .scenario-image{height:100%;aspect-ratio:auto;border-bottom:0;border-right:1px solid #9ecce044}
}
@media (min-width:621px) and (max-width:1100px){
 .scenario-grid>.scenario-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:48% 52%;min-height:315px}
 .scenario-grid>.scenario-card:last-child:nth-child(odd) .scenario-image{height:100%;aspect-ratio:auto;border-bottom:0;border-right:1px solid #9ecce044}
}

/* The compact poster remains visible during automatic 3D loading. */
.scene-status[hidden]{display:none}
.scene-status{position:absolute;z-index:4;left:17px;top:485px;padding:8px 10px;border-left:2px solid #a4e8ed;background:#081b32b3;color:#e2f7fb;font-size:12px;letter-spacing:.03em;pointer-events:none}
.scene-enable[hidden]{display:none}
.scene-enable{position:absolute;z-index:4;left:20px;bottom:136px;display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #b9edee9e;border-radius:4px;background:#081b32df;color:#edfdff;font-size:13px;font-weight:650;box-shadow:0 8px 26px #0005;cursor:pointer}
.scene-enable small{font-size:11px;color:#b5cfdb;font-weight:400}
.scene-enable:disabled{cursor:default;opacity:.9}
.scene-enable:focus-visible{outline:3px solid #9ceaf1;outline-offset:3px}
@media(max-width:520px){.scene-enable{left:17px;bottom:126px}}

@media(max-width:520px){.hero-copy{padding-top:105px}}

@media(max-width:520px){
  .hero-actions{margin-top:10px}
  .scene-enable{top:485px;bottom:auto;left:17px;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px}
}

@media(max-width:760px){
  .hero.mobile-scene-static .scene-live i{background:#a9bfca;box-shadow:none}
  .hero.mobile-scene-static .scene-fallback{filter:brightness(1.18);animation:mobile-poster-cruise 8s ease-in-out infinite alternate}
  .hero.is-draggable #galaxy-canvas{touch-action:pan-y pinch-zoom}
}
@keyframes mobile-poster-cruise{from{transform:scale(1.015) translateY(0)}to{transform:scale(1.055) translateY(9px)}}

/* The final product direction takes the full row, with the image kept visible. */
@media(min-width:761px){
 .work-type-grid>.work-game-card{grid-column:1/-1;display:grid;grid-template-columns:44% 56%;min-height:320px}
 .work-type-grid>.work-game-card .work-card-image{height:100%;min-height:320px;aspect-ratio:auto;border-bottom:0;border-right:1px solid #9ecce044}
 .work-type-grid>.work-game-card .work-card-body{display:flex;flex-direction:column;justify-content:center;padding:30px clamp(28px,5vw,75px)}
}
@media(max-width:360px){.hero h1{font-size:35px}}

@media(max-width:360px){
 .hero-actions{flex-direction:column;align-items:flex-start;gap:4px}
 .hero-actions .button-primary{min-height:42px;padding:8px 14px}
 .hero-actions .button-text{min-height:32px}
}
