/* =====================================================================
   clean-pages.css — "Clean App" look for the single pages (19 Sep 2026)
   Owned by the pages agent. Uses the tokens + components in clean-base.css.
   Pages: profile (.pg-profile / .pf-*), price (.pp-*), contact, blog list +
   blog post (.pb-*), incall (sex-house), vacancy. Shared page hero = .pg-hero.
   Every rule is scoped under .pg (the wrapper div of these views), so it
   never touches the home or list pages. Old dark CSS (redesign.css) is not
   edited; where it still reaches our markup we beat it with "html body .pg".
   ===================================================================== */

.pg { position:relative; }
.pg .container { padding-left:16px; padding-right:16px; }
@media (min-width: 768px) { .pg .container { padding-left:24px; padding-right:24px; } }
html body .pg ul, html body .pg ol { margin-top:0; }
.pg .pg-cards { margin-left:-8px; margin-right:-8px; }

/* ---------- shared bits ---------- */
.pg-sec { margin-top:32px; }
@media (min-width: 992px) { .pg-sec { margin-top:48px; } }
.pg-ic { width:40px; height:40px; flex:none; display:grid; place-items:center; border-radius:12px;
  background:var(--red-50); color:var(--red); }
.pg-ic .ic { width:20px; height:20px; }

/* ---------- page hero (price, contact, incall, vacancy) ---------- */
.pg-hero { margin-top:4px; }
.pg-hero-card { position:relative; overflow:hidden; display:flex; flex-direction:column; gap:20px;
  padding:14px 14px 22px; border-radius:var(--r-l); background:var(--bg-2); border:1px solid var(--line); }
.pg-hero-card::before { content:''; position:absolute; width:340px; height:340px; right:-140px; top:-160px; border-radius:50%;
  background:radial-gradient(circle, rgba(215,38,61,.13) 0%, rgba(215,38,61,0) 70%); pointer-events:none; }
