:root {
    --wa-bg: #f3f8ff;
    --wa-surface: #fff;
    --wa-ink: #0d3154;
    --wa-muted: #496983;
    --wa-brand: #0f68cc;
    --wa-blue: var(--wa-brand);
    --wa-brand-dark: #094d9a;
    --wa-line: #d4e5f7;
    --wa-shadow: 0 18px 42px rgba(17,54,92,.11);
    --wa-radius: 20px;
    --wa-container: 1480px;
}

/* Public News and Blog (0.0096). */
.public-posts-hero,.public-single-post-header{padding:clamp(70px,9vw,128px) 0 clamp(52px,7vw,92px);background:linear-gradient(135deg,#eef5ff 0%,#f8fbff 55%,#fff 100%)}
.public-posts-hero h1,.public-single-post-header h1{max-width:900px;margin:8px 0 16px;font-size:clamp(2.35rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.045em}.public-posts-hero>div>p:last-child{max-width:700px;margin:0;color:var(--wa-muted);font-size:1.05rem;line-height:1.7}
.public-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.public-post-card{overflow:hidden;border:1px solid var(--wa-line);border-radius:22px;background:#fff;box-shadow:0 16px 44px rgba(23,49,84,.08)}.public-post-image{display:grid;aspect-ratio:16/10;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e5efff,#f8fbff);color:var(--wa-blue);font-weight:900;text-decoration:none}.public-post-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.public-post-card:hover .public-post-image img{transform:scale(1.035)}.public-post-card>div{padding:22px}.public-post-card small{color:var(--wa-muted);font-size:.77rem;font-weight:700}.public-post-card h2,.public-post-card h3{margin:10px 0;font-size:clamp(1.18rem,2vw,1.5rem);line-height:1.25}.public-post-card h2 a,.public-post-card h3 a{color:var(--wa-ink);text-decoration:none}.public-post-card p{display:-webkit-box;overflow:hidden;margin:0 0 14px;color:var(--wa-muted);line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:3}.public-posts-empty{padding:52px;border:1px solid var(--wa-line);border-radius:22px;background:#f8fbff;text-align:center}.public-post-pagination{display:flex;justify-content:center;gap:8px;margin-top:34px}.public-post-pagination a{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--wa-line);border-radius:12px;color:var(--wa-ink);text-decoration:none}.public-post-pagination a.is-active{border-color:var(--wa-blue);background:var(--wa-blue);color:#fff}.public-home-posts--news{background:#f7faff}.public-home-posts--blog{background:#fff}
.public-post-back{display:inline-flex;margin-bottom:26px;color:var(--wa-blue);font-weight:800;text-decoration:none}.public-post-meta{display:flex;flex-wrap:wrap;gap:9px 22px;color:var(--wa-muted);font-weight:700}.public-single-post-cover{margin-top:-48px}.public-single-post-cover img{display:block;width:100%;max-height:680px;object-fit:cover;border:7px solid #fff;border-radius:26px;box-shadow:0 24px 70px rgba(23,49,84,.18)}.public-single-post-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(30px,6vw,80px);padding-top:clamp(54px,7vw,90px);padding-bottom:clamp(70px,9vw,130px)}.public-single-post-content{min-width:0;color:var(--wa-ink);font-size:1.08rem;line-height:1.85}.public-single-post-content h2,.public-single-post-content h3,.public-single-post-content h4{margin:1.8em 0 .65em;line-height:1.2}.public-single-post-content p{margin:0 0 1.25em}.public-single-post-content a{color:var(--wa-blue)}.public-single-post-content blockquote{margin:1.7em 0;padding:20px 24px;border-left:4px solid var(--wa-blue);border-radius:0 14px 14px 0;background:#f2f7ff}.public-single-post-layout aside{align-self:start;padding:24px;border:1px solid var(--wa-line);border-radius:20px;background:#f8fbff;position:sticky;top:100px}.public-single-post-layout aside strong{display:block;margin:8px 0;font-size:1.2rem}.public-single-post-layout aside p{margin:0;color:var(--wa-muted);line-height:1.65}
@media(max-width:900px){.public-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-single-post-layout{grid-template-columns:1fr}.public-single-post-layout aside{position:static}}
@media(max-width:620px){.public-post-grid{grid-template-columns:1fr}.public-posts-hero,.public-single-post-header{padding-top:54px}.public-single-post-cover{margin-top:-25px}.public-single-post-cover img{border-width:4px;border-radius:18px}.public-post-card>div{padding:18px}}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--wa-ink); background: linear-gradient(180deg,#f8fbff,#eef6ff 48%,#f8fbff); font-family: Manrope, "Segoe UI", system-ui, sans-serif; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body, h1, h2, h3, p, a, li, span { overflow-wrap: normal; word-break: normal; hyphens: manual; }
a { color: var(--wa-brand); text-decoration: none; }
button { font: inherit; }
.site-container { width: min(calc(100% - clamp(24px,4vw,64px)), var(--wa-container)); margin-inline: auto; }
.crm-style-minimal .public-offer-card,.crm-style-minimal .public-agent-card,.crm-style-minimal .public-contact-card { box-shadow:none; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 100; padding: 10px 14px; border-radius: 0 0 10px 10px; background: #fff; color: var(--wa-ink); font-weight: 800; }
.skip-link:focus { top: 0; }

.public-header { position: relative; z-index: 20; min-height: 82px; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--wa-line); }
.public-nav-row { display: flex; align-items: center; justify-content: space-between; min-height: 82px; gap: 30px; }
.public-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--wa-ink); }
.public-brand:hover { color: var(--wa-ink); }
.public-brand > span:last-child { display: grid; line-height: 1.12; }
.public-brand strong { font-family: Georgia, serif; font-size: 17px; }
.public-brand small { color: #668099; font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.public-brand-mark { position: relative; display: block; width: 45px; height: 45px; border: 1px solid #b8d3ed; border-radius: 50%; }
.public-brand-mark::before, .public-brand-mark::after { content: ""; position: absolute; background: var(--wa-brand); transform-origin: left center; }
.public-brand-mark::before { left: 9px; top: 25px; width: 27px; height: 2px; transform: rotate(-34deg); }
.public-brand-mark::after { left: 12px; top: 17px; width: 23px; height: 2px; transform: rotate(28deg); }
.public-brand-mark i { position: absolute; left: 18px; top: 19px; width: 2px; height: 15px; background: var(--wa-brand); }
.public-navigation { display: flex; align-items: center; gap: clamp(18px,2.5vw,37px); }
.public-navigation a { color: #1b4369; font-size: 13px; font-weight: 750; }
.public-navigation a:hover { color: var(--wa-brand); }
.public-navigation .public-nav-cta { padding: 10px 16px; border-radius: 999px; background: var(--wa-brand); color: #fff; }
.public-navigation .public-nav-cta:hover { background: var(--wa-brand-dark); color: #fff; }
.public-menu-toggle { display: none; border: 0; background: transparent; color: var(--wa-ink); cursor: pointer; }

.public-hero { position: relative; isolation: isolate; display: grid; min-height: clamp(560px,72vh,780px); overflow: hidden; background: radial-gradient(circle at 10% 15%,#8bbde8 0,transparent 34%), linear-gradient(120deg,#123a61 0,#1764a2 54%,#0b365e 100%); }
.public-hero-background { position:absolute; z-index:-4; inset:0; width:100%; height:100%; object-fit:cover; }
.public-hero::before { content: ""; position: absolute; inset: 0; z-index: -3; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to bottom, transparent, #000 45%, #000); }
.public-hero.has-custom-image::before { content: none; }
.public-hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg,rgba(5,30,56,.78) 8%,rgba(5,42,76,.34) 66%,rgba(5,28,52,.62)); }
.hero-city { position: absolute; inset: auto 0 0; z-index: -2; display: flex; align-items: end; justify-content: space-around; height: 78%; opacity: .34; filter: blur(.2px); }
.hero-city span { position: relative; width: 12%; height: var(--height); background: linear-gradient(90deg,rgba(2,26,51,.7),rgba(128,187,235,.38)); border-top: 2px solid rgba(255,255,255,.2); box-shadow: inset 12px 0 rgba(255,255,255,.04); }
.hero-city span::before { content: ""; position: absolute; inset: 20px 15%; opacity: .38; background: repeating-linear-gradient(to bottom,rgba(219,239,255,.7) 0 3px,transparent 3px 21px); }
.hero-city span:nth-child(1) { --height: 52%; }
.hero-city span:nth-child(2) { --height: 78%; width: 17%; }
.hero-city span:nth-child(3) { --height: 64%; }
.hero-city span:nth-child(4) { --height: 92%; width: 15%; }
.hero-city span:nth-child(5) { --height: 58%; width: 18%; }
.hero-city span:nth-child(6) { --height: 73%; }
.public-hero-content { display: flex; flex-direction: column; align-items: center; justify-content: center; padding-block: clamp(60px,9vw,120px); color: #fff; text-align: center; }
.public-eyebrow { margin: 0 0 10px; color: var(--wa-brand); font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.public-hero .public-eyebrow { color: rgba(255,255,255,.82); }
.public-hero h1 { max-width: 980px; margin: 0; font-family: Georgia,"Times New Roman",serif; font-size: clamp(43px,7vw,88px); font-weight: 600; line-height: .99; letter-spacing: -.045em; text-wrap: balance; }
.public-hero-subtitle { max-width: 760px; margin: 25px auto 0; color: rgba(255,255,255,.82); font-size: clamp(16px,1.5vw,20px); }
.public-hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 31px; }
.public-slider { position:relative; min-height:clamp(560px,72vh,780px); overflow:hidden; background:#103b63; color:#fff; }.public-slider-track,.public-slider-slide { min-height:inherit; }.public-slider-slide { position:absolute; inset:0; display:grid; place-items:center; opacity:0; pointer-events:none; transition:opacity .55s ease; }.public-slider-slide.is-active { position:relative; opacity:1; pointer-events:auto; }.public-slider-slide > img { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }.public-slider-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(100deg,rgba(5,30,56,.82),rgba(5,42,76,.38) 66%,rgba(5,28,52,.7)); }.public-slider-copy { position:relative; z-index:2; display:flex; min-height:inherit; max-width:1050px; flex-direction:column; align-items:center; justify-content:center; text-align:center; }.public-slider-copy .public-eyebrow { color:rgba(255,255,255,.82); }.public-slider-copy h1 { max-width:980px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(43px,7vw,88px); font-weight:600; line-height:.99; letter-spacing:-.045em; text-wrap:balance; }.public-slider-copy p:not(.public-eyebrow) { max-width:710px; margin:25px auto 0; color:rgba(255,255,255,.84); font-size:clamp(16px,1.5vw,20px); }.public-slider-copy .public-button { margin-top:29px; }.public-slider-controls { position:absolute; z-index:4; right:0; bottom:26px; left:0; display:flex; align-items:center; justify-content:center; gap:13px; }.public-slider-controls button { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(5,30,56,.38); color:#fff; cursor:pointer; }.public-slider-controls button:hover,.public-slider-controls button:focus-visible { background:#fff; color:#123d66; }.public-slider-dots { display:flex; gap:8px; }.public-slider-dots button { width:9px; height:9px; padding:0; border:0; background:rgba(255,255,255,.48); }.public-slider-dots button[aria-selected="true"] { width:26px; border-radius:99px; background:#fff; }.public-slider--cards .public-slider-slide { padding:52px clamp(20px,8vw,120px) 82px; grid-template-columns:minmax(0,1fr) minmax(250px,.8fr); gap:24px; }.public-slider--cards .public-slider-slide > img { position:relative; grid-column:2; z-index:2; width:100%; height:min(500px,62vh); border-radius:28px; box-shadow:0 24px 58px rgba(0,0,0,.26); }.public-slider--cards .public-slider-copy { grid-column:1; grid-row:1; align-items:flex-start; text-align:left; }.public-slider--cards .public-slider-copy p:not(.public-eyebrow) { margin-left:0; }.public-slider--cards .public-slider-shade { background:linear-gradient(120deg,#103b63,#1a70b4); }.public-slider--split .public-slider-slide { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }.public-slider--split .public-slider-slide > img { position:relative; grid-column:2; z-index:2; }.public-slider--split .public-slider-copy { grid-column:1; grid-row:1; align-items:flex-start; padding-right:clamp(20px,6vw,95px); text-align:left; }.public-slider--split .public-slider-copy p:not(.public-eyebrow) { margin-left:0; }.public-slider--split .public-slider-shade { background:linear-gradient(90deg,#103b63 0 50%,rgba(16,59,99,.08) 72%); }
.public-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 11px 22px; border: 1px solid transparent; border-radius: 999px; font-size: 13px; font-weight: 800; transition: transform .17s ease, background .17s ease; }
.public-button:hover { transform: translateY(-2px); }
.public-button.is-primary { background: #1072df; color: #fff; box-shadow: 0 13px 26px rgba(0,45,99,.25); }
.public-button.is-primary:hover { background: #2383ee; color: #fff; }
.public-button.is-secondary { background: #fff; color: #123d66; }
.public-button.is-secondary:hover { color: #123d66; }

.public-section { padding: clamp(70px,8vw,120px) 0; }
.public-about-grid { display: grid; grid-template-columns: minmax(300px,.82fr) minmax(0,1.18fr); gap: clamp(40px,7vw,110px); align-items: center; }
.public-about-visual { position: relative; min-height: 470px; overflow: hidden; border: 1px solid #c7dff7; border-radius: 28px; background: radial-gradient(circle at 20% 20%,#ddebfa,transparent 36%), linear-gradient(145deg,#b9d5ef,#edf6ff); box-shadow: var(--wa-shadow); }
.public-about-image { width:100%; height:100%; min-height:inherit; object-fit:cover; display:block; }
.visual-building { position: absolute; inset: 16% 8% 0; display: flex; align-items: flex-end; gap: 3%; }
.visual-building i { position: relative; flex: 1; height: var(--height); background: linear-gradient(90deg,rgba(13,71,123,.63),rgba(84,144,196,.45)); border-radius: 5px 5px 0 0; }
.visual-building i::after { content: ""; position: absolute; inset: 13px 18%; opacity: .7; background: repeating-linear-gradient(to bottom,#d8ebfc 0 3px,transparent 3px 18px); }
.visual-building i:nth-child(1) { --height: 48%; }.visual-building i:nth-child(2) { --height: 75%; }.visual-building i:nth-child(3) { --height: 61%; }.visual-building i:nth-child(4) { --height: 89%; }.visual-building i:nth-child(5) { --height: 57%; }.visual-building i:nth-child(6) { --height: 70%; }
.visual-note { position: absolute; left: 22px; bottom: 22px; display: grid; padding: 15px 18px; border: 1px solid rgba(255,255,255,.7); border-radius: 14px; background: rgba(255,255,255,.86); box-shadow: 0 12px 25px rgba(16,63,105,.13); backdrop-filter: blur(10px); }
.visual-note strong { font-family: Georgia,serif; font-size: 18px; }
.visual-note span { color: var(--wa-muted); font-size: 10px; }
.public-about-copy h2, .public-section-heading h2, .public-process h2, .public-contact h2 { margin: 0 0 21px; color: var(--wa-ink); font-family: Georgia,"Times New Roman",serif; font-size: clamp(38px,5vw,67px); font-weight: 600; line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
.public-about-copy > p:not(.public-eyebrow) { max-width: 780px; color: var(--wa-muted); font-size: clamp(16px,1.35vw,19px); }
.public-text-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 14px; color: var(--wa-ink); font-weight: 800; }
.public-text-link span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--wa-brand); color: #fff; transition: transform .18s ease; }
.public-text-link:hover span { transform: translateX(3px); }

.public-services { background: #fff; }
.public-section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 50px; align-items: end; margin-bottom: 42px; }
.public-section-heading h2 { margin-bottom: 0; max-width: 800px; }
.public-section-heading > p { margin: 0 0 6px; color: var(--wa-muted); font-size: 16px; }
.public-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.public-service-card { position: relative; min-height: 220px; padding: 27px; overflow: hidden; border: 1px solid var(--wa-line); border-top: 4px solid var(--wa-brand); border-radius: var(--wa-radius); background: linear-gradient(180deg,#fff,#f8fbff); box-shadow: 0 13px 28px rgba(17,62,111,.07); transition: transform .18s ease, box-shadow .18s ease; }
.public-service-card:hover { transform: translateY(-4px); box-shadow: var(--wa-shadow); }
.public-service-card > span { position: absolute; right: 20px; top: 13px; color: #d7e7f7; font-family: Georgia,serif; font-size: 42px; font-weight: 700; }
.public-service-card h3 { position: relative; margin: 55px 0 11px; font-family: Georgia,serif; font-size: 25px; }
.public-service-card p { position: relative; margin: 0; color: var(--wa-muted); }

.public-process { padding: clamp(65px,7vw,100px) 0; background: linear-gradient(120deg,#0a3764,#0d66bd); color: #fff; }
.public-process-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(35px,7vw,100px); align-items: center; }
.public-process .public-eyebrow { color: #8fc8ff; }
.public-process h2 { color: #fff; }
.public-process p { color: rgba(255,255,255,.7); }
.public-process ol { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.public-process li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: center; padding: 17px; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; background: rgba(255,255,255,.06); }
.public-process li > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: rgba(255,255,255,.11); font-family: Georgia,serif; font-size: 20px; }
.public-process li div { display: grid; }
.public-process li strong { font-family: Georgia,serif; font-size: 19px; }
.public-process li small { color: rgba(255,255,255,.62); }

.public-contact-card { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 50px; align-items: center; padding: clamp(34px,5vw,72px); overflow: hidden; border: 1px solid var(--wa-line); border-radius: 30px; background: linear-gradient(140deg,#fff,#eaf4ff); box-shadow: var(--wa-shadow); }
.public-contact-card::after { content: ""; position: absolute; right: -100px; top: -130px; width: 330px; height: 330px; border-radius: 50%; background: rgba(77,157,236,.11); }
.public-contact-card > div { position: relative; z-index: 1; }
.public-contact h2 { font-size: clamp(38px,4.8vw,63px); }
.public-contact p { max-width: 700px; color: var(--wa-muted); font-size: 17px; }
.public-contact-actions { display: grid; gap: 12px; }
.public-contact-actions a { display: grid; padding: 18px 20px; border: 1px solid var(--wa-line); border-radius: 15px; background: #fff; color: var(--wa-ink); box-shadow: 0 10px 20px rgba(17,62,111,.06); }
.public-contact-actions a:hover { border-color: #96c2ed; }
.public-contact-actions small { color: var(--wa-muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.public-contact-actions strong { font-size: 16px; }

.public-footer { padding: 55px 0 18px; background: #082f59; color: #e0ebf7; }
.public-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(2,.75fr); gap: 40px; }
.public-brand.is-footer { color: #fff; }
.public-brand.is-footer small { color: rgba(255,255,255,.5); }
.public-footer-grid > div { display: grid; align-content: start; justify-items: start; }
.public-footer-grid p { max-width: 440px; color: rgba(231,240,247,.68); }
.public-footer-grid h2 { margin: 5px 0 13px; color: #fff; font-family: Georgia,serif; font-size: 19px; }
.public-footer-grid a:not(.public-brand) { margin-bottom: 7px; color: rgba(231,240,247,.78); }
.public-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; margin-top: 36px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(231,240,247,.48); font-size: 11px; }
.public-footer-bottom a { color: rgba(231,240,247,.62); }
.public-unpublished { display: grid; min-height: 62vh; padding: 90px 0; place-items: center; background: linear-gradient(145deg,#eef6ff,#f8fbff); }
.public-unpublished-card { max-width: 780px; padding: 64px; border: 1px solid rgba(12,52,83,.08); border-radius: 32px; background: #fff; box-shadow: 0 24px 70px rgba(7,45,83,.1); text-align: center; }
.public-unpublished-card h1 { margin: 12px 0 18px; color: #08345e; font-family: Georgia,serif; font-size: clamp(40px,6vw,72px); line-height: 1.03; }
.public-unpublished-card p { max-width: 620px; margin: 0 auto 28px; color: #52677b; font-size: 18px; line-height: 1.7; }

.public-featured-offers { background: linear-gradient(180deg,#eef6ff,#f9fcff); }
.public-offer-all { display:flex; justify-content:center; margin-top:34px; }
.public-listing-hero { padding:clamp(62px,8vw,105px) 0; background:linear-gradient(125deg,#092f57,#0c67bc); color:#fff; }
.public-listing-hero .public-eyebrow { color:#a9d6ff; }
.public-listing-hero h1 { max-width:900px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,6vw,76px); font-weight:600; line-height:1.03; letter-spacing:-.04em; }
.public-listing-hero p:last-child { max-width:720px; margin:18px 0 0; color:rgba(255,255,255,.72); font-size:18px; }
.public-offers-section { padding-top:42px; }
.public-offer-filters { display:grid; grid-template-columns:repeat(6,minmax(115px,1fr)) auto auto; gap:12px; align-items:end; padding:20px; margin-top:-82px; margin-bottom:30px; border:1px solid var(--wa-line); border-radius:22px; background:#fff; box-shadow:var(--wa-shadow); }
.public-offer-filters label { display:grid; gap:6px; color:var(--wa-muted); font-size:11px; font-weight:800; }
.public-offer-filters input,.public-offer-filters select { width:100%; min-height:46px; padding:9px 11px; border:1px solid #c9def2; border-radius:11px; background:#fff; color:var(--wa-ink); font:inherit; }
.public-offer-filters .public-button { min-height:46px; border:0; cursor:pointer; }
.public-filter-reset { display:grid; min-height:46px; padding-inline:10px; place-items:center; font-size:12px; font-weight:800; }
.public-offers-result { margin-bottom:18px; color:var(--wa-muted); }
.public-offers-result strong { color:var(--wa-ink); font-size:24px; }
.public-offer-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.public-offer-card { overflow:hidden; border:1px solid var(--wa-line); border-radius:22px; background:#fff; box-shadow:0 13px 30px rgba(17,62,111,.08); transition:transform .18s ease,box-shadow .18s ease; }
.public-offer-card:hover { transform:translateY(-4px); box-shadow:var(--wa-shadow); }
.public-offer-photo { position:relative; display:grid; aspect-ratio:4/3; place-items:center; overflow:hidden; background:linear-gradient(145deg,#dcecfb,#f4f9ff); color:var(--wa-muted); }
.public-offer-photo img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.public-offer-card:hover .public-offer-photo img { transform:scale(1.025); }
.public-offer-photo b { position:absolute; left:14px; top:14px; padding:6px 10px; border-radius:999px; background:rgba(7,43,77,.88); color:#fff; font-size:10px; }
.public-offer-watermark { position:absolute; inset:0; z-index:2; display:grid; place-items:center; padding:18px; pointer-events:none; }
.public-offer-watermark img,.public-offer-gallery .public-offer-watermark img,.public-offer-photo .public-offer-watermark img { width:min(43%,230px); height:auto; max-height:43%; object-fit:contain; opacity:.68; filter:drop-shadow(0 2px 9px rgba(0,0,0,.23)); transform:none!important; transition:none!important; }
.public-offer-card-body { display:grid; gap:10px; padding:20px; }
.public-offer-card-body small { color:var(--wa-muted); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.public-offer-card-body h2,.public-offer-card-body h3 { min-height:2.6em; margin:0; font-family:Georgia,serif; font-size:23px; line-height:1.25; }
.public-offer-card-body h2 a,.public-offer-card-body h3 a { color:var(--wa-ink); }
.public-offer-card-body > strong { color:var(--wa-brand-dark); font-size:21px; }
.public-offer-card-body .public-text-link { margin-top:0; font-size:12px; }
.public-offer-number { justify-self:start; padding:5px 8px; border-radius:999px; background:#eef6ff; color:#315f88; font-size:10px; font-weight:800; }
.public-offer-facts { display:flex; flex-wrap:wrap; gap:7px; }
.public-offer-facts span { padding:5px 8px; border-radius:8px; background:#eef6ff; color:#456884; font-size:11px; }
.public-offers-empty { padding:65px 30px; border:1px dashed #aacdeb; border-radius:24px; background:#f7fbff; text-align:center; }
.public-offers-empty h2 { margin:0 0 8px; font-family:Georgia,serif; font-size:34px; }
.public-offers-empty p { max-width:650px; margin:0 auto 22px; color:var(--wa-muted); }
.public-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:34px; }
.public-pagination a,.public-pagination span { display:grid; min-width:40px; min-height:40px; padding:8px 12px; place-items:center; border:1px solid var(--wa-line); border-radius:11px; background:#fff; color:var(--wa-ink); font-size:12px; font-weight:800; }
.public-pagination a:hover,.public-pagination a.is-current { border-color:var(--wa-brand); background:var(--wa-brand); color:#fff; }
.public-pagination span { min-width:auto; border-color:transparent; background:transparent; color:var(--wa-muted); }
.public-offer-detail { padding:42px 0 95px; }
.public-offer-hero { position:relative; }
.public-offer-back { display:inline-flex; margin-bottom:25px; color:var(--wa-muted); font-size:13px; font-weight:800; }
.public-offer-title { display:flex; justify-content:space-between; gap:35px; align-items:end; margin-bottom:28px; }
.public-offer-title h1 { max-width:980px; margin:0; font-family:Georgia,serif; font-size:clamp(40px,5vw,68px); font-weight:600; line-height:1.04; letter-spacing:-.035em; }
.public-offer-title p:last-child { margin:12px 0 0; color:var(--wa-muted); }
.public-offer-title > strong { flex:0 0 auto; color:var(--wa-brand-dark); font-size:clamp(25px,3vw,40px); }
.public-offer-gallery { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:repeat(2,minmax(170px,260px)); gap:10px; overflow:hidden; margin-bottom:36px; border-radius:24px; }
.public-offer-gallery a { position:relative; display:block; overflow:hidden; background:#e7f2fc; }
.public-offer-gallery a.is-main { grid-row:1 / 3; }
.public-offer-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.public-offer-gallery a:hover img { transform:scale(1.025); }
.public-offer-gallery.is-single { grid-template-columns:1fr; grid-template-rows:minmax(360px,620px); }
.public-offer-no-photo { grid-column:1/-1; grid-row:1/-1; display:grid; min-height:420px; place-items:center; background:linear-gradient(145deg,#dcecfb,#f7fbff); color:var(--wa-muted); font-weight:800; }
.public-offer-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,360px); gap:clamp(28px,5vw,70px); align-items:start; }
.public-offer-main { display:grid; gap:42px; }
.public-offer-main section h2,.public-agent-card h2 { margin:0 0 18px; font-family:Georgia,serif; font-size:32px; }
.public-offer-key-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.public-offer-key-facts span { display:grid; padding:17px; border:1px solid var(--wa-line); border-radius:15px; background:#fff; }
.public-offer-key-facts small { color:var(--wa-muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.public-offer-key-facts strong { margin-top:5px; font-size:17px; }
.public-offer-description { margin:0; color:#365a78; font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.public-offer-tour { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; border:1px solid #cdddf5; border-radius:18px; background:linear-gradient(135deg,#edf5ff,#fff); }
.public-offer-tour span { color:#2162c7; font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.public-offer-tour h2 { margin:6px 0; }
.public-offer-tour p { max-width:600px; margin:0; color:#62748c; line-height:1.55; }
.public-offer-description p { margin:.65em 0; }.public-offer-description p:first-child { margin-top:0; }.public-offer-description p:last-child { margin-bottom:0; }
.public-offer-description h2,.public-offer-description h3,.public-offer-description h4 { margin:1em 0 .45em; color:#153f63; line-height:1.25; }
.public-offer-description blockquote { margin:1em 0; padding:12px 16px; border-left:4px solid var(--wa-brand); border-radius:0 10px 10px 0; background:var(--wa-brand-soft); }
.public-offer-description ul,.public-offer-description ol { padding-left:1.5em; }.public-offer-description a { color:var(--wa-brand); text-decoration:underline; }
.public-offer-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; margin:0; }
.public-offer-details div { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid var(--wa-line); }
.public-offer-details dt { color:var(--wa-muted); }
.public-offer-details dd { margin:0; font-weight:750; text-align:right; }
.public-agent-card { position:sticky; top:20px; display:grid; padding:27px; border:1px solid var(--wa-line); border-radius:22px; background:linear-gradient(145deg,#fff,#eef7ff); box-shadow:var(--wa-shadow); }
.public-agent-card h2 { margin-bottom:2px; }
.public-agent-card > p:not(.public-eyebrow) { color:var(--wa-muted); }
.public-agent-card .public-button { margin-top:9px; }
.public-agent-card .public-button.is-secondary { border-color:#b7d3ed; }
.public-agent-card > small { margin-top:15px; color:var(--wa-muted); text-align:center; }
.public-offer-agent-photo { width:112px; height:112px; margin:0 auto 20px; border:5px solid #fff; border-radius:50%; object-fit:cover; box-shadow:0 12px 25px rgba(17,62,111,.16); }
.public-floor-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.public-floor-plans figure { margin:0; overflow:hidden; border:1px solid var(--wa-line); border-radius:16px; background:#fff; }
.public-floor-plans img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; }
.public-floor-plans figcaption { padding:10px 13px; color:var(--wa-muted); font-size:12px; }
.public-offer-map { display:block; width:100%; height:390px; border:1px solid var(--wa-line); border-radius:18px; }

.public-team-hero { padding:clamp(68px,8vw,112px) 0; background:linear-gradient(125deg,#082f59,#0e69c2); color:#fff; }
.public-team-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(30px,6vw,90px); align-items:center; }
.public-team-hero h1 { max-width:900px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(44px,6vw,76px); font-weight:600; line-height:1.02; letter-spacing:-.04em; }
.public-team-hero p:not(.public-eyebrow) { max-width:820px; margin:22px 0 0; color:rgba(255,255,255,.78); font-size:clamp(16px,1.5vw,20px); }
.public-team-hero .public-eyebrow { color:#9ed0ff; }
.public-team-hero-grid>img { width:min(230px,24vw); max-height:160px; object-fit:contain; filter:drop-shadow(0 14px 28px rgba(0,0,0,.2)); }
.public-team-directory>.site-container { display:grid; gap:28px; }
.public-office-card { padding:clamp(24px,4vw,48px); border:1px solid var(--wa-line); border-radius:28px; background:#fff; box-shadow:var(--wa-shadow); }
.public-office-head { display:flex; justify-content:space-between; gap:35px; align-items:flex-start; }
.public-office-head h2 { margin:0; font-family:Georgia,serif; font-size:clamp(32px,4vw,50px); font-weight:600; }
.public-office-head p:not(.public-eyebrow) { max-width:850px; margin:13px 0 0; color:var(--wa-muted); }
.public-office-head>img { width:min(180px,23vw); max-height:115px; object-fit:contain; }
.public-office-contact { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 28px; }
.public-office-contact span { display:grid; min-width:170px; padding:13px 16px; border:1px solid var(--wa-line); border-radius:13px; background:#f7fbff; color:var(--wa-muted); font-size:13px; }
.public-office-contact strong { color:var(--wa-ink); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.public-team-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.public-team-card { display:grid; grid-template-columns:130px minmax(0,1fr); gap:22px; padding:20px; border:1px solid var(--wa-line); border-radius:19px; background:linear-gradient(145deg,#fff,#f5faff); }
.public-team-photo { display:grid; width:130px; aspect-ratio:1; place-items:center; overflow:hidden; border-radius:16px; background:linear-gradient(145deg,#c8e0f6,#edf6ff); color:var(--wa-brand-dark); font-family:Georgia,serif; font-size:48px; }
.public-team-photo img { width:100%; height:100%; object-fit:cover; }
.public-team-copy h3 { margin:0; font-family:Georgia,serif; font-size:25px; }
.public-team-copy>div:first-child { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; }
.public-team-role { padding:4px 8px; border-radius:999px; background:#e3f1ff; color:#155fa7; font-size:10px; font-weight:850; text-transform:uppercase; }
.public-team-copy dl { display:grid; gap:6px; margin:13px 0; }
.public-team-copy dl div { display:grid; grid-template-columns:78px minmax(0,1fr); gap:10px; font-size:13px; }
.public-team-copy dt { color:var(--wa-muted); }
.public-team-copy dd { margin:0; font-weight:700; }
.public-team-copy>p { margin:12px 0 0; color:var(--wa-muted); font-size:14px; }
.public-team-rich { max-width:850px; margin:13px 0 0; color:var(--wa-muted); font-size:14px; line-height:1.65; overflow-wrap:anywhere; }
.public-team-rich p { margin:.6em 0; }.public-team-rich p:first-child { margin-top:0; }.public-team-rich p:last-child { margin-bottom:0; }
.public-team-rich h2,.public-team-rich h3,.public-team-rich h4 { margin:.9em 0 .4em; color:var(--wa-ink); font-family:Georgia,serif; line-height:1.25; }
.public-team-rich h2 { font-size:1.45em; }.public-team-rich h3 { font-size:1.25em; }.public-team-rich h4 { font-size:1.1em; }
.public-team-rich ul,.public-team-rich ol { margin:.6em 0; padding-left:1.4em; }
.public-team-rich blockquote { margin:.8em 0; padding:9px 12px; border-left:3px solid var(--wa-brand); background:var(--wa-brand-soft); }
.public-team-rich a { color:var(--wa-brand); text-decoration:underline; }
.public-team-empty,.public-empty-state { padding:28px; border:1px dashed #a9cae8; border-radius:17px; background:#f7fbff; color:var(--wa-muted); text-align:center; }

/* Nine public offer layouts available in the original Estate Office CRM. */
.template-modern-v2 .public-offer-gallery { grid-template-columns:2fr 1fr 1fr; grid-template-rows:minmax(120px,210px) minmax(120px,210px); }
.template-modern-v2 .public-offer-layout { grid-template-columns:minmax(0,1fr) minmax(280px,340px); padding-top:8px; }
.template-modern-v2 .public-offer-title h1 { font-size:clamp(36px,4vw,58px); }
.template-modern-v3 .public-offer-gallery { grid-template-rows:repeat(2,minmax(140px,230px)); }
.template-modern-v3 .public-offer-layout { grid-template-columns:1fr; }
.template-modern-v3 .public-agent-card { position:static; display:grid; grid-template-columns:1fr auto auto; gap:12px 20px; align-items:center; }
.template-modern-v3 .public-agent-card .public-eyebrow,.template-modern-v3 .public-agent-card h2,.template-modern-v3 .public-agent-card p { grid-column:1; }
.template-modern-v3 .public-agent-card .public-button { grid-row:2/4; }
.template-modern-v6 .public-offer-hero { display:grid; grid-template-columns:minmax(290px,.8fr) minmax(0,1.35fr); gap:18px; margin-bottom:38px; }
.template-modern-v6 .public-offer-title { display:flex; min-height:520px; margin:0; padding:36px; align-items:flex-start; flex-direction:column; justify-content:space-between; border-radius:24px; background:linear-gradient(145deg,#0c3458,#176fba); color:#fff; }
.template-modern-v6 .public-offer-title h1,.template-modern-v6 .public-offer-title p:last-child,.template-modern-v6 .public-offer-title>strong,.template-modern-v6 .public-eyebrow { color:#fff; }
.template-modern-v6 .public-offer-gallery { min-height:520px; margin:0; }
.template-modern-v7 .public-offer-hero { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr); gap:14px; margin-bottom:40px; }
.template-modern-v7 .public-offer-title { order:2; min-height:540px; margin:0; padding:34px; align-items:flex-start; flex-direction:column; justify-content:space-between; border:1px solid var(--wa-line); border-radius:24px; background:#fff; box-shadow:var(--wa-shadow); }
.template-modern-v7 .public-offer-gallery { order:1; min-height:540px; margin:0; grid-template-columns:3fr 1fr; }
.template-modern-v7 .public-offer-gallery a.is-main { grid-row:1/3; }
.template-modern-v8 .public-offer-hero,.template-modern-v10 .public-offer-hero { overflow:hidden; min-height:620px; margin-bottom:46px; border-radius:28px; background:#102d47; }
.template-modern-v8 .public-offer-hero::after,.template-modern-v10 .public-offer-hero::after { position:absolute; inset:0; z-index:1; content:""; pointer-events:none; background:linear-gradient(90deg,rgba(4,24,41,.84),rgba(4,24,41,.16) 65%,rgba(4,24,41,.08)); }
.template-modern-v8 .public-offer-gallery,.template-modern-v10 .public-offer-gallery { position:absolute; inset:0; min-height:620px; margin:0; border-radius:0; display:block; }
.template-modern-v8 .public-offer-gallery a,.template-modern-v10 .public-offer-gallery a { display:none; height:100%; }
.template-modern-v8 .public-offer-gallery a.is-main,.template-modern-v10 .public-offer-gallery a.is-main { display:block; }
.template-modern-v8 .public-offer-title,.template-modern-v10 .public-offer-title { position:relative; z-index:2; display:flex; max-width:760px; min-height:620px; margin:0; padding:clamp(35px,6vw,78px); align-items:flex-start; flex-direction:column; justify-content:flex-end; color:#fff; }
.template-modern-v8 .public-offer-title h1,.template-modern-v8 .public-offer-title p:last-child,.template-modern-v8 .public-offer-title>strong,.template-modern-v8 .public-eyebrow,.template-modern-v10 .public-offer-title h1,.template-modern-v10 .public-offer-title p:last-child,.template-modern-v10 .public-offer-title>strong,.template-modern-v10 .public-eyebrow { color:#fff; }
.template-modern-v8 .public-offer-title>strong { margin-top:22px; }
.template-modern-v9 .public-offer-title { padding:20px 24px; border:1px solid var(--wa-line); border-radius:20px; background:#fff; }
.template-modern-v9 .public-offer-gallery { grid-template-columns:2fr 1fr; }
.template-modern-v9 .public-offer-layout { gap:26px; }
.template-modern-v9 .public-agent-card { border-top:5px solid var(--wa-brand); }
.template-modern-v10 .public-offer-title { max-width:none; }
.template-modern-v10 .public-offer-title>strong { position:absolute; right:44px; bottom:44px; padding:18px 24px; border-radius:18px; background:rgba(255,255,255,.94); color:var(--wa-brand-dark); box-shadow:var(--wa-shadow); }
.template-modern-v10 .public-agent-card { background:linear-gradient(160deg,#0c3458,#176fba); color:#fff; }
.template-modern-v10 .public-agent-card h2,.template-modern-v10 .public-agent-card p,.template-modern-v10 .public-agent-card small,.template-modern-v10 .public-agent-card .public-eyebrow { color:#fff; }
.template-modern-v11 { background:#f5f9fc; }
.template-modern-v11 .public-offer-title,.template-modern-v11 .public-offer-gallery,.template-modern-v11 .public-offer-key-facts span,.template-modern-v11 .public-agent-card,.template-modern-v11 .public-offer-main section { border-radius:28px; }
.template-modern-v11 .public-offer-title { padding:26px; background:#fff; }
.template-modern-v11 .public-offer-main section { padding:24px; border:1px solid var(--wa-line); background:#fff; }

@media (max-width: 960px) {
    .public-menu-toggle { display: grid; grid-template-columns: 22px auto; align-items: center; gap: 2px 8px; }
    .public-menu-toggle span { grid-column: 1; display: block; width: 22px; height: 2px; background: var(--wa-ink); }
    .public-menu-toggle b { grid-column: 2; grid-row: 1 / 4; font-size: 11px; }
    .public-navigation { position: absolute; inset: 82px 0 auto; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: 14px clamp(24px,4vw,64px) 20px; border-bottom: 1px solid var(--wa-line); background: #fff; box-shadow: 0 18px 30px rgba(17,54,92,.11); }
    .public-navigation.is-open { display: flex; }
    .public-navigation a { padding: 11px 0; }
    .public-navigation .public-nav-cta { margin-top: 6px; padding: 11px 15px; text-align: center; }
    .public-about-grid, .public-section-heading, .public-process-grid, .public-contact-card { grid-template-columns: 1fr; }
    .public-about-visual { min-height: 390px; }
    .public-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .public-section-heading { gap: 15px; }
    .public-footer-grid { grid-template-columns: 1fr 1fr; }
    .public-footer-grid > div:first-child { grid-column: 1 / -1; }
    .public-offer-filters { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:-65px; }
    .public-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-offer-layout { grid-template-columns:1fr; }
    .public-agent-card { position:static; }
    .public-offer-gallery { grid-template-columns:2fr 1fr; }
    .public-offer-gallery a:nth-child(n+4) { display:none; }
    .template-modern-v6 .public-offer-hero,.template-modern-v7 .public-offer-hero { grid-template-columns:1fr; }
    .template-modern-v6 .public-offer-title,.template-modern-v6 .public-offer-gallery,.template-modern-v7 .public-offer-title,.template-modern-v7 .public-offer-gallery { min-height:420px; }
    .template-modern-v7 .public-offer-title { order:1; }
    .template-modern-v7 .public-offer-gallery { order:2; }
    .public-team-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) { .public-offer-tour { align-items:flex-start; flex-direction:column; gap:15px; padding:18px; } }

@media (max-width: 620px) {
    .public-header, .public-nav-row { min-height: 70px; }
    .public-navigation { inset-block-start: 70px; }
    .public-brand-mark { width: 39px; height: 39px; }
    .public-brand strong { font-size: 15px; }
    .public-hero { min-height: 610px; }
    .public-hero h1 { font-size: clamp(40px,12vw,58px); }
    .public-hero-actions { align-items: stretch; flex-direction: column; width: min(100%,330px); }
    .public-slider-copy h1 { font-size:clamp(40px,12vw,58px); }.public-slider--cards .public-slider-slide,.public-slider--split .public-slider-slide { display:grid; grid-template-columns:1fr; padding:0; }.public-slider--cards .public-slider-slide > img,.public-slider--split .public-slider-slide > img { position:absolute; inset:0; z-index:0; width:100%; height:100%; border-radius:0; box-shadow:none; }.public-slider--cards .public-slider-copy,.public-slider--split .public-slider-copy { grid-column:1; grid-row:1; align-items:center; padding:50px 20px 85px; text-align:center; }.public-slider--cards .public-slider-copy p:not(.public-eyebrow),.public-slider--split .public-slider-copy p:not(.public-eyebrow) { margin-inline:auto; }.public-slider--split .public-slider-shade { background:linear-gradient(100deg,rgba(5,30,56,.82),rgba(5,42,76,.44)); }
    .public-about-visual { min-height: 320px; }
    .public-slider--cards .public-slider-shade { background: linear-gradient(100deg,rgba(5,30,56,.82),rgba(5,42,76,.44)); }
    .public-slider--cards .public-slider-slide > img { grid-column: 1; grid-row: 1; }
    .public-service-grid { grid-template-columns: 1fr; }
    .public-service-card { min-height: 190px; }
    .public-contact-card { padding: 27px 20px; border-radius: 21px; }
    .public-contact-actions strong { font-size: 13px; }
    .public-footer-grid { grid-template-columns: 1fr; }
    .public-footer-grid > div:first-child { grid-column: auto; }
    .public-footer-bottom { align-items: flex-start; flex-direction: column; }
    .public-unpublished { padding: 48px 0; }
    .public-unpublished-card { padding: 42px 24px; border-radius: 24px; }
    .public-offer-filters { grid-template-columns:1fr; margin-top:-65px; }
    .public-offer-grid { grid-template-columns:1fr; }
    .public-offer-title { align-items:flex-start; flex-direction:column; }
    .public-offer-gallery { grid-template-columns:1fr; grid-template-rows:320px; }
    .public-offer-gallery a.is-main { grid-row:auto; }
    .public-offer-gallery a:not(.is-main) { display:none; }
    .public-offer-key-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-offer-details { grid-template-columns:1fr; }
    .public-floor-plans { grid-template-columns:1fr; }
    .template-modern-v3 .public-agent-card { display:block; }
    .template-modern-v6 .public-offer-title,.template-modern-v6 .public-offer-gallery,.template-modern-v7 .public-offer-title,.template-modern-v7 .public-offer-gallery { min-height:340px; }
    .template-modern-v8 .public-offer-hero,.template-modern-v10 .public-offer-hero,.template-modern-v8 .public-offer-title,.template-modern-v10 .public-offer-title,.template-modern-v8 .public-offer-gallery,.template-modern-v10 .public-offer-gallery { min-height:480px; }
    .template-modern-v10 .public-offer-title>strong { position:static; margin-top:20px; padding:12px 16px; }
    .public-team-hero-grid { grid-template-columns:1fr; }
    .public-team-hero-grid>img { width:min(190px,58vw); }
    .public-office-head { display:grid; }
    .public-office-head>img { width:min(170px,55vw); }
    .public-team-card { grid-template-columns:86px minmax(0,1fr); padding:15px; }
    .public-team-photo { width:86px; border-radius:13px; font-size:36px; }
    .public-team-copy dl div { grid-template-columns:1fr; gap:0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
.public-mls-label { display:inline-flex; width:max-content; margin-top:8px; padding:5px 9px; border-radius:999px; background:#eaf3ff; color:#1559a8; font-size:12px; font-weight:800; letter-spacing:.02em; }
.public-mls-disclaimer { margin:22px 0 0; padding:16px 18px; border:1px solid #dbe7f5; border-radius:14px; background:#f6faff; color:#4a617b; font-size:14px; line-height:1.6; }

.public-mortgage { scroll-margin-top:24px; margin-top:54px; padding-top:48px; border-top:1px solid #d8e6f3; }
.public-mortgage-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:24px; }
.public-mortgage-heading h2 { margin:2px 0 8px; font-family:Georgia,serif; font-size:clamp(32px,4vw,48px); }
.public-mortgage-heading p:not(.public-eyebrow) { margin:0; color:var(--wa-muted); }
.public-mortgage-heading > span { padding:8px 12px; border-radius:999px; background:#e9f4ff; color:#1664aa; font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.public-mortgage-layout { display:grid; grid-template-columns:minmax(260px,30%) minmax(0,70%); overflow:hidden; border:1px solid #d5e4f2; border-radius:24px; background:#fff; box-shadow:0 18px 42px rgba(9,53,94,.09); }
.public-mortgage-results { display:flex; min-height:100%; padding:28px; flex-direction:column; background:linear-gradient(155deg,#082f55,#0d69b9); color:#fff; }
.public-mortgage-result-lead { margin:0 0 8px; color:#acd7fb; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.public-mortgage-results > strong { margin-bottom:22px; font-size:clamp(28px,3.2vw,43px); line-height:1.08; white-space:nowrap; }
.public-mortgage-results dl { display:grid; gap:0; margin:0; }
.public-mortgage-results dl div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.public-mortgage-results dt { color:#c7e2f8; font-size:12px; }
.public-mortgage-results dd { margin:0; font-size:13px; font-weight:800; text-align:right; white-space:nowrap; }
.public-mortgage-results > small { margin-top:auto; padding-top:20px; color:#acd1ef; font-size:10px; line-height:1.45; }
.public-mortgage-settings { padding:28px; background:linear-gradient(180deg,#fff,#f7fbff); }
.public-mortgage-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.public-mortgage-form-grid > label { display:grid; align-content:start; gap:7px; color:#3d5870; font-size:11px; font-weight:800; }
.public-mortgage-form-grid input,.public-mortgage-form-grid select { width:100%; min-height:47px; padding:10px 12px; border:1px solid #bdd3e7; border-radius:11px; background:#fff; color:#102d47; font:inherit; font-size:14px; }
.public-mortgage-form-grid input:focus,.public-mortgage-form-grid select:focus,.public-mortgage-contact-form input:focus { outline:3px solid rgba(22,113,190,.16); border-color:#1671be; }
.public-mortgage-form-grid input[readonly] { background:#eef5fb; color:#546b7f; }
.public-wibor-field { display:grid; gap:7px; min-width:0; margin:0; padding:0; border:0; }
.public-wibor-field legend { margin-bottom:7px; color:#3d5870; font-size:11px; font-weight:800; }
.public-wibor-field > div { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.public-wibor-field button { min-height:47px; padding:7px; border:1px solid #bdd3e7; border-radius:10px; background:#fff; color:#43627d; font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
.public-wibor-field button.is-active { border-color:#1269b3; background:#1269b3; color:#fff; box-shadow:0 6px 15px rgba(18,105,179,.2); }
.public-mortgage-checkbox { grid-column:1/-1; display:flex !important; align-items:center; grid-template-columns:auto 1fr; padding:13px 15px; border-radius:12px; background:#eaf4fd; cursor:pointer; }
.public-mortgage-checkbox input { width:18px; min-height:18px; margin:0; accent-color:#1269b3; }
.public-mortgage-disclaimer { margin:13px 0 0; color:#6d8192; font-size:11px; line-height:1.55; }
.public-mortgage-advisor { display:grid; grid-template-columns:minmax(0,3fr) minmax(360px,2fr); gap:30px; margin-top:32px; padding:30px; border:1px solid #d6e5f2; border-radius:24px; background:linear-gradient(135deg,#f6fbff,#fff); }
.public-mortgage-advisor-media { display:flex; min-height:260px; align-items:center; }
.public-mortgage-advisor.align-left .public-mortgage-advisor-media { justify-content:flex-start; }
.public-mortgage-advisor.align-center .public-mortgage-advisor-media { justify-content:center; }
.public-mortgage-advisor.align-right .public-mortgage-advisor-media { justify-content:flex-end; }
.public-mortgage-advisor-media img { display:block; width:auto; max-width:100%; object-fit:contain; }
.public-mortgage-advisor-placeholder { display:grid; width:min(100%,430px); min-height:240px; padding:30px; place-items:center; align-content:center; border-radius:22px; background:linear-gradient(145deg,#0a365f,#1475c5); color:#fff; text-align:center; }
.public-mortgage-advisor-placeholder span { display:grid; width:75px; height:75px; margin-bottom:14px; place-items:center; border:1px solid rgba(255,255,255,.38); border-radius:24px; font-family:Georgia,serif; font-size:30px; }
.public-mortgage-advisor-content h3 { margin:4px 0 8px; font-family:Georgia,serif; font-size:31px; line-height:1.13; }
.public-mortgage-advisor-content > p:not(.public-eyebrow) { margin:0 0 18px; color:var(--wa-muted); line-height:1.55; }
.public-form-notice { margin:0 0 15px; padding:12px 14px; border-radius:11px; font-size:13px; font-weight:750; }
.public-form-notice.is-success { background:#e5f8ed; color:#17633a; }
.public-form-notice.is-error { background:#fff0ef; color:#9c302c; }
.public-mortgage-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.public-mortgage-contact-grid label { display:grid; gap:6px; color:#415d74; font-size:11px; font-weight:800; }
.public-mortgage-contact-grid input { width:100%; min-height:45px; padding:10px 12px; border:1px solid #bdd3e7; border-radius:10px; background:#fff; color:#102d47; font:inherit; }
.public-mortgage-contact-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:15px; }
.public-mortgage-contact-actions small { max-width:330px; color:#718698; font-size:10px; line-height:1.45; }
.public-mortgage-contact-actions .public-button { flex:0 0 auto; border:0; cursor:pointer; }
.public-form-trap { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

@media (max-width:960px) {
    .public-mortgage-layout { grid-template-columns:1fr; }
    .public-mortgage-results { min-height:auto; }
    .public-mortgage-results > small { margin-top:18px; }
    .public-mortgage-advisor { grid-template-columns:1fr; }
    .public-mortgage-advisor-media { min-height:180px; justify-content:center !important; }
}

@media (max-width:620px) {
    .public-mortgage { margin-top:40px; padding-top:36px; }
    .public-mortgage-heading { align-items:flex-start; flex-direction:column; gap:12px; }
    .public-mortgage-layout { border-radius:18px; }
    .public-mortgage-results,.public-mortgage-settings { padding:21px 18px; }
    .public-mortgage-results > strong { font-size:29px; white-space:normal; }
    .public-mortgage-results dl div { align-items:flex-start; flex-direction:column; gap:4px; }
    .public-mortgage-results dd { white-space:normal; text-align:left; }
    .public-mortgage-form-grid,.public-mortgage-contact-grid { grid-template-columns:1fr; }
    .public-mortgage-advisor { gap:20px; padding:20px 17px; border-radius:18px; }
    .public-mortgage-advisor-content h3 { font-size:27px; }
    .public-mortgage-contact-actions { align-items:stretch; flex-direction:column; }
    .public-mortgage-contact-actions .public-button { width:100%; }
}

/* Standard pages created in the CMS editor. */
.public-standard-page { padding:clamp(44px,7vw,96px) 0 clamp(72px,10vw,140px); }
.public-standard-hero { overflow:hidden; background:radial-gradient(circle at 85% 12%,rgba(100,181,255,.23),transparent 31%),linear-gradient(145deg,#f7fbff,#eaf4ff); }
.public-standard-hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(260px,.75fr); gap:clamp(30px,7vw,100px); align-items:center; min-height:clamp(430px,62vh,670px); }
.public-standard-hero h1 { max-width:830px; margin:0; color:var(--wa-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,6vw,78px); font-weight:600; line-height:1.03; letter-spacing:-.045em; text-wrap:balance; }
.public-standard-hero p:not(.public-eyebrow) { max-width:760px; margin:25px 0 0; color:var(--wa-muted); font-size:clamp(16px,1.35vw,20px); line-height:1.82; }
.public-standard-hero .public-button { margin-top:30px; }
.public-standard-hero figure { min-height:clamp(280px,40vw,510px); margin:0; overflow:hidden; border:1px solid #c9def3; border-radius:28px; background:linear-gradient(145deg,#c9e4fb,#f6fbff); box-shadow:0 25px 55px rgba(18,65,112,.15); }
.public-standard-hero figure img { display:block; width:100%; height:100%; min-height:inherit; object-fit:cover; }
.public-standard-rich-text{max-width:760px;margin:25px 0 0;color:var(--wa-muted);font-size:clamp(16px,1.35vw,20px);line-height:1.82}.public-standard-rich-text p{margin:0 0 1.15em!important}.public-standard-rich-text h2,.public-standard-rich-text h3,.public-standard-rich-text h4{margin:1.5em 0 .55em;color:var(--wa-ink);font-family:Georgia,"Times New Roman",serif;line-height:1.15}.public-standard-rich-text ul,.public-standard-rich-text ol{padding-left:1.35em}.public-standard-rich-text blockquote{margin:1.2em 0;padding:.5em 0 .5em 1em;border-left:3px solid var(--wa-blue);color:var(--wa-ink)}.public-standard-rich-text a{color:var(--wa-blue);text-decoration:underline}
@media (max-width:960px) { .public-standard-hero-grid { grid-template-columns:1fr; padding-block:60px; } .public-standard-hero figure { min-height:360px; } }
@media (max-width:620px) { .public-standard-page { padding-top:0; } .public-standard-hero-grid { min-height:auto; padding-block:48px; } .public-standard-hero h1 { font-size:clamp(39px,11vw,57px); } .public-standard-hero figure { min-height:270px; border-radius:20px; } }

/* 0.0085: editable homepage variants and consent-based contact form. */
.public-featured-offers--editorial .public-offer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.public-featured-offers--editorial .public-offer-card:first-child { grid-column:span 2; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr); }
.public-featured-offers--editorial .public-offer-card:first-child .public-offer-photo { min-height:300px; aspect-ratio:auto; }
.public-featured-offers--editorial .public-offer-card:first-child .public-offer-card-body { display:flex; padding:26px; align-items:flex-start; flex-direction:column; justify-content:flex-end; }
.public-featured-offers--compact { padding-block:clamp(52px,6vw,84px); }
.public-featured-offers--compact .public-offer-grid { gap:12px; }
.public-featured-offers--compact .public-offer-card { display:grid; grid-template-columns:112px 1fr; border-radius:14px; }
.public-featured-offers--compact .public-offer-photo { min-height:112px; aspect-ratio:auto; }
.public-featured-offers--compact .public-offer-card-body { padding:14px; }
.public-featured-offers--compact .public-offer-card-body h3 { margin:4px 0; font-size:17px; }
.public-about--image-right .public-about-visual { order:2; }
.public-about--editorial .public-about-grid { grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); align-items:start; }
.public-about--editorial .public-about-visual { min-height:400px; transform:translateY(30px); }
.public-services--list .public-service-grid { grid-template-columns:1fr; gap:10px; }
.public-services--list .public-service-card { display:grid; min-height:0; grid-template-columns:60px minmax(180px,.7fr) minmax(0,1.3fr); align-items:center; padding:19px 24px; border-top-width:1px; }
.public-services--list .public-service-card > span { position:static; color:#a5c9ec; font-size:28px; }
.public-services--list .public-service-card h3 { margin:0; font-size:22px; }
.public-services--compact { padding-block:clamp(50px,6vw,82px); }
.public-services--compact .public-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.public-services--compact .public-service-card { min-height:175px; padding:20px; border-radius:15px; }
.public-services--compact .public-service-card h3 { margin-top:43px; font-size:21px; }
.public-process--cards ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.public-process--cards li { min-height:180px; grid-template-columns:1fr; align-content:start; }
.public-process--compact { padding-block:clamp(48px,6vw,75px); }
.public-process--compact .public-process-grid { gap:35px; }
.public-process--compact li { padding:12px; grid-template-columns:34px 1fr; }
.public-process--compact li > span { width:32px; height:32px; border-radius:10px; font-size:16px; }
.public-process--compact li strong { font-size:16px; }
.public-contact-card:has(.public-contact-form) { grid-template-columns:1.15fr .85fr; }
.public-contact-form { position:relative; z-index:2; grid-column:1/-1; display:grid; gap:17px; padding:clamp(22px,3vw,34px); border:1px solid rgba(105,167,221,.45); border-radius:20px; background:rgba(255,255,255,.94); box-shadow:0 14px 28px rgba(15,66,111,.08); }
.public-contact-form-heading h3 { margin:0 0 7px; color:var(--wa-ink); font-family:Georgia,serif; font-size:clamp(27px,3.3vw,40px); line-height:1.1; }
.public-contact-form-heading > p:not(.public-eyebrow) { margin:0; color:var(--wa-muted); font-size:14px; }
.public-contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.public-contact-form-grid label { display:grid; gap:6px; color:#415d74; font-size:11px; font-weight:800; }
.public-contact-form-grid label > span small { color:#72889a; font-weight:650; }
.public-contact-form-grid input,.public-contact-form-grid textarea { width:100%; min-height:46px; padding:10px 12px; border:1px solid #bdd3e7; border-radius:10px; background:#fff; color:#102d47; font:inherit; font-size:14px; resize:vertical; }
.public-contact-form-grid input:focus,.public-contact-form-grid textarea:focus { outline:3px solid rgba(22,113,190,.16); border-color:#1671be; }
.public-contact-form-grid .public-contact-form-message,.public-contact-form-grid .public-contact-consent { grid-column:1/-1; }
.public-contact-form-grid .public-contact-consent { display:flex; align-items:flex-start; gap:9px; padding:12px 14px; border-radius:11px; background:#eaf4fd; color:#456075; font-size:11px; font-weight:700; cursor:pointer; }
.public-contact-consent input { flex:0 0 auto; width:17px; min-height:17px; margin:1px 0 0; accent-color:#1269b3; }
.public-contact-form-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.public-contact-form-actions small { max-width:500px; color:#718698; font-size:10px; line-height:1.48; }
.public-contact-form-actions .public-button { border:0; cursor:pointer; }
.public-contact--form .public-contact-card { grid-template-columns:1fr; }
.public-contact--form .public-contact-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.public-contact--details .public-contact-card { grid-template-columns:1fr; }
.public-contact--details .public-contact-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:960px) { .public-featured-offers--editorial .public-offer-card:first-child { grid-column:span 1; grid-template-columns:1fr; } .public-featured-offers--editorial .public-offer-card:first-child .public-offer-photo { min-height:0; aspect-ratio:4/3; } .public-services--list .public-service-card { grid-template-columns:50px minmax(150px,.8fr) minmax(0,1.2fr); } .public-process--cards ol { grid-template-columns:1fr; } .public-process--cards li { min-height:0; grid-template-columns:46px 1fr; } }
@media (max-width:620px) { .public-featured-offers--compact .public-offer-card { grid-template-columns:96px 1fr; } .public-featured-offers--compact .public-offer-photo { min-height:96px; } .public-about--image-right .public-about-visual { order:0; } .public-about--editorial .public-about-visual { min-height:300px; transform:none; } .public-services--list .public-service-card { grid-template-columns:42px 1fr; gap:7px 12px; padding:16px; } .public-services--list .public-service-card p { grid-column:2; } .public-services--compact .public-service-grid { grid-template-columns:1fr; } .public-contact--form .public-contact-actions,.public-contact--details .public-contact-actions { grid-template-columns:1fr; } .public-contact-form { padding:20px 16px; border-radius:15px; } .public-contact-form-grid { grid-template-columns:1fr; } .public-contact-form-grid .public-contact-form-message,.public-contact-form-grid .public-contact-consent { grid-column:auto; } .public-contact-form-actions { align-items:stretch; flex-direction:column; } .public-contact-form-actions .public-button { width:100%; } }

/* Public offer catalog 0.0103 — WordPress half-map parity. */
.eocrm-catalog-page { padding:clamp(44px,6vw,76px) 0; background:linear-gradient(180deg,#f1f7fc 0%,#edf5fb 100%); }
.eocrm-catalog-page > .site-container { overflow:hidden; padding:clamp(18px,2.2vw,30px); border:1px solid #d6e4f1; border-radius:24px; background:#fff; box-shadow:0 18px 48px rgba(17,62,111,.06); }
.eocrm-catalog-heading { padding:8px clamp(8px,2vw,24px) 34px; text-align:center; }
.eocrm-catalog-heading .public-eyebrow { margin:20px 0 7px; color:var(--wa-brand); }
.eocrm-catalog-heading h1 { margin:0; color:var(--wa-brand-dark); font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,5vw,68px); font-weight:600; line-height:1.04; letter-spacing:-.035em; }
.eocrm-catalog-heading > p:last-child { max-width:760px; margin:14px auto 0; color:var(--wa-muted); font-size:16px; line-height:1.55; }
.eocrm-transaction-switch { display:inline-flex; gap:6px; padding:6px; border:1px solid #d5e3f1; border-radius:15px; background:#f4f8fc; }
.eocrm-transaction-switch a { display:inline-flex; min-height:40px; padding:8px 18px; align-items:center; justify-content:center; border-radius:10px; color:#55718c; font-size:12px; font-weight:850; }
.eocrm-transaction-switch a:hover { color:var(--wa-brand-dark); background:#fff; }
.eocrm-transaction-switch a.is-active { background:linear-gradient(135deg,#0d375f,#1468b4); color:#fff; box-shadow:0 8px 18px rgba(14,80,139,.2); }
.eocrm-catalog-shell { padding:20px; border:1px solid #dbe7f2; border-radius:18px; background:#f8fafc; }
.eocrm-catalog-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:13px 12px; padding:18px; border:1px solid #dbe5ee; border-radius:14px; background:linear-gradient(180deg,#fff,#fbfdff); }
.eocrm-catalog-filters label { display:grid; gap:6px; min-width:0; }
.eocrm-catalog-filters label > span { color:#42566b; font-size:10px; font-weight:850; letter-spacing:.045em; text-transform:uppercase; }
.eocrm-catalog-filters input,.eocrm-catalog-filters select { width:100%; min-width:0; min-height:43px; padding:9px 12px; border:1px solid #cddbe8; border-radius:9px; background:#fff; color:#203851; font:inherit; font-size:12px; outline:none; }
.eocrm-catalog-filters input:focus,.eocrm-catalog-filters select:focus { border-color:#4d91ce; box-shadow:0 0 0 3px rgba(45,126,198,.12); }
.eocrm-catalog-filter-actions { display:flex; min-width:0; align-items:end; justify-content:flex-end; gap:8px; }
.eocrm-catalog-filter-actions > span,.eocrm-catalog-filter-actions button,.eocrm-catalog-filter-actions a { display:inline-flex; min-height:40px; padding:8px 12px; align-items:center; justify-content:center; border:1px solid #c8d9e9; border-radius:999px; font-size:11px; font-weight:800; white-space:nowrap; }
.eocrm-catalog-filter-actions > span { background:#eef6fd; color:#265d8e; }
.eocrm-catalog-filter-actions > span.is-loading { border-color:#75aadd; background:#dfedfa; color:#123f69; }
.eocrm-catalog-filter-actions button { display:none; border-color:var(--wa-brand); background:var(--wa-brand); color:#fff; cursor:pointer; }
.eocrm-catalog-filter-actions a { border-radius:9px; background:#fff; color:#263f58; }
.eocrm-catalog-meta { display:flex; align-items:center; gap:8px; padding:15px 2px 12px; color:#526b82; font-size:12px; }
.eocrm-catalog-meta strong { color:#173f66; }
.eocrm-catalog-meta i { width:1px; height:13px; background:#c9d7e3; }
.eocrm-catalog-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; align-items:start; }
.eocrm-catalog-map-panel { position:sticky; top:18px; padding:12px; border:1px solid #d7e3ee; border-radius:13px; background:#fff; }
.eocrm-catalog-map-panel h2 { margin:0 0 11px; color:#183c5f; font-family:Georgia,"Times New Roman",serif; font-size:20px; }
.eocrm-catalog-map { position:relative; z-index:1; width:100%; min-height:560px; overflow:hidden; border:1px solid #d4e0eb; border-radius:10px; background:#e8eef4; }
.eocrm-catalog-map-panel > p { margin:9px 0 0; color:#6d7f90; font-size:12px; }
.eocrm-catalog-map .leaflet-control-attribution { font-size:9px; }
.eocrm-catalog-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.eocrm-catalog-card { min-width:0; overflow:hidden; border:1px solid #d6e2ed; border-radius:12px; background:#fff; box-shadow:0 6px 22px rgba(15,31,54,.07); }
.eocrm-catalog-card-media { position:relative; display:grid; min-height:210px; overflow:hidden; place-items:center; background:#e8eef5; color:#6a7e90; }
.eocrm-catalog-card-media > img { width:100%; height:210px; object-fit:cover; transition:transform .25s ease; }
.eocrm-catalog-card:hover .eocrm-catalog-card-media > img { transform:scale(1.025); }
.eocrm-catalog-card-media > b { position:absolute; z-index:3; top:10px; right:10px; max-width:calc(100% - 20px); padding:6px 9px; border-radius:7px; background:#0d62b4; color:#fff; font-size:9px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.eocrm-catalog-card-media > b:nth-of-type(2) { top:42px; background:#173f66; }
.eocrm-catalog-card-body { display:flex; padding:14px; flex-direction:column; gap:5px; }
.eocrm-catalog-card-body h2 { margin:0 0 2px; font-family:Georgia,"Times New Roman",serif; font-size:21px; line-height:1.1; }
.eocrm-catalog-card-body h2 a { color:#172e45; }
.eocrm-catalog-price { color:#102f4e; font-family:Georgia,"Times New Roman",serif; font-size:31px; line-height:1; white-space:nowrap; }
.eocrm-catalog-location,.eocrm-catalog-type,.eocrm-catalog-number { margin:0; color:#6b7d8e; font-size:12px; line-height:1.25; }
.eocrm-catalog-type { color:#344b61; font-weight:700; }
.eocrm-catalog-metrics { display:flex; flex-wrap:wrap; gap:7px; margin-top:5px; }
.eocrm-catalog-metrics span { display:inline-flex; min-height:33px; padding:6px 11px; align-items:center; gap:6px; border:1px solid #d8e2eb; border-radius:999px; background:#f8fafc; color:#344a60; }
.eocrm-catalog-metrics svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.eocrm-catalog-metrics span:first-child svg { fill:currentColor; stroke:none; }
.eocrm-catalog-metrics em { font-size:11px; font-style:normal; white-space:nowrap; }
.eocrm-catalog-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:3px; }
.eocrm-catalog-tags span { padding:5px 9px; border-radius:999px; background:#edf4fb; color:#315879; font-size:10px; }
.eocrm-catalog-description { display:-webkit-box; overflow:hidden; min-height:2.5em; margin:2px 0 0; color:#536a7f; font-size:12px; line-height:1.25; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.eocrm-catalog-card-button { align-self:flex-start; margin-top:4px; padding:10px 14px; border-radius:7px; background:#26374d; color:#fff; font-size:11px; font-weight:850; }
.eocrm-catalog-card-button:hover { background:#0d62b4; color:#fff; }
.eocrm-catalog-empty { grid-column:1/-1; padding:60px 28px; border:1px dashed #aacdeb; border-radius:16px; background:#fff; text-align:center; }
.eocrm-catalog-empty h2 { margin:0 0 8px; font-family:Georgia,"Times New Roman",serif; font-size:28px; }
.eocrm-map-marker-wrap { border:0; background:transparent; }
.eocrm-map-marker { display:grid; width:30px; height:38px; place-items:center; border:3px solid #fff; border-radius:18px 18px 18px 4px; background:#e23a32; color:#fff; box-shadow:0 4px 12px rgba(20,45,70,.28); font-size:11px; font-weight:900; transform:rotate(-45deg); }
.eocrm-map-marker span { transform:rotate(45deg); }
.eocrm-map-popup { width:235px; }
.eocrm-map-popup img { display:block; width:100%; height:120px; margin-bottom:8px; border-radius:7px; object-fit:cover; }
.eocrm-map-popup strong,.eocrm-map-popup span { display:block; }
.eocrm-map-popup strong { color:#173b5d; font-size:14px; }
.eocrm-map-popup span { margin-top:2px; color:#5d7285; font-size:11px; }
.eocrm-map-popup a { display:inline-flex; margin-top:8px; padding:7px 10px; border-radius:6px; background:#0d62b4; color:#fff; font-size:10px; font-weight:800; }
.eocrm-catalog-map.is-empty::after { position:absolute; inset:0; z-index:500; display:grid; padding:25px; place-items:center; content:"Brak ofert ze współrzędnymi GPS"; background:rgba(244,248,252,.82); color:#60778d; font-weight:800; text-align:center; pointer-events:none; }

@media (max-width:1200px) {
    .eocrm-catalog-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .eocrm-catalog-filter-actions { grid-column:span 3; }
    .eocrm-catalog-map { min-height:500px; }
    .eocrm-catalog-price { font-size:26px; }
}
@media (max-width:1024px) {
    .eocrm-catalog-layout { grid-template-columns:1fr; }
    .eocrm-catalog-map-panel { position:static; }
    .eocrm-catalog-map { min-height:390px; }
}
@media (max-width:700px) {
    .eocrm-catalog-page { padding:22px 0; }
    .eocrm-catalog-page > .site-container { padding:12px; border-radius:16px; }
    .eocrm-catalog-heading { padding:4px 2px 23px; }
    .eocrm-transaction-switch { display:grid; grid-template-columns:1fr 1fr; width:100%; }
    .eocrm-transaction-switch a { padding-inline:8px; }
    .eocrm-catalog-shell { padding:10px; }
    .eocrm-catalog-filters { grid-template-columns:1fr; padding:13px; }
    .eocrm-catalog-filter-actions { grid-column:auto; align-items:stretch; flex-wrap:wrap; justify-content:flex-start; }
    .eocrm-catalog-filter-actions > span { flex:1 1 auto; }
    .eocrm-catalog-filter-actions button { display:inline-flex; }
    .eocrm-catalog-meta { flex-wrap:wrap; }
    .eocrm-catalog-map { min-height:340px; }
    .eocrm-catalog-list { grid-template-columns:1fr; }
}

/* 0.0105: public renderer for modular pages. */
.public-builder-page{overflow:hidden;background:#fff;color:var(--wa-ink)}.public-builder-section{position:relative;padding:clamp(48px,7vw,92px) 0}.public-builder-section h1,.public-builder-section h2,.public-builder-section h3,.public-builder-empty h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em;text-wrap:balance}.public-builder-section h2{margin:0;font-size:clamp(31px,4vw,52px);line-height:1.08}.public-builder-section h3{margin:0}.public-builder-rich{color:var(--wa-muted);font-size:clamp(15px,1.15vw,18px);line-height:1.8}.public-builder-rich p{margin:0 0 1em}.public-builder-rich p:last-child{margin-bottom:0}.public-builder-rich h2,.public-builder-rich h3,.public-builder-rich h4{margin:1.3em 0 .5em;color:var(--wa-ink);font-size:1.45em}.public-builder-rich ul,.public-builder-rich ol{padding-left:1.3em}.public-builder-rich a{color:var(--wa-blue);text-decoration:underline}.public-builder-empty{padding:100px 0 130px;background:linear-gradient(145deg,#f7fbff,#eaf4ff)}.public-builder-empty h1{margin:8px 0 16px;font-size:clamp(42px,6vw,74px)}.public-builder-empty p{color:var(--wa-muted)}
.public-builder-hero{padding:0;background:radial-gradient(circle at 85% 12%,rgba(100,181,255,.23),transparent 31%),linear-gradient(145deg,#f7fbff,#eaf4ff)}.public-builder-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.8fr);gap:clamp(34px,7vw,100px);align-items:center;min-height:clamp(520px,72vh,760px);padding-block:clamp(60px,8vw,110px)}.public-builder-hero.is-image-left .public-builder-hero-copy{grid-column:2}.public-builder-hero.is-image-left figure{grid-column:1;grid-row:1}.public-builder-hero.is-center .public-builder-hero-grid{display:block;max-width:1050px;min-height:clamp(460px,65vh,680px);align-content:center;text-align:center}.public-builder-hero.is-center .public-builder-hero-copy{display:grid;justify-items:center}.public-builder-hero-copy h1{max-width:900px;margin:8px 0 22px;font-size:clamp(45px,6vw,82px);font-weight:600;line-height:1.02}.public-builder-hero-copy>.public-builder-rich{max-width:760px}.public-builder-hero-copy .public-button{margin-top:28px}.public-builder-hero figure{min-height:clamp(320px,42vw,560px);margin:0;overflow:hidden;border:1px solid #c9def3;border-radius:30px;background:#dcecf9;box-shadow:0 28px 64px rgba(18,65,112,.16)}.public-builder-hero figure img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover}
.public-builder-heading{padding-bottom:clamp(18px,3vw,35px)}.public-builder-heading h1,.public-builder-heading h2,.public-builder-heading h3{max-width:980px;margin:8px 0 0}.public-builder-heading h1{font-size:clamp(43px,6vw,76px)}.public-builder-heading h2{font-size:clamp(34px,4.5vw,58px)}.public-builder-heading h3{font-size:clamp(27px,3.5vw,43px)}.public-builder-heading.is-center .site-container{display:grid;justify-items:center;text-align:center}.public-builder-heading.is-right .site-container{display:grid;justify-items:end;text-align:right}.public-builder-text{padding-top:clamp(28px,4vw,55px)}.public-builder-text>.site-container>div{max-width:900px}.public-builder-text.is-narrow>.site-container>div{max-width:720px}.public-builder-text.is-wide>.site-container>div{max-width:1120px}.public-builder-text.is-center>.site-container>div{margin-inline:auto;text-align:center}.public-builder-text h2{margin-bottom:22px}
.public-builder-image figure{margin:0 auto}.public-builder-image.is-narrow figure{max-width:720px}.public-builder-image.is-normal figure{max-width:960px}.public-builder-image.is-wide figure{max-width:1180px}.public-builder-image.is-full .site-container{max-width:none;padding:0}.public-builder-image img{display:block;width:100%;max-height:780px;border-radius:26px;object-fit:cover;box-shadow:0 24px 64px rgba(18,65,112,.13)}.public-builder-image.is-full img{border-radius:0}.public-builder-image figcaption{padding:10px 4px;color:var(--wa-muted);font-size:13px;text-align:center}.public-builder-columns>.site-container{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,7vw,100px)}.public-builder-columns.is-wide-left>.site-container{grid-template-columns:2fr 1fr}.public-builder-columns.is-wide-right>.site-container{grid-template-columns:1fr 2fr}.public-builder-columns h2{margin-bottom:22px;font-size:clamp(28px,3.5vw,44px)}
.public-builder-cta>.site-container{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(30px,5vw,58px);border-radius:30px}.public-builder-cta h2{max-width:760px}.public-builder-cta p{max-width:760px;margin:12px 0 0;line-height:1.7}.public-builder-cta.is-solid{color:#fff;background:#0d3157}.public-builder-cta.is-solid>.site-container{background:linear-gradient(135deg,#0d3157,#1268b8)}.public-builder-cta.is-soft>.site-container{background:#edf6ff}.public-builder-cta.is-outline>.site-container{border:2px solid #bcd7ef;background:#fff}
.public-builder-gallery h2,.public-builder-faq h2,.public-builder-stats h2,.public-builder-testimonials h2{margin-bottom:clamp(28px,5vw,52px)}.public-builder-gallery-grid{display:grid;gap:14px}.public-builder-gallery-grid.columns-2{grid-template-columns:repeat(2,1fr)}.public-builder-gallery-grid.columns-3{grid-template-columns:repeat(3,1fr)}.public-builder-gallery-grid.columns-4{grid-template-columns:repeat(4,1fr)}.public-builder-gallery figure{min-height:260px;margin:0;overflow:hidden;border-radius:20px;background:#e6eef6}.public-builder-gallery img{width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .3s}.public-builder-gallery figure:hover img{transform:scale(1.025)}
.public-builder-faq{background:#f6f9fc}.public-builder-faq>.site-container>div{display:grid;max-width:960px;gap:10px}.public-builder-faq details{overflow:hidden;border:1px solid #d7e3ee;border-radius:15px;background:#fff}.public-builder-faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;font-weight:800;cursor:pointer;list-style:none}.public-builder-faq summary::-webkit-details-marker{display:none}.public-builder-faq summary span{color:var(--wa-blue);font-size:22px;transition:transform .2s}.public-builder-faq details[open] summary span{transform:rotate(45deg)}.public-builder-faq details>.public-builder-rich{padding:0 20px 20px}
.public-builder-stats>.site-container>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.public-builder-stats article{display:grid;gap:6px;padding:26px;border:1px solid #d7e4ef;border-radius:20px;background:#f8fbfe}.public-builder-stats article strong{color:var(--wa-blue);font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,56px)}.public-builder-stats article span{color:var(--wa-muted);font-size:14px}.public-builder-testimonials{background:#0d3157;color:#fff}.public-builder-testimonials>.site-container>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.public-builder-testimonials blockquote{display:grid;align-content:space-between;min-height:190px;margin:0;padding:24px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.08)}.public-builder-testimonials blockquote p{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.5}.public-builder-testimonials cite{margin-top:20px;color:#a9d4ff;font-size:13px;font-style:normal;font-weight:800}
.public-builder-offers header,.public-builder-team header{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:34px}.public-builder-offers header>p,.public-builder-team header>p{max-width:520px;margin:0;color:var(--wa-muted);line-height:1.7}.public-builder-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.public-builder-offer-grid article{overflow:hidden;border:1px solid #d8e4ee;border-radius:20px;background:#fff;box-shadow:0 13px 35px rgba(20,55,88,.08)}.public-builder-offer-image{display:grid;height:240px;place-items:center;overflow:hidden;background:#e8eef5;color:#74879a}.public-builder-offer-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.public-builder-offer-grid article:hover img{transform:scale(1.025)}.public-builder-offer-grid article>div{display:grid;gap:6px;padding:18px}.public-builder-offer-grid small{color:var(--wa-blue);font-size:11px;font-weight:850;text-transform:uppercase}.public-builder-offer-grid h3{font-size:24px}.public-builder-offer-grid h3 a{color:var(--wa-ink)}.public-builder-offer-grid article>div>strong{color:var(--wa-ink);font-size:20px}.public-builder-offers .public-text-link{display:inline-flex;margin-top:24px}.public-builder-empty-copy{color:var(--wa-muted)}
.public-builder-team{background:#f6f9fc}.public-builder-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.public-builder-team-grid article{display:grid;grid-template-columns:105px minmax(0,1fr);align-items:center;overflow:hidden;border:1px solid #d8e4ee;border-radius:20px;background:#fff}.public-builder-team-grid article>img,.public-builder-team-grid article>span{width:105px;height:130px;object-fit:cover}.public-builder-team-grid article>span{display:grid;place-items:center;background:linear-gradient(145deg,#d8ebfb,#f1f7fc);color:var(--wa-blue);font-family:Georgia,serif;font-size:38px}.public-builder-team-grid article>div{display:grid;gap:4px;padding:14px}.public-builder-team-grid h3{font-size:21px}.public-builder-team-grid small{color:var(--wa-muted)}.public-builder-team-grid a{margin-top:5px;color:var(--wa-blue);font-size:13px;font-weight:800}
.public-builder-form-section{background:linear-gradient(145deg,#eef7ff,#f9fcff)}.public-builder-form-card{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr);gap:clamp(30px,7vw,90px);padding:clamp(28px,5vw,58px);border:1px solid #cee1f2;border-radius:30px;background:#fff;box-shadow:0 25px 65px rgba(18,65,112,.12)}.public-builder-form-card>div:first-child h2{margin-top:8px}.public-builder-form-card>div:first-child>p:last-child{color:var(--wa-muted);line-height:1.7}.public-builder-form-card>form{display:grid;gap:17px}.public-builder-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.public-builder-form-fields.is-one-column{grid-template-columns:1fr}.public-builder-form-fields label{display:grid;gap:6px;color:var(--wa-ink);font-size:13px;font-weight:800}.public-builder-form-fields label.is-wide{grid-column:1/-1}.public-builder-form-fields input,.public-builder-form-fields select,.public-builder-form-fields textarea{width:100%;padding:13px;border:1px solid #cbdbea;border-radius:11px;background:#fff;color:var(--wa-ink);font:inherit}.public-builder-form-fields input:focus,.public-builder-form-fields select:focus,.public-builder-form-fields textarea:focus{outline:3px solid rgba(24,113,197,.13);border-color:var(--wa-blue)}.public-builder-form-fields b{color:#d43b4e}.public-builder-checkbox{display:flex;align-items:center;gap:8px;font-weight:500}.public-builder-checkbox input{width:18px;height:18px}.public-builder-checkbox em{font-style:normal}.public-builder-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.public-builder-form-actions small{max-width:320px;color:var(--wa-muted)}.public-builder-form-card>.public-form-notice{grid-column:1/-1}.public-builder-form-disabled{padding:18px;border-radius:13px;background:#fff4df;color:#7e5700}.public-builder-divider{display:grid;place-items:center}.public-builder-divider.is-small{height:30px}.public-builder-divider.is-medium{height:65px}.public-builder-divider.is-large{height:110px}.public-builder-divider.is-line span{width:min(1120px,calc(100% - 40px));height:1px;background:#d6e1eb}.public-builder-divider.is-dots span{width:56px;border-top:5px dotted #a5bbcf}
@media(max-width:1000px){.public-builder-hero-grid{grid-template-columns:1fr;min-height:auto}.public-builder-hero.is-image-left .public-builder-hero-copy,.public-builder-hero.is-image-left figure{grid-column:auto;grid-row:auto}.public-builder-hero.is-image-left figure{order:2}.public-builder-columns>.site-container,.public-builder-columns.is-wide-left>.site-container,.public-builder-columns.is-wide-right>.site-container{grid-template-columns:1fr}.public-builder-offer-grid,.public-builder-team-grid,.public-builder-testimonials>.site-container>div{grid-template-columns:repeat(2,minmax(0,1fr))}.public-builder-form-card{grid-template-columns:1fr}.public-builder-stats>.site-container>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.public-builder-section{padding:42px 0}.public-builder-hero-grid{padding-block:50px}.public-builder-hero-copy h1{font-size:clamp(40px,12vw,58px)}.public-builder-hero figure{min-height:280px;border-radius:20px}.public-builder-cta>.site-container,.public-builder-offers header,.public-builder-team header,.public-builder-form-actions{align-items:stretch;flex-direction:column}.public-builder-cta>.site-container{margin-inline:14px;border-radius:20px}.public-builder-gallery-grid.columns-2,.public-builder-gallery-grid.columns-3,.public-builder-gallery-grid.columns-4,.public-builder-offer-grid,.public-builder-team-grid,.public-builder-testimonials>.site-container>div,.public-builder-stats>.site-container>div{grid-template-columns:1fr}.public-builder-gallery figure,.public-builder-gallery img{min-height:220px}.public-builder-team-grid article{grid-template-columns:92px minmax(0,1fr)}.public-builder-team-grid article>img,.public-builder-team-grid article>span{width:92px;height:120px}.public-builder-form-card{margin-inline:12px;padding:22px;border-radius:20px}.public-builder-form-fields{grid-template-columns:1fr}.public-builder-form-fields label.is-wide{grid-column:auto}.public-builder-form-actions .public-button{width:100%}}
/* 0.0128: explicitly requested office map, available in every public theme. */
.public-builder-office-map [data-office-map-container]{min-height:360px;display:block;padding:0;border:1px solid #d4e6fa;border-radius:14px;background:#f2f7fd;overflow:hidden}
.public-builder-office-map [data-office-map-container][hidden]{display:none!important}
.public-office-map-link{display:inline-block;margin-top:12px}
.public-builder-office-map iframe{display:block;flex-basis:100%;width:100%;min-height:360px;border:0;border-radius:14px;background:#fff}
