
:root{
  --red:#B40014;
  --red-dark:#8F0010;
  --black:#111111;
  --gray-900:#222222;
  --gray-700:#555555;
  --gray-500:#8a8a8a;
  --gray-200:#EDEDED;
  --gray-100:#F7F7F5;
  --white:#FFFFFF;
  --max:1180px;
  --radius:22px;
  --shadow:0 16px 50px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
  color:var(--black);
  background:var(--white);
  line-height:1.72;
  letter-spacing:.01em;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 28px;
}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(0,0,0,.07);
}
.header-inner{
  height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}
.logo{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.logo-mark{
  width:38px;
  height:38px;
  border:2px solid var(--red);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--red);
  font-weight:900;
}
.logo small{
  display:block;
  font-weight:500;
  color:var(--gray-500);
  font-size:12px;
  letter-spacing:0;
  margin-top:-4px;
}
.nav{
  display:flex;
  align-items:center;
  gap:22px;
  font-size:14px;
  color:var(--gray-700);
}
.nav a:hover{color:var(--red)}
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:12px 22px;
  font-weight:700;
  font-size:15px;
  border:1px solid transparent;
  cursor:pointer;
  transition:.22s ease;
  white-space:nowrap;
}
.btn-primary{
  background:var(--red);
  color:var(--white);
  box-shadow:0 10px 24px rgba(180,0,20,.22);
}
.btn-primary:hover{background:var(--red-dark);transform:translateY(-1px)}
.btn-secondary{
  border-color:rgba(180,0,20,.28);
  color:var(--red);
  background:rgba(180,0,20,.035);
}
.btn-secondary:hover{background:rgba(180,0,20,.09)}
.btn-ghost{
  border-color:var(--gray-200);
  color:var(--black);
  background:var(--white);
}
.btn-ghost:hover{border-color:var(--red);color:var(--red)}
.mobile-toggle{display:none}

