@charset "utf-8";

/* =============================================================
   耀阳企业管理 · 设计系统 v2
   风格：编辑型机构官网（衬线大标题 + 细分隔线 + 藏蓝/金铜）
   ============================================================= */

:root{
  --ink:#0F1C28;
  --ink-2:#16283A;
  --ink-soft:#33475A;
  --body:#4C6072;
  --muted:#8194A4;
  --line:#DBE3EC;
  --line-soft:#E9EEF4;
  --paper:#FBFCFE;
  --paper-2:#F1F5F9;
  --brand:#1B4C74;
  --brand-deep:#0E3252;
  --gold:#B08A48;
  --white:#fff;

  --font-display:"Songti SC","Noto Serif SC","Source Han Serif SC","STSong",Georgia,"SimSun",serif;
  --font-sans:"PingFang SC","Microsoft YaHei","Hiragino Sans GB","Source Han Sans SC",sans-serif;
  --font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;

  --ease:cubic-bezier(.22,.61,.36,1);
  --container:1240px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--body);
  font-family:var(--font-sans);
  font-size:15px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
ul,ol{margin:0; padding:0; list-style:none}
h1,h2,h3,h4{margin:0; color:var(--ink); font-weight:400; line-height:1.35}
p{margin:0}
button,input,textarea,select{font-family:inherit; font-size:inherit; color:inherit}
::selection{background:var(--brand); color:#fff}

.container{width:min(var(--container),90%); margin-inline:auto}
.section{padding:112px 0}
.section--tight{padding:78px 0}
.section--paper{background:var(--paper-2)}
.section--ink{background:var(--ink); color:rgba(255,255,255,.72)}
.section--ink h2,.section--ink h3{color:#fff}

/* ---------- 标题体系 ---------- */
.eyebrow{
  display:inline-block; font-family:var(--font-mono); font-size:11px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--muted);
}
.sec-head{margin-bottom:58px; max-width:760px}
.sec-head .eyebrow{display:flex; align-items:center; gap:14px}
.sec-head .eyebrow::after{content:""; flex:1; height:1px; background:var(--line); max-width:80px}
.sec-title{
  font-family:var(--font-display); font-size:44px; line-height:1.3; letter-spacing:.02em;
  margin-top:18px; color:var(--ink);
}
.sec-sub{margin-top:18px; font-size:14.5px; color:var(--body); max-width:620px; line-height:1.95}
.sec-index{
  font-family:var(--font-display); font-size:13px; letter-spacing:.1em; color:var(--gold);
  margin-right:12px; vertical-align:2px;
}
.lead{font-family:var(--font-display); font-size:22px; line-height:1.9; color:var(--ink-soft); letter-spacing:.01em}

/* ---------- 按钮 ---------- */
.btn{
  position:relative; z-index:0; display:inline-flex; align-items:center; justify-content:center; gap:12px;
  padding:16px 34px; font-size:13.5px; letter-spacing:.12em; border:1px solid transparent;
  cursor:pointer; transition:color .35s var(--ease), border-color .35s var(--ease); overflow:hidden;
}
.btn::after{
  content:""; position:absolute; inset:0; z-index:-1; background:var(--ink);
  transform:scaleY(0); transform-origin:bottom; transition:transform .38s var(--ease);
}
.btn:hover::after{transform:scaleY(1)}
.btn svg{width:15px; height:15px; transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(5px)}
.btn-primary{background:var(--brand); color:#fff}
.btn-primary:hover{color:#fff}
.btn-primary::after{background:var(--brand-deep)}
.btn-outline{border-color:var(--ink); color:var(--ink)}
.btn-outline:hover{color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.45); color:#fff}
.btn-ghost:hover{color:#fff}
.btn-ghost::after{background:#fff}
.btn-ghost:hover{border-color:#fff; color:var(--ink)}
.btn-ghost:hover svg{stroke:var(--ink)}
.btn-sm{padding:12px 24px; font-size:12.5px}

/* 文字链接 */
.tlink{
  display:inline-flex; align-items:center; gap:10px; font-size:13px; letter-spacing:.12em;
  color:var(--brand); padding-bottom:6px; border-bottom:1px solid rgba(27,76,116,.3);
  transition:border-color .3s, gap .3s;
}
.tlink:hover{border-color:var(--brand); gap:16px}
.tlink svg{width:14px; height:14px}

/* ---------- 顶栏 ---------- */
.topbar{background:#0A2135; color:rgba(255,255,255,.62); font-size:11.5px; letter-spacing:.08em}
.topbar .container{display:flex; align-items:center; justify-content:space-between; height:36px; gap:20px}
.topbar__left{display:flex; align-items:center; gap:9px; overflow:hidden; white-space:nowrap}
.topbar__left svg{width:12px; height:12px; flex:none; opacity:.6}
.topbar__right{display:flex; align-items:center; gap:16px; flex:none}
.topbar__right a{transition:color .25s}
.topbar__right a:hover{color:#fff}
.topbar__right .sep{opacity:.25}

/* ---------- 页头 ---------- */
.header{
  position:sticky; top:0; z-index:80; background:#123F64;
  border-bottom:1px solid rgba(255,255,255,.11);
  transition:height .3s var(--ease), box-shadow .3s, background .3s;
}
.header .container{display:flex; align-items:center; justify-content:space-between; height:86px; gap:26px; transition:height .3s var(--ease)}
.header.is-stuck{background:#0E3252; box-shadow:0 18px 44px -28px rgba(8,22,36,.8)}
.header.is-stuck .container{height:72px}
.brand{display:flex; align-items:center; gap:15px; flex:none}
.brand__mark{width:54px; height:54px; flex:none; object-fit:contain; transition:width .3s var(--ease), height .3s var(--ease)}
.header.is-stuck .brand__mark{width:46px; height:46px}
.brand__text strong{
  display:block; font-family:var(--font-display); font-size:21px; color:#fff;
  letter-spacing:.16em; line-height:1.3;
}
.brand__text span{
  display:block; font-family:var(--font-mono); font-size:8.5px; letter-spacing:.18em;
  color:rgba(255,255,255,.55); text-transform:uppercase; margin-top:2px;
}
.nav{display:flex; align-items:center; gap:34px; height:100%}
.nav a{
  position:relative; display:flex; align-items:center; height:100%; font-size:14.5px;
  color:rgba(255,255,255,.78); letter-spacing:.08em; transition:color .25s; white-space:nowrap;
}
.nav a::before{
  content:""; position:absolute; left:50%; bottom:22px; width:16px; height:1px;
  background:var(--gold); transform:translateX(-50%) scaleX(0); transition:transform .3s var(--ease);
}
.nav a:hover{color:#fff}
.nav a.is-active{color:#fff}
.nav a.is-active::before,.nav a:hover::before{transform:translateX(-50%) scaleX(1)}
.header__cta{display:flex; align-items:center; gap:22px; flex:none}
.header .btn-primary{background:var(--gold); color:#0B1B29; border-color:var(--gold)}
.header .btn-primary::after{background:#fff}
.header .btn-primary:hover{color:#0E3252}
.header__tel{text-align:right; line-height:1.3}
.header__tel small{display:block; font-family:var(--font-mono); font-size:10px; color:rgba(255,255,255,.55); letter-spacing:.14em}
.header__tel strong{font-size:16px; color:#fff; letter-spacing:.03em; font-weight:400; font-family:var(--font-display)}
.nav-toggle{
  display:none; width:42px; height:42px; border:1px solid rgba(255,255,255,.3); background:none;
  align-items:center; justify-content:center; cursor:pointer;
}
.nav-toggle span{display:block; width:17px; height:1px; background:#fff; position:relative}
.nav-toggle span::before,.nav-toggle span::after{
  content:""; position:absolute; left:0; width:17px; height:1px; background:#fff; transition:.3s;
}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}

/* ---------- 首屏（分栏编辑式） ---------- */
.hero{position:relative; padding:86px 0 96px; overflow:hidden; background:var(--paper)}
.hero__grid{display:grid; grid-template-columns:1.02fr .98fr; gap:72px; align-items:center; position:relative; z-index:2}
.hero__kicker{
  display:flex; align-items:center; gap:14px; font-family:var(--font-mono); font-size:11px;
  letter-spacing:.24em; color:var(--muted); text-transform:uppercase;
}
.hero__kicker::before{content:""; width:44px; height:1px; background:var(--gold)}
.hero h1{
  font-family:var(--font-display); font-size:66px; line-height:1.24; letter-spacing:.02em;
  color:var(--ink); margin-top:30px;
}
.hero h1 em{font-style:normal; color:var(--brand); position:relative; white-space:nowrap}
.hero h1 em::after{
  content:""; position:absolute; left:0; right:0; bottom:6px; height:1px; background:rgba(27,76,116,.35);
}
.hero__sub{
  margin-top:26px; font-size:16.5px; line-height:1.9; color:var(--body); max-width:440px; letter-spacing:.04em;
}
.hero__actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:40px}
.hero__meta{
  display:flex; gap:0; margin-top:52px; padding-top:26px; border-top:1px solid var(--line);
}
.hero__meta div{padding-right:34px; margin-right:34px; border-right:1px solid var(--line)}
.hero__meta div:last-child{border-right:0; padding-right:0; margin-right:0}
.hero__meta strong{
  display:block; font-family:var(--font-display); font-size:30px; line-height:1; color:var(--ink);
  font-weight:400; letter-spacing:.01em;
}
.hero__meta strong i{
  font-style:normal; font-size:15px; color:var(--muted); margin-left:3px; display:inline-block;
  vertical-align:top; line-height:1; margin-top:.16em;
}
.hero__meta strong i.unit{
  vertical-align:baseline; margin-top:0; font-size:14px; color:var(--muted);
}
.hero__meta > div > span{display:block; margin-top:9px; font-size:12px; color:var(--muted); letter-spacing:.08em}

.hero__visual{position:relative}
.hero__figure{
  position:relative; aspect-ratio:4 / 4.6; overflow:hidden; background:var(--paper-2);
}
.hero__figure img{width:100%; height:100%; object-fit:cover; object-position:center 42%}
.hero__figure::after{
  content:""; position:absolute; inset:0;
  box-shadow:inset 0 0 0 1px rgba(13,26,38,.08);
}
.hero__frame{
  position:absolute; left:-18px; top:-18px; right:64px; bottom:64px;
  border-top:1px solid var(--gold); border-left:1px solid var(--gold); z-index:-1;
}
.hero__caption{
  position:absolute; right:0; bottom:0; background:var(--ink); color:rgba(255,255,255,.78);
  padding:20px 24px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; max-width:230px; line-height:2;
}
.hero__caption strong{display:block; color:#fff; font-size:11.5px; margin-bottom:2px; letter-spacing:.14em}
.hero__watermark{
  position:absolute; right:-40px; top:-70px; font-family:var(--font-display); font-size:280px;
  line-height:1; color:rgba(27,76,116,.035); user-select:none; pointer-events:none; z-index:0;
}

/* ---------- 关键词滚动条 ---------- */
.ticker{background:var(--brand); color:#fff; overflow:hidden; padding:14px 0}
.ticker__track{display:flex; width:max-content; animation:scrollx 32s linear infinite}
.ticker__track span{
  display:inline-flex; align-items:center; font-family:var(--font-mono); font-size:11.5px;
  letter-spacing:.22em; text-transform:uppercase; padding:0 26px; white-space:nowrap; opacity:.92;
}
.ticker__track span::after{content:"·"; margin-left:52px; opacity:.5}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.ticker__track{animation:none}}

/* ---------- 服务清单 ---------- */
.svc-layout{display:grid; grid-template-columns:340px 1fr; gap:80px; align-items:start}
.svc-aside{position:sticky; top:120px}
.svc-aside .sec-title{font-size:38px}
.svc-aside p{margin-top:20px; font-size:14px; color:var(--body); line-height:1.95}
.svc-aside .tlink{margin-top:28px}
.svc-list{border-top:1px solid var(--line)}
.svc-row{
  position:relative; display:grid; grid-template-columns:56px 1.06fr 1.2fr 34px; align-items:center;
  gap:18px; padding:26px 22px; margin:0 -22px; border-bottom:1px solid var(--line);
  transition:background .4s var(--ease), padding .4s var(--ease), color .4s var(--ease);
}
.svc-row__no{font-family:var(--font-mono); font-size:11px; color:var(--muted); letter-spacing:.1em; transition:color .35s}
.svc-row__title{font-family:var(--font-display); font-size:25px; color:var(--ink); letter-spacing:.04em; transition:color .35s}
.svc-row__en{
  display:block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.16em;
  color:var(--muted); text-transform:uppercase; margin-top:6px; transition:color .35s;
}
.svc-row__desc{font-size:13px; color:var(--body); line-height:1.9; transition:color .35s}
.svc-row__arrow{
  width:26px; height:26px; display:flex; align-items:center; justify-content:center;
  color:var(--brand); transition:transform .4s var(--ease), color .35s;
}
.svc-row__arrow svg{width:16px; height:16px}
.svc-row:hover{background:var(--ink); padding-left:34px}
.svc-row:hover .svc-row__title{color:#fff}
.svc-row:hover .svc-row__no{color:var(--gold)}
.svc-row:hover .svc-row__desc{color:rgba(255,255,255,.62)}
.svc-row:hover .svc-row__en{color:rgba(255,255,255,.42)}
.svc-row:hover .svc-row__arrow{color:#fff; transform:translateX(8px)}

/* ---------- 流程 ---------- */
.flow{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line)}
.flow__item{position:relative; padding:38px 34px 42px 0; border-right:1px solid var(--line)}
.flow__item:last-child{border-right:0; padding-right:0}
.flow__no{
  font-family:var(--font-display); font-size:13px; color:var(--gold); letter-spacing:.14em;
  display:block; margin-bottom:22px;
}
.flow__item h3{font-size:18px; letter-spacing:.08em; margin-bottom:12px; color:var(--ink)}
.flow__item p{font-size:13px; color:var(--body); line-height:1.95; padding-right:22px}
.flow__item::after{
  content:""; position:absolute; left:0; top:-1px; width:0; height:1px; background:var(--brand);
  transition:width .5s var(--ease);
}
.flow__item:hover::after{width:100%}

/* ---------- 关于 ---------- */
.about{display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center}
.about--rev .about__media{order:2}
.about__media{position:relative}
.about__media img{width:100%; height:520px; object-fit:cover}
.about__media::before{
  content:""; position:absolute; right:-16px; bottom:-16px; width:120px; height:120px;
  border-right:1px solid var(--gold); border-bottom:1px solid var(--gold);
}
.about__badge{
  position:absolute; left:-1px; bottom:-1px; background:var(--brand); color:#fff;
  padding:18px 24px; text-align:left; min-width:132px;
}
.about__badge strong{
  display:block; font-family:var(--font-display); font-size:34px; line-height:1; letter-spacing:.02em; font-weight:400;
}
.about__badge strong span{display:inline; font-size:inherit; color:inherit}
.about__badge > span{display:block; font-size:11.5px; letter-spacing:.1em; margin-top:7px; color:rgba(255,255,255,.78)}
.about__body .sec-title{font-size:36px; margin-top:16px}
.about__body p{margin-top:22px; font-size:14.5px; color:var(--body); line-height:2.05}
.about__body p + p{margin-top:14px}
.about__stats{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin:38px 0 38px; padding-top:28px; border-top:1px solid var(--line)}
.about__stats strong{
  display:block; font-family:var(--font-display); font-size:34px; color:var(--ink); line-height:1; font-weight:400;
}
.about__stats strong span{display:inline; color:inherit; font-size:inherit}
.about__stats strong i{
  font-style:normal; font-size:15px; color:var(--muted); margin-left:3px; display:inline-block;
  vertical-align:top; line-height:1; margin-top:.16em;
}
.about__stats div > span{display:block; margin-top:9px; font-size:12px; color:var(--muted); letter-spacing:.08em}

/* ---------- 为什么选择我们 ---------- */
.why{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid rgba(255,255,255,.14)}
.why__item{padding:34px 32px 40px 0; border-right:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14)}
.why__item:nth-child(3n){border-right:0}
.why__no{font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; color:var(--gold); display:block; margin-bottom:18px}
.why__item h3{font-size:17px; letter-spacing:.06em; margin-bottom:10px}
.why__item p{font-size:13px; color:rgba(255,255,255,.6); line-height:1.95}

/* ---------- 新闻 ---------- */
.news-rows{border-top:1px solid var(--line)}
.news-row{
  display:grid; grid-template-columns:120px 120px 1fr 30px; gap:26px; align-items:center;
  padding:28px 0; border-bottom:1px solid var(--line); transition:padding .35s var(--ease);
}
.news-row:hover{padding-left:10px}
.news-row time{font-family:var(--font-display); font-size:17px; color:var(--ink); letter-spacing:.04em}
.news-row__cat{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; color:var(--brand);
  border:1px solid rgba(27,76,116,.25); padding:4px 9px; justify-self:start; white-space:nowrap;
}
.news-row h3{font-size:17px; letter-spacing:.02em; font-weight:400; line-height:1.6}
.news-row p{margin-top:7px; font-size:12.5px; color:var(--muted); overflow:hidden; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical}
.news-row__arrow{color:var(--muted); transition:transform .35s var(--ease), color .3s}
.news-row__arrow svg{width:16px; height:16px}
.news-row:hover .news-row__arrow{transform:translateX(6px); color:var(--brand)}

/* ---------- 深色 CTA ---------- */
.cta{position:relative; background:var(--ink); color:#fff; padding:96px 0; overflow:hidden}
.cta::before{
  content:""; position:absolute; right:-160px; top:-160px; width:520px; height:520px;
  border:1px solid rgba(255,255,255,.08); border-radius:50%;
}
.cta__mark{
  position:absolute; right:66px; top:16px;
  width:196px; height:196px; object-fit:contain; opacity:.06; pointer-events:none;
}
.cta .container{position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:48px; flex-wrap:wrap}
.cta h2{
  color:#fff; font-family:var(--font-display); font-size:42px; line-height:1.35; letter-spacing:.03em; max-width:620px;
}
.cta p{
  margin-top:18px; font-family:var(--font-mono); font-size:11px; letter-spacing:.22em;
  text-transform:uppercase; color:rgba(255,255,255,.45);
}
.cta__actions{display:flex; gap:14px; flex-wrap:wrap; padding-bottom:6px}
.cta .btn-primary{background:#fff; color:var(--ink)}
.cta .btn-primary::after{background:var(--brand)}
.cta .btn-primary:hover{color:#fff}

/* ---------- 联系表单 ---------- */
.contact-wrap{display:grid; grid-template-columns:.82fr 1.18fr; gap:0; background:var(--paper); border:1px solid var(--line)}
.contact-aside{padding:56px 46px; background:var(--paper-2); border-right:1px solid var(--line)}
.contact-aside h2{font-family:var(--font-display); font-size:30px; letter-spacing:.04em; margin-top:16px}
.contact-aside > p{margin-top:16px; font-size:13.5px; color:var(--body); line-height:1.95}
.contact-list{margin-top:34px}
.contact-list li{display:flex; gap:14px; padding:16px 0; border-top:1px solid var(--line)}
.contact-list li:last-child{border-bottom:1px solid var(--line)}
.contact-list svg{width:15px; height:15px; flex:none; margin-top:6px; color:var(--brand); opacity:.85}
.contact-list span{
  display:block; font-family:var(--font-mono); font-size:9.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted);
}
.contact-list strong{display:block; font-size:14.5px; font-weight:400; color:var(--ink); margin-top:5px; letter-spacing:.03em; line-height:1.7}
.promise{margin-top:26px}
.promise li{display:flex; gap:10px; font-size:12.5px; color:var(--muted); margin-bottom:10px; letter-spacing:.02em}
.promise svg{width:13px; height:13px; flex:none; margin-top:4px; color:var(--gold)}

.form{padding:56px 50px}
.form__row{display:grid; grid-template-columns:1fr 1fr; gap:0 32px}
.field{margin-bottom:26px; position:relative}
.field label{
  display:block; font-family:var(--font-sans); font-size:11.5px; letter-spacing:.12em;
  color:var(--muted); margin-bottom:9px;
}
.field label i{color:var(--brand); font-style:normal}
.field input,.field select,.field textarea{
  width:100%; padding:10px 0; border:0; border-bottom:1px solid var(--line); background:transparent;
  font-size:14.5px; color:var(--ink); outline:none; border-radius:0;
  transition:border-color .3s, background .3s;
}
.field textarea{resize:none; min-height:92px; line-height:1.8}
.field select{appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 9px) 18px, calc(100% - 4px) 18px;
  background-size:5px 5px,5px 5px; background-repeat:no-repeat;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand)}
.field input::placeholder,.field textarea::placeholder{color:#A9B6C4}
.field::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--brand);
  transition:width .4s var(--ease);
}
.field:focus-within::after{width:100%}
.form__note{font-size:11.5px; color:var(--muted); margin-top:14px; line-height:1.8}
.form__msg{margin-top:12px; font-size:12.5px; min-height:18px}
.form__quick{
  margin-top:26px; padding-top:22px; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}
.form__quick span{font-size:12.5px; color:var(--muted); letter-spacing:.04em}
.form__quick a{
  display:inline-flex; align-items:center; gap:9px; font-family:var(--font-display);
  font-size:19px; color:var(--ink); letter-spacing:.03em;
}
.form__quick a:hover{color:var(--brand)}
.form__quick svg{width:16px; height:16px; color:var(--brand)}

/* ---------- 内页 banner ---------- */
.page-hero{
  position:relative; background:var(--ink); color:#fff; overflow:hidden; padding:96px 0 84px;
}
.page-hero__bg{
  position:absolute; inset:0; background-size:cover; background-position:center 44%;
  opacity:.34; filter:grayscale(.62) contrast(1.06) brightness(1.04);
}
.page-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(13,26,38,.94) 0%,rgba(13,26,38,.72) 55%,rgba(13,26,38,.55) 100%);
}
.page-hero__mark{
  position:absolute; right:7%; top:50%; transform:translateY(-50%);
  width:196px; height:196px; object-fit:contain; opacity:.075; z-index:1; pointer-events:none;
}
.page-hero__inner{position:relative; z-index:2; width:min(var(--container),90%); margin-inline:auto}
.page-hero h1{
  color:#fff; font-family:var(--font-display); font-size:54px; letter-spacing:.06em; line-height:1.3; margin-top:22px;
}
.page-hero p{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.3em; text-transform:uppercase;
  color:rgba(255,255,255,.4); margin-top:14px;
}
.crumb{
  display:flex; align-items:center; gap:10px; font-family:var(--font-mono); font-size:10.5px;
  letter-spacing:.14em; color:rgba(255,255,255,.45); text-transform:uppercase;
}
.crumb a:hover{color:#fff}
.crumb span{opacity:.4}

/* ---------- 服务详情 ---------- */
.svc-detail{border-top:1px solid var(--line); padding:72px 0}
.svc-detail__inner{display:grid; grid-template-columns:300px 1fr; gap:70px}
.svc-detail__head{position:sticky; top:120px; align-self:start}
.svc-detail__head .no{
  display:block; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.2em;
  color:var(--gold); margin-bottom:16px;
}
.svc-detail__head h2{font-family:var(--font-display); font-size:32px; letter-spacing:.05em; color:var(--ink)}
.svc-detail__head .en{
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.2em; color:var(--muted);
  text-transform:uppercase; margin-top:10px; display:block;
}
.svc-detail__head::after{content:""; display:block; width:34px; height:1px; background:var(--gold); margin-top:22px}
.svc-detail__body p{font-size:14.5px; line-height:2.1; color:var(--body)}
.svc-detail__list{display:grid; grid-template-columns:1fr 1fr; gap:0 30px; margin:28px 0 30px; border-top:1px solid var(--line-soft)}
.svc-detail__list li{
  position:relative; padding:13px 0 13px 18px; font-size:13.5px; color:var(--ink-soft);
  border-bottom:1px solid var(--line-soft);
}
.svc-detail__list li::before{
  content:""; position:absolute; left:0; top:22px; width:6px; height:1px; background:var(--brand);
}

/* ---------- 关于页 ---------- */
.compete{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--line)}
.compete__item{display:flex; gap:22px; padding:36px 34px 36px 0; border-bottom:1px solid var(--line)}
.compete__item:nth-child(odd){padding-right:44px; border-right:1px solid var(--line)}
.compete__item:nth-child(even){padding-left:44px}
.compete__item svg{width:24px; height:24px; color:var(--brand); flex:none; margin-top:2px}
.compete__item h3{font-family:var(--font-display); font-size:20px; letter-spacing:.03em}
.compete__item p{margin-top:10px; font-size:13.5px; color:var(--body); line-height:2}

.timeline{position:relative; margin-top:6px}
.timeline::before{content:""; position:absolute; left:112px; top:10px; bottom:10px; width:1px; background:var(--line)}
.tl{position:relative; display:grid; grid-template-columns:112px 1fr; gap:46px; padding-bottom:46px}
.tl:last-child{padding-bottom:0}
.tl__year{
  font-family:var(--font-display); font-size:26px; color:var(--ink); letter-spacing:.02em; line-height:1.5;
}
.tl__body{position:relative; background:var(--paper); border:1px solid var(--line); padding:28px 32px; transition:border-color .3s, box-shadow .3s}
.tl__body:hover{border-color:var(--line); box-shadow:0 22px 50px -40px rgba(13,26,38,.7)}
.tl__body::before{
  content:""; position:absolute; left:-52px; top:34px; width:7px; height:7px; background:var(--paper);
  border:1px solid var(--brand); border-radius:50%;
}
.tl__body h3{font-size:17px; letter-spacing:.05em; margin-bottom:10px}
.tl__body p{font-size:13.5px; color:var(--body); line-height:1.95}

/* ---------- 新闻列表页 ---------- */
.news-list{border-top:1px solid var(--line)}
.news-list__item{
  display:grid; grid-template-columns:112px 1fr auto; gap:40px; align-items:center;
  padding:34px 0; border-bottom:1px solid var(--line); transition:padding .35s var(--ease);
}
.news-list__item:hover{padding-left:10px}
.news-list__date{border-right:1px solid var(--line-soft); padding-right:22px}
.news-list__date strong{
  display:block; font-family:var(--font-display); font-size:34px; color:var(--ink); line-height:1; font-weight:400;
}
.news-list__date span{
  display:block; font-family:var(--font-mono); font-size:10px; color:var(--muted); margin-top:8px; letter-spacing:.14em;
}
.news-list__body h3{font-size:18.5px; letter-spacing:.02em; font-weight:400; line-height:1.6}
.news-list__body h3 a{transition:color .25s}
.news-list__body h3 a:hover{color:var(--brand)}
.news-list__body p{
  margin-top:9px; font-size:12.5px; color:var(--muted); overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical;
}
.news-list__tag{
  font-family:var(--font-mono); font-size:9.5px; letter-spacing:.16em; color:var(--brand);
  border:1px solid rgba(27,76,116,.25); padding:5px 11px; white-space:nowrap;
}

/* ---------- 联系页 ---------- */
.contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line)}
.ccard{padding:38px 32px 42px 0; border-right:1px solid var(--line)}
.ccard:nth-child(2){padding-left:38px}
.ccard:nth-child(3){padding-left:38px; border-right:0}
.ccard svg{width:22px; height:22px; color:var(--brand)}
.ccard h3{
  font-family:var(--font-sans); font-size:11px; letter-spacing:.16em;
  color:var(--muted); margin-top:20px; font-weight:400;
}
.ccard strong{
  display:block; font-family:var(--font-display); font-size:21px; color:var(--ink);
  font-weight:400; margin-top:10px; letter-spacing:.03em;
}
.ccard p{margin-top:12px; font-size:13px; color:var(--body); line-height:1.95}
.addr-panel{display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); background:var(--paper)}
.map-slot{
  position:relative; min-height:340px; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:12px; text-align:center; padding:30px;
  background:
    linear-gradient(0deg,transparent 27px,rgba(13,26,38,.05) 27px,rgba(13,26,38,.05) 28px) 0 0/28px 28px,
    linear-gradient(90deg,transparent 27px,rgba(13,26,38,.05) 27px,rgba(13,26,38,.05) 28px) 0 0/28px 28px,
    var(--paper-2);
}
.map-slot svg{width:26px; height:26px; color:var(--brand)}
.map-slot strong{font-family:var(--font-display); font-size:16px; color:var(--ink); font-weight:400; letter-spacing:.06em}
.map-slot span{font-size:12px; color:var(--muted); line-height:1.9; max-width:250px}
.addr-panel__text{padding:52px 48px}
.addr-panel__text h3{font-family:var(--font-display); font-size:24px; letter-spacing:.05em}
.addr-panel__text p{margin-top:18px; font-size:13.5px; color:var(--body); line-height:2}
.addr-panel__text .tip{margin-top:24px; font-size:12.5px; color:var(--muted); border-left:1px solid var(--gold); padding-left:16px; line-height:1.9}
.form-card{border:1px solid var(--line); background:var(--paper)}
.form-card .form{padding:50px 54px}

/* ---------- 页脚 ---------- */
.footer{background:var(--ink); color:rgba(255,255,255,.55); padding:84px 0 0; font-size:13px}
.footer__grid{display:grid; grid-template-columns:1.7fr 1fr 1fr 1.35fr; gap:56px; padding-bottom:60px}
.footer .brand__text strong{color:#fff}
.footer .brand__text span{color:rgba(255,255,255,.32)}
.footer__desc{margin-top:26px; line-height:2; font-size:12.5px; max-width:330px; color:rgba(255,255,255,.5)}
.footer h4{
  color:#fff; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.2em; text-transform:uppercase;
  margin-bottom:24px; position:relative; padding-bottom:16px; font-weight:400;
}
.footer h4::after{content:""; position:absolute; left:0; bottom:0; width:22px; height:1px; background:var(--gold)}
.footer li{margin-bottom:12px}
.footer li a{transition:color .25s}
.footer li a:hover{color:#fff}
.footer__contact li{display:flex; gap:12px; margin-bottom:16px; line-height:1.8}
.footer__contact svg{width:14px; height:14px; flex:none; margin-top:5px; opacity:.45}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.1); padding:24px 0; display:flex; justify-content:space-between;
  gap:16px; flex-wrap:wrap; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em;
  color:rgba(255,255,255,.32);
}
.footer__bottom a:hover{color:#fff}
.disclaimer{
  font-size:11px; color:rgba(255,255,255,.26); line-height:1.95; padding-bottom:24px; max-width:860px;
}

/* ---------- 悬浮与进度 ---------- */
.totop{
  position:fixed; right:28px; bottom:28px; width:44px; height:44px; background:var(--ink); color:#fff;
  display:flex; align-items:center; justify-content:center; z-index:70; opacity:0; visibility:hidden;
  transform:translateY(10px); transition:.35s var(--ease); cursor:pointer; border:0;
}
.totop.is-on{opacity:1; visibility:visible; transform:none}
.totop:hover{background:var(--brand)}
.totop svg{width:16px; height:16px}
.progress{position:fixed; left:0; top:0; z-index:100; height:2px; width:0; background:var(--brand)}

/* ---------- 动效 ---------- */
.js .reveal{opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease)}
.js .reveal.is-in{opacity:1; transform:none}

/* ---------- 响应式 ---------- */
@media (max-width:1120px){
  .nav{gap:20px}
  .nav a{font-size:13.5px; letter-spacing:.04em}
  .header .container{gap:18px}
  .header__cta{gap:16px}
  .header__tel strong{font-size:15px; letter-spacing:.02em}
  .header__tel small{font-size:9px}
  .hero__grid{gap:48px}
  .hero h1{font-size:54px}
  .svc-layout{grid-template-columns:280px 1fr; gap:52px}
  .about{gap:52px}
  .footer__grid{grid-template-columns:1fr 1fr; gap:44px}
}
@media (max-width:1060px){
  .header__tel{display:none}
}
@media (max-width:960px){
  .nav{gap:22px}
  .hero{padding:56px 0 64px}
  .hero__grid{grid-template-columns:1fr; gap:44px}
  .hero h1{font-size:46px}
  .hero__watermark{display:none}
  .hero__figure{aspect-ratio:16/11}
  .svc-layout{grid-template-columns:1fr; gap:36px}
  .svc-aside{position:static}
  .flow{grid-template-columns:1fr 1fr}
  .flow__item:nth-child(2n){border-right:0}
  .why{grid-template-columns:1fr 1fr}
  .why__item:nth-child(3n){border-right:1px solid rgba(255,255,255,.14)}
  .why__item:nth-child(2n){border-right:0}
  .about{grid-template-columns:1fr}
  .about__media img{height:400px}
}
@media (max-width:860px){
  .section{padding:64px 0}
  .topbar .container{justify-content:center}
  .topbar__left{display:none}
  .header .container{height:66px}
  .header.is-stuck .container{height:66px}
  .nav{
    position:absolute; left:0; right:0; top:100%; background:#0E3252; flex-direction:column;
    align-items:stretch; gap:0; height:auto; border-bottom:1px solid rgba(255,255,255,.1); display:none;
    box-shadow:0 24px 40px -26px rgba(8,22,36,.7);
  }
  .nav.is-open{display:flex}
  .nav a{height:auto; padding:15px 5%; border-bottom:1px solid rgba(255,255,255,.08); justify-content:space-between; font-size:15px}
  .nav a::before{display:none}
  .nav a.is-active{color:var(--gold)}
  .nav-toggle{display:flex}
  .header__cta .btn{display:none}
  .brand__text strong{font-size:18px; letter-spacing:.12em}
  .hero h1{font-size:34px; letter-spacing:.01em}
  .hero__sub{font-size:15px}
  .hero__meta{flex-wrap:wrap; gap:18px 0; margin-top:38px}
  .hero__meta div{padding-right:22px; margin-right:22px}
  .hero__meta strong{font-size:24px}
  .hero__caption{position:static; max-width:none; margin-top:14px}
  .sec-title{font-size:30px}
  .svc-row{grid-template-columns:42px 1fr 24px; gap:14px; padding:22px 14px; margin:0 -14px}
  .svc-row__desc{display:none}
  .svc-row__title{font-size:21px}
  .svc-row:hover{padding-left:20px}
  .flow{grid-template-columns:1fr}
  .flow__item{border-right:0; padding:26px 0; border-bottom:1px solid var(--line)}
  .flow__item p{padding-right:0}
  .why{grid-template-columns:1fr}
  .why__item{border-right:0 !important; padding:26px 0}
  .news-row{grid-template-columns:78px 1fr 22px; gap:14px}
  .news-row__cat{display:none}
  .news-row h3{font-size:15px}
  .news-row time{font-size:14px}
  .cta h2{font-size:28px}
  .contact-wrap{grid-template-columns:1fr}
  .contact-aside{border-right:0; border-bottom:1px solid var(--line); padding:40px 26px}
  .form{padding:36px 26px}
  .form__row{grid-template-columns:1fr; gap:0}
  .page-hero{padding:64px 0 56px}
  .page-hero h1{font-size:34px}
  .page-hero__mark{width:110px; height:110px; right:5%; opacity:.06}
  .svc-detail{padding:44px 0}
  .svc-detail__inner{grid-template-columns:1fr; gap:24px}
  .svc-detail__head{position:static}
  .svc-detail__list{grid-template-columns:1fr}
  .compete{grid-template-columns:1fr}
  .compete__item,.compete__item:nth-child(odd),.compete__item:nth-child(even){
    padding:26px 0 !important; border-right:0;
  }
  .compete__item h3{font-size:18px}
  .timeline::before{left:72px}
  .tl{grid-template-columns:72px 1fr; gap:22px}
  .tl__year{font-size:18px}
  .tl__body::before{left:-30px; top:28px}
  .tl__body{padding:22px 24px}
  .news-list__item{grid-template-columns:74px 1fr; gap:20px}
  .news-list__tag{display:none}
  .news-list__date strong{font-size:26px}
  .contact-cards{grid-template-columns:1fr}
  .ccard,.ccard:nth-child(2),.ccard:nth-child(3){
    padding:28px 0; border-right:0; border-bottom:1px solid var(--line);
  }
  .addr-panel{grid-template-columns:1fr}
  .addr-panel__text{padding:36px 26px}
  .form-card .form{padding:32px 24px}
  .footer{padding-top:56px}
  .footer__grid{grid-template-columns:1fr; gap:36px; padding-bottom:40px}
  .about__stats{gap:12px}
  .about__stats strong{font-size:26px}
  .about__body .sec-title{font-size:28px}
  .cta{padding:64px 0}
}

/* ---------- 右下角悬浮联系条 ---------- */
.cs-dock{
  position:fixed; right:20px; top:50%; transform:translateY(-50%); z-index:90;
  display:flex; flex-direction:column; gap:9px;
}
.cs-dock__btn{
  position:relative; width:52px; height:52px; padding:0;
  display:flex; align-items:center; justify-content:center;
  background:#123F64; color:#fff; border:1px solid rgba(255,255,255,.14); border-radius:5px;
  cursor:pointer; text-decoration:none;
  transition:background .3s var(--ease), border-color .3s, transform .3s var(--ease);
}
.cs-dock__btn svg{width:22px; height:22px; display:block}
.cs-dock__btn:hover,.cs-dock__btn:focus-visible{
  background:var(--brand-deep); border-color:var(--gold); transform:translateX(-2px);
}
.cs-dock__btn.is-on{background:var(--gold); border-color:var(--gold); color:#0B1B29}
.cs-dock__tip{
  position:absolute; right:calc(100% + 10px); top:50%; transform:translateY(-50%) translateX(6px);
  white-space:nowrap; background:#fff; color:var(--ink); border:1px solid var(--line);
  font-size:12px; letter-spacing:.04em; padding:7px 12px; border-radius:3px;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s, transform .25s, visibility .25s;
}
.cs-dock__btn:hover .cs-dock__tip,.cs-dock__btn:focus-visible .cs-dock__tip{
  opacity:1; visibility:visible; transform:translateY(-50%) translateX(0);
}
.cs-dock__qr{
  position:absolute; right:calc(100% + 14px); top:0;
  width:208px; background:#fff; border:1px solid var(--line); border-radius:4px;
  padding:16px 16px 14px; text-align:center;
  opacity:0; visibility:hidden; transform:translateX(8px);
  transition:opacity .28s, transform .28s, visibility .28s;
  box-shadow:0 24px 54px -34px rgba(11,27,41,.5);
}
.cs-dock__qr.is-open{opacity:1; visibility:visible; transform:translateX(0)}
.cs-dock__qr img{width:100%; height:auto; display:block; border:1px solid var(--line-soft)}
.cs-dock__qr strong{
  display:block; margin-top:12px; font-size:13px; font-weight:500; color:var(--ink); letter-spacing:.04em;
}
.cs-dock__qr span{display:block; margin-top:4px; font-size:11.5px; color:var(--muted); letter-spacing:.03em}
.cs-dock__qr::after{
  content:""; position:absolute; right:-5px; top:24px; width:8px; height:8px;
  background:#fff; border-top:1px solid var(--line); border-right:1px solid var(--line);
  transform:rotate(45deg);
}

@media (max-width:860px){
  .cs-dock{right:12px; top:auto; bottom:16px; transform:none; gap:8px}
  .cs-dock__btn{width:46px; height:46px; border-radius:4px; background:rgba(18,63,100,.94)}
  .cs-dock__btn svg{width:20px; height:20px}
  .cs-dock__btn:hover{transform:none}
  .cs-dock__tip{display:none}
  .cs-dock__qr{
    right:0; top:auto; bottom:calc(100% + 12px); width:196px;
    transform:translateY(8px);
  }
  .cs-dock__qr.is-open{transform:translateY(0)}
  .cs-dock__qr::after{right:20px; top:auto; bottom:-5px;
    border-top:none; border-right:1px solid var(--line); border-bottom:1px solid var(--line);
    transform:rotate(45deg);}
}

/* ---------- 留言表单：蜜罐字段（真人看不到，机器人会填） ---------- */
.field--hp{
  position:absolute !important; left:-9999px; top:auto;
  width:1px; height:1px; margin:0; padding:0; overflow:hidden;
}
.form button[type=submit][disabled]{cursor:default}


/* ============================================================
   English site layer — Latin typography + long-form components
   Appended after the base stylesheet.
   ============================================================ */

:root{
  --font-display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

body{font-family:var(--font-sans);line-height:1.7;-webkit-font-smoothing:antialiased}

.brand__text strong{font-size:19px;letter-spacing:.08em}
.brand__text span{font-size:8px;letter-spacing:.16em}

.hero h1{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.022em}
.hero__sub{font-size:16.5px;line-height:1.72;letter-spacing:0}
.sec-title{font-size:clamp(28px,3.1vw,38px);line-height:1.18;letter-spacing:-.018em}
.sec-sub{font-size:15px;line-height:1.75}
.svc-aside .sec-title{font-size:clamp(26px,2.8vw,34px)}
.svc-row__title{font-size:21px;letter-spacing:-.01em}
.svc-row__desc{font-size:13.5px;line-height:1.65}

.page-hero h1{font-size:clamp(34px,4.3vw,50px);letter-spacing:-.02em;line-height:1.12}
.page-hero p{
  font-family:var(--font-sans); font-size:16px; letter-spacing:0; text-transform:none;
  color:rgba(255,255,255,.7); max-width:620px; line-height:1.7; margin-top:16px;
}

.tl__year{font-size:22px;letter-spacing:0}
.tl__body h3{font-size:17px;letter-spacing:0}
.tl__body p{font-size:14px;line-height:1.75}

h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}

/* ---------- long-form article ---------- */
.prose{max-width:790px;margin-inline:auto}
.prose h2{
  font-family:var(--font-display); font-size:clamp(23px,2.3vw,29px); line-height:1.22;
  color:var(--ink); letter-spacing:-.012em; margin:52px 0 16px; font-weight:400;
}
.prose h3{
  font-family:var(--font-sans); font-size:17.5px; line-height:1.4; color:var(--ink);
  margin:30px 0 10px; font-weight:600; letter-spacing:0;
}
.prose p{font-size:16.5px;line-height:1.78;color:var(--body);margin:0 0 18px}
.prose ul,.prose ol{margin:0 0 20px;padding-left:0;list-style:none}
.prose ul li,.prose ol li{
  position:relative; padding-left:22px; font-size:16px; line-height:1.72;
  color:var(--body); margin-bottom:12px;
}
.prose ul li::before{
  content:""; position:absolute; left:0; top:11px; width:6px; height:6px;
  border:1px solid var(--gold); transform:rotate(45deg);
}
.prose ol{counter-reset:n}
.prose ol li{counter-increment:n;padding-left:26px}
.prose ol li::before{
  content:counter(n); position:absolute; left:0; top:0; border:0; transform:none;
  font-family:var(--font-mono); font-size:11px; color:var(--brand); width:auto; height:auto;
}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--brand);border-bottom:1px solid rgba(27,76,116,.3)}
.prose a:hover{border-bottom-color:var(--brand)}

.answer{
  border-left:2px solid var(--gold); background:var(--paper-2);
  padding:24px 28px; margin:0 0 34px;
}
.answer span{
  display:block; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--brand); margin-bottom:10px;
}
.answer p{margin:0; font-size:17px; line-height:1.68; color:var(--ink-soft)}

/* ---------- table ---------- */
.tbl-cap{
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin:38px 0 12px;
}
.tbl-wrap{overflow-x:auto; border:1px solid var(--line); margin:0 0 34px}
table.tbl{width:100%; border-collapse:collapse; font-size:14.5px; min-width:540px}
table.tbl th{
  background:var(--brand); color:#fff; text-align:left; padding:13px 18px;
  font-weight:500; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;
}
table.tbl td{padding:13px 18px; border-bottom:1px solid var(--line-soft); color:var(--body); vertical-align:top; line-height:1.55}
table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl tbody tr:nth-child(even) td{background:rgba(241,245,249,.6)}
table.tbl td:first-child{color:var(--ink)}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line);margin-top:8px}
.faq__item{padding:24px 0;border-bottom:1px solid var(--line-soft)}
.faq__item h3{
  margin:0 0 9px; font-family:var(--font-sans); font-size:17px; line-height:1.45;
  font-weight:600; color:var(--ink); letter-spacing:0;
}
.faq__item p{margin:0; font-size:15.5px; line-height:1.72; color:var(--body)}

/* ---------- cta ---------- */
.cta-box{
  display:flex; flex-wrap:wrap; gap:28px; align-items:center; justify-content:space-between;
  border:1px solid var(--line); border-top:2px solid var(--brand); background:var(--paper);
  padding:38px 40px; margin-top:56px;
}
.cta-box h2{
  font-family:var(--font-display); font-size:clamp(21px,2.1vw,27px); line-height:1.25;
  color:var(--ink); letter-spacing:-.012em; font-weight:400;
}
.cta-box p{margin-top:10px; font-size:14.5px; line-height:1.7; color:var(--body); max-width:520px}

/* ---------- why ---------- */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:10px}
.why__item{padding:4px 34px 4px 0;border-right:1px solid var(--line)}
.why__item + .why__item{padding-left:34px}
.why__item:last-child{border-right:0;padding-right:0}
.why__item h3{font-family:var(--font-display);font-size:21px;line-height:1.3;color:var(--ink);letter-spacing:-.01em}
.why__item p{margin-top:12px;font-size:14.5px;line-height:1.72;color:var(--body)}

/* ---------- guide cards ---------- */
.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0 34px;margin-top:10px}
.guide-card{
  display:flex; flex-direction:column; gap:10px; padding:26px 0;
  border-top:1px solid var(--line); text-decoration:none; transition:border-color .3s;
}
.guide-card:hover{border-top-color:var(--brand)}
.guide-card__kicker{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
}
.guide-card strong{
  font-family:var(--font-display); font-size:20px; line-height:1.3; color:var(--ink);
  letter-spacing:-.01em; font-weight:400; transition:color .3s;
}
.guide-card:hover strong{color:var(--brand)}
.guide-card__dek{font-size:14px;line-height:1.7;color:var(--body)}
.guide-card__more{
  display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:14px;
  font-size:12px; letter-spacing:.08em; color:var(--brand);
}
.guide-card__more svg{width:15px;height:15px;transition:transform .3s}
.guide-card:hover .guide-card__more svg{transform:translateX(5px)}

/* ---------- services blocks ---------- */
.svc-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.svc-block{padding:32px 0;border-top:1px solid var(--line);scroll-margin-top:110px}
.svc-block__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.svc-block__head h2{font-family:var(--font-display);font-size:24px;color:var(--ink);letter-spacing:-.01em;font-weight:400}
.svc-block__head span{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:right}
.svc-block__list{margin-top:16px}
.svc-block__list li{
  position:relative; padding-left:20px; font-size:14.5px; line-height:1.7; color:var(--body); margin-bottom:9px;
}
.svc-block__list li::before{
  content:""; position:absolute; left:0; top:9px; width:5px; height:5px;
  border:1px solid var(--gold); transform:rotate(45deg);
}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.about-figure{margin:0}
.about-figure img{width:100%;height:auto;display:block;border:1px solid var(--line)}
.about-figure figcaption{
  margin-top:12px; font-family:var(--font-mono); font-size:10.5px; letter-spacing:.08em;
  color:var(--muted); line-height:1.7;
}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.contact-side{padding-top:6px}
.contact-point{padding:20px 0;border-top:1px solid var(--line)}
.contact-point span{
  display:block; font-family:var(--font-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin-bottom:7px;
}
.contact-point strong{display:block;font-size:17px;color:var(--ink);font-weight:500;line-height:1.4;word-break:break-word}
.contact-point p{margin-top:7px;font-size:13.5px;line-height:1.65;color:var(--body)}
.contact-qr{
  margin-top:30px; padding:22px; border:1px solid var(--line); background:var(--paper); text-align:center;
}
.contact-qr img{width:150px;height:150px;display:block;margin:0 auto;border:1px solid var(--line-soft)}
.contact-qr span{display:block;margin-top:12px;font-size:12.5px;color:var(--body);letter-spacing:.02em}

@media (max-width:960px){
  .why{grid-template-columns:1fr;gap:0}
  .why__item{padding:24px 0;border-right:0;border-bottom:1px solid var(--line-soft)}
  .why__item + .why__item{padding-left:0}
  .why__item:last-child{border-bottom:0}
  .guide-cards{grid-template-columns:1fr;gap:0}
  .svc-blocks{grid-template-columns:1fr;gap:0}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .cta-box{padding:30px 26px}
  .prose p,.prose ul li{font-size:16px}
  .answer{padding:20px 22px}
  .answer p{font-size:16px}
}
