/* All public Marrakech pages, FR/EN. No route, canonical, listing or form processing changes. */
body.np-public .v3-main :is(.v3-hero,.ptl__hero,.mpd__hero,.mk-strategic__hero) h1 { font-family:var(--v3-serif,Georgia,serif); font-weight:400; letter-spacing:-.025em; line-height:1.13; font-size:clamp(36px,4.2vw,58px); }
body.np-public .v3-main .v3-shell>.v3-hero:not(.v3-contact-hero):not(.v3-catalog-hero) { padding:40px; margin-block:24px 36px; width:100%!important; max-width:100%!important; left:auto!important; transform:none!important; box-sizing:border-box; background:var(--mk-paper)!important; border-radius:16px; }
body.np-public .v3-main :is(.v3-section-heading,.v3-development-editorial,.v3-home-seller,.v3-recruit) h2 { font:400 clamp(28px,3vw,40px)/1.2 var(--v3-serif,Georgia,serif); letter-spacing:-.02em; }
body.np-public .v3-main :is(.v3-content-block,.v3-legal-content,.v3-description) { color:var(--np-ink); }
body.np-public .v3-main :is(.v3-content-block,.v3-legal-content,.v3-description) p { color:var(--np-muted); line-height:1.8; }
body.np-public .v3-main :is(.v3-content-block,.v3-legal-content) h2 { font:400 clamp(27px,2.8vw,38px)/1.22 var(--v3-serif,Georgia,serif); letter-spacing:-.02em; margin:0 0 20px; }
body.np-public .v3-main :is(.v3-content-block,.v3-legal-content) h3 { line-height:1.35; margin-block:24px 12px; }
body.np-public .v3-main :is(.v3-content-block,.v3-legal-content) li { line-height:1.75; margin-block:8px; }
body.np-public .v3-main .v3-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; }
body.np-public .v3-main :is(.v3-public-form,.v3-valuation-form) label,
body.np-public .v3-main :is(.v3-public-form,.v3-valuation-form) .v3-consent { color:var(--np-ink); }
body.np-public .v3-main :is(.v3-public-form,.v3-valuation-form) .v3-consent { align-items:flex-start; gap:12px; line-height:1.65; }
body.np-public .v3-main :is(.v3-public-form,.v3-valuation-form) input[type=checkbox] { width:20px; height:20px; min-height:20px; padding:0; flex:0 0 20px; margin-top:3px; }
body.np-public .v3-main :is(.v3-public-form,.v3-valuation-form) :is(input,select,textarea):not([type=checkbox],[type=radio],[type=hidden]) { min-width:0; max-width:100%; font-size:16px; }
body.np-public .v3-main :is(.v3-public-form,.v3-valuation-form) input[type=file] { padding:12px; white-space:normal; }
/* Photo introductions need light text; neutral introductions use the existing terracotta. */
body.np-public .v3-main :is(.v3-neighborhood-detail-hero,.v3-article-hero,.v3-recruit-hero,.v3-sell-hero) .v3-kicker { color:#fff; }
body.np-public .v3-main :is(.v3-neighborhood-detail-hero,.v3-article-hero,.v3-recruit-hero,.v3-sell-hero) h1 { font:400 clamp(38px,4.6vw,64px)/1.12 var(--v3-serif,Georgia,serif); letter-spacing:-.025em; max-width:24ch; }
body.np-public .v3-main .v3-neighborhood-detail-hero { min-height:0; padding-block:48px; }
body.np-public .v3-main .v3-neighborhood-detail-hero .v3-neighborhood-breadcrumb,
body.np-public .v3-main .v3-neighborhood-detail-hero .v3-neighborhood-breadcrumb :is(a,li,span) { color:#fff; }
body.np-public .v3-main .v3-neighborhood-detail-hero .v3-neighborhood-image-note { border:0; color:#fff; padding:0; margin:20px 0 0; }
body.np-public .v3-main .v3-neighborhood-detail-hero .v3-neighborhood-image-note span { color:inherit; }
body.np-public .v3-main .v3-neighborhood-hero-actions { gap:14px; margin-top:24px; }
body.np-public .v3-main .v3-neighborhood-detail { gap:36px; padding-top:48px; }
body.np-public .v3-main .v3-neighborhood-detail .v3-content-block { border:1px solid var(--mk-line); border-radius:14px; padding:28px; margin-bottom:24px; background:#fff; }
body.np-public .v3-main .v3-neighborhood-aside { padding:28px; border:1px solid var(--mk-line); border-radius:14px; background:var(--mk-paper); color:var(--np-ink); }
body.np-public .v3-main .v3-neighborhood-aside :is(h2,p,li,span) { color:var(--np-ink); }
body.np-public .v3-main .v3-neighborhood-nearby { display:flex; flex-wrap:wrap; gap:12px; }
body.np-public .v3-main .v3-neighborhood-nearby a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--mk-line); border-radius:8px; color:var(--v3-domain-color); background:var(--mk-paper); }
body.np-public .v3-main .v3-neighborhood-empty { padding:30px; border:1px solid var(--mk-line); border-radius:14px; background:var(--mk-paper); color:var(--np-ink); }
body.np-public .v3-main .v3-neighborhood-empty p { color:var(--np-muted); line-height:1.75; }
/* Property types and sector combinations share the Marrakech identity. */
body.np-public .v3-main :is(.ptl,.mpd,.mk-strategic) { background:#fff; color:var(--np-ink); }
body.np-public .v3-main :is(.ptl__shell,.mpd__shell) { width:min(1280px,calc(100% - 64px)); }
body.np-public .v3-main :is(.ptl__hero,.mpd__hero,.mk-strategic__hero) { padding-block:48px 36px; }
body.np-public .v3-main :is(.ptl,.mpd,.mk-strategic) h1 { color:var(--v3-domain-color); }
body.np-public .v3-main :is(.ptl__eyebrow,.ptl__crumbs a,.ptl__link,.ptl__side a,.mpd__crumb a) { color:var(--v3-domain-color); }
body.np-public .v3-main :is(.ptl__lead,.mpd__lead) { color:var(--np-muted); font-size:18px; line-height:1.75; max-width:800px; }
body.np-public .v3-main :is(.ptl,.mpd,.mk-strategic) h2 { font:400 clamp(28px,3vw,40px)/1.22 var(--v3-serif,Georgia,serif); letter-spacing:-.02em; }
body.np-public .v3-main :is(.ptl,.mpd,.mk-strategic) h3 { font-size:23px; line-height:1.3; }
body.np-public .v3-main :is(.ptl__section,.mpd section) { padding-block:32px; }
body.np-public .v3-main :is(.ptl__empty,.mpd__empty) { background:var(--mk-paper); color:var(--np-ink); border:1px solid var(--mk-line); border-radius:16px; padding:32px; }
body.np-public .v3-main :is(.ptl__empty,.mpd__empty) :is(h2,h3) { color:var(--v3-domain-color); }
body.np-public .v3-main :is(.ptl__empty,.mpd__empty) p { color:var(--np-muted); }
body.np-public .v3-main :is(.ptl__button,.mpd__button) { background:var(--v3-domain-color); color:#fff!important; border:1px solid var(--v3-domain-color); border-radius:8px; min-height:48px; padding:12px 20px; line-height:1.5; }
body.np-public .v3-main :is(.ptl__button--outline,.mpd__actions>a:not(:first-child)) { color:var(--v3-domain-color)!important; background:#fff; }
body.np-public .v3-main :is(.ptl__sectors a,.ptl__side) { border:1px solid var(--mk-line); border-radius:10px; background:var(--mk-paper); color:var(--v3-domain-color); }
body.np-public .v3-main .ptl__editorial-grid { gap:24px; }
body.np-public .v3-main :is(.ptl__editorial-grid>article,.mpd__guides>article,.mk-strategic__body section,.mk-strategic__body details) { padding:26px; border:1px solid var(--mk-line); border-radius:12px; background:#fff; box-shadow:none; }
body.np-public .v3-main :is(.ptl__editorial,.ptl__content) { padding-block:40px; }
body.np-public .v3-main :is(.ptl__editorial,.ptl__content,.mpd__guides,.mk-strategic__body) p { color:var(--np-muted); line-height:1.8; }
body.np-public .v3-main .mpd__faq details { border:1px solid var(--mk-line); padding:22px; }
body.np-public .v3-main .mpd__faq summary { color:var(--np-ink); line-height:1.5; }
body.np-public .v3-main .mk-strategic__body details summary { font-size:21px; line-height:1.4; cursor:pointer; }
body.np-public .v3-main .mk-strategic__body section h2 { margin:0 0 18px; }
/* Journal: readable measure and scrollable comparison tables, without clipping text. */
body.np-public .v3-main .v3-article-hero { min-height:0; padding-block:64px; }
body.np-public .v3-main .v3-article-layout { grid-template-columns:minmax(0,1fr) 300px; gap:48px; padding-block:48px 64px; }
body.np-public .v3-main .v3-article-content { min-width:0; color:var(--np-ink); }
body.np-public .v3-main .v3-article-content h2 { font:400 clamp(28px,3vw,40px)/1.2 var(--v3-serif,Georgia,serif); margin:40px 0 20px; color:var(--v3-domain-color); letter-spacing:-.02em; }
body.np-public .v3-main .v3-article-content h3 { font-size:23px; line-height:1.35; margin:28px 0 16px; }
body.np-public .v3-main .v3-article-content :is(p,li) { font-size:17px; line-height:1.8; color:var(--np-muted); }
body.np-public .v3-main .v3-article-content a { color:var(--v3-domain-color); text-decoration:underline; text-underline-offset:3px; }
body.np-public .v3-main .table-responsive { max-width:100%; overflow-x:auto; border:1px solid var(--mk-line); border-radius:10px; margin-block:28px; }
body.np-public .v3-main .table-responsive table { width:100%; min-width:600px; border-collapse:collapse; margin:0; font-size:15px; line-height:1.6; background:#fff; color:var(--np-ink); }
body.np-public .v3-main .table-responsive :is(th,td) { padding:16px 20px; text-align:left; vertical-align:top; border:1px solid var(--mk-line); white-space:normal; }
body.np-public .v3-main .table-responsive th { background:var(--mk-paper); color:var(--v3-domain-color); }
body.np-public .v3-main .table-responsive tr:nth-child(even) td { background:#faf8f5; }
body.np-public .v3-main .v3-news-grid { gap:24px; }
body.np-public .v3-main .v3-news-grid>article { border:1px solid var(--mk-line); border-radius:14px; overflow:hidden; }
body.np-public .v3-main .v3-news-grid h2 { font:400 clamp(25px,2.6vw,36px)/1.24 var(--v3-serif,Georgia,serif); letter-spacing:-.02em; }
/* Financing and contact: inherited pale text must never survive on a white card. */
body.np-public .v3-main .v3-mortgage-rate { border-color:var(--mk-line); }
body.np-public .v3-main .v3-mortgage-rate :is(span,small,p) { color:var(--np-muted); }
body.np-public .v3-main .v3-mortgage-rate strong { color:var(--v3-domain-color); }
body.np-public .v3-main .v3-mortgage-layout { gap:28px; }
body.np-public .v3-main :is(.v3-mortgage-guide,.v3-mortgage-calculator,.v3-mortgage-dossier) { background:#fff; color:var(--np-ink); border:1px solid var(--mk-line); border-radius:14px; padding:32px; }
body.np-public .v3-main :is(.v3-mortgage-guide,.v3-mortgage-calculator,.v3-mortgage-dossier) h2 { font:400 clamp(28px,3vw,40px)/1.2 var(--v3-serif,Georgia,serif); color:var(--v3-domain-color); letter-spacing:-.02em; }
body.np-public .v3-main :is(.v3-mortgage-guide,.v3-mortgage-dossier) :is(p,li) { color:var(--np-muted); line-height:1.75; }
body.np-public .v3-main .v3-contact-hero--commercial { width:100%!important; max-width:100%!important; transform:none!important; left:auto!important; padding:40px!important; margin-block:24px 36px; border-radius:16px; background:var(--mk-paper)!important; }
body.np-public .v3-main .v3-contact-hero--commercial .v3-kicker { color:var(--v3-domain-color); }
body.np-public .v3-main .v3-contact-identity p { color:var(--np-muted); }
body.np-public .v3-main .v3-contact-visual figcaption { color:#fff; }
body.np-public .v3-main .v3-legal-layout { padding-block:16px 56px; gap:32px; }
body.np-public .v3-main .v3-legal-content { max-width:900px; }
body.np-public .v3-main .agency-legal-identity { border-top:1px solid var(--mk-line); padding-block:24px; color:var(--np-muted); }
/* Seller and recruitment journeys: keep the progression, remove oversized headings. */
body.np-public .v3-main :is(.v3-recruit-hero,.v3-sell-hero--commercial) { min-height:0; padding-block:64px 48px; }
body.np-public .v3-main :is(.v3-recruit-intro,.v3-recruit-toolkit,.v3-recruit-status,.v3-recruit-manifesto,.v3-recruit-form-note,.v3-recruit-faq) h2 { font:400 clamp(28px,3.2vw,42px)/1.2 var(--v3-serif,Georgia,serif); letter-spacing:-.02em; }
body.np-public .v3-main :is(.v3-recruit-benefits,.v3-recruit-steps) { gap:22px; }
body.np-public .v3-main :is(.v3-recruit-benefits,.v3-recruit-steps) h3 { font-size:23px; line-height:1.3; }
body.np-public .v3-main :is(.v3-recruit-benefits,.v3-recruit-steps) p { line-height:1.75; }
body.np-public .v3-main .v3-recruit-faq details { padding:22px; border:1px solid var(--mk-line); border-radius:10px; margin-bottom:12px; }
body.np-public .v3-main .v3-recruit-faq summary { line-height:1.5; cursor:pointer; }
/* Partners: precise form spacing and a genuinely hidden anti-spam field. */
body.np-public .v3-main .np-partners-hero { padding-block:48px 32px; }
body.np-public .v3-main .np-partners-hero h1 { font:400 clamp(36px,4.2vw,58px)/1.13 var(--v3-serif,Georgia,serif); color:var(--v3-domain-color); }
body.np-public .v3-main .np-partners-empty { padding:30px; border:1px solid var(--mk-line); border-radius:14px; background:var(--mk-paper); margin-block:24px 48px; }
body.np-public .v3-main .np-partnership-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:40px; padding-bottom:64px; }
body.np-public .v3-main .np-partnership-layout :is(h2,h3) { color:var(--v3-domain-color); line-height:1.25; }
body.np-public .v3-main .np-partnership-layout p { color:var(--np-muted); line-height:1.75; }
body.np-public .v3-main .np-partners-honey { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; }
@media(max-width:1000px) {
 body.np-public .v3-main :is(.v3-article-layout,.v3-neighborhood-detail,.v3-mortgage-layout,.np-partnership-layout) { grid-template-columns:1fr; gap:28px; }
 body.np-public .v3-main .v3-neighborhood-aside { position:static; }
}
@media(max-width:760px) {
 body.np-public .v3-main :is(.ptl__shell,.mpd__shell) { width:calc(100% - 36px); }
 body.np-public .v3-main .v3-shell>.v3-hero:not(.v3-contact-hero):not(.v3-catalog-hero),body.np-public .v3-main .v3-contact-hero--commercial { padding:28px 22px!important; }
 body.np-public .v3-main :is(.v3-neighborhood-detail-hero,.v3-article-hero,.v3-recruit-hero,.v3-sell-hero--commercial) { padding-block:36px; }
 body.np-public .v3-main :is(.v3-neighborhood-detail-hero,.v3-article-hero,.v3-recruit-hero,.v3-sell-hero) h1 { font-size:36px; }
 body.np-public .v3-main :is(.v3-mortgage-guide,.v3-mortgage-calculator,.v3-mortgage-dossier,.ptl__empty,.mpd__empty,.np-partners-empty) { padding:24px; }
 body.np-public .v3-main :is(.ptl__editorial-grid,.mpd__guides,.mk-strategic__body) { grid-template-columns:1fr; }
 body.np-public .v3-main :is(.v3-article-layout,.v3-neighborhood-detail) { padding-block:28px 40px; }
 body.np-public .v3-main .v3-neighborhood-detail .v3-content-block { padding:24px; }
 body.np-public .v3-main .v3-article-content :is(p,li) { font-size:16px; }
 body.np-public .v3-main .v3-mortgage-inputs { grid-template-columns:1fr; }
 body.np-public .v3-main .v3-mortgage-rate { border-color:var(--mk-line); padding:20px 0 0; }
 body.np-public .v3-main .np-partnership-layout .v3-form-grid { grid-template-columns:1fr; }
 body.np-public .v3-main .np-partnership-layout .v3-wide { grid-column:auto; }
}
body.np-public .v3-main .v3-shell>.v3-hero { margin-inline:0!important; } body.np-public .v3-main .v3-shell>.v3-hero:not(.v3-catalog-hero) { margin-top:24px!important; }
