:root{
  --abj-max:1200px;
  --abj-radius:10px;
  --abj-radius-lg:14px;
  --abj-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 12px rgba(15,23,42,.04);
  --abj-shadow-md:0 2px 4px rgba(15,23,42,.06),0 10px 24px rgba(15,23,42,.06);
  --abj-shadow-cta:0 1px 2px rgba(6,182,212,.20),0 8px 22px rgba(6,182,212,.28);
  --abj-accent:#06B6D4;
  --abj-primary:#0F172A;
  --abj-secondary:#111827;
}
body{background:var(--wp--preset--color--background);color:var(--wp--preset--color--primary);}
.abj-wrap{max-width:var(--abj-max);margin:0 auto;padding:0 1rem;}

/* ===== NAV ===== */
.abj-nav{max-width:var(--abj-max);margin:0 auto;padding:.85rem 1rem;display:flex;align-items:center;gap:1.25rem;border-bottom:1px solid var(--wp--preset--color--border);background:#fff;}
.abj-nav .abj-logo{font-weight:700;color:var(--wp--preset--color--primary);text-decoration:none;font-size:1.05rem;display:inline-flex;align-items:center;gap:.5rem;}
.abj-nav .abj-logo::before{content:"";display:inline-block;width:9px;height:9px;background:var(--abj-accent);border-radius:50%;box-shadow:0 0 0 3px rgba(6,182,212,.12);}
.abj-nav ul{list-style:none;display:flex;gap:1rem;margin:0;padding:0;flex-wrap:wrap;}
.abj-nav a{color:var(--wp--preset--color--secondary);text-decoration:none;font-size:.92rem;transition:color .15s ease;}
.abj-nav a:hover{color:var(--abj-accent);}
.abj-nav .abj-nav-cta{margin-left:auto;font-size:.9rem;padding:.5rem .9rem;}

/* ===== HERO ===== */
.abj-hero{padding:5rem 1rem 4rem;background:linear-gradient(180deg,#F8FAFC 0%,#FFFFFF 100%);position:relative;}
.abj-hero::before{content:"";position:absolute;left:0;top:3.5rem;bottom:3.5rem;width:3px;background:var(--abj-accent);border-radius:0 2px 2px 0;opacity:.85;}
.abj-hero h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1.18;margin:0 0 1rem;font-weight:700;color:var(--wp--preset--color--primary);letter-spacing:-.012em;max-width:880px;}
.abj-hero .abj-sub{font-size:clamp(1.05rem,1.8vw,1.2rem);color:var(--wp--preset--color--secondary);max-width:680px;margin:0 0 1.5rem;line-height:1.6;}
.abj-hero .abj-brand{font-size:1rem;color:var(--wp--preset--color--muted);margin:0 0 1.75rem;}
.abj-hero .abj-cta-row{display:flex;gap:.85rem;flex-wrap:wrap;}

/* ===== CTAs ===== */
.abj-cta{display:inline-flex;align-items:center;gap:.4rem;background:var(--abj-accent);color:#fff !important;padding:.78rem 1.4rem;border-radius:var(--abj-radius);font-weight:600;text-decoration:none;border:0;cursor:pointer;font-size:1rem;box-shadow:var(--abj-shadow-cta);transition:transform .15s ease,box-shadow .15s ease,background .15s ease;}
.abj-cta:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(6,182,212,.24),0 14px 32px rgba(6,182,212,.34);background:#0891B2;color:#fff !important;}
.abj-cta--ghost{background:transparent;color:var(--wp--preset--color--primary) !important;border:1px solid var(--wp--preset--color--border);box-shadow:none;}
.abj-cta--ghost:hover{background:#F8FAFC;border-color:#CBD5E1;color:var(--wp--preset--color--primary) !important;transform:translateY(-1px);box-shadow:var(--abj-shadow);}

/* ===== SECTIONS ===== */
.abj-section{padding:3.5rem 1rem;max-width:var(--abj-max);margin:0 auto;}
.abj-section + .abj-section{border-top:1px solid var(--wp--preset--color--border);}
.abj-section h2{font-size:clamp(1.45rem,2.6vw,1.95rem);margin:0 0 .5rem;font-weight:700;color:var(--wp--preset--color--primary);letter-spacing:-.005em;}
.abj-section .abj-lede{color:var(--wp--preset--color--muted);max-width:680px;margin:0 0 2rem;font-size:1rem;}

/* ===== CARDS (default) ===== */
.abj-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.abj-card{background:#fff;border:1px solid var(--wp--preset--color--border);border-radius:var(--abj-radius);padding:1.35rem;box-shadow:var(--abj-shadow);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.abj-card h3{margin:.25rem 0 .5rem;font-size:1.15rem;font-weight:600;color:var(--wp--preset--color--primary);line-height:1.35;}
.abj-card p{margin:0;color:var(--wp--preset--color--muted);font-size:.95rem;line-height:1.65;}
.abj-card .abj-card-cta{display:inline-block;margin-top:.85rem;font-size:.9rem;color:var(--abj-accent);text-decoration:none;font-weight:600;}
.abj-card .abj-card-cta:hover{color:#0891B2;}

/* ===== Projects: heavier visual weight ===== */
#projects .abj-card{border-left:3px solid var(--abj-accent);background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%);box-shadow:var(--abj-shadow-md);padding:1.5rem;}
#projects .abj-card:hover{transform:translateY(-2px);border-color:#CBD5E1;border-left-color:var(--abj-accent);box-shadow:0 4px 8px rgba(15,23,42,.06),0 16px 36px rgba(15,23,42,.10);}
#projects .abj-card h3{font-size:1.22rem;}

/* ===== Services: lighter, dashed outline ===== */
#services .abj-card{border:1px dashed var(--wp--preset--color--border);box-shadow:none;background:#FCFCFD;}
#services .abj-card:hover{border-style:solid;border-color:#CBD5E1;background:#fff;box-shadow:var(--abj-shadow);}
#services .abj-card h3{font-size:1.05rem;font-weight:600;}
#services .abj-card p{font-size:.93rem;}

/* ===== Methodology: numbered + top accent ===== */
#methodology .abj-card{border-top:2px solid var(--abj-accent);border-radius:0 var(--abj-radius) var(--abj-radius) var(--abj-radius);}
#methodology .abj-card h3{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.98rem;color:var(--wp--preset--color--secondary);letter-spacing:.02em;font-weight:600;}

/* ===== Footer ===== */
.abj-footer{background:#0F172A;color:#CBD5E1;padding:2.25rem 1rem;margin-top:3.5rem;}
.abj-footer .abj-inner{max-width:var(--abj-max);margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;}
.abj-footer a{color:#94A3B8;text-decoration:none;margin-right:1rem;font-size:.9rem;}
.abj-footer a:hover{color:#fff;}
.abj-footer .abj-copy{color:#64748B;font-size:.85rem;}

/* ===== MOBILE ===== */
@media (max-width:720px){
  .abj-hero{padding:3.25rem 1rem 2.5rem;}
  .abj-hero::before{top:2.25rem;bottom:2.25rem;}
  .abj-section{padding:2.5rem 1rem;}
  .abj-nav{padding:.7rem 1rem;gap:.5rem;flex-wrap:wrap;}
  .abj-nav ul{gap:.5rem .65rem;width:100%;order:3;margin-top:.25rem;}
  .abj-nav a{font-size:.85rem;}
  .abj-nav .abj-nav-cta{margin-left:auto;order:2;font-size:.82rem;padding:.42rem .78rem;}
  .abj-grid{grid-template-columns:1fr;gap:.85rem;}
  .abj-card{padding:1.15rem;}
  #projects .abj-card{padding:1.25rem;}
}
/* ============ PHASE 2 VISUAL ADDITIONS ============ */

/* ====== Logo with image ====== */
.abj-logo{display:inline-flex;align-items:center;gap:.55rem;}
.abj-logo-img{height:36px;width:auto;display:block;}
.abj-logo-text{font-weight:700;color:var(--wp--preset--color--primary);font-size:1.05rem;}

/* ====== Hero split ====== */
.abj-hero--split{padding:3.5rem 1rem 3rem;}
.abj-hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem;align-items:center;max-width:var(--abj-max);margin:0 auto;}
.abj-hero-text h1{margin:0 0 1rem;}
.abj-hero-visual img{width:100%;height:auto;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.08);display:block;background:#fff;}

/* ====== Projects grid (5 items, image-heavy) ====== */
.abj-grid--projects{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem;}
.abj-card--project{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.abj-card--project .abj-card-img{display:block;background:#F8FAFC;}
.abj-card--project .abj-card-img img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;}
.abj-card--project .abj-card-body{padding:1.1rem 1.25rem 1.25rem;}
.abj-card--project .abj-card-body h3{font-size:1.15rem;margin:0 0 .4rem;}
.abj-card--project .abj-card-body p{font-size:.92rem;line-height:1.6;margin:0 0 .65rem;}

/* ====== Services grid (6 tiles, lighter) ====== */
.abj-services-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0 0 1.25rem;}
.abj-card--service{padding:1.1rem 1.15rem;}
.abj-card--service h3{font-size:1rem;font-weight:600;margin:0 0 .35rem;}
.abj-card--service p{font-size:.88rem;margin:0;}
.abj-services-visual img{width:100%;height:auto;border-radius:14px;border:1px solid var(--wp--preset--color--border);}

/* ====== Methodology grid (5 steps + visual) ====== */
.abj-method-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 1.25rem;}
.abj-card--method{padding:1.1rem 1.15rem 1rem;}
.abj-method-num{display:inline-block;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;color:var(--abj-accent);letter-spacing:.05em;background:rgba(6,182,212,.10);padding:.18rem .5rem;border-radius:6px;margin-bottom:.5rem;}
.abj-card--method h3{font-size:1rem;font-weight:600;margin:.25rem 0 .4rem;}
.abj-card--method p{font-size:.88rem;margin:0;}
.abj-method-visual img{width:100%;height:auto;border-radius:14px;border:1px solid var(--wp--preset--color--border);}

/* ====== About ====== */
.abj-about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:2rem;align-items:center;}
.abj-about-visual img{width:100%;height:auto;border-radius:14px;border:1px solid var(--wp--preset--color--border);}
.abj-about-text p{margin:0 0 .85rem;font-size:1rem;line-height:1.7;color:var(--wp--preset--color--secondary);}
.abj-about-text .abj-cta{margin-top:.5rem;}

/* ====== Contact ====== */
.abj-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;}
.abj-contact-text p{margin:0 0 .75rem;font-size:1rem;line-height:1.7;color:var(--wp--preset--color--secondary);}
.abj-contact-visual img{width:100%;height:auto;border-radius:14px;border:1px solid var(--wp--preset--color--border);}
.abj-cta-extras{margin-top:1.5rem;}
.abj-cta-extras img{width:100%;height:auto;border-radius:14px;border:1px solid var(--wp--preset--color--border);}

/* ====== Mobile ====== */
@media (max-width:720px){
  .abj-hero--split{padding:2.25rem 1rem 1.75rem;}
  .abj-hero-grid{grid-template-columns:1fr;gap:1.5rem;}
  .abj-hero-visual{order:2;}
  .abj-hero-text{order:1;}
  .abj-grid--projects{grid-template-columns:1fr;gap:1rem;}
  .abj-services-grid{grid-template-columns:1fr 1fr;gap:.75rem;}
  .abj-method-grid{grid-template-columns:1fr 1fr;gap:.75rem;}
  .abj-about-grid{grid-template-columns:1fr;gap:1.25rem;}
  .abj-about-visual{order:2;}
  .abj-about-text{order:1;}
  .abj-contact-grid{grid-template-columns:1fr;gap:1.25rem;}
  .abj-cta-extras{margin-top:1.25rem;}
  .abj-logo-img{height:30px;}
  .abj-logo-text{font-size:.95rem;}
}

/* === WEBSITE-001 PHASE4 APPEND === */
/* ============================================================
   WEBSITE-001 PHASE4 · Commercial Content · CSS append
   仅做文案节奏、tag、CTA 微调；Phase3 的视觉骨架全部保留
   ============================================================ */

/* ---------------- Hero · eyebrow + credibility + 3 CTA + trust row ---------------- */
.abj-eyebrow {
  display: inline-block;
  margin: 0 0 1rem 0;
  padding: .3rem .7rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  background: #ECFEFF;
  color: #0E7490;
  border-radius: 999px;
  border: 1px solid rgba(6,182,212,.25);
}
.abj-hero-credibility {
  margin: 0 0 1.5rem 0;
  color: #475569;
  font-size: .92rem;
  line-height: 1.55;
  max-width: 56ch;
  position: relative;
  padding-left: 12px;
  border-left: 2px solid #06B6D4;
}
.abj-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-bottom: 1.5rem;
}
.abj-cta--quiet {
  background: transparent;
  color: #475569;
  border: 1px dashed #CBD5E1;
  padding: .65rem 1.1rem;
}
.abj-cta--quiet:hover {
  background: #F1F5F9;
  color: #0F172A;
  border-color: #94A3B8;
}
.abj-trust-row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .85rem;
  font-size: .82rem;
  color: #64748B;
}
.abj-trust-row li {
  position: relative;
  padding-left: 1.05rem;
}
.abj-trust-row li::before {
  content: "";
  position: absolute;
  left: 0; top: 50%;
  width: 6px; height: 6px;
  margin-top: -3px;
  border-radius: 50%;
  background: #06B6D4;
}

/* ---------------- 用户卡 · 强化 audience + result ---------------- */
.abj-card-audience {
  margin: -.35rem 0 .65rem 0;
  font-size: .8rem;
  color: #0E7490;
  font-weight: 600;
  letter-spacing: .04em;
}
.abj-card-result {
  margin: .85rem 0 0 0;
  padding-top: .7rem;
  border-top: 1px dashed #E2E8F0;
  font-size: .88rem;
  color: #475569;
}
.abj-card-result b {
  color: #0F172A;
  font-weight: 600;
  margin-right: .25rem;
}

/* ---------------- 产品/项目卡 · dl/dt/dd 结构 + CTA block ---------------- */
.abj-card-fields {
  margin: 1rem 0;
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: .55rem .75rem;
  font-size: .88rem;
}
.abj-card-fields dt {
  color: #0E7490;
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .02em;
  padding-top: .12rem;
}
.abj-card-fields dd {
  margin: 0;
  color: #334155;
  line-height: 1.55;
}
.abj-card-fields dd ul {
  margin: 0;
  padding: 0 0 0 1.05rem;
  list-style: disc;
}
.abj-card-fields dd ul li {
  margin: 0;
  line-height: 1.6;
  color: #334155;
}
.abj-card-one {
  margin: .25rem 0 .9rem 0;
  color: #334155;
  font-size: .95rem;
  line-height: 1.55;
}
.abj-card--project .abj-card-body {
  padding: 1.1rem 1.25rem 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.abj-card--project {
  display: flex;
  flex-direction: column;
}
.abj-card--product .abj-cta--block,
.abj-card--project .abj-cta--block {
  margin-top: auto;
  padding: .75rem 1rem;
  font-size: .92rem;
}

/* ---------------- 合作方式 · 阶梯 footer ---------------- */
.abj-coop-foot {
  margin: 1.5rem 0 0 0;
  text-align: center;
  color: #475569;
  font-size: .95rem;
  font-style: italic;
}

/* ---------------- 能力区 footer ---------------- */
.abj-capability-foot {
  margin: 1.5rem 0 0 0;
  text-align: center;
  color: #94A3B8;
  font-size: .95rem;
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
}

/* ---------------- 方法论 footer ---------------- */
.abj-method-foot {
  margin: 1.25rem 0 0 0;
  padding: .9rem 1rem;
  border-left: 3px solid #06B6D4;
  background: rgba(6,182,212,.06);
  color: #0F172A;
  font-size: .92rem;
  line-height: 1.55;
}

/* ---------------- 关于我 · focus 段 ---------------- */
.abj-about-focus {
  margin: .85rem 0;
  padding: .85rem 1rem;
  background: #F8FAFC;
  border-left: 3px solid #10B981;
  border-radius: 0 8px 8px 0;
  color: #334155;
  font-size: .92rem;
  line-height: 1.6;
}

/* ---------------- 联系区 · footer ---------------- */
.abj-contact-foot {
  margin: 1.25rem 0 0 0;
  color: #64748B;
  font-size: .9rem;
}

/* ---------------- 关键 CTA 微调 ---------------- */
.abj-card-tag {
  /* 在原 .abj-card-tag 上小幅加固 */
  letter-spacing: .04em;
}

/* ---------------- Responsive: dl/dt/dd 转 stack ---------------- */
@media (max-width: 560px) {
  .abj-card-fields {
    grid-template-columns: 1fr;
    gap: .25rem 0;
  }
  .abj-card-fields dt {
    margin-top: .35rem;
    padding-top: 0;
  }
  .abj-trust-row {
    flex-direction: column;
    gap: .25rem;
  }
  .abj-hero-cta {
    flex-direction: column;
  }
  .abj-hero-cta .abj-cta {
    text-align: center;
  }
}

/* === WEBSITE-001 PHASE4.6 APPEND === */
/* ============================================================
   WEBSITE-001 PHASE4.6 · Layout fix CSS append
   - Logo hard constraint
   - Old wp-block-navigation style override (suppress试做站 primary nav)
   - Hide parent template-part wrappers if any leak
   ============================================================ */

/* Logo hard cap (defensive — defeats HTML width/height attrs) */
.abj-logo-img {
  width: auto !important;
  height: auto !important;
  max-height: 48px !important;
  max-width: 180px !important;
  object-fit: contain !important;
  display: block;
}
.abj-logo { display: inline-flex; align-items: center; gap: .5rem; }

/* Suppress parent's default responsive wp-block-navigation that contains
   the 15 legacy 试做站 productinfo items (301031~301046). */
.is-responsive.items-justified-center.wp-block-navigation,
.is-responsive.items-justified-right.wp-block-navigation,
.is-responsive.items-justified-left.wp-block-navigation,
.is-responsive.items-justified-space-between.wp-block-navigation {
  display: none !important;
}
/* Also hide vertical wp-block-navigation defaults from parent */
.is-vertical.wp-block-navigation {
  display: none !important;
}
/* And the parent template-part wrapper itself (footer credit + any header fallback) */
.wp-block-template-part:not(.abj-footer):not(header.abj-nav):not(footer.abj-footer) {
  display: none !important;
}
/* But our own footer stays visible */
footer.abj-footer { display: block !important; }
header.abj-nav { display: block !important; }
/* === WEBSITE-001 PHASE4.7 APPEND === */
/* DEBUG-C-PRECISE-DOM Step 3 evidence-based minimal fix. No template edits,
 * no post_content edits, no parent theme edits, no overflow-x:hidden cover-up. */

/* h1[0] .wp-block-post-title "首页" — auto-injected by WP page-template-default.
   evidence: body.home > div.wp-site-blocks > main > div > h1.wp-block-post-title
   (sibling of div.entry-content, rendered by template — NOT in post_content).
   Keep real hero h1 inside .abj-hero-text (h1[1]). */
body.home h1.wp-block-post-title { display: none !important; }

/* footer[1] .wp-block-template-part — block theme template part footer.
   evidence: body.home > div.wp-site-blocks > footer.wp-block-template-part
   (sibling of main, rendered by template — NOT in post_content).
   Keep real .abj-footer (footer[0]) from post_content.
   parts/footer.html 137B empty override from B.1 did not take effect; CSS hide
   does not delete data and does not change parent theme. */
footer.wp-block-template-part { display: none !important; }

/* nav[0] old productinfo — inside template-part header.
   evidence: header.wp-block-template-part > ... > nav.is-responsive.items-justified-right.wp-block-navigation
   items include /productinfo/301031.html — old primary menu id=3 still assigned
   to template-part header location. Per "stop front-end rendering, don't delete
   historical data" rule: CSS hide only. Does NOT delete menu from DB. */
header.wp-block-template-part nav.is-responsive.items-justified-right.wp-block-navigation {
  display: none !important;
}

/* nav[2]+nav[3] go away with footer.wp-block-template-part hide above
   (evidence: both have ancestor footer.wp-block-template-part). */

/* Image overflow fix — real constraint, not overflow-x:hidden cover-up.
   evidence: top overflow offenders at 1440: img w=1600 right=1998; a.abj-card-img w=1400 right=1798.
   At 390: img w=1600 right=1630 (forces layout viewport to 1560).
   Fix: max-width:100% on img + abj-card-img wrappers. */
img { max-width: 100%; height: auto; }
a.abj-card-img { max-width: 100%; display: inline-block; }
a.abj-card-img img { max-width: 100%; height: auto; display: block; }
/* === END WEBSITE-001 PHASE4.7 APPEND === */
/* === WEBSITE-004 ABJ-CTA-QUIET MOBILE FIX BEGIN === */
@media (max-width: 768px) {
  .abj-hero-cta a.abj-cta--quiet,
  .abj-hero-cta a.abj-cta--quiet:link,
  .abj-hero-cta a.abj-cta--quiet:visited {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border: 1px solid #8edbe5 !important;
    border-style: solid !important;
    opacity: 1 !important;
    text-decoration: none !important;
    min-height: 44px;
    box-sizing: border-box;
  }
  .abj-hero-cta a.abj-cta--quiet:hover,
  .abj-hero-cta a.abj-cta--quiet:focus,
  .abj-hero-cta a.abj-cta--quiet:active {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background-color: #f8fafc !important;
    border-color: #5fc4d4 !important;
    opacity: 1 !important;
  }
}
/* === WEBSITE-004 ABJ-CTA-QUIET MOBILE FIX END === */