:root {
  --ink: #0a0a0a;
  --paper: #f3f0e9;
  --white: #ffffff;
  --red: #ff0001;
  --acid: #a5ff2d;
  --line-dark: rgba(255,255,255,.16);
  --line-light: rgba(10,10,10,.16);
  --shell: min(92vw, 1440px);
  --radius: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; height: auto; display: block; }
.site-shell { width: var(--shell); margin-inline: auto; }
.section-dark { background: var(--ink); color: var(--white); }
.section-light { background: var(--paper); color: var(--ink); }
.section-acid { background: var(--acid); color: var(--ink); }
.skip-link { position: fixed; left: 16px; top: -60px; z-index: 9999; background: var(--acid); padding: 12px 18px; color: var(--ink); }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; z-index: 1000; inset: 0 0 auto; color: var(--white); transition: background .3s ease, color .3s ease, transform .3s ease; }
.site-header.is-scrolled { background: rgba(10,10,10,.86); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08); }
.header-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; position: relative; z-index: 3; font-weight: 900; font-size: 1.45rem; letter-spacing: -.06em; flex: 0 0 auto; }
.brand .custom-logo-link, .brand-fallback { display: inline-flex; align-items: center; line-height: 1; }
.brand .custom-logo { display: block; width: auto; height: 48px; max-width: 180px; object-fit: contain; }
.brand-word { font-size: 1.55rem; }
.brand-dot { color: var(--red); font-size: 2rem; line-height: 0; margin-left: 2px; }
.primary-nav { display: flex; align-items: center; gap: 32px; }
.nav-list { display: flex; gap: 28px; list-style: none; padding: 0; margin: 0; font-size: .9rem; }
.nav-list a { opacity: .76; transition: opacity .2s ease; }
.nav-list a:hover { opacity: 1; }
.nav-cta { border: 1px solid rgba(255,255,255,.34); padding: 12px 16px; border-radius: 999px; font-size: .88rem; display: inline-flex; gap: 10px; align-items: center; }
.menu-toggle { display: none; background: transparent; border: 0; color: inherit; gap: 8px; align-items: center; }
.menu-toggle i { width: 20px; height: 1px; background: currentColor; display: block; }

