/* ============================================================
   一耳之隔 · 视觉层（覆盖 ceevee 默认样式）
   ============================================================ */
:root{
  --ink:#0A171A; --ink-2:#102A2E; --ink-3:#164A50;
  --paper:#FFFFFF; --paper-2:#F4F7F8;
  --accent:#12B3B8; --accent-d:#0E9AA0;
  --text:#12262A; --muted:#5D7276; --line:#E1E9EA;
  --r-sm:10px; --r:16px; --r-lg:24px;
  --sh-1:0 1px 2px rgba(10,23,26,.04), 0 8px 26px rgba(10,23,26,.07);
  --sh-2:0 20px 46px rgba(10,23,26,.16);
  --font:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans SC',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
body, input, textarea, select, button, .button{ font-family:var(--font) !important; }
body{ font-size:16px !important; line-height:1.8; color:var(--text); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6{ font-family:var(--font) !important; color:var(--text); font-weight:700; letter-spacing:-.01em; }
p, li{ line-height:1.9; }
strong{ color:var(--ink); font-weight:600; }

/* ---------- 导航 ---------- */
#nav-wrap{
  background:rgba(10,23,26,.80) !important;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.08); text-transform:none !important;
}
ul#nav li a{
  font-family:var(--font) !important; font-size:14px !important; letter-spacing:.08em !important;
  color:rgba(255,255,255,.70) !important; padding:0 19px !important; line-height:58px !important;
  transition:color .2s ease;
}
ul#nav li a:hover{ color:#fff !important; }
ul#nav li.current a{ color:#fff !important; position:relative; }
ul#nav li.current a:after{
  content:""; position:absolute; left:19px; right:19px; bottom:14px; height:2px;
  background:var(--accent); border-radius:2px;
}

/* ---------- 首屏 ---------- */
#home{
  background:#0A171A url(../images/header-background-v3.jpg) no-repeat center center !important;
  background-size:cover !important;
}
.banner{ padding:158px 0 132px !important; }
.banner-text h1, .banner-text .responsive-headline{
  font-size:clamp(44px,7vw,86px) !important; line-height:1.06 !important;
  letter-spacing:.1em !important; color:#fff !important; margin:0 0 20px !important;
  text-shadow:0 6px 44px rgba(0,0,0,.45);
}
.banner-text hr{ width:52px !important; height:3px !important; background:var(--accent) !important;
  border:0 !important; margin:28px auto 26px !important; }
.banner-text h3{ margin:0 !important; font-weight:400 !important; }
.banner-text .tagline{
  display:block; color:var(--accent) !important; font-size:15px; font-weight:600;
  letter-spacing:.36em !important; text-transform:uppercase; margin-bottom:20px;
}
.banner-text .lede{
  display:block; color:rgba(255,255,255,.76) !important; font-size:16px; font-weight:400;
  line-height:2; letter-spacing:.02em; max-width:620px; margin:0 auto;
}
p.scrolldown a{ color:rgba(255,255,255,.38) !important; }
p.scrolldown a:hover{ color:var(--accent) !important; }

/* ---------- 区块节奏 ---------- */
#about{ background:var(--paper) !important; padding:108px 0 !important; }
#portfolio{ background:var(--paper-2) !important; padding:108px 0 !important; }
#contact{ background:var(--paper-2) !important; padding:108px 0 !important; }
#about h2, #portfolio h2{
  font-size:clamp(25px,2.9vw,33px) !important; line-height:1.35 !important;
  padding-bottom:16px; margin-bottom:28px !important; position:relative;
}
#about h2:after, #portfolio h2:after{
  content:""; position:absolute; left:0; bottom:0; width:42px; height:3px;
  background:var(--accent); border-radius:3px;
}
#about .main-col{ font-size:16px; }
#about .main-col p{ color:#4C6266 !important; }
#about .profile-pic{
  border-radius:var(--r-lg) !important; border:1px solid var(--line);
  box-shadow:var(--sh-1); max-width:300px; width:100%;
}
#about .contact-details h2{
  font-size:13px !important; letter-spacing:.2em !important; text-transform:uppercase;
  color:var(--accent) !important; padding:0 !important; margin-bottom:12px !important;
}
#about .contact-details h2:after{ display:none; }
#about .contact-details p.address{ color:var(--muted) !important; font-size:15px; line-height:2.1; }

