:root {
  --deep: #0a2f23;
  --deep-2: #102c24;
  --green: #176b4d;
  --green-2: #1d8a5e;
  --green-3: #dcebe3;
  --yellow: #f4c83f;
  --yellow-2: #ffe17a;
  --cream: #f4f2e9;
  --white: #ffffff;
  --ink: #18211d;
  --muted: #68736d;
  --line: #d7ddd8;
  --shadow: 0 22px 60px rgba(8, 40, 29, 0.14);
  --radius: 10px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
  line-height: 1.65;
  word-break: keep-all;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 999;
  opacity: .018;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--green);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.kicker::before { content:""; width: 30px; height: 3px; background: var(--yellow); }
.section { padding: 112px 0; }
.section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.section-title { margin: 0; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.12; letter-spacing: -.045em; font-weight: 900; }
.section-lead { margin: 0; color: var(--muted); font-size: 18px; }
.label {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid currentColor;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Navigation */
.nav {
  position: absolute;
  top: 0; left: 0; right: 0;
  z-index: 30;
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.2);
}
.nav-inner { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; font-weight: 900; letter-spacing: -.02em; }
.brand-mark { display: grid; grid-template-columns: repeat(2, 9px); grid-template-rows: repeat(2, 9px); gap: 3px; transform: rotate(45deg); }
.brand-mark i { display: block; background: var(--yellow); }
.brand-text small { display: block; opacity: .7; font-size: 9px; letter-spacing: .18em; font-weight: 700; }
.nav-links { display: flex; align-items: center; gap: 20px; font-size: 14px; font-weight: 750; }
.nav-links a { opacity: .82; transition: .2s ease; }
.nav-links a:hover { opacity: 1; color: var(--yellow); }
.nav-cta { padding: 11px 17px; background: var(--yellow); color: var(--deep); opacity: 1 !important; font-weight: 900; }

/* Hero */
.hero {
  position: relative;
  min-height: 820px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--deep);
}
.hero-media {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(5,31,23,.97) 0%, rgba(5,31,23,.88) 42%, rgba(5,31,23,.48) 74%, rgba(5,31,23,.58) 100%),
              linear-gradient(0deg, rgba(5,31,23,.48), rgba(5,31,23,.08)),
              url('assets/hero-forklifts.png') center 58%/cover no-repeat;
  transform: scale(1.02);
}
.hero-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, #000, transparent 82%); }
.hero::after { content:""; position:absolute; right:6%; top:22%; width:170px; height:170px; border: 18px solid rgba(244,200,63,.25); transform: rotate(45deg); }
.hero-content { position: relative; z-index: 2; padding-top: 110px; padding-bottom: 118px; max-width: 850px; }
.hero-eyebrow { display: flex; gap: 12px; align-items: center; margin-bottom: 26px; font-size: 13px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hero-eyebrow span:first-child { color: var(--yellow); }
.hero-eyebrow i { width: 36px; height: 1px; background: rgba(255,255,255,.5); }
.hero h1 { margin: 0; max-width: 820px; font-size: clamp(54px, 7.2vw, 96px); line-height: .99; letter-spacing: -.065em; font-weight: 950; }
.hero h1 em { display: inline-block; color: var(--yellow); font-style: normal; }
.hero-desc { max-width: 690px; margin: 30px 0 0; font-size: clamp(17px, 2vw, 22px); color: rgba(255,255,255,.86); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 40px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 24px; font-size: 15px; font-weight: 900; border: 1px solid transparent; transition: transform .2s ease, background .2s ease, color .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--yellow); color: var(--deep); }
.btn-secondary { border-color: rgba(255,255,255,.55); color: #fff; background: rgba(255,255,255,.06); backdrop-filter: blur(10px); }
.btn svg { width: 18px; height: 18px; }
.hero-meta { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 820px; margin-top: 62px; border-top: 1px solid rgba(255,255,255,.25); }
.hero-meta-item { padding: 22px 26px 0 0; }
.hero-meta-item + .hero-meta-item { padding-left: 26px; border-left: 1px solid rgba(255,255,255,.2); }
.hero-meta strong { display:block; color:var(--yellow); font-size:14px; margin-bottom:5px; }
.hero-meta span { color:rgba(255,255,255,.75); font-size:14px; }
.hero-side-code { position:absolute; z-index:2; right:20px; bottom:26px; writing-mode: vertical-rl; font-size:10px; letter-spacing:.16em; opacity:.5; }

/* Intro / thesis */
.thesis { background: var(--cream); }
.thesis-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 82px; align-items: start; }
.thesis-aside { position: sticky; top: 40px; }
.thesis-number { font-size: 112px; line-height: .85; color: transparent; -webkit-text-stroke: 2px var(--green); opacity: .35; font-weight: 900; letter-spacing: -.08em; }
.thesis-copy h2 { margin: 0 0 28px; font-size: clamp(38px, 4.5vw, 62px); line-height: 1.15; letter-spacing: -.05em; }
.thesis-copy p { margin: 0; font-size: 20px; color: #4e5c55; }
.thesis-copy p + p { margin-top: 18px; }
.highlight-line { display: inline; background: linear-gradient(transparent 61%, rgba(244,200,63,.55) 0); }
.thesis-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 46px; background: var(--line); border: 1px solid var(--line); }
.fact { background: #fff; padding: 27px 24px; }
.fact strong { display:block; font-size:28px; color:var(--green); line-height:1.1; }
.fact span { display:block; margin-top:8px; color:var(--muted); font-size:13px; }

/* Focus areas */
.focus { background: var(--deep); color: #fff; position: relative; overflow: hidden; }
.focus::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 48px 48px; }
.focus .container { position:relative; z-index:1; }
.focus .kicker { color: var(--yellow); }
.focus .section-lead { color:rgba(255,255,255,.68); }
.focus-grid { display:grid; grid-template-columns: repeat(12, 1fr); gap:14px; }
.focus-card { position:relative; min-height: 248px; padding: 28px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.045); overflow:hidden; transition:.25s ease; }
.focus-card:hover { background:rgba(255,255,255,.09); transform:translateY(-4px); border-color:rgba(244,200,63,.65); }
.focus-card:nth-child(1), .focus-card:nth-child(2) { grid-column:span 6; }
.focus-card:nth-child(n+3) { grid-column:span 4; }
.focus-card::after { content:""; position:absolute; right:-35px; bottom:-35px; width:100px; height:100px; border:14px solid rgba(244,200,63,.14); transform:rotate(45deg); }
.focus-no { color:var(--yellow); font-size:12px; font-weight:900; letter-spacing:.15em; }
.focus-card h3 { margin:38px 0 10px; font-size:25px; line-height:1.2; }
.focus-card p { margin:0; color:rgba(255,255,255,.66); font-size:15px; max-width:420px; }
.focus-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
.focus-tags span { padding:5px 8px; border:1px solid rgba(255,255,255,.2); font-size:11px; color:rgba(255,255,255,.72); }

