/* PCCC Bình An (pccc) — trang trong theo mockup pccc-inner/mockups/{about,service,project,contact}-desktop-v1.png (10-03).
   Tiền tố pci- (không trùng pc- của trang chủ; dùng lại có chủ đích: pc-sec, pc-h2, pc-eyebrow, pc-btn, pc-mi, pc-dl*, pc-rules, pc-head, pc-more). */
.pci-built #content, .pci-page { background: #fff !important; padding: 0 !important; }
.pci-built .page-title, .pci-built .shop-page-title, .pci-built .product-page-title, .pci-built .rt-breadcrumbs, .pci-built .blog-share { display: none !important; }
.pci-wrap { max-width: 1230px; margin: 0 auto; padding: 0 15px; }
.pci-page p, .pci-sec p { margin-bottom: 0; }
.pci-crumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0 9px; color: #333; font-size: 14px; line-height: 20px; }
.pci-crumb a { color: #333 !important; } .pci-crumb a:hover { color: var(--pc-red) !important; }
.pci-crumb span { color: #777; } .pci-crumb em { font-style: normal; color: #555; }
.pci-h1 { color: var(--pc-ink) !important; font-size: 48px !important; font-weight: 700 !important; line-height: 56px !important; letter-spacing: -.01em; margin: 0 !important; }
.pci-h2 { margin: 0 !important; }
.pc-sec .pc-h2.pci-h2, .pci-page .pc-h2.pci-h2 { font-size: 39.5px !important; line-height: 46px !important; }
.pci-story .pc-h2.pci-h2 { font-size: 43px !important; line-height: 50px !important; }
.pci-sub { color: var(--pc-text); font-size: 20px; line-height: 28px; margin-top: 6px; }
.pci-lead { color: #3D4148; font-size: 20px; line-height: 30px; margin-top: 12px; }
.pci-more { display: inline-flex; align-items: center; gap: 8px; color: var(--pc-red) !important; font-size: 15.5px; font-weight: 700; }
.pci-more i { font-style: normal; }
.pci-btns { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.pci-btns .pc-btn { min-width: 215px; min-height: 56px; font-size: 18px; }
.pci-btns .pc-btn .pc-mi { width: 18px; height: 18px; background: #fff; }
.pci-btn-ol { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 222px; min-height: 56px; padding: 0 24px; border: 1.5px solid var(--pc-ink); border-radius: 3px; color: var(--pc-ink) !important; font-size: 17.5px; font-weight: 500; background: #fff; }
.pci-btn-ol:hover { border-color: var(--pc-red); color: var(--pc-red) !important; }
.pci-btn-ol i { font-style: normal; }
.pci-ticks { display: flex; flex-wrap: wrap; gap: 14px 60px; margin-top: 30px; color: #4A4A4A; font-size: 15px; }
.pci-ticks span { display: inline-flex; align-items: center; gap: 10px; }
.pci-ticks .pc-mi { width: 20px; height: 20px; background: var(--pc-green); }
.pci-clist { margin: 0 !important; padding: 0; list-style: none; }
.pci-clist li { display: flex; align-items: center; gap: 16px; margin: 0 !important; min-height: 40px; font-size: 18px; line-height: 26px; color: var(--pc-ink); }
.pci-clist li a, .pci-clist li span { color: var(--pc-ink) !important; overflow-wrap: anywhere; }
.pci-clist .pc-mi { width: 22px; height: 22px; background: var(--pc-red); }
.pci-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.pci-head h2 { flex: 0 0 auto; width: fit-content; }

/* ---------- Giới thiệu ---------- */
.section.pci-hero-ab { padding: 0 !important; min-height: 387px; align-items: flex-start !important; }
.pci-hero-ab .section-bg img.bg { object-position: 58% 36% !important; }
.pci-hero-ab .section-bg::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 60%; background: linear-gradient(90deg, rgba(255,255,255,.97) 0, rgba(255,255,255,.92) 52%, rgba(255,255,255,0) 100%); pointer-events: none; }
.pci-hero-ab .section-bg::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 26%; background: linear-gradient(0deg, rgba(255,255,255,.35), rgba(255,255,255,0)); z-index: 1; pointer-events: none; }
.pci-hero-in { position: relative; padding: 30px 0 52px; }
.pci-hero-in .pc-eyebrow { margin: 25px 0 6px; }
.pci-hero-in .pci-lead { margin-top: 14px; font-size: 18.5px; line-height: 30px; color: #3A3D42; }
.section.pci-story-sec { padding: 0 !important; overflow: hidden; }
.pci-story { display: grid; grid-template-columns: 610px minmax(0, 1fr); gap: 34px; align-items: start; }
.pci-story-b { padding: 34px 0 40px; min-width: 0; }
.pci-story .pc-h2 { margin-top: 2px !important; }
.pci-txt { margin-top: 26px; }
.pci-p { color: #33363B; font-size: 19.5px; line-height: 31px; margin: 0 0 14px; }
.pci-q { font-weight: 700; color: var(--pc-ink); margin-top: 22px; }
.pci-sign { margin: 0; }
.pci-story-img { margin: 27px min(0px, calc(615px - 50vw)) 23px 0; height: 489px; overflow: hidden; background: #E2E4E7; }
.pci-story-img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; display: block; }
.section.pci-vis-sec { padding: 34px 0 30px !important; }
.pci-vis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 29px; margin-top: 22px; }
.pci-vs { background: #fff; padding: 24px 26px 24px; min-height: 245px; }
.pci-vs-ic { width: 62px !important; height: 62px !important; background: var(--pc-red) !important; }
.pci-vs-t { color: var(--pc-ink) !important; font-size: 25px !important; font-weight: 700 !important; line-height: 30px !important; margin: 18px 0 8px !important; }
.pci-vs-d { color: #4A4D52; font-size: 18px; line-height: 28px; }
.section.pci-rule-sec { padding: 46px 0 40px !important; background: var(--pc-red) !important; }
.pci-rule-sec .section-bg { background: var(--pc-red) !important; }
.section.pci-org-sec { padding: 34px 0 36px !important; }
.pci-org { margin-top: 30px; }
.pci-org-top { width: 266px; margin: 0 auto; height: 54px; line-height: 54px; text-align: center; background: var(--pc-red); color: #fff; font-size: 19px; font-weight: 700; position: relative; }
.pci-org-top::after { content: ""; position: absolute; left: 50%; top: 100%; height: 26px; border-left: 2px solid #9EA2A8; }
.pci-org-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 45px; margin-top: 52px; position: relative; }
.pci-org-row::before { content: ""; position: absolute; top: -26px; left: 12.5%; right: 12.5%; border-top: 2px solid #9EA2A8; }
.pci-org-u { position: relative; height: 65px; display: flex; align-items: center; justify-content: center; text-align: center; border: 1.5px solid #C5C8CD; background: #fff; color: var(--pc-ink); font-size: 18px; font-weight: 700; padding: 0 10px; }
.pci-org-u::before { content: ""; position: absolute; left: 50%; bottom: 100%; height: 26px; border-left: 2px solid #9EA2A8; }
.section.pci-team-sec { padding: 38px 0 34px !important; }
.pci-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 29px; margin-top: 24px; }
.pci-tm-img { height: 234px; overflow: hidden; background: #E2E4E7; }
.pci-tm-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pci-tm-t { color: var(--pc-ink) !important; font-size: 22px !important; font-weight: 700 !important; line-height: 28px !important; margin: 18px 0 4px !important; }
.pci-tm-d { color: #4A4D52; font-size: 18px; line-height: 28px; }
.section.pci-cmt-sec { padding: 28px 0 30px !important; margin-top: 12px; }
.pci-cmt { display: grid; grid-template-columns: 548fr 682fr; gap: 0; align-items: start; }
.pci-cmt-q { color: var(--pc-ink); font-size: 36px; font-weight: 400; line-height: 46px; margin-top: 28px; letter-spacing: -.01em; }
.pci-cmt-r { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 25px; }
.pci-ck { display: flex; gap: 18px; background: #fff; padding: 20px 22px 20px; min-height: 115px; }
.pci-ck-ic { width: 26px !important; height: 26px !important; background: var(--pc-green) !important; margin-top: 2px; }
.pci-ck-t { color: var(--pc-ink) !important; font-size: 18px !important; font-weight: 700 !important; line-height: 24px !important; margin: 0 0 7px !important; }
.pci-ck-d { color: #55595F; font-size: 15px; line-height: 25px; }
.section.pci-dl-sec .pc-dl { min-height: 106px; }
.pci-dl .pc-dl-ic { width: 64px; height: 64px; }
.pci-dl .pc-dl-t { font-size: 29px !important; line-height: 36px !important; }
.pci-dl .pc-dl-d { font-size: 20.5px; line-height: 27px; }
.pci-dl .pc-dl-btn { min-width: 257px; min-height: 58px; font-size: 18px; }
.section.pci-cta-sec { padding: 40px 0 36px !important; }
.pci-cta { display: grid; grid-template-columns: 730fr 500fr; align-items: start; }
.pci-cta .pci-sub { margin-top: 10px; }
.pci-cta-btn { min-width: 225px; min-height: 56px; font-size: 18px; }
.pci-cta-r .pci-clist { margin-top: 22px !important; }
.pci-cta-r .pci-clist li { min-height: 42px; font-size: 19px; }

/* ---------- Dịch vụ (danh sách + trang con) ---------- */
.section.pci-shero { padding: 0 !important; overflow: hidden; }
.pci-shero-g { display: grid; grid-template-columns: 520fr 752fr; gap: 30px; align-items: start; }
.pci-shero-b { padding: 30px 0 30px; min-width: 0; }
.pci-shero-b .pc-eyebrow { margin: 46px 0 8px; }
.pci-h1-svc { font-size: 52px !important; line-height: 62px !important; }
.pci-shero-img { margin: 30px min(0px, calc(615px - 50vw + 26px)) 26px 0; height: 448px; overflow: hidden; background: #E2E4E7; }
.pci-shero-img img { width: 100%; height: 100%; object-fit: cover; object-position: 78% 30%; display: block; }
.section.pci-svc-sec { padding: 30px 0 22px !important; background: linear-gradient(#F6F7F8, #fff 60%) !important; }
.pci-svcs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; margin: 38px 0 0; }
@media (min-width: 1400px) { .pci-svc-sec .pci-svcs { margin-left: -65px; margin-right: -65px; } }
.pci-svc { background: #fff; border: 1px solid #E1E3E6; display: flex; flex-direction: column; min-width: 0; }
.pci-svc-img { display: block; height: 213px; overflow: hidden; background: #E2E4E7; }
.pci-svc-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.pci-svc:hover .pci-svc-img img { transform: scale(1.04); }
.pci-svc-b { padding: 20px 22px 26px; display: flex; flex-direction: column; flex: 1; }
.pci-svc-h { display: flex; gap: 16px; align-items: flex-start; }
.pci-svc-n { color: var(--pc-red); font-size: 52px; font-weight: 700; line-height: 52px; letter-spacing: -.02em; flex: 0 0 auto; }
.pci-svc-t { color: var(--pc-ink) !important; font-size: 21px !important; font-weight: 700 !important; line-height: 27px !important; margin: 0 !important; padding-top: 1px; }
.pci-svc-t a { color: var(--pc-ink) !important; }
.pci-svc-d { color: #4E5258; font-size: 16.5px; line-height: 27px; margin: 22px 0 18px; flex: 1; }
.section.pci-proc-sec { padding: 40px 0 46px !important; background: #F1F2F4 !important; }
.pci-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 32px; }
.pci-st { position: relative; padding: 0 22px 0 0; min-width: 0; }
.pci-st + .pci-st { padding-left: 0; }
.pci-st-n { color: var(--pc-red); font-size: 42px; font-weight: 700; line-height: 46px; display: flex; align-items: center; gap: 12px; }
.pci-st-n::after { content: ""; flex: 1; height: 1px; background: #B9BCC1; margin-right: 0; }
.pci-st:not(:last-child)::after { content: ""; position: absolute; right: 22px; top: 22px; height: 30px; border-right: 1px solid #B9BCC1; }
.pci-st:last-child .pci-st-n::after { display: none; }
.pci-st-ic { width: 44px !important; height: 44px !important; background: var(--pc-ink) !important; margin-top: 20px; }
.pci-st-t { color: var(--pc-ink) !important; font-size: 21px !important; font-weight: 700 !important; line-height: 24px !important; margin: 22px 0 8px !important; }
.pci-st-d { color: #4E5258; font-size: 18.5px; line-height: 29px; }
.section.pci-price-sec { padding: 42px 0 40px !important; }
.pci-tbl { width: 100%; border-collapse: collapse; margin: 30px 0 0 !important; border: 1px solid #D9DBDF; }
.pci-tbl th { background: var(--pc-red) !important; color: #fff !important; font-size: 19px; font-weight: 700; text-transform: none !important; letter-spacing: 0; padding: 14px 24px !important; text-align: left; border: 0 !important; }
.pci-tbl th:first-child, .pci-tbl td:first-child { padding-left: 24px !important; width: 270px; }
.pci-tbl th:nth-child(2), .pci-tbl td:nth-child(2) { border-left: 1px solid #D9DBDF !important; }
.pci-tbl th:last-child, .pci-tbl td:last-child { width: 230px; border-left: 1px solid #D9DBDF !important; }
.pci-tbl td { padding: 14px 24px !important; font-size: 18px; color: #4A4D52; border-top: 1px solid #E3E5E8 !important; border-bottom: 0 !important; }
.pci-tbl td:first-child { color: var(--pc-ink); font-weight: 700; }
.pci-tbl td a { color: var(--pc-red) !important; font-weight: 700; white-space: nowrap; } .pci-tbl td a i { font-style: normal; }
.section.pci-faq-sec { padding: 26px 0 30px !important; }
.pci-faqg { display: grid; grid-template-columns: 552fr 656fr; gap: 22px; align-items: start; }
.pci-faqg-l .pc-h2 { margin-top: 8px !important; }
.pci-faq { border: 1px solid #D9DBDF; }
.pci-fq + .pci-fq { border-top: 1px solid #D9DBDF; }
.pci-fq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 22px; color: var(--pc-ink); font-size: 18px; font-weight: 500; line-height: 24px; }
.pci-fq summary::-webkit-details-marker { display: none; }
.pci-fq summary i { position: relative; flex: 0 0 16px; width: 16px; height: 16px; }
.pci-fq summary i::before, .pci-fq summary i::after { content: ""; position: absolute; left: 0; right: 0; top: 7px; height: 2px; background: currentColor; }
.pci-fq summary i::after { transform: rotate(90deg); }
.pci-fq[open] summary { color: var(--pc-red); font-weight: 700; padding-bottom: 6px; }
.pci-fq[open] summary i { color: var(--pc-red); } .pci-fq[open] summary i::after { display: none; }
.pci-fq-a { padding: 0 22px 16px; color: #4E5258; font-size: 16.5px; line-height: 27px; }
.pci-faq-sec .pci-faqg-l .pci-sub { font-size: 23px; line-height: 32px; }
.pci-svc-sec .pc-h2.pci-h2 { font-size: 43px !important; line-height: 50px !important; }
.pci-fsec .pc-h2.pci-h2 { font-size: 45px !important; line-height: 52px !important; }
.section.pci-fsec, .pci-fsec { padding: 30px 0 44px !important; background: #F3F4F6 !important; }
.pci-fwrap { display: grid; grid-template-columns: 676fr 517fr; gap: 45px; align-items: start; }
.pci-fl, .pci-fr { min-width: 0; }
.pci-fl .pc-eyebrow { margin-top: 0; }
.pci-fr-img { height: 328px; overflow: hidden; background: #E2E4E7; }
.pci-fr-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pci-fr .pci-clist { margin-top: 14px !important; }
.pci-fr .pci-clist li, .pci-fr .pci-clist li a, .pci-fr .pci-clist li span { min-height: 34px; font-size: 18px; }
.pci-cf7 { margin-top: 22px; }
.pci-cf7 form { margin: 0; }
.pci-cf7 .wpcf7-form-control-wrap { display: block; }
.pci-cf7 input[type=text], .pci-cf7 input[type=tel], .pci-cf7 input[type=email], .pci-cf7 select, .pci-cf7 textarea { width: 100%; height: 44px !important; min-height: 44px; margin: 0 !important; background: #fff !important; border: 1px solid #D3D6DA !important; border-radius: 2px !important; box-shadow: none !important; font-size: 15px !important; color: var(--pc-ink); padding: 0 14px !important; }
.pci-cf7 select { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%23141414' stroke-width='2.2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center no-repeat !important; -webkit-appearance: none; appearance: none; padding-right: 36px !important; }
.pci-cf7 textarea { height: 104px !important; min-height: 104px; padding: 11px 14px !important; resize: vertical; }
.pci-cf7 input::placeholder, .pci-cf7 textarea::placeholder { color: #8A8E94; }
.pci-cf7 .pci-lb { display: block; color: #4A4D52; font-size: 15.5px; line-height: 18px; margin: 0 0 6px; }
.pci-cf7 .pci-lb i { color: var(--pc-red); font-style: normal; }
.pci-cf7 input[type=submit], .pci-cf7 .wpcf7-submit { background: var(--pc-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") right 22px center no-repeat !important; color: #fff !important; border: 0 !important; border-radius: 3px !important; height: 46px; min-height: 46px; padding: 0 54px 0 28px !important; font-size: 16px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important; box-shadow: none !important; }
.pci-cf7 input[type=submit]:hover { background-color: var(--pc-red-d) !important; }
.pci-cf7 .wpcf7-spinner { position: absolute; margin: 12px 0 0 10px; }
.pci-cf7 .wpcf7-not-valid-tip { font-size: 12.5px; margin-top: 3px; }
.pci-cf7 .wpcf7-response-output { margin: 14px 0 0 !important; font-size: 14px; border-radius: 3px; }
.pci-fs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; row-gap: 16px; grid-template-areas: "a b" "c d" "e f" "g ."; }
.pci-fs > div { min-width: 0; } .pci-fs > .a { grid-area: a; } .pci-fs > .b { grid-area: b; } .pci-fs > .c { grid-area: c; } .pci-fs > .d { grid-area: d; } .pci-fs > .e { grid-area: e; } .pci-fs > .f { grid-area: f; } .pci-fs > .g { grid-area: g; position: relative; }
.pci-fs > .f textarea { height: 102px !important; min-height: 102px; }
.pci-fs > .e select { height: 40px !important; min-height: 40px; }

/* trang dịch vụ con: phạm vi + lý do chọn (cùng bộ khối trang Dịch vụ) */
.section.pci-scope-sec { padding: 40px 0 44px !important; }
.pci-scope { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 24px; margin-top: 26px; }
.pci-sc { display: flex; align-items: center; gap: 18px; border: 1px solid #E1E3E6; border-left: 3px solid var(--pc-red); background: #fff; padding: 18px 20px; min-height: 92px; }
.pci-sc-n { color: var(--pc-red); font-size: 34px; font-weight: 700; line-height: 36px; flex: 0 0 auto; }
.pci-sc-t { color: var(--pc-ink); font-size: 17.5px; font-weight: 500; line-height: 26px; }
.pci-why { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 34px; }
.pci-wy { background: #F1F2F4; padding: 26px 26px 28px; }
.pci-wy-ic { width: 52px !important; height: 52px !important; background: var(--pc-red) !important; }
.pci-wy-t { color: var(--pc-ink) !important; font-size: 22px !important; font-weight: 700 !important; line-height: 28px !important; margin: 16px 0 6px !important; }
.pci-wy-d { color: #4A4D52; font-size: 17px; line-height: 27px; }
.section.pci-other-sec { padding: 40px 0 44px !important; }
.pci-other-sec .pci-svcs { margin-top: 26px; }
.pci-svcs-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* ---------- Liên hệ ---------- */
.section.pci-chero-s, .pci-chero { padding: 26px 0 26px !important; background: #F1F2F4 !important; }
.pci-chero-s .pc-eyebrow, .pci-chero .pc-eyebrow { margin: 26px 0 6px; font-size: 14.5px; }
.pci-h1-c { font-size: 50px !important; line-height: 56px !important; }
.pci-chero-sub { color: var(--pc-ink); font-size: 38px; font-weight: 300; line-height: 44px; margin-top: 6px; }
.pci-arch .pci-chero-sub, .pci-shop .pci-chero-sub { font-size: 24px; line-height: 32px; }
.pci-bar { display: block; width: 50px; height: 3px; background: var(--pc-red); margin-top: 18px; }
.section.pci-ctf-sec { padding: 40px 0 44px !important; }
.pci-ctg { display: grid; grid-template-columns: 742fr 464fr; gap: 40px; align-items: start; }
.pci-ctg-l, .pci-ctg-r { min-width: 0; }
.pc-sec .pc-h2.pci-h2.pci-h2-m { font-size: 36px !important; line-height: 44px !important; }
.page-id-82 .pci-chero-s .pci-crumb { font-size: 12.5px; }
.pci-ctg-r .pc-h2.pci-h2.pci-h2-m { font-size: 33px !important; }
.pci-fbox { margin-top: 26px; border: 1px solid #DADCE0; padding: 28px 29px 24px; }
.pci-fbox .pci-cf7 { margin-top: 0; }
.pci-fc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; row-gap: 20px; grid-template-areas: "a b" "c c" "d d" "e e" "f f"; }
.pci-fc > div { min-width: 0; } .pci-fc > .a { grid-area: a; } .pci-fc > .b { grid-area: b; } .pci-fc > .c { grid-area: c; } .pci-fc > .d { grid-area: d; } .pci-fc > .e { grid-area: e; } .pci-fc > .f { grid-area: f; position: relative; }
.pci-fc textarea { height: 94px !important; min-height: 94px; }
.pci-fc .f { margin-top: 4px; }
.pci-safe { display: flex; align-items: center; gap: 10px; margin-top: 18px; color: #5A5E64; font-size: 14.5px; }
.pci-safe .pc-mi { width: 17px; height: 17px; background: #6A6E74; }
.pci-icards { display: grid; gap: 22px; margin-top: 26px; }
.pci-ic { display: flex; gap: 26px; align-items: flex-start; background: #F1F2F4; padding: 28px 30px 26px; color: var(--pc-ink) !important; }
a.pci-ic:hover .pci-ic-v { text-decoration: underline; }
.pci-ic-ic { width: 46px !important; height: 46px !important; background: var(--pc-red) !important; margin-top: 4px; }
.pci-ic-l { color: var(--pc-ink); font-size: 17.5px; line-height: 24px; }
.pci-ic-v { color: var(--pc-red); font-size: 29px; font-weight: 700; line-height: 38px; margin-top: 4px; }
.pci-ic-v2 { font-size: 23px; line-height: 32px; overflow-wrap: anywhere; }
.pci-ic-d { color: #5A5E64; font-size: 15px; line-height: 22px; margin-top: 4px; }
.pci-ic-a { color: var(--pc-ink); font-size: 18px; line-height: 29px; margin-top: 8px; }
.pci-hours { margin-top: 30px; padding-left: 20px; }
.pci-hours b { position: relative; display: block; color: var(--pc-ink); font-size: 18px; line-height: 24px; }
.pci-hours b::before { content: ""; position: absolute; left: -26px; top: 6px; width: 13px; height: 13px; border-radius: 50%; background: var(--pc-green); }
.pci-hours div { color: #5A5E64; font-size: 16px; line-height: 24px; margin-top: 8px; }
.section.pci-map-sec { padding: 22px 0 26px !important; }
.pci-map-sec .pc-more .pc-mi { width: 16px; height: 16px; background: var(--pc-red); }
.pci-map { position: relative; height: 324px; margin-top: 22px; background: #E2E4E7; overflow: hidden; border: 1px solid #DADCE0; }
.pci-map iframe { display: block; width: 100%; height: 100%; border: 0; filter: grayscale(.4); }
.pci-map-card { position: absolute; left: 18px; top: 18px; display: flex; gap: 16px; background: #fff; padding: 18px 30px 18px 22px; box-shadow: 0 4px 16px rgba(0,0,0,.14); }
.pci-map-ic { width: 26px !important; height: 26px !important; background: var(--pc-red) !important; }
.pci-map-card b { display: block; color: var(--pc-ink); font-size: 16px; line-height: 22px; }
.pci-map-card span { display: block; color: #4A4D52; font-size: 16.5px; line-height: 24px; margin-top: 4px; }
.section.pci-faq-ct { padding: 30px 0 44px !important; }
.pci-faq-ct .pci-faqg { grid-template-columns: 518fr 712fr; }
.pci-faq-ct .pci-faqg-l .pc-eyebrow { font-size: 15px; margin-top: 18px; }
.pci-faq-ct .pci-faq { border: 0; }
.pci-faq-ct .pci-fq { border-top: 0; border-bottom: 1px solid #D9DBDF; }
.pci-faq-ct .pci-fq:first-child { border-top: 1px solid #D9DBDF; }
.pci-faq-ct .pci-fq summary { flex-direction: row-reverse; justify-content: flex-end; gap: 20px; padding: 16px 0 16px; font-weight: 700; color: var(--pc-ink) !important; font-size: 18px; }
.pci-faq-ct .pci-fq summary i { flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; background: #FAD2D2; color: var(--pc-red); }
.pci-faq-ct .pci-fq summary i::before, .pci-faq-ct .pci-fq summary i::after { left: 7px; right: 7px; top: 12px; }
.pci-faq-ct .pci-fq-a { padding: 0 0 16px 46px; }

/* ---------- Bài / dự án ---------- */
.pci-ph { padding: 26px 0 0; }
.pci-ph .pc-eyebrow { margin: 22px 0 8px; }
.pci-h1-prj { font-size: 52px !important; line-height: 62px !important; max-width: 800px; }
.pci-ph-sub { color: #4A4D52; font-size: 22px; line-height: 28px; margin-top: 4px; }
.pci-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; }
.pci-facts > div { padding: 2px 20px 4px 10px; border-left: 1px solid #D5D8DC; min-width: 0; }
.pci-facts > div:first-child { border-left: 0; }
.pci-facts b { display: block; color: var(--pc-ink); font-size: 15.5px; line-height: 22px; }
.pci-facts span { display: block; color: #55595F; font-size: 15px; line-height: 24px; margin-top: 4px; }
.pci-dot { position: relative; padding-left: 18px; }
.pci-dot::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 10px; border-radius: 50%; background: var(--pc-green); }
@media (min-width: 1400px) { .pci-bigimg { margin-left: -49px !important; margin-right: -49px !important; } }
.pci-bigimg { margin: 28px 0 0; height: 450px; overflow: hidden; background: #E2E4E7; }
.pci-bigimg img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.pci-body-sec { padding: 26px 0 40px; }
.pci-body { display: grid; grid-template-columns: 819fr 350fr; gap: 49px; align-items: start; }
.pci-main { min-width: 0; }
.pci-ns { display: flex; gap: 26px; padding: 0 0 24px; margin-bottom: 26px; border-bottom: 1px solid #D5D8DC; }
.pci-ns:last-child { border-bottom: 0; margin-bottom: 0; }
.pci-ns-n { color: var(--pc-red); font-size: 46px; font-weight: 700; line-height: 46px; flex: 0 0 64px; }
.pci-ns-b { min-width: 0; flex: 1; }
.pci-ns-t { color: var(--pc-ink) !important; font-size: 31px !important; font-weight: 700 !important; line-height: 38px !important; margin: 0 0 10px !important; }
.pci-ns-d { color: #4A4D52; font-size: 17.5px; line-height: 28px; }
.pci-chk { margin: 0 !important; padding: 0; list-style: none; }
.pci-chk li { display: flex; align-items: center; gap: 18px; margin: 0 !important; padding: 9px 0; border-bottom: 1px solid #E5E7EA; color: #3D4046; font-size: 17.5px; line-height: 24px; }
.pci-chk li:last-child { border-bottom: 0; }
.pci-chk .pc-mi { width: 22px; height: 22px; background: var(--pc-red); }
.pci-side { position: sticky; top: 100px; min-width: 0; }
.pci-sbox { background: #F1F2F4; border-top: 4px solid var(--pc-red); padding: 22px 22px 26px; }
.pci-sbox-h { color: var(--pc-ink) !important; font-size: 25px !important; font-weight: 700 !important; line-height: 32px !important; margin: 0 0 10px !important; }
.pci-sdl { margin: 0 0 22px !important; }
.pci-sdl > div { display: grid; grid-template-columns: 120px 1fr; gap: 0 10px; padding: 12px 0; border-bottom: 1px solid #D9DBDF; }
.pci-sdl dt { color: var(--pc-ink) !important; font-size: 15px; font-weight: 700 !important; text-transform: none !important; margin: 0; }
.pci-sdl dd { color: #4A4D52 !important; font-size: 15px; margin: 0 !important; text-transform: none !important; }
.pci-sq { color: var(--pc-ink); font-size: 19px; font-weight: 700; line-height: 26px; }
.pci-sq-d { color: #4A4D52; font-size: 15.5px; line-height: 25px; margin-top: 6px; }
.pci-sbtn { width: 100%; min-height: 58px; margin-top: 16px; font-size: 18.5px; font-weight: 700; }
.pci-sphone { display: flex; align-items: center; gap: 18px; margin-top: 18px; color: var(--pc-ink) !important; font-size: 27px; font-weight: 700; line-height: 34px; }
.pci-sphone .pc-mi { width: 24px; height: 24px; background: var(--pc-red); }
.pci-smail { display: flex; align-items: center; gap: 18px; margin-top: 12px; color: var(--pc-ink) !important; font-size: 16px; overflow-wrap: anywhere; }
.pci-smail .pc-mi { width: 22px; height: 22px; background: var(--pc-red); }
.pci-sdl-btn { display: flex; align-items: center; gap: 18px; margin-top: 26px; border: 2px solid var(--pc-red); padding: 18px 24px; color: var(--pc-red) !important; font-size: 19px; font-weight: 700; }
.pci-sdl-btn .pc-mi { width: 38px; height: 38px; background: var(--pc-red); }
.pci-sdl-btn i { font-style: normal; }
.pci-gal-sec { padding: 6px 0 40px; }
.pci-gal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; margin-top: 22px; }
.pci-gal figure { margin: 0; min-width: 0; }
.pci-gal img { width: 100%; height: 200px; object-fit: cover; display: block; }
.pci-gal figcaption { color: var(--pc-ink); font-size: 17px; line-height: 22px; margin-top: 10px; }
.pci-rel-sec { padding: 38px 0 40px; background: #F1F2F4; }
.pci-rel-sec .pc-more, .pci-other-sec .pc-more, .pci-map-sec .pc-more { color: var(--pc-red) !important; font-size: 16px; font-weight: 700; }
.pci-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; margin-top: 24px; }
.pci-card { background: #fff; min-width: 0; display: flex; flex-direction: column; }
.pci-card-img { display: block; height: 156px; overflow: hidden; background: #E2E4E7; }
.pci-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pci-card-b { padding: 16px 20px 20px; }
.pci-card-k { color: var(--pc-red); font-size: 13px; font-weight: 700; line-height: 18px; text-transform: uppercase; letter-spacing: .02em; }
.pci-card-t { color: var(--pc-ink) !important; font-size: 21px !important; font-weight: 700 !important; line-height: 28px !important; margin: 6px 0 14px !important; }
.pci-card-t a { color: var(--pc-ink) !important; }
.pci-art { color: #3D4046; font-size: 17px; line-height: 29px; }
.pci-art h2 { font-size: 28px; line-height: 36px; margin: 26px 0 12px; color: var(--pc-ink); }
.pci-art h3 { font-size: 22px; line-height: 30px; margin: 22px 0 10px; color: var(--pc-ink); }
.pci-art p, .pci-art li { font-size: 17.5px !important; line-height: 30px !important; }
.pci-art p { margin: 0 0 16px !important; }
.pci-art ul { margin: 0 0 18px 20px; } .pci-art li { margin-bottom: 6px; }
.pci-art img { max-width: 100%; height: auto; }

/* ---------- Danh sách (chuyên mục / vật tư) ---------- */
.pci-list-sec { padding: 40px 0 48px; }
.pci-cards-list { margin-top: 0; row-gap: 28px; }
.pci-cards-list .pci-card { border: 1px solid #E1E3E6; }
.pci-cards-list .pci-card-img { height: 230px; }
.pci-pager { display: flex; gap: 8px; justify-content: center; margin-top: 34px; }
.pci-pager .page-numbers { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #D5D8DC; color: var(--pc-ink); font-weight: 500; }
.pci-pager .page-numbers.current { background: var(--pc-red); border-color: var(--pc-red); color: #fff; }
.pci-empty { padding: 30px; background: #F1F2F4; color: #4A4D52; font-size: 17px; }
.pci-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 30px; }
.pci-chip { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; border: 1px solid #D5D8DC; color: var(--pc-ink) !important; font-size: 15.5px; font-weight: 500; background: #fff; }
.pci-chip.is-on, .pci-chip:hover { background: var(--pc-red); border-color: var(--pc-red); color: #fff !important; }
.pci-prods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pci-rel-sec .pci-prods { margin-top: 24px; }
.pci-prod { background: #fff; border: 1px solid #E1E3E6; display: flex; flex-direction: column; min-width: 0; }
.pci-prod-img { display: block; height: 230px; overflow: hidden; background: #F4F5F6; }
.pci-prod-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pci-prod-b { padding: 16px 18px 20px; display: flex; flex-direction: column; flex: 1; }
.pci-prod-t { color: var(--pc-ink) !important; font-size: 19px !important; font-weight: 700 !important; line-height: 26px !important; margin: 6px 0 8px !important; }
.pci-prod-t a { color: var(--pc-ink) !important; }
.pci-prod-d { color: #55595F; font-size: 14.5px; line-height: 23px; flex: 1; }
.pci-prod-a { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.pci-btn-sm { display: inline-flex; align-items: center; gap: 8px; background: var(--pc-red); color: #fff !important; font-size: 14.5px; font-weight: 500; padding: 0 14px; min-height: 40px; border-radius: 3px; }
.pci-btn-sm .pc-mi { width: 15px; height: 15px; background: #fff; }
.pci-prod-a .pci-more { font-size: 14.5px; }
.pci-pd-sec { padding: 26px 0 40px; }
.pci-pd-g { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; margin-top: 22px; align-items: start; }
.pci-pd-img { background: #F4F5F6; height: 520px; overflow: hidden; }
.pci-pd-img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.pci-pd-b .pc-eyebrow { margin: 6px 0 8px; }
.pci-h1-pd { font-size: 44px !important; line-height: 52px !important; }
.pci-pd-price { margin: 18px 0 16px; padding: 14px 0; border-top: 1px solid #E1E3E6; border-bottom: 1px solid #E1E3E6; font-size: 17px; color: #4A4D52; }
.pci-pd-price b { color: var(--pc-red); font-size: 22px; }
.pci-pd-desc { padding-top: 10px; background: #fff; }
.pci-pd-desc .pci-art { margin-top: 18px; }

/* ---------- khoảng giữa ---------- */
@media (min-width: 850px) and (max-width: 1199px) {
  .pci-h1, .pci-h1-svc, .pci-h1-prj, .pci-h1-c { font-size: 40px !important; line-height: 48px !important; }
  .pci-story { gap: 40px; }
  .pci-svcs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pci-svcs-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pci-scope { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pci-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 30px; }
  .pci-cmt { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .pci-shero-g { gap: 28px; } .pci-shero-img { height: 400px; }
  .pci-prods { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pci-bigimg { margin-left: 0; margin-right: 0; }
  .pci-body { grid-template-columns: minmax(0, 1fr) 320px; gap: 30px; }
  .pci-ic-v2 { font-size: 18px; }
  .pci-ctg { grid-template-columns: minmax(0, 1fr) 360px; }
  .pci-ic { gap: 20px; padding: 22px; }
  .pci-dl .pc-dl-btn { min-width: 0; }
}
@media (min-width: 1200px) { .pci-tm-d, .pci-ck-d { white-space: nowrap; } }

/* ---------- mobile ---------- */
@media (max-width: 849px) {
  .pci-wrap { padding: 0 15px; }
  .pci-h1, .pci-h1-svc, .pci-h1-prj, .pci-h1-c, .pci-h1-pd { font-size: 32px !important; line-height: 40px !important; }
  .pci-h2-m { font-size: 28px !important; line-height: 36px !important; }
  .pci-lead, .pci-hero-in .pci-lead { font-size: 16.5px; line-height: 26px; }
  .pci-sub { font-size: 16px; line-height: 24px; }
  .pci-vs-d br, .pci-tm-d br, .pci-ck-d br, .pci-lead br, .pc-rl-d br, .pci-sub br, .pci-svc-t br, .pci-st-d br { display: none; }
  .pc-sec .pc-h2.pci-h2, .pci-page .pc-h2.pci-h2, .pci-story .pc-h2.pci-h2, .pci-svc-sec .pc-h2.pci-h2, .pci-fsec .pc-h2.pci-h2, .pc-sec .pc-h2.pci-h2.pci-h2-m, .pci-ctg-r .pc-h2.pci-h2.pci-h2-m { font-size: 28px !important; line-height: 35px !important; }
  .pci-faq-sec .pci-faqg-l .pci-sub { font-size: 18px; line-height: 26px; }
  .pci-p { font-size: 17px; line-height: 28px; } .pci-vs-d, .pci-tm-d { font-size: 16.5px; line-height: 26px; }
  /* hero ảnh trên / chữ dưới (LESSONS 112/114) */
  .section.pc-sec.pci-hero-ab { padding-top: 250px !important; min-height: 0; background-color: #fff !important; }
  .pci-hero-ab .section-bg { top: 0 !important; bottom: auto !important; height: 250px !important; }
  .pci-hero-ab .section-bg img.bg { object-position: 78% 30% !important; }
  .pci-hero-ab .section-bg::after { display: none; }
  .pci-hero-in { padding: 18px 0 30px; }
  .pci-hero-in .pc-eyebrow { margin-top: 14px; }
  .pci-story, .pci-shero-g, .pci-cmt, .pci-cta, .pci-fwrap, .pci-faqg, .pci-faq-ct .pci-faqg, .pci-ctg, .pci-body, .pci-pd-g { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .pci-story-img { margin: 0 0 30px; height: 260px; }
  .pci-story-b { padding: 30px 0 0; }
  .pci-vis, .pci-team, .pci-cmt-r, .pci-cards, .pci-gal { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .section.pci-vis-sec, .section.pci-team-sec, .section.pci-org-sec, .section.pci-cmt-sec, .section.pci-cta-sec, .section.pci-proc-sec, .section.pci-price-sec, .section.pci-faq-sec, .section.pci-ctf-sec { padding: 32px 0 36px !important; }
  .pci-vs { min-height: 0; padding: 22px; }
  .pci-org-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
  .pci-org-row::before, .pci-org-u::before { display: none; } .pci-org-top::after { height: 16px; }
  .pci-org-u { height: 56px; font-size: 15px; }
  .pci-cmt-q { font-size: 26px; line-height: 34px; margin-top: 14px; }
  .pci-tm-img { height: 210px; }
  .pci-cta-r .pci-clist li { font-size: 17px; }
  .pci-shero-b { padding: 0 0 6px; order: 2; } .pci-shero-img { order: 1; margin: 0 -15px; height: 250px; }
  .pci-shero-b .pci-crumb { margin-top: 16px; } .pci-shero-b .pc-eyebrow { margin-top: 18px; }
  .pci-btns { gap: 12px; } .pci-btns .pc-btn, .pci-btn-ol { min-width: 0; width: 100%; }
  .pci-ticks { gap: 10px 26px; margin-top: 18px; }
  .pci-svcs, .pci-svcs-3 { grid-template-columns: minmax(0, 1fr); gap: 18px; margin-top: 24px; }
  .pci-scope, .pci-why { grid-template-columns: minmax(0, 1fr); gap: 12px; } .section.pci-scope-sec, .section.pci-other-sec { padding: 32px 0 36px !important; }
  .pci-svc-n { font-size: 42px; line-height: 44px; }
  .pci-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; margin-top: 22px; }
  .pci-st-n { font-size: 34px; line-height: 38px; } .pci-st-n::after { display: none; } .pci-st-ic { margin-top: 10px; width: 38px !important; height: 38px !important; } .pci-st-t { font-size: 18px !important; margin-top: 12px !important; } .pci-st-d { font-size: 16px; line-height: 25px; }
  .pci-st { padding: 0; } .pci-st:not(:last-child)::after { display: none; }
  .pci-st-d br { display: none; }
  .pci-tbl, .pci-tbl tbody, .pci-tbl tr, .pci-tbl td { display: block; width: 100% !important; }
  .pci-tbl thead { display: none; }
  .pci-tbl tr { border-top: 3px solid var(--pc-red); padding: 8px 0; }
  .pci-tbl td { border: 0 !important; padding: 6px 16px !important; }
  .pci-tbl td:nth-child(2), .pci-tbl td:last-child { border-left: 0 !important; }
  .pci-fs { grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "b" "c" "d" "e" "f" "g"; }
  .pci-fs > .f textarea { height: 110px !important; }
  .pci-cf7 input[type=submit] { width: 100%; }
  .pci-cf7 .wpcf7-spinner { right: 12px; top: 0; margin: 12px 0 0 !important; }
  .pci-fr-img { height: 220px; }
  .pci-fc { grid-template-columns: minmax(0, 1fr); grid-template-areas: "a" "b" "c" "d" "e" "f"; }
  .pci-fbox { padding: 20px 16px; }
  .pci-ic { gap: 18px; padding: 20px 18px; } .pci-ic-v { font-size: 24px; } .pci-ic-v2 { font-size: 17px; line-height: 26px; } .pci-ic-a { font-size: 16.5px; line-height: 26px; }
  .pci-chero-sub { font-size: 22px; line-height: 30px; }
  .pci-map { height: 300px; } .pci-map-card { left: 10px; right: 10px; top: 10px; padding: 12px 14px; }
  .pci-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .pci-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 14px; }
  .pci-facts > div:nth-child(3) { border-left: 0; }
  .pci-bigimg { margin: 22px -15px 0; height: 240px; }
  .pci-ns { gap: 14px; } .pci-ns-n { font-size: 34px; line-height: 38px; flex-basis: 46px; } .pci-ns-t { font-size: 24px !important; line-height: 30px !important; }
  .pci-side { position: static; }
  .pci-sphone { font-size: 24px; }
  .pci-prods { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .pci-prod-img { height: 160px; } .pci-prod-t { font-size: 16px !important; line-height: 22px !important; } .pci-prod-d { display: none; }
  .pci-btn-sm { width: 100%; justify-content: center; }
  .pci-pd-img { height: 320px; }
  .pci-dl .pc-dl-t { font-size: 22px !important; line-height: 28px !important; }
}
/* chính sách bảo mật (10-03) */
.section.pci-pol-sec { padding: 46px 0 64px !important; }
.pci-pol { max-width: 860px; }
.pci-pol h2 { font-size: 26px !important; font-weight: 700 !important; color: #1b1b1f; margin: 26px 0 10px !important; }
.pci-pol h2:first-child { margin-top: 0 !important; }
.pci-pol p { font-size: 17px; line-height: 1.65; color: #44464f; margin: 0 0 12px; }
@media (max-width: 849px) { .section.pci-pol-sec { padding: 28px 0 40px !important; } .pci-pol h2 { font-size: 21px !important; } .pci-pol p { font-size: 15.5px; } }
/* ruler:manual (10-03) — tiêu đề CTA cuối trang Giới thiệu hẹp hơn mockup 9-11% (_cmpw) */
@media (min-width: 1200px) { .pc-sec .pci-cta-l h2.pc-h2.pci-h2 { font-size: 43px !important; line-height: 49px !important; } }
/* fix1005: ảnh đầu bài ~760px không phóng quá 1.2x (img_blurry x1.7) — khung 900px giữa, tỉ lệ theo ảnh */
.pci-bigimg { max-width: 900px; height: auto; margin-left: auto !important; margin-right: auto !important; }
.pci-bigimg img { height: auto !important; }
