/* Vannituba PRO — Ferma-style theme layer (dark default + light), aqua glow. Loaded LAST on every page. 2026-11 */
:root {
  --f-bg: #000;
  --f-bg-soft: #0a0a0a;
  --f-surface: #121212;
  --f-surface-2: #1b1b1d;
  --f-field: #0b0b0c;
  --f-line: rgba(255, 255, 255, 0.11);
  --f-line-2: rgba(255, 255, 255, 0.2);
  --f-text: #f5f5f7;
  --f-muted: #a1a1a6;
  --f-faint: #6e6e73;
  --f-btn: #f5f5f7;
  --f-btn-text: #000;
  --f-gold: #5ccfe6;
  --f-glow: rgba(64, 200, 224, 0.13);
  --f-glow-2: rgba(64, 200, 224, 0.24);
  --f-header: rgba(0, 0, 0, 0.74);
  --f-ok: #34c759;
  --f-err: #ff6b5f;
  --navy: #000;
  --navy-deep: #000;
  --gold: #5ccfe6;
  --cream: #0a0a0a;
  --white: #121212;
  --ink: #f5f5f7;
  --muted: #a1a1a6;
  --line: rgba(255, 255, 255, 0.11);
  color-scheme: dark;
}
:root[data-theme="light"] {
  --f-bg: #fff;
  --f-bg-soft: #f5f5f7;
  --f-surface: #fff;
  --f-surface-2: #f2f2f5;
  --f-field: #fff;
  --f-line: rgba(0, 0, 0, 0.09);
  --f-line-2: rgba(0, 0, 0, 0.17);
  --f-text: #1d1d1f;
  --f-muted: #6e6e73;
  --f-faint: #8e8e93;
  --f-btn: #1d1d1f;
  --f-btn-text: #fff;
  --f-gold: #0b7f95;
  --f-glow: rgba(64, 200, 224, 0.17);
  --f-glow-2: rgba(64, 200, 224, 0.3);
  --f-header: rgba(255, 255, 255, 0.8);
  --f-ok: #1f9d47;
  --f-err: #d93025;
  --navy: #fff;
  --navy-deep: #fff;
  --gold: #0b7f95;
  --cream: #f5f5f7;
  --white: #fff;
  --ink: #1d1d1f;
  --muted: #6e6e73;
  --line: rgba(0, 0, 0, 0.09);
  color-scheme: light;
}

/* ---------- base ---------- */
html body {
  background: var(--f-bg) !important;
  color: var(--f-text) !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  -webkit-font-smoothing: antialiased;
  transition: background-color .25s, color .25s;
}
body h1, body h2, body h3, body h4, body .brand-mark, body .p1-brand-mark, body .quote-mark {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  letter-spacing: -0.03em;
  color: var(--f-text) !important;
}
body h1 { font-weight: 700 !important; letter-spacing: -0.04em; }
body h2 { font-weight: 700 !important; letter-spacing: -0.035em; }
body h3, body h4 { font-weight: 600 !important; letter-spacing: -0.015em; }
body main p, body section p, body .hero-lead, body .p1-lead, body .tile-lead, body .lead-form-note, body .photo-note,
body .section-heading > p, body .intro-copy p, body .contact-copy > p, body dd, body .case-study-description,
body [class*="-heading"] > p:last-child, body .renovation-price-copy, body .service-grid p, body .steps p,
body main li, body section li {
  color: var(--f-muted) !important;
}
body ::selection { background: var(--f-glow-2); }
body a:focus-visible, body button:focus-visible { outline: 2px solid var(--f-gold); outline-offset: 3px; border-radius: 8px; }

/* ---------- section backgrounds ---------- */
body main, body section, body .hero, body .hero-rebuild, body .cluster-hero, body .p1-hero, body .tile-hero,
body .services, body .process, body .works, body .prices, body .faq, body .contact, body .final-lead,
body .renovation-prices, body .work-process, body .renovation-faq, body .trust-section, body .before-after,
body .photo-estimate, body .included-section, body .legal-trust, body .p1-section, body .cluster-form-section,
body .tile-gallery, body .tile-final-cta {
  background: var(--f-bg) !important;
  color: var(--f-text) !important;
}
body .hero::before, body .final-lead::before, body .hero-photo::before, body .project-placeholder::before { opacity: 0 !important; background: none !important; }
body section:nth-of-type(even), body .p1-section.alt { background: var(--f-bg-soft) !important; }
body .hero, body .hero-rebuild, body .cluster-hero, body .p1-hero, body .tile-hero, body .final-lead, body .contact {
  background:
    radial-gradient(60% 70% at 85% 0%, var(--f-glow), transparent 70%),
    radial-gradient(40% 60% at 0% 100%, rgba(44, 183, 223, 0.08), transparent 70%),
    var(--f-bg) !important;
}