.hero { min-height: 100svh; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: flex-end; }
.hero-inner { padding-top: 150px; padding-bottom: 90px; position: relative; z-index: 2; }
.hero-grid-lines { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, rgba(0,0,0,1), transparent 90%); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(10px); opacity: .55; transform: translate3d(0,0,0); }
.hero-orb-red { width: 44vw; height: 44vw; max-width: 640px; max-height: 640px; background: radial-gradient(circle, rgba(255,0,1,.8), rgba(255,0,1,0) 68%); right: -13vw; top: 8vh; }
.hero-orb-green { width: 33vw; height: 33vw; max-width: 480px; max-height: 480px; background: radial-gradient(circle, rgba(165,255,45,.55), rgba(165,255,45,0) 70%); left: -16vw; bottom: 5vh; }
.hero-kicker, .section-index, .eyebrow { margin: 0 0 28px; text-transform: uppercase; letter-spacing: .17em; font-size: .7rem; font-weight: 700; }
.hero-kicker { color: rgba(255,255,255,.7); }
.hero-title { margin: 0; font-size: clamp(4rem, 10.3vw, 10.5rem); line-height: .82; letter-spacing: -.075em; font-weight: 900; max-width: 1300px; }
.swap-wrap { display: inline-block; color: var(--acid); min-width: 4.4em; }
.hero-bottom { margin-top: 55px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.hero-bottom p { margin: 0; max-width: 520px; font-size: clamp(1rem, 1.4vw, 1.35rem); line-height: 1.45; color: rgba(255,255,255,.72); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.btn { min-height: 50px; padding: 0 20px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; font-weight: 700; font-size: .9rem; border: 1px solid transparent; }
.btn-primary { background: var(--red); color: var(--white); }
.btn-ghost { border-color: rgba(255,255,255,.25); color: var(--white); }
.btn-dark { background: var(--ink); color: var(--white); width: fit-content; }
.ticker { overflow: hidden; border-top: 1px solid var(--line-dark); position: relative; z-index: 2; }
.ticker-track { display: flex; align-items: center; gap: 24px; width: max-content; animation: marquee 28s linear infinite; padding: 16px 0; font-size: .78rem; letter-spacing: .08em; font-weight: 700; }
.ticker-track b { color: var(--acid); }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.intro-section { padding: 130px 0 150px; }
.intro-grid { display: grid; grid-template-columns: 250px 1fr; gap: 60px; }
.section-index { color: rgba(10,10,10,.48); }
.section-index.light { color: rgba(255,255,255,.46); }
.big-statement { font-size: clamp(2.6rem, 5.4vw, 6.1rem); line-height: .98; letter-spacing: -.06em; margin: 0; max-width: 1150px; }
.big-statement span { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; color: var(--red); }
.intro-copy { margin-top: 60px; display: grid; grid-template-columns: minmax(280px, 620px) auto; gap: 40px; align-items: end; }
.intro-copy p { font-size: 1.2rem; line-height: 1.55; margin: 0; color: rgba(10,10,10,.7); }
.text-link { display: inline-block; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-weight: 700; width: fit-content; }
.light-link { color: rgba(255,255,255,.78); }

.work-section { padding: 130px 0 150px; }
.section-head { display: flex; justify-content: space-between; gap: 50px; align-items: end; margin-bottom: 70px; }
.section-head h2, .process-title h2, .numbers-section h2, .lab-section h2 { font-size: clamp(3rem, 6vw, 7rem); line-height: .9; letter-spacing: -.06em; margin: 0; }
.head-copy { max-width: 430px; line-height: 1.55; color: rgba(10,10,10,.63); margin: 0; }
.work-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px 20px; }
.project-card:nth-child(even) { margin-top: 110px; }
.project-media { position: relative; aspect-ratio: 1.25 / 1; overflow: hidden; border-radius: 2px; }
.project-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.project-card:hover .project-media img { transform: scale(1.03); }
.project-art { width: 100%; height: 100%; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.project-art span { font-size: clamp(5rem, 10vw, 11rem); font-weight: 900; letter-spacing: -.09em; position: relative; z-index: 2; }
.art-1 { background: var(--red); }
.art-1:before { content:''; position:absolute; width:75%; height:75%; border:1px solid rgba(255,255,255,.45); border-radius:50%; }
.art-2 { background: var(--acid); color: var(--ink); }
.art-2:before, .art-2:after { content:''; position:absolute; width:60%; height:120%; border:2px solid var(--ink); transform:rotate(35deg); }
.art-2:after { transform:rotate(-35deg); }
.art-3 { background: #e9e5dc; color: var(--ink); }
.art-3:before { content:''; position:absolute; inset:10%; background: repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 30px); opacity:.25; }
.art-4 { background: linear-gradient(135deg,#161616,#2a2a2a); }
.art-4:before { content:''; position:absolute; width:80%; height:80%; border-radius:50%; background:radial-gradient(circle at 30% 30%,var(--acid),transparent 45%), radial-gradient(circle at 70% 70%,var(--red),transparent 38%); filter:blur(20px); }
.project-hover { position: absolute; right: 18px; bottom: 18px; background: var(--white); color: var(--ink); padding: 12px 15px; border-radius: 999px; font-size: .8rem; font-weight: 700; transform: translateY(15px); opacity: 0; transition: .25s ease; }
.project-card:hover .project-hover { transform: translateY(0); opacity: 1; }
.project-meta { padding-top: 18px; }
.project-meta h3 { margin: 0 0 7px; font-size: 1.35rem; }
.project-meta p { margin: 0; color: rgba(255,255,255,.5); line-height: 1.45; }

.services-section { padding: 130px 0 150px; }
.services-head { align-items: end; }
.service-explorer { border-top: 1px solid var(--line-light); display: grid; grid-template-columns: .9fr 1.1fr; }
.service-tabs { border-right: 1px solid var(--line-light); }
.service-tab { width: 100%; border: 0; border-bottom: 1px solid var(--line-light); background: transparent; color: var(--ink); text-align: left; font-size: clamp(1.5rem, 3vw, 3.3rem); font-weight: 700; letter-spacing: -.04em; padding: 30px 20px 30px 0; display: flex; gap: 24px; align-items: baseline; cursor: pointer; transition: padding .2s ease, background .2s ease; }
.service-tab span { font-size: .68rem; letter-spacing: .08em; font-weight: 700; opacity: .45; min-width: 24px; }
.service-tab.is-active { padding-left: 18px; background: var(--acid); }
.service-panel { min-height: 500px; padding: 46px 0 0 70px; display: flex; flex-direction: column; }
.service-overline { margin: 0 0 30px; font-size: .72rem; letter-spacing: .15em; font-weight: 700; }
.service-panel h3 { font-size: clamp(2.3rem, 4vw, 4.7rem); line-height: .98; letter-spacing: -.055em; margin: 0 0 40px; max-width: 780px; }
.service-list { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: auto; }
.service-list span { padding: 9px 13px; border: 1px solid var(--line-light); border-radius: 999px; font-size: .82rem; }
.service-panel .btn { margin: 42px 0 0; }

.ai-section { padding: 140px 0; }
.ai-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.ai-copy h2 { font-size: clamp(3.6rem, 7vw, 8rem); line-height: .88; letter-spacing: -.07em; margin: 0 0 35px; }
.ai-copy h2 span { color: var(--acid); font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 400; }
.ai-copy > p:not(.section-index) { color: rgba(255,255,255,.65); max-width: 530px; font-size: 1.08rem; line-height: 1.6; }
.ai-chip-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.ai-chip-row span { border: 1px solid rgba(255,255,255,.2); padding: 8px 12px; border-radius: 999px; font-size: .78rem; }
.ask-card { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.055); border-radius: var(--radius); overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.35); }
.ask-top { min-height: 74px; padding: 14px 18px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.12); }
.ask-avatar { width: 42px; height: 42px; display: grid; place-items: center; background: var(--acid); color: var(--ink); border-radius: 50%; font-weight: 900; }
.ask-top strong { display: block; }
.ask-top small { display: block; color: rgba(255,255,255,.46); margin-top: 3px; }
.online-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--acid); margin-left: auto; box-shadow: 0 0 0 5px rgba(165,255,45,.1); }
.ask-screen { min-height: 330px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; }
.ask-message { background: var(--white); color: var(--ink); padding: 14px 16px; border-radius: 6px 18px 18px 18px; max-width: 74%; line-height: 1.45; margin: 0 0 20px; }
.quick-prompts { display: flex; flex-wrap: wrap; gap: 7px; }
.quick-prompts button { color: rgba(255,255,255,.76); background: transparent; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; padding: 8px 11px; cursor: pointer; font-size: .78rem; }
.ask-response { margin-top: 22px; margin-left: auto; max-width: 82%; background: var(--acid); color: var(--ink); padding: 16px 18px; border-radius: 18px 6px 18px 18px; line-height: 1.46; }
.ask-form { margin: 0 18px 12px; display: grid; grid-template-columns: 1fr 48px; gap: 8px; }
.ask-form input { min-height: 52px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.07); color: var(--white); padding: 0 18px; outline: none; }
.ask-form input::placeholder { color: rgba(255,255,255,.4); }
.ask-form button { border: 0; border-radius: 50%; background: var(--red); color: var(--white); cursor: pointer; font-weight: 900; }
.prototype-note { margin: 0 22px 18px; color: rgba(255,255,255,.36); font-size: .7rem; }

