/* ===== POSE 朴西 — official brand VI stylesheet v3 =====
   Source: POSE_VI_260716.pdf
   Core Color: Aqua Blue #7FDED4 (PANTONE 7471C)
   Palette: Night Black / Cloud White / Sprout Green / Cedar Brown / Salt Beige / Slate Grey
   Type: Denim (-> Archivo), Chivo Mono, HarmonyOS Sans SC (CN)
*/

:root {
  --ink: #0A0A0A;          /* Night Black */
  --muted: #51555A;        /* Slate Grey */
  --cream: #FFFFFF;        /* Cloud White */
  --sand: #E0DEDB;         /* Salt Beige */
  --line: #E0DEDB;
  --aqua: #7FDED4;         /* Core Color */
  --sprout: #DEEF40;       /* Sprout Green */
  --cedar: #663B0C;        /* Cedar Brown */
  --caramel: #7FDED4;      /* legacy var name -> aqua */
  --serif: "Archivo", "PingFang SC", "Helvetica Neue", sans-serif;   /* legacy var name -> heading face */
  --sans: "Inter", -apple-system, "Segoe UI", "PingFang SC", sans-serif;
  --mono: "Chivo Mono", "SF Mono", monospace;
}

body.page { background: var(--cream); }
body.page .entry-header,
body.page .entry-title,
body.page .post-navigation { display: none; }
body.page .site-main .ast-container { max-width: 100%; padding: 0; }
body.page .entry-content { margin: 0; padding: 0; }

.px-wrap { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.px-sec { padding: 96px 0; }
.px-sec.tight { padding: 64px 0; }
.px-sec.sand { background: var(--sand); }

.px-kicker { font-family: var(--mono); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
.px-kicker::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--aqua); margin-right: 10px; }
.px-h2 { font-family: var(--serif); font-size: 48px; font-weight: 600; line-height: 1.15; color: var(--ink); margin: 0 0 18px; letter-spacing: -1px; }
.px-sub { font-family: var(--sans); font-size: 16px; color: var(--muted); line-height: 1.85; max-width: 680px; margin: 0 0 48px; }