.hero{
  min-height:calc(100vh - 72px);
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 26%, rgba(180,0,20,.12), transparent 24%),
    linear-gradient(180deg,#fff 0%,#fbfbfa 100%);
}
.hero:before{
  content:"";
  position:absolute;
  width:520px;height:520px;
  border:1px solid rgba(180,0,20,.16);
  border-radius:50%;
  right:-120px;top:90px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:58px;
  align-items:center;
  padding:86px 0;
}
.kicker{
  color:var(--red);
  font-weight:800;
  font-size:15px;
  margin-bottom:20px;
}
h1,h2,h3,p{margin-top:0}
.hero h1{
  font-size:clamp(48px,7vw,86px);
  line-height:1.06;
  margin-bottom:22px;
  letter-spacing:-.045em;
}
.hero-sub{
  font-size:clamp(20px,2.5vw,30px);
  line-height:1.38;
  margin-bottom:28px;
  color:var(--gray-900);
  max-width:820px;
}
.judgment{
  display:inline-block;
  border-left:4px solid var(--red);
  padding:8px 16px;
  margin:2px 0 24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  font-weight:800;
}
.hero-copy{
  color:var(--gray-700);
  font-size:17px;
  max-width:760px;
}
.hero-actions{
  display:flex;
  gap:14px;
  margin:34px 0 22px;
  flex-wrap:wrap;
}
.tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.tag{
  border:1px solid var(--gray-200);
  background:rgba(255,255,255,.75);
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  color:var(--gray-700);
}
.portrait-card{
  position:relative;
  background:var(--white);
  border:1px solid rgba(0,0,0,.06);
  border-radius:34px;
  padding:22px;
  box-shadow:var(--shadow);
}
.portrait-placeholder{
  min-height:520px;
  border-radius:24px;
  background:
    linear-gradient(135deg,rgba(180,0,20,.08),transparent 45%),
    linear-gradient(180deg,#f4f1ee,#ffffff);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:32px;
  color:var(--gray-500);
  text-align:center;
}
.signature{
  position:absolute;
  left:34px;
  bottom:36px;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(8px);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:16px 18px;
  max-width:310px;
}
.signature strong{
  display:block;
  font-size:18px;
  color:var(--red);
}
.signature span{
  display:block;
  color:var(--gray-700);
  font-size:13px;
  margin-top:4px;
}
.section{
  padding:96px 0;
}
.section.alt{
  background:var(--gray-100);
}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:44px;
}
.section-title{
  font-size:clamp(32px,4.4vw,54px);
  line-height:1.12;
  letter-spacing:-.035em;
  margin-bottom:0;
}
.section-desc{
  max-width:540px;
  color:var(--gray-700);
  font-size:17px;
}
.cards-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.cards-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.card{
  background:var(--white);
  border:1px solid rgba(0,0,0,.07);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:0 8px 32px rgba(0,0,0,.04);
  transition:.22s ease;
}
.card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:rgba(180,0,20,.2);
}
.card .num{
  color:var(--red);
  font-weight:900;
  margin-bottom:18px;
}
.card h3{
  font-size:22px;
  line-height:1.28;
  margin-bottom:14px;
}
.card p,.card li{
  color:var(--gray-700);
  font-size:15px;
}
.card ul{
  padding-left:18px;
  margin:14px 0 0;
}
.card-link{
  display:inline-flex;
  margin-top:18px;
  color:var(--red);
  font-weight:800;
}
.method-box{
  background:var(--white);
  border:1px solid rgba(0,0,0,.07);
  border-radius:32px;
  padding:36px;
  box-shadow:var(--shadow);
}
.flow{
  display:grid;
  grid-template-columns:repeat(9,1fr);
  gap:10px;
  align-items:stretch;
}
.flow-item{
  position:relative;
  border:1px solid rgba(180,0,20,.22);
  border-radius:18px;
  min-height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:14px 10px;
  font-weight:800;
  background:linear-gradient(180deg,#fff,#fff8f8);
}
.flow-item:not(:last-child):after{
  content:"→";
  position:absolute;
  right:-16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--red);
  font-size:20px;
  z-index:2;
}
.pill-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  margin-top:26px;
}
.pill{
  background:var(--gray-100);
  border-radius:16px;
  padding:18px;
  min-height:112px;
}
.pill strong{
  display:block;
  color:var(--red);
  margin-bottom:6px;
}
.pill span{
  display:block;
  font-size:13px;
  color:var(--gray-700);
}
.problem-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.problem-card{
  min-height:220px;
}
.institute{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:stretch;
}
.institute-panel{
  background:var(--black);
  color:var(--white);
  border-radius:34px;
  padding:42px;
}
.institute-panel .kicker{color:#ffccd2}
.institute-panel p{color:rgba(255,255,255,.74)}
.resource-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.authority-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.cta{
  background:
    radial-gradient(circle at 88% 20%, rgba(255,255,255,.14), transparent 30%),
    linear-gradient(135deg,var(--black),#2b0307);
  color:var(--white);
  border-radius:44px;
  padding:58px;
  display:grid;
  grid-template-columns:1fr 320px;
  gap:42px;
  align-items:center;
}
.cta h2{
  font-size:clamp(34px,4.8vw,62px);
  line-height:1.12;
  letter-spacing:-.035em;
}
.cta p{color:rgba(255,255,255,.76);font-size:17px}
.qr-card{
  background:rgba(255,255,255,.96);
  color:var(--black);
  border-radius:26px;
  padding:22px;
  text-align:center;
}
.qr-placeholder{
  aspect-ratio:1;
  border:2px dashed rgba(180,0,20,.28);
  border-radius:18px;
  display:grid;
  place-items:center;
  color:var(--gray-500);
  margin-bottom:16px;
  background:#fff;
}
.site-footer{
  padding:46px 0;
  background:#0d0d0d;
  color:rgba(255,255,255,.72);
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  gap:28px;
  flex-wrap:wrap;
}
.footer-inner strong{color:#fff}
.footer-links{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}
.footer-links a:hover{color:#fff}

.service-hero{
  padding:96px 0 72px;
  background:
    radial-gradient(circle at 82% 12%, rgba(180,0,20,.12), transparent 26%),
    linear-gradient(180deg,#fff,#fbfbfa);
}
.service-hero h1{
  font-size:clamp(42px,6vw,76px);
  line-height:1.08;
  letter-spacing:-.04em;
  max-width:900px;
  margin-bottom:20px;
}
.service-hero .hero-sub{max-width:880px}
.service-layout{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:44px;
}
.toc{
  position:sticky;
  top:96px;
  align-self:start;
  background:var(--white);
  border:1px solid rgba(0,0,0,.07);
  border-radius:22px;
  padding:20px;
}
.toc a{
  display:block;
  padding:9px 0;
  color:var(--gray-700);
  font-size:14px;
}
.toc a:hover{color:var(--red)}
.article-section{
  padding:52px 0;
  border-bottom:1px solid var(--gray-200);
}
.article-section h2{
  font-size:34px;
  line-height:1.25;
  letter-spacing:-.02em;
}
.article-section h3{
  font-size:22px;
}
.article-section p,.article-section li{
  color:var(--gray-700);
  font-size:16px;
}
.path-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0;
}
.path-list span{
  border:1px solid rgba(180,0,20,.18);
  background:#fff8f8;
  border-radius:999px;
  padding:10px 13px;
  font-size:14px;
  font-weight:700;
}
.deliver-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.note-box{
  border-left:4px solid var(--red);
  background:var(--gray-100);
  border-radius:0 18px 18px 0;
  padding:20px 22px;
  color:var(--gray-700);
}

.fixed-mobile-cta{display:none}

@media (max-width: 1080px){
  .nav{display:none}
  .mobile-toggle{display:inline-flex}
  .hero-grid,.institute,.cta,.service-layout{grid-template-columns:1fr}
  .portrait-card{max-width:620px}
  .cards-4,.cards-3,.problem-grid,.authority-grid{grid-template-columns:repeat(2,1fr)}
  .flow{grid-template-columns:1fr}
  .flow-item:not(:last-child):after{
    content:"↓";
    right:auto;top:auto;bottom:-22px;left:50%;
    transform:translateX(-50%);
  }
  .pill-grid{grid-template-columns:repeat(3,1fr)}
  .toc{display:none}
}
@media (max-width: 720px){
  .container{padding:0 20px}
  .header-inner{height:64px}
  .logo small{display:none}
  .header-actions .btn{display:none}
  .hero{min-height:auto}
  .hero-grid{padding:54px 0;gap:32px}
  .hero h1{font-size:44px}
  .hero-sub{font-size:20px}
  .hero-copy{font-size:15px}
  .portrait-placeholder{min-height:360px}
  .signature{position:static;margin-top:16px}
  .section{padding:68px 0}
  .section-head{display:block}
  .section-desc{margin-top:16px}
  .cards-4,.cards-3,.problem-grid,.authority-grid,.resource-grid,.deliver-grid{grid-template-columns:1fr}
  .pill-grid{grid-template-columns:1fr}
  .method-box{padding:22px;border-radius:24px}
  .cta{padding:32px 22px;border-radius:28px}
  .service-hero{padding:62px 0 46px}
  .article-section h2{font-size:28px}
  .fixed-mobile-cta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    position:fixed;
    z-index:40;
    bottom:10px;left:10px;right:10px;
  }
  .fixed-mobile-cta .btn{padding:12px 10px;font-size:14px}
  body{padding-bottom:72px}
}


/* V2 real-asset upgrades */
.logo-signature{
  height:30px;
  width:auto;
  display:block;
}
.logo-text{
  display:flex;
  flex-direction:column;
  line-height:1.12;
}
.portrait-photo{
  min-height:560px;
  border-radius:24px;
  overflow:hidden;
  background:#f5f3ef;
}
.portrait-photo img{
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
  object-position:center 18%;
}
.signature-image{
  display:block;
  width:230px;
  max-width:100%;
  height:auto;
  margin-bottom:8px;
}
.hero-identity-card{
  position:absolute;
  right:34px;
  top:34px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:14px 16px;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 34px rgba(0,0,0,.07);
}
.hero-identity-card strong{
  display:block;
  color:var(--black);
  font-size:15px;
}
.hero-identity-card span{
  display:block;
  color:var(--gray-700);
  font-size:12px;
  margin-top:2px;
}
.qr-img{
  width:100%;
  aspect-ratio:1;
  object-fit:contain;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  padding:10px;
}
.qr-card{
  box-shadow:0 18px 50px rgba(0,0,0,.16);
}
.qr-card strong{
  display:block;
  color:var(--red);
  font-size:18px;
}
.hero-watermark{
  position:absolute;
  right:8%;
  bottom:5%;
  opacity:.035;
  width:460px;
  pointer-events:none;
}
.hero-actions .btn-secondary{
  background:#fff;
}
@media (max-width:720px){
  .logo-signature{height:24px}
  .portrait-photo{min-height:390px}
  .portrait-photo img{min-height:390px;object-position:center top}
  .hero-identity-card{position:static;margin-bottom:14px}
  .signature-image{width:180px}
}


/* V3 honors and brands modules */
.brand-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.brand-chip{
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  color:var(--gray-700);
  font-size:14px;
  font-weight:700;
}
.brand-chip.strong{
  color:var(--red);
  border-color:rgba(180,0,20,.28);
  background:#fff7f8;
}
.industry-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:26px;
}
.industry-card{
  background:var(--white);
  border:1px solid rgba(0,0,0,.07);
  border-radius:20px;
  padding:22px;
}
.industry-card strong{
  display:block;
  font-size:18px;
  margin-bottom:8px;
}
.industry-card span{
  color:var(--gray-700);
  font-size:14px;
}
.honor-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.honor-item{
  background:var(--white);
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 12px 36px rgba(0,0,0,.06);
}
.honor-item img{
  width:100%;
  height:300px;
  object-fit:cover;
  object-position:center;
  background:#f5f5f5;
}
.honor-item figcaption{
  padding:16px 18px;
  font-weight:800;
  color:var(--gray-900);
}
.honor-item figcaption span{
  display:block;
  font-weight:500;
  color:var(--gray-500);
  font-size:13px;
  margin-top:4px;
}
.mini-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:30px;
}
.mini-stat{
  border-left:4px solid var(--red);
  background:#fff;
  border-radius:0 18px 18px 0;
  padding:20px;
}
.mini-stat strong{
  display:block;
  font-size:30px;
  line-height:1;
  color:var(--red);
  margin-bottom:8px;
}
.mini-stat span{
  color:var(--gray-700);
  font-size:14px;
}
@media (max-width:1080px){
  .industry-grid,.mini-stat-grid{grid-template-columns:repeat(2,1fr)}
  .honor-gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .industry-grid,.mini-stat-grid,.honor-gallery{grid-template-columns:1fr}
  .honor-item img{height:auto;max-height:420px}
}


/* ==== V4 Refinement: Hara-inspired minimalism ==== */
:root{
  --red:#c51624;
  --red-soft:#d64a54;
  --ink:#121212;
  --paper:#f4f2ed;
  --paper-2:#efede8;
  --line:rgba(0,0,0,.08);
  --line-red:rgba(197,22,36,.28);
  --shadow-soft:0 18px 45px rgba(0,0,0,.045);
}

body{
  background:var(--paper);
  color:var(--ink);
  letter-spacing:.01em;
}

.site-header{
  background:rgba(244,242,237,.92);
  border-bottom:1px solid rgba(0,0,0,.05);
  backdrop-filter: blur(12px);
}
.header-inner{
  height:84px;
}
.logo{
  gap:18px;
}
.logo-text{
  line-height:1.28;
}
.logo small{
  font-size:13px;
  color:rgba(0,0,0,.5);
  margin-top:2px;
  letter-spacing:.02em;
}
.nav{
  gap:26px;
  color:rgba(0,0,0,.58);
  font-size:14px;
}
.nav a:hover{color:var(--red)}

.hero{
  background:
    radial-gradient(circle at 82% 18%, rgba(197,22,36,.05), transparent 22%),
    linear-gradient(180deg,var(--paper) 0%, #f7f5f1 100%);
}
.hero:before{display:none;}
.hero-grid{
  gap:70px;
  padding:92px 0 84px;
}
.kicker{
  color:var(--red);
  font-size:15px;
  letter-spacing:.04em;
  margin-bottom:24px;
}
.hero h1{
  font-size:clamp(42px,5.8vw,74px);
  line-height:1.08;
  max-width:9.5ch;
  letter-spacing:-.05em;
  margin-bottom:20px;
}
.hero-sub{
  font-size:clamp(18px,2vw,24px);
  max-width:18ch;
  line-height:1.5;
  margin-bottom:20px;
  color:rgba(0,0,0,.74);
}
.judgment{
  background:transparent;
  box-shadow:none;
  border-left:0;
  padding:0;
  color:var(--ink);
  font-size:16px;
  font-weight:700;
  margin:0 0 22px;
}
.hero-copy{
  max-width:37em;
  font-size:17px;
  color:rgba(0,0,0,.62);
  line-height:1.95;
}
.tag{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.06);
  color:rgba(0,0,0,.62);
  padding:9px 14px;
}
.hero-actions .btn{padding:13px 24px;}
.btn-primary{
  background:var(--red);
  box-shadow:0 12px 25px rgba(197,22,36,.14);
}
.btn-secondary{
  color:var(--red);
  border-color:rgba(197,22,36,.18);
  background:rgba(255,255,255,.78);
}
.btn-ghost{background:transparent;}

.portrait-card{
  background:#f1efea;
  border:1px solid rgba(0,0,0,.04);
  border-radius:40px;
  padding:26px;
  box-shadow:var(--shadow-soft);
}
.portrait-photo{
  min-height:780px;
  background:#ece9e4;
  border-radius:28px;
}
.portrait-photo img{
  min-height:780px;
  object-fit:contain;
  object-position:center bottom;
}
.hero-identity-card{
  top:26px;
  right:26px;
  border-radius:24px;
  padding:18px 22px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:none;
}
.hero-identity-card strong{
  font-size:18px;
  letter-spacing:.02em;
  margin-bottom:8px;
}
.hero-identity-card span{
  font-size:14px;
  color:rgba(0,0,0,.58);
  line-height:1.45; /* 正常行距 */
}
.signature{
  left:26px;
  bottom:26px;
  padding:24px 24px 22px;
  border-radius:28px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 10px 28px rgba(0,0,0,.035);
  max-width:540px;
}
.signature-image{
  width:290px;
  margin-bottom:18px;
}
.signature strong{
  font-size:22px;
  color:var(--red);
  letter-spacing:.01em;
}
.signature span{
  margin-top:10px;
  font-size:18px;
  color:rgba(0,0,0,.68);
  line-height:1.65;
}
.hero-watermark{
  opacity:.018;
  width:580px;
  right:5%;
  bottom:7%;
}

.section{padding:110px 0;}
.section.alt{background:#f0ede8;}
.section-head{margin-bottom:52px;}
.section-title{
  font-size:clamp(34px,4vw,56px);
  line-height:1.18;
  letter-spacing:-.04em;
  max-width:18ch;
}
.section-desc{
  max-width:620px;
  color:rgba(0,0,0,.56);
  font-size:17px;
  line-height:1.85;
}

#services .section-title{
  font-size:clamp(30px,3vw,44px);
  max-width:none;
  white-space:nowrap;
}
#method .section-title{
  font-size:clamp(32px,3.6vw,48px);
}
#institute .section-title{
  font-size:clamp(30px,3.2vw,46px);
  max-width:10ch;
}
#institute .section-desc{max-width:520px;}