/* ---------- 按钮 ---------- */
.button, #contact button.button, input[type="submit"]{
  display:inline-block !important; padding:13px 30px !important; border-radius:999px !important;
  background:var(--accent) !important; color:#fff !important; border:0 !important;
  font-size:15px !important; font-weight:600 !important; letter-spacing:.04em !important;
  box-shadow:0 8px 22px rgba(18,179,184,.28) !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  text-shadow:none !important;
}
.button:hover, #contact button.button:hover, input[type="submit"]:hover{
  background:var(--accent-d) !important; transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(18,179,184,.34) !important;
}
#about .download .button{ margin:0 10px 10px 0; }

/* ---------- 业务卡片 ---------- */
#portfolio .twelve.columns.collapsed{ text-align:left; }
#portfolio-wrapper{ margin-top:8px; }
.portfolio-item{ padding-bottom:26px; }
.portfolio-item .item-wrap{
  position:relative; border-radius:var(--r) !important; overflow:hidden;
  box-shadow:var(--sh-1) !important; transition:transform .3s ease, box-shadow .3s ease;
}
.portfolio-item:hover .item-wrap{ transform:translateY(-6px); box-shadow:var(--sh-2) !important; }
.portfolio-item .item-wrap img{ display:block; width:100%; transition:transform .6s ease; }
.portfolio-item:hover .item-wrap img{ transform:scale(1.05); }
.portfolio-item .item-wrap .overlay{
  position:absolute !important; inset:auto 0 0 0 !important; top:auto !important; height:auto !important;
  width:100% !important; opacity:1 !important; filter:none !important;
  padding:34px 26px 24px !important; text-align:left !important;
  background:linear-gradient(to top, rgba(6,16,18,.94) 0%, rgba(6,16,18,.62) 52%, rgba(6,16,18,0) 100%) !important;
}
.portfolio-item .portfolio-item-meta h5{
  color:#fff !important; font-size:19px !important; letter-spacing:.03em; margin:0 0 6px !important;
}
.portfolio-item .portfolio-item-meta p{
  color:rgba(255,255,255,.62) !important; font-size:13px !important;
  letter-spacing:.08em; margin:0 !important;
}
.portfolio-item .link-icon{ display:none !important; }

/* ---------- CTA 面板 ---------- */
#call-to-action{ background:var(--paper) !important; padding:0 !important; }
#call-to-action .row{
  background:linear-gradient(120deg, var(--ink) 0%, var(--ink-3) 100%);
  border-radius:var(--r-lg); padding:54px 48px !important; margin:0 auto !important;
  box-shadow:var(--sh-1); position:relative; overflow:hidden;
}
#call-to-action .row:after{
  content:""; position:absolute; right:-120px; top:-120px; width:340px; height:340px;
  border-radius:50%; background:radial-gradient(circle, rgba(18,179,184,.28), rgba(18,179,184,0) 68%);
}
#call-to-action h1, #call-to-action h2{ color:#fff !important; font-size:24px !important; letter-spacing:.01em !important; }
#call-to-action .header-col h1:before{
  color:var(--accent) !important; font-size:46px !important; line-height:52px !important;
}
#call-to-action p{ color:rgba(255,255,255,.72) !important; font-size:15.5px; }

