/* Company section */
.company-kicker{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#5b78ad;font-size:14px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.company-kicker::before{content:"";width:28px;height:1px;background:#6f8cbe}
.company-display{margin:0;color:var(--navy);font-size:clamp(38px,4.6vw,64px);line-height:1.13;letter-spacing:-.055em}
.company-lead{margin:22px 0 0;color:var(--gray-700);font-size:16px;line-height:1.85}

/* Greeting */
.greeting-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:78px;align-items:stretch}
.greeting-media{position:relative;min-height:590px;overflow:hidden;background:#e9edf2}
.greeting-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.greeting-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,27,62,.02),rgba(5,27,62,.28))}
.greeting-media-label{position:absolute;z-index:2;left:28px;bottom:24px;color:#fff;font-size:14px;font-weight:800;letter-spacing:.12em}
.greeting-copy{display:flex;flex-direction:column;justify-content:center;padding:45px 0}
.message-quote{margin:0 0 32px;padding:0;border:0;color:var(--navy);font-size:clamp(31px,3.4vw,48px);font-weight:800;line-height:1.3;letter-spacing:-.05em}
.greeting-copy p{margin:0 0 15px;color:var(--gray-700);font-size:15px;line-height:1.9}
.signature{display:flex;align-items:center;gap:16px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line);color:var(--navy);font-size:14px;font-weight:800}
.signature::before{content:"";width:34px;height:2px;background:#5d7eb8}

/* Overview */
.overview-lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:90px;align-items:end;margin-bottom:62px}
.overview-lead-copy{max-width:560px;padding-bottom:4px}
.overview-lead-copy p{margin:0;color:var(--gray-700);font-size:16px;line-height:1.9}
.overview-values{border-top:1px solid var(--navy)}
.overview-value{display:grid;grid-template-columns:92px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}
.overview-value span{color:#6681b2;font-size:14px;font-weight:900;letter-spacing:.1em}
.overview-value strong{color:#303b4c;font-size:15px;font-weight:700}
.overview-visual{position:relative;min-height:520px;overflow:hidden;background:#e6ebf0}
.overview-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.overview-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,63,.56),rgba(4,27,63,.04) 68%)}
.overview-visual-copy{position:absolute;z-index:2;left:42px;right:42px;bottom:38px;color:#fff}
.overview-visual-copy span{display:block;margin-bottom:8px;font-size:14px;font-weight:800;letter-spacing:.12em;color:#c6d9f8}
.overview-visual-copy strong{display:block;max-width:620px;font-size:clamp(27px,3vw,42px);line-height:1.25;letter-spacing:-.045em}
.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ccd4df;border-left:1px solid #ccd4df}
.capability-item{min-height:245px;padding:30px 28px 28px;border-right:1px solid #ccd4df;border-bottom:1px solid #ccd4df;background:#fff;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.capability-item:hover{background:#f7f9fc;transform:translateY(-3px);box-shadow:0 16px 28px rgba(12,38,78,.07)}
.capability-no{display:block;margin-bottom:52px;color:#5c7eb9;font-size:14px;font-weight:900;letter-spacing:.1em}
.capability-item h3{margin:0 0 12px;color:var(--navy);font-size:21px;letter-spacing:-.035em}
.capability-item p{margin:0;color:#6e7680;font-size:14px;line-height:1.75}
.profile-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:56px;align-items:start}
.profile-panel,.org-summary{background:#fff;border-top:2px solid var(--navy)}
.profile-title{padding:22px 0 18px;border-bottom:1px solid var(--line)}
.profile-title span{font-size:14px;font-weight:900;letter-spacing:.12em;color:#6a82ad}
.profile-title h3{margin:5px 0 0;color:var(--navy);font-size:25px;letter-spacing:-.04em}
.company-profile{margin:0}
.company-profile-row{display:grid;grid-template-columns:145px 1fr;min-height:58px;border-bottom:1px solid var(--line);align-items:center}
.company-profile-row dt{padding:15px 14px;color:#68717c;font-size:14px;font-weight:700}
.company-profile-row dd{margin:0;padding:15px 14px;color:#293344;font-size:14px;font-weight:600}
.org-summary{padding-bottom:2px}
.org-summary-body{padding:25px 0 0}
.org-ceo{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;background:var(--navy);color:#fff}
.org-ceo small{display:block;color:#b5caeb;font-size:14px;font-weight:800;letter-spacing:.1em}
.org-ceo strong{font-size:19px}
.org-ceo b{font-size:14px;font-weight:700}
.org-groups{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid var(--line)}
.org-group{padding:24px 20px 21px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.org-group span{color:#6882ae;font-size:14px;font-weight:900;letter-spacing:.08em}
.org-group h4{margin:7px 0 6px;color:#2b3647;font-size:17px}
.org-group p{margin:0;color:#7a8189;font-size:14px;line-height:1.7}

/* Business */
.business-list{border-top:1px solid #cbd3dd}
.business-item{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;border-bottom:1px solid #cbd3dd;background:#fff}
.business-item:nth-child(even) .business-image{order:2}
.business-image{position:relative;min-height:390px;overflow:hidden;background:#e8ecf1}
.business-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.business-item:hover .business-image img{transform:scale(1.035)}
.business-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,27,63,.02),rgba(4,27,63,.16))}
.business-copy{display:flex;flex-direction:column;justify-content:center;padding:54px 58px}
.business-index{display:flex;align-items:center;gap:13px;margin-bottom:28px;color:#6481b6;font-size:14px;font-weight:900;letter-spacing:.11em}
.business-index::after{content:"";width:34px;height:1px;background:#8fa5c7}
.business-copy h3{margin:0 0 16px;color:var(--navy);font-size:clamp(29px,3vw,40px);line-height:1.25;letter-spacing:-.045em}
.business-copy>p{margin:0;color:#68717c;font-size:15px;line-height:1.85}
.business-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:28px}
.business-tags span{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border:1px solid #d6dde7;background:#fafbfd;color:#687792;font-size:14px;font-weight:800;letter-spacing:.02em}
.business-process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccd4df;border-left:1px solid #ccd4df}
.business-process article{min-height:180px;padding:27px 24px;border-right:1px solid #ccd4df;border-bottom:1px solid #ccd4df;background:#fff}
.business-process span{color:#6b86b4;font-size:14px;font-weight:900;letter-spacing:.1em}
.business-process h3{margin:36px 0 8px;color:#263248;font-size:18px}
.business-process p{margin:0;color:#767e87;font-size:14px;line-height:1.7}

/* Location */
.exterior-visual{position:relative;aspect-ratio:16/6;min-height:390px;overflow:hidden;background:#e8ecf1}
.exterior-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.exterior-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,63,.55),rgba(4,27,63,.04) 70%)}
.exterior-caption{position:absolute;z-index:2;left:38px;bottom:33px;color:#fff}
.exterior-caption span{display:block;font-size:14px;font-weight:800;letter-spacing:.11em;color:#c4d6f1}
.exterior-caption strong{display:block;margin-top:6px;font-size:27px;letter-spacing:-.04em}
.location-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:34px;align-items:stretch}
.map-placeholder{min-height:450px;background:linear-gradient(135deg,#eff3f8,#e1e8f1);display:grid;place-items:center;border:1px solid var(--line);text-align:center;padding:30px;color:#69727d}
.map-placeholder strong{display:block;margin-bottom:9px;color:var(--navy);font-size:24px}
.map-placeholder p{font-size:14px;line-height:1.8;margin:7px 0}
.location-info{border-top:2px solid var(--navy);background:#fff}
.location-info-row{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:20px 4px;border-bottom:1px solid var(--line)}
.location-info-row span{color:#7c858f;font-size:14px;font-weight:700}
.location-info-row strong,.location-info-row a{color:#2c3747;font-size:14px;font-weight:700}
.visit-guide{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.visit-guide article{min-height:155px;padding:25px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.visit-guide span{font-size:14px;font-weight:900;letter-spacing:.1em;color:#6e88b4}
.visit-guide h3{margin:25px 0 8px;color:#263248;font-size:17px}
.visit-guide p{margin:0;color:#7b838c;font-size:14px;line-height:1.7}

/* Optional business profile blocks */
.product-profile-section{overflow:hidden}
.product-profile{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#fff;border-top:2px solid var(--navy);box-shadow:0 18px 44px rgba(12,38,78,.06)}
.product-profile-media{position:relative;min-height:520px;overflow:hidden;background:#dfe5ec}
.product-profile-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.product-profile-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,28,62,.02),rgba(5,28,62,.64))}
.product-profile-overlay{position:absolute;z-index:2;left:34px;right:34px;bottom:30px;color:#fff}
.product-profile-overlay span{display:block;margin-bottom:8px;color:#b8d0f6;font-size:14px;font-weight:800;letter-spacing:.12em}
.product-profile-overlay strong{display:block;font-size:clamp(25px,2.5vw,36px);line-height:1.25;letter-spacing:-.04em}
.product-profile-content{padding:34px 38px 38px}
.product-metric{display:flex;align-items:flex-end;gap:18px;padding:0 0 28px;border-bottom:1px solid var(--line)}
.product-metric strong{color:#345f9e;font-size:clamp(46px,5vw,70px);line-height:.95;letter-spacing:-.055em}
.product-metric span{padding-bottom:5px;color:#5f6874;font-size:14px;font-weight:700;line-height:1.55}
.product-spec-list{margin:0}
.product-spec-list>div{display:grid;grid-template-columns:118px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.product-spec-list dt{color:#6580ad;font-size:14px;font-weight:900;letter-spacing:.08em}
.product-spec-list dd{margin:0;color:#303947;font-size:14px;font-weight:600;line-height:1.7}
.product-profile-note{margin:14px 0 0;color:#7e8791;font-size:14px;line-height:1.7}
.b2b-sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cbd3dd;border-left:1px solid #cbd3dd}
.b2b-sector-grid article{position:relative;min-height:280px;padding:30px 26px;border-right:1px solid #cbd3dd;border-bottom:1px solid #cbd3dd;background:#fff;overflow:hidden;transition:.25s}
.b2b-sector-grid article::after{content:"";position:absolute;right:-26px;bottom:-45px;width:130px;height:130px;border:1px solid #dce3ec;transform:rotate(45deg)}
.b2b-sector-grid article:hover{transform:translateY(-4px);box-shadow:0 16px 28px rgba(12,38,78,.08);z-index:2}
.b2b-sector-grid article>span,.b2b-sector-grid article>small{display:block;color:#5576ad;font-size:14px;font-weight:900;letter-spacing:.08em}
.b2b-sector-grid article>small{margin:48px 0 8px}
.b2b-sector-grid h3{margin:0 0 12px;color:var(--navy);font-size:22px;letter-spacing:-.04em}
.b2b-sector-grid p{margin:0;color:#69727d;font-size:14px;line-height:1.75}

@media(max-width:1000px){
  .greeting-wrap,.overview-lead,.profile-layout,.location-layout{grid-template-columns:1fr;gap:42px}
  .greeting-media{min-height:480px}.greeting-copy{padding:0}
  .overview-lead-copy{max-width:none}.overview-visual{min-height:430px}
  .capability-grid{grid-template-columns:1fr 1fr}
  .business-copy{padding:44px 38px}.business-image{min-height:350px}
  .product-profile{grid-template-columns:1fr}.product-profile-media{min-height:430px}
  .b2b-sector-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .greeting-wrap{gap:32px}.greeting-media{min-height:390px}.message-quote{font-size:31px}
  .overview-lead{margin-bottom:42px}.overview-values{margin-top:0}.overview-visual{min-height:360px}.overview-visual-copy{left:24px;right:24px;bottom:25px}
  .capability-grid{grid-template-columns:1fr}.capability-item{min-height:auto}.capability-no{margin-bottom:30px}
  .company-profile-row{grid-template-columns:105px 1fr}.org-groups{grid-template-columns:1fr}
  .business-item{grid-template-columns:1fr}.business-item:nth-child(even) .business-image{order:0}.business-image{min-height:300px}.business-copy{padding:36px 24px 41px}.business-process{grid-template-columns:1fr 1fr}
  .exterior-visual{aspect-ratio:auto;min-height:300px}.exterior-caption{left:22px;right:22px;bottom:22px}.location-layout{gap:25px}.map-placeholder{min-height:330px}.visit-guide{grid-template-columns:1fr}
}
@media(max-width:620px){
  .product-profile-media{min-height:330px}.product-profile-content{padding:28px 22px}.product-profile-overlay{left:22px;right:22px;bottom:22px}.product-spec-list>div{grid-template-columns:1fr;gap:6px}.b2b-sector-grid{grid-template-columns:1fr}.b2b-sector-grid article{min-height:220px}.b2b-sector-grid article>small{margin-top:28px}
}
@media(max-width:480px){
  .business-process{grid-template-columns:1fr}.org-ceo{align-items:flex-start;flex-direction:column;gap:8px}.location-info-row{grid-template-columns:82px 1fr}
}

/* Location map full-fill fix */
.map-placeholder{
  display:block;
  padding:0;
  overflow:hidden;
  min-height:450px;
  line-height:0;
}
.map-placeholder iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:450px;
  border:0;
}
@media(max-width:760px){
  .map-placeholder,
  .map-placeholder iframe{min-height:360px}
}