.process-section { padding: 130px 0 150px; }
.process-title { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 70px; }
.process-title p { margin: 0; font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-size: 1.5rem; color: var(--red); }
.process-list { border-top: 1px solid var(--line-light); }
.process-row { display: grid; grid-template-columns: 70px 1fr 1fr; align-items: center; padding: 27px 0; border-bottom: 1px solid var(--line-light); }
.process-row > span { font-size: .7rem; opacity: .46; }
.process-row h3 { margin: 0; font-size: clamp(2rem, 3.5vw, 4rem); letter-spacing: -.05em; }
.process-row p { margin: 0; color: rgba(10,10,10,.58); }

.numbers-section { padding: 130px 0 145px; }
.numbers-section .section-index { color: rgba(10,10,10,.58); }
.numbers-section h2 { margin-bottom: 70px; }
.numbers-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(10,10,10,.28); }
.numbers-grid > div { min-height: 230px; padding: 24px 20px 0 0; border-right: 1px solid rgba(10,10,10,.28); display: flex; flex-direction: column; justify-content: space-between; }
.numbers-grid > div:not(:first-child) { padding-left: 20px; }
.numbers-grid > div:last-child { border-right: 0; }
.numbers-grid strong { font-size: clamp(3rem, 5vw, 6rem); line-height: 1; letter-spacing: -.06em; }
.numbers-grid span { max-width: 190px; line-height: 1.4; font-size: .88rem; }

