@font-face {
  font-family: "LCF Inter";
  src: url("../fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
/* Interior pages share the visual language of the approved homepage. */
body:not(.home) {
  --lcf-navy: #061935;
  --lcf-navy-2: #2260ac;
  --lcf-blue: #2260ac;
  --lcf-red: #e21e26;
  --lcf-red-dark: #2260ac;
  --lcf-soft: #f4f5f5;
  --lcf-text: #141b20;
  --lcf-muted: #59676e;
  --lcf-border: #dfe4e6;
  --lcf-container: 1320px;
}
body:not(.home) .lcf-container { width: min(calc(100% - 104px),var(--lcf-container)); }
body:not(.home) .lcf-header { color: #061935; border-bottom: 1px solid #e7ebed; background: #fff; }
body:not(.home) .lcf-header__inner { min-height: 86px; }
body:not(.home) .lcf-brand .lcf-logo-frame { width: clamp(170px,16.5vw,244px); }
body:not(.home) .lcf-nav a { color: #061935; font-size: .73rem; font-weight: 700; letter-spacing: .01em; text-transform: none; }
body:not(.home) .lcf-nav a::after { background: #e21e26; }
body:not(.home) .lcf-header__cta { min-height: 43px; padding: 0 17px; border-radius: 3px; font-size: .7rem; text-transform: uppercase; }
body:not(.home) .lcf-nav-toggle { color: #061935; border: 1px solid #dfe4e6; border-radius: 3px; background: #f4f5f5; }
body:not(.home) .lcf-btn { border-radius: 3px; }
body:not(.home) .lcf-btn--primary { box-shadow: none; }
body:not(.home) .lcf-footer { background: #fff; }
body:not(.home) .lcf-footer__grid { padding-top: 70px; }
body:not(.home) .lcf-footer .lcf-logo-frame { width: 240px; }
body:not(.home) .lcf-footer a:hover { color: #061935; }
body:not(.home) .lcf-footer__credit a { color: #2260ac; }
body:not(.home) .lcf-footer__credit a:hover { color: #061935; }
body:not(.home) .lcf-footer__socials .lcf-social-icon:focus-visible { outline-color: #e21e26; }

.lcf-inner-kicker { margin: 0 0 14px; color: #e21e26; font-size: .7rem; font-weight: 850; line-height: 1.4; letter-spacing: .25em; text-transform: uppercase; }
.lcf-inner-crumbs { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 44px; color: rgba(255,255,255,.78); font-size: .78rem; }
.lcf-inner-crumbs a:hover { color: #fff; text-decoration: underline; text-decoration-color: #e21e26; text-underline-offset: 4px; }
.lcf-inner-crumbs a:focus-visible, .lcf-inner-hero__tags a:focus-visible, .lcf-inner-text-link:focus-visible, .lcf-inner-button:focus-visible, .lcf-inner-archive-card a:focus-visible, .lcf-inner-related-card:focus-visible, .lcf-service-more__grid a:focus-visible { outline: 3px solid #e21e26; outline-offset: 4px; }
.lcf-inner-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: clamp(500px,64svh,760px); overflow: hidden; color: #fff; background: #061935; }
.lcf-inner-hero__image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.post-type-archive-lcf_service .lcf-inner-hero__image { object-position: center 15%; }
.lcf-inner-hero--about .lcf-inner-hero__image { object-position: center 30%; }
.lcf-inner-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(4,18,29,.88) 0%,rgba(4,18,29,.68) 44%,rgba(4,18,29,.2) 100%),linear-gradient(0deg,rgba(4,18,29,.5),transparent 55%); }
.lcf-inner-hero__content { position: relative; padding-top: 90px; padding-bottom: 110px; }
.lcf-inner-hero h1 { max-width: 1000px; margin: 0; font-family: "LCF Inter", Arial, sans-serif; font-size: clamp(3.8rem,7vw,7.5rem); line-height: .94; font-weight: 800; letter-spacing: -.022em; word-spacing: .08em; overflow-wrap: break-word; hyphens: auto; text-transform: uppercase; text-wrap: balance; }
.lcf-type-split > span { display: block; text-wrap: balance; }
.lcf-type-split .lcf-type-strong { font-weight: 800; }
.lcf-type-split .lcf-type-light { font-weight: 300; letter-spacing: -.025em; }
.lcf-inner-hero__lead { max-width: 750px; margin: 29px 0 0; color: rgba(255,255,255,.9); font-size: clamp(1.1rem,1.7vw,1.5rem); line-height: 1.4; }
.lcf-inner-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.lcf-inner-hero__tags a { padding: 7px 12px; border: 1px solid rgba(255,255,255,.5); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.lcf-inner-hero__tags a:hover { color: #061935; background: #fff; }
.lcf-inner-hero .lcf-inner-kicker { color: #fff; }
.lcf-inner-hero--archive { min-height: 520px; }
.lcf-inner-hero--archive.lcf-inner-hero--empty { min-height: 420px; }
.lcf-inner-hero--archive h1 { max-width: 850px; }
.post-type-archive-lcf_project .lcf-project-archive-title { line-height: .98; letter-spacing: normal; }
.post-type-archive-lcf_project .lcf-project-archive-title .lcf-type-strong { font-size: .72em; letter-spacing: -.025em; }
.post-type-archive-lcf_project .lcf-project-archive-title .lcf-type-light { letter-spacing: -.012em; }
@media (min-width: 761px) {
  .post-type-archive-lcf_project .lcf-inner-hero__content { padding-top: 75px; padding-bottom: 86px; }
}
.lcf-inner-hero--page { min-height: 580px; }
.lcf-inner-hero--project { min-height: clamp(570px,72svh,820px); }

.lcf-inner-section-heading { max-width: 900px; margin-bottom: 37px; }
.lcf-inner-section-heading h2, .lcf-service-intro h2, .lcf-service-method h2, .lcf-service-notes h2, .lcf-inner-cta h2 { margin: 0; font-family: "LCF Inter", Arial, sans-serif; font-size: clamp(2.15rem,3.5vw,4rem); font-weight: 800; line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
.lcf-inner-section-heading--split { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 24px; }
.single-lcf_project .lcf-inner-related .lcf-inner-section-heading--split { flex-wrap: wrap; }
.single-lcf_project .lcf-inner-related .lcf-inner-section-heading--split > div { flex: 1 1 0; min-width: min(100%,16rem); }
.lcf-inner-text-link { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; color: #2260ac; font-size: .73rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.lcf-inner-text-link:hover { color: #061935; }
.lcf-inner-button { display: inline-flex; align-items: center; justify-content: center; gap: 23px; min-height: 54px; padding: 0 22px; color: #fff; background: #e21e26; font-size: .75rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; transition: background .2s ease, transform .2s ease; }
.lcf-inner-button:hover { background: #2260ac; transform: translateY(-2px); }
.lcf-inner-editor { color: #28353c; font-size: 1.03rem; line-height: 1.75; overflow-wrap: anywhere; }
.lcf-inner-editor > *:first-child { margin-top: 0; }
.lcf-inner-editor > *:last-child { margin-bottom: 0; }
.lcf-inner-editor h2, .lcf-inner-editor h3 { color: #101d26; font-family: "LCF Inter", Arial, sans-serif; font-size: clamp(1.6rem,2.5vw,2.7rem); font-weight: 800; line-height: 1.16; letter-spacing: -.03em; }
.lcf-inner-editor a { color: #2260ac; text-decoration: underline; text-underline-offset: 3px; }
.lcf-inner-editor img { height: auto; }
.lcf-inner-editor ul, .lcf-inner-editor ol { padding-left: 1.4em; }
.lcf-inner-editor .wp-block-columns { gap: 25px; }

.lcf-editorial-note { margin-top: 32px; padding: 24px 28px; border-left: 3px solid #e21e26; background: #fff; }
.lcf-editorial-note h3 { margin-top: 0; font-size: 1.25rem; }
.lcf-zones-page .lcf-editorial-note { background: rgba(255,255,255,.08); }
.lcf-zones-page .lcf-editorial-note h3 { color: #fff; }

.lcf-generic-page { padding: 95px 0 105px; background: #f4f5f5; }
.lcf-generic-page > .lcf-container { max-width: 900px; }
.lcf-generic-page .lcf-inner-editor { padding: clamp(26px,4vw,60px); background: #fff; }

/* Archive cards */
.lcf-inner-archive { padding: 100px 0 110px; background: #f4f5f5; }
.post-type-archive-lcf_project .lcf-project-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 38px; }
.post-type-archive-lcf_project .lcf-project-filter { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; max-width: 100%; padding: 10px 16px; border: 1px solid #cdd5dc; background: #fff; color: #061935; font-size: .85rem; font-weight: 700; line-height: 1.35; text-decoration: none; overflow-wrap: anywhere; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.post-type-archive-lcf_project .lcf-project-filter:hover { border-color: #2260ac; color: #2260ac; }
.post-type-archive-lcf_project .lcf-project-filter.is-active { border-color: #061935; background: #061935; color: #fff; }
.post-type-archive-lcf_project .lcf-project-filter:focus-visible { outline: 3px solid #e21e26; outline-offset: 3px; }
.post-type-archive-lcf_project .lcf-project-filter__count { min-width: 1.5em; text-align: center; opacity: .72; font-size: .78em; }
.post-type-archive-lcf_project .lcf-project-filter__count[aria-label^="0"] { opacity: .55; }
.post-type-archive-lcf_project [data-lcf-project-results][aria-busy="true"] { opacity: .55; }
.post-type-archive-lcf_service .lcf-inner-section-heading .lcf-type-strong { word-spacing: .06em; }
.post-type-archive-lcf_service .lcf-services-archive__heading--auto > span { display: inline; }
.post-type-archive-lcf_service .lcf-services-archive__intro { max-width: 770px; margin: 24px 0 0; color: #5e6a70; font-size: 1rem; line-height: 1.6; }
.post-type-archive-lcf_service .lcf-services-archive__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 35px; margin-top: 44px; padding-top: 28px; border-top: 1px solid #dce1e4; }
.post-type-archive-lcf_service .lcf-services-archive__cta-copy { flex: 1 1 28rem; min-width: min(100%,16rem); }
.post-type-archive-lcf_service .lcf-services-archive__cta-copy p:not(.lcf-inner-kicker) { max-width: 800px; margin: 0; color: #53616a; line-height: 1.55; }
.post-type-archive-lcf_service .lcf-services-archive__cta .lcf-inner-button { flex: 0 0 auto; max-width: 100%; }
.lcf-inner-archive__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.lcf-inner-archive-card { min-width: 0; border: 1px solid #e6e9e9; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.lcf-inner-archive-card:hover { transform: translateY(-5px); box-shadow: 0 19px 40px rgba(5,23,36,.11); }
.lcf-inner-archive-card > a { display: block; height: 100%; }
.lcf-inner-archive-card__media { height: clamp(215px,20vw,295px); overflow: hidden; background: #cbd6db; }
.lcf-inner-archive-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.lcf-inner-archive-card:hover img { transform: scale(1.045); }
.lcf-inner-archive-card__body { position: relative; min-height: 160px; padding: 24px 64px 28px 25px; }
.lcf-inner-archive-card__icon { display: block; width: 29px; height: 29px; color: #152630; }
.lcf-inner-archive-card__icon svg { width: 100%; height: 100%; }
.lcf-inner-archive-card__arrow { position: absolute; right: 24px; top: 22px; color: #e21e26; font-size: 1.25rem; }
.lcf-inner-archive-card h3 { margin: 12px 0 6px; color: #141b20; font-size: clamp(1.1rem,1.4vw,1.5rem); line-height: 1.14; letter-spacing: -.02em; }
.lcf-inner-archive-card p { margin: 0; color: #5e6a70; font-size: .85rem; line-height: 1.45; }
.lcf-inner-archive .navigation.pagination { margin-top: 45px; }
.lcf-inner-archive .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; margin-right: 6px; border: 1px solid #cbd3d7; }
.lcf-inner-archive .page-numbers.current, .lcf-inner-archive .page-numbers:hover { border-color: #e21e26; color: #fff; background: #e21e26; }

.lcf-news-intro{padding-top:clamp(40px,5vw,70px);padding-bottom:clamp(16px,3vw,35px)}
.lcf-inner-archive-card__media{position:relative}.lcf-project-comparison-badge{position:absolute;left:14px;bottom:14px;padding:7px 10px;background:#061935;color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
body:not(.home) .lcf-contact-hero h1.lcf-contact-title--split .lcf-type-strong{display:block;font-weight:800}body:not(.home) .lcf-contact-hero h1.lcf-contact-title--split .lcf-type-light{display:block;font-weight:300;letter-spacing:-.026em}
.lcf-inner-archive-card__date { display: block; color: #e21e26; font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.lcf-inner-empty { max-width: 880px; padding: clamp(38px,6vw,80px); border-left: 4px solid #e21e26; background: #fff; }
.lcf-inner-empty h2 { margin: 0 0 24px; color: #14242d; font-size: clamp(2rem,3.5vw,3.7rem); line-height: 1.1; letter-spacing: -.04em; }
.lcf-inner-empty__links { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.post-type-archive-lcf_project .lcf-project-empty h2 { margin-bottom: 18px; }
.post-type-archive-lcf_project .lcf-project-empty__description { max-width: 670px; margin: 0 0 28px; color: #53616a; font-size: 1rem; line-height: 1.6; }

/* Project detail */
.lcf-case > .lcf-inner-editor { padding-top: 65px; padding-bottom: 65px; }
.lcf-case-story { padding: 100px 0 108px; background: #fff; }
.lcf-case-story__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 70px; }
.lcf-case-story__item { position: relative; padding: 26px 0 32px 30px; border-top: 1px solid #d6dee1; }
.lcf-case-story__marker { position: absolute; top: 29px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: #e21e26; }
.lcf-case-story__item h3 { margin: 0 0 11px; color: #12212a; font-size: clamp(1.25rem,1.8vw,1.9rem); line-height: 1.15; }
.lcf-case-story__item p, .lcf-case-story__item li { color: #4c5c64; font-size: .98rem; line-height: 1.7; }
.lcf-case-story__item p { margin: 0; }
.lcf-case-story__item ul { margin: 0; padding-left: 19px; }
.lcf-case-gallery { padding: 95px 0; color: #fff; background: #061935; }
.lcf-case-gallery h2 { color: #fff; }
.lcf-case-gallery__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.lcf-case-gallery__grid img { width: 100%; height: 380px; object-fit: cover; }
.lcf-case-gallery__grid img:first-child:nth-last-child(odd) { grid-column: 1 / -1; height: 520px; }

/* Service detail */
.lcf-service-intro { padding: 105px 0; background: #fff; }
.lcf-service-intro__grid { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: clamp(45px,8vw,145px); }
.lcf-service-intro__lead { margin: 0 0 25px; color: #26343c; font-size: clamp(1.25rem,1.8vw,1.85rem); line-height: 1.48; }
.lcf-service-scope { padding: 100px 0; background: #f4f5f5; }
.lcf-service-scope__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.lcf-service-scope__panel { position: relative; min-width: 0; padding: clamp(32px,4vw,58px); border: 1px solid #dce2e4; background: #fff; }
.lcf-service-scope__panel:only-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); column-gap: clamp(35px,6vw,90px); align-items: start; }
.lcf-service-scope__panel:only-child .lcf-service-scope__number { grid-column: 1; grid-row: 1; margin-bottom: 20px; }
.lcf-service-scope__panel:only-child h3 { grid-column: 1; grid-row: 2; margin-bottom: 0; }
.lcf-service-scope__panel:only-child ul { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.lcf-service-scope__number { display: block; margin-bottom: 33px; color: #e21e26; font-size: .75rem; font-weight: 850; letter-spacing: .2em; }
.lcf-service-scope__panel h3 { margin: 0 0 24px; color: #12212a; font-size: clamp(1.55rem,2.3vw,2.5rem); line-height: 1.12; }
/* Let long service headings reflow when text is enlarged without changing normal layouts. */
.lcf-service-scope__panel h3, .lcf-service-method h2, .lcf-service-notes h2 { overflow-wrap: anywhere; hyphens: auto; }
.lcf-service-method__grid > div, .lcf-service-notes__grid > div { min-width: 0; }
.lcf-service-scope__panel ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.lcf-service-scope__panel li { position: relative; padding-left: 23px; color: #485962; line-height: 1.5; }
.lcf-service-scope__panel li::before { content: "↗"; position: absolute; left: 0; color: #e21e26; }
.lcf-service-method { padding: 105px 0; color: #fff; background: #061935; }
.lcf-service-method__grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(50px,8vw,140px); }
.lcf-service-method__grid > :only-child { grid-column: 1 / -1; max-width: 820px; }
.lcf-service-method h2 { color: #fff; }
.lcf-service-method p:not(.lcf-inner-kicker) { max-width: 630px; color: rgba(255,255,255,.78); font-size: 1.02rem; }
.lcf-service-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: lcf-step; }
.lcf-service-steps { min-width: 0; }
.lcf-service-steps li { overflow-wrap: anywhere; hyphens: auto; }
.lcf-service-steps li { position: relative; min-height: 78px; padding: 22px 16px 22px 62px; border-top: 1px solid rgba(255,255,255,.24); color: #fff; counter-increment: lcf-step; }
.lcf-service-steps li::before { content: counter(lcf-step,decimal-leading-zero); position: absolute; left: 4px; top: 22px; color: #fff; font-size: .78rem; font-weight: 850; }
.lcf-service-notes { padding: 85px 0; background: #eef1f2; }
.lcf-service-notes__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.lcf-service-notes__grid > :only-child { grid-column: 1 / -1; width: 100%; max-width: 850px; }
.lcf-service-notes__grid > div { padding: 35px 40px; border-left: 3px solid #e21e26; background: #fff; }
.lcf-service-notes h2 { font-size: clamp(1.45rem,2vw,2.2rem); }
.lcf-service-notes p:not(.lcf-inner-kicker) { color: #52636b; }
.lcf-service-notes .lcf-inner-text-link { margin-top: 8px; }

/* Shared related content and final CTA */
.lcf-inner-related { padding: 95px 0 105px; background: #f4f5f5; }
.lcf-inner-related--dark { color: #fff; background: #061935; }
.lcf-inner-related--dark h2, .lcf-service-more--navy h2 { color: #fff; }
.lcf-inner-related--dark .lcf-inner-text-link, .lcf-service-more--navy .lcf-inner-text-link { color: #fff; text-decoration: underline; text-decoration-color: #e21e26; text-underline-offset: 4px; }
.lcf-inner-related__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.lcf-inner-related-card { position: relative; display: block; min-height: 350px; overflow: hidden; color: #fff; background: #061935; }
.lcf-inner-related-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.lcf-inner-related-card:hover img { transform: scale(1.045); }
.lcf-inner-related-card__shade { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(3,17,27,.86),transparent 72%); }
.lcf-inner-related-card__body { position: absolute; left: 25px; right: 55px; bottom: 22px; }
.lcf-inner-related-card__body strong { display: block; font-size: clamp(1.2rem,2vw,1.8rem); line-height: 1.16; }
.lcf-inner-related-card__body small { display: block; margin-top: 6px; color: rgba(255,255,255,.82); }
.lcf-inner-related-card__arrow { position: absolute; right: 24px; bottom: 22px; color: #fff; font-size: 1.35rem; }
.lcf-inner-cta { padding: 90px 0; color: #fff; background: linear-gradient(105deg,#061935,#2260ac); }
.lcf-inner-cta__grid { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 35px; }
.lcf-inner-cta__grid > div { flex: 1 1 0; min-width: min(100%,16rem); }
.lcf-inner-cta h2 { color: #fff; }
.lcf-inner-cta p:not(.lcf-inner-kicker) { max-width: 650px; margin: 18px 0 0; color: rgba(255,255,255,.8); }
.lcf-inner-cta .lcf-inner-button { flex: 0 0 auto; max-width: 100%; }
.lcf-service-more { padding: 94px 0 105px; background: #fff; }
.lcf-service-more--navy { color: #fff; background: #061935; }
.lcf-service-more--navy .lcf-inner-section-heading h2.lcf-type-split { letter-spacing: -.03em; }
.lcf-service-more--navy .lcf-inner-section-heading h2.lcf-type-split .lcf-type-light { letter-spacing: -.025em; }
.lcf-service-more__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.lcf-service-more__grid a { display: flex; align-items: center; justify-content: space-between; min-height: 118px; gap: 20px; padding: 24px; border: 1px solid #d8dfe2; color: #142630; font-size: clamp(1.15rem,1.6vw,1.6rem); font-weight: 850; line-height: 1.17; transition: border-color .2s ease, transform .2s ease; }
.lcf-service-more__grid a span:first-child { min-width: 0; overflow-wrap: anywhere; }
.lcf-service-more__grid a span:last-child { flex: 0 0 auto; color: #e21e26; }
.lcf-service-more--navy .lcf-service-more__grid a { border-color: rgba(255,255,255,.25); color: #fff; }
.lcf-service-more__grid a:hover { transform: translateY(-4px); border-color: #e21e26; }
#lcf-social-feed-title .lcf-type-strong { word-spacing: .16em; }

/* Editorial pages */
.lcf-editorial-page, .lcf-zones-page { padding: 110px 0; background: #f4f5f5; }
.lcf-editorial-page__grid, .lcf-zones-page__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); gap: clamp(50px,7vw,130px); align-items: center; }
.lcf-editorial-page__content, .lcf-zones-page__content { max-width: 670px; }
.lcf-editorial-page__visual { min-height: 540px; align-self: stretch; overflow: hidden; background: #c6d1d6; }
.lcf-editorial-page__visual img { width: 100%; height: 100%; object-fit: cover; }
.lcf-zones-page { color: #fff; background: #061935; }
.lcf-zones-page .lcf-inner-editor, .lcf-zones-page .lcf-inner-editor h2, .lcf-zones-page .lcf-inner-editor h3 { color: #fff; }
.lcf-zones-page .lcf-inner-editor p, .lcf-zones-page .lcf-inner-editor li { color: rgba(255,255,255,.8); }
.lcf-zones-page__map { padding: clamp(25px,4vw,55px); border: 1px solid rgba(255,255,255,.16); border-radius: 4px; background: radial-gradient(circle at 50% 35%,rgba(34,96,172,.25),rgba(255,255,255,.04) 68%); }
.lcf-zones-page__map .lcf-territory-map { width: min(100%,610px); margin: 0 auto; }
.lcf-zones-page__map .lcf-territory-map__stage { display: grid; grid-template-columns: minmax(0,1fr) 170px; align-items: center; gap: 18px; }
.lcf-zones-page__map .lcf-territory-map__canvas { width: 100%; margin: 0 auto; }
.lcf-zones-page__map .lcf-territory-map svg { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 18px 35px rgba(0,0,0,.25)); }
.lcf-zones-page__map .lcf-territory-map__region { outline: none; }
.lcf-zones-page__map .lcf-territory-map__region path { fill: rgba(34,96,172,.58); stroke: rgba(255,255,255,.82); stroke-width: 1.8; stroke-linejoin: round; transition: fill .22s ease,opacity .22s ease,stroke .22s ease; }
.lcf-zones-page__map .lcf-territory-map__region:nth-child(3n+2).is-active path { fill: rgba(34,96,172,.78); }
.lcf-zones-page__map .lcf-territory-map__region:nth-child(3n).is-active path { fill: #2260ac; }
.lcf-zones-page__map .lcf-territory-map__region.is-inactive path { fill: rgba(124,151,167,.28); opacity: .52; }
.lcf-zones-page__map .lcf-territory-map__regions .lcf-territory-map__region:hover path,.lcf-zones-page__map .lcf-territory-map__regions .lcf-territory-map__region:focus path { fill: #e21e26; stroke: #fff; opacity: 1; }
.lcf-zones-page__map .lcf-territory-map__status { padding: 20px 18px; border: 1px solid rgba(255,255,255,.2); border-radius: 4px; color: #fff; background: rgba(5,25,39,.72); box-shadow: 0 16px 34px rgba(0,0,0,.18); backdrop-filter: blur(10px); }
.lcf-zones-page__map .lcf-territory-map__status span,.lcf-zones-page__map .lcf-territory-map__status strong,.lcf-zones-page__map .lcf-territory-map__status small { display: block; }
.lcf-zones-page__map .lcf-territory-map__status span { margin-bottom: 8px; color: #fff; font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.lcf-zones-page__map .lcf-territory-map__status strong { min-height: 2.4em; font-size: 1rem; line-height: 1.2; }
.lcf-zones-page__map .lcf-territory-map__status small { margin-top: 12px; color: rgba(255,255,255,.68); font-size: .68rem; line-height: 1.45; }
.lcf-zones-page__map .lcf-territory-map figcaption { margin-top: 18px; text-align: center; }
.lcf-zones-page__map .lcf-territory-map figcaption > strong { display: block; margin-bottom: 11px; color: rgba(255,255,255,.65); font-size: .67rem; letter-spacing: .16em; text-transform: uppercase; }
.lcf-zones-page__map .lcf-territory-map__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.lcf-zones-page__map .lcf-territory-map__chips > span { display: inline-block; margin: 0; padding: 7px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: rgba(255,255,255,.88); background: rgba(255,255,255,.06); font-size: .76rem; line-height: 1.25; letter-spacing: 0; text-transform: none; }
.lcf-zones-page__map .lcf-territory-map__source { display: block; margin-top: 13px; color: rgba(255,255,255,.8); font-size: .68rem; font-weight: 400; letter-spacing: 0; text-transform: none; }

/* Existing contact form, restyled without changing its behavior. */
body:not(.home) .lcf-page-hero { min-height: 520px; padding: 85px 0; background: #061935; }
body:not(.home) .lcf-page-hero::before { background: linear-gradient(90deg,rgba(4,18,29,.91),rgba(4,18,29,.55) 65%,rgba(4,18,29,.24)); }
body:not(.home) .lcf-page-hero::after { display: none; }
body:not(.home) .lcf-page-hero h1 { font-family: "LCF Inter", Arial, sans-serif; font-size: clamp(3.5rem,6vw,6.5rem); font-weight: 800; line-height: .93; letter-spacing: -.022em; word-spacing: .08em; text-transform: uppercase; }
body:not(.home) .lcf-contact-hero h1 { font-family: "LCF Inter", Arial, sans-serif; font-weight: 800; }
/* La variante Contact conserve le champ éditorial existant et un seul H1. */
body:not(.home) .lcf-contact-hero h1.lcf-contact-title--split {
  max-width: 720px;
  font-family: "LCF Inter", Arial, sans-serif;
  font-size: clamp(3rem,5.3vw,5.2rem);
  font-weight: 800;
  line-height: .99;
  letter-spacing: -.018em;
  word-spacing: .08em;
  text-wrap: normal;
  overflow-wrap: normal;
  hyphens: manual;
}
.lcf-contact-title__strong, .lcf-contact-title__light { display: block; }
body:not(.home) .lcf-contact-title__light { font-weight: 300; letter-spacing: -.025em; }
@media (min-width: 431px) and (max-width: 1023px) {
  body:not(.home) .lcf-contact-hero h1.lcf-contact-title--split { font-size: clamp(2.7rem,6vw,3.8rem); }
}
@media (max-width: 430px) {
  body:not(.home) .lcf-contact-hero h1.lcf-contact-title--split { font-size: clamp(1.9rem,9.5vw,2.65rem); line-height: .98; letter-spacing: -.018em; }
  .lcf-contact-title__word, .lcf-contact-title__words { display: block; }
  body:not(.home) .lcf-contact-title__light { letter-spacing: -.018em; }
}
body:not(.home) .lcf-page-hero .lcf-eyebrow { color: #fff; }
body:not(.home) .lcf-page-hero__lead { font-size: 1.2rem; }
body:not(.home) .lcf-contact-page { padding: 105px 0; background: #f4f5f5; }
body:not(.home) .lcf-contact-layout { grid-template-columns: minmax(0,1.65fr) minmax(300px,.8fr); gap: 24px; }
body:not(.home) .lcf-contact-form-card, body:not(.home) .lcf-contact-panel { border-radius: 2px; box-shadow: none; }
body:not(.home) .lcf-contact-form-card { padding: clamp(28px,4vw,55px); }
body:not(.home) .lcf-contact-form-card > h2, body:not(.home) .lcf-contact-panel h2 { font-size: clamp(1.5rem,2.2vw,2.5rem); letter-spacing: -.04em; }
body:not(.home) .lcf-contact-panel--navy { background: #061935; }
body:not(.home) .lcf-form-field input:not([type="radio"]):not([type="checkbox"]):not([type="file"]), body:not(.home) .lcf-form-field select, body:not(.home) .lcf-form-field textarea { border-radius: 3px; }
body:not(.home) .lcf-form-field input[type="file"], body:not(.home) .lcf-radio-group label { border-radius: 3px; }
body:not(.home) .lcf-quote-submit { background: #e21e26; }
body:not(.home) .lcf-quote-submit:hover { background: #2260ac; }
body:not(.home) .lcf-form-field input:focus-visible,
body:not(.home) .lcf-form-field select:focus-visible,
body:not(.home) .lcf-form-field textarea:focus-visible,
body:not(.home) .lcf-quote-submit:focus-visible { outline-color: #2260ac; border-color: #2260ac; }
body:not(.home) .lcf-required { color: #e21e26; }
body:not(.home) .lcf-contact-privacy a { color: #2260ac; }
body:not(.home) .lcf-nav .current-menu-item a { text-decoration-color: #e21e26; }
body:not(.home) .lcf-footer__grid > * { min-width: 0; }
body:not(.home) .lcf-footer__grid a,
body:not(.home) .lcf-footer__bottom { overflow-wrap: anywhere; }
body:not(.home) .lcf-form-field input[type="file"] { min-width: 0; max-width: 100%; }
[data-lcf-phone-conditional-note][hidden], [data-lcf-phone-required-indicator][hidden] { display: none !important; }

.lcf-inner-hero .lcf-inner-kicker,
.lcf-service-method .lcf-inner-kicker,
.lcf-inner-cta .lcf-inner-kicker,
.lcf-inner-related--dark .lcf-inner-kicker,
.lcf-service-more--navy .lcf-inner-kicker,
.lcf-zones-page .lcf-inner-kicker { color: #fff; }

.lcf-inner-archive__grid--count-1 { max-width: 650px; grid-template-columns: minmax(0,1fr); }
.lcf-inner-archive__grid--count-2 { max-width: 900px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.lcf-inner-archive-card--no-image .lcf-inner-archive-card__body { min-height: 190px; }
.lcf-search-results .lcf-inner-archive-card h2 { margin: 12px 0 6px; color: #141b20; font-size: clamp(1.1rem,1.4vw,1.5rem); line-height: 1.14; letter-spacing: -.02em; }
.lcf-search-results__form { margin: 30px 0 26px; }
.lcf-search-results__form label { display: block; margin-bottom: 8px; color: #061935; font-weight: 750; }
.lcf-search-results__form > div { display: flex; flex-wrap: wrap; gap: 10px; }
.lcf-search-results__form input { flex: 1 1 230px; min-width: 0; min-height: 54px; padding: 12px 15px; border: 1px solid #9aa8b9; }
.lcf-search-results__form input:focus-visible { outline: 3px solid #2260ac; outline-offset: 2px; }
body:not(.home) .lcf-contact-privacy { padding: 24px; border: 1px solid #dfe4e6; background: #fff; }

@media (max-width: 1180px) {
  body:not(.home) .lcf-container { width: min(calc(100% - 64px),var(--lcf-container)); }
  .lcf-inner-archive__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lcf-inner-archive__grid--count-1 { grid-template-columns: minmax(0,1fr); }
  .lcf-inner-archive__grid--count-3 .lcf-inner-archive-card:last-child { grid-column: 1 / -1; }
  .lcf-inner-archive__grid--count-3 .lcf-inner-archive-card:last-child > a { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .lcf-inner-archive__grid--count-3 .lcf-inner-archive-card:last-child .lcf-inner-archive-card__media { height: 100%; min-height: 270px; }
}
@media (max-width: 1060px) {
  body:not(.home) .lcf-nav { top: 86px; border-bottom: 1px solid #e7ebed; background: #fff; }
  body:not(.home) .lcf-nav li { border-bottom-color: #e7ebed; }
  body:not(.home) .lcf-contact-layout { grid-template-columns: minmax(0,1fr); }
  .lcf-service-intro__grid, .lcf-service-method__grid, .lcf-editorial-page__grid, .lcf-zones-page__grid { grid-template-columns: 1fr; }
  .lcf-editorial-page__visual { min-height: 400px; }
  .lcf-zones-page__map { max-width: 580px; }
}
@media (max-width: 760px) {
  body:not(.home) .lcf-container { width: min(calc(100% - 36px),var(--lcf-container)); }
  body:not(.home) .lcf-header__inner { min-height: 72px; }
  body:not(.home) .lcf-nav { top: 72px; }
  body:not(.home) .lcf-brand .lcf-logo-frame { width: 174px; }
  .lcf-inner-hero, .lcf-inner-hero--project, .lcf-inner-hero--archive, .lcf-inner-hero--page { min-height: 520px; }
  .lcf-inner-hero--archive.lcf-inner-hero--empty { min-height: 390px; }
  .lcf-inner-hero__content { padding-top: 68px; padding-bottom: 78px; }
  .lcf-inner-crumbs { margin-bottom: 34px; }
  .lcf-inner-hero h1 { font-size: clamp(2.7rem,11vw,4.8rem); }
  .lcf-inner-hero__lead { font-size: 1.08rem; }
  .lcf-inner-section-heading--split, .lcf-inner-cta__grid { display: block; }
  .lcf-inner-section-heading--split .lcf-inner-text-link { margin-top: 20px; }
  .lcf-inner-cta .lcf-inner-button { margin-top: 26px; }
  .lcf-case-story, .lcf-case-gallery, .lcf-service-intro, .lcf-service-scope, .lcf-service-method, .lcf-service-notes, .lcf-inner-related, .lcf-inner-cta, .lcf-service-more, .lcf-editorial-page, .lcf-zones-page, .lcf-inner-archive { padding-top: 68px; padding-bottom: 72px; }
  .lcf-case-story__grid, .lcf-case-gallery__grid, .lcf-service-scope__grid, .lcf-service-notes__grid, .lcf-inner-related__grid { grid-template-columns: 1fr; }
  .lcf-service-scope__panel:only-child { display: block; }
  .lcf-service-scope__panel:only-child .lcf-service-scope__number { margin-bottom: 33px; }
  .lcf-service-scope__panel:only-child h3 { margin-bottom: 24px; }
  .lcf-case-gallery__grid img, .lcf-case-gallery__grid img:first-child:nth-last-child(odd) { height: auto; max-height: 470px; grid-column: auto; object-fit: cover; }
  .lcf-inner-related-card { min-height: 285px; }
  .lcf-zones-page__map .lcf-territory-map__stage { grid-template-columns: 1fr; gap: 14px; }
  .lcf-zones-page__map .lcf-territory-map__canvas { width: min(100%,450px); }
  .lcf-zones-page__map .lcf-territory-map__status { width: min(100%,450px); margin: 0 auto; padding: 16px 18px; }
  .lcf-zones-page__map .lcf-territory-map__status strong { min-height: 0; }
  .lcf-service-more__grid { grid-template-columns: 1fr; }
  .lcf-service-more__grid a { min-height: 104px; }
  body:not(.home) .lcf-page-hero { min-height: 420px; padding: 75px 0; }
  body:not(.home) .lcf-page-hero h1 { font-size: clamp(2.7rem,10vw,4.8rem); }
  body:not(.home) .lcf-contact-sidebar { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .post-type-archive-lcf_service .lcf-inner-section-heading h2 > span { text-wrap: normal; hyphens: none; }
  .lcf-inner-archive__grid { grid-template-columns: 1fr; }
  .lcf-inner-archive__grid--count-3 .lcf-inner-archive-card:last-child { grid-column: auto; }
  .lcf-inner-archive__grid--count-3 .lcf-inner-archive-card:last-child > a { display: block; }
  .lcf-inner-archive__grid--count-3 .lcf-inner-archive-card:last-child .lcf-inner-archive-card__media { height: 225px; min-height: 0; }
  .lcf-inner-archive-card__media { height: 225px; }
  .lcf-inner-hero h1,
  body:not(.home) .lcf-page-hero h1 { font-size: clamp(2rem,calc(1.2rem + 5vw),4.8rem); overflow-wrap: break-word; word-break: normal; hyphens: auto; }
  .lcf-inner-section-heading h2,
  .lcf-inner-cta h2,
  .lcf-inner-empty h2 { overflow-wrap: break-word; word-break: normal; hyphens: auto; }
  body:not(.home) .lcf-form-field input[type="file"] { min-height: 76px; padding: 7px; }
  body:not(.home) .lcf-form-field input[type="file"]::file-selector-button { display: block; max-width: 100%; margin: 0 0 7px; padding: 7px 9px; border: 1px solid #9aa8b9; color: #061935; background: #fff; white-space: normal; }
  .lcf-editorial-page__visual { min-height: 300px; }
}
@media (max-width: 360px) {
  .lcf-form-field input[type="file"] { min-height: 86px; padding: 7px; font-size: .72rem; line-height: 1.2; }
  .lcf-form-field input[type="file"]::file-selector-button { display: block; width: 100%; margin: 0 0 5px; padding: 6px 8px; border: 1px solid #aeb8c6; border-radius: 2px; color: #061935; background: #fff; font: inherit; font-weight: 700; }
}
@media (max-width: 430px) {
  .post-type-archive-lcf_project .lcf-project-filters { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,8.3rem),1fr)); gap: 8px; margin-bottom: 30px; }
  .post-type-archive-lcf_project .lcf-project-filter { width: 100%; min-width: 0; min-height: 48px; justify-content: space-between; gap: 5px; padding: 9px 10px; font-size: .82rem; line-height: 1.25; }
  .post-type-archive-lcf_project .lcf-project-filter:first-child { grid-column: 1 / -1; justify-content: center; }
  .post-type-archive-lcf_project .lcf-project-filter__count { flex: 0 0 auto; }
  .post-type-archive-lcf_project .lcf-project-filter__count[aria-label^="0"] { opacity: .8; }
  .post-type-archive-lcf_project .lcf-project-empty .lcf-inner-button { max-width: 100%; gap: 10px; padding: 10px 16px; text-align: center; }
  .post-type-archive-lcf_project .lcf-project-empty .lcf-inner-text-link { flex: 0 1 auto; min-width: 0; max-width: 100%; }
}
/* Reflow de Contact à 200 % : les colonnes et champs peuvent se contracter. */
@media (max-width: 360px) {
  body:not(.home) .lcf-contact-sidebar { min-width: 0; grid-template-columns: minmax(0,1fr); }
  body:not(.home) .lcf-contact-form-card,
  body:not(.home) .lcf-contact-panel { min-width: 0; }
  body:not(.home) .lcf-contact-form-card h2,
  body:not(.home) .lcf-contact-panel h2 { overflow-wrap: anywhere; }
  body:not(.home) .lcf-contact-form-card input[type="file"] { min-width: 0; max-width: 100%; }
}
@media (max-width: 240px) {
  body:not(.home) .lcf-header__inner { gap: 4px; }
  body:not(.home) .lcf-brand { min-width: 0; flex: 1 1 auto; }
  body:not(.home) .lcf-brand .lcf-logo-frame { width: min(100%,108px); }
  body:not(.home) .lcf-nav-toggle { flex: 0 0 36px; margin-left: 0; }
  body:not(.home) .lcf-contact-hero h1.lcf-contact-title--split { font-size: 1.5rem; overflow-wrap: anywhere; }
  body:not(.home) .lcf-contact-form-card { padding-inline: 12px; }
  body:not(.home) .lcf-quote-submit { min-width: 0; max-width: 100%; padding-inline: 8px; white-space: normal; }
  body:not(.home) .lcf-radio-group label { min-width: 0; max-width: 100%; gap: 4px; padding-inline: 4px; }
  body:not(.home) .lcf-radio-group label span { min-width: 0; overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .lcf-inner-button, .lcf-inner-archive-card, .lcf-inner-archive-card__media img, .lcf-inner-related-card img, .lcf-service-more__grid a { transition: none !important; }
}

/* Fiches Services : titres éditables et photographies facultatives. */
.single-lcf_service .lcf-service-title-split { letter-spacing: -.018em; overflow-wrap: normal; word-break: normal; hyphens: auto; }
.single-lcf_service .lcf-service-title-split__strong { font-weight: 800; letter-spacing: -.022em; }
.single-lcf_service .lcf-service-title-split__light { font-weight: 300; letter-spacing: -.012em; }
.single-lcf_service .lcf-service-content-photo { padding: 0 0 88px; background: #fff; }
.single-lcf_service .lcf-service-content-photo figure,
.single-lcf_service .lcf-service-content-gallery figure { min-width: 0; margin: 0; }
.single-lcf_service .lcf-service-content-photo figure { aspect-ratio: 2.35 / 1; overflow: hidden; background: #061935; }
.single-lcf_service .lcf-service-content-photo img,
.single-lcf_service .lcf-service-content-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.single-lcf_service .lcf-service-content-gallery { padding: 0 0 94px; background: #f4f5f5; }
.single-lcf_service .lcf-service-content-gallery__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.single-lcf_service .lcf-service-content-gallery figure { aspect-ratio: 1.75 / 1; overflow: hidden; background: #061935; }
.single-lcf_service .lcf-service-content-gallery figure:only-child { grid-column: 1 / -1; width: min(100%,850px); }
@media (max-width: 760px) {
  .single-lcf_service .lcf-service-content-photo { padding-bottom: 58px; }
  .single-lcf_service .lcf-service-content-photo figure { aspect-ratio: 4 / 3; }
  .single-lcf_service .lcf-service-content-gallery { padding-bottom: 64px; }
  .single-lcf_service .lcf-service-content-gallery__grid { grid-template-columns: minmax(0,1fr); }
  .single-lcf_service .lcf-service-content-gallery figure { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
  .single-lcf_service .lcf-service-title-split { line-height: 1.13; text-wrap: pretty; }
}


/* À propos : quatre récits alternés, isolés du reste des pages intérieures. */
.lcf-about-story { padding: clamp(70px, 7vw, 112px) 0; background: #fff; }
.lcf-about-story:nth-of-type(even) { background: #f4f5f5; }
.lcf-about-story__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(38px, 6vw, 110px); align-items: center; }
.lcf-about-story__content { min-width: 0; max-width: 650px; }
.lcf-about-story__title { margin: 0 0 30px; color: #061935; font-family: "LCF Inter", Arial, sans-serif; font-size: clamp(2.15rem, 3.5vw, 4rem); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: break-word; }
.lcf-about-story__title .lcf-type-strong, .lcf-about-story__title .lcf-type-light { overflow-wrap: anywhere; }
.lcf-about-story__title .lcf-type-strong { font-weight: 800; }
.lcf-about-story__title .lcf-type-light { font-weight: 300; letter-spacing: -.025em; }
.lcf-about-story__title--break .lcf-type-strong, .lcf-about-story__title--break .lcf-type-light { display: block; }
.lcf-about-story__body { max-width: 59ch; color: #28353c; font-size: clamp(1rem, 1.1vw, 1.08rem); line-height: 1.75; }
.lcf-about-story__body p { margin: 0 0 1em; }
.lcf-about-story__body p:last-child { margin-bottom: 0; }
.lcf-about-story__content > .lcf-inner-text-link { margin-top: 30px; }
.lcf-about-story__visual { min-width: 0; aspect-ratio: 5 / 4; overflow: hidden; background: #d8dfe4; }
.lcf-about-story__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lcf-about-story--1 .lcf-about-story__content, .lcf-about-story--3 .lcf-about-story__content { grid-column: 2; grid-row: 1; }
.lcf-about-story--1 .lcf-about-story__visual, .lcf-about-story--3 .lcf-about-story__visual { grid-column: 1; grid-row: 1; }
@media (max-width: 1023px) {
  .lcf-about-story__grid { grid-template-columns: minmax(0,1fr); }
  .lcf-about-story__content, .lcf-about-story__visual, .lcf-about-story--1 .lcf-about-story__content, .lcf-about-story--3 .lcf-about-story__content, .lcf-about-story--1 .lcf-about-story__visual, .lcf-about-story--3 .lcf-about-story__visual { grid-column: 1; grid-row: auto; }
  .lcf-about-story__content { max-width: 720px; }
  .lcf-about-story__visual { aspect-ratio: 3 / 2; }
}
@media (max-width: 760px) {
  .lcf-about-story { padding: 64px 0; }
  .lcf-about-story__grid { gap: 28px; }
  .lcf-about-story__title { font-size: clamp(2rem, 8vw, 3rem); overflow-wrap: normal; }
  .lcf-about-story__visual { aspect-ratio: 4 / 3; }
}

.lcf-quote-privacy-link { margin: 8px 0 0 28px; font-size: .9rem; line-height: 1.5; }
.lcf-quote-privacy-link a { color: #2260ac; text-decoration: underline; text-underline-offset: 3px; }
.lcf-quote-privacy-link a:focus-visible { outline: 3px solid #e21e26; outline-offset: 3px; }

/* Project reportage: scoped to individual Réalisations. */
.single-lcf_project .lcf-inner-hero--project { min-height: clamp(430px, 54svh, 610px); }
.single-lcf_project .lcf-inner-hero--project h1 { max-width: min(100%, 950px); font-size: clamp(2.35rem, 3.7vw, 4.6rem); line-height: 1.06; letter-spacing: -.014em; word-spacing: normal; overflow-wrap: normal; word-break: normal; hyphens: none; text-wrap: balance; }
.single-lcf_project .lcf-inner-hero--project h1.lcf-project-hero-title .lcf-type-strong { display: block; font-weight: 800; letter-spacing: -.015em; }
.single-lcf_project .lcf-inner-hero--project h1.lcf-project-hero-title .lcf-type-light { display: block; font-weight: 300; letter-spacing: -.01em; }
.single-lcf_project .lcf-inner-hero--project .lcf-inner-hero__content { padding-top: clamp(60px, 5vw, 88px); padding-bottom: clamp(60px, 5vw, 88px); }
.single-lcf_project .lcf-project-hero-description { max-width: 750px; margin: 22px 0 0; color: rgba(255,255,255,.94); font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.55; text-wrap: pretty; }
.single-lcf_project .lcf-project-hero-note { margin: 18px 0 0; color: #fff; font-size: .85rem; font-weight: 700; }
.single-lcf_project .lcf-inner-hero__tags { margin-top: 20px; }
.single-lcf_project .lcf-inner-hero__tags a { padding: 6px 10px; font-size: .65rem; }
.single-lcf_project .lcf-case-reportage__section:first-child { padding-top: clamp(50px, 5vw, 74px); }
.lcf-case-reportage__section { padding: clamp(62px, 6vw, 106px) 0; background: #fff; }
.lcf-case-reportage__section.is-image-right { background: #f4f5f5; }
.lcf-case-reportage__grid { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); align-items: center; gap: clamp(38px, 6vw, 112px); }
.lcf-case-reportage__copy { min-width: 0; max-width: 650px; }
.lcf-case-reportage__title { margin: 0 0 26px; color: #061935; font: 800 clamp(2.05rem, 3.4vw, 3.8rem)/1.09 "LCF Inter", Arial, sans-serif; letter-spacing: -.03em; text-wrap: balance; overflow-wrap: break-word; }
.lcf-case-reportage__title .lcf-type-light { font-weight: 300; letter-spacing: -.02em; }
.lcf-case-reportage__title.is-break span { display: block; }
.lcf-case-reportage__body { max-width: 60ch; color: #28353c; font-size: clamp(1rem, 1.1vw, 1.08rem); line-height: 1.75; }
.lcf-case-reportage__body + .lcf-case-reportage__body { margin-top: 1em; }
.lcf-case-reportage__body p { margin: 0 0 1em; }
.lcf-case-reportage__body p:last-child { margin-bottom: 0; }
.lcf-case-reportage__techniques { margin: 22px 0 0; padding-left: 1.3em; color: #28353c; line-height: 1.7; }
.lcf-case-reportage__copy .lcf-inner-text-link { margin-top: 27px; }
.lcf-case-reportage__visual { min-width: 0; margin: 0; aspect-ratio: 5 / 4; overflow: hidden; background: #d8dfe4; }
.lcf-case-reportage__visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lcf-case-reportage__section.is-image-left .lcf-case-reportage__visual { grid-column: 1; grid-row: 1; }
.lcf-case-reportage__section.is-image-left .lcf-case-reportage__copy { grid-column: 2; grid-row: 1; }
.lcf-case-reportage__section.is-text-only .lcf-case-reportage__copy { grid-column: 1 / -1; max-width: 820px; }
.lcf-case-reportage__section.is-image-only .lcf-case-reportage__copy { max-width: 560px; }
@media (max-width: 820px) {
  .lcf-case-reportage__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .lcf-case-reportage__section.is-image-left .lcf-case-reportage__copy, .lcf-case-reportage__section.is-image-left .lcf-case-reportage__visual, .lcf-case-reportage__section.is-image-right .lcf-case-reportage__copy, .lcf-case-reportage__section.is-image-right .lcf-case-reportage__visual { grid-column: 1; grid-row: auto; }
  .lcf-case-reportage__visual { aspect-ratio: 3 / 2; }
}
@media (max-width: 600px) {
  .single-lcf_project .lcf-inner-hero--project h1 { font-size: clamp(1.9rem, 7.6vw, 2.65rem); line-height: 1.08; letter-spacing: -.01em; }
  .single-lcf_project .lcf-inner-hero--project h1.lcf-project-hero-title .lcf-type-strong { letter-spacing: -.01em; }
  .single-lcf_project .lcf-inner-hero--project h1.lcf-project-hero-title .lcf-type-light { letter-spacing: -.005em; }
  .lcf-case-reportage__section { padding: 62px 0; }
  .lcf-case-reportage__grid { gap: 27px; }
  .lcf-case-reportage__title { font-size: clamp(1.9rem, 7.5vw, 3rem); overflow-wrap: normal; }
  .lcf-case-reportage__visual { aspect-ratio: 4 / 3; }
}