/* ---------- header ---------- */
body .header, body .cluster-header, body .p1-header, body .tile-nav {
  background: var(--f-header) !important;
  color: var(--f-text) !important;
  border-bottom: 1px solid var(--f-line) !important;
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
}
body .nav a, body .tile-nav .nav-links a, body .p1-header nav a, body .cluster-header nav a { color: var(--f-muted) !important; }
body .nav a:hover, body .tile-nav .nav-links a:hover, body .p1-header nav a:hover, body .cluster-header nav a:hover { color: var(--f-text) !important; }
body .brand, body .p1-brand { color: var(--f-text) !important; }
body .brand b, body .footer .brand b { color: var(--f-gold) !important; }
body .brand-mark, body .p1-brand-mark {
  border: 1px solid var(--f-gold) !important; color: var(--f-gold) !important; background: transparent !important;
}
body .phone, body .header .phone-copy-button, body .p1-header .phone-copy-button, body .cluster-actions .phone-copy-button {
  color: var(--f-btn-text) !important; background: var(--f-btn) !important;
  padding: 8px 16px !important; border-radius: 999px !important; font-weight: 600 !important;
}
body .language-switch, body .p1-language { border: 1px solid var(--f-line) !important; border-radius: 999px !important; padding: 3px !important; background: transparent !important; }
body .language-switch a, body .language-switch span, body .p1-language a, body .p1-language span { color: var(--f-muted) !important; border-radius: 999px; padding: 4px 9px; }
body .language-switch span[aria-current="page"], body .p1-language [aria-current="page"] { background: var(--f-surface-2) !important; color: var(--f-text) !important; }
body .language-switch .language-separator { display: none !important; }
body .menu-button { background: transparent !important; border: 1px solid var(--f-line-2) !important; border-radius: 999px !important; }
body .menu-button span { background: var(--f-text) !important; }
body .nav.open { background: var(--f-bg) !important; border-bottom: 1px solid var(--f-line); }
.f-theme-toggle {
  display: inline-grid; place-items: center; width: 36px; height: 36px; padding: 0; flex: none;
  border: 1px solid var(--f-line-2); border-radius: 999px; background: transparent; color: var(--f-text); cursor: pointer;
}
.f-theme-toggle:hover { border-color: var(--f-gold); }
.f-theme-toggle svg { width: 16px; height: 16px; }
.f-theme-toggle .i-sun { display: none; }
:root[data-theme="light"] .f-theme-toggle .i-sun { display: block; }
:root[data-theme="light"] .f-theme-toggle .i-moon { display: none; }

/* ---------- eyebrows / labels ---------- */
body .eyebrow, body .eyebrow.light, body .p1-eyebrow, body .renovation-price-label, body .price-label, body .project-info dt,
body .case-study-detail h4, body .trust-card-grid span, body .service-grid article > span, body .work-process-steps li > span,
body .steps li > span, body .photo-steps span, body .tile-process-steps span, body .p1-card span {
  color: var(--f-gold) !important; background: transparent !important;
}

