:root{
  --accent:#2360cf;--accent-d:#1a4aa6;--accent-soft:#e9f0fc;
  --ink:#16243d;--text:#4a596d;--muted:#8591a3;
  --bg:#ffffff;--soft:#f3f6fb;--line:#e4e9f1;
  --navy:#0b1e3e;--footer:#0c1a30;
  --teal:#159a9a;--orange:#dd8334;
  --container:1500px;--radius:18px;--radius-s:12px;
  --ease-soft:cubic-bezier(.16,1,.3,1);--ease-expo:cubic-bezier(.77,0,.175,1);
  --shadow:0 30px 66px -32px rgba(16,36,61,.32);--shadow-s:0 14px 32px -16px rgba(16,36,61,.22);
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);background:var(--bg);line-height:1.9;font-size:17px;letter-spacing:.012em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
em, i, cite{font-style:normal}
.lat{font-family:"Inter",sans-serif;letter-spacing:.02em}
.nowrap{white-space:nowrap}
.eyebrow{font-family:"Inter",sans-serif;font-size:13px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
h1, h2, h3{color:var(--ink);font-weight:900;letter-spacing:.012em;line-height:1.34}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:48px}
.section{padding-block:96px}
.bleed{width:100%}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;padding:17px 34px;border-radius:999px;transition:.35s var(--ease-soft);cursor:pointer;border:1.6px solid transparent;white-space:nowrap}
.more{font-family:"Inter",sans-serif;font-weight:600;font-size:14.5px;color:var(--accent);display:inline-flex;align-items:center;gap:9px;transition:.25s}
.more svg{width:16px;height:16px;stroke:currentColor;transition:.3s}
.more:hover svg{transform:translateX(4px)}
/* fade-up */
.fade-up{opacity:1;transform:none}
html.anim .fade-up{opacity:0}
/* ===== HEADER ===== */
.hd{position:fixed;top:0;left:0;width:100%;z-index:100;background:#fff;border-bottom:1px solid transparent;transition:box-shadow .35s,border-color .35s}
/* ===== BREADCRUMB ===== */
.crumb{padding-top:118px;padding-bottom:8px}
.crumb .container{display:flex;gap:10px;align-items:center;font-family:"Inter",sans-serif;font-size:13px;color:var(--muted)}
.crumb a:hover{color:var(--accent)}
.crumb .sep{opacity:.6}
/* ===== ABOUT HERO (full-width bg image, white-left gradient) ===== */
.ab-hero{position:relative;overflow:hidden;min-height:620px;display:flex;align-items:center;background:#fff;padding-top:150px;padding-bottom:96px}
.ab-hero .hero-bg-photo{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.ab-hero .hero-bg-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.ab-hero .hero-bg-photo::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#ffffff 0%,#ffffff 28%,rgba(255,255,255,.9) 40%,rgba(255,255,255,.45) 57%,rgba(255,255,255,0) 80%)}
.ab-hero .container{position:relative;z-index:3;width:100%}
.crumb-in{display:flex;gap:10px;align-items:center;font-family:"Inter",sans-serif;font-size:13px;color:var(--muted);margin-bottom:36px}
.crumb-in a:hover{color:var(--accent)}
.crumb-in .sep{opacity:.6}
.ab-hero-copy{max-width:620px}
.ab-hero h1{font-size:clamp(42px,5.2vw,78px);margin-bottom:48px;line-height:1.16}
.ab-hero .lead{font-size:clamp(20px,2.4vw,32px);font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:26px}
.ab-hero p{font-size:16px;line-height:2.05;color:var(--text);max-width:440px}
/* ===== CEO MESSAGE ===== */
.ceo{position:relative;background:#fff;overflow:hidden}
.ceo .ceo-panel{position:absolute;left:0;top:70px;bottom:70px;width:38%;z-index:0;
  background:linear-gradient(160deg,#d8e6fa,#eef3fc);border-radius:0 24px 24px 0}
.ceo .container{position:relative;z-index:1}
.ceo-grid{display:grid;grid-template-columns:.92fr 1.12fr;gap:62px;align-items:center}
.ceo-photo{position:relative}
.ceo-photo img{width:100%;max-width:540px;height:600px;object-fit:cover;object-position:top center;border-radius:20px;box-shadow:var(--shadow)}
.ceo-body .eyebrow{display:block;margin-bottom:18px}
.ceo-body h2{font-size:clamp(28px,3.3vw,46px);margin-bottom:30px;line-height:1.4}
.ceo-body p{font-size:16px;line-height:2.15;color:var(--text);margin-bottom:20px}
.ceo-sign{margin-top:32px}
.ceo-sign .role{font-size:13px;color:var(--muted);margin-bottom:6px}
.ceo-sign .name{font-size:27px;font-weight:900;color:var(--ink);letter-spacing:.04em}
/* ===== MVV ===== */
.mvv{background:var(--soft)}
.mvv .mvv-label{font-family:"Inter",sans-serif;font-size:14px;font-weight:600;letter-spacing:.18em;color:var(--accent);margin-bottom:36px}
.mvv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.mvv-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:44px 38px;transition:.35s var(--ease-soft)}
.mvv-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-s)}
.mvv-card .mi{width:66px;height:66px;border-radius:15px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);margin-bottom:24px}
.mvv-card .mi svg{width:33px;height:33px}
.mvv-card .ml{font-family:"Inter",sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--accent);margin-bottom:14px}
.mvv-card h3{font-size:23px;line-height:1.5;margin-bottom:18px}
.mvv-card p{font-size:14.5px;color:var(--text);line-height:1.9}
/* ===== STATS ===== */
.stats{background:#fff}
.stats h2{font-size:clamp(26px,3vw,40px);margin-bottom:44px}
.stat-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.scard{background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:26px 20px;text-align:center;transition:.3s var(--ease-soft)}
.scard:hover{box-shadow:var(--shadow-s);transform:translateY(-4px)}
.scard .si{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--accent);margin-bottom:14px}
.scard .si svg{width:20px;height:20px}
.scard .si span{font-size:12.5px;color:var(--muted);font-weight:700}
.scard .sv{font-size:34px;font-weight:900;color:var(--accent);line-height:1}
.scard .sv .u{font-size:15px;font-weight:700;margin-left:2px}
.scard .sn{font-size:10.5px;color:var(--muted);margin-top:8px;text-align:center}
/* ===== COMPANY ===== */
.company{background:var(--soft)}
.company h2{font-size:clamp(26px,3vw,40px);margin-bottom:40px}
.company-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:34px;align-items:stretch}
.ctable{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.crow{display:grid;grid-template-columns:170px 1fr;border-bottom:1px solid var(--line)}
.crow:last-child{border-bottom:0}
.crow .ck{background:var(--soft);padding:18px 22px;font-size:14px;font-weight:700;color:var(--accent)}
.crow .cv{padding:18px 24px;font-size:14px;color:var(--text);line-height:1.75}
.cmap{position:relative;height:100%;min-height:400px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#eef2f7}
.cmap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
/* ===== HISTORY ===== */
.history{background:#fff}
.history h2{font-size:clamp(26px,3vw,40px);margin-bottom:56px}
.timeline{position:relative;display:flex;justify-content:space-between;gap:8px}
.timeline::before{content:"";position:absolute;left:2%;right:2%;top:7px;height:2px;background:var(--line);z-index:0}
.tl-prog{position:absolute;left:2%;top:7px;height:2px;background:var(--accent);z-index:1;width:0}
.tl-item{position:relative;z-index:2;flex:1;text-align:center;padding:0 6px}
.tl-dot{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--accent);margin:0 auto 18px}
.tl-year{font-family:"Inter",sans-serif;font-size:20px;font-weight:700;color:var(--accent);margin-bottom:10px}
.tl-text{font-size:12.5px;color:var(--text);line-height:1.65}
/* ===== CULTURE ===== */
.culture{background:var(--soft)}
.culture .shead{margin-bottom:48px}
.culture h2{font-size:clamp(26px,3vw,40px);margin-bottom:14px}
.culture .sub{color:var(--muted);font-size:16px;max-width:680px}
.culture-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.cucard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.4s var(--ease-soft)}
.cucard:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.cucard .cimg{height:212px;overflow:hidden}
.cucard .cimg img{width:100%;height:100%;object-fit:cover}
.cucard .cubody{padding:28px 28px 32px}
.cucard h3{font-size:19px;line-height:1.5;margin-bottom:13px}
.cucard p{font-size:14px;color:var(--text);line-height:1.85}
/* ===== CTA ===== */
.cta{position:relative;overflow:hidden;color:#fff;background:linear-gradient(115deg,#0c3aa0,#0e2f7e)}
/* ===== FOOTER ===== */
.ft{background:var(--footer);color:rgba(255,255,255,.68);padding-top:86px}
.ft-mid{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.1)}
/* ===== RESPONSIVE ===== */
@media(max-width:1080px){
  .ab-hero-grid{grid-template-columns:1fr;gap:32px}
  .ab-img{height:300px;clip-path:none}
  .ceo-grid{grid-template-columns:1fr;gap:32px}
  .ceo-photo img{height:420px}
  .mvv-cards{grid-template-columns:1fr}
  .stat-cards{grid-template-columns:repeat(3,1fr)}
  .company-grid{grid-template-columns:1fr;gap:24px}
  .cmap{min-height:280px}
  .culture-cards{grid-template-columns:1fr 1fr}
  .timeline{flex-direction:column;gap:0;align-items:flex-start;padding-left:18px}
  .timeline::before{left:7px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .tl-prog{left:7px;top:0;width:2px!important;height:0}
  .tl-item{text-align:left;display:flex;gap:18px;padding:0 0 30px 0;width:100%}
  .tl-dot{margin:2px 0 0}
  .cta .container{flex-direction:column;text-align:center;align-items:flex-start}
}
@media(max-width:820px){.section{padding-block:78px}
.ab-hero{min-height:500px}
.ab-hero .hero-bg-photo::after{background:linear-gradient(90deg,#fff 0%,#fff 44%,rgba(255,255,255,.72) 70%,rgba(255,255,255,.25) 100%)}
.ft-mid{justify-content:flex-start}}
@media(max-width:560px){.container{padding-inline:22px}
.stat-cards{grid-template-columns:1fr 1fr}
.culture-cards{grid-template-columns:1fr}
.crow{grid-template-columns:110px 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
html.anim .fade-up{opacity:1!important;transform:none!important}}