/* CMS content states only. Layout and brand styling remain in the approved v1.5 CSS. */
[hidden] { display: none !important; }
.news-feature__visual:has(> img) { background-image: none; }
.news-feature__visual > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.article-template__content .payload-richtext { max-width: 100%; }
.article-template__content video { width: 100%; }
.inquiry-form button:disabled { opacity: .6; cursor: wait; }
.form-success[data-error="true"] { color: #a32921; }
.page-hero__media > img { width: 100%; height: 100%; object-fit: cover; }
.news-page-item[data-headline-copy] { display: none; }
body[data-initial-category]:not([data-initial-category="all"]) .news-page-item[data-headline-copy] { display: grid; }
.news-grid:not(:has(.news-feature)) { grid-template-columns: 1fr; }
.draft-notice { position: fixed; z-index: 1000; bottom: 16px; left: 50%; transform: translateX(-50%); width: min(760px, calc(100% - 32px)); padding: 16px 20px; background: #f8f3e8; color: #3d2b1e; border: 1px solid #a88c64; box-shadow: 0 4px 24px #0002; font-size: 14px; line-height: 1.6; }
.draft-notice a { margin-left: 16px; text-decoration: underline; }

/* Media renders directly, without a CSS background download or entrance fade. */
body .hero__media,
body .page-hero__media { background-image: none; animation: none; }
.hero-video-action { position: absolute; right: 20px; bottom: 20px; z-index: 2; max-width: calc(100% - 40px); padding: 10px 16px; border: 1px solid #ffffffa8; border-radius: 3px; background: #191713d9; color: #fff; font: inherit; font-size: 14px; line-height: 1.4; cursor: pointer; }
.page-hero--about .page-hero__media > img,
.page-hero--projects .page-hero__media > img { object-position: center 45%; }
.page-hero--business .page-hero__media > img { object-position: center 54%; }
.page-hero--qualifications .page-hero__media > img { object-position: center 42%; }
.page-hero--news .page-hero__media > img { object-position: center 50%; }
.page-hero--contact .page-hero__media > img { object-position: center 55%; }
