/*
  PropTechEasy Unified Landing/Service Pages CSS v1
  Scope: /services, /website-service, and future PropTechEasy custom pages
  WordPress-safe: all selectors are scoped under .pte-page / .pte-services-* / .pte-ws-*

  Layers:
  1) Shared system classes: .pte-*
  2) /services page classes: .pte-services-*
  3) /website-service page classes: .pte-ws-*

  Install once globally in WordPress, or include this single file in each HTML/template.
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+Thai:wght@400;500;600;700;800;900&display=swap");

/* =========================================================
       PropTechEasy Shared Design System Layer
       Prefix: pte-
       ใช้ร่วมกันได้กับ /services, /website-service และ service pages อื่น
       ========================================================= */
    .pte-page{
      --pte-orange:#ff9f00;--pte-orange-dark:#f26a21;--pte-red:#ef3129;
      --pte-ink:#1f1f22;--pte-brown:#3a2a18;--pte-muted:#66615b;
      --pte-cream:#fffaf3;--pte-cream-2:#fff3e2;--pte-border:#f0e2cf;
      --pte-white:#fff;--pte-shadow:0 18px 45px rgba(16,32,51,.10);
      --pte-shadow-soft:0 10px 25px rgba(16,32,51,.07);--pte-radius:22px;
      margin:0;font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif;
      color:var(--pte-ink);background:var(--pte-cream);line-height:1.55;-webkit-font-smoothing:antialiased;
    }
    .pte-page,.pte-page *{box-sizing:border-box}
    .pte-page a{color:inherit;text-decoration:none}
    .pte-container{max-width:1180px;margin:auto;padding:0 22px}
    .pte-section{padding:76px 0}
    .pte-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:var(--pte-cream-2);border:1px solid #ffe0aa;color:#e88900;font-weight:900;font-size:13px;margin-bottom:16px}
    .pte-page h1,.pte-page h2,.pte-page h3,.pte-page p{margin-top:0}
    .pte-page h1{font-size:52px;line-height:1.08;letter-spacing:-.035em;margin-bottom:18px;color:var(--pte-ink)}
    .pte-page h2{font-size:36px;line-height:1.18;letter-spacing:-.018em;margin-bottom:14px;color:var(--pte-ink)}
    .pte-page h3{font-size:21px;line-height:1.25;margin-bottom:8px;color:var(--pte-ink)}
    .pte-lead{font-size:19px;color:var(--pte-muted);margin-bottom:24px}
    .pte-muted{color:var(--pte-muted)}
    .pte-center{max-width:840px;text-align:center;margin:0 auto 36px}
    .pte-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;font-weight:900;border:1px solid transparent;transition:.18s ease;white-space:nowrap;cursor:pointer;font-size:15px}
    .pte-btn--primary{background:linear-gradient(135deg,var(--pte-orange),var(--pte-orange-dark));color:#fff;box-shadow:0 15px 30px rgba(255,159,0,.24)}
    .pte-btn--primary:hover{transform:translateY(-1px)}
    .pte-btn--secondary{background:#fff;border-color:#d7c7b3;color:var(--pte-ink)}
    .pte-btn--secondary:hover{border-color:var(--pte-orange);color:var(--pte-orange-dark);transform:translateY(-1px)}
    .pte-btn--ghost{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.28);color:#fff}
    .pte-card{background:#fff;border:1px solid var(--pte-border);border-radius:var(--pte-radius);padding:24px;box-shadow:var(--pte-shadow-soft)}
    .pte-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .pte-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .pte-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
    .pte-cta-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:26px}
    .pte-check{width:23px;height:23px;border-radius:50%;background:#fff1d6;color:#e88900;display:inline-grid;place-items:center;flex:0 0 23px;font-weight:900}
    .pte-topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(240,226,207,.95)}
    .pte-nav{height:70px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .pte-brand{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--pte-ink);letter-spacing:-.02em;font-size:21px}
    .pte-logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--pte-red),var(--pte-orange-dark) 48%,var(--pte-orange));display:grid;place-items:center;color:#fff;box-shadow:0 10px 20px rgba(239,49,41,.22);font-weight:900}
    .pte-links{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:800;color:#55483c}
    .pte-links a:hover{color:var(--pte-orange-dark)}
    .pte-mobile-cta{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:70}.pte-mobile-cta .pte-btn{width:100%;box-shadow:0 16px 40px rgba(255,159,0,.30)}

    /* =========================================================
       /services Page Layer
       Prefix: pte-services-
       เฉพาะหน้านี้เท่านั้น ไม่ใช้ร่วมกับหน้าอื่น
       ========================================================= */
    .pte-services-hero{position:relative;overflow:hidden;padding:72px 0 66px;background:radial-gradient(circle at 80% 18%,rgba(255,159,0,.18),transparent 34%),linear-gradient(135deg,#ffffff 0%,#fff7ec 56%,#fff4e6 100%);border-bottom:1px solid var(--pte-border)}
    .pte-services-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}
    .pte-services-hero ul{padding:0;margin:22px 0 0;list-style:none;display:grid;gap:10px}
    .pte-services-hero li{display:flex;gap:10px;color:#34485e;font-weight:700}
    .pte-services-map{position:relative;background:#1f1f22;border-radius:32px;padding:22px;box-shadow:0 34px 75px rgba(11,31,51,.22)}
    .pte-services-map-inner{background:#fff;border-radius:24px;padding:22px;display:grid;gap:14px}
    .pte-services-node{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fffaf3;border:1px solid var(--pte-border);border-radius:18px;padding:16px}
    .pte-services-node strong{font-size:18px;color:var(--pte-ink)}
    .pte-services-node span{display:block;margin-top:2px;font-size:13px;color:var(--pte-muted);font-weight:800}
    .pte-services-arrow{text-align:center;color:#e88900;font-weight:900;font-size:22px;line-height:1}
    .pte-services-overview{background:#fff}
    .pte-services-card{position:relative;display:flex;flex-direction:column;min-height:360px}
    .pte-services-card-icon{width:46px;height:46px;border-radius:16px;background:var(--pte-cream-2);display:grid;place-items:center;font-size:24px;margin-bottom:14px}
    .pte-services-price{font-size:15px;font-weight:900;color:#e88900;margin:10px 0 14px}
    .pte-services-bestfor{font-size:14px;color:#4d4034;background:#fffaf3;border:1px dashed #ead6bd;border-radius:15px;padding:12px;margin:8px 0 18px}
    .pte-services-card .pte-btn{margin-top:auto;width:100%}
    .pte-services-featured{border:2px solid var(--pte-orange);box-shadow:0 22px 50px rgba(255,159,0,.17)}
    .pte-services-badge{position:absolute;top:-14px;left:20px;background:linear-gradient(135deg,var(--pte-orange),var(--pte-orange-dark));color:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900}
    .pte-services-fit{background:#fffaf3;border-top:1px solid var(--pte-border);border-bottom:1px solid var(--pte-border)}
    .pte-services-fit-card{border-left:4px solid var(--pte-orange)}
    .pte-services-fit-card small{display:block;font-weight:900;color:#e88900;margin-bottom:6px}
    .pte-services-journey{background:#fff}
    .pte-services-journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:journey}
    .pte-services-step{position:relative;padding-top:54px}
    .pte-services-step:before{counter-increment:journey;content:counter(journey);position:absolute;left:24px;top:20px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pte-orange);color:#fff;font-weight:900}
    .pte-services-usecases{background:linear-gradient(135deg,#1f1f22,#3a2a18);color:#fff}
    .pte-services-usecases h2,.pte-services-usecases h3{color:#fff}
    .pte-services-usecases .pte-lead{color:#e5d9ca}
    .pte-services-usecase-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:24px;padding:24px}
    .pte-services-usecase-card ul{padding-left:20px;margin:12px 0 20px;color:#f4eadb;font-weight:700}
    .pte-services-why{background:#f8fafc}
    .pte-services-faq{background:#fff}
    .pte-services-faq-list{max-width:920px;margin:auto}
    .pte-page details{background:#fff;border:1px solid var(--pte-border);border-radius:18px;padding:18px 20px;margin-bottom:12px;box-shadow:0 6px 14px rgba(16,32,51,.035)}
    .pte-page summary{cursor:pointer;font-weight:900;color:var(--pte-ink)}
    .pte-page details p{margin:12px 0 0;color:var(--pte-muted)}
    .pte-services-final{background:radial-gradient(circle at 20% 20%,rgba(255,159,0,.25),transparent 30%),linear-gradient(135deg,#1f1f22,#071525);color:#fff;text-align:center}
    .pte-services-final h2{color:#fff}.pte-services-final .pte-lead{color:#d4e1ed}
    .pte-footer{padding:30px 0;background:#050d18;color:#91a2b3;font-size:14px}
    .pte-footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

    @media(max-width:980px){.pte-page h1{font-size:42px}.pte-services-hero-grid,.pte-grid-2{grid-template-columns:1fr}.pte-grid-4,.pte-grid-3,.pte-services-journey-grid{grid-template-columns:1fr 1fr}.pte-links{display:none}.pte-nav>.pte-btn{display:none}.pte-mobile-cta{display:block}.pte-page{padding-bottom:76px}}
    @media(max-width:560px){.pte-container{padding:0 16px}.pte-section{padding:52px 0}.pte-services-hero{padding:44px 0 46px}.pte-page h1{font-size:34px}.pte-page h2{font-size:27px}.pte-lead{font-size:16px}.pte-grid-4,.pte-grid-3,.pte-grid-2,.pte-services-journey-grid{grid-template-columns:1fr}.pte-cta-row .pte-btn{width:100%}.pte-services-map{border-radius:24px;padding:14px}.pte-services-card{min-height:0}} 

/* =========================================================
   /website-service Page Layer
   Current production prefix: pte-ws-
   Kept compatible with existing approved HTML to avoid layout regression.
   ========================================================= */

.pte-ws-page{
      --pte-ws-navy:#1f1f22;
      --pte-ws-navy-2:#3a2a18;
      --pte-ws-teal:#ff9f00;
      --pte-ws-teal-dark:#e88900;
      --pte-ws-orange:#ff9f00;
      --pte-ws-orange-dark:#f26a21;
      --pte-ws-line:#ff9f00;
      --pte-ws-red:#ef3129;
      --pte-ws-ink:#1f1f22;
      --pte-ws-muted:#66615b;
      --pte-ws-soft:#fffaf3;
      --pte-ws-soft-teal:#fff3e2;
      --pte-ws-border:#f0e2cf;
      --pte-ws-white:#fff;
      --pte-ws-shadow:0 18px 45px rgba(16,32,51,.10);
      --pte-ws-shadow-soft:0 10px 25px rgba(16,32,51,.07);
      --pte-ws-radius:22px;
    }
    .pte-ws-page, .pte-ws-page *{box-sizing:border-box}
    .pte-ws-page{margin:0;font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--pte-ws-ink);background:var(--pte-ws-soft);line-height:1.55;-webkit-font-smoothing:antialiased}
    .pte-ws-page a{text-decoration:none;color:inherit}
    .pte-ws-wrap{max-width:1180px;margin:auto;padding:0 22px}
    .pte-ws-topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(219,229,238,.9)}
    .pte-ws-nav{height:70px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .pte-ws-brand{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--pte-ws-navy);letter-spacing:-.02em;font-size:21px}
    .pte-ws-logo-mark{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--pte-ws-red),var(--pte-ws-orange-dark) 48%,var(--pte-ws-orange));display:grid;place-items:center;color:white;box-shadow:0 10px 20px rgba(239,49,41,.22);font-weight:900}
    .pte-ws-links{display:flex;gap:24px;font-size:14px;font-weight:700;color:#496174}.pte-ws-links a:hover{color:var(--pte-ws-teal-dark)}
    .pte-ws-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;font-weight:900;border:1px solid transparent;transition:.18s ease;white-space:nowrap;cursor:pointer;font-size:15px}
    .pte-ws-btn.pte-ws-primary{background:var(--pte-ws-orange);color:white;box-shadow:0 15px 30px rgba(249,115,22,.25)}
    .pte-ws-btn.pte-ws-primary:hover{background:var(--pte-ws-orange-dark);transform:translateY(-1px)}
    .pte-ws-btn.pte-ws-line{background:linear-gradient(135deg,var(--pte-ws-orange),var(--pte-ws-orange-dark));color:white;box-shadow:0 15px 30px rgba(255,159,0,.24)}
    .pte-ws-btn.pte-ws-secondary{background:white;border-color:#cbd8e3;color:var(--pte-ws-navy)}
    .pte-ws-btn.pte-ws-secondary:hover{border-color:var(--pte-ws-teal);color:var(--pte-ws-teal-dark);transform:translateY(-1px)}
    .pte-ws-btn.pte-ws-ghost{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.28);color:#fff}
    .pte-ws-mobile-cta{display:none;position:fixed;left:14px;right:14px;bottom:14px;z-index:60}.pte-ws-mobile-cta .pte-ws-btn{width:100%;box-shadow:0 16px 40px rgba(255,159,0,.30)}
    .pte-ws-page section{padding:76px 0}.pte-ws-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:var(--pte-ws-soft-teal);border:1px solid #ffe0aa;color:var(--pte-ws-teal-dark);font-weight:900;font-size:13px;margin-bottom:16px}
    .pte-ws-page h1,.pte-ws-page h2,.pte-ws-page h3,.pte-ws-page p{margin-top:0}.pte-ws-page h1{font-size:54px;line-height:1.08;letter-spacing:-.035em;margin-bottom:18px;color:var(--pte-ws-navy)}.pte-ws-page h2{font-size:36px;line-height:1.18;letter-spacing:-.018em;margin-bottom:14px;color:var(--pte-ws-navy)}.pte-ws-page h3{font-size:21px;line-height:1.25;margin-bottom:8px;color:var(--pte-ws-navy)}
    .pte-ws-lead{font-size:19px;color:var(--pte-ws-muted);margin-bottom:24px}.pte-ws-center{max-width:820px;text-align:center;margin:0 auto 36px}.pte-ws-muted{color:var(--pte-ws-muted)}
    .pte-ws-hero{position:relative;overflow:hidden;padding:72px 0 66px;background:radial-gradient(circle at 80% 18%,rgba(255,159,0,.18),transparent 34%),linear-gradient(135deg,#ffffff 0%,#fff7ec 56%,#fff4e6 100%);border-bottom:1px solid var(--pte-ws-border)}
    .pte-ws-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:46px;align-items:center}.pte-ws-hero-copy ul{padding:0;margin:22px 0 0;list-style:none;display:grid;gap:10px}.pte-ws-hero-copy li{display:flex;gap:10px;color:#34485e;font-weight:600}.pte-ws-check{width:23px;height:23px;border-radius:50%;background:#fff1d6;color:#e88900;display:inline-grid;place-items:center;flex:0 0 23px;font-weight:900}
    .pte-ws-cta-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:26px}.pte-ws-trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;color:#66788c;font-size:13px;font-weight:700}.pte-ws-trust-chip{background:rgba(255,255,255,.72);border:1px solid var(--pte-ws-border);border-radius:999px;padding:7px 10px}
    .pte-ws-hero-visual{position:relative}.pte-ws-site-card{background:var(--pte-ws-navy);border-radius:32px;padding:18px;box-shadow:0 34px 75px rgba(11,31,51,.22);transform:rotate(1deg)}.pte-ws-browser{background:white;border-radius:22px;overflow:hidden;transform:rotate(-1deg);border:1px solid rgba(255,255,255,.5)}.pte-ws-browser-head{height:38px;background:#edf2f7;display:flex;align-items:center;gap:7px;padding:0 16px}.pte-ws-dot{width:10px;height:10px;border-radius:50%;background:#9aa9b8}.pte-ws-browser-body{padding:22px;background:#fff}
    .pte-ws-mini-hero{border-radius:18px;background:linear-gradient(135deg,#fff4e6,#fff4e9);padding:22px;min-height:148px}.pte-ws-mini-kicker{font-size:12px;font-weight:900;color:var(--pte-ws-teal-dark);text-transform:uppercase;letter-spacing:.08em}.pte-ws-mini-title{font-size:25px;font-weight:900;color:var(--pte-ws-navy);line-height:1.18;margin-top:7px}.pte-ws-mini-actions{display:flex;gap:8px;margin-top:14px}.pte-ws-mini-btn{font-size:12px;border-radius:999px;padding:8px 11px;font-weight:900}.pte-ws-mini-btn.pte-ws-line{background:var(--pte-ws-line);color:#fff}.pte-ws-mini-btn.pte-ws-out{background:#fff;border:1px solid #d4dee8;color:var(--pte-ws-navy)}
    .pte-ws-float-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.pte-ws-mini-card{border:1px solid var(--pte-ws-border);border-radius:16px;padding:14px;background:#fbfdff}.pte-ws-mini-card strong{display:block;font-size:20px;color:var(--pte-ws-navy)}.pte-ws-mini-card small{color:var(--pte-ws-muted);font-weight:700}.pte-ws-lead-pop{position:absolute;right:-12px;bottom:24px;background:white;border:1px solid var(--pte-ws-border);border-radius:18px;padding:14px 16px;box-shadow:var(--pte-ws-shadow);font-weight:900;color:var(--pte-ws-navy);animation:pte-ws-float 3s ease-in-out infinite}.pte-ws-lead-pop span{display:block;color:#e88900;font-size:13px}@keyframes pte-ws-float{50%{transform:translateY(-7px)}}
    .pte-ws-problem-strip{background:white}.pte-ws-quick-packages{margin-top:-36px;position:relative;z-index:2}.pte-ws-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pte-ws-quick-card{background:#fff;border:1px solid var(--pte-ws-border);border-radius:20px;padding:18px;box-shadow:var(--pte-ws-shadow-soft)}.pte-ws-quick-card.pte-ws-reco{border:2px solid var(--pte-ws-teal);box-shadow:0 16px 35px rgba(255,159,0,.16)}.pte-ws-quick-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.pte-ws-tag{font-size:12px;font-weight:900;border-radius:999px;padding:5px 9px;background:#eef7ff;color:#2563eb}.pte-ws-tag.pte-ws-reco{background:var(--pte-ws-teal);color:white}.pte-ws-quick-price{font-size:26px;font-weight:900;color:var(--pte-ws-navy);margin:10px 0 2px}.pte-ws-quick-card p{color:var(--pte-ws-muted);font-size:14px;margin:0}.pte-ws-quick-card .pte-ws-tiny{margin-top:12px;font-size:13px;color:#496174;font-weight:800}
    .pte-ws-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pte-ws-card{background:#fff;border:1px solid var(--pte-ws-border);border-radius:var(--pte-ws-radius);padding:24px;box-shadow:var(--pte-ws-shadow-soft)}.pte-ws-icon{width:42px;height:42px;border-radius:14px;background:var(--pte-ws-soft-teal);display:grid;place-items:center;font-size:22px;margin-bottom:14px}.pte-ws-problem-card{min-height:160px}.pte-ws-insight{margin-top:24px;padding:22px;border-radius:22px;background:var(--pte-ws-navy);color:#fff;font-weight:900;text-align:center}.pte-ws-insight span{color:#ffcf7a}
    .pte-ws-solution{background:linear-gradient(180deg,#f5f8fb,#fff)}.pte-ws-solution-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:34px;align-items:start}.pte-ws-value-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pte-ws-value-card{border-left:4px solid var(--pte-ws-teal)}
    .pte-ws-packages{background:#fff;border-top:1px solid var(--pte-ws-border);border-bottom:1px solid var(--pte-ws-border)}.pte-ws-pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.pte-ws-pkg{position:relative;display:flex;flex-direction:column;min-height:560px}.pte-ws-pkg.pte-ws-recommended{border:2px solid var(--pte-ws-teal);box-shadow:0 28px 60px rgba(255,159,0,.18);transform:translateY(-10px)}.pte-ws-rec-badge{position:absolute;top:-15px;left:22px;background:linear-gradient(135deg,var(--pte-ws-teal),#f26a21);color:#fff;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:900}.pte-ws-pkg-label{font-size:13px;font-weight:900;color:var(--pte-ws-muted);margin-bottom:6px}.pte-ws-pkg-price{font-size:40px;font-weight:900;color:var(--pte-ws-navy);line-height:1;margin:12px 0}.pte-ws-pkg-price small{font-size:18px}.pte-ws-pkg ul{padding:0;margin:16px 0 20px;list-style:none;display:grid;gap:10px}.pte-ws-pkg li{display:flex;gap:9px;color:#45596f}.pte-ws-pkg .pte-ws-btn{margin-top:auto;width:100%}.pte-ws-bestfor{background:#f7fafc;border:1px dashed #cbd8e3;border-radius:16px;padding:13px;margin-top:auto;margin-bottom:14px;font-size:14px;color:#40566b}.pte-ws-care{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:22px;border-radius:22px;background:linear-gradient(135deg,#fff4e6,#fff);border:1px solid #ffe0aa}.pte-ws-care strong{font-size:20px;color:var(--pte-ws-navy)}
    .pte-ws-comparison{background:#f8fafc}.pte-ws-compare-wrap{overflow-x:auto;border-radius:22px;box-shadow:var(--pte-ws-shadow-soft)}.pte-ws-page table{width:100%;border-collapse:collapse;min-width:780px;background:#fff}.pte-ws-page th,.pte-ws-page td{padding:17px 15px;border-bottom:1px solid var(--pte-ws-border);text-align:left}.pte-ws-page th{background:var(--pte-ws-navy);color:#fff;font-weight:900}.pte-ws-page td:not(:first-child),.pte-ws-page th:not(:first-child){text-align:center}.pte-ws-highlight-col{background:#fff4e6;font-weight:900;color:var(--pte-ws-teal-dark)}
    .pte-ws-process{background:#fff}.pte-ws-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;counter-reset:step}.pte-ws-step{position:relative;padding:24px 22px 24px 82px;min-height:142px}.pte-ws-step:before{counter-increment:step;content:counter(step);position:absolute;left:24px;top:26px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pte-ws-orange);color:white;font-weight:900;box-shadow:0 10px 18px rgba(249,115,22,.22);font-size:20px}.pte-ws-step h3{margin-top:0}
    .pte-ws-realestate{background:linear-gradient(135deg,var(--pte-ws-navy),var(--pte-ws-navy-2));color:white}.pte-ws-realestate h2{color:white}.pte-ws-realestate .pte-ws-lead{color:#d2e2ef}.pte-ws-real-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:center}.pte-ws-building-card{min-height:320px;border-radius:28px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);padding:22px;display:flex;flex-direction:column;justify-content:space-between}.pte-ws-building-sky{height:176px;border-radius:22px;background:linear-gradient(135deg,rgba(255,159,0,.55),rgba(249,115,22,.26));display:grid;place-items:center;font-size:82px}.pte-ws-lead-list{display:grid;gap:11px;margin:18px 0 0}.pte-ws-lead-list div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 14px;font-weight:800}
    .pte-ws-addons{background:#f8fafc}.pte-ws-addon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.pte-ws-addon{background:#fff;border:1px solid var(--pte-ws-border);border-radius:18px;padding:18px;box-shadow:0 8px 18px rgba(16,32,51,.04)}.pte-ws-addon strong{color:var(--pte-ws-navy);display:block;margin-top:4px}
    .pte-ws-faq{background:#fff}.pte-ws-faq-list{max-width:920px;margin:auto}.pte-ws-page details{background:#fff;border:1px solid var(--pte-ws-border);border-radius:18px;padding:18px 20px;margin-bottom:12px;box-shadow:0 6px 14px rgba(16,32,51,.035)}.pte-ws-page summary{cursor:pointer;font-weight:900;color:var(--pte-ws-navy)}.pte-ws-page details p{margin:12px 0 0;color:var(--pte-ws-muted)}
    .pte-ws-final{background:radial-gradient(circle at 20% 20%,rgba(255,159,0,.25),transparent 30%),linear-gradient(135deg,var(--pte-ws-navy),#071525);color:white;text-align:center}.pte-ws-final h2{color:white}.pte-ws-final .pte-ws-lead{color:#d4e1ed}.pte-ws-final-box{max-width:920px;margin:auto}.pte-ws-form-note{margin-top:18px;color:#aebed0;font-size:14px;font-weight:700}
    .pte-ws-page footer{padding:30px 0;background:#050d18;color:#91a2b3;font-size:14px}.pte-ws-footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

    .pte-ws-chooser{background:#fff;border-top:1px solid var(--pte-ws-border);border-bottom:1px solid var(--pte-ws-border);padding:58px 0}
    .pte-ws-chooser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px}
    .pte-ws-chooser-card{background:#fffaf3;border:1px solid var(--pte-ws-border);border-radius:20px;padding:20px;box-shadow:var(--pte-ws-shadow-soft)}
    .pte-ws-chooser-card strong{display:block;color:var(--pte-ws-navy);font-size:18px;margin-bottom:6px}.pte-ws-chooser-card span{display:inline-block;margin-top:12px;color:var(--pte-ws-orange-dark);font-weight:900}
    .pte-ws-decision-label{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#fff3e2;color:var(--pte-ws-orange-dark);font-size:12px;font-weight:900;padding:6px 10px;margin-bottom:10px}
    .pte-ws-not-for{background:#fff7f7;border:1px solid #ffd4d1;border-radius:14px;padding:11px 12px;margin:0 0 14px;color:#7a2b27;font-size:13px;font-weight:700}
    .pte-ws-outcome{background:#fffaf3;border:1px solid var(--pte-ws-border);border-radius:14px;padding:12px;margin:12px 0;color:#4d4034;font-size:14px;font-weight:800}
    .pte-ws-after-cta{margin-top:14px;text-align:center;color:var(--pte-ws-muted);font-size:13px;font-weight:700}
    .pte-ws-compare-note{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.pte-ws-compare-note .pte-ws-card{padding:18px}.pte-ws-compare-note strong{color:var(--pte-ws-navy)}


    .pte-ws-cta-flow{background:#fffaf3;border-top:1px solid var(--pte-ws-border);border-bottom:1px solid var(--pte-ws-border)}
    .pte-ws-flow-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
    .pte-ws-flow-card{background:white;border:1px solid var(--pte-ws-border);border-radius:24px;padding:24px;box-shadow:var(--pte-ws-shadow-soft)}
    .pte-ws-line-preview{background:#f7f7f7;border-radius:22px;padding:18px;border:1px solid #e7e1d8}
    .pte-ws-chat-bubble{background:#fff;border-radius:18px 18px 18px 4px;padding:14px 16px;color:#333;box-shadow:0 8px 18px rgba(0,0,0,.06);font-size:15px}
    .pte-ws-flow-steps{display:grid;gap:12px;margin-top:14px}.pte-ws-flow-step{display:flex;gap:12px;align-items:flex-start;background:#fffaf3;border:1px solid var(--pte-ws-border);border-radius:16px;padding:14px}.pte-ws-flow-step b{background:var(--pte-ws-orange);color:white;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:0 0 28px}.pte-ws-flow-step strong{display:block;color:var(--pte-ws-navy)}
    .pte-ws-cta-map{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.pte-ws-cta-map-item{background:#fff;border:1px solid var(--pte-ws-border);border-radius:18px;padding:16px;text-align:center;box-shadow:0 8px 18px rgba(16,32,51,.04)}.pte-ws-cta-map-item strong{display:block;color:var(--pte-ws-navy);margin-bottom:4px}.pte-ws-cta-map-item span{font-size:13px;color:var(--pte-ws-muted);font-weight:700}
    .pte-ws-sticky-demo{position:relative;background:#1f1f22;color:#fff;border-radius:22px;padding:18px;margin-top:18px;overflow:hidden}.pte-ws-sticky-bar-demo{margin-top:16px;background:linear-gradient(135deg,var(--pte-ws-orange),var(--pte-ws-orange-dark));border-radius:999px;padding:13px 16px;text-align:center;font-weight:900;box-shadow:0 14px 25px rgba(255,159,0,.22)}


    .pte-ws-ai-summary{background:#fff;border-top:1px solid var(--pte-ws-border);border-bottom:1px solid var(--pte-ws-border)}
    .pte-ws-ai-summary-box{background:linear-gradient(135deg,#fffaf3,#fff);border:1px solid var(--pte-ws-border);border-radius:24px;padding:26px;box-shadow:var(--pte-ws-shadow-soft)}
    .pte-ws-ai-summary-box strong{color:var(--pte-ws-navy)}
    .pte-ws-direct-answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
    .pte-ws-direct-answer{background:#fff;border:1px solid var(--pte-ws-border);border-radius:18px;padding:18px;box-shadow:0 8px 18px rgba(16,32,51,.04)}
    .pte-ws-direct-answer h3{font-size:18px;margin-bottom:6px}

    @media(max-width:980px){.pte-ws-page h1{font-size:42px}.pte-ws-hero-grid,.pte-ws-solution-grid,.pte-ws-real-grid{grid-template-columns:1fr}.pte-ws-quick-grid,.pte-ws-cards,.pte-ws-pkg-grid,.pte-ws-steps,.pte-ws-chooser-grid,.pte-ws-compare-note,.pte-ws-flow-grid,.pte-ws-cta-map,.pte-ws-direct-answer-grid{grid-template-columns:1fr}.pte-ws-value-grid{grid-template-columns:1fr}.pte-ws-pkg.pte-ws-recommended{transform:none}.pte-ws-lead-pop{right:8px}.pte-ws-addon-grid{grid-template-columns:1fr 1fr}.pte-ws-links{display:none}.pte-ws-nav{height:64px}.pte-ws-nav>.pte-ws-btn{display:none}.pte-ws-mobile-cta{display:block}.pte-ws-page{padding-bottom:76px}.pte-ws-quick-packages{margin-top:0;padding-top:26px}.pte-ws-care{flex-direction:column;align-items:flex-start}.pte-ws-care .pte-ws-btn{width:100%}}
    @media(max-width:560px){.pte-ws-wrap{padding:0 16px}.pte-ws-page section{padding:52px 0}.pte-ws-hero{padding:44px 0 46px}.pte-ws-page h1{font-size:34px}.pte-ws-page h2{font-size:27px}.pte-ws-lead{font-size:16px}.pte-ws-cta-row .pte-ws-btn{width:100%}.pte-ws-site-card{border-radius:24px;padding:12px}.pte-ws-browser-body{padding:16px}.pte-ws-mini-title{font-size:20px}.pte-ws-float-grid{grid-template-columns:1fr}.pte-ws-quick-card,.pte-ws-card{padding:20px}.pte-ws-pkg{min-height:0}.pte-ws-pkg-price{font-size:34px}.pte-ws-addon-grid{grid-template-columns:1fr}.pte-ws-trust-row{display:none}}


/* =========================================================
   WordPress / Elementor Conflict Hardening Layer v2
   Purpose: override theme styles for native tags (h1-h3, p, a)
   and critical components that WordPress themes often control.
   Keep this layer LAST in the CSS file.
   ========================================================= */

/* Shared wrapper + text */
.pte-page,
.pte-page * {
  box-sizing: border-box !important;
}

.pte-page {
  font-family: "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  color: var(--pte-ink) !important;
  background: var(--pte-cream) !important;
  line-height: 1.55 !important;
  -webkit-font-smoothing: antialiased !important;
}

.pte-page h1,
.pte-page h2,
.pte-page h3,
.pte-page p,
.pte-page ul,
.pte-page li {
  font-family: "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.pte-page h1,
.pte-page h2,
.pte-page h3,
.pte-page p {
  margin-top: 0 !important;
}

.pte-page h1 {
  font-size: 52px !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  margin-bottom: 18px !important;
  color: var(--pte-ink) !important;
  font-weight: 900 !important;
}

.pte-page h2 {
  font-size: 36px !important;
  line-height: 1.18 !important;
  letter-spacing: -.018em !important;
  margin-bottom: 14px !important;
  color: var(--pte-ink) !important;
  font-weight: 900 !important;
}

.pte-page h3 {
  font-size: 21px !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
  color: var(--pte-ink) !important;
  font-weight: 900 !important;
}

.pte-page a,
.pte-page a:visited,
.pte-page a:hover,
.pte-page a:focus {
  text-decoration: none !important;
}

.pte-page .pte-container {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.pte-page .pte-section {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

.pte-page .pte-card {
  background: #fff !important;
  border: 1px solid var(--pte-border) !important;
  border-radius: var(--pte-radius) !important;
  padding: 24px !important;
  box-shadow: var(--pte-shadow-soft) !important;
}

.pte-page .pte-btn,
.pte-page a.pte-btn,
.pte-page button.pte-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
  padding: 13px 20px !important;
  font-family: "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: none;
  min-height: auto !important;
}

.pte-page .pte-btn--primary,
.pte-page a.pte-btn--primary,
.pte-page button.pte-btn--primary {
  background: linear-gradient(135deg,var(--pte-orange),var(--pte-orange-dark)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 15px 30px rgba(255,159,0,.24) !important;
}

.pte-page .pte-btn--secondary,
.pte-page a.pte-btn--secondary,
.pte-page button.pte-btn--secondary {
  background: #fff !important;
  color: var(--pte-ink) !important;
  border-color: #d7c7b3 !important;
}

.pte-page .pte-btn--ghost,
.pte-page a.pte-btn--ghost,
.pte-page button.pte-btn--ghost {
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.28) !important;
}

.pte-page .pte-grid-4 { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 18px !important; }
.pte-page .pte-grid-3 { display: grid !important; grid-template-columns: repeat(3,1fr) !important; gap: 18px !important; }
.pte-page .pte-grid-2 { display: grid !important; grid-template-columns: repeat(2,1fr) !important; gap: 22px !important; }
.pte-page .pte-cta-row { display: flex !important; gap: 13px !important; flex-wrap: wrap !important; margin-top: 26px !important; }
.pte-page .pte-eyebrow { display: inline-flex !important; align-items:center !important; gap:7px !important; }
.pte-page .pte-lead { font-size: 19px !important; color: var(--pte-muted) !important; margin-bottom: 24px !important; }
.pte-page .pte-muted { color: var(--pte-muted) !important; }

/* /website-service wrapper + variables */
.pte-ws-page,
.pte-ws-page * {
  box-sizing: border-box !important;
}

.pte-ws-page {
  font-family: "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  color: var(--pte-ws-ink) !important;
  background: var(--pte-ws-soft) !important;
  line-height: 1.55 !important;
  -webkit-font-smoothing: antialiased !important;
}

.pte-ws-page h1,
.pte-ws-page h2,
.pte-ws-page h3,
.pte-ws-page p,
.pte-ws-page ul,
.pte-ws-page li {
  font-family: "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

.pte-ws-page h1,
.pte-ws-page h2,
.pte-ws-page h3,
.pte-ws-page p { margin-top: 0 !important; }

.pte-ws-page h1 {
  font-size: 54px !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  margin-bottom: 18px !important;
  color: var(--pte-ws-navy) !important;
  font-weight: 900 !important;
}

.pte-ws-page h2 {
  font-size: 36px !important;
  line-height: 1.18 !important;
  letter-spacing: -.018em !important;
  margin-bottom: 14px !important;
  color: var(--pte-ws-navy) !important;
  font-weight: 900 !important;
}

.pte-ws-page h3 {
  font-size: 21px !important;
  line-height: 1.25 !important;
  margin-bottom: 8px !important;
  color: var(--pte-ws-navy) !important;
  font-weight: 900 !important;
}

.pte-ws-page a,
.pte-ws-page a:visited,
.pte-ws-page a:hover,
.pte-ws-page a:focus {
  text-decoration: none !important;
}

.pte-ws-page .pte-ws-wrap {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 22px !important;
  padding-right: 22px !important;
}

.pte-ws-page section {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

.pte-ws-page .pte-ws-card,
.pte-ws-page .pte-ws-quick-card,
.pte-ws-page .pte-ws-flow-card,
.pte-ws-page .pte-ws-direct-answer {
  background: #fff !important;
  border: 1px solid var(--pte-ws-border) !important;
  box-shadow: var(--pte-ws-shadow-soft) !important;
}

.pte-ws-page .pte-ws-btn,
.pte-ws-page a.pte-ws-btn,
.pte-ws-page button.pte-ws-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
  padding: 13px 20px !important;
  font-family: "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  text-decoration: none !important;
  min-height: auto !important;
}

.pte-ws-page .pte-ws-btn.pte-ws-line,
.pte-ws-page a.pte-ws-btn.pte-ws-line {
  background: linear-gradient(135deg,var(--pte-ws-orange),var(--pte-ws-orange-dark)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 15px 30px rgba(255,159,0,.24) !important;
}

.pte-ws-page .pte-ws-btn.pte-ws-primary,
.pte-ws-page a.pte-ws-btn.pte-ws-primary {
  background: var(--pte-ws-orange) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 15px 30px rgba(249,115,22,.25) !important;
}

.pte-ws-page .pte-ws-btn.pte-ws-secondary,
.pte-ws-page a.pte-ws-btn.pte-ws-secondary {
  background: #fff !important;
  color: var(--pte-ws-navy) !important;
  border-color: #cbd8e3 !important;
}

.pte-ws-page .pte-ws-btn.pte-ws-ghost,
.pte-ws-page a.pte-ws-btn.pte-ws-ghost {
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.28) !important;
}

.pte-ws-page .pte-ws-hero-grid,
.pte-ws-page .pte-ws-solution-grid,
.pte-ws-page .pte-ws-real-grid,
.pte-ws-page .pte-ws-flow-grid { display: grid !important; }
.pte-ws-page .pte-ws-quick-grid,
.pte-ws-page .pte-ws-cards,
.pte-ws-page .pte-ws-pkg-grid,
.pte-ws-page .pte-ws-steps,
.pte-ws-page .pte-ws-chooser-grid,
.pte-ws-page .pte-ws-compare-note,
.pte-ws-page .pte-ws-cta-map,
.pte-ws-page .pte-ws-direct-answer-grid { display: grid !important; }
.pte-ws-page .pte-ws-cta-row { display:flex !important; gap:13px !important; flex-wrap:wrap !important; margin-top:26px !important; }
.pte-ws-page .pte-ws-eyebrow { display:inline-flex !important; align-items:center !important; gap:7px !important; }
.pte-ws-page .pte-ws-lead { font-size:19px !important; color:var(--pte-ws-muted) !important; margin-bottom:24px !important; }
.pte-ws-page .pte-ws-muted { color:var(--pte-ws-muted) !important; }

/* responsive hardening */
@media(max-width:980px){
  .pte-page h1{font-size:42px !important}
  .pte-page .pte-grid-4,.pte-page .pte-grid-3,.pte-page .pte-services-journey-grid{grid-template-columns:1fr 1fr !important}
  .pte-page .pte-grid-2,.pte-page .pte-services-hero-grid{grid-template-columns:1fr !important}
  .pte-page .pte-mobile-cta{display:block !important}
  .pte-ws-page h1{font-size:42px !important}
  .pte-ws-page .pte-ws-hero-grid,.pte-ws-page .pte-ws-solution-grid,.pte-ws-page .pte-ws-real-grid{grid-template-columns:1fr !important}
  .pte-ws-page .pte-ws-quick-grid,.pte-ws-page .pte-ws-cards,.pte-ws-page .pte-ws-pkg-grid,.pte-ws-page .pte-ws-steps,.pte-ws-page .pte-ws-chooser-grid,.pte-ws-page .pte-ws-compare-note,.pte-ws-page .pte-ws-flow-grid,.pte-ws-page .pte-ws-cta-map,.pte-ws-page .pte-ws-direct-answer-grid{grid-template-columns:1fr !important}
  .pte-ws-page .pte-ws-mobile-cta{display:block !important}
}

@media(max-width:560px){
  .pte-page .pte-container{padding-left:16px !important;padding-right:16px !important}
  .pte-page .pte-section{padding-top:52px !important;padding-bottom:52px !important}
  .pte-page h1{font-size:34px !important}.pte-page h2{font-size:27px !important}.pte-page .pte-lead{font-size:16px !important}
  .pte-page .pte-grid-4,.pte-page .pte-grid-3,.pte-page .pte-grid-2,.pte-page .pte-services-journey-grid{grid-template-columns:1fr !important}
  .pte-page .pte-cta-row .pte-btn{width:100% !important}
  .pte-ws-page .pte-ws-wrap{padding-left:16px !important;padding-right:16px !important}
  .pte-ws-page section{padding-top:52px !important;padding-bottom:52px !important}
  .pte-ws-page h1{font-size:34px !important}.pte-ws-page h2{font-size:27px !important}.pte-ws-page .pte-ws-lead{font-size:16px !important}
  .pte-ws-page .pte-ws-cta-row .pte-ws-btn{width:100% !important}
}


/* =========================================================
   WP Hardening Correction Layer v2.1
   Keep after generic !important hardening. Restores page-specific
   dark-section colors and component padding that generic card hardening
   can otherwise flatten.
   ========================================================= */

/* /services dark sections */
.pte-page .pte-services-usecases,
.pte-page .pte-services-final {
  color: #fff !important;
}
.pte-page .pte-services-usecases h1,
.pte-page .pte-services-usecases h2,
.pte-page .pte-services-usecases h3,
.pte-page .pte-services-final h1,
.pte-page .pte-services-final h2,
.pte-page .pte-services-final h3 {
  color: #fff !important;
}
.pte-page .pte-services-usecases .pte-lead { color: #e5d9ca !important; }
.pte-page .pte-services-final .pte-lead { color: #d4e1ed !important; }
.pte-page .pte-services-usecase-card {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: #fff !important;
}
.pte-page .pte-services-usecase-card p,
.pte-page .pte-services-usecase-card li { color: #f4eadb !important; }

/* /services journey step needs extra top room for number badge */
.pte-page .pte-services-step.pte-card,
.pte-page .pte-services-step {
  position: relative !important;
  padding-top: 54px !important;
}
.pte-page .pte-services-step:before {
  top: 20px !important;
  left: 24px !important;
  z-index: 1 !important;
}

/* /website-service dark sections */
.pte-ws-page .pte-ws-realestate,
.pte-ws-page .pte-ws-final {
  color: #fff !important;
}
.pte-ws-page .pte-ws-realestate h1,
.pte-ws-page .pte-ws-realestate h2,
.pte-ws-page .pte-ws-realestate h3,
.pte-ws-page .pte-ws-final h1,
.pte-ws-page .pte-ws-final h2,
.pte-ws-page .pte-ws-final h3 {
  color: #fff !important;
}
.pte-ws-page .pte-ws-realestate .pte-ws-lead { color: #d2e2ef !important; }
.pte-ws-page .pte-ws-final .pte-ws-lead { color: #d4e1ed !important; }
.pte-ws-page .pte-ws-building-card {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: #fff !important;
}
.pte-ws-page .pte-ws-lead-list div {
  background: rgba(255,255,255,.09) !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #fff !important;
}

/* /website-service process step needs left room for number badge */
.pte-ws-page .pte-ws-step.pte-ws-card,
.pte-ws-page .pte-ws-step {
  position: relative !important;
  padding: 24px 22px 24px 82px !important;
  min-height: 142px !important;
}
.pte-ws-page .pte-ws-step:before {
  left: 24px !important;
  top: 26px !important;
  z-index: 1 !important;
}

@media(max-width:560px){
  .pte-page .pte-services-step.pte-card,
  .pte-page .pte-services-step { padding-top:54px !important; }
  .pte-ws-page .pte-ws-step.pte-ws-card,
  .pte-ws-page .pte-ws-step { padding:24px 20px 24px 78px !important; }
}

/* =========================================================
   PK Production Button Fix v2.2
   Based on live WordPress test: anchor-specific selectors win against
   theme link styles better than class-only selectors.
   Keep this block at the very end of the CSS file.
   ========================================================= */
:root{
  --pte-orange:#ff9f00;
  --pte-orange-dark:#ff7a00;
}

/* Shared buttons used by /services and future pages */
.pte-page a.pte-btn,
.pte-page a.pte-btn:visited,
a.pte-btn,
a.pte-btn:visited{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:14px 28px !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  border-radius:999px !important;
  border:1px solid transparent !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  transition:all .25s ease !important;
}

.pte-page a.pte-btn.pte-btn--primary,
.pte-page a.pte-btn.pte-btn--primary:visited,
a.pte-btn.pte-btn--primary,
a.pte-btn.pte-btn--primary:visited{
  background:#ff9f00 !important;
  background:linear-gradient(135deg,var(--pte-orange,#ff9f00),var(--pte-orange-dark,#ff7a00)) !important;
  color:#fff !important;
  text-decoration:none !important;
  border-color:transparent !important;
  box-shadow:0 15px 30px rgba(255,159,0,.24) !important;
}

.pte-page a.pte-btn.pte-btn--primary:hover,
a.pte-btn.pte-btn--primary:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 36px rgba(255,159,0,.35) !important;
  color:#fff !important;
  text-decoration:none !important;
}

.pte-page a.pte-btn.pte-btn--secondary,
.pte-page a.pte-btn.pte-btn--secondary:visited,
a.pte-btn.pte-btn--secondary,
a.pte-btn.pte-btn--secondary:visited{
  background:#fff !important;
  color:#1f1f22 !important;
  text-decoration:none !important;
  border-color:#d7c7b3 !important;
  box-shadow:none !important;
}

.pte-page a.pte-btn.pte-btn--secondary:hover,
a.pte-btn.pte-btn--secondary:hover{
  transform:translateY(-2px) !important;
  color:#f26a21 !important;
  border-color:#ff9f00 !important;
  text-decoration:none !important;
}

.pte-page a.pte-btn.pte-btn--ghost,
.pte-page a.pte-btn.pte-btn--ghost:visited,
a.pte-btn.pte-btn--ghost,
a.pte-btn.pte-btn--ghost:visited{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  text-decoration:none !important;
  border-color:rgba(255,255,255,.28) !important;
}

/* /website-service legacy buttons */
.pte-ws-page a.pte-ws-btn,
.pte-ws-page a.pte-ws-btn:visited,
a.pte-ws-btn,
a.pte-ws-btn:visited{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:14px 28px !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  border-radius:999px !important;
  border:1px solid transparent !important;
  cursor:pointer !important;
  white-space:nowrap !important;
  transition:all .25s ease !important;
}

.pte-ws-page a.pte-ws-btn.pte-ws-line,
.pte-ws-page a.pte-ws-btn.pte-ws-primary,
.pte-ws-page a.pte-ws-btn.pte-ws-line:visited,
.pte-ws-page a.pte-ws-btn.pte-ws-primary:visited,
a.pte-ws-btn.pte-ws-line,
a.pte-ws-btn.pte-ws-primary{
  background:#ff9f00 !important;
  background:linear-gradient(135deg,var(--pte-orange,#ff9f00),var(--pte-orange-dark,#ff7a00)) !important;
  color:#fff !important;
  text-decoration:none !important;
  border-color:transparent !important;
  box-shadow:0 15px 30px rgba(255,159,0,.24) !important;
}

.pte-ws-page a.pte-ws-btn.pte-ws-line:hover,
.pte-ws-page a.pte-ws-btn.pte-ws-primary:hover,
a.pte-ws-btn.pte-ws-line:hover,
a.pte-ws-btn.pte-ws-primary:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 18px 36px rgba(255,159,0,.35) !important;
  color:#fff !important;
  text-decoration:none !important;
}

.pte-ws-page a.pte-ws-btn.pte-ws-secondary,
.pte-ws-page a.pte-ws-btn.pte-ws-secondary:visited,
a.pte-ws-btn.pte-ws-secondary,
a.pte-ws-btn.pte-ws-secondary:visited{
  background:#fff !important;
  color:#1f1f22 !important;
  text-decoration:none !important;
  border-color:#d7c7b3 !important;
  box-shadow:none !important;
}

.pte-ws-page a.pte-ws-btn.pte-ws-secondary:hover,
a.pte-ws-btn.pte-ws-secondary:hover{
  transform:translateY(-2px) !important;
  color:#f26a21 !important;
  border-color:#ff9f00 !important;
  text-decoration:none !important;
}

.pte-ws-page a.pte-ws-btn.pte-ws-ghost,
.pte-ws-page a.pte-ws-btn.pte-ws-ghost:visited,
a.pte-ws-btn.pte-ws-ghost,
a.pte-ws-btn.pte-ws-ghost:visited{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  text-decoration:none !important;
  border-color:rgba(255,255,255,.28) !important;
}

@media(max-width:560px){
  .pte-page .pte-cta-row a.pte-btn,
  .pte-ws-page .pte-ws-cta-row a.pte-ws-btn{
    width:100% !important;
  }
}

/* =========================================================
   Direct Heading Fix v2.3 for WordPress/Elementor
   Use when WP/Elementor does not preserve the page wrapper around H1/H2/H3.
   Preferred Elementor classes:
   H1: pte-h1
   H2: pte-h2
   H3: pte-h3
   Note: also supports PK's test class h1.pte-page, but do not use pte-page
   on headings long-term because pte-page is meant for the outer wrapper.
   ========================================================= */

/* Services / shared headings */
.pte-page h1,
.pte-services-page h1,
h1.pte-h1,
.pte-h1,
h1.pte-page{
  display:block !important;
  margin:0 0 18px 0 !important;
  padding:0 !important;
  max-width:980px !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:52px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  color:#1f1f22 !important;
  text-align:left !important;
  text-wrap:balance;
}

.pte-page h2,
.pte-services-page h2,
h2.pte-h2,
.pte-h2,
h2.pte-page{
  display:block !important;
  margin:0 0 14px 0 !important;
  padding:0 !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:36px !important;
  font-weight:900 !important;
  line-height:1.18 !important;
  letter-spacing:-.018em !important;
  color:#1f1f22 !important;
  text-align:inherit !important;
}

.pte-page h3,
.pte-services-page h3,
h3.pte-h3,
.pte-h3,
h3.pte-page{
  display:block !important;
  margin:0 0 8px 0 !important;
  padding:0 !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:21px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
  color:#1f1f22 !important;
  text-align:inherit !important;
}

/* Website-service direct headings */
.pte-ws-page h1,
h1.pte-ws-h1,
.pte-ws-h1{
  display:block !important;
  margin:0 0 18px 0 !important;
  padding:0 !important;
  max-width:980px !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:54px !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  color:#1f1f22 !important;
  text-align:left !important;
  text-wrap:balance;
}

.pte-ws-page h2,
h2.pte-ws-h2,
.pte-ws-h2{
  display:block !important;
  margin:0 0 14px 0 !important;
  padding:0 !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:36px !important;
  font-weight:900 !important;
  line-height:1.18 !important;
  letter-spacing:-.018em !important;
  color:#1f1f22 !important;
  text-align:inherit !important;
}

.pte-ws-page h3,
h3.pte-ws-h3,
.pte-ws-h3{
  display:block !important;
  margin:0 0 8px 0 !important;
  padding:0 !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:21px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  color:#1f1f22 !important;
  text-align:inherit !important;
}

/* Dark sections must stay white after direct heading override */
.pte-page .pte-services-usecases h1,
.pte-page .pte-services-usecases h2,
.pte-page .pte-services-usecases h3,
.pte-page .pte-services-final h1,
.pte-page .pte-services-final h2,
.pte-page .pte-services-final h3,
.pte-services-usecases .pte-h1,
.pte-services-usecases .pte-h2,
.pte-services-usecases .pte-h3,
.pte-services-final .pte-h1,
.pte-services-final .pte-h2,
.pte-services-final .pte-h3,
.pte-ws-page .pte-ws-realestate h1,
.pte-ws-page .pte-ws-realestate h2,
.pte-ws-page .pte-ws-realestate h3,
.pte-ws-page .pte-ws-final h1,
.pte-ws-page .pte-ws-final h2,
.pte-ws-page .pte-ws-final h3{
  color:#fff !important;
}

@media(max-width:980px){
  .pte-page h1,.pte-services-page h1,h1.pte-h1,.pte-h1,h1.pte-page,
  .pte-ws-page h1,h1.pte-ws-h1,.pte-ws-h1{
    font-size:42px !important;
  }
}

@media(max-width:560px){
  .pte-page h1,.pte-services-page h1,h1.pte-h1,.pte-h1,h1.pte-page,
  .pte-ws-page h1,h1.pte-ws-h1,.pte-ws-h1{
    font-size:34px !important;
    line-height:1.12 !important;
    letter-spacing:-.025em !important;
  }
  .pte-page h2,.pte-services-page h2,h2.pte-h2,.pte-h2,h2.pte-page,
  .pte-ws-page h2,h2.pte-ws-h2,.pte-ws-h2{
    font-size:27px !important;
    line-height:1.2 !important;
  }
  .pte-page h3,.pte-services-page h3,h3.pte-h3,.pte-h3,h3.pte-page,
  .pte-ws-page h3,h3.pte-ws-h3,.pte-ws-h3{
    font-size:20px !important;
  }
}

/* =========================================================
   Services Card Fix v2.4 for WordPress/Elementor
   Based on live /services screenshot: WP/Elementor may not preserve wrapper
   specificity, causing service cards to lose outer card borders/background.
   Uses direct class selectors so .pte-card.pte-services-card works even when
   parent .pte-page specificity is weakened or theme card styles override it.
   Keep this block at the very end of the CSS file.
   ========================================================= */

/* service cards grid */
.pte-grid-4,
.pte-page .pte-grid-4,
.pte-services-overview .pte-grid-4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

/* base service card shell */
article.pte-card.pte-services-card,
.pte-card.pte-services-card,
.pte-services-card{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:360px !important;
  height:100% !important;
  background:#fff !important;
  border:1px solid #f0e2cf !important;
  border-radius:22px !important;
  padding:24px !important;
  box-shadow:0 10px 25px rgba(16,32,51,.07) !important;
  overflow:visible !important;
  text-align:left !important;
}

/* first/recommended card */
article.pte-card.pte-services-card.pte-services-featured,
.pte-card.pte-services-card.pte-services-featured,
.pte-services-card.pte-services-featured,
.pte-services-featured{
  border:2px solid #ff9f00 !important;
  box-shadow:0 22px 50px rgba(255,159,0,.17) !important;
}

/* recommended badge */
.pte-services-card .pte-services-badge,
.pte-services-badge{
  position:absolute !important;
  top:-14px !important;
  left:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#ff9f00 !important;
  background:linear-gradient(135deg,var(--pte-orange,#ff9f00),var(--pte-orange-dark,#ff7a00)) !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:7px 12px !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  z-index:2 !important;
  white-space:nowrap !important;
}

/* icon box */
.pte-services-card .pte-services-card-icon,
.pte-services-card-icon{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  border-radius:16px !important;
  background:#fff3e2 !important;
  display:grid !important;
  place-items:center !important;
  font-size:24px !important;
  line-height:1 !important;
  margin:0 0 14px 0 !important;
}

/* card typography/content */
.pte-services-card h3,
.pte-services-card .pte-h3{
  margin:0 0 8px 0 !important;
  color:#1f1f22 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:21px !important;
  font-weight:900 !important;
  line-height:1.25 !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

.pte-services-card p,
.pte-services-card .pte-muted{
  color:#66615b !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:16px !important;
  font-weight:500 !important;
  line-height:1.55 !important;
  margin:0 0 12px 0 !important;
  text-align:left !important;
}

.pte-services-card .pte-services-price,
.pte-services-price{
  display:block !important;
  color:#e88900 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.3 !important;
  margin:10px 0 14px 0 !important;
  text-align:left !important;
}

.pte-services-card .pte-services-bestfor,
.pte-services-bestfor{
  display:block !important;
  color:#4d4034 !important;
  background:#fffaf3 !important;
  border:1px dashed #ead6bd !important;
  border-radius:15px !important;
  padding:12px !important;
  margin:8px 0 18px 0 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.5 !important;
  text-align:left !important;
}

.pte-services-card .pte-services-bestfor strong,
.pte-services-bestfor strong{
  color:#3a2a18 !important;
  font-weight:900 !important;
}

/* buttons sit at bottom of each service card */
.pte-services-card a.pte-btn,
article.pte-services-card a.pte-btn{
  margin-top:auto !important;
  width:100% !important;
  min-height:52px !important;
}

@media(max-width:980px){
  .pte-grid-4,
  .pte-page .pte-grid-4,
  .pte-services-overview .pte-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:560px){
  .pte-grid-4,
  .pte-page .pte-grid-4,
  .pte-services-overview .pte-grid-4{
    grid-template-columns:1fr !important;
  }
  article.pte-card.pte-services-card,
  .pte-card.pte-services-card,
  .pte-services-card{
    min-height:0 !important;
    padding:20px !important;
  }
}

/* =========================================================
   Services Fit/Decision Card Fix v2.5 for WordPress/Elementor
   Fixes /services section "เลือกจากสถานการณ์จริง" where WP/Elementor
   can flatten .pte-card backgrounds into square white blocks and remove
   rounded border/shadow. Keep this block at the very end.
   ========================================================= */

/* section background */
section.pte-services-fit,
.pte-services-fit{
  background:#fffaf3 !important;
  border-top:1px solid #f0e2cf !important;
  border-bottom:1px solid #f0e2cf !important;
}

/* decision cards */
div.pte-card.pte-services-fit-card,
.pte-card.pte-services-fit-card,
.pte-services-fit-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  min-height:300px !important;
  height:100% !important;
  background:#fff !important;
  border:1px solid #ead6bd !important;
  border-left:4px solid #ff9f00 !important;
  border-radius:22px !important;
  padding:24px !important;
  box-shadow:0 10px 25px rgba(16,32,51,.07) !important;
  overflow:hidden !important;
  text-align:left !important;
}

.pte-services-fit-card small,
div.pte-services-fit-card small{
  display:block !important;
  margin:0 0 6px 0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#e88900 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  text-align:left !important;
}

.pte-services-fit-card h3,
.pte-services-fit-card .pte-h3{
  margin:0 0 12px 0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#1f1f22 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:25px !important;
  font-weight:900 !important;
  line-height:1.22 !important;
  letter-spacing:-.012em !important;
  text-align:left !important;
}

.pte-services-fit-card p,
.pte-services-fit-card .pte-muted{
  margin:0 0 22px 0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#66615b !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.6 !important;
  text-align:left !important;
}

.pte-services-fit-card a,
.pte-services-fit-card a:visited{
  margin-top:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  color:#1f1f22 !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:18px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  text-decoration:none !important;
}

.pte-services-fit-card a:hover{
  color:#f26a21 !important;
  text-decoration:none !important;
  transform:none !important;
}

@media(max-width:980px){
  div.pte-card.pte-services-fit-card,
  .pte-card.pte-services-fit-card,
  .pte-services-fit-card{
    min-height:260px !important;
  }
}

@media(max-width:560px){
  div.pte-card.pte-services-fit-card,
  .pte-card.pte-services-fit-card,
  .pte-services-fit-card{
    min-height:0 !important;
    padding:20px !important;
  }
  .pte-services-fit-card h3,
  .pte-services-fit-card .pte-h3{
    font-size:22px !important;
  }
  .pte-services-fit-card p,
  .pte-services-fit-card .pte-muted{
    font-size:16px !important;
  }
}

/* =========================================================
   Services Journey Card Fix v2.6 for WordPress/Elementor
   Fixes /services "Service journey" where WP/Elementor can remove card
   shell and let counter badges overlap headings. Uses very direct selectors
   and gives the badge its own vertical rail space.
   Keep this block at the very end of the CSS file.
   ========================================================= */

section.pte-services-journey,
.pte-services-journey{
  background:#fff !important;
}

.pte-services-journey-grid,
.pte-page .pte-services-journey-grid,
section.pte-services-journey .pte-services-journey-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  counter-reset:journey !important;
  align-items:stretch !important;
  margin-top:34px !important;
}

/* card shell + safe top rail for number */
div.pte-card.pte-services-step,
.pte-card.pte-services-step,
.pte-services-step,
.pte-services-journey-grid > .pte-services-step{
  position:relative !important;
  display:block !important;
  min-height:260px !important;
  height:100% !important;
  background:#fff !important;
  border:1px solid #f0e2cf !important;
  border-radius:22px !important;
  padding:116px 24px 28px 24px !important;
  box-shadow:0 10px 25px rgba(16,32,51,.07) !important;
  overflow:hidden !important;
  text-align:left !important;
}

/* number badge: direct and non-overlapping */
div.pte-card.pte-services-step:before,
.pte-card.pte-services-step:before,
.pte-services-step:before,
.pte-services-journey-grid > .pte-services-step:before{
  counter-increment:journey !important;
  content:counter(journey) !important;
  position:absolute !important;
  left:24px !important;
  top:40px !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:#ff9f00 !important;
  background:linear-gradient(135deg,var(--pte-orange,#ff9f00),var(--pte-orange-dark,#ff7a00)) !important;
  color:#fff !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:24px !important;
  font-weight:900 !important;
  line-height:1 !important;
  z-index:2 !important;
  box-shadow:none !important;
}

.pte-services-step h3,
.pte-services-step .pte-h3,
.pte-services-journey-grid .pte-services-step h3,
.pte-services-journey-grid .pte-services-step .pte-h3{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  margin:0 0 16px 0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#1f1f22 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:27px !important;
  font-weight:900 !important;
  line-height:1.18 !important;
  letter-spacing:-.018em !important;
  text-align:left !important;
}

.pte-services-step p,
.pte-services-step .pte-muted,
.pte-services-journey-grid .pte-services-step p,
.pte-services-journey-grid .pte-services-step .pte-muted{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#66615b !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  text-align:left !important;
}

@media(max-width:980px){
  .pte-services-journey-grid,
  .pte-page .pte-services-journey-grid,
  section.pte-services-journey .pte-services-journey-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  div.pte-card.pte-services-step,
  .pte-card.pte-services-step,
  .pte-services-step,
  .pte-services-journey-grid > .pte-services-step{
    min-height:240px !important;
  }
}

@media(max-width:560px){
  .pte-services-journey-grid,
  .pte-page .pte-services-journey-grid,
  section.pte-services-journey .pte-services-journey-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  div.pte-card.pte-services-step,
  .pte-card.pte-services-step,
  .pte-services-step,
  .pte-services-journey-grid > .pte-services-step{
    min-height:0 !important;
    padding:104px 20px 24px 20px !important;
  }
  div.pte-card.pte-services-step:before,
  .pte-card.pte-services-step:before,
  .pte-services-step:before,
  .pte-services-journey-grid > .pte-services-step:before{
    top:32px !important;
    left:20px !important;
    width:52px !important;
    height:52px !important;
  }
  .pte-services-step h3,
  .pte-services-step .pte-h3{
    font-size:24px !important;
  }
  .pte-services-step p,
  .pte-services-step .pte-muted{
    font-size:16px !important;
  }
}

/* =========================================================
   Services Journey Specificity Override v2.6.1
   Higher specificity than older hardening rules such as
   .pte-page .pte-services-step.pte-card { padding-top:54px!important; }
   ========================================================= */
.pte-page section.pte-services-journey .pte-services-journey-grid > div.pte-card.pte-services-step,
.pte-page .pte-services-journey .pte-services-journey-grid > .pte-card.pte-services-step,
.pte-services-page .pte-services-journey .pte-services-journey-grid > .pte-card.pte-services-step,
body .pte-services-journey-grid > div.pte-card.pte-services-step{
  position:relative !important;
  display:block !important;
  min-height:260px !important;
  height:100% !important;
  background:#fff !important;
  border:1px solid #f0e2cf !important;
  border-radius:22px !important;
  padding:116px 24px 28px 24px !important;
  box-shadow:0 10px 25px rgba(16,32,51,.07) !important;
  overflow:hidden !important;
  text-align:left !important;
}

.pte-page section.pte-services-journey .pte-services-journey-grid > div.pte-card.pte-services-step:before,
.pte-page .pte-services-journey .pte-services-journey-grid > .pte-card.pte-services-step:before,
.pte-services-page .pte-services-journey .pte-services-journey-grid > .pte-card.pte-services-step:before,
body .pte-services-journey-grid > div.pte-card.pte-services-step:before{
  top:40px !important;
  left:24px !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  font-size:24px !important;
  z-index:2 !important;
}

.pte-page section.pte-services-journey .pte-services-journey-grid > div.pte-card.pte-services-step h3,
.pte-page section.pte-services-journey .pte-services-journey-grid > div.pte-card.pte-services-step .pte-h3,
body .pte-services-journey-grid > div.pte-card.pte-services-step h3{
  margin:0 0 16px 0 !important;
  font-size:27px !important;
  font-weight:900 !important;
  line-height:1.18 !important;
  color:#1f1f22 !important;
  letter-spacing:-.018em !important;
}

.pte-page section.pte-services-journey .pte-services-journey-grid > div.pte-card.pte-services-step p,
.pte-page section.pte-services-journey .pte-services-journey-grid > div.pte-card.pte-services-step .pte-muted,
body .pte-services-journey-grid > div.pte-card.pte-services-step p{
  margin:0 !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  color:#66615b !important;
}

@media(max-width:560px){
  .pte-page section.pte-services-journey .pte-services-journey-grid > div.pte-card.pte-services-step,
  .pte-page .pte-services-journey .pte-services-journey-grid > .pte-card.pte-services-step,
  .pte-services-page .pte-services-journey .pte-services-journey-grid > .pte-card.pte-services-step,
  body .pte-services-journey-grid > div.pte-card.pte-services-step{
    padding:104px 20px 24px 20px !important;
  }
}

/* =========================================================
   Services Why Card Fix v2.7 for WordPress/Elementor
   Fixes /services "Why PropTechEasy" cards where WP/Elementor can flatten
   the card shell and override heading/body typography. Keep this last.
   ========================================================= */

section.pte-services-why,
.pte-services-why{
  background:#f8fafc !important;
}

.pte-services-why .pte-grid-4,
section.pte-services-why .pte-grid-4,
.pte-page section.pte-services-why .pte-grid-4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}

/* Why card shell */
div.pte-card.pte-services-why-card,
.pte-card.pte-services-why-card,
.pte-services-why-card,
.pte-services-why .pte-grid-4 > .pte-card{
  display:block !important;
  min-height:260px !important;
  height:100% !important;
  background:#fff !important;
  border:1px solid #ead6bd !important;
  border-radius:22px !important;
  padding:34px 32px !important;
  box-shadow:0 10px 25px rgba(16,32,51,.07) !important;
  overflow:hidden !important;
  text-align:left !important;
}

.pte-services-why-card h3,
.pte-services-why-card .pte-h3,
.pte-services-why .pte-grid-4 > .pte-card h3,
.pte-services-why .pte-grid-4 > .pte-card .pte-h3{
  display:block !important;
  margin:0 0 18px 0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#1f1f22 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:26px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:-.012em !important;
  text-align:left !important;
}

.pte-services-why-card p,
.pte-services-why-card .pte-muted,
.pte-services-why .pte-grid-4 > .pte-card p,
.pte-services-why .pte-grid-4 > .pte-card .pte-muted{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#66615b !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.7 !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

@media(max-width:980px){
  .pte-services-why .pte-grid-4,
  section.pte-services-why .pte-grid-4,
  .pte-page section.pte-services-why .pte-grid-4{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:560px){
  .pte-services-why .pte-grid-4,
  section.pte-services-why .pte-grid-4,
  .pte-page section.pte-services-why .pte-grid-4{
    grid-template-columns:1fr !important;
  }
  div.pte-card.pte-services-why-card,
  .pte-card.pte-services-why-card,
  .pte-services-why-card,
  .pte-services-why .pte-grid-4 > .pte-card{
    min-height:0 !important;
    padding:24px 22px !important;
  }
  .pte-services-why-card h3,
  .pte-services-why-card .pte-h3,
  .pte-services-why .pte-grid-4 > .pte-card h3,
  .pte-services-why .pte-grid-4 > .pte-card .pte-h3{
    font-size:23px !important;
  }
  .pte-services-why-card p,
  .pte-services-why-card .pte-muted,
  .pte-services-why .pte-grid-4 > .pte-card p,
  .pte-services-why .pte-grid-4 > .pte-card .pte-muted{
    font-size:16px !important;
  }
}

/* =========================================================
   Services FAQ Fix v2.8 for WordPress/Elementor
   Fixes /services FAQ where native details/summary styles from WP/theme
   can remove card borders/shadows and override typography. Keep this last.
   ========================================================= */

section.pte-services-faq,
.pte-services-faq{
  background:#fff !important;
}

.pte-services-faq-list,
.pte-page .pte-services-faq-list,
section.pte-services-faq .pte-services-faq-list{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* FAQ item shell */
details.pte-services-faq-item,
.pte-services-faq details,
.pte-page .pte-services-faq details,
.pte-page details.pte-services-faq-item{
  display:block !important;
  width:100% !important;
  background:#fff !important;
  border:1px solid #ead6bd !important;
  border-radius:22px !important;
  padding:28px 32px !important;
  margin:0 0 24px 0 !important;
  box-shadow:0 10px 25px rgba(16,32,51,.07) !important;
  overflow:hidden !important;
  color:#1f1f22 !important;
}

/* Summary / question */
details.pte-services-faq-item > summary,
.pte-services-faq details > summary,
summary.pte-services-faq-question,
.pte-services-faq-question{
  display:list-item !important;
  cursor:pointer !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#1f1f22 !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:1.35 !important;
  letter-spacing:-.006em !important;
  text-align:left !important;
  list-style-position:inside !important;
}

/* Make marker dark, not greyed by theme */
details.pte-services-faq-item > summary::marker,
.pte-services-faq details > summary::marker,
summary.pte-services-faq-question::marker{
  color:#1f1f22 !important;
  font-size:.9em !important;
}

details.pte-services-faq-item[open] > summary,
.pte-services-faq details[open] > summary{
  margin-bottom:14px !important;
}

/* Answer */
details.pte-services-faq-item > p,
.pte-services-faq details > p,
.pte-services-faq-answer{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:#66615b !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:18px !important;
  font-weight:500 !important;
  line-height:1.7 !important;
  text-align:left !important;
}

@media(max-width:560px){
  details.pte-services-faq-item,
  .pte-services-faq details,
  .pte-page .pte-services-faq details,
  .pte-page details.pte-services-faq-item{
    border-radius:18px !important;
    padding:22px 20px !important;
    margin-bottom:16px !important;
  }
  details.pte-services-faq-item > summary,
  .pte-services-faq details > summary,
  summary.pte-services-faq-question,
  .pte-services-faq-question{
    font-size:18px !important;
    line-height:1.4 !important;
  }
  details.pte-services-faq-item > p,
  .pte-services-faq details > p,
  .pte-services-faq-answer{
    font-size:16px !important;
  }
}

/* =========================================================
   Services SME + Real Estate Responsive Fix v2.9
   Fixes /services use-case cards overflowing side-by-side on mobile and
   restores card shell/typography/button style for WP/Elementor. Keep last.
   ========================================================= */

section.pte-services-usecases,
.pte-services-usecases{
  background:linear-gradient(135deg,#1f1f22,#3a2a18) !important;
  color:#fff !important;
  overflow:hidden !important;
}

.pte-services-usecases .pte-container,
section.pte-services-usecases .pte-container{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

.pte-services-usecase-grid,
.pte-services-usecases .pte-grid-2,
section.pte-services-usecases .pte-grid-2{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
}

.pte-services-usecase-card,
.pte-services-usecases .pte-services-usecase-card{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  min-height:430px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:24px !important;
  padding:34px 32px !important;
  box-shadow:none !important;
  color:#fff !important;
  text-align:left !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.pte-services-usecase-card h3,
.pte-services-usecase-card .pte-h3,
.pte-services-usecases .pte-services-usecase-card h3,
.pte-services-usecases .pte-services-usecase-card .pte-h3{
  margin:0 0 18px 0 !important;
  padding:0 !important;
  color:#fff !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:32px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  letter-spacing:-.012em !important;
  text-align:left !important;
}

.pte-services-usecase-card p,
.pte-services-usecases .pte-services-usecase-card p{
  margin:0 0 22px 0 !important;
  padding:0 !important;
  color:#f4eadb !important;
  background:transparent !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:20px !important;
  font-weight:500 !important;
  line-height:1.65 !important;
  text-align:left !important;
}

.pte-services-usecase-card ul,
.pte-services-usecases .pte-services-usecase-card ul{
  display:block !important;
  margin:0 0 28px 0 !important;
  padding-left:24px !important;
  color:#f4eadb !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:19px !important;
  font-weight:800 !important;
  line-height:1.65 !important;
  text-align:left !important;
}

.pte-services-usecase-card li,
.pte-services-usecases .pte-services-usecase-card li{
  margin:0 0 8px 0 !important;
  padding-left:4px !important;
  color:#f4eadb !important;
}

.pte-services-usecase-card a.pte-btn,
.pte-services-usecases .pte-services-usecase-card a.pte-btn,
.pte-services-usecase-card a.pte-btn.pte-btn--ghost,
.pte-services-usecases .pte-services-usecase-card a.pte-btn.pte-btn--ghost{
  margin-top:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:54px !important;
  padding:14px 28px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.32) !important;
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
  box-shadow:none !important;
  text-decoration:none !important;
  font-family:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  white-space:normal !important;
  text-align:center !important;
}

@media(max-width:980px){
  .pte-services-usecase-grid,
  .pte-services-usecases .pte-grid-2,
  section.pte-services-usecases .pte-grid-2{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .pte-services-usecase-card,
  .pte-services-usecases .pte-services-usecase-card{
    min-height:0 !important;
    padding:32px 28px !important;
  }
}

@media(max-width:560px){
  section.pte-services-usecases,
  .pte-services-usecases{
    overflow:hidden !important;
  }
  .pte-services-usecases .pte-container,
  section.pte-services-usecases .pte-container{
    padding-left:16px !important;
    padding-right:16px !important;
    max-width:100% !important;
  }
  .pte-services-usecase-grid,
  .pte-services-usecases .pte-grid-2,
  section.pte-services-usecases .pte-grid-2{
    grid-template-columns:minmax(0,1fr) !important;
    gap:20px !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .pte-services-usecase-card,
  .pte-services-usecases .pte-services-usecase-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    border-radius:22px !important;
    padding:28px 24px !important;
  }
  .pte-services-usecase-card h3,
  .pte-services-usecase-card .pte-h3{
    font-size:28px !important;
    line-height:1.18 !important;
  }
  .pte-services-usecase-card p,
  .pte-services-usecases .pte-services-usecase-card p{
    font-size:18px !important;
    line-height:1.65 !important;
  }
  .pte-services-usecase-card ul,
  .pte-services-usecases .pte-services-usecase-card ul{
    font-size:17px !important;
    line-height:1.65 !important;
  }
  .pte-services-usecase-card a.pte-btn,
  .pte-services-usecases .pte-services-usecase-card a.pte-btn{
    width:100% !important;
    font-size:16px !important;
  }
}

