/* =====================================================
   Prime Property Adda - Public website
   Rules: sirf px units (rem/em nahi) | har class parent .pp-site (body) ke andar scoped
   Colours: #3454D1 primary | #101A4A navy | #F79009 amber | #12B76A green | #7A5AF8 violet
   ===================================================== */

.pp-site { --pp-primary:#3454D1; --pp-primary-dark:#2A44B0; --pp-primary-soft:#EAEFFD; --pp-navy:#101A4A; --pp-navy-deep:#0B1238;
  --pp-amber:#F79009; --pp-amber-dark:#D97A00; --pp-green:#12B76A; --pp-red:#F04438; --pp-violet:#7A5AF8; --pp-sky:#0BA5EC;
  --pp-text:#344054; --pp-muted:#667085; --pp-line:#E6EAF5; --pp-bg:#F4F6FD; --pp-white:#FFFFFF;
  --pp-shadow:0 10px 30px rgba(16,26,74,0.08); --pp-shadow-lg:0 24px 60px rgba(16,26,74,0.16);
  margin:0; padding:0; background:#fff; color:var(--pp-text); font-family:'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
  font-size:15px; line-height:24px; -webkit-font-smoothing:antialiased; }
.pp-site *, .pp-site *::before, .pp-site *::after { box-sizing:border-box; }
.pp-site a { color:inherit; text-decoration:none; }
.pp-site img { max-width:100%; display:block; }
.pp-site h1, .pp-site h2, .pp-site h3, .pp-site h4, .pp-site p, .pp-site ul, .pp-site figure, .pp-site blockquote { margin:0; padding:0; }
.pp-site ul { list-style:none; }
.pp-site button, .pp-site input, .pp-site select { font-family:inherit; }
.pp-site .pp-container { width:100%; max-width:1260px; margin:0 auto; padding:0 24px; }

/* ---------- Scroll reveal (only when JS is on) ---------- */
.js .pp-site .pp-reveal { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease, transform 0.6s ease; }
.js .pp-site .pp-reveal.is-in { opacity:1; transform:none; }

/* ---------- Buttons ---------- */
.pp-site .pp-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 22px; border:1.5px solid transparent; border-radius:12px;
  font-size:14px; font-weight:700; cursor:pointer; white-space:nowrap; transition:transform 0.15s, background 0.15s, box-shadow 0.15s, color 0.15s, border-color 0.15s; }
