body.rls-takeover { margin: 0; background: #11110f; }
body.rls-takeover #wpadminbar { z-index: 100000; }
#rls-app, #rls-app * { box-sizing: border-box; }
#rls-app {
    --rls-mx: 50%; --rls-my: 30%;
    margin: 0; overflow: hidden; background: var(--rls-paper); color: var(--rls-body-color);
    display: flex; flex-direction: column;
    font-family: var(--rls-font-body), Arial, sans-serif; font-size: var(--rls-size-body); line-height: var(--rls-lh-body); font-weight: var(--rls-weight-body); letter-spacing: var(--rls-ls-body);
}
#rls-app a { color: inherit; text-decoration: none; }
#rls-app button, #rls-app input, #rls-app textarea { font: inherit; }
#rls-app img, #rls-app video { max-width: 100%; }
#rls-app ::selection { background: var(--rls-acid); color: var(--rls-ink); }
.rls-noise { position: fixed; inset: 0; z-index: 900; pointer-events: none; opacity: .055; mix-blend-mode: multiply; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }
.rls-header { position: fixed; inset: 0 0 auto; height: 88px; z-index: 800; display: grid; grid-template-columns: 1fr auto 1fr auto; align-items: center; gap: 28px; padding: 0 34px; color: #fff; mix-blend-mode: difference; }
.admin-bar .rls-header { top: 32px; }
.rls-brand, .rls-footer-brand { display: block; width: max-content; line-height: 1; }
.rls-logo { display: flex; align-items: center; font-size: 34px; font-weight: 900; letter-spacing: -.12em; }
.rls-logo i { font-style: normal; color: var(--rls-acid); margin: 0 .05em; }
.rls-logo-image img { display: block; width: var(--rls-logo-width,76px); height: auto; }
.rls-header-note { text-transform: uppercase; font: 9px/1.5 'Geist Mono', monospace; letter-spacing: .18em; opacity: .7; white-space: pre-line; }
.rls-header-cta { justify-self: end; font-size: 13px; display: flex; gap: 12px; padding-bottom: 6px; border-bottom: 1px solid currentColor; }
.rls-menu-button { appearance: none; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; background: transparent; color: #fff; padding: 10px 14px 10px 18px; display: flex; align-items: center; gap: 20px; text-transform: uppercase; letter-spacing: .12em; font-size: 10px; }
.rls-menu-button b { font-size: 19px; font-weight: 300; }
.rls-menu-overlay { position: fixed; inset: 0; z-index: 700; background: var(--rls-violet); color: #fff; padding: 120px 8vw 50px; display: flex; flex-direction: column; justify-content: center; transform: translateY(-105%); transition: transform .7s cubic-bezier(.76,0,.24,1); }
.admin-bar .rls-menu-overlay { padding-top: 150px; }
.rls-menu-overlay.is-open { transform: none; }
.rls-menu-index { position: absolute; top: 118px; left: 8vw; font: 11px 'Geist Mono', monospace; text-transform: uppercase; letter-spacing: .12em; opacity: .65; }
.admin-bar .rls-menu-index { top: 150px; }
.rls-menu-overlay a { display: grid; grid-template-columns: 56px 1fr auto; align-items: center; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.28); font-size: clamp(34px,5vw,76px); letter-spacing: -.055em; line-height: 1; transition: padding .25s; }
.rls-menu-overlay a:hover { padding-left: 14px; }
.rls-menu-overlay small { font: 10px 'Geist Mono', monospace; letter-spacing: .1em; }

.rls-hero { min-height: 100svh; position: relative; color: #fff; display: flex; align-items: flex-end; overflow: hidden; background: var(--rls-ink); }
.rls-hero-video, .rls-hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.05); }
.rls-hero-image { background-size: cover; background-position: center; }
.rls-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.08) 35%,rgba(0,0,0,.8)); }
.rls-hero-spotlight { position: absolute; inset: 0; background: radial-gradient(520px circle at var(--rls-mx) var(--rls-my), color-mix(in srgb,var(--rls-acid) 16%,transparent), transparent 58%); }
.rls-hero-content { position: relative; width: 100%; padding: 150px 5vw 44px; }
.rls-eyebrow { margin: 0; font: var(--rls-size-eyebrow)/1.5 'Geist Mono', monospace; text-transform: uppercase; letter-spacing: .2em; }
.rls-hero .rls-eyebrow { color: var(--rls-hero-eyebrow-color); }
.rls-hero h1 { max-width: 1300px; margin: 25px 0 62px; font-size: clamp(50px,7.6vw,var(--rls-size-hero-title)); line-height: .89; letter-spacing: -.072em; font-weight: 500; color: var(--rls-hero-title-color); }
#rls-app h1 em, #rls-app h2 em, .rls-statement em { color: var(--rls-acid); font-style: normal; }
.rls-hero-bottom { display: flex; align-items: flex-end; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.35); padding-top: 18px; }
.rls-hero-bottom p { max-width: 510px; margin: 0; font-size: clamp(16px,1.5vw,24px); line-height: 1.25; letter-spacing: -.025em; }
.rls-hero-bottom a { width: 52px; height: 52px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; display: grid; place-items: center; font-size: 21px; transition: .25s; }
.rls-hero-bottom a:hover { background: var(--rls-acid); border-color: var(--rls-acid); color: var(--rls-ink); transform: rotate(-45deg); }
.rls-ticker { display: flex; overflow: hidden; background: var(--rls-acid); color: var(--rls-ink); padding: 12px 0 10px; font-size: 20px; font-weight: 750; letter-spacing: -.03em; white-space: nowrap; }
.rls-ticker div { animation: rls-marquee 28s linear infinite; }
@keyframes rls-marquee { to { transform: translateX(-100%); } }

