/* ==========================================================================
   refine-2026.css: the "look" refinements the owner approved in decision 39d
   (decisions/2026-10-22-visual-open-items.html, owner 22 Oct 2026).
   1. Body text beside photos: 15px on a 29px line, aligned left, calmer grey (option B; taller line, owner 24 Oct).
   2. Small headings: one style, from the portfolio captions (option A). Owner, 24 Oct: "Featured In", "Accolades" and
      "Our Studio & Showroom" back to today's look; "Our Projects" and "Let's Discuss Your Project" 20% larger (17px).
   3. Book Now bar: same black bar and an outlined button (option A). Owner, 24 Oct: the sentence back to today's
      size and weight; the button's line 2px and its lettering as today's button.
   4. Buttons: withdrawn (owner, 24 Oct: "I prefer the existing"). Send, Get In Touch, Return To Homepage and the
      article's button are exactly as today. Only the supplier/careers Submit has the new 2px button (section 5).
   5. Supplier and careers forms (fix 9): the consultation form's look on white, equal margins.
   6. Reduce Motion (fix 13): no fade-in for visitors who switch it on; nothing changes for anyone else.
   7. Page titles on inner pages: style M1 (owner, 24 Oct), today's photos kept.
   Not in this file: the footer (kept as today).

   Loaded after custom.css (inc/enqueue.php) and kept whole under WP Rocket's Remove Unused CSS.
   Selectors use theme classes or WPBakery Extra class names (never vc_custom_*). No visible text here:
   every word on the page is still edited in WPBakery, WPForms or Theme Options.
   Browser support: plain CSS (font, letter-spacing, borders, padding, :not() with one class, :hover,
   :focus-visible, prefers-reduced-motion), supported by current Safari, Chrome, Edge and Firefox for
   years. :focus-visible (Safari 15.4, 2022) is always in its own rule, so a browser without it ignores
   only that rule and keeps its usual focus ring. One rule in section 5 uses :has() (2022-23) to spot
   consent questions; without it those labels stay in spaced capitals. Section 2 uses text-wrap: balance (2023-24)
   on two headings; without it they wrap as normal. Nothing else needs a fallback.
   ========================================================================== */

/* ---------- 1. Body text (option B) ----------
   The grey paragraphs beside the photos (WPBakery text blocks with the Extra class custom-text-block) on the
   homepage, About, service and project pages. 15px, line-height 2.15 (owner 24 Oct, 39j: "make text 10% smaller, up line spacing by 10%": 16.5px/1.95 -> 15px/2.15, about 32px lines) (29px; was 1.75, owner 24 Oct: "more legible,
   perhaps a bit more line height"), letter-spacing .02em, #3d3d3d, aligned left (was justified); paragraph spacing
   stays the theme's 1em (15px) padding. Not changed: the
   Contact page's address block, the white paragraph on the homepage studio photo (single-row-para), and
   the article (set separately on 20 Oct). An alignment set on a paragraph in WPBakery still wins. */
body:not(.single-post):not(.page-template-contact_page) .custom-text-block:not(.single-row-para) p,
body:not(.single-post):not(.page-template-contact_page) .custom-text-block:not(.single-row-para) a.pegasus {
	font-size: 15px;
	line-height: 2.15;
	letter-spacing: .02em;
	color: #3d3d3d;
	text-align: left;
}
/* Owner, 24 Oct 2026: "body text should match through the site". The same size, line height, spacing and colour for
   the other running text: the intro above every enquiry form (row Extra class inline_contact_form; was 15px black,
   wider spacing), the homepage's "We'd love to discuss your project" line (stays centred), and the Contact page's
   tab text (was 17px black on 36px lines). Not changed: the call-recording note (small grey, fix 14), the white
   paragraph on the homepage studio photo, and the article (its own 17px reading size, 20 Oct). */
