/* Kyrosphere Africa | Dedicated Real Estate experience */
.re-page { padding-top:var(--nav-height); font-family:'Montserrat',Arial,sans-serif; color:#262C30; background:#fff; }
.re-page * { box-sizing:border-box; }
.re-page a { color:inherit; text-decoration:none; }
.re-page .re-wrap { width:min(100% - 80px,1320px); margin-inline:auto; }
.re-page .re-top { display:grid; grid-template-columns:1.05fr .95fr; background:#F5F2EA; min-height:640px; }
.re-page .re-top-copy { padding:clamp(60px,8vw,120px) clamp(32px,6vw,105px); align-self:center; }
.re-page .re-eyebrow { font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.13em; text-transform:uppercase; color:#123F43; margin:0 0 24px; }
.re-page h1 { margin:0 0 28px; max-width:13ch; color:#123F43; font-size:clamp(2.7rem,5vw,5.2rem); line-height:1.07; letter-spacing:-.05em; font-weight:600; }
.re-page h1 span { color:#906934; }
.re-page .re-deck { font-size:clamp(1rem,1.4vw,1.13rem); line-height:1.8; color:#48575A; max-width:53ch; margin:0 0 33px; }
.re-page .re-actions { display:flex; flex-wrap:wrap; gap:12px; }
.re-page .re-button,.re-page .re-button-secondary { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:13px 21px; border:2px solid #123F43; font-size:14px; font-weight:600; }
.re-page .re-button { color:#fff; background:#123F43; }
.re-page .re-button:hover { background:#0C3033; }
.re-page .re-button-secondary { color:#123F43; background:transparent; }
.re-page .re-button-secondary:hover { background:#fff; }
.re-page .re-hero-figure { margin:0; position:relative; overflow:hidden; min-height:450px; background:#123F43; }
.re-page .re-hero-figure img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.re-page .re-hero-figure::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#123f4370,transparent 58%); }
.re-page .re-hero-figure figcaption { position:absolute; z-index:2; left:38px; bottom:32px; color:#fff; font-size:13px; }
.re-page .re-intro { display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,100px); align-items:start; padding-block:clamp(80px,9vw,125px) 58px; }
.re-page .re-intro h2,.re-page .re-section-title,.re-page .re-process h2,.re-page .re-final h2 { color:#123F43; font-size:clamp(2.2rem,3.8vw,3.7rem); letter-spacing:-.042em; line-height:1.13; font-weight:600; margin:0; }
.re-page .re-intro-copy { color:#566171; line-height:1.86; font-size:1.1rem; max-width:53ch; }
.re-page .re-services { padding-block:25px clamp(80px,9vw,125px); }
.re-page .re-section-title { margin:0 0 37px; }
.re-page .re-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.re-page .re-service { background:#F5F2EA; padding:clamp(31px,4.1vw,56px); border-top:3px solid #B68B4C; min-height:330px; display:flex; flex-direction:column; justify-content:space-between; scroll-margin-top:calc(var(--nav-height) + 28px); }
.re-page .re-index { display:block; font-size:12px; font-weight:700; letter-spacing:.12em; color:#845E33; }
.re-page .re-service h3 { color:#123F43; font-size:clamp(1.55rem,2.35vw,2.45rem); font-weight:600; line-height:1.14; margin:20px 0 16px; }
.re-page .re-service p { color:#566171; font-size:1rem; line-height:1.75; max-width:55ch; margin:0; }
.re-page .re-service a { display:inline-flex; align-self:start; color:#123F43; border-bottom:1px solid #123F43; font-size:14px; font-weight:600; padding:9px 0; margin-top:23px; }
.re-page .re-service a:hover { color:#0C3033; }
.re-page .re-process { background:#123F43; color:#fff; padding:clamp(72px,8vw,116px) 0; }
.re-page .re-process .re-eyebrow { color:#E5C9A5; }
.re-page .re-process-head { display:grid; grid-template-columns:1fr 1fr; gap:55px; align-items:end; margin-bottom:46px; }
.re-page .re-process h2 { color:#fff; }
.re-page .re-process-head > p { color:#e1ebe9; font-size:1.08rem; line-height:1.8; }
.re-page .re-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ffffff64; }
.re-page .re-process-grid article { padding:36px 34px 0 0; border-right:1px solid #ffffff3e; }
.re-page .re-process-grid article + article { padding-left:34px; }
.re-page .re-process-grid article:last-child { border-right:0; }
.re-page .re-process-grid span { color:#E5C9A5; font-size:12px; letter-spacing:.1em; }
.re-page .re-process-grid h3 { color:#fff; font-size:1.75rem; font-weight:600; margin:20px 0 15px; }
.re-page .re-process-grid p { color:#e1ebe9; line-height:1.75; }
.re-page .re-final { background:#F5F2EA; padding:clamp(68px,8vw,112px) 0; }
.re-page .re-final-grid { display:flex; align-items:center; justify-content:space-between; gap:55px; }
.re-page .re-final h2 { max-width:19ch; margin-bottom:20px; }
.re-page .re-final p { max-width:55ch; color:#566171; font-size:1.05rem; line-height:1.75; }
.re-page .re-note { padding-block:26px; font-size:13px; line-height:1.7; color:#566171; }
.re-page a:focus-visible { outline:3px solid #B68B4C; outline-offset:5px; }
@media(max-width:1020px) {
 .re-page .re-top { grid-template-columns:1fr; }
 .re-page .re-hero-figure { min-height:400px; }
 .re-page .re-intro,.re-page .re-process-head { grid-template-columns:1fr; gap:28px; }
 .re-page .re-final-grid { flex-direction:column; align-items:flex-start; }
}
@media(max-width:700px) {
 .re-page .re-wrap { width:calc(100% - 40px); }
 .re-page .re-top-copy { padding:58px 24px; }
 .re-page .re-hero-figure { min-height:300px; }
 .re-page .re-grid { grid-template-columns:1fr; }
 .re-page .re-service { min-height:290px; }
 .re-page .re-process-grid { grid-template-columns:1fr; }
 .re-page .re-process-grid article,.re-page .re-process-grid article + article { padding:28px 0; border:0; border-bottom:1px solid #ffffff35; }
 .re-page .re-actions a { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .re-page * { transition:none!important; scroll-behavior:auto!important; } }