.africa-section { padding: 140px 0; overflow: hidden; }
.africa-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
.africa-grid h2 { font-size: clamp(4rem, 8vw, 9rem); line-height: .82; letter-spacing: -.075em; margin: 0; }
.africa-grid h2 span { color: var(--red); }
.africa-visual { min-height: 620px; position: relative; display: grid; place-items: center; }
.africa-ring { width: min(38vw, 500px); height: min(38vw, 500px); border-radius: 50%; border: 1px solid rgba(255,255,255,.26); position: relative; }
.africa-ring:before, .africa-ring:after { content:''; position:absolute; inset:14%; border:1px solid rgba(165,255,45,.5); border-radius:50%; }
.africa-ring:after { inset:30%; border-color: rgba(255,0,1,.55); }
.africa-mark { position: absolute; font-size: clamp(8rem, 18vw, 18rem); font-weight: 900; color: var(--white); letter-spacing: -.12em; }
.africa-card { position: absolute; top: 10%; right: 2%; z-index: 4; background: var(--acid); color: var(--ink); padding: 16px; width: 150px; transform: rotate(5deg); }
.africa-card span, .africa-card b { display: block; }
.africa-card span { font-size: .72rem; letter-spacing: .1em; }
.africa-card b { font-size: .82rem; margin-top: 25px; }

.lab-section { padding: 130px 0 150px; }
.lab-grid { border-top: 1px solid var(--line-light); }
.lab-card { display: grid; grid-template-columns: 70px 1fr auto; gap: 25px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--line-light); transition: padding .2s ease, background .2s ease; }
.lab-card:hover { padding-left: 18px; padding-right: 18px; background: var(--white); }
.lab-card > span { font-size: .7rem; opacity: .45; }
.lab-card p { margin: 0 0 8px; font-size: .7rem; letter-spacing: .12em; opacity: .54; }
.lab-card h3 { margin: 0; font-size: clamp(2rem, 3.5vw, 4.2rem); letter-spacing: -.05em; }
.lab-card small { display: block; margin-top: 8px; opacity: .56; }
.lab-card b { font-size: 2rem; }

.site-footer { background: var(--red); color: var(--white); padding: 110px 0 30px; }
.footer-kicker { border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 14px; font-size: .75rem; text-transform: uppercase; letter-spacing: .16em; }
.footer-cta-row { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; padding: 55px 0 80px; }
.footer-cta-row h2 { margin: 0; font-size: clamp(4rem, 9vw, 10rem); line-height: .78; letter-spacing: -.08em; }
.footer-cta-row h2 span { color: var(--acid); }
.round-link { width: 100px; height: 100px; border-radius: 50%; background: var(--white); color: var(--ink); display: grid; place-items: center; font-size: 2rem; transition: transform .2s ease; }
.round-link:hover { transform: rotate(12deg) scale(1.04); }
.footer-grid { border-top: 1px solid rgba(255,255,255,.3); padding-top: 30px; display: grid; grid-template-columns: 2fr 1fr 1.5fr 1fr; gap: 25px; }
.footer-grid strong { font-size: 1.8rem; letter-spacing: -.07em; }
.footer-grid strong span { color: var(--acid); }
.footer-grid p { line-height: 1.55; color: rgba(255,255,255,.75); }
.footer-grid a { display: block; width: fit-content; margin-bottom: 8px; color: rgba(255,255,255,.84); }
.footer-label { text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; color: rgba(255,255,255,.5)!important; }
.footer-bottom { margin-top: 75px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.3); display: flex; justify-content: space-between; color: rgba(255,255,255,.62); font-size: .78rem; }