/* ---------- 联系表单 ---------- */
#contact .section-head h1 span{ font-size:clamp(24px,2.8vw,32px) !important; color:var(--text); }
#contact p.lead{ color:var(--muted) !important; font-size:16.5px; line-height:1.95; }
#contact form{ margin-top:26px; }
#contact .form-field{ margin-bottom:20px; }
#contact .form-label label{
  font-size:14px !important; font-weight:600 !important; letter-spacing:.05em;
  color:var(--text) !important; margin-bottom:8px !important;
}
#contact input[type="text"], #contact input[type="email"], #contact input[type="tel"],
#contact textarea, #contact select{
  width:100% !important; padding:15px 18px !important; margin:0 0 4px !important;
  color:var(--text) !important; background:#fff !important;
  border:1px solid var(--line) !important; border-radius:var(--r-sm) !important;
  font-size:15px !important; box-shadow:none !important;
  transition:border-color .2s ease, box-shadow .2s ease;
}
#contact input:focus, #contact textarea:focus, #contact select:focus{
  color:var(--text) !important; background:#fff !important;
  border-color:var(--accent) !important; box-shadow:0 0 0 4px rgba(18,179,184,.13) !important;
  outline:0 !important;
}
#contact ::placeholder{ color:#9BAEB2 !important; }
.widget.widget_contact{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:28px 26px; box-shadow:var(--sh-1);
}
.widget.widget_contact h4{
  font-size:12px !important; letter-spacing:.2em !important; text-transform:uppercase;
  color:var(--accent) !important; margin-bottom:12px !important;
}
.widget.widget_contact p.address{ color:var(--muted) !important; font-size:14.5px; line-height:2.1; margin:0; }

/* ---------- 独立页面 ---------- */
.intro{ padding:120px 0 100px !important; background:var(--paper); }
.intro h1.arrow{ font-size:clamp(28px,3.4vw,38px) !important; margin-bottom:28px !important; color:var(--text); }
.intro h1.arrow:after{
  content:""; display:block; width:44px; height:3px; background:var(--accent);
  border-radius:3px; margin-top:16px;
}
.intro h2{ font-size:22px !important; margin:34px 0 12px !important; }
.intro h3{ font-size:18px !important; margin:28px 0 10px !important; color:var(--ink-3); }
.intro p, .intro li{ color:#4C6266 !important; font-size:16px; }
.intro ul, .intro ol{ margin:12px 0 12px 4px; }
.intro li{ margin-bottom:8px; }
.intro blockquote{
  border-left:3px solid var(--accent); background:var(--paper-2);
  padding:16px 22px; border-radius:0 var(--r-sm) var(--r-sm) 0; margin:24px 0;
}
.intro blockquote p{ margin:0; color:var(--muted) !important; font-size:15px; }
.intro hr{ border:0; border-top:1px solid var(--line); margin:36px 0; }

/* ---------- 页脚 ---------- */
footer{ background:var(--ink) !important; padding:68px 0 44px !important; }
footer ul.copyright li{
  color:rgba(255,255,255,.46) !important; font-size:13px; line-height:2.2; letter-spacing:.02em;
}
footer ul.copyright li:first-child{
  color:rgba(255,255,255,.90) !important; font-size:15px; letter-spacing:.08em; margin-bottom:6px;
}
footer a{ color:rgba(255,255,255,.72) !important; }
footer a:hover{ color:var(--accent) !important; }
#go-top a{ color:rgba(255,255,255,.30) !important; }
#go-top a:hover{ color:var(--accent) !important; }

/* ---------- 移动端 ---------- */
@media (max-width:900px){
  #about, #portfolio, #contact{ padding:72px 0 !important; }
  .banner{ padding:126px 0 96px !important; }
  .banner-text h1{ letter-spacing:.06em !important; }
  .banner-text .tagline{ letter-spacing:.22em !important; }
  #about .profile-pic{ margin:0 auto 34px; display:block; }
  #call-to-action .row{ padding:40px 26px !important; border-radius:var(--r); }
  .intro{ padding:96px 0 72px !important; }
}

/* ============================================================
   第二遍：布局精修
   ============================================================ */

/* 首屏：收紧留白，强化层级 */
.banner{ padding:132px 0 108px !important; }
.banner-text h1{ margin-bottom:16px !important; }
.banner-text .tagline{ margin-bottom:24px; font-size:14px; letter-spacing:.42em !important; }
.banner-text .lede{ font-size:16.5px; max-width:600px; }
.banner-text hr{ margin:26px auto 24px !important; }

/* 区块标题统一（含联系区块） */
#contact .row.section-head{ display:block !important; margin-bottom:44px !important; }
#contact .header-col, #contact .ten.columns{ width:100% !important; float:none !important; }
#contact .header-col h1:before{ display:none !important; }
#contact .header-col h1{
  font-size:clamp(25px,2.9vw,33px) !important; text-transform:none !important;
  letter-spacing:-.01em !important; line-height:1.35 !important; color:var(--text) !important;
  padding-bottom:16px; position:relative; margin:0 0 20px !important;
}
#contact .header-col h1:after{
  content:""; position:absolute; left:0; bottom:0; width:42px; height:3px;
  background:var(--accent); border-radius:3px;
}
#contact .header-col h1 span{ display:inline !important; }
#contact p.lead{ max-width:660px; margin:0 !important; }

