/* Homepage editorial sections. Content remains visible without animation scripts. */
body#content.mp-public-ui #mp-public-content .hx-story,
body#content.mp-public-ui #mp-public-content .hx-inspiration,
body#content.mp-public-ui #mp-public-content .hx-faq { margin-top:120px; margin-bottom:120px; }
body#content.mp-public-ui #mp-public-content :is(.hx-story,.hx-centered,.hx-team-heading,.hx-faq) h2 { font-size:clamp(36px,4.5vw,66px)!important; line-height:1.06!important; letter-spacing:-.045em!important; }
body#content.mp-public-ui #mp-public-content [class^="hx-"] h2 em { font-family:Georgia,serif!important; font-weight:400!important; color:var(--ed-accent); }
.hx-story { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:9%; }
.hx-story-copy>p { max-width:440px; margin:28px 0 32px; font-size:17px; line-height:1.8; }
.hx-story-copy .mp-btn-solid { display:inline-flex; align-items:center; gap:24px; }
.hx-story-visual { position:relative; padding-bottom:55px; }
.hx-image-window { overflow:hidden; border-radius:24px; height:580px; }
.hx-image-window img,.hx-panorama>img { width:100%; height:120%; object-fit:cover; margin-top:-8%; }
.hx-floating-card { position:absolute; left:-48px; bottom:0; width:265px; padding:30px; border-radius:20px; background:#102b4e; box-shadow:0 24px 60px #081b3326; }
body#content.mp-public-ui #mp-public-content .hx-floating-card h3 { color:white!important; font-size:29px!important; line-height:1.15!important; margin:20px 0 16px; }
body#content.mp-public-ui #mp-public-content .hx-floating-card p { color:#d7e2f3!important; font-size:14px; line-height:1.7; margin:0; }
.hx-card-number { color:#e79bff; font-size:10px; letter-spacing:.13em; display:block; margin-bottom:26px; }
.hx-floating-card>i { color:#e79bff; font-size:27px; }
.hx-image-caption { position:absolute; bottom:15px; right:0; font-size:9px; letter-spacing:.12em; color:var(--ed-muted); }
.hx-centered { text-align:center; max-width:990px; margin:0 auto 48px; }
.hx-panorama { position:relative; height:550px; border-radius:28px; overflow:hidden; background:#102b4e; }
.hx-panorama:after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,#081b3399); pointer-events:none; }
.hx-panorama-caption { position:absolute; inset:auto 42px 35px; display:flex; align-items:center; justify-content:space-between; gap:20px; z-index:1; color:white; font-size:12px; letter-spacing:.14em; }
.hx-panorama-caption a { width:68px; height:68px; border-radius:50%; display:grid; place-items:center; background:#b504dc; color:white!important; font-size:22px; transition:transform .3s,background .3s; }
.hx-panorama-caption a:hover { transform:rotate(-35deg); background:#9304b5; }
.hx-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:42px; }
.hx-step { border-top:1px solid var(--ed-line,#d5dfeb); padding-top:24px; text-decoration:none; }
.hx-step-top { display:flex; justify-content:space-between; font-size:12px; letter-spacing:.12em; color:var(--ed-muted); }
.hx-step-top i { color:var(--ed-accent); font-size:24px; }
body#content.mp-public-ui #mp-public-content .hx-step h3 { font-size:24px!important; margin:30px 0 14px; }
.hx-step p { font-size:15px; line-height:1.75; max-width:330px; }
.hx-step-link { display:flex; align-items:center; gap:16px; font-size:13px; color:var(--ed-accent); margin-top:25px; }
.hx-step-link i { transition:transform .3s; }.hx-step:hover .hx-step-link i { transform:translateX(7px); }
.hx-team { position:relative; isolation:isolate; padding:100px 0 70px; background:var(--ed-soft); overflow:hidden; }
.hx-team:before { content:""; position:absolute; inset:35% 0 0; z-index:-1; background:linear-gradient(var(--ed-soft),transparent),url('../images/editorial/cameroon-yaounde-neighborhood.webp') center 60%/cover; opacity:.13; }
.hx-team-heading { text-align:center; max-width:790px; margin:0 auto 60px; }
.hx-team-heading p { max-width:480px; margin:24px auto; }
.hx-team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; align-items:start; padding-bottom:80px; }
.hx-person { min-width:0; text-decoration:none; display:block; }
.hx-person:nth-child(even) { margin-top:80px; }
.hx-person-image { height:340px; position:relative; overflow:hidden; border-radius:18px; background:var(--ed-surface); }
.hx-person-image>img { position:relative; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.hx-person:hover img { transform:scale(1.06); }
.hx-person-fallback { position:absolute; inset:0; display:grid; place-items:center; font-size:64px; color:var(--ed-accent); }
.hx-person-arrow { position:absolute; right:16px; bottom:16px; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; color:white; background:#b504dc; transition:transform .3s; }
.hx-person:hover .hx-person-arrow { transform:rotate(-12deg); }
body#content.mp-public-ui #mp-public-content .hx-person h3 { font-size:17px!important; letter-spacing:-.02em!important; text-transform:uppercase; margin:21px 0 6px; overflow-wrap:anywhere; }
.hx-person>span { color:var(--ed-muted); font-size:13px; }
.hx-team-note { max-width:410px; text-align:center; margin:0 auto; font-size:15px; }
.hx-faq { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; align-items:start; }
.hx-faq-heading>p { margin:25px 0; max-width:320px; line-height:1.8; }
.hx-questions { display:grid; gap:12px; }
.hx-questions details { border:1px solid var(--ed-line,#d5dfeb); background:var(--ed-surface); border-radius:16px; overflow:hidden; }
.hx-questions summary { display:flex; align-items:center; justify-content:space-between; gap:24px; cursor:pointer; padding:26px; list-style:none; color:var(--ed-ink); font-size:16px; line-height:1.45; font-weight:500; }
.hx-questions summary::-webkit-details-marker { display:none; }
.hx-questions summary i { color:var(--ed-accent); transition:transform .3s; flex-shrink:0; }
.hx-questions [open] summary i { transform:rotate(45deg); }
.hx-questions details>div { padding:0 26px 26px; font-size:15px; line-height:1.8; }
.hx-questions details>div p { margin:0; }
.hx-questions details>div a { display:inline-flex; align-items:center; gap:14px; margin-top:16px; color:var(--ed-accent); }
.hx-questions summary:focus-visible,.hx-person:focus-visible,.hx-step:focus-visible { outline:3px solid var(--ed-accent); outline-offset:4px; }
#home-search { scroll-margin-top:140px; }
@media(min-width:1000px){.hx-faq-heading { position:sticky; top:130px; }}
@media(max-width:991px){
body#content.mp-public-ui #mp-public-content :is(.hx-story,.hx-inspiration,.hx-faq){margin-top:80px;margin-bottom:80px;}
.hx-story { gap:7%; }.hx-image-window{height:480px;}.hx-floating-card{left:-20px;width:235px;padding:24px;}
.hx-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}.hx-person-image{height:390px;}.hx-person:nth-child(even){margin-top:50px;}
.hx-panorama{height:440px;}.hx-steps{gap:22px;}.hx-faq{grid-template-columns:1fr;gap:35px;}.hx-faq-heading>p{max-width:100%;}
}
@media(max-width:600px){
body#content.mp-public-ui #mp-public-content :is(.hx-story,.hx-inspiration,.hx-faq){margin-top:64px;margin-bottom:64px;}
.hx-story{grid-template-columns:1fr;gap:34px;}.hx-story-copy>p{font-size:15px;margin:20px 0 26px;}.hx-image-window{height:410px;}.hx-floating-card{left:14px;width:225px;bottom:0;}.hx-image-caption{font-size:7px;bottom:20px;right:0;writing-mode:vertical-rl;}.hx-story-visual{padding-bottom:45px;}
.hx-centered{margin-bottom:30px;}.hx-panorama{height:380px;border-radius:20px;}.hx-panorama-caption{inset:auto 22px 22px;font-size:9px;}.hx-panorama-caption a{width:52px;height:52px;flex-shrink:0;}
.hx-steps{grid-template-columns:1fr;gap:28px;margin-top:30px;}.hx-step p{max-width:none;}.hx-step-link{margin-top:16px;}body#content.mp-public-ui #mp-public-content .hx-step h3{margin-top:20px;}
.hx-team{padding:64px 0 45px;}.hx-team-heading{margin-bottom:35px;}.hx-team-grid{gap:16px;padding-bottom:38px;}.hx-person-image{height:235px;}.hx-person:nth-child(even){margin-top:42px;}body#content.mp-public-ui #mp-public-content .hx-person h3{font-size:13px!important;}.hx-person>span{font-size:11px;}.hx-person-arrow{width:34px;height:34px;right:10px;bottom:10px;font-size:12px;}.hx-team-note{font-size:13px;}
.hx-questions summary{padding:20px;font-size:15px;gap:15px;}.hx-questions details>div{padding:0 20px 22px;font-size:14px;}
}
@media(prefers-reduced-motion:reduce){.hx-person-image>img,.hx-person-arrow,.hx-step-link i,.hx-panorama-caption a,.hx-questions summary i{transition:none!important;}}
body#content.mp-public-ui #mp-public-content .hx-story-copy .mp-btn-solid { padding:18px 24px!important; min-height:56px; border-radius:10px!important; font-size:14px; }
body#content.mp-public-ui #mp-public-content :is(.hx-step-top,.hx-step-link,.hx-questions summary,.hx-questions details>div a) i { color:var(--ed-accent)!important; }
body#content.mp-public-ui #mp-public-content .hx-floating-card>i,
body#content.mp-public-ui #mp-public-content .hx-card-number { color:#e79bff!important; }
body#content.mp-public-ui #mp-public-content .hx-person-arrow i,
body#content.mp-public-ui #mp-public-content .hx-panorama-caption a i { color:white!important; }
.hx-person-image>img[hidden] { display:none!important; }
body#content.mp-public-ui[data-public-page] #mp-public-content .mp-new-home .hx-floating-card>i { color:#e79bff!important; -webkit-text-fill-color:#e79bff!important; }
body#content.mp-public-ui[data-public-page] #mp-public-content .mp-new-home :is(.hx-step-top,.hx-step-link,.hx-questions summary,.hx-questions details>div a) i { color:var(--ed-accent)!important; -webkit-text-fill-color:var(--ed-accent)!important; }
body#content.mp-public-ui[data-public-page] #mp-public-content .mp-new-home :is(.hx-person-arrow,.hx-panorama-caption a) i { color:white!important; -webkit-text-fill-color:white!important; }

/* Discover: an architectural backdrop, a stationary introduction and four project cards. */
.hx-discover { --discover-bg:#dce7f4; position:relative; background:var(--discover-bg); margin:100px 0; }
html[data-mapiole-theme="dark"] .hx-discover { --discover-bg:#112d4c; }
.hx-discover-masthead { position:relative; height:300px; display:grid; place-items:center; isolation:isolate; overflow:clip; }
.hx-discover-wordmark { position:absolute; left:50%; top:50%; transform:translate(-50%,-52%); font-size:clamp(150px,27vw,420px); line-height:1; letter-spacing:-.075em; color:#ffffff55; font-weight:500; white-space:nowrap; pointer-events:none; z-index:-1; }
.hx-discover-intro { text-align:center; }
.hx-discover-eyebrow { display:block; font-size:13px; color:var(--ed-muted); margin-bottom:20px; }
body#content.mp-public-ui #mp-public-content .hx-discover-intro p { font-size:clamp(48px,6vw,88px)!important; color:var(--ed-ink)!important; line-height:1!important; letter-spacing:-.06em; margin:0; }
.hx-discover-stage { position:relative; isolation:isolate; }
.hx-discover-backdrop { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.hx-discover-scene { position:sticky; top:90px; height:calc(100vh - 90px); min-height:550px; overflow:clip; }
.hx-discover-scene img { width:76%; height:100%; object-fit:cover; object-position:68% center; }
.hx-discover-scene:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 42%,var(--discover-bg) 74%),linear-gradient(var(--discover-bg),transparent 18%,transparent 80%,var(--discover-bg)); }
.hx-discover-layout { display:grid; grid-template-columns:minmax(280px,365px) minmax(320px,400px); justify-content:space-between; align-items:start; gap:80px; padding-bottom:100px; }
.hx-discover-copy { position:sticky; top:155px; grid-column:2; grid-row:1; padding-top:12px; }
body#content.mp-public-ui #mp-public-content .hx-discover-copy h2 { font-size:clamp(36px,3.7vw,54px)!important; line-height:1.05!important; letter-spacing:-.045em!important; margin:0 0 25px; }
.hx-discover-copy>p { font-size:17px; line-height:1.65; margin-bottom:28px; }
.hx-discover-signature { display:flex; align-items:center; gap:16px; font-size:13px; color:var(--ed-muted); line-height:1.6; }
.hx-discover-signature>span:first-child { width:58px; height:58px; flex-shrink:0; display:grid; place-items:center; border-radius:50%; background:#b504dc; }
.hx-discover-cards { grid-row:1; grid-column:1; display:grid; gap:26px; }
.hx-discover-card { display:block; background:#102b4e; border:6px solid #102b4e; border-radius:22px; text-decoration:none!important; overflow:hidden; box-shadow:0 15px 40px #102b4e12; }
.hx-discover-photo { height:250px; border-radius:16px; overflow:hidden; }
.hx-discover-photo img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.hx-discover-card:nth-child(3) .hx-discover-photo img { object-position:right center; width:130%; max-width:none; }
.hx-discover-card:hover .hx-discover-photo img { transform:scale(1.06); }
.hx-discover-card-copy { padding:23px 20px 20px; }
.hx-discover-card-title { display:flex; align-items:center; justify-content:space-between; gap:15px; }
body#content.mp-public-ui #mp-public-content .hx-discover-card-title h3 { color:#fff!important; font-size:20px!important; letter-spacing:-.02em!important; margin:0; }
.hx-discover-card-title>span { color:#b5c5db; font-size:16px; }
body#content.mp-public-ui #mp-public-content .hx-discover-card-copy p { color:#d5e0ef!important; font-size:15px; line-height:1.65; margin:19px 0 22px; }
.hx-discover-cta { display:flex; justify-content:space-between; align-items:center; color:#e79bff; font-size:13px; }
.hx-discover-cta i { transition:transform .3s; }.hx-discover-card:hover .hx-discover-cta i { transform:translateX(5px); }
body#content.mp-public-ui[data-public-page] #mp-public-content .mp-new-home .hx-discover-cta i { color:#e79bff!important; -webkit-text-fill-color:#e79bff!important; }
body#content.mp-public-ui[data-public-page] #mp-public-content .mp-new-home .hx-discover-signature i { color:#fff!important; -webkit-text-fill-color:#fff!important; }
.hx-discover-card:focus-visible { outline:3px solid var(--ed-accent)!important; outline-offset:5px; }
@media(max-width:991px){
.hx-discover{margin:80px 0;}.hx-discover-masthead{height:230px;}.hx-discover-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:45px;padding-bottom:70px;}.hx-discover-photo{height:220px;}.hx-discover-card-copy{padding:20px 16px;}.hx-discover-copy>p{font-size:15px;}
}
@media(max-width:767px){
.hx-discover{margin:64px 0;}.hx-discover-masthead{height:190px;}.hx-discover-wordmark{font-size:29vw;}.hx-discover-intro .hx-discover-eyebrow{margin-bottom:14px;}
.hx-discover-layout{display:flex;flex-direction:column;gap:32px;padding-bottom:40px;}.hx-discover-copy{position:relative;top:auto;padding-top:0;max-width:520px;}.hx-discover-copy>p{margin-bottom:20px;}.hx-discover-signature{display:none;}
.hx-discover-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:100%;}.hx-discover-scene{position:absolute;top:0;height:100%;width:100%;min-height:0;opacity:.22;}.hx-discover-scene img{width:100%;}.hx-discover-scene:after{background:linear-gradient(var(--discover-bg),transparent 30%,var(--discover-bg));}.hx-discover-photo{height:200px;}
}
@media(max-width:480px){.hx-discover-cards{grid-template-columns:1fr;gap:22px;}.hx-discover-photo{height:240px;}.hx-discover-card-copy{padding:22px;}.hx-discover-card{border-radius:20px;}.hx-discover-eyebrow{font-size:12px;}}
@media(prefers-reduced-motion:reduce){.hx-discover-photo img,.hx-discover-cta i{transition:none!important;}}

/* Keep later cards above earlier pins without creating a new scrolling surface. */
.hx-discover-card { position:relative; }
.hx-discover-cards { isolation:isolate; }

/* Clip painted cards to Discover without creating a scroll container (which
   would break the sticky copy and background). Transform pins stay inside it. */
.hx-discover-stage { overflow:clip; }

/* Lenis owns interpolation; native smooth behavior must not run a second tween. */
html.lenis { scroll-behavior:auto!important; }

/* Cameroon-inspired homepage photography: keep houses in frame on narrow screens. */
body#content.mp-public-ui .mp-band-video .mp-pro-local-image { width:100%; height:100%; object-fit:cover; display:block; }
body#content.mp-public-ui .hx-discover-scene img { object-position:70% center; }
body#content.mp-public-ui .hx-discover-card:nth-child(3) .hx-discover-photo img { width:100%; object-position:center; }
body#content.mp-public-ui .mp-hero-photo:after { background:linear-gradient(180deg,rgba(8,27,51,.56),rgba(8,27,51,.26) 48%,rgba(8,27,51,.32)); }
@media(max-width:767px){body#content.mp-public-ui .mp-hero-photo img {object-position:68% center;}}