.px-btn { display: inline-block; font-family: var(--sans); font-size: 13px; font-weight: 500; letter-spacing: 2px; text-transform: uppercase; padding: 17px 36px; border-radius: 0; text-decoration: none; transition: .2s; border: 1px solid var(--ink); }
.px-btn-solid { background: var(--ink); color: #fff !important; }
.px-btn-solid:hover { background: var(--aqua); color: var(--ink) !important; border-color: var(--aqua); }
.px-btn-line { color: var(--ink) !important; background: transparent; }
.px-btn-line:hover { background: var(--ink); color: #fff !important; }
.px-btn-light { border-color: #fff; color: #fff !important; }
.px-btn-light:hover { background: #fff; color: var(--ink) !important; }
.px-btn-light-solid { background: var(--aqua); border-color: var(--aqua); color: var(--ink) !important; }
.px-btn-light-solid:hover { background: #fff; border-color: #fff; }

/* texture: slate grid lines on salt beige — subtle, flat */
.px-weave {
  background-color: #EDEAE6;
  background-image:
    repeating-linear-gradient(0deg, rgba(81,85,90,.07) 0 1px, transparent 1px 12px),
    repeating-linear-gradient(90deg, rgba(81,85,90,.07) 0 1px, transparent 1px 12px);
}
.px-weave-dark {
  background-color: var(--ink);
  background-image:
    repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 1px, transparent 1px 12px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 12px);
}

/* hero */
.px-hero { padding: 88px 0 72px; border-bottom: 1px solid var(--line); }
.px-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 64px; align-items: center; }
.px-hero h1 { font-family: var(--serif); font-size: 76px; line-height: 1.02; font-weight: 600; color: var(--ink); margin: 0 0 26px; letter-spacing: -2.5px; }
.px-hero h1 em { font-style: normal; background: var(--aqua); padding: 0 10px; }
.px-hero p { font-family: var(--sans); font-size: 17px; line-height: 1.85; color: var(--muted); margin: 0 0 38px; max-width: 520px; }
.px-hero-art { aspect-ratio: 4/5; border: 1px solid var(--line); position: relative; display: flex; align-items: flex-end; padding: 28px; }
.px-hero-art span { font-family: var(--mono); font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--muted); }

/* brand bar — aqua, Night Black text (VI pairing) */
.px-brandbar { background: var(--aqua); color: var(--ink); padding: 20px 0; }
.px-brandbar .px-wrap { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; font-family: var(--mono); font-size: 12px; letter-spacing: 3px; text-transform: uppercase; }
.px-brandbar strong { font-family: var(--serif); font-size: 20px; letter-spacing: 4px; font-weight: 700; }

/* numbers */
.px-nums { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.px-num { padding: 36px 28px; border-right: 1px solid var(--line); }
.px-num:last-child { border-right: 0; }
.px-num b { display: block; font-family: var(--serif); font-size: 44px; font-weight: 600; color: var(--ink); line-height: 1; margin-bottom: 10px; letter-spacing: -1px; }
.px-num span { font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }

/* category cards */
.px-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.px-card { background: #fff; border: 1px solid var(--line); text-decoration: none; display: block; transition: .2s; }
.px-card:hover { transform: translateY(-3px); border-color: var(--ink); }
.px-card-swatch { height: 190px; position: relative; display: flex; align-items: flex-end; padding: 18px; }
.px-card-swatch span { font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: rgba(10,10,10,.6); }
.px-card-body { padding: 24px; }
.px-card-body h3 { font-family: var(--serif); font-size: 23px; font-weight: 600; color: var(--ink); margin: 0 0 8px; letter-spacing: -.5px; }
.px-card-body p { font-family: var(--sans); font-size: 13px; line-height: 1.7; color: var(--muted); margin: 0 0 14px; }
.px-card-body i { font-style: normal; font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--ink); }
.px-card-body i::after { content: " →"; }

/* split feature */
.px-split { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.px-feature-list { list-style: none; margin: 0; padding: 0; }
.px-feature-list li { padding: 20px 0; border-bottom: 1px solid var(--line); font-family: var(--sans); font-size: 15px; color: var(--ink); line-height: 1.7; display: flex; gap: 18px; }
.px-feature-list li:first-child { border-top: 1px solid var(--line); }
.px-feature-list li b { font-family: var(--mono); font-size: 13px; font-weight: 500; color: var(--muted); min-width: 30px; padding-top: 2px; }

/* steps */
.px-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--line); }
.px-step { padding: 32px 24px 0 0; border-right: 1px solid var(--line); }
.px-step:last-child { border-right: 0; padding-right: 0; }
.px-step em { font-style: normal; font-family: var(--mono); font-size: 12px; color: var(--muted); letter-spacing: 2px; }
.px-step h3 { font-family: var(--serif); font-size: 22px; font-weight: 600; color: var(--ink); margin: 12px 0 8px; letter-spacing: -.5px; }
.px-step p { font-family: var(--sans); font-size: 13px; line-height: 1.75; color: var(--muted); }

/* product grid */
.px-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.px-item { background: #fff; border: 1px solid var(--line); }
.px-item-ph { height: 200px; display: flex; align-items: center; justify-content: center; font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }
.px-item h4 { font-family: var(--serif); font-size: 19px; font-weight: 600; color: var(--ink); margin: 18px 20px 6px; letter-spacing: -.3px; }
.px-item span { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); padding: 0 20px 20px; }

/* CTA band — Aqua Blue with Night Black text */
.px-cta { background: var(--aqua); color: var(--ink); padding: 88px 0; text-align: center; }
.px-cta h2 { font-family: var(--serif); font-size: 46px; font-weight: 600; margin: 0 0 14px; letter-spacing: -1px; }
.px-cta p { font-family: var(--sans); font-size: 15px; color: rgba(10,10,10,.72); margin: 0 0 32px; }

/* contact / form */
.px-contact { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; }
.px-contact h3 { font-family: var(--serif); font-size: 26px; font-weight: 600; margin: 0 0 18px; color: var(--ink); letter-spacing: -.5px; }
.px-contact p { font-family: var(--sans); font-size: 14px; line-height: 2; color: var(--muted); }
.px-contact strong { color: var(--ink); font-weight: 500; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
  width: 100%; font-family: var(--sans); font-size: 14px; padding: 13px 14px;
  border: 1px solid var(--line); background: #fff; border-radius: 0; color: var(--ink);
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--ink); }
.wpcf7 label { font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 18px; }
.wpcf7 input[type="submit"] { background: var(--ink); color: #fff; border: 0; padding: 17px 40px; font-family: var(--sans); font-size: 13px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; transition: .2s; }
.wpcf7 input[type="submit"]:hover { background: var(--aqua); color: var(--ink); }

/* site header / logo typography — Night Black wordmark */
.site-title, .site-title a { font-family: var(--serif) !important; letter-spacing: 4px !important; font-weight: 700 !important; color: var(--ink) !important; }
.main-header-menu > .menu-item > .menu-link { font-family: var(--mono); font-size: 12px; letter-spacing: 2px; text-transform: uppercase; }
.ast-site-identity .site-description { font-family: var(--mono); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); }

/* whatsapp — Night Black, aqua hover */
.wa-float { position: fixed; right: 24px; bottom: 24px; z-index: 9999; width: 54px; height: 54px; border-radius: 50%; background: var(--ink); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(10,10,10,.25); transition: .2s; }
.wa-float:hover { background: var(--aqua); }
.wa-float:hover svg { fill: var(--ink); }
.wa-float svg { width: 28px; height: 28px; fill: #fff; transition: .2s; }

@media (max-width: 1024px) {
  .px-hero-grid, .px-split, .px-contact { grid-template-columns: 1fr; gap: 40px; }
  .px-hero h1 { font-size: 52px; letter-spacing: -1.5px; }
  .px-cats, .px-grid, .px-steps, .px-nums { grid-template-columns: repeat(2, 1fr); }
  .px-step { border-right: 0; padding: 24px 0 0; }
  .px-num:nth-child(2) { border-right: 0; }
}
@media (max-width: 640px) {
  .px-cats, .px-grid { grid-template-columns: 1fr; }
  .px-sec { padding: 64px 0; }
  .px-h2 { font-size: 34px; }
  .px-hero h1 { font-size: 42px; }
  .px-nums { grid-template-columns: 1fr 1fr; }
  .px-num { border-bottom: 1px solid var(--line); }
}

/* ===== v3.1 additions: spec table, feature icons, FAQ, note ===== */
.px-table { width: 100%; border-collapse: collapse; margin: 8px 0 0; font-family: var(--sans); font-size: 14px; }
.px-table th { text-align: left; font-family: var(--mono); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); font-weight: 500; padding: 14px 16px; border-bottom: 1px solid var(--ink); background: transparent; }
.px-table td { padding: 15px 16px; border-bottom: 1px solid var(--line); color: var(--ink); line-height: 1.6; vertical-align: top; }
.px-table tr:hover td { background: rgba(127,222,212,.10); }
.px-table td:first-child { font-weight: 500; }

.px-icons { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); margin-top: 8px; }
.px-icon { padding: 26px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.px-icon svg { width: 26px; height: 26px; stroke: var(--ink); fill: none; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.px-icon span { display: block; margin-top: 12px; font-family: var(--mono); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); }

.px-faq { border-top: 1px solid var(--line); }
.px-faq details { border-bottom: 1px solid var(--line); padding: 22px 0; }
.px-faq summary { cursor: pointer; list-style: none; font-family: var(--sans); font-size: 16px; font-weight: 500; color: var(--ink); display: flex; justify-content: space-between; gap: 24px; }
.px-faq summary::-webkit-details-marker { display: none; }
.px-faq summary::after { content: "+"; font-family: var(--mono); color: var(--muted); }
.px-faq details[open] summary::after { content: "–"; }
.px-faq p { font-family: var(--sans); font-size: 14px; line-height: 1.85; color: var(--muted); margin: 14px 0 0; max-width: 820px; }

.px-note { border-left: 3px solid var(--aqua); background: rgba(127,222,212,.12); padding: 16px 20px; font-family: var(--sans); font-size: 13px; line-height: 1.8; color: var(--muted); margin: 24px 0 0; }

.px-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.px-col { border-top: 2px solid var(--ink); padding-top: 18px; }
.px-col h4 { font-family: var(--serif); font-size: 18px; font-weight: 600; color: var(--ink); margin: 0 0 8px; }
.px-col p { font-family: var(--sans); font-size: 13px; line-height: 1.7; color: var(--muted); }

@media (max-width: 900px) {
  .px-icons { grid-template-columns: repeat(3, 1fr); }
  .px-cols { grid-template-columns: repeat(2, 1fr); }
  .px-table { font-size: 13px; }
}

/* v3.1: label chips over photos */
.px-hero-art span, .px-card-swatch span { background: rgba(255,255,255,.92); padding: 6px 12px; border-radius: 2px; }
.px-item-ph[style*="url("] { background-color: #EDEAE6; }