.content-page, .work-archive { padding-top: 150px; padding-bottom: 120px; }
.content-page h1, .work-archive h1, .project-single-head h1 { font-size: clamp(3.5rem, 8vw, 8rem); line-height: .88; letter-spacing: -.07em; }
.editorial-post, .project-body { max-width: 900px; }
.entry-content, .project-body { font-size: 1.1rem; line-height: 1.7; }
.archive-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px 20px; margin-top: 80px; }
.archive-media { aspect-ratio: 1.25/1; overflow: hidden; background: #ddd; }
.archive-media img { width:100%; height:100%; object-fit:cover; }
.media-placeholder { width:100%; height:100%; background:linear-gradient(135deg,var(--red),var(--acid)); }
.archive-meta { display:flex; justify-content:space-between; gap:20px; padding-top:15px; align-items:end; }
.archive-meta h2 { margin:0; }
.archive-meta span { font-size:.8rem; }
.project-single-head { padding-top: 160px; padding-bottom: 70px; }
.project-lede { max-width: 700px; font-size: 1.25rem; color: rgba(10,10,10,.62); line-height:1.5; }
.project-hero-media img { width:100%; max-height:80vh; object-fit:cover; }
.project-body { padding-top:80px; padding-bottom:120px; }

.reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s ease, transform .8s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1024px) {
  .nav-list { display: none; }
  .intro-grid { grid-template-columns: 170px 1fr; }
  .ai-grid, .africa-grid { grid-template-columns: 1fr; }
  .service-explorer { grid-template-columns: 1fr; }
  .service-tabs { border-right: 0; }
  .service-panel { padding-left: 0; min-height: 430px; }
  .numbers-grid { grid-template-columns: 1fr 1fr; }
  .numbers-grid > div:nth-child(2) { border-right: 0; }
  .numbers-grid > div:nth-child(n+3) { border-top: 1px solid rgba(10,10,10,.28); }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  :root { --shell: min(90vw, 1440px); }
  .header-inner { min-height: 72px; }
  .menu-toggle { display: flex; position: relative; z-index: 4; }
  .menu-toggle span { display:none; }
  .primary-nav { position: fixed; inset: 0; background: var(--ink); padding: 110px 5vw 30px; flex-direction: column; align-items: stretch; transform: translateY(-100%); opacity: 0; transition: .4s cubic-bezier(.2,.8,.2,1); }
  .primary-nav.is-open { transform: translateY(0); opacity: 1; }
  .primary-nav .nav-list { display: block; }
  .nav-list li { border-bottom: 1px solid rgba(255,255,255,.14); }
  .nav-list a { display:block; padding:16px 0; font-size:1.5rem; opacity:1; }
  .nav-cta { margin-top:20px; justify-content:center; }
  .hero-inner { padding-top: 125px; padding-bottom: 55px; }
  .hero-title { font-size: clamp(3.2rem, 17vw, 6rem); }
  .hero-bottom { grid-template-columns: 1fr; margin-top: 38px; }
  .hero-actions { width:100%; }
  .hero-actions .btn { flex:1; }
  .intro-section, .work-section, .services-section, .process-section, .numbers-section, .lab-section { padding: 90px 0 100px; }
  .intro-grid { grid-template-columns: 1fr; gap:20px; }
  .big-statement { font-size: clamp(2.5rem, 12vw, 4rem); }
  .intro-copy { grid-template-columns: 1fr; margin-top: 35px; }
  .section-head, .process-title { align-items:flex-start; flex-direction:column; margin-bottom:45px; }
  .work-grid, .archive-grid { grid-template-columns: 1fr; }
  .project-card:nth-child(even) { margin-top:0; }
  .project-media { aspect-ratio: 1.05 / 1; }
  .service-tab { font-size:1.65rem; padding:22px 10px 22px 0; }
  .service-panel { padding-top:32px; }
  .service-panel h3 { font-size:2.55rem; }
  .ai-section { padding: 95px 0; }
  .ai-grid { gap:50px; }
  .ask-screen { min-height:310px; padding:20px; }
  .ask-message, .ask-response { max-width:92%; }
  .process-row { grid-template-columns: 42px 1fr; gap:8px; }
  .process-row p { grid-column:2; margin-top:4px; }
  .numbers-grid { grid-template-columns:1fr; }
  .numbers-grid > div, .numbers-grid > div:not(:first-child) { border-right:0; border-top:1px solid rgba(10,10,10,.28); padding:24px 0; min-height:180px; }
  .numbers-grid > div:first-child { border-top:0; }
  .africa-section { padding: 95px 0; }
  .africa-visual { min-height:420px; }
  .africa-ring { width:78vw; height:78vw; }
  .lab-card { grid-template-columns:42px 1fr auto; gap:12px; }
  .lab-card small { max-width:240px; }
  .site-footer { padding-top:80px; }
  .footer-cta-row { grid-template-columns:1fr; }
  .round-link { width:75px; height:75px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column:1 / -1; }
  .footer-bottom { flex-direction:column; gap:8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }
}