.card, .industry-card, .pill, .mini-stat, .method-box, .toc{
  background:rgba(255,255,255,.58);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:none;
  backdrop-filter: blur(2px);
}
.card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,0,0,.035);
  border-color:rgba(197,22,36,.12);
}
.card h3{letter-spacing:-.02em;}
.card p, .card li, .industry-card span{
  color:rgba(0,0,0,.58);
  line-height:1.82;
}
.card-link{
  margin-top:16px;
  color:var(--red);
}

.method-box{
  border-radius:34px;
  padding:42px 34px 34px;
}
.flow{
  display:grid;
  grid-template-columns:repeat(9, minmax(132px, 1fr));
  gap:22px;
  align-items:stretch;
  overflow-x:auto;
  padding-bottom:10px;
}
.flow-item{
  min-height:134px;
  background:#fbfaf7;
  border:1px solid rgba(197,22,36,.16);
  border-radius:26px;
  padding:26px 16px;
  font-size:18px;
  line-height:1.6;
  font-weight:700;
  color:rgba(0,0,0,.76);
  box-shadow:none;
}
.flow-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:-23px;
  top:50%;
  width:23px;
  height:1px;
  transform:none;
  background:rgba(197,22,36,.35);
}
.flow-item:not(:last-child):before{
  content:"";
  position:absolute;
  right:-23px;
  top:calc(50% - 4px);
  width:8px;
  height:8px;
  border-top:1px solid rgba(197,22,36,.45);
  border-right:1px solid rgba(197,22,36,.45);
  transform:rotate(45deg);
}
.pill{border-radius:20px;}
.pill strong{
  font-size:18px;
  margin-bottom:8px;
}
.pill span{
  line-height:1.75;
  color:rgba(0,0,0,.56);
}

