:root {
    --ekds-lp-bg: #f7f7f4;
    --ekds-lp-surface: #ffffff;
    --ekds-lp-text: #171a18;
    --ekds-lp-muted: #626963;
    --ekds-lp-line: #dfe3df;
    --ekds-lp-accent: #1d5b45;
    --ekds-lp-accent-strong: #134534;
    --ekds-lp-radius: 18px;
    --ekds-lp-max: 1180px;
}

body.ekds-lp-shell,
body.ekds-landing-page-active {
    margin: 0;
    background: var(--ekds-lp-bg);
    color: var(--ekds-lp-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.65;
}

.ekds-lp-shell *, .ekds-lp-shell *::before, .ekds-lp-shell *::after { box-sizing: border-box; }
.ekds-lp-shell img { max-width: 100%; height: auto; }
.ekds-lp-shell a { color: inherit; text-underline-offset: .18em; }
.ekds-lp-skip { position: fixed; left: 12px; top: -100px; z-index: 99999; padding: 10px 14px; background: #fff; border: 1px solid var(--ekds-lp-line); }
.ekds-lp-skip:focus { top: 12px; }

.ekds-lp-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(247,247,244,.94);
    border-bottom: 1px solid var(--ekds-lp-line);
    backdrop-filter: blur(12px);
}
.ekds-lp-header__inner {
    width: min(calc(100% - 36px), var(--ekds-lp-max));
    min-height: 76px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
}
.ekds-lp-brand { text-decoration: none; display: flex; align-items: baseline; gap: 9px; white-space: nowrap; }
.ekds-lp-brand__name { font-weight: 760; letter-spacing: -.03em; font-size: 1.05rem; }
.ekds-lp-brand__subtitle { font-size: .74rem; color: var(--ekds-lp-muted); }
.ekds-lp-header__cta,
.ekds-lp-button,
a.ekds-lp-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    background: var(--ekds-lp-accent);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid var(--ekds-lp-accent);
}
.ekds-lp-header .ekds-lp-header__cta,
.ekds-lp-header .ekds-lp-header__cta:link,
.ekds-lp-header .ekds-lp-header__cta:visited { color: #fff !important; }
.ekds-lp-header__cta-icon { width: 20px; height: 20px; object-fit: contain; flex: 0 0 20px; }
.ekds-lp-header__cta:hover, .ekds-lp-button:hover { background: var(--ekds-lp-accent-strong); color: #fff !important; }

.ekds-lp-main { min-height: 70vh; }
.ekds-lp-main > section,
.ekds-lp-main > .ekds-lp-section {
    width: min(calc(100% - 36px), var(--ekds-lp-max));
    margin: 0 auto;
    padding: 92px 0;
    scroll-margin-top: 90px;
}
.ekds-lp-main > section + section,
.ekds-lp-main > .ekds-lp-section + .ekds-lp-section { border-top: 1px solid var(--ekds-lp-line); }
.ekds-lp-main h1, .ekds-lp-main h2, .ekds-lp-main h3 { line-height: 1.08; letter-spacing: -.035em; margin: 0 0 .55em; }
.ekds-lp-main h1 { font-size: clamp(2.7rem, 7vw, 6.2rem); max-width: 13ch; }
.ekds-lp-main h2 { font-size: clamp(2rem, 4.4vw, 4rem); max-width: 18ch; }
.ekds-lp-main h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
.ekds-lp-main p { max-width: 72ch; margin: 0 0 1.25em; text-align: justify; text-justify: inter-word; hyphens: auto; }
.ekds-lp-main li { text-align: justify; text-justify: inter-word; hyphens: auto; }
.ekds-lp-main ul, .ekds-lp-main ol { max-width: 74ch; padding-left: 1.35em; }
.ekds-lp-kicker { margin-bottom: 16px !important; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 800; color: var(--ekds-lp-accent); }
.ekds-lp-lead { font-size: clamp(1.12rem, 2vw, 1.42rem); color: #3c443f; max-width: 62ch !important; }
.ekds-lp-hero { min-height: min(760px, calc(100vh - 76px)); display: grid; align-content: center; }
.ekds-lp-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ekds-lp-grid, .ekds-lp-card-grid, .ekds-lp-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ekds-lp-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ekds-lp-card { padding: 28px; border: 1px solid var(--ekds-lp-line); border-radius: var(--ekds-lp-radius); background: var(--ekds-lp-surface); }
.ekds-lp-card p:last-child { margin-bottom: 0; }
.ekds-lp-media { border-radius: var(--ekds-lp-radius); overflow: hidden; background: #e9ece8; }
.ekds-lp-media img { display: block; width: 100%; }
.ekds-lp-cta { padding: clamp(32px, 6vw, 72px); border-radius: calc(var(--ekds-lp-radius) + 8px); background: #17231e; color: #fff; }
.ekds-lp-cta p { color: #dbe3de; }
/* FAQ accordions mirror the established ekosphere interaction pattern. */
.ekds-lp-faq { counter-reset: ekds-lp-faq-step; }
.ekds-lp-faq details {
    min-width: 0;
    margin: 0 0 16px;
    overflow: hidden;
    border: 1px solid var(--ekds-lp-line);
    border-radius: var(--ekds-lp-radius);
    background: var(--ekds-lp-surface);
    transition: box-shadow .2s ease, transform .2s ease;
}
.ekds-lp-faq details:last-of-type { margin-bottom: 0; }
.ekds-lp-faq summary {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
    background: #F9FAFB;
    color: var(--ekds-lp-text);
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
}
.ekds-lp-faq summary::-webkit-details-marker { display: none; }
.ekds-lp-faq summary::marker { content: ""; }
.ekds-lp-faq summary::before {
    counter-increment: ekds-lp-faq-step;
    content: counter(ekds-lp-faq-step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border: 2px solid var(--ekds-lp-accent);
    border-radius: var(--ekds-lp-radius);
    background: var(--ekds-lp-surface);
    color: var(--ekds-lp-accent);
    font-size: .86rem;
    font-weight: 800;
}
.ekds-lp-faq summary::after {
    content: "▾";
    margin-left: auto;
    color: var(--ekds-lp-accent);
    opacity: .8;
    transition: transform .2s ease;
}
.ekds-lp-faq summary:hover {
    background: #F3F4F6;
}
.ekds-lp-faq summary:focus-visible {
    outline: 2px solid var(--ekds-lp-accent);
    outline-offset: -2px;
}
.ekds-lp-faq details[open] {
    box-shadow: 0 6px 16px rgba(15, 23, 42, .12);
    transform: translateY(-1px);
}
.ekds-lp-faq details[open] > summary::after { transform: rotate(180deg); }
.ekds-lp-faq .ekds-lp-faq__panel {
    margin: 0;
    padding: 14px 16px 16px;
    border-top: 1px solid var(--ekds-lp-line);
    background: var(--ekds-lp-surface);
}
.ekds-lp-faq .ekds-lp-faq__panel > :first-child { margin-top: 0; }
.ekds-lp-faq .ekds-lp-faq__panel > :last-child { margin-bottom: 0; }
.ekds-lp-faq details[open] > .ekds-lp-faq__panel { animation: ekds-lp-faq-reveal .18s ease; }
@keyframes ekds-lp-faq-reveal {
    from { opacity: 0; transform: translateY(-2px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
    .ekds-lp-faq details,
    .ekds-lp-faq summary::after,
    .ekds-lp-faq details[open] > .ekds-lp-faq__panel { transition: none; animation: none; }
}

.ekds-lp-footer { border-top: 1px solid var(--ekds-lp-line); padding: 34px 0; background: var(--ekds-lp-surface); }
.ekds-lp-footer__inner { width: min(calc(100% - 36px), var(--ekds-lp-max)); margin: 0 auto; display: flex; justify-content: space-between; gap: 24px; align-items: center; }
.ekds-lp-footer__inner > div { display: flex; gap: 10px; align-items: baseline; }
.ekds-lp-footer__inner span { color: var(--ekds-lp-muted); font-size: .82rem; }
.ekds-lp-footer nav { display: flex; gap: 18px; font-size: .82rem; }

@media (max-width: 980px) {
    .ekds-lp-header__inner { grid-template-columns: 1fr auto; gap: 14px; min-height: 68px; }
    .ekds-lp-main > section, .ekds-lp-main > .ekds-lp-section { padding: 72px 0; scroll-margin-top: 118px; }
    .ekds-lp-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    body.ekds-lp-shell, body.ekds-landing-page-active { font-size: 17px; }
    .ekds-lp-header__inner, .ekds-lp-main > section, .ekds-lp-main > .ekds-lp-section, .ekds-lp-footer__inner { width: min(calc(100% - 28px), var(--ekds-lp-max)); }
    .ekds-lp-brand__subtitle { display: none; }
    .ekds-lp-header__cta { min-height: 40px; padding: 0 14px; font-size: .78rem; }
    .ekds-lp-grid, .ekds-lp-card-grid, .ekds-lp-columns { grid-template-columns: 1fr; }
    .ekds-lp-main > section, .ekds-lp-main > .ekds-lp-section { padding: 58px 0; }
    .ekds-lp-footer__inner { align-items: flex-start; flex-direction: column; }
}


/* 12.4.19 — legal pages inherit the DS Landingpage visual shell without rewriting content. */
body.ekds-legal-page-shell { background: var(--ekds-lp-bg); color: var(--ekds-lp-text); }
body.ekds-legal-page-shell *, body.ekds-legal-page-shell *::before, body.ekds-legal-page-shell *::after { box-sizing: border-box; }
.ekds-legal-main { width: min(calc(100% - 36px), 980px); margin: 0 auto; padding: clamp(54px, 8vw, 104px) 0; min-height: 70vh; }
.ekds-legal-content { padding: clamp(28px, 5vw, 64px); background: var(--ekds-lp-surface); border: 1px solid var(--ekds-lp-line); border-radius: var(--ekds-lp-radius); box-shadow: 0 12px 40px rgba(15,23,42,.05); overflow-wrap: anywhere; }
.ekds-legal-content > :first-child { margin-top: 0 !important; }
.ekds-legal-content > :last-child { margin-bottom: 0 !important; }
.ekds-legal-content h1,.ekds-legal-content h2,.ekds-legal-content h3,.ekds-legal-content h4 { color: var(--ekds-lp-text); line-height: 1.12; letter-spacing: -.025em; text-align: left; }
.ekds-legal-content h1 { font-size: clamp(2.2rem, 5vw, 4.4rem); margin: 0 0 .7em; }
.ekds-legal-content h2 { font-size: clamp(1.55rem, 3vw, 2.5rem); margin: 1.8em 0 .65em; padding-top: .15em; }
.ekds-legal-content h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); margin: 1.55em 0 .55em; }
.ekds-legal-content p,.ekds-legal-content li { text-align: justify !important; text-justify: inter-word; hyphens: auto; }
.ekds-legal-content p { margin: 0 0 1.15em; max-width: none; }
.ekds-legal-content ul,.ekds-legal-content ol { padding-left: 1.35em; margin: 0 0 1.25em; max-width: none; }
.ekds-legal-content a { color: var(--ekds-lp-accent); text-decoration-thickness: 1px; }
.ekds-legal-content img { max-width: 100%; height: auto; border-radius: var(--ekds-lp-radius); }
.ekds-legal-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.ekds-legal-content th,.ekds-legal-content td { border: 1px solid var(--ekds-lp-line); padding: 10px 12px; vertical-align: top; }
.ekds-legal-content blockquote { margin: 1.5em 0; padding: 1em 1.25em; border-left: 4px solid var(--ekds-lp-accent); background: #f3f5f2; }
/* Neutralize old page-builder width assumptions inside the legal shell. */
.ekds-legal-content .elementor,.ekds-legal-content .elementor-section,.ekds-legal-content .elementor-container,.ekds-legal-content .e-con,.ekds-legal-content .e-con-inner { max-width: 100% !important; width: 100% !important; }
.ekds-legal-page-shell .ekds-lp-header__cta,.ekds-legal-page-shell .ekds-lp-header__cta:visited { color:#fff !important; }
@media (max-width:680px){ .ekds-legal-main{width:min(calc(100% - 28px),980px);padding:40px 0}.ekds-legal-content{padding:24px 20px;border-radius:14px} }


/* =========================================================
   12.4.20 – unified ekotheme-style Landingpage shell
   ========================================================= */
:root{--ekds-lp-scroll-offset:112px;--ekds-lp-header-cyan:#00dcff;--ekds-lp-header-ink:#0f172a;--ekds-lp-header-secondary:#004f4d}
body.ekds-lp-shell{padding-top:94px}
body.admin-bar.ekds-lp-shell{padding-top:126px}
.ekds-lp-header{
    position:fixed!important;
    top:14px!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    z-index:99990!important;
    width:min(calc(100% - 28px),1280px)!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid var(--ekds-lp-header-cyan)!important;
    box-shadow:0 12px 32px rgba(15,23,42,.10)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
}
body.admin-bar .ekds-lp-header{top:46px!important}
.ekds-lp-header__inner{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
}
.ekds-lp-header__top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 0 auto;min-width:0}
.ekds-lp-brand{display:inline-flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:0!important;line-height:1.05!important;text-decoration:none!important;white-space:nowrap}
.ekds-lp-brand__name{color:var(--ekds-lp-header-ink)!important;font-size:clamp(18px,1.7vw,23px)!important;font-weight:700!important;letter-spacing:-.025em!important}
.ekds-lp-brand__subtitle{display:block!important;margin-top:4px!important;color:var(--ekds-lp-header-secondary)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.02em!important}
.ekds-lp-nav{flex:1 1 auto;min-width:0}
.ekds-lp-nav__list{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important;gap:2px!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important}
.ekds-lp-nav__item{flex:0 0 auto!important;margin:0!important;padding:0!important;list-style:none!important}
.ekds-lp-nav__item::before{content:none!important;display:none!important}
.ekds-lp-nav__link,.ekds-lp-nav__link:link,.ekds-lp-nav__link:visited{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 8px!important;
    background:transparent!important;border:1px solid transparent!important;border-radius:0!important;color:var(--ekds-lp-header-ink)!important;
    font-size:14px!important;font-weight:600!important;line-height:1.15!important;text-align:center!important;text-decoration:none!important;white-space:nowrap!important;box-shadow:none!important
}
.ekds-lp-nav__link:hover,.ekds-lp-nav__link:focus-visible{background:rgba(0,220,255,.12)!important;border-color:var(--ekds-lp-header-cyan)!important;color:var(--ekds-lp-header-secondary)!important;outline:none}
.ekds-lp-header .ekds-lp-header__cta,.ekds-lp-header .ekds-lp-header__cta:link,.ekds-lp-header .ekds-lp-header__cta:visited{
    min-height:38px!important;padding:8px 12px!important;background:#128c7e!important;border:1px solid #128c7e!important;border-radius:0!important;color:#fff!important;font-weight:700!important;gap:7px!important
}
.ekds-lp-header .ekds-lp-header__cta:hover,.ekds-lp-header .ekds-lp-header__cta:focus-visible{background:#2f2f2f!important;border-color:#2f2f2f!important;color:#fff!important}
.ekds-lp-menu-btn{display:none;width:44px;height:40px;flex:0 0 auto;align-items:center;justify-content:center;padding:0;background:#fff;border:1px solid var(--ekds-lp-header-cyan);border-radius:0;color:var(--ekds-lp-header-ink);cursor:pointer}
.ekds-lp-menu-btn__icon{position:relative;display:block;width:22px;height:16px}
.ekds-lp-menu-btn__icon span{position:absolute;left:0;width:22px;height:2px;background:var(--ekds-lp-header-ink);transition:transform .22s ease,opacity .18s ease,top .22s ease}
.ekds-lp-menu-btn__icon span:nth-child(1){top:0}.ekds-lp-menu-btn__icon span:nth-child(2){top:7px}.ekds-lp-menu-btn__icon span:nth-child(3){top:14px}
.ekds-lp-header--open .ekds-lp-menu-btn__icon span:nth-child(1){top:7px;transform:rotate(45deg)}.ekds-lp-header--open .ekds-lp-menu-btn__icon span:nth-child(2){opacity:0}.ekds-lp-header--open .ekds-lp-menu-btn__icon span:nth-child(3){top:7px;transform:rotate(-45deg)}

/* compact sections; JS aligns each section's first visible content directly below fixed header */
.ekds-lp-main>section,.ekds-lp-main>.ekds-lp-section{padding:64px 0!important;scroll-margin-top:var(--ekds-lp-scroll-offset)!important}
.ekds-lp-main>section .ekds-lp-kicker,.ekds-lp-main>section h1,.ekds-lp-main>section h2,.ekds-lp-main>section h3{scroll-margin-top:var(--ekds-lp-scroll-offset)!important}
.ekds-lp-hero{min-height:min(690px,calc(100vh - 104px))!important}
.ekds-lp-kicker{margin-bottom:12px!important}

/* Legal shell: much less dead space below the fixed header. */
.ekds-legal-main{padding:26px 0 58px!important}
.ekds-legal-content{padding:clamp(26px,4vw,52px)!important}
.ekds-title-domain{font-size:.78em;font-weight:650;letter-spacing:-.02em}

/* ekotheme TOC — copied from packages/themes/ekotheme/theme/assets/css/eko.css
 * and scoped to DS landing/legal shells. Keep the visual contract identical:
 * cyan summary bar, centered label, soft-grey panel, decimal list, no native marker.
 */
.ekds-legal-content .ek-faq--toc,
.ekds-legal-content details.ekds-toc{
    counter-reset:none;
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    z-index:40;
    margin:0 0 18px!important;
    padding:0!important;
}
.ekds-legal-content .ek-faq--toc>details,
.ekds-legal-content details.ekds-toc{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    background:var(--ek-card-soft,#F3F4F6)!important;
    border:1px solid var(--ek-border,#E5E7EB)!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
}
.ekds-legal-content .ek-faq--toc>details>summary,
.ekds-legal-content details.ekds-toc>summary{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:.75rem 1rem!important;
    background:var(--ek-primary,#00DCFF)!important;
    color:var(--ek-primary-contrast,#000)!important;
    list-style:none!important;
    text-align:center!important;
    font-size:20px!important;
    font-weight:600!important;
    line-height:1.25!important;
    cursor:pointer!important;
    box-sizing:border-box!important;
}
.ekds-legal-content .ek-faq--toc>details>summary:hover,
.ekds-legal-content .ek-faq--toc>details>summary:focus,
.ekds-legal-content .ek-faq--toc>details>summary:focus-visible,
.ekds-legal-content details.ekds-toc>summary:hover,
.ekds-legal-content details.ekds-toc>summary:focus,
.ekds-legal-content details.ekds-toc>summary:focus-visible{
    background:var(--ek-primary-dark,#00C0E0)!important;
    color:#fff!important;
    outline:none!important;
}
.ekds-legal-content .ek-faq--toc>details>summary::-webkit-details-marker,
.ekds-legal-content details.ekds-toc>summary::-webkit-details-marker{display:none!important}
.ekds-legal-content .ek-faq--toc>details>summary::marker,
.ekds-legal-content details.ekds-toc>summary::marker{content:""!important}
.ekds-legal-content .ek-faq--toc>details>summary::before,
.ekds-legal-content .ek-faq--toc>details>summary::after,
.ekds-legal-content details.ekds-toc>summary::before,
.ekds-legal-content details.ekds-toc>summary::after{
    content:none!important;
    display:none!important;
    counter-increment:none!important;
}
.ekds-legal-content .ek-faq--toc>details>summary span,
.ekds-legal-content details.ekds-toc>summary span{
    color:inherit!important;
    font-size:20px!important;
    font-weight:600!important;
    line-height:1.25!important;
    text-align:center!important;
}
.ekds-legal-content .ek-faq--toc>details>.panel,
.ekds-legal-content details.ekds-toc>.panel,
.ekds-legal-content details.ekds-toc>:not(summary){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.ekds-legal-content .ek-faq--toc>details>.panel,
.ekds-legal-content details.ekds-toc>.panel{
    padding:0 16px 14px!important;
    background:var(--ek-card-soft,#F3F4F6)!important;
    border-top:1px solid var(--ek-border,#E5E7EB)!important;
    text-align:left!important;
}
.ekds-legal-content .ek-faq--toc .ek-toc-list,
.ekds-legal-content details.ekds-toc ul,
.ekds-legal-content details.ekds-toc ol{
    margin:12px 0!important;
    padding:0 0 0 2rem!important;
    list-style:decimal!important;
    list-style-position:outside!important;
    font-size:20px!important;
    text-align:left!important;
}
.ekds-legal-content .ek-faq--toc .ek-toc-list li,
.ekds-legal-content details.ekds-toc li{
    display:list-item!important;
    margin:0 0 .35rem!important;
    padding-left:0!important;
    color:var(--ek-ink,#0F172A)!important;
    list-style:decimal!important;
    text-align:left!important;
    font-size:20px!important;
}
.ekds-legal-content .ek-faq--toc .ek-toc-list li::before,
.ekds-legal-content details.ekds-toc li::before{content:none!important}
.ekds-legal-content .ek-faq--toc .ek-toc-item--h3{margin-left:1rem!important;opacity:.95}
body:not(.wp-admin) .ekds-legal-content .ek-faq--toc .ek-toc-list a,
body:not(.wp-admin) .ekds-legal-content details.ekds-toc li a{
    color:var(--ek-ink,#0F172A)!important;
    font-size:20px!important;
    font-weight:400!important;
    text-align:left!important;
    text-decoration:none!important;
    border-bottom:none!important;
}
body:not(.wp-admin) .ekds-legal-content .ek-faq--toc .ek-toc-list a:hover,
body:not(.wp-admin) .ekds-legal-content .ek-faq--toc .ek-toc-list a:focus,
body:not(.wp-admin) .ekds-legal-content details.ekds-toc li a:hover,
body:not(.wp-admin) .ekds-legal-content details.ekds-toc li a:focus{
    color:var(--ek-link,#0B57D0)!important;
    text-decoration:underline!important;
    border-bottom:none!important;
}
@media(max-width:767px){
  .ekds-legal-content .ek-faq--toc .ek-toc-list,
  .ekds-legal-content details.ekds-toc ul,
  .ekds-legal-content details.ekds-toc ol{padding-left:1.8rem!important;margin-left:12px!important}
  .ekds-legal-content .ek-faq--toc .ek-toc-item--h3{margin-left:.75rem!important}
  .ekds-legal-content .ek-faq--toc>details>summary,
  .ekds-legal-content details.ekds-toc>summary{font-size:18px!important;padding:.7rem .85rem!important}
  .ekds-legal-content .ek-faq--toc>details>summary span,
  .ekds-legal-content details.ekds-toc>summary span,
  .ekds-legal-content .ek-faq--toc .ek-toc-list,
  .ekds-legal-content details.ekds-toc ul,
  .ekds-legal-content details.ekds-toc ol,
  .ekds-legal-content .ek-faq--toc .ek-toc-list li,
  .ekds-legal-content details.ekds-toc li,
  body:not(.wp-admin) .ekds-legal-content .ek-faq--toc .ek-toc-list a,
  body:not(.wp-admin) .ekds-legal-content details.ekds-toc li a{font-size:18px!important}
}

@media(max-width:1100px){
  .ekds-lp-header__inner{padding:10px 15px!important;gap:14px!important}.ekds-lp-nav__list{gap:3px!important}.ekds-lp-nav__link{padding:7px 7px!important;font-size:13px!important}
}
@media(max-width:900px){
  body.ekds-lp-shell{padding-top:86px}body.admin-bar.ekds-lp-shell{padding-top:116px}
  .ekds-lp-header{top:10px!important;width:calc(100% - 20px)!important}body.admin-bar .ekds-lp-header{top:60px!important}
  .ekds-lp-header__inner{display:block!important;padding:10px 12px!important}.ekds-lp-header__top{width:100%}.ekds-lp-menu-btn{display:inline-flex}
  .ekds-lp-nav{width:100%;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transition:max-height .28s ease,opacity .2s ease,visibility .2s ease,padding-top .2s ease}
  .ekds-lp-header--open .ekds-lp-nav{max-height:calc(100vh - 120px);overflow-y:auto;opacity:1;visibility:visible;padding-top:10px}
  .ekds-lp-nav__list{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;width:100%!important}
  .ekds-lp-nav__item{width:100%!important;min-width:0!important}.ekds-lp-nav__link,.ekds-lp-nav__link:link,.ekds-lp-nav__link:visited{width:100%!important;min-height:40px!important;padding:9px 11px!important;font-size:13.5px!important;white-space:normal!important;justify-content:flex-start!important;text-align:left!important;background:#fff!important;border-color:rgba(15,23,42,.09)!important}
  .ekds-lp-nav__link:hover,.ekds-lp-nav__link:focus-visible{justify-content:center!important;text-align:center!important;background:rgba(0,220,255,.14)!important;border-color:var(--ekds-lp-header-cyan)!important}
  .ekds-lp-header .ekds-lp-header__cta{justify-content:center!important;text-align:center!important}
  .ekds-lp-main>section,.ekds-lp-main>.ekds-lp-section{padding:52px 0!important}
  .ekds-legal-main{padding-top:20px!important}
}
@media(max-width:420px){.ekds-lp-header{top:8px!important;width:calc(100% - 16px)!important}.ekds-lp-brand__name{font-size:20px!important}.ekds-lp-menu-btn{width:42px;height:38px}}

/* 12.4.23 · server-rendered DS Library location map */
.ekds-lp-map{width:100%;overflow:hidden;border:1px solid var(--ekds-lp-border,#d7d3cb);border-radius:4px;background:#fff;box-shadow:0 4px 14px rgba(24,33,38,.045)}
.ekds-lp-map iframe{display:block;width:100%;min-height:360px;aspect-ratio:16/9;border:0}
@media(max-width:640px){.ekds-lp-map iframe{min-height:300px;aspect-ratio:4/3}}

/* =========================================================
   12.4.24 – LP content system: unified typography + Library cards
   ========================================================= */
body.ekds-lp-shell .ekds-lp-main,
body.ekds-landing-page-active .ekds-lp-main{
  --ekds-lp-title-size:clamp(2.35rem,4vw,3.55rem);
  --ekds-lp-content-size:17px;
  --ekds-lp-content-line:1.68;
}

/* Outside tiles/cards every visible page heading uses one type scale. */
body.ekds-lp-shell .ekds-lp-main h1,
body.ekds-lp-shell .ekds-lp-main h2,
body.ekds-lp-shell .ekds-lp-main h3,
body.ekds-lp-shell .ekds-lp-main h4,
body.ekds-landing-page-active .ekds-lp-main h1,
body.ekds-landing-page-active .ekds-lp-main h2,
body.ekds-landing-page-active .ekds-lp-main h3,
body.ekds-landing-page-active .ekds-lp-main h4{
  font-family:inherit!important;
  font-size:var(--ekds-lp-title-size)!important;
  font-weight:720!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
}

/* Card titles are the only deliberately smaller heading tier. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-card :is(h1,h2,h3,h4),
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card :is(h1,h2,h3,h4),
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card :is(h1,h2,h3,h4),
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-card :is(h1,h2,h3,h4),
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card :is(h1,h2,h3,h4),
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card :is(h1,h2,h3,h4){
  font-size:1.28rem!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
}

/* Normal content uses one font family, size and line-height everywhere. */
body.ekds-lp-shell .ekds-lp-main :is(p,li,blockquote,address),
body.ekds-lp-shell .ekds-lp-main .ekds-lp-lead,
body.ekds-landing-page-active .ekds-lp-main :is(p,li,blockquote,address),
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-lead{
  font-family:inherit!important;
  font-size:var(--ekds-lp-content-size)!important;
  line-height:var(--ekds-lp-content-line)!important;
}

/* ------------------------- REAL ESTATES ------------------------- */
body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:22px!important;
  width:100%!important;
}
body.ekds-lp-shell .ekds-lp-main article.ek-real-estate-card,
body.ekds-landing-page-active .ekds-lp-main article.ek-real-estate-card{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--ekds-lp-accent,#356b68)!important;
  border-radius:4px!important;
  background:var(--ekds-lp-surface,#fff)!important;
  box-shadow:0 4px 14px rgba(24,33,38,.045)!important;
  color:var(--ekds-lp-text,#171a18)!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__media,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__media{
  position:relative!important;
  display:block!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  border-bottom:1px solid var(--ekds-lp-accent,#356b68)!important;
  background:#e9ece8!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__image,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__badge,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__badge{
  position:absolute!important;
  z-index:2!important;
  top:12px!important;
  left:12px!important;
  padding:5px 9px!important;
  border:1px solid var(--ekds-lp-accent,#356b68)!important;
  border-radius:4px!important;
  background:var(--ekds-lp-accent,#356b68)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.2!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__body,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__body{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-width:0!important;
  padding:20px!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__meta,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__meta{
  display:flex!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:var(--ekds-lp-accent,#356b68)!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__title,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__title{
  margin:0!important;
  font-size:1.28rem!important;
  line-height:1.18!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__title a,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__title a{
  color:inherit!important;
  text-decoration:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__price,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__price{
  margin:0!important;
  font-weight:760!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__facts,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__facts{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px 12px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__facts li,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__facts li{
  margin:0!important;
  padding:0!important;
  font-size:14px!important;
  line-height:1.4!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__excerpt,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__excerpt{
  margin:0!important;
  font-size:var(--ekds-lp-content-size)!important;
  line-height:var(--ekds-lp-content-line)!important;
  flex:1 1 auto!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__actions,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:auto!important;
  padding-top:4px!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__cta,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:8px 10px!important;
  border:1px solid var(--ekds-lp-accent,#356b68)!important;
  border-radius:4px!important;
  background:var(--ekds-lp-accent,#356b68)!important;
  color:#fff!important;
  box-shadow:0 4px 14px rgba(24,33,38,.045)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.15!important;
  text-decoration:none!important;
}

/* --------------------------- REVIEWS --------------------------- */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-grid,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:22px!important;
  width:100%!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:100%!important;
  padding:24px!important;
  border:1px solid var(--ekds-lp-accent,#356b68)!important;
  border-radius:4px!important;
  background:var(--ekds-lp-surface,#fff)!important;
  box-shadow:0 4px 14px rgba(24,33,38,.045)!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__head,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__head{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:8px 12px!important;
  margin-bottom:14px!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__name,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__name{
  margin:0!important;
  font-size:1.18rem!important;
  line-height:1.2!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__meta,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__meta{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:2px!important;
  font-size:12px!important;
  line-height:1.25!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__stars,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__stars{
  color:var(--ekds-lp-accent,#356b68)!important;
  letter-spacing:.08em!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__quote,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__quote{
  margin:0!important;
  padding:0!important;
  border:0!important;
  flex:1 1 auto!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__quote p,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__quote p{
  margin:0!important;
  font-size:var(--ekds-lp-content-size)!important;
  line-height:var(--ekds-lp-content-line)!important;
  text-align:left!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__source,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__source{
  margin:18px 0 0!important;
  font-size:13px!important;
  line-height:1.3!important;
}

@media(max-width:980px){
  body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid,
  body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid,
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-grid,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  body.ekds-lp-shell .ekds-lp-main,
  body.ekds-landing-page-active .ekds-lp-main{--ekds-lp-title-size:clamp(2.05rem,10vw,2.8rem);--ekds-lp-content-size:16px}
  body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid,
  body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid,
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-grid,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-grid{grid-template-columns:1fr!important}
}

/* =========================================================
   12.4.26 – Landingpage precision pass
   ========================================================= */

/* All dark/solid CTAs keep high-contrast white copy. */
body.ekds-lp-shell .ekds-lp-main a.ekds-lp-button,
body.ekds-lp-shell .ekds-lp-main a.ekds-lp-button:link,
body.ekds-lp-shell .ekds-lp-main a.ekds-lp-button:visited,
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__cta,
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__cta:link,
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__cta:visited,
body.ekds-landing-page-active .ekds-lp-main a.ekds-lp-button,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__cta{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Card groups use one visual rhythm: same outer height, same content flow. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-card-grid > .ekds-lp-card,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-card-grid > .ekds-lp-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-card-grid > .ekds-lp-card > p,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-card-grid > .ekds-lp-card > p{
  flex:1 1 auto!important;
}

/* Real-estate cards: one outer card only. Internal framed boxes are removed. */
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card :is(
  .ek-real-estate-card__meta,
  .ek-real-estate-card__title,
  .ek-real-estate-card__price,
  .ek-real-estate-card__facts,
  .ek-real-estate-card__facts li,
  .ek-real-estate-card__excerpt
),
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card :is(
  .ek-real-estate-card__meta,
  .ek-real-estate-card__title,
  .ek-real-estate-card__price,
  .ek-real-estate-card__facts,
  .ek-real-estate-card__facts li,
  .ek-real-estate-card__excerpt
){
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  background:transparent!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estate-card__excerpt,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estate-card__excerpt{
  min-height:calc(var(--ekds-lp-content-line) * 1em * 5)!important;
}

/* Review component: borderless accordion cards. Name + stars share first line,
   date sits directly beneath the identity row. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-grid,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-grid{
  align-items:start!important;
}
body.ekds-lp-shell .ekds-lp-main details.ekds-lp-review-card,
body.ekds-landing-page-active .ekds-lp-main details.ekds-lp-review-card{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:4px!important;
  background:#fff!important;
  box-shadow:0 4px 16px rgba(24,33,38,.07)!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  min-height:76px!important;
  padding:18px 20px!important;
  cursor:pointer!important;
  list-style:none!important;
  background:#fff!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary::-webkit-details-marker,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary::-webkit-details-marker{display:none!important}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary::marker,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary::marker{content:""}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__identity,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__identity{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:2px 10px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__name,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__name{
  display:block!important;
  margin:0!important;
  font-weight:760!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__stars,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__stars{
  display:block!important;
  white-space:nowrap!important;
  color:var(--ekds-lp-accent,#356b68)!important;
  letter-spacing:.06em!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__date,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__date{
  grid-column:1 / -1!important;
  display:block!important;
  color:var(--ekds-lp-muted,#68716c)!important;
  font-size:12px!important;
  line-height:1.3!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__chevron,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__chevron{
  flex:0 0 auto!important;
  color:var(--ekds-lp-accent,#356b68)!important;
  transition:transform .2s ease!important;
}
body.ekds-lp-shell .ekds-lp-main details.ekds-lp-review-card[open] .ekds-lp-review-card__chevron,
body.ekds-landing-page-active .ekds-lp-main details.ekds-lp-review-card[open] .ekds-lp-review-card__chevron{
  transform:rotate(180deg)!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__panel,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__panel{
  padding:0 20px 20px!important;
  border:0!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__quote,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__quote{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* Dark closing CTA: preserve vertical rhythm but move copy off the edge. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-cta,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-cta{
  padding-inline:clamp(36px,5vw,68px)!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-cta :is(h1,h2,h3,h4,p,li),
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-cta :is(h1,h2,h3,h4,p,li){
  color:#fff!important;
}
.ekds-lp-primary-cta{margin-top:24px!important}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-primary-cta .ekds-lp-button--primary,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-primary-cta .ekds-lp-button--primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:46px!important;
  padding:0 20px!important;
  border:1px solid #0c6b58!important;
  border-radius:4px!important;
  background:#0c6b58!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:760!important;
  text-decoration:none!important;
}

/* FAQ arrows need breathing room from the right border. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq summary,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq summary{
  padding-right:26px!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq summary::after,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq summary::after{
  margin-left:auto!important;
  margin-right:8px!important;
}

/* =========================================================
   12.4.27 – Landingpage card + accordion + profile pass
   ========================================================= */

/* Preserve a clear section rhythm when a content-card grid is followed by the
   preferred real-estate selection inside the same semantic section. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-grid + .ekds-lp-kicker,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-grid + .ekds-lp-kicker,
body.ekds-lp-shell .ekds-lp-main .ekds-lp-card-grid + .ekds-lp-kicker,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-card-grid + .ekds-lp-kicker{
  margin-top:clamp(58px,6vw,82px)!important;
}

/* Landingpage listing cards are one continuous white surface.  Keep only the
   outer card and action-button framing; all data blocks inside are borderless. */
body.ekds-lp-shell .ekds-lp-main article.ek-real-estate-card,
body.ekds-landing-page-active .ekds-lp-main article.ek-real-estate-card{
  background:#fff!important;
}
body.ekds-lp-shell .ekds-lp-main article.ek-real-estate-card .ek-real-estate-card__body,
body.ekds-landing-page-active .ekds-lp-main article.ek-real-estate-card .ek-real-estate-card__body{
  background:#fff!important;
}
body.ekds-lp-shell .ekds-lp-main article.ek-real-estate-card :is(
  .ek-real-estate-card__meta,
  .ek-real-estate-card__type,
  .ek-real-estate-card__location,
  .ek-real-estate-card__title,
  .ek-real-estate-card__title a,
  .ek-real-estate-card__price,
  .ek-real-estate-card__facts,
  .ek-real-estate-card__facts li,
  .ek-real-estate-card__excerpt
),
body.ekds-landing-page-active .ekds-lp-main article.ek-real-estate-card :is(
  .ek-real-estate-card__meta,
  .ek-real-estate-card__type,
  .ek-real-estate-card__location,
  .ek-real-estate-card__title,
  .ek-real-estate-card__title a,
  .ek-real-estate-card__price,
  .ek-real-estate-card__facts,
  .ek-real-estate-card__facts li,
  .ek-real-estate-card__excerpt
){
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.ekds-lp-shell .ekds-lp-main article.ek-real-estate-card .ek-real-estate-card__facts li,
body.ekds-landing-page-active .ekds-lp-main article.ek-real-estate-card .ek-real-estate-card__facts li{
  padding:0!important;
}

/* Review accordions: one quiet outer card, no framed sub-elements, one chevron,
   equal card edges within each grid row. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-grid,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-grid{
  align-items:stretch!important;
}
body.ekds-lp-shell .ekds-lp-main details.ekds-lp-review-card,
body.ekds-landing-page-active .ekds-lp-main details.ekds-lp-review-card{
  height:100%!important;
  min-height:92px!important;
  border:1px solid rgba(29,91,69,.55)!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(24,33,38,.045)!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary{
  min-height:90px!important;
  padding:18px 20px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#fff!important;
  list-style:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary::-webkit-details-marker,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary::-webkit-details-marker{
  display:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary::marker,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary::marker{
  content:""!important;
  display:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary::before,
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary::after,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary::before,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary::after{
  content:none!important;
  display:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary :is(
  .ekds-lp-review-card__identity,
  .ekds-lp-review-card__name,
  .ekds-lp-review-card__stars,
  .ekds-lp-review-card__date,
  .ekds-lp-review-card__chevron,
  svg
),
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary :is(
  .ekds-lp-review-card__identity,
  .ekds-lp-review-card__name,
  .ekds-lp-review-card__stars,
  .ekds-lp-review-card__date,
  .ekds-lp-review-card__chevron,
  svg
){
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__identity,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__identity{
  grid-template-columns:minmax(0,auto) minmax(max-content,1fr)!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__chevron,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__chevron{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  margin-left:auto!important;
  padding:0!important;
  flex:0 0 28px!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__chevron svg,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__chevron svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__panel,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__panel{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:#fff!important;
}

/* Library-backed people cards.  The same rules cover the preferred shortcode
   output and legacy static cards enriched server-side by the LP runtime. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-grid,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:22px!important;
  width:100%!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(29,91,69,.55)!important;
  border-radius:4px!important;
  background:#fff!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__media,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__media{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  overflow:hidden!important;
  background:#eef0ed!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__media img,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__content,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__content{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  padding:24px!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__content > :last-child,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__content > :last-child{
  margin-bottom:0!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__role,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__role{
  color:var(--ekds-lp-accent,#1d5b45)!important;
  font-weight:700!important;
}

@media(max-width:980px){
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-grid,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-grid,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-grid{grid-template-columns:1fr!important}
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-grid + .ekds-lp-kicker,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-grid + .ekds-lp-kicker,
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-card-grid + .ekds-lp-kicker,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-card-grid + .ekds-lp-kicker{margin-top:52px!important}
}


/* =========================================================
   12.4.28 – universal white-card / borderless LP contract
   ========================================================= */

/* Every Landingpage card is one continuous white surface.  Visual separation
   comes from spacing/shadow, never from borders around or inside content. */
body.ekds-lp-shell .ekds-lp-main :is(
  .ekds-lp-card,
  .ekds-lp-profile-card,
  details.ekds-lp-review-card,
  article.ek-real-estate-card,
  .ekds-lp-faq > details
),
body.ekds-landing-page-active .ekds-lp-main :is(
  .ekds-lp-card,
  .ekds-lp-profile-card,
  details.ekds-lp-review-card,
  article.ek-real-estate-card,
  .ekds-lp-faq > details
){
  background:#fff!important;
  border:0!important;
  outline:0!important;
  box-shadow:0 6px 20px rgba(24,33,38,.065)!important;
}

/* Neutralize theme/plugin framing on textual sub-elements inside every card. */
body.ekds-lp-shell .ekds-lp-main :is(
  .ekds-lp-card,
  .ekds-lp-profile-card,
  details.ekds-lp-review-card,
  article.ek-real-estate-card,
  .ekds-lp-faq > details
) :is(h1,h2,h3,h4,p,ul,ol,li,span,strong,small,blockquote,summary,div),
body.ekds-landing-page-active .ekds-lp-main :is(
  .ekds-lp-card,
  .ekds-lp-profile-card,
  details.ekds-lp-review-card,
  article.ek-real-estate-card,
  .ekds-lp-faq > details
) :is(h1,h2,h3,h4,p,ul,ol,li,span,strong,small,blockquote,summary,div){
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Keep normal content transparent inside the single white card surface. */
body.ekds-lp-shell .ekds-lp-main :is(.ekds-lp-card,.ekds-lp-profile-card,details.ekds-lp-review-card,article.ek-real-estate-card) :is(h1,h2,h3,h4,p,ul,ol,li,span,strong,small,blockquote,div),
body.ekds-landing-page-active .ekds-lp-main :is(.ekds-lp-card,.ekds-lp-profile-card,details.ekds-lp-review-card,article.ek-real-estate-card) :is(h1,h2,h3,h4,p,ul,ol,li,span,strong,small,blockquote,div){
  background:transparent!important;
}

/* Profile cards: calm names, identical media geometry and a fixed desktop text
   budget.  Library content remains untouched; only its visible card excerpt is
   line-clamped so all three cards carry the same visual weight. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__media,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__media{
  aspect-ratio:4/3!important;
  background:#fff!important;
  border:0!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__media img,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:50% 0%!important;
  border:0!important;
  box-shadow:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__content,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__content{
  display:grid!important;
  grid-template-rows:auto auto 1fr!important;
  align-content:start!important;
  gap:14px!important;
  padding:22px 24px 24px!important;
  background:#fff!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__name,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__name{
  margin:0!important;
  font-size:clamp(1.34rem,1.8vw,1.7rem)!important;
  font-weight:760!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__role,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__role{
  display:-webkit-box!important;
  min-height:2.8em!important;
  max-height:2.8em!important;
  margin:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  line-clamp:2!important;
  color:var(--ekds-lp-accent,#1d5b45)!important;
  font-size:14px!important;
  font-weight:720!important;
  line-height:1.4!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__description,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__description{
  display:-webkit-box!important;
  min-height:8em!important;
  max-height:8em!important;
  margin:0!important;
  overflow:hidden!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:5!important;
  line-clamp:5!important;
  font-size:15.5px!important;
  line-height:1.6!important;
}

/* Reviews: one borderless white card. Closed cards keep one identical header
   height; an open review grows only itself and never stretches its neighbours. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-grid,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-grid{
  align-items:start!important;
}
body.ekds-lp-shell .ekds-lp-main details.ekds-lp-review-card,
body.ekds-landing-page-active .ekds-lp-main details.ekds-lp-review-card{
  align-self:start!important;
  width:100%!important;
  height:auto!important;
  min-height:90px!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__summary,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__summary{
  min-height:90px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__panel,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__panel,
body.ekds-lp-shell .ekds-lp-main .ekds-lp-review-card__quote,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-review-card__quote{
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}

/* FAQ is also a white card surface without an inner divider or framed number. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq > details,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq > details{
  background:#fff!important;
  border:0!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq > details > summary,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq > details > summary,
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq .ekds-lp-faq__panel,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq .ekds-lp-faq__panel{
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq > details > summary::before,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq > details > summary::before{
  border:0!important;
  background:#f2f6f4!important;
}

@media(max-width:680px){
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__role,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__role,
  body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__description,
  body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__description{
    display:block!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
  }
}

/* Legacy profile cards enriched from static ekds-lp-card markup receive the
   same profile typography even when their original h3/p lack BEM classes. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__content > h3,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__content > h3{
  margin:0!important;
  font-size:clamp(1.34rem,1.8vw,1.7rem)!important;
  font-weight:760!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-profile-card__content > p:not(.ekds-lp-profile-card__role),
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-profile-card__content > p:not(.ekds-lp-profile-card__role){
  margin:0!important;
  font-size:15.5px!important;
  line-height:1.6!important;
}

/* DS 12.4.29 native inquiry form */
.ekds-lp-inquiry{background:#fff;border:0;padding:clamp(20px,3vw,36px);box-shadow:0 14px 38px rgba(0,0,0,.08)}
.ekds-lp-inquiry__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ekds-lp-inquiry label{display:grid;gap:7px;font:inherit}.ekds-lp-inquiry input,.ekds-lp-inquiry select,.ekds-lp-inquiry textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid rgba(0,0,0,.16);background:#fff;font:inherit}
.ekds-lp-inquiry textarea{resize:vertical}.ekds-lp-inquiry__consent{grid-template-columns:auto 1fr!important;align-items:start;margin:16px 0}.ekds-lp-inquiry__consent input{width:auto;margin-top:4px}.ekds-lp-inquiry__hp{position:absolute!important;left:-9999px!important}.ekds-lp-inquiry__notice{padding:12px 14px;background:rgba(0,0,0,.04)}
@media(max-width:700px){.ekds-lp-inquiry__grid{grid-template-columns:1fr}}


/* =========================================================
   12.4.31 – Onepage runtime correction: compact listings + FAQ
   ========================================================= */
body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid--content-axis,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid--content-axis{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  gap:18px!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid--content-axis .ek-real-estate-card__media,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid--content-axis .ek-real-estate-card__media{
  aspect-ratio:3/2!important;
  max-height:270px!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid--content-axis .ek-real-estate-card__body,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid--content-axis .ek-real-estate-card__body{
  padding:16px!important;
  gap:8px!important;
}
body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid--content-axis .ek-real-estate-card__excerpt,
body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid--content-axis .ek-real-estate-card__excerpt{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
/* Runtime-normalized FAQ containers receive the canonical DS accordion skin. */
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq > details,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq > details{
  margin:0 0 12px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:var(--ekds-lp-radius)!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(15,23,42,.07)!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq > details > summary,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq > details > summary{
  min-height:62px!important;
  padding:14px 18px!important;
  background:#fff!important;
}
body.ekds-lp-shell .ekds-lp-main .ekds-lp-faq .ekds-lp-faq__panel,
body.ekds-landing-page-active .ekds-lp-main .ekds-lp-faq .ekds-lp-faq__panel{
  padding:0 18px 18px 60px!important;
  background:#fff!important;
}
@media(max-width:900px){
 body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid--content-axis,
 body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid--content-axis{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:760px!important}
}
@media(max-width:620px){
 body.ekds-lp-shell .ekds-lp-main .ek-real-estates__grid--content-axis,
 body.ekds-landing-page-active .ekds-lp-main .ek-real-estates__grid--content-axis{grid-template-columns:1fr!important;max-width:440px!important}
}
