/* Lyla Digital: intervention mode. Dark, spacious, evidence-led. */
.ll-universe-lyla { background: var(--ll-lyla-night); color: var(--ll-dark-text); }
.ll-universe-lyla .ll-site, .ll-lyla-main { background: var(--ll-lyla-night); color: var(--ll-dark-text); }
.ll-universe-lyla .ll-site a { color: var(--ll-dark-link); }
.ll-universe-lyla .ll-site a:hover { color: var(--ll-dark-link-hover); }
.ll-universe-lyla .ll-site :focus-visible { outline-color: var(--ll-dark-link-hover); }
.ll-header--lyla { border-color: var(--ll-dark-border); background: rgb(8 29 34 / 94%); color: var(--ll-dark-text); }
.ll-header--lyla .ll-brand, .ll-header--lyla .ll-primary-nav a { color: var(--ll-dark-link); }
.ll-brand--lyla { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; text-transform: uppercase; }
.ll-brand--lyla .ll-brand__name { font-size: 20px; letter-spacing: .14em; }
.ll-brand--lyla .ll-brand__claim { color: var(--ll-dark-text-muted); font-size: 10px; letter-spacing: 0; text-transform: none; }
.ll-header--lyla .ll-primary-nav { align-items: center; }
.ll-header--lyla .ll-primary-nav a, .ll-header--lyla .ll-menu-toggle { min-height: 44px; }
.ll-header--lyla .ll-back-ludo { margin-left: 22px; color: #e79743; }
.ll-header--lyla .ll-menu-toggle { color: var(--ll-dark-text); }

.ll-eyebrow--lyla { color: #e79743; }
.ll-universe-lyla a.ll-button--orange { border-color: #e79743; background: #e79743; color: #13262b; }
.ll-universe-lyla a.ll-button--orange:hover { border-color: #f3ad60; background: #f3ad60; color: #13262b; }
.ll-universe-lyla a.ll-button--ghost { border-color: rgb(241 235 225 / 55%); color: var(--ll-dark-text); }
.ll-universe-lyla .ll-arrow-link--dark { display: inline-flex; min-height: 44px; align-items: center; color: var(--ll-dark-link); }

.ll-lyla-hero, .ll-service-hero, .ll-project-hero, .ll-projects-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgb(241 235 225 / 13%);
	background:
		radial-gradient(circle at 75% 25%, rgb(127 150 160 / 23%), transparent 34%),
		linear-gradient(115deg, #0b272c 0%, #102e33 54%, #17363a 100%);
}
.ll-lyla-hero::after, .ll-projects-hero::after { position: absolute; inset: 0; background-image: repeating-linear-gradient(90deg, transparent 0, transparent 159px, rgb(255 255 255 / 3%) 160px); content: ""; pointer-events: none; }
.ll-lyla-hero__grid { position: relative; z-index: 1; display: grid; min-height: 650px; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: center; gap: 64px; padding-block: 90px 68px; }
.ll-lyla-hero h1, .ll-service-hero h1, .ll-project-hero h1, .ll-projects-hero h1 { margin: 18px 0 24px; color: var(--ll-dark-text); font-family: var(--ll-serif); font-size: clamp(4rem, 7vw, 7.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .88; }
.ll-lyla-hero h1 em { color: #e79743; font-style: normal; }
.ll-lyla-hero p, .ll-service-hero p, .ll-project-hero p, .ll-projects-hero p { max-width: 650px; color: var(--ll-dark-text-muted); font-size: 1.1rem; line-height: 1.7; }
.ll-lyla-hero__visual { display: grid; min-height: 450px; place-items: center; border: 1px solid rgb(241 235 225 / 14%); background: radial-gradient(circle at 52% 42%, rgb(209 129 38 / 20%), transparent 12%), radial-gradient(circle at 50% 50%, transparent 0 28%, rgb(127 150 160 / 13%) 29% 29.4%, transparent 30% 45%, rgb(127 150 160 / 10%) 45.5% 45.8%, transparent 46%); }
.ll-lyla-hero__visual .ll-handwritten { color: var(--ll-dark-text); }
.ll-proof-strip { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); border-top: 1px solid rgb(241 235 225 / 15%); }
.ll-proof-strip span { min-width: 0; padding: 20px 24px; border-left: 1px solid rgb(241 235 225 / 15%); color: var(--ll-dark-text-muted); font-size: 12px; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.ll-proof-strip span:first-child { border-left: 0; }

.ll-lyla-section { padding: clamp(72px, 8vw, 112px) 0; background: var(--ll-lyla-night); color: var(--ll-dark-text); }
.ll-lyla-main :where(.ll-lyla-section, .ll-proof-contexts, .ll-contact-band, .ll-project-story, .ll-pilotage, .ll-project-expertise, .ll-project-links) :where(h1, h2, h3, h4, h5, h6) { color: var(--ll-dark-text); }
.ll-lyla-main :where(.ll-lyla-section, .ll-proof-contexts, .ll-contact-band, .ll-project-story, .ll-pilotage, .ll-project-expertise, .ll-project-links) :where(p, li, dt, dd, small) { color: var(--ll-dark-text-muted); }
.ll-section-heading--dark h2 { color: var(--ll-dark-text); }
.ll-section-heading--dark p { color: var(--ll-dark-text-muted); }
.ll-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 58px; border-block: 1px solid rgb(241 235 225 / 18%); }
.ll-service-teaser { min-width: 0; padding: 38px 34px 42px; border-left: 1px solid rgb(241 235 225 / 18%); }
.ll-service-teaser:first-child { border-left: 0; }
.ll-service-teaser__number { color: #e79743; font-family: var(--ll-serif); font-size: 2.4rem; }
.ll-service-teaser h3, .ll-service-teaser h3 a { margin: 28px 0 14px; color: var(--ll-dark-text); font-family: var(--ll-serif); font-size: clamp(1.8rem, 2.4vw, 2.8rem); font-weight: 400; line-height: 1; }
.ll-service-teaser p { min-height: 78px; color: var(--ll-dark-text-muted); }

.ll-lyla-light { padding: clamp(72px, 8vw, 112px) 0; background: var(--ll-ivory); color: var(--ll-body); }
.ll-universe-lyla .ll-lyla-light :where(h1, h2, h3, h4, h5, h6), .ll-universe-lyla .ll-lyla-light a:not(.ll-button--orange) { color: var(--ll-ink); }
.ll-universe-lyla .ll-lyla-light a:not(.ll-button--orange):hover { color: var(--ll-light-link-hover); }
.ll-universe-lyla .ll-lyla-light :focus-visible { outline-color: var(--ll-light-link-hover); }
.ll-universe-lyla .ll-lyla-light :where(p, li, dt, dd, small) { color: var(--ll-body); }
.ll-universe-lyla .ll-lyla-light .ll-eyebrow--lyla { color: var(--ll-lyla); }
.ll-lyla-method, .ll-proposal-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(48px, 7vw, 110px); }
.ll-lyla-method h2, .ll-proposal-grid h2 { margin: 14px 0 20px; font-family: var(--ll-serif); font-size: clamp(2.5rem, 4.5vw, 4.7rem); font-weight: 400; line-height: .98; }
.ll-lyla-method ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.ll-lyla-method li { display: flex; min-width: 0; flex-direction: column; gap: 10px; padding: 25px; border: 1px solid var(--ll-border); border-width: 1px 0 0 1px; }
.ll-lyla-method li:nth-child(odd) { border-left: 0; }
.ll-lyla-method li span { color: var(--ll-lyla); font-family: var(--ll-serif); font-size: 1.6rem; }
.ll-lyla-method li strong { color: var(--ll-ink); font-family: var(--ll-serif); font-size: 1.5rem; font-weight: 400; }
.ll-lyla-method li small { color: var(--ll-muted); font-size: 14px; }

.ll-featured-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 56px; }
.ll-proof-contexts { padding: 55px 0; border-block: 1px solid rgb(241 235 225 / 16%); background: #102d32; }
.ll-proof-contexts .ll-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); align-items: end; gap: 60px; }
.ll-proof-contexts h2 { margin: 14px 0 0; color: var(--ll-dark-text); font-family: var(--ll-serif); font-size: clamp(2.3rem, 4vw, 4.2rem); font-weight: 400; line-height: 1; }
.ll-proof-contexts p { color: var(--ll-dark-text-muted); }
.ll-universe-lyla .ll-contact-band { background: #142f34; color: var(--ll-dark-text); }
.ll-universe-lyla .ll-contact-band h2 { color: var(--ll-dark-text); }
.ll-universe-lyla .ll-contact-band p { color: var(--ll-dark-text-muted); }
.ll-universe-lyla .ll-contact-band .ll-button--primary { border-color: #e79743; background: #e79743; color: #13262b; }
.ll-universe-lyla .ll-contact-band .ll-button--secondary { border-color: rgb(241 235 225 / 55%); color: var(--ll-dark-text); }

.ll-service-hero__grid, .ll-project-hero__grid { display: grid; min-height: 570px; grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); align-items: center; gap: 70px; padding-block: 82px; }
.ll-service-hero h1, .ll-project-hero h1 { font-size: clamp(3.8rem, 6.3vw, 6.8rem); line-height: .92; }
.ll-service-hero__visual, .ll-project-hero__image { min-width: 0; }
.ll-service-hero__visual img, .ll-service-hero__visual .ll-mineral-art, .ll-project-hero__image img { width: 100%; min-height: 420px; object-fit: cover; }
.ll-service-hero__visual .ll-mineral-art { display: block; border: 1px solid rgb(241 235 225 / 14%); }
.ll-friction-grid, .ll-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 55px; border-block: 1px solid rgb(241 235 225 / 16%); }
.ll-format-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ll-friction-grid article, .ll-format-grid article { min-width: 0; padding: 32px; border-left: 1px solid rgb(241 235 225 / 16%); }
.ll-friction-grid article:first-child, .ll-format-grid article:first-child { border-left: 0; }
.ll-friction-grid span, .ll-format-grid span { color: #e79743; font-family: var(--ll-serif); font-size: 1.8rem; }
.ll-friction-grid h3, .ll-format-grid h3 { margin: 20px 0 12px; color: var(--ll-dark-text); font-family: var(--ll-serif); font-size: 1.55rem; font-weight: 400; }
.ll-friction-grid p, .ll-format-grid p { color: var(--ll-dark-text-muted); }
.ll-service-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ll-service-principles span { padding: 24px; border: 1px solid var(--ll-border); border-width: 1px 0 0 1px; color: var(--ll-ink); font-family: var(--ll-serif); font-size: 1.4rem; }

.ll-projects-hero { padding: clamp(80px, 10vw, 150px) 0; }
.ll-projects-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .7fr); align-items: end; gap: 80px; }
.ll-projects-hero h1 { font-size: clamp(4rem, 7vw, 7.8rem); }
.ll-project-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 52px; }
.ll-project-list .ll-project-teaser { padding-top: 22px; }
.ll-project-client { color: #e79743; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.ll-project-deck { font-family: var(--ll-serif); font-size: 1.35rem; }
.ll-project-story, .ll-pilotage, .ll-project-expertise, .ll-project-links { padding: clamp(72px, 8vw, 112px) 0; border-top: 1px solid rgb(241 235 225 / 14%); background: var(--ll-lyla-night); color: var(--ll-dark-text); }
.ll-project-story__grid, .ll-pilotage__grid, .ll-limited-project, .ll-project-links .ll-shell { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(50px, 8vw, 130px); }
.ll-project-story h2, .ll-pilotage h2, .ll-project-expertise h2, .ll-project-links h2 { margin: 14px 0 0; color: inherit; font-family: var(--ll-serif); font-size: clamp(2.4rem, 4.5vw, 4.6rem); font-weight: 400; line-height: 1; }
.ll-project-copy { color: var(--ll-dark-text-muted); font-family: var(--ll-serif); font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.75; }
.ll-project-copy > :last-child { margin-bottom: 0; }
.ll-project-single .ll-lyla-light .ll-project-story__grid { color: var(--ll-body); }
.ll-project-single .ll-lyla-light .ll-project-copy { color: var(--ll-body); }
.ll-pilotage { background: #14353a; }
.ll-pilotage dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.ll-pilotage dl > div { padding: 25px; border: 1px solid rgb(241 235 225 / 18%); }
.ll-pilotage dt { color: var(--ll-dark-text-muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.ll-pilotage dd { margin: 8px 0 0; color: var(--ll-dark-text); font-family: var(--ll-serif); font-size: 1.35rem; }
.ll-project-expertise .ll-chip-list { color: var(--ll-dark-text-muted); }
.ll-project-links .ll-shell > div:last-child { display: flex; flex-direction: column; }
.ll-project-links a { min-height: 52px; padding: 14px 0; border-bottom: 1px solid rgb(241 235 225 / 18%); color: var(--ll-dark-link); }
.ll-limited-project h2 { margin: 14px 0 0; font-family: var(--ll-serif); font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 400; line-height: 1; }

.ll-universe-lyla .ll-project-teaser { border-color: var(--ll-dark-border); color: var(--ll-dark-text); }
.ll-universe-lyla .ll-project-teaser h3, .ll-universe-lyla .ll-project-teaser h3 a { color: var(--ll-dark-text); }
.ll-universe-lyla .ll-project-teaser p, .ll-universe-lyla .ll-project-teaser .ll-chip-list { color: var(--ll-dark-text-muted); }
.ll-universe-lyla .ll-project-metrics span { color: var(--ll-dark-text); }
.ll-universe-lyla .ll-project-metrics small { color: var(--ll-dark-text-muted); }
.ll-universe-lyla .ll-lyla-light .ll-project-teaser { border-color: var(--ll-border); color: var(--ll-ink); }
.ll-universe-lyla .ll-lyla-light .ll-project-teaser h3, .ll-universe-lyla .ll-lyla-light .ll-project-teaser h3 a, .ll-universe-lyla .ll-lyla-light .ll-project-teaser .ll-arrow-link--dark { color: var(--ll-ink); }
.ll-universe-lyla .ll-lyla-light .ll-project-teaser p, .ll-universe-lyla .ll-lyla-light .ll-project-teaser .ll-chip-list { color: var(--ll-muted); }

.ll-footer--lyla { border-color: var(--ll-dark-border); background: #081e23; color: var(--ll-dark-text); }
.ll-footer--lyla .ll-footer__brand, .ll-footer--lyla .ll-footer__links a, .ll-footer--lyla .ll-footer__social a { color: var(--ll-dark-link); }
.ll-footer--lyla .ll-footer__inner p, .ll-footer--lyla .ll-footer__bottom { color: var(--ll-dark-text-muted); }
.ll-footer--lyla .ll-footer__bottom { border-color: var(--ll-dark-border); }
.ll-footer--lyla .ll-footer__links a, .ll-footer--lyla .ll-footer__social a { display: inline-flex; min-height: 44px; align-items: center; }
.ll-footer__social { display: flex; flex-direction: column; gap: 8px; color: var(--ll-muted); font-size: 13px; }