.institute{gap:30px;}
.institute-panel{
  background:#0f0f10;
  border-radius:42px;
  padding:48px 46px;
  box-shadow:none;
}
.institute-panel .kicker{color:#e8b7bf;}
.institute-panel p{line-height:1.88;}
.resource-grid .card{border-radius:24px;}

.authority-grid .card,
.problem-card,
.honor-item,
.industry-card{
  border-radius:24px;
}
.honor-item{
  background:rgba(255,255,255,.72);
  box-shadow:none;
}
.honor-item figcaption{color:rgba(0,0,0,.78);}
.honor-item figcaption span{color:rgba(0,0,0,.48);}

.cta{
  background:
    radial-gradient(circle at 85% 15%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(135deg,#171717,#2b0d12 78%, #46080f 100%);
  border-radius:42px;
  padding:52px;
}
.cta h2{
  font-size:clamp(34px,4vw,58px);
  max-width:10ch;
  line-height:1.16;
}
.cta p{
  color:rgba(255,255,255,.76);
  line-height:1.92;
}
.qr-card{
  border-radius:28px;
  padding:14px 14px 18px;
  background:rgba(255,255,255,.94);
  box-shadow:none;
}
.qr-img{
  padding:0;
  border:1px solid rgba(0,0,0,.05);
  background:#fff;
}
.qr-card strong{
  font-size:16px;
  margin-top:10px;
}

.site-footer{background:#121212;}

@media (max-width:1280px){
  .flow{
    grid-template-columns:repeat(9, minmax(150px, 1fr));
  }
}
@media (max-width:1080px){
  .hero-grid{gap:40px;}
  .portrait-photo{min-height:580px;}
  .portrait-photo img{min-height:580px;}
  .section-title{max-width:none;}
  #services .section-title{white-space:normal;}
}
@media (max-width:720px){
  .header-inner{height:72px;}
  .hero-grid{padding:64px 0 46px;}
  .hero h1{
    max-width:100%;
    font-size:42px;
  }
  .hero-sub{
    max-width:100%;
    font-size:18px;
  }
  .hero-copy{font-size:15px;}
  .portrait-card{
    border-radius:28px;
    padding:18px;
  }
  .portrait-photo{min-height:520px;}
  .portrait-photo img{min-height:520px;}
  .signature{
    max-width:none;
    padding:20px 18px;
  }
  .signature-image{width:220px;}
  .signature strong{font-size:18px;}
  .signature span{font-size:16px;}
  .section{padding:76px 0;}
  .section-title{
    font-size:42px;
    line-height:1.18;
  }
  #services .section-title{
    font-size:34px;
    white-space:normal;
  }
  #institute .section-title{
    font-size:40px;
  }
  .method-box{padding:24px 18px;}
  .flow{
    grid-template-columns:1fr;
    gap:18px;
  }
  .flow-item{
    min-height:auto;
    padding:20px 16px;
    font-size:17px;
  }
  .flow-item:not(:last-child):after{
    content:"";
    width:1px;
    height:18px;
    background:rgba(197,22,36,.35);
    right:auto;
    left:50%;
    top:auto;
    bottom:-18px;
    transform:translateX(-50%);
  }
  .flow-item:not(:last-child):before{
    top:auto;
    bottom:-18px;
    left:calc(50% - 4px);
    right:auto;
    transform:rotate(135deg);
  }
  .cta{padding:34px 22px;}
  .cta h2{
    max-width:none;
    font-size:42px;
  }
  .qr-card{
    padding:12px 12px 16px;
  }
}


/* ==== V5: Fashion editorial art direction ==== */
:root{
  --red:#d7192a;
  --red-deep:#9f0c16;
  --ink:#080808;
  --paper:#efece7;
  --paper-light:#f8f6f2;
  --milk:#fbfaf7;
  --muted:rgba(8,8,8,.55);
  --hairline:rgba(8,8,8,.075);
  --redline:rgba(215,25,42,.22);
}

html{background:var(--paper);}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
  letter-spacing:-.005em;
}

.site-header{
  background:rgba(239,236,231,.9);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(8,8,8,.055);
}
.header-inner{
  height:92px;
}
.logo-editorial{
  gap:18px;
  min-width:430px;
  align-items:center;
}
.logo-signature{
  height:38px;
  width:auto;
  flex:0 0 auto;
}
.logo-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  line-height:1.2;
}
.logo-copy strong{
  font-size:18px;
  letter-spacing:.02em;
  font-weight:800;
}
.logo-copy small{
  display:block;
  max-width:650px;
  color:rgba(8,8,8,.52);
  font-size:13px;
  line-height:1.35;
  font-weight:500;
}
.nav{
  gap:30px;
  font-size:14px;
  letter-spacing:.02em;
  color:rgba(8,8,8,.5);
}
.nav a:hover{
  color:var(--red);
}
.header-actions .btn-primary{
  padding:10px 18px;
}