/* Client portfolio additions */
.client-art { padding: 8%; text-align: center; }
.client-art span { font-size: clamp(2.4rem, 6vw, 6.5rem); line-height: .88; max-width: 90%; }
.client-art-3 { background: linear-gradient(135deg,#070707 0%,#222 45%,#b89a57 100%); color:#fff; }
.client-art-5 { background: #f1e6ce; color:#132413; }
.client-art-5:before { content:''; position:absolute; inset:8%; border:2px solid #132413; border-radius:999px; opacity:.35; }
.clients-section { padding: 130px 0 150px; border-bottom: 1px solid var(--line-light); }
.client-service-grid { display:grid; grid-template-columns: repeat(3,1fr); border-top:1px solid var(--line-light); border-left:1px solid var(--line-light); }
.client-service-card { padding:28px; min-height:520px; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); display:flex; flex-direction:column; }
.client-service-number { font-size:.72rem; letter-spacing:.12em; opacity:.45; margin-bottom:55px; }
.client-service-label { font-size:.72rem; font-weight:800; letter-spacing:.15em; margin:0 0 28px; }
.client-list { display:flex; flex-direction:column; margin-top:auto; }
.client-list > span, .client-list > a { font-size:clamp(1.35rem,2.2vw,2.45rem); font-weight:700; letter-spacing:-.04em; line-height:1.05; padding:14px 0; border-top:1px solid var(--line-light); display:flex; justify-content:space-between; gap:12px; }
.client-list a:hover { color:var(--red); }
.client-proof-strip { display:grid; grid-template-columns:auto 1fr auto 1fr auto 1fr; align-items:center; gap:18px; margin-top:40px; padding:28px 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.client-proof-strip strong { font-size:clamp(2.4rem,4vw,4.5rem); letter-spacing:-.06em; color:var(--red); }
.client-proof-strip span { max-width:190px; line-height:1.35; color:rgba(10,10,10,.62); font-size:.85rem; }
@media (max-width: 900px) { .client-service-grid { grid-template-columns:1fr; } .client-service-card { min-height:auto; } .client-service-number { margin-bottom:35px; } .client-list { margin-top:20px; } .client-proof-strip { grid-template-columns:auto 1fr; } }
@media (max-width: 760px) { .clients-section { padding:90px 0 100px; } .client-service-card { padding:22px 18px; } .client-list > span, .client-list > a { font-size:1.7rem; } }

@media (max-width: 720px) {
  .brand .custom-logo { height: 40px; max-width: 145px; }
}
