/* WordPress integration; colours remain editable through native widget controls. */
.bd-menu,.bd-footer-menu {list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center}
.bd-footer-menu {display:grid;gap:7px;align-items:start}
.bd-menu li,.bd-footer-menu li {margin:0;padding:0}
.bd-footer-logo {display:block;width:250px;max-width:100%}
.bd-footer-logo img {width:100%;height:auto}
.admin-bar .site-header {top:32px}
.bd-node .elementor-widget-heading .elementor-heading-title {color:var(--ink);font-family:inherit;font-weight:700;line-height:1.08;letter-spacing:-.035em;margin:0 0 .65em}
.bd-node .elementor-widget-heading h2.elementor-heading-title {font-size:clamp(2.15rem,4.7vw,4rem)}
.bd-node .elementor-widget-heading h3.elementor-heading-title {font-size:1.35rem}
.bd-node .elementor-widget-text-editor {color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}
:where(.elementor-widget-image) img {display:block}
.bd-node.e-con {display:block;gap:0;padding:0;min-width:0;--container-widget-width:100%;--container-widget-flex-grow:0}
.bd-node.e-con > :where(.elementor-element) {min-width:0;--widgets-spacing:0px}
.bd-node.e-con.wrap {width:min(1160px,calc(100% - 40px));margin-inline:auto}
.bd-node.e-con.section {padding:104px 0}
.bd-node.e-con.intro-hero {padding:42px 0 68px}
.bd-node.e-con.intro-frame {border:1px solid var(--line);border-radius:36px}
.bd-node.e-con.intro-caption {padding:32px 30px}
.bd-node.e-con.intro-brand {position:absolute;left:5%;top:10%;width:37%;z-index:2;color:#fff}
.intro-brand .elementor-widget-text-editor p {margin:0;font-size:clamp(1.15rem,3vw,2.25rem)}
.intro-brand .elementor-widget-image {margin-top:-4%}
.intro-caption .elementor-widget-heading h1.elementor-heading-title {font-size:clamp(1.5rem,3vw,2.3rem);color:var(--green-deep);text-transform:none;line-height:1.3;max-width:none}
.bd-node.product-comparison {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.bd-node.product-variant {display:grid;grid-template-rows:420px 1fr}
.bd-node.product-visual {display:grid;place-items:center;padding:34px}
.product-visual .elementor-widget-image,.product-visual .elementor-widget-image .elementor-widget-container {width:100%;height:100%;min-height:0;max-height:352px}
.product-visual .elementor-widget-text-editor {position:absolute;inset:0;pointer-events:none}
.bd-node.product-copy {padding:32px}
.product-intro .elementor-widget-heading h2.elementor-heading-title {font-size:clamp(1.75rem,3.8vw,3rem);line-height:1.18}
.bd-node.plus-layout,.bd-node.hero-grid,.bd-node.utilization-grid,.bd-node.media-split,.bd-node.contact-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;align-items:center}
.bd-node.plus-layout,.bd-node.contact-grid {align-items:start}
.bd-node.hero-media {padding:15px}
.bd-node.hero-copy,.bd-node.utilization-copy {width:100%}
.bd-node .elementor-widget-heading.refinery-heading h2 {font-size:clamp(1.9rem,3.5vw,3rem)}
.bd-node .elementor-widget-heading.client-two-line h2 {font-size:clamp(1.65rem,3.2vw,2.65rem);line-height:1.25;letter-spacing:-.02em}
.client-two-line .elementor-heading-title>span {display:block}
.bd-node.section-heading {margin-bottom:48px;max-width:1100px}
.bd-node.partnership-value {max-width:780px;margin-left:0}
.bd-node.partnership-value .card {padding:0;min-height:0;border:0;background:transparent;box-shadow:none}
.research-centre-grid .elementor-widget-image img {aspect-ratio:auto;max-height:620px;object-fit:contain}
.utilization-visual .elementor-widget-text-editor {color:var(--green-deep);text-align:center;font-weight:800}
:root[data-theme=dark] .utilization-visual :is(figcaption,.image-caption) {color:var(--green-deep)}
.bd-form-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.bd-form-grid label {display:block;font-weight:700}
.bd-form-grid p {margin:0}
.bd-form-grid .full {grid-column:1/-1}
.bd-form-grid input:not([type=submit]),.bd-form-grid textarea {display:block;width:100%;min-width:0;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px;padding:12px}
.bd-form-grid input:focus,.bd-form-grid textarea:focus {outline:2px solid var(--green-deep);outline-offset:2px}
.wpcf7 form .wpcf7-response-output {margin:20px 0;padding:12px;color:var(--ink)}
.wpcf7-not-valid-tip {color:#a51b1b;font-size:.95rem}
:root[data-theme=dark] .wpcf7-not-valid-tip {color:#ffaaaa}
.bd-form-grid .wpcf7-submit {background:var(--green);color:#111b0d;border:0;border-radius:3px;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer;min-height:48px}
.wpcf7-spinner {vertical-align:middle}
:focus-visible {outline:3px solid var(--green-deep);outline-offset:3px}
@media(max-width:1320px) {
 .bd-menu {flex-direction:column;align-items:stretch;gap:0}
 .bd-menu a {display:block;padding:12px}
}
@media(max-width:782px){.admin-bar .site-header {top:46px}}
@media(max-width:760px) {
 .bd-node.e-con.wrap {width:calc(100% - 36px)}
 .bd-node.e-con.section {padding:64px 0}
 .bd-node.e-con.intro-hero {padding:24px 0 48px}
 .bd-node.e-con.intro-caption {padding:24px 18px}
 .bd-node.plus-layout,.bd-node.hero-grid,.bd-node.utilization-grid,.bd-node.media-split,.bd-node.contact-grid,.bd-node.product-comparison {grid-template-columns:1fr;gap:28px}
 .bd-node.product-variant {grid-template-rows:340px 1fr}
 .product-visual .elementor-widget-image,.product-visual .elementor-widget-image .elementor-widget-container {max-height:272px}
 .bd-form-grid {grid-template-columns:1fr}
 .intro-caption .elementor-widget-heading h1.elementor-heading-title {font-size:1.45rem}
}
@media(max-width:600px){.admin-bar .site-header {top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@supports not (background: color-mix(in srgb, white, black)) {
 .site-header {background:var(--paper)}
 .product-visual {background:linear-gradient(145deg,var(--soft),var(--paper))}
}