.hero{
  position:relative;
  min-height:calc(100vh - 92px);
  background:
    radial-gradient(circle at 78% 18%, rgba(215,25,42,.045), transparent 24%),
    linear-gradient(180deg,var(--paper) 0%, #f6f2ed 100%);
  overflow:hidden;
}
.hero-editorial-label{
  position:absolute;
  left:3.5vw;
  top:28px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(52px,10vw,160px);
  line-height:.78;
  letter-spacing:-.08em;
  color:rgba(215,25,42,.075);
  pointer-events:none;
  user-select:none;
  z-index:0;
}
.hero-grid{
  position:relative;
  z-index:1;
  grid-template-columns:1.02fr .98fr;
  gap:72px;
  padding:104px 0 90px;
}
.kicker{
  color:var(--red);
  font-size:15px;
  margin-bottom:26px;
  letter-spacing:.08em;
  font-weight:800;
}
.hero h1{
  font-size:clamp(50px,6.2vw,88px);
  line-height:1.04;
  max-width:10.5ch;
  letter-spacing:-.075em;
  font-weight:900;
  margin-bottom:24px;
}
.hero-sub{
  font-size:clamp(18px,2vw,25px);
  line-height:1.55;
  max-width:24em;
  color:rgba(8,8,8,.72);
}
.judgment{
  margin-top:6px;
  font-size:16px;
  letter-spacing:.02em;
  color:rgba(8,8,8,.78);
}
.hero-copy{
  max-width:39em;
  font-size:16px;
  line-height:2.05;
  color:rgba(8,8,8,.58);
}
.btn{
  border-radius:999px;
  font-weight:800;
}
.btn-primary{
  background:var(--red);
  box-shadow:0 18px 38px rgba(215,25,42,.14);
}
.btn-secondary{
  color:var(--red);
  border-color:rgba(215,25,42,.2);
  background:rgba(255,255,255,.68);
}
.tags{
  margin-top:30px;
  gap:9px;
}
.tag{
  border:1px solid rgba(8,8,8,.065);
  background:rgba(255,255,255,.45);
  color:rgba(8,8,8,.55);
  padding:9px 13px;
}

.portrait-card{
  position:relative;
  border-radius:44px;
  background:#e9e6e0;
  border:1px solid rgba(8,8,8,.04);
  box-shadow:0 20px 60px rgba(0,0,0,.055);
  padding:24px;
  overflow:hidden;
}
.cover-microcopy{
  position:absolute;
  left:38px;
  top:34px;
  z-index:3;
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  line-height:1.25;
  letter-spacing:.15em;
  color:rgba(8,8,8,.44);
}
.portrait-photo{
  min-height:780px;
  border-radius:34px;
  overflow:hidden;
  background:#e9e6e0;
}
.portrait-photo img{
  width:100%;
  height:100%;
  min-height:780px;
  object-fit:contain;
  object-position:center bottom;
  filter:saturate(.98) contrast(1.01);
}
.hero-identity-card{
  position:absolute;
  top:34px;
  right:34px;
  z-index:4;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(8,8,8,.06);
  box-shadow:none;
  border-radius:28px;
  padding:20px 24px;
  backdrop-filter:blur(10px);
}
.hero-identity-card strong{
  font-size:20px;
  margin-bottom:8px;
  letter-spacing:.02em;
}
.hero-identity-card span{
  font-size:14px;
  line-height:1.45;
  color:rgba(8,8,8,.58);
}
.signature{
  position:absolute;
  left:34px;
  bottom:34px;
  z-index:4;
  width:min(520px,64%);
  max-width:520px;
  border-radius:30px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(8,8,8,.055);
  box-shadow:0 18px 36px rgba(0,0,0,.04);
  padding:24px 26px 22px;
}
.signature-image{
  width:300px;
  margin-bottom:18px;
}
.signature strong{
  color:var(--red);
  font-size:22px;
  letter-spacing:.01em;
}
.signature span{
  font-size:18px;
  color:rgba(8,8,8,.64);
  line-height:1.7;
}

.section{
  padding:118px 0;
}
.section.alt{
  background:#e9e5df;
}
.section-head{
  align-items:flex-start;
  margin-bottom:58px;
}
.section-title{
  font-size:clamp(38px,4.2vw,66px);
  line-height:1.08;
  letter-spacing:-.07em;
  font-weight:900;
}
.section-desc{
  color:rgba(8,8,8,.52);
  line-height:1.9;
  max-width:650px;
  font-size:17px;
}
#services .section-title{
  font-size:clamp(40px,4.6vw,72px);
  white-space:normal;
  max-width:9.5ch;
}
#method .section-title{
  max-width:12ch;
}
#institute .section-title{
  font-size:clamp(42px,4.8vw,76px);
  line-height:1.08;
  max-width:13ch;
  letter-spacing:-.07em;
}
#authority .section-title{
  max-width:15ch;
}