body .inline_contact_form .wpb_text_column p,
.home .book_initial_section .single-row-para p,
.page-template-contact_page #page .page .entry-content .vc_tta-panel-body .custom-text-block p:not(.telephone-notice) {
	font-size: 15px;
	line-height: 2.15;
	letter-spacing: .02em;
	color: #3d3d3d;
	font-weight: 400;
}
body .inline_contact_form .wpb_text_column p,
.page-template-contact_page #page .page .entry-content .vc_tta-panel-body .custom-text-block p:not(.telephone-notice) { text-align: left; }
.home .book_initial_section .single-row-para p { text-align: center; }

/* Links inside those paragraphs (Extra classes no-decoration / extra_link, e.g. "Landscape Designer",
   "Lutron") had their own 14px size on 36px lines; they now take the paragraph's size and line height. */
body:not(.single-post):not(.page-template-contact_page) .custom-text-block:not(.single-row-para) p a.no-decoration,
body:not(.single-post):not(.page-template-contact_page) .custom-text-block:not(.single-row-para) p a.extra_link {
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

/* ---------- 2. Small headings (option A) ----------
   One style, from the portfolio captions: Metropolis bold 14px, line-height 1.5, letter-spacing .22em,
   capitals, #1d1d1d. Homepage service rows, Contact labels (Address, Telephone, Email), "Let's Discuss
   Your Project" and the related-links headings ("Our Projects"). Alignment and spacing around them are unchanged.
   Owner, 24 Oct: "Featured In" / "Accolades" (Extra class single-row-heading-serif) and "Our Studio & Showroom"
   (single-row-heading) keep today's look, so they are no longer in this rule. */
.custom-text-block h1, .custom-text-block h2, .custom-text-block h3,
.page-template-contact_page #page .page .entry-content .custom-text-block h2,
.inline_contact_form h2,
.lli-links__h.lli-links__h {
	font-family: metropolis-font, Verdana, Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	font-style: normal;
	line-height: 1.5;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #1d1d1d;
}
/* Owner, 24 Oct: "Our Projects" and "Let's Discuss Your Project" in this style but 20% larger: 17px (14 x 1.2).
   At 17px "Let's Discuss Your Project" takes two lines in the form's narrow column (laptops; also phones); text-wrap:
   balance splits them evenly instead of leaving "PROJECT" alone. It's in Safari 17.5, Chrome 114 and Firefox 121
   (2023-24); an older browser ignores it and just wraps normally, nothing else changes. */
.inline_contact_form h2,
.lli-links__h.lli-links__h { font-size: 17px; text-wrap: balance; }

/* ---------- 3. Book Now bar (option A, revised by the owner 24 Oct 2026) ----------
   Same black bar (#111). The sentence is today's (custom.css: 15px, weight 500, 1.5px spacing, white; the short
   phone line 14px, 12px below 360px): owner, 24 Oct, "I like the 'We'd love to...' text size and weight on existing".
   "Book Now" is an outlined button with a 2px white line ("the weight of the skeleton box should be heavier and
   perhaps the font too"), transparent, in today's button lettering (main.min.css / custom.css: 14px bold, 2px
   spacing; 12px bold .2em on phones); it fills white with black text on mouse-over and on keyboard focus
   (decisions 23/24: focus looks like hover; no ring after a click). Phones (below 576px) use the short line with
   the button beside it (lli-bar-line / lli-bar-cta). */
.calltoaction_sticky_top { background-color: #111; }
.calltoaction_sticky_top .calltoaction_sticky_top_button,
.calltoaction_sticky_top .calltoaction_sticky_top_text_480px p a.lli-bar-cta {
	background-color: transparent;
	border: 2px solid #fff;
	color: #fff;
	white-space: nowrap;
}
/* Sizes: desktop and tablet 37px tall (as the 22 Oct outline), up to 160px wide as today; phones the same outer size
   as today's phone button (2px line + 10px = today's 3px line + 9px), so the short line wraps as it does today. */
.calltoaction_sticky_top .calltoaction_sticky_top_button { padding: 6px 16px; }
.calltoaction_sticky_top .calltoaction_sticky_top_text_480px p a.lli-bar-cta { padding: 9px 10px; }
.calltoaction_sticky_top .calltoaction_sticky_top_button:hover,
.calltoaction_sticky_top .calltoaction_sticky_top_text_480px p a.lli-bar-cta:hover {
	background-color: #fff;
	border-color: #fff;
	color: #111;
}
.calltoaction_sticky_top .calltoaction_sticky_top_button:focus-visible {
	background-color: #fff;
	border-color: #fff;
	color: #111;
	box-shadow: none;
	outline: none;
}
.calltoaction_sticky_top .calltoaction_sticky_top_text_480px p a.lli-bar-cta:focus-visible {
	background-color: #fff;
	border-color: #fff;
	color: #111;
}

/* ---------- 4. Buttons: withdrawn (owner, 24 Oct 2026) ----------
   Option B (one button with a 2px line) is no longer applied to Send (consultation form 7227 and the Contact page
   forms), "Get In Touch" (toggle_button), "Return To Homepage" (form-confirmation-button) or the article's "Book a
   no-charge consultation": the owner prefers today's buttons, so custom.css and the theme style them as before.
   The supplier and careers Submit keep the 2px button (section 5, approved). */

/* ---------- 5. Supplier and careers forms (fix 9) ----------
   The consultation form's look on white. Forms: Suppliers / Professionals (8553), Employment Application
   General + Interior Architectural (8558), Bookkeeper (8560); any other form gets the same look if its
   WPForms "Form CSS Class" (Settings -> Advanced) is set to lli-form-light. Labels 11.5px medium spaced
   capitals, grey asterisk; fields full width, 1px #cfcac2, square, 48px tall, 16px text; Submit with a 2px line (below).
   Equal space both sides: the theme's old left-only 40px (main.min.css, below 992px) is removed, and the
   form is centred at up to 640px on tablets and laptops. The consultation forms (6013, 7227) are untouched. */
div.wpforms-container-full#wpforms-8553 form,
div.wpforms-container-full#wpforms-8558 form,
div.wpforms-container-full#wpforms-8560 form,
div.wpforms-container-full.lli-form-light form { padding-left: 0; padding-right: 0; max-width: 640px; margin-left: auto; margin-right: auto; }
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field { padding: 10px 0; }
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-label,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-label,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-label,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-label {
	font-family: metropolis-font, Verdana, Arial, sans-serif; font-size: 11.5px; font-weight: 500; line-height: 1.4;
	letter-spacing: .2em; text-transform: uppercase; color: #3d3d3d; margin-bottom: 6px;
}
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-required-label,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-required-label,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-required-label,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-required-label { color: #6b6864; }
/* Choice labels, descriptions and the long consent questions read as normal sentences, not spaced capitals
   (coordinator, 22 Oct 2026): Metropolis 400 14px, line-height 1.6, .01em, #3d3d3d. Short field labels stay as above. */
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-label-inline,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-label-inline,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-label-inline,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-label-inline,
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-checkbox li label,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-checkbox li label,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-checkbox li label,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-checkbox li label,
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-radio li label,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-radio li label,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-radio li label,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-radio li label,
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-gdpr-checkbox li label,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-gdpr-checkbox li label,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-gdpr-checkbox li label,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-gdpr-checkbox li label,
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-description,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-description,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-description,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-description,
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-gdpr-checkbox > .wpforms-field-label,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-gdpr-checkbox > .wpforms-field-label,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-gdpr-checkbox > .wpforms-field-label,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-gdpr-checkbox > .wpforms-field-label {
	font-family: metropolis-font, Verdana, Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 1.6;
	letter-spacing: .01em; text-transform: none; color: #3d3d3d;
}
/* A checkbox field with a single tick box is a consent question with a long label. :has() is in Safari 15.4,
   Chrome 105 and Firefox 121 (2022-23); a browser without it ignores only this rule and shows the label in
   the spaced capitals above, still readable. */
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-checkbox:has(> ul > li:only-child) > .wpforms-field-label,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-checkbox:has(> ul > li:only-child) > .wpforms-field-label,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-checkbox:has(> ul > li:only-child) > .wpforms-field-label,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-checkbox:has(> ul > li:only-child) > .wpforms-field-label {
	font-family: metropolis-font, Verdana, Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 1.6;
	letter-spacing: .01em; text-transform: none; color: #3d3d3d;
}
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-sublabel,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-sublabel,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-sublabel,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-sublabel {
	font-family: metropolis-font, Verdana, Arial, sans-serif; font-size: 12px; font-weight: 400; line-height: 1.4;
	letter-spacing: .08em; color: #6b6864;
}
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-row,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-row,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-row,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-row,
div.wpforms-container-full#wpforms-8553 .wpforms-form input.wpforms-field-medium,
div.wpforms-container-full#wpforms-8558 .wpforms-form input.wpforms-field-medium,
div.wpforms-container-full#wpforms-8560 .wpforms-form input.wpforms-field-medium,
div.wpforms-container-full.lli-form-light .wpforms-form input.wpforms-field-medium,
div.wpforms-container-full#wpforms-8553 .wpforms-form input.wpforms-field-large,
div.wpforms-container-full#wpforms-8558 .wpforms-form input.wpforms-field-large,
div.wpforms-container-full#wpforms-8560 .wpforms-form input.wpforms-field-large,
div.wpforms-container-full.lli-form-light .wpforms-form input.wpforms-field-large,
div.wpforms-container-full#wpforms-8553 .wpforms-form select.wpforms-field-medium,
div.wpforms-container-full#wpforms-8558 .wpforms-form select.wpforms-field-medium,
div.wpforms-container-full#wpforms-8560 .wpforms-form select.wpforms-field-medium,
div.wpforms-container-full.lli-form-light .wpforms-form select.wpforms-field-medium,
div.wpforms-container-full#wpforms-8553 .wpforms-form select.wpforms-field-large,
div.wpforms-container-full#wpforms-8558 .wpforms-form select.wpforms-field-large,
div.wpforms-container-full#wpforms-8560 .wpforms-form select.wpforms-field-large,
div.wpforms-container-full.lli-form-light .wpforms-form select.wpforms-field-large,
div.wpforms-container-full#wpforms-8553 .wpforms-form textarea.wpforms-field-medium,
div.wpforms-container-full#wpforms-8558 .wpforms-form textarea.wpforms-field-medium,
div.wpforms-container-full#wpforms-8560 .wpforms-form textarea.wpforms-field-medium,
div.wpforms-container-full.lli-form-light .wpforms-form textarea.wpforms-field-medium,
div.wpforms-container-full#wpforms-8553 .wpforms-form textarea.wpforms-field-large,
div.wpforms-container-full#wpforms-8558 .wpforms-form textarea.wpforms-field-large,
div.wpforms-container-full#wpforms-8560 .wpforms-form textarea.wpforms-field-large,
div.wpforms-container-full.lli-form-light .wpforms-form textarea.wpforms-field-large { max-width: 100%; }
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="text"],
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="text"],
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="text"],
div.wpforms-container-full.lli-form-light .wpforms-form input[type="text"],
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="email"],
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="email"],
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="email"],
div.wpforms-container-full.lli-form-light .wpforms-form input[type="email"],
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="tel"],
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="tel"],
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="tel"],
div.wpforms-container-full.lli-form-light .wpforms-form input[type="tel"],
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="url"],
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="url"],
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="url"],
div.wpforms-container-full.lli-form-light .wpforms-form input[type="url"],
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="number"],
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="number"],
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="number"],
div.wpforms-container-full.lli-form-light .wpforms-form input[type="number"],
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="date"],
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="date"],
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="date"],
div.wpforms-container-full.lli-form-light .wpforms-form input[type="date"],
div.wpforms-container-full#wpforms-8553 .wpforms-form select,
div.wpforms-container-full#wpforms-8558 .wpforms-form select,
div.wpforms-container-full#wpforms-8560 .wpforms-form select,
div.wpforms-container-full.lli-form-light .wpforms-form select,
div.wpforms-container-full#wpforms-8553 .wpforms-form textarea,
div.wpforms-container-full#wpforms-8558 .wpforms-form textarea,
div.wpforms-container-full#wpforms-8560 .wpforms-form textarea,
div.wpforms-container-full.lli-form-light .wpforms-form textarea {
	width: 100%; max-width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px 14px;
	border: 1px solid #cfcac2; border-radius: 0; background-color: #fff; box-shadow: none;
	font-family: metropolis-font, Verdana, Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.4; color: #1d1d1d;
}
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="text"]:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="text"]:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="text"]:focus,
div.wpforms-container-full.lli-form-light .wpforms-form input[type="text"]:focus,
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="email"]:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="email"]:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="email"]:focus,
div.wpforms-container-full.lli-form-light .wpforms-form input[type="email"]:focus,
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="tel"]:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="tel"]:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="tel"]:focus,
div.wpforms-container-full.lli-form-light .wpforms-form input[type="tel"]:focus,
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="url"]:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="url"]:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="url"]:focus,
div.wpforms-container-full.lli-form-light .wpforms-form input[type="url"]:focus,
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="number"]:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="number"]:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="number"]:focus,
div.wpforms-container-full.lli-form-light .wpforms-form input[type="number"]:focus,
div.wpforms-container-full#wpforms-8553 .wpforms-form input[type="date"]:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form input[type="date"]:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form input[type="date"]:focus,
div.wpforms-container-full.lli-form-light .wpforms-form input[type="date"]:focus,
div.wpforms-container-full#wpforms-8553 .wpforms-form select:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form select:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form select:focus,
div.wpforms-container-full.lli-form-light .wpforms-form select:focus,
div.wpforms-container-full#wpforms-8553 .wpforms-form textarea:focus,
div.wpforms-container-full#wpforms-8558 .wpforms-form textarea:focus,
div.wpforms-container-full#wpforms-8560 .wpforms-form textarea:focus,
div.wpforms-container-full.lli-form-light .wpforms-form textarea:focus {
	border-color: #1d1d1d; box-shadow: 0 0 0 1px #1d1d1d; outline: none;
}
div.wpforms-container-full#wpforms-8553 .wpforms-form select,
div.wpforms-container-full#wpforms-8558 .wpforms-form select,
div.wpforms-container-full#wpforms-8560 .wpforms-form select,
div.wpforms-container-full.lli-form-light .wpforms-form select { height: 48px; } /* Safari keeps a select at its own height unless height is set */
div.wpforms-container-full#wpforms-8553 .wpforms-form input.wpforms-error,
div.wpforms-container-full#wpforms-8558 .wpforms-form input.wpforms-error,
div.wpforms-container-full#wpforms-8560 .wpforms-form input.wpforms-error,
div.wpforms-container-full.lli-form-light .wpforms-form input.wpforms-error,
div.wpforms-container-full#wpforms-8553 .wpforms-form select.wpforms-error,
div.wpforms-container-full#wpforms-8558 .wpforms-form select.wpforms-error,
div.wpforms-container-full#wpforms-8560 .wpforms-form select.wpforms-error,
div.wpforms-container-full.lli-form-light .wpforms-form select.wpforms-error,
div.wpforms-container-full#wpforms-8553 .wpforms-form textarea.wpforms-error,
div.wpforms-container-full#wpforms-8558 .wpforms-form textarea.wpforms-error,
div.wpforms-container-full#wpforms-8560 .wpforms-form textarea.wpforms-error,
div.wpforms-container-full.lli-form-light .wpforms-form textarea.wpforms-error { border-color: #c00; }
div.wpforms-container-full#wpforms-8553 .wpforms-form .wpforms-field-divider h3,
div.wpforms-container-full#wpforms-8558 .wpforms-form .wpforms-field-divider h3,
div.wpforms-container-full#wpforms-8560 .wpforms-form .wpforms-field-divider h3,
div.wpforms-container-full.lli-form-light .wpforms-form .wpforms-field-divider h3 {
	font-family: metropolis-font, Verdana, Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 1.5;
	letter-spacing: .22em; text-transform: uppercase; color: #1d1d1d; margin-top: 24px;
}
div.wpforms-container-full#wpforms-8553 .wpforms-form button[type="submit"],
div.wpforms-container-full#wpforms-8558 .wpforms-form button[type="submit"],
div.wpforms-container-full#wpforms-8560 .wpforms-form button[type="submit"],
div.wpforms-container-full.lli-form-light .wpforms-form button[type="submit"] {
	background: transparent; border: 2px solid #1d1d1d; border-radius: 0; color: #1d1d1d; height: auto;
	font-family: metropolis-font, Verdana, Arial, sans-serif; font-size: 12.5px; font-weight: 700; line-height: 1.2;
	letter-spacing: .22em; text-transform: uppercase; padding: 16px 33px;
	-webkit-transition: background-color .3s ease-in-out, color .3s ease-in-out; transition: background-color .3s ease-in-out, color .3s ease-in-out;
}
div.wpforms-container-full#wpforms-8553 .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full#wpforms-8558 .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full#wpforms-8560 .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full.lli-form-light .wpforms-form button[type="submit"]:hover { background: #1d1d1d; border-color: #1d1d1d; color: #fff; }
div.wpforms-container-full#wpforms-8553 .wpforms-form button[type="submit"]:focus-visible,
div.wpforms-container-full#wpforms-8558 .wpforms-form button[type="submit"]:focus-visible,
div.wpforms-container-full#wpforms-8560 .wpforms-form button[type="submit"]:focus-visible,
div.wpforms-container-full.lli-form-light .wpforms-form button[type="submit"]:focus-visible { background: #1d1d1d; border-color: #1d1d1d; color: #fff; outline: 2px solid #1d1d1d; outline-offset: 3px; }

/* ---------- 6. Reduce Motion (fix 13) ----------
   Visitors who switch on Reduce Motion (phone or computer settings) see WPBakery's fade-in blocks and the
   portfolio tiles straight away, without the fade or slide. Nobody else sees any change. */
@media (prefers-reduced-motion: reduce) {
	.wpb_animate_when_almost_visible,
	.pmb .dma_portofolio2_element.edgtf-pl-has-animation .edgtf-pl-inner article,
	.edgtf-pl-item {
		opacity: 1 !important; /* WPBakery and the portfolio script set the hidden state with their own rules */
		-webkit-transform: none !important; transform: none !important;
		-webkit-animation: none !important; animation: none !important;
		-webkit-transition: none !important; transition: none !important;
	}
}

/* ---------- 7. Page titles on inner pages (decision 39 §2 / 39d §7, owner 24 Oct 2026: style M1) ----------
   The title on every photo header (WPBakery row with the Extra class name "row_heading"; header column
   "header_general_item" on services, About, Portfolio, Contact, careers, forms, thank-you pages and the
   article, "header_portofolio_item" on projects). The owner kept today's header photos (blurred in the
   files) and chose "today's lettering, calmer":
   - Title: Metropolis Bold capitals as today, letter-spacing .2em (was 1.05em on desktop, 4-25px on
     smaller screens), 28px on phones rising to 34px at 1440px and wider (was 24-30px), line-height 1.3.
     The article's long title: 24-28px (was 22px).
     padding-left .2em balances the space letter-spacing adds after the last letter, so the title is
     centred; custom.css's per-width "left" nudges (decision 39 fix 5) are reset to 0. Soft glow as the
     homepage headline (hero-2026.css) plus today's fine dark edge, so it reads at least as well as today.
   - No white rule under the title, or under a project's location line.
   - Location line (projects, e.g. "CHELSEA, LONDON"): was Metropolis 12px regular, 10px letter-spacing,
     no shadow, hard to read. Now 13px Bold, .24em, with the homepage button's firm shadow.
   - Intro paragraph: same words, size and width, a slightly firmer shadow.
   - Photos unchanged, and no shade over them: today's blurred photos are calm, and the title, location line
     and intro measured at least as legible as today without one.
   Not covered: the three cookie-policy pages, whose header row has no "row_heading" Extra class name (add it in
   WPBakery -> Edit Row -> Extra class name to bring them into line).
   Nothing visible is in this CSS: the words are typed in WPBakery, the photo is the row's Design Options
   background. Selectors use Extra class names only, never vc_custom_*.
   Fonts: Metropolis Bold (700) is already declared and preloaded; no new font file.
   Browser support: text-shadow, :not(), letter-spacing and padding are long established in Safari, Chrome,
   Edge and Firefox. clamp() (Safari 13.1, Chrome 79, Firefox 75; all 2020) sets the size; a fixed size is
   declared first, so an older browser shows that instead. main.min.css sets the title's margin with
   !important, hence !important on the overridden properties here. */
.row_heading .header_general_item h1,
.row_heading .header_portofolio_item h1 {
	font-family: metropolis-font, Verdana, Arial, sans-serif !important;
	font-weight: 700 !important;
	font-size: 28px !important;
	font-size: clamp(28px, .7vw + 24px, 34px) !important;
	line-height: 1.3 !important;
	letter-spacing: .2em !important;
	text-transform: uppercase;
	color: #fff;
	left: 0 !important;
	padding: 0 0 0 .2em !important;
	margin: 0 auto 20px !important;
	max-width: 960px;
	text-shadow: 0 0 1px rgba(10, 11, 13, .35), 0 1px 3px rgba(10, 11, 13, .3), 0 1px 24px rgba(10, 11, 13, .4);
}
/* Phones (below 430px): the title shrinks with the screen so the longest words ("ARCHITECTURAL", "CONSTRUCTION",
   "CONTEMPORARY", "PROCUREMENT") fit inside the header at 320-429px; same letter-spacing (owner's M1). About 19px at
   320, 24px at 375, 27.7px at 414. Measured on every header page in WebKit and Chromium at 320-768 (24 Oct): no
   line wider than the title box. A browser without clamp() uses the 24px line. */
@media (max-width: 429.98px) {
	.row_heading .header_general_item h1:not(.blog-header),
	.row_heading .header_portofolio_item h1 {
		font-size: 24px !important;
		font-size: clamp(19px, calc(9.1vw - 10px), 28px) !important;
	}
}
.row_heading .header_general_item h1.blog-header {   /* the article's long question title, a step smaller (was 22px) */
	font-size: 24px !important;
	font-size: clamp(24px, .55vw + 20px, 28px) !important;
}
.row_heading .lli-hero-no-intro h1,
.row_heading .no-title-line h1 { margin-bottom: 0 !important; }
.row_heading .header_general_item h1::after,
.row_heading .header_portofolio_item h1::after,
.row_heading .header_portofolio_item h4::after { display: none !important; }

.row_heading .header_portofolio_item h4 {
	font-family: metropolis-font, Verdana, Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important; /* owner 24 Oct: one weight lighter (was Bold 700); Medium is already loaded, SemiBold 600 would add a font file */
	line-height: 1.6 !important;
	letter-spacing: .24em !important;
	text-transform: uppercase;
	color: #fff;
	left: 0 !important;
	padding: 0 0 0 .24em !important;
	margin: 0 0 22px !important;
	text-shadow: 0 1px 3px rgba(10, 11, 13, .6), 0 0 20px rgba(10, 11, 13, .45);
}
.row_heading .header_portofolio_item.lli-hero-no-intro h4 { margin-bottom: 0 !important; }

/* Intro paragraph (pages that keep one): same words, size and width; a slightly firmer shadow than custom.css's
   (decision 15), because without the white rule the paragraph sits a little higher, over a different part
   of the photo. */
.row_heading .header_general_item p,
.row_heading .header_portofolio_item p {
	text-shadow: 0 0 1px rgba(10, 11, 13, .55), 0 1px 3px rgba(10, 11, 13, .55), 0 0 14px rgba(10, 11, 13, .4);
}
