:root{
  --navy:#1a2a52;
  --navy-deep:#0e1830;
  --accent:#cf311a;
  --tech-accent:#1fb6a6;
  --ink:#1c1c1c;
  --paper:#f6f7f9;
  --line:#e2e5ea;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}

/* header */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
header.site .inner{
  max-width:1080px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.brand{display:flex;align-items:center;gap:14px;font-weight:700;}
.brand .logo-img{height:26px;width:auto;display:block;}
.brand .lab{font-size:16px;color:var(--ink);padding-left:14px;border-left:1px solid var(--line);}
.brand .lab small{display:block;font-size:10.5px;font-weight:400;color:#777;letter-spacing:.04em;}
nav.hdr-actions{display:flex;align-items:center;gap:14px;}
.tel{font-size:14px;color:#555;white-space:nowrap;}
.tel b{color:var(--navy);font-size:16px;}
.btn{
  display:inline-block;background:var(--accent);color:#fff;
  padding:10px 22px;border-radius:4px;font-weight:700;font-size:14px;
  text-decoration:none;white-space:nowrap;transition:opacity .15s;
}
.btn:hover{opacity:.85;}
.btn.ghost{background:transparent;border:1px solid var(--navy);color:var(--navy);}

/* hero */
.hero{
  background:linear-gradient(160deg,var(--navy-deep) 0%, var(--navy) 60%, #24406f 100%);
  color:#fff;padding:64px 0 56px;position:relative;overflow:hidden;
}
.hero .wrap{position:relative;z-index:2;}
.hero .eyebrow{
  display:block;
  font-size:12.5px;letter-spacing:.12em;color:#9fb0cf;font-weight:700;
  margin-bottom:18px;text-transform:uppercase;
}
.hero h1{font-size:34px;line-height:1.5;margin:0 0 18px;font-weight:800;}
.hero h1 .hl{color:var(--tech-accent);}
.hero p.lead{font-size:16px;color:#cfd6e6;max-width:640px;margin:0 0 30px;}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero .cta-row .btn.outline{background:transparent;border:1px solid #fff;color:#fff;}
.hero .badges{margin-top:36px;display:flex;gap:28px;flex-wrap:wrap;font-size:12.5px;color:#9fb0cf;}
.hero .badges span{display:block;}
.hero .badges b{display:block;color:#fff;font-size:20px;font-weight:800;}

section{padding:64px 0;}
section.alt{background:var(--paper);}
.kicker{font-size:12.5px;letter-spacing:.1em;color:var(--accent);font-weight:700;margin:0 0 10px;}
h2.sec-title{font-size:24px;font-weight:800;margin:0 0 14px;line-height:1.5;}
p.sec-lead{color:#555;max-width:680px;margin:0 0 36px;font-size:15px;}

/* pain points / omniverse-explainer cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.card{
  background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 22px;
}
.card .num{font-size:12px;color:var(--accent);font-weight:800;letter-spacing:.05em;margin-bottom:10px;}
.card h3{font-size:16px;margin:0 0 10px;}
.card p{font-size:13.5px;color:#555;margin:0;}

/* honesty section */
.honesty{
  background:var(--navy-deep);color:#e7ebf5;border-radius:10px;padding:36px 32px;
}
.honesty h2.sec-title{color:#fff;}
.honesty p.sec-lead{color:#b7c1d9;}
.honesty ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 28px;}
.honesty li{
  font-size:13.5px;color:#cdd4e6;padding-left:20px;position:relative;
}
.honesty li::before{
  content:"\2013";position:absolute;left:0;color:var(--tech-accent);font-weight:800;
}
.honesty .commit{
  margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);
  font-size:14px;color:#fff;font-weight:600;
}

/* case studies */
.case-block{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:24px;background:#fff;}
.case{
  display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:#fff;
}
.case .media{background:#0c1424;display:flex;align-items:center;justify-content:center;min-height:260px;}
.case .media img,.case .media video{width:100%;height:100%;object-fit:cover;display:block;}
.sub-media-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;padding:22px;border-top:1px solid var(--line);background:var(--paper);}
.sub-media-grid figure{margin:0;background:#0c1424;border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.sub-media-grid img{width:100%;height:280px;object-fit:contain;display:block;background:#0c1424;}
.sub-media-grid figcaption{font-size:12.5px;color:#666;padding:9px 12px;background:#fff;border-top:1px solid var(--line);}
@media (max-width:700px){.sub-media-grid{grid-template-columns:1fr;}}
.case p.caveat{font-size:13px;color:#777;border-left:2px solid var(--line);padding-left:10px;margin:0 0 14px;}
.case .body{padding:30px 32px;}
.case .tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.05em;color:#fff;background:var(--navy);border-radius:999px;padding:3px 12px;margin-bottom:14px;}
.case h3{font-size:19px;margin:0 0 10px;}
.case p{font-size:14px;color:#555;margin:0 0 14px;}
.case .meta{display:flex;gap:18px;font-size:12.5px;color:#888;flex-wrap:wrap;}
.case .meta b{color:var(--ink);}
.case.reverse{grid-template-columns:1fr 1.1fr;}
.case.reverse .media{order:2;}
.case.reverse .body{order:1;}
@media (max-width:760px){
  .case, .case.reverse{grid-template-columns:1fr;}
  .case .media, .case.reverse .media{order:0;min-height:200px;}
}

/* services */
.svc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.svc{border:1px solid var(--line);border-radius:8px;padding:26px 22px;background:#fff;}
.svc .icon{
  width:38px;height:38px;border-radius:8px;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:14px;font-size:15px;
}
.svc h3{font-size:16px;margin:0 0 8px;}
.svc p{font-size:13.5px;color:#555;margin:0;}

/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.about .stat-row{display:flex;gap:26px;margin-top:22px;flex-wrap:wrap;}
.about .stat b{display:block;font-size:22px;color:var(--navy);font-weight:800;}
.about .stat span{font-size:12px;color:#777;}
.about .panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:26px;font-size:13.5px;color:#555;}
.about .panel dl{margin:0;}
.about .panel dt{font-weight:700;color:var(--navy);margin-top:14px;font-size:12.5px;}
.about .panel dt:first-child{margin-top:0;}
.about .panel dd{margin:4px 0 0;}

/* final CTA */
.final-cta{
  background:linear-gradient(120deg,var(--navy) 0%, #2c4d85 100%);color:#fff;border-radius:12px;
  padding:48px 40px;text-align:center;
}
.final-cta h2{font-size:24px;margin:0 0 12px;font-weight:800;}
.final-cta p{color:#cfd6e6;margin:0 0 26px;font-size:14px;}
.final-cta .cta-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.final-cta .tel{color:#dfe6f4;margin-top:18px;font-size:13px;}
.final-cta .tel b{color:#fff;font-size:17px;}

.trademark-notice{background:#fafbfc;padding:18px 0 0;}
.trademark-notice p{max-width:1080px;margin:0 auto;padding:0 24px;font-size:11px;line-height:1.7;color:#999;}
footer.site{border-top:1px solid var(--line);padding:32px 0;background:#fafbfc;}
footer.site .inner{
  max-width:1080px;margin:0 auto;padding:0 24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
}
footer.site nav a{font-size:12.5px;color:#666;text-decoration:none;margin-right:20px;}
footer.site nav a:hover{color:var(--navy);}
footer.site .copyright{font-size:11.5px;color:#999;}

@media (max-width:760px){
  .grid-3{grid-template-columns:1fr;}
  .svc-list{grid-template-columns:1fr;}
  .about{grid-template-columns:1fr;}
  .honesty ul{grid-template-columns:1fr;}
  .hero h1{font-size:26px;}
  header.site .tel{display:none;}
  .final-cta{padding:36px 20px;}
}