.cards-4{
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid rgba(8,8,8,.1);
}
.cards-4 .card{
  display:grid;
  grid-template-columns:80px minmax(240px,.55fr) 1fr;
  gap:28px;
  align-items:start;
  border:0;
  border-bottom:1px solid rgba(8,8,8,.1);
  background:transparent;
  border-radius:0;
  padding:28px 0;
}
.cards-4 .card:hover{
  transform:none;
  box-shadow:none;
}
.card .num{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--red);
  font-size:20px;
  margin:0;
}
.cards-4 .card h3{
  font-size:26px;
  line-height:1.28;
  margin:0;
  letter-spacing:-.04em;
}
.cards-4 .card p{
  margin:0;
  line-height:1.9;
}

.card, .industry-card, .pill, .mini-stat, .toc{
  background:rgba(255,255,255,.48);
  border:1px solid rgba(8,8,8,.065);
  box-shadow:none;
}
.card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(8,8,8,.035);
  border-color:rgba(215,25,42,.12);
}

.method-box{
  background:#f7f4ef;
  border:1px solid rgba(8,8,8,.055);
  border-radius:44px;
  padding:48px 42px 38px;
  box-shadow:none;
}
.flow{
  display:grid;
  grid-template-columns:repeat(9, minmax(130px, 1fr));
  gap:20px;
  align-items:stretch;
  overflow-x:auto;
  padding:8px 4px 22px;
}
.flow-item{
  min-height:142px;
  background:#fffdf8;
  border:1px solid rgba(215,25,42,.16);
  border-radius:28px;
  padding:26px 16px;
  color:rgba(8,8,8,.74);
  font-size:18px;
  font-weight:800;
  line-height:1.5;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.flow-item:not(:last-child):after{
  content:"";
  position:absolute;
  right:-21px;
  top:50%;
  width:20px;
  height:1px;
  background:rgba(215,25,42,.38);
  transform:none;
}
.flow-item:not(:last-child):before{
  content:"";
  position:absolute;
  right:-21px;
  top:calc(50% - 4px);
  width:8px;
  height:8px;
  border-top:1px solid rgba(215,25,42,.45);
  border-right:1px solid rgba(215,25,42,.45);
  transform:rotate(45deg);
}
.pill-grid{
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  margin-top:30px;
}
.pill{
  background:transparent;
  border-top:1px solid rgba(8,8,8,.12);
  border-left:0;
  border-right:0;
  border-bottom:0;
  border-radius:0;
  padding:18px 0 0;
  min-height:96px;
}
.pill strong{
  font-size:18px;
  color:var(--red);
}
.pill span{
  color:rgba(8,8,8,.56);
  line-height:1.72;
}

.problem-grid .card,
.cards-3 .card,
.resource-grid .card,
.authority-grid .card{
  border-radius:28px;
  padding:32px;
  background:rgba(255,255,255,.52);
  min-height:230px;
}
.problem-card h3{
  font-size:26px;
}

.institute{
  grid-template-columns:.95fr 1.05fr;
}
.institute-panel{
  border-radius:48px;
  background:
    radial-gradient(circle at 82% 14%, rgba(215,25,42,.16), transparent 30%),
    #101010;
  padding:58px 56px;
}
.institute-panel .kicker{
  color:#f0b9c1;
  margin-bottom:30px;
}
.institute-panel p{
  color:rgba(255,255,255,.68);
  line-height:1.92;
}

.industry-grid{
  gap:14px;
}
.industry-card{
  border-radius:24px;
  background:rgba(255,255,255,.48);
}
.brand-chip{
  border:1px solid rgba(8,8,8,.06);
  background:rgba(255,255,255,.48);
}
.brand-chip.strong{
  color:var(--red);
  border-color:rgba(215,25,42,.22);
  background:rgba(255,255,255,.68);
}

.honor-gallery{
  gap:18px;
}
.honor-item{
  border-radius:26px;
  background:rgba(255,255,255,.52);
  box-shadow:none;
}
.honor-item img{
  height:330px;
  object-fit:cover;
}
.honor-item figcaption{
  padding:18px 20px;
}

.cta{
  border-radius:50px;
  background:
    radial-gradient(circle at 78% 18%, rgba(215,25,42,.18), transparent 26%),
    linear-gradient(135deg,#111,#230d10 70%, #42040b);
  padding:70px 68px;
  grid-template-columns:1fr 360px;
}
.cta h2{
  max-width:10ch;
  font-size:clamp(44px,5vw,78px);
  line-height:1.08;
  letter-spacing:-.07em;
}
.cta p{
  max-width:42em;
  color:rgba(255,255,255,.7);
  line-height:2;
}
.qr-card{
  border-radius:32px;
  padding:18px 18px 24px;
  background:rgba(255,255,255,.94);
  box-shadow:none;
}
.qr-img{
  padding:0;
  border:0;
  border-radius:22px;
}
.qr-card strong{
  margin-top:16px;
  color:var(--red);
  font-size:18px;
}
.qr-card p{
  color:rgba(8,8,8,.55)!important;
  line-height:1.7!important;
}

.site-footer{
  background:#111;
}
.footer-inner{
  align-items:center;
}
.footer-identity strong{
  display:block;
  color:#fff;
  font-size:18px;
  margin-bottom:12px;
}
.footer-identity span{
  color:rgba(255,255,255,.58);
  line-height:1.75;
}

.service-hero{
  background:
    radial-gradient(circle at 82% 12%, rgba(215,25,42,.075), transparent 28%),
    linear-gradient(180deg,var(--paper), #f7f4ef);
}
.service-hero h1{
  letter-spacing:-.07em;
}
.article-section h2{
  letter-spacing:-.05em;
}

@media (max-width:1280px){
  .logo-editorial{min-width:360px}
  .flow{grid-template-columns:repeat(9, minmax(150px,1fr));}
  .portrait-photo{min-height:680px;}
  .portrait-photo img{min-height:680px;}
}
@media (max-width:1080px){
  .header-inner{height:auto; min-height:82px; padding:14px 0;}
  .logo-editorial{min-width:auto}
  .hero-grid{grid-template-columns:1fr; gap:44px;}
  .cards-4 .card{
    grid-template-columns:60px 1fr;
  }
  .cards-4 .card p{
    grid-column:2;
  }
  .pill-grid{grid-template-columns:repeat(3,1fr);}
  .cta{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .logo-signature{height:28px}
  .logo-copy strong{font-size:16px;}
  .logo-copy small{
    max-width:230px;
    font-size:12px;
    line-height:1.45;
  }
  .hero-editorial-label{
    font-size:62px;
    top:80px;
    left:18px;
  }
  .hero-grid{padding:62px 0 44px;}
  .hero h1{
    max-width:100%;
    font-size:44px;
    line-height:1.08;
  }
  .hero-sub{
    max-width:100%;
    font-size:18px;
  }
  .portrait-card{
    border-radius:30px;
    padding:16px;
  }
  .portrait-photo{min-height:540px;}
  .portrait-photo img{min-height:540px;}
  .hero-identity-card{
    top:24px;
    right:24px;
    padding:14px 16px;
  }
  .signature{
    position:relative;
    left:auto;
    bottom:auto;
    width:100%;
    max-width:none;
    margin-top:14px;
    padding:20px;
  }
  .signature-image{width:210px;}
  .section{padding:78px 0;}
  .section-title{
    font-size:42px;
    max-width:none!important;
  }
  #services .section-title{
    font-size:42px;
    max-width:9ch!important;
  }
  #institute .section-title{
    font-size:42px;
    max-width:12ch!important;
  }
  .cards-4 .card{
    grid-template-columns:1fr;
    gap:12px;
  }
  .cards-4 .card p{
    grid-column:auto;
  }
  .method-box{
    padding:22px 16px;
    border-radius:30px;
  }
  .flow{
    grid-template-columns:1fr;
    gap:18px;
    overflow:visible;
  }
  .flow-item{
    min-height:auto;
    padding:20px 14px;
    font-size:17px;
  }
  .flow-item:not(:last-child):after{
    width:1px;
    height:18px;
    right:auto;
    left:50%;
    top:auto;
    bottom:-18px;
    transform:translateX(-50%);
  }
  .flow-item:not(:last-child):before{
    right:auto;
    left:calc(50% - 4px);
    top:auto;
    bottom:-18px;
    transform:rotate(135deg);
  }
  .pill-grid{grid-template-columns:1fr;}
  .institute-panel{
    border-radius:34px;
    padding:38px 28px;
  }
  .cta{
    border-radius:34px;
    padding:42px 24px;
  }
  .cta h2{
    max-width:100%;
    font-size:44px;
  }
  .qr-card{
    padding:14px 14px 20px;
  }
}


/* ==== V6: lighter typography + fashion serif balance ==== */
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
  font-weight:400;
}
p, li, .section-desc, .hero-copy, .card p, .pill span, .industry-card span, .logo-copy small, .footer-identity span{
  font-weight:400;
}
.nav, .btn, .tag{
  font-weight:500;
}
.hero h1,
.section-title,
.cta h2,
.cards-4 .card h3,
.problem-card h3,
.authority-grid .card h3,
.resource-grid .card h3,
.method-box .section-title,
.institute-panel .section-title{
  font-family:"Songti SC","STSong","Noto Serif SC","Source Han Serif SC",serif;
  font-weight:600;
  letter-spacing:-.045em;
}
.hero h1{
  font-size:clamp(44px,5.4vw,72px);
  line-height:1.08;
  max-width:9.2ch;
}
.hero-sub{
  font-size:clamp(18px,1.8vw,22px);
}
.kicker{
  font-weight:700;
}
.logo-copy strong{
  font-size:16px;
  line-height:1;
  letter-spacing:.01em;
}
.logo-copy small{
  font-size:12px;
  line-height:1.35;
  max-width:240px;
  color:rgba(8,8,8,.58);
}
.logo-editorial{
  min-width:260px;
  gap:14px;
}
.logo-signature{
  height:34px;
}
.header-inner{
  min-height:88px;
}
.nav{
  align-items:flex-start;
}
.nav a{
  line-height:1.45;
}
.portrait-card{
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}
.hero-identity-card,
.signature,
.cover-microcopy{
  display:none !important;
}
.portrait-photo{
  min-height:auto;
  background:transparent;
  border-radius:38px;
  overflow:hidden;
  border:1px solid rgba(8,8,8,.05);
  box-shadow:0 24px 48px rgba(0,0,0,.05);
}
.portrait-photo img{
  min-height:auto;
  height:auto;
  width:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.footer-inner{
  align-items:flex-start;
}
.footer-identity{
  max-width:760px;
}
.footer-identity strong{
  margin-bottom:14px;
}
.footer-nav{
  display:flex;
  align-items:flex-start;
  padding-top:0;
  margin-top:0;
}
.footer-nav a{
  line-height:1.2;
}
.site-footer .nav{
  align-items:flex-start;
}
@media (max-width:1200px){
  .header-inner{
    gap:20px;
  }
  .logo-copy small{
    max-width:200px;
  }
}
@media (max-width:720px){
  .hero h1{
    font-size:42px;
    max-width:100%;
  }
  .logo-copy small{
    max-width:140px;
    font-size:11px;
  }
  .logo-signature{
    height:28px;
  }
}


/* ==== V7: precise line breaks and editorial alignment ==== */

/* Header */
.logo-editorial{
  min-width:340px;
}
.logo-copy small{
  max-width:180px;
  white-space:normal;
}
.nav-editorial{
  align-items:center;
  gap:24px;
  flex-wrap:nowrap;
}
.nav-editorial a{
  min-width:auto;
  text-align:center;
  line-height:1.25;
  font-size:15px;
  font-weight:600;
  white-space:nowrap;
}
.nav-editorial a span{
  display:inline;
  white-space:nowrap;
}
.nav-editorial a br{
  display:none;
}

/* Hero title exact two lines */
.hero h1{
  max-width:none;
  width:auto;
  font-size:clamp(54px,6vw,86px);
  line-height:1.08;
}
.hero h1 span{
  display:block;
  white-space:nowrap;
}

/* Section title control */
.one-line-title{
  white-space:nowrap;
  max-width:none!important;
  font-size:clamp(42px,4.4vw,64px);
}
.method-title{
  white-space:nowrap;
  max-width:none!important;
  font-size:clamp(42px,4.4vw,64px);
}
.service-title{
  max-width:10ch!important;
  font-size:clamp(46px,4.8vw,72px)!important;
  line-height:1.08;
}
.authority-title{
  max-width:12ch!important;
  font-size:clamp(42px,4.2vw,64px)!important;
  line-height:1.13;
}
.institute-title{
  max-width:13ch!important;
  line-height:1.12;
}

/* CTA title exact three lines */
.cta h2{
  max-width:none!important;
  width:auto;
}
.cta h2 span{
  display:block;
  white-space:nowrap;
}

/* Footer: identity and nav top-aligned, identity same line with name on desktop */
.footer-inner{
  align-items:flex-start!important;
}
.footer-identity-inline{
  display:flex;
  align-items:baseline;
  gap:22px;
  max-width:980px;
}
.footer-identity-inline strong{
  flex:0 0 auto;
  margin:0!important;
  line-height:1.25;
}
.footer-identity-inline span{
  line-height:1.55;
  padding-top:1px;
}
.footer-links{
  align-items:flex-start;
  padding-top:0;
}
.footer-links a{
  line-height:1.2;
}
.footer-beian{
  flex-basis:100%;
  width:100%;
  margin-top:0;
  padding-top:6px;
  text-align:center;
}
.footer-inner{
  row-gap:8px;
}
.footer-beian a{
  font-size:12px;
  color:rgba(255,255,255,.58);
  text-decoration:none;
}
.footer-beian a:hover{
  color:rgba(255,255,255,.85);
}

/* Reduce accidental over-large serif feeling slightly while preserving fashion tone */
.hero h1,
.section-title,
.cta h2{
  font-weight:500;
}

@media (max-width:1180px){
  .logo-editorial{
    min-width:270px;
  }
  .nav-editorial{
    gap:18px;
  }
}
@media (max-width:1080px){
  .nav-editorial a{
    min-width:auto;
    text-align:left;
  }
  .nav-editorial a span{
    display:inline;
  }
  .nav-editorial a br{
    display:none;
  }
}
@media (max-width:720px){
  .hero h1{
    font-size:42px;
  }
  .hero h1 span{
    white-space:normal;
  }
  .one-line-title,
  .method-title{
    white-space:normal;
    font-size:38px;
  }
  .service-title{
    font-size:38px!important;
  }
  .authority-title{
    font-size:38px!important;
  }
  .cta h2 span{
    white-space:normal;
  }
  .footer-identity-inline{
    display:block;
  }
  .footer-identity-inline strong{
    display:block;
    margin-bottom:12px!important;
  }
}


/* ==== V8: institute and authority final line control ==== */
.institute-title,
.authority-title{
  max-width:none!important;
}

.institute-title span,
.authority-title span{
  display:block;
  white-space:nowrap;
}

.institute-title{
  font-size:clamp(40px,4.2vw,64px)!important;
  line-height:1.16!important;
  letter-spacing:-.055em;
}

.authority-title{
  font-size:clamp(38px,4vw,62px)!important;
  line-height:1.16!important;
  letter-spacing:-.055em;
}

@media (max-width:720px){
  .institute-title,
  .authority-title{
    font-size:38px!important;
  }
  .institute-title span,
  .authority-title span{
    white-space:normal;
  }
}


/* ==== V9: service title two lines + card alignment consistency ==== */

/* 服务区标题固定两行 */
.service-title{
  max-width:none !important;
  width:auto;
  font-size:clamp(42px,4.4vw,66px) !important;
  line-height:1.12 !important;
  letter-spacing:-.055em;
}
.service-title span{
  display:block;
  white-space:nowrap;
}

/* 首页标签补一项后，统一对齐 */
.hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:14px 16px;
  align-items:flex-start;
}
.hero-tags .pill{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:0 20px;
  white-space:nowrap;
}

/* 全站卡片对齐：统一顶部、统一高度逻辑 */
.cards-2,
.cards-3,
.cards-4,
.resource-grid,
.authority-grid,
.services-grid,
.case-grid,
.honor-grid{
  align-items:stretch;
}

.cards-2 > *,
.cards-3 > *,
.cards-4 > *,
.resource-grid > *,
.authority-grid > *,
.services-grid > *,
.case-grid > *,
.honor-grid > *{
  height:100%;
}

.card,
.resource-card,
.authority-card,
.service-card,
.case-card,
.honor-card,
.institute-card{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
}

.card h3,
.resource-card h3,
.authority-card h3,
.service-card h3,
.case-card h3,
.honor-card h3,
.institute-card h3{
  margin-bottom:18px;
}

.card p,
.resource-card p,
.authority-card p,
.service-card p,
.case-card p,
.honor-card p,
.institute-card p{
  margin-top:0;
}

/* 研究院区右侧四个卡片，统一精致感 */
.institute-grid{
  align-items:stretch;
}
.institute-grid .card{
  min-height:340px;
  border-radius:34px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

/* 长期服务品牌增长模块三张卡统一 */
.authority-grid .card{
  min-height:250px;
  border-radius:28px;
}

/* 服务模块卡片统一 */
.services-grid .card{
  min-height:260px;
}

/* 移动端避免标题被挤裂 */
@media (max-width:720px){
  .service-title{
    font-size:38px !important;
  }
  .service-title span{
    white-space:normal;
  }
  .hero-tags .pill{
    min-height:42px;
    padding:0 16px;
    font-size:15px;
  }
  .institute-grid .card,
  .authority-grid .card,
  .services-grid .card{
    min-height:auto;
  }
}
