/* Shared front-end and editor iframe styles. Values editable in Gutenberg remain inline or in theme.json. */
html { scroll-behavior: smooth; }
:where(.wp-site-blocks, .editor-styles-wrapper) { overflow-wrap: break-word; }
.monolit-shell { box-sizing: border-box; width: calc(100% - 2 * var(--wp--preset--spacing--gutter)); max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.monolit-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.monolit-header-row { min-height: 100px; display: flex; justify-content: space-between; align-items: center; gap: var(--wp--preset--spacing--30); }
.monolit-logo img { width: 120px; height: auto; object-fit: contain; }
.monolit-header .wp-block-navigation__container { gap: clamp(var(--wp--preset--spacing--20), 2.2vw, var(--wp--preset--spacing--px-36)); }
.monolit-phone { white-space: nowrap; }
.monolit-section { padding-block: var(--wp--preset--spacing--40); scroll-margin-top: var(--wp--preset--spacing--30); }
.monolit-hero { display: grid; grid-template-columns: minmax(0, .93fr) minmax(0, 1.57fr); gap: var(--wp--preset--spacing--px-44); padding-top: var(--wp--preset--spacing--45); padding-bottom: var(--wp--preset--spacing--px-42); }
.monolit-hero-copy { display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; gap: var(--wp--preset--spacing--px-34); padding-block: var(--wp--preset--spacing--px-36) var(--wp--preset--spacing--px-4); }
:where(.monolit-hero h1) { letter-spacing: -.045em; line-height: 1.02; }
.monolit-hero-visual { display: grid; gap: var(--wp--preset--spacing--20); }
.monolit-hero-photo img { width: 100%; height: auto; aspect-ratio: 2.16; object-fit: cover; }
.monolit-thumbnails { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--wp--preset--spacing--20); }
.monolit-thumbnails img { width: 100%; height: auto; aspect-ratio: .88; object-fit: cover; }
.monolit-perks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--wp--preset--spacing--25); width: 100%; }
.monolit-perk { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--15); }
.monolit-perk .wp-block-image img { display: block; width: 58px; height: 66px; object-fit: contain; }
.monolit-button-arrow { white-space: nowrap; margin-left: var(--wp--preset--spacing--20); }
.monolit-tint { background: var(--wp--preset--color--surface); }
.monolit-about { display: grid; grid-template-columns: 1.3fr .9fr 1.6fr; gap: var(--wp--preset--spacing--px-22); align-items: stretch; }
.monolit-about-photo img { width: 100%; height: 100%; min-height: 276px; object-fit: cover; }
.monolit-about-photo { height: 100%; }
.monolit-about-copy { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--30); padding-right: var(--wp--preset--spacing--px-14); }
.monolit-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--wp--preset--spacing--15); }
.monolit-feature { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: var(--wp--preset--spacing--20); border: 1px solid var(--wp--preset--color--line); padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--25); }
.monolit-feature img { display: block; width: 44px; height: auto; object-fit: contain; }
.monolit-feature-text { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--px-10); }
.monolit-section-top { display:flex; align-items: flex-start; justify-content: space-between; gap: var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--20); }
.monolit-description { max-width: 440px; }
.monolit-intro { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--px-10); }
.monolit-text-link { padding-top: var(--wp--preset--spacing--15); white-space: nowrap; }
.monolit-text-link { color: var(--wp--preset--color--bronze); }
.monolit-text-link a { color: inherit; }
.monolit-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--wp--preset--spacing--px-18); }
.monolit-card { border: 1px solid var(--wp--preset--color--line); }
.monolit-card-photo img { display: block; width: 100%; height: auto; aspect-ratio: 2.12; object-fit: cover; }
.monolit-card-copy { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--px-10); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40) var(--wp--preset--spacing--25); }
.monolit-materials { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--wp--preset--spacing--25); }
.monolit-material { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--10); }
.monolit-material img { display: block; width: 100%; height: auto; aspect-ratio: 1.92; object-fit: cover; }
.monolit-project-layout { display:grid; grid-template-columns: 1fr 2.65fr; gap: var(--wp--preset--spacing--px-28); }
.monolit-project-intro { display:flex; flex-direction:column; gap: var(--wp--preset--spacing--px-18); }
.monolit-project-intro .monolit-text-link { margin-top: auto; padding-bottom: var(--wp--preset--spacing--40); }
.monolit-projects { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--wp--preset--spacing--20); }
.monolit-project img { display:block; width:100%; height:auto; aspect-ratio: 1.28; object-fit:cover; }
.monolit-project { display:flex; flex-direction:column; gap: var(--wp--preset--spacing--10); }
.monolit-consultation { padding: 0; }
.monolit-consultation .wp-block-cover { min-height: 275px; padding-block: var(--wp--preset--spacing--px-34); }
.monolit-consultation-copy { display:flex; flex-direction:column; gap: var(--wp--preset--spacing--px-14); max-width:550px; }
.monolit-consultation-copy h2 { max-width: 480px; }
.monolit-footer { padding-block: var(--wp--preset--spacing--px-26) var(--wp--preset--spacing--40); }
.monolit-footer-grid { display:grid; grid-template-columns: 1.5fr 1fr 1.15fr 1.4fr; gap: var(--wp--preset--spacing--40); }
.monolit-footer-col { display:flex; flex-direction:column; gap: var(--wp--preset--spacing--10); padding-left: var(--wp--preset--spacing--40); border-left:1px solid var(--wp--preset--color--line); }
.monolit-footer-brand { display:flex; flex-direction:column; gap: var(--wp--preset--spacing--px-14); }
.monolit-footer-brand .monolit-logo img { width:105px; height:auto; }
.monolit-footer a:hover, .monolit-text-link a:hover, .monolit-header a:hover { text-decoration: underline; text-underline-offset: 5px; }
.wp-block-button__link:hover { filter: brightness(1.12); }
:where(a,button,input,textarea,select):focus-visible { outline: 2px solid var(--wp--preset--color--bronze); outline-offset:5px; }
@media (max-width:1100px) {
 .monolit-header-row { flex-wrap:wrap; padding-block: var(--wp--preset--spacing--20); gap: var(--wp--preset--spacing--15); }
 .monolit-header .wp-block-navigation { order:3; width:100%; }
 .monolit-header .wp-block-navigation__container { justify-content:center; }
 .monolit-hero { gap: var(--wp--preset--spacing--px-28); grid-template-columns:1fr 1.3fr; }
 .monolit-hero-copy { padding-top: var(--wp--preset--spacing--15); }
 .monolit-about { grid-template-columns: 1fr 1fr; }
 .monolit-features { grid-column:1/-1; }
 .monolit-materials { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .monolit-project-layout { grid-template-columns:1fr; }
 .monolit-project-intro .monolit-text-link { margin-top: 0; padding-bottom: 0; }
 .monolit-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap: var(--wp--preset--spacing--40); }
}
@media (max-width:767px) {
 .monolit-logo img, .monolit-footer-brand .monolit-logo img { width:96px; height:auto; }
 .monolit-hero { grid-template-columns:1fr; padding-top: var(--wp--preset--spacing--px-18); gap: var(--wp--preset--spacing--px-26); }
 .monolit-hero-copy { gap: var(--wp--preset--spacing--px-28); padding: 0; }
 :where(.monolit-perk p) { font-size:var(--wp--preset--font-size--small); }
 .monolit-perk .wp-block-image img { width:46px; height:52px; }
 .monolit-thumbnails { grid-template-columns:repeat(2,minmax(0,1fr)); gap: var(--wp--preset--spacing--15); }
 .monolit-thumbnails img { aspect-ratio:1.5; }
 .monolit-about,.monolit-cards,.monolit-materials,.monolit-projects,.monolit-footer-grid { grid-template-columns:1fr; }
 .monolit-features { grid-template-columns:1fr; }
 .monolit-about-photo img { min-height:0; height:260px; }
 .monolit-section-top { flex-direction:column; gap: var(--wp--preset--spacing--10); }
 .monolit-text-link { padding-top: 0; }
 .monolit-section { padding-block: var(--wp--preset--spacing--px-28); }
 .monolit-card-copy { padding-inline: var(--wp--preset--spacing--25); }
 .monolit-project img { aspect-ratio:1.5; }
 .monolit-consultation .wp-block-cover { min-height:370px; }
 .monolit-consultation .wp-block-cover__image-background { object-position:65% center; opacity:.32; }
 .monolit-footer-col { padding-left: 0; padding-top: var(--wp--preset--spacing--25); border-left:0; border-top:1px solid var(--wp--preset--color--line); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media (max-width:599px) {
 .monolit-header-row { min-height:76px; flex-wrap:nowrap; padding-block: var(--wp--preset--spacing--10); }
 .monolit-header .wp-block-navigation { order:0; width:auto; margin-left: auto; }
 .monolit-header .monolit-phone { display:none; }
 .monolit-header .wp-block-navigation__responsive-container.is-menu-open { padding: var(--wp--preset--spacing--px-28); }
 .monolit-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:flex-start; gap: var(--wp--preset--spacing--30); }
}

.monolit-contact-row { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: var(--wp--preset--spacing--15); align-items: start; }
.monolit-contact-icon img { display: block; width: 18px; height: auto; }

/* Compatibility for the original paragraphs containing both the small preset
   and an inline 12px size. Core's preset class uses !important. Limit the repair
   to that exact legacy combination: any other custom size or preset wins normally. */
:where(.monolit-feature-text) > .has-small-font-size[style*="font-size:12px"],
.monolit-feature-text > .monolit-legacy-detail-size {
 font-size: var(--wp--preset--font-size--detail) !important;
}
