/* Astoria website — mockup-aligned draft + Astoria colour standard */
:root {
  --magenta: #E20074;
  --magenta-dark: #b8005a;
  --lila: #8E24AA;
  --lila-deep: #4A148C;
  /* Wide surfaces / footer only — magenta → purple down the page */
  --grad-early: linear-gradient(135deg, #E20074 0%, #E20074 50%, #b8005a 82%, #8E24AA 100%);
  --grad-mid: linear-gradient(135deg, #E20074 0%, #b8005a 40%, #8E24AA 75%, #4A148C 100%);
  --grad-late: linear-gradient(135deg, #b8005a 0%, #8E24AA 45%, #4A148C 100%);
  --grad-footer: linear-gradient(165deg, #E20074 0%, #b8005a 18%, #8E24AA 48%, #4A148C 100%);
  --secondary: #00b4d8;
  --secondary-tint: #e0f7fa;
  --bg: #f7f9fc;
  --card: #ffffff;
  --text: #1a1a1a;
  --muted: #6c757d;
  --border: #e0e0e0;
  --success: #22a55a;
  --warning: #f59e0b;
  --danger: #ef4444;
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-serif: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, 'Times New Roman', serif;
  --font-cjk: 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', sans-serif;
  --font-ar: 'Segoe UI', Tahoma, 'Noto Naskh Arabic', Arial, sans-serif;
  --font-deva: 'Segoe UI', 'Noto Sans Devanagari', Mangal, sans-serif;
  --max: 1180px;
  --header-h: 72px;
  --anchor-scroll-margin: calc(var(--header-h) + 16px);
  --radius: 12px;
  --shadow: 0 8px 30px rgba(26,26,26,.07);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}
html[lang="zh-Hans"] body{font-family:var(--font-sans),var(--font-cjk);line-height:1.65}
html[lang="ar"] body{font-family:var(--font-ar)}
html[lang="hi"] body{font-family:var(--font-sans),var(--font-deva)}
h1,h2,h3,.serif{font-family:var(--font-serif);font-weight:600;letter-spacing:-.01em;line-height:1.2}
html[lang="zh-Hans"] h1,html[lang="zh-Hans"] h2,html[lang="zh-Hans"] h3{font-family:var(--font-cjk),var(--font-serif)}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{font-family:var(--font-ar),var(--font-serif)}
html[lang="hi"] h1,html[lang="hi"] h2,html[lang="hi"] h3{font-family:var(--font-deva),var(--font-serif)}
img{max-width:100%;display:block}
a{color:var(--magenta-dark);text-decoration-thickness:1px}
.container{width:min(100% - 2rem,var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Header — magenta gradient, white text (Astoria standard) */
.site-header{position:sticky;top:0;z-index:100;background:linear-gradient(135deg,#E20074,#b8005a);color:#fff;box-shadow:0 2px 16px rgba(184,0,90,.28)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--header-h);padding:10px 0}
.brand{display:flex;flex-direction:column;color:#fff;text-decoration:none;line-height:1.15;min-width:0}
.brand-name{font-family:var(--font-serif);font-size:clamp(1.05rem,2.4vw,1.35rem);font-weight:700;letter-spacing:.28em;text-indent:.28em;position:relative;white-space:nowrap}
.brand-name .star{color:#fff;font-size:.55em;position:relative;top:-.55em;margin:0 .02em;letter-spacing:0}
.brand-sub{font-size:.58rem;letter-spacing:.08em;opacity:.92;font-weight:500;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(52vw,280px)}
.nav{display:none}
.nav a{color:#fff;text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:8px 8px;border-bottom:2px solid transparent}
.nav a:hover,.nav a.active{border-bottom-color:#fff;color:#fff}
.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:1.5px solid rgba(255,255,255,.85);border-radius:6px;background:transparent;color:#fff;font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;white-space:nowrap}
.btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}
.nav-toggle{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.55);border-radius:8px;background:transparent;color:#fff;font-size:1.2rem;cursor:pointer}
.lang-wrap{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border-radius:20px;border:1.5px solid rgba(255,255,255,.65);background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:#fff;color:var(--text);border-radius:12px;box-shadow:var(--shadow);border:1px solid var(--border);list-style:none;margin:0;padding:6px;z-index:120}
html[dir="rtl"] .lang-menu{right:auto;left:0}
.lang-menu.hidden{display:none}
.lang-menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:.9rem;cursor:pointer;color:var(--text);text-align:start}
.lang-menu button:hover,.lang-menu button[aria-checked="true"]{background:var(--secondary-tint);color:var(--magenta-dark)}
.lang-menu .code{font-size:.75rem;font-weight:700;color:var(--muted)}
@media(max-width:999px){
  .nav{position:absolute;top:100%;left:0;right:0;background:linear-gradient(135deg,#E20074,#b8005a);padding:8px 1rem 16px;border-top:1px solid rgba(255,255,255,.2);flex-direction:column;display:none;z-index:80}
  .nav.open{display:flex}
  .nav a{padding:12px;text-transform:none;font-size:.95rem;letter-spacing:0;border:0;border-radius:8px}
  .nav a:hover{background:rgba(255,255,255,.15)}
  .header-actions .schedule{display:none}
  .nav-toggle{display:inline-flex}
}
@media(min-width:1000px){
  .nav-toggle{display:none}
  .nav{display:flex!important;flex:1;justify-content:center;flex-wrap:nowrap;gap:0;position:static;padding:0;border:0;background:transparent;align-items:center;min-width:0}
  .nav a{font-size:.68rem;padding:6px 5px;letter-spacing:.02em;white-space:nowrap}
  .nav-token .soon-badge{font-size:.55rem;padding:2px 5px;margin-inline-start:3px}
  .nav-compare{display:none} /* compare lives in floating compare bar + icon */
  .lang-menu{inset-inline-end:0}
  .header-actions .schedule{font-size:.72rem;padding:8px 10px;white-space:nowrap}
  .brand-logo{height:42px;max-width:180px}
}
@media(min-width:1200px){
  .nav a{font-size:.72rem;padding:8px 6px;letter-spacing:.03em}
  .brand-logo{height:48px;max-width:220px}
  .header-actions .schedule{font-size:.78rem;padding:9px 12px}
}
@media(min-width:1400px){
  .nav a{font-size:.78rem;padding:8px 8px;letter-spacing:.04em}
}

/* Hero */
.hero{position:relative;background:#1a1a1a;color:#fff;overflow:hidden}
.hero-grid{display:grid;gap:0}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr 1fr;min-height:520px}}
.hero-copy{padding:48px 0 120px;position:relative;z-index:2}
@media(min-width:900px){.hero-copy{padding:64px 0 140px;display:flex;flex-direction:column;justify-content:center}}
.hero-eyebrow{color:var(--magenta);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.hero h1{margin:0 0 16px;font-size:clamp(2.1rem,5vw,3.4rem);color:#fff;max-width:12ch}
.hero-intro{margin:0 0 28px;color:rgba(255,255,255,.88);max-width:34rem;font-size:1.05rem}
.hero-media{position:relative;min-height:280px;background:linear-gradient(135deg,#3d1a2e,#1a1a1a 40%,#0a3a45)}
.hero-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
@media(min-width:900px){.hero-media{min-height:100%}}
.hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,26,26,.55),transparent 45%)}
@media(max-width:899px){.hero-media::after{background:linear-gradient(0deg,rgba(26,26,26,.5),transparent 40%)}}

.search-bar{position:relative;z-index:3;margin-top:-56px;margin-bottom:8px}
.search-card{background:#fff;color:var(--text);border-radius:14px;padding:14px;box-shadow:0 16px 40px rgba(0,0,0,.18);display:grid;gap:10px}
@media(min-width:800px){.search-card{grid-template-columns:1.4fr 1fr 1fr .7fr auto;align-items:end;padding:16px 18px}}
.field label{display:block;font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1.5px solid var(--border);border-radius:8px;font:inherit;font-size:.95rem;background:#fff;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--magenta);box-shadow:0 0 0 3px rgba(226,0,116,.15)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:8px;border:none;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;text-decoration:none;transition:.15s}
.btn-primary{background:var(--magenta);color:#fff;box-shadow:0 4px 14px rgba(226,0,116,.28)}
.btn-primary:hover{background:var(--magenta-dark);color:#fff}
.btn-ghost{background:transparent;color:var(--magenta-dark);border:1.5px solid var(--border)}
.btn-link{background:none;border:none;color:var(--magenta);font-weight:700;cursor:pointer;font:inherit;padding:0;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.btn-link:hover{color:var(--magenta-dark)}

.section{padding:64px 0}
.section-alt{background:#fff}
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:28px}
.section-head h2{margin:0;font-size:clamp(1.6rem,3vw,2.1rem)}
.section-head p{margin:6px 0 0;color:var(--muted);width:100%}

/* Property cards */
.listings-grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:640px){.listings-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.listings-grid{grid-template-columns:repeat(4,1fr)}}
.listing-card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.listing-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(226,0,116,.12)}
.listing-media{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#b8005a,#E20074 45%,#00b4d8)}
.listing-media img{width:100%;height:100%;object-fit:cover}
.badge-featured{position:absolute;top:12px;inset-inline-start:12px;background:var(--magenta);color:#fff;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:4px}
.listing-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.listing-body h3{margin:0;font-size:1.05rem;font-family:var(--font-serif)}
.listing-area{font-size:.85rem;color:var(--muted)}
.listing-price{font-size:1.1rem;font-weight:800;color:var(--magenta);margin-top:4px}
.listing-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--muted);margin-top:4px}
.listing-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px}
.heart{background:none;border:1.5px solid var(--border);border-radius:50%;width:34px;height:34px;cursor:pointer;color:var(--muted);font-size:1rem}
.heart.on{color:var(--magenta);border-color:var(--magenta)}
.listings-empty{grid-column:1/-1;text-align:center;padding:40px;color:var(--muted);border:1px dashed var(--border);border-radius:14px;background:#fff}

/* Tokenization */
.token-section{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.token-inner{text-align:center;max-width:820px;margin:0 auto}
.token-partner{display:inline-block;font-size:.8rem;font-weight:700;color:var(--magenta);letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px}
.token-grid{display:grid;gap:16px;grid-template-columns:1fr;margin:32px 0 24px;text-align:start}
@media(min-width:700px){.token-grid{grid-template-columns:repeat(4,1fr)}}
.token-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;height:100%;min-height:0;box-sizing:border-box}
.token-icon{width:40px;height:40px;border-radius:10px;background:var(--magenta);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.05rem;margin-bottom:8px;flex-shrink:0}
.token-card h3{margin:0 0 6px;font-size:.95rem;line-height:1.3}
.token-card p{margin:0;font-size:.85rem;color:var(--muted);line-height:1.45;flex:1 1 auto}

/* Services / about / insights cards */
.cards-3{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.cards-3{grid-template-columns:repeat(3,1fr)}}
.svc-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.svc-card .icon{width:40px;height:40px;border-radius:10px;background:var(--magenta);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.svc-card h3{margin:0 0 8px;font-size:1.05rem}
.svc-card p{margin:0;color:var(--muted);font-size:.92rem}
.about-box,.insights-box{background:var(--secondary-tint);border:1px solid #b2ebf2;border-radius:14px;padding:24px;margin-top:8px}
.placeholder-mark{display:inline-block;background:#fff3cd;color:#856404;border:1px solid #ffecb5;padding:2px 8px;border-radius:4px;font-size:.85em;font-weight:600}
.review-mark{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}
.about-box p{margin:0 0 1rem;line-height:1.65;color:var(--text)}
.about-box p:last-child{margin-bottom:0}
.insights-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:800px){.insights-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.insights-grid{grid-template-columns:repeat(3,1fr)}}
.insight-card{background:#fff;border:1px solid var(--border,#e8e4ef);border-radius:12px;padding:18px 18px 14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.insight-card h3{margin:0 0 8px;font-size:1.05rem;line-height:1.35}
.insight-card p{margin:0 0 12px;color:var(--muted);font-size:.92rem;line-height:1.55}
.source-links{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;font-size:.78rem}
.source-links a{color:var(--magenta);text-decoration:underline;text-underline-offset:2px;word-break:break-all}
.checklist-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.checklist-item{background:#fff;border:1px solid var(--border,#e8e4ef);border-radius:12px;padding:16px 18px;display:grid;gap:6px}
.checklist-item .num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--magenta);color:#fff;font-size:.8rem;font-weight:700;margin-right:8px}
.checklist-item h3{margin:0;font-size:1rem;display:flex;align-items:flex-start;gap:4px;line-height:1.4}
.checklist-item p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}


/* AI */
.ai-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.ai-grid{grid-template-columns:repeat(3,1fr)}}
.ai-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.ai-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#E20074,#00b4d8);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}

/* Contact / team */
.contact-layout{display:grid;gap:28px;clear:both;width:100%}
@media(min-width:960px){.contact-layout{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
.team-list{display:flex;flex-direction:column;gap:16px}
.team-list .team-card{display:flex;flex-direction:row;gap:14px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:var(--shadow);text-align:start}
.team-list .team-card > img,
.team-list .team-card .team-photo img{width:72px;height:72px;margin:0;border-radius:50%}
.team-list .team-card .team-photo-wrap{width:72px;height:72px;margin:0}
.team-list .team-card .team-desc{display:none}
.team-list .team-card{align-items:center}
.team-photo{position:relative;width:72px;height:72px;flex-shrink:0}
.team-initials{width:72px;height:72px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--magenta);color:#fff;font-weight:700;font-size:.95rem}
.team-photo img{position:absolute;inset:0;width:72px;height:72px;border-radius:50%;object-fit:cover;z-index:1}
.team-initials{background:var(--magenta);color:#fff;font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.team-card h3{margin:0 0 2px;font-size:1rem}
.team-role{font-size:.78rem;color:var(--magenta-dark);font-weight:700;margin-bottom:6px}
.team-links{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem}
.team-links a{text-decoration:none;font-weight:600}
.inquiry{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow);display:grid;gap:12px}
.inquiry h3{margin:0 0 4px;font-family:var(--font-serif)}
.company-block{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.company-block dl{margin:0}
.company-block dt{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:12px}
.company-block dt:first-child{margin-top:0}
.company-block dd{margin:4px 0 0;font-weight:600}
.company-block a{text-decoration:none}

/* Footer — magenta → deep purple (#4A148C); white text + readable logo */
.site-footer{background:var(--grad-footer);color:#fff;padding:36px 0 40px;font-size:.85rem;border-top:0}
.footer-inner{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-start}
.footer-brand{color:#fff;font-family:var(--font-serif);letter-spacing:.2em;font-weight:700;font-size:.9rem}
.footer-links{display:flex;flex-wrap:wrap;gap:14px;max-width:40rem}
.footer-links button,.footer-links a{background:none;border:none;color:#fff;font:inherit;cursor:pointer;padding:0;text-decoration:none;font-weight:600}
.footer-links a:hover,.footer-links button:hover{color:#fff;text-decoration:underline}
.site-footer [data-i18n="footerRights"],.site-footer .footer-note{color:rgba(255,255,255,.88)}

.chat-float{position:fixed;bottom:20px;inset-inline-end:20px;z-index:90;display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:28px;background:var(--magenta);color:#fff;font-weight:700;font-size:.88rem;text-decoration:none;box-shadow:0 8px 28px rgba(226,0,116,.45)}
.chat-float:hover{color:#fff}

/* Full-width mobile buttons: wide surfaces may carry progressive magenta→purple */
@media (max-width:480px){
  .search-card .btn-primary,
  .hero .btn-primary,
  .page-hero .btn-primary{
    width:100%;
    background:var(--grad-early);
  }
  #valNext.btn-primary,
  .inquiry .btn-primary,
  #viewingRequest .btn-primary,
  .val-nav .btn-primary{
    width:100%;
    background:var(--grad-mid);
  }
  #contact .btn-primary,
  #contactForm .btn-primary,
  #comForm .btn-primary,
  .contact-section .btn-primary{
    width:100%;
    background:var(--grad-late);
  }
}
.chat-float .dot{width:10px;height:10px;background:var(--success);border-radius:50%;box-shadow:0 0 0 3px rgba(34,165,90,.35)}

.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.modal-backdrop.hidden{display:none}
.modal{background:#fff;border-radius:14px;padding:24px;max-width:480px;width:100%;box-shadow:var(--shadow)}
.modal h3{margin:0 0 12px}
.modal p{margin:0 0 16px;color:var(--muted)}


/* === Brand logo (official assets) === */
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.brand-logo {
  display:block;
  height:48px;
  width:auto;
  max-width:min(240px, 42vw);
  object-fit:contain;
}
@media (min-width: 900px) {
  .brand-logo { height:56px; max-width:280px; }
}
.footer-logo {
  display:block;
  height:72px;
  width:auto;
  max-width:220px;
  object-fit:contain;
  border-radius:8px;
  /* dark logo → white for readability on magenta→purple footer */
  filter:brightness(0) invert(1);
  opacity:.96;
}
.token-tagline {
  margin: 6px 0 0;
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--accent, #00b4d8);
  text-transform: uppercase;
}
.contact-visual {
  margin: 0 0 28px;
  border-radius: 16px;
  overflow: hidden;
  max-width: 520px;
  box-shadow: 0 8px 28px rgba(0,0,0,.08);
}
.contact-visual img {
  display:block;
  width:100%;
  height:auto;
}
@media (min-width: 900px) {
  #contact .container { display:block; }
  /* no float — float caused empty right side next to contact-layout thirds */
  .contact-visual { max-width: 420px; float: none; margin: 0 auto 24px; }
}
#contact .contact-layout{ clear: both; width: 100%; }

/* === Detail / list / compare / bond / agent / token pages === */
.btn-sm{padding:8px 12px;font-size:.8rem;border-radius:8px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.muted{color:var(--muted)}
.small{font-size:.8rem}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:18px 0 8px;font-size:.85rem;color:var(--muted)}
.crumb a{color:var(--magenta-dark);text-decoration:none;font-weight:600}
.detail-layout{display:grid;gap:28px;padding-bottom:100px;grid-template-columns:minmax(0,1fr)}
.detail-main,.detail-sidebar{min-width:0;max-width:100%}
.gallery-block,.gallery-thumbs,.table-scroll,.compare-similar,.bond-section,.expose-viewing-panel,.partner-section,.property-ai-beside,.agent-card{min-width:0;max-width:100%}
.gallery-thumbs{min-width:0}
.table-scroll{min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(min-width:1024px){
  .detail-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}
  .detail-sidebar{position:sticky;top:88px}
}
.gallery-block{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.gallery-main{position:relative;aspect-ratio:16/10;background:#111}
.gallery-main img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.gallery-count{position:absolute;bottom:12px;inset-inline-end:12px;background:rgba(0,0,0,.65);color:#fff;border:0;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}
.gallery-thumbs{display:flex;gap:8px;padding:10px;overflow-x:auto}
.gallery-thumbs button{flex:0 0 72px;height:54px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:#eee}
.gallery-thumbs button.on{border-color:var(--magenta)}
.gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.gallery-tabs{display:flex;gap:8px;padding:0 10px 12px;flex-wrap:wrap}
.gallery-tabs button{border:1px solid var(--border);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:600}
.gallery-tabs button.on{background:var(--magenta);color:#fff;border-color:var(--magenta)}
.detail-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:18px}
.detail-area{margin:0;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}
.detail-head h1{margin:6px 0;font-size:clamp(1.6rem,3vw,2.2rem)}
.detail-price{margin:0;font-size:1.35rem;font-weight:800;color:var(--magenta)}
.detail-head-actions{display:flex;gap:8px;align-items:flex-start}
.key-facts ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;list-style:none;padding:0;margin:18px 0}
.key-facts li{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center}
.key-facts strong{display:block;font-size:1.15rem}
.key-facts span{font-size:.75rem;color:var(--muted);display:block;line-height:1.25;overflow-wrap:anywhere;hyphens:auto}
.overview-table{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;margin:18px 0}
.overview-table table{width:100%;border-collapse:collapse}
.overview-table th{text-align:start;color:var(--muted);font-weight:600;padding:8px 0;width:40%}
.overview-table td{padding:8px 0;border-bottom:1px solid var(--border)}
.desc-block{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;margin:18px 0}
.desc-text{line-height:1.65;color:#333}
.desc-text.clamped{max-height:9.5em;overflow:hidden;position:relative}
.desc-text.clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3em;background:linear-gradient(transparent,#fff)}
.text-lang-note{background:#fff7fb;border:1px solid #f3c2da;color:#7a1148;padding:10px 12px;border-radius:8px;font-size:.88rem}
.agent-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:var(--shadow);margin:18px 0}
.agent-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.agent-photo{position:relative;width:72px;height:72px;flex-shrink:0}
.agent-photo img{position:absolute;inset:0;width:72px;height:72px;border-radius:50%;object-fit:cover}
.agent-label{font-size:.72rem;font-weight:700;color:var(--magenta);text-transform:uppercase;letter-spacing:.06em}
.agent-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.agent-form label{display:block;margin:0 0 10px;font-size:.82rem;font-weight:600}
.agent-form input,.agent-form textarea{width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit}
.agent-form-actions{display:flex;flex-wrap:wrap;gap:8px}
.mobile-agent-bar{position:fixed;bottom:0;left:0;right:0;z-index:95;display:none;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);box-shadow:0 -6px 20px rgba(0,0,0,.08)}
.mobile-agent-bar .btn{flex:1;justify-content:center;text-align:center}
@media(max-width:1023px){
  .mobile-agent-bar{display:flex}
  body.page-detail .chat-float{bottom:72px}
}
.bond-section{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;margin:22px 0}
.bond-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0}
.bond-grid label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:600}
.bond-grid input{padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit}
.bond-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:14px 0}
.bond-results div{background:var(--bg,#f7f9fc);border-radius:10px;padding:12px}
.bond-results span{display:block;font-size:.75rem;color:var(--muted)}
.bond-results strong{font-size:1.05rem}
.bond-chart-wrap{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:12px 0}
.bond-bar{flex:1;min-width:180px;height:14px;border-radius:999px;overflow:hidden;display:flex;background:#eee}
.bond-bar-cap{background:#00b4d8;height:100%}
.bond-bar-int{background:#E20074;height:100%}
.bond-legend{display:flex;gap:14px;font-size:.8rem}
.bond-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-inline-end:4px}
.bond-legend .swatch.cap{background:#00b4d8}
.bond-legend .swatch.int{background:#E20074}
.bond-disclaimer{font-size:.8rem;color:var(--muted)}
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center}
.lightbox.hidden{display:none}
.lightbox img{max-width:min(96vw,1200px);max-height:80vh;object-fit:contain}
.lb-close,.lb-prev,.lb-next{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;font-size:1.6rem;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;overflow:visible;z-index:5;box-sizing:border-box}
.lb-close{top:max(12px, env(safe-area-inset-top, 0px));inset-inline-end:max(12px, env(safe-area-inset-right, 0px));inset-inline-start:auto;font-size:1.75rem;font-weight:400;text-indent:0;letter-spacing:0;white-space:nowrap}
.lb-close > span{display:block;line-height:1;font-size:1.75rem;transform:translateY(-1px)}
.lb-close::before{content:none}
html[dir="rtl"] .lb-close{inset-inline-end:max(12px, env(safe-area-inset-left, 0px))}
.detail-title bdi{unicode-bidi:isolate}
.lb-prev{left:12px}
.lb-next{right:12px}
.lb-meta{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;display:flex;justify-content:center;gap:16px}
.compare-bar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:96;background:#1a1a1a;color:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:94vw}
.compare-bar.hidden{display:none}
.compare-bar-inner{display:flex;gap:10px;align-items:center}
.compare-bar .btn{white-space:nowrap}
.table-scroll{overflow-x:auto;margin:16px 0}
.compare-table{width:100%;border-collapse:collapse;background:#fff;min-width:640px}
.compare-table th,.compare-table td{border:1px solid var(--border);padding:10px;vertical-align:top;text-align:start}
.compare-table th:first-child{position:sticky;inset-inline-start:0;background:#f7f9fc;z-index:1;min-width:120px}
.compare-table td.best{background:#e8f9fc}
.best-tag{display:inline-block;background:var(--secondary,#00b4d8);color:#fff;font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:4px;margin-inline-start:4px}
.cmp-thumb{width:96px;height:72px;object-fit:cover;border-radius:8px}
.list-filters{margin-bottom:22px}
.list-count{font-weight:700;color:var(--muted)}
.soon-badge{display:inline-block;background:#fff;color:var(--magenta);font-size:.62rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:999px;margin-inline-start:6px;vertical-align:middle}
.soon-badge.large{background:#fff;color:#E20074;margin:0 0 12px;padding:6px 12px;font-size:.75rem;border:1px solid rgba(226,0,116,.25)}
.nav-token .soon-badge{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.45)}
.home-token .token-inner{text-align:center;max-width:none;width:min(100% - 2rem,var(--max))}
.home-token-lead{max-width:42rem;margin:12px auto 22px;color:var(--muted)}
.token-feat-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;text-align:start;margin:16px 0;align-items:stretch}
@media(min-width:600px){.token-feat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(min-width:900px){.token-feat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
.home-how-title{margin:28px 0 12px}
.home-how-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;list-style:none;padding:0;margin:0 0 22px}
.home-how-steps li{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;gap:10px;align-items:center;font-weight:600}
.home-how-steps .step-num{width:28px;height:28px;border-radius:50%;background:var(--magenta);color:#fff;display:grid;place-items:center;font-size:.85rem;flex-shrink:0}
.home-token-cta{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:10px 0 16px}
.home-token-risk{font-size:.8rem;color:var(--muted);max-width:40rem;margin:0 auto}
.token-hero{background:var(--grad-early);color:#fff;padding:48px 0}
.token-hero .token-tagline{color:#e0f7fa}
.token-hero .lead{max-width:40rem;opacity:.95}
.token-hero .soon-badge.large{background:#fff;color:#E20074;border:1px solid rgba(255,255,255,.55);box-shadow:0 2px 10px rgba(0,0,0,.12)}
.token-hero .btn-ghost,
.token-hero a.btn-ghost{
  background:transparent;
  color:#fff;
  border:1.5px solid #fff;
}
.token-hero .btn-ghost:hover,
.token-hero a.btn-ghost:hover{
  background:rgba(255,255,255,.14);
  color:#fff;
  border-color:#fff;
}
.token-hero .btn-primary{
  background:#fff;
  color:#E20074;
  border:1.5px solid #fff;
}
.token-hero .btn-primary:hover{
  background:#f7f9fc;
  color:#b8005a;
}
.token-prose{max-width:820px}
.token-steps{list-style:none;padding:0;counter-reset:ts;display:grid;gap:12px}
.token-steps li{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;counter-increment:ts;position:relative;padding-inline-start:56px}
.token-steps li::before{content:counter(ts);position:absolute;inset-inline-start:16px;top:16px;width:28px;height:28px;border-radius:50%;background:var(--magenta);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.token-notify{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;margin:28px 0}
.token-notify label{display:block;margin:0 0 10px;font-weight:600;font-size:.85rem}
.token-notify input,.token-notify textarea{width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit}
.token-risk{background:#fff7fb;border:1px solid #f3c2da;border-radius:12px;padding:16px;margin:24px 0 40px}
.token-risk h2{margin-top:0;font-size:1.05rem;color:#7a1148}
.partner-note{font-size:.9rem;color:var(--muted);margin:20px 0}
[dir=rtl] .lb-prev{left:auto;right:12px}
[dir=rtl] .lb-next{right:auto;left:12px}
[dir=rtl] .home-how-steps li,[dir=rtl] .token-steps li{text-align:start}

.compare-nav-btn{display:inline-flex;align-items:center;gap:6px;color:#fff;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.45);border-radius:8px;padding:8px 10px;font-weight:700;font-size:.72rem;text-decoration:none;white-space:nowrap}
.compare-nav-btn .cmp-count{background:#fff;color:var(--magenta);border-radius:999px;min-width:18px;height:18px;display:inline-grid;place-items:center;font-size:.65rem;font-weight:800;padding:0 5px}
.compare-nav-btn.hidden-empty .cmp-count:empty, .compare-nav-btn.is-empty{opacity:.85}
@media(max-width:999px){.compare-nav-btn{display:none}}
.bond-rate-needed{margin:8px 0;color:var(--magenta-dark)!important;font-weight:600}
.bond-rate-needed.hidden{display:none}


/* —— Videos / Reels (Facebook click-to-load) —— */
.reels-scroller{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 16px;
  margin:0 -4px;
}
.reels-scroller::-webkit-scrollbar{height:6px}
.reels-scroller::-webkit-scrollbar-thumb{background:#e20074;border-radius:3px}
.reel-card{
  flex:0 0 min(78vw, 280px);
  scroll-snap-align:start;
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.reel-frame{
  position:relative;
  width:100%;
  aspect-ratio:9/16;
  background:linear-gradient(160deg,#E20074 0%,#b8005a 55%,#7a003c 100%);
  overflow:hidden;
}
.reel-frame img.reel-thumb{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.reel-placeholder{
  position:absolute;inset:0;border:0;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:16px;background:transparent;color:#fff;text-align:center;
  font:inherit;
}
.reel-placeholder::before{
  content:"";position:absolute;inset:0;background:rgba(26,26,26,.35);
}
.reel-placeholder > *{position:relative;z-index:1}
.reel-play{
  width:64px;height:64px;border-radius:50%;
  background:rgba(226,0,116,.92);
  display:grid;place-items:center;
  box-shadow:0 4px 18px rgba(0,0,0,.25);
  font-size:22px;line-height:1;
}
.reel-hint{font-size:.85rem;max-width:16em;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.reel-frame iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;
}
.reel-meta{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.reel-meta h3{margin:0;font-size:1rem;line-height:1.35;color:#1a1a1a}
.reel-meta a{color:#E20074;font-weight:600;text-decoration:none;font-size:.9rem}
.reel-meta a:hover{color:#b8005a;text-decoration:underline}
.reels-privacy{margin-top:8px}
@media(min-width:900px){
  .reels-scroller{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    overflow:visible;
    scroll-snap-type:none;
    padding-bottom:4px;
  }
  .reel-card{flex:none;width:auto}
}


/* Offer badges + list pager */
.badge-offer{
  position:absolute;top:10px;left:10px;z-index:2;
  padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;
  letter-spacing:.02em;color:#fff;
}
.badge-sale{background:var(--magenta)}
.badge-rent{background:#00b4d8;color:#fff}
.listing-media{position:relative}
.listing-card .badge-featured{right:10px;left:auto}
.detail-head .badge-offer{position:static;display:inline-block;margin-top:8px}
.list-pager{display:flex;flex-direction:column;align-items:center;gap:10px;margin:24px 0 8px}
.rent-afford{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:20px;margin:24px 0}

.listing-media .ph, .listing-media:not(:has(img)){
  display:block;min-height:180px;background:linear-gradient(135deg,#f5f5f5,#e8e8e8);
}

/* ── New feature pages (valuation, careers, guide, commercial, about) ── */
.page-hero{padding:48px 0 24px;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.page-hero .eyebrow{color:#E20074;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;margin:0 0 8px}
.page-hero .lead{max-width:40rem;color:#6c757d}
.demo-banner{display:inline-block;margin:12px 0;padding:8px 12px;border-radius:8px;background:#fff3cd;color:#856404;border:1px solid #ffeeba;font-size:.9rem}
.card-panel{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:20px}
.val-layout{display:grid;gap:24px}
@media(min-width:960px){.val-layout{grid-template-columns:1.4fr .8fr}}
.val-progress{display:flex;gap:6px;margin-bottom:16px}
.val-progress .pip{flex:1;height:4px;border-radius:4px;background:#e0e0e0}
.val-progress .pip.on,.val-progress .pip.done{background:#E20074}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.choice{border:1.5px solid #e0e0e0;background:#fff;border-radius:12px;padding:14px;cursor:pointer;font-weight:600}
.choice.on{border-color:#E20074;background:#fde7f3;color:#b8005a}
.val-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.val-range-nums{font-size:1.35rem;color:#E20074}
.check-list,.steps-list{padding-left:1.2rem;line-height:1.6}
.faq-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.faq-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:12px 16px}
.faq-item summary{cursor:pointer;font-weight:600}
.jobs-grid{display:grid;gap:16px}
@media(min-width:800px){.jobs-grid{grid-template-columns:repeat(2,1fr)}}
.job-card{position:relative}
.job-card .badge-offer{position:static;display:inline-block;margin-bottom:8px}
.inline-filter{min-width:180px}
.articles-grid{display:grid;gap:18px;margin-top:16px}
@media(min-width:700px){.articles-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.articles-grid{grid-template-columns:repeat(3,1fr)}}
.article-card{background:#fff;border:1px solid #e0e0e0;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.article-media img,.article-hero{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.article-body{padding:14px 16px 18px}
.article-body h3{font-size:1.05rem;margin:8px 0}
.chip,.chip-btn{display:inline-block;padding:4px 10px;border-radius:999px;background:#e0f7fa;color:#0077a3;font-size:.75rem;font-weight:700;border:0;cursor:pointer;margin:2px}
.chip-btn{background:#fff;border:1px solid #e0e0e0;color:#1a1a1a}
.cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.guide-search{display:grid;gap:10px;margin-top:18px}
@media(min-width:700px){.guide-search{grid-template-columns:1fr 200px}}
.newsletter-form{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.newsletter-form input{flex:1;min-width:200px;padding:10px 12px;border:1px solid #e0e0e0;border-radius:10px}
.narrow{max-width:760px}
.prose{line-height:1.65}
.com-enquire{display:grid;gap:24px}
@media(min-width:960px){.com-enquire{grid-template-columns:1.2fr .8fr}}
.team-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.team-card{background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center;min-width:0;max-width:100%}
.team-card img{width:140px;height:140px;object-fit:cover;border-radius:50%;margin:0 auto 12px;display:block}
.timeline{list-style:none;padding:0;margin:16px 0 0;border-left:3px solid #E20074}
.timeline li{padding:0 0 20px 18px;position:relative}
.timeline li::before{content:'';position:absolute;left:-8px;top:4px;width:12px;height:12px;border-radius:50%;background:#E20074}
.tl-year{display:block;font-weight:700;color:#E20074;margin-bottom:4px}
.about-office{max-width:640px}
.apply-form .field{margin-bottom:12px}
.apply-form input,.apply-form select,.apply-form textarea,
.card-panel input,.card-panel select,.card-panel textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:10px}

/* ── Header A/B draft toggle ── */
.header-ab-toggle{position:fixed;right:12px;bottom:72px;z-index:10000;display:flex;align-items:center;gap:4px;padding:6px 8px;background:#fff;border:1px solid #e0e0e0;border-radius:999px;box-shadow:0 4px 18px rgba(0,0,0,.12);font-size:.75rem}
.header-ab-toggle .header-ab-label{color:#6c757d;padding:0 4px;font-weight:600}
.header-ab-toggle button{border:0;background:#f7f9fc;color:#1a1a1a;width:28px;height:28px;border-radius:50%;font-weight:700;cursor:pointer}
.header-ab-toggle button.on{background:#E20074;color:#fff}

/* ── Header variant B: white elegant mega-menu ── */
body.header-variant-b{--header-h:108px;--anchor-scroll-margin:calc(var(--header-h) + 8px)}
@media(max-width:999px){
  body.header-variant-b{--header-h:64px;--anchor-scroll-margin:calc(var(--header-h) + 12px)}
}
body.header-variant-b .site-header,
.site-header.site-header-b{
  background:#fff;
  color:#1a1a1a;
  box-shadow:0 1px 0 #e0e0e0,0 4px 18px rgba(0,0,0,.04);
}
.site-header-b .header-b-utility{background:#fafbfc;border-bottom:1px solid #eee;font-size:.75rem}
.site-header-b .header-b-utility-inner{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:6px 0;flex-wrap:nowrap}
.site-header-b .header-b-utility-links{display:flex;align-items:center;gap:14px;flex-wrap:nowrap}
.site-header-b .header-b-utility a{color:#6c757d;text-decoration:none;font-weight:500;white-space:nowrap}
.site-header-b .header-b-utility a:hover{color:#E20074}
.site-header-b .header-b-util-lang .lang-btn{
  border:1px solid #e0e0e0;background:#fff;color:#1a1a1a;font-size:.72rem;padding:4px 8px;
}
.site-header-b .header-b-mobile-lang{display:none}
@media(max-width:999px){
  .site-header-b .header-b-mobile-lang{display:block}
  .site-header-b .header-b-utility{display:none} /* no white band / util overflow on mobile */
  .site-header-b .compare-nav-btn{display:none !important}
}
.site-header-b .header-b-inner{min-height:64px;padding:8px 0;position:relative}
.site-header-b .brand-logo-b{height:48px;width:auto;max-width:200px;object-fit:contain}
.site-header-b .header-b-accent{height:3px;width:100%;background:var(--magenta);display:block}
.site-header-b .mega-nav{flex:1;display:flex;justify-content:center;min-width:0;overflow:visible}
.site-header-b .mega-list{display:flex;align-items:center;gap:clamp(0px,0.4vw,4px);list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.site-header-b .mega-trigger,
.site-header-b .mega-direct{
  appearance:none;border:0;background:transparent;cursor:pointer;
  color:#E20074;font-weight:700;font-size:clamp(.62rem,0.85vw,.78rem);letter-spacing:.02em;text-transform:uppercase;
  padding:8px clamp(4px,0.55vw,10px);border-radius:8px;display:inline-flex;align-items:center;gap:3px;
  transition:background .15s ease,color .15s ease;text-decoration:none;white-space:nowrap;line-height:1.2;
}
.site-header-b .mega-trigger:hover,
.site-header-b .mega-trigger:focus-visible,
.site-header-b .mega-trigger[aria-expanded="true"],
.site-header-b .mega-direct:hover,
.site-header-b .mega-direct:focus-visible{
  background:#fde7f3;color:#b8005a;outline:none;
}
.site-header-b .mega-chevron{font-size:.65rem;opacity:.7}
.site-header-b .header-actions .schedule{
  border-color:#E20074;color:#E20074;background:transparent;
  font-size:clamp(.65rem,0.85vw,.78rem);padding:8px clamp(8px,0.9vw,12px);white-space:nowrap;
}
.site-header-b .header-actions .schedule:hover{background:#E20074;color:#fff}
.site-header-b .lang-btn{
  border:1px solid #e0e0e0;background:#fff;color:#1a1a1a;
}
.site-header-b .mega-burger{
  border:1.5px solid #E20074;color:#E20074;background:#fff;
}
/* Mobile: force white header bar (like desktop B), magenta controls */
@media(max-width:999px){
  body.header-variant-b .site-header,
  .site-header.site-header-b{
    background:#fff !important;
    color:#1a1a1a;
  }
  .site-header-b .header-b-inner{min-height:56px}
  .site-header-b .brand-logo-b{height:40px}
  .site-header-b .header-b-mobile-lang .lang-btn{
    border:1px solid #e0e0e0;background:#fff;color:#1a1a1a;font-size:.72rem;padding:6px 8px;
  }
}
.mega-mobile-direct{
  display:block;padding:14px 4px;font-weight:700;color:#E20074;text-decoration:none;
  border-bottom:1px solid #eee;text-transform:uppercase;letter-spacing:.03em;font-size:.92rem;
}
.mega-mobile-cta{color:#fff !important;background:var(--magenta);
  border-radius:10px;text-align:center;margin:12px 0;border:0 !important;text-transform:none;letter-spacing:0}
.site-header-b .compare-nav-btn{color:#E20074;border-color:#E20074}

/* Mega panels */
.site-header-b .mega-panels{position:relative}
.site-header-b .mega-panel{
  position:absolute;left:0;right:0;top:0;z-index:120;
  background:#fff;border-bottom:1px solid #e0e0e0;
  box-shadow:0 12px 32px rgba(0,0,0,.08);
  transform-origin:top center;
  animation:megaIn .15s ease;
}
@keyframes megaIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.site-header-b .mega-panel-inner{padding:22px 0 16px}
.site-header-b .mega-grid{
  display:grid;gap:20px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
}
.site-header-b .mega-col-title{
  margin:0 0 10px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  color:#6c757d;font-weight:700;
}
.site-header-b .mega-links{list-style:none;margin:0;padding:0}
.site-header-b .mega-links a{
  display:block;padding:7px 0;color:#1a1a1a;text-decoration:none;font-weight:600;font-size:.92rem;
  border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease;
}
.site-header-b .mega-links a:hover{color:#E20074;border-bottom-color:#f7b0d3}
.site-header-b .mega-panel-foot{
  display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;padding-top:12px;border-top:1px solid #eee;
}
.site-header-b .mega-panel-foot a{color:#6c757d;text-decoration:none;font-size:.82rem;font-weight:600}
.site-header-b .mega-panel-foot a:hover{color:#E20074}
.site-header-b .mega-teaser{
  display:block;border:1px solid #e0e0e0;border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;
  background:#fff;transition:box-shadow .15s ease,transform .15s ease;
}
.site-header-b .mega-teaser:hover{box-shadow:0 8px 24px rgba(226,0,116,.12);transform:translateY(-1px)}
.site-header-b .mega-teaser img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.site-header-b .mega-teaser-body{padding:12px 14px 14px}
.site-header-b .mega-teaser-label{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#E20074;margin-bottom:4px}
.site-header-b .mega-teaser-body h4{margin:0 0 4px;font-size:.95rem;line-height:1.3}
.site-header-b .btn-link{color:#E20074;font-weight:700;font-size:.85rem}

/* Mobile mega */
.site-header-b .mega-nav{display:none}
.site-header-b .mega-burger{display:inline-flex}
@media(min-width:1000px){
  .site-header-b .mega-nav{display:flex}
  .site-header-b .mega-burger{display:none}
  .site-header-b .header-b-utility{display:block}
}
@media(max-width:999px){
  .site-header-b .header-b-utility{display:none}
  .site-header-b .mega-panels{display:none !important}
  .site-header-b .schedule{display:none}
}
.mega-mobile{
  position:fixed;inset:0;z-index:200;background:#fff;
  display:flex;flex-direction:column;overflow:auto;
  animation:megaIn .15s ease;
}
.mega-mobile[hidden]{display:none !important}
.mega-mobile-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff;z-index:1}
.mega-mobile-close{border:0;background:transparent;font-size:1.3rem;cursor:pointer;color:#1a1a1a;width:40px;height:40px}
.mega-mobile-body{padding:8px 18px 40px}
.mega-acc{border-bottom:1px solid #eee}
.mega-acc summary{cursor:pointer;padding:14px 4px;font-weight:700;color:#E20074;list-style:none;display:flex;justify-content:space-between;align-items:center}
.mega-acc summary::-webkit-details-marker{display:none}
.mega-acc summary::after{content:'▾';font-size:.8rem;color:#b8005a}
.mega-acc[open] summary::after{content:'▴'}
.mega-acc ul{list-style:none;margin:0 0 10px;padding:0 0 8px 8px}
.mega-acc a{display:block;padding:8px 0;color:#1a1a1a;text-decoration:none;font-weight:600}
.mega-acc a:hover{color:#E20074}
.mega-mobile-util{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid #eee}
.mega-mobile-util a{color:#6c757d;text-decoration:none;font-weight:600}
body.mega-mobile-open{overflow:hidden}

/* RTL for header B */
html[dir="rtl"] .site-header-b .header-b-utility-inner{justify-content:flex-start}
html[dir="rtl"] .site-header-b .header-b-utility-links{flex-direction:row-reverse}
html[dir="rtl"] .site-header-b .mega-list{flex-direction:row-reverse}
html[dir="rtl"] .site-header-b .mega-grid{direction:rtl}
html[dir="rtl"] .header-ab-toggle{right:auto;left:12px}

@media(max-width:900px){
  .site-header-b .mega-grid{grid-template-columns:1fr 1fr}
}

.job-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.job-detail h3{margin-top:1.2rem;color:#E20074;font-size:1rem}
.job-detail .eyebrow{color:#E20074;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}
.svc-card h3 .soon-badge{margin-inline-start:8px;vertical-align:middle}

.apply-mailto .apply-email{font-size:1.15rem;font-weight:600;margin:0.6rem 0}
.apply-mailto .apply-email a,.apply-email-inline a{color:#E20074;word-break:break-all}
.apply-email-inline{margin:0.75rem 0}

/* Auto-language first-visit hint */
.lang-auto-hint{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 14px;
  padding:10px 16px;background:#1a1a2e;color:#fff;font-size:.9rem;z-index:1200;
  position:sticky;top:0;
}
.lang-auto-hint-text{opacity:.95}
.lang-auto-hint-switch{
  appearance:none;border:1px solid #E20074;background:#E20074;color:#fff;
  border-radius:999px;padding:4px 14px;font:inherit;cursor:pointer;font-weight:600;
}
.lang-auto-hint-switch:hover{filter:brightness(1.05)}
.lang-auto-hint-close{
  appearance:none;border:0;background:transparent;color:#fff;font-size:1.35rem;
  line-height:1;cursor:pointer;padding:0 6px;opacity:.8;
}
.lang-auto-hint-close:hover{opacity:1}
html[dir="rtl"] .lang-auto-hint{flex-direction:row-reverse}




/* Hero subline: middle dot on desktop, stacked clauses on mobile */
.hero #heroTitle.serif,.hero h1{font-family:var(--font-serif)}
.hero-intro-sep{white-space:pre}
@media (max-width: 700px){
  .hero-intro{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;max-width:none}
  .hero-intro-sep{display:none}
}
html[dir="rtl"] .hero-intro{align-items:flex-end}

/* Draft hero headline variant 2 — staggered lockup
   Grid: "Nairo" | "bi"
               | "Luxury Homes"  → Lu starts under bi
   English in every UI language. Latin LTR lockup also in ar RTL (bi/Lu alignment). */
.hero-h--split{
  display:none;
  grid-template-columns:max-content max-content;
  grid-template-rows:auto auto;
  justify-content:start;
  align-content:start;
  column-gap:0;
  row-gap:.06em;
  margin:0 0 22px;
  line-height:1.02;
  max-width:100%;
  width:max-content;
  direction:ltr;
  font-family:var(--font-serif);
  color:#fff;
}
body[data-hero="2"] .hero-h--one{display:none !important}
body[data-hero="2"] .hero h1.hero-h--split,
body[data-hero="2"] .hero-h--split{
  display:grid;
  max-width:100% !important;
}
/* Desktop: give image ~1 letter more; keep ~2-letter gap after Luxury Homes */
@media (min-width:900px){
  body[data-hero="2"] .hero-grid{grid-template-columns:1fr 1.12fr}
  body[data-hero="2"] .hero-copy{
    padding-inline-end:1.2em; /* ~2 letters of Luxury Homes from image edge */
  }
}
.hero-line--city{display:contents}
.hero-city-pre,
.hero-city-bi{
  font-family:var(--font-serif);
  font-weight:700;
  font-size:clamp(2.15rem, 6.2vw, 3.95rem);
  letter-spacing:-.015em;
  text-transform:none;
  color:#fff;
  white-space:nowrap;
  text-shadow:0 2px 28px rgba(0,0,0,.65), 0 1px 6px rgba(0,0,0,.55), 0 0 1px rgba(0,0,0,.8);
  line-height:1.02;
}
.hero-city-pre{grid-column:1;grid-row:1}
.hero-city-bi{grid-column:2;grid-row:1}
.hero-line--homes{
  grid-column:2;
  grid-row:2;
  justify-self:start;
  font-family:var(--font-serif);
  font-weight:600;
  font-size:clamp(1.95rem, 5.4vw, 3.55rem);
  letter-spacing:-.02em;
  color:#fff;
  white-space:nowrap;
  direction:ltr;
  text-shadow:0 2px 22px rgba(0,0,0,.5), 0 1px 4px rgba(0,0,0,.4);
  line-height:1.02;
}
@media (max-width:700px){
  .hero-h--split{row-gap:.04em}
  .hero-city-pre,
  .hero-city-bi{font-size:clamp(1.85rem, 9.5vw, 2.45rem)}
  .hero-line--homes{font-size:clamp(1.55rem, 8vw, 2.05rem)}
  /* Mobile: pull photo ~1.5cm (57px) up — more room for image */
  body[data-hero="2"] .hero-copy{padding-bottom:40px} /* was 120px; −80px total air, photo taller */
  body[data-hero="2"] .hero-media{min-height:340px;margin-top:-4px}
}
/* ar RTL: keep Latin bi/Lu lockup LTR; park the block on the inline-start (right) */
html[dir="rtl"] body[data-hero="2"] .hero-h--split{
  margin-inline-start:auto;
  direction:ltr;
}
.header-ab-sep{margin-inline-start:6px;padding-inline-start:8px;border-inline-start:1px solid #e0e0e0}

/* ===== Invest page (Exporo-inspired structure) ===== */
.page-invest .invest-hero { padding-bottom: 2.5rem; }
.invest-hero-ctas { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1.25rem 0 1.5rem; }
.invest-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.invest-stat { background: var(--surface, #fff); border: 1px solid var(--line, #e8e4df); border-radius: 12px; padding: 1rem 1.1rem; text-align: center; }
.invest-stat strong { display: block; font-size: 1.6rem; color: var(--magenta, #E20074); }
.invest-stat span { font-size: .85rem; color: var(--muted, #6b6560); }
.invest-steps { list-style: none; counter-reset: step; display: grid; gap: 1rem; padding: 0; margin: 1.5rem 0 0; }
.invest-steps li { counter-increment: step; position: relative; padding: 1.1rem 1.1rem 1.1rem 3.4rem; background: var(--surface,#fff); border: 1px solid var(--line,#e8e4df); border-radius: 12px; }
.invest-steps li::before { content: counter(step); position: absolute; left: 1rem; top: 1rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--magenta,#E20074); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: .9rem; }
html[dir=rtl] .invest-steps li { padding: 1.1rem 3.4rem 1.1rem 1.1rem; }
html[dir=rtl] .invest-steps li::before { left: auto; right: 1rem; }
.invest-grid { margin-top: 1.25rem; }
.invest-card .invest-yield { margin: .4rem 0; font-size: .92rem; }
.invest-card .invest-yield strong { color: var(--magenta,#E20074); }
.invest-token-card { margin-top: 1.5rem; position: relative; }
/* Card-context Coming Soon chip (on white panels) — do not override hero .soon-badge.large */
.invest-token-card > .soon-badge,
.svc-card > .soon-badge {
  display: inline-block;
  background: #111;
  color: #fff;
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .25rem .55rem;
  border-radius: 999px;
  margin-bottom: .75rem;
}
.invest-progress { height: 8px; background: #eee; border-radius: 999px; overflow: hidden; margin: .75rem 0 .35rem; }
.invest-progress.example { opacity: .45; }
.invest-progress-bar { height: 100%; background: var(--magenta,#E20074); }
.invest-card-actions, .invest-bot-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
.invest-track-placeholder { padding: 1.25rem; }
.risk-banner { background: #fff8f5; border-top: 1px solid #f0d8cc; border-bottom: 1px solid #f0d8cc; }
.consent-row { display: grid; grid-template-columns: auto 1fr; gap: .6rem; align-items: start; font-size: .88rem; margin: .75rem 0 1rem; width: 100%; max-width: 100%; box-sizing: border-box; }
.consent-row input { margin-top: .2rem; }
.consent-row > span, .consent-row .consent-text { min-width: 0; max-width: 100%; overflow-wrap: break-word; word-break: normal; white-space: normal; color: #1a1a1a; line-height: 1.45; }
.consent-row a { color: #E20074; text-decoration: underline; text-underline-offset: 2px; }
.demo-banner { background: #fff3cd; border: 1px solid #ffe08a; color: #5c4a00; padding: .65rem .9rem; border-radius: 8px; font-size: .88rem; margin: .75rem 0 1rem; }
.faq-list { display: grid; gap: .65rem; margin-top: 1rem; }
.faq-item { background: #fff; border: 1px solid var(--line,#e8e4df); border-radius: 10px; padding: .85rem 1rem; }
.faq-item summary { cursor: pointer; font-weight: 600; }
.faq-item p { margin: .6rem 0 0; color: var(--muted,#6b6560); }
@media (max-width: 720px) {
  .invest-stats { grid-template-columns: 1fr; }
}

/* ===== Search map / favs / carousel extras ===== */
.search-toolbar-extra { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: .75rem 0; }
.view-toggle { display: inline-flex; border: 1px solid var(--line,#e8e4df); border-radius: 999px; overflow: hidden; }
.view-toggle button { border: 0; background: #fff; padding: .45rem .9rem; cursor: pointer; font: inherit; font-size: .88rem; }
.view-toggle button.active { background: var(--magenta,#E20074); color: #fff; }
.currency-toggle { display: inline-flex; border: 1px solid var(--line,#e8e4df); border-radius: 999px; overflow: hidden; }
.currency-toggle button { border: 0; background: #fff; padding: .45rem .75rem; cursor: pointer; font: inherit; font-size: .88rem; }
.currency-toggle button.active { background: #111; color: #fff; }
#searchMapWrap { display: none; height: 420px; border-radius: 14px; overflow: hidden; border: 1px solid var(--line,#e8e4df); margin: 1rem 0; }
#searchMapWrap.visible { display: block; }
#searchMap { width: 100%; height: 100%; }
.listing-card { position: relative; }
.fav-btn { position: absolute; top: .65rem; right: .65rem; z-index: 3; width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); cursor: pointer; font-size: 1.1rem; line-height: 1; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
html[dir=rtl] .fav-btn { right: auto; left: .65rem; }
.fav-btn.is-fav { color: var(--magenta,#E20074); }
.card-carousel { position: relative; }
.card-carousel .carousel-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 1.8rem; height: 1.8rem; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); cursor: pointer; z-index: 2; font-size: .9rem; }
.card-carousel .carousel-prev { left: .4rem; }
.card-carousel .carousel-next { right: .4rem; }
html[dir=rtl] .card-carousel .carousel-prev { left: auto; right: .4rem; }
html[dir=rtl] .card-carousel .carousel-next { right: auto; left: .4rem; }
.badge-new { background: #111; color: #fff; }
.badge-exclusive { background: var(--magenta,#E20074); color: #fff; }
.pagination { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: center; margin: 1.5rem 0; }
.pagination button { min-width: 2.2rem; height: 2.2rem; border: 1px solid var(--line,#e8e4df); background: #fff; border-radius: 8px; cursor: pointer; font: inherit; }
.pagination button.active { background: var(--magenta,#E20074); color: #fff; border-color: transparent; }
.pagination button:disabled { opacity: .4; cursor: default; }
.smart-search-row { display: flex; gap: .5rem; flex-wrap: wrap; margin: .5rem 0 1rem; }
.smart-search-row input { flex: 1; min-width: 200px; }
.save-search-panel { margin: 1rem 0; }
.live-range { font-size: 1.35rem; font-weight: 700; color: var(--magenta,#E20074); margin: .5rem 0; }
.live-range .muted { font-weight: 400; font-size: .85rem; color: var(--muted,#6b6560); }
.broker-card { display: flex; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid var(--line,#e8e4df); border-radius: 12px; background: #fff; margin: 1rem 0; }
.broker-card img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.coming-soon-block { opacity: .85; border: 1px dashed #ccc; border-radius: 12px; padding: 1.1rem; margin: 1.25rem 0; background: #fafafa; }
.area-suggest { position: absolute; z-index: 20; background: #fff; border: 1px solid var(--line,#e8e4df); border-radius: 10px; max-height: 220px; overflow: auto; width: 100%; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.area-suggest button { display: block; width: 100%; text-align: start; border: 0; background: transparent; padding: .55rem .8rem; cursor: pointer; font: inherit; }
.area-suggest button:hover, .area-suggest button:focus { background: #f7f3ef; }
.field-wrap { position: relative; }

/* overflow guards (mobile) */
.consent-row { max-width: 100%; overflow-wrap: break-word; }
.card-panel, form.card-panel, .com-enquire, .token-prose, .invest-hero .container, .page-invest main, .page-token main {
  max-width: 100%;
  overflow-x: clip;
}
.field input, .field select, .field textarea { max-width: 100%; box-sizing: border-box; }
.invest-hero-ctas .btn, .token-hero .btn { max-width: 100%; }
@media (max-width: 480px) {
  .chat-float { max-width: calc(100vw - 32px); font-size: .8rem; padding: 12px 14px; }
  .invest-hero-ctas { flex-direction: column; align-items: stretch; }
  .brand-logo { max-width: min(160px, 42vw); height: auto; }
}


/* Readable CTAs on magenta backgrounds (heroes / banners) */
.on-magenta .btn-ghost,
.section-magenta .btn-ghost,
.home-token.on-magenta .btn-ghost {
  color: #fff;
  border-color: #fff;
}
.on-magenta .soon-badge.large,
.section-magenta .soon-badge.large {
  background: #fff;
  color: #E20074;
}


/* === Contrast lock: magenta heroes (tokenization) === */
.token-hero .soon-badge,
.token-hero .soon-badge.large {
  background: #ffffff !important;
  color: #E20074 !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
}
.token-hero a.btn-ghost,
.token-hero .btn-ghost {
  background: transparent !important;
  color: #ffffff !important;
  border: 1.5px solid #ffffff !important;
}
.token-hero a.btn-ghost:hover,
.token-hero .btn-ghost:hover {
  background: rgba(255,255,255,.16) !important;
  color: #ffffff !important;
}
.token-hero a.btn-primary,
.token-hero .btn-primary {
  background: #ffffff !important;
  color: #E20074 !important;
  border: 1.5px solid #ffffff !important;
}


/* v15 util dropdowns + token mega */
.site-header-b .header-b-utility-links{gap:4px}
.site-header-b .util-item{position:relative;display:inline-flex}
.site-header-b .util-trigger{
  display:inline-flex;align-items:center;gap:3px;
  background:transparent;border:0;cursor:pointer;
  color:#6c757d;font:inherit;font-weight:500;font-size:.75rem;
  padding:4px 8px;border-radius:4px;white-space:nowrap;
}
.site-header-b .util-trigger:hover,
.site-header-b .util-trigger:focus-visible,
.site-header-b .util-trigger[aria-expanded="true"]{color:#E20074;background:rgba(226,0,116,.06)}
.site-header-b .util-trigger .mega-chevron{font-size:.65em;opacity:.7}
.site-header-b .util-panel{
  position:absolute;top:calc(100% + 4px);right:0;z-index:80;
  min-width:220px;max-width:min(340px,92vw);
  background:#fff;border:1px solid #e0e0e0;border-radius:10px;
  box-shadow:0 12px 32px rgba(0,0,0,.12);padding:8px 0;
}
html[dir="rtl"] .site-header-b .util-panel{right:auto;left:0}
.site-header-b .util-links{list-style:none;margin:0;padding:0;max-height:70vh;overflow:auto}
.site-header-b .util-links a{
  display:block;padding:8px 14px;color:#1a1a1a;text-decoration:none;
  font-size:.8rem;font-weight:500;white-space:normal;line-height:1.3;
}
.site-header-b .util-links a:hover{background:#f7f9fc;color:#E20074}
.site-header-b.util-open .header-b-utility{z-index:70}
#aboutCompany,#aboutValuesSection,#aboutTeamSection,#aboutTeam,#aboutTimelineSection,#aboutOffice,
#carBenefitsSection,#carJobsSection,#apply,
#guideMain,#guideNewsletter,
#tokenDiscover,#tokenFractional,#tokenBenefits,#tokenHow,#tokenFigures,
#tokenExamples,#tokenRisk,#tokenFaq,#tokenNotify,
#contact,#contactForm,#contactOffice,#contactReach,
#voranfrage,
[id^="team-"]{scroll-margin-top:var(--anchor-scroll-margin, 110px)}
@media (max-width: 1024px){
  .site-header-b .mega-list{gap:0}
  .site-header-b .mega-trigger{padding:6px 6px;font-size:.78rem}
  .site-header-b .util-trigger{padding:4px 6px;font-size:.72rem}
  .site-header-b .header-b-utility-links{gap:0}
}


/* Ratgeber article meta (v16) */
.article-disclaimer {
  margin-top: 2rem;
  padding: 1rem 1.25rem;
  border-left: 3px solid var(--astoria-gold, #c4a35a);
  background: rgba(0,0,0,0.03);
}
[dir="rtl"] .article-disclaimer { border-left: none; border-right: 3px solid var(--astoria-gold, #c4a35a); }
.article-disclaimer p { margin: 0.5rem 0 0; font-size: 0.92rem; }
.reviewed { font-size: 0.9rem; margin-top: 0.35rem; }
.article-sources { word-break: break-all; }


/* Treuhandkonto / Escrow (v17) */
.escrow-section{margin:22px 0}
.escrow-box{
  background:#fff;border:1px solid var(--border,#e0e0e0);border-radius:16px;
  padding:20px 22px;box-shadow:var(--shadow,0 8px 24px rgba(0,0,0,.06));
  border-top:3px solid #E20074;
}
.escrow-head .eyebrow{margin:0 0 4px;color:#E20074;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;font-size:.72rem}
.escrow-head h2{margin:0 0 8px;font-size:clamp(1.25rem,2.5vw,1.55rem)}
.escrow-purpose{margin:0 0 10px;font-weight:700;color:#1a1a1a}
.escrow-explain{margin:0 0 16px;color:#555;line-height:1.55;font-size:.95rem}
.escrow-grid{
  display:grid;gap:14px;
  grid-template-columns:1fr;
}
@media (min-width:720px){
  .escrow-grid{grid-template-columns:1fr 1fr}
}
.escrow-card{
  background:#faf7f9;border:1px solid #f0e4ec;border-radius:12px;padding:14px 16px;
}
.escrow-card h3{margin:0 0 10px;font-size:1.05rem;color:#E20074}
.escrow-dl{margin:0;display:grid;gap:8px}
.escrow-row{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:8px;align-items:baseline}
.escrow-row dt{margin:0;color:#666;font-size:.82rem;font-weight:600}
.escrow-row dd{margin:0;font-weight:700;font-size:.92rem;word-break:break-word}
.escrow-ph{color:#9a6b85;font-style:italic;font-weight:600}
.escrow-ref code{
  display:inline-block;padding:2px 8px;border-radius:6px;background:#fff;
  border:1px solid #e8cfe0;color:#E20074;font-weight:800;letter-spacing:.02em;
}
.escrow-ref-hint{margin:10px 0 0;font-size:.8rem}
.escrow-safety{
  margin-top:16px;padding:12px 14px;border-radius:10px;
  background:#fff5f9;border:1px solid #f3d0e3;
}
.escrow-safety strong{display:block;color:#E20074;margin-bottom:4px;font-size:.88rem}
.escrow-safety p{margin:0;font-size:.88rem;line-height:1.5;color:#444}
.escrow-list-note{
  margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff5f9;
  border:1px dashed #e8b7d0;font-size:.86rem;color:#444;
}
.escrow-list-note a{color:#E20074;font-weight:700;text-decoration:none}
.escrow-list-note a:hover{text-decoration:underline}
html[dir="rtl"] .escrow-box{border-top-color:#E20074}


/* v23: on property detail mobile, pin cookie to TOP so it never covers price/facts */
@media (max-width: 720px){
  body.page-detail .cookie-banner,
  body.page-detail #cookieBanner,
  body.page-detail #astoriaCookieBanner{
    top: 0;
    bottom: auto;
    border-top: 0;
    border-bottom: 3px solid #E20074;
    max-height: 36vh;
    overflow: auto;
    padding: 10px 12px;
    z-index: 240;
    box-shadow: 0 8px 32px rgba(0,0,0,.12);
  }
  body.page-detail .cookie-banner-text p{font-size:.8rem;margin:0 0 4px}
  body.page-detail .cookie-banner-text strong{font-size:.9rem;margin-bottom:2px}
  body.page-detail .cookie-banner-actions .btn{min-width:100px;padding:8px 10px;font-size:.85rem}
  /* leave room under sticky header+cookie for content */
  body.page-detail:has(.cookie-banner:not(.hidden)) .site-header,
  body.page-detail:has(#cookieBanner:not(.hidden)) .site-header,
  body.page-detail:has(#astoriaCookieBanner:not(.hidden)) .site-header{
    top: 0; /* header stays; cookie overlays below via padding on main */
  }
  body.page-detail:has(.cookie-banner:not(.hidden)) main,
  body.page-detail:has(#cookieBanner:not(.hidden)) main,
  body.page-detail:has(#astoriaCookieBanner:not(.hidden)) main{
    padding-top: 8px;
    padding-bottom: calc(72px + env(safe-area-inset-bottom,0px));
  }
  body.page-detail .mobile-agent-bar{z-index: 95;}
  body.page-detail .chat-float{z-index: 90;}
}

/* ── Cookie / analytics consent (v18) ── */
.cookie-banner{
  position:fixed;inset-inline:0;bottom:0;z-index:240;
  background:#fff;border-top:3px solid #E20074;
  box-shadow:0 -8px 32px rgba(0,0,0,.12);
  padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));
}
.cookie-banner.hidden{display:none}
.cookie-banner-inner{
  max-width:1100px;margin:0 auto;
  display:flex;flex-direction:column;gap:12px;
}
.cookie-banner-text strong{display:block;color:#1a1a1a;margin-bottom:4px;font-size:1rem}
.cookie-banner-text p{margin:0 0 6px;color:#6c757d;font-size:.88rem;line-height:1.45}
.cookie-link{
  background:none;border:none;padding:0;color:#E20074;font:inherit;font-weight:600;
  text-decoration:underline;cursor:pointer;font-size:.85rem;
}
.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:8px}
.cookie-banner-actions .btn{flex:1 1 auto;min-width:120px;justify-content:center}
.cookie-settings-modal{max-width:440px}
.cookie-toggle{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px;border:1px solid #e0e0e0;border-radius:12px;margin:10px 0;cursor:pointer;
}
.cookie-toggle input{margin-top:4px;accent-color:#E20074;width:18px;height:18px;flex-shrink:0}
.cookie-toggle strong{display:block;color:#1a1a1a;font-size:.95rem}
.cookie-toggle small{display:block;color:#6c757d;font-size:.8rem;margin-top:2px;line-height:1.4}
.cookie-settings-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}
.analytics-debug-panel{
  position:fixed;inset-inline-end:8px;top:72px;bottom:auto;z-index:260;
  width:min(360px,calc(100vw - 16px));max-height:42vh;
  background:#1a1a1a;color:#f0f0f0;border-radius:12px;
  box-shadow:0 8px 28px rgba(0,0,0,.35);font-size:11px;line-height:1.35;
  display:flex;flex-direction:column;overflow:hidden;
  border:1px solid #E20074;
}
.analytics-debug-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 10px;background:linear-gradient(135deg,#E20074,#b8005a);color:#fff;font-weight:700;
}
.analytics-debug-head button{
  background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:6px;padding:2px 8px;cursor:pointer;font-size:11px;
}
.analytics-debug-meta{padding:6px 10px;color:#ccc;border-bottom:1px solid #333;word-break:break-all}
.analytics-debug-list{overflow:auto;padding:6px 10px;flex:1}
.analytics-debug-line{padding:3px 0;border-bottom:1px solid #2a2a2a;font-family:ui-monospace,Menlo,monospace;word-break:break-word}
@media (min-width:720px){
  .cookie-banner-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:20px}
  .cookie-banner-text{flex:1}
  .cookie-banner-actions{flex:0 0 auto}
  .cookie-banner-actions .btn{flex:0 0 auto;min-width:0}
}
html[dir="rtl"] .analytics-debug-panel{inset-inline-end:auto;inset-inline-start:8px}


/* Nairobi Land Tool embed */
.land-tool-section{margin:0}
.land-tool-box{
  background:#fff;border:1px solid #e0e0e0;border-radius:14px;
  box-shadow:0 8px 28px rgba(226,0,116,.06);padding:22px 22px 18px;
  border-top:3px solid #E20074;
}
.land-tool-head .eyebrow{margin:0 0 4px;color:#E20074;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}
.land-tool-head h2{margin:0 0 10px;font-size:clamp(1.25rem,2.5vw,1.55rem)}
.land-tool-intro{margin:0 0 14px;color:#555;line-height:1.55;font-size:.95rem;max-width:72ch}
.land-tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.land-tool-actions .btn{font-size:.88rem}
.land-tool-frame-wrap{
  display:none;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;
  background:#f7f9fc;min-height:640px;
}
.land-tool-frame{width:100%;height:min(78vh,820px);min-height:640px;border:0;background:#f7f9fc}
.land-tool-mobile-card{
  display:block;background:linear-gradient(135deg,#fff5fa,#ffffff);
  border:1px dashed #f0b6d3;border-radius:12px;padding:16px;margin:0 0 12px;
}
.land-tool-mobile-card p{margin:0 0 12px;color:#444;font-size:.92rem;line-height:1.5}
.land-tool-note{margin:12px 0 0}
.land-tool-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(247,249,252,.92);z-index:2;padding:24px;text-align:center}
.land-tool-frame-wrap{position:relative}
.land-tool-loading{margin:0;font-weight:600;color:#b8005a}
.land-tool-error p{margin:0 0 12px;color:#1a1a1a}
.land-tool-error .btn{margin:4px}
.land-tool-frame.is-dimmed{opacity:.35}

@media (min-width:768px){
  .land-tool-frame-wrap{display:block}
  .land-tool-mobile-card{display:none}
}

/* ── Partner / affiliate cards (v20) ── */
.partner-section{margin:24px 0;display:flex;flex-direction:column;gap:14px}
.partner-stack{display:flex;flex-direction:column;gap:14px}
.partner-row{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:700px){.partner-row{grid-template-columns:1fr 1fr}}
.partner-card{
  background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:16px 18px;
  border-top:3px solid #E20074;box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.partner-card-compact{padding:14px 16px}
.partner-card-eyebrow{
  margin:0 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#E20074;
}
.partner-card-title{margin:0 0 8px;font-size:1.15rem;color:#1a1a1a}
.partner-card-text{margin:0 0 12px;color:#6c757d;font-size:.95rem;line-height:1.45}
.partner-disclosure{margin:10px 0 0;font-size:.75rem;line-height:1.35}
.partner-link{display:inline-flex;align-items:center;margin-top:2px}
/* Align group heading text with card content (card padding 16–18px) */
.partner-group-label{
  margin:8px 0 2px;padding-inline:18px;font-size:1.05rem;color:#1a1a1a;line-height:1.35;
}
.partner-stack > .partner-group-label,
.partner-section > .partner-group-label{padding-inline:18px}
.partner-sidebar-cta{margin:20px 0}
.article-partner-cta{margin-top:28px}
/* Sticky header must not cover partner anchors when scrolling */
#articlePartnerCta,
#propertyPartners,
#footerPartners,
#partnerThankYou,
#rentPartnerHint,
.article-partner-cta,
.partner-section,
.partner-sidebar-cta,
.partner-thankyou,
.partner-rent-hint,
.footer-partners{
  scroll-margin-top:calc(var(--header-h, 72px) + 48px);
}
.footer-partners{margin-top:18px;padding-top:14px;border-top:1px solid #e0e0e0;flex-basis:100%}
.footer-inner{flex-wrap:wrap}
.footer-partners-title{margin:0 0 8px;padding-inline:0;font-size:.95rem;color:#fff}
.footer-partners-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}
.footer-partners-list a{color:rgba(255,255,255,.92);font-size:.85rem;text-decoration:underline;text-underline-offset:2px}
.footer-partners-list a:hover{color:#fff}
.footer-partners .partner-disclosure{color:rgba(255,255,255,.7)}
.partner-rent-hint{
  margin:12px 0 16px;padding:12px 14px;background:#fff;border:1px solid #e0e0e0;
  border-radius:12px;border-left:3px solid #E20074;
}
html[dir="rtl"] .partner-rent-hint{border-left:0;border-right:3px solid #E20074}
html[dir="rtl"] .partner-card{border-top-color:#E20074}
html[dir="rtl"] .partner-group-label{padding-inline:18px;text-align:start}
.partner-rent-line{margin:0;font-size:.92rem;color:#1a1a1a;line-height:1.45}
.partner-rent-line a{color:#E20074;font-weight:600;margin-inline-start:4px}
.partner-sep{margin:0 6px;color:#6c757d}
.partner-thankyou{
  margin-top:16px;padding:18px;background:#fff;border:1px solid #e0e0e0;
  border-radius:14px;border-top:3px solid #E20074;display:flex;flex-direction:column;gap:12px;
}
.partner-thankyou h3{margin:0;padding-inline:0}
.partner-thankyou > p{margin:0;padding-inline:0}
.btn-ghost.partner-link{
  background:var(--magenta);color:#fff;border:0;
  border-radius:999px;padding:8px 14px;font-weight:600;text-decoration:none;
}
.btn-ghost.partner-link:hover{filter:brightness(1.05);color:#fff}

.partner-group-note{margin:0 0 4px;padding-inline:18px;font-size:.85rem;line-height:1.4}
.partner-compact-links{margin:0 0 4px;padding-inline:18px}
.partner-compact-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px}
.partner-compact-list a{color:#E20074;font-weight:600;font-size:.9rem;text-decoration:underline;text-underline-offset:2px}
.partner-compact-list a:hover{color:#b8005a}
.partner-rent-move{margin-top:8px}
html[dir="rtl"] .partner-group-note,
html[dir="rtl"] .partner-compact-links{padding-inline:18px;text-align:start}

/* ── Erste Wertschätzung (v22) ── */
.ve-panel{margin:0 auto}
.ve-form{display:flex;flex-direction:column;gap:16px;margin-top:12px}
.ve-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:700px){.ve-grid{grid-template-columns:1fr 1fr}}
.ve-field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:#1a1a1a}
.ve-field input,.ve-field select,.ve-lead-form input,.ve-lead-form textarea{
  font-weight:400;padding:10px 12px;border:1px solid #e0e0e0;border-radius:10px;background:#fff;font-size:1rem;
}
.ve-lage{margin:4px 0 0;padding:12px 14px;background:#f7f9fc;border-radius:12px;border-inline-start:3px solid #E20074;line-height:1.5;font-size:.92rem}
.ve-adj-set{border:1px solid #e0e0e0;border-radius:12px;padding:12px 14px;margin:0}
.ve-adj-set legend{padding:0 6px;font-weight:700;color:#E20074}
.ve-adj-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.ve-adj{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.9rem;color:#1a1a1a;width:100%}
.ve-adj input[type="checkbox"]{margin-top:3px;width:auto!important;min-width:1rem;flex:0 0 auto;accent-color:#E20074}
.ve-adj span{flex:1 1 auto;line-height:1.35}
#veSizeUnitWrap[hidden],.ve-adj[hidden]{display:none!important}
.ve-result{margin-top:20px}
.ve-range-card{
  background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:18px 20px;
  border-top:3px solid #E20074;box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.ve-eyebrow{margin:0 0 6px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#E20074}
.ve-range{margin:0 0 8px;font-size:clamp(1.35rem,3vw,1.85rem);color:#1a1a1a}
.ve-fx{margin:0 0 8px}
.ve-fx-note{margin-inline-start:4px}
.ve-nodata,.ve-nodata-wrap .ve-nodata{
  margin:0;padding:14px 16px;background:#fff8f0;border:1px solid #f5d0a8;border-radius:12px;
  color:#1a1a1a;font-weight:600;
}
.ve-lowconf{
  margin:10px 0 0;padding:10px 12px;background:#fff3f8;border:1px solid #f5c0d8;border-radius:10px;
  color:#b8005a;font-size:.9rem;font-weight:600;
}
.ve-disclaimer{margin:14px 0 0;font-size:.8rem;line-height:1.45;color:#6c757d}
.ve-sources ul{margin:6px 0 0;padding-inline-start:1.1rem;font-size:.85rem}
.ve-sources a{color:#E20074}
.ve-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ve-lead{margin-top:22px}
.ve-lead-form{display:grid;gap:10px;margin-top:10px}
.ve-lead-form label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600}
.ve-consent{flex-direction:row!important;align-items:flex-start;gap:8px!important;font-weight:400!important}
html[dir="rtl"] .ve-lage{border-inline-start:3px solid #E20074}
#ersteWertschaetzung{scroll-margin-top:calc(var(--header-h, 72px) + 48px)}

.com-investment-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.com-inv-chip{background:#f7f9fc;border:1px solid #e0e0e0;border-radius:999px;padding:4px 10px;font-size:.78rem;color:#1a1a1a}
.com-inv-chip strong{color:#E20074}
.com-inv-label{color:#6c757d;margin-inline-end:4px}

/* WhatsApp float — opposite side from chat-float; clears cookie banner */
.wa-float{position:fixed;bottom:20px;inset-inline-start:20px;z-index:91;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:28px;background:#25D366;color:#fff;font-weight:700;font-size:.85rem;text-decoration:none;box-shadow:0 8px 28px rgba(37,211,102,.4)}
.wa-float:hover{color:#fff;filter:brightness(1.05)}
.wa-float-icon{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;background:rgba(255,255,255,.25);border-radius:50%;font-size:.65rem}
body.has-cookie-banner .wa-float, body.consent-open .wa-float{bottom:96px}
body.has-cookie-banner .chat-float, body.consent-open .chat-float{bottom:96px}
@media (max-width:640px){
  .wa-float{bottom:16px;inset-inline-start:12px;padding:10px 12px;font-size:.78rem}
  .wa-float-label{max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.has-cookie-banner .wa-float, body.consent-open .wa-float{bottom:110px}
  body.has-cookie-banner .chat-float, body.consent-open .chat-float{bottom:110px}
}

body:has(.cookie-banner:not(.hidden)) .wa-float,
body:has(#cookieBanner:not(.hidden)) .wa-float{bottom:96px}
body:has(.cookie-banner:not(.hidden)) .chat-float,
body:has(#cookieBanner:not(.hidden)) .chat-float{bottom:96px}
@media (max-width:640px){
  .wa-float{bottom:16px;inset-inline-start:12px;padding:10px 12px;font-size:.78rem}
  body:has(.cookie-banner:not(.hidden)) .wa-float,
  body:has(#cookieBanner:not(.hidden)) .wa-float{bottom:110px}
  body:has(.cookie-banner:not(.hidden)) .chat-float,
  body:has(#cookieBanner:not(.hidden)) .chat-float{bottom:110px}
}

.compare-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border,#e0e0e0);border-radius:10px;text-decoration:none;color:#1a1a1a;font-weight:600;font-size:.82rem;background:#fff}
.compare-nav-btn .cmp-icon{font-size:1rem;line-height:1}
.compare-nav-btn .cmp-count:empty{display:none}
.compare-nav-btn .cmp-count:not(:empty){background:#E20074;color:#fff;border-radius:999px;padding:0 6px;font-size:.7rem;margin-inline-start:2px}
@media (max-width:720px){
  .compare-nav-btn .cmp-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .compare-nav-btn{padding:8px 10px}
}

/* v27c — team grid vertical + overflow guards */
.team-grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
@media(min-width:700px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.team-ai-heading{
  grid-column:1 / -1;
  margin:12px 0 0;
  font-family:var(--font-serif);
  font-size:1.35rem;
  font-weight:700;
  color:#1a1a1a;
  text-align:start;
}
.team-card{
  background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:18px 16px;
  text-align:center;display:flex;flex-direction:column;align-items:center;
  min-width:0;max-width:100%;box-shadow:var(--shadow,0 4px 18px rgba(0,0,0,.06));
}
.team-list .team-card{/* contact strip stays horizontal — see earlier rule */}
.team-card > h3{margin:0 0 4px;font-size:1.05rem;line-height:1.25;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.team-card .team-role{font-size:.8rem;color:var(--magenta-dark,#b8005a);font-weight:700;margin:0 0 8px;max-width:100%}
.team-card .team-desc{
  font-size:.82rem;color:var(--muted,#6c757d);line-height:1.45;margin:0 0 12px;
  max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto;
}
.team-card .team-email{font-size:.78rem;margin:0 0 8px;word-break:break-all}
.team-card-human img,
.team-card > img{width:140px;height:140px;object-fit:cover;border-radius:50%;margin:0 auto 12px;display:block}
.team-card-bot .team-photo-wrap{position:relative;display:block;width:140px;height:140px;margin:0 auto 12px}
.team-card-bot picture{display:block;width:140px;height:140px;margin:0}
.team-card-bot .team-photo-wrap img,
.team-card-bot picture img{width:140px;height:140px;object-fit:cover;border-radius:50%;display:block;margin:0}
.ki-badge{
  display:inline-block;background:#E20074;color:#fff;font-size:.62rem;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;
  box-shadow:0 2px 8px rgba(226,0,116,.35);white-space:nowrap;margin:0 0 10px;
}
.team-photo-wrap .ki-badge,
.team-photo .ki-badge,
.bot-advisor-photo .ki-badge{
  position:absolute;bottom:6px;inset-inline-end:0;margin:0;
}
.team-photo{position:relative}
.ki-badge-sm{bottom:0;inset-inline-end:-4px;font-size:.55rem;padding:2px 6px}
.ki-badge-inline{position:static;margin:0 0 10px}
.team-chat-btn{margin-top:auto}
.team-chat-link{font-weight:700;color:#E20074}
.team-card-bot{border-color:#f3c2da}
.team-card-bot h3{font-size:.95rem}

/* v27c — bot advisor cards + chat-float avatars */
.bot-advisor-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #f3c2da;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow,0 4px 18px rgba(0,0,0,.06));margin:16px 0;min-width:0;max-width:100%;box-sizing:border-box}
.bot-advisor-photo{position:relative;flex-shrink:0}
.bot-advisor-photo img{width:88px;height:88px;border-radius:50%;object-fit:cover;display:block}
.bot-advisor-photo .ki-badge{bottom:2px;inset-inline-end:-4px}
.bot-advisor-body{flex:1;min-width:0;max-width:100%}
.bot-advisor-body h3{margin:0 0 4px;font-size:1rem;overflow-wrap:anywhere}
.bot-advisor-body p{overflow-wrap:anywhere}
.bot-advisor-chat{margin-top:8px}
.bot-advisor-compact{padding:12px}
.bot-advisor-compact .bot-advisor-photo img{width:72px;height:72px}
.chat-float{gap:10px}
.chat-float-avatar{display:inline-flex;width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.85);box-shadow:0 2px 8px rgba(0,0,0,.15)}
.chat-float-avatar img{width:36px;height:36px;object-fit:cover;display:block}
.property-ai-beside{margin:0 0 14px;min-width:0;max-width:100%}
.property-ai-beside .bot-advisor-card{margin:0}
@media(max-width:720px){
  .property-ai-beside{margin-bottom:12px}
  .bot-advisor-card{flex-direction:column;align-items:center;text-align:center}
  .bot-advisor-body{width:100%}
  body.page-detail .property-ai-beside{padding-bottom:0}
}

/* v27d — home mobile: keep hero search clear of WA/chat floats */
@media (max-width: 899px) {
  body[data-seo-page="home"] .hero-copy { padding-bottom: 36px; }
  body[data-seo-page="home"] .hero-media { min-height: 200px; }
  body[data-seo-page="home"] .search-bar {
    margin-bottom: 96px;
    padding-bottom: 8px;
    position: relative;
    z-index: 5;
  }
  body[data-seo-page="home"] .chat-float,
  body[data-seo-page="home"] .wa-float {
    /* sit in the clearance under the search card, not over its inputs */
    bottom: 16px;
  }
}

/* Global mobile overflow guard — keep body scrollable (avoid overflow-x:clip on html/body; it breaks scrollIntoView) */
html{max-width:100%}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
.container,.detail-layout,.detail-main{max-width:100%;min-width:0;box-sizing:border-box}

/* Finance pre-inquiry (v30) */
.page-finance .field-row{display:grid;grid-template-columns:1fr 140px;gap:12px}
@media (max-width: 480px){
  .page-finance .field-row{grid-template-columns:1fr}
}
.escrow-pending{margin:12px 0;padding:12px;background:#f7f9fc;border-radius:10px;border:1px solid #e0e0e0}
.escrow-mpesa-limit{margin-top:8px}

/* v34 — human + KI-Assistenz pairs */

/* v34 — human + KI-Assistenz pairs (mobile first) */
.team-pair{
  grid-column:1 / -1;
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  padding:10px;
  border:1px dashed #f3c2da;
  border-radius:16px;
  background:linear-gradient(180deg,#fff 0%,#fff7fb 100%);
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
@media(min-width:700px){
  .team-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:14px}
}
.team-pair .team-card{box-shadow:none;height:100%}
.team-card-assistant{border-style:dashed;position:relative}
.ki-assistenz-label{
  display:inline-block;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#b8005a;
  background:#ffe6f2;
  border:1px solid #f3c2da;
  border-radius:999px;
  padding:3px 10px;
  margin:0 0 8px;
  white-space:nowrap;
}
.team-card-assistant .team-role{margin-bottom:6px}


/* Consent gates for third-party embeds (legal 2026-11-01) */
.map-consent-gate,
.land-tool-consent-gate {
  max-width: 520px;
  margin: 1rem auto;
  padding: 1.25rem 1.5rem;
  text-align: center;
  border: 1px solid #e0e0e0;
  background: #fff;
}
.map-consent-gate .btn,
.land-tool-consent-gate .btn { margin-top: 0.75rem; }
.form-privacy-notice { margin: 0.75rem 0 0.35rem; line-height: 1.45; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; margin: 1rem 0; }
.legal-table th, .legal-table td { border: 1px solid #e0e0e0; padding: 0.5rem 0.65rem; text-align: left; vertical-align: top; }
.legal-table th { background: #f7f9fc; }
.token-disclaimer-list { padding-left: 1.25rem; }
.token-disclaimer-list li { margin-bottom: 0.65rem; }

/* === v37 contact cards (Variant A compact + Variant B large form) === */
.cc-compact{
  display:flex;flex-direction:row;align-items:center;gap:12px;
  background:#fff;border:1px solid #f3c2da;border-radius:14px;
  padding:12px 14px;box-shadow:0 4px 18px rgba(0,0,0,.05);
  min-width:0;max-width:100%;text-align:start;margin:12px 0;
  box-sizing:border-box;
}
.cc-compact img,.cc-compact picture img{
  width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;display:block;
}
.cc-compact-body{flex:1;min-width:0}
.cc-compact-body h3{
  margin:0 0 2px;font-size:.92rem;line-height:1.25;
  overflow-wrap:anywhere;word-break:break-word;
}
.cc-compact .team-role{margin:0 0 6px;font-size:.75rem}
.cc-compact .ki-badge,.cc-compact .ki-badge-inline{margin:0 0 8px;font-size:.58rem;display:inline-block}
.cc-compact .btn{width:100%;justify-content:center;padding:8px 12px;font-size:.82rem;box-sizing:border-box}

.cc-strip{display:grid;gap:14px;grid-template-columns:minmax(0,1fr);margin:18px 0}
@media(min-width:700px){.cc-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.cc-strip.cc-strip-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cc-strip-label{
  grid-column:1/-1;display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;
  letter-spacing:.06em;color:#b8005a;margin:0;
}

.cc-card-large{
  background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:16px;
  text-align:center;display:flex;flex-direction:column;align-items:center;
  min-width:0;max-width:100%;box-sizing:border-box;
  box-shadow:0 4px 18px rgba(0,0,0,.05);
}
.cc-card-large.cc-bot{border-color:#f3c2da}
.cc-card-large > img,
.cc-card-large .cc-photo img{width:140px;height:140px;object-fit:cover;border-radius:50%;margin:0 auto 12px;display:block}
.cc-card-large h3{margin:0 0 4px;font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.cc-card-large .team-role{font-size:.8rem;color:var(--magenta-dark,#b8005a);font-weight:700;margin:0 0 8px;max-width:100%}
.cc-card-large .cc-contact-lines{font-size:.78rem;margin:0 0 8px;word-break:normal;overflow-wrap:normal;width:100%;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px}
.cc-card-large .cc-contact-lines a{color:#E20074;font-weight:600;white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
.cc-card-large .cc-contact-item{display:inline-flex;white-space:nowrap;max-width:100%}
.cc-card-large .cc-contact-sep{flex:0 0 auto;opacity:.7}
.cc-card-large .ki-badge,.cc-card-large .ki-badge-inline{margin:0 0 8px}

.cc-form{width:100%;max-width:100%;text-align:start;margin-top:4px;display:flex;flex-direction:column;gap:8px}
.cc-form label{display:block;font-size:.75rem;font-weight:600;color:#1a1a1a;margin:0}
.cc-form .cc-req{color:#b8005a;font-weight:700;font-size:.68rem;margin-inline-start:4px}
.cc-form input[type="text"],
.cc-form input[type="email"],
.cc-form input[type="tel"],
.cc-form textarea{
  width:100%;box-sizing:border-box;border:1px solid #e0e0e0;border-radius:10px;
  padding:10px 12px;font:inherit;background:#fff;max-width:100%;
}
.cc-form textarea{min-height:72px;resize:vertical}
.cc-form-hint{font-size:.7rem;color:#6c757d;margin:0}
.cc-consent{display:flex;gap:8px;align-items:flex-start;font-size:.72rem;line-height:1.4;color:#1a1a1a}
.cc-privacy-note{margin:0.5rem 0 0;font-size:.72rem;line-height:1.45;color:#6c757d}
.cc-privacy-note a{color:#E20074;font-weight:700}

.cc-consent input{margin-top:3px;flex-shrink:0;accent-color:#E20074}
.cc-consent a{color:#E20074;font-weight:700}
.cc-form .btn{width:100%;justify-content:center;box-sizing:border-box}
.cc-ai-note{font-size:.72rem;color:#6c757d;line-height:1.4;margin:4px 0 0;text-align:center}
.cc-form-invalid .cc-form-hint{color:#ef4444}

.cc-footer-kai{margin-top:12px;max-width:420px}
.cc-section{margin:20px 0}
@media(max-width:420px){
  .cc-compact{flex-wrap:wrap}
  .cc-card-large > img,.cc-card-large .cc-photo img{width:120px;height:120px}
}


/* Astoria DEMO_BANNER=false: hide demo/draft form notices sitewide */
html.astoria-demo-banner-off .demo-banner[data-i18n="leadDemoBanner"],
html.astoria-demo-banner-off .demo-banner[data-i18n="valDemoBanner"],
html.astoria-demo-banner-off .demo-banner[data-i18n="valDemoStored"],
html.astoria-demo-banner-off .demo-banner[data-i18n="comDemoBanner"],
html.astoria-demo-banner-off .demo-banner[data-i18n="guideNewsDemo"],
html.astoria-demo-banner-off .demo-banner[data-i18n="carDemoBanner"] {
  display: none !important;
}


/* v41 — closable right-hand util panels + analytics debug close */
.site-header-b .util-panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:6px 10px 4px;border-bottom:1px solid #f0f0f0;
}
.site-header-b .util-panel-title{
  font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6c757d;
}
.site-header-b .util-panel-close{
  border:0;background:transparent;color:#1a1a1a;width:32px;height:32px;border-radius:8px;
  font-size:1.1rem;cursor:pointer;line-height:1;
}
.site-header-b .util-panel-close:hover{background:#f7f9fc;color:#E20074}
.analytics-debug-head-actions{display:inline-flex;gap:6px;align-items:center}
.analytics-debug-close{
  background:rgba(255,255,255,.2);border:none;color:#fff;border-radius:6px;
  width:28px;height:24px;cursor:pointer;font-size:14px;line-height:1;
}
.analytics-debug-close:hover{background:rgba(255,255,255,.35)}


/* === v42 layout: compact list intro + bot pairs + footer trio === */
/* List pages: shrink chrome so first listing price is above the fold */
body.page-list main > .section{
  padding:18px 0 28px;
}
body.page-list .section-head{
  margin-bottom:8px;
  gap:4px 12px;
  align-items:flex-end;
}
body.page-list .section-head h1.serif,
body.page-list .section-head h1{
  margin:0;
  font-size:clamp(1.2rem,2.4vw,1.55rem);
  line-height:1.2;
}
body.page-list .section-head p{
  margin:2px 0 0;
  font-size:.86rem;
  line-height:1.35;
  max-width:42rem;
}
body.page-list .list-count{font-size:.88rem}
body.page-list .list-filters{
  margin-bottom:8px;
  gap:8px;
  padding:10px 12px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
body.page-list .list-filters .field label{
  font-size:.62rem;
  letter-spacing:.03em;
  margin-bottom:2px;
}
body.page-list .list-filters .field input,
body.page-list .list-filters .field select{
  padding:8px 10px;
  font-size:.86rem;
}
/* Secondary filters off by default on list view (price from/to, plot, radius) */
body.page-list .list-filters > .field:nth-child(7),
body.page-list .list-filters > .field:nth-child(8),
body.page-list .list-filters > .field:nth-child(9),
body.page-list .list-filters > .field:nth-child(10){
  display:none;
}
@media(min-width:900px){
  body.page-list .list-filters.search-card{
    grid-template-columns:repeat(6,minmax(0,1fr)) auto;
    align-items:end;
  }
}
@media(min-width:700px) and (max-width:899px){
  body.page-list .list-filters.search-card{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
body.page-list .smart-search-row{margin:.2rem 0 .3rem}
body.page-list .smart-search-row input{padding:8px 10px;font-size:.88rem}
body.page-list .escrow-list-note{
  margin:.2rem 0 .15rem;
  font-size:.76rem;
  line-height:1.3;
}
body.page-list .search-toolbar-extra{margin:.3rem 0 .45rem}
body.page-list p.muted.small{margin:.15rem 0}
@media(max-width:480px){
  body.page-list main > .section{padding:12px 0 20px}
  body.page-list .section-head p{font-size:.8rem}
  body.page-list .escrow-list-note{display:none} /* reclaim vertical space @390 */
}

/* Bot compact cards: pair side-by-side from tablet */
.cc-bots-pair{
  display:grid;
  gap:14px;
  grid-template-columns:minmax(0,1fr);
  margin:14px 0;
}
@media(min-width:700px){
  .cc-bots-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.cc-bots-pair .cc-compact{margin:0;height:100%;width:100%}
html[dir="rtl"] .cc-bots-pair .cc-compact{text-align:start}

/* Footer trio Kai | Lynn | Cecil — equal thirds, readable */
.cc-footer-trio{
  display:grid;
  gap:14px;
  grid-template-columns:minmax(0,1fr);
  margin:14px 0 8px;
  max-width:none;
  width:100%;
}
@media(min-width:700px){
  .cc-footer-trio{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.cc-footer-trio > .cc-compact{
  margin:0;
  width:100%;
  max-width:none;
  min-height:120px;
  align-items:flex-start;
}
.cc-footer-trio .cc-compact-body h3{font-size:.95rem}
.cc-footer-kai{max-width:none} /* legacy class: no longer clamp to 420px */
/* Prevent nested strip collapse (was causing ~119px thin bars) */
.cc-strip > .cc-strip{
  grid-column:1 / -1;
  width:100%;
  max-width:100%;
}
.cc-strip .cc-compact{margin:0}
#ccPropContacts .cc-section{margin:12px 0}
#ccPropContacts.section{padding:28px 0 20px}


/* v42b: further fold savings */
body.page-list .section-head.list-intro{margin-bottom:6px}
body.page-list .list-filters .btn{padding:8px 12px;font-size:.82rem}
/* Shorter card image on list so price enters viewport sooner */
body.page-list .listing-media{aspect-ratio:16/10}
@media(max-width:699px){
  body.page-list .section-head.list-intro p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  /* Keep offer + area + sort (+ reset); hide type/budget/beds/baths on small screens */
  body.page-list .list-filters > .field:nth-child(3),
  body.page-list .list-filters > .field:nth-child(4),
  body.page-list .list-filters > .field:nth-child(5),
  body.page-list .list-filters > .field:nth-child(6){
    display:none;
  }
  body.page-list .list-filters.search-card{
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:8px;
  }
  body.page-list .smart-search-row{display:none}
  body.page-list p.muted.small[data-i18n="smartSearchHint"]{display:none}
  body.page-list .search-toolbar-extra{
    margin:.2rem 0 .35rem;
    gap:.35rem;
  }
  body.page-list .search-toolbar-extra .muted,
  body.page-list .search-toolbar-extra #saveSearchBtn{display:none}
  body.page-list .listing-media{aspect-ratio:2/1}
}
@media(min-width:700px){
  /* Desktop/tablet: hide baths too if needed — keep beds; already hide 7-10 */
  body.page-list .list-filters > .field:nth-child(6){display:none}
}

/* === v42c: fold price into first viewport + pair/trio polish === */

/* Screen-reader / tooltip: smart-search hint no longer eats vertical space */
body.page-list .list-smart-hint-sr{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* Escrow note: one summary line (full wording preserved), expand on open */
body.page-list details.escrow-list-note{
  margin:.15rem 0 .2rem;
  padding:6px 10px;
  font-size:.72rem;
  line-height:1.25;
  max-width:100%;
}
body.page-list details.escrow-list-note > summary{
  cursor:pointer;
  list-style:none;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
  overflow:hidden;
}
body.page-list details.escrow-list-note[open] > summary{
  -webkit-line-clamp:unset;
  display:block;
  overflow:visible;
}
body.page-list details.escrow-list-note > summary::-webkit-details-marker{display:none}
body.page-list details.escrow-list-note > summary::before{
  content:"▸ ";
  color:#E20074;
  font-weight:700;
}
body.page-list details.escrow-list-note[open] > summary::before{content:"▾ "}
/* Tighter chrome */
body.page-list main > .section{padding:10px 0 18px}
body.page-list .section-head.list-intro{margin-bottom:4px;gap:2px 10px}
body.page-list .section-head.list-intro h1{font-size:clamp(1.05rem,2vw,1.35rem)}
body.page-list .section-head.list-intro p{
  font-size:.78rem;line-height:1.3;margin:0;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
body.page-list .list-filters{
  margin-bottom:6px;gap:6px;padding:8px 10px;
}
body.page-list .list-filters .field input,
body.page-list .list-filters .field select{padding:6px 8px;font-size:.82rem}
body.page-list .smart-search-row{margin:.1rem 0 .15rem;gap:.35rem}
body.page-list .smart-search-row input{padding:6px 8px;font-size:.82rem}
body.page-list .smart-search-row .btn{padding:6px 12px;font-size:.82rem}
body.page-list .search-toolbar-extra{
  margin:.15rem 0 .3rem;gap:.35rem;flex-wrap:nowrap;
}
body.page-list .search-toolbar-extra .muted{display:none} /* fx note → save space; KES/USD still there */
body.page-list .listing-media{aspect-ratio:2/1}
body.page-list .listing-body{padding:8px 10px 10px;gap:3px}
body.page-list .listing-body h3{font-size:.95rem}
body.page-list .listing-price{font-size:1rem;margin-top:2px}
body.page-list .listing-area,
body.page-list .listing-meta{font-size:.78rem}
@media(min-width:900px){
  body.page-list .list-filters.search-card{
    grid-template-columns:repeat(6,minmax(0,1fr)) auto;
  }
}
@media(max-width:699px){
  body.page-list main > .section{padding:8px 0 14px}
  body.page-list .list-filters.search-card{padding:6px;gap:5px}
  body.page-list .listing-media{aspect-ratio:16/9}
  body.page-list details.escrow-list-note{display:none}
}
/* Ratio-only human strips: keep in DOM for 3:1 count, not shown as a faux footer */
#ccPropContacts .cc-ratio-humans{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* Odd last bot in a pair row spans full width instead of half-empty */
@media(min-width:700px){
  .cc-bots-pair > .cc-compact:last-child:nth-child(odd){grid-column:1 / -1}
}
/* Footer trio: ensure equal thirds and readable above magenta footer links */
footer.site-footer .cc-footer-trio{
  margin:16px 0 12px;
  padding-top:8px;
}
footer.site-footer .cc-footer-trio > .cc-compact{
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:12px;
  padding:12px;
  min-height:132px;
}


/* === v42d: two-row price from/to filters + more-filters (mobile) === */
body.page-list .list-filters.search-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:8px 10px;
}
body.page-list .filters-primary,
body.page-list .filters-more{
  display:grid;
  gap:6px;
  align-items:end;
}
body.page-list .filters-primary .field,
body.page-list .filters-more .field{margin:0}
body.page-list .field-price .price-cur-label{
  font-weight:700;
  color:#E20074;
  text-transform:uppercase;
  font-size:.62rem;
  letter-spacing:.04em;
}
/* neutralize legacy nth-child hide rules from v42b (field order changed) */
body.page-list .list-filters > .field:nth-child(n){display:revert}
body.page-list .list-filters .filters-primary > .field,
body.page-list .list-filters .filters-more > .field{display:flex;flex-direction:column}
@media(min-width:900px){
  body.page-list .filters-primary{
    grid-template-columns:repeat(5,minmax(0,1fr));
  }
  body.page-list .filters-more{
    grid-template-columns:repeat(5,minmax(0,1fr)) auto;
  }
  body.page-list .filters-more-toggle{display:none !important}
}
@media(min-width:700px) and (max-width:899px){
  body.page-list .filters-primary{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.page-list .filters-more{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.page-list .filters-more-toggle{display:none !important}
}
@media(max-width:699px){
  body.page-list .filters-primary{
    grid-template-columns:1fr 1fr;
  }
  body.page-list .filters-primary .field-price{grid-column:span 1}
  body.page-list .filters-more-toggle{
    grid-column:1 / -1;
    justify-self:stretch;
    padding:7px 10px;
    font-size:.8rem;
  }
  /* collapse secondary filters until "Mehr Filter" */
  body.page-list .filters-more{display:none}
  body.filters-more-open .filters-more{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  body.filters-more-open .filters-more #fReset{grid-column:1 / -1}
}



/* === legal-kompakt-v2 accordion (2026-11-02) === */
.page-legal .legal-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.page-legal .legal-toolbar[hidden]{display:none!important}
.page-legal .legal-tool-btn{
  border:1.5px solid #E20074;background:#fff;color:#E20074;border-radius:8px;
  padding:8px 12px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;
}
.page-legal .legal-tool-btn:hover{background:#fde7f3}
.page-legal .legal-summary{
  background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:18px 20px;margin:0 0 20px;
  box-shadow:0 4px 18px rgba(0,0,0,.04)
}
.page-legal .legal-summary h2{margin:0 0 10px;font-size:1.15rem;color:#E20074}
.page-legal .legal-summary.lead-only h2{display:none}
.page-legal .legal-summary p{margin:0 0 .65rem;color:#1a1a1a}
.page-legal .legal-summary p:last-child{margin-bottom:0}
.page-legal .legal-flat{
  background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:18px 20px;margin:0 0 20px;
  box-shadow:0 4px 18px rgba(0,0,0,.04)
}
.page-legal .legal-flat p{margin:0 0 .85rem}
.page-legal .legal-details{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.page-legal .legal-details details{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:0;overflow:hidden}
.page-legal .legal-details summary{
  cursor:pointer;list-style:none;padding:14px 16px;font-weight:700;color:#1a1a1a;
  display:flex;align-items:center;gap:10px
}
.page-legal .legal-details summary::-webkit-details-marker{display:none}
.page-legal .legal-details summary::before{content:'▸';color:#E20074;font-weight:700;transition:transform .15s}
.page-legal .legal-details details[open] summary::before{transform:rotate(90deg)}
html[dir=rtl] .page-legal .legal-details summary::before{content:'◂'}
html[dir=rtl] .page-legal .legal-details details[open] summary::before{transform:rotate(-90deg)}
.page-legal .legal-details summary:focus{outline:2px solid #E20074;outline-offset:2px}
.page-legal .legal-details .details-body{padding:0 16px 16px;border-top:1px solid #f0f0f0}
.page-legal .legal-details .details-body > *:first-child{margin-top:12px}
.page-legal .conv-notice{
  margin-top:28px;padding:12px 14px;background:#f7f9fc;border-left:3px solid #E20074;
  font-size:.9rem;color:#6c757d
}
html[dir=rtl] .page-legal .conv-notice{border-left:none;border-right:3px solid #E20074}
.page-legal .aml-box{
  margin:20px 0;padding:14px 16px;border:1px dashed #E20074;border-radius:12px;background:#fff
}
.page-legal .aml-box h3{margin:0 0 8px;font-size:1rem;color:#E20074}
.page-legal .legal-table{width:100%;border-collapse:collapse;font-size:.92rem}
.page-legal .legal-table th,.page-legal .legal-table td{
  border:1px solid #e0e0e0;padding:8px 10px;text-align:start;vertical-align:top
}
.page-legal .legal-table th{background:#f7f9fc;color:#b8005a}
.page-legal .cc-earb,.page-legal .team-earb,
.team-earb,.cc-earb{font-size:.82rem;line-height:1.4;margin:.35rem 0 .6rem;color:#6c757d}

/* v42e: filter rows use full card width (no left gap) */
body.page-list .list-filters.search-card{align-items:stretch}
body.page-list .filters-primary,
body.page-list .filters-more{width:100%;align-self:stretch}


/* === Assistenten-Breite 2026-11-03 ========================================
   Central width/height rules for AI assistant + human contact cards.
   Content width = .container (--max: 1180px). Never force bots to full width.
   Footer trio Kai|Lynn|Cecil stays equal thirds (excluded below).
   v2: compact human cards (≤420–460px), centered thirds, folded message.
   ======================================================================== */
:root{
  --astoria-assistant-w: 50%;
  --astoria-human-w: 33.333%;
  --astoria-human-w-wide: 25%;
  --astoria-content-w: min(100vw - 2rem, var(--max));
  --astoria-assistant-max-w: calc(var(--astoria-content-w) * 0.5);
  --astoria-human-max-w: calc(var(--astoria-content-w) * 0.33333);
  --astoria-human-max-w-wide: calc(var(--astoria-content-w) * 0.25);
  --astoria-human-card-cap: 380px;
  --astoria-human-card-max-h: 520px;
  --astoria-assistant-max-h: min(70vh, 640px);
  --astoria-assistant-mobile-max-w: 560px;
}

/* --- AI bots: half content width (never full-bleed) --- */
.cc-card-large.cc-bot,
.cc-compact[data-cc-kind="bot"],
.team-card-bot,
.team-card-assistant,
[data-cc-kind="bot"].cc-compact,
[data-cc-kind="bot"].cc-card-large{
  width: 100%;
  max-width: var(--astoria-assistant-max-w);
  box-sizing: border-box;
}
@media (max-width: 700px){
  .cc-card-large.cc-bot,
  .cc-compact[data-cc-kind="bot"],
  .team-card-bot,
  .team-card-assistant,
  [data-cc-kind="bot"].cc-compact,
  [data-cc-kind="bot"].cc-card-large{
    max-width: min(100%, var(--astoria-assistant-mobile-max-w));
    margin-inline: auto;
  }
}
[data-cc^="bot-a:"],
[data-cc^="bot-b:"]{ max-width: 100%; }
[data-cc^="bot-a:"] > .cc-compact,
[data-cc^="bot-b:"] > .cc-card-large{ max-width: var(--astoria-assistant-max-w); }
@media (max-width: 700px){
  [data-cc^="bot-a:"] > .cc-compact,
  [data-cc^="bot-b:"] > .cc-card-large{
    max-width: min(100%, var(--astoria-assistant-mobile-max-w));
    margin-inline: auto;
  }
}
.cc-bots-pair{
  grid-template-columns: minmax(0, 1fr);
  justify-content: start;
}
@media (min-width: 700px){
  .cc-bots-pair{
    grid-template-columns: repeat(2, minmax(0, var(--astoria-assistant-max-w)));
  }
  .cc-bots-pair > .cc-compact:last-child:nth-child(odd){
    grid-column: auto;
    max-width: var(--astoria-assistant-max-w);
  }
}
.cc-bots-pair > .cc-compact{
  width: 100%;
  max-width: var(--astoria-assistant-max-w);
  height: auto;
}
@media (max-width: 699px){
  .cc-bots-pair{
    grid-template-columns: minmax(0, 1fr);
  }
  .cc-bots-pair > .cc-compact{
    max-width: min(100%, var(--astoria-assistant-mobile-max-w));
    margin-inline: auto;
  }
}

/* --- Humans: width + compact height --- */
.cc-card-large.cc-human,
.cc-human-compact,
[data-cc-kind="human"].cc-card-large,
[data-cc-kind="human"].cc-compact{
  width: 100%;
  max-width: min(var(--astoria-human-max-w), var(--astoria-human-card-cap));
  box-sizing: border-box;
}
@media (max-width: 699px){
  .cc-card-large.cc-human,
  .cc-human-compact,
  [data-cc-kind="human"].cc-card-large,
  [data-cc-kind="human"].cc-compact{ max-width: 100%; }
  .cc-strip.cc-strip-3{ grid-template-columns: minmax(0, 1fr); justify-content: stretch; }
}

/* Compact large human card chrome */
.cc-card-large.cc-human{
  padding: 10px 12px 12px;
  gap: 0;
  align-items: center;
}
.cc-card-large.cc-human > img,
.cc-card-large.cc-human .cc-human-photo,
.cc-card-large.cc-human .cc-photo img{
  width: 92px !important;
  height: 92px !important;
  margin: 0 auto 8px !important;
}
.cc-card-large.cc-human h3{
  margin: 0 0 2px;
  font-size: .98rem;
  line-height: 1.2;
}
.cc-card-large.cc-human .team-role{
  margin: 0 0 4px;
  font-size: .72rem;
  line-height: 1.25;
}
.cc-card-large.cc-human .cc-earb,
.cc-card-large.cc-human .team-earb{
  font-size: .72rem !important;
  line-height: 1.45;
  margin: 0 0 10px !important;
  max-width: 100%;
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  text-overflow: unset;
  max-height: none !important;
}
.cc-card-large.cc-human .cc-contact-lines{
  font-size: .65rem;
  margin: 0 0 6px;
  line-height: 1.35;
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4px 10px;
  overflow: visible !important;
  -webkit-line-clamp: unset !important;
  line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  word-break: normal;
  max-height: none !important;
}
.cc-card-large.cc-human .cc-contact-lines a{
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.cc-card-large.cc-human{
  padding: 8px 10px 10px;
}
.cc-card-large.cc-human > img,
.cc-card-large.cc-human .cc-human-photo,
.cc-card-large.cc-human .cc-photo img{
  width: 88px !important;
  height: 88px !important;
  margin: 0 auto 6px !important;
}

/* Equal-height human strip: stretch cards, pin form to bottom */
.cc-strip.cc-strip-3[data-cc-strip="humans"]{
  align-items: stretch;
}
.cc-strip.cc-strip-3[data-cc-strip="humans"] > .cc-card-large.cc-human{
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  min-height: 0;
}
.cc-strip.cc-strip-3[data-cc-strip="humans"] > .cc-card-large.cc-human > .cc-form{
  margin-top: auto;
  width: 100%;
}
/* Header/text block must never clip inside human cards */
.cc-card-large.cc-human > h3,
.cc-card-large.cc-human > .team-role,
.cc-card-large.cc-human > .cc-earb,
.cc-card-large.cc-human > .cc-contact-lines{
  overflow: visible !important;
  flex-shrink: 0;
}

/* Compact form inside human (and large bot) cards */
.cc-card-large .cc-form{
  gap: 5px;
  margin-top: 2px;
}
.cc-card-large .cc-form label{
  font-size: .68rem;
  margin-bottom: 2px;
}
.cc-card-large .cc-form input[type="text"],
.cc-card-large .cc-form input[type="email"],
.cc-card-large .cc-form input[type="tel"],
.cc-card-large .cc-form textarea{
  padding: 7px 9px;
  font-size: .82rem;
  border-radius: 8px;
}
.cc-card-large .cc-form .btn{
  padding: 8px 12px;
  font-size: .82rem;
  margin-top: 2px;
}
.cc-card-large .cc-form-hint{
  font-size: .62rem;
  line-height: 1.3;
  margin: 0;
}
.cc-card-large .cc-privacy-note{
  font-size: .62rem;
  line-height: 1.35;
  margin: .25rem 0 0;
}
.cc-field-row{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  min-width: 0;
}
.cc-field{ min-width: 0; }
.cc-msg-fold{
  margin: 0;
  border: 0;
  padding: 0;
}
.cc-msg-fold > summary{
  cursor: pointer;
  list-style: none;
  font-size: .72rem;
  font-weight: 700;
  color: #E20074;
  padding: 2px 0;
  user-select: none;
}
.cc-msg-fold > summary::-webkit-details-marker{ display: none; }
.cc-msg-fold > summary::before{
  content: "▸ ";
  color: #E20074;
  font-weight: 700;
}
.cc-msg-fold[open] > summary::before{ content: "▾ "; }
html[dir="rtl"] .cc-msg-fold > summary::before{ content: "◂ "; }
html[dir="rtl"] .cc-msg-fold[open] > summary::before{ content: "▾ "; }
.cc-msg-fold textarea{
  margin-top: 4px;
  min-height: 44px;
  resize: vertical;
}
.cc-card-large .cc-ai-note{ font-size: .62rem; margin: 2px 0 0; }

/* Human strip: 3 centered thirds @≥1024, cap ~380px; 1/4 only when 4 fit (subject-b) */
.cc-strip.cc-strip-3{
  grid-template-columns: minmax(0, 1fr);
  justify-content: center;
  justify-items: stretch;
  width: 100%;
  max-width: 100%;
  gap: 12px 14px;
}
@media (min-width: 700px) and (max-width: 1023px){
  .cc-strip.cc-strip-3[data-cc-strip="humans"]{
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), var(--astoria-human-card-cap)));
    justify-content: center;
  }
}
@media (min-width: 1024px){
  .cc-strip.cc-strip-3[data-cc-strip="humans"]{
    grid-template-columns: repeat(3, minmax(0, min(33.333%, var(--astoria-human-card-cap))));
    justify-content: center;
  }
  .cc-strip.cc-strip-3[data-cc-strip="humans"] > .cc-card-large.cc-human,
  .cc-strip.cc-strip-3[data-cc-strip="humans"] > .cc-human-compact{
    max-width: var(--astoria-human-card-cap);
    width: 100%;
  }
}
/* subject-b: 3 humans + 1 bot — use quarters only when wide enough */
[data-cc-strip="subject-b"]{
  grid-template-columns: minmax(0, 1fr) !important;
  justify-content: center !important;
  gap: 12px 14px;
}
@media (min-width: 700px) and (max-width: 1279px){
  [data-cc-strip="subject-b"]{
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), var(--astoria-human-card-cap))) !important;
  }
}
@media (min-width: 1280px){
  [data-cc-strip="subject-b"]{
    grid-template-columns: repeat(4, minmax(0, min(25%, var(--astoria-human-card-cap)))) !important;
    justify-content: center !important;
  }
}
[data-cc-strip="subject-b"] > .cc-card-large.cc-bot{
  max-width: var(--astoria-assistant-max-w);
}
[data-cc-strip="subject-b"] > .cc-card-large.cc-human{
  max-width: var(--astoria-human-card-cap);
}

/* Nested mounts inside multi-col page grids */
.cards-3 > [data-cc],
.cards-3 > .cc-section,
.team-grid > [data-cc],
.ai-grid > [data-cc]{
  grid-column: 1 / -1;
  min-width: 0;
  max-width: 100%;
}
.cards-3 > [data-cc^="bot-"]{ display: flex; justify-content: flex-start; }
@media (max-width: 700px){
  .cards-3 > [data-cc^="bot-"]{ justify-content: center; }
}

.cc-home-contact-assistants{
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: stretch;
  width: 100%;
}
.cc-home-contact-assistants [data-cc^="bot-"]{
  display: flex;
  justify-content: flex-start;
}
@media (max-width: 700px){
  .cc-home-contact-assistants [data-cc^="bot-"]{ justify-content: center; }
}

/* Max-height: humans compact target; bots keep taller scroll cap */
.cc-card-large.cc-human{
  /* Prefer natural height so EARB/contact header never clips; form can scroll if needed */
  max-height: none;
  overflow: visible;
}
.cc-card-large.cc-human > .cc-form{
  max-height: min(280px, 45vh);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #E20074 transparent;
  width: 100%;
}
.cc-card-large.cc-human > .cc-form::-webkit-scrollbar{ width: 6px; }
.cc-card-large.cc-human > .cc-form::-webkit-scrollbar-thumb{ background:#E20074; border-radius:999px; }
.cc-card-large.cc-bot,
.team-card-assistant,
.team-card-bot.cc-card-large{
  max-height: var(--astoria-assistant-max-h);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #E20074 transparent;
}
.cc-card-large.cc-bot::-webkit-scrollbar,
.cc-card-large.cc-human::-webkit-scrollbar,
.team-card-assistant::-webkit-scrollbar{ width: 6px; }
.cc-card-large.cc-bot::-webkit-scrollbar-thumb,
.cc-card-large.cc-human::-webkit-scrollbar-thumb,
.team-card-assistant::-webkit-scrollbar-thumb{
  background: #E20074;
  border-radius: 999px;
}
.cc-card-large.cc-bot::-webkit-scrollbar-track,
.cc-card-large.cc-human::-webkit-scrollbar-track,
.team-card-assistant::-webkit-scrollbar-track{ background: transparent; }

/* Footer trio exempt */
.cc-footer-trio,
footer.site-footer .cc-footer-trio{
  grid-template-columns: minmax(0, 1fr);
  max-width: none;
  width: 100%;
}
@media (min-width: 700px){
  .cc-footer-trio,
  footer.site-footer .cc-footer-trio{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.cc-footer-trio > .cc-compact,
.cc-footer-trio > [data-cc-kind="bot"],
.cc-footer-trio > [data-cc-kind="human"],
footer.site-footer .cc-footer-trio > .cc-compact{
  max-width: none;
  width: 100%;
  height: auto;
  max-height: none;
  overflow: visible;
  margin-inline: 0;
}

html[dir="rtl"] .cc-bots-pair,
html[dir="rtl"] .cc-home-contact-assistants [data-cc^="bot-"],
html[dir="rtl"] .cards-3 > [data-cc^="bot-"]{
  justify-content: flex-start;
}
html[dir="rtl"] .cc-strip.cc-strip-3{ justify-content: center; }
html[dir="rtl"] .cc-card-large.cc-bot,
html[dir="rtl"] .cc-card-large.cc-human,
html[dir="rtl"] .cc-compact[data-cc-kind="bot"]{ text-align: start; }
html[dir="rtl"] .cc-field-row{ direction: rtl; }

@media (max-width: 420px){
  .cc-field-row{ grid-template-columns: 1fr; }
  .cc-card-large.cc-human > img,
  .cc-card-large.cc-human .cc-human-photo{ width: 88px !important; height: 88px !important; }
}

/* --- v43 homepage fill / thirds (2026-11-03) --- */
.home-svc-advisors{
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  align-items: stretch;
}
.home-svc-advisors > [data-cc],
.home-token .cc-strip,
#tokenization [data-cc^="humans"]{
  width: 100%;
  max-width: 100%;
}
.home-advisor-pair.cc-bots-pair{
  width: 100%;
  max-width: 100%;
}
@media (max-width: 699px){
  .home-advisor-pair.cc-bots-pair,
  .cc-home-contact-assistants .cc-bots-pair{
    grid-template-columns: minmax(0, 1fr);
  }
  .home-advisor-pair.cc-bots-pair > .cc-compact,
  .cc-home-contact-assistants .cc-bots-pair > .cc-compact{
    max-width: min(100%, var(--astoria-assistant-mobile-max-w));
    width: 100%;
    margin-inline: auto;
  }
}
@media (min-width: 700px){
  .home-advisor-pair.cc-bots-pair{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-advisor-pair.cc-bots-pair > .cc-compact{
    max-width: none; /* pair cells already half of row */
    width: 100%;
  }
}
/* Contact advisors column: humans full width of col; bot cards pair 2-up when space */
#contact .team-list{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
#contact .team-list .team-card{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
#contact .team-list .team-bots-row{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
}
@media (min-width: 960px){
  #contact .team-list .team-bots-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
#contact .team-list .team-card-bot{
  max-width: 100%; /* column already ≤⅓ page; pair cells ≈⅙ — still under assistant half-cap of content */
}
.cc-home-contact-assistants .cc-bots-pair{
  width: 100%;
}
@media (min-width: 700px){
  .cc-home-contact-assistants .cc-bots-pair{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cc-home-contact-assistants .cc-bots-pair > .cc-compact{
    max-width: none;
    width: 100%;
  }
}
/* Human strips always three equal tracks when room — never leave a blank fourth */
@media (min-width: 1024px){
  .cc-strip.cc-strip-3[data-cc-strip="humans"]{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
  }
  .cc-strip.cc-strip-3[data-cc-strip="humans"] > .cc-card-large.cc-human,
  .cc-strip.cc-strip-3[data-cc-strip="humans"] > .cc-human-compact{
    max-width: none;
    width: 100%;
  }
}


/* v43b: EARB full wrap + contact items never split words; bullets stay with prior item */
.cc-card-large.cc-human .cc-earb,
.cc-card-large.cc-human .team-earb{
  margin-bottom: 12px !important;
  padding-bottom: 4px;
}
.cc-card-large .cc-contact-lines{
  row-gap: 8px;
  column-gap: 0;
}
.cc-card-large .cc-contact-item{
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  max-width: 100%;
}
.cc-card-large .cc-contact-item:not(:last-child)::after{
  content: "·";
  margin-inline: 8px;
  color: #6c757d;
  font-weight: 600;
  white-space: nowrap;
  flex-shrink: 0;
}
.cc-card-large .cc-contact-sep{ display: none !important; }
.cc-card-large.cc-human .cc-wa-link,
.cc-card-large .cc-contact-lines a{
  white-space: nowrap !important;
}
/* === /Assistenten-Breite 2026-11-03 ===================================== */

.token-feat-grid + .token-feat-grid{margin-top:12px}
/* Token-Karten Layout 2026-11-03: 1 / 2 / 3 Spalten (mobile / tablet≥600 / desktop≥900), equal-height */


/* === GESAMT v45 layout 2026-11-03 === */
/* Homepage search: two rows with price from–to (buy/rent) */
.search-card.search-card--two-row{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.search-card.search-card--two-row .search-row{
  display:grid;
  gap:10px;
  grid-template-columns:minmax(0,1fr);
  align-items:end;
}
@media(min-width:700px){
  .search-card.search-card--two-row .search-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  }
  .search-card.search-card--two-row .search-row:first-child{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(min-width:900px){
  .search-card.search-card--two-row .search-row:first-child{
    grid-template-columns:0.9fr 1.4fr 1fr;
  }
  .search-card.search-card--two-row .search-row:last-child{
    grid-template-columns:1fr 1fr 0.8fr auto;
  }
}
/* Human portrait ~88px (standard) */
.cc-card-large.cc-human > img,
.cc-card-large.cc-human .cc-human-photo,
.cc-card-large.cc-human .cc-photo img{
  width:88px !important;
  height:88px !important;
}
/* Page contact sections: keep humans + bot pairs stacked without empty right gap */
.cc-page-contacts .container,
#ccLegalContacts .container,
#ccInvestContacts .container,
#ccPropContacts .container,
#ccGuideLand .container,
#botAdvisorSection .container,
.home-svc-advisors,
.cc-home-contact-assistants{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.cc-page-contacts .cc-bots-pair,
#ccLegalContacts .cc-bots-pair,
#ccInvestContacts .cc-bots-pair,
#ccPropContacts .cc-bots-pair,
#ccGuideLand .cc-bots-pair,
#botAdvisorSection .cc-bots-pair,
.home-svc-advisors .cc-bots-pair,
.cc-home-contact-assistants .cc-bots-pair{
  width:100%;
}
/* Card grids equal height already; ensure related groups stay in one row */
.cards-3, .token-feat-grid, .ai-grid, .listings-grid{
  align-items:stretch;
}
.cards-3 > *, .token-feat-grid > *, .ai-grid > *{height:100%;}
@media(min-width:600px){
  .cards-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(min-width:900px){
  .cards-3{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* === QA 2026-11-03 email-stable + image-path CLS === */
/* Keep page from growing sideways (email/nowrap leftovers, floats) */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}

/* Contact emails: right-aligned, can wrap, never force horizontal scroll */
.cc-card-large .cc-contact-lines,
.cc-card-large.cc-human .cc-contact-lines {
  justify-content: flex-end !important;
  text-align: end;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  row-gap: 6px;
}
.cc-card-large .cc-contact-item {
  max-width: 100%;
  box-sizing: border-box;
}
.cc-card-large .cc-contact-item:has(> a[href^="mailto:"]) {
  flex: 1 1 100%;
  display: flex !important;
  justify-content: flex-end;
  white-space: normal;
}
.cc-card-large .cc-contact-lines a[href^="mailto:"],
.cc-card-large.cc-human .cc-contact-lines a[href^="mailto:"] {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  max-width: 100%;
  text-align: end;
}
/* Phones / WhatsApp stay on one line but must not blow the card */
.cc-card-large .cc-contact-lines a[href^="tel:"],
.cc-card-large .cc-contact-lines a.cc-wa-link,
.cc-card-large.cc-human .cc-contact-lines a[href^="tel:"],
.cc-card-large.cc-human .cc-contact-lines a.cc-wa-link {
  white-space: nowrap !important;
  max-width: 100%;
}

/* Compact human strip emails (Über uns / ratio strips) */
.cc-human-compact a[href^="mailto:"],
.cc-compact-body a[href^="mailto:"] {
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

/* Reserve space for chat-float avatar + i18n label (reduces CLS / "image twitch") */
.chat-float {
  min-height: 52px;
  min-width: min(100vw - 32px, 220px);
  box-sizing: border-box;
}
.chat-float-avatar {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.chat-float .chat-float-avatar + *,
.chat-float [data-i18n="aiFloatLabel"] {
  max-width: 14ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Sticky header: reserve typical final height to limit swap jump */
header.site-header,
header.site-header-b {
  min-height: 72px;
  box-sizing: border-box;
}
@media (min-width: 900px) {
  header.site-header-b {
    min-height: 108px;
  }
}

/* Hero media: keep absolute fill stable vs global img{height:auto} */
.hero-media img {
  height: 100%;
  max-width: none;
}

/* Listing media already has aspect-ratio; keep img fill stable vs global height:auto */
.listing-media img {
  height: 100%;
  max-width: none;
}


/* ===== Bewerten / Gewerbe / Verkaufen / Vermieten owner landings (2026-11-03) ===== */
.owner-hero-grid{display:grid;gap:24px;align-items:start}
@media(min-width:900px){
  .owner-hero-grid{grid-template-columns:1.15fr .85fr;align-items:stretch}
  .owner-hero-copy{display:flex;flex-direction:column;gap:14px;height:100%;min-height:100%}
  .owner-hero-fill{margin-top:auto;display:flex;flex-direction:column;gap:14px}
}
.owner-hero-copy{display:flex;flex-direction:column;gap:14px}
.owner-hero-photo{margin:0;border-radius:12px;overflow:hidden;border:1px solid #e0e0e0;background:#fff}
.owner-hero-photo img{display:block;width:100%;height:auto;max-height:200px;object-fit:cover}
@media(min-width:900px){.owner-hero-photo img{max-height:220px}}
.owner-hero-photo figcaption{padding:8px 12px;font-size:.8rem;color:#6c757d;background:#fff}
.owner-hero-checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.owner-hero-checks li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:10px 12px;font-size:.9rem;color:#1a1a1a;line-height:1.4}
.owner-hero-checks li::before{content:"✓";color:#fff;background:linear-gradient(135deg,#E20074,#b8005a);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}
.owner-hero-bots{width:100%;max-width:100%}
.owner-hero-bots.cc-bots-pair,
.owner-hero-bots .cc-bots-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:100%}
.owner-hero-bots [data-cc-kind="bot"],
.owner-hero-bots .cc-bot-card{max-width:100%!important;width:100%!important}
@media(max-width:700px){
  .owner-hero-bots.cc-bots-pair,
  .owner-hero-bots .cc-bots-pair{grid-template-columns:1fr;max-width:560px}
}
@media(max-width:390px){
  .owner-hero-photo img{max-height:180px}
  .owner-hero-checks li{padding:8px 10px;font-size:.86rem}
}
.owner-hero-form{align-self:stretch;display:flex;flex-direction:column;background:#fff;border:1px solid #e0e0e0;border-radius:14px;padding:18px 16px;box-shadow:0 8px 28px rgba(26,26,26,.06)}
.owner-hero-form h2{margin:0 0 6px;font-size:1.25rem}
.owner-hero-form .lead-mini{margin:0 0 14px;color:#6c757d;font-size:.92rem}
.owner-hero-form .field-row{display:grid;gap:12px}
@media(min-width:560px){.owner-hero-form .field-row.cols-2{grid-template-columns:1fr 1fr}}
.owner-free-cta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:700;color:#E20074}
.owner-steps{display:grid;gap:14px;margin-top:18px}
@media(min-width:700px){.owner-steps{grid-template-columns:repeat(4,1fr)}}
.owner-step{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;height:100%}
.owner-step .n{display:inline-flex;width:32px;height:32px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(135deg,#E20074,#b8005a);color:#fff;font-weight:700;font-size:.9rem;margin-bottom:10px}
.owner-step h3{margin:0 0 6px;font-size:1.05rem}
.owner-step p{margin:0;color:#6c757d;font-size:.92rem}
/* sellProc4 media (Lynn key handover) – no overlay, magenta stays on the jacket */
.owner-step-media{position:relative;width:100%;aspect-ratio:16/9;margin:0 0 12px;border-radius:8px;overflow:hidden;background:#1a1a1a}
.owner-step-media video{display:block;width:100%;height:100%;object-fit:cover;background:#1a1a1a}
.owner-usps{display:grid;gap:14px;margin-top:18px}
@media(min-width:600px){.owner-usps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.owner-usps{grid-template-columns:repeat(3,1fr)}}
.owner-usp{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px}
.owner-usp h3{margin:0 0 6px;font-size:1.05rem;color:#b8005a}
.owner-usp p{margin:0;color:#6c757d;font-size:.92rem}
.owner-notice{background:#fff;border:1px solid #e0e0e0;border-left:4px solid #E20074;border-radius:12px;padding:18px 16px;margin:20px 0}
.owner-notice-grid{display:grid;gap:18px;align-items:start}
@media(min-width:860px){.owner-notice-grid{grid-template-columns:1fr 1fr}}
.owner-notice h2{margin:0 0 8px}
.owner-notice p{margin:0 0 12px;color:#6c757d}
.owner-second-form{max-width:720px;margin:0 auto}
.page-hero.owner-hero{padding-bottom:8px}
.page-hero.owner-hero .lead{max-width:36rem}
.consent-row a{color:#E20074;text-decoration:underline}
@media(max-width:390px){
  .owner-hero-form,.owner-notice,.owner-step,.owner-usp{padding:14px 12px}
  .owner-hero-grid,.owner-notice-grid{gap:16px}
}

/* Owner hero bots: fill the left column (50%+50% of column, not half-page max) */
@media (min-width: 700px){
  .owner-hero-bots.cc-bots-pair{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch;
  }
  .owner-hero-bots.cc-bots-pair > .cc-compact{
    max-width: none !important;
    width: 100% !important;
  }
}

.owner-hero-form form{margin-top:0;display:flex;flex-direction:column;flex:1;gap:0}
.owner-hero-form form .form-actions,
.owner-hero-form form button[type="submit"],
.owner-hero-form .btn-primary{margin-top:auto}

/* v51 — commercial land-seeking notice (2026-11-04) */
.com-seek-notice{display:flex;flex-direction:column;gap:12px;margin:0 0 18px;padding:16px 18px;background:#fff;border:1px solid #e0e0e0;border-inline-start:6px solid #E20074;border-radius:12px;box-shadow:0 4px 14px rgba(226,0,116,.10)}
.com-seek-title{margin:0 0 4px;font-size:1.05rem;color:#E20074;font-weight:700}
.com-seek-body p{margin:0;color:#1a1a1a;line-height:1.5}
.com-seek-cta{align-self:flex-start;white-space:nowrap;background:#E20074;color:#fff;border-color:#E20074}
.com-seek-cta:hover{background:#b8005a;border-color:#b8005a}
@media (min-width:700px){.com-seek-notice{flex-direction:row;align-items:center;justify-content:space-between;gap:20px}.com-seek-cta{align-self:center}}

/* === Commercial: plot examples + SEZ (2026-11-04) === */
.com-plot-grid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:16px}
.com-plot-card{display:flex;flex-direction:column;gap:10px;min-width:0;width:100%;border-inline-start:4px solid #E20074}
.com-plot-card-inner{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:700px){
  .com-plot-card-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}
}
.com-plot-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.com-plot-name{margin:0;font-size:1.1rem;color:#1a1a1a;line-height:1.35}
.com-plot-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:.92rem}
.com-plot-label{color:#6c757d;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em}
.com-plot-facts{margin:0;padding-inline-start:1.1em;color:#1a1a1a;font-size:.95rem;line-height:1.5}
.com-plot-facts li{margin:0 0 4px}
.com-plot-link{align-self:flex-start;margin-top:auto}
.com-typical{margin-top:28px;padding-top:8px}
.com-typical-title{margin:0 0 6px;font-size:1.15rem;color:#E20074}
.com-typical-grid{margin-top:12px}
.com-typical-card h4{margin:0 0 8px;font-size:1.02rem;color:#1a1a1a}
.com-typical-card p{margin:0;color:#6c757d;font-size:.92rem;line-height:1.45}
.com-sez-grid{display:grid;gap:16px;grid-template-columns:1fr;margin-top:16px}
@media(min-width:700px){.com-sez-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.com-sez-card{min-width:0;height:100%}
.com-sez-card h3{margin:0 0 10px;font-size:1.08rem;color:#E20074}
.com-sez-card p{margin:0;line-height:1.5;color:#1a1a1a;font-size:.95rem}
.com-sez-list{margin:0;padding-inline-start:1.15em;line-height:1.5;font-size:.95rem;color:#1a1a1a}
.com-sez-list li{margin:0 0 8px}
.com-sez-disclaimer{margin-top:12px;padding:10px 12px;background:#fff8fb;border:1px solid #f3c6dc;border-radius:10px;color:#6c757d}
.com-sez-sources{word-break:break-word}
.com-sez-sources a{color:#b8005a;text-decoration:underline}
.com-sez-help .btn{margin-top:12px}
@media(max-width:899px){
  .com-sez-grid,.com-typical-grid{grid-template-columns:1fr}
}
html[dir="rtl"] .com-plot-card{border-inline-start:4px solid #E20074}


/* === Homepage: Lynn "Get in touch" + rotating AI end card (2026-11-04) === */
.contact-hero{display:flex;flex-direction:column;gap:16px;align-items:center;margin:0 0 24px}
.contact-hero .contact-visual{margin:0;width:100%}
.contact-endcard{display:block;width:100%;max-width:560px;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,.08);aspect-ratio:16/9;transition:transform .2s,box-shadow .2s}
.contact-endcard:hover,.contact-endcard:focus-visible{transform:translateY(-2px);box-shadow:0 12px 32px rgba(226,0,116,.22)}
.contact-endcard:focus-visible{outline:3px solid #E20074;outline-offset:3px}
.contact-endcard img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width: 701px){
  /* flex-grow proportional to aspect ratios (1 : 16/9) => identical heights */
  .contact-hero{flex-direction:row;align-items:center;justify-content:center;max-width:1100px;margin:0 auto 24px}
  .contact-hero .contact-visual{flex:1 1 0;min-width:0;max-width:none;aspect-ratio:1/1}
  .contact-hero .contact-endcard{flex:1.7778 1 0;min-width:0;max-width:none}
}
@media (min-width: 900px){ .contact-hero .contact-visual{margin:0;max-width:none} }
/* Contact section grid: Lynn + end card left (wide), form + legal box right. Areas mirror in RTL automatically. */
#contact .contact-main{display:grid;gap:24px;grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "form" "office" "team"}
#contact .contact-main .contact-layout{display:contents}
#contact .contact-main .contact-hero{grid-area:hero;margin:0;max-width:none;width:100%}
#contact .contact-main .contact-layout > div:first-child{grid-area:team}
#contact .contact-main #contactForm{grid-area:form}
#contact .contact-main #contactOffice{grid-area:office}
@media (min-width:1100px){
  #contact .contact-main{grid-template-columns:minmax(0,2.3fr) minmax(300px,1fr);grid-template-areas:"hero form" "team form" "team office";align-items:start}
  #contact .contact-main .contact-hero{align-self:start}
}

/* v53 (2026-11-04): homepage "Unsere Berater" — bot cards ONE column, same width as Albin/Lynn/Cecil
   (explicit override of the pair rule for this list); KI badge no longer hidden behind the photo. */
#contact .team-list .team-bots-row{grid-template-columns:minmax(0,1fr) !important;display:contents}
#contact .team-list .team-card-bot{width:100%;max-width:100%}
#contact .team-list .team-card-bot h3,
#contact .team-list .team-card-bot .team-role{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.team-photo .ki-badge{z-index:2;white-space:nowrap}
.team-photo .ki-badge-sm{bottom:-6px;inset-inline-end:auto;left:50%;transform:translateX(-50%)}
[dir="rtl"] .team-photo .ki-badge-sm{left:auto;right:50%;transform:translateX(50%)}

/* v54 (2026-11-04): bewertung.html "Mit einem Menschen sprechen" — full width, human cards one third each.
   Scoped to #valTrust / .val-layout-single only; homepage unaffected. */
.val-layout.val-layout-single{grid-template-columns:minmax(0,1fr) !important}
#valTrust .val-trust-panel [data-cc] .cc-strip{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){
  #valTrust .val-trust-panel [data-cc] .cc-strip{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
}
#valTrust .val-trust-panel [data-cc] .cc-strip > *{width:100%;max-width:none;min-width:0}
#valTrust a[href^="tel:"],#valTrust a[href*="wa.me"]{white-space:nowrap}
#valTrust a[href^="mailto:"]{white-space:nowrap;overflow-wrap:normal;word-break:normal}
#valTrust h3,#valTrust .cc-role,#valTrust .team-role{overflow-wrap:normal;word-break:normal;hyphens:manual}

/* v55 (2026-11-04, Korrekturen): human advisor strips never squeezed into narrow columns. */
.cc-humans-full{margin-top:24px}
.cc-humans-full .cc-strip.cc-strip-3{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.cc-humans-full .cc-strip.cc-strip-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}}
.cc-humans-full .cc-strip > *{width:100%;max-width:none;min-width:0}
/* any human strip in a column narrower than ~900px stacks instead of 3 slivers (property escrow/bond boxes etc.) */
[data-cc^="humans"]{container-type:inline-size}
@container (max-width: 899px){
  .cc-strip.cc-strip-3{grid-template-columns:minmax(0,1fr) !important}
  .cc-strip.cc-strip-3 > *{width:100%;max-width:none}
}
/* phone / WhatsApp / e-mail links in human cards never break mid-word */
.cc-human a[href^="tel:"],.cc-human a[href*="wa.me"],.team-card a[href^="tel:"]{white-space:nowrap}
.cc-human a[href^="mailto:"],.team-card a[href^="mailto:"]{white-space:nowrap;word-break:normal;overflow-wrap:normal}
/* commercial enquiry: bot pair stacked in the side column (each full column width) */
.com-enquire .cc-bots-pair.cc-bots-stack,
.com-enquire-bots .cc-bots-pair{grid-template-columns:minmax(0,1fr) !important}
.com-enquire-bots .cc-bots-pair > *{max-width:none;width:100%}
/* hero bot pair on commercial at tablet widths: stack below 1200px so names fit */
@media (max-width:1199px){.owner-hero-bots.cc-bots-pair{grid-template-columns:minmax(0,1fr) !important}.owner-hero-bots.cc-bots-pair > *{max-width:none;width:100%}}
.cc-compact h3,.cc-compact .cc-role,.cc-compact p{hyphens:auto;overflow-wrap:break-word}
/* listing cards: badges stacked, photo count bottom corner (no overlap with the heart) */
.listing-media .badge-new,.listing-media .badge-exclusive{top:40px}
.listing-media .badge-new ~ .badge-exclusive{top:70px}
html[dir=rtl] .listing-media .badge-offer{left:auto;right:10px}
.listing-card .listing-media .badge-featured,.listing-media .badge-featured{top:auto;bottom:10px;right:10px;left:auto;inset-inline-start:auto}
html[dir=rtl] .listing-card .listing-media .badge-featured,html[dir=rtl] .listing-media .badge-featured{right:auto;left:10px}
/* v56 Objektseiten: Bots untereinander in Formularbreite, Folgeabschnitte volle Breite */
.detail-layout{padding-bottom:28px}
.detail-after{display:flex;flex-direction:column;gap:28px;padding-bottom:100px;min-width:0}
.detail-after > *{min-width:0;max-width:100%;width:100%}
.detail-after > :empty{display:none}
#agentSidebar .property-ai-beside .cc-bots-pair{display:grid;grid-template-columns:minmax(0,1fr) !important;gap:12px}
#agentSidebar .property-ai-beside .cc-bots-pair > *{width:100%;max-width:none;min-width:0;margin:0}
#agentSidebar .property-ai-beside .cc-compact h3,#agentSidebar .property-ai-beside .cc-compact p,#agentSidebar .property-ai-beside .cc-compact .cc-role{white-space:normal;overflow:visible;text-overflow:clip;hyphens:manual;overflow-wrap:normal;word-break:normal}
/* v56 Nach-oben-Button */
.back-to-top{position:fixed;bottom:20px;inset-inline-end:20px;z-index:92;width:48px;height:48px;min-width:44px;min-height:44px;border-radius:50%;border:0;background:#E20074;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(226,0,116,.4);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s,background-color .2s,bottom .2s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,visibility 0s,background-color .2s,bottom .2s}
.back-to-top:hover{background:#b8005a}
.back-to-top:focus-visible{outline:3px solid #1a1a1a;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.back-to-top,.back-to-top.is-visible{transition:none}}
@media print{.back-to-top{display:none!important}}
@media (max-width:1199px){#tokenNotify .cc-bots-pair{grid-template-columns:minmax(0,1fr) !important}#tokenNotify .cc-bots-pair > *{max-width:none;width:100%}}

/* v58 2026-11-04: Verkauf/Vermieten block at page bottom — Lynn contact image + 6 AI bots */
#ownerNoticeSellRent.section{padding:28px 0 32px}
#ownerNoticeSellRent .owner-notice-grid{align-items:start}
#ownerNoticeSellRent .sr-lynn-card{margin:18px 0 0;max-width:520px;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
#ownerNoticeSellRent .sr-lynn-card img{display:block;width:100%;height:auto}
#ownerNoticeSellRent .sr-lynn-links{display:flex;flex-wrap:wrap;gap:6px 14px;padding:10px 14px;font-size:.92rem}
#ownerNoticeSellRent .sr-lynn-links a{color:#b8005a;font-weight:600;text-decoration:none;white-space:nowrap}
#ownerNoticeSellRent .sr-lynn-links a:hover,#ownerNoticeSellRent .sr-lynn-links a:focus-visible{text-decoration:underline}
#ownerNoticeSellRent .sr-bots{margin-top:24px}
#ownerNoticeSellRent .sr-bots-title{margin:0 0 12px;font-size:1.25rem}
#ownerNoticeSellRent .sr-bots-grid{display:grid;grid-template-columns:1fr;gap:14px;max-width:none}
@media (min-width:600px){#ownerNoticeSellRent .sr-bots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){#ownerNoticeSellRent .sr-bots-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
#ownerNoticeSellRent .sr-bots-grid{align-items:stretch}
#ownerNoticeSellRent .sr-bots-grid > .cc-bot-profile{width:100%;max-width:none;margin:0;height:100%;padding:22px 18px;box-sizing:border-box}
#ownerNoticeSellRent .cc-bot-profile h3{font-size:1.2rem;font-weight:500;margin:4px 0 6px;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:break-word}
#ownerNoticeSellRent .cc-bot-profile .team-role{font-size:.95rem}
#ownerNoticeSellRent .cc-bot-profile .team-desc{font-size:.9rem;text-align:center;flex:1 1 auto}
#ownerNoticeSellRent .cc-bot-profile .team-chat-btn{margin-top:auto;min-width:60%}
@media (max-width:599px){#ownerNoticeSellRent .sr-bots-grid > .cc-bot-profile{max-width:560px;margin-inline:auto}}
@media (max-width:700px){#ownerNoticeSellRent .sr-lynn-card{max-width:560px;margin-inline:auto}}
@media (min-width:701px){
  #ownerNoticeSellRent .owner-notice-grid{align-items:stretch}
  #ownerNoticeSellRent .owner-notice-grid > div:last-child{display:flex;flex-direction:column}
  #ownerNoticeSellRent .owner-notice-grid > div:last-child > .owner-hero-form{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between}
  #ownerNoticeSellRent .owner-notice-grid > div:last-child > .owner-hero-form > *{margin-top:0;margin-bottom:0}
}


/* === 04m filter UX 2026-11-04: no smart-search, no plot, Apply+Reset, +25% list chrome === */
/* === 04m-b gapless 2026-11-04 === */
body.page-list .smart-search-row,
body.page-list .list-smart-hint-sr{display:none!important;margin:0!important;height:0!important;overflow:hidden!important}

/* Scale title → escrow ~25%; never clamp/truncate subtitle or escrow */
body.page-list .list-intro h1.serif{
  /* 2026-11-06 Albin: „Alle Objekte“ 15% kleiner als 04m-Größe */
  font-size:clamp(1.4rem, 1.87vw + 0.85rem, 2rem);
  line-height:1.2;
}
body.page-list .list-intro p,
body.page-list .section-head.list-intro p{
  font-size:1.05rem !important;
  line-height:1.45 !important;
  max-width:48rem;
  margin:0;
  display:block !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  overflow:visible !important;
  text-overflow:unset !important;
  white-space:normal !important;
}
body.page-list .list-count{
  font-size:1.1rem;
  font-weight:600;
}
body.page-list .list-filters.search-card{
  gap:10px;
  padding:14px 16px;
  margin-bottom:14px;
}
body.page-list .list-filters .field label{
  font-size:.78rem;
  letter-spacing:.03em;
  margin-bottom:4px;
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  line-height:1.25;
}
body.page-list .list-filters .field input,
body.page-list .list-filters .field select{
  padding:11px 12px;
  font-size:1rem;
  min-height:44px;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
}
body.page-list .field-price .price-cur-label{font-size:.78rem}
body.page-list .filters-primary,
body.page-list .filters-more{gap:10px}

body.page-list .filters-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  width:100%;
  margin-top:2px;
}
html[dir="rtl"] body.page-list .filters-actions{justify-content:flex-start}
body.page-list .filters-actions .btn{
  padding:11px 18px;
  font-size:.95rem;
  min-height:44px;
  white-space:nowrap;
}

/* Escrow: full text wraps, link visible — no 1-line clamp */
body.page-list details.escrow-list-note{
  display:block !important;
  margin:.45rem 0 .35rem;
  padding:8px 12px;
  font-size:.95rem;
  line-height:1.45;
  max-width:100%;
}
body.page-list details.escrow-list-note > summary{
  cursor:default;
  list-style:none;
  display:block !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  overflow:visible !important;
  white-space:normal !important;
  text-overflow:unset !important;
  font-size:inherit;
  line-height:inherit;
}
body.page-list details.escrow-list-note > summary::-webkit-details-marker{display:none}
body.page-list details.escrow-list-note > summary::before{
  content:"▸ ";
  color:#E20074;
  font-weight:700;
}
body.page-list details.escrow-list-note[open] > summary::before{content:"▾ "}
body.page-list details.escrow-list-note a{
  display:inline;
  white-space:normal;
}

@media(min-width:900px){
  body.page-list .filters-primary{grid-template-columns:repeat(5,minmax(0,1fr))}
  body.page-list .filters-more{grid-template-columns:repeat(4,minmax(0,1fr))}
  /* Mehr-Filter only on small screens */
  body.page-list .filters-more-toggle{display:none !important}
}
@media(min-width:700px) and (max-width:899px){
  body.page-list .filters-primary{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.page-list .filters-more{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.page-list .filters-more-toggle{display:none !important}
}
@media(max-width:699px){
  body.page-list .list-intro h1.serif{font-size:1.32rem} /* 15% smaller than 1.55rem */
  body.page-list .list-intro p,
  body.page-list .section-head.list-intro p{font-size:.95rem !important}
  body.page-list .list-filters.search-card{padding:12px;gap:8px}
  body.page-list .list-filters .field input,
  body.page-list .list-filters .field select{padding:10px;font-size:.95rem;min-height:42px}
  /* Gapless: offer|area, type|priceFrom, priceTo|Mehr Filter */
  body.page-list .filters-primary{
    grid-template-columns:1fr 1fr;
  }
  body.page-list .filters-primary .filters-more-toggle{
    grid-column:auto !important;
    justify-self:stretch;
    width:100%;
    padding:10px 12px;
    font-size:.9rem;
    min-height:42px;
    white-space:normal;
  }
  body.filters-more-open .filters-more{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  body.page-list .list-filters > .filters-actions{justify-content:stretch}
  body.page-list .list-filters > .filters-actions .btn{
    flex:1 1 calc(50% - 6px);
    min-width:0;
  }
  body.page-list details.escrow-list-note{
    display:block !important;
    font-size:.88rem;
  }
  body.page-list main > .section{padding:14px 0 22px}
}

/* Homepage hero: stretch rows full width, equal 5-col gapless grid */
.search-card.search-card--two-row.search-card--home-filled{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100%;
  max-width:100%;
  gap:10px;
  grid-template-columns:none !important;
}
.search-card.search-card--two-row.search-card--home-filled .search-row{
  display:grid !important;
  gap:10px;
  align-items:end;
  width:100% !important;
  max-width:100%;
  margin:0 !important;
  box-sizing:border-box;
  grid-template-columns:minmax(0,1fr) !important;
}
@media(min-width:700px){
  .search-card.search-card--two-row.search-card--home-filled .search-row,
  .search-card.search-card--two-row.search-card--home-filled .search-row:first-child,
  .search-card.search-card--two-row.search-card--home-filled .search-row:last-child{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  }
  .search-card.search-card--two-row.search-card--home-filled .search-row .btn-primary{
    width:100%;
    justify-self:stretch;
    white-space:normal;
    min-height:44px;
  }
}
@media(max-width:699px){
  /* 9 Felder + Button = 10 → 5×2 lückenlos; Button neben Sortieren, nicht volle Breite */
  .search-card.search-card--two-row.search-card--home-filled{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px;
    align-items:end;
  }
  .search-card.search-card--two-row.search-card--home-filled .search-row{
    display:contents !important;
  }
  .search-card.search-card--two-row.search-card--home-filled .btn-primary{
    grid-column:auto;
    width:100%;
    min-height:44px;
    white-space:normal;
    align-self:end;
  }
}
html[dir="rtl"] .search-card.search-card--two-row.search-card--home-filled .search-row{
  direction:rtl;
}


/* === v65 2026-11-06 stacked large bots in right columns === */
/* Fill enquire / property sidebars with up to 3 large profile cards (Albin Bild 1 format). */
.com-enquire-bots,
.property-ai-beside{
  min-width:0;
  width:100%;
}
.com-enquire-bots .cc-bots-pair.cc-bots-stack,
.com-enquire .cc-bots-pair.cc-bots-stack,
.property-ai-beside .cc-bots-pair.cc-bots-stack,
#agentSidebar .property-ai-beside .cc-bots-pair{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:14px;
  align-content:start;
  width:100%;
}
.com-enquire-bots .cc-bots-pair > *,
.property-ai-beside .cc-bots-pair > *,
#agentSidebar .property-ai-beside .cc-bots-pair > *{
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
}
.com-enquire-bots .cc-bot-profile,
.property-ai-beside .cc-bot-profile,
#agentSidebar .cc-bot-profile{
  width:100%;
  max-width:none;
  margin:0;
  padding:22px 18px;
  box-sizing:border-box;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  border:1px solid #e0e0e0;
  border-color:#f3c2da;
  border-radius:14px;
  background:#fff;
}
.com-enquire-bots .cc-bot-profile .team-photo-wrap,
.property-ai-beside .cc-bot-profile .team-photo-wrap{
  width:140px;height:140px;margin:0 auto 12px;
}
.com-enquire-bots .cc-bot-profile h3,
.property-ai-beside .cc-bot-profile h3{
  font-size:1.15rem;
  font-weight:500;
  margin:4px 0 6px;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:break-word;
  word-break:normal;
  text-align:center;
}
.com-enquire-bots .cc-bot-profile .team-role,
.property-ai-beside .cc-bot-profile .team-role{
  font-size:.95rem;
  color:#b8005a;
  font-weight:700;
  margin:0 0 8px;
  text-align:center;
}
.com-enquire-bots .cc-bot-profile .team-desc,
.property-ai-beside .cc-bot-profile .team-desc{
  font-size:.9rem;
  text-align:center;
  color:#6c757d;
  flex:1 1 auto;
  margin:0 0 14px;
}
.com-enquire-bots .cc-bot-profile .ki-badge,
.property-ai-beside .cc-bot-profile .ki-badge{
  margin:0 0 10px;
}
.com-enquire-bots .cc-bot-profile .team-chat-btn,
.property-ai-beside .cc-bot-profile .team-chat-btn{
  margin-top:auto;
  min-width:60%;
  background:#E20074;
  border-color:#E20074;
}
@media (min-width:960px){
  .com-enquire{align-items:start}
  .com-enquire-bots{align-self:stretch}
}
@media (max-width:700px){
  .com-enquire-bots .cc-bot-profile,
  .property-ai-beside .cc-bot-profile,
  #agentSidebar .cc-bot-profile{
    max-width:560px;
    margin-inline:auto;
  }
  .com-enquire-bots .cc-bots-pair.cc-bots-stack,
  .property-ai-beside .cc-bots-pair.cc-bots-stack{
    max-width:560px;
    margin-inline:auto;
  }
}
html[dir="rtl"] .com-enquire-bots .cc-bot-profile,
html[dir="rtl"] .property-ai-beside .cc-bot-profile{
  text-align:center;
}

/* ===== 2026-11-06 Karriere-Hub, Makler/Staff/Partner, Über-uns-Erweiterung (cx-*) ===== */
.cx-hero{padding:40px 0 28px;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.cx-hero-grid{display:grid;gap:24px;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.cx-hero-grid{grid-template-columns:1.05fr 1fr;gap:36px}}
.cx-hero .eyebrow{color:var(--magenta);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;margin:0 0 8px}
.cx-hero h1{font-size:clamp(1.7rem,3.2vw,2.5rem);margin:0 0 12px}
.cx-hero .lead{color:var(--muted);max-width:38rem;margin:0 0 18px}
.cx-hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.cx-hero-media{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;min-width:0}
.cx-hero-media figure{margin:0;position:relative;border-radius:14px;overflow:hidden;background:#eee;min-width:0}
.cx-hero-media figure:first-child{grid-row:span 2}
.cx-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.cx-hero-media figure:first-child img{aspect-ratio:4/5}
.cx-hero-media figure:not(:first-child) img{aspect-ratio:4/3}
.cx-credit{position:absolute;inset-inline-end:6px;bottom:6px;background:rgba(0,0,0,.55);color:#fff;font-size:.66rem;line-height:1.2;padding:3px 6px;border-radius:6px;max-width:calc(100% - 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-credit a{color:#fff;text-decoration:underline}
.cx-draft-note{display:flex;gap:10px;align-items:flex-start;background:#fff4fa;border:1px solid #f5b5d6;border-inline-start:4px solid var(--magenta);border-radius:12px;padding:12px 14px;color:#5b1238;font-size:.92rem;margin:0 0 18px}
.cx-draft-note .cx-badge{flex:0 0 auto}
.cx-badge{display:inline-block;background:var(--magenta);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}
.cx-badge.cx-badge-soft{background:var(--secondary-tint);color:#006778}
/* Path cards (3 Einstiege) */
.cx-paths{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:600px){.cx-paths{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.cx-paths{grid-template-columns:repeat(3,1fr)}}
.cx-path{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);min-width:0}
.cx-path figure{margin:0;position:relative}
.cx-path img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center 30%}
.cx-path-body{display:flex;flex-direction:column;gap:8px;padding:18px;flex:1}
.cx-path-body h3{margin:0;font-size:1.12rem}
.cx-path-body p{margin:0;color:var(--muted);font-size:.93rem;flex:1}
.cx-path-body .btn{align-self:flex-start;margin-top:6px}
/* generic 2-col split (text + media / video) */
.cx-split{display:grid;gap:22px;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.cx-split{grid-template-columns:1fr 1fr;gap:32px}}
.cx-split > *{min-width:0}
/* Video-Platzhalter */
.cx-video{position:relative;margin:0;border-radius:16px;overflow:hidden;background:#1a1a1a;aspect-ratio:16/9;min-height:200px}
.cx-video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(.9)}
.cx-video::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(226,0,116,.55),rgba(74,20,140,.55))}
.cx-video-inner{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:18px;color:#fff}
.cx-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-62%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--magenta);display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.cx-play::before{content:"";display:block;margin-inline-start:5px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--magenta)}
html[dir="rtl"] .cx-play::before{margin-inline-start:0;margin-inline-end:5px;border-width:11px 18px 11px 0;border-color:transparent var(--magenta) transparent transparent}
.cx-video-inner h3{margin:0;font-size:1.1rem;color:#fff}
.cx-video-inner p{margin:0;font-size:.88rem;opacity:.92}
.cx-video-inner .cx-badge{align-self:flex-start;background:#fff;color:var(--magenta-dark)}
/* Steps */
.cx-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:1fr;counter-reset:cxstep}
@media(min-width:600px){.cx-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.cx-steps{grid-template-columns:repeat(4,1fr)}}
.cx-steps li{counter-increment:cxstep;background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;position:relative}
.cx-steps li::before{content:counter(cxstep);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#E20074,#b8005a);color:#fff;font-weight:700;margin-bottom:10px}
.cx-steps h3{margin:0 0 6px;font-size:1rem}
.cx-steps p{margin:0;color:var(--muted);font-size:.9rem}
/* Card grid 2/3/4 */
.cx-cards{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:600px){.cx-cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.cx-cards.cx-cols-3{grid-template-columns:repeat(3,1fr)}.cx-cards.cx-cols-4{grid-template-columns:repeat(4,1fr)}}
.cx-cards > .svc-card{height:100%}
.cx-cards .svc-card .cx-badge{margin-top:10px}
/* Checklisten */
.cx-check{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cx-check li{position:relative;padding-inline-start:30px;line-height:1.45}
.cx-check li::before{content:"✓";position:absolute;inset-inline-start:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--magenta);color:#fff;font-size:.75rem;display:flex;align-items:center;justify-content:center}
/* Portfolio-Kacheln */
.cx-portfolio{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.cx-portfolio{grid-template-columns:repeat(4,1fr)}}
.cx-portfolio a{position:relative;display:block;border-radius:12px;overflow:hidden;color:#fff;text-decoration:none;background:#ddd}
.cx-portfolio img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}
.cx-portfolio a:hover img{transform:scale(1.04)}
.cx-portfolio span{position:absolute;inset-inline:0;bottom:0;padding:22px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.7));font-size:.85rem;font-weight:600}
/* FAQ */
.cx-faq{display:grid;gap:10px}
.cx-faq details{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.cx-faq summary{cursor:pointer;font-weight:600;list-style:none}
.cx-faq summary::-webkit-details-marker{display:none}
.cx-faq summary::after{content:"+";float:inline-end;color:var(--magenta);font-weight:700}
.cx-faq details[open] summary::after{content:"–"}
.cx-faq details p{margin:10px 0 0;color:var(--muted)}
/* Partner-Interessenformular */
.cx-form{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:600px){.cx-form{grid-template-columns:repeat(2,1fr)}.cx-form .cx-full{grid-column:1/-1}}
.cx-form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}
.cx-form input,.cx-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font:inherit}
.cx-form textarea{min-height:90px;resize:vertical}
.cx-form .btn{justify-self:start}
.cx-terms{background:#fff;border:1px dashed var(--magenta);border-radius:14px;padding:18px}
.cx-terms h3{margin:0 0 6px}
.cx-terms p{margin:0;color:var(--muted)}
.cx-mini-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cx-role-link{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){.cx-hero-media{grid-template-columns:1fr 1fr}.cx-video{min-height:180px}.cx-play{width:52px;height:52px}}
@media(min-width:1000px){.jobs-grid.cx-jobs-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.cx-split .cx-portfolio{grid-template-columns:repeat(2,1fr)}}

/* ===== 2026-11-06 Makler beide Wege (agPaths) ===== */
.cx-paths.cx-paths-2{grid-template-columns:1fr}
@media(min-width:600px){.cx-paths.cx-paths-2{grid-template-columns:repeat(2,1fr)}}
.cx-path .eyebrow{margin:0 0 4px;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--magenta,#E20074);font-weight:600}
.cx-path .cx-check{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.cx-path .cx-check li{position:relative;padding-inline-start:1.4em;color:var(--muted,#6c757d);font-size:.92rem}
.cx-path .cx-check li::before{content:"✓";position:absolute;inset-inline-start:0;color:var(--magenta,#E20074);font-weight:700}
.cx-legal-note{margin:18px 0 0;padding:14px 16px;background:#fff;border:1px solid var(--border,#e0e0e0);border-radius:12px;color:var(--muted,#6c757d);font-size:.88rem;line-height:1.45}

.cx-orient{margin:22px 0 0;background:#fff;border:1px solid #f5b5d6;border-inline-start:4px solid var(--magenta,#E20074);border-radius:14px;padding:18px 20px}
.cx-orient-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 8px}
.cx-orient-head h3{margin:0;font-size:1.15rem}
.cx-orient .cx-badge{background:#fff4fa;color:#b8005a;border:1px solid #f5b5d6;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;letter-spacing:.02em}
.cx-orient-lead{margin:0 0 12px;color:var(--muted,#6c757d);font-size:.95rem}
.cx-orient-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cx-orient-list li{display:grid;gap:2px;padding:10px 12px;background:#f7f9fc;border:1px solid var(--border,#e0e0e0);border-radius:10px}
.cx-orient-list .k{font-size:.82rem;color:var(--muted,#6c757d)}
.cx-orient-list .v{font-weight:600;color:#1a1a1a;font-size:.98rem}
.cx-orient-note{margin:12px 0 0;font-size:.86rem;line-height:1.45;color:var(--muted,#6c757d)}
.cx-orient-fx{margin:6px 0 0;font-size:.8rem;color:#8a8f98}
@media(min-width:700px){.cx-orient-list.cx-orient-grid{grid-template-columns:repeat(2,1fr)}}


/* 2026-11-06 Lynn-Strecke: echte Videos ohne Overlay (kein cx-video) */
.owner-hero-photo video{display:block;width:100%;height:auto;max-height:200px;object-fit:cover;object-position:center 30%;background:#1a1a1a}
@media(min-width:900px){.owner-hero-photo video{max-height:220px}}
@media(max-width:390px){.owner-hero-photo video{max-height:180px}}
.owner-process-media{position:relative;width:100%;aspect-ratio:16/9;margin:0 0 24px;border-radius:12px;overflow:hidden;background:#1a1a1a}
.owner-process-media video{display:block;width:100%;height:100%;object-fit:cover;background:#1a1a1a}
.cx-hero-media img.cx-hero-img--lynn{object-position:center 42%}

/* 2026-11-06 Visual-Rest: echte Player ohne Magenta-Overlay */
.owner-drone-media{margin:24px 0 0}
.cx-video-player{margin:0;min-width:0;background:#fff;border:1px solid #e0e0e0;border-radius:16px;overflow:hidden}
.cx-video-player-frame,.home-concept-reel{position:relative;width:100%;aspect-ratio:16/9;background:#1a1a1a;overflow:hidden}
.cx-video-player-frame video,.home-concept-reel video{display:block;width:100%;height:100%;object-fit:cover;background:#1a1a1a}
.cx-video-player-btn{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;margin:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cx-video-player-icon{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .15s ease}
.cx-video-player-btn:hover .cx-video-player-icon,.cx-video-player-btn:focus-visible .cx-video-player-icon{transform:scale(1.06)}
.cx-video-player-btn:focus-visible{outline:3px solid #E20074;outline-offset:-3px}
.cx-video-player-icon::before{content:"";display:block;margin-inline-start:5px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #E20074}
html[dir="rtl"] .cx-video-player-icon::before{margin-inline-start:0;margin-inline-end:5px;border-width:11px 18px 11px 0;border-color:transparent #E20074 transparent transparent}
[data-cx-player].is-playing .cx-video-player-btn{display:none}
.cx-video-player-cap{padding:14px 16px 16px}
.cx-video-player-cap h3{margin:0 0 4px;font-size:1.1rem;color:#1a1a1a}
.cx-video-player-cap p{margin:0;font-size:.9rem;color:#6c757d}
.home-concept-reels{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 2px 16px;margin:0 0 8px}
.home-concept-reels::-webkit-scrollbar{height:6px}
.home-concept-reels::-webkit-scrollbar-thumb{background:#E20074;border-radius:3px}
.home-concept-reel{flex:0 0 min(82vw,360px);scroll-snap-align:start;border-radius:14px;border:1px solid #e0e0e0}
@media(min-width:900px){
  .home-concept-reels{display:grid;grid-template-columns:repeat(6,1fr);overflow:visible;scroll-snap-type:none;padding-bottom:4px;margin-bottom:20px}
  .home-concept-reel{grid-column:span 2}
  .home-concept-reel:nth-child(-n+2){grid-column:span 3}
}
@media(max-width:700px){.cx-video-player-icon{width:52px;height:52px}}

/* 2026-11-06 Villen-Touren: Mid-Page-Breaks ohne Magenta-Overlay */
.page-mid-break .container{min-width:0}
.page-mid-media{margin:0}
.page-mid-grid{display:grid;grid-template-columns:1fr;gap:16px;min-width:0}
@media(min-width:760px){.page-mid-grid--2{grid-template-columns:1fr 1fr}.page-mid-grid--3{grid-template-columns:repeat(3,1fr)}}
.page-mid-player,.page-mid-figure{position:relative;width:100%;min-width:0;aspect-ratio:16/9;margin:0;border-radius:12px;overflow:hidden;background:#1a1a1a}
.page-mid-player video,.page-mid-figure img{display:block;width:100%;height:100%;object-fit:cover;background:#1a1a1a}
.page-mid-figure img{object-position:center 35%}
.section.page-mid-break{padding-top:12px;padding-bottom:12px}

/* Targeted readability: third-line legal notice in the tokenization hub hero only. */
.page-token:not(.page-token-class) .token-hero > .container > .token-info-only[data-i18n="tokenInfoOnlyNotice"]{
  color:#fff;
  font-size:1rem;
  font-weight:600;
  line-height:1.6;
}

/* Approved Nairobi campaign visuals: compact paired media, never listing data. */
.nairobi-campaign{margin-block:24px}
.nairobi-campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.nairobi-campaign-card{margin:0;min-width:0;overflow:hidden;border-radius:12px;background:#fff}
.nairobi-campaign-card img,.nairobi-campaign-card video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.nairobi-campaign-note{margin:10px 0 0;font-size:.875rem;line-height:1.55;color:#505861}
@media(max-width:700px){.nairobi-campaign-grid{grid-template-columns:minmax(0,1fr);gap:16px}}

/* Match the second legal line to the approved 16px third line, hub only. */
.page-token:not(.page-token-class) .token-hero > .container > .token-tagline{
  color:#fff;
  font-size:1rem;
  line-height:1.6;
}

/* Preserve the corrected Runda photograph’s complete composition. */
#sellTrustCampaign img{aspect-ratio:auto}

/* Approved AI concept illustrations, separate from actual human/bot contact cards. */
.ai-concept-scene{width:calc((100% - 20px)/2);max-width:560px;margin:24px 0;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#fff}
.ai-concept-scene img{display:block;width:100%;height:auto}
.ai-concept-scene figcaption{padding:12px 14px;color:#505861;font-size:.875rem;line-height:1.55}
.ai-concept-scene figcaption strong{display:block;margin-top:6px;color:#1a1a1a;font-weight:600}
@media(max-width:700px){.ai-concept-scene{width:100%;margin-inline:auto}}

/* Only the six selected campaign images; no listings or contact portrait replacements. */
.six-picks{margin-block:24px}
.six-picks-grid,.six-picks-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.six-picks-split{margin-block:20px}
.six-picks-split > *{min-width:0}
.six-picks-card{margin:0;min-width:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e0e0e0}
.six-picks-card img{display:block;width:100%;height:auto}
.six-picks-card figcaption{padding:10px 12px;font-size:.875rem;line-height:1.55;color:#505861}
.six-picks-portrait img{height:320px;object-fit:contain}
#rentalSelectedCampaign .owner-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.six-picks-grid,.six-picks-split{grid-template-columns:minmax(0,1fr)}#rentalSelectedCampaign .owner-steps{grid-template-columns:minmax(0,1fr)}}

/* Expanded approved campaign/AI scenes, confined to existing topic sections. */
.expanded-scenes{grid-column:1/-1;min-width:0;margin:24px 0}
.expanded-scenes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.expanded-scenes-solo{width:calc((100% - 20px)/2);max-width:560px}
.expanded-scenes-solo .expanded-scenes-grid{grid-template-columns:minmax(0,1fr)}
.expanded-scene{margin:0;min-width:0;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden;background:#fff}
.expanded-scene img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain}
.expanded-scene figcaption,.expanded-scenes-note{font-size:.875rem;line-height:1.55;color:#505861}
.expanded-scene figcaption{padding:10px 12px}
.expanded-scenes-note{margin:10px 0 0}
@media(max-width:700px){.expanded-scenes-grid{grid-template-columns:minmax(0,1fr)}.expanded-scenes-solo{width:100%;margin-inline:auto}}

/* Pair the existing Lynn concept with Cecil's new concept, not actual contact cards. */
.expanded-existing-assistant-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.expanded-existing-assistant-pair > .ai-concept-scene,.expanded-existing-assistant-pair > .expanded-scenes-solo{width:100%;max-width:none;min-width:0}
@media(max-width:700px){.expanded-existing-assistant-pair{grid-template-columns:minmax(0,1fr)}}

.expanded-existing-assistant-pair > .expanded-scenes{grid-column:auto}

/* Land-tool consent/loading states: author display:flex must never override hidden. */
.land-tool-box [hidden]{display:none!important}
[data-land-tool-state="idle"] .land-tool-frame-wrap{min-height:0}

/* About introduction only: compact vertical rhythm, no content/grid/width reset. */
body.page-about main > .page-hero{padding-block:32px 12px}
body.page-about main > .page-hero h1{margin-block:0 8px}
body.page-about main > .page-hero .lead{margin-block:0}
body.page-about #aboutCompany{padding-block:16px 28px}
body.page-about #aboutCompany .prose > p{margin-block:0}
body.page-about #aboutCompany .prose > p + p{margin-block-start:12px}
body.page-about #abVisionSection{padding-block:32px}
@media(max-width:700px){
  body.page-about main > .page-hero{padding-block:24px 10px}
  body.page-about #aboutCompany{padding-block:12px 20px}
  body.page-about #abVisionSection{padding-block:24px}
}


/* Punkt3 gallery: white frame, border, 12px radius, margin-only neighbors (rebased; not old v76 zip) */
.gallery-main{background:#fff;isolation:isolate;touch-action:pan-y pinch-zoom}
.gallery-main > #galleryHero,.lightbox #lbImg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;object-fit:contain;flex:0 0 auto;z-index:2;border-radius:12px;background:#fff;border:1px solid #e5e7eb;box-sizing:border-box}
.gallery-side{position:absolute;padding:0;border:0;border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;z-index:3;box-shadow:0 0 0 1px #e5e7eb}
.gallery-side[hidden]{display:none}
.gallery-side > img{position:absolute;top:0;max-width:none;max-height:none;object-fit:contain;cursor:pointer;pointer-events:none;transform:none;border-radius:0}
.gallery-side:focus-visible{outline:3px solid #E20074;outline-offset:2px}
.gallery-count{z-index:6;background:#fff;color:#1a1a1a;border:1px solid #6c757d}
.lightbox{background:#fff;isolation:isolate}
.lb-stage{position:absolute;inset:64px 12px;overflow:hidden;background:#fff;touch-action:pan-y pinch-zoom}
.lightbox .lb-close,.lightbox .lb-prev,.lightbox .lb-next{background:#fff;color:#1a1a1a;border:1px solid #6c757d;z-index:6;box-shadow:0 1px 5px #0002}
.lightbox .lb-close:focus-visible,.lightbox .lb-prev:focus-visible,.lightbox .lb-next:focus-visible{outline:3px solid #E20074;outline-offset:2px}
.lightbox .lb-meta{color:#1a1a1a;background:#fff;bottom:12px;max-height:40px;overflow:auto;padding:0 12px;box-sizing:border-box}
.lightbox .lb-meta > span{min-width:0}
html[dir="rtl"] .lightbox .lb-prev,html[dir="rtl"] .lightbox .lb-next{transform:scaleX(-1)}
