:root {
  --bg: #f1eee7;
  --bg-elevated: #171814;
  --surface: #e5e1d8;
  --surface-hover: #dad5ca;
  --surface-glass: rgba(241,238,231,.92);
  --border: rgba(23,24,20,.16);
  --border-hover: rgba(23,24,20,.45);
  --text: #171814;
  --text-secondary: #55544d;
  --text-tertiary: #77746a;
  --accent: #d7ff3f;
  --accent-light: #171814;
  --accent-glow: rgba(215,255,63,.25);
  --accent-subtle: rgba(215,255,63,.55);
  --radius: 0;
  --radius-lg: 0;
  --max-width: 1440px;
}
body { background: var(--bg); color: var(--text); }
::selection { background: var(--accent); color: var(--text); }
.loader-bar { background: var(--accent); box-shadow: none; }
.nav { padding: 18px 32px; mix-blend-mode: difference; color: #fff; }
.nav.scrolled { background: rgba(20,21,18,.94); border-bottom: 1px solid rgba(255,255,255,.12); box-shadow: none; mix-blend-mode: normal; }
.nav__logo,.nav__link { color: inherit; letter-spacing: .08em; }
.nav__link::after { background: var(--accent); box-shadow: none; }
.hero { min-height: 100svh; justify-content: flex-start; text-align: left; padding: 130px 6vw 90px; background: #11120f; color: #fff; }
.hero__media,.hero__shade { position:absolute; inset:0; }
.hero__media { overflow:hidden; }
.hero-slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .8s ease; }
.hero-slide.active { opacity:1; pointer-events:auto; z-index:1; }
.hero-slide img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:right center;
}
.hero__shade {
  z-index:1;
  background:
    linear-gradient(90deg, #11120f 0%, #11120f 26%, rgba(17,18,15,.98) 34%, rgba(17,18,15,.88) 42%, rgba(17,18,15,.66) 51%, rgba(17,18,15,.38) 60%, rgba(17,18,15,.16) 70%, rgba(17,18,15,.04) 80%, transparent 92%),
    linear-gradient(180deg, rgba(17,18,15,.18), transparent 24%, transparent 76%, rgba(17,18,15,.2));
}
.hero__shade::before {
  display:none;
}
.hero__content {
  position: relative;
  max-width: 650px;
  margin: 0;
  z-index: 2;
  padding: 38px 30px 42px 22px;
}
.hero__content::before {
  display:none;
}
.eyebrow,.section-kicker { font:700 12px/1.2 Arial,sans-serif; letter-spacing:.12em; }
.eyebrow { color:var(--accent); margin-bottom:30px; }
.hero__statement { font-size:clamp(56px,8vw,112px); line-height:.98; letter-spacing:-.075em; position:relative; z-index:1; }
.hero__tagline { display:none; }
.hero__cta { justify-content:flex-start; margin-top:28px; }
.btn { border-radius:0; padding:14px 22px; font-size:14px; }
.btn--primary { background:var(--accent); color:#11120f; }
.btn--ghost { border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff; }
.hero__identity { position:absolute; right:32px; top:88px; z-index:3; display:flex; flex-direction:column; text-align:right; font-size:13px; color:#fff; }
.hero__identity strong { font-size:18px; }
.hero-carousel__ui { position:absolute; left:48%; right:32px; bottom:34px; z-index:3; color:#fff; display:grid; grid-template-columns:1fr auto; gap:13px 28px; align-items:center; }
.hero-carousel__meta { display:flex; align-items:center; gap:16px; min-width:0; font-size:12px; letter-spacing:.04em; }
.hero-carousel__meta span { color:var(--accent); font:700 12px Arial; }
.hero-carousel__meta a { color:#fff; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hero-carousel__controls { display:flex; gap:6px; }
.hero-carousel__controls button { width:38px; height:38px; border:1px solid rgba(255,255,255,.35); background:rgba(17,18,15,.38); color:#fff; font-size:18px; transition:.25s ease; }
.hero-carousel__controls button:hover { background:var(--accent); color:#11120f; border-color:var(--accent); }
.hero-carousel__progress { grid-column:1/-1; height:1px; background:rgba(255,255,255,.3); overflow:hidden; }
.hero-carousel__progress i { display:block; width:100%; height:100%; background:var(--accent); transform-origin:left; }
@keyframes heroProgress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.hero__scroll { left:6vw; transform:none; align-items:flex-start; color:#aaa79e; letter-spacing:.12em; }
.capability,.workflow { padding:110px 6vw; max-width:var(--max-width); margin:auto; }
.section-kicker { display:flex; align-items:center; gap:12px; margin-bottom:32px; }
.section-kicker::before { content:""; width:30px; height:2px; background:currentColor; }
.capability__intro { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; }
.capability h2,.works__heading h2,.workflow h2,.contact h2 { font-size:clamp(40px,5vw,72px); line-height:1.08; letter-spacing:-.06em; }
.capability__intro p,.works__heading p { max-width:480px; color:var(--text-secondary); font-size:17px; }
.capability__grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:80px; border-top:1px solid var(--border); }
.capability-card { padding:26px 30px 40px 0; border-right:1px solid var(--border); }
.capability-card + .capability-card { padding-left:30px; }
.capability-card span,.workflow__steps b { color:#77746a; font:700 12px Arial; }
.capability-card h3 { font-size:24px; margin:55px 0 12px; }
.capability-card p { color:var(--text-secondary); max-width:310px; }
.works { padding:110px 6vw; max-width:var(--max-width); }
.works__heading { display:grid; grid-template-columns:1.2fr .6fr; gap:8vw; align-items:end; margin-bottom:64px; }
.works-grid { grid-template-columns:repeat(12,1fr); gap:20px; }
.works-card { grid-column:span 4; border:0; border-radius:0; background:transparent; backdrop-filter:none; box-shadow:none; }
.works-card:nth-child(1),.works-card:nth-child(5),.works-card:nth-child(9) { grid-column:span 8; }
.works-card:hover { border:0; box-shadow:none; }
.works-card__image { aspect-ratio:16/10!important; background:#ddd8ce; }
.works-card__image img { transition:transform .7s cubic-bezier(.16,1,.3,1); }
.works-card:hover .works-card__image img { transform:scale(1.025); }
.works-card__body { padding:14px 0 28px; display:flex; justify-content:space-between; align-items:baseline; gap:20px; border-bottom:1px solid var(--border); }
.works-card__category { color:var(--text-tertiary); font:700 11px Arial; }
.works-card__title { font-size:18px; }
.works-card__badge { border-radius:0; background:var(--accent); color:#11120f; border:0; }
.workflow { background:#11120f; color:#fff; max-width:none; }
.workflow h2 { max-width:900px; }
.workflow__steps { max-width:1320px; margin:80px auto 0; display:grid; grid-template-columns:repeat(5,1fr); }
.workflow__steps li { min-height:220px; padding:22px 24px; border-top:1px solid #55564f; display:flex; flex-direction:column; }
.workflow__steps li:last-child { border-top-color:var(--accent); }
.workflow__steps b { color:var(--accent); }
.workflow__steps strong { font-size:22px; margin-top:auto; }
.workflow__steps span { color:#aaa79e; font-size:13px; margin-top:10px; }
.about { max-width:1200px; padding:110px 6vw; }
.about__avatar { border-radius:0; border:0; background:#ddd8ce; }
.about__name { font-size:52px; }
.skill-tag { border-radius:0; border:1px solid var(--border); background:transparent; color:var(--text); }
.info-card { border-radius:0!important; background:transparent!important; border:0!important; border-top:1px solid var(--border)!important; backdrop-filter:none!important; }
.contact { max-width:none; padding:110px 6vw; background:var(--accent); }
.contact__inner { max-width:1320px; grid-template-columns:1fr auto; }
.contact__info p { color:#393a34; }
.contact__email a { color:#11120f; background:none; -webkit-text-fill-color:initial; font-size:22px; }
.qr-image { border-radius:0; border:0; }
.footer { background:#11120f; color:#aaa79e; border:0; }
.card-popout { border-radius:0; background:rgba(17,18,15,.96); }
.card-popout::before,.card-popout::after { display:none; }
.card-popout__category,
.card-popout__title,
.card-popout__cta { color:var(--accent); }
.card-popout__meta { color:rgba(215,255,63,.72); }
.card-popout__desc { color:rgba(239,244,215,.82); }
.back-to-top { border-radius:0; background:#11120f; color:var(--accent); }
.project-detail { padding-top:120px; }
.project-hero__image {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(230,225,212,.92), rgba(214,207,194,.78));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.28),
    0 24px 60px rgba(23,24,20,.1);
}
.project-hero__image-bg,
.project-hero__image-glass {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.project-hero__image-bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transform: scale(1.2);
  filter: blur(46px) saturate(120%) brightness(.98);
  opacity: .92;
}
.project-hero__image-glass {
  z-index: 1;
  background:
    radial-gradient(circle at 16% 14%, rgba(255,255,255,.5), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.08) 28%, rgba(255,255,255,.1) 62%, rgba(255,255,255,.18)),
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.04));
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
}
.project-hero__image::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(241,238,231,.76), rgba(241,238,231,.1) 18%, rgba(241,238,231,.1) 82%, rgba(241,238,231,.76)),
    linear-gradient(180deg, rgba(241,238,231,.54), rgba(241,238,231,.08) 22%, rgba(241,238,231,.08) 78%, rgba(241,238,231,.54));
  mix-blend-mode: screen;
}
.project-hero--video .project-hero__image::after {
  display:none;
}
.project-hero__image img,
.project-hero__video {
  position: relative;
  z-index: 2;
  background: transparent;
}
.project-hero__image img {
  filter: drop-shadow(0 16px 34px rgba(23,24,20,.14));
}
.project-hero__image img[src*="DS"],
.project-hero__image img[src*="奥特曼"],
.project-hero__image img[src*="Ultraman"] {
  transform: scale(.94);
  transform-origin: center;
}
.aigc-evidence { margin:0 0 70px; padding:38px; background:#11120f; color:#fff; display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.aigc-evidence__label { color:var(--accent); font:700 12px Arial; letter-spacing:.12em; margin-bottom:16px; }
.aigc-evidence h3 { font-size:28px; margin-bottom:16px; }
.aigc-evidence p { color:#bbb9b0; line-height:1.8; }
@media(max-width:900px){
  .hero-slide{opacity:0}.hero-slide.active{opacity:.5}.hero__shade{background:linear-gradient(90deg,#11120f 0%,rgba(17,18,15,.98) 40%,rgba(17,18,15,.76) 60%,rgba(17,18,15,.38) 78%,rgba(17,18,15,.1) 92%,transparent)}
  .hero__content{padding:20px 0 28px}
  .hero__content::before{inset:-28px -30px -34px -14px;filter:blur(14px)}
  .hero-carousel__ui{left:48%;right:20px}
  .capability__intro,.works__heading{grid-template-columns:1fr;gap:28px}.capability__grid{grid-template-columns:1fr}.capability-card,.capability-card+.capability-card{padding:24px 0;border-right:0;border-bottom:1px solid var(--border)}.capability-card h3{margin-top:30px}
  .works-card,.works-card:nth-child(1),.works-card:nth-child(5),.works-card:nth-child(9){grid-column:span 6}.workflow__steps{grid-template-columns:1fr 1fr}.aigc-evidence{grid-template-columns:1fr}
}
@media(max-width:600px){
  .nav{padding:14px 18px}.hero{padding:110px 20px 110px}.hero__statement{font-size:54px}.hero__identity{display:none}.hero__scroll{display:none}.hero-carousel__ui{left:20px;right:20px;bottom:28px}.hero-carousel__meta a{max-width:210px}
  .capability,.workflow,.works,.about,.contact{padding:72px 20px}.works-grid{display:block}.works-card{margin-bottom:28px}.works-card__body{display:block}.works-card__category{margin-bottom:5px}.workflow__steps{grid-template-columns:1fr}.workflow__steps li{min-height:150px}.contact__inner{grid-template-columns:1fr}.contact__qr{justify-content:flex-start}
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide { transition:none; transform:none; }
  .hero-carousel__progress i { animation:none!important; }
}
