/* Redesign inspired by Apple clarity, Linear restraint, Stripe light and Active Theory motion */
:root {
  --redesign-bg: #050608;
  --redesign-surface: #090c11;
  --redesign-line: rgba(226, 240, 246, .11);
  --redesign-line-strong: rgba(226, 240, 246, .22);
  --redesign-text: #f5f8f9;
  --redesign-muted: #909ea4;
  --redesign-dim: #5f6c72;
  --redesign-cyan: #9ce8f5;
  --redesign-violet: #b8a8ff;
  --redesign-max: min(1240px, calc(100vw - 56px));
}
body.home-redesign { background: var(--redesign-bg); }
.home-redesign .container { width: var(--redesign-max); }
.home-redesign .section-shell { padding: 132px 0; }
.home-redesign .site-header { border-bottom: 1px solid rgba(226,240,246,.045); }
.home-redesign .site-header.scrolled { background: rgba(5,6,8,.84); }
.home-redesign .main-nav a { color: #7f8e95; }
.home-redesign .main-nav a:hover { color: var(--redesign-text); }
.home-redesign .nav-cta { border-color: var(--redesign-line-strong); background: rgba(255,255,255,.018); }

.skip-link { position: fixed; left: 18px; top: 14px; z-index: 200; padding: 9px 13px; border-radius: 999px; background: #fff; color: #050608; transform: translateY(-160%); transition: transform .25s ease; }
.skip-link:focus { transform: translateY(0); }
.scroll-progress { position: fixed; top: 0; left: 0; right: 0; height: 1px; z-index: 160; background: rgba(255,255,255,.045); }
.scroll-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, #fff, var(--redesign-cyan), var(--redesign-violet)); }

.hero-v3 { min-height: 100svh; padding: 148px 0 54px; display: flex; flex-direction: column; justify-content: center; overflow: visible; }
.hero-v3::before { display: none; }
.hero-v3-inner { min-height: 72svh; display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(430px, .88fr); align-items: center; gap: 66px; }
.hero-v3 .hero-copy { z-index: 5; background: none; padding: 0; }
.hero-overline { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--redesign-line); color: var(--redesign-dim); font: 9px/1.5 var(--font-mono); letter-spacing: .12em; }
.hero-v3 h1 { max-width: 860px; margin: 30px 0 28px; font-size: clamp(58px, 8.2vw, 126px); line-height: .9; letter-spacing: -.082em; font-weight: 510; }
.hero-v3 .hero-lead { max-width: 660px; color: var(--redesign-muted); font-size: clamp(16px, 1.45vw, 19px); line-height: 1.85; }
.hero-v3 .hero-actions { margin-top: 38px; }
.hero-v3 .button { border-radius: 10px; }
.hero-signature { margin-top: 46px; padding-top: 17px; max-width: 660px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--redesign-line); color: var(--redesign-dim); font: 9px/1.5 var(--font-mono); letter-spacing: .11em; }
.hero-signature span { color: #aebbc1; }

.hero-v3 .blog-hero-visual { min-height: 600px; }
.hero-v3 .ring-stage { width: min(100%, 590px); background: radial-gradient(circle, rgba(156,232,245,.025), transparent 62%); box-shadow: none; }
.hero-v3 .ring-stage::before { inset: 1%; border-color: rgba(226,240,246,.08); }
.hero-v3 .ring-stage::after { inset: 14%; border-color: rgba(226,240,246,.06); }
.hero-v3 .ring-building { opacity: .72; filter: saturate(.4) brightness(.86) drop-shadow(0 0 18px rgba(156,232,245,.10)); }
.hero-v3 .ring-courtyard { width: 39%; border-color: rgba(226,240,246,.15); background: radial-gradient(circle at 38% 34%, rgba(159,220,163,.16), transparent 12%), linear-gradient(145deg, rgba(38,57,51,.55), rgba(6,12,14,.92)); }
.hero-v3 .ring-scan { opacity: .54; }
.hero-v3 .ring-label { border-radius: 4px; color: #a9b7bd; background: rgba(5,6,8,.88); }
.visual-caption { width: min(100%, 590px); display: flex; justify-content: space-between; gap: 20px; margin: 12px auto 0; color: var(--redesign-dim); font: 8px/1.5 var(--font-mono); letter-spacing: .1em; }

.hero-bottom { margin-top: auto; padding-top: 34px; display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; border-top: 1px solid var(--redesign-line); }
.scroll-cue { display: inline-flex; align-items: center; gap: 12px; color: var(--redesign-dim); font: 8px/1 var(--font-mono); letter-spacing: .12em; }
.scroll-cue i { width: 26px; height: 1px; background: var(--redesign-cyan); position: relative; overflow: hidden; }.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: #fff; animation: cueLine 2.4s ease infinite; }
.hero-stats { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 34px; }
.hero-stats span { color: var(--redesign-dim); font: 8px/1.5 var(--font-mono); letter-spacing: .08em; }.hero-stats strong { display: block; color: var(--redesign-text); font-size: 17px; font-weight: 500; letter-spacing: -.03em; }

.manifesto { border-top: 1px solid var(--redesign-line); background: linear-gradient(180deg, rgba(255,255,255,.012), transparent 58%); }
.manifesto-top { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 19px; border-bottom: 1px solid var(--redesign-line); color: var(--redesign-dim); font: 9px/1 var(--font-mono); letter-spacing: .11em; }
.manifesto-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 80px; padding-top: 70px; }
.manifesto h2 { margin: 0; font-size: clamp(52px, 7vw, 102px); line-height: .92; letter-spacing: -.075em; font-weight: 510; }.manifesto h2 span { color: transparent; background: linear-gradient(120deg, #fff, var(--redesign-cyan), var(--redesign-violet)); -webkit-background-clip: text; background-clip: text; }
.manifesto-copy { display: grid; gap: 24px; padding-bottom: 9px; }.manifesto-copy p { margin: 0; color: var(--redesign-muted); font-size: 15px; line-height: 1.9; }

.editorial-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 42px; margin-bottom: 44px; }
.section-index { display: block; color: var(--redesign-dim); font: 9px/1 var(--font-mono); letter-spacing: .12em; margin-bottom: 20px; }
.editorial-heading h2 { margin: 0; font-size: clamp(36px, 4.5vw, 64px); line-height: 1; letter-spacing: -.06em; font-weight: 520; }
.editorial-heading > a, .editorial-heading > p { margin: 0; color: var(--redesign-muted); font-size: 13px; line-height: 1.8; }.editorial-heading > a:hover { color: var(--redesign-cyan); }
.article-list { border-top: 1px solid var(--redesign-line); }
.article-row { display: grid; grid-template-columns: 78px minmax(0, 1fr) 34px; gap: 26px; align-items: center; min-height: 190px; padding: 28px 12px; border-bottom: 1px solid var(--redesign-line); transition: background .35s ease, padding .35s var(--ease), border-color .35s ease; }
.article-row:hover { padding-left: 22px; padding-right: 22px; background: linear-gradient(90deg, rgba(156,232,245,.055), rgba(184,168,255,.025) 52%, transparent); border-color: rgba(156,232,245,.18); }
.article-index { color: var(--redesign-dim); font: 10px/1 var(--font-mono); letter-spacing: .08em; }
.article-meta { display: flex; flex-wrap: wrap; gap: 16px; color: var(--redesign-dim); font: 8px/1.4 var(--font-mono); letter-spacing: .08em; }
.article-main h3 { margin: 15px 0 9px; font-size: clamp(24px, 3vw, 40px); line-height: 1.08; letter-spacing: -.05em; font-weight: 520; }
.article-main p { max-width: 760px; margin: 0; color: var(--redesign-muted); font-size: 13px; line-height: 1.75; }
.article-arrow { color: var(--redesign-cyan); font-size: 22px; transition: transform .3s var(--ease); }.article-row:hover .article-arrow { transform: translate(4px,-4px); }

.topics-v3 { border-top: 1px solid var(--redesign-line); }
.topic-lines { border-top: 1px solid var(--redesign-line); }
.topic-line { display: grid; grid-template-columns: 70px 1.1fr .9fr 30px; align-items: center; gap: 20px; min-height: 108px; padding: 18px 12px; border-bottom: 1px solid var(--redesign-line); transition: background .3s ease, padding .3s var(--ease); }
.topic-line:hover { padding-left: 22px; background: linear-gradient(90deg, rgba(156,232,245,.045), transparent 58%); }
.topic-line > span { color: var(--redesign-dim); font: 9px/1 var(--font-mono); }.topic-line strong { font-size: clamp(18px, 2.2vw, 29px); letter-spacing: -.035em; font-weight: 520; }.topic-line small { color: var(--redesign-dim); font: 8px/1.5 var(--font-mono); letter-spacing: .08em; }.topic-line i { color: var(--redesign-cyan); font-style: normal; }
.about-v3 { border-top: 1px solid var(--redesign-line); }
.about-v3-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.about-v3-copy h2 { margin: 20px 0 22px; font-size: clamp(42px, 5.5vw, 78px); line-height: .98; letter-spacing: -.07em; font-weight: 510; }.about-v3-copy p { max-width: 650px; color: var(--redesign-muted); line-height: 1.9; }.about-v3-copy .button { margin-top: 28px; border-radius: 10px; }
.about-v3-facts { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--redesign-line); border-left: 1px solid var(--redesign-line); }.about-v3-facts div { min-height: 140px; padding: 22px; border-right: 1px solid var(--redesign-line); border-bottom: 1px solid var(--redesign-line); }.about-v3-facts span { color: var(--redesign-dim); font: 8px/1 var(--font-mono); letter-spacing: .11em; }.about-v3-facts strong { display: block; margin-top: 26px; color: #cbd5d8; font-size: 14px; line-height: 1.5; font-weight: 500; }
.contact-v3 { padding-bottom: 165px; }.contact-v3 .container { border-top: 1px solid var(--redesign-line); padding-top: 40px; }.contact-v3 h2 { max-width: 1040px; margin: 32px 0 42px; font-size: clamp(48px, 7vw, 104px); line-height: .94; letter-spacing: -.075em; font-weight: 510; }.contact-v3 h2 span { color: transparent; background: linear-gradient(100deg, #fff, var(--redesign-cyan), var(--redesign-violet)); -webkit-background-clip: text; background-clip: text; }.contact-v3 a { display: inline-flex; gap: 10px; color: var(--redesign-muted); font: 13px/1 var(--font-mono); border-bottom: 1px solid var(--redesign-line-strong); padding-bottom: 8px; }.contact-v3 a:hover { color: var(--redesign-cyan); }

.blog-page-hero { padding: 175px 0 76px; border-bottom: 1px solid var(--redesign-line); }.blog-page-hero .container { padding: 0; border: 0; background: none; box-shadow: none; }.blog-page-hero h1 { margin: 26px 0 20px; font-size: clamp(58px, 8vw, 120px); letter-spacing: -.08em; font-weight: 510; }.blog-page-hero p { max-width: 700px; color: var(--redesign-muted); line-height: 1.8; }
.blog-filter { gap: 0; border-top: 1px solid var(--redesign-line); border-bottom: 1px solid var(--redesign-line); }.blog-filter button { padding: 16px 18px; border: 0; border-right: 1px solid var(--redesign-line); border-radius: 0; color: var(--redesign-dim); }.blog-filter button.active { color: var(--redesign-text); background: rgba(156,232,245,.045); }
.blog-list { border-top: 0; }.blog-entry { grid-template-columns: 120px minmax(0,1fr) 30px; min-height: 150px; padding: 26px 10px; transition: background .3s ease, padding .3s var(--ease); }.blog-entry:hover { padding-left: 20px; background: linear-gradient(90deg, rgba(156,232,245,.045), transparent 60%); }.blog-entry h2 { font-size: clamp(22px, 3vw, 38px); font-weight: 520; }.blog-entry p { color: var(--redesign-muted); }
.article-hero { padding: 175px 0 72px; border-bottom: 1px solid var(--redesign-line); }.article-hero .container { padding: 0; border: 0; background: none; box-shadow: none; }.article-hero h1 { max-width: 1080px; font-size: clamp(54px, 7.8vw, 116px); letter-spacing: -.08em; font-weight: 510; }.article-hero .article-lead { color: var(--redesign-muted); }
.article-wrap { grid-template-columns: 170px minmax(0, 780px); gap: 68px; padding-top: 76px; padding-bottom: 140px; }.article-body { border: 0; border-radius: 0; background: none; box-shadow: none; padding: 0; color: #b2bdc1; font-size: 16px; line-height: 2; }.article-body h2 { letter-spacing: -.05em; font-weight: 520; }.article-body blockquote { border-left-color: var(--redesign-cyan); background: linear-gradient(90deg, rgba(156,232,245,.045), transparent); }

@keyframes cueLine { 0% { transform: translateX(-105%); } 70%,100% { transform: translateX(105%); } }
@media (max-width: 1050px) {
  .hero-v3 { min-height: auto; padding-top: 130px; }.hero-v3-inner { grid-template-columns: 1fr; gap: 30px; min-height: auto; }.hero-v3 .blog-hero-visual { min-height: 520px; }.hero-v3 .ring-stage { width: min(100%, 510px); }
  .manifesto-grid, .about-v3-grid { grid-template-columns: 1fr; gap: 42px; }.hero-bottom { margin-top: 20px; }.hero-stats { justify-content: flex-start; }
  .article-wrap { grid-template-columns: 1fr; gap: 38px; }.article-aside { position: static; display: flex; justify-content: space-between; gap: 20px; }.article-aside a { margin: 0; }
}
@media (max-width: 720px) {
  .home-redesign .section-shell { padding: 92px 0; }.home-redesign .container { width: min(100% - 32px, 1240px); }
  .hero-v3 { padding-top: 112px; }.hero-overline span:last-child { display: none; }.hero-v3 h1 { font-size: clamp(52px, 15vw, 76px); margin-top: 24px; }.hero-v3 .blog-hero-visual { min-height: 420px; }.hero-v3 .ring-stage { width: min(100%, 390px); }.visual-caption { font-size: 7px; }
  .hero-bottom { flex-direction: column; align-items: flex-start; }.hero-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 26px; }.hero-signature { flex-direction: column; gap: 7px; }
  .manifesto-grid { padding-top: 46px; }.manifesto h2 { font-size: clamp(48px, 15vw, 76px); }.editorial-heading { align-items: flex-start; flex-direction: column; gap: 20px; }.article-row { grid-template-columns: 42px minmax(0,1fr) 22px; gap: 13px; min-height: 158px; padding: 24px 5px; }.article-row:hover { padding-left: 8px; padding-right: 8px; }.article-main h3 { font-size: 22px; }.article-meta span:last-child { display: none; }
  .topic-line { grid-template-columns: 42px 1fr 24px; gap: 12px; min-height: 90px; padding: 16px 5px; }.topic-line small { display: none; }.topic-line strong { font-size: 19px; }
  .about-v3-facts { grid-template-columns: 1fr; }.about-v3-facts div { min-height: 112px; }.contact-v3 h2 { font-size: clamp(42px, 13vw, 66px); }
  .blog-page-hero { padding-top: 130px; }.blog-entry { grid-template-columns: 1fr; gap: 10px; }.blog-entry .entry-arrow { display: none; }.article-hero { padding-top: 130px; }.article-hero h1 { font-size: clamp(45px, 13vw, 68px); }.article-wrap { padding-top: 52px; }.article-body { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .scroll-cue i::after { animation: none; } }
/* Prevent decorative paths from creating horizontal overflow */
.ring-path.path-c { width: 100%; left: 0; }

/* CJK-safe headline spacing: prevent glyph lines from visually colliding */
.hero-v3 h1 { line-height: 1.08; }
.hero-v3 h1 .gradient-text { display: inline-block; padding-bottom: .045em; }
.manifesto h2 { line-height: 1.02; }
.about-v3-copy h2,
.contact-v3 h2,
.blog-page-hero h1,
.article-hero h1 { line-height: 1.04; }

/* Ensure headline text is immediately visible and never requires a repaint/click */
.hero-v3 .hero-copy,
.hero-v3 .blog-hero-visual,
.hero-bottom,
.blog-page-hero .reveal,
.article-hero .reveal { opacity: 1 !important; transform: none !important; }
.gradient-text,
.manifesto h2 span,
.contact-v3 h2 span {
  color: #f5f8f9 !important;
  background: none !important;
  -webkit-text-fill-color: #f5f8f9 !important;
  text-shadow: 0 0 28px rgba(156,232,245,.10);
}
.hero-v3 h1 .gradient-text { display: inline; padding: 0; }
.ring-scan { width: 68% !important; }
