/* Optional overlay only. Disable in Appearance > Customize > Typografia IT Node.
   Existing layout, text, brand colours, body font and old styles are preserved. */
body.itnode-type-01 :is(h1, h2, h3, h4, h5, h6) {
  font-family: 'IBM Plex Sans', 'Manrope', Arial, sans-serif;
  font-weight: 600;
}
body.itnode-type-01 :is(.hotel-opening, .hotel-intro, .about-node, .about-hotel,
 .about-work, .about-contact, .partner-section__intro, .contact-page__info,
 .home-why, .home-start, .home-contact, .section-heading, .home-services__intro,
 .offer-intro, .hotel-services__heading, .cooperation-options__heading,
 .outsourcing-start, .cctv-maintenance) h2 {
  font-size: clamp(30px, 3vw, 37px);
  line-height: 1.16;
  letter-spacing: -.027em;
}
body.itnode-type-01 .contact-page > :first-child > h2 {
  font-size: clamp(30px, 3vw, 37px);
  line-height: 1.16;
  letter-spacing: -.027em;
}
body.itnode-type-01 :is(.hotel-opening, .hotel-intro, .about-node, .about-hotel,
 .partner-section__intro, .contact-page, .home-why, .cctv-maintenance) h2 > span {
  display: block;
  margin-top: 12px;
  font-size: .784em;
  font-weight: 400;
  letter-spacing: -.019em;
  line-height: 1.24;
}
body.itnode-type-01 :is(.hotel-opening, .hotel-intro, .about-node, .about-hotel,
 .partner-section__intro, .contact-page, .home-why, .cctv-maintenance) h2 > br:has(+ span) {
  display: none;
}
body.itnode-type-01 .contact-page__form h2 {
  font-size: clamp(26px, 2.5vw, 30px);
  line-height: 1.25;
  letter-spacing: -.02em;
}
body.itnode-type-01 :is(.eyebrow, .about-node__eyebrow, .partner-section__eyebrow, .home-services__eyebrow) {
  position: relative;
  padding-left: 29px;
  font-family: 'IBM Plex Sans', 'Manrope', Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .075em;
  text-transform: uppercase;
}
body.itnode-type-01 :is(.eyebrow, .about-node__eyebrow, .partner-section__eyebrow, .home-services__eyebrow)::before {
  content: '';
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  top: .8em;
  transform: translateY(-50%);
  background: linear-gradient(currentColor, currentColor) left top / 7px 7px no-repeat,
    linear-gradient(color-mix(in srgb, currentColor 35%, transparent), color-mix(in srgb, currentColor 35%, transparent)) right bottom / 7px 7px no-repeat;
  pointer-events: none;
}
/* Numbered service labels already have a graphic anchor; do not stack ornaments. */
body.itnode-type-01 .hotel-service .about-node__eyebrow,
body.itnode-type-01 .contact-page__form .about-node__eyebrow { padding-left: 0; }
body.itnode-type-01 .hotel-service .about-node__eyebrow::before,
body.itnode-type-01 .contact-page__form .about-node__eyebrow::before { content: none; }
body.itnode-type-01 .cooperation-options__heading > .eyebrow { display: inline-block; }
@media (max-width: 700px) {
  body.itnode-type-01 :is(.hotel-opening, .hotel-intro, .about-node, .about-hotel,
   .about-work, .about-contact, .partner-section__intro, .contact-page__info,
   .home-why, .home-start, .home-contact, .section-heading, .home-services__intro,
   .offer-intro, .hotel-services__heading, .cooperation-options__heading,
   .outsourcing-start, .cctv-maintenance) h2,
  body.itnode-type-01 .contact-page > :first-child > h2 { font-size: 32px; }
  body.itnode-type-01 :is(.hotel-opening, .hotel-intro, .about-node, .about-hotel,
   .partner-section__intro, .contact-page, .home-why, .cctv-maintenance) h2 > span { font-size: .84em; }
}