/* 关于：两栏重构，图片放大 */
#about > .row{ display:flex !important; flex-wrap:wrap; gap:56px; align-items:flex-start; }
#about .three.columns{ float:none !important; width:310px !important; flex:0 0 310px; margin:0 !important; }
#about .nine.columns.main-col{ float:none !important; width:auto !important; flex:1 1 520px; min-width:0; }
#about .main-col > .row{ display:flex !important; flex-wrap:wrap; gap:44px; margin-top:40px !important; align-items:flex-start; }
#about .main-col > .row > .columns{ float:none !important; width:auto !important; margin:0 !important; }
#about .contact-details{ flex:1 1 260px; }
#about .download{ flex:0 0 auto; }
#about .profile-pic{ max-width:100% !important; }

/* 联系：表单卡片化 + 双栏对齐 */
#contact > .row:nth-of-type(2){ display:flex !important; flex-wrap:wrap; gap:44px; align-items:flex-start; }
#contact .eight.columns{ float:none !important; width:auto !important; flex:1 1 560px; min-width:0; margin:0 !important; }
#contact aside.four.columns.footer-widgets{ float:none !important; width:330px !important; flex:0 0 330px; margin:0 !important; }
#contact .form-wrapper{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:34px 32px 26px; box-shadow:var(--sh-1);
}
#contact .form-field:last-of-type, #contact .form-field:last-child{ margin-bottom:6px; }

/* CTA：居中面板，去掉突兀的地球图标 */
#call-to-action .header-col, #call-to-action .seven.columns, #call-to-action .action{
  width:100% !important; float:none !important; margin:0 !important;
}
#call-to-action .header-col h1:before{ display:none !important; }
#call-to-action .row{ text-align:center; padding:60px 52px !important; }
#call-to-action h1{ font-size:clamp(22px,2.6vw,28px) !important; margin-bottom:16px !important; }
#call-to-action p{ max-width:620px; margin:0 auto 30px !important; }
#call-to-action .action{ margin-top:4px !important; }

/* 页脚：加分隔线，信息分组 */
footer{ padding:72px 0 48px !important; }
footer ul.copyright{ margin-top:8px; }
footer ul.copyright li{ padding:2px 0; }

/* ============================================================
   第三遍：锚点偏移与细节对齐
   ============================================================ */
html{ scroll-padding-top:80px; }
#about, #portfolio, #call-to-action, #contact{ scroll-margin-top:80px; }
#about .download{ text-align:left !important; }
#about .download .button{ margin:0 10px 10px 0 !important; }
#about .main-col > .row{ margin-top:44px !important; }
#about .contact-details{ padding-left:0 !important; }
#about p.address{ margin:0 !important; }
#about .nine.columns.main-col > p:last-child{ margin-bottom:0; }

/* ============================================================
   第四遍：浅色区块的文字配色（主题原设计这些区块是深色）
   ============================================================ */
#about, #about h1, #about h2, #about h3, #about h4, #about h5, #about h6{
  color:var(--text) !important;
}
#about p, #about li, #about .main-col p, #about .main-col li{ color:#4C6266 !important; }
#about strong, #about b{ color:var(--ink) !important; }
#about a, #about a:visited{ color:var(--accent) !important; }
#about a:hover{ color:var(--accent-d) !important; }

#portfolio, #portfolio h1, #portfolio h2, #portfolio h3, #portfolio h4{ color:var(--text) !important; }
#portfolio p, #portfolio li{ color:var(--muted) !important; }
#portfolio a, #portfolio a:visited{ color:var(--accent) !important; }

