/* Global H77DESIGN typography — loaded after page-specific Elementor CSS. */
:root {
  --h77-serif: 'Poltawski Nowy', Georgia, serif;
  --h77-sans: 'Poltawski Nowy', Georgia, serif;
}

body.h77-site,
body.h77-site button,
body.h77-site input,
body.h77-site select,
body.h77-site textarea,
body.h77-site .elementor,
body.h77-site .elementor-heading-title,
body.h77-site .elementor-widget-text-editor,
body.h77-site .elementor-button,
body.h77-site .h77-nav,
body.h77-site .h77-footer {
  font-family: 'Poltawski Nowy', Georgia, serif !important;
}

body.h77-site {
  font-size: clamp(16px, .9vw, 18px);
  font-weight: 400;
  line-height: 1.65;
}

body.h77-site p,
body.h77-site li,
body.h77-site a,
body.h77-site button,
body.h77-site input,
body.h77-site textarea { text-rendering: optimizeLegibility; }

/* Shared theme pages and page-level widgets. */
body.h77-site .h77-eyebrow { font-size: clamp(13px, .72vw, 15px); line-height: 1.35; }
body.h77-site .h77-nav { font-size: clamp(13px, .78vw, 16px); }
body.h77-site .h77-button { font-size: clamp(14px, .78vw, 16px); font-weight: 500; }
body.h77-site .h77-button--dark { font-size: clamp(14px, .78vw, 16px); }
body.h77-site .h77-hero__lead { font-size: clamp(16px, .9vw, 18px); }
body.h77-site .h77-hero__services,
body.h77-site .h77-hero--projects .h77-hero__content > p { font-size: clamp(15px, .84vw, 17px); }
body.h77-site .h77-project-intro > p:not(.h77-eyebrow),
body.h77-site .h77-about-card__copy > p:not(.h77-eyebrow),
body.h77-site .h77-project-cta p,
body.h77-site .h77-story__copy > p:not(.h77-eyebrow),
body.h77-site .h77-generic-content > div > p,
body.h77-site .h77-modal__dialog > p:not(.h77-eyebrow) { font-size: clamp(15px, .84vw, 17px); line-height: 1.65; }
body.h77-site .h77-project-card__info p { font-size: clamp(13px, .72vw, 15px); }
body.h77-site .h77-capabilities strong { font-size: clamp(14px, .78vw, 16px); }
body.h77-site .h77-capabilities span { font-size: clamp(13px, .72vw, 15px); line-height: 1.5; }
body.h77-site .h77-metrics span,
body.h77-site .h77-floating-metrics span { font-size: clamp(12px, .68vw, 14px); }
body.h77-site .h77-filter > p { font-size: clamp(14px, .78vw, 16px); }
body.h77-site .h77-filter button { font-size: clamp(13px, .72vw, 15px); }
body.h77-site .h77-collection small { font-size: clamp(12px, .66vw, 14px); }
body.h77-site .h77-project-stats__intro > p:not(.h77-eyebrow),
body.h77-site .h77-project-stats span { font-size: clamp(13px, .72vw, 15px); line-height: 1.55; }
body.h77-site .h77-signature small,
body.h77-site .h77-founder__quote p { font-size: clamp(12px, .68vw, 14px); }
body.h77-site .h77-values__grid h3 { font-size: clamp(15px, .84vw, 17px); }
body.h77-site .h77-values__grid p { font-size: clamp(13px, .74vw, 15px); line-height: 1.6; }
body.h77-site .h77-process__step > span { font-size: 12px; }
body.h77-site .h77-process__step h3 { height: auto; min-height: 48px; font-size: clamp(13px, .72vw, 15px); line-height: 1.4; }
body.h77-site .h77-form label > span { font-size: 13px; }
body.h77-site .h77-form input,
body.h77-site .h77-form textarea,
body.h77-site .h77-form select { font-size: 17px; }
body.h77-site .h77-footer h3 { font-size: clamp(13px, .72vw, 15px); }
body.h77-site .h77-footer__grid a,
body.h77-site .h77-footer__grid p { font-size: clamp(13px, .72vw, 15px); }
body.h77-site .h77-footer__bottom { font-size: clamp(12px, .66vw, 14px); }