/* Benefits */
.benefits { background:#fff; }
.benefit-lead { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:stretch; margin-bottom:16px; }
.benefit-feature { background:var(--green); color:#fff; padding:46px; min-height:390px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.benefit-feature::after { content:"INVEST"; position:absolute; right:-22px; bottom:-34px; color:rgba(255,255,255,.08); font-size:110px; font-weight:950; letter-spacing:-.08em; }
.benefit-feature .label { color:var(--yellow); }
.benefit-feature h3 { margin:48px 0 18px; font-size:42px; line-height:1.12; letter-spacing:-.045em; }
.benefit-feature p { max-width:560px; margin:0; color:rgba(255,255,255,.77); font-size:17px; }
.benefit-mini { border:1px solid var(--line); padding:38px; background:var(--cream); display:flex; flex-direction:column; justify-content:space-between; }
.benefit-mini strong { display:block; font-size:58px; line-height:1; color:var(--green); letter-spacing:-.06em; }
.benefit-mini p { margin:20px 0 0; color:var(--muted); }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.benefit-card { border:1px solid var(--line); padding:32px; min-height:285px; background:#fff; position:relative; }
.benefit-icon { width:46px; height:46px; display:grid; place-items:center; background:var(--yellow); color:var(--deep); font-weight:950; }
.benefit-card h4 { font-size:22px; margin:28px 0 12px; }
.benefit-card p { color:var(--muted); margin:0; font-size:15px; }
.benefit-card ul { list-style:none; padding:0; margin:22px 0 0; }
.benefit-card li { position:relative; padding-left:17px; margin-top:8px; font-size:13px; color:#4d5a54; }
.benefit-card li::before { content:""; position:absolute; width:6px; height:6px; background:var(--green-2); left:0; top:.7em; }


/* Field story / brand film */
.story { background: #0b211a; color: #fff; position: relative; overflow: hidden; }
.story::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 86% 12%, rgba(29,138,94,.24), transparent 35%), linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size:auto, 52px 52px, 52px 52px; }
.story .container { position:relative; z-index:1; }
.story .kicker { color:var(--yellow); }
.story .section-lead { color:rgba(255,255,255,.68); }
.story-layout { display:grid; grid-template-columns:.76fr 1.24fr; gap:34px; align-items:start; }
.story-copy { position:sticky; top:36px; padding:36px; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.045); }
.story-copy h3 { margin:0 0 18px; font-size:34px; line-height:1.2; letter-spacing:-.04em; }
.story-copy p { margin:0; color:rgba(255,255,255,.7); }
.story-copy p + p { margin-top:14px; }
.story-link { display:inline-flex; align-items:center; gap:10px; margin-top:28px; color:var(--yellow); font-size:14px; font-weight:850; border-bottom:1px solid rgba(244,200,63,.5); padding-bottom:4px; }
.video-card { border:1px solid rgba(255,255,255,.16); background:#071611; overflow:hidden; }
.video-frame { position:relative; aspect-ratio:16/9; background:#020806; }
.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.film-player { min-width:0; }
.film-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; }
.video-meta { display:flex; flex-direction:column; gap:2px; min-width:0; }
.video-meta strong { font-size:16px; }
.video-meta span { color:rgba(255,255,255,.54); font-size:11px; letter-spacing:.12em; }
.film-external-link { align-self:flex-start; margin-top:7px; color:var(--yellow); font-size:12px; font-weight:800; letter-spacing:0; border-bottom:1px solid rgba(244,200,63,.45); padding-bottom:2px; transition:.2s ease; }
.film-external-link:hover, .film-external-link:focus-visible { color:var(--yellow-2); border-bottom-color:var(--yellow-2); outline:none; }
.film-controls { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.film-arrow { width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.28); background:transparent; color:#fff; font:800 22px/1 Arial, sans-serif; cursor:pointer; transition:.2s ease; }
.film-arrow:hover, .film-arrow:focus-visible { background:var(--yellow); border-color:var(--yellow); color:var(--deep); outline:none; }
.film-counter { min-width:58px; text-align:center; color:rgba(255,255,255,.72); font-size:12px; font-weight:850; letter-spacing:.08em; }
.story-note { margin-top:22px; color:rgba(255,255,255,.48); font-size:12px; }

/* Process */
.process { background: #e8ede9; }
.process-list { border-top:2px solid var(--deep); }
.process-item { display:grid; grid-template-columns:100px minmax(250px,.9fr) minmax(260px,1.25fr) auto; gap:28px; align-items:center; padding:30px 8px; border-bottom:1px solid #bbc6bf; transition:.2s ease; }
.process-item:hover { background:rgba(255,255,255,.55); padding-inline:18px; }
.process-index { font-size:13px; font-weight:900; color:var(--green); letter-spacing:.13em; }
.process-title { display:flex; flex-direction:column; align-items:flex-start; gap:9px; min-width:0; }
.process-item h3 { margin:0; font-size:27px; letter-spacing:-.035em; }
.process-date { display:inline-flex; align-items:center; min-height:29px; padding:6px 10px; border:1px solid rgba(18,61,46,.16); border-radius:4px; background:rgba(244,200,63,.18); color:#244e3f; font-size:11px; font-weight:850; line-height:1.45; letter-spacing:-.01em; }
.process-item p { margin:0; color:var(--muted); }
.process-item .status { justify-self:end; display:inline-flex; align-items:center; gap:10px; color:var(--green); font-size:12px; font-weight:850; }
.process-item .status::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 4px rgba(244,200,63,.25); }
.process-note { margin-top:24px; padding:18px 20px; border-left:4px solid var(--yellow); background:rgba(255,255,255,.62); color:#59665f; font-size:13px; }

/* Operating partners */
.partners { background:#edf1ee; }
.partners .section-head { margin-bottom:40px; }
.partner-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.partner-card { min-height:570px; padding:38px; display:flex; flex-direction:column; border:1px solid #cdd6d0; background:#fff; box-shadow:0 18px 48px rgba(10,47,35,.07); }
.partner-card-til { background:#fffdfd; }
.partner-card-head { min-height:112px; display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.partner-logo { display:block; width:min(100%, 300px); height:92px; }
.partner-logo svg, .partner-logo img { width:100%; height:100%; display:block; object-fit:contain; object-position:left center; }
.partner-logo-til img { object-position:left center; }
.partner-logo-9dan { width:min(100%, 280px); }
.partner-role { margin-top:6px; color:var(--green); font-size:10px; font-weight:900; letter-spacing:.13em; text-align:right; }
.partner-copy { padding:30px 0 28px; }
.partner-copy h3 { margin:0 0 18px; font-size:32px; letter-spacing:-.045em; }
.partner-copy p { margin:0; color:#59655f; font-size:15.5px; }
.partner-copy p + p { margin-top:14px; }
.partner-link { margin-top:auto; display:flex; align-items:center; justify-content:space-between; padding-top:18px; border-top:1px solid var(--line); color:var(--deep); font-size:14px; font-weight:900; }
.partner-link span { font-size:18px; color:var(--green); }
.partner-logo-note { margin:18px 0 0; color:#7a847f; font-size:12px; }

/* Apply */
.apply { position:relative; overflow:hidden; background:var(--yellow); color:var(--deep); }
.apply::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(10,47,35,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(10,47,35,.1) 1px, transparent 1px); background-size:56px 56px; }
.apply .container { position:relative; z-index:1; }
.apply-wrap { display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:end; }
.apply h2 { margin:0; font-size:clamp(48px,6.5vw,84px); line-height:1.02; letter-spacing:-.065em; }
.apply p { margin:26px 0 0; max-width:680px; font-size:18px; }
.apply-box { background:var(--deep); color:#fff; padding:34px; box-shadow:var(--shadow); }
.apply-box small { display:block; color:var(--yellow); font-weight:900; letter-spacing:.12em; margin-bottom:18px; }
.apply-box dl { margin:0; }
.apply-box div { display:grid; grid-template-columns:90px 1fr; gap:18px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.apply-box dt { color:rgba(255,255,255,.55); font-size:13px; }
.apply-box dd { margin:0; font-weight:800; font-size:14px; }
.apply-box .btn { width:100%; margin-top:24px; }
.apply-caption { margin-top:16px !important; font-size:12px !important; opacity:.72; }

/* Footer */
.footer { background:#081c16; color:rgba(255,255,255,.65); padding:36px 0; font-size:12px; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer strong { color:#fff; }
.footer-links { display:flex; gap:18px; }

/* Reveal */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }

/* Mobile */
.mobile-cta { display:none; }
@media (max-width: 900px) {
  .section { padding:82px 0; }
  .section-head, .thesis-layout, .benefit-lead, .apply-wrap { grid-template-columns:1fr; gap:32px; }
  .nav-links a:not(.nav-cta) { display:none; }
  .hero { min-height:760px; }
  .hero-media { background-position:58% center; }
  .hero::after { width:110px; height:110px; right:-38px; }
  .hero-meta { grid-template-columns:1fr; max-width:520px; }
  .hero-meta-item { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.16); }
  .hero-meta-item + .hero-meta-item { padding-left:0; border-left:0; }
  .thesis-aside { display:none; }
  .focus-card, .focus-card:nth-child(1), .focus-card:nth-child(2), .focus-card:nth-child(n+3) { grid-column:span 12; }
  .benefit-grid { grid-template-columns:1fr; }
  .story-layout { grid-template-columns:1fr; }
  .story-copy { position:relative; top:auto; }
  .process-item { grid-template-columns:58px 1fr; gap:12px 18px; align-items:start; }
  .process-title { grid-column:2; }
  .process-item p { grid-column:2; }
  .process-item .status { display:none; }
  .process-date { max-width:100%; white-space:normal; }
  .partner-grid { grid-template-columns:1fr; }
  .partner-card { min-height:auto; }
  .apply-box { max-width:540px; }
}
@media (max-width: 620px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .nav-inner { height:68px; }
  .brand-text { font-size:13px; }
  .brand-text small { display:none; }
  .nav-cta { display:none !important; }
  .hero { min-height:730px; }
  .hero-content { padding-top:120px; padding-bottom:76px; }
  .hero h1 { font-size:52px; }
  .hero-desc { font-size:17px; }
  .hero-actions .btn { width:100%; }
  .hero-meta { margin-top:42px; }
  .section-title { font-size:38px; }
  .thesis-copy h2 { font-size:38px; }
  .thesis-copy p { font-size:17px; }
  .thesis-facts { grid-template-columns:1fr; }
  .focus-card { min-height:220px; }
  .benefit-feature { padding:32px 26px; min-height:360px; }
  .benefit-feature h3 { font-size:34px; }
  .benefit-mini { padding:28px; }
  .benefit-mini strong { font-size:48px; }
  .process-item h3 { font-size:22px; }
  .film-toolbar { align-items:flex-start; flex-direction:column; }
  .film-controls { width:100%; justify-content:flex-end; }
  .partner-card { padding:28px 22px; }
  .partner-card-head { flex-direction:column; min-height:0; }
  .partner-role { text-align:left; }
  .partner-copy h3 { font-size:30px; }
  .apply h2 { font-size:50px; }
  .apply-box { padding:28px 22px; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
  .mobile-cta { display:block; position:fixed; left:12px; right:12px; bottom:12px; z-index:50; background:var(--yellow); color:var(--deep); text-align:center; padding:15px 18px; font-weight:950; box-shadow:0 10px 28px rgba(0,0,0,.25); }
  body { padding-bottom:68px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  * { animation:none !important; transition:none !important; }
}


/* Two-page navigation */
.nav-links a[aria-current="page"] { color:var(--yellow); opacity:1; }
.nav-solid { position:absolute; background:rgba(8,28,22,.78); backdrop-filter:blur(16px); }
.btn-dark { background:var(--deep); color:#fff; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Home case teaser */
.case-teaser { background:#e8ede9; }
.home-case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.home-case-card { border:1px solid #cbd5ce; background:#fff; transition:.25s ease; overflow:hidden; }
.home-case-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.home-case-copy { padding:25px; }
.home-case-copy small { color:var(--green); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.home-case-copy h3 { margin:14px 0 28px; font-size:21px; line-height:1.35; letter-spacing:-.035em; }
.home-case-copy span { font-size:12px; font-weight:900; color:var(--green); }
.case-teaser-actions { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-top:28px; }
.case-teaser-actions p { margin:0; color:var(--muted); font-size:13px; }

/* Shared case visuals */
.case-visual { position:relative; min-height:220px; padding:24px; color:#fff; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; isolation:isolate; }
.case-visual::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 60%); }
.case-visual::after { content:""; position:absolute; width:170px; height:170px; right:-48px; bottom:-72px; border:22px solid rgba(244,200,63,.38); transform:rotate(45deg); z-index:-1; }
.case-visual span { align-self:flex-start; padding:6px 9px; border:1px solid rgba(255,255,255,.45); font-size:10px; font-weight:900; letter-spacing:.1em; }
.case-visual strong { font-size:34px; line-height:1; letter-spacing:-.05em; max-width:80%; }
.case-visual i { position:absolute; left:24px; right:24px; top:50%; height:1px; background:rgba(255,255,255,.23); }
.case-visual-mro { background:#176b4d; }
.case-visual-rental { background:#274d3d; }
.case-visual-asset { background:#475f51; }
.case-visual-safety { background:#7c5d18; }
.case-visual-equipment { background:#183f4e; }
.case-visual-smart-construction { background:#315c3e; }

/* Two growth tracks */
.tracks { background:#fff; }
.track-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:stretch; }
.track-card { min-height:780px; padding:40px; display:flex; flex-direction:column; border:1px solid var(--line); position:relative; overflow:hidden; }
.track-field { background:var(--deep); color:#fff; }
.track-invest { background:var(--cream); color:var(--ink); }
.track-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:30px; border-bottom:1px solid currentColor; opacity:.9; }
.track-head span { font-size:84px; line-height:.8; color:var(--yellow); font-weight:950; letter-spacing:-.08em; }
.track-invest .track-head span { color:var(--green); }
.track-head small { max-width:190px; text-align:right; font-weight:900; letter-spacing:.12em; }
.track-copy { padding-top:36px; }
.track-copy .label { color:var(--yellow); }
.track-invest .track-copy .label { color:var(--green); }
.track-copy h3 { margin:24px 0 18px; font-size:44px; line-height:1.08; letter-spacing:-.05em; }
.track-lead { margin:0; font-size:17px; color:rgba(255,255,255,.72); }
.track-invest .track-lead { color:var(--muted); }
.track-keywords { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.track-keywords span { padding:7px 10px; background:var(--yellow); color:var(--deep); font-size:12px; font-weight:900; }
.track-card ul { list-style:none; padding:0; margin:28px 0 0; }
.track-card li { position:relative; padding-left:20px; margin-top:11px; font-size:14px; color:rgba(255,255,255,.76); }
.track-invest li { color:#4d5a54; }
.track-card li::before { content:""; position:absolute; left:0; top:.72em; width:7px; height:7px; background:var(--yellow); }
.track-invest li::before { background:var(--green); }
.track-note { margin:auto 0 0; padding-top:28px; border-top:1px solid currentColor; opacity:.6; font-size:12px; }
.track-target { margin:28px 0 18px; padding:24px; background:var(--green); color:#fff; }
.track-target small, .track-target span { display:block; }
.track-target small { color:var(--yellow); font-weight:900; letter-spacing:.12em; }
.track-target strong { display:block; margin:5px 0 2px; font-size:44px; line-height:1; }
.track-target span { opacity:.78; font-size:13px; }
.track-terms { margin:0; border-top:1px solid var(--line); }
.track-terms div { display:grid; grid-template-columns:100px 1fr; gap:18px; padding:11px 0; border-bottom:1px solid var(--line); }
.track-terms dt { color:var(--muted); font-size:13px; }
.track-terms dd { margin:0; font-weight:900; font-size:14px; }
.common-support { margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:25px 30px; background:var(--yellow); color:var(--deep); }
.common-support span { font-size:12px; font-weight:950; letter-spacing:.13em; }
.common-support p { margin:0; font-weight:800; }

/* Case Study page */
.case-page { background:#f1f2ed; }
.case-hero { min-height:610px; position:relative; overflow:hidden; display:flex; align-items:center; background:var(--deep); color:#fff; }
.case-hero::after { content:""; position:absolute; width:260px; height:260px; right:8%; top:24%; border:30px solid rgba(244,200,63,.24); transform:rotate(45deg); }
.case-hero-grid { position:absolute; inset:0; opacity:.15; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:64px 64px; }
.case-hero-inner { position:relative; z-index:1; padding-top:130px; padding-bottom:90px; }
.case-hero .kicker { color:var(--yellow); }
.case-hero h1 { margin:0; max-width:900px; font-size:clamp(52px,7vw,92px); line-height:1; letter-spacing:-.065em; }
.case-hero h1 em { color:var(--yellow); font-style:normal; }
.case-hero p { max-width:760px; margin:30px 0 0; color:rgba(255,255,255,.73); font-size:18px; }
.case-hero-meta { display:flex; flex-wrap:wrap; gap:0; margin-top:50px; border-top:1px solid rgba(255,255,255,.25); max-width:780px; }
.case-hero-meta span { padding:18px 28px 0 0; margin-right:28px; border-right:1px solid rgba(255,255,255,.2); font-size:12px; font-weight:900; letter-spacing:.1em; }
.case-hero-meta strong { color:var(--yellow); font-size:24px; margin-right:5px; }
.case-toolbar { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.case-toolbar h2 { margin:0; font-size:clamp(38px,5vw,62px); letter-spacing:-.055em; }
.case-search { position:relative; width:min(100%,360px); }
.case-search input { width:100%; height:54px; border:0; border-bottom:2px solid var(--deep); background:transparent; padding:0 38px 0 4px; font:inherit; outline:none; }
.case-search i { position:absolute; right:8px; top:11px; font:700 26px/1 Arial; }
.case-filters { display:flex; flex-wrap:wrap; gap:8px; margin:38px 0 28px; }
.case-filter { border:1px solid #aebbb3; background:transparent; padding:9px 13px; color:#43524a; font:800 12px/1.2 inherit; cursor:pointer; }
.case-filter:hover, .case-filter.is-active { background:var(--deep); color:#fff; border-color:var(--deep); }
.case-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.case-card { min-width:0; background:#fff; border:1px solid #cbd5ce; overflow:hidden; }
.case-card-button { display:block; width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; font:inherit; }
.case-card-button:hover .case-visual { filter:brightness(1.08); }
.case-card-button:hover h3 { color:var(--green); }
.case-card-body { padding:25px; }
.case-card-body small { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.case-card-body h3 { min-height:88px; margin:13px 0 12px; font-size:21px; line-height:1.4; letter-spacing:-.035em; transition:.2s; }
.case-card-body p { min-height:96px; margin:0; color:var(--muted); font-size:13.5px; }
.case-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }
.case-tags span { padding:5px 8px; background:#e8ede9; color:#4a5a51; font-size:10px; font-weight:800; }
.case-card-body b { display:block; margin-top:24px; color:var(--green); font-size:11px; letter-spacing:.1em; }
.case-empty { padding:60px; text-align:center; color:var(--muted); background:#fff; border:1px solid var(--line); }
.case-disclaimer { margin-top:45px; padding:26px 28px; border-left:5px solid var(--yellow); background:#fff; display:grid; grid-template-columns:180px 1fr; gap:30px; }
.case-disclaimer strong { color:var(--green); font-size:12px; letter-spacing:.12em; }
.case-disclaimer p { margin:0; color:var(--muted); font-size:13px; }
.case-cta { padding:90px 0; background:var(--green); color:#fff; }
.case-cta-inner { display:flex; align-items:end; justify-content:space-between; gap:50px; }
.case-cta span { color:var(--yellow); font-size:12px; font-weight:900; letter-spacing:.14em; }
.case-cta h2 { margin:14px 0 0; font-size:clamp(38px,5vw,62px); line-height:1.08; letter-spacing:-.05em; }

/* Case modal */
body.modal-open { overflow:hidden; }
.case-modal { position:fixed; inset:0; z-index:1000; }
.case-modal[hidden] { display:none; }
.case-modal-backdrop { position:absolute; inset:0; background:rgba(3,15,11,.78); backdrop-filter:blur(8px); }
.case-modal-panel { position:absolute; right:0; top:0; bottom:0; width:min(900px,92vw); overflow:auto; background:#f3f2eb; box-shadow:-20px 0 70px rgba(0,0,0,.3); }
.case-modal-close { position:fixed; right:22px; top:18px; z-index:3; width:48px; height:48px; border:1px solid rgba(255,255,255,.45); background:rgba(8,28,22,.76); color:#fff; font:300 32px/1 Arial; cursor:pointer; }
.case-modal-visual { min-height:340px; padding:42px; }
.case-modal-visual strong { font-size:64px; }
.case-modal-body { padding:52px; }
.case-modal-meta { display:flex; flex-wrap:wrap; gap:0; color:var(--green); font-size:11px; font-weight:900; letter-spacing:.1em; }
.case-modal-meta span + span::before { content:"/"; margin:0 12px; color:#97a69d; }
.case-modal-body h2 { margin:20px 0 18px; font-size:clamp(36px,5vw,58px); line-height:1.12; letter-spacing:-.05em; }
.case-modal-summary { margin:0; color:#536159; font-size:18px; }
.case-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:42px; background:var(--line); border:1px solid var(--line); }
.case-detail-grid section { padding:30px; background:#fff; }
.case-detail-grid small { color:var(--green); font-weight:900; letter-spacing:.1em; }
.case-detail-grid h3 { margin:12px 0 10px; font-size:21px; }
.case-detail-grid p { margin:0; color:var(--muted); font-size:14px; }
.case-detail-grid .case-fit { background:var(--deep); color:#fff; }
.case-detail-grid .case-fit small { color:var(--yellow); }
.case-detail-grid .case-fit p { color:rgba(255,255,255,.72); }
.case-modal-footer { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-top:34px; padding-top:25px; border-top:1px solid var(--line); }
.case-modal-footer .case-tags { margin:0; }
.case-modal-footer a { color:var(--green); font-weight:900; font-size:13px; }

@media (max-width:900px) {
  .nav-links { gap:12px; }
  .nav-links a:not(.nav-cta) { display:block; }
  .home-case-grid, .track-grid, .case-grid { grid-template-columns:1fr; }
  .track-card { min-height:auto; }
  .case-toolbar, .case-cta-inner { align-items:flex-start; flex-direction:column; }
  .case-search { width:100%; }
  .case-disclaimer { grid-template-columns:1fr; gap:8px; }
  .case-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .nav-links { gap:10px; font-size:12px; }
  .nav-links .nav-cta { display:none; }
  .case-teaser-actions, .common-support { align-items:flex-start; flex-direction:column; }
  .case-visual { min-height:190px; }
  .track-card { padding:30px 24px; }
  .track-copy h3 { font-size:36px; }
  .track-head span { font-size:68px; }
  .case-hero { min-height:570px; }
  .case-hero-inner { padding-top:118px; }
  .case-hero h1 { font-size:50px; }
  .case-hero-meta span { padding-right:14px; margin-right:14px; }
  .case-modal-panel { width:100%; }
  .case-modal-visual { min-height:250px; padding:28px; }
  .case-modal-visual strong { font-size:42px; }
  .case-modal-body { padding:34px 22px; }
  .case-modal-footer { align-items:flex-start; flex-direction:column; }
}

/* V6 — logo-led case archive */
.case-reference-banner { background:var(--yellow); border-bottom:1px solid rgba(13,54,41,.2); }
.case-reference-banner-inner { display:grid; grid-template-columns:250px 1fr; gap:36px; align-items:start; padding-top:24px; padding-bottom:24px; }
.case-reference-banner strong { color:var(--deep); font-size:11px; letter-spacing:.13em; }
.case-reference-banner p { margin:0; color:#354039; font-size:13px; line-height:1.75; }

.case-visual-worker-lifestyle { background:#345744; }
.case-visual-healthcare-lifestyle { background:#45675d; }
.case-visual-circular { background:#5c573c; }
.case-visual-procurement { background:#244e43; }

.case-card { display:flex; flex-direction:column; }
.case-card-main { display:block; width:100%; flex:1; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; font:inherit; }
.case-card-main:hover h3 { color:var(--green); }
.case-card-main:hover .case-logo-stage { transform:translateY(-2px); box-shadow:0 18px 44px rgba(3,24,17,.15); }
.case-logo-visual { min-height:220px; padding:20px 22px 24px; color:#fff; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; isolation:isolate; }
.case-logo-visual::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(135deg,rgba(255,255,255,.11),transparent 58%); }
.case-logo-visual::after { content:""; position:absolute; width:150px; height:150px; right:-54px; bottom:-68px; border:20px solid rgba(244,200,63,.25); transform:rotate(45deg); z-index:-1; }
.case-logo-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.case-logo-topline span { padding:6px 9px; border:1px solid rgba(255,255,255,.45); font-size:10px; font-weight:900; letter-spacing:.08em; }
.case-logo-topline small { color:rgba(255,255,255,.72); font-size:9px; font-weight:900; letter-spacing:.12em; }
.case-logo-stage { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:112px; padding:18px 28px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.93); transition:.25s ease; overflow:hidden; }
.case-logo-stage.is-compact { height:94px; }
.case-logo-img { position:relative; z-index:2; display:block; max-width:82%; max-height:72px; width:auto; height:auto; object-fit:contain; opacity:0; transition:opacity .2s ease; }
.case-logo-img.is-loaded { opacity:1; }
.case-logo-fallback { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; padding:16px; color:#173c30; font-size:clamp(20px,3vw,34px); font-weight:950; letter-spacing:-.04em; text-align:center; opacity:1; visibility:visible; transition:opacity .16s ease, visibility .16s ease; }
.case-logo-stage.has-logo .case-logo-fallback { opacity:0; visibility:hidden; }
.case-logo-stage.is-text-only .case-logo-fallback { opacity:1; visibility:visible; }
.case-logo-stage.is-compact .case-logo-fallback { font-size:24px; }
.case-card-body { padding-bottom:22px; }
.case-card-body h3 { min-height:60px; }
.case-card-body p { min-height:118px; }
.case-card-links { display:flex; border-top:1px solid var(--line); }
.case-card-links a { flex:1; padding:15px 14px; color:var(--green); background:#f8f8f4; font-size:11px; font-weight:900; text-align:center; letter-spacing:.03em; }
.case-card-links a + a { border-left:1px solid var(--line); }
.case-card-links a:hover { background:var(--deep); color:#fff; }

.home-case-card .case-logo-visual { min-height:185px; }
.home-case-card .case-logo-stage { margin-top:20px; }
.home-case-card .home-case-copy h3 { min-height:58px; }

.case-modal-visual.case-logo-visual { min-height:330px; padding:38px 42px 44px; }
.case-modal-visual .case-logo-stage { height:150px; max-width:650px; margin:30px auto 0; }
.case-modal-visual .case-logo-img { max-height:100px; }
.case-modal-notice { margin:28px 0 0; padding:18px 20px; border-left:4px solid var(--yellow); background:#e7ebe7; color:#5a655f; font-size:12px; line-height:1.7; }
.case-modal-notice strong { display:block; margin-bottom:4px; color:var(--green); font-size:10px; letter-spacing:.12em; }
.case-source-links { display:grid; gap:9px; min-width:min(100%,340px); }
.case-source-links a { display:block; padding:14px 16px; border:1px solid #bcc7c0; background:#fff; color:var(--green); font-size:12px; line-height:1.45; }
.case-source-links a:hover { background:var(--deep); color:#fff; border-color:var(--deep); }
.case-source-links a span { display:block; margin-bottom:4px; color:#86938c; font-size:9px; font-weight:900; letter-spacing:.12em; }
.case-source-links a:hover span { color:var(--yellow); }

@media (max-width: 820px) {
  .case-reference-banner-inner { grid-template-columns:1fr; gap:8px; }
  .case-logo-visual { min-height:200px; }
  .case-card-body p { min-height:auto; }
  .case-modal-visual.case-logo-visual { min-height:260px; padding:28px 22px 32px; }
  .case-modal-visual .case-logo-stage { height:120px; margin-top:24px; }
}


/* V10 integration and responsive stability layer */
:root { --nav-mobile-bg: rgba(7, 35, 26, .96); }

html { overflow-x: hidden; }
body { overflow-x: clip; }
button, input, select { font: inherit; }
a, button { outline-offset: 4px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--yellow); }

/* Content remains visible if JavaScript is unavailable. */
.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(22px); }
.js .reveal.is-visible { opacity: 1; transform: none; }

/* Header */
.nav { transition: background .2s ease, border-color .2s ease; }
.nav-links a[aria-current="page"] { color: var(--yellow); opacity: 1; }
.btn-disabled { cursor: default; user-select: none; opacity: .92; }
.btn-disabled:hover { transform: none; }

/* Home case teaser: stable palettes for every archive category. */
.home-case-grid { align-items: stretch; }
.home-case-card { display: flex; min-width: 0; flex-direction: column; border-radius: 10px; }
.home-case-card .case-logo-visual {
  --home-accent: #176b4d;
  --home-deep: #0d4935;
  min-height: 210px;
  background:
    radial-gradient(circle at 86% 12%, color-mix(in srgb, var(--home-accent) 78%, white 0%), transparent 38%),
    linear-gradient(145deg, var(--home-deep), #08271e);
}
.home-case-card[data-section="global-enterprise"] .case-logo-visual { --home-accent:#8b7427; --home-deep:#4b3e16; }
.home-case-card[data-section="domestic-startup"] .case-logo-visual { --home-accent:#1d8a5e; --home-deep:#0d4b35; }
.home-case-card[data-section="overseas-startup"] .case-logo-visual { --home-accent:#366f84; --home-deep:#173f4e; }
.home-case-card[data-section="special"] .case-logo-visual { --home-accent:#8a5f3b; --home-deep:#4c2f1d; }
.home-case-card[data-category="workwear"] .case-logo-visual { --home-accent:#937627; --home-deep:#463a18; }
.home-case-card[data-category="mobility"] .case-logo-visual { --home-accent:#3b6b82; --home-deep:#173d4d; }
.home-case-card[data-category="worker-lifestyle"] .case-logo-visual { --home-accent:#735f91; --home-deep:#43375c; }
.home-case-card[data-category="healthcare-lifestyle"] .case-logo-visual { --home-accent:#3d8078; --home-deep:#27534e; }
.home-case-card[data-category="circular"] .case-logo-visual { --home-accent:#8d753b; --home-deep:#514325; }
.home-case-card[data-category="procurement"] .case-logo-visual { --home-accent:#1a7164; --home-deep:#10483f; }
.home-case-card[data-category="craft"] .case-logo-visual { --home-accent:#8d643f; --home-deep:#4a301e; }
.home-case-card .case-logo-stage { margin-top: 18px; border-radius: 10px; background: rgba(255,255,255,.97); box-shadow: 0 12px 28px rgba(3,24,17,.13); }
.home-case-card .case-logo-img { max-width: 76%; max-height: 62px; }
.home-case-card .case-logo-fallback { font-size: clamp(21px, 2.3vw, 31px); }
.home-case-story-tag { display: block; margin-top: 24px; color: rgba(255,255,255,.76); font-size: 9px; font-weight: 900; letter-spacing: .11em; overflow-wrap: anywhere; }
.home-case-copy { display:flex; flex:1; flex-direction:column; }
.home-case-copy h3 { min-height: 0; flex: 1; overflow-wrap: anywhere; }
.home-case-copy small { overflow-wrap: anywhere; }
.case-teaser-actions .btn { flex: 0 0 auto; }

/* Complete archive palettes added in V9. */
.case-card[data-category="workwear"], .case-modal-brand[data-category="workwear"] { --card-accent:#9a7b22; --card-deep:#514113; --card-soft:#f4eedc; }
.case-card[data-category="mobility"], .case-modal-brand[data-category="mobility"] { --card-accent:#3b7187; --card-deep:#234757; --card-soft:#e5eef2; }
.case-card[data-category="craft"], .case-modal-brand[data-category="craft"] { --card-accent:#936641; --card-deep:#5b3b25; --card-soft:#f3ebe4; }

/* Cards and logos */
.case-logo-stage { border-radius: 10px; }
.case-logo-img { max-width: 78%; }
.case-logo-fallback { overflow-wrap: anywhere; }
.case-card, .home-case-card { isolation: isolate; }
.case-page .case-card { height: 100%; }
.case-page .case-card-main { height: 100%; }
.case-page .case-card-body { min-width: 0; }
.case-page .case-company-line span, .case-page .case-card-body h3, .case-page .case-card-body p { overflow-wrap: anywhere; }
.case-page .case-card-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
.case-page .case-card-links a + a { border-left: 1px solid #e0e5e1; }

/* Home sections */
.track-card { min-height: 0; }
.track-copy h3, .partner-copy h3, .apply h2 { overflow-wrap: anywhere; }
.track-head small { overflow-wrap: anywhere; }
.story-layout, .track-grid, .partner-grid, .apply-wrap { min-width: 0; }
.video-card, .partner-card, .track-card { min-width: 0; }
.partner-card { min-height: 0; }
.apply-box dd, .footer-links { overflow-wrap: anywhere; }

/* Case modal */
.case-page .case-modal-panel { overscroll-behavior: contain; }
.case-page .case-modal-main, .case-modal-shell { min-width: 0; }
.case-page .case-related-links a span { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 1040px) {
  .home-case-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home-case-card:last-child { grid-column: 1 / -1; }
  .track-copy h3 { font-size: 39px; }
  .track-card { padding: 34px; }
}

@media (max-width: 900px) {
  .nav { background: var(--nav-mobile-bg); border-bottom-color: rgba(255,255,255,.14); }
  .nav-inner { height: 70px; }
  .nav-links { gap: 14px; font-size: 12px; }
  .nav-links a:not(.nav-cta) { display: inline-flex; }
  .nav-cta { padding: 9px 12px; }
  .hero { min-height: 760px; }
  .hero-content { padding-top: 126px; }
  .case-teaser-actions { align-items:flex-start; flex-direction:column; }
  .common-support { align-items:flex-start; flex-direction:column; gap:8px; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
  .footer-links { flex-wrap:wrap; }
}

@media (max-width: 720px) {
  .nav-cta { display:none !important; }
  .brand-text { font-size: 12px; }
  .nav-links { margin-left:auto; }
  .home-case-grid { grid-template-columns: 1fr; }
  .home-case-card:last-child { grid-column:auto; }
  .track-grid { grid-template-columns:1fr; }
  .track-card { padding:30px 24px; }
  .track-head span { font-size:70px; }
  .track-copy h3 { font-size:36px; }
  .apply-wrap { gap:42px; }
  .case-page .case-card-links { grid-template-columns:1fr; }
  .case-page .case-card-links a + a { border-left:0; border-top:1px solid #e0e5e1; }
}

@media (max-width: 520px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .nav-inner { gap:10px; }
  .brand { gap:9px; }
  .brand-mark { grid-template-columns:repeat(2,7px); grid-template-rows:repeat(2,7px); gap:2px; }
  .brand-text { display:none; }
  .nav-links { gap:12px; font-size:12px; }
  .hero { min-height: auto; }
  .hero-content { padding-top:118px; padding-bottom:80px; }
  .hero h1 { font-size: clamp(46px, 14vw, 60px); }
  .hero-eyebrow { align-items:flex-start; flex-wrap:wrap; font-size:10px; }
  .hero-eyebrow i { display:none; }
  .hero-desc { font-size:16px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; }
  .hero-meta { margin-top:40px; }
  .section { padding:72px 0; }
  .section-title, .thesis-copy h2 { font-size:36px; }
  .section-lead { font-size:16px; }
  .case-logo-visual { padding:17px 18px 20px; }
  .home-case-copy { padding:22px 20px; }
  .home-case-copy h3 { font-size:19px; }
  .story-copy { padding:28px 22px; }
  .story-copy h3 { font-size:29px; }
  .film-toolbar { padding:16px; }
  .process-item { padding:24px 2px; }
  .partner-logo { height:76px; }
  .apply h2 { font-size:44px; }
  .apply-box div { grid-template-columns:76px minmax(0,1fr); gap:12px; }
  .footer-links { flex-direction:column; gap:8px; }
  .mobile-cta { display:flex; position:fixed; left:14px; right:14px; bottom:14px; z-index:40; min-height:50px; align-items:center; justify-content:center; background:var(--yellow); color:var(--deep); box-shadow:0 16px 40px rgba(5,31,23,.28); font-weight:900; }
  .footer { padding-bottom:98px; }
  .case-page .mobile-cta { display:none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .js .reveal { opacity:1; transform:none; }
}


/* V11 — consolidated home UI */
.hero-meta-two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:900px; }
.hero-meta-two .hero-meta-item:nth-child(2) { border-right:0; }

.tracks-v11 { position:relative; overflow:hidden; background:#e7ece8; }
.tracks-v11::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.48; background-image:linear-gradient(rgba(10,47,35,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(10,47,35,.06) 1px,transparent 1px); background-size:64px 64px; }
.tracks-v11 .container { position:relative; z-index:1; }
.growth-track-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:stretch; }
.growth-track { position:relative; display:flex; min-width:0; min-height:850px; flex-direction:column; overflow:hidden; border:1px solid rgba(10,47,35,.18); box-shadow:0 24px 70px rgba(8,43,31,.10); }
.growth-track-sales { color:#fff; background:linear-gradient(150deg,#0a3024 0%,#0f4b36 68%,#176b4d 100%); }
.growth-track-invest { color:#10261d; background:linear-gradient(145deg,#fffdf4 0%,#f7f2dc 62%,#ece2b6 100%); }
.growth-track::before { content:""; position:absolute; right:-110px; top:-100px; width:320px; height:320px; border:42px solid rgba(244,200,63,.14); transform:rotate(45deg); }
.growth-track-invest::before { border-color:rgba(23,107,77,.11); }
.growth-track-bg-number { position:absolute; right:18px; bottom:6px; font:950 190px/1 Arial,sans-serif; letter-spacing:-.11em; color:rgba(255,255,255,.045); pointer-events:none; }
.growth-track-invest .growth-track-bg-number { color:rgba(23,107,77,.06); }
.growth-track-header { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:34px 36px 30px; border-bottom:1px solid rgba(255,255,255,.2); }
.growth-track-invest .growth-track-header { border-color:rgba(15,57,42,.17); }
.growth-track-index { color:var(--yellow); font:950 82px/.78 Arial,sans-serif; letter-spacing:-.08em; }
.growth-track-invest .growth-track-index { color:var(--green); }
.growth-track-header > div { display:flex; max-width:240px; flex-direction:column; align-items:flex-end; text-align:right; }
.growth-track-header b { color:var(--yellow); font-size:11px; letter-spacing:.14em; }
.growth-track-invest .growth-track-header b { color:var(--green); }
.growth-track-header small { margin-top:8px; color:rgba(255,255,255,.67); font-size:9px; font-weight:850; letter-spacing:.12em; line-height:1.5; }
.growth-track-invest .growth-track-header small { color:#6f786f; }
.growth-track-body { position:relative; z-index:1; display:flex; flex:1; flex-direction:column; padding:38px 36px 30px; }
.growth-track-label { color:var(--yellow); font-size:10px; font-weight:950; letter-spacing:.15em; }
.growth-track-invest .growth-track-label { color:var(--green); }
.growth-track h3 { margin:18px 0 20px; font-size:clamp(38px,4.2vw,54px); line-height:1.06; letter-spacing:-.055em; }
.growth-track-lead { min-height:94px; margin:0; color:rgba(255,255,255,.75); font-size:16px; line-height:1.75; }
.growth-track-invest .growth-track-lead { color:#56645c; }
.growth-track-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:center; gap:9px; margin:30px 0 8px; padding:20px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); }
.growth-track-flow span { display:flex; min-width:0; flex-direction:column; align-items:center; text-align:center; color:#fff; font-size:12px; font-weight:900; }
.growth-track-flow small { margin-bottom:6px; color:var(--yellow); font-size:8px; letter-spacing:.1em; }
.growth-track-flow i { color:var(--yellow); font-style:normal; }
.growth-track-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.growth-track-tags span { padding:8px 11px; border:1px solid rgba(244,200,63,.45); background:rgba(244,200,63,.08); color:var(--yellow); font-size:10px; font-weight:900; }
.growth-track-list { list-style:none; margin:28px 0 0; padding:0; }
.growth-track-list li { position:relative; margin-top:12px; padding-left:22px; color:rgba(255,255,255,.76); font-size:14px; line-height:1.65; }
.growth-track-invest .growth-track-list li { color:#46564e; }
.growth-track-list li::before { content:""; position:absolute; left:0; top:.72em; width:8px; height:8px; background:var(--yellow); }
.growth-track-invest .growth-track-list li::before { background:var(--green); }
.growth-track-target { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:28px 0 22px; padding:24px 26px; background:var(--green); color:#fff; box-shadow:0 16px 35px rgba(10,47,35,.14); }
.growth-track-target div { display:flex; flex-direction:column; }
.growth-track-target small { color:var(--yellow); font-size:9px; font-weight:950; letter-spacing:.14em; }
.growth-track-target strong { margin:6px 0 3px; font-size:43px; line-height:1; letter-spacing:-.05em; }
.growth-track-target span { color:rgba(255,255,255,.75); font-size:12px; }
.growth-track-target .growth-track-target-mark { color:rgba(255,255,255,.13); font:950 70px/1 Arial,sans-serif; letter-spacing:-.08em; }
.growth-track-terms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
.growth-track-terms div { min-width:0; padding:16px; border:1px solid rgba(19,65,49,.18); background:rgba(255,255,255,.52); }
.growth-track-terms dt { color:#758078; font-size:10px; font-weight:850; letter-spacing:.06em; }
.growth-track-terms dd { margin:7px 0 0; color:#163c2e; font-size:14px; font-weight:950; overflow-wrap:anywhere; }
.growth-track-note { position:relative; z-index:1; margin:auto 0 0; padding:20px 36px; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.54); font-size:11px; line-height:1.7; }
.growth-track-invest .growth-track-note { border-color:rgba(15,57,42,.15); color:#737c75; }
.common-support-v11 { border:1px solid rgba(10,47,35,.12); box-shadow:0 14px 34px rgba(8,43,31,.08); }

.film-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.14); }
.film-tab { display:flex; min-width:0; min-height:76px; align-items:center; gap:12px; padding:16px 18px; border:0; border-right:1px solid rgba(255,255,255,.14); background:#0a2119; color:rgba(255,255,255,.58); text-align:left; cursor:pointer; transition:.2s ease; }
.film-tab:last-child { border-right:0; }
.film-tab span { color:var(--yellow); font:900 11px/1 Arial,sans-serif; }
.film-tab b { min-width:0; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.film-tab:hover,.film-tab:focus-visible,.film-tab.is-active { background:var(--yellow); color:var(--deep); outline:none; }
.film-tab.is-active span,.film-tab:hover span,.film-tab:focus-visible span { color:var(--deep); }

@media (max-width:1040px) {
  .growth-track { min-height:auto; }
  .growth-track h3 { font-size:41px; }
  .growth-track-header,.growth-track-body { padding-left:28px; padding-right:28px; }
  .growth-track-note { padding-left:28px; padding-right:28px; }
}
@media (max-width:820px) {
  .hero-meta-two { grid-template-columns:1fr; }
  .growth-track-grid { grid-template-columns:1fr; }
  .growth-track-lead { min-height:0; }
  .film-tabs { grid-template-columns:1fr; }
  .film-tab { min-height:58px; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .film-tab:last-child { border-bottom:0; }
}
@media (max-width:520px) {
  .growth-track-header { padding:28px 22px 24px; }
  .growth-track-index { font-size:66px; }
  .growth-track-body { padding:30px 22px 26px; }
  .growth-track h3 { font-size:36px; }
  .growth-track-flow { grid-template-columns:1fr; gap:7px; }
  .growth-track-flow i { transform:rotate(90deg); }
  .growth-track-terms { grid-template-columns:1fr; }
  .growth-track-target { align-items:flex-start; }
  .growth-track-target .growth-track-target-mark { display:none; }
  .growth-track-note { padding:18px 22px; }
}
