/* ==========================================================================
   KPT site pages — homepage, "I own a property", buy and research.
   Scoped to body.kps. Presentation only; matches the rounded look of the journey screens.
   ========================================================================== */
.kps{ --card:#FFFFFF; --track:#EFEDE6; --r-card:16px; --shadow:0 1px 2px rgba(22,33,62,.04),0 10px 30px rgba(22,33,62,.06); }
.kps .kpt-header.kpt-shell{ padding:26px 24px 0; }
.kps .kpt-header .brand{ font-size:11px; letter-spacing:.16em; font-weight:700; }
@media (max-width:640px){ .kps .kpt-header.kpt-shell{ padding:24px 20px 0; } }

/* hero */
.kps .kps-hero{ padding:44px 0 4px; }
.kps .kps-hero .kpt-h1{ font-size:48px; line-height:1.08; letter-spacing:-.02em; max-width:18ch; margin-bottom:14px; }
.kps .kps-hero .kpt-lede{ font-size:18px; max-width:40ch; line-height:1.5; }
@media (max-width:640px){ .kps .kps-hero{ padding:20px 0 0; } .kps .kps-hero .kpt-h1{ font-size:34px; margin-bottom:12px; } .kps .kps-hero .kpt-lede{ font-size:17px; } }

/* route cards */
.kps .kpt-router{ background:none; gap:12px; margin:28px 0 8px; }
.kps .kpt-router a{ position:relative; background:var(--card); border-radius:var(--r-card); padding:26px 24px 28px; box-shadow:var(--shadow); transition:transform .18s ease, box-shadow .18s ease; }
.kps .kpt-router a:hover{ background:var(--card); transform:translateY(-2px); box-shadow:0 1px 2px rgba(22,33,62,.05),0 16px 38px rgba(22,33,62,.10); }
.kps .kpt-router a::after{ content:"→"; position:absolute; right:22px; bottom:22px; color:var(--gold); font-size:18px; }
.kps .kpt-router h3{ font-size:23px; margin:0 0 8px; padding-right:28px; letter-spacing:-.01em; }
.kps .kpt-router p{ font-size:15px; line-height:1.5; padding-right:28px; }
@media (max-width:760px){ .kps .kpt-router{ gap:10px; margin:22px 0 4px; } .kps .kpt-router a{ padding:17px 20px 19px; } .kps .kpt-router h3{ font-size:21px; margin-bottom:5px; } .kps .kpt-router a::after{ bottom:16px; } }

/* own-a-property options */
.kps .kps-opts{ display:flex; flex-direction:column; gap:10px; max-width:420px; }
.kps .kps-opts .kpt-cta{ width:100%; justify-content:space-between; padding:17px 22px; font-size:16px; background:var(--card); border:none; box-shadow:var(--shadow); color:var(--ink); }
.kps .kps-opts .kpt-cta::after{ content:"→"; color:var(--gold); font-weight:400; }
.kps .kps-opts .kpt-cta:hover{ background:var(--ink); color:#fff; }
.kps .kps-opts .kpt-cta:hover::after{ color:#fff; }
.kps .kpt-quickread{ font-size:16px; }
.kps .kps-lead{ font-size:17px; color:var(--muted); line-height:1.5; max-width:46ch; margin:0 0 4px; }

/* primary action on site pages (WhatsApp stubs) */
.kps .kpt-cta--wa{ background:var(--wa); border-color:var(--wa); color:#fff; padding:16px 26px; font-size:16px; box-shadow:none; }
.kps .kpt-cta--wa:hover{ background:#176634; color:#fff; }
.kps .kps-opts .kpt-cta--wa::after{ content:none; }

/* quiet identity: one small line, not a banner */

/* ---- V11.0: Home two paths and Tools hub ---- */
.kps .kps-path{ padding:34px 0 0; }
.kps .kps-path + .kps-path{ padding-top:44px; }
.kps .kps-path-h{ font-family:var(--serif); font-weight:400; font-size:26px; line-height:1.2; margin:0 0 6px; color:var(--ink); }
.kps .kps-path-p{ font-size:16px; color:var(--muted); margin:0; max-width:52ch; }
.kps .kps-path .kpt-router{ margin:18px 0 0; }
.kps .kps-tools{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0 0; }
.kps .kps-tool{ position:relative; display:block; background:var(--card); border-radius:var(--r-card); padding:18px 22px 20px; box-shadow:var(--shadow); text-decoration:none; color:inherit; transition:transform .18s ease, box-shadow .18s ease; }
.kps .kps-tool:hover{ transform:translateY(-2px); box-shadow:0 1px 2px rgba(22,33,62,.05),0 16px 38px rgba(22,33,62,.10); }
.kps .kps-tool b{ display:block; font-size:16.5px; font-weight:600; color:var(--ink); margin:0 0 4px; padding-right:24px; }
.kps .kps-tool span{ display:block; font-size:14.5px; line-height:1.45; color:var(--muted); padding-right:24px; }
.kps .kps-tool::after{ content:"→"; position:absolute; right:20px; top:18px; color:var(--gold); font-size:17px; }
.kps .kps-more{ display:inline-block; margin-top:14px; font-size:15px; font-weight:600; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--gold); }
.kps .kps-more:hover{ color:var(--gold); }
@media (max-width:760px){ .kps .kps-tools{ grid-template-columns:1fr; gap:10px; } .kps .kps-path{ padding-top:26px; } .kps .kps-path + .kps-path{ padding-top:34px; } .kps .kps-path-h{ font-size:23px; } }
/* Tools hub: categories, each holding any number of tool cards */
.kps .kps-cat{ margin:34px 0 0; }
.kps .kps-cat-h{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:700; margin:0 0 12px; }
.kps .kps-cat .kps-hub{ margin:0; }
.kps .kps-hub{ display:grid; gap:14px; margin:0; }
.kps .kps-card{ position:relative; display:block; background:var(--card); border-radius:var(--r-card); padding:24px 26px 26px; box-shadow:var(--shadow); text-decoration:none; color:inherit; transition:transform .18s ease, box-shadow .18s ease; }
.kps .kps-card:hover{ transform:translateY(-2px); box-shadow:0 1px 2px rgba(22,33,62,.05),0 16px 38px rgba(22,33,62,.10); }
.kps .kps-card h3{ font-family:var(--serif); font-weight:400; font-size:24px; line-height:1.2; margin:0 0 8px; color:var(--ink); padding-right:30px; }
.kps .kps-card p{ font-size:15.5px; line-height:1.5; color:var(--muted); margin:0; max-width:56ch; }
.kps .kps-card::after{ content:"→"; position:absolute; right:24px; top:24px; color:var(--gold); font-size:19px; }
.kps .kps-hubnote{ margin:26px 0 0; font-size:15.5px; color:var(--muted); }
.kps .kps-hubnote a{ color:var(--ink); font-weight:600; text-decoration:none; border-bottom:1px solid var(--gold); }