.pg-hero-text { position:relative; padding:0 6px; }
html body .pg-hero .top-pic { order:-1; margin:0 !important; border:0 !important; border-radius:16px !important;
  background:#e9ebef !important; box-shadow:var(--sh-2) !important; aspect-ratio:16/10; }
.pg-hero-card:not(.has-pic) { padding-top:24px; }
html body .pg-hero-h1 { font-size:clamp(30px, 8.4vw, 50px) !important; margin:12px 0 12px !important; color:var(--ink) !important; }
html body .pg-hero-h1 span { color:var(--red) !important; }
html body .pg-hero-desc { font-size:16px; color:var(--ink-2) !important; margin:0 0 18px !important; max-width:40em; }
.pg-hero-stats { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.pg-hero-stat { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:0 14px 0 10px; border-radius:12px;
  background:#fff; border:1px solid var(--line); font-size:14px; color:var(--ink-2); box-shadow:var(--sh-1); }
.pg-hero-stat .ic { color:var(--red); width:18px; height:18px; }
html body .pg-hero-stat strong { color:var(--ink); font-weight:800; }
.pg-hero-ctas { display:grid; grid-template-columns:1.4fr 1fr; gap:10px; max-width:440px; }
.pg-hero-ctas .cl-btn { padding:0 12px; }
@media (min-width: 992px) {
  .pg-hero-card { display:grid; grid-template-columns:minmax(0,1fr) 440px; align-items:center; gap:44px; padding:44px 44px 44px 52px; }
  .pg-hero-card:not(.has-pic) { grid-template-columns:minmax(0,1fr); padding:52px; }
  .pg-hero-text { padding:0; }
  html body .pg-hero .top-pic { order:2; aspect-ratio:4/3; border-radius:20px !important; transform:rotate(1.2deg); }
  html body .pg-hero-desc { font-size:17px; }
}

/* ---------- white content card + article text ---------- */
.pg-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1); padding:20px 18px; }
@media (min-width: 768px) { .pg-card { padding:32px; } }
html body .pg-article h2 { font-size:clamp(21px, 5.4vw, 27px) !important; margin:32px 0 12px !important; color:var(--ink) !important; }
html body .pg-article h2:first-child { margin-top:0 !important; }
html body .pg-article p { font-size:16px; color:var(--ink-2) !important; margin:0 0 14px !important; }
html body .pg-article a { text-decoration:underline; text-underline-offset:3px; }
.pg-article { max-width:820px; }
html body .pg-steps { list-style:none !important; counter-reset:st; padding:0 !important; margin:4px 0 18px !important; display:grid; gap:10px; }
html body .pg-steps li { counter-increment:st; position:relative; padding:14px 14px 14px 58px; border-radius:14px;
  background:var(--bg-2); color:var(--ink-2) !important; font-size:15.5px; line-height:1.6; }
html body .pg-steps li::before { content:counter(st); position:absolute; left:14px; top:12px; width:30px; height:30px;
  display:grid; place-items:center; border-radius:50%; background:var(--red); color:#fff; font-weight:800; font-size:14px; }

/* =====================================================================
   PROFILE  /profile/<name>/<id>
   ===================================================================== */
.pf-hero { display:flex; flex-direction:column; }
.pf-hero-media { position:relative; border-radius:var(--r-l); overflow:hidden; background:var(--bg-2);
  aspect-ratio:4/5; max-height:62vh; box-shadow:var(--sh-2); }
.pf-hero-media img { width:100%; height:100%; object-fit:cover; object-position:50% 18%; display:block; cursor:zoom-in; }
.pf-hero-media::after { content:''; position:absolute; left:0; right:0; bottom:0; height:30%; pointer-events:none;
  background:linear-gradient(to top, rgba(20,24,33,.35), rgba(20,24,33,0)); }
.pf-hero-count { position:absolute; right:12px; top:12px; z-index:2; display:inline-flex; align-items:center; gap:6px;
  min-height:44px; padding:0 14px; border-radius:999px; border:0; cursor:pointer;
  background:rgba(20,24,33,.62); color:#fff; font:700 13.5px/1 var(--font);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.pf-hero-count:hover { background:rgba(20,24,33,.8); }

.pf-hero-info { position:relative; z-index:3; margin:-44px 10px 0; padding:20px 18px 18px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-3); }
.pf-hero-area { display:inline-flex; align-items:center; gap:5px; padding:5px 12px 5px 9px; border-radius:999px;
  background:var(--red-50); color:var(--red-dk); font-size:13px; font-weight:700; }
html body .pf-name { font-size:clamp(32px, 9vw, 52px) !important; margin:10px 0 6px !important; color:var(--ink) !important; }
html body .pf-age { font-weight:600; color:var(--ink-3); }
html body .pf-tagline { font-size:16.5px; color:var(--ink-2) !important; margin:0 0 16px !important; line-height:1.6; }

.pf-stats { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); margin:0 0 18px; border:1px solid var(--line);
  border-radius:16px; background:var(--bg-2); }
.pf-stat { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0;
  padding:12px 4px; text-align:center; }
.pf-stat + .pf-stat { border-left:1px solid var(--line); }
.pf-stat-value { display:inline-flex; align-items:center; gap:3px; font-size:19px; font-weight:800; color:var(--ink);
  letter-spacing:-.02em; line-height:1.15; white-space:nowrap; }
.pf-stat-value .pf-star { width:16px; height:16px; color:#f5a524; fill:currentColor; stroke:none; }
.pf-stat-ic .ic { width:21px; height:21px; color:var(--red); }
.pf-stat-label { max-width:100%; font-size:11.5px; font-weight:700; color:var(--ink-3); text-transform:uppercase;
  letter-spacing:.06em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.pf-ctas { display:grid; grid-template-columns:1.35fr 1fr; gap:10px; }
.pf-ctas .cl-btn { padding:0 12px; }
.pf-hero-notes { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.pf-hero-notes .cl-badge { padding:5px 10px; }
.pf-hero-notes .ic { color:var(--red); }

@media (min-width: 768px) {
  .pf-hero-info { margin:-56px 28px 0; padding:26px; }
}
@media (min-width: 992px) {
  .pf-hero { display:grid; grid-template-columns:420px minmax(0,1fr); gap:0; align-items:center; }
  .pf-hero-media { aspect-ratio:3/4; max-height:none; }
  .pf-hero-info { margin:0 0 0 -40px; padding:36px 36px 32px; }
  .pf-ctas { max-width:460px; }
}
@media (min-width: 1200px) {
  .pf-hero { grid-template-columns:460px minmax(0,1fr); }
}

.pf-body { margin-top:28px; }
@media (min-width: 992px) { .pf-body { margin-top:44px; } }
.pf-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1);
  padding:16px; margin-bottom:16px; }
@media (min-width: 768px) { .pf-card { padding:22px; margin-bottom:22px; } }
.pf-card-h { display:flex; align-items:center; gap:10px; margin:0 0 14px; font-size:18px; font-weight:800;
  color:var(--ink); letter-spacing:-.02em; }
.pf-card-ic { width:36px; height:36px; flex:none; display:grid; place-items:center; border-radius:11px;
  background:var(--red-50); color:var(--red); }
.pf-card-ic .ic { width:19px; height:19px; }
.pf-card-count { margin-left:auto; min-width:30px; height:26px; padding:0 9px; display:inline-grid; place-items:center;
  border-radius:999px; background:var(--bg-2); color:var(--ink-2); font-size:13px; font-weight:700; }

/* gallery */
.pf-gallery { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; }
@media (min-width: 576px) { .pf-gallery { grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; } }
html body .pg .profile-gallery-item { position:relative; aspect-ratio:3/4; border-radius:14px; overflow:hidden;
  background:var(--bg-2); border:0; box-shadow:none; transform:none; cursor:zoom-in; }
html body .pg .profile-gallery-item img { width:100%; height:100%; object-fit:cover; object-position:50% 20%;
  aspect-ratio:auto; display:block; transition:transform .45s ease; }
html body .pg .profile-gallery-item:hover { transform:none; box-shadow:none; }
html body .pg .profile-gallery-item:hover img { transform:scale(1.04); }
.pf-zoom { position:absolute; right:8px; bottom:8px; width:30px; height:30px; display:grid; place-items:center;
  border-radius:10px; background:rgba(255,255,255,.92); color:var(--ink); pointer-events:none; box-shadow:var(--sh-1); }

/* about */
html body .pf-about p { font-size:16px; line-height:1.75; color:var(--ink-2) !important; margin:0 0 14px !important; }
html body .pf-about p:last-child { margin-bottom:0 !important; }
.pf-about p:first-child { font-size:17px; color:var(--ink) !important; }

/* reviews */
.pf-reviews { display:grid; gap:16px; }
@media (min-width: 768px) { .pf-reviews { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:20px; align-items:start; } }
.pf-review-list { display:grid; gap:10px; align-content:start; }
.pf-review { padding:14px; border:1px solid var(--line); border-radius:16px; }
.pf-review-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.pf-review-av { width:36px; height:36px; flex:none; display:grid; place-items:center; border-radius:50%;
  background:var(--ink); color:#fff; font-weight:800; font-size:15px; }
.pf-review-name { font-weight:800; color:var(--ink); font-size:15px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pf-review-stars { margin-left:auto; display:inline-flex; gap:1px; color:#f5a524; flex:none; }
.pf-review-stars .ic { fill:currentColor; stroke:none; width:15px; height:15px; }
.pf-review-unrated { font-size:12px; font-weight:600; color:var(--ink-3); }
html body .pf-review-text { margin:0 !important; font-size:15px; color:var(--ink-2) !important; }
.pf-quote { color:var(--red); opacity:.45; margin-right:6px; vertical-align:-2px; }
.pf-review-empty { padding:22px 16px; border:1px dashed var(--line-2); border-radius:16px; text-align:center; }
html body .pf-review-empty p { margin:0 !important; color:var(--ink-3) !important; }
.pf-review-form { padding:16px; border-radius:16px; background:var(--bg-2); }
@media (min-width: 768px) { .pf-review-form { position:sticky; top:calc(var(--hdr-h) + 16px); } }
html body .pf-review-form h4 { font-size:17px !important; margin:0 0 12px !important; }
.pf-review-form .form-group { margin-bottom:12px; }
.pf-review-form label { margin-bottom:5px; }

/* details list */
.pf-details { display:grid; }
.pf-detail { display:grid; grid-template-columns:34px auto 1fr; align-items:center; gap:10px; min-height:52px;
  padding:6px 0; border-top:1px solid var(--line); }
.pf-detail:first-child { border-top:0; padding-top:0; }
.pf-detail-ic { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:var(--bg-2); color:var(--ink-2); }
.pf-detail-ic .ic { width:17px; height:17px; }
.pf-detail-label { font-size:14px; color:var(--ink-3); font-weight:600; }
.pf-detail-value { text-align:right; font-size:14.5px; font-weight:700; color:var(--ink); }

/* price table */
.pf-price { width:100%; border-collapse:collapse; }
html body .pf-price th { font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-3);
  padding:0 0 8px; border:0; text-align:left; background:none; }
html body .pf-price th:last-child, html body .pf-price td:last-child { text-align:right; }
html body .pf-price td { padding:12px 0; border-top:1px solid var(--line); font-size:14.5px; color:var(--ink-2); background:none; }
html body .pf-price td:last-child { font-weight:800; color:var(--ink); white-space:nowrap; padding-left:10px; }
html body .pf-price-note { display:flex; align-items:center; gap:8px; margin:12px 0 0 !important; padding:10px 12px;
  border-radius:12px; background:var(--red-50); color:var(--red-dk) !important; font-size:14px; font-weight:700; }

/* quick book */
.pf-book { padding:20px 18px; margin-bottom:16px; border-radius:var(--r-l); background:var(--red-50); border:1px solid var(--red-100);
  display:grid; gap:10px; }
html body .pf-book h4 { font-size:20px !important; margin:0 !important; }
html body .pf-book p { margin:0 0 4px !important; font-size:15px; }

@media (min-width: 992px) { .pf-book { position:sticky; top:calc(var(--hdr-h) + 16px); } }
.pf-more { margin-top:24px; }
@media (min-width: 992px) { .pf-more { margin-top:40px; } }

/* ---------- full-screen photo viewer (.pv, profile page only) ---------- */
.pf-hero-media img, .profile-gallery-item img { cursor:zoom-in; }
.pv { position:fixed; inset:0; z-index:99999; background:#0f1115; display:none; flex-direction:column; touch-action:pan-y; }
.pv.open { display:flex; }
.pv-top { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; color:#fff;
  font:700 15px/1 var(--font); }
.pv-btn { display:grid; place-items:center; background:rgba(255,255,255,.14); border:0; color:#fff; width:44px; height:44px;
  border-radius:50%; cursor:pointer; padding:0; }
.pv-btn:hover { background:rgba(255,255,255,.28); }
.pv-stage { flex:1; position:relative; display:flex; align-items:center; justify-content:center; min-height:0; overflow:hidden; }
.pv-stage img { max-width:100%; max-height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none; transition:opacity .2s; }
.pv-prev, .pv-next { position:absolute; top:50%; transform:translateY(-50%); }
.pv-prev { left:10px; } .pv-next { right:10px; }
.pv-thumbs { display:flex; gap:8px; overflow-x:auto; padding:10px 12px 14px; justify-content:center; scrollbar-width:thin; }
.pv-thumbs button { flex:0 0 auto; width:56px; height:84px; padding:0; border:2px solid transparent; border-radius:8px;
  overflow:hidden; background:#222; cursor:pointer; opacity:.5; }
.pv-thumbs button.on { border-color:#fff; opacity:1; }
.pv-thumbs img { width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width: 600px) { .pv-thumbs { justify-content:flex-start; } }

/* =====================================================================
   PRICE  /price
   ===================================================================== */
.pp-grid { display:grid; gap:16px; }
@media (min-width: 768px) { .pp-grid { grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; align-items:stretch; } }
.pp-card { position:relative; display:flex; flex-direction:column; padding:22px 20px 20px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1); }
.pp-card--hot { border:2px solid var(--red); box-shadow:var(--sh-2); }
@media (min-width: 992px) { .pp-card { padding:28px 26px 24px; } .pp-card--hot { transform:translateY(-10px); } }
.pp-badge { position:absolute; top:-12px; right:18px; padding:5px 12px; border-radius:999px; background:var(--red);
  color:#fff; font-size:12px; font-weight:800; letter-spacing:.04em; box-shadow:var(--sh-red); }
.pp-badge--ink { background:var(--ink); box-shadow:var(--sh-1); }
.pp-top { display:flex; align-items:center; gap:10px; }
.pp-ic { width:42px; height:42px; display:grid; place-items:center; border-radius:13px; background:var(--bg-2); color:var(--ink); }
.pp-card--hot .pp-ic { background:var(--red-50); color:var(--red); }
.pp-tier { font-size:14px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-2); }
.pp-price { display:flex; align-items:flex-start; gap:4px; margin:16px 0 2px; color:var(--ink); }
.pp-cur { font-size:22px; font-weight:700; line-height:1.5; color:var(--ink-3); }
.pp-amt { font-size:48px; font-weight:800; letter-spacing:-.04em; line-height:1; }
.pp-card--hot .pp-amt { color:var(--red); }
.pp-dur { font-size:14px; font-weight:600; color:var(--ink-3); }
html body .pp-feat { list-style:none !important; padding:16px 0 0 !important; margin:16px 0 20px !important; border-top:1px dashed var(--line-2);
  display:grid; gap:9px; flex:1; align-content:start; }
html body .pp-feat li { display:flex; align-items:center; gap:10px; font-size:15px; color:var(--ink-2) !important; }
.pp-feat li .ic { width:20px; height:20px; padding:3px; flex:none; border-radius:50%; background:var(--red-50); color:var(--red); stroke-width:3; }
html body .pp-feat li.pp-bonus { color:var(--ink) !important; font-weight:700; }
.pp-feat li.pp-bonus .ic { background:#fff4dc; color:#e09400; fill:currentColor; stroke:none; }

.pp-compare { background:#fff; border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1); padding:18px 0 6px; overflow:hidden; }
html body .pp-compare-title { font-size:20px !important; margin:0 18px 12px !important; }
@media (min-width: 768px) { .pp-compare { padding:26px 0 10px; } html body .pp-compare-title { font-size:24px !important; margin:0 26px 16px !important; } }
.pp-compare-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.pp-table { width:100%; min-width:560px; border-collapse:separate; border-spacing:0; }
html body .pp-table th, html body .pp-table td { padding:13px 14px; border:0; border-top:1px solid var(--line);
  font-size:14.5px; color:var(--ink-2); text-align:center; vertical-align:middle; background:#fff; }
html body .pp-table th { border-top:0; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }
html body .pp-table td:first-child, html body .pp-table th:first-child { position:sticky; left:0; z-index:1; text-align:left;
  font-weight:700; color:var(--ink); padding-left:18px; box-shadow:1px 0 0 var(--line); }
html body .pp-table .pp-hl { background:var(--red-50); color:var(--ink); font-weight:700; }
html body .pp-table th.pp-hl { color:var(--red-dk); }
.pp-yes, .pp-no { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; }
.pp-yes { background:var(--red); color:#fff; }
.pp-no { background:var(--bg-2); color:var(--ink-3); }
.pp-yes .ic, .pp-no .ic { width:14px; height:14px; stroke-width:3; }
@media (min-width: 768px) { html body .pp-table td:first-child, html body .pp-table th:first-child { padding-left:26px; } }

.pp-note { display:flex; flex-direction:column; gap:10px; align-items:flex-start; padding:20px 18px; border-radius:var(--r-l);
  background:var(--bg-2); border:1px solid var(--line); border-left:4px solid var(--red); }
html body .pp-note h2 { font-size:20px !important; margin:6px 0 8px !important; }
html body .pp-note p { margin:0 !important; font-size:15.5px; }
@media (min-width: 768px) { .pp-note { flex-direction:row; gap:16px; padding:28px 30px; } html body .pp-note h2 { font-size:24px !important; } }

/* =====================================================================
   CONTACT  /contact
   ===================================================================== */
html body #contact-us.pg-anchor { display:block; position:relative; top:-80px; visibility:hidden; height:0 !important; min-height:0 !important;
  padding:0 !important; margin:0 !important; border:0 !important; background:none !important; }
.pc-info { background:#fff; border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1); padding:18px 16px 8px; }
html body .pc-info-title { font-size:19px !important; margin:0 0 6px !important; }
html body a.pc-row, .pc-row { display:flex; align-items:center; gap:12px; min-height:64px; padding:10px 0;
  border-top:1px solid var(--line); color:var(--ink) !important; text-decoration:none !important; }
.pc-info-title + .pc-row { border-top:0; }
.pc-row--top { align-items:flex-start; }
.pc-row-txt { display:flex; flex-direction:column; min-width:0; flex:1; }
.pc-label { font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); }
.pc-value { font-size:16px; font-weight:700; color:var(--ink); overflow-wrap:anywhere; }
.pc-hours { font-size:14.5px; font-weight:600; line-height:1.7; }
.pc-go { color:var(--ink-3); }
html body a.pc-row:hover .pc-value { color:var(--red-dk); }
.pc-cta { margin-top:16px; padding:20px 18px; border-radius:var(--r-l); background:var(--red-50); border:1px solid var(--red-100); }
html body .pc-cta h4 { font-size:20px !important; margin:0 0 6px !important; }
html body .pc-cta p { margin:0 0 14px !important; font-size:15px; }
html body .pc-form-title { font-size:clamp(22px, 5.6vw, 28px) !important; margin:0 0 6px !important; }
html body .pc-form-sub { margin:0 0 18px !important; }
.pc-submit { width:100%; }
@media (min-width: 768px) { .pc-submit { width:auto; } .pc-info { padding:24px 22px 12px; } }

/* =====================================================================
   BLOG LIST /blogs  +  BLOG POST /blog/...
   ===================================================================== */
.pb-head { margin-bottom:18px; }
html body .pb-head .top-pic { margin:0 0 18px !important; border:0 !important; border-radius:var(--r-l) !important;
  background:var(--bg-2) !important; box-shadow:var(--sh-2) !important; aspect-ratio:16/9; }
@media (min-width: 992px) { html body .pb-head .top-pic { aspect-ratio:21/9; } }
html body .pb-h1 { font-size:clamp(28px, 7.6vw, 44px) !important; margin:10px 0 0 !important; }
.pb-search-note { margin-bottom:16px; padding:12px 14px; border-radius:12px; background:var(--bg-2); }
html body .pb-search-note p { margin:0 !important; font-size:15px; }
.pb-empty { margin-bottom:16px; }
html body .pb-empty h2 { font-size:20px !important; margin:0 0 6px !important; }
.pb-list { display:grid; gap:16px; }
.pb-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--r-l);
  box-shadow:var(--sh-1); padding:8px; overflow:hidden; transition:box-shadow .2s; }
.pb-card:hover { box-shadow:var(--sh-2); }
.pb-card-img { border-radius:15px; overflow:hidden; aspect-ratio:3/2; background:var(--bg-2); }
.pb-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.pb-card-body { padding:14px 10px 10px; }
@media (min-width: 768px) {
  .pb-card { flex-direction:row; align-items:stretch; }
  .pb-card-img { flex:0 0 40%; aspect-ratio:auto; min-height:220px; }
  .pb-card-body { padding:14px 18px 12px 20px; display:flex; flex-direction:column; align-items:flex-start; }
}
.pb-date { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:var(--ink-3); }
.pb-date .ic { color:var(--red); }
html body .pb-card-title { font-size:20px !important; line-height:1.3; margin:6px 0 4px !important; }
html body .pb-sub { font-size:13px !important; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  color:var(--red-dk) !important; margin:0 0 8px !important; }
html body .pb-excerpt { font-size:15px; margin:0 0 14px !important; color:var(--ink-2) !important; }
.pb-more { margin-top:auto; }

.pb-widget { background:#fff; border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1);
  padding:18px 16px; margin-bottom:16px; }
html body .pb-widget-h { font-size:13px !important; font-weight:800 !important; letter-spacing:.1em; text-transform:uppercase !important;
  color:var(--ink-3) !important; margin:0 0 12px !important; }
.pb-search { display:flex; gap:8px; }
.pb-search .form-control { flex:1; min-width:0; }
.pb-search .cl-btn { flex:none; padding:0 16px; }
html body .pb-links { list-style:none !important; counter-reset:bl; padding:0 !important; margin:0 !important; display:grid; }
html body .pb-links li { counter-increment:bl; border-top:1px solid var(--line); color:var(--ink-2); }
html body .pb-links li:first-child { border-top:0; }
html body .pb-links a { display:flex; align-items:center; gap:12px; min-height:52px; padding:8px 0;
  font-size:15px; font-weight:600 !important; line-height:1.4; color:var(--ink) !important; }
html body .pb-links a::before { content:counter(bl); flex:none; width:28px; height:28px; display:grid; place-items:center;
  border-radius:9px; background:var(--bg-2); color:var(--ink-2); font-size:13px; font-weight:800; }
html body .pb-links a:hover { color:var(--red-dk) !important; }
html body .pb-links a:hover::before { background:var(--red-50); color:var(--red-dk); }
.pb-models { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
@media (min-width: 992px) { .pb-models { grid-template-columns:repeat(2, minmax(0,1fr)); } }
.pb-models a { display:block; border-radius:12px; overflow:hidden; aspect-ratio:3/4; background:var(--bg-2); }
.pb-models img { width:100%; height:100%; object-fit:cover; object-position:50% 20%; display:block; transition:transform .4s; }
.pb-models a:hover img { transform:scale(1.05); }

/* one post */
.pb-article { background:#fff; border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1);
  padding:18px 16px 8px; margin-bottom:16px; }
@media (min-width: 768px) { .pb-article { padding:32px 34px 18px; } }
html body .pb-article-h1 { font-size:clamp(27px, 7.4vw, 42px) !important; margin:8px 0 6px !important; }
.pb-article-img { margin:16px -6px 22px; border-radius:16px; overflow:hidden; aspect-ratio:3/2; background:var(--bg-2); }
.pb-article-img img { width:100%; height:100%; object-fit:cover; display:block; }
@media (min-width: 768px) { .pb-article-img { margin:20px 0 26px; } }
.pb-prose { max-width:720px; }
html body .pb-prose p { font-size:16.5px; line-height:1.8; color:var(--ink-2) !important; margin:0 0 16px !important; }
html body .pb-prose h2 { font-size:clamp(21px, 5.4vw, 26px) !important; margin:30px 0 10px !important; }
html body .pb-prose h3 { font-size:19px !important; margin:24px 0 8px !important; }
html body .pb-prose ul, html body .pb-prose ol { padding-left:0 !important; margin:0 0 18px !important; list-style:none !important; display:grid; gap:10px; }
html body .pb-prose ul li, html body .pb-prose ol li { position:relative; padding-left:26px; font-size:16px; line-height:1.7; color:var(--ink-2) !important; }
html body .pb-prose ul li::before { content:''; position:absolute; left:6px; top:.72em; width:8px; height:8px; border-radius:50%; background:var(--red); }
html body .pb-prose ol { counter-reset:pl; }
html body .pb-prose ol li { counter-increment:pl; }
html body .pb-prose ol li::before { content:counter(pl) "."; position:absolute; left:0; top:0; font-weight:800; color:var(--red); }
html body .pb-prose a { text-decoration:underline; text-underline-offset:3px; }
html body .pb-prose strong { color:var(--ink); }
html body .pb-prose img { max-width:100%; height:auto; border-radius:14px; }

.pb-book { padding:20px 18px; margin-bottom:16px; border-radius:var(--r-l); background:var(--red-50); border:1px solid var(--red-100); }
html body .pb-book h2 { font-size:20px !important; margin:0 0 8px !important; }
html body .pb-book p { margin:0 0 12px !important; font-size:15.5px; }
html body .pb-book-links { list-style:none !important; padding:0 !important; margin:0 !important; display:grid; gap:8px; }
html body .pb-book-links a { display:flex; align-items:center; gap:10px; min-height:48px; padding:0 14px; border-radius:12px;
  background:#fff; border:1px solid var(--red-100); color:var(--ink) !important; font-size:15px; }
.pb-book-links a .ic { color:var(--red); }
.pb-book-links a .pb-go { margin-left:auto; color:var(--ink-3); }
html body .pb-book-links a:hover { border-color:var(--red); color:var(--red-dk) !important; }

.pb-comments { background:#fff; border:1px solid var(--line); border-radius:var(--r-l); box-shadow:var(--sh-1); padding:18px 16px; margin-bottom:16px; }
.pb-comments-top { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
html body .pb-comments-h { font-size:20px !important; margin:0 !important; }
.pb-comment-form { margin-top:14px; padding:16px; border-radius:16px; background:var(--bg-2); }
.pb-comment-form .form-group { margin-bottom:12px; }
.pb-comment-btns { display:flex; gap:10px; flex-wrap:wrap; }
.pb-comment-list { display:grid; gap:10px; margin-top:14px; }
.pb-comment { padding:14px; border:1px solid var(--line); border-radius:14px; }
html body .pb-comment-name { font-size:15px !important; margin:0 !important; }
html body .pb-comment-date { font-size:12.5px !important; color:var(--ink-3) !important; margin:0 0 6px !important; }
html body .pb-comment-text { margin:0 0 4px !important; font-size:15px; }
html body .pb-comment-site { display:flex; align-items:center; gap:6px; margin:0 !important; font-size:13px; color:var(--ink-3) !important; }
.pb-comment-none { padding:18px; border:1px dashed var(--line-2); border-radius:14px; text-align:center; color:var(--ink-3); }

/* =====================================================================
   INCALL  /sex-house
   ===================================================================== */
.pg-article-card { padding-top:24px; }
@media (min-width: 992px) { .pg-article-card { max-width:940px; margin:0 auto; padding:48px 60px; } }

/* =====================================================================
   VACANCY  /vacancy
   ===================================================================== */
html body .pv2-title { font-size:21px !important; margin:0 0 14px !important; }
.pv2-benefits { display:grid; gap:4px; }
.pv2-benefit { display:flex; gap:14px; align-items:flex-start; padding:12px 0; border-top:1px solid var(--line); }
.pv2-benefit:first-child { border-top:0; padding-top:0; }
html body .pv2-benefit h4 { font-size:16px !important; margin:2px 0 4px !important; }
html body .pv2-benefit p { font-size:14.5px; margin:0 !important; line-height:1.6; }
.pv2-contact { margin-top:16px; padding:16px; border-radius:16px; background:var(--bg-2); }
html body .pv2-contact h4 { font-size:16px !important; margin:0 0 8px !important; }
html body .pv2-contact p { display:flex; align-items:center; gap:8px; margin:0 0 6px !important; font-size:15px; overflow-wrap:anywhere; }
html body .pv2-contact p .ic { color:var(--red); flex:none; }
html body .pv2-contact .pv2-note { display:block; margin:10px 0 0 !important; font-size:13.5px; color:var(--ink-3) !important; }
html body .pv2-sub { margin:-6px 0 18px !important; }
.pv2-upload { position:relative; }
.pv2-file { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; z-index:2; }
html body .pv2-file-label { display:flex; align-items:center; gap:12px; min-height:72px; margin:0; padding:12px 16px; border-radius:14px;
  border:2px dashed var(--line-2); background:var(--bg-2); color:var(--ink-2) !important; font-weight:600; cursor:pointer; transition:border-color .15s, background .15s; }
.pv2-upload:hover .pv2-file-label, .pv2-file:focus-visible + .pv2-file-label { border-color:var(--red); background:var(--red-50); }
.pv2-file-label .pg-ic { background:#fff; box-shadow:var(--sh-1); }
.pv2-upload.has-files .pv2-file-label { border-style:solid; border-color:var(--red); background:var(--red-50); color:var(--ink) !important; }
