/* Neutral canvas with green reserved for brand accents. */
:root {
  --bg: #0b0c0e;
  --surface: #17181b;
  --surface-2: #202125;
  --text: #f3f3f2;
  --muted: #b8b9bd;
  --muted-2: #919399;
  --line: #303136;
  --paper: #f1f0ed;
  --ink: #1b1c1e;
  --mint: #a8e79b;
}
body { background: var(--bg); }
.site-header { background: rgba(11,12,14,.91); border-color: #ffffff1a; }
.site-footer { background: #090a0c; }
.menu-toggle { background: #1b1c1f; }
.nav a { color: #d0d0d2; }
.cinema-hero { background: #0b0c0e; }
.hero-scene-image { filter: grayscale(.82) brightness(.75); }
.hero-scene::after { background: linear-gradient(90deg,#090a0df2 0%,#090a0dd6 31%,#090a0d72 57%,#090a0d24 100%),linear-gradient(0deg,#0b0c0eef,transparent 30%,#0b0c0e22 70%); }
.hero-scene-grain { background: radial-gradient(circle at 72% 37%,#e0e3ec24 0,transparent 24%),linear-gradient(115deg,transparent 45%,#ffffff0a 54%,transparent 62%); }
.hero-scene-grain::after { background: radial-gradient(ellipse at 70% 45%,#d7e0e72b,transparent 42%); }
.hero-topline, .hero-bottom p, .hero-foot, .hero-foot a { color: #d0d0d2; }
.hero-accent { color: #d6dbd4; }
.action-primary { background: var(--mint); border-color: var(--mint); color: #102011; }
.action-primary > span { background: #181a19; }
.action-ghost { color: #f1f1f1; background: #191a1ed9; border-color: #ffffff45; }
.action-ghost:hover { background: #303136; border-color: #808388; }
.motion-marquee { background: #151619; }
.marquee-track span { color: #d6d7d8; }
.marquee-track i { color: var(--mint); }
.editorial-intro, .work-section, .studio-section { background: #0b0c0e; }
.section-label { color: #adaeb2; border-color: #ffffff32; }
.intro-note p, .expertise-intro p { color: #b8b9bd; }
.intro-copy h2 span { color: #a1a3a7; }
.work-heading h2 em, .expertise-intro h2 em, .process-header h2 em, .outro-inner h2 em, .studio-copy h2 em { color: #cbd0cc; }
.tile-products { background: linear-gradient(150deg,#292b2e,#17181b 65%,#202227); }
.tile-solutions { background: linear-gradient(145deg,#292b2d,#191b1d 60%,#101113); }
.tile-top, .tile-bottom > span, .tile-bottom p { color: #dbdcdd; }
.product-ring { border-color: #d4d9d785; }
.ring-core { background: radial-gradient(circle at 30% 25%,#f1f2f0,#afb6b1 40%,#5c655f 72%,#343b36); box-shadow: 0 0 95px #dce5de25; }
.expertise-section, .process-section, .capabilities { background: #151619; border-color: #ffffff1c; }
.expertise-item:hover { background: #ffffff08; }
.expertise-item p { color: #b8b9bd; }
.community-section, .paper { background: #f1f0ed; color: #1b1c1e; }
.community-section p, .paper p { color: #55585b; }
.community-section .section-label { border-color: #aeb0b0; color: #575a5d; }
.community-heading h2 em { color: #656a67; }
.community-feature { color: #f5f5f4; background: #1d1f21; }
.community-copy { background: radial-gradient(ellipse at 20% 100%,#35383a,#1b1c1f 72%); }
.community-copy p { color: #c7c9c8; }
.community-meta, .community-node { color: #e4e8e4; }
.community-art { background: linear-gradient(125deg,#131415bc,#11121694),url('/photo-community.jpg') center 58% / cover; }
.community-center { background: #d2d8d3; color: #232824; border-color: #eef1ed; box-shadow: 0 0 65px #d9ded747; }
.community-node { background: #252927e8; border-color: #ffffff55; }
.community-orbit { border-color: #e4e8e57a; }
.orbit-c { border-color: #d4d9d84a; }
.community-glow { background: #d2d6d2; }
.process-line li span { color: #b5b6b8; }
.outro-section { background: radial-gradient(ellipse at 80% 100%,#303336,#17191b 52%,#101113); }
.outro-section::before { border-color: #ffffff24; box-shadow: 0 0 0 65px #ffffff0a,0 0 0 130px #ffffff08; }
.studio-visual { background: radial-gradient(ellipse at center,#35393a,#191b1d 62%,#111315); }
.studio-disciplines span { border-color: #626467; color: #d5d6d5; }
.page-intro { background: radial-gradient(ellipse at 90% 25%,#2b2d31,transparent 62%),#101114; border-color: var(--line); }
.page-intro p { color: #c2c3c4; }
.path-card { background: linear-gradient(130deg,#212326,#18191c 68%); }
.capability-grid { background: #323338; border-color: #323338; }
.capability { background: #1b1c1f; }
.capability:hover { background: #292b2e; }
.product-block { background: linear-gradient(120deg,#282a2d,#18191c 62%); border-color: #47494b; }
.diagram { background: radial-gradient(ellipse at 55% 47%,#373b3a,#191b1d 70%); border-color: #484a4a; }
.pill { color: #d8ddd8; background: #252927; border-color: #4d5850; }
.contact-band { background: radial-gradient(ellipse at 93% 100%,#363a38,transparent 63%),#1c1e20; border-color: #484c49; }
.contact-methods a, .form { background: #1b1c1f; }
.field input,.field select,.field textarea { background: #101113; border-color: #4b4d50; }
.photo-band figure { background: #1a1b1e; }
.photo-band figcaption { background: linear-gradient(transparent,#0b0c0ddd); }
.photo-band img { filter: saturate(.82) brightness(.86); }
@media(max-width:780px) {
 .nav { background: #0b0c0ef7; }
 .hero-scene::after { background: linear-gradient(180deg,#090a0ef7 0%,#090a0e99 40%,#090a0e33 73%,#090a0ee3 100%),linear-gradient(90deg,#090a0ec0,transparent 65%); }
}
/* Additional structured editorial content */
.content-section { padding-block: clamp(72px,8vw,116px); background: #0f1012; }
.content-section.light { color-scheme: light; background: #f1f0ed; color: #1b1c1e; }
.content-section.light p { color: #55585b; }
.content-section.light .kicker { color: #3f6743; }
.content-section .section-head { margin-bottom: 35px; }
.content-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: 1px solid #515256; }
.content-card { padding: 24px 28px 22px 0; border-bottom: 1px solid #515256; }
.content-card + .content-card { padding-left: 28px; border-left: 1px solid #515256; }
.content-card small { display: block; color: #a8e79b; font: .7rem/1.3 var(--mono); letter-spacing: .08em; margin-bottom: 20px; }
.content-card h3 { margin-bottom: 10px; font-size: 1.3rem; }
.content-card p { font-size: .91rem; max-width: 380px; }
.content-section.light .content-grid,.content-section.light .content-card { border-color: #c6c5c1; }
.content-section.light .content-card small { color: #486b46; }
.content-lead { max-width: 675px; margin-top: 18px; }
.content-cta { display: inline-block; margin-top: 28px; color: var(--mint); font-weight: 650; }
.content-cta:hover { text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:700px) {
 .content-grid { grid-template-columns: 1fr; }
 .content-card,.content-card + .content-card { padding: 23px 0; border-left: 0; }
 .content-card small { margin-bottom: 12px; }
}

/* Photo-free About and Solutions illustrations */
.tile-solutions { background: linear-gradient(145deg,#292b2d,#191b1d 60%,#101113); }
.tile-solutions .art-solutions { opacity: .9; }
.studio-visual { background: radial-gradient(ellipse at center,#35393a,#191b1d 62%,#111315); }
.studio-circles, .studio-mark { opacity: .8; }
/* Expanded About and Solutions content */
.about-story { padding-block: clamp(75px,9vw,125px); background: #f1f0ed; color: #1b1c1e; color-scheme: light; }
.about-story-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(35px,8vw,120px); align-items: start; }
.about-story h2 { margin-top: 23px; font-size: clamp(3rem,5.5vw,5rem); line-height: 1.03; font-weight: 600; }
.about-story h2 em { color: #6c716c; font-style: italic; font-weight: 450; }
.story-label { color: #4c6e4c; font: .68rem/1.4 var(--mono); letter-spacing: .1em; }
.about-story-copy { padding-top: 5px; }
.about-story-copy p { max-width: 650px; color: #515457; margin-bottom: 18px; }
.about-story-copy .story-lead { color: #222425; font: 600 clamp(1.2rem,1.7vw,1.55rem)/1.4 var(--heading); letter-spacing: -.025em; margin-bottom: 23px; }
.story-link { display: inline-flex; gap: 12px; margin-top: 7px; color: #294f2f; font-size: .9rem; font-weight: 700; }
.story-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.capability-more { display: inline-flex; gap: 7px; align-items: center; margin-top: 18px; color: #bdebb5; font-size: .81rem; font-weight: 650; }
.capability-more:hover { text-decoration: underline; text-underline-offset: 4px; }
.capability-more span { transition: transform .2s; }
.capability-more:hover span { transform: translate(3px,-3px); }
.service-details { padding-block: clamp(75px,8vw,120px); background: #101113; }
.service-details .section-head { margin-bottom: 45px; }
.service-detail-list { border-top: 1px solid #4a4c4f; }
.service-detail { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(30px,6vw,85px); padding: 35px 0; border-bottom: 1px solid #4a4c4f; scroll-margin-top: 105px; }
.service-detail-title { display: grid; grid-template-columns: 42px 1fr; gap: 10px; align-items: start; }
.service-detail-title > span { padding-top: 4px; color: var(--mint); font: .72rem/1.4 var(--mono); }
.service-detail-title h3 { font-size: clamp(1.35rem,2vw,1.9rem); font-weight: 600; }
.service-detail-copy p { max-width: 660px; }
.service-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 20px 0 0; }
.service-tags li { padding: 7px 11px; border: 1px solid #55585b; border-radius: 100px; color: #d2d3d3; font-size: .77rem; line-height: 1.35; }
.service-faq { padding-block: clamp(75px,8vw,120px); background: #151619; border-top: 1px solid var(--line); }
.service-faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(35px,7vw,100px); align-items: start; }
.service-faq h2 { max-width: 490px; font-size: clamp(2.5rem,4vw,3.6rem); }
.service-faq-grid > div:first-child p { max-width: 390px; margin: 19px 0; }
.service-faq .faqs details { padding-block: 20px; }
.service-faq .faqs details p { padding-top: 12px; }
@media (max-width: 780px) {
  .about-story-grid, .service-faq-grid { grid-template-columns: 1fr; }
  .service-detail { grid-template-columns: 1fr; gap: 14px; }
  .service-detail-title { grid-template-columns: 33px 1fr; }
  .service-detail-copy { padding-left: 43px; }
}
@media (max-width: 480px) {
  .service-detail { padding: 27px 0; }
  .service-detail-copy { padding-left: 0; }
}

/* Leadership profiles */
.leadership-section { padding: clamp(75px,8vw,120px) 0; }
.leadership-section .section-head { margin-bottom: 36px; }
.leadership-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; max-width: 1060px; }
.leadership-card { min-width: 0; }
.leadership-portrait { position: relative; overflow: hidden; aspect-ratio: 4 / 4.2; background: #1b1c1f; }
.leadership-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.leadership-card:hover .leadership-portrait img { transform: scale(1.035); }
.leadership-portrait span { position: absolute; left: 16px; bottom: 15px; padding: 6px 8px; background: #101113cf; border: 1px solid #ffffff24; color: #e5e6e5; font: .61rem/1.2 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.leadership-info { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0 23px; border-bottom: 1px solid #414347; }
.leadership-info h3 { font-size: clamp(1.35rem,2vw,1.75rem); }
.leadership-info p { margin-top: 6px; color: #bec1bf; }
.leadership-number { color: #96999a; font: .7rem/1.4 var(--mono); }
@media(max-width: 580px) { .leadership-grid { grid-template-columns: 1fr; gap: 30px; } .leadership-portrait { aspect-ratio: 4 / 3.9; } }
@media(prefers-reduced-motion: reduce) { .leadership-portrait img { transition: none; } }
