/* Shared frontend/editor composition. Colours and type inherit Global Styles. */
:root { --ee-rule: 1px solid var(--wp--preset--color--border); }
html { scroll-behavior: smooth; scroll-padding-top: 1rem; }
body { margin: 0; }
:is(.wp-site-blocks) { padding: 0; }
:is(.wp-site-blocks > *, .ee-main, .ee-main > *, .ee-section, .ee-hero, .ee-header) { margin-block: 0; }
:is(.ee-container) { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
:is(.ee-section) { padding-block: var(--wp--preset--spacing--section); }
:is(.ee-eyebrow,.ee-card-number,.ee-top-label,.ee-image-caption,.ee-photo-label,.ee-hero-foot) { font-size: 0.6875rem; font-weight: 650; letter-spacing: .11em; line-height: 1.6; }
:is(.ee-eyebrow) { margin-bottom: 1.5rem; }
:is(.ee-eyebrow)::before { content: ''; display: inline-block; width: 7px; height: 7px; background: var(--wp--preset--color--primary); margin-right: .7rem; }
:is(.ee-lead) { font-size: var(--wp--preset--font-size--medium); line-height: 1.6; }
:is(.ee-small) { font-size: var(--wp--preset--font-size--small); }
:is(.ee-topbar) { background: var(--wp--preset--color--main); color: var(--wp--preset--color--surface); }
:is(.ee-top-inner,.ee-header-inner,.ee-section-heading,.ee-footer-bottom) { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
:is(.ee-top-inner) { min-height: 35px; }
:is(.ee-top-inner p) { margin: 0; font-size: .6rem; }
:is(.ee-header) { background: var(--wp--preset--color--surface); }
:is(.ee-header-inner) { min-height: 112px; }
:is(.ee-header-inner > *) { margin-block: 0; }
:is(.ee-header .wp-block-site-logo img) { display: block; width: 148px; height: auto; }
:is(.ee-navigation) { margin-left: auto; }
:is(.ee-navigation .wp-block-navigation__container) { gap: 1.65rem; }
:is(.ee-navigation .ee-nav-cta a) { background: var(--wp--preset--color--primary); color: white; padding: 1rem 1.1rem; }
:is(.ee-navigation .ee-nav-phone) { display: none; }
:is(.ee-hero) { border-bottom: var(--ee-rule); }
:is(.ee-hero-grid) { display: grid; grid-template-columns: 1.05fr 1fr; gap: 3rem; padding-block: 3.5rem; align-items: stretch; }
:is(.ee-hero-copy) { padding-block: 1rem; }
:is(.ee-hero-copy h1) { margin-block: 1.5rem; max-width: 10em; }
:is(.ee-hero-copy .ee-lead) { max-width: 450px; margin-block: 1.8rem; color: var(--wp--preset--color--secondary); }
:is(.ee-hero-copy .wp-block-buttons) { gap: .75rem; }
:is(.ee-hero-foot) { margin-top: 3rem; font-size: .57rem; }
:is(.ee-hero-foot)::before { content: '+'; color: var(--wp--preset--color--primary); font-size: 1rem; margin-right: .5rem; }
:is(.ee-hero-media) { position: relative; margin: 0; min-height: 540px; }
:is(.ee-hero-image) { margin: 0; height: 100%; }
:is(.ee-hero-image img) { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; }
:is(.ee-photo-label) { position: absolute; bottom: 0; left: 0; right: 0; background: var(--wp--preset--color--main); color: white; margin: 0; padding: 1.2rem; border-left: 6px solid var(--wp--preset--color--accent); font-size: .6rem; }
:is(.ee-trust) { padding-block: 2.2rem; background: var(--wp--preset--color--surface); border-bottom: var(--ee-rule); }
:is(.ee-trust-grid) { display: grid; grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 2rem; }
:is(.ee-trust-grid > *) { margin: 0; }
:is(.ee-trust-grid > * + *) { border-left: var(--ee-rule); padding-left: 2rem; }
:is(.ee-trust h3) { font-size: 1rem; margin: 0; }
:is(.ee-trust p) { font-size: .75rem; margin-block: .5rem 0; }
:is(.ee-trust .ee-eyebrow) { font-size: .55rem; margin: 0 0 .4rem; }
:is(.ee-section-heading) { align-items: flex-end; margin-bottom: 2.75rem; }
:is(.ee-section-heading h2) { margin-bottom: 0; }
:is(.ee-intro) { max-width: 350px; color: var(--wp--preset--color--secondary); font-size: .9375rem; }
:is(.ee-product-grid) { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.25rem; }
:is(.ee-product-card) { background: var(--wp--preset--color--surface); margin: 0; border: var(--ee-rule); display: flex; flex-direction: column; }
:is(.ee-product-featured) { grid-column: span 2; }
:is(.ee-product-image) { margin: 0; overflow: hidden; }
:is(.ee-product-image img) { display: block; aspect-ratio: 1.9; width: 100%; height: auto; object-fit: cover; transition: transform .35s ease; }
:is(.ee-product-card:hover .ee-product-image img) { transform: scale(1.025); }
:is(.ee-card-content) { padding: 1.5rem; margin: 0; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
:is(.ee-card-content .ee-card-number) { color: var(--wp--preset--color--secondary); margin: 0 0 1rem; font-size: .57rem; }
:is(.ee-card-content h3) { font-size: 1.3rem; margin: 0 0 .85rem; }
:is(.ee-card-content > p:not([class])) { font-size: .875rem; color: var(--wp--preset--color--secondary); margin: 0 0 1.5rem; }
:is(.ee-card-content .ee-card-link) { margin-top: auto; padding-top: 1rem; width: 100%; font-size: .75rem; font-weight: 650; }
:is(.ee-card-link a) { display: flex; justify-content: space-between; gap: .5rem; text-decoration: none; border-top: var(--ee-rule); padding-top: 1rem; }
:is(.ee-card-link span) { color: var(--wp--preset--color--primary); }
:is(.ee-services) { display: flex; justify-content: space-between; align-items: center; gap: 2rem; background: var(--wp--preset--color--tertiary); padding: 2rem; margin-top: 1.25rem; }
:is(.ee-services .ee-eyebrow) { margin: 0 0 .5rem; }
:is(.ee-services h3) { margin: 0; }
:is(.ee-services p:not(.ee-eyebrow)) { font-size: .875rem; max-width: 650px; margin-bottom: 0; }
:is(.ee-services > .wp-block-buttons) { flex-shrink: 0; }
:is(.ee-dark,.ee-footer) { background: var(--wp--preset--color--main); color: var(--wp--preset--color--surface); }
:is(.ee-dark .ee-eyebrow)::before { background: var(--wp--preset--color--accent); }
:is(.ee-sector-grid) { display: grid; grid-template-columns: 1fr 1.4fr; gap: 6rem; }
:is(.ee-sector-intro > p:not(.ee-eyebrow)) { max-width: 330px; color: #c4cbc5; }
:is(.ee-sector-list) { margin-top: 0; }
:is(.ee-sector-row) { display: grid; grid-template-columns: 40px 1fr; gap: 1.5rem; border-top: 1px solid #4a514c; padding: 1.5rem 0; margin: 0; }
:is(.ee-sector-row > *, .ee-sector-row h3, .ee-sector-row p) { margin: 0; }
:is(.ee-sector-row h3) { font-size: 1.1rem; }
:is(.ee-sector-row p:not(.ee-sector-number)) { font-size: .8125rem; color: #c4cbc5; margin-top: .5rem; }
:is(.ee-sector-number) { color: var(--wp--preset--color--accent); font-size: .6875rem; }
:is(.ee-project-grid) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
:is(.ee-project-card) { border-top: 3px solid var(--wp--preset--color--primary); padding: 2rem; background: var(--wp--preset--color--tertiary); margin: 0; }
:is(.ee-project-card h3) { font-size: 2rem; margin-top: 2rem; }
:is(.ee-project-card > p:not(.ee-card-number)) { font-size: .875rem; min-height: 3rem; }
:is(.ee-project-meta) { margin-top: 2rem; padding-top: 1rem; border-top: var(--ee-rule); }
:is(.ee-project-meta .ee-eyebrow) { font-size: .55rem; margin: 0; }
:is(.ee-project-meta .ee-eyebrow)::before { display: none; }
:is(.ee-project-meta > p:last-child) { margin: .5rem 0 0; font-size: .8rem; }
:is(.ee-partner-section) { padding-top: 0; border-bottom: var(--ee-rule); }
:is(.ee-partners) { display: flex; flex-wrap: wrap; column-gap: 2.5rem; row-gap: 1.25rem; }
:is(.ee-partners > p) { margin: 0; font-size: 1.1rem; font-weight: 600; letter-spacing: -.035em; }
:is(.ee-partner-section .ee-small) { color: var(--wp--preset--color--secondary); margin-top: 1.5rem; }
:is(.ee-about-grid) { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
:is(.ee-about-image) { margin: 0; }
:is(.ee-about-image img) { width: 100%; aspect-ratio: 1.2; object-fit: cover; display: block; }
:is(.ee-image-caption) { border-top: var(--ee-rule); padding-top: 1rem; font-size: .55rem; }
:is(.ee-about-copy > p:not(.ee-eyebrow)) { color: var(--wp--preset--color--secondary); }
:is(.ee-docs) { background: var(--wp--preset--color--tertiary); }
:is(.ee-docs-grid,.ee-cta-grid) { display: grid; grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: center; }
:is(.ee-docs-grid > *, .ee-cta-grid > *) { margin: 0; }
:is(.ee-docs-grid h2) { margin-bottom: 0; }
:is(.ee-cta) { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--surface); }
:is(.ee-cta .ee-eyebrow)::before { background: var(--wp--preset--color--accent); }
:is(.ee-cta h2) { font-size: clamp(2.5rem,4vw,3.8rem); }
:is(.ee-cta-grid > div:first-child > p:last-child) { max-width: 490px; }
:is(.ee-contact-details) { border-left: 1px solid #ffffff55; padding-left: 4rem; }
:is(.ee-cta .wp-block-button__link) { background: white; color: var(--wp--preset--color--main); min-width: 230px; text-align: left; }
:is(.ee-contact-phone) { font-size: 1.5rem; font-weight: 550; margin-top: 2rem; }
:is(.ee-contact-details a) { text-decoration: none; }
:is(.ee-footer) { padding-block: 4rem 1.5rem; }
:is(.ee-footer-grid) { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.25fr; gap: 2rem; }
:is(.ee-footer-grid > *) { margin: 0; }
:is(.ee-footer-grid p:not(.ee-eyebrow)) { font-size: .75rem; color: #c4cbc5; }
:is(.ee-footer-grid a) { text-decoration: none; }
:is(.ee-footer-grid .ee-eyebrow)::before { display: none; }
:is(.ee-footer-bottom) { border-top: 1px solid #4a514c; margin-top: 3rem; padding-top: 1.5rem; }
:is(.ee-footer-bottom p) { margin: 0; font-size: .6875rem; }
a { text-underline-offset: .2em; }
a:hover { text-decoration: underline; }
:is(.wp-block-button__link) { transition: filter .2s ease; }
:is(.wp-block-button__link:hover) { filter: brightness(.9); }
:focus-visible { outline: 3px solid #126ccb; outline-offset: 5px; }
:is(.ee-dark,.ee-footer,.ee-cta) :focus-visible { outline-color: var(--wp--preset--color--accent); }
:is(.ee-skip) { position: fixed; top: -100px; left: 1rem; z-index: 100000; background: white; color: black; padding: 1rem; }
:is(.ee-skip:focus) { top: 1rem; }
@media(max-width:1100px) {
 :is(.ee-container) { width: calc(100% - 48px); }
 :is(.ee-navigation .wp-block-navigation__container) { gap: 1rem; }
 :is(.ee-hero-grid) { gap: 2rem; }
 :is(.ee-sector-grid,.ee-about-grid,.ee-docs-grid,.ee-cta-grid) { gap: 3rem; }
 :is(.ee-product-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
 :is(.ee-product-featured) { grid-column: auto; }
 :is(.ee-footer-grid) { grid-template-columns: 1fr 1fr; }
}
@media(max-width:900px) {
 .ee-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
 .ee-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
 .ee-navigation .wp-block-navigation__responsive-container.is-menu-open { left: auto; width: min(420px,100%); padding: 2rem; box-shadow: -100vw 0 0 100vw #20252299; background: var(--wp--preset--color--base); }
 .ee-navigation .is-menu-open .wp-block-navigation__container { align-items: stretch; width: 100%; gap: 0; }
 .ee-navigation .is-menu-open .wp-block-navigation-item { padding-block: .75rem; border-bottom: var(--ee-rule); font-size: 1.2rem; }
 .ee-navigation .is-menu-open .ee-nav-phone { display: flex; font-size: 1rem; margin-top: 1rem; }
 .ee-navigation .is-menu-open .ee-nav-cta { border: 0; font-size: 1rem; }
 :is(.ee-hero-grid) { grid-template-columns: 1fr 1fr; }
 :is(.ee-hero-copy h1) { font-size: 3.25rem; }
 :is(.ee-trust-grid) { grid-template-columns: 1fr 1fr; }
 :is(.ee-trust-grid > :nth-child(3)) { border-left: 0; padding-left: 0; }
 :is(.ee-project-grid) { grid-template-columns: 1fr; }
 :is(.ee-project-card) { display: grid; grid-template-columns: 1fr 1fr; column-gap: 2rem; }
 :is(.ee-project-card h3) { margin-top: 0; }
 :is(.ee-project-card > .ee-card-number) { grid-column: 1 / -1; }
 :is(.ee-project-meta) { margin-top: 0; }
 :is(.ee-services) { align-items: flex-start; flex-direction: column; }
}
@media(max-width:600px) {
 :is(.ee-container) { width: calc(100% - 36px); }
 :is(.ee-top-inner > p:first-child) { display: none; }
 :is(.ee-top-inner) { justify-content: center; }
 :is(.ee-header-inner) { min-height: 88px; }
 :is(.ee-header .wp-block-site-logo img) { width: 124px; }
 :is(.ee-hero-grid) { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 1.5rem; }
 :is(.ee-hero-copy h1) { font-size: clamp(2.75rem,11.5vw,3.5rem); }
 :is(.ee-hero-copy .ee-lead) { font-size: 1rem; margin-block: 1.5rem; }
 :is(.ee-hero-foot) { margin-top: 1.5rem; }
 :is(.ee-hero-media) { min-height: 0; height: 340px; }
 :is(.ee-photo-label) { font-size: .55rem; }
 :is(.ee-trust-grid) { gap: 1.5rem 1rem; }
 :is(.ee-trust-grid > * + *) { padding-left: 1rem; }
 :is(.ee-trust h3) { font-size: .875rem; }
 :is(.ee-section-heading) { display: block; margin-bottom: 2rem; }
 :is(.ee-intro) { margin-top: 1.5rem; }
 :is(.ee-product-grid,.ee-sector-grid,.ee-about-grid,.ee-docs-grid,.ee-cta-grid) { grid-template-columns: 1fr; gap: 1.25rem; }
 :is(.ee-sector-grid,.ee-about-grid,.ee-docs-grid,.ee-cta-grid) { gap: 2.5rem; }
 :is(.ee-card-content) { padding: 1.5rem; }
 :is(.ee-product-image img) { aspect-ratio: 1.5; }
 :is(.ee-services) { padding: 1.5rem; }
 :is(.ee-project-card) { display: block; padding: 1.5rem; }
 :is(.ee-project-card h3) { margin-top: 1.5rem; }
 :is(.ee-project-meta) { margin-top: 1.5rem; }
 :is(.ee-about-image img) { aspect-ratio: 1.3; }
 :is(.ee-contact-details) { border-left: 0; border-top: 1px solid #ffffff55; padding: 2rem 0 0; }
 :is(.ee-contact-details > p) { overflow-wrap: anywhere; }
 :is(.ee-footer-grid) { gap: 2rem 1rem; }
 :is(.ee-footer-brand,.ee-footer-grid > :last-child) { grid-column: 1 / -1; }
 :is(.ee-footer-bottom) { align-items: flex-start; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition: none !important; animation: none !important; } }
.ee-navigation .ee-nav-cta .wp-block-navigation-item__content { color: var(--wp--preset--color--surface); }
.wp-block-button.is-style-outline > .wp-block-button__link { padding: calc(1rem - 1px) calc(1.25rem - 1px); border-width: 1px; }
.ee-trust .ee-trust-title { font-size: 1rem; font-weight: 650; margin: 0; line-height: 1.3; }
.ee-navigation .ee-nav-cta a { border-radius: 0; }
@keyframes edwards-drawer { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (max-width:900px) and (prefers-reduced-motion:no-preference) {
 .ee-navigation .wp-block-navigation__responsive-container.is-menu-open { animation: edwards-drawer .18s ease-out; }
}
@media(max-width:600px) { .ee-trust .ee-trust-title { font-size:.875rem; } }
/* Named block styles remain editable through inline Gutenberg controls. */
.editor-styles-wrapper .editor-post-title { font-size: 2rem; line-height: 1.2; }

/* 2026 concept photography: native Image blocks, shared with the editor. */
.ee-product-card:not(.ee-product-featured) .ee-product-image img { aspect-ratio: 4 / 3; }
.ee-service-image { margin: 0; flex: 0 0 230px; }
.ee-service-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ee-services > .wp-block-group { flex: 1; }
.ee-services > .wp-block-buttons { flex-shrink: 1; max-width: 230px; }
.ee-project-card { padding: 0 0 1.75rem; display: flex; flex-direction: column; }
.ee-project-card > :not(.ee-project-image) { margin-left: 1.5rem; margin-right: 1.5rem; }
.ee-project-image { margin: 0; }
.ee-project-image img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover; }
.ee-project-card > .ee-card-number { margin-top: 1.5rem; }
.ee-project-card h3 { font-size: clamp(1.5rem,2.3vw,2rem); margin-top: 1rem; }
.ee-project-card > .ee-project-meta { margin-top: auto; }
.ee-partners { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: var(--ee-rule); border-left: var(--ee-rule); }
.ee-partners > p { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 95px; padding: 1rem; border-right: var(--ee-rule); border-bottom: var(--ee-rule); font-size: clamp(.9rem,1.3vw,1.1rem); }
@media(min-width:901px) { .ee-navigation .ee-nav-phone { display: flex; font-size: .72rem; white-space: nowrap; } .ee-navigation .wp-block-navigation__container { gap: 1.1rem; } .ee-header-inner { gap: 1.5rem; } }
@media(min-width:901px) and (max-width:1190px) { .ee-navigation .wp-block-navigation__container { gap: .7rem; font-size: .72rem; } .ee-header .wp-block-site-logo img { width: 124px; } }
@media(max-width:900px) { .ee-services { display: grid; grid-template-columns: minmax(180px,1fr) 1.5fr; } .ee-services > .wp-block-buttons { grid-column: 2; max-width: none; } .ee-service-image { grid-row: 1 / 3; } .ee-project-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .ee-project-card > :not(.ee-project-image) { margin-left: 1rem; margin-right: 1rem; } }
@media(max-width:600px) { .ee-services { display: flex; padding: 0 0 1.5rem; gap: 1.5rem; } .ee-service-image { flex: auto; width: 100%; } .ee-service-image img { aspect-ratio: 1.5; } .ee-services > .wp-block-group,.ee-services > .wp-block-buttons { margin: 0 1.5rem; } .ee-project-grid { grid-template-columns: 1fr; } .ee-project-card { display: flex; padding: 0 0 1.5rem; } .ee-project-card > :not(.ee-project-image) { margin-left: 1.5rem; margin-right: 1.5rem; } .ee-partners { grid-template-columns: repeat(2,minmax(0,1fr)); } .ee-project-card > .ee-project-meta { margin-top: 1.5rem; } }
.ee-document-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; margin-top: 3rem; }
.ee-document-card { background: var(--wp--preset--color--surface); border-top: 3px solid var(--wp--preset--color--primary); padding: 1.75rem; margin: 0; }
.ee-document-card .ee-card-number { color: var(--wp--preset--color--secondary); font-size: .6rem; }
.ee-document-card h3 { font-size: 1.2rem; }
.ee-document-card p:last-child { font-size: .875rem; color: var(--wp--preset--color--secondary); }
@media(max-width:600px) { .ee-document-cards { grid-template-columns: 1fr; margin-top: 2rem; } }