.pp-site .pp-btn:hover { transform:translateY(-2px); }
.pp-site .pp-btn-lg { height:52px; padding:0 28px; font-size:15px; border-radius:14px; }
.pp-site .pp-btn-primary { background:var(--pp-primary); color:#fff; box-shadow:0 8px 20px rgba(52,84,209,0.3); }
.pp-site .pp-btn-primary:hover { background:var(--pp-primary-dark); }
.pp-site .pp-btn-accent { background:var(--pp-amber); color:#fff; box-shadow:0 8px 20px rgba(247,144,9,0.35); }
.pp-site .pp-btn-accent:hover { background:var(--pp-amber-dark); }
.pp-site .pp-btn-outline { background:transparent; color:var(--pp-primary); border-color:var(--pp-primary); }
.pp-site .pp-btn-outline:hover { background:var(--pp-primary); color:#fff; }
.pp-site .pp-btn-ghost { background:transparent; color:var(--pp-navy); }
.pp-site .pp-btn-ghost:hover { background:var(--pp-primary-soft); color:var(--pp-primary); }
.pp-site .pp-btn-light { background:#fff; color:var(--pp-primary); }
.pp-site .pp-btn-light:hover { background:var(--pp-primary-soft); }
.pp-site .pp-free { margin-left:4px; padding:2px 7px; border-radius:20px; background:rgba(255,255,255,0.22); font-size:10px; line-height:14px; letter-spacing:0.6px; }

/* ---------- Top bar ---------- */
.pp-site .pp-topbar { background:var(--pp-navy-deep); color:#C7D0F0; font-size:13px; }
.pp-site .pp-topbar-in { display:flex; justify-content:space-between; align-items:center; min-height:38px; gap:16px; }
.pp-site .pp-topbar-info, .pp-site .pp-topbar-social { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.pp-site .pp-topbar a { display:inline-flex; align-items:center; gap:8px; transition:color 0.15s; }
.pp-site .pp-topbar a:hover { color:#fff; }
.pp-site .pp-topbar i { color:var(--pp-amber); font-size:12px; }
.pp-site .pp-topbar-social i { color:#C7D0F0; font-size:13px; }
.pp-site .pp-topbar-social a:hover i { color:var(--pp-amber); }

/* ---------- Header ---------- */
.pp-site .pp-header { position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.94); backdrop-filter:blur(12px); border-bottom:1px solid var(--pp-line); transition:box-shadow 0.2s; }
.pp-site .pp-header.is-stuck { box-shadow:0 6px 24px rgba(16,26,74,0.1); }
.pp-site .pp-header-in { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; }
.pp-site .pp-logo { display:flex; align-items:center; gap:12px; }
.pp-site .pp-logo-mark { width:44px; height:44px; border-radius:14px; background:linear-gradient(135deg,var(--pp-primary),var(--pp-violet)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:20px; box-shadow:0 8px 18px rgba(52,84,209,0.3); }
.pp-site .pp-logo-text { display:flex; flex-direction:column; }
.pp-site .pp-logo-text b { font-size:19px; line-height:22px; font-weight:800; color:var(--pp-navy); letter-spacing:-0.3px; }
.pp-site .pp-logo-text small { font-size:11px; line-height:14px; color:var(--pp-muted); }
.pp-site .pp-logo-light .pp-logo-text b { color:#fff; }
.pp-site .pp-nav { display:flex; align-items:center; gap:6px; }
.pp-site .pp-nav-link { padding:10px 16px; border-radius:10px; font-weight:600; color:var(--pp-navy); transition:background 0.15s, color 0.15s; }
.pp-site .pp-nav-link:hover, .pp-site .pp-nav-link.is-active { background:var(--pp-primary-soft); color:var(--pp-primary); }
.pp-site .pp-nav-mobile-actions { display:none; }
.pp-site .pp-header-actions { display:flex; align-items:center; gap:10px; }
.pp-site .pp-burger { display:none; width:44px; height:44px; border:1px solid var(--pp-line); border-radius:12px; background:#fff; color:var(--pp-navy); font-size:18px; cursor:pointer; }

/* ---------- Hero ---------- */
.pp-site .pp-hero { position:relative; overflow:hidden; padding:84px 0 150px; color:#fff; background:linear-gradient(135deg,#101A4A 0%,#25399A 48%,#3454D1 100%); background-size:cover; background-position:center; }
.pp-site .pp-orb { position:absolute; border-radius:50%; filter:blur(2px); opacity:0.5; animation:ppFloat 9s ease-in-out infinite; }
.pp-site .pp-orb-1 { width:380px; height:380px; top:-120px; right:-80px; background:radial-gradient(circle,rgba(122,90,248,0.65),transparent 70%); }
.pp-site .pp-orb-2 { width:300px; height:300px; bottom:-60px; left:-90px; background:radial-gradient(circle,rgba(11,165,236,0.55),transparent 70%); animation-delay:-3s; }
.pp-site .pp-orb-3 { width:200px; height:200px; top:140px; left:46%; background:radial-gradient(circle,rgba(247,144,9,0.4),transparent 70%); animation-delay:-6s; }
@keyframes ppFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-26px); } }
.pp-site .pp-hero-in { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,0.65fr); gap:48px; align-items:center; }
.pp-site .pp-pill { display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:30px; background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.25); font-size:13px; font-weight:600; }
.pp-site .pp-pill i { color:var(--pp-amber); }
.pp-site .pp-pill-light { background:rgba(255,255,255,0.16); }
.pp-site .pp-hero-title { margin:20px 0 14px; font-size:56px; line-height:64px; font-weight:800; letter-spacing:-1.4px; }
.pp-site .pp-hero-sub { max-width:600px; margin:0 0 32px; font-size:18px; line-height:30px; color:#D5DCF7; }

/* search card */
.pp-site .pp-search { background:#fff; border-radius:22px; padding:14px; box-shadow:var(--pp-shadow-lg); color:var(--pp-text); }
.pp-site .pp-search-tabs { display:flex; gap:6px; padding:4px 4px 14px; flex-wrap:wrap; }
.pp-site .pp-stab { display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 18px; border:0; border-radius:30px; background:var(--pp-bg); color:var(--pp-muted); font-size:14px; font-weight:700; cursor:pointer; transition:background 0.15s, color 0.15s; }
.pp-site .pp-stab:hover { color:var(--pp-primary); }
.pp-site .pp-stab.is-on { background:var(--pp-primary); color:#fff; }
.pp-site .pp-search-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto; gap:10px; align-items:stretch; }
.pp-site .pp-sfield { display:flex; align-items:center; gap:12px; padding:10px 16px; border:1.5px solid var(--pp-line); border-radius:14px; background:#fff; cursor:text; transition:border-color 0.15s, box-shadow 0.15s; }
.pp-site .pp-sfield:focus-within { border-color:var(--pp-primary); box-shadow:0 0 0 4px rgba(52,84,209,0.12); }
.pp-site .pp-sfield > i { color:var(--pp-primary); font-size:18px; width:20px; text-align:center; }
.pp-site .pp-sfield > span { display:flex; flex-direction:column; min-width:0; flex:1; }
.pp-site .pp-sfield small { font-size:11px; line-height:14px; font-weight:700; color:var(--pp-muted); text-transform:uppercase; letter-spacing:0.6px; }
.pp-site .pp-sfield input, .pp-site .pp-sfield select { width:100%; height:26px; padding:0; border:0; outline:0; background:transparent; font-size:15px; font-weight:600; color:var(--pp-navy); }
.pp-site .pp-sfield input::placeholder { color:#9AA4BF; font-weight:500; }
.pp-site .pp-search-btn { height:auto; min-height:58px; padding:0 30px; border-radius:14px; font-size:15px; }
.pp-site .pp-quick { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:20px 0 0; font-size:14px; color:#C5CEF3; }
.pp-site .pp-quick a { padding:5px 14px; border-radius:30px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.2); font-weight:600; color:#fff; transition:background 0.15s; }
.pp-site .pp-quick a:hover { background:var(--pp-amber); border-color:var(--pp-amber); }
.pp-site .pp-announce { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:22px 0 0; padding:12px 18px; border-radius:14px; background:rgba(255,255,255,0.12); border:1px dashed rgba(255,255,255,0.35); font-size:14px; }
.pp-site .pp-announce i { color:var(--pp-amber); }
.pp-site .pp-announce a { margin-left:auto; font-weight:700; color:var(--pp-amber); }

/* hero art */
.pp-site .pp-hero-art { position:relative; height:420px; }
.pp-site .pp-art-card { position:absolute; display:flex; align-items:center; gap:12px; padding:14px 18px; border-radius:18px; background:rgba(255,255,255,0.96); color:var(--pp-navy); box-shadow:var(--pp-shadow-lg); animation:ppFloat 7s ease-in-out infinite; }
.pp-site .pp-art-card b { display:block; font-size:15px; line-height:20px; }
.pp-site .pp-art-card small { display:block; font-size:12px; line-height:16px; color:var(--pp-muted); }
.pp-site .pp-art-card > i { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:17px; }
.pp-site .pp-art-main { top:70px; left:30px; flex-direction:column; align-items:flex-start; width:250px; padding:28px 26px; border-radius:26px; background:linear-gradient(160deg,#fff,#EEF2FF); }
.pp-site .pp-art-ic { width:68px; height:68px; margin-bottom:6px; border-radius:20px; background:linear-gradient(135deg,var(--pp-primary),var(--pp-violet)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:30px; box-shadow:0 12px 24px rgba(52,84,209,0.35); }
.pp-site .pp-art-main b { font-size:22px; line-height:28px; }
.pp-site .pp-art-a { top:10px; right:0; animation-delay:-2s; }
.pp-site .pp-art-a > i { background:#E7F8F0; color:var(--pp-green); }
.pp-site .pp-art-b { bottom:70px; right:-6px; animation-delay:-4s; }
.pp-site .pp-art-b > i { background:#FEF3E2; color:var(--pp-amber); }
.pp-site .pp-art-c { bottom:0; left:0; animation-delay:-1s; }
.pp-site .pp-art-c > i { background:#F0ECFE; color:var(--pp-violet); }
.pp-site .pp-wave { position:absolute; left:0; bottom:-1px; width:100%; height:70px; z-index:1; }

/* ---------- Stats ---------- */
.pp-site .pp-stats-wrap { position:relative; z-index:5; margin-top:-92px; }
.pp-site .pp-stats { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); background:#fff; border:1px solid var(--pp-line); border-radius:24px; box-shadow:var(--pp-shadow-lg); overflow:hidden; }
.pp-site .pp-stat { display:flex; align-items:center; gap:16px; padding:28px 28px; border-right:1px solid var(--pp-line); }
.pp-site .pp-stat:last-child { border-right:0; }
.pp-site .pp-stat-ic { width:56px; height:56px; flex:none; border-radius:16px; background:var(--pp-primary-soft); color:var(--pp-primary); display:flex; align-items:center; justify-content:center; font-size:22px; }
.pp-site .pp-stat:nth-child(2) .pp-stat-ic { background:#E7F8F0; color:var(--pp-green); }
.pp-site .pp-stat:nth-child(3) .pp-stat-ic { background:#FEF3E2; color:var(--pp-amber); }
.pp-site .pp-stat:nth-child(4) .pp-stat-ic { background:#F0ECFE; color:var(--pp-violet); }
.pp-site .pp-stat-n { display:block; font-size:30px; line-height:36px; font-weight:800; color:var(--pp-navy); letter-spacing:-0.5px; }
.pp-site .pp-stat-l { display:block; font-size:13px; color:var(--pp-muted); font-weight:500; }

/* ---------- Sections ---------- */
.pp-site .pp-section { padding:50px 0; }
.pp-site .pp-section-soft { background:var(--pp-bg); }
.pp-site .pp-sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin:0 0 40px; }
.pp-site .pp-eyebrow { display:inline-flex; align-items:center; gap:8px; margin:0 0 10px; font-size:13px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; color:var(--pp-primary); }
.pp-site .pp-eyebrow::before { content:""; width:28px; height:3px; border-radius:3px; background:var(--pp-amber); }
.pp-site .pp-h2 { font-size:38px; line-height:46px; font-weight:800; letter-spacing:-0.8px; color:var(--pp-navy); }
.pp-site .pp-lead { margin:10px 0 0; max-width:620px; font-size:16px; line-height:26px; color:var(--pp-muted); }

/* ---------- Categories ---------- */
.pp-site .pp-cat-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:18px; }
.pp-site .pp-cat { display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:28px 16px 24px; background:#fff; border:1px solid var(--pp-line); border-radius:20px; transition:transform 0.2s, box-shadow 0.2s, border-color 0.2s; }
.pp-site .pp-cat:hover { transform:translateY(-6px); box-shadow:var(--pp-shadow); border-color:var(--pp-primary); }
.pp-site .pp-cat-ic { width:68px; height:68px; margin-bottom:10px; border-radius:22px; background:var(--pp-primary-soft); color:var(--pp-primary); display:flex; align-items:center; justify-content:center; font-size:27px; transition:background 0.2s, color 0.2s, transform 0.2s; }
.pp-site .pp-cat:hover .pp-cat-ic { background:var(--pp-primary); color:#fff; transform:rotate(-6deg) scale(1.06); }
.pp-site .pp-cat-name { font-size:16px; font-weight:700; color:var(--pp-navy); }
.pp-site .pp-cat-count { font-size:13px; color:var(--pp-muted); }

/* ---------- Property cards ---------- */
.pp-site .pp-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(290px, 1fr)); gap:26px; }
.pp-site .pp-card { height:100%; display:flex; flex-direction:column; background:#fff; border:1px solid var(--pp-line); border-radius:22px; overflow:hidden; transition:transform 0.25s, box-shadow 0.25s; }
.pp-site .pp-card:hover { transform:translateY(-8px); box-shadow:var(--pp-shadow-lg); }
.pp-site .pp-card-media { position:relative; display:block; height:220px; overflow:hidden; background:var(--pp-primary-soft); }
.pp-site .pp-card-media img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.pp-site .pp-card:hover .pp-card-media img { transform:scale(1.08); }
.pp-site .pp-card-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#EAEFFD,#F0ECFE); color:var(--pp-primary); font-size:54px; opacity:0.85; }
.pp-site .pp-chip { position:absolute; top:14px; left:14px; padding:5px 12px; border-radius:30px; background:var(--pp-primary); color:#fff; font-size:12px; font-weight:700; line-height:16px; }
.pp-site .pp-chip-rent { background:var(--pp-green); }
.pp-site .pp-chip-lease { background:var(--pp-violet); }
.pp-site .pp-chip-pg { background:var(--pp-sky); }
.pp-site .pp-chip-tip { background:var(--pp-amber); }
.pp-site .pp-tag { position:absolute; top:14px; right:14px; display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:30px; background:rgba(255,255,255,0.96); color:var(--pp-amber-dark); font-size:12px; font-weight:700; line-height:16px; }
.pp-site .pp-card-body { display:flex; flex-direction:column; flex:1; padding:20px 22px 22px; }
.pp-site .pp-card-price { display:flex; align-items:baseline; gap:10px; font-size:24px; line-height:30px; font-weight:800; color:var(--pp-primary); letter-spacing:-0.4px; }
.pp-site .pp-card-price small { font-size:12px; font-weight:600; color:var(--pp-green); }
.pp-site .pp-card-title { margin:6px 0 6px; font-size:17px; line-height:24px; font-weight:700; color:var(--pp-navy); }
.pp-site .pp-card-title a:hover { color:var(--pp-primary); }
.pp-site .pp-verified { margin-left:8px; color:var(--pp-green); font-size:15px; }
.pp-site .pp-card-loc { display:flex; align-items:center; gap:8px; font-size:14px; color:var(--pp-muted); }
.pp-site .pp-card-loc i { color:var(--pp-red); }
.pp-site .pp-specs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 18px; }
.pp-site .pp-specs li { display:inline-flex; align-items:center; gap:7px; padding:6px 12px; border-radius:10px; background:var(--pp-bg); font-size:13px; font-weight:600; color:var(--pp-navy); }
.pp-site .pp-specs i { color:var(--pp-primary); }
.pp-site .pp-card-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; padding-top:16px; border-top:1px dashed var(--pp-line); }
.pp-site .pp-card-cat { font-size:13px; font-weight:600; color:var(--pp-muted); }
.pp-site .pp-link { display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:14px; color:var(--pp-primary); }
.pp-site .pp-link i { transition:transform 0.2s; }
.pp-site .pp-link:hover i { transform:translateX(5px); }

/* empty state */
.pp-site .pp-empty { display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:56px 24px; border:2px dashed #CAD3F2; border-radius:24px; background:#fff; }
.pp-site .pp-empty > i { font-size:44px; color:var(--pp-primary); opacity:0.8; }
.pp-site .pp-empty h3 { font-size:20px; line-height:28px; color:var(--pp-navy); }
.pp-site .pp-empty p { max-width:420px; margin-bottom:10px; color:var(--pp-muted); }

/* ---------- Cities ---------- */
.pp-site .pp-city-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:20px; }
.pp-site .pp-city { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; min-height:190px; padding:24px; border-radius:22px; color:#fff; transition:transform 0.25s, box-shadow 0.25s; }
.pp-site .pp-city:hover { transform:translateY(-6px); box-shadow:var(--pp-shadow-lg); }
.pp-site .pp-city-0 { background:linear-gradient(135deg,#3454D1,#7A5AF8); }
.pp-site .pp-city-1 { background:linear-gradient(135deg,#0BA5EC,#3454D1); }
.pp-site .pp-city-2 { background:linear-gradient(135deg,#12B76A,#0E9384); }
.pp-site .pp-city-3 { background:linear-gradient(135deg,#F79009,#F04438); }
.pp-site .pp-city-4 { background:linear-gradient(135deg,#7A5AF8,#D444F1); }
.pp-site .pp-city-5 { background:linear-gradient(135deg,#101A4A,#3454D1); }
.pp-site .pp-city-ic { position:absolute; top:-14px; right:-10px; font-size:110px; opacity:0.16; transform:rotate(14deg); transition:transform 0.4s; }
.pp-site .pp-city:hover .pp-city-ic { transform:rotate(0) scale(1.12); }
.pp-site .pp-city-name { font-size:26px; line-height:32px; font-weight:800; letter-spacing:-0.4px; }
.pp-site .pp-city-meta { margin:2px 0 14px; font-size:13px; opacity:0.85; }
.pp-site .pp-city-count { display:inline-flex; align-items:center; gap:10px; align-self:flex-start; padding:6px 14px; border-radius:30px; background:rgba(255,255,255,0.2); font-size:13px; font-weight:700; }

/* ---------- Tips ---------- */
.pp-site .pp-tip-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:26px; }
.pp-site .pp-tip { height:100%; display:flex; flex-direction:column; background:#fff; border:1px solid var(--pp-line); border-radius:22px; overflow:hidden; transition:transform 0.25s, box-shadow 0.25s; }
.pp-site .pp-tip:hover { transform:translateY(-6px); box-shadow:var(--pp-shadow-lg); }
.pp-site .pp-tip-media { position:relative; display:block; height:190px; overflow:hidden; background:var(--pp-primary-soft); }
.pp-site .pp-tip-media img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.pp-site .pp-tip:hover .pp-tip-media img { transform:scale(1.07); }
.pp-site .pp-tip-body { display:flex; flex-direction:column; gap:10px; flex:1; padding:22px; }
.pp-site .pp-tip-meta { display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--pp-muted); }
.pp-site .pp-tip-meta i { margin-right:6px; color:var(--pp-primary); }
.pp-site .pp-tip-title { font-size:18px; line-height:26px; font-weight:700; color:var(--pp-navy); }
.pp-site .pp-tip-title a:hover { color:var(--pp-primary); }
.pp-site .pp-tip-body p { font-size:14px; color:var(--pp-muted); }
.pp-site .pp-tip-body .pp-link { margin-top:auto; padding-top:6px; }

/* ---------- How it works ---------- */
.pp-site .pp-steps { position:relative; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; }
.pp-site .pp-steps::before { content:""; position:absolute; top:62px; left:16%; right:16%; border-top:2px dashed #BFCAF2; z-index:0; }
.pp-site .pp-step { position:relative; z-index:1; padding:34px 28px 30px; text-align:center; background:#fff; border:1px solid var(--pp-line); border-radius:24px; transition:transform 0.2s, box-shadow 0.2s; }
.pp-site .pp-step:hover { transform:translateY(-6px); box-shadow:var(--pp-shadow); }
.pp-site .pp-step-no { position:absolute; top:16px; right:22px; font-size:44px; line-height:48px; font-weight:800; color:var(--pp-primary-soft); }
.pp-site .pp-step-ic { width:76px; height:76px; margin:0 auto 20px; border-radius:50%; background:linear-gradient(135deg,var(--pp-primary),var(--pp-violet)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; box-shadow:0 12px 26px rgba(52,84,209,0.32); border:6px solid #fff; outline:1px solid var(--pp-line); }
.pp-site .pp-step h3 { margin-bottom:8px; font-size:19px; line-height:26px; color:var(--pp-navy); }
.pp-site .pp-step p { color:var(--pp-muted); font-size:14px; }

/* ---------- Why us ---------- */
.pp-site .pp-why { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr); gap:56px; align-items:center; }
.pp-site .pp-why-list { display:flex; flex-direction:column; gap:20px; margin:30px 0 0; }
.pp-site .pp-why-list li { display:flex; gap:16px; }
.pp-site .pp-why-list li > span { width:48px; height:48px; flex:none; border-radius:14px; background:#E7F8F0; color:var(--pp-green); display:flex; align-items:center; justify-content:center; font-size:19px; }
.pp-site .pp-why-list li:nth-child(2) > span { background:#FEF3E2; color:var(--pp-amber); }
.pp-site .pp-why-list li:nth-child(3) > span { background:var(--pp-primary-soft); color:var(--pp-primary); }
.pp-site .pp-why-list li:nth-child(4) > span { background:#F0ECFE; color:var(--pp-violet); }
.pp-site .pp-why-list b { display:block; font-size:16px; color:var(--pp-navy); }
.pp-site .pp-why-list p { font-size:14px; color:var(--pp-muted); }
.pp-site .pp-why-panel { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:18px; }
.pp-site .pp-why-card { display:flex; flex-direction:column; gap:4px; padding:28px 24px; border-radius:22px; background:#fff; border:1px solid var(--pp-line); box-shadow:var(--pp-shadow); }
.pp-site .pp-why-card:nth-child(1) { background:linear-gradient(150deg,#3454D1,#5B7BEF); color:#fff; border-color:transparent; }
.pp-site .pp-why-card:nth-child(4) { background:linear-gradient(150deg,#F79009,#FDB022); color:#fff; border-color:transparent; }
.pp-site .pp-why-card:nth-child(even) { transform:translateY(24px); }
.pp-site .pp-why-card > i { margin-bottom:12px; font-size:26px; color:var(--pp-primary); }
.pp-site .pp-why-card:nth-child(1) > i, .pp-site .pp-why-card:nth-child(4) > i { color:#fff; }
.pp-site .pp-why-card b { font-size:34px; line-height:40px; font-weight:800; letter-spacing:-0.6px; }
.pp-site .pp-why-card span { font-size:14px; opacity:0.85; }

/* ---------- CTA ---------- */
.pp-site .pp-cta { position:relative; overflow:hidden; display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap; padding:56px 56px; border-radius:30px; color:#fff;
  background:linear-gradient(135deg,#101A4A,#3454D1 60%,#7A5AF8); background-size:cover; background-position:center; box-shadow:var(--pp-shadow-lg); }
.pp-site .pp-cta::before { content:""; position:absolute; width:340px; height:340px; right:-100px; top:-140px; border-radius:50%; background:radial-gradient(circle,rgba(247,144,9,0.5),transparent 70%); }
.pp-site .pp-cta-copy { position:relative; max-width:640px; }
.pp-site .pp-cta h2 { margin:16px 0 10px; font-size:36px; line-height:44px; font-weight:800; letter-spacing:-0.7px; }
.pp-site .pp-cta p { font-size:17px; line-height:28px; color:#D5DCF7; }
.pp-site .pp-cta-actions { position:relative; display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Reviews ---------- */
.pp-site .pp-review-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:24px; }
.pp-site .pp-review { position:relative; display:flex; flex-direction:column; gap:14px; padding:32px 28px 26px; background:#fff; border:1px solid var(--pp-line); border-radius:22px; box-shadow:var(--pp-shadow); }
.pp-site .pp-review-q { position:absolute; top:22px; right:26px; font-size:34px; color:var(--pp-primary-soft); }
.pp-site .pp-stars { color:var(--pp-amber); font-size:14px; letter-spacing:2px; }
.pp-site .pp-review blockquote { font-size:15px; line-height:26px; color:var(--pp-text); }
.pp-site .pp-review figcaption { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:16px; border-top:1px dashed var(--pp-line); }
.pp-site .pp-avatar { width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--pp-primary),var(--pp-violet)); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; }
.pp-site .pp-review figcaption b { display:block; color:var(--pp-navy); }
.pp-site .pp-review figcaption small { display:block; font-size:12px; color:var(--pp-muted); }

/* ---------- FAQ ---------- */
.pp-site .pp-faq-wrap { display:grid; grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr); gap:56px; align-items:start; }
.pp-site .pp-faq-intro .pp-btn { margin-top:24px; }
.pp-site .pp-faq { display:flex; flex-direction:column; gap:14px; }
.pp-site .pp-faq details { background:#fff; border:1px solid var(--pp-line); border-radius:16px; transition:box-shadow 0.2s, border-color 0.2s; }
.pp-site .pp-faq details[open] { border-color:var(--pp-primary); box-shadow:var(--pp-shadow); }
.pp-site .pp-faq summary { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 24px; list-style:none; cursor:pointer; font-size:16px; font-weight:700; color:var(--pp-navy); }
.pp-site .pp-faq summary::-webkit-details-marker { display:none; }
.pp-site .pp-faq summary i { width:30px; height:30px; flex:none; border-radius:50%; background:var(--pp-primary-soft); color:var(--pp-primary); display:flex; align-items:center; justify-content:center; font-size:12px; transition:transform 0.25s, background 0.25s, color 0.25s; }
.pp-site .pp-faq details[open] summary i { transform:rotate(180deg); background:var(--pp-primary); color:#fff; }
.pp-site .pp-faq details p { padding:0 24px 22px; color:var(--pp-muted); }

/* ---------- Footer ---------- */
.pp-site .pp-footer { background:var(--pp-navy-deep); color:#AEB8DE; padding:76px 0 0; }
.pp-site .pp-footer-grid { display:grid; grid-template-columns:minmax(0,1.5fr) repeat(4, minmax(0,1fr)); gap:40px; padding-bottom:56px; }
.pp-site .pp-footer-brand p { margin:18px 0 22px; max-width:320px; font-size:14px; line-height:24px; }
.pp-site .pp-social { display:flex; gap:10px; flex-wrap:wrap; }
.pp-site .pp-social a { width:40px; height:40px; border-radius:12px; background:rgba(255,255,255,0.08); color:#fff; display:flex; align-items:center; justify-content:center; transition:background 0.2s, transform 0.2s; }
.pp-site .pp-social a:hover { background:var(--pp-amber); transform:translateY(-3px); }
.pp-site .pp-footer-h { margin:0 0 20px; font-size:16px; font-weight:700; color:#fff; }
.pp-site .pp-footer-list { display:flex; flex-direction:column; gap:12px; font-size:14px; }
.pp-site .pp-footer-list a { transition:color 0.15s, padding-left 0.15s; }
.pp-site .pp-footer-list a:hover { color:#fff; padding-left:6px; }
.pp-site .pp-footer-contact { display:flex; flex-direction:column; gap:14px; font-size:14px; }
.pp-site .pp-footer-contact li { display:flex; gap:12px; }
.pp-site .pp-footer-contact i { margin-top:5px; color:var(--pp-amber); width:16px; }
.pp-site .pp-footer-contact a:hover { color:#fff; }
.pp-site .pp-footer-bottom { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:22px 0; border-top:1px solid rgba(255,255,255,0.1); font-size:13px; }
.pp-site .pp-footer-made i { color:var(--pp-red); }

/* back to top */
.pp-site .pp-top { position:fixed; right:24px; bottom:24px; z-index:90; width:48px; height:48px; border:0; border-radius:50%; background:var(--pp-primary); color:#fff; font-size:16px; cursor:pointer;
  box-shadow:0 10px 24px rgba(52,84,209,0.4); opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity 0.25s, transform 0.25s, visibility 0.25s; }
.pp-site .pp-top.is-on { opacity:1; visibility:visible; transform:none; }
.pp-site .pp-top:hover { background:var(--pp-amber); }

/* maintenance */
.pp-site .pp-maint { min-height:600px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:24px; text-align:center; background:linear-gradient(135deg,#101A4A,#3454D1); color:#fff; }
.pp-site .pp-maint i { font-size:64px; color:var(--pp-amber); }
.pp-site .pp-maint h1 { font-size:34px; line-height:42px; }

/* ---------- Responsive (px breakpoints) ---------- */
@media (max-width: 1100px) {
  .pp-site .pp-hero-in { grid-template-columns:minmax(0,1fr); }
  .pp-site .pp-hero-art { display:none; }
  .pp-site .pp-footer-grid { grid-template-columns:repeat(3, minmax(0,1fr)); }
  .pp-site .pp-footer-brand { grid-column:1 / -1; }
  .pp-site .pp-why { grid-template-columns:minmax(0,1fr); gap:40px; }
  .pp-site .pp-faq-wrap { grid-template-columns:minmax(0,1fr); gap:32px; }
}
@media (max-width: 960px) {
  .pp-site .pp-burger { display:inline-flex; align-items:center; justify-content:center; }
  .pp-site .pp-header-actions .pp-btn { display:none; }
  .pp-site .pp-nav { position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:4px; padding:16px 24px 24px; background:#fff; border-bottom:1px solid var(--pp-line); box-shadow:0 20px 30px rgba(16,26,74,0.12); display:none; }
  .pp-site .pp-nav.is-open { display:flex; }
  .pp-site .pp-nav-mobile-actions { display:flex; gap:10px; margin-top:12px; }
  .pp-site .pp-nav-mobile-actions .pp-btn { flex:1; }
  .pp-site .pp-search-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .pp-site .pp-sfield-wide { grid-column:1 / -1; }
  .pp-site .pp-search-btn { grid-column:1 / -1; min-height:52px; }
  .pp-site .pp-stats { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .pp-site .pp-stat:nth-child(2) { border-right:0; }
  .pp-site .pp-stat:nth-child(-n+2) { border-bottom:1px solid var(--pp-line); }
  .pp-site .pp-steps { grid-template-columns:minmax(0,1fr); }
  .pp-site .pp-steps::before { display:none; }
}
@media (max-width: 680px) {
  .pp-site .pp-topbar-info a:nth-child(2) { display:none; }
  .pp-site .pp-hero { padding:56px 0 130px; }
  .pp-site .pp-hero-title { font-size:36px; line-height:44px; letter-spacing:-0.8px; }
  .pp-site .pp-hero-sub { font-size:16px; line-height:26px; }
  .pp-site .pp-section { padding:60px 0; }
  .pp-site .pp-h2 { font-size:28px; line-height:36px; }
  .pp-site .pp-search-row { grid-template-columns:minmax(0,1fr); }
  .pp-site .pp-stat { padding:20px 16px; gap:12px; }
  .pp-site .pp-stat-ic { width:44px; height:44px; font-size:18px; }
  .pp-site .pp-stat-n { font-size:22px; line-height:28px; }
  .pp-site .pp-cta { padding:36px 24px; }
  .pp-site .pp-cta h2 { font-size:28px; line-height:36px; }
  .pp-site .pp-cta-actions, .pp-site .pp-cta-actions .pp-btn { width:100%; }
  .pp-site .pp-why-panel { grid-template-columns:minmax(0,1fr); }
  .pp-site .pp-why-card:nth-child(even) { transform:none; }
  .pp-site .pp-footer-grid { grid-template-columns:repeat(2, minmax(0,1fr)); }
  .pp-site .pp-container { padding:0 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .pp-site *, .pp-site *::before, .pp-site *::after { animation:none !important; transition:none !important; }
  .js .pp-site .pp-reveal { opacity:1; transform:none; }
}

/* ---------- Fix: horizontal scroll (long email / wide children) ---------- */
.pp-site { overflow-x:clip; }
.pp-site .pp-footer-grid > * { min-width:0; }
.pp-site .pp-footer-contact li > span, .pp-site .pp-footer-contact a { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.pp-site .pp-topbar-info a { min-width:0; overflow-wrap:anywhere; }
.pp-site .pp-footer-bottom { min-width:0; }