#contact, #contact h1, #contact h2, #contact h3, #contact h4, #contact h5{ color:var(--text) !important; }
#contact p, #contact li, #contact .address, #contact .widget p{ color:var(--muted) !important; }
#contact a, #contact a:visited{ color:var(--accent) !important; }
#contact a:hover{ color:var(--accent-d) !important; }
#contact label{ color:var(--text) !important; }
#contact .required{ color:var(--accent) !important; }

/* CTA 面板保持深色文字方案 */
#call-to-action h1, #call-to-action h2, #call-to-action h3{ color:#fff !important; }
#call-to-action p{ color:rgba(255,255,255,.72) !important; }

/* ============================================================
   第五遍：按钮文字、移动端导航色、移动端首屏
   ============================================================ */

/* 按钮：用 a.button 提高优先级，压过 #about a 的链接配色 */
#about a.button, #about .download a.button, #call-to-action a.button,
#contact a.button, a.button, button.button, input[type="submit"]{
  color:#fff !important;
  background:var(--accent) !important;
  text-decoration:none !important;
}
#about a.button:hover, #call-to-action a.button:hover, #contact a.button:hover,
a.button:hover, button.button:hover{
  background:var(--accent-d) !important; color:#fff !important;
}

@media (max-width:900px){
  /* 移动端菜单按钮：主题用的是橙色，改成品牌色 */
  a.mobile-btn, #nav-wrap > a.mobile-btn{
    background:var(--accent) !important; color:#fff !important;
    border-radius:0 0 0 10px; width:52px !important; height:52px !important;
  }
  /* 移动端首屏收紧 */
  .banner{ padding:104px 0 76px !important; }
  .banner-text h1{ font-size:clamp(38px,11vw,52px) !important; letter-spacing:.06em !important; }
  .banner-text .tagline{ font-size:12px; letter-spacing:.3em !important; margin-bottom:16px; }
  .banner-text .lede{ font-size:14.5px; line-height:1.95; padding:0 6px; }
  .banner-text hr{ margin:20px auto 18px !important; }
  /* 关于区块移动端 */
  #about > .row{ gap:32px; }
  #about .three.columns{ flex:0 0 100%; width:100% !important; }
  #about .profile-pic{ max-width:240px !important; }
  #about .main-col{ padding-right:0 !important; }
  /* 联系表单移动端 */
  #contact aside.four.columns.footer-widgets{ width:100% !important; flex:0 0 100%; }
  #contact .form-wrapper{ padding:24px 20px 18px; }
}

/* ============================================================
   第六遍：子页面（与首页同一套设计语言）
   ============================================================ */
#home.page-hero{ min-height:0 !important; height:auto !important; }
#home.page-hero .banner{ padding:126px 0 70px !important; }
#home.page-hero .banner-text h1{
  font-size:clamp(30px,4vw,44px) !important; letter-spacing:.06em !important; margin-bottom:14px !important;
}
#home.page-hero .banner-text h3{ margin:0 !important; }
#home.page-hero .banner-text .tagline{ letter-spacing:.18em !important; text-transform:none !important; font-size:15px; }

.page-body{ background:var(--paper); padding:84px 0 100px; }
.page-content{ max-width:840px; }
.page-content h2{
  font-size:clamp(22px,2.5vw,28px) !important; line-height:1.4 !important;
  margin:0 0 24px !important; padding-bottom:14px; position:relative; color:var(--text) !important;
}
.page-content h2:after{
  content:""; position:absolute; left:0; bottom:0; width:38px; height:3px;
  background:var(--accent); border-radius:3px;
}
.page-content h2 + h3{ margin-top:22px !important; }
.page-content h3{
  font-size:18px !important; margin:38px 0 10px !important; color:var(--ink-3) !important;
  letter-spacing:.01em; font-weight:600 !important;
}
.page-content p{ color:#4C6266 !important; font-size:16px; line-height:2; margin:0 0 16px; }
.page-content strong{ color:var(--ink) !important; font-weight:600; }
.page-content a{ color:var(--accent) !important; }
.page-content a:hover{ color:var(--accent-d) !important; }
.page-content ul{ list-style:none; margin:16px 0 24px; padding:0; }
.page-content li{
  position:relative; padding-left:22px; margin-bottom:12px;
  color:#4C6266 !important; line-height:1.95;
}
.page-content li:before{
  content:""; position:absolute; left:0; top:.78em; width:8px; height:2px;
  background:var(--accent); border-radius:2px;
}
.page-content li strong{ color:var(--ink) !important; }
.page-content blockquote{
  border-left:3px solid var(--accent); background:var(--paper-2);
  padding:16px 22px; border-radius:0 var(--r-sm) var(--r-sm) 0; margin:26px 0;
}
.page-content blockquote p{ margin:0 !important; color:var(--muted) !important; font-size:15px; }
.page-content hr{ border:0; border-top:1px solid var(--line); margin:38px 0; }

.page-cta{
  margin-top:60px; max-width:840px;
  background:linear-gradient(120deg,var(--ink) 0%,var(--ink-3) 100%);
  border-radius:var(--r-lg); padding:36px 40px; position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap;
  box-shadow:var(--sh-1);
}
.page-cta:after{
  content:""; position:absolute; right:-110px; top:-110px; width:300px; height:300px;
  border-radius:50%; background:radial-gradient(circle, rgba(18,179,184,.30), rgba(18,179,184,0) 68%);
}
.page-cta .cta-title{ color:#fff !important; font-size:19px !important; font-weight:600; margin:0 0 6px !important; }
.page-cta .cta-sub{ color:rgba(255,255,255,.66) !important; font-size:14.5px !important; margin:0 !important; }
.page-cta .cta-button{
  background:#fff !important; color:var(--ink) !important; box-shadow:none !important;
  position:relative; z-index:1;
}
.page-cta .cta-button:hover{ background:var(--accent) !important; color:#fff !important; }

@media (max-width:900px){
  #home.page-hero .banner{ padding:104px 0 58px !important; }
  .page-body{ padding:64px 0 76px; }
  .page-cta{ padding:28px 24px; flex-direction:column; align-items:flex-start; gap:18px; }
}

/* 子页面内容容器：居中并留边距 */
.page-body > .container{
  width:100% !important; max-width:1160px !important;
  margin:0 auto !important; padding:0 40px !important;
  box-sizing:border-box;
}
.page-content{ max-width:800px; }
.page-cta{ max-width:800px; }
@media (max-width:900px){
  .page-body > .container{ padding:0 22px !important; }
}

/* 有序列表：数字圆圈（不带短横线标记） */
.page-content ul > li:before{
  content:""; position:absolute; left:0; top:.78em; width:8px; height:2px;
  background:var(--accent); border-radius:2px;
}
.page-content ol{ list-style:none; counter-reset:step; margin:16px 0 24px; padding:0; }
.page-content ol > li{ position:relative; padding-left:36px; margin-bottom:14px; }
.page-content ol > li:before{
  counter-increment:step; content:counter(step);
  position:absolute; left:0; top:.34em; width:23px; height:23px; line-height:23px;
  text-align:center; border-radius:50%; font-size:12.5px; font-weight:700;
  background:rgba(18,179,184,.12); color:var(--accent);
}

/* 页脚快速导航 */
footer .footer-nav{ display:inline-flex; gap:24px; flex-wrap:wrap; justify-content:center; }
footer .footer-nav a{ color:rgba(255,255,255,.60) !important; font-size:13.5px; letter-spacing:.06em; }
footer .footer-nav a:hover{ color:var(--accent) !important; }
footer ul.copyright li:first-child{
  color:rgba(255,255,255,.46) !important; font-size:13px !important; letter-spacing:.02em !important;
}
footer ul.copyright li:nth-child(2){
  color:rgba(255,255,255,.90) !important; font-size:15px !important;
  letter-spacing:.08em !important; margin:8px 0 4px !important;
}

/* 页脚排布：竖排、居中、分层次 */
footer ul.copyright{ display:block !important; text-align:center; }
footer ul.copyright li{
  display:block !important; float:none !important; width:auto !important;
  margin:0 0 7px !important; padding:0 !important;
}
footer .footer-nav{ gap:28px; margin-bottom:6px; }
