:root {
  --ink:#0c2732;
  --deep:#031820;
  --deep-2:#062630;
  --paper:#f6fafb;
  --mist:#eaf3f5;
  --muted:#617981;
  --line:rgba(45,111,125,.22);
  --teal:#10afc1;
  --cyan:#64d7e2;
  --shell:min(1220px,calc(100% - 72px));
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
  --sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:74px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-feature-settings:"palt";line-height:1.8;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{color:inherit;font:inherit}.section-shell{width:var(--shell);margin-inline:auto}
.visually-hidden,.skip-link{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{z-index:1000;width:auto;height:auto;clip:auto;margin:0;left:8px;top:8px;padding:8px 14px;color:var(--ink);background:#fff}
.preview-bar{height:26px;display:grid;place-items:center;color:#725800;background:#fff2bc;font-size:10px;font-weight:700;letter-spacing:.12em}

.site-header{position:fixed;z-index:100;top:26px;left:0;width:100%;height:76px;color:#fff;background:transparent;transition:height .35s,background .35s,backdrop-filter .35s,left .35s,width .35s}.site-header.is-scrolled{left:14px;width:calc(100% - 28px);height:64px;background:rgba(3,24,32,.58);border-bottom:1px solid rgba(164,224,231,.12);backdrop-filter:blur(15px) saturate(118%);-webkit-backdrop-filter:blur(15px) saturate(118%)}
.header-inner{width:min(1360px,calc(100% - 70px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{width:205px}.brand img{width:100%;height:auto}.global-nav{display:flex;align-items:center;gap:30px;font-size:11px;letter-spacing:.06em}.global-nav>a:not(.nav-portal){position:relative}.global-nav>a:not(.nav-portal)::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:right;transition:transform .3s}.global-nav>a:hover::after{transform:scaleX(1);transform-origin:left}.nav-portal{padding:10px 15px;border:1px solid rgba(197,239,244,.48)}.nav-portal span{margin-left:12px}.menu-button{display:none}

.hero{padding:14px 14px 0;background:#fff}.hero-frame{position:relative;height:calc(100svh - 28px);min-height:690px;max-height:940px;overflow:hidden;border-radius:24px 24px 0 0;background:var(--deep)}
.hero-media{position:absolute;z-index:0;inset:-7% 0;transform:translate3d(0,var(--depth-y,0),0)}.hero-media img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 48%;filter:saturate(.58) contrast(1.03) brightness(.73);transform:scale(1.035);animation:hero-breathe 17s ease-in-out infinite alternate}
.hero-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(1,18,25,.78) 0%,rgba(1,18,25,.22) 63%,rgba(1,18,25,.34)),linear-gradient(0deg,rgba(1,18,25,.83),transparent 58%)}
.hero-canvas{position:absolute;z-index:2;inset:0;width:100%;height:100%;opacity:.94;mix-blend-mode:screen;pointer-events:none}
.hero-inner{position:relative;z-index:3;width:min(1260px,calc(100% - 92px));height:100%;margin:auto;padding:125px 0 44px;display:grid;grid-template-columns:1fr 440px;grid-template-rows:auto 1fr auto auto;color:#fff}
.hero-kicker{grid-column:1/-1;margin:0;color:#b4d1d6;font-size:8px;font-weight:700;letter-spacing:.25em}
.hero h1{grid-column:1/-1;align-self:center;margin:0;font-size:clamp(76px,9.2vw,136px);font-weight:600;line-height:.86;letter-spacing:-.07em;text-shadow:0 5px 38px rgba(0,0,0,.22)}.hero h1 span{display:block;margin:0 0 22px 6px;font-family:var(--serif);font-size:14px;font-weight:400;letter-spacing:.16em}
.hero h1 img{width:min(760px,66vw);height:auto;filter:drop-shadow(0 5px 28px rgba(0,0,0,.18))}
.hero-summary{grid-column:1/2;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end}.hero-summary p{margin:0}.hero-summary p:first-child{font-family:var(--serif);font-size:clamp(26px,2.6vw,38px);line-height:1.5}.hero-summary p:last-child{max-width:390px;color:#c0d0d4;font-size:12px;line-height:2}
.hero-routes{grid-column:1/-1;margin-top:38px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(188,226,232,.32)}.hero-routes a{position:relative;padding:18px 56px 17px 0;border-bottom:1px solid rgba(188,226,232,.32);transition:padding .3s,background .3s}.hero-routes a:first-child{border-right:1px solid rgba(188,226,232,.32)}.hero-routes a:nth-child(2){padding-left:30px}.hero-routes a:hover{padding-left:15px;background:rgba(72,208,223,.1)}.hero-routes a:nth-child(2):hover{padding-left:45px}.hero-routes small{display:block;color:#72d9e3;font-size:7px;letter-spacing:.24em}.hero-routes strong{display:block;margin-top:4px;font-family:var(--serif);font-size:17px;font-weight:400}.hero-routes span{position:absolute;right:22px;top:29px;color:var(--cyan)}
.scroll-cue{position:absolute;z-index:4;right:28px;top:50%;display:flex;align-items:center;gap:12px;margin:0;color:#aec5ca;font-size:7px;letter-spacing:.25em;transform:rotate(90deg) translateX(50%);transform-origin:right}.scroll-cue i{width:44px;height:1px;background:#7ca2aa}

.section-label{margin:0;color:#16899a;font-size:8px;font-weight:700;letter-spacing:.26em}
.identity{position:relative;overflow:hidden;padding:clamp(130px,14vw,210px) 0;background:#fff}.identity-grid{position:relative;z-index:2;display:grid;grid-template-columns:.72fr 2fr;gap:8%;align-items:start}.identity h2,.guide h2,.ai-copy h2,.industrial-title h2,.portal h2,.company h2,.contact h2{margin:0;font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.28}.identity h2{font-size:clamp(46px,5.3vw,76px)}.identity-grid>div>p{max-width:620px;margin:38px 0 0 auto;color:var(--muted);font-size:13px;line-height:2.1}.identity-geometry{position:absolute;right:-7vw;top:50%;width:38vw;aspect-ratio:1;transform:translateY(-50%);opacity:.46}.identity-geometry i{position:absolute;inset:12%;border:1px solid rgba(13,167,187,.14);border-radius:50%;animation:geometry-drift 18s linear infinite}.identity-geometry i:nth-child(2){inset:28%;border-radius:0;transform:rotate(25deg);animation-direction:reverse}.identity-geometry i:nth-child(3){inset:41%;border-radius:0;transform:rotate(60deg)}
.word-stream{overflow:hidden;margin-inline:14px;padding:12px 0;color:#6edce6;background:var(--deep);border-top:1px solid rgba(100,215,226,.22);border-bottom:1px solid rgba(100,215,226,.18);white-space:nowrap}.word-stream div{display:flex;width:max-content;font-size:9px;font-weight:700;letter-spacing:.25em;opacity:.72;animation:word-stream 44s linear infinite}.word-stream span{display:block;flex:none;padding-right:3em}

.guide{position:relative;overflow:hidden;padding:clamp(68px,6.5vw,92px) 0 82px;color:#edf8f9;background:linear-gradient(145deg,#031820 0%,#062832 72%,#07313b 100%)}.guide::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(100,215,226,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(100,215,226,.035) 1px,transparent 1px),radial-gradient(circle at 82% 22%,rgba(41,184,200,.11),transparent 28%);background-size:64px 64px,64px 64px,100% 100%}.guide-heading,.guide-list{position:relative;z-index:1}.guide-heading{display:grid;grid-template-columns:260px 1fr;gap:7%;align-items:start;margin-bottom:42px}.guide h2{font-size:clamp(34px,3.6vw,50px);line-height:1.2}.guide .section-label{padding-top:12px;color:#64d7e2}.guide-list{border-top:1px solid rgba(151,207,216,.26)}.guide-list a{position:relative;display:grid;grid-template-columns:1.5fr .52fr 30px;gap:28px;align-items:center;min-height:76px;padding:16px 10px 16px 0;border-bottom:1px solid rgba(151,207,216,.26);transition:padding .35s,background .35s}.guide-list a::before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--cyan);transform:scaleY(0);transform-origin:bottom;transition:transform .35s}.guide-list a:hover{padding-left:18px;background:rgba(100,215,226,.065)}.guide-list a:hover::before{transform:scaleY(1)}.guide-list span{font-family:var(--serif);font-size:clamp(17px,1.55vw,21px);line-height:1.45}.guide-list small{color:#91aeb5;font-size:9px}.guide-list b{color:#64d7e2;font-size:15px;font-weight:400}.guide-list .guide-portal{background:rgba(16,175,193,.07)}

.ai-scene{min-height:780px;display:grid;grid-template-columns:58% 42%;background:#fff}.ai-photo{min-height:780px;overflow:hidden;transform:translate3d(0,var(--depth-y,0),0)}.ai-photo img{width:100%;height:calc(100% + 90px);object-fit:cover;filter:saturate(.62) contrast(.96);transform:scale(1.05)}.ai-copy{align-self:center;padding:clamp(56px,7vw,105px);background-image:linear-gradient(rgba(19,137,154,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(19,137,154,.045) 1px,transparent 1px);background-size:52px 52px}.ai-copy h2{margin-top:22px;font-size:clamp(58px,6.2vw,88px)}.scene-lead{margin:34px 0 14px!important;color:var(--ink)!important;font-family:var(--serif);font-size:20px!important}.ai-copy>p:not(.section-label),.industrial-copy>p:not(.scene-lead){max-width:500px;color:var(--muted);font-size:13px}.scene-link{display:flex;align-items:center;justify-content:space-between;width:min(100%,410px);margin-top:40px;padding:15px 0;color:#08798b;border-block:1px solid rgba(33,130,145,.38);font-size:12px;font-weight:700;transition:padding .3s,background .3s}.scene-link:hover{padding-inline:13px;background:rgba(16,175,193,.07)}

.industrial-scene{position:relative;min-height:700px;display:grid;align-items:center;overflow:hidden;color:#edf8f9;background:#031b24}.industrial-scene::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 63px,rgba(73,159,173,.06) 64px)}.industrial-lines{position:absolute;right:-9%;bottom:-10%;width:70%;opacity:.28;transform:translate3d(0,var(--depth-y,0),0)}.industrial-lines img{width:100%}.industrial-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:11%;align-items:center}.industrial-title h2{margin-top:24px;font-size:clamp(56px,6.3vw,90px)}.industrial-copy{padding-top:74px}.industrial-copy .scene-lead{color:#edf8f9!important}.industrial-copy>p:not(.scene-lead){color:#9fb7bd}.industrial-copy .scene-link{color:#baf1f5;border-color:rgba(111,203,214,.34)}

.portal{color:#03242c;background:var(--teal)}.portal-link{min-height:270px;display:grid;grid-template-columns:.58fr 1fr 1fr auto;gap:5%;align-items:center;padding-block:46px}.portal .section-label{color:#075864}.portal h2{font-size:clamp(34px,3.4vw,50px)}.portal-link>p:not(.section-label){max-width:390px;font-size:12px}.portal-link>span{display:flex;align-items:center;gap:46px;padding:14px 0;border-block:1px solid rgba(3,63,72,.42);font-size:13px;font-weight:700;white-space:nowrap}.portal-link b{font-weight:400}

.company{padding:clamp(120px,12vw,175px) 0;background:#f8fbfc}.company-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:11%}.company-heading h2{margin-top:22px;font-size:clamp(48px,5vw,72px)}.company-heading>p:last-child{max-width:370px;margin:34px 0 0;color:var(--muted);font-size:13px}.company-data{margin:0}.company-data>div{display:grid;grid-template-columns:180px 1fr;gap:34px;padding:27px 0;border-top:1px solid #c2d2d6}.company-data>div:last-child{border-bottom:1px solid #c2d2d6}.company-data dt{color:#6b838a;font-size:10px}.company-data dd{margin:0;font-family:var(--serif);font-size:16px}.company-data a{color:#087789;font-family:var(--sans);font-size:12px;font-weight:700}

.contact{padding:clamp(115px,11vw,165px) 0;color:#fff;background:#031820}.contact h2{margin:26px 0 62px;font-size:clamp(44px,4.8vw,68px)}.contact-routes{border-top:1px solid rgba(123,183,194,.25)}.contact-routes a{display:grid;grid-template-columns:.54fr 1fr auto;align-items:center;min-height:108px;padding:23px 20px 23px 0;border-bottom:1px solid rgba(123,183,194,.25);transition:padding .3s,background .3s}.contact-routes a:hover{padding-left:22px;background:rgba(46,185,201,.07)}.contact-routes small{color:#64ccd6;font-size:8px;letter-spacing:.23em}.contact-routes strong{font-family:var(--serif);font-size:22px;font-weight:400}.contact-routes span{color:var(--cyan)}
.site-footer{padding:66px 0 24px;color:#9cb2b7;background:#020f15}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:44px;border-bottom:1px solid rgba(123,177,187,.2)}.footer-top img{width:220px;height:auto;aspect-ratio:1845/501;object-fit:contain}.footer-top a{font-size:8px;letter-spacing:.22em}.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;font-size:8px;letter-spacing:.1em}.footer-bottom p{margin:0}.footer-bottom div{display:flex;gap:28px}

.motion-enabled .reveal{opacity:0;transform:translateY(44px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}.motion-enabled .reveal.is-visible{opacity:1;transform:none}
@keyframes hero-breathe{from{transform:scale(1.035)}to{transform:scale(1.1) translate3d(-1.1%,.6%,0)}}@keyframes geometry-drift{to{transform:rotate(360deg)}}@keyframes word-stream{to{transform:translateX(-50%)}}

@media(max-width:900px){
  :root{--shell:min(100% - 40px,720px)}.header-inner{width:calc(100% - 44px)}.brand{width:184px}.menu-button{display:block;z-index:2;position:relative;width:42px;height:42px;padding:0;border:0;background:none}.menu-button>span{position:absolute;left:10px;width:22px;height:1px;background:#fff;transition:.3s}.menu-button>span:first-child{top:16px}.menu-button>span:nth-child(2){top:24px}.menu-button[aria-expanded="true"]>span:first-child{top:21px;transform:rotate(45deg)}.menu-button[aria-expanded="true"]>span:nth-child(2){top:21px;transform:rotate(-45deg)}.global-nav{position:fixed;inset:26px 0 0;display:flex;flex-direction:column;justify-content:center;gap:27px;color:#eef9fa;background:rgba(3,24,32,.98);font-family:var(--serif);font-size:18px;opacity:0;visibility:hidden;transition:.3s}.global-nav.is-open{opacity:1;visibility:visible}.nav-portal{font-family:var(--sans);font-size:12px}
  .hero-inner{width:var(--shell);grid-template-columns:1fr;padding-top:118px}.hero h1 img{width:min(640px,84vw)}.hero-summary{grid-template-columns:1.1fr .9fr;gap:34px}.hero-routes{margin-top:28px}
  .identity-grid,.guide-heading,.company-grid{grid-template-columns:1fr;gap:30px}.identity-grid>div>p{margin-left:0}.guide-heading{margin-bottom:38px}.guide .section-label{padding-top:0}.ai-scene{min-height:0;grid-template-columns:1fr}.ai-photo{min-height:500px}.ai-copy{padding:88px max(20px,calc((100vw - min(720px,100vw - 40px))/2))}.industrial-grid{grid-template-columns:1fr;gap:20px;padding-block:105px}.industrial-copy{padding-top:0}.industrial-lines{width:100%;right:-26%;bottom:0}.portal-link{grid-template-columns:.6fr 1fr;gap:26px}.portal-link>p:not(.section-label){grid-column:1}.portal-link>span{grid-column:2;grid-row:2;align-self:start}
}

@media(max-width:600px){
  :root{--shell:calc(100% - 36px)}.preview-bar{height:24px}.site-header{top:24px;height:66px}.site-header.is-scrolled{height:60px}.brand{width:166px}.global-nav{inset:24px 0 0}.hero{padding:7px}.hero-frame{height:calc(100svh - 14px);min-height:720px;max-height:820px;border-radius:17px}.hero-media{inset:-4% -32%}.hero-media img{object-position:54% center}.hero-shade{background:linear-gradient(90deg,rgba(1,18,25,.72),rgba(1,18,25,.25)),linear-gradient(0deg,rgba(1,18,25,.9),transparent 62%)}.hero-inner{width:calc(100% - 36px);padding:98px 0 21px;grid-template-rows:auto 1fr auto auto}.hero-kicker{font-size:6px}.hero h1 img{width:min(335px,92vw)}.hero-summary{grid-template-columns:1fr;gap:12px}.hero-summary p:first-child{font-size:24px}.hero-summary p:last-child{max-width:330px;font-size:10px;line-height:1.85}.hero-routes{grid-template-columns:1fr;margin-top:18px}.hero-routes a{padding:9px 42px 9px 0}.hero-routes a:first-child{border-right:0}.hero-routes a:nth-child(2){padding-left:0}.hero-routes a:nth-child(2):hover{padding-left:15px}.hero-routes strong{font-size:14px}.hero-routes span{top:20px}.scroll-cue{display:none}
  .identity{padding:95px 0}.identity-grid{gap:36px}.identity h2{font-size:38px}.identity-grid>div>p{margin-top:25px;font-size:12px}.identity-geometry{width:90vw;right:-45vw}.word-stream{padding:9px 0}.word-stream div{font-size:7px}
  .guide{padding:58px 0 62px}.guide-heading{gap:18px;margin-bottom:30px}.guide h2{font-size:30px}.guide-list a{grid-template-columns:1fr 24px;gap:7px 12px;min-height:88px;padding:14px 6px 14px 0}.guide-list span{font-size:16px;line-height:1.5}.guide-list small{grid-column:1;font-size:8px}.guide-list b{grid-column:2;grid-row:1/3;font-size:14px}
  .ai-photo{min-height:310px}.ai-copy{padding:66px 18px}.ai-copy h2{font-size:52px}.scene-lead{font-size:17px!important}.ai-copy>p:not(.section-label),.industrial-copy>p:not(.scene-lead){font-size:12px}.scene-link{font-size:11px}
  .industrial-scene{min-height:640px}.industrial-grid{padding-block:88px}.industrial-title h2{font-size:48px}.industrial-lines{width:145%;right:-66%;opacity:.2}
  .portal-link{min-height:390px;grid-template-columns:1fr;align-content:center;gap:18px}.portal-link>p:not(.section-label),.portal-link>span{grid-column:auto;grid-row:auto}.portal h2{font-size:40px}.portal-link>span{justify-content:space-between}
  .company{padding:90px 0}.company-grid{gap:48px}.company-heading h2{font-size:45px}.company-data>div{grid-template-columns:1fr;gap:6px;padding:22px 0}
  .contact{padding:92px 0}.contact h2{margin-bottom:46px;font-size:38px}.contact-routes a{grid-template-columns:1fr auto;min-height:100px;padding-right:6px}.contact-routes small{grid-column:1/-1}.contact-routes strong{font-size:18px}.footer-top img{width:186px}.footer-bottom{flex-direction:column-reverse;gap:19px}.footer-bottom div{flex-direction:column;gap:7px}
}

@media(prefers-reduced-motion:reduce){.hero-media img,.identity-geometry i,.word-stream div{animation:none!important}.hero-canvas{opacity:.52}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}[data-depth]{transform:none!important}}

/* Keep the hero, ticker and business guide as one continuous panel. */
.guide{margin:0 14px 14px;border-radius:0 0 24px 24px}
@media(max-width:600px){
  .hero{padding:7px 7px 0}.hero-frame{border-radius:17px 17px 0 0}
  .site-header.is-scrolled{left:7px;width:calc(100% - 14px)}
  .word-stream{margin-inline:7px}
  .guide{margin:0 7px 7px;border-radius:0 0 17px 17px}
}

/* Company information and footer form one compact closing panel. */
.company{position:relative;overflow:hidden;margin:14px 14px 0;padding:68px 0 50px;color:#edf8f9;background:#031820;border-radius:24px 24px 0 0}
.company::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(100,215,226,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(100,215,226,.035) 1px,transparent 1px),radial-gradient(circle at 14% 24%,rgba(37,177,194,.11),transparent 30%);background-size:64px 64px,64px 64px,100% 100%}
.company-grid{position:relative;z-index:1;grid-template-columns:.7fr 1.3fr;gap:9%}
.company-heading h2{font-size:clamp(42px,4vw,58px)}
.company-data>div{grid-template-columns:140px 1fr;gap:28px;padding:18px 0;border-color:rgba(151,207,216,.24)}
.company-data dt{color:#86a8af}.company-data dd{color:#edf8f9}.company-data a{color:#64d7e2}
.site-footer{margin:0 14px 14px;padding:30px 0 18px;background:#031820;border-top:1px solid rgba(151,207,216,.15);border-radius:0 0 24px 24px}
.footer-top{padding-bottom:26px}.footer-top img{width:185px}.footer-bottom{padding-top:16px}
@media(max-width:900px){
  .company-grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:600px){
  .company{margin:7px 7px 0;padding:54px 0 36px;border-radius:17px 17px 0 0}
  .company-heading h2{font-size:38px}
  .company-data>div{grid-template-columns:86px minmax(0,1fr);gap:12px;padding:15px 0}
  .company-data a{font-size:10px;white-space:nowrap}
  .site-footer{margin:0 7px 7px;padding:28px 0 18px;border-radius:0 0 17px 17px}
  .footer-top{align-items:center;padding-bottom:22px}.footer-top img{width:168px}
  .footer-bottom{padding-top:14px}
}

/* Clear entrances to the two business services. */
.hero-routes{gap:12px;border-top:0}
.hero-routes a,.hero-routes a:nth-child(2){display:grid;grid-template-columns:1fr 44px;grid-template-rows:auto auto auto;column-gap:18px;min-height:92px;padding:15px 16px 14px 18px;border:1px solid rgba(173,224,231,.3);border-radius:10px;background:rgba(3,30,39,.34);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.hero-routes a:first-child{border-right:1px solid rgba(173,224,231,.3)}
.hero-routes a:hover,.hero-routes a:nth-child(2):hover{padding-left:25px;background:rgba(53,184,200,.15);border-color:rgba(117,222,232,.62)}
.hero-routes small,.hero-routes strong,.hero-routes em{grid-column:1}
.hero-routes small{align-self:end}.hero-routes strong{margin-top:1px}
.hero-routes em{margin-top:3px;color:#a9c8ce;font-size:9px;font-style:normal;letter-spacing:.04em}
.hero-routes span{position:static;grid-column:2;grid-row:1/4;align-self:center;display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(110,215,226,.42);border-radius:50%;font-size:16px;transition:background .3s,transform .3s}
.hero-routes a:hover span{background:var(--teal);color:#031820;transform:translateX(3px)}
@media(max-width:600px){
  .hero-routes{gap:7px;margin-top:15px}
  .hero-routes a,.hero-routes a:nth-child(2){grid-template-columns:1fr 36px;min-height:70px;padding:9px 10px 9px 12px;border-radius:8px}
  .hero-routes a:hover,.hero-routes a:nth-child(2):hover{padding-left:16px}
  .hero-routes em{font-size:8px}.hero-routes span{top:auto;width:32px;height:32px;font-size:13px}
}

/* Schematic Kitakyushu line map behind the company information. */
.company-map{position:absolute;z-index:0;inset:-9% -2% -13% 31%;pointer-events:none;opacity:.3;mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%)}
.company-map svg{display:block;width:100%;height:100%;overflow:visible}
.company-map-drift{transform-origin:52% 50%;animation:company-map-drift 16s ease-in-out infinite alternate}
.company-map-outline,.company-map-line,.company-map-water,.company-map-pin circle,.company-map-pin path{fill:none;vector-effect:non-scaling-stroke}
.company-map-outline{stroke:rgba(97,218,230,.48);stroke-width:1.15;stroke-dasharray:1;stroke-dashoffset:1;animation:company-map-draw 3.2s .15s ease-out forwards}
.company-map-line{stroke:rgba(126,207,217,.25);stroke-width:.72;stroke-dasharray:.055 .022;stroke-dashoffset:1;animation:company-map-flow 13s linear infinite}
.company-map-water{stroke:rgba(127,232,239,.36);stroke-width:1.05;stroke-dasharray:.12 .035;stroke-dashoffset:1;animation:company-map-flow 18s linear infinite reverse}
.company-map-pin circle,.company-map-pin path{stroke:rgba(114,231,239,.78);stroke-width:1}
.company-map-pin circle:first-child{animation:company-map-pulse 2.8s ease-out infinite}
.company-map-pin text,.company-map-name{fill:rgba(153,231,237,.64);font-family:Arial,sans-serif;font-size:8px;letter-spacing:.2em}
.company-map-name{font-size:9px;letter-spacing:.34em}
@keyframes company-map-draw{to{stroke-dashoffset:0}}
@keyframes company-map-flow{to{stroke-dashoffset:0}}
@keyframes company-map-drift{0%{transform:translate3d(-6px,3px,0) rotate(-.35deg) scale(1)}100%{transform:translate3d(9px,-7px,0) rotate(.45deg) scale(1.018)}}
@keyframes company-map-pulse{0%{r:8;opacity:.85}75%,100%{r:26;opacity:0}}
@media(max-width:600px){
  .company-map{inset:3% -36% 11% 3%;opacity:.24;mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 48%,transparent 83%);-webkit-mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.55) 48%,transparent 83%)}
  .company-map-pin text{display:none}
}
@media(prefers-reduced-motion:reduce){
  .company-map-drift,.company-map-outline,.company-map-line,.company-map-water,.company-map-pin circle:first-child{animation:none!important}
  .company-map-outline{stroke-dashoffset:0}.company-map-line,.company-map-water{stroke-dashoffset:0}
}

/* Real aerial photograph of Kokurakita, kept quiet behind company details. */
.company::before{z-index:1;background-image:linear-gradient(rgba(100,215,226,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(100,215,226,.028) 1px,transparent 1px),radial-gradient(circle at 14% 24%,rgba(37,177,194,.09),transparent 30%)}
.company-grid{z-index:2}
.company-aerial{position:absolute;z-index:0;inset:-7%;overflow:hidden;pointer-events:none}
.company-aerial::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,24,32,.92) 0%,rgba(3,24,32,.63) 34%,rgba(3,24,32,.52) 100%),linear-gradient(0deg,rgba(3,24,32,.82),rgba(3,24,32,.28) 55%,rgba(3,24,32,.75))}
.company-aerial img{width:100%;height:100%;object-fit:cover;object-position:center 46%;opacity:.52;filter:grayscale(.32) saturate(.58) contrast(1.08);transform:scale(1.025);animation:company-aerial-drift 20s ease-in-out infinite alternate}
.company-aerial-credit{position:absolute;z-index:3;right:calc((100% - var(--shell))/2);bottom:12px;color:rgba(191,222,226,.55);font:7px/1.4 Arial,sans-serif;letter-spacing:.13em;text-decoration:none}
.company-aerial-credit:hover{color:#7fe4ec}
@keyframes company-aerial-drift{0%{transform:scale(1.025) translate3d(-.35%,.2%,0)}100%{transform:scale(1.065) translate3d(.55%,-.45%,0)}}
@media(max-width:600px){
  .company-aerial{inset:-3% -28% -3% -28%}
  .company-aerial::after{background:linear-gradient(90deg,rgba(3,24,32,.83),rgba(3,24,32,.62)),linear-gradient(0deg,rgba(3,24,32,.88),rgba(3,24,32,.42) 48%,rgba(3,24,32,.79))}
  .company-aerial img{object-position:55% center;opacity:.48}
  .company-aerial-credit{right:24px;bottom:9px;font-size:6px}
}
@media(prefers-reduced-motion:reduce){.company-aerial img{animation:none!important;transform:scale(1.025)}}

/* Production layout: the preview notice is not present. */
.site-header{top:0}
@media(max-width:900px){.global-nav{inset:0}}
@media(max-width:600px){.site-header{top:0}.global-nav{inset:0}.hero-frame{height:100svh}}
