/* v0.3-forum-preview — limited overrides of the unchanged legacy stylesheet.
   !important is scoped to this branch only: the inherited stylesheet already
   uses it extensively. Do not merge these overrides into the Eleventy foundation. */
:root { --pb-ink:#111; --pb-muted:#454545; --pb-line:#d3d3d3; --pb-paper:#fff; --pb-radius:24px; --pb-gap:clamp(18px,2vw,28px); }
body.pb-forum { overflow-x:visible; }
.pb-forum [hidden] { display:none !important; }
.pb-forum a:focus-visible, .pb-forum button:focus-visible, .pb-forum summary:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.pb-forum #main:focus, .pb-forum section[tabindex='-1']:focus { outline:none; }
.pb-skip { position:fixed; top:12px; left:12px; transform:translateY(-160%); z-index:11000; background:#fff; color:#111; border:2px solid #111; padding:16px; border-radius:12px; }
.pb-skip:focus { transform:none; }
.pb-forum main { display:block; }
.pb-forum section[id], .pb-anchor { scroll-margin-top:100px; }
.pb-container { width:min(1060px,calc(100% - 48px)); margin-inline:auto; }
.pb-forum h2, .pb-forum h3 { text-wrap:balance; }
.pb-forum p { overflow-wrap:break-word; }
/* Existing desktop header: same logo, navigation treatment and CTA. */
.pb-forum .mn-fixed-header__nav { gap:24px; }
.pb-forum .mn-fixed-header__nav a { min-height:44px; display:flex; align-items:center; font-size:17px; }
.pb-forum .mn-fixed-header__btn { width:230px; }
.pb-forum .mn-fixed-header.is-scrolled .mn-fixed-header__btn { width:220px; }
.pb-mobile-menu { display:none; }
.pb-forum .mn-fixed-header.is-menu-open { background:rgba(255,255,255,.97); border-bottom:1px solid var(--pb-line); }
.pb-forum .mn-fixed-header.is-menu-open .mn-fixed-header__logo-img--light { opacity:0; }
.pb-forum .mn-fixed-header.is-menu-open .mn-fixed-header__logo-img--dark { opacity:1; }
/* Retain the full-screen composition. First image is real HTML, not a JS background. */
.pb-forum .mn-hero { height:auto !important; min-height:max(760px,100svh) !important; display:grid; align-items:center; }
.pb-forum .mn-hero__content { position:relative !important; inset:auto !important; width:100% !important; height:auto !important; padding:190px 24px 110px !important; }
.pb-forum .mn-hero__inner { height:auto !important; min-height:0 !important; padding:0 !important; margin-inline:auto !important; transform:none !important; width:min(1080px,100%) !important; gap:0 !important; }
.pb-forum .mn-hero__title { font-size:clamp(44px,4.8vw,72px) !important; line-height:1.09 !important; letter-spacing:-.05em; }
.pb-forum .mn-hero__title-main { display:block; }
.pb-hero-subject { display:block; }
.pb-hero-descriptor { margin:0 0 28px; color:#fff; font-size:16px; line-height:1.4; letter-spacing:.035em; text-align:center; }
.pb-forum .mn-hero__subtitle { margin:26px auto 0 !important; max-width:790px !important; font-size:18px !important; line-height:1.55 !important; color:#fff !important; }
.pb-forum .mn-hero__actions { margin-top:32px !important; }
.pb-forum .mn-hero-btn { min-height:56px !important; }
.pb-forum .mn-hero-btn__text { font-size:17px !important; }
.pb-forum .mn-hero__overlay { background:rgba(0,0,0,.65) !important; z-index:1; }
.pb-forum .pb-hero-slideshow { position:absolute; inset:0; z-index:0; }
.pb-forum .pb-hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.pb-forum .pb-hero-photo--next { opacity:0; transition:opacity 1.1s ease; }
.pb-forum .pb-hero-photo--next.is-visible { opacity:1; }
.pb-hero-controls { position:absolute; inset:auto 28px 22px; z-index:3; display:flex; justify-content:space-between; align-items:center; gap:16px; color:#fff; font-size:13px; line-height:1.4; }
.pb-hero-pause { min-height:44px; min-width:92px; border:1px solid rgba(255,255,255,.75); border-radius:999px; background:rgba(0,0,0,.45); color:#fff; padding:10px 18px; cursor:pointer; }
/* Same rounded cards and illustrations; content height is no longer clipped. */
.pb-forum .mnt-services { padding:76px 0 64px !important; }
.pb-forum .mnt-services__container { width:min(1060px,calc(100% - 48px)) !important; max-width:none !important; padding:0 !important; }
.pb-forum .mnt-services__top { display:block !important; margin-bottom:32px !important; }
.pb-forum .mnt-services__subtitle { max-width:960px !important; width:100% !important; font-size:clamp(22px,2vw,28px) !important; font-weight:700 !important; line-height:1.45 !important; color:var(--pb-ink) !important; }
.pb-forum .mnt-services__title { font-size:clamp(32px,3.5vw,46px) !important; }
.pb-lean { margin:32px 0 0; padding:24px 0 0; border-top:1px solid var(--pb-line); font-size:18px; line-height:1.6; max-width:900px; color:#333; }
.pb-lean strong { color:#111; }
/* One self-contained case. No hidden copy, auto-scroll or cloned cards. */
.pb-anchor { height:0; }
.pb-forum #projects { display:block !important; }
.pb-case { padding:60px 0 68px; }
.pb-eyebrow { margin:0 0 18px; font-size:14px; line-height:1.4; color:#555; }
.pb-case__heading { display:flex; gap:20px; justify-content:space-between; align-items:flex-start; }
.pb-case__heading h2 { font-size:clamp(34px,3.4vw,48px); line-height:1.08; letter-spacing:-.04em; font-weight:600; margin:0; max-width:750px; text-wrap:initial; }
.pb-status { border:1px solid #b5b5b5; border-radius:999px; padding:12px 18px; white-space:nowrap; font-size:14px; line-height:1.2; flex:none; }
.pb-case__lead { max-width:840px; margin:28px 0 40px; font-size:20px; line-height:1.6; color:#333; }
.pb-case__story { display:grid; grid-template-columns:1fr; gap:40px; margin-bottom:56px; }
.pb-case__story h3 { font-size:22px; line-height:1.22; margin:0 0 18px; font-weight:600; text-wrap:initial; }
.pb-case__story p { font-size:17px; line-height:1.6; color:#333; margin:0; }
.pb-gallery { display:grid; gap:28px 20px; }
.pb-gallery__item { margin:0; min-width:0; }
.pb-gallery__frame { display:block; position:relative; border-radius:22px; border:1px solid #dedede; background:#faf9f7; }
.pb-gallery__frame img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:contain; border-radius:22px; }
.pb-gallery figcaption { padding:14px 4px 0; }
.pb-gallery figcaption > span { color:#555; font-size:13px; line-height:1.4; }
.pb-gallery figcaption p { font-size:17px; line-height:1.4; margin:5px 0 0; }
/* Short, factual about block while /about/ is reserved but unpublished. */
.pb-about { border-top:1px solid var(--pb-line); padding:58px 0; display:grid; grid-template-columns:1fr 2fr; gap:36px; }
.pb-about h2 { margin:0; font-size:clamp(32px,3vw,44px); line-height:1.1; letter-spacing:-.04em; }
.pb-about p { margin:0; font-size:21px; line-height:1.6; color:#333; }
/* Preserve contact buttons and plan background, remove oversized empty tail. */
.pb-forum .mnt-bottom-scene { width:100% !important; margin:0 !important; min-height:0 !important; padding-bottom:0 !important; }
.pb-forum .mnt-bottom-scene__bg { position:relative !important; inset:auto !important; width:100% !important; height:auto !important; aspect-ratio:1922 / 818; object-fit:contain !important; order:2; margin-top:0; max-height:300px !important; }
.pb-forum .mnt-bottom-scene .mnt-contact { order:1; }
.pb-forum .mnt-bottom-scene .mnt-contact__inner { padding:56px 24px 32px !important; }
.pb-forum .mnt-contact__title { font-size:clamp(34px,3.8vw,52px) !important; line-height:1.1 !important; margin-bottom:24px !important; }
.pb-forum .mnt-contact__subtitle { font-size:18px !important; line-height:1.55 !important; color:#333 !important; max-width:790px !important; }
.pb-forum .mnt-contact__note { font-size:15px !important; line-height:1.55 !important; color:#444 !important; max-width:780px !important; }
.pb-forum .mnt-contact__buttons { margin-top:28px !important; }
.pb-forum .mnt-contact__button { min-height:56px !important; }
.pb-forum .mnt-contact__button-label { font-size:16px !important; }
.pb-forum .mnt-site-footer { position:relative !important; z-index:1; margin-top:0 !important; }
.pb-forum .mnt-site-footer__social { min-width:44px !important; min-height:44px !important; }
.pb-footer-privacy { max-width:1200px; margin-inline:auto; display:flex; align-items:center; justify-content:center; gap:24px; }
.pb-footer-privacy:has([hidden]):not(:has(a[href])) { display:none; }
.pb-policy-link, .pb-privacy-settings { font:inherit; color:inherit; background:none; border:0; padding:14px 4px; text-decoration:underline; cursor:pointer; min-height:44px; }
/* Only shown after a real, approved policy has been supplied and analytics enabled. */
.pb-consent { position:fixed; z-index:10001; bottom:18px; left:50%; transform:translateX(-50%); width:min(1100px,calc(100% - 36px)); background:#fff; color:#111; border:1px solid #999; border-radius:20px; padding:24px; box-shadow:0 8px 35px #0003; display:grid; grid-template-columns:1fr auto; gap:24px; }
.pb-consent h2 { margin:0 0 10px; font-size:21px; }
.pb-consent p { margin:0; line-height:1.5; font-size:15px; }
.pb-consent a { text-decoration:underline; }
.pb-consent__actions { display:flex; flex-direction:column; gap:10px; justify-content:center; }
.pb-consent__actions button { border:1px solid #333; min-height:44px; border-radius:999px; background:white; color:#111; padding:12px 20px; font-size:15px; cursor:pointer; }
.pb-consent__actions .pb-consent-accept { background:#111; color:#fff; }
@media (max-width:1100px) {
 .pb-forum .mn-fixed-header__nav, .pb-forum .mn-fixed-header__btn { display:none !important; }
 .pb-mobile-menu { display:block; position:absolute; top:16px; right:20px; color:#fff; }
 .pb-mobile-menu summary { display:flex; align-items:center; gap:16px; min-height:44px; padding:10px 18px; border:1px solid currentColor; border-radius:999px; cursor:pointer; list-style:none; font-size:16px; background:rgba(0,0,0,.42); }
 .pb-mobile-menu summary::-webkit-details-marker { display:none; }
 .pb-mobile-menu summary > span { font-size:22px; line-height:1; }
 .is-scrolled .pb-mobile-menu, .is-menu-open .pb-mobile-menu { color:#111; }
 .is-scrolled .pb-mobile-menu summary, .is-menu-open .pb-mobile-menu summary { background:#fff; }
 .pb-mobile-menu nav { position:absolute; right:0; top:54px; width:min(320px,calc(100vw - 40px)); padding:12px; border-radius:20px; background:white; color:#111; border:1px solid #ccc; box-shadow:0 8px 26px #0002; }
 .pb-mobile-menu nav a { display:flex; align-items:center; min-height:50px; padding:12px; font-size:18px; }
 .pb-case__story { grid-template-columns:1fr; gap:32px; max-width:none; }
 .pb-case__story h3 { margin-bottom:10px; }
 .pb-about { grid-template-columns:1fr 2fr; }
}

@media (max-width:767px) {
 .pb-container { width:calc(100% - 36px); }
 .pb-forum .mn-fixed-header:not(.is-scrolled) .mn-fixed-header__logo { left:18px !important; top:10px !important; width:118px !important; height:88px !important; transform:none !important; }
 .pb-forum .mn-fixed-header.is-scrolled .mn-fixed-header__logo { left:18px !important; top:50% !important; width:86px !important; height:64px !important; transform:translateY(-50%) !important; }
 .pb-forum .mn-hero { height:auto !important; min-height:100svh !important; }
 .pb-forum .mn-hero__content { padding:140px 18px 100px !important; }
 .pb-forum .mn-hero__inner { padding:0 !important; }
 .pb-forum .mn-hero__title { font-size:clamp(36px,7.8vw,54px) !important; line-height:1.1 !important; letter-spacing:-.045em !important; }
 .pb-hero-descriptor { font-size:14px; line-height:1.45; max-width:290px; margin:0 auto 24px; }
 .pb-forum .mn-hero__subtitle { font-size:16px !important; line-height:1.6 !important; margin-top:24px !important; }
 .pb-forum .mn-hero__actions { gap:12px !important; margin-top:26px !important; }
 .pb-forum .mn-hero-btn { width:100% !important; min-height:52px !important; }
 .pb-forum .mn-hero-btn__text { font-size:16px !important; }
 .pb-hero-controls { inset:auto 18px 16px; font-size:11px; gap:12px; }
 .pb-hero-controls > span { max-width:185px; }
 .pb-forum .mnt-services { padding:52px 0 40px !important; }
 .pb-forum .mnt-services__container { width:calc(100% - 36px) !important; }
 .pb-forum .mnt-services__title-row { margin-bottom:24px !important; }
 .pb-forum .mnt-services__subtitle { font-size:21px !important; line-height:1.45 !important; }
 .pb-lean { font-size:17px; }
 .pb-case { padding:42px 0 48px; }
 .pb-case__heading { flex-direction:column; gap:20px; }
 .pb-case__heading h2 { font-size:36px; }
 .pb-case__lead { font-size:18px; margin:24px 0 32px; }
 .pb-case__story p { font-size:17px; }
 .pb-about { grid-template-columns:1fr; gap:24px; padding:42px 0; }
 .pb-about p { font-size:19px; }
 .pb-forum .mnt-bottom-scene .mnt-contact__inner { padding:42px 18px 20px !important; }
 .pb-forum .mnt-contact__subtitle { font-size:17px !important; }
 .pb-forum .mnt-contact__buttons { grid-template-columns:1fr !important; width:100% !important; max-width:460px !important; gap:12px !important; }
 .pb-forum .mnt-contact__button-label { display:inline !important; }
 .pb-forum .mnt-contact__button { width:100% !important; }
 .pb-forum .mnt-contact__button-label { font-size:16px !important; }
 .pb-forum .mnt-bottom-scene__bg { max-height:190px !important; }
 .pb-consent { grid-template-columns:1fr; max-height:80svh; overflow:auto; padding:20px; gap:16px; }
 .pb-footer-privacy { flex-direction:column; gap:0; }
}


@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .pb-forum *, .pb-forum *::before, .pb-forum *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}


/* v0.3.1 feedback */

.pb-forum .mn-hero__title { max-width: 980px; margin-inline: auto; }
.pb-forum .mn-hero__subtitle { max-width: 880px !important; }
.pb-hero-controls { justify-content:flex-start; }
.pb-hero-controls > span { max-width:none; }
.pb-principles { margin-top:34px; padding:28px; border:1px solid var(--pb-line); border-radius:24px; background:#faf9f7; color:#333; }
.pb-principles__title { margin:0 0 14px; font-size:28px; line-height:1.15; }
.pb-principles__lead { font-size:18px; line-height:1.6; margin:0 0 12px; }
.pb-principles p { font-size:17px; line-height:1.6; margin:0 0 12px; }
.pb-principles__list { margin:8px 0 0; padding-left:20px; display:grid; gap:10px; font-size:16px; line-height:1.6; }
/* v0.3.2: three rows, text left / image right. Explicit image dimensions
   override intrinsic HTML heights that previously stretched every column. */
.pb-case__story-item { min-width:0; display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(24px,4vw,64px); align-items:center; }
.pb-case__story-item + .pb-case__story-item { padding-top:40px; border-top:1px solid var(--pb-line); }
.pb-case__story-text { min-width:0; }
.pb-case__story-media { display:block; position:relative; min-width:0; width:100%; aspect-ratio:16/10; border-radius:22px; overflow:hidden; border:1px solid #dedede; background:#faf9f7; }
.pb-case__story-image { display:block; width:100%; height:100%; max-width:100%; object-fit:cover; object-position:center; }
.pb-case__story-media--drawing .pb-case__story-image { object-fit:contain; }

.pb-gallery-card { min-width:0; }
.pb-gallery-slider { position:relative; }
.pb-gallery-slider__viewport { position:relative; }
.pb-gallery-slide { display:none; }
.pb-gallery-slide.is-active { display:block; }
.pb-gallery__frame img { aspect-ratio:4/5; object-fit:contain; background:#fff; }
.pb-gallery-slider__btn { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:40px; height:40px; border-radius:999px; border:1px solid #d0d0d0; background:rgba(255,255,255,.96); color:#111; font-size:28px; line-height:1; display:grid; place-items:center; cursor:pointer; }
.pb-gallery-slider__btn--prev { left:12px; }
.pb-gallery-slider__btn--next { right:12px; }
.pb-gallery-slider__btn:hover { background:#111; color:#fff; }
.pb-contact-meta { margin:18px 0 10px; font-size:18px; line-height:1.5; color:#222; }
.pb-contact-meta a { text-decoration:underline; }
.pb-forum .mnt-bottom-scene__bg { display:block; width:100vw !important; max-width:none !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; aspect-ratio:1922 / 818; height:auto !important; max-height:none !important; object-fit:cover !important; }
@media (max-width:1100px) {
  .pb-case__story { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .pb-principles { padding:22px 18px; }
  .pb-principles__title { font-size:24px; }
  .pb-forum .mn-hero__title { font-size:clamp(34px,8vw,52px) !important; }
  .pb-case__story { grid-template-columns:1fr; }
  .pb-case__story-item { grid-template-columns:1fr; gap:20px; }
  .pb-case__story-item + .pb-case__story-item { padding-top:28px; }
  .pb-case__story { gap:28px; }
  .pb-forum .mnt-bottom-scene__bg { aspect-ratio:auto; object-fit:contain !important; }
}

/* v0.3.3 — compact grids and a persistent mobile contact link.
   Only this branch's affected components are consolidated. Legacy CSS remains
   byte-for-byte intact; required !important rules override its old card rules. */
.pb-forum #mntServicesGrid {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
}
.pb-forum #mntServicesGrid .mnt-service-card {
  --pb-service-visual:176px;
  position:relative !important;
  width:auto !important;
  height:auto !important;
  min-height:340px !important;
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end;
  padding:var(--pb-service-visual) 0 0 !important;
  isolation:isolate;
  border:1px solid #dcdcdc !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:#fff !important;
}
.pb-forum #mntServicesGrid .mnt-service-card__image-wrap {
  position:absolute !important;
  inset:0 0 auto !important;
  width:100% !important;
  height:calc(var(--pb-service-visual) + 36px) !important;
  margin:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
}
.pb-forum #mntServicesGrid .mnt-service-card__image {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  transform:scale(1.01) !important;
}
.pb-forum #mntServicesGrid .mnt-service-card:hover .mnt-service-card__image {
  transform:scale(1.03) !important;
}
.pb-forum #mntServicesGrid .mnt-service-card__num {
  top:15px !important;
  left:18px !important;
  right:auto !important;
  font-size:13px !important;
  color:#444 !important;
}
.pb-forum #mntServicesGrid .mnt-service-card__content {
  position:relative !important;
  inset:auto !important;
  flex:0 0 auto;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 10px 10px !important;
  padding:16px !important;
  border:1px solid #e5e5e5;
  border-radius:18px;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  overflow:visible !important;
}
.pb-forum #mntServicesGrid .mnt-service-card__title {
  margin:0 0 10px !important;
  font-size:20px !important;
  line-height:1.2 !important;
  white-space:normal !important;
  text-wrap:initial;
  overflow-wrap:anywhere;
}
.pb-forum #mntServicesGrid .mnt-service-card__desc {
  display:block !important;
  height:auto !important;
  max-height:none !important;
  margin:0 !important;
  font-size:15px !important;
  line-height:1.5 !important;
  color:#333 !important;
  white-space:normal !important;
  overflow:visible !important;
  -webkit-line-clamp:unset !important;
}
.pb-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (min-width:1024px) {
  .pb-forum #mntServicesGrid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .pb-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .pb-case__story-item {
    grid-template-columns:minmax(0,1fr) clamp(260px,28vw,340px);
    gap:clamp(28px,4vw,56px);
  }
  .pb-case__story-text { max-width:640px; }
}
/* These are ordinary links. They scroll to contacts, not directly to a
   messenger or a form, and therefore are not counted as submitted leads. */
.pb-mobile-cta { display:none; }
@media (max-width:767px) {
  :root { --pb-mobile-cta-space:calc(84px + env(safe-area-inset-bottom,0px)); }
  html { scroll-padding-bottom:var(--pb-mobile-cta-space); }
  body.pb-forum { padding-bottom:var(--pb-mobile-cta-space); }
  .pb-forum #mntServicesGrid { gap:14px 12px !important; }
  .pb-forum #mntServicesGrid .mnt-service-card {
    --pb-service-visual:clamp(110px,30vw,190px);
    min-height:0 !important;
    border-radius:18px !important;
  }
  .pb-forum #mntServicesGrid .mnt-service-card__content {
    margin:0 6px 6px !important;
    padding:12px 9px !important;
    border-radius:13px;
  }
  .pb-forum #mntServicesGrid .mnt-service-card__title {
    font-size:16px !important;
    line-height:1.25 !important;
    margin-bottom:9px !important;
  }
  .pb-forum #mntServicesGrid .mnt-service-card__desc {
    font-size:14px !important;
    line-height:1.5 !important;
  }
  .pb-gallery { gap:24px 12px; }
  .pb-gallery__frame, .pb-gallery__frame img { border-radius:16px; }
  .pb-gallery figcaption { padding:12px 0 0; }
  .pb-gallery figcaption p { font-size:15px; line-height:1.45; }
  .pb-gallery-slider__btn { width:44px; height:44px; font-size:26px; }
  .pb-gallery-slider__btn--prev { left:2px; }
  .pb-gallery-slider__btn--next { right:2px; }
  .pb-mobile-cta {
    position:fixed;
    inset:auto max(18px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));
    z-index:9998;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:14px 20px;
    border:1px solid #fff;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:16px;
    font-weight:700;
    line-height:1.25;
    text-align:center;
    text-decoration:none;
    box-shadow:0 5px 22px #0003;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .pb-mobile-cta:active { background:#3f3f3f; }
  .pb-mobile-cta:focus-visible { outline:3px solid #111; outline-offset:3px; }
  /* Leave the photo caption visible above the persistent bottom control. */
  .pb-hero-controls { bottom:var(--pb-mobile-cta-space); }
  .pb-forum .mn-hero__content { padding-bottom:calc(128px + env(safe-area-inset-bottom,0px)) !important; }
  /* Consent remains disabled in this version. Reserve a non-overlapping
     placement now so enabling its reviewed configuration won't hide buttons. */
  .pb-consent {
    bottom:var(--pb-mobile-cta-space);
    max-height:calc(100svh - var(--pb-mobile-cta-space) - 24px);
  }
}


/* v0.3.4: contact illustration overlaps the contact area on desktop/tablet. */
@media (min-width: 768px) {
  .pb-forum .mnt-bottom-scene {
    min-height: clamp(560px, 55vw, 860px) !important;
  }

  .pb-forum .mnt-bottom-scene__bg {
    position: absolute !important;
    inset: auto 0 0 !important;
  }
}


/* v0.3.7 — final UI polish.
   1) Keep privacy controls inside the black footer instead of overflowing
      into the white body area below it.
   2) Mobile fixed CTA is hidden while the hero is still on screen and is
      revealed by JS only after the hero has been scrolled past. */
.pb-forum .mnt-site-footer {
  height:auto !important;
  min-height:126px;
  background:#141414 !important;
}
.pb-forum .mnt-site-footer__inner {
  height:126px !important;
}
.pb-forum .pb-footer-privacy {
  box-sizing:border-box;
  margin:0 auto !important;
  padding:0 24px 18px !important;
  color:#fff;
  background:#141414;
}

@media (max-width:767px) {
  body.pb-forum { padding-bottom:0; }
  .pb-forum .mnt-site-footer {
    min-height:168px;
    padding-bottom:var(--pb-mobile-cta-space);
  }
  .pb-forum .mnt-site-footer__inner { height:168px !important; }
  /* There is no fixed CTA over the hero anymore, so keep the original hero spacing. */
  .pb-hero-controls { bottom:16px; }
  .pb-forum .mn-hero__content { padding-bottom:100px !important; }

  .pb-mobile-cta {
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(calc(100% + 24px));
    transition:opacity .24s ease, transform .28s cubic-bezier(.22,.9,.22,1), visibility 0s linear .28s;
  }
  .pb-mobile-cta.is-visible {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition:opacity .24s ease, transform .28s cubic-bezier(.22,.9,.22,1), visibility 0s;
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:767px) {
  .pb-mobile-cta,
  .pb-mobile-cta.is-visible { transition:none !important; }
}