/* Native Elementor homepage. */
body.page-id-5 .h77-e-nav-item .elementor-button { font-size: clamp(11px, .75vw, 15px) !important; }
body.page-id-5 .h77-e-hero-kicker .elementor-heading-title { font-size: clamp(14px, .9vw, 18px) !important; }
body.page-id-5 .h77-e-hero-services,
body.page-id-5 .h77-e-hero-services p { font-size: clamp(15px, .82vw, 17px) !important; line-height: 1.65; }
body.page-id-5 .h77-e-glass-button .elementor-button { font-size: clamp(14px, .82vw, 17px) !important; }
body.page-id-5 .h77-e-eyebrow .elementor-heading-title { font-size: clamp(13px, .72vw, 15px) !important; }
body.page-id-5 .h77-e-project-intro-text,
body.page-id-5 .h77-e-project-intro-text p { font-size: clamp(15px, .82vw, 17px) !important; line-height: 1.6; }
body.page-id-5 .h77-e-text-button .elementor-button { font-size: clamp(14px, .76vw, 16px) !important; }
body.page-id-5 .h77-e-card-title .elementor-heading-title { font-size: clamp(26px, 1.65vw, 34px) !important; }
body.page-id-5 .h77-e-card-meta,
body.page-id-5 .h77-e-card-meta p { font-size: clamp(13px, .72vw, 15px) !important; }
body.page-id-5 .h77-e-capabilities { height: clamp(118px, 9vw, 150px); }
body.page-id-5 .h77-e-capability-title .elementor-heading-title { font-size: clamp(13px, .74vw, 15px) !important; }
body.page-id-5 .h77-e-capability-text,
body.page-id-5 .h77-e-capability-text p { font-size: clamp(12px, .68vw, 14px) !important; line-height: 1.45; }
body.page-id-5 .h77-e-about { height: clamp(290px, 25vw, 390px); }
body.page-id-5 .h77-e-about-text,
body.page-id-5 .h77-e-about-text p { font-size: clamp(15px, .82vw, 17px) !important; line-height: 1.55; }
body.page-id-5 .elementor .e-con.e-parent.h77-e-about .h77-e-about-image {
  background-image: url('../images/interior-villa.webp') !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
body.page-id-5 .h77-e-metric-label,
body.page-id-5 .h77-e-metric-label p { font-size: clamp(12px, .68vw, 14px) !important; }
body.page-id-5 .h77-e-cta-button .elementor-button {
  color: #fff !important;
  background: linear-gradient(135deg, #2b5c4c, #0d352d) !important;
  font-size: clamp(14px, .78vw, 16px) !important;
}

/* Native Elementor About page. */
body.page-id-7 .h77-a-nav-item .elementor-button { font-size: clamp(11px, .75vw, 15px) !important; }
body.page-id-7 .h77-a-hero-eyebrow .elementor-heading-title,
body.page-id-7 .h77-a-section-eyebrow .elementor-heading-title { font-size: clamp(12px, .68vw, 14px) !important; }
body.page-id-7 .h77-a-hero-title .elementor-heading-title { font-size: clamp(46px, 4.2vw, 72px) !important; line-height: .92; }
body.page-id-7 .h77-a-hero-kicker .elementor-heading-title { font-size: clamp(13px, .76vw, 16px) !important; }
body.page-id-7 .h77-a-hero-body,
body.page-id-7 .h77-a-hero-body p { font-size: clamp(14px, .84vw, 18px) !important; line-height: 1.55; }
body.page-id-7 .h77-a-glass-button .elementor-button,
body.page-id-7 .h77-a-process-button .elementor-button { font-size: clamp(13px, .76vw, 16px) !important; }
body.page-id-7 .h77-a-stat-number .elementor-heading-title { font-size: clamp(40px, 3vw, 52px) !important; }
body.page-id-7 .h77-a-stat-label,
body.page-id-7 .h77-a-stat-label p { font-size: clamp(12px, .7vw, 15px) !important; }
body.page-id-7 .h77-a-story-title .elementor-heading-title { font-size: clamp(38px, 2.8vw, 52px) !important; }
body.page-id-7 .h77-a-story-body,
body.page-id-7 .h77-a-story-body p { font-size: clamp(15px, .84vw, 18px) !important; line-height: 1.6; }
body.page-id-7 .h77-a-story-name .elementor-heading-title,
body.page-id-7 .h77-a-story-role,
body.page-id-7 .h77-a-story-role p { font-size: clamp(12px, .68vw, 14px) !important; }
body.page-id-7 .h77-a-values { height: clamp(220px, 20vw, 330px); }
body.page-id-7 .h77-a-values-title .elementor-heading-title,
body.page-id-7 .h77-a-process-title .elementor-heading-title { font-size: clamp(38px, 2.5vw, 48px) !important; }
body.page-id-7 .h77-a-value-title .elementor-heading-title { font-size: clamp(14px, .78vw, 16px) !important; }
body.page-id-7 .h77-a-value-text,
body.page-id-7 .h77-a-value-text p { font-size: clamp(12px, .7vw, 15px) !important; line-height: 1.5; }
body.page-id-7 .h77-a-founder { height: clamp(230px, 21.5vw, 340px); }
body.page-id-7 .h77-a-founder-quote .elementor-heading-title { font-size: clamp(27px, 2vw, 38px) !important; line-height: 1.08; }
body.page-id-7 .h77-a-founder-name .elementor-heading-title,
body.page-id-7 .h77-a-founder-role,
body.page-id-7 .h77-a-founder-role p { font-size: clamp(12px, .68vw, 14px) !important; }
body.page-id-7 .h77-a-step-number .elementor-heading-title { font-size: clamp(11px, .62vw, 13px) !important; }
body.page-id-7 .h77-a-step-title .elementor-heading-title { font-size: clamp(12px, .7vw, 15px) !important; }
body.page-id-7 .h77-a-footer-tagline,
body.page-id-7 .h77-a-footer-tagline p { font-size: clamp(14px, .8vw, 17px) !important; }
body.page-id-7 .h77-a-footer-heading .elementor-heading-title { font-size: clamp(13px, .72vw, 15px) !important; }
body.page-id-7 .h77-a-footer-links,
body.page-id-7 .h77-a-footer-links p,
body.page-id-7 .h77-a-footer-links a { font-size: clamp(12px, .68vw, 14px) !important; line-height: 1.65; }
body.page-id-7 .h77-a-footer-copy,
body.page-id-7 .h77-a-footer-copy p,
body.page-id-7 .h77-a-footer-copy a { font-size: clamp(11px, .62vw, 13px) !important; }

@media (max-width: 911px) {
  body.h77-site { font-size: 16px; }
  body.page-id-5 .h77-e-capabilities,
  body.page-id-5 .h77-e-about { height: auto; }
  body.page-id-7 .h77-a-values { height: auto; }
  body.page-id-7 .h77-a-values-grid {
    width: 100%;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  body.page-id-7 .h77-a-value { width: 100% !important; }
  body.page-id-5 .h77-e-hero-kicker .elementor-heading-title,
  body.page-id-7 .h77-a-hero-kicker .elementor-heading-title { font-size: 13px !important; }
  body.page-id-5 .h77-e-hero-services,
  body.page-id-5 .h77-e-hero-services p,
  body.page-id-7 .h77-a-hero-body,
  body.page-id-7 .h77-a-hero-body p { font-size: 15px !important; }
  body.page-id-5 .h77-e-project-intro-text,
  body.page-id-5 .h77-e-project-intro-text p,
  body.page-id-5 .h77-e-about-text,
  body.page-id-5 .h77-e-about-text p,
  body.page-id-7 .h77-a-story-body,
  body.page-id-7 .h77-a-story-body p { font-size: 16px !important; }
  body.page-id-5 .h77-e-capability-title .elementor-heading-title,
  body.page-id-7 .h77-a-value-title .elementor-heading-title,
  body.page-id-7 .h77-a-step-title .elementor-heading-title { font-size: 15px !important; }
  body.page-id-5 .h77-e-capability-text,
  body.page-id-5 .h77-e-capability-text p,
  body.page-id-7 .h77-a-value-text,
  body.page-id-7 .h77-a-value-text p { font-size: 14px !important; }
  body.page-id-7 .h77-a-stat-label,
  body.page-id-7 .h77-a-stat-label p { font-size: 12px !important; }
  body.page-id-7 .h77-a-footer-links,
  body.page-id-7 .h77-a-footer-links p,
  body.page-id-7 .h77-a-footer-links a { font-size: 14px !important; }
  body.page-id-7 .h77-a-footer-heading .elementor-heading-title { font-size: 15px !important; }
}

/* Keep the logged-in WordPress toolbar readable without changing its icon system. */
body.h77-site #wpadminbar,
body.h77-site #wpadminbar * { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; }
