/* Bento: two photo rows, the "all services" row takes only the height it needs */
.bento{grid-template-rows:300px 300px;grid-auto-rows:auto}
.bento .tile--dark{min-height:0}
@media (max-width:1100px){.bento{grid-template-rows:none;grid-auto-rows:240px}.bento .tile--dark{grid-row:auto;height:auto;min-height:120px}}
@media (max-width:760px){.bento{grid-auto-rows:190px}}
.tile-cta{white-space:nowrap}

/* Long Ukrainian words must not overflow on phones */
h1,h2,h3,.tile-title,.card-title{overflow-wrap:break-word;hyphens:manual}
.ph-text,.ph-media,.split-body,.calc-form,.lead-form{min-width:0}
@media (max-width:760px){
	h1{font-size:clamp(30px,8.4vw,40px)}
	h2{font-size:clamp(26px,7vw,34px)}
	.hero-text h1{font-size:clamp(34px,9.6vw,44px)}
	.page-hero{gap:10px}
	.lead{font-size:16px}
	.s-head{margin-bottom:18px}
	.panel h2{font-size:28px}
}

/* Header with 9 menu items: compact on laptops, burger below 1360px */
@media (max-width:1640px){.nav>li>a{padding:10px 11px;font-size:14.5px;gap:5px}.header-in{gap:14px}}
@media (max-width:1560px){.header-phone span{display:none}.header-phone{width:48px;padding:0;justify-content:center}}
@media (max-width:1360px){.main-nav{display:none}.mnav{display:block}.header-phone span{display:inline}.header-phone{width:auto;padding:0 18px}}
@media (max-width:760px){.header-phone span{display:none}.header-phone{width:48px;padding:0}}
/* Long dropdowns in two columns; right-hand dropdowns open to the left */
.nav .sub:has(> li:nth-child(9)){display:grid;grid-template-columns:1fr 1fr;column-gap:4px;min-width:520px}
.nav>li:nth-last-child(-n+5) .sub{left:auto;right:0}
/* Page-hero H1 sized so long words fit the text column */
.page-hero h1{font-size:clamp(34px,3.5vw,58px);line-height:1.04}
