/* TKG Home 2026 — Japanese business / minimal redesign */
:root {
  --tkg-home-navy: #0b315a;
  --tkg-home-blue: #155f9e;
  --tkg-home-ink: #14202b;
  --tkg-home-muted: #69737d;
  --tkg-home-line: #dfe5ea;
  --tkg-home-soft: #f4f7f9;
  --tkg-home-paper: #fbfcfd;
  --tkg-home-red: #b9473d;
}

.tkg-home-section { padding: 92px 0; position: relative; }
.tkg-home-section-no { font-size: 12px; letter-spacing: .22em; font-weight: 700; color: #a5afb8; margin-bottom: 12px; }
.tkg-home-kicker { text-transform: uppercase; letter-spacing: .18em; font-size: 12px; font-weight: 700; color: var(--tkg-home-blue); }
.tkg-home-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.tkg-home-section-heading h2,
.tkg-home-certificates h2 { margin:8px 0 0; font-size:42px; line-height:1.15; font-weight:400; color:var(--tkg-home-ink); }
.tkg-home-text-link { color:var(--tkg-home-ink); font-weight:600; text-decoration:none; border-bottom:1px solid #aab3bc; padding-bottom:5px; }
.tkg-home-text-link:hover { color:var(--tkg-home-blue); border-color:var(--tkg-home-blue); }



/* 01 Company Story — YouTube + Poster as core identity */
.tkg-home-story { background:#fff; overflow:hidden; }
.tkg-home-story::after { content:""; position:absolute; right:-220px; top:-240px; width:520px; height:520px; border:1px solid #edf1f4; border-radius:50%; pointer-events:none; }
.tkg-home-story-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:70px; align-items:end; margin-bottom:44px; }
.tkg-home-story-heading h2 { margin:8px 0 0; font-size:48px; line-height:1.14; font-weight:300; letter-spacing:-.02em; color:var(--tkg-home-ink); }
.tkg-home-story-heading h2 span { color:var(--tkg-home-blue); }
.tkg-home-story-heading > p { margin:0 0 4px; color:var(--tkg-home-muted); font-size:16px; line-height:1.85; max-width:470px; }
.tkg-story-grid { display:flex; flex-wrap:wrap; }
.tkg-story-col { margin-bottom:24px; }
.tkg-story-card { height:100%; background:#fff; border:1px solid var(--tkg-home-line); display:flex; flex-direction:column; position:relative; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.tkg-story-card:hover { transform:translateY(-4px); box-shadow:0 20px 46px rgba(16,40,65,.08); border-color:#cdd8e1; }
.tkg-story-label { min-height:48px; padding:15px 20px 12px; border-bottom:1px solid #edf0f2; color:#7f8992; font-size:10px; letter-spacing:.16em; font-weight:700; }
.tkg-story-label span { color:var(--tkg-home-blue); margin-right:10px; }
.tkg-story-video { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; background:#08131d; }
.tkg-story-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.tkg-story-poster { position:relative; min-height:360px; flex:1 1 auto; display:flex; align-items:center; justify-content:center; padding:24px; background:linear-gradient(145deg,#f8fafb,#eef3f6); overflow:hidden; }
.tkg-story-poster img { width:100%; height:100%; max-height:420px; object-fit:contain; display:block; transition:transform .35s ease; }
.tkg-story-poster:hover img { transform:scale(1.02); }
.tkg-story-poster-action { position:absolute; right:18px; bottom:18px; background:rgba(11,49,90,.92); color:#fff; padding:10px 12px; font-size:10px; text-transform:uppercase; letter-spacing:.11em; }
.tkg-story-poster-action b { margin-left:8px; font-size:14px; font-weight:400; }
.tkg-story-card-body { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:24px 24px 26px; border-top:1px solid #edf0f2; }
.tkg-story-card-body h3 { margin:0 0 8px; font-size:23px; font-weight:500; color:var(--tkg-home-ink); }
.tkg-story-card-body p { margin:0; max-width:540px; color:var(--tkg-home-muted); line-height:1.75; }
.tkg-story-link { flex:0 0 auto; color:var(--tkg-home-blue); font-size:11px; text-transform:uppercase; letter-spacing:.1em; white-space:nowrap; }
.tkg-story-link span { margin-left:8px; }
.tkg-story-message { margin-top:26px; padding:25px 0 0; border-top:1px solid var(--tkg-home-line); display:flex; align-items:baseline; justify-content:space-between; gap:30px; }
.tkg-story-message-en { color:var(--tkg-home-ink); font-size:22px; font-weight:400; }
.tkg-story-message-jp { color:#78828c; font-size:14px; letter-spacing:.04em; text-align:right; }

/* 02 Engineering Motion */
.tkg-home-intro { background:#fff; overflow:hidden; }
.tkg-home-intro::before { content:""; position:absolute; width:420px; height:420px; border:1px solid #edf1f4; border-radius:50%; right:-160px; top:-130px; }
.tkg-home-intro-row { display:flex; align-items:center; }
.tkg-home-intro-copy { padding-right:55px; }
.tkg-home-intro-copy h2 { margin:10px 0 24px; font-size:56px; line-height:1.07; font-weight:300; letter-spacing:-.025em; color:var(--tkg-home-ink); }
.tkg-home-intro-copy h2 span { color:var(--tkg-home-blue); }
.tkg-home-lead { font-size:17px; line-height:1.9; color:var(--tkg-home-muted); max-width:610px; }
.tkg-home-jp { margin:24px 0 0; color:#4a5560; letter-spacing:.05em; }
.tkg-home-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.tkg-home-btn { display:inline-flex; align-items:center; justify-content:space-between; min-width:160px; padding:13px 17px; border:1px solid #cfd6dc; color:var(--tkg-home-ink); font-weight:600; text-decoration:none; transition:.2s ease; }
.tkg-home-btn span { margin-left:22px; }
.tkg-home-btn:hover { color:var(--tkg-home-blue); border-color:var(--tkg-home-blue); transform:translateY(-2px); }
.tkg-home-btn-primary { background:var(--tkg-home-navy); color:#fff; border-color:var(--tkg-home-navy); }
.tkg-home-btn-primary:hover { color:#fff; background:var(--tkg-home-blue); }
.tkg-home-micro { margin-top:38px; padding-top:17px; border-top:1px solid var(--tkg-home-line); font-size:11px; letter-spacing:.18em; color:#9099a1; }

.tkg-motion-card { background:linear-gradient(145deg,#f7f9fa,#fff); border:1px solid var(--tkg-home-line); padding:18px; position:relative; box-shadow:0 18px 50px rgba(18,42,66,.06); }
.tkg-motion-card::after { content:""; position:absolute; left:-1px; top:62px; bottom:62px; width:3px; background:var(--tkg-home-blue); }
.tkg-motion-card-head { display:flex; align-items:center; justify-content:space-between; padding:5px 3px 15px; font-size:11px; letter-spacing:.15em; color:#59646e; }
.tkg-motion-live { color:#68737e; }
.tkg-motion-live i { display:inline-block; width:6px; height:6px; background:var(--tkg-home-red); border-radius:50%; margin-right:7px; box-shadow:0 0 0 4px rgba(185,71,61,.08); }
.tkg-motion-stage { min-height:315px; background:#fff; display:flex; align-items:center; justify-content:center; border:1px solid #e8edf1; overflow:hidden; }
.tkg-motion-stage img { width:100%; height:315px; object-fit:contain; display:block; }
.tkg-motion-axis { display:flex; align-items:center; gap:13px; margin:17px 3px 0; font-size:10px; letter-spacing:.18em; color:#89939c; }
.tkg-motion-axis b { display:block; height:1px; flex:1; background:linear-gradient(90deg,var(--tkg-home-blue),#cfd8df); position:relative; }
.tkg-motion-axis b::after { content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-right:1px solid var(--tkg-home-blue); border-top:1px solid var(--tkg-home-blue); transform:rotate(45deg); }
.tkg-motion-caption { margin:15px 3px 0; color:#4f5b65; font-size:14px; line-height:1.65; }
.tkg-motion-credit { margin:10px 3px 0; font-size:10px; color:#9aa2aa; line-height:1.5; }
.tkg-motion-credit a { color:#7d8891; text-decoration:underline; }

/* 03 products */
.tkg-home-products { background:var(--tkg-home-soft); }
.tkg-product-showcase { display:flex; flex-wrap:wrap; }
.tkg-product-showcase-col { margin-bottom:24px; }
.tkg-product-showcase-card { display:block; height:100%; min-height:100%; background:#fff; border:1px solid #e2e7eb; color:inherit; text-decoration:none; position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.tkg-product-showcase-card:hover { text-decoration:none; color:inherit; transform:translateY(-6px); box-shadow:0 20px 45px rgba(18,42,66,.10); border-color:#cad6df; }
.tkg-product-showcase-index { position:absolute; top:16px; left:18px; z-index:2; font-size:11px; letter-spacing:.18em; color:#98a3ad; }
.tkg-product-showcase-media { height:245px; padding:38px 26px 15px; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,#fbfcfd,#f5f8fa); border-bottom:1px solid #edf0f2; }
.tkg-product-showcase-media img { width:100%; height:100%; object-fit:contain; display:block; transition:transform .35s ease; }
.tkg-product-showcase-card:hover .tkg-product-showcase-media img { transform:scale(1.035); }
.tkg-product-placeholder { width:150px; height:150px; border:1px solid #ccd6de; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#9ba5ad; letter-spacing:.2em; }
.tkg-product-showcase-body { padding:25px 26px 28px; }
.tkg-product-showcase-group { font-size:11px; text-transform:uppercase; letter-spacing:.15em; color:var(--tkg-home-blue); margin-bottom:9px; }
.tkg-product-showcase-body h3 { margin:0 0 10px; font-size:22px; line-height:1.35; color:var(--tkg-home-ink); }
.tkg-product-showcase-body p { margin:0; min-height:72px; color:#69737d; line-height:1.7; }
.tkg-product-arrow { display:flex; justify-content:space-between; margin-top:20px; padding-top:15px; border-top:1px solid #edf0f2; color:#69737d; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.tkg-product-arrow b { color:var(--tkg-home-blue); font-size:18px; line-height:1; }

/* 04 flow */
.tkg-home-flow { background:var(--tkg-home-navy); color:#fff; }
.tkg-home-section-heading-light h2 { color:#fff; }
.tkg-home-flow .tkg-home-kicker { color:#90bad9; }
.tkg-home-flow .tkg-home-section-no { color:#6e89a1; }
.tkg-home-flow-card { display:block; min-height:280px; padding:30px 28px; border:1px solid rgba(255,255,255,.16); color:#fff; text-decoration:none; position:relative; transition:.25s ease; }
.tkg-home-flow-card:hover { color:#fff; text-decoration:none; background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.34); transform:translateY(-4px); }
.tkg-home-flow-step { display:inline-block; font-size:11px; letter-spacing:.18em; color:#8fb7d6; margin-bottom:45px; }
.tkg-home-flow-card h3 { margin:0 0 14px; font-size:25px; font-weight:400; color:#fff; }
.tkg-home-flow-card p { color:#b8c7d3; line-height:1.8; margin-bottom:32px; }
.tkg-home-flow-link { position:absolute; left:28px; bottom:25px; color:#fff; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }

/* 05 business overview integration */
#business-overview.tkg-market-section { padding:92px 0; background:#fff; }
#business-overview .tkg-market-heading { text-align:left !important; }
#business-overview .tkg-market-heading-top { align-items:flex-end; }
#business-overview .tkg-page-title { font-size:42px; font-weight:400; color:var(--tkg-home-ink); text-align:left; }
#business-overview .tkg-lead { margin-left:0; max-width:720px; }
#business-overview .tkg-market-card,
#business-overview .tkg-ratio-panel { border-radius:0; box-shadow:none; border-color:var(--tkg-home-line); }
#business-overview .tkg-market-card-primary { border-left:3px solid var(--tkg-home-blue); }
#business-overview .tkg-donut { box-shadow:none; }
#business-overview .tkg-market-note { border-top:1px solid #edf0f2; padding-top:13px; }

/* 06 certificates */
.tkg-home-certificates { background:var(--tkg-home-paper); border-top:1px solid #edf0f2; border-bottom:1px solid #edf0f2; }
.tkg-home-certificates .tkg-home-section-no { text-align:center; }
.tkg-home-certificates h2 { margin-bottom:34px; }
.tkg-home-certificates .tkg-certificates-grid { margin-top:15px; }
.tkg-home-certificates .tkg-certificate-icon { background:#fff; border:1px solid #e1e6ea; border-radius:0; box-shadow:none; transition:transform .2s ease,border-color .2s ease; }
.tkg-home-certificates .tkg-certificate-icon:hover { transform:translateY(-3px); border-color:#bdcad4; }

/* 07 editorial news */
.tkg-home-news { background:#fff; }
.tkg-news-editorial { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr); grid-template-rows:1fr 1fr; gap:20px; }
.tkg-news-editorial-card { display:grid; grid-template-columns:170px 1fr; border:1px solid var(--tkg-home-line); background:#fff; min-height:190px; }
.tkg-news-editorial-card.is-featured { grid-row:1 / span 2; grid-template-columns:1fr; min-height:530px; }
.tkg-news-editorial-media { display:block; background:#eef2f5; overflow:hidden; min-height:180px; }
.tkg-news-editorial-card.is-featured .tkg-news-editorial-media { min-height:330px; }
.tkg-news-editorial-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.tkg-news-editorial-card:hover .tkg-news-editorial-media img { transform:scale(1.025); }
.tkg-news-placeholder { min-height:100%; display:flex; align-items:center; justify-content:center; color:#9aa3aa; letter-spacing:.12em; }
.tkg-news-editorial-body { padding:22px 24px; }
.tkg-news-meta { display:flex; justify-content:space-between; gap:12px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#8a949d; }
.tkg-news-meta span { color:var(--tkg-home-blue); }
.tkg-news-editorial-body h3 { margin:12px 0 9px; font-size:20px; line-height:1.4; font-weight:500; }
.tkg-news-editorial-card.is-featured .tkg-news-editorial-body h3 { font-size:28px; }
.tkg-news-editorial-body h3 a { color:var(--tkg-home-ink); text-decoration:none; }
.tkg-news-editorial-body p { color:#707981; line-height:1.7; }
.tkg-news-read { display:inline-block; margin-top:13px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--tkg-home-blue); }


@media (max-width: 991px) {
  .tkg-home-story-heading { grid-template-columns:1fr; gap:18px; }
  .tkg-home-story-heading h2 { font-size:42px; }
  .tkg-story-poster { min-height:320px; }
}
@media (max-width: 767px) {
  .tkg-home-story-heading h2 { font-size:34px; }
  .tkg-story-card-body { align-items:flex-start; flex-direction:column; }
  .tkg-story-poster { min-height:280px; padding:16px; }
  .tkg-story-message { align-items:flex-start; flex-direction:column; gap:9px; }
  .tkg-story-message-en { font-size:18px; }
  .tkg-story-message-jp { text-align:left; }
}
@media (max-width: 991px) {
  .tkg-home-section { padding:72px 0; }
  .tkg-home-intro-row { display:block; }
  .tkg-home-intro-copy { padding-right:15px; margin-bottom:45px; }
  .tkg-home-intro-copy h2 { font-size:48px; }
  .tkg-product-showcase-media { height:210px; }
  .tkg-news-editorial { grid-template-columns:1fr; grid-template-rows:auto; }
  .tkg-news-editorial-card.is-featured { grid-row:auto; }
  .tkg-news-editorial-card { grid-template-columns:220px 1fr; }
  .tkg-news-editorial-card.is-featured { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
  .tkg-home-section { padding:54px 0; }
  .tkg-home-section-heading { align-items:flex-start; flex-direction:column; margin-bottom:28px; }
  .tkg-home-section-heading h2,
  .tkg-home-certificates h2,
  #business-overview .tkg-page-title { font-size:32px; }
  .tkg-home-intro-copy h2 { font-size:39px; }
  .tkg-home-lead { font-size:15px; }
  .tkg-motion-card { padding:12px; }
  .tkg-motion-stage { min-height:235px; }
  .tkg-motion-stage img { height:235px; }
  .tkg-product-showcase { display:block; }
  .tkg-product-showcase-media { height:230px; }
  .tkg-home-flow-card { min-height:250px; margin-bottom:14px; }
  #business-overview.tkg-market-section { padding:54px 0; }
  #business-overview .tkg-market-heading-top { align-items:flex-start; }
  .tkg-news-editorial-card,
  .tkg-news-editorial-card.is-featured { grid-template-columns:1fr; min-height:0; }
  .tkg-news-editorial-media,
  .tkg-news-editorial-card.is-featured .tkg-news-editorial-media { min-height:220px; height:220px; }
  .tkg-news-editorial-card.is-featured .tkg-news-editorial-body h3 { font-size:23px; }
}

@media (prefers-reduced-motion: reduce) {
  .tkg-product-showcase-card,
  .tkg-home-flow-card,
  .tkg-news-editorial-media img { transition:none !important; }
}

/* ===== TKG Home 2026 — policy / film / poster refinement ===== */
.tkg-home-policy{
  position:relative;
  padding:76px 0 72px;
  background:#fff;
  overflow:hidden;
}
.tkg-home-policy:before{
  content:"";
  position:absolute;
  left:50%; top:0;
  width:1px; height:30px;
  background:#d91f2a;
}
.tkg-home-policy-kicker{
  color:#7f8790;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.tkg-home-policy-line{
  width:42px;
  height:2px;
  background:#d91f2a;
  margin:18px auto 24px;
}
.tkg-home-policy h1{
  max-width:1000px;
  margin:0 auto;
  color:#152233;
  font-size:46px;
  line-height:1.25;
  font-weight:500;
  letter-spacing:-.02em;
}
.tkg-home-policy p{
  margin:18px auto 0;
  color:#4d5965;
  font-size:23px;
  line-height:1.7;
  font-weight:300;
}
.tkg-home-film{
  background:#f6f7f8;
}
.tkg-home-film-heading{
  max-width:760px;
  margin:0 auto 34px;
}
.tkg-home-film-heading h2{
  margin:8px 0 10px;
  color:#152233;
  font-size:38px;
  font-weight:400;
}
.tkg-home-film-heading p{
  color:#6b747e;
  line-height:1.8;
}
.tkg-home-film-frame{
  position:relative;
  width:min(100%,1050px);
  margin:0 auto;
  padding-bottom:min(56.25%,590px);
  height:0;
  overflow:hidden;
  background:#05080c;
  box-shadow:0 24px 60px rgba(19,34,52,.12);
}
.tkg-home-film-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.tkg-home-poster{
  padding-top:38px;
  padding-bottom:74px;
  background:#fff;
}
.tkg-home-poster img{
  width:auto;
  max-width:100%;
  max-height:760px;
  object-fit:contain;
  box-shadow:0 16px 46px rgba(18,34,53,.08);
}
.tkg-home-news-grid .tkg-media-card{
  height:100%;
}
.tkg-home-news-grid .tkg-media-card-body{
  display:flex;
  flex-direction:column;
  min-height:230px;
}
.tkg-home-news-meta{
  margin-bottom:9px;
  color:#8a929b;
  font-size:12px;
  letter-spacing:.02em;
}
.tkg-home-news-readmore{
  margin-top:auto!important;
  padding-top:18px;
}
@media (max-width:767px){
  .tkg-home-policy{padding:58px 0 54px}
  .tkg-home-policy h1{font-size:31px}
  .tkg-home-policy p{font-size:17px}
  .tkg-home-film-heading h2{font-size:30px}
  .tkg-home-poster{padding:28px 0 54px}
  .tkg-home-poster img{max-height:none}
}
