:root{
  --navy:#0b1f33;
  --navy2:#102b46;
  --blue:#1476c8;
  --sky:#edf6fc;
  --ink:#12202f;
  --muted:#657586;
  --line:#dce5ec;
  --white:#fff;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:#fff;line-height:1.8}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 48px),var(--max));margin:auto}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(13,38,61,.08)}
.header-in{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-weight:900;letter-spacing:.18em;color:var(--navy);font-size:24px}.logo small{font-size:10px;display:block;letter-spacing:.25em;font-weight:700;color:var(--muted);margin-top:-5px}
.header .logo{display:flex;align-items:center;gap:12px;letter-spacing:0;font-size:0;line-height:1;flex-shrink:0}
.header .logo-mark{display:block;width:78px;height:auto;max-height:60px;object-fit:contain}
.header .logo-text{display:block;font-size:23px;font-weight:300;letter-spacing:.02em;color:var(--navy);white-space:nowrap;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif}
@media(max-width:850px){.header .logo-mark{width:64px;max-height:48px}.header .logo-text{font-size:19px;font-weight:300}}
.nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--blue);transition:.25s}.nav a:hover:after{right:0}
.contact-btn{background:var(--navy);color:white!important;padding:13px 20px;border-radius:4px}
.hero{min-height:640px;display:grid;align-items:center;position:relative;overflow:hidden;background:linear-gradient(115deg,var(--navy) 0 56%,#e7eef4 56% 100%)}
.hero:after{content:"";position:absolute;right:-120px;top:80px;width:52%;height:500px;background:linear-gradient(135deg,rgba(20,118,200,.9),rgba(11,31,51,.25)),repeating-linear-gradient(90deg,transparent 0 65px,rgba(255,255,255,.10) 65px 66px);clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);}
.hero .container{position:relative;z-index:2}.eyebrow{color:#7ec5ff;font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero h1{color:white;font-size:clamp(38px,5.3vw,72px);line-height:1.18;margin:18px 0 24px;letter-spacing:.04em;max-width:760px}.hero p{color:#d9e5ef;max-width:650px;font-size:16px}.hero-actions{display:flex;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:4px;font-weight:800;font-size:14px}.btn.primary{background:var(--blue);color:#fff}.btn.ghost{border:1px solid rgba(255,255,255,.4);color:#fff}.hero-meta{display:flex;gap:28px;margin-top:58px;color:#d9e5ef;font-size:13px}.hero-meta strong{display:block;color:white;font-size:22px}
.section{padding:96px 0}.section.alt{background:#f6f8fa}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-head h2{font-size:clamp(30px,4vw,46px);margin:5px 0 0;line-height:1.25;color:var(--navy)}.section-head p{max-width:560px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);background:#fff;min-height:330px;display:flex;flex-direction:column;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(10,31,51,.10)}.card-art{height:150px;background:linear-gradient(135deg,#c9d6df,#f2f6f9);position:relative;overflow:hidden}.card-art:before{content:"";position:absolute;inset:35px -20px -50px 30%;background:linear-gradient(135deg,var(--navy2),var(--blue));transform:skewX(-15deg);opacity:.92}.card-body{padding:26px}.card .num{font-size:12px;color:var(--blue);font-weight:900;letter-spacing:.18em}.card h3{font-size:22px;margin:6px 0 10px;color:var(--navy)}.card p{font-size:14px;color:#526273;margin:0}.card.wide{grid-column:span 2}.card.wide .card-art{height:190px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9e3ea;border:1px solid #d9e3ea}.stat{background:#fff;padding:34px}.stat span{font-size:13px;color:var(--muted)}.stat strong{display:block;font-size:26px;color:var(--navy);margin-top:5px}
.news{border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:20px 4px;border-bottom:1px solid var(--line);font-size:14px}.news-row time{color:var(--muted)}
.cta{background:linear-gradient(110deg,var(--navy),#12395c);color:#fff;padding:70px 0}.cta-in{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:34px;margin:0 0 7px}.cta p{margin:0;color:#dce9f3}.cta .btn{background:#fff;color:var(--navy)}
.page-hero{padding:96px 0 78px;background:linear-gradient(135deg,var(--navy),#123d63);color:#fff}.page-hero h1{font-size:52px;margin:8px 0 12px}.page-hero p{max-width:760px;color:#dbe7f1}.breadcrumb{font-size:12px;color:#9fb3c5;margin-bottom:28px}.intro{font-size:17px;max-width:850px}.business-list{display:grid;gap:34px}.business-item{display:grid;grid-template-columns:1fr 1.25fr;border:1px solid var(--line);background:white;min-height:280px}.business-art{background:linear-gradient(135deg,#c8d5df,#f5f8fa);position:relative;overflow:hidden}.business-art:after{content:"";position:absolute;inset:18% 10% -15% 22%;background:linear-gradient(145deg,var(--navy2),var(--blue));clip-path:polygon(0 18%,82% 0,100% 72%,17% 100%);opacity:.9}.business-copy{padding:42px}.business-copy .label{font-size:12px;color:var(--blue);font-weight:900;letter-spacing:.18em}.business-copy h2{font-size:30px;color:var(--navy);margin:5px 0 14px}.business-copy p{color:#506172;margin:0}.business-item:nth-child(even){grid-template-columns:1.25fr 1fr}.business-item:nth-child(even) .business-art{order:2}.business-item:nth-child(even) .business-copy{order:1}
.footer{background:#071725;color:#b8c6d2;padding:62px 0 30px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:50px}.footer .logo{color:#fff}.footer-brand{display:flex;align-items:center;gap:14px;color:#fff}.footer-logo-mark{display:block;width:82px;height:auto;max-height:64px;object-fit:contain;flex-shrink:0}.footer-logo-text{display:block;font-size:26px;font-weight:300;letter-spacing:.02em;color:#fff;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.2}.footer h4{color:#fff;margin-top:0}.footer a{display:block;padding:4px 0;font-size:13px}.footer address{font-style:normal;font-size:13px;margin-top:18px}.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:42px;padding-top:22px;font-size:12px;color:#8094a5}
.mobile-toggle{display:none}
@media(max-width:850px){.container{width:min(calc(100% - 32px),var(--max))}.nav{display:none}.mobile-toggle{display:block;font-weight:900}.hero{min-height:590px;background:linear-gradient(160deg,var(--navy) 0 76%,#e7eef4 76%)}.hero:after{opacity:.25;right:-40%;width:100%}.hero h1{font-size:42px}.hero-meta{gap:16px;flex-wrap:wrap}.cards{grid-template-columns:1fr}.card.wide{grid-column:auto}.section{padding:70px 0}.section-head{display:block}.business-item,.business-item:nth-child(even){grid-template-columns:1fr}.business-item:nth-child(even) .business-art{order:1}.business-item:nth-child(even) .business-copy{order:2}.business-art{min-height:180px}.business-copy{padding:28px}.stats{grid-template-columns:1fr}.cta-in,.footer-grid{display:block}.cta .btn{margin-top:24px}.footer-grid>div{margin-bottom:28px}.footer-logo-mark{width:72px;max-height:56px}.footer-logo-text{font-size:22px}.news-row{grid-template-columns:1fr;gap:4px}.page-hero h1{font-size:40px}}

/* Access page */
.nav a.active{color:var(--blue)}
.nav a.active:after{right:0}
.access-hero{position:relative;overflow:hidden;background:linear-gradient(rgba(8,24,39,.52),rgba(8,24,39,.52)),url("img/map/access-hero-map.png") center/cover no-repeat;color:#fff}
.access-hero:after{content:"";position:absolute;right:-80px;top:-100px;width:500px;height:500px;border:1px solid rgba(255,255,255,.10);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.02)}
.access-hero .container{position:relative;z-index:1}
.access-hero .breadcrumb{color:#d7e4ef}
.access-hero p{color:#e6f0f7;max-width:760px;text-shadow:0 1px 2px rgba(0,0,0,.15)}
.access-hero .eyebrow{color:#8fd7ff}
.access-hero h1{text-shadow:0 2px 6px rgba(0,0,0,.18)}
.eyebrow.dark{color:var(--blue)}
.access-heading{margin-bottom:48px}
.location-list{display:grid;gap:48px}
.location-card{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(460px,1.2fr);min-height:390px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px rgba(11,31,51,.06);overflow:hidden}
.location-card.reverse{grid-template-columns:minmax(460px,1.2fr) minmax(320px,.8fr)}
.location-card.reverse .location-info{order:2}
.location-card.reverse .location-map{order:1}
.location-info{padding:48px 46px;position:relative}
.location-number{position:absolute;right:34px;top:24px;font-size:60px;line-height:1;font-weight:900;color:#edf2f6;letter-spacing:-.05em}
.location-label{font-size:11px;letter-spacing:.2em;font-weight:900;color:var(--blue);margin-bottom:5px}
.location-info h2{position:relative;font-size:29px;color:var(--navy);margin:0 0 28px;line-height:1.4}
.location-details{margin:0;border-top:1px solid var(--line)}
.location-details>div{display:grid;grid-template-columns:72px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}
.location-details dt{font-weight:800;color:var(--navy)}
.location-details dd{margin:0;color:#526273}
.map-link{display:inline-flex;align-items:center;gap:10px;margin-top:25px;font-size:13px;font-weight:800;color:var(--blue);border-bottom:1px solid #b8daf6;padding-bottom:3px}
.map-link span{font-size:15px}
.location-map{min-height:390px;background:#e9eef2}
.location-map iframe{display:block;width:100%;height:100%;min-height:390px;border:0;filter:saturate(.72) contrast(.96)}
@media(max-width:850px){.location-list{gap:28px}.location-card,.location-card.reverse{grid-template-columns:1fr}.location-card.reverse .location-info{order:1}.location-card.reverse .location-map{order:2}.location-info{padding:34px 26px}.location-number{font-size:46px;right:22px;top:21px}.location-info h2{font-size:24px}.location-map,.location-map iframe{min-height:300px}.location-details>div{grid-template-columns:64px 1fr}}

/* Hero slideshow */
.hero{
  min-height:640px;
  background:var(--navy);
  position:relative;
  overflow:hidden;
  z-index:2;
}
.hero:after{display:none}
.hero-layout{
  min-height:640px;
  display:block;
  position:relative;
  padding:0;
}
.hero-copy{
  position:relative;
  z-index:5;
  width:58%;
  padding:68px 0 34px;
}
.hero-slider{
  position:absolute;
  z-index:2;
  top:0;
  bottom:0;
  left:51%;
  width:calc(50vw - 0px);
  max-width:none;
  aspect-ratio:auto;
  overflow:hidden;
  background:#07111c;
  border:0;
  box-shadow:none;
  clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);
}
.hero-slider:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.hero-slide{position:absolute;inset:0;opacity:0;animation:ssiHeroFade 15s infinite}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}
.hero-slide.slide-1{animation-delay:0s}
.hero-slide.slide-2{animation-delay:5s}
.hero-slide.slide-3{animation-delay:10s}
.hero-slider-frame{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,var(--blue),#7ec5ff);
  z-index:5;
}
@keyframes ssiHeroFade{
  0%{opacity:0;transform:scale(1.025)}
  5%{opacity:1}
  28%{opacity:1}
  33%{opacity:0;transform:scale(1)}
  100%{opacity:0;transform:scale(1)}
}
/* Keep the next section aligned directly below the hero. */
.hero + .section{position:relative;z-index:1;padding-top:96px}
@media(max-width:1100px){
  .hero-copy{width:57%}
  .hero-slider{left:50%;width:50vw}
  .hero h1{font-size:clamp(38px,5vw,58px)}
}
@media(max-width:850px){
  .hero{min-height:auto;overflow:hidden;background:var(--navy)}
  .hero-layout{min-height:0;display:flex;flex-direction:column;padding:56px 0;gap:38px}
  .hero-copy{width:100%;padding:0;position:relative}
  .hero-slider{
    position:relative;
    top:auto;right:auto;bottom:auto;left:auto;
    width:100%;
    max-width:680px;
    aspect-ratio:16/9;
    align-self:center;
    clip-path:none;
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 28px 70px rgba(0,0,0,.34);
  }
  .hero h1{font-size:42px}
  .hero-meta{margin-top:42px}
  .hero + .section{padding-top:70px}
}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;opacity:0}.hero-slide:first-child{opacity:1}}

/* Company profile page */
.about-hero{position:relative;overflow:hidden}
.about-hero:after{content:"";position:absolute;right:-120px;top:-180px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.015)}
.about-hero .container{position:relative;z-index:1}
.about-heading{margin-bottom:38px}
.company-profile{border-top:3px solid var(--navy);background:#fff;box-shadow:0 12px 36px rgba(11,31,51,.05)}
.company-table{margin:0}
.company-table>div{display:grid;grid-template-columns:230px 1fr;border-bottom:1px solid var(--line)}
.company-table dt{margin:0;padding:23px 28px;background:#f5f8fa;font-weight:800;color:var(--navy);font-size:14px;line-height:1.7}
.company-table dd{margin:0;padding:23px 32px;font-size:14px;color:#465a6b;line-height:2}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.related-card{position:relative;background:#fff;border:1px solid var(--line);padding:40px 38px;min-height:310px;box-shadow:0 12px 36px rgba(11,31,51,.05);overflow:hidden}
.related-card:before{content:"";position:absolute;right:-90px;top:-110px;width:240px;height:240px;border-radius:50%;background:#f2f7fb}
.related-no{position:relative;font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--blue)}
.related-card h3{position:relative;font-size:23px;line-height:1.5;color:var(--navy);margin:10px 0 18px}
.related-card p{position:relative;margin:0;color:#526273;font-size:14px;line-height:2}
.related-business{position:relative;border-top:1px solid var(--line);margin-top:20px;padding-top:17px;color:#526273;font-size:14px;line-height:1.9}
.related-business span{display:block;color:var(--navy);font-weight:800;margin-bottom:3px}
.company-links-section{padding-top:76px;padding-bottom:76px}
.company-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.company-links a{position:relative;padding:28px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:125px;transition:.25s}
.company-links a:hover{background:#f5f9fc}
.company-links span{display:block;font-size:10px;letter-spacing:.18em;color:var(--blue);font-weight:900}
.company-links strong{display:block;margin-top:5px;font-size:20px;color:var(--navy)}
.company-links b{position:absolute;right:26px;bottom:24px;color:var(--blue);font-size:20px}
@media(max-width:850px){
  .company-table>div{grid-template-columns:1fr}
  .company-table dt{padding:15px 20px;border-bottom:1px solid var(--line)}
  .company-table dd{padding:18px 20px}
  .related-grid{grid-template-columns:1fr}
  .related-card{padding:30px 24px;min-height:0}
  .company-links{grid-template-columns:1fr}
}


/* Header company dropdown */
.nav-dropdown{position:relative;display:flex;align-items:center;height:82px}
.nav-dropdown-toggle{display:flex;align-items:center;gap:7px;height:100%}
.nav-dropdown-toggle:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:12px;transform:translateY(100%)}
.nav-dropdown-toggle::after{content:""!important;position:static!important;width:6px!important;height:6px!important;border-right:2px solid currentColor;border-bottom:2px solid currentColor;background:none!important;transform:rotate(45deg);margin-top:-4px;transition:transform .2s!important}
.nav-dropdown:hover .nav-dropdown-toggle::after,.nav-dropdown:focus-within .nav-dropdown-toggle::after{transform:rotate(225deg);margin-top:4px}
.nav-dropdown-menu{position:absolute;top:calc(100% - 1px);left:50%;transform:translate(-50%,10px);width:230px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px rgba(11,31,51,.14);opacity:0;visibility:hidden;pointer-events:none;transition:.2s;z-index:50}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nav-dropdown-menu a{display:block;padding:12px 14px;font-size:13px;color:var(--navy);border-bottom:1px solid #edf2f5;white-space:nowrap}
.nav-dropdown-menu a:last-child{border-bottom:0}
.nav-dropdown-menu a:after{display:none}
.nav-dropdown-menu a:hover{background:#f2f7fb;color:var(--blue)}
.nav-dropdown-menu a.active{background:#f2f7fb;color:var(--blue)}
@media(max-width:850px){.nav-dropdown{height:auto}.nav-dropdown-menu{display:none}}

/* Privacy policy page */
.privacy-hero{position:relative;overflow:hidden}
.privacy-hero:after{content:"";position:absolute;right:-130px;top:-190px;width:590px;height:590px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.018)}
.privacy-hero .container{position:relative;z-index:1}
.privacy-container{max-width:980px}
.privacy-lead{padding-bottom:50px;border-bottom:1px solid var(--line)}
.privacy-lead h2{font-size:clamp(30px,4vw,44px);line-height:1.35;margin:7px 0 22px;color:var(--navy)}
.privacy-lead p{margin:0;color:#526273;font-size:16px}
.privacy-list{border-bottom:1px solid var(--line)}
.privacy-item{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:42px 0;border-bottom:1px solid var(--line)}
.privacy-item:last-child{border-bottom:0}
.privacy-number{font-size:14px;line-height:1;font-weight:900;letter-spacing:.16em;color:var(--blue);padding-top:12px}
.privacy-item h2{font-size:23px;line-height:1.5;margin:0 0 12px;color:var(--navy)}
.privacy-item p{margin:0;color:#526273}
.privacy-item ul{margin:16px 0 0;padding-left:1.4em;color:#526273}
.privacy-item li{padding:3px 0}
.privacy-contact{margin-top:70px;padding:46px;background:#f5f8fa;border-left:4px solid var(--blue)}
.privacy-contact h2{font-size:27px;line-height:1.4;color:var(--navy);margin:6px 0 12px}
.privacy-contact>p{margin:0 0 24px;color:#526273}
.privacy-contact-box{padding:25px 28px;background:#fff;border:1px solid var(--line)}
.privacy-contact-box strong{display:block;font-size:18px;color:var(--navy);margin-bottom:8px}
.privacy-contact-box p{margin:0;color:#526273;font-size:14px}
@media(max-width:850px){.privacy-item{grid-template-columns:1fr;gap:10px;padding:32px 0}.privacy-number{padding-top:0}.privacy-item h2{font-size:20px}.privacy-contact{margin-top:50px;padding:30px 24px}.privacy-contact h2{font-size:23px}}

/* History page */
.history-hero{position:relative;overflow:hidden}
.history-hero:after{content:"";position:absolute;right:-120px;top:-180px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.015)}
.history-hero .container{position:relative;z-index:1}
.history-container{max-width:980px}
.history-heading{margin-bottom:44px}
.history-list{position:relative;border-top:3px solid var(--navy);background:#fff;box-shadow:0 14px 42px rgba(11,31,51,.05)}
.history-row{display:grid;grid-template-columns:190px 1fr;position:relative;border-bottom:1px solid var(--line)}
.history-row:before{content:"";position:absolute;left:189px;top:0;bottom:0;width:1px;background:var(--line)}
.history-date{position:relative;padding:25px 28px;background:#f5f8fa;color:var(--navy);display:flex;align-items:baseline;gap:12px}
.history-date:after{content:"";position:absolute;right:-5px;top:50%;width:9px;height:9px;margin-top:-4px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px #fff}
.history-date span{font-size:14px;font-weight:800;white-space:nowrap}
.history-date strong{font-size:20px;white-space:nowrap}
.history-content{padding:25px 34px;display:flex;align-items:center;min-height:82px}
.history-content p{margin:0;color:#465a6b;font-size:14px;line-height:1.9}
@media(max-width:850px){
  .history-row{grid-template-columns:1fr}
  .history-row:before{display:none}
  .history-date{padding:16px 20px;border-bottom:1px solid var(--line)}
  .history-date:after{display:none}
  .history-content{padding:20px;min-height:0}
}

/* Facility page */
.facility-hero{position:relative;overflow:hidden}
.facility-hero:after{content:"";position:absolute;right:-120px;top:-180px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.015)}
.facility-hero .container{position:relative;z-index:1}
.facility-container{max-width:1080px}
.facility-heading{margin-bottom:42px}
.facility-list{border-top:3px solid var(--navy)}
.facility-card{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:center;padding:44px 0;border-bottom:1px solid var(--line)}
.facility-info{min-width:0}
.facility-no{display:block;margin-bottom:8px;font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--blue)}
.facility-card h3{margin:0 0 22px;font-size:25px;line-height:1.45;color:var(--navy)}
.facility-spec{margin:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.facility-spec>div{display:grid;grid-template-columns:92px 1fr;min-height:54px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.facility-spec dt{padding:15px 14px;background:#f5f8fa;color:var(--navy);font-size:12px;font-weight:800}
.facility-spec dd{margin:0;padding:15px 16px;color:#465a6b;font-size:13px}
.facility-machines{display:grid;gap:15px}
.facility-spec.sub-spec{margin-top:0}
.facility-image{margin:0;width:100%;aspect-ratio:4/3;background:#f4f7f9;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 14px 34px rgba(11,31,51,.08)}
.facility-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;padding:18px}
.facility-image-empty{flex-direction:column;gap:8px;background:linear-gradient(135deg,#f6f9fb,#edf3f7);color:#9aabba;box-shadow:none}
.facility-image-empty span{font-size:11px;font-weight:900;letter-spacing:.25em;color:#8ba1b3}
.facility-image-empty small{font-size:12px;color:#9aabba}
@media(max-width:900px){
  .facility-card{grid-template-columns:1fr;gap:25px;padding:34px 0}
  .facility-image{max-width:560px;order:2}
}
@media(max-width:600px){
  .facility-spec{grid-template-columns:1fr}
  .facility-spec>div{grid-template-columns:88px 1fr}
  .facility-card h3{font-size:22px}
}

/* News page */
.news-hero{position:relative;overflow:hidden}
.news-hero:after{content:"";position:absolute;right:-120px;top:-180px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.015)}
.news-hero .container{position:relative;z-index:1}
.news-page-container{max-width:980px}
.news-page-heading{margin-bottom:42px}
.news-page-list{border-top:3px solid var(--navy);background:#fff;box-shadow:0 14px 42px rgba(11,31,51,.05)}
.news-page-row{display:grid;grid-template-columns:170px 1fr;min-height:96px;border-bottom:1px solid var(--line);transition:.2s}
.news-page-row:hover{background:#f8fbfd}
.news-page-row time{display:flex;align-items:center;gap:12px;padding:26px 28px;background:#f5f8fa;color:var(--navy);font-size:18px;font-weight:800;letter-spacing:.04em}
.news-page-row time span{font-size:11px;letter-spacing:.12em;color:var(--blue);font-weight:900}
.news-page-content{display:flex;align-items:center;padding:26px 34px}
.news-page-content p{margin:0;color:#465a6b;font-size:15px;line-height:1.9}
@media(max-width:850px){
  .news-page-row{grid-template-columns:1fr}
  .news-page-row time{padding:15px 20px;border-bottom:1px solid var(--line)}
  .news-page-content{padding:20px}
}


/* Mobile navigation fix */
@media(max-width:850px){
  .header{position:relative;z-index:1000}
  .header-in{position:relative}
  .mobile-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:64px;
    min-height:44px;
    padding:0 12px;
    cursor:pointer;
    user-select:none;
    position:relative;
    z-index:1002;
  }
  .header .nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    background:#fff;
    border-top:1px solid var(--line);
    box-shadow:0 16px 30px rgba(7,23,37,.12);
    padding:10px 16px 18px;
    z-index:1001;
    max-height:calc(100vh - 82px);
    overflow-y:auto;
  }
  .header.mobile-menu-open .nav{display:block}
  .header .nav>a,
  .header .nav-dropdown{
    display:block;
    height:auto;
    width:100%;
  }
  .header .nav>a,
  .header .nav-dropdown-toggle{
    display:block;
    width:100%;
    height:auto;
    padding:14px 4px;
    border-bottom:1px solid #edf2f5;
  }
  .header .nav a:after{display:none}
  .header .nav-dropdown-toggle::after{display:none!important}
  .header .nav-dropdown-menu{
    position:static;
    display:block;
    width:100%;
    padding:0 0 6px 14px;
    margin:0;
    border:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    background:#f7fafc;
  }
  .header .nav-dropdown-menu a{
    display:block;
    padding:11px 12px;
    border-bottom:1px solid #e8eef3;
    font-size:13px;
  }
  .header .contact-btn{
    margin-top:10px;
    text-align:center;
  }
}

/* Mobile navigation visibility override */
@media(max-width:850px){
  .header .nav{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:fixed!important;
    top:82px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 82px)!important;
    overflow-y:auto!important;
    box-sizing:border-box!important;
    background:#fff!important;
    padding:12px 20px 24px!important;
    margin:0!important;
    transform:none!important;
    z-index:99999!important;
  }
  .header.mobile-menu-open .nav{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  .header.mobile-menu-open .nav-dropdown-menu{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

/* Mobile navigation standalone panel */
.mobile-nav-panel{display:none}
@media(max-width:850px){
  .mobile-toggle{
    display:flex!important;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    position:relative;
    z-index:100001;
  }
  .mobile-nav-panel{
    display:block;
    position:fixed;
    top:82px;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100dvh - 82px);
    overflow-y:auto;
    box-sizing:border-box;
    padding:12px 20px 26px;
    background:#fff;
    border-top:1px solid #e5ebf0;
    box-shadow:0 18px 36px rgba(7,23,37,.18);
    z-index:100000;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  .mobile-nav-panel.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .mobile-nav-panel>a,
  .mobile-nav-group>a{
    display:block;
    padding:14px 4px;
    border-bottom:1px solid #e9eef2;
    color:#0d263d;
    font-size:15px;
    font-weight:600;
    text-decoration:none;
  }
  .mobile-nav-group{
    margin:0;
    padding:0;
  }
  .mobile-nav-group-title{
    padding:15px 4px 7px;
    color:#1681c4;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
  }
  .mobile-nav-group>a{padding-left:18px;font-size:14px;font-weight:500}
  .mobile-nav-contact{
    margin-top:14px;
    padding:14px 16px!important;
    background:#0d263d;
    color:#fff!important;
    text-align:center;
    border-bottom:0!important;
  }
  body.mobile-nav-open{overflow:hidden}
}


/* Mobile: keep header/menu always accessible */
@media(max-width:850px){
  .header{
    position:sticky!important;
    top:0;
    z-index:5000!important;
    background:#fff;
  }
  .header-in{
    min-height:72px;
  }
  .mobile-toggle{
    position:relative;
    z-index:5002!important;
  }
  .ssi-mobile-menu-panel,
  .header .nav{
    z-index:5001!important;
  }
}

/* Mobile header final fix: always visible */
@media(max-width:850px){
  body{
    padding-top:82px!important;
  }
  .header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    z-index:2147483000!important;
    background:rgba(255,255,255,.98)!important;
    box-sizing:border-box!important;
  }
  .header-in{
    height:82px!important;
    min-height:82px!important;
  }
  .mobile-toggle{
    z-index:2147483002!important;
  }
  .mobile-nav-panel{
    top:82px!important;
    z-index:2147483001!important;
  }
}


/* Related company URL links only */
.related-card p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.related-card p a:hover{color:#0b5f9e}


/* CTA phone button */
.cta-phone-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:220px;margin-bottom:10px;padding:12px 20px;border:1px solid rgba(255,255,255,.65);border-radius:6px;background:rgba(255,255,255,.10);color:#fff;text-decoration:none;transition:.2s;box-sizing:border-box}
.cta-phone-button:hover{background:#fff;color:var(--navy);transform:translateY(-1px)}
.cta-phone-button .cta-phone-label{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.82}
.cta-phone-button strong{font-size:24px;line-height:1.2;white-space:nowrap}
@media(max-width:850px){.cta-phone-button{width:100%;max-width:320px;margin-top:18px;padding:14px 18px}.cta-phone-button strong{font-size:22px}}

/* CTA action buttons: stack with comfortable spacing */
.cta-in > div:last-child{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:16px;
  min-width:260px;
}
.cta-in > div:last-child .cta-phone-button,
.cta-in > div:last-child .btn{
  width:100%;
  box-sizing:border-box;
  margin:0;
  text-align:center;
  justify-content:center;
}
@media(max-width:850px){
  .cta-in > div:last-child{
    margin-top:24px;
    min-width:0;
    width:100%;
    max-width:340px;
    gap:14px;
  }
  .cta-in > div:last-child .cta-phone-button,
  .cta-in > div:last-child .btn{
    margin:0!important;
    width:100%;
    max-width:none;
  }
}