.rls-section { padding: 130px 5vw; }
.rls-section-label { display: flex; align-items: center; gap: 14px; font: var(--rls-size-eyebrow)/1.4 'Geist Mono', monospace; text-transform: uppercase; letter-spacing: .18em; margin-bottom: 80px; }
.rls-section-label span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid currentColor; border-radius: 50%; }
.rls-statement { color: var(--rls-section-title-color); font-size: clamp(42px,6vw,var(--rls-size-statement)); line-height: .99; letter-spacing: -.06em; max-width: 1300px; margin: 0; }
.rls-statement em { background: var(--rls-ink); padding: 0 .12em .05em; }
.rls-manifesto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; margin: 100px 0 0 38%; }
.rls-manifesto-grid p { margin: 0; font-size: var(--rls-size-body); line-height: 1.55; letter-spacing: -.018em; }
.rls-dark { background: var(--rls-ink); color: #fff; }
.rls-dark .rls-section-label { color: rgba(255,255,255,.72); }
.rls-section-head { display: grid; grid-template-columns: 2.3fr 1fr; gap: 8vw; align-items: flex-end; margin-bottom: 80px; }
.rls-section-head h2, .rls-method h2, .rls-about h2 { color: var(--rls-section-title-color); margin: 0; font-size: clamp(48px,7vw,var(--rls-size-section-title)); line-height: .92; letter-spacing: -.065em; font-weight: 520; }
.rls-dark .rls-section-head h2 { color: #fff; }
.rls-section-head p { margin: 0; font-size: var(--rls-size-body); line-height: 1.55; }
.rls-dark .rls-section-head p { color: var(--rls-muted); }
.rls-service-row { display: grid; grid-template-columns: 54px 2fr 1.4fr 1fr 30px; gap: 24px; align-items: center; border-top: 1px solid rgba(255,255,255,.19); padding: 27px 0; outline: none; transition: .3s; }
.rls-service-row:last-child { border-bottom: 1px solid rgba(255,255,255,.19); }
.rls-service-row > span { font: 10px 'Geist Mono', monospace; opacity: .55; }
.rls-service-row h3 { margin: 0; color: inherit; font-size: clamp(24px,3vw,var(--rls-size-service-title)); letter-spacing: -.045em; font-weight: 500; }
.rls-service-row p { margin: 0; color: var(--rls-muted); line-height: 1.45; max-width: 390px; }
.rls-service-row small { color: var(--rls-acid); font: 9px/1.5 'Geist Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }
.rls-service-row b { font-size: 24px; font-weight: 300; transition: .25s; }
.rls-service-row.is-active { background: var(--rls-acid); color: var(--rls-ink); padding-left: 20px; padding-right: 20px; }
.rls-service-row.is-active p { color: #353b26; }
.rls-service-row.is-active small { color: var(--rls-ink); }
.rls-service-row.is-active b { transform: rotate(45deg); }

.rls-work .rls-section-head { grid-template-columns: 2fr 1fr; }
.rls-work h2 em, .rls-about h2 em { color: var(--rls-violet); }
.rls-project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.rls-project-card { min-height: 570px; display: flex; flex-direction: column; justify-content: space-between; padding: 25px; overflow: hidden; position: relative; background: var(--rls-card,var(--rls-violet)); color: var(--rls-ink); }
.rls-project-card:nth-child(even) { margin-top: 90px; }
.rls-project-top, .rls-project-copy { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 2; }
.rls-project-top span, .rls-project-top small { font: 10px 'Geist Mono', monospace; text-transform: uppercase; letter-spacing: .12em; }
.rls-project-art { position: absolute; inset: 60px 0 86px; display: grid; place-items: center; overflow: hidden; }
.rls-project-art:before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(0,0,0,.06),rgba(0,0,0,.14)), var(--rls-project-image,none); background-size: cover; background-position: center; opacity: .92; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.rls-project-card:hover .rls-project-art:before { transform: scale(1.045); }
.rls-project-art b { position: relative; z-index: 1; font-size: clamp(160px,23vw,390px); letter-spacing: -.15em; line-height: 1; transform: translateX(-.07em); opacity: .94; mix-blend-mode: multiply; }
.rls-project-art i { position: absolute; z-index: 1; width: 42%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(0,0,0,.28); box-shadow: 0 0 0 40px rgba(255,255,255,.12),0 0 0 80px rgba(255,255,255,.09); }
.rls-project-copy { align-items: flex-end; }
.rls-project-copy h3 { margin: 0; color: inherit; font-size: clamp(31px,4vw,var(--rls-size-project-title)); letter-spacing: -.055em; font-weight: 600; }
.rls-project-copy p { margin: 0 auto 5px 25px; font-size: 12px; }
.rls-project-copy > span { font-size: 27px; }
.rls-text-link { display: flex; justify-content: space-between; border-bottom: 1px solid var(--rls-ink); padding: 20px 0; margin-top: 70px; font-size: clamp(24px,3vw,48px); letter-spacing: -.045em; }

.rls-clients { background: var(--rls-client-bg,var(--rls-acid)); color: var(--rls-ink); overflow: hidden; }
.rls-clients-head { display: grid; grid-template-columns: 2.3fr 1fr; gap: 8vw; align-items: flex-end; margin-bottom: 85px; }
.rls-clients h2 { margin: 0; color: var(--rls-ink); font-size: clamp(48px,7vw,var(--rls-size-section-title)); line-height: .92; letter-spacing: -.065em; font-weight: 520; }
.rls-clients h2 em { color: var(--rls-violet); font-style: normal; }
.rls-clients-head p { margin: 0; font-size: var(--rls-size-body); line-height: 1.55; }
.rls-logo-marquee { margin: 0 -5vw; border-top: 1px solid rgba(17,17,15,.28); border-bottom: 1px solid rgba(17,17,15,.28); }
.rls-logo-line { overflow: hidden; }
.rls-logo-line + .rls-logo-line { border-top: 1px solid rgba(17,17,15,.28); }
.rls-logo-track { display: flex; width: max-content; animation: rls-logo-flow var(--rls-client-speed,38s) linear infinite; }
.rls-logo-track.is-reverse { animation-direction: reverse; animation-duration: var(--rls-client-speed,38s); }
.rls-logo-track:hover { animation-play-state: paused; }
.rls-client-logo { min-width: 230px; height: var(--rls-client-height,112px); display: grid; place-items: center; padding: 22px 34px; border-right: 1px solid rgba(17,17,15,.28); transition: .25s; }
.rls-client-logo img { display: block; width: 100%; max-width: 160px; max-height: calc(var(--rls-client-height,112px) - 38px); object-fit: contain; transition: filter .25s,opacity .25s,transform .25s; }
.rls-clients.is-monochrome .rls-client-logo img { filter: grayscale(1); opacity: .72; }
.rls-client-logo:hover { background: color-mix(in srgb,var(--rls-ink) 7%,transparent); }
.rls-client-logo:hover img { filter: grayscale(0); opacity: 1; transform: scale(1.045); }
.rls-client-logo b { font-size: 19px; font-weight: 800; letter-spacing: -.035em; text-align: center; }
@keyframes rls-logo-flow { to { transform: translateX(-50%); } }

.rls-method { background: var(--rls-violet); color: #fff; }
.rls-method h2 { max-width: 1100px; color: #fff; }
.rls-method h2 em { color: var(--rls-acid); }
.rls-method-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 110px; border-top: 1px solid rgba(255,255,255,.35); }
.rls-method-grid article { padding: 20px 25px 0 0; border-right: 1px solid rgba(255,255,255,.35); min-height: 310px; }
.rls-method-grid article:not(:first-child) { padding-left: 25px; }
.rls-method-grid article:last-child { border: 0; }
.rls-method-grid article > span { font: 10px 'Geist Mono', monospace; }
.rls-method-grid article > div { width: 14px; height: 14px; background: var(--rls-acid); border-radius: 50%; margin: 65px 0 38px; }
.rls-method-grid h3 { color: #fff; font-size: 30px; margin: 0 0 15px; letter-spacing: -.04em; }
.rls-method-grid p { margin: 0; color: rgba(255,255,255,.68); line-height: 1.55; max-width: 220px; }

.rls-about-grid { display: grid; grid-template-columns: 2.2fr 1fr; gap: 8vw; align-items: flex-end; }
.rls-about-copy p { margin: 0 0 22px; font-size: var(--rls-size-body); line-height: 1.55; }
.rls-values { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 110px; border-top: 1px solid rgba(17,17,15,.18); border-bottom: 1px solid rgba(17,17,15,.18); }
.rls-values span { padding: 25px 8px; text-align: center; border-right: 1px solid rgba(17,17,15,.18); text-transform: uppercase; font: 11px 'Geist Mono', monospace; letter-spacing: .12em; }
.rls-values span:last-child { border: 0; }
.rls-about blockquote { margin: 120px auto 0; max-width: 1050px; text-align: center; color: var(--rls-quote-color); font-size: clamp(34px,5vw,var(--rls-size-quote)); line-height: 1.05; letter-spacing: -.052em; border: 0; padding: 0; }

.rls-fit-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.rls-fit-grid article { border: 1px solid rgba(255,255,255,.25); min-height: 360px; padding: 27px; display: flex; flex-direction: column; transition: .3s; }
.rls-fit-grid article:hover { background: var(--rls-acid); color: var(--rls-ink); transform: translateY(-10px); }
.rls-fit-grid article > span { font-size: 28px; }
.rls-fit-grid h3 { color: inherit; margin: auto 0 18px; font-size: clamp(28px,3vw,44px); line-height: 1; letter-spacing: -.05em; }
.rls-fit-grid p { margin: 0; color: var(--rls-muted); line-height: 1.5; }
.rls-fit-grid article:hover p { color: #3f472c; }

.rls-contact { min-height: 92svh; position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 100px 5vw; background: var(--rls-acid); overflow: hidden; }
.rls-contact-orb { position: absolute; width: 58vw; aspect-ratio: 1; border-radius: 50%; background: var(--rls-violet); left: var(--rls-mx); top: var(--rls-my); transform: translate(-50%,-50%); opacity: .9; transition: .08s linear; }
.rls-contact > *:not(.rls-contact-orb) { position: relative; z-index: 2; }
.rls-contact h2 { color: var(--rls-contact-title-color); font-size: clamp(54px,8vw,var(--rls-size-contact-title)); line-height: .88; letter-spacing: -.075em; margin: 35px 0 60px; font-weight: 520; }
.rls-contact-actions { display: flex; align-items: center; gap: 34px; }
.rls-primary-button { display: flex; align-items: center; gap: 45px; background: var(--rls-ink); color: #fff !important; padding: 20px 24px; border-radius: 99px; font-size: 14px; }
.rls-mail-link { color: #fff !important; border-bottom: 1px solid currentColor; padding-bottom: 5px; }

.rls-footer { background: var(--rls-ink); color: #fff; padding: 65px 5vw 30px; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 35px; align-items: start; }
.rls-footer .rls-logo { font-size: clamp(70px,10vw,150px); }
.rls-footer .rls-logo-image img { width: min(260px,var(--rls-logo-width,260px)); filter: brightness(0) invert(1); }
.rls-footer p { margin: 0 0 8px; color: var(--rls-muted); }
.rls-footer > div:nth-of-type(2) { display: flex; flex-direction: column; gap: 10px; }
.rls-footer > div:nth-of-type(2) a { display: flex; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: 8px; }
.rls-footer small { grid-column: 1/-1; border-top: 1px solid rgba(255,255,255,.2); padding-top: 20px; margin-top: 55px; color: #777; }

.rls-reveal { opacity: 0; transform: translateY(35px); transition: opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1); }
.rls-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width:900px) {
    .rls-header { height:72px;padding:0 18px;grid-template-columns:1fr auto }
    .admin-bar .rls-header { top:46px }
    .rls-header-note,.rls-header-cta { display:none }
    .rls-hero-content { padding:130px 20px 28px }
    .rls-hero h1 { font-size:clamp(47px,13vw,var(--rls-size-hero-mobile));line-height:.92 }
    .rls-section { padding:90px 20px }
    .rls-section-label { margin-bottom:55px }
    .rls-manifesto-grid { margin:65px 0 0;grid-template-columns:1fr;gap:20px }
    .rls-section-head,.rls-work .rls-section-head,.rls-about-grid,.rls-clients-head { grid-template-columns:1fr }
    .rls-section-head h2,.rls-method h2,.rls-about h2 { font-size:var(--rls-size-section-mobile) }
    .rls-clients h2 { font-size:var(--rls-size-section-mobile) }
    .rls-manifesto-grid p,.rls-section-head p,.rls-about-copy p { font-size:var(--rls-size-body-mobile) }
    .rls-service-row { grid-template-columns:35px 1fr 24px;padding:22px 0 }
    .rls-service-row p,.rls-service-row small { display:none }
    .rls-service-row h3 { font-size:25px }
    .rls-project-card { min-height:460px }
    .rls-method-grid { grid-template-columns:1fr 1fr }
    .rls-method-grid article:nth-child(2) { border-right:0 }
    .rls-method-grid article { border-bottom:1px solid rgba(255,255,255,.35) }
    .rls-method-grid article:nth-child(3),.rls-method-grid article:nth-child(4) { border-bottom:0 }
    .rls-values { grid-template-columns:1fr 1fr }
    .rls-values span:nth-child(2) { border-right:0 }
    .rls-values span:nth-child(-n+2) { border-bottom:1px solid rgba(17,17,15,.18) }
    .rls-fit-grid { grid-template-columns:1fr }
    .rls-fit-grid article { min-height:270px }
}

@media (max-width:620px) {
    .rls-logo { font-size:29px }
    .rls-menu-button span { display:none }
    .rls-menu-button { padding:6px 10px }
    .rls-menu-overlay { padding:110px 20px 35px }
    .rls-menu-index { left:20px;top:96px }
    .admin-bar .rls-menu-index { top:142px }
    .rls-menu-overlay a { grid-template-columns:38px 1fr auto;font-size:39px;padding:14px 0 }
    .rls-hero h1 { font-size:var(--rls-size-hero-mobile) }
    .rls-hero-bottom p { width:78%;font-size:var(--rls-size-body-mobile) }
    .rls-section-label { margin-bottom:45px }
    .rls-statement { font-size:42px }
    .rls-project-grid { grid-template-columns:1fr }
    .rls-project-card,.rls-project-card:nth-child(even) { margin:0;min-height:420px }
    .rls-client-logo { min-width:180px;height:max(82px,var(--rls-client-height,112px));padding:18px 25px }
    .rls-client-logo b { font-size:16px }
    .rls-project-art b { font-size:52vw }
    .rls-project-copy p { display:none }
    .rls-method-grid { grid-template-columns:1fr }
    .rls-method-grid article,.rls-method-grid article:not(:first-child) { border-right:0;border-bottom:1px solid rgba(255,255,255,.35);padding:22px 0;min-height:245px }
    .rls-method-grid article:last-child { border-bottom:0 }
    .rls-method-grid article>div { margin:40px 0 22px }
    .rls-values { grid-template-columns:1fr }
    .rls-values span { border-right:0;border-bottom:1px solid rgba(17,17,15,.18) }
    .rls-contact { min-height:80svh }
    .rls-contact-orb { width:110vw }
    .rls-contact h2 { font-size:var(--rls-size-section-mobile) }
    .rls-contact-actions { flex-direction:column;gap:22px }
    .rls-footer { grid-template-columns:1fr }
    .rls-footer small { grid-column:1 }
}

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

/* V1.2 · sistema visual administrable */
#rls-app h1,#rls-app h2,#rls-app h3,#rls-app .rls-statement { font-family:var(--rls-font-display),Arial,sans-serif }
#rls-app h1 { font-weight:var(--rls-weight-h1);line-height:var(--rls-lh-h1);letter-spacing:var(--rls-ls-h1) }
#rls-app h2 { font-weight:var(--rls-weight-h2);line-height:var(--rls-lh-h2);letter-spacing:var(--rls-ls-h2) }
.rls-eyebrow,.rls-section-label,.rls-header-note,.rls-menu-index,.rls-menu-overlay small,.rls-service-row>span,.rls-service-row small,.rls-project-top span,.rls-project-top small,.rls-method-grid article>span,.rls-values span,.rls-team-card>p,.rls-team-system>span,.rls-person-copy>p { font-family:var(--rls-font-mono),monospace!important;font-weight:var(--rls-weight-eyebrow);letter-spacing:var(--rls-ls-eyebrow) }
#rls-app h1 em { color:var(--rls-h1-accent) }
#rls-app h2 em,.rls-statement em { color:var(--rls-h2-accent) }
.rls-section { padding:var(--rls-section-pad-desktop) var(--rls-side-pad-desktop) }
.rls-hero-content,.rls-footer { padding-left:var(--rls-side-pad-desktop);padding-right:var(--rls-side-pad-desktop) }
.rls-logo-marquee { margin-left:calc(var(--rls-side-pad-desktop) * -1);margin-right:calc(var(--rls-side-pad-desktop) * -1) }
.rls-hero { background:var(--rls-bg-hero) }
.rls-hero-shade { background:linear-gradient(180deg,rgba(0,0,0,calc(var(--rls-hero-overlay) * .45)),rgba(0,0,0,.08) 35%,rgba(0,0,0,var(--rls-hero-overlay))) }
.rls-ticker div { animation-duration:var(--rls-ticker-speed) }
.rls-manifesto { background:var(--rls-bg-approach);color:var(--rls-text-approach) }
.rls-manifesto .rls-statement { color:var(--rls-text-approach) }
.rls-manifesto .rls-statement em { color:var(--rls-accent-approach) }
.rls-services { background:var(--rls-bg-services);color:var(--rls-text-services) }
.rls-services h2,.rls-services .rls-section-head h2 { color:var(--rls-text-services) }
.rls-services h2 em,.rls-services .rls-service-row small { color:var(--rls-accent-services) }
.rls-work { background:var(--rls-bg-work);color:var(--rls-text-work) }
.rls-work h2 { color:var(--rls-text-work) }
.rls-work h2 em { color:var(--rls-accent-work) }
.rls-method { background:var(--rls-bg-method);color:var(--rls-text-method) }
.rls-method h2 { color:var(--rls-text-method) }
.rls-method h2 em,.rls-method-grid article>div { color:var(--rls-accent-method);background:var(--rls-accent-method) }
.rls-team { background:var(--rls-bg-team);color:var(--rls-text-team) }
.rls-team h2 { color:var(--rls-text-team) }
.rls-team h2 em { color:var(--rls-accent-team) }
.rls-about { background:var(--rls-bg-about);color:var(--rls-text-about) }
.rls-about h2 { color:var(--rls-text-about) }
.rls-about h2 em { color:var(--rls-accent-about) }
.rls-fit { background:var(--rls-bg-fit);color:var(--rls-text-fit) }
.rls-fit-grid article:hover { background:var(--rls-accent-fit) }
.rls-contact { background:var(--rls-bg-contact);color:var(--rls-text-contact) }
.rls-contact-orb { background:var(--rls-accent-contact) }
.rls-footer { background:var(--rls-bg-footer) }
.rls-project-card,.rls-fit-grid article,.rls-team-card,.rls-team-system,.rls-person-card,.rls-about-image { border-radius:var(--rls-card-radius) }
.rls-primary-button { background:var(--rls-button-bg);color:var(--rls-button-text)!important;border-radius:var(--rls-button-radius);font-size:var(--rls-size-button);font-weight:var(--rls-weight-button) }
.rls-reveal { transition-duration:var(--rls-reveal-duration) }
.rls-no-motion .rls-reveal { opacity:1;transform:none;transition:none }
.rls-no-motion .rls-ticker div,.rls-no-motion .rls-logo-track { animation-play-state:paused }
.rls-no-hover .rls-service-row,.rls-no-hover .rls-project-art:before,.rls-no-hover .rls-client-logo,.rls-no-hover .rls-client-logo img,.rls-no-hover .rls-fit-grid article,.rls-no-hover .rls-menu-overlay a { transition:none }
.rls-no-hover .rls-project-card:hover .rls-project-art:before,.rls-no-hover .rls-client-logo:hover img,.rls-no-hover .rls-fit-grid article:hover { transform:none }

.rls-about-image { margin:85px 0 0;overflow:hidden;aspect-ratio:16/7;background:var(--rls-ink) }
.rls-about-image img { width:100%;height:100%;object-fit:cover;display:block }
.rls-team-head { display:grid;grid-template-columns:2.3fr 1fr;gap:8vw;align-items:end;margin-bottom:78px }
.rls-team-head h2 { margin:0;font-size:clamp(48px,7vw,var(--rls-size-section-title)) }
.rls-team-head p { margin:0;font-size:var(--rls-size-body);line-height:var(--rls-lh-body) }
.rls-team-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px }
.rls-team-card { min-height:610px;padding:22px;background:var(--rls-ink);color:#fff;display:flex;flex-direction:column;overflow:hidden }
.rls-team-portrait { flex:1;min-height:380px;display:grid;place-items:center;overflow:hidden;background:var(--rls-accent-team);margin:-22px -22px 28px }
.rls-team-portrait img { width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.72) }
.rls-team-portrait b { font-family:var(--rls-font-display);font-size:clamp(150px,22vw,330px);letter-spacing:-.15em;line-height:1;transform:translateX(-.07em);mix-blend-mode:multiply }
.rls-team-card>p { margin:0 0 18px;font-size:10px;text-transform:uppercase;opacity:.7 }
.rls-team-card h3 { margin:auto 0 8px;font-size:clamp(44px,5vw,var(--rls-size-team-name));line-height:.92;letter-spacing:-.06em;color:inherit }
.rls-team-card strong { color:var(--rls-acid);font-weight:500 }
.rls-team-system { grid-column:1/-1;min-height:390px;background:var(--rls-accent-team);padding:34px;display:grid;grid-template-columns:1fr 2.5fr;gap:30px;align-items:start }
.rls-team-system>span { font-size:10px;text-transform:uppercase }
.rls-team-system h3 { margin:90px 0 0;font-size:clamp(42px,6vw,90px);line-height:.95;letter-spacing:-.065em;max-width:980px }
.rls-team-system p { grid-column:2;margin:0;border-top:1px solid currentColor;padding-top:18px }

.rls-team-page { background:var(--rls-paper) }
.rls-team-page-hero { min-height:100svh;padding:160px var(--rls-side-pad-desktop) 55px;background:var(--rls-bg-hero);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden }
.rls-team-page-hero:before { content:"R+L";position:absolute;right:-.08em;top:40px;font-family:var(--rls-font-display);font-size:42vw;font-weight:800;line-height:1;letter-spacing:-.15em;color:var(--rls-accent-team);opacity:.25;pointer-events:none }
.rls-team-page-hero>* { position:relative;z-index:1 }
.rls-team-page-hero h1 { margin:26px 0 52px;max-width:1150px;font-size:clamp(62px,9vw,var(--rls-size-hero-title));color:#fff }
.rls-team-page-hero>p:last-of-type { max-width:620px;font-size:clamp(18px,2vw,28px);line-height:1.3;margin:0 }
.rls-team-page-scroll { position:absolute;right:var(--rls-side-pad-desktop);bottom:55px;width:55px;height:55px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center }
.rls-team-directory { background:var(--rls-bg-team);color:var(--rls-text-team) }
.rls-team-directory-grid { display:grid;gap:28px }
.rls-person-card { display:grid;grid-template-columns:minmax(310px,.9fr) 1.4fr;min-height:620px;overflow:hidden;background:var(--rls-ink);color:#fff }
.rls-person-photo { min-height:580px;background:var(--rls-accent-team);display:grid;place-items:center;overflow:hidden }
.rls-person-photo img { width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75) }
.rls-person-photo b { font-family:var(--rls-font-display);font-size:clamp(150px,20vw,340px);line-height:1;letter-spacing:-.15em;transform:translateX(-.07em);mix-blend-mode:multiply }
.rls-person-copy { padding:45px;display:flex;flex-direction:column;align-items:flex-start }
.rls-person-copy>p { margin:0 0 auto;font-size:10px;text-transform:uppercase;color:var(--rls-acid) }
.rls-person-copy h2 { margin:70px 0 14px;color:#fff;font-size:clamp(54px,7vw,var(--rls-size-team-name)) }
.rls-person-copy strong { color:var(--rls-acid);font-size:17px;margin-bottom:28px }
.rls-person-copy>div { max-width:650px;font-size:var(--rls-size-body);line-height:var(--rls-lh-body);color:#d0d0cd }
.rls-person-copy>a { margin-top:35px;border-bottom:1px solid currentColor;padding-bottom:5px }
.rls-team-disciplines { background:var(--rls-bg-method);color:var(--rls-text-method) }
.rls-team-disciplines h2 { color:inherit;font-size:clamp(54px,8vw,120px);max-width:1320px;margin:0 }
.rls-team-disciplines>p { margin:90px 0 0;border-top:1px solid currentColor;padding-top:20px;font-family:var(--rls-font-mono);text-transform:uppercase;letter-spacing:.12em }

@media(max-width:900px){
    .rls-section { padding:var(--rls-section-pad-tablet) var(--rls-side-pad-mobile) }
    .rls-hero-content,.rls-footer { padding-left:var(--rls-side-pad-mobile);padding-right:var(--rls-side-pad-mobile) }
    .rls-hero h1 { font-size:var(--rls-size-hero-tablet) }
    .rls-section-head h2,.rls-method h2,.rls-about h2,.rls-clients h2,.rls-team-head h2 { font-size:var(--rls-size-section-tablet) }
    .rls-manifesto-grid p,.rls-section-head p,.rls-about-copy p,.rls-team-head p { font-size:var(--rls-size-body-tablet) }
    .rls-team-head { grid-template-columns:1fr }
    .rls-team-card { min-height:520px }
    .rls-team-system { grid-template-columns:1fr }
    .rls-team-system h3 { margin:55px 0 0 }
    .rls-team-system p { grid-column:1 }
    .rls-team-page-hero { padding-left:var(--rls-side-pad-mobile);padding-right:var(--rls-side-pad-mobile) }
    .rls-team-page-hero h1 { font-size:var(--rls-size-hero-tablet) }
    .rls-team-page-scroll { right:var(--rls-side-pad-mobile) }
    .rls-person-card { grid-template-columns:1fr 1.2fr;min-height:560px }
}
@media(max-width:620px){
    .rls-section { padding:var(--rls-section-pad-mobile) var(--rls-side-pad-mobile) }
    .rls-hero h1,.rls-team-page-hero h1 { font-size:var(--rls-size-hero-mobile) }
    .rls-section-head h2,.rls-method h2,.rls-about h2,.rls-clients h2,.rls-team-head h2 { font-size:var(--rls-size-section-mobile) }
    .rls-manifesto-grid p,.rls-section-head p,.rls-about-copy p,.rls-team-head p,.rls-person-copy>div { font-size:var(--rls-size-body-mobile) }
    .rls-team-grid { grid-template-columns:1fr }
    .rls-team-card { min-height:500px }
    .rls-team-portrait { min-height:315px }
    .rls-team-system { grid-column:1;min-height:350px;padding:25px }
    .rls-team-page-hero { padding:130px var(--rls-side-pad-mobile) 45px }
    .rls-team-page-scroll { display:none }
    .rls-person-card { grid-template-columns:1fr;min-height:0 }
    .rls-person-photo { min-height:430px }
    .rls-person-copy { padding:28px 22px 38px }
    .rls-person-copy>p { margin-bottom:40px }
    .rls-person-copy h2 { margin:0 0 12px;font-size:var(--rls-size-section-mobile) }
    .rls-team-disciplines h2 { font-size:var(--rls-size-section-mobile) }
    .rls-about-image { aspect-ratio:4/3;margin-top:55px }
}
