/* Homepage-only CRM sections. Loaded on top of vpd-core.css. */

.btnd{display:inline-block;margin-top:24px;background:var(--pp);color:#fff;font-weight:600;font-size:15px;text-decoration:none;border-radius:10px;padding:14px 26px;transition:background .2s}
.btnd:hover{background:var(--pp-d)}

/* "Why Mackenzies" — full sunburst band with the bubble cluster */
.dsun{display:none}
.whyme{position:relative;overflow:hidden;background:linear-gradient(125deg,#e6a95d 0%,#ef8a5a 52%,#cf5f57 100%);padding:clamp(58px,6vw,92px) 0}
.whyme::before{content:"";position:absolute;top:-60px;right:6%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,#ffe9bd,rgba(255,222,155,.28) 52%,rgba(255,222,155,0) 72%);pointer-events:none}
.whyme .wrapn{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.whyme .eyebrow{color:#fff}
.whytext h2{font-family:var(--head);font-weight:300;font-size:clamp(30px,3.4vw,40px);line-height:1.12;color:#fff;margin:10px 0 0;text-shadow:0 2px 20px rgba(120,40,30,.25)}
.whytext .rule{display:block;height:3px;width:120px;background:linear-gradient(90deg,#fff,rgba(255,255,255,.35));border-radius:2px;margin:18px 0 22px}
.whytext p{color:rgba(255,255,255,.95);font-size:16.5px;line-height:1.65;max-width:46ch;margin:0}
.whytext .btnd{margin-top:26px;background:#fff;color:var(--pp)}
.whytext .btnd:hover{background:#f3ecf6}
.bubbles{position:relative;width:466px;max-width:100%;height:340px}
.bubbles .bub{position:absolute;border-radius:50%;overflow:hidden;background:var(--sand) center/cover no-repeat;border:5px solid #fff;box-shadow:0 18px 40px rgba(40,20,60,.24);outline:2px solid var(--sand-d);outline-offset:2px}
.bubbles .bub.seal{background:#1a142e}
.bubbles .bub.seal svg{width:100%;height:100%;display:block}
.bubbles .b1{width:262px;height:262px;left:44px;top:0}
.bubbles .b2{width:196px;height:196px;left:270px;top:126px}
.bubbles .b3{width:150px;height:150px;left:6px;top:176px}
@media(max-width:900px){.whyme .wrapn{grid-template-columns:1fr;gap:16px;justify-items:center}
.whytext{order:2;text-align:left;width:100%;max-width:520px}
.bubbles{order:1;transform-origin:top center}}
@media(max-width:520px){.bubbles{transform:scale(.72);height:320px;margin-bottom:-8px}}

/* Split image/text sections */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(420px,52vw,560px)}
.split .imgcol{background:var(--sand) center/cover no-repeat}
.split .txtcol{display:flex;align-items:center;padding:clamp(44px,6vw,86px) clamp(28px,5vw,68px)}
.split .txtcol h2{font-family:var(--head);font-weight:300;font-size:clamp(26px,3.2vw,40px);color:var(--pp);line-height:1.14;margin:10px 0 16px}
.split .txtcol p{color:var(--mut);font-size:16.5px;line-height:1.65;margin:0;max-width:52ch}
.split .txtcol .listmeta{margin-top:10px;color:var(--gold-d);font-weight:600;font-size:14.5px}

/* Generic section wrapper */
.sec{padding:clamp(56px,7vw,100px) 0}
.sec .wrap{max-width:1120px;margin:0 auto;padding:0 clamp(24px,5vw,44px)}
.sec-head{max-width:640px;margin:0 0 8px}
.sec-head h2{font-family:var(--head);font-weight:300;font-size:clamp(26px,3.4vw,42px);color:var(--pp);line-height:1.14;margin:8px 0 10px}
.sec-head p{color:var(--mut);font-size:16.5px;margin:0;line-height:1.6}

/* Recently sold carousel */
.results{background:linear-gradient(180deg,#2a1e42,#411b66);color:#fff}
.results .sec-head h2{color:#fff}
.results .sec-head p{color:rgba(255,255,255,.8)}
.soldwrap{position:relative;margin-top:34px;display:flex;align-items:center;gap:8px}
.soldviewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:6px clamp(24px,5vw,44px)}
.soldviewport::-webkit-scrollbar{display:none}
.soldtrack{display:flex;gap:18px}
.sold{position:relative;flex:0 0 clamp(260px,32vw,340px);scroll-snap-align:start;border-radius:16px;overflow:hidden;box-shadow:0 20px 44px rgba(0,0,0,.28)}
.sold .ph{aspect-ratio:4/3;background:#3a2350 center/cover no-repeat}
.sold .tag{position:absolute;top:12px;left:12px;z-index:2;background:var(--pink);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:16px}
.sold .ov{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(0deg,rgba(20,12,34,.9),transparent)}
.sold .ov b{color:#fff;font-family:var(--head);font-weight:500;font-size:16px;display:block}
.sold .ov span{color:rgba(255,255,255,.7);font-size:12.5px}
.sarrow{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:22px;cursor:pointer;transition:background .2s}
.sarrow:hover{background:rgba(255,255,255,.28)}

/* Why grid */
.why{background:var(--cream)}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;margin-top:40px}
.grid4 .item{background:#fff;border-radius:16px;padding:30px 26px;box-shadow:0 14px 36px rgba(40,20,60,.08)}
.grid4 .ic{width:50px;height:50px;border-radius:12px;background:var(--sand);color:var(--gold-d);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px}
.grid4 h3{font-family:var(--head);font-weight:500;font-size:18px;color:var(--pp);margin:0 0 8px}
.grid4 p{color:var(--mut);font-size:15px;line-height:1.55;margin:0}

/* Testimonials marquee */
.tests{background:var(--sand);overflow:hidden}
.tmarquee{margin-top:38px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ttrack{display:flex;gap:22px;width:max-content;animation:tscroll 42s linear infinite}
.tests:hover .ttrack{animation-play-state:paused}
@keyframes tscroll{to{transform:translateX(-50%)}}
.tcard{flex:0 0 360px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 14px 36px rgba(40,20,60,.08)}
.tcard .stars{color:#e0a35c;letter-spacing:2px;font-size:15px}
.tcard p{color:var(--ink);font-size:15.5px;line-height:1.6;margin:12px 0 16px}
.tcard .who{font-family:var(--head);font-weight:600;color:var(--pp)}
.tcard .src{color:var(--mut);font-size:12.5px}

/* Meet Euan */
.agent{display:grid;grid-template-columns:1fr 1.1fr;min-height:clamp(420px,48vw,540px)}
.agent .imgcol{background:var(--sand) center/cover no-repeat}
.agent .txtcol{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,6vw,86px) clamp(28px,5vw,68px)}
.agent h2{font-family:var(--head);font-weight:300;font-size:clamp(28px,3.4vw,44px);color:var(--pp);margin:10px 0 4px}
.agent .role{color:var(--gold-d);font-weight:600;font-size:14.5px;margin:0 0 14px}
.agent p{color:var(--mut);font-size:16.5px;line-height:1.66;margin:0;max-width:54ch}

@media(max-width:860px){.split,.agent{grid-template-columns:1fr}
.split .imgcol,.agent .imgcol{min-height:300px;order:-1}}
