/* ===== AXEL LAB — Merged Brand Stylesheet ===== */
:root{
  --black:#0E0E0C;
  --paper:#F6F5F1;
  --soft:#EBE9E1;
  --white:#FFFEFA;
  --muted:#6F6F68;
  --line:#D8D6CE;
  --blue:#18B7C8;
  --mono:"IBM Plex Mono","SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;
  --sans:"Inter","Helvetica Neue",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --maxw:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);color:var(--black);line-height:1.6;
  background:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px),
    var(--paper);
  background-size:88px 88px;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
body.lang-en .cn{display:none}
body.lang-cn .en{display:none}

.page{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* ===== Nav ===== */
header.nav{position:sticky;top:0;z-index:50;background:rgba(246,245,241,.82);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px 24px}
.logo{font-weight:800;font-size:19px;letter-spacing:-.02em;display:flex;align-items:center;gap:9px}
.logo .brace{font-family:var(--mono);color:var(--blue);font-weight:500}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-size:14px;color:var(--muted);transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:var(--black)}
.lang-btn{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;background:transparent;color:var(--black);transition:border-color .15s}
.lang-btn:hover{border-color:var(--black)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;font-size:22px}

/* ===== Shared ===== */
.eyebrow,.kicker,.meta,.tag{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.kicker{color:var(--blue)}
h1,h2,h3{letter-spacing:-.02em;font-weight:700;line-height:1.05}
.page-title{margin-top:14px;font-size:clamp(52px,8vw,104px);line-height:.9;max-width:980px}
.muted{color:var(--muted)}
section{padding:72px 0;border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:220px 1fr;gap:32px;margin-bottom:34px}
.section-head h2{font-size:clamp(26px,3.5vw,36px)}
.section-intro{max-width:680px;color:#33332d;font-size:17px;margin-top:10px}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:12px 22px;border-radius:8px;cursor:pointer;transition:.15s}
.btn-primary{background:var(--black);color:var(--white)}
.btn-primary:hover{background:var(--blue)}
.btn-ghost{border:1px solid var(--line);color:var(--black);background:rgba(255,254,250,.5)}
.btn-ghost:hover{border-color:var(--black)}
.btn-link{font-family:var(--mono);font-size:12px;color:var(--blue)}
.btn-link:hover{text-decoration:underline}

/* ===== Hero ===== */
.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);gap:48px;padding:72px 0 56px;border-bottom:1px solid var(--line)}
.hero .eyebrow{color:var(--blue)}
.hero h1{margin:18px 0;font-size:clamp(52px,7vw,104px);line-height:.9}
.hero h1 .brace{font-family:var(--mono);color:var(--blue);font-weight:500;font-size:.55em;vertical-align:top}
.hero .signal{color:var(--blue)}
.hero-copy{max-width:560px;font-size:19px;color:#272722}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.tag{min-height:30px;display:inline-flex;align-items:center;border:1px solid var(--line);background:rgba(255,254,250,.6);padding:0 11px;border-radius:4px}
.hero .cta{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}
.hero-media figure{margin:0;height:100%;min-height:520px;border:1px solid var(--line);background:var(--soft);overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover}
figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:12px;color:var(--muted);font-size:13px;font-family:var(--mono)}

/* ===== Works ===== */
.works{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.project{display:grid;grid-template-rows:auto 1fr;gap:14px}
.project-media{aspect-ratio:4/3;border:1px solid var(--line);background:var(--soft);overflow:hidden}
.project:first-child .project-media{aspect-ratio:16/10}
.project-media img{width:100%;height:100%;object-fit:cover;transition:.3s}
.project:hover .project-media img{transform:scale(1.03)}
.project-title{display:flex;justify-content:space-between;gap:20px;padding-top:14px;border-top:1px solid var(--line)}
.project-title h3{font-size:21px}
.project-title p{margin-top:7px;max-width:520px;color:var(--muted);font-size:14px;line-height:1.45}
.project-stack{display:grid;gap:24px}

/* ===== Process 01-05 ===== */
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.process-step{min-height:210px;background:rgba(246,245,241,.94);padding:20px}
.process-step .meta{color:var(--blue)}
.process-step strong{display:block;margin:22px 0 10px;font-size:19px}
.process-step p{color:var(--muted);font-size:14px;line-height:1.45}

/* ===== Lab notes ===== */
.note-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);transition:.15s}
.note-row:last-child{border-bottom:none}
.note-row:hover{padding-left:8px}
.note-row .no{font-family:var(--mono);font-size:12px;color:var(--blue);width:120px;flex-shrink:0}
.note-row h3{font-size:18px;font-weight:600;flex:1}
.note-row .date{font-family:var(--mono);font-size:12px;color:var(--muted)}

/* ===== Project detail ===== */
.detail-hero{aspect-ratio:21/9;border:1px solid var(--line);background:var(--soft);overflow:hidden;margin:28px 0 48px}
.detail-hero img{width:100%;height:100%;object-fit:cover}
.detail-block{max-width:760px;margin:0 auto 48px}
.detail-block h2{font-size:14px;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.detail-block p{margin-bottom:12px;color:#222;font-size:17px}
.video-embed{aspect-ratio:16/9;background:#0E0E0C;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#777;font-family:var(--mono);font-size:13px;margin:32px auto;max-width:760px}
.dl-row{display:flex;gap:12px;flex-wrap:wrap;max-width:760px;margin:0 auto}
.detail-fig{max-width:980px;margin:0 auto 48px}
.detail-fig img{width:100%;border:1px solid var(--line);background:var(--soft)}
.detail-fig figcaption{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:10px;display:block}
.gallery2{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:980px;margin:0 auto 48px}
.gallery2 img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
@media(max-width:760px){.gallery2{grid-template-columns:1fr}}

/* ===== About ===== */
.about-lead{font-size:clamp(22px,3.5vw,34px);line-height:1.3;max-width:820px;font-weight:600}
.about-text{max-width:700px;margin-top:28px;font-size:17px;color:#222}
.about-text p{margin-bottom:16px}
.contact-grid{display:grid;grid-template-columns:160px 1fr;gap:10px 24px;max-width:540px;margin-top:22px;font-size:15px}
.contact-grid .k{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:2px}

/* ===== Footer ===== */
footer{padding:40px 0 28px;display:grid;grid-template-columns:1fr auto;gap:24px;color:var(--muted);font-size:13px;font-family:var(--mono)}
footer .logo{font-size:15px;font-family:var(--sans)}

/* ===== Responsive ===== */
@media(max-width:900px){
  .hero,.section-head,.works,.process-grid,.contact-grid,footer{grid-template-columns:1fr}
  .nav-links{position:fixed;inset:62px 0 auto 0;background:var(--paper);flex-direction:column;gap:0;border-bottom:1px solid var(--line);padding:8px 0;display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 24px;width:100%;font-size:16px;color:var(--black)}
  .nav-links .lang-btn{margin:12px 24px}
  .menu-toggle{display:block}
  section{padding:52px 0}
  .hero{padding:44px 0}
  .hero-media figure{min-height:320px}
}