/* ---------- cards: aqua glow ---------- */
body .project-card, body .case-study-card, body .renovation-price-card, body .work-process-steps li, body .renovation-faq-list article,
body .trust-card-grid article, body .testimonial-placeholders article, body .service-grid article, body .price-cards article,
body .process-panel, body .photo-estimate-panel, body .hero-photo-card, body .included-grid > *, body .legal-trust-grid > *,
body .contact-form, body .cluster-form, body .p1-form, body .tile-lead-form, body .p1-card, body .p1-link-grid a, body .cluster-link-grid a,
body .p1-photo-card, body .tile-shot-list, body .tile-hero-card, body .cluster-faq details, body .p1-faq details,
body .tile-faq-list details, body .case-review, body .single-price, body .price-explainer,
body .project-empty-state, body .p1-price-table, body .ru-local-warning {
  background: radial-gradient(120% 90% at 0% 0%, var(--f-glow), transparent 58%), var(--f-surface) !important;
  border: 1px solid var(--f-line) !important;
  color: var(--f-text) !important;
  box-shadow: none !important;
  border-radius: 22px;
}
body .cluster-trust-strip span, body .ru-trust-strip span, body .tile-compact-trust span, body .hero-trust span, body .p1-tags span {
  background: var(--f-surface) !important; border: 1px solid var(--f-line) !important; color: var(--f-muted) !important; border-radius: 999px;
}
body .renovation-price-card.featured, body .price-cards .featured {
  background: radial-gradient(120% 90% at 0% 0%, var(--f-glow-2), transparent 62%), var(--f-surface) !important;
  border-color: rgba(64, 200, 224, 0.45) !important;
}
body .renovation-price-range, body .single-price strong { color: var(--f-text) !important; }
body .project-card:hover, body .p1-link-grid a:hover, body .cluster-link-grid a:hover, body .service-grid article:hover,
body .renovation-price-card:hover, body .trust-card-grid article:hover { border-color: rgba(64, 200, 224, 0.4) !important; }
body .project-location, body .project-info dd, body .case-study-detail p { color: var(--f-muted) !important; }
body .project-placeholder, body .project-photo-slot { background: var(--f-surface-2) !important; color: var(--f-muted) !important; }
body .p1-price-table th, body .p1-price-table td { border-color: var(--f-line) !important; background: transparent !important; color: var(--f-text) !important; }
body .p1-price-table th { color: var(--f-gold) !important; }
body .faq-item { border-color: var(--f-line) !important; background: transparent !important; }

/* check lists */
body .hero-benefits li::before, body .renovation-price-card li::before, body .price-cards li::before, body .cluster-check-list li::before,
body .p1-check-list li::before, body .tile-proof-list li::before { color: var(--f-gold) !important; border-color: var(--f-gold) !important; }

/* ---------- buttons ---------- */
body .button, body .hero-cta-primary, body .p1-button, body .tile-final-button, body .renovation-price-cta, body .work-process-cta,
body .trust-cta, body .wide-cta, body .portfolio-section-cta, body .price-cards a, body .cluster-form button, body .p1-form button,
body .tile-lead-form button[type="submit"], body .contact-form button[type="submit"], body .cluster-sticky-cta,
body .tile-sticky-cta a {
  background: var(--f-btn) !important; color: var(--f-btn-text) !important;
  border: 1px solid transparent !important; border-radius: 999px !important;
  font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important;
  box-shadow: none !important; transition: opacity .15s, transform .15s;
}
body .button:hover, body .hero-cta-primary:hover, body .p1-button:hover, body .renovation-price-cta:hover, body .work-process-cta:hover,
body .trust-cta:hover, body .contact-form button[type="submit"]:hover { opacity: .9; }
body .hero-cta-secondary, body .button.ghost, body .p1-secondary, body .tile-phone,
body .renovation-price-card:not(.featured) .renovation-price-cta {
  background: transparent !important; color: var(--f-text) !important;
  border: 1px solid var(--f-line-2) !important; border-radius: 999px !important;
}
body .text-link, body .light-link { color: var(--f-gold) !important; }
body .hero-phone-link { color: var(--f-text) !important; }

/* ---------- forms ---------- */
body .contact-form label, body .cluster-form label, body .p1-form label, body .tile-lead-form label, body .tile-lead-form label span {
  color: var(--f-muted) !important;
}
body .contact-form input, body .contact-form textarea, body .contact-form select,
body .cluster-form input, body .cluster-form textarea, body .cluster-form select,
body .p1-form input, body .p1-form textarea, body .p1-form select,
body .tile-lead-form input, body .tile-lead-form textarea, body .tile-lead-form select {
  background: var(--f-field) !important; color: var(--f-text) !important;
  border: 1px solid var(--f-line-2) !important; border-radius: 12px !important;
  padding: 12px 14px !important; outline: none; box-shadow: none !important;
}
body .contact-form input:focus, body .contact-form textarea:focus, body .contact-form select:focus,
body .cluster-form input:focus, body .cluster-form textarea:focus, body .p1-form input:focus, body .p1-form textarea:focus,
body .tile-lead-form input:focus, body .tile-lead-form textarea:focus {
  border-color: var(--f-gold) !important; box-shadow: 0 0 0 3px var(--f-glow) !important;
}
body select option { background: var(--f-surface); color: var(--f-text); }
body input::placeholder, body textarea::placeholder { color: var(--f-faint) !important; }
body .form-status { color: var(--f-ok) !important; }
body .tile-photo-check { background: var(--f-surface-2) !important; color: var(--f-text) !important; border-color: var(--f-line) !important; }

.f-photos { display: grid; gap: 8px; margin: 4px 0; }
.f-photos-drop {
  display: flex !important; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
  padding: 12px !important; border-radius: 12px; border: 1px dashed var(--f-line-2); color: var(--f-muted) !important;
  font-size: 14px; font-weight: 500; background: transparent; text-transform: none !important; letter-spacing: 0 !important;
}
.f-photos-drop:hover { border-color: var(--f-gold); color: var(--f-text) !important; }
.f-photos-drop input { display: none !important; }
.f-photos-list { display: flex; gap: 8px; flex-wrap: wrap; }
.f-photos-list:empty { display: none; }
.f-photos-list figure { position: relative; margin: 0; width: 64px; height: 64px; border-radius: 12px; overflow: hidden; border: 1px solid var(--f-line); }
.f-photos-list img { width: 100%; height: 100%; object-fit: cover; }
.f-photos-list button { position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border: 0; border-radius: 50%; background: rgba(0,0,0,.7); color: #fff; cursor: pointer; font-size: 13px; line-height: 1; padding: 0; }

/* ---------- faq ---------- */
body .faq-item button, body .cluster-faq summary, body .p1-faq summary, body .tile-faq-list summary { color: var(--f-text) !important; background: transparent !important; }
body .faq-item button b { color: var(--f-gold) !important; }

/* ---------- footer ---------- */
body .footer, body .cluster-footer, body .p1-footer {
  background: var(--f-bg) !important; color: var(--f-muted) !important; border-top: 1px solid var(--f-line) !important;
}
body .footer a, body .cluster-footer a, body .p1-footer a, body .footer-contacts a { color: var(--f-muted) !important; }
body .footer a:hover, body .cluster-footer a:hover, body .p1-footer a:hover { color: var(--f-text) !important; }
body .footer-brand, body .footer strong, body .footer h3, body .footer h4 { color: var(--f-text) !important; }

/* ---------- misc ---------- */
body .hero-photo, body .cluster-hero-photo, body .p1-photo { border-radius: 24px !important; overflow: hidden; border: 1px solid var(--f-line); }
body .hero-photo span, body .hero-photo strong { color: #f5f5f7 !important; }
body .phone-copy-notice { background: var(--f-btn) !important; color: var(--f-btn-text) !important; border-radius: 999px !important; }
body .consent-banner {
  background: rgba(28, 28, 30, .94) !important; color: #e5e5ea !important; border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important; backdrop-filter: blur(18px); box-shadow: 0 20px 60px rgba(0,0,0,.35) !important;
}
body .consent-banner p, body .consent-banner span { color: inherit !important; }
:root[data-theme="light"] body .consent-banner { background: rgba(255,255,255,.96) !important; color: #3a3a3c !important; border-color: rgba(0,0,0,.1) !important; }
body .consent-banner .button.ghost { color: inherit !important; border-color: currentColor !important; background: transparent !important; }
body .header-whatsapp, body .photo-whatsapp, body .tile-whatsapp, body a[href*="wa.me"] { display: none !important; }

/* ---------- chat widget ---------- */
.f-chat-btn {
  position: fixed; right: 18px; bottom: 18px; z-index: 90;
  display: inline-flex; align-items: center; gap: 8px; height: 52px; padding: 0 20px 0 16px;
  border-radius: 999px; border: 0; cursor: pointer; font: 600 15px Inter, system-ui, sans-serif;
  background: var(--f-btn); color: var(--f-btn-text); box-shadow: 0 12px 34px rgba(0,0,0,.35);
}
.f-chat-btn svg { width: 20px; height: 20px; }
.f-chat-btn.is-open { padding: 0; width: 52px; justify-content: center; }
.f-chat-btn.is-open .f-chat-label { display: none; }
.f-chat-btn.has-unread::after { content: ""; position: absolute; top: 4px; right: 4px; width: 12px; height: 12px; border-radius: 50%; background: #ff3b30; box-shadow: 0 0 0 2px var(--f-bg); }
.f-chat-panel {
  position: fixed; right: 18px; bottom: 82px; z-index: 91; width: min(380px, calc(100vw - 24px));
  max-height: min(620px, calc(100vh - 110px)); display: flex; flex-direction: column;
  border-radius: 24px; overflow: hidden; background: var(--f-surface); color: var(--f-text);
  border: 1px solid var(--f-line-2); box-shadow: 0 30px 90px rgba(0,0,0,.45); font-family: Inter, system-ui, sans-serif;
}
.f-chat-panel[hidden] { display: none; }
.f-chat-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--f-line); }
.f-chat-logo { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--f-gold); color: var(--f-gold); display: grid; place-items: center; font-weight: 700; font-size: 16px; flex: none; }
.f-chat-head b { display: block; font-size: 15px; color: var(--f-text); }
.f-chat-head small { color: var(--f-muted); font-size: 12px; }
.f-chat-close { margin-left: auto; width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--f-line); background: transparent; color: var(--f-text); cursor: pointer; font-size: 18px; line-height: 1; }
.f-chat-thread { flex: 1; min-height: 140px; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 8px; overscroll-behavior: contain; }
.f-msg { max-width: 85%; padding: 9px 13px; border-radius: 16px; font-size: 14px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; }
.f-msg.bot, .f-msg.manager { align-self: flex-start; background: var(--f-surface-2); color: var(--f-text); border-bottom-left-radius: 6px; }
.f-msg.user { align-self: flex-end; background: var(--f-btn); color: var(--f-btn-text); border-bottom-right-radius: 6px; }
.f-msg.ok, .f-msg.err { align-self: center; background: transparent; font-size: 12px; text-align: center; }
.f-msg.ok { color: var(--f-ok); } .f-msg.err { color: var(--f-err); }
.f-msg-imgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 6px; margin-top: 6px; min-width: 170px; }
.f-msg-imgs a { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 1; }
.f-msg-imgs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.f-chat-form { display: grid; gap: 8px; padding: 12px; border-top: 1px solid var(--f-line); }
.f-chat-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.f-chat-form input, .f-chat-form textarea {
  width: 100%; font: 14px Inter, system-ui, sans-serif; color: var(--f-text); background: var(--f-field);
  border: 1px solid var(--f-line-2); border-radius: 12px; padding: 10px 12px; outline: none; box-sizing: border-box;
}
.f-chat-form input:focus, .f-chat-form textarea:focus { border-color: var(--f-gold); box-shadow: 0 0 0 3px var(--f-glow); }
.f-chat-form textarea { min-height: 58px; resize: vertical; }
.f-chat-form .send { display: flex; gap: 8px; align-items: flex-end; }
.f-chat-form .send textarea { flex: 1; }
.f-chat-form .send button { width: 46px; height: 46px; flex: none; border-radius: 50%; border: 0; cursor: pointer; background: var(--f-btn); color: var(--f-btn-text); display: grid; place-items: center; }
.f-chat-form .send button:disabled { opacity: .5; }
.f-chat-form .who { font-size: 12px; color: var(--f-muted); display: flex; justify-content: space-between; gap: 8px; }
.f-chat-form .who button { border: 0; background: none; color: var(--f-gold); cursor: pointer; font: inherit; padding: 0; }
.f-chat-attach { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.f-chat-attach-btn { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 6px 12px; border-radius: 999px; border: 1px dashed var(--f-line-2); color: var(--f-muted); font-size: 13px; font-weight: 500; }
.f-chat-attach-btn:hover { border-color: var(--f-gold); color: var(--f-text); }
.f-chat-attach-list { display: flex; gap: 6px; flex-wrap: wrap; }
.f-chat-attach-list:empty { display: none; }
.f-chat-attach-list figure { position: relative; margin: 0; width: 46px; height: 46px; border-radius: 10px; overflow: hidden; border: 1px solid var(--f-line); }
.f-chat-attach-list img { width: 100%; height: 100%; object-fit: cover; }
.f-chat-attach-list button { position: absolute; top: 2px; right: 2px; width: 18px; height: 18px; border: 0; border-radius: 50%; background: rgba(0,0,0,.7); color: #fff; cursor: pointer; font-size: 12px; line-height: 1; padding: 0; }
.f-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

@media (max-width: 640px) {
  .f-chat-btn .f-chat-label { display: none; }
  .f-chat-btn { width: 52px; padding: 0; justify-content: center; }
  .f-chat-panel { left: 12px; right: 12px; width: auto; bottom: 80px; }
  .f-chat-form .row { grid-template-columns: 1fr; }
}

/* ---------- pass 2: remaining light blocks + legacy text tokens ---------- */
:root { --navy: #f5f5f7; --navy-deep: #f5f5f7; --ink: #f5f5f7; --white: #f5f5f7; }
:root[data-theme="light"] { --navy: #1d1d1f; --navy-deep: #1d1d1f; --ink: #1d1d1f; --white: #1d1d1f; }
body .price-explainer article, body .legal-trust-grid article, body .included-grid article, body .kapitaal-project-card,
body .portfolio-project-grid .project-card, body .cluster-card-grid article, body .cluster-note, body .p1-note,
body .tile-card-grid article, body .tile-trust-grid article, body .tile-situation-list article, body .tile-process-steps li,
body .case-gallery, body .tile-shot-list li {
  background: radial-gradient(120% 90% at 0% 0%, var(--f-glow), transparent 58%), var(--f-surface) !important;
  border: 1px solid var(--f-line) !important; color: var(--f-text) !important; box-shadow: none !important;
}
body .portfolio-list, body .tile-situations, body .cluster-page, body .p1-page, body .plaatimistood-page { background: var(--f-bg) !important; }
body .tile-hero-card picture, body .tile-photo-grid picture { background: var(--f-surface-2) !important; }
body .cluster-hero-photo figcaption, body .p1-photo figcaption { background: rgba(0,0,0,.55) !important; color: #f5f5f7 !important; }
body .legal-trust-grid strong, body .price-explainer h3, body .included-grid strong, body .included-grid h3 { color: var(--f-text) !important; }
body .legal-trust-grid span, body .footer-company span { color: var(--f-gold) !important; }
body .price-explainer li::before { color: var(--f-gold) !important; }
body .wide-cta { background: var(--f-btn) !important; border-color: transparent !important; }
body .contact-form .f-photos { grid-column: 1 / -1; }
body .included-grid article { color: var(--f-text) !important; }

/* ---------- pass 3 ---------- */
body .section-heading, body .section-heading.compact, body [class*="section-heading"] { background: transparent !important; }
body .cluster-link-grid strong, body .p1-link-grid strong, body .cluster-card-grid strong, body .tile-card-grid strong,
body .p1-card strong, body main strong { color: var(--f-text) !important; }
body .cluster-link-grid span, body .p1-link-grid span { color: var(--f-muted) !important; }
/* original bug: 6 cards squeezed into 7 flex columns */
body .included-grid.kapitaal-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
body .included-grid.kapitaal-service-grid article { display: block !important; min-height: 0 !important; font-weight: 400 !important; }
body .kapitaal-service-grid strong { font-family: var(--f-sans, Inter), system-ui, sans-serif !important; font-size: 20px !important; letter-spacing: -0.01em; }
@media (max-width: 900px) { body .included-grid.kapitaal-service-grid { grid-template-columns: 1fr !important; } }

/* ---------- mobile sticky bars ---------- */
@media (max-width: 1100px) {
  body .mobile-sticky-cta {
    grid-template-columns: repeat(2, 1fr) !important; right: 78px !important; left: 12px !important; bottom: 18px !important;
    padding: 6px !important; gap: 6px !important; border-radius: 999px !important;
    background: var(--f-header) !important; border: 1px solid var(--f-line-2) !important;
    backdrop-filter: blur(18px); box-shadow: 0 12px 34px rgba(0,0,0,.35) !important;
  }
  body .mobile-sticky-cta a { min-height: 42px !important; border-radius: 999px !important; color: var(--f-text) !important; background: transparent !important; font-weight: 600 !important; font-size: 14px !important; }
  body .mobile-sticky-cta a:last-child { background: var(--f-btn) !important; color: var(--f-btn-text) !important; }
  body .cluster-sticky-cta { right: 78px !important; left: 12px !important; width: auto !important; }
  body .tile-sticky-cta { right: 78px !important; }
  body .f-chat-btn { bottom: 18px; }
}
@media (max-width: 1400px) and (min-width: 1101px) { body .header .nav { gap: 18px !important; font-size: 12.5px !important; } body .header-actions { gap: 10px !important; } }
body .header .nav { align-items: center !important; }


/* nav fit (long RU/ET menus on laptop widths) */
@media (min-width:1101px){body .header .nav{min-width:0;} body .header .nav a{white-space:nowrap;}}
@media (min-width:1101px) and (max-width:1500px){body .header .nav a[href="#trust"],body .header .nav a[href="#included"],body .header .nav a[href="#faq"],body .header .nav a[href="#prices"]{display:none!important;}}
@media (min-width:1101px) and (max-width:1280px){body .header .nav a[href="#works"]{display:none!important;}}

/* one photo per project card (second photo of the same room looked like a duplicate) */
body .case-study-card .case-gallery-grid { grid-template-columns: 1fr !important; }
body .case-study-card .case-gallery-grid > .project-photo-slot:nth-child(n+2) { display: none !important; }
body .case-study-card .case-gallery-grid > .project-photo-slot strong { display: none !important; }
