
/* source: /css/tokens.css */
:root{--brand-red:#D82027;--brand-gray:#424143;--brand-deep-red:#841618;--brand-pink:#FDE9E9;--color-bg:#F7F7F6;--color-surface:#FFFFFF;--color-ink:#424143;--color-muted:#777477;--color-line:#E7E5E5;--font-body:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-display:system-ui,-apple-system,'Segoe UI',sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--shadow-sm:0 2px 8px rgba(33,29,35,.06);--shadow-md:0 8px 24px rgba(33,29,35,.08);--shadow-lg:0 20px 48px rgba(33,29,35,.12);--z-sidebar:5;--z-mobile-nav:8;--z-modal:15;--z-toast:30;--duration-fast:120ms;--duration-standard:200ms;--duration-enter:320ms;--duration-emphasis:480ms;--ease-standard:cubic-bezier(.2,.75,.25,1);--ease-enter:cubic-bezier(.16,1,.3,1);--ease-exit:cubic-bezier(.4,0,1,1);--ease-spring:cubic-bezier(.22,1.25,.36,1);--ui-ease:var(--ease-standard);--ui-shadow:var(--shadow-md);--ui-shadow-hover:var(--shadow-lg)}html[data-theme='dark']{--color-bg:#1D1C1E;--color-surface:#29282A;--color-ink:#F2EFF0;--color-muted:#C1BDBF;--color-line:#464447;color-scheme:dark}

/* source: /css/base.css */
*,*::before,*::after{box-sizing:border-box}html{font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-body)}button,input,select,textarea{font:inherit}img,svg{max-width:100%}a{color:inherit}

/* source: /css/pages/home.css */
/* ByMedia public studio front — scoped to .home-site; app workspace styles remain unchanged. */
.home-site {
  --home-ink: #29282a;
  --home-paper: #f7f7f6;
  --home-muted: #777477;
  --home-red: #d82027;
  --home-red-readable: var(--home-red);
  --home-deep: #841618;
  --home-pink: #fde9e9;
  --home-line: #e7e5e5;
  --home-surface: #fff;
  --home-night: #242226;
  --home-night-card: #2e2b30;
  --home-night-line: #48444a;
  min-width: 320px;
  background: var(--home-paper);
  color: var(--home-ink);
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  overflow-x: hidden;
}
.home-site * {
  box-sizing: border-box;
}
.home-site a {
  color: inherit;
}
.home-site button {
  font: inherit;
}
.home-site [id] {
  scroll-margin-top: 88px;
}
.home-skip {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
  transform: translateY(-160%);
  padding: 10px 15px;
  background: var(--home-red);
  color: #fff !important;
  border-radius: 4px;
  font-weight: 700;
}
.home-skip:focus {
  transform: translateY(0);
}
.home-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto minmax(220px, 1fr);
  align-items: center;
  gap: 28px;
  min-height: 82px;
  padding: 0 clamp(24px, 5.5vw, 92px);
  border-bottom: 1px solid color-mix(in srgb, var(--home-line) 78%, transparent);
  background: color-mix(in srgb, var(--home-paper) 91%, transparent);
  backdrop-filter: blur(18px);
}
.home-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  width: max-content;
  text-decoration: none;
}
.home-brand img,
.home-footer-brand img {
  width: 124px;
  height: auto;
  object-fit: contain;
}
.home-brand-caption {
  padding-left: 13px;
  border-left: 1px solid var(--home-line);
  color: var(--home-muted);
  font-size: 9px;
  line-height: 1.45;
  letter-spacing: 0.09em;
}
.home-brand-caption b {
  color: var(--home-ink);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.home-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 2.5vw, 38px);
}
.home-nav a,
.home-footer-links a {
  position: relative;
  text-decoration: none;
  color: var(--home-muted);
  font-size: 12px;
  font-weight: 600;
  transition: color 0.2s ease;
}
.home-nav a:after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 2px;
  background: var(--home-red);
  transition: right 0.22s ease;
}
.home-nav a:hover,
.home-nav a:focus-visible,
.home-footer-links a:hover {
  color: var(--home-red-readable);
}
.home-nav a:hover:after,
.home-nav a:focus-visible:after {
  right: 0;
}
.home-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 19px;
}
.home-languages {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #bcb9bb;
  font-size: 10px;
}
.home-languages button {
  padding: 4px 0;
  border: 0;
  background: none;
  color: var(--home-muted);
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}
.home-languages button[aria-pressed="true"] {
  color: var(--home-red-readable);
}
.home-theme-toggle {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid var(--home-line);
  border-radius: 50%;
  background: transparent;
  color: var(--home-ink);
  cursor: pointer;
}
.home-header-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  border: 1px solid var(--home-ink);
  color: var(--home-ink) !important;
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
  transition:
    background 0.2s,
    color 0.2s;
}
.home-header-link:hover {
  background: var(--home-ink);
  color: var(--home-paper) !important;
}
.home-header-link span {
  color: var(--home-red-readable);
}
.home-menu-toggle {
  display: none;
}
.home-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(370px, 0.95fr);
  align-items: center;
  gap: 5vw;
  min-height: min(790px, calc(100svh - 82px));
  padding: 90px clamp(24px, 9vw, 150px) 112px;
  isolation: isolate;
}
.home-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 720px;
}
.home-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 25px;
  color: var(--home-muted);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.16em;
}
.home-eyebrow-mark {
  display: inline-block;
  width: 7px;
  height: 7px;
  background: var(--home-red);
  transform: rotate(45deg);
}
.home-hero h1 {
  max-width: 780px;
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(48px, 4.4vw, 64px);
  font-weight: 750;
  line-height: 0.99;
  letter-spacing: -0.075em;
}
.home-hero-accent {
  color: var(--home-red);
}
.home-hero-intro {
  max-width: 495px;
  margin: 27px 0 0;
  color: var(--home-muted);
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.8;
}
.home-hero-actions {
  display: flex;
  align-items: center;
  gap: 29px;
  margin-top: 34px;
}
.home-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  min-height: 52px;
  padding: 0 19px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  transition:
    transform 0.2s,
    background 0.2s,
    color 0.2s;
}
.home-button:hover {
  transform: translateY(-2px);
}
.home-button-primary {
  background: var(--home-red);
  color: #fff !important;
}
.home-button-primary:hover {
  background: var(--home-deep);
}
.home-button-primary span + span {
  font-size: 17px;
}
.home-text-link,
.home-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--home-ink) !important;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}
.home-text-link span + span,
.home-inline-link span + span {
  color: var(--home-red-readable);
  font-size: 16px;
}
.home-hero-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 60px;
  color: var(--home-muted);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}
.home-meta-line {
  width: 35px;
  height: 1px;
  background: var(--home-red);
}
.home-hero-art {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 450px;
  max-width: 600px;
  width: 100%;
  justify-self: end;
  isolation: isolate;
}
.home-art-grid {
  position: absolute;
  inset: 7% 4%;
  z-index: -2;
  background-image:
    linear-gradient(
      to right,
      color-mix(in srgb, var(--home-line) 78%, transparent) 1px,
      transparent 1px
    ),
    linear-gradient(
      to bottom,
      color-mix(in srgb, var(--home-line) 78%, transparent) 1px,
      transparent 1px
    );
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse at center, #000 30%, transparent 78%);
}
.home-art-orbit {
  position: absolute;
  border: 1px solid color-mix(in srgb, var(--home-red) 35%, transparent);
  border-radius: 50%;
  transform: rotate(-26deg);
}
.home-art-orbit-one {
  width: min(82%, 440px);
  aspect-ratio: 1.28;
}
.home-art-orbit-two {
  width: min(66%, 355px);
  aspect-ratio: 1.28;
  transform: rotate(49deg);
  border-color: color-mix(in srgb, var(--home-ink) 20%, transparent);
}
.home-art-core {
  position: relative;
  display: grid;
  width: clamp(155px, 20vw, 235px);
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: radial-gradient(
    circle at 36% 28%,
    #fff 0,
    #f4e7e7 58%,
    #e9cdce 100%
  );
  box-shadow:
    0 22px 75px rgba(132, 22, 24, 0.12),
    inset 0 0 0 1px rgba(216, 32, 39, 0.16);
}
.home-art-letter {
  color: var(--home-red);
  font-family: Georgia, serif;
  font-size: clamp(90px, 13vw, 156px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.12em;
  transform: translateX(-0.07em);
}
.home-art-dot {
  position: absolute;
  top: 17%;
  right: 20%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--home-red);
  box-shadow: 0 0 0 8px rgba(216, 32, 39, 0.1);
}
.home-art-label {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  background: var(--home-surface);
  border: 1px solid var(--home-line);
  box-shadow: 0 10px 25px rgba(33, 29, 35, 0.06);
  font-size: 9px;
  letter-spacing: 0.1em;
}
.home-art-label span {
  color: var(--home-red-readable);
  font-weight: 800;
}
.home-art-label b {
  font-size: 9px;
}
.home-art-label-top {
  top: 12%;
  left: 12%;
}
.home-art-label-right {
  top: 38%;
  right: 1%;
}
.home-art-label-bottom {
  bottom: 12%;
  left: 22%;
}
.home-art-stamp {
  position: absolute;
  right: 8%;
  bottom: 7%;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--home-muted);
  font-size: 8px;
  letter-spacing: 0.1em;
}
.home-art-stamp > span {
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border: 1px solid var(--home-red);
  border-radius: 50%;
  color: var(--home-red);
  font:
    700 11px/1 Georgia,
    serif;
}
.home-art-stamp small {
  font-size: 7px;
  line-height: 1.5;
}
.home-scroll-cue {
  position: absolute;
  bottom: 23px;
  left: clamp(24px, 9vw, 150px);
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--home-muted) !important;
  text-decoration: none;
  font-size: 8px;
  letter-spacing: 0.15em;
}
.home-scroll-cue i {
  display: block;
  width: 45px;
  height: 1px;
  background: var(--home-red);
}
.home-ribbon {
  overflow: hidden;
  border-block: 1px solid var(--home-line);
  background: var(--home-surface);
}
.home-ribbon-track {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 35px;
  min-width: max-content;
  padding: 19px 4vw;
  color: var(--home-ink);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.17em;
}
.home-ribbon-track i {
  color: var(--home-red);
  font-style: normal;
  font-size: 15px;
}
.section-shell {
  width: min(1280px, 100%);
  margin-inline: auto;
  padding-inline: clamp(24px, 8vw, 132px);
}
.home-studio {
  padding-block: clamp(84px, 11vw, 154px) 90px;
}
.home-section-index {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 38px;
  color: var(--home-muted);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.15em;
}
.home-section-index > span:first-child {
  color: var(--home-red-readable);
  font-size: 11px;
}
.home-index-rule {
  width: 48px;
  height: 1px;
  background: var(--home-line);
}
.home-studio-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(270px, 0.7fr);
  align-items: start;
  gap: 9vw;
}
.home-studio h2,
.home-section-heading h2,
.home-spaces-heading h2 {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(40px, 6.2vw, 78px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -0.065em;
}
.home-studio h2 em,
.home-section-heading h2 em,
.home-spaces-heading h2 em {
  color: var(--home-red);
  font-style: normal;
}
.home-studio-copy {
  padding-top: 6px;
}
.home-lead {
  margin: 0 0 20px;
  color: var(--home-ink);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 650;
  line-height: 1.45;
  letter-spacing: -0.035em;
}
.home-studio-copy > p:not(.home-lead) {
  margin: 0 0 23px;
  color: var(--home-muted);
  font-size: 14px;
  line-height: 1.85;
}
.home-inline-link {
  padding-bottom: 5px;
  border-bottom: 1px solid var(--home-line);
}
.home-studio-note {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  margin-top: 86px;
  padding: 22px 0;
  border-block: 1px solid var(--home-line);
}
.home-note-mark {
  color: var(--home-red);
  font:
    italic 36px/1 Georgia,
    serif;
}
.home-studio-note p {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(15px, 1.7vw, 20px);
  font-weight: 600;
  letter-spacing: -0.025em;
}
.home-note-coordinate {
  color: var(--home-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.home-expertise {
  padding-block: 54px clamp(100px, 12vw, 164px);
}
.home-section-heading {
  display: grid;
  grid-template-columns: 1fr minmax(220px, 0.56fr);
  align-items: end;
  gap: 45px;
  margin-bottom: 47px;
}
.home-section-heading > p,
.home-spaces-heading > p {
  max-width: 330px;
  margin: 0 0 5px;
  color: var(--home-muted);
  font-size: 14px;
  line-height: 1.8;
}
.home-capabilities {
  border-top: 1px solid var(--home-line);
}
.home-capability {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 40px;
  align-items: center;
  gap: 22px;
  padding: 24px 14px;
  border-bottom: 1px solid var(--home-line);
  transition:
    background 0.2s,
    padding 0.2s;
}
.home-capability:hover {
  padding-inline: 22px;
  background: var(--home-surface);
}
.home-capability-no {
  align-self: start;
  padding-top: 6px;
  color: var(--home-red-readable);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.08em;
}
.home-capability h3 {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(18px, 2.4vw, 27px);
  font-weight: 650;
  letter-spacing: -0.04em;
}
.home-capability p {
  max-width: 590px;
  margin: 7px 0 0;
  color: var(--home-muted);
  font-size: 13px;
  line-height: 1.65;
}
.home-capability-symbol {
  color: var(--home-red-readable);
  font-size: 23px;
  text-align: right;
}
.home-approach {
  position: relative;
  overflow: hidden;
  background: var(--home-night);
  color: #fff;
}
.home-approach-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(290px, 0.9fr);
  gap: 8vw;
  padding-block: clamp(80px, 10vw, 135px);
  isolation: isolate;
}
.home-section-index-light {
  color: #aaa5aa;
}
.home-section-index-light .home-index-rule {
  background: #4d494e;
}
.home-approach-heading h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(40px, 5.5vw, 70px);
  font-weight: 680;
  line-height: 1.03;
  letter-spacing: -0.065em;
}
.home-approach-heading h2 em {
  color: #ff7277;
  font-style: normal;
}
.home-approach-heading > p {
  max-width: 360px;
  margin: 21px 0 0;
  color: #bcb7bd;
  font-size: 14px;
  line-height: 1.8;
}
.home-steps {
  display: grid;
  align-content: center;
}
.home-step {
  padding: 19px 0;
  border-bottom: 1px solid #49454a;
}
.home-step:first-child {
  border-top: 1px solid #49454a;
}
.home-step > span {
  color: #ff8c90;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.15em;
}
.home-step h3 {
  margin: 10px 0 6px;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  letter-spacing: -0.03em;
}
.home-step p {
  max-width: 420px;
  margin: 0;
  color: #bcb7bd;
  font-size: 12px;
  line-height: 1.75;
}
.home-approach-word {
  position: absolute;
  right: -0.05em;
  bottom: -0.22em;
  z-index: -1;
  color: rgba(255, 255, 255, 0.035);
  font-size: clamp(95px, 18vw, 240px);
  font-weight: 850;
  line-height: 0.75;
  letter-spacing: -0.1em;
  text-align: right;
}
.home-approach-word span {
  color: rgba(216, 32, 39, 0.13);
}
.home-spaces {
  padding-block: clamp(84px, 10vw, 136px);
}
.home-spaces-heading {
  display: grid;
  grid-template-columns: 1fr minmax(230px, 0.58fr);
  align-items: end;
  gap: 40px;
  margin-bottom: 43px;
}
.home-space-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.home-space-card {
  position: relative;
  display: flex;
  min-height: 295px;
  flex-direction: column;
  align-items: flex-start;
  padding: 29px 30px 25px;
  border: 1px solid var(--home-line);
  background: var(--home-surface);
  text-decoration: none;
  transition:
    transform 0.22s,
    border-color 0.22s,
    box-shadow 0.22s;
}
.home-space-card:hover {
  transform: translateY(-4px);
  border-color: var(--home-red);
  box-shadow: 0 18px 42px rgba(33, 29, 35, 0.08);
}
.home-space-team {
  background: var(--home-ink);
  color: #fff;
}
.home-space-kicker {
  color: var(--home-muted);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.16em;
}
.home-space-team .home-space-kicker {
  color: #c7c2c6;
}
.home-space-icon {
  position: absolute;
  top: 25px;
  right: 27px;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--home-line);
  border-radius: 50%;
  color: var(--home-red);
  font-size: 15px;
}
.home-space-team .home-space-icon {
  border-color: #545055;
}
.home-space-card h3 {
  margin: 46px 0 10px;
  color: var(--home-ink);
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 700;
  letter-spacing: -0.055em;
}
.home-space-team h3 {
  color: #fff;
}
.home-space-card > p {
  max-width: 380px;
  margin: 0;
  color: var(--home-muted);
  font-size: 13px;
  line-height: 1.75;
}
.home-space-team > p {
  color: #cac5ca;
}
.home-space-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  margin-top: auto;
  padding-top: 24px;
  color: var(--home-ink);
  font-size: 11px;
  font-weight: 750;
}
.home-space-team .home-space-action {
  color: #fff;
}
.home-space-action span + span {
  color: var(--home-red-readable);
  font-size: 17px;
}
.home-spaces-footnote {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 18px 0 0;
  color: var(--home-muted);
  font-size: 10px;
  line-height: 1.6;
}
.home-status-dot {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #32835e;
}
.home-endnote {
  overflow: hidden;
  background: var(--home-red);
  color: #fff;
}
.home-endnote-inner {
  position: relative;
  min-height: 370px;
  padding-block: clamp(55px, 8vw, 95px);
  isolation: isolate;
}
.home-endnote-inner:after {
  content: "B";
  position: absolute;
  right: 0;
  bottom: -0.35em;
  z-index: -1;
  color: rgba(255, 255, 255, 0.09);
  font:
    700 clamp(240px, 38vw, 500px) / 1 Georgia,
    serif;
  letter-spacing: -0.15em;
}
.home-endnote .home-eyebrow {
  color: rgba(255, 255, 255, 0.76);
}
.home-endnote .home-eyebrow-mark {
  background: #fff;
}
.home-endnote h2 {
  margin: 0 0 27px;
  color: #fff;
  font-size: clamp(42px, 7vw, 84px);
  font-weight: 720;
  line-height: 0.98;
  letter-spacing: -0.07em;
}
.home-endnote h2 em {
  font-style: normal;
  color: #ffd7d8;
}
.home-button-light {
  background: #fff;
  color: var(--home-ink) !important;
}
.home-button-light:hover {
  background: #f7e7e8;
}
.home-endnote-location {
  position: absolute;
  right: clamp(24px, 8vw, 132px);
  bottom: 32px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.home-footer {
  padding: 44px clamp(24px, 8vw, 132px) 0;
  background: #1c1b1d;
  color: #fff;
}
.home-footer-main {
  display: grid;
  grid-template-columns: 1fr 1.1fr 1.3fr auto;
  align-items: start;
  gap: 38px;
  max-width: 1280px;
  margin: 0 auto;
  padding-bottom: 38px;
}
.home-footer-brand img {
  filter: none;
}
.home-footer-main > p {
  margin: 5px 0 0;
  color: #aaa5aa;
  font-size: 12px;
  line-height: 1.7;
}
.home-footer-links {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 13px 24px;
}
.home-footer-links a {
  color: #d3ced3;
  font-size: 11px;
}
.home-footer-mark {
  color: #39363a;
  font:
    italic 60px/0.8 Georgia,
    serif;
}
.home-footer-mark span {
  font: 10px/1 system-ui;
  vertical-align: top;
}
.home-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 0 18px;
  border-top: 1px solid #3d393e;
  color: #aaa5aa;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
}
.home-footer-bottom a {
  color: #eee;
  text-decoration: none;
}
.home-footer-bottom a:hover {
  color: #ff8c90;
}
.home-site:focus-visible,
.home-site a:focus-visible,
.home-site button:focus-visible {
  outline: 3px solid var(--home-red);
  outline-offset: 4px;
}
html[data-theme="dark"] .home-site {
  color-scheme: dark;
  --home-ink: #f2eff0;
  --home-paper: #1d1c1e;
  --home-muted: #c1bdbf;
  --home-red-readable: #ff7277;
  --home-line: #464447;
  --home-surface: #29282a;
  --home-night: #151416;
  --home-night-card: #242226;
}
html[data-theme="dark"] .home-art-core {
  background: radial-gradient(
    circle at 36% 28%,
    #514348 0,
    #352e33 60%,
    #29262a 100%
  );
  box-shadow:
    0 22px 75px rgba(216, 32, 39, 0.12),
    inset 0 0 0 1px rgba(255, 130, 135, 0.2);
}
html[data-theme="dark"] .home-art-label {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}
html[data-theme="dark"] .home-space-team {
  background: #141315;
}
html[data-theme="dark"] .home-button-light {
  background: #fff;
  color: #29282a !important;
}
@media (max-width: 1100px) {
  .home-header {
    grid-template-columns: 1fr auto;
    min-height: 74px;
  }
  .home-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: none;
    align-items: stretch;
    gap: 0;
    padding: 8px 24px 16px;
    border-bottom: 1px solid var(--home-line);
    background: var(--home-paper);
  }
  .home-nav.is-open {
    display: flex;
    flex-direction: column;
  }
  .home-nav a {
    padding: 13px 0;
    border-bottom: 1px solid var(--home-line);
  }
  .home-nav a:after {
    display: none;
  }
  .home-menu-toggle {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    width: 40px;
    height: 40px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid var(--home-line);
    background: transparent;
    cursor: pointer;
  }
  .home-menu-toggle span {
    width: 16px;
    height: 1px;
    background: var(--home-ink);
    transition: transform 0.2s;
  }
  .home-menu-toggle[aria-expanded="true"] span:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }
  .home-menu-toggle[aria-expanded="true"] span:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }
  .home-header-actions {
    grid-column: 1/-1;
    grid-row: 2;
    justify-content: flex-start;
    padding: 0 0 13px;
  }
  .home-header {
    row-gap: 0;
  }
  .home-hero {
    min-height: auto;
    padding-top: 70px;
  }
  .home-hero-art {
    min-height: 370px;
  }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .home-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    min-height: auto;
    padding-top: 66px;
  }
  .home-hero-copy {
    max-width: 760px;
  }
  .home-hero h1 {
    font-size: clamp(58px, 7.5vw, 78px);
  }
  .home-hero-intro {
    max-width: 620px;
  }
  .home-hero-art {
    min-height: 380px;
    max-width: 560px;
    justify-self: center;
  }
}
@media (max-width: 760px) {
  .home-header {
    grid-template-columns: 1fr auto;
    padding-inline: 19px;
  }
  .home-brand img,
  .home-footer-brand img {
    width: 107px;
  }
  .home-brand-caption {
    font-size: 8px;
  }
  .home-header-actions {
    gap: 14px;
  }
  .home-header-link {
    margin-left: auto;
    padding: 9px 11px;
    font-size: 10px;
  }
  .home-hero {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 63px 23px 80px;
  }
  .home-hero h1 {
    font-size: clamp(47px, 12.5vw, 77px);
  }
  .home-hero-intro {
    max-width: 560px;
    margin-top: 20px;
  }
  .home-hero-actions {
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 25px;
  }
  .home-hero-meta {
    flex-wrap: wrap;
    margin-top: 34px;
  }
  .home-hero-art {
    min-height: 330px;
    max-width: 500px;
    margin: 5px auto 0;
  }
  .home-art-orbit-one {
    width: 80%;
  }
  .home-art-orbit-two {
    width: 65%;
  }
  .home-scroll-cue {
    bottom: 22px;
    left: 23px;
  }
  .home-ribbon-track {
    gap: 24px;
    padding-block: 15px;
    font-size: 9px;
  }
  .section-shell {
    padding-inline: 24px;
  }
  .home-studio {
    padding-block: 75px 54px;
  }
  .home-section-index {
    margin-bottom: 26px;
  }
  .home-studio-layout,
  .home-section-heading,
  .home-spaces-heading {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .home-studio h2,
  .home-section-heading h2,
  .home-spaces-heading h2 {
    font-size: clamp(40px, 11vw, 62px);
  }
  .home-studio-copy {
    padding: 0;
  }
  .home-studio-note {
    grid-template-columns: auto 1fr;
    gap: 14px;
    margin-top: 50px;
  }
  .home-note-coordinate {
    grid-column: 2;
  }
  .home-expertise {
    padding-block: 45px 85px;
  }
  .home-section-heading {
    margin-bottom: 30px;
  }
  .home-section-heading > p,
  .home-spaces-heading > p {
    max-width: 450px;
  }
  .home-capability {
    grid-template-columns: 38px minmax(0, 1fr) 24px;
    gap: 12px;
    padding: 20px 4px;
  }
  .home-capability:hover {
    padding-inline: 8px;
  }
  .home-capability p {
    font-size: 12px;
  }
  .home-approach-inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-block: 75px;
  }
  .home-approach-heading h2 {
    font-size: clamp(42px, 11vw, 62px);
  }
  .home-steps {
    max-width: 600px;
  }
  .home-approach-word {
    font-size: 36vw;
  }
  .home-spaces {
    padding-block: 76px;
  }
  .home-spaces-heading {
    margin-bottom: 28px;
  }
  .home-space-cards {
    grid-template-columns: 1fr;
  }
  .home-space-card {
    min-height: 260px;
    padding: 24px;
  }
  .home-space-card h3 {
    margin-top: 38px;
  }
  .home-endnote-inner {
    min-height: 340px;
    padding-block: 55px;
  }
  .home-endnote-inner:after {
    right: -22px;
    bottom: -0.2em;
  }
  .home-endnote h2 {
    font-size: clamp(43px, 11vw, 68px);
  }
  .home-endnote-location {
    right: 24px;
    bottom: 20px;
    font-size: 7px;
  }
  .home-footer {
    padding: 35px 24px 0;
  }
  .home-footer-main {
    grid-template-columns: 1fr 1fr;
    gap: 23px;
  }
  .home-footer-links {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .home-footer-mark {
    justify-self: end;
  }
  .home-footer-bottom {
    flex-wrap: wrap;
    gap: 10px 18px;
    font-size: 7px;
  }
}
@media (max-width: 420px) {
  .home-brand-caption {
    display: none;
  }
  .home-header-actions {
    gap: 11px;
  }
  .home-header-link {
    font-size: 9px;
  }
  .home-hero {
    padding-inline: 19px;
  }
  .home-hero h1 {
    font-size: 44px;
  }
  .home-hero-art {
    min-height: 280px;
  }
  .home-art-label {
    font-size: 8px;
  }
  .home-art-label-top {
    left: 5%;
  }
  .home-art-label-right {
    right: 0;
  }
  .home-art-label-bottom {
    left: 12%;
  }
  .home-art-stamp {
    right: 0;
    bottom: 3%;
  }
  .home-hero-meta {
    font-size: 8px;
  }
  .home-text-link {
    font-size: 11px;
  }
  .section-shell {
    padding-inline: 20px;
  }
  .home-capability {
    grid-template-columns: 31px minmax(0, 1fr) 18px;
    gap: 9px;
  }
  .home-capability h3 {
    font-size: 17px;
  }
  .home-capability p {
    font-size: 11px;
  }
  .home-footer {
    padding-inline: 20px;
  }
  .home-footer-main {
    gap: 18px;
  }
  .home-footer-bottom span:nth-child(2) {
    display: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-site *,
  .home-site *:before,
  .home-site *:after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Contact direct : ouverture externe, aucune donnée collectée par le site. */
.home-contact-link { display:inline-flex; align-items:center; justify-content:center; min-height:38px; white-space:nowrap; padding:0 13px; border:1px solid var(--home-red); border-radius:6px; color:var(--home-red) !important; text-decoration:none; font-size:11px; font-weight:750; transition:background .16s ease, color .16s ease; }
.home-contact-link:hover, .home-contact-link:focus-visible { background:var(--home-red); color:white !important; }
@media (max-width: 1190px) { .home-header-actions {gap:10px;} .home-contact-link { font-size:10px; padding:0 9px; } }
@media (max-width: 760px) { .home-contact-link {min-height:34px; padding:0 8px;} }


/* source: /css/pages/home-editorial.css */
/* ByMedia editorial agency direction — marketing pages only.
   Typography / proportion first; brand colour is an accent, not decoration. */
.home-site{--home-paper:#f7f6f4;--home-night:#232225;--home-ink:#29272a;--home-muted:#777274;--home-line:#e5e2de;--home-red:#d82027;--home-surface:#fff;background:var(--home-paper)}
.home-site :where(.home-capability,.home-step,.home-studio-note,.home-space-card,.home-end-card){box-shadow:none!important;transform:none!important}
.home-site :where(.home-capability,.home-step,.home-space-card):hover{transform:none!important;box-shadow:none!important}
.home-header{min-height:76px!important;padding-inline:clamp(22px,5vw,80px)!important;background:#f7f6f4!important;border-bottom:1px solid #e4e0dc!important;backdrop-filter:none!important}
.home-brand img{width:133px}
.home-brand-caption{color:#797576!important}
.home-nav a{font-size:12px!important;font-weight:630!important;color:#655f62!important}
.home-contact-link{background:#d82027!important;color:white!important;border:1px solid #d82027!important;border-radius:2px!important;box-shadow:none!important;padding:11px 15px!important;min-height:41px!important;font-weight:700!important}
.home-contact-link:hover{background:#a91721!important;color:#fff!important;border-color:#a91721!important}
.home-header-link{border-color:#cac5c3!important;border-radius:2px!important}
.home-hero{min-height:min(695px,calc(100svh - 76px))!important;padding:clamp(78px,7vw,115px) clamp(22px,8vw,130px) 95px!important;gap:clamp(45px,5vw,100px)!important;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important}
.home-hero h1{font-size:clamp(54px,5.8vw,94px)!important;font-weight:760!important;letter-spacing:-.083em!important;line-height:.96!important;max-width:800px}
.home-hero-intro{font-size:clamp(15px,1.3vw,18px)!important;line-height:1.65!important;max-width:490px;margin-top:30px!important}
.home-hero-actions{gap:24px!important;margin-top:32px!important}
.home-button{min-height:48px!important;border-radius:2px!important;padding:0 18px!important;transform:none!important}
.home-button:hover{transform:none!important}
.home-hero-meta{margin-top:50px!important;letter-spacing:.04em!important}
.home-eyebrow{font-size:10px!important;letter-spacing:.14em!important;font-weight:710!important}
.home-eyebrow-mark{transform:none!important;width:21px!important;height:2px!important}
/* Replace default orbit / floating status graphic with an art-directed type composition. */
.home-hero-art{max-width:530px!important;min-height:485px!important;border:1px solid #dbd6d2;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#ece8e3!important;isolation:isolate}
.home-hero-art:before{content:"B / M";position:absolute;top:6%;left:7%;font-weight:800;letter-spacing:-.09em;color:#39363a;font-family:Arial,system-ui,sans-serif;font-size:clamp(96px,15vw,226px);line-height:.98;max-width:80%;z-index:1;white-space:pre-wrap}
.home-hero-art:after{content:"DESIGN · STRATÉGIE · DIGITAL";position:absolute;left:7%;bottom:7%;font-size:10px;letter-spacing:.145em;font-weight:700;color:#4f484b;z-index:3}
.home-art-grid{inset:0!important;mask-image:none!important;opacity:.15!important;background-size:70px 70px!important;z-index:0!important}
.home-art-grid:after{content:"";position:absolute;right:12%;top:8%;height:112%;width:20%;background:#d82027;transform:rotate(23deg)}
.home-art-orbit,.home-art-core,.home-art-label,.home-art-stamp{display:none!important}
.home-hero-art .home-art-grid{display:block!important}
.home-scroll-cue{bottom:25px!important}
.home-ribbon{background:#2e2b2d!important}
.home-capability{border-top:1px solid #d9d5d1!important;border-bottom:0!important;border-radius:0!important;background:transparent!important}
.home-capability:hover{background:#f0eeeb!important}
.home-capability h3{font-weight:720!important;letter-spacing:-.04em!important}
.home-capability-no{color:#b22831!important}
.home-studio-note{background:#eeebe6!important;border:1px solid #e0dcd6!important;border-radius:0!important}
.home-studio-note:before,.home-studio-note:after{content:none!important}
.home-steps,.home-capabilities{gap:1px!important}
.home-step{border-radius:0!important;box-shadow:none!important}
.home-space-card{border-radius:3px!important}
.home-button-primary{background:#d82027!important}
.home-button-primary:hover{background:#a91721!important}
html[data-theme='dark'] .home-header{background:#201f22!important;border-color:#444145!important}
html[data-theme='dark'] .home-hero-art{background:#393438!important;border-color:#4d484c!important}
html[data-theme='dark'] .home-hero-art:before{color:#f3edeb!important}
html[data-theme='dark'] .home-hero-art:after{color:#ded1d0!important}
html[data-theme='dark'] .home-studio-note{background:#333034!important;border-color:#4d494c!important}
@media(max-width:1100px){.home-hero{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)!important;padding-inline:clamp(20px,5vw,65px)!important;gap:35px!important}.home-hero-art{min-height:385px!important}.home-hero h1{font-size:clamp(49px,6.1vw,77px)!important}}
@media(max-width:790px){.home-hero{grid-template-columns:1fr!important;min-height:0!important;padding:73px 24px 55px!important;gap:35px!important}.home-hero h1{font-size:clamp(49px,9vw,76px)!important}.home-hero-art{min-height:300px!important;max-width:none!important}.home-hero-art:before{font-size:clamp(115px,28vw,205px)}.home-hero-meta{margin-top:36px!important}.home-scroll-cue{display:none!important}}
@media(max-width:500px){.home-header{padding-inline:18px!important}.home-hero{padding:58px 20px 43px!important}.home-hero h1{font-size:clamp(43px,11.6vw,57px)!important}.home-hero-art{min-height:270px!important}.home-hero-intro{font-size:15px!important}.home-hero-actions{align-items:flex-start!important;gap:16px!important}.home-hero-meta{flex-wrap:wrap!important}}
@media(prefers-reduced-motion:reduce){.home-site *{animation:none!important;transition:none!important}}
.home-ribbon-track{color:#f6f2f1!important}
.home-ribbon-track i{color:#f48b92!important}
@media(max-width:345px){.home-header{padding-inline:12px!important}.home-header-actions{gap:7px!important}.home-header-link{padding-inline:8px!important}}


/* source: /css/pages/refinement-home-r7.css */
/* ByMedia R7 — responsive editorial polish. This layer only affects the public site. */
.home-site{overflow-x:clip}
.home-site :where(button,a){-webkit-tap-highlight-color:transparent}
.home-site a:focus-visible,.home-site button:focus-visible{outline:2px solid #d82027;outline-offset:4px}
.home-mobile-links{display:none}
.home-nav a,.home-contact-link,.home-header-link{white-space:normal}
.home-nav a{line-height:1.4}
.home-hero-intro{max-width:520px}
.home-hero-art{min-width:0}
.home-end-card,.home-space-card{min-width:0}
@media(max-width:1100px){
  .home-nav.is-open{padding:12px clamp(19px,5vw,48px) 22px;gap:0;max-height:calc(100svh - 75px);overflow-y:auto;box-shadow:0 18px 32px #201b1c16}
  .home-mobile-links{display:grid;margin-top:12px;padding-top:10px;border-top:1px solid var(--home-line);gap:0}
  .home-mobile-links a{padding-block:12px!important;font-weight:700!important;color:var(--home-ink)!important}
  .home-mobile-links a:first-child{color:var(--home-red)!important}
  .home-nav.is-open a{font-size:14px!important}
}
@media(max-width:760px){
  .home-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;min-height:70px!important;row-gap:0!important;column-gap:10px!important;padding:11px 18px!important}
  .home-brand{grid-column:1;grid-row:1;min-width:0;max-width:100%}
  .home-brand img{width:120px!important;max-width:100%;height:auto}
  .home-brand-caption{display:none!important}
  .home-header-actions{grid-column:2!important;grid-row:1!important;display:flex!important;align-items:center!important;gap:9px!important;justify-content:flex-end!important;padding:0!important;margin:0!important;min-width:0!important}
  .home-header-actions .home-contact-link,.home-header-actions .home-header-link{display:none!important}
  .home-languages{gap:2px!important;flex:0 0 auto}
  .home-languages button{padding:6px 3px!important;font-size:11px!important;min-height:36px}
  .home-theme-toggle{width:35px!important;height:35px!important;min-width:35px!important;flex:0 0 auto}
  .home-menu-toggle{grid-column:3!important;grid-row:1!important;margin:0!important;justify-self:end!important;width:38px!important;height:38px!important}
  .home-nav{top:100%;box-shadow:0 10px 28px #2117170a}
  .home-hero{padding:58px 20px 44px!important}
  .home-hero-intro{line-height:1.64!important}
  .home-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px!important}
  .home-hero-actions .home-button{min-height:46px!important}
  .home-hero-art{width:100%;max-width:100%;min-height:260px!important}
  .home-hero-meta{gap:8px!important;margin-top:31px!important}
  .home-meta-line{max-width:25px}
}
@media(max-width:380px){
  .home-header{padding-inline:13px!important;column-gap:5px!important}
  .home-brand img{width:108px!important}
  .home-header-actions{gap:5px!important}
  .home-theme-toggle{width:32px!important;min-width:32px!important;height:34px!important}
  .home-menu-toggle{width:35px!important;height:35px!important}
  .home-hero h1{font-size:clamp(40px,11vw,48px)!important;letter-spacing:-.075em!important}
  .home-hero-art{min-height:230px!important}
  .home-hero-art:before{font-size:clamp(100px,28vw,125px)!important}
}
@media(prefers-reduced-motion:reduce){.home-nav,.home-header{scroll-behavior:auto}}


/* source: /css/pages/cinematic-r8.css */
/* BYMEDIA — R8 / Cinematic Studio, original site art direction. Custom imagery created for this presentation.
   This layer affects only the public site; no business state, auth, permissions or APIs are changed. */
.home-site{--home-paper:#0c0d10;--home-night:#09090c;--home-ink:#f7f7f8;--home-muted:#b0aeb6;--home-line:#29272c;--home-surface:#17181d;--home-red:#d82027;--home-red-readable:#ff4757;background:#0b0c0f!important;color:#f7f7fa!important;color-scheme:dark}
.home-site::before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 92% 0%,#87182620,transparent 36%),radial-gradient(ellipse at 4% 65%,#a2182a11,transparent 36%)}
.home-site .home-header{height:79px!important;min-height:79px!important;grid-template-columns:minmax(135px,1fr) auto minmax(250px,1fr)!important;padding-inline:clamp(24px,5vw,80px)!important;background:rgba(10,10,13,.89)!important;border-bottom:1px solid #ffffff16!important;backdrop-filter:blur(20px)!important;color:white!important}
.home-site .home-brand img{filter:none;width:148px!important}
.home-site .home-brand-caption{display:none}
.home-site .home-nav{gap:clamp(16px,2vw,34px)}
.home-site .home-nav a{color:#d4d2d8!important;font-size:12px!important;letter-spacing:.01em;font-weight:600!important}
.home-site .home-nav a:hover{color:#fff!important}
.home-site .home-contact-link,.home-site .home-button-primary{background:linear-gradient(110deg,#a80f19,#ef1d2c)!important;border:1px solid #ff324150!important;color:white!important;border-radius:9px!important;box-shadow:0 13px 30px #d8202740!important;font-weight:780!important;min-height:45px!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important}
.home-site .home-contact-link:hover,.home-site .home-button-primary:hover{transform:translateY(-2px)!important;box-shadow:0 18px 34px #d8202755!important}
.home-site .home-header-link{border:1px solid #ffffff32!important;border-radius:8px!important;color:#f6f4f6!important;background:#ffffff08!important}
.home-site .home-header-link:hover{background:#ffffff18!important}
.home-site .home-theme-toggle{border-color:#ffffff2e;color:#f2f2f6;background:#ffffff0b}
.home-site .home-languages button{color:#b5b5bb}
.home-site .home-languages button[aria-pressed=true]{color:#ff4e5e}
.home-site .home-hero{background:radial-gradient(ellipse at 72% 21%,#a7192927,transparent 42%),linear-gradient(114deg,#0a0a0d,#111015 62%,#150d12)!important;min-height:665px!important;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)!important;gap:clamp(30px,5vw,86px)!important;padding:76px clamp(30px,7.9vw,140px) 92px!important;isolation:isolate}
.home-site .home-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.25;background:linear-gradient(90deg,transparent 50%,#e12a3a06 100%),repeating-linear-gradient(0deg,transparent 0px,transparent 99px,#ffffff0a 100px)}
.home-site .home-hero-copy{z-index:2}
.home-site .home-hero h1{font-size:clamp(54px,5.7vw,94px)!important;letter-spacing:-.076em!important;line-height:.98!important;font-weight:850!important;color:#fff!important;max-width:780px}
.home-site .home-hero-accent{color:#f42339!important;text-shadow:0 12px 50px #b3132f37}
.home-site .home-eyebrow{color:#f65563!important;font-size:11px!important;letter-spacing:.16em!important}
.home-site .home-eyebrow-mark{background:#f11f30!important}
.home-site .home-hero-intro{font-size:clamp(16px,1.25vw,19px)!important;color:#c5c2c9!important;max-width:530px;line-height:1.7!important;margin-top:28px!important}
.home-site .home-text-link{color:#f4f3f5!important;border:1px solid #ffffff33;padding:12px 17px;border-radius:9px;min-height:45px;display:inline-flex;align-items:center;gap:10px;background:#ffffff06}
.home-site .home-hero-meta{color:#aaa6b0!important;margin-top:48px!important;gap:14px!important}
.home-site .home-hero-art{width:100%!important;max-width:600px!important;height:480px!important;min-height:470px!important;background:#201318!important;border:1px solid #ffffff26!important;border-radius:18px!important;box-shadow:0 30px 100px #0008,0 0 45px #ff002b10!important;isolation:isolate;overflow:hidden!important;display:block!important;position:relative!important;animation:bm-image-rise .9s cubic-bezier(.2,.8,.2,1) both}
.home-site .home-hero-art:before,.home-site .home-hero-art:after{content:none!important}
.home-hero-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:55% 50%;filter:saturate(1.13) contrast(1.08);transform:scale(1.04);transition:transform 1.4s cubic-bezier(.2,.75,.3,1)}
.home-hero-art:hover .home-hero-photo{transform:scale(1.09)}
.home-hero-art-shade{position:absolute;inset:0;background:linear-gradient(180deg,#09090d48,transparent 30%,transparent 63%,#07070acd)}
.home-art-corner,.home-art-bottom,.home-art-vertical{position:absolute;z-index:3;color:#f9f7f8;font-size:10px;font-weight:750;letter-spacing:.12em}
.home-art-corner{top:23px;left:25px;right:25px;display:flex;justify-content:space-between;gap:8px}
.home-art-vertical{right:15px;top:42%;writing-mode:vertical-rl;opacity:.8;font-size:9px}
.home-art-bottom{left:25px;bottom:25px;display:flex;gap:10px;align-items:center;font-size:9px}
.pulse-mark{width:8px;height:8px;border-radius:50%;background:#f6293c;box-shadow:0 0 0 5px #e920352e,0 0 20px #fb263b}
.home-site .home-scroll-cue{color:#b5afb6}
.home-site .home-ribbon{background:#b60e20!important;color:white!important;border-top:1px solid #f1596870;border-bottom:1px solid #ad1426}
.home-site .home-ribbon-track{color:white!important}
.home-site .home-ribbon-track i{color:#ffb5be!important}
.home-site :is(.home-studio,.home-expertise,.home-spaces,.home-concepts){background:transparent!important;color:#f7f7fa!important;padding-top:clamp(64px,7vw,110px)!important;padding-bottom:clamp(58px,6vw,95px)!important}
.home-site :is(.home-studio,.home-expertise,.home-spaces,.home-concepts) h2{color:#f7f7fa!important}
.home-site :is(.home-studio,.home-expertise,.home-spaces,.home-concepts) h2 em{color:#fd3b4f!important}
.home-site :is(.home-studio,.home-expertise,.home-spaces,.home-concepts) p{color:#aeadb8!important}
.home-site .home-section-index{color:#eb4054!important}
.home-site .home-index-rule{background:#ef2a3f!important}
.home-site .home-studio-layout{border-color:#ffffff22!important}
.home-site .home-lead{color:#eceaf0!important}
.home-site .home-inline-link{color:#ff596c!important}
.studio-image-panel{position:relative;margin:36px 0 18px;overflow:hidden;border:1px solid #ffffff1f;border-radius:18px;height:clamp(260px,30vw,450px);background:#181217}
.studio-image-panel img{width:100%;height:100%;object-fit:cover;object-position:center 48%;display:block;filter:saturate(.87)}
.studio-image-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0e0c0e77,transparent 62%),linear-gradient(0deg,#070608b8,transparent 38%)}
.studio-image-caption{position:absolute;z-index:2;left:clamp(23px,3vw,46px);bottom:clamp(22px,3vw,44px);display:grid;gap:9px;color:white}
.studio-image-caption span{font-size:10px;letter-spacing:.2em;color:#ff7b89}
.studio-image-caption strong{font-size:clamp(25px,3.2vw,42px);letter-spacing:-.065em}
.home-site .home-studio-note{background:linear-gradient(105deg,#211217,#1a161b)!important;border:1px solid #ffffff16!important;border-radius:13px!important}
.home-site .home-studio-note p{color:#ece8ec!important}
.home-site .home-studio-note span{color:#e62d42!important}
.home-site .home-capabilities{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.home-site .home-capability{display:flex!important;flex-direction:column;align-items:stretch;gap:12px!important;padding:0 0 18px!important;background:linear-gradient(150deg,#1b1b21,#111116)!important;border:1px solid #ffffff1b!important;border-radius:14px!important;overflow:hidden;min-width:0;position:relative;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important;box-shadow:0 12px 28px #0003!important}
.home-site .home-capability:hover{transform:translateY(-5px)!important;border-color:#e82a415a!important;box-shadow:0 22px 42px #0007!important;background:#211b22!important}
.home-capability-visual{order:0;height:140px;width:100%;overflow:hidden;background:#26151c}
.home-capability-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;filter:saturate(1.08)}
.home-capability:hover .home-capability-visual img{transform:scale(1.06)}
.home-site .home-capability-no{order:1;color:#fa5a6c!important;padding:0 18px!important}
.home-site .home-capability>div:not(.home-capability-visual){order:2;padding:0 18px!important}
.home-site .home-capability h3{font-size:clamp(16px,1.4vw,20px)!important;color:#fff!important;line-height:1.2!important}
.home-site .home-capability p{color:#aca8b2!important;font-size:12px!important;line-height:1.6!important}
.home-site .home-capability-symbol{order:3;margin:0 18px 0 auto!important;color:#f84b5f!important}
.home-concepts{padding-inline:clamp(24px,7vw,110px)!important}
.home-concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:32px}
.home-concept{height:clamp(240px,26vw,390px);position:relative;border:1px solid #ffffff1e;border-radius:15px;overflow:hidden;background:#251619}
.home-concept img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.84);transition:transform .5s ease}
.home-concept:hover img{transform:scale(1.06)}
.home-concept:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#050507e0,transparent 60%)}
.home-concept-overlay{position:absolute;bottom:22px;left:25px;right:20px;z-index:2;color:white}
.home-concept-overlay small{font-size:10px;letter-spacing:.14em;color:#fa6879}
.home-concept-overlay h3{font-size:clamp(19px,1.8vw,28px);margin:7px 0;letter-spacing:-.045em}
.home-site .home-approach{background:#151318!important;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff17;color:#fff!important}
.home-site .home-approach p{color:#b5b0ba!important}
.home-site .home-step{background:#1d1b21!important;border:1px solid #ffffff13!important;border-radius:10px!important}
.home-site .home-step h3{color:#f8f6fa!important}
.home-site .home-space-cards{gap:18px!important}
.home-site .home-space-card{border-radius:16px!important;border:1px solid #ffffff22!important;min-height:270px;background:linear-gradient(110deg,#20161d,#2b161f 54%,#441420)!important;position:relative;overflow:hidden;transition:transform .2s,border-color .2s!important}
.home-site .home-space-card:hover{transform:translateY(-3px)!important;border-color:#f233497b!important}
.home-site .home-space-client{background:linear-gradient(108deg,#19151aee,#20151eaa 45%,#30152065),url('/assets/marrakech-atmosphere-r12.webp') center / cover!important}
.home-site .home-space-card h3{color:#fff!important}
.home-site .home-space-card p{color:#d0c3cb!important}
.home-site .home-space-card :where(.home-space-kicker,.home-space-action,.home-space-icon){color:#ff6778!important}
.home-site .home-spaces-footnote{color:#bcb8c1!important}
.home-site .home-endnote{background:linear-gradient(110deg,#140a0eaf,#210e13cc),url('/assets/marrakech-atmosphere-r12.webp') center 45% / cover!important;border-top:1px solid #632631!important}
.home-site .home-endnote h2{color:white!important}
.home-site .home-button-light{border-radius:9px!important}
.home-site .home-footer{background:#070709!important;color:#f4eff2!important;border-top:1px solid #ffffff1a}
.home-site .home-footer p,.home-site .home-footer-links a,.home-site .home-footer-bottom{color:#b0aab2!important}
.home-site .home-footer-mark{color:#55161f!important}
.home-site :is(.home-studio,.home-expertise,.home-concepts,.home-spaces) a:focus-visible{outline:2px solid #fa5365;outline-offset:4px}
@keyframes bm-image-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
/* The light-mode switch keeps the dark cinematic composition but brightens surfaces, preserving the brand direction. */
html[data-theme='light'] .home-site{--home-paper:#17151b;--home-ink:#fff;--home-muted:#cac4cb;--home-line:#51434a;--home-surface:#241e24}
html[data-theme='light'] .home-site .home-header{background:rgba(21,17,23,.92)!important}
@media(max-width:1250px){.home-site .home-header{grid-template-columns:minmax(140px,1fr) auto minmax(180px,1fr)!important}.home-site .home-header-actions{gap:12px}.home-site .home-header-link{display:none}.home-site .home-hero{padding-inline:clamp(25px,5vw,70px)!important}.home-site .home-capability h3{font-size:17px!important}}
@media(max-width:1100px){.home-site .home-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important}.home-site .home-menu-toggle{display:flex!important}.home-site .home-nav{background:#141115!important;border:1px solid #ffffff27!important;border-radius:0 0 15px 15px}.home-site .home-nav a{color:#eee8ed!important}.home-site .home-mobile-links{border-top:1px solid #ffffff22}.home-site .home-mobile-links a{color:white!important}.home-site .home-hero{gap:26px!important;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr)!important}.home-site .home-hero-art{height:380px!important;min-height:380px!important}.home-site .home-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:790px){.home-site .home-hero{grid-template-columns:minmax(0,1fr)!important;padding:62px 23px 65px!important;gap:34px!important}.home-site .home-hero h1{font-size:clamp(50px,9.2vw,76px)!important}.home-site .home-hero-art{max-width:none!important;height:390px!important;min-height:360px!important}.home-site .home-header{height:70px!important;min-height:70px!important;padding:12px 18px!important}.home-site .home-header-actions{display:flex!important}.home-site .home-theme-toggle{color:white!important}.home-concept-grid{grid-template-columns:minmax(0,1fr)}.home-concept{height:260px}.home-site .home-space-cards{grid-template-columns:1fr!important}.home-site .home-studio,.home-site .home-expertise,.home-site .home-spaces,.home-site .home-concepts{padding-inline:23px!important}}
@media(max-width:500px){.home-site .home-hero{padding:48px 18px 42px!important}.home-site .home-hero h1{font-size:clamp(42px,11.1vw,58px)!important}.home-site .home-hero-intro{font-size:15px!important}.home-site .home-hero-meta{margin-top:30px!important}.home-site .home-hero-art{height:310px!important;min-height:310px!important}.home-site .home-capabilities{grid-template-columns:minmax(0,1fr)!important}.home-capability-visual{height:166px}.home-site .home-capability{min-height:0}.home-site .home-contact-link{display:none!important}.home-site .home-brand img{width:127px!important}.home-site .home-art-bottom{font-size:8px}.home-site .home-studio,.home-site .home-expertise,.home-site .home-spaces,.home-site .home-concepts{padding-inline:18px!important}.home-site .home-header-actions{gap:6px!important}.home-site .home-button-primary{width:auto!important}}
@media(prefers-reduced-motion:reduce){.home-site *,.home-site *:before,.home-site *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* source: /css/pages/faithful-r9.css */
/* ByMedia R9 · reference-directed cinematic UI — functional markup, live data, separate illustration assets.
   No numbers, client references, fabricated results, or people are presented as verified evidence. */
:root{--r9-black:#090b0f;--r9-panel:#11151b;--r9-panel2:#151920;--r9-red:#e0192e;--r9-hot:#ff314f;--r9-line:#ffffff15}
html{scrollbar-color:#49222c #0a0c0f}
html[data-theme='dark'] body:has(.app){background:var(--r9-black)!important}
.app{grid-template-columns:208px minmax(0,1fr)!important;background:#090c11!important;min-height:100svh}
.sidebar.bm-r9-sidebar{background:radial-gradient(ellipse at -10% 66%,#98142b2e,transparent 40%),linear-gradient(160deg,#110e12,#090b0e 54%,#0b0d11)!important;padding:0 13px 14px!important;border-right:1px solid #fff2!important;gap:0!important;height:100svh;position:sticky;top:0;min-height:0!important;overflow:hidden;display:flex;box-shadow:none!important}
.bm-sidebar-logo{height:80px;display:flex;align-items:center;padding:12px 12px 10px;border-bottom:1px solid #ffffff10;margin-bottom:8px}
.sidebar .bm-sidebar-logo .logo{width:153px!important;max-width:100%!important;filter:none!important}
.bm-sidebar-label{font-size:9px;color:#b66e78;letter-spacing:.19em;font-weight:790;padding:12px 13px 11px}
.sidebar.bm-r9-sidebar .sidebar-menu{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#40232a transparent;padding:0 0 6px}
.sidebar.bm-r9-sidebar .bm-sidebar-links{display:flex;flex-direction:column;gap:2px}
.sidebar.bm-r9-sidebar .nav{min-height:39px!important;padding:9px 12px!important;font-size:12px!important;font-weight:570!important;border-radius:7px!important;gap:11px!important;color:#c9cbd0!important;line-height:1.15}
.sidebar.bm-r9-sidebar .nav .ico{width:21px;height:20px;display:flex;align-items:center;justify-content:center;color:#c8cbd1}
.sidebar.bm-r9-sidebar .nav.active{color:#fff!important;border:1px solid #f61c415e!important;background:linear-gradient(100deg,#a6152b89,#5e112253)!important;box-shadow:inset 3px 0 #fe2846,0 0 25px #c00e1f11!important}
.sidebar.bm-r9-sidebar .nav.active .ico{color:#ff566c}
.sidebar.bm-r9-sidebar .nav:hover:not(.active){background:#ffffff0b!important;color:#fff!important}
.bm-sidebar-more{border-top:1px solid #ffffff12;margin:9px 5px 5px;padding-top:7px;color:#c4c4ca}
.bm-sidebar-more summary{font-size:11px;font-weight:700;cursor:pointer;padding:8px;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:6px;list-style:none}
.bm-sidebar-more summary::-webkit-details-marker{display:none}
.bm-sidebar-more summary:hover{background:#ffffff0a}
.bm-sidebar-more .nav{font-size:11px!important}
.bm-sidebar-promo{position:relative;overflow:hidden;flex-shrink:0;margin:9px 2px 10px;border:1px solid #c82e4e42;border-radius:12px;min-height:127px;padding:17px 14px;isolation:isolate;background:linear-gradient(145deg,#220b14,#0f0d12 60%,#400b1d)}
.bm-sidebar-promo:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 90% 95%,#e5184caa,transparent 44%),repeating-linear-gradient(145deg,transparent 0 28px,#db203131 29px,#db203131 31px,transparent 33px 65px);z-index:-1;opacity:.75}
.bm-sidebar-promo>span:first-child{font-size:20px;line-height:1.08;font-weight:790;letter-spacing:-.055em;color:white;display:block;position:relative;z-index:1}
.bm-sidebar-promo b{color:#ff3852}
.bm-sidebar-promo-orbit{position:absolute;border:1px solid #ff405abf;width:160px;height:140px;border-radius:50%;right:-82px;bottom:-81px;box-shadow:0 0 0 16px #cc174628,0 0 0 35px #a4142922;transform:rotate(-25deg)}
.sidebar.bm-r9-sidebar .side-bottom{min-height:62px!important;border:1px solid #ffffff18!important;border-radius:10px;padding:9px!important;display:flex;align-items:center;gap:8px;color:#f8f5f7;background:#12161a;line-height:1.15!important;font-size:11px!important;margin-top:0!important}
.bm-user-bubble{flex:0 0 33px;width:33px;height:33px;border-radius:50%;background:linear-gradient(145deg,#ed4d65,#731a2c);display:grid;place-items:center;font-size:14px;color:white;font-weight:840;border:2px solid #ffffff40}
.bm-user-ident{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.bm-user-ident strong{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:760}
.bm-user-ident small{font-size:9px;color:#aeb2bc}
.bm-sidebar-logout{border:0;color:#d7d3dc;background:transparent;padding:6px;display:grid;place-items:center}
.bm-sidebar-logout:hover{color:#fff}
.main{background:radial-gradient(ellipse at 100% 2%,#60132216,transparent 31%),#0b0e13!important;padding:0 clamp(12px,1.5vw,27px) 80px!important;min-width:0}
.bm-r9-topbar{height:72px!important;display:flex;justify-content:space-between;align-items:center;padding:0 4px!important;background:transparent!important;border-bottom:0!important;gap:14px}
.bm-r9-global-search{display:flex;align-items:center;gap:11px;text-align:left;width:min(420px,48vw);height:38px;min-height:38px;padding:8px 13px;background:#121720;border:1px solid #ffffff11;color:#8f929e;border-radius:9px;cursor:pointer;font-size:11px}
.bm-r9-global-search:hover{border-color:#ffffff40;color:white}
.bm-r9-global-search .icon{width:16px;height:16px;color:#c6c8d1}
.bm-r9-global-search span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bm-r9-global-search kbd{padding:4px 7px;color:#9d9ba8;font-size:10px;background:#222630;border-radius:5px}
.bm-r9-topbar .topbar-right{gap:11px}
.bm-r9-topbar .connection{background:transparent!important;border:0!important;font-size:10px!important;padding:7px 3px!important;color:#9da1ab!important}
.bm-r9-topbar .connection i{width:7px;height:7px}
.bm-r9-topbar .icon-button{background:#14181e!important;border:1px solid #ffffff15!important;border-radius:9px!important;color:white!important;min-width:35px!important;min-height:35px!important;padding:7px!important}
.bm-r9-date{font-size:11px;color:#d7d6de;padding:10px 13px;border:1px solid #ffffff1d;background:#131821;border-radius:9px;white-space:nowrap;text-transform:capitalize}
.bm-r9-topbar .avatar{width:35px;height:35px;border:1px solid #fa416069!important;border-radius:100%!important;background:linear-gradient(145deg,#fd4c6a,#55121e)!important;color:white!important;font-size:14px}
/* Projects — ref screenshot layout: panoramic photo hero, metric tiles, 4-across imagery, inspector */
.bm-projects-r9{margin:-1px 0 0!important;padding-bottom:50px!important}
.bm-projects-r9 .bm-projects-hero{min-height:170px!important;height:170px!important;padding:23px 24px!important;margin-bottom:15px!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:transparent!important;isolation:isolate;display:flex;align-items:center}
.bm-projects-r9 .bm-projects-hero:before{content:'';z-index:-2;position:absolute;inset:0;background:radial-gradient(ellipse at 70% 65%,#bd213326,transparent 60%),linear-gradient(115deg,#0c0e12,#200d13 58%,#0b0b10)}
.bm-projects-r9 .bm-projects-hero:after{content:''!important;z-index:-1!important;position:absolute;inset:0;background:linear-gradient(90deg,#0b0e13 1%,#0b0d13ec 26%,#0c0e13a9 44%,#0c0c110f 80%,#0c0e137b 100%),url('/assets/hero-sculpture-r12.webp') 85% 56%/auto 190% no-repeat!important;opacity:.98!important;filter:saturate(.96)}
.bm-projects-r9 .bm-projects-hero-copy{width:100%;max-width:730px;position:relative;z-index:3}
.bm-projects-r9 .bm-panel-kicker{font-size:10px!important;font-weight:770;letter-spacing:.14em;color:#ff4760!important;margin-bottom:10px}
.bm-projects-r9 .bm-panel-kicker:before{content:'';height:2px;width:16px;display:inline-block;background:#fe2d4e;vertical-align:middle;margin-right:8px}
.bm-projects-r9 .bm-projects-hero h1{font-size:clamp(43px,4vw,66px)!important;line-height:1!important;letter-spacing:-.072em!important;font-weight:830!important;margin:0 0 8px!important;display:flex;align-items:center;gap:12px}
.bm-projects-r9 .bm-projects-hero h1 em{color:#fc2443!important;font-style:normal}
.bm-title-arrow{font-size:20px;color:#fff;border:1px solid #ffffff54;width:39px;height:39px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;transform:rotate(45deg);letter-spacing:0;font-weight:500}
.bm-projects-r9 .bm-projects-hero p{font-size:12px;color:#c9c8ce;line-height:1.5;margin:0;max-width:470px}
.bm-hero-location{font-family:cursive;position:absolute;right:10%;top:17px;z-index:3;color:#f1e7e9;font-size:15px;line-height:1.3;transform:rotate(-9deg);text-shadow:0 3px 13px black}
.bm-projects-r9 .bm-project-metrics{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(140px,.88fr)!important;gap:10px;margin-bottom:16px!important}
.bm-projects-r9 .bm-project-metric{background:linear-gradient(135deg,#161b22,#11151c)!important;border:1px solid #ffffff15!important;border-radius:11px!important;min-height:82px!important;padding:13px 12px!important;display:flex;flex-direction:row;align-items:center;gap:11px!important;box-shadow:inset 0 1px 0 #ffffff07!important}
.bm-metric-icon{width:38px;height:38px;display:grid!important;place-items:center;flex:0 0 38px;border-radius:8px;background:#511d29;color:#ff5470;font-size:20px!important;font-weight:850}
.bm-project-metric:nth-child(2) .bm-metric-icon{background:#12332f;color:#36dc9f}
.bm-project-metric:nth-child(3) .bm-metric-icon{background:#282c36;color:#c9cad2}
.bm-project-metric:nth-child(4) .bm-metric-icon{background:#3a202b;color:#f94e68}
.bm-projects-r9 .bm-project-metric>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.bm-projects-r9 .bm-project-metric strong{color:#fff;font-size:24px;line-height:1;font-weight:780;letter-spacing:-.04em}
.bm-projects-r9 .bm-project-metric div>span{font-size:10px;color:#9ed3ed;white-space:nowrap}
.bm-projects-r9 .bm-project-metric small{color:#3edba5;font-size:9px}
.bm-projects-r9 .bm-project-create{grid-column:auto!important;min-width:0;display:flex}
.bm-projects-r9 .bm-project-create .btn{width:100%!important;min-width:0!important;font-size:11px!important;border-radius:10px!important;padding:12px 10px!important;box-shadow:0 9px 25px #d7193030!important}
.bm-projects-r9 .bm-projects-main{grid-template-columns:minmax(0,1fr) minmax(245px,285px)!important;gap:13px!important;align-items:start}
.bm-projects-r9 .bm-project-toolbar{min-height:56px;display:flex;justify-content:space-between;gap:9px;border:1px solid #ffffff19!important;padding:8px 10px!important;border-radius:11px!important;background:#11151be3!important;flex-wrap:nowrap!important}
.bm-projects-r9 .bm-project-tabs{flex-wrap:nowrap!important;gap:2px;max-width:100%;overflow:auto;scrollbar-width:none}
.bm-projects-r9 .bm-project-tabs::-webkit-scrollbar{display:none}
.bm-projects-r9 .bm-project-tabs button{border-radius:0!important;white-space:nowrap;padding:10px 8px!important;font-size:10px!important;font-weight:630!important;background:transparent!important;box-shadow:none!important;position:relative;color:#a7aab2!important}
.bm-projects-r9 .bm-project-tabs button[aria-pressed=true]{color:white!important;background:transparent!important}
.bm-projects-r9 .bm-project-tabs button[aria-pressed=true]:after{content:'';height:3px;background:#ff2e50;position:absolute;bottom:-8px;left:5px;right:5px;border-radius:20px;box-shadow:0 0 12px #f12750}
.bm-projects-r9 .bm-project-tabs button small{font-size:9px;color:inherit!important;font-weight:500}
.bm-toolbar-controls{display:flex;gap:7px;align-items:center;flex-shrink:0;min-width:0}
.bm-projects-r9 .bm-project-search{flex:0 1 190px;min-width:120px!important;max-width:215px!important}
.bm-projects-r9 .bm-project-search .field{background:#171b23!important;min-height:35px!important;height:35px!important;border:1px solid #ffffff14!important;border-radius:8px!important;color:#f8f8f8!important;font-size:10px!important;padding:8px 10px!important}
.bm-layout-switch{display:flex;gap:3px;align-items:center;border-radius:8px;background:#171b22;border:1px solid #ffffff13;padding:3px}
.bm-layout-switch button{padding:4px 8px;border-radius:5px;border:0;background:transparent;color:#c3bfc9;font-size:18px;min-width:30px;min-height:29px;cursor:pointer}
.bm-layout-switch button[aria-pressed=true]{color:#fff;background:linear-gradient(140deg,#8e1b33,#e02040)}
.bm-projects-r9 .bm-project-result-count{margin:14px 3px 12px!important;font-size:11px;color:#dddfe3}
.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important}
.bm-projects-r9 .bm-project-card{border-radius:10px!important;border:1px solid #ffffff20!important;background:linear-gradient(160deg,#141920,#0e1218)!important;box-shadow:none!important;transform:none!important}
.bm-projects-r9 .bm-project-card.is-selected{border-color:#f32d4c!important;box-shadow:0 0 0 1px #e32140b0,0 0 22px #e11c3730!important}
.bm-projects-r9 .bm-project-card-cover{aspect-ratio:1.37!important;min-height:120px!important;max-height:174px!important;border-radius:0!important}
.bm-projects-r9 .bm-project-card-cover img{filter:saturate(1.04) contrast(1.06);object-position:center}
.bm-projects-r9 .bm-cover-overlay{background:linear-gradient(0deg,#070b11fa 1%,#070b11a3 29%,#070b1100 73%,#08090b66 100%)!important}
.bm-projects-r9 .bm-project-tag{top:9px!important;left:9px!important;font-size:9px!important;padding:5px 8px!important;border-radius:6px!important}
.bm-projects-r9 .bm-cover-title{left:10px!important;right:40px!important;bottom:10px!important;gap:3px!important}
.bm-projects-r9 .bm-cover-title strong{font-size:13px!important;letter-spacing:-.025em!important;line-height:1.12!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bm-projects-r9 .bm-cover-title small{font-size:9px!important;color:#dddde3!important}
.bm-projects-r9 .bm-cover-arrow{width:27px;height:27px;bottom:11px!important;right:9px!important;font-size:14px}
.bm-projects-r9 .bm-project-card-content{padding:9px 10px 10px!important}
.bm-projects-r9 .bm-project-company{gap:7px!important}
.bm-projects-r9 .bm-project-avatar{width:26px;height:26px;flex:0 0 26px;font-size:12px;border-radius:6px}
.bm-projects-r9 .bm-project-company strong{font-size:10px!important;color:#f9f8fa}
.bm-projects-r9 .bm-project-company small{font-size:9px!important;color:#a4a6b0}
.bm-card-options{border:0;color:#bfb8c1;background:transparent;font-size:19px;padding:0 4px;line-height:1;margin-left:auto}
.bm-projects-r9 .bm-project-progress{margin-top:10px!important}
.bm-projects-r9 .bm-project-progress-caption{font-size:9px;margin-bottom:6px!important}
.bm-projects-r9 .bm-project-track{height:5px!important;background:#272b32!important}
.bm-projects-r9 .bm-project-card-footer{margin-top:9px!important;gap:5px}
.bm-projects-r9 .bm-project-card-footer small{font-size:9px;color:#9da2ac;max-width:75%;line-height:1.35}
.bm-projects-r9 .bm-project-card-footer button{font-size:9px!important;color:#fd536c!important;padding:3px 0!important;white-space:nowrap}
.bm-projects-r9 .bm-project-detail{position:sticky!important;top:12px!important;background:#11151b!important;border:1px solid #ffffff20!important;border-radius:11px!important;box-shadow:none!important}
.bm-projects-r9 .bm-project-detail-image{height:205px!important;background:#1e111a!important;min-height:0}
.bm-projects-r9 .bm-project-detail-image img{object-fit:cover}
.bm-projects-r9 .bm-project-detail-image:after{background:linear-gradient(0deg,#101319e8,transparent 52%)!important}
.bm-focus-cover-name{position:absolute;z-index:3;left:13px;bottom:15px;right:20px;display:flex;flex-direction:column;gap:5px;color:#fff}
.bm-focus-cover-name strong{font-size:24px;line-height:1.07;letter-spacing:-.055em}
.bm-focus-cover-name small{font-size:11px;color:#cfd2d8}
.bm-project-detail-tabs{display:flex;justify-content:space-around;border-bottom:1px solid #ffffff14;gap:3px;padding:0 10px}
.bm-project-detail-tabs button{position:relative;flex:1;padding:14px 3px;border:0;background:transparent;color:#b1b0b9;font-size:11px;font-weight:600;cursor:pointer}
.bm-project-detail-tabs button[aria-pressed=true]{color:white}
.bm-project-detail-tabs button[aria-pressed=true]:after{content:'';position:absolute;bottom:0;left:6px;right:6px;height:3px;background:#f02b48;border-radius:10px}
.bm-projects-r9 .bm-project-detail-inner{padding:15px 14px!important}
.bm-focus-tab-section h3{font-size:12px;color:white;margin:0 0 12px}
.bm-projects-r9 .bm-project-detail-grid{gap:10px!important;border:0!important;padding:0!important;grid-template-columns:1fr 1fr;margin-bottom:16px}
.bm-projects-r9 .bm-project-detail-grid div{gap:5px}
.bm-projects-r9 .bm-project-detail-grid small{font-size:10px;color:#969ca6}
.bm-projects-r9 .bm-project-detail-grid strong{font-size:11px;color:#eeeef2;font-weight:580}
.bm-projects-r9 .bm-project-detail-progress{border-top:1px solid #ffffff1a!important;border-bottom:1px solid #ffffff1a!important;padding:14px 0!important}
.bm-projects-r9 .bm-project-detail-progress>div:first-child{font-size:10px}
.bm-projects-r9 .bm-project-description{padding:13px 0!important}
.bm-projects-r9 .bm-project-description strong{font-size:11px}
.bm-projects-r9 .bm-project-description p{font-size:10px;color:#a8abb5;max-height:100px;line-height:1.6}
.bm-projects-r9 .bm-project-detail-actions .btn{min-height:39px!important;border-radius:7px!important;font-size:11px!important}
.bm-projects-r9 .bm-project-illustration-note{font-size:9px!important;color:#828793!important;margin-top:12px!important}
.bm-focus-task,.bm-focus-person{display:flex;gap:9px;align-items:flex-start;border-bottom:1px solid #ffffff17;padding:10px 0}
.bm-focus-task>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.bm-focus-task strong,.bm-focus-person strong{font-size:11px;color:#e9eaf0;font-weight:600}
.bm-focus-task small{font-size:10px;color:#a5a8b3}
.bm-focus-check{color:#a7b2bf;font-size:17px}.bm-focus-check.is-done{color:#3ad9a0}
.bm-focus-person span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#8a1930;color:white;font-size:12px;font-weight:700}
.bm-focus-empty{font-size:11px;color:#aeb3c0}
.bm-focus-quiet-link{background:transparent;border:1px solid #ffffff35;border-radius:7px;color:#f3f1f5;padding:8px 11px;font-size:10px;margin-top:13px;cursor:pointer}
.bm-projects-r9 .bm-project-gallery.bm-gallery-list{grid-template-columns:1fr!important}
.bm-gallery-list .bm-project-card{display:grid;grid-template-columns:180px minmax(0,1fr)}
.bm-gallery-list .bm-project-card-cover{height:100%;max-height:none!important;aspect-ratio:auto!important}
.bm-projects-r9 :where(button,input):focus-visible{outline:2px solid #ff5a70!important;outline-offset:2px!important}
/* Public home: full cinematic frame rather than a floating illustration thumbnail */
.home-site .home-hero{position:relative;min-height:650px!important;background:linear-gradient(90deg,#090a0e 3%,#090a0edc 37%,#10080b43 71%,#0b090db8 100%),url('/assets/studio-editorial-r12.webp') center right/cover no-repeat!important;display:block!important;padding:clamp(70px,9vw,135px) clamp(30px,8vw,130px) 75px!important;overflow:hidden}
.home-site .home-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 89% 54%,#ec1b3b1a,transparent 43%)!important;pointer-events:none}
.home-site .home-hero-copy{max-width:690px!important;position:relative;z-index:2}
.home-site .home-hero h1{font-size:clamp(53px,6vw,94px)!important;max-width:690px;line-height:1.02!important}
.home-site .home-hero-intro{font-size:clamp(15px,1.35vw,19px)!important;max-width:500px!important;text-shadow:0 2px 18px #0b090d}
.home-site .home-hero-art{position:absolute!important;right:4%!important;bottom:44px!important;width:min(27vw,330px)!important;height:min(29vw,360px)!important;min-height:0!important;opacity:.9;background:#1114!important;box-shadow:0 14px 45px #0009!important;transform:perspective(900px) rotateY(-6deg);border-radius:15px!important;overflow:hidden!important;pointer-events:none}
.home-site .home-hero-art .home-hero-photo{object-position:27% center}
.home-site .home-hero-meta{margin-top:36px!important}
.home-site .home-capability{border-color:#ffffff25!important}
/* Responsive: make every control reachable; keep real project cards legible. */
@media(max-width:1530px){.bm-projects-r9 .bm-project-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}.bm-projects-r9 .bm-project-create{grid-column:1/-1!important}.bm-projects-r9 .bm-project-create .btn{width:auto!important;min-width:175px!important}.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1320px){.app{grid-template-columns:190px minmax(0,1fr)!important}.bm-projects-r9 .bm-projects-main{grid-template-columns:minmax(0,1fr) 240px!important}.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bm-projects-r9 .bm-project-toolbar{flex-wrap:wrap!important}.bm-toolbar-controls{width:100%;justify-content:flex-end}.bm-projects-r9 .bm-project-search{flex:1;max-width:none!important}.bm-projects-r9 .bm-project-card-cover{max-height:210px!important}}
@media(max-width:1100px){.bm-projects-r9 .bm-projects-main{grid-template-columns:1fr!important}.bm-projects-r9 .bm-project-detail{position:static!important;display:block!important}.bm-projects-r9 .bm-project-detail-image{height:220px!important}.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important}.bm-projects-r9 .bm-project-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bm-projects-r9 .bm-project-create{grid-column:1/-1!important}}
@media(max-width:760px){.app{display:block!important}.sidebar.bm-r9-sidebar{display:none!important}.main{padding:0 12px 104px!important}.bm-r9-topbar{height:60px!important}.bm-r9-global-search{width:60%;min-width:0}.bm-r9-global-search kbd,.bm-r9-topbar .connection{display:none}.bm-r9-topbar .bm-r9-date{display:none}.bm-projects-r9 .bm-projects-hero{height:170px!important;min-height:170px!important;padding:18px 14px!important}.bm-projects-r9 .bm-projects-hero h1{font-size:47px!important}.bm-projects-r9 .bm-hero-location{right:6%;top:17px;font-size:12px}.bm-projects-r9 .bm-projects-hero:after{background-position:76% 50%!important;background-size:auto 160%!important}.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.bm-projects-r9 .bm-project-toolbar{gap:4px!important;padding:8px!important}.bm-projects-r9 .bm-project-tabs{width:100%;max-width:100%}.bm-projects-r9 .bm-project-metric{min-height:77px!important}.bm-projects-r9 .bm-project-detail-image{height:225px!important}.home-site .home-hero{min-height:630px!important;padding:90px 23px 60px!important;background-position:67% center!important}.home-site .home-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09090de8,#09090d66)}.home-site .home-hero-copy{position:relative;z-index:5}.home-site .home-hero-art{display:none!important}}
@media(max-width:490px){.bm-projects-r9 .bm-project-gallery{grid-template-columns:1fr!important}.bm-projects-r9 .bm-project-card-cover{aspect-ratio:1.65!important;max-height:235px!important}.bm-projects-r9 .bm-project-card-cover .bm-cover-title strong{font-size:17px!important}.bm-projects-r9 .bm-project-card-content{padding:13px!important}.bm-projects-r9 .bm-project-metric strong{font-size:21px!important}.bm-projects-r9 .bm-project-metric div>span{font-size:9px!important}.bm-projects-r9 .bm-project-metric small{font-size:9px!important}.bm-projects-r9 .bm-project-metrics{gap:7px!important}.bm-projects-r9 .bm-project-metric{padding:11px 9px!important;gap:7px!important}.bm-projects-r9 .bm-metric-icon{width:30px;height:30px;flex:0 0 30px;font-size:16px!important}.bm-projects-r9 .bm-projects-hero h1{font-size:43px!important}.bm-r9-global-search{width:65%;font-size:10px}.bm-projects-r9 .bm-project-tabs button{font-size:10px!important;padding:9px 7px!important}.bm-projects-r9 .bm-project-search{min-width:0!important}}
@media(min-width:1700px){.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(4,minmax(0,1fr))!important}.bm-projects-r9 .bm-project-metrics{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(150px,.88fr)!important}.bm-projects-r9 .bm-project-create{grid-column:auto!important}.bm-projects-r9 .bm-projects-main{grid-template-columns:minmax(0,1fr) minmax(290px,310px)!important}}
@media(prefers-reduced-motion:reduce){.bm-projects-r9 *,.home-site *{animation:none!important;transition:none!important}}

/* Client entry follows the same split, image-led cinematic reference. */
.portal-shell.portal-login-page{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(330px,460px)!important;grid-template-rows:auto minmax(510px,1fr) auto!important;align-items:center!important;gap:0!important;min-height:100svh!important;background:linear-gradient(90deg,#09090dc7,#0b091171 48%,#0e0c13bc),url('/assets/marrakech-atmosphere-r12.webp') center/cover no-repeat!important}
.portal-shell.portal-login-page .portal-header{grid-column:1/-1!important;grid-row:1!important;z-index:3!important}
.bm-portal-story{grid-column:1!important;grid-row:2!important;padding:clamp(28px,7vw,110px);min-width:0;max-width:720px;align-self:center;z-index:2;color:#fff}
.bm-portal-story>span{display:inline-block;color:#ff6c76;font-size:10px;font-weight:780;letter-spacing:.17em;margin-bottom:18px}
.bm-portal-story h2{color:#fff;font-size:clamp(38px,5.6vw,74px);line-height:1.01;letter-spacing:-.073em;margin:0 0 18px;font-weight:850}
.bm-portal-story p{max-width:370px;color:#e1d9df;font-size:14px;line-height:1.65;margin:0}
.portal-shell.portal-login-page .portal-login-card{grid-column:2!important;grid-row:2!important;margin:30px 5vw 30px 0!important;width:min(430px,calc(100% - 18px))!important;justify-self:end!important;border-radius:14px!important;padding:clamp(23px,3vw,38px)!important;align-self:center!important;background:#111217ed!important;backdrop-filter:blur(21px);border:1px solid #ffffff2c!important}
.portal-shell.portal-login-page .portal-footer{grid-column:1/-1!important;grid-row:3!important;position:relative;z-index:2;background:#09090b94}
@media(max-width:850px){.portal-shell.portal-login-page{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:start!important;min-height:100svh!important;background-position:64% center!important}.bm-portal-story{padding:35px 24px 0!important;align-self:stretch!important}.bm-portal-story h2{font-size:clamp(35px,9vw,50px)}.bm-portal-story p{font-size:12px}.portal-shell.portal-login-page .portal-login-card{margin:24px auto 34px!important;justify-self:auto!important;align-self:center!important;width:min(440px,calc(100% - 32px))!important}.portal-shell.portal-login-page .portal-footer{margin-top:auto!important}}
/* Dense but breathable marketing panels and graceful motion. */
.home-site :is(.home-studio,.home-expertise,.home-spaces,.home-concepts){padding-top:clamp(55px,6vw,88px)!important;padding-bottom:clamp(50px,5vw,78px)!important}
.home-site .home-capability-visual img{object-fit:cover;object-position:50% 18%}
.home-site .home-concept img{object-fit:cover;object-position:50% 22%}
@media (prefers-reduced-motion: no-preference){.bm-projects-r9 .bm-project-card-cover img{transition:transform .4s cubic-bezier(.2,.7,.3,1)}.bm-projects-r9 .bm-project-card:hover .bm-project-card-cover img{transform:scale(1.04)}}


/* source: /css/pages/art-direction-r10.css */
/* ByMedia R10 / Art direction and operational clarity.
   Unique editorial scenes are local assets; form semantics and all data bindings stay untouched. */
:root{--r10-red:#e32236;--r10-glow:#e11e3c66;--r10-ink:#0c0f14}
.main>.bm-scene-hero{position:relative;isolation:isolate;overflow:hidden;margin:24px 0 18px;border-radius:15px;border:1px solid #ffffff28;background:#0f1016;color:#fff;min-height:226px;display:flex;align-items:center;padding:clamp(25px,3vw,43px);box-shadow:0 24px 65px #00000035}
.bm-scene-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.99}
.main>.bm-scene-hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#06080de8 0%,#06080dba 33%,#05070a10 72%,#090a0b28 100%),linear-gradient(0deg,#0b0a1099,transparent 48%)}
.main>.bm-scene-hero:after{content:'';position:absolute;left:0;top:24px;bottom:24px;width:3px;border-radius:0 5px 5px 0;background:#ec283e;box-shadow:0 0 26px #ef2d4c95}
.bm-scene-copy{max-width:min(600px,68%);position:relative;z-index:1}
.bm-scene-kicker{display:block;color:#ff7286;font-size:10px;font-weight:780;letter-spacing:.20em;line-height:1.5}
.bm-scene-kicker b{color:#ffffff70;margin:0 8px}
.bm-scene-copy h1{color:#fff!important;font-weight:820!important;line-height:1.04!important;letter-spacing:-.060em!important;font-size:clamp(27px,3.35vw,49px)!important;margin:14px 0!important;max-width:570px}
.bm-scene-copy p{max-width:435px;color:#e0dce3;font-size:13px;line-height:1.7;margin:0}
.bm-scene-signature{display:inline-flex;gap:6px;color:#f5bcc3;font-weight:700;letter-spacing:.18em;font-size:9px;margin-top:27px}
.bm-scene-no{position:absolute;right:24px;bottom:20px;font-size:9px;letter-spacing:.24em;color:#ffffff98}
.main:has(>.bm-scene-hero)>.heading{margin:0 0 15px!important;min-height:0!important;justify-content:flex-end;gap:10px}
.main:has(>.bm-scene-hero)>.heading>div:first-child{display:none}
.main:has(>.bm-scene-hero)>.heading:has(>div:only-child){display:none}
.main:has(>.bm-scene-hero)>.heading .btn.primary{border-radius:9px;box-shadow:0 8px 23px #b4142c33}
/* Independent covers for every relevant record; no stock images or fake client case studies. */
.os-record-item .os-record-mark.bm-record-photo{width:66px;height:59px;min-width:66px;flex:0 0 66px;overflow:hidden;border-radius:9px;background:#221923;box-shadow:0 3px 12px #0002;padding:0;border:1px solid #ffffff24}
.bm-record-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.2,.75,.3,1)}
.os-record-item:hover .bm-record-photo img{transform:scale(1.06)}
.os-record-summary{min-height:75px}
.os-record-item{overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.os-record-item:hover{border-color:#e3223645}
.os-record-item[open]{border-color:#e3223673;box-shadow:0 0 0 1px #e3223620}
.os-record-actions{gap:8px}
/* A cinematic top-level dashboard without fake KPI numbers. */
.bm-dashboard-cinema{position:relative;isolation:isolate;min-height:190px;display:flex;align-items:center;overflow:hidden;border:1px solid #ffffff29;background:#101116;color:#fff;border-radius:15px;margin:8px 0 20px;padding:30px clamp(22px,3vw,45px)}
.bm-dashboard-cinema>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.bm-dashboard-cinema:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a0c11f0 0%,#0a0c11be 35%,transparent 95%)}
.bm-dash-cinema-text{display:flex;flex-direction:column;gap:9px;max-width:480px}
.bm-dash-cinema-text>span{font-size:10px;letter-spacing:.23em;font-weight:800;color:#ff7185}
.bm-dash-cinema-text>strong{font-size:clamp(28px,3.2vw,46px);line-height:1.1;letter-spacing:-.055em;font-weight:820}
.bm-dash-cinema-text>small{color:#dedbe0;font-size:13px}
.bm-dash-cinema-index{position:absolute;right:22px;bottom:17px;font-size:9px;letter-spacing:.15em;color:#ffffff9b}
/* Coherent premium interface without sacrificing readable operational lists. */
.main .panel,.main .os-record-hub{border-radius:14px}
.main .btn:not(.primary){transition:border-color .16s,background .16s}
.main .btn:focus-visible,.main button:focus-visible,.main summary:focus-visible,.main a:focus-visible{outline:2px solid #fa4f6e;outline-offset:3px}
.main .field:focus{outline:none;box-shadow:0 0 0 3px #eb2c493d;border-color:#f2435b}
.bm-projects-r9 .bm-project-gallery img,.bm-dash-recent-grid img{transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .3s ease}
.bm-projects-r9 .bm-project-card:hover .bm-project-card-cover img,.bm-dash-recent-card:hover img{transform:scale(1.06)}
/* Ensure photos never replace actual content and never obstruct real controls. */
.bm-projects-r9 .bm-projects-hero{background-image:linear-gradient(90deg,#090b12e8,#10111ca0 42%,#0a0c1022),url('/assets/scene-projects-r12.webp')!important;background-position:center!important;background-size:cover!important}
.bm-projects-r9 .bm-projects-hero-art{opacity:.15!important}
.task-hub-heading{position:relative;isolation:isolate;background:linear-gradient(90deg,#101117f0 0%,#12131ad4 55%,#12131a5e 100%),url('/assets/scene-tasks-r12.webp') center / cover!important;border:1px solid #ffffff29!important;border-radius:14px!important;padding:30px 27px!important;min-height:167px;display:flex;align-items:center}
.task-hub-heading h1,.task-hub-heading p{color:#fff!important}.task-hub-eyebrow{color:#ff8796!important}
/* Portal/login backgrounds as distinct cinematic photographs, while input cards stay crisp. */
.login-art{background-image:linear-gradient(90deg,#101014cf,#0e101766),url('/assets/scene-team-r12.webp')!important;background-position:center!important;background-size:cover!important}
.portal-visual,.portal-art,.portal-login-art{background-image:linear-gradient(90deg,#0b0c11af,#090a1044),url('/assets/scene-clients-r12.webp')!important;background-position:center!important;background-size:cover!important}
/* Reduced-motion users get identical art direction without animation. */
@media(min-width:1450px){.main>.bm-scene-hero{min-height:252px}.bm-dashboard-cinema{min-height:218px}}
@media(max-width:980px){.bm-scene-copy{max-width:80%}.main>.bm-scene-hero{min-height:205px}.bm-projects-r9 .bm-projects-hero{background-position:62% center!important}}
@media(max-width:680px){.main>.bm-scene-hero{margin:13px 0 14px;padding:24px 19px;border-radius:12px;min-height:218px}.bm-scene-copy{max-width:98%}.bm-scene-img{object-position:65% center}.main>.bm-scene-hero:before{background:linear-gradient(90deg,#080911f3 0%,#090b12d9 60%,#090b1266 100%)}.bm-scene-copy h1{font-size:clamp(28px,7vw,35px)!important;max-width:400px}.bm-scene-copy p{font-size:12px;max-width:320px}.bm-scene-signature{margin-top:19px;font-size:8px}.bm-scene-no{display:none}.main:has(>.bm-scene-hero)>.heading{justify-content:stretch}.main:has(>.bm-scene-hero)>.heading>.btn,.main:has(>.bm-scene-hero)>.heading .btn.primary{width:100%;justify-content:center}.bm-dashboard-cinema{margin:0 0 14px;min-height:175px;padding:24px}.bm-dash-cinema-index{display:none}.os-record-item .os-record-mark.bm-record-photo{width:49px;height:53px;min-width:49px;flex-basis:49px}.os-record-summary{gap:9px!important}.task-hub-heading{padding:22px 16px!important;min-height:180px}}
@media(max-width:380px){.bm-scene-copy h1{font-size:27px!important}.bm-scene-kicker{font-size:8px;letter-spacing:.11em}.os-record-item .os-record-mark.bm-record-photo{width:43px;height:48px;min-width:43px;flex-basis:43px}}
@media(prefers-reduced-motion:reduce){.bm-record-photo img,.bm-projects-r9 .bm-project-gallery img{transition:none!important}}
/* Login portal photo composition, with the form kept readable over a solid overlay */
.portal-shell.portal-login-page{background:linear-gradient(90deg,#08090ee3,#0e10148c 58%,#090a0fb8),url('/assets/scene-clients-r12.webp') center / cover no-repeat!important}
.portal-shell.portal-login-page .bm-portal-story{text-shadow:0 3px 22px #0009}
.portal-shell.portal-login-page .portal-login-card{background:#101318f0!important;box-shadow:0 25px 65px #0007!important}


/* source: /css/pages/premium-finish-r11.css */
/* ByMedia R11 — final art direction. One image per screen, real HTML UI, no fake KPIs. */
:root{--bm-r11-red:#e6213a;--bm-r11-electric:#ff445d;--bm-r11-night:#090b10;--bm-r11-surface:#13171e;--bm-r11-border:#ffffff1b}
html{scroll-behavior:smooth}
body{font-feature-settings:'kern' 1;font-kerning:normal}
:where(button,a,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}
:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #fa526b!important;outline-offset:3px!important}
/* Make the deliberately separate artwork visible: earlier theme put the image behind its opaque parent background. */
.main>.bm-scene-hero{isolation:isolate!important;background:#101015!important;min-height:255px!important;margin:21px 0 22px!important;padding:36px clamp(26px,3.6vw,58px)!important;border:1px solid #ffffff24!important;border-radius:16px!important;box-shadow:inset 0 1px #ffffff0d,0 26px 65px #0006!important}
.main>.bm-scene-hero>.bm-scene-img{z-index:0!important;display:block!important;opacity:1!important;filter:contrast(1.07) saturate(1.08)!important;object-position:center center;}
.main>.bm-scene-hero::before{z-index:1!important;background:linear-gradient(90deg,rgba(5,7,12,.68),rgba(5,7,12,.25) 48%,rgba(5,7,12,0) 90%),linear-gradient(0deg,rgba(4,6,11,.40),transparent 72%)!important}
.main>.bm-scene-hero::after{z-index:3!important;background:#fa2a45!important;top:35px!important;bottom:35px!important;width:3px!important}
.main>.bm-scene-hero .bm-scene-copy{z-index:2!important;max-width:min(570px,59%)!important}
.main>.bm-scene-hero h1{font-size:clamp(30px,3.6vw,56px)!important;line-height:1.04!important;letter-spacing:-.059em!important;max-width:550px!important;margin:17px 0 11px!important;text-wrap:balance}
.main>.bm-scene-hero p{font-size:clamp(12px,1.1vw,15px)!important;line-height:1.56!important;color:#eae7eb!important;max-width:400px}
.main>.bm-scene-hero .bm-scene-kicker{color:#ff7285!important;font-size:10px!important}
.main>.bm-scene-hero .bm-scene-signature{letter-spacing:.18em!important;color:#ffc2c8!important}
.main>.bm-scene-hero .bm-scene-no{z-index:2!important;color:#f1cfd0!important}
/* Wide cinematic hero for projects with a bright, sharp real asset instead of overlaid blackness. */
.bm-projects-r9 .bm-projects-hero{height:220px!important;min-height:220px!important;position:relative!important;padding:30px clamp(22px,2.6vw,42px)!important;border:1px solid #ffffff1d!important;border-radius:15px!important;background:#111018!important;margin:9px 0 18px!important;overflow:hidden}
.bm-projects-r9 .bm-projects-hero::after{z-index:-1!important;background:linear-gradient(90deg,#080b10e8 0%,#090b10b0 32%,#090b101f 68%,#080b1030 100%),url('/assets/scene-projects-r12.webp') center/cover no-repeat!important;filter:none!important}
.bm-projects-r9 .bm-projects-hero::before{display:none!important}
.bm-projects-r9 .bm-projects-hero-copy{position:relative;z-index:1;max-width:570px!important}
.bm-projects-r9 .bm-projects-hero h1{font-size:clamp(43px,5vw,68px)!important;letter-spacing:-.065em!important;line-height:1.03!important}
.bm-projects-r9 .bm-projects-hero p{color:#f1e7e8!important;line-height:1.55!important}
.bm-projects-r9 .bm-projects-hero-art{display:none!important}
.bm-projects-r9 .bm-hero-location{z-index:2;text-shadow:0 2px 12px #0009}
.bm-projects-r9 .bm-project-card,.bm-projects-r9 .bm-project-detail,.bm-projects-r9 .bm-project-browser{border-color:#ffffff23!important;box-shadow:0 12px 32px #0005!important;background-color:#10141a!important}
.bm-projects-r9 .bm-project-card{transition:transform .24s cubic-bezier(.2,.7,.3,1),border-color .24s,box-shadow .24s!important;overflow:hidden!important}
.bm-projects-r9 .bm-project-card:hover{transform:translateY(-3px);border-color:#f2475c7a!important;box-shadow:0 18px 41px #0008!important}
.bm-projects-r9 .bm-project-card-cover img{filter:contrast(1.05) saturate(1.13) brightness(.96)!important;}
.bm-projects-r9 .bm-project-card-cover::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#05080cba,transparent 55%);}
.bm-projects-r9 .bm-project-card-cover .bm-cover-title,.bm-projects-r9 .bm-project-card-cover .bm-project-tag,.bm-projects-r9 .bm-cover-arrow{z-index:3!important}
.bm-projects-r9 .bm-project-metric{background:linear-gradient(135deg,#1c2029,#10141b)!important;box-shadow:inset 0 1px #ffffff10!important;border-color:#ffffff1f!important}
.bm-projects-r9 .bm-project-detail-image img{filter:saturate(1.11) contrast(1.08)}
/* Dashboard artwork is now in front of the opaque background, with chart/data layers above it. */
.bm-dashboard-cinema{min-height:230px!important;position:relative!important;background:#121219!important;isolation:isolate!important;border:1px solid #ffffff27!important;border-radius:15px!important;box-shadow:0 22px 50px #0006!important}
.bm-dashboard-cinema>img{z-index:0!important;opacity:1!important;display:block!important;filter:contrast(1.05)}
.bm-dashboard-cinema::before{z-index:1!important;background:linear-gradient(90deg,#070a0de6 0%,#090c12b0 42%,transparent 90%)!important}
.bm-dash-cinema-text{z-index:2!important;position:relative!important;max-width:580px!important}
.bm-dash-cinema-text>strong{font-size:clamp(34px,3.7vw,54px)!important}
.bm-dash-cinema-index{z-index:2!important}
/* A calmer global application chrome; photographic artwork reserved for meaningful locations. */
.app{background:#0b0d12!important}
.sidebar.bm-r9-sidebar{background:linear-gradient(170deg,#130d12,#0b0d11 52%,#14090f)!important;border-right:1px solid #ffffff1f!important}
.sidebar .bm-sidebar-logo{padding-top:17px!important;padding-bottom:12px!important}
.bm-sidebar-promo{background:linear-gradient(0deg,#100b12c8,#180c13ae),url('/assets/service-ads-r12.webp') 54%/cover no-repeat!important;border:1px solid #d83a5252!important;min-height:134px!important}
.bm-sidebar-promo::before{background:linear-gradient(125deg,#bd123d66,#200a1620 62%,transparent)!important}
.bm-sidebar-promo-orbit{display:none}
.main{background:radial-gradient(ellipse 65% 30% at 65% -8%,#75152b22,transparent 85%),#0b0e13!important}
.bm-r9-topbar{border-bottom:1px solid #ffffff0f!important}
.main .panel,.main .os-record-hub{background:linear-gradient(145deg,#22232a,#171921)!important;border:1px solid #ffffff1d!important;box-shadow:0 12px 30px #0003!important}
.main :where(.os-record-item,.task-row,.bm-focus-task){border-bottom-color:#ffffff18}
.bm-record-photo{background:#261820!important}
.bm-record-photo img{object-fit:cover!important;filter:contrast(1.08) saturate(1.18)}
/* Functional, legible modal and form surfaces. */
:where(.modal,.dialog,.portal-login-card) input,:where(.modal,.dialog,.portal-login-card) select,:where(.modal,.dialog,.portal-login-card) textarea{font-size:16px}
.main :where(input,select,textarea){color-scheme:dark}
.main :where(.btn,button){touch-action:manipulation}
/* Public-facing art direction: true split-screen composition with meaningful photographic placement. */
.home-site{background:#08090c!important;color:#f5f4f6!important}
.home-site .home-hero{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)!important;align-items:center!important;gap:clamp(20px,4vw,68px)!important;min-height:680px!important;padding:clamp(85px,9vw,125px) clamp(26px,5.1vw,90px) 82px!important;background:radial-gradient(ellipse 55% 70% at 69% 45%,#a71b3127,transparent 78%),linear-gradient(128deg,#08090e,#14080f 72%,#0b0c11)!important;overflow:hidden!important}
.home-site .home-hero::before{content:''!important;position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 84px,#ffffff06 85px 86px)!important;opacity:.22!important}
.home-site .home-hero::after{display:none!important}
.home-site .home-hero-copy{z-index:3!important;max-width:670px!important;margin:0!important}
.home-site .home-hero h1{font-size:clamp(57px,6vw,98px)!important;line-height:.98!important;text-wrap:balance;letter-spacing:-.069em!important;margin:20px 0!important}
.home-site .home-hero-intro{font-size:clamp(14px,1.25vw,18px)!important;line-height:1.6!important;color:#e8e1e6!important}
.home-site .home-hero-art{display:block!important;position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;height:clamp(440px,38vw,620px)!important;min-height:0!important;max-width:none!important;border:1px solid #ffffff27!important;border-radius:20px!important;background:#140d10!important;transform:none!important;box-shadow:0 32px 92px #0009,0 0 0 1px #f6334a1a!important;pointer-events:none!important;opacity:1!important;overflow:hidden!important}
.home-site .home-hero-art .home-hero-photo{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 48%!important;filter:contrast(1.07) saturate(1.1)!important;transform:none!important}
.home-site .home-hero-art:after{content:''!important;position:absolute;inset:0;background:linear-gradient(0deg,#0b080bba,transparent 32%,transparent 78%,#0d080c42)!important;z-index:1!important;pointer-events:none}
.home-site .home-art-corner,.home-site .home-art-vertical,.home-site .home-art-bottom{position:absolute;z-index:3!important}
.home-site .home-scroll-cue{z-index:4}
/* Images in every service get their own visual tile; eliminate double-row text or dark overlays from legacy CSS. */
.home-site .home-capabilities{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important;align-items:stretch!important;margin-top:34px!important}
.home-site .home-capability{display:flex!important;flex-direction:column!important;align-items:stretch!important;position:relative;gap:12px!important;padding:0 0 20px!important;min-height:340px!important;overflow:hidden!important;border:1px solid #ffffff26!important;border-radius:15px!important;background:linear-gradient(150deg,#1b1d23,#101215)!important;box-shadow:0 16px 42px #0005!important;transition:transform .3s cubic-bezier(.2,.8,.3,1),border-color .3s!important}
.home-site .home-capability:hover{transform:translateY(-4px)!important;border-color:#fb435b77!important}
.home-site .home-capability-visual{order:0!important;position:relative!important;flex:0 0 auto!important;display:block!important;width:100%!important;height:175px!important;max-height:none!important;overflow:hidden!important;border-bottom:1px solid #ffffff14;background:#2b141c!important}
.home-site .home-capability-visual>img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:contrast(1.07) saturate(1.18) brightness(1.06)!important;display:block!important;opacity:1!important}
.home-site .home-capability-no{order:1!important;padding:0 18px!important;margin:4px 0 0!important;font-size:10px!important;color:#fb556e!important;letter-spacing:.17em!important}
.home-site .home-capability>div:not(.home-capability-visual){order:2!important;position:static!important;display:block!important;padding:0 18px!important;margin:0!important;transform:none!important;min-height:0!important}
.home-site .home-capability h3{font-size:clamp(16px,1.45vw,21px)!important;line-height:1.2!important;color:#fff!important;margin:0 0 8px!important}
.home-site .home-capability p{font-size:12px!important;line-height:1.65!important;color:#c9c4cb!important;margin:0!important}
.home-site .home-capability-symbol{order:3!important;align-self:flex-end!important;margin:auto 18px 0!important;min-height:22px;color:#fa536b!important}
/* Editorially curated image surfaces below the fold. */
.home-site .studio-image-panel{position:relative;overflow:hidden;border-radius:16px!important;border:1px solid #ffffff29;background:#1a1116;box-shadow:0 22px 46px #0006!important}
.home-site .studio-image-panel>img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.06)}
.home-site .home-concept{border-radius:16px!important;box-shadow:0 20px 45px #0005!important}
.home-site .home-concept>img{filter:brightness(.91) contrast(1.04) saturate(1.16)!important}
.home-site .home-space-team{background:linear-gradient(90deg,#140b15db,#140b15aa),url('/assets/team-login-r12.webp') center/cover no-repeat!important}
.home-site .home-space-client{background:linear-gradient(90deg,#140b15dc,#140b15a0),url('/assets/client-login-r12.webp') center/cover no-repeat!important}
.home-site .home-space-card{min-height:285px!important;border:1px solid #ffffff32!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 22px 50px #0007!important}
.home-site .home-space-card :where(h3,p,span){color:#fff!important;text-shadow:0 1px 9px #0008}
.home-site .home-endnote{background:linear-gradient(90deg,#0c090bd9,#0b070d7d),url('/assets/marrakech-atmosphere-r12.webp') center/cover no-repeat!important}
/* Distinct private entry photographic context, while forms and role permissions remain untouched. */
.login-art{background-image:linear-gradient(90deg,#100c13a0,#15101540),url('/assets/team-login-r12.webp')!important;background-size:cover!important;background-position:center!important}
.portal-shell.portal-login-page{background:linear-gradient(90deg,#0b0912b5,#0c0d1581 60%,#07080bc5),url('/assets/client-login-r12.webp') center/cover no-repeat!important}
.portal-shell.portal-login-page .portal-login-card{background:#101318f2!important;border:1px solid #ffffff38!important;box-shadow:0 28px 70px #000b!important}
.portal-project-card .bm-portal-project-visual{overflow:hidden!important;border-radius:12px!important}
.portal-project-card .bm-portal-project-visual img{width:100%;height:100%;object-fit:cover;filter:contrast(1.08) saturate(1.08)}
/* Make motion feel designed, not gimmicky. */
@media(prefers-reduced-motion:no-preference){
 .main>.bm-scene-hero .bm-scene-img{animation:r11-photo-entry .85s ease both}
 .home-site .home-hero-art{animation:r11-hero-reveal 1s cubic-bezier(.2,.8,.2,1) both!important}
 .home-site .home-hero-copy{animation:r11-copy-reveal .65s ease both}
 .home-site .home-hero-art .home-hero-photo{transition:transform 1s cubic-bezier(.2,.7,.3,1)!important}
 .home-site .home-hero-art:hover .home-hero-photo{transform:scale(1.03)!important}
}
@keyframes r11-photo-entry{from{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes r11-hero-reveal{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@keyframes r11-copy-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1260px){.home-site .home-hero{gap:30px!important;padding-inline:clamp(24px,4vw,62px)!important}.home-site .home-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-site .home-capability{min-height:320px!important}.home-site .home-capability-visual{height:200px!important}}
@media(max-width:980px){.home-site .home-hero{grid-template-columns:1fr!important;gap:28px!important;padding:78px clamp(22px,5vw,48px) 66px!important;min-height:0!important}.home-site .home-hero-copy{max-width:750px!important}.home-site .home-hero h1{font-size:clamp(52px,8.2vw,85px)!important}.home-site .home-hero-art{width:100%!important;height:400px!important;max-width:none!important}.home-site .home-hero-art .home-hero-photo{object-position:50% 50%!important}.main>.bm-scene-hero .bm-scene-copy{max-width:75%!important}.bm-projects-r9 .bm-projects-hero{min-height:196px!important;height:196px!important}}
@media(max-width:680px){.main>.bm-scene-hero{min-height:204px!important;padding:23px 20px!important;margin:12px 0 16px!important;border-radius:13px!important}.main>.bm-scene-hero .bm-scene-copy{max-width:95%!important}.main>.bm-scene-hero .bm-scene-img{object-position:65% center}.main>.bm-scene-hero::before{background:linear-gradient(90deg,#07090de8 0%,#090b12c5 63%,#06070a5c 100%)!important}.main>.bm-scene-hero h1{font-size:clamp(28px,7.2vw,41px)!important;margin:12px 0!important}.main>.bm-scene-hero p{max-width:295px!important;font-size:12px!important}.bm-projects-r9 .bm-projects-hero{min-height:190px!important;height:190px!important;padding:20px 16px!important}.bm-projects-r9 .bm-projects-hero::after{background-position:62% center!important;background-size:cover!important}.bm-projects-r9 .bm-projects-hero h1{font-size:clamp(39px,10vw,50px)!important}.bm-dashboard-cinema{min-height:185px!important;padding:24px 20px!important}.home-site .home-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:0!important;padding:72px 20px 52px!important;gap:24px!important}.home-site .home-hero h1{font-size:clamp(45px,11vw,62px)!important}.home-site .home-hero-art{display:block!important;width:100%!important;height:clamp(235px,68vw,340px)!important;border-radius:13px!important;margin-top:6px!important}.home-site .home-hero-meta{gap:11px!important}.home-site .home-capabilities{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}.home-site .home-capability{min-height:0!important}.home-site .home-capability-visual{height:188px!important}.home-site .home-concept{height:290px!important}}
@media(max-width:370px){.home-site .home-hero{padding-inline:15px!important}.home-site .home-hero h1{font-size:clamp(40px,10.6vw,48px)!important}.home-site .home-hero-art{height:242px!important}.main>.bm-scene-hero .bm-scene-kicker{letter-spacing:.11em!important;font-size:8px!important}}
@media(prefers-reduced-motion:reduce){.home-site *,.main>.bm-scene-hero *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Mobile projects: keep the search and layout controls in the viewport, not clipped by horizontal tabs. */
@media(max-width:760px){
 .bm-projects-r9 .bm-project-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;min-width:0!important;overflow:hidden!important}
 .bm-projects-r9 .bm-project-tabs{display:flex!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;scrollbar-width:none!important}
 .bm-projects-r9 .bm-toolbar-controls{display:flex!important;width:100%!important;min-width:0!important;justify-content:space-between!important;flex-shrink:1!important;gap:8px!important}
 .bm-projects-r9 .bm-project-search{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important}
 .bm-projects-r9 .bm-project-search .field{width:100%!important;max-width:100%!important;min-width:0!important}
 .bm-projects-r9 .bm-layout-switch{flex:0 0 auto!important}
}


/* source: /css/pages/readability-r12.css */
/* ByMedia R12 — specific fixes for contrast, autofill, type rhythm and photography.
   Visual-only: do not change role, session, data or backend logic. */
:root{--r12-red:#ee2441;--r12-paper:#fff;--r12-wash:#17161d}
html{font-synthesis:none}
/* Login: text was dark/invisible on the dark email field, especially when Chrome autofilled. */
.login{grid-template-columns:minmax(0,1.1fr) minmax(390px,490px)!important;min-height:100svh!important}
.login-art{min-height:100svh!important;background:linear-gradient(90deg,rgba(5,7,11,.46),rgba(7,7,12,.05) 64%),linear-gradient(0deg,rgba(6,4,10,.72),transparent 45%),url('/assets/team-login-r12.webp') 48% 42%/cover no-repeat!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:clamp(40px,5.2vw,86px)!important}
.login-art>div{position:relative!important;z-index:2!important;max-width:600px!important;margin-top:auto!important;margin-bottom:clamp(46px,8vh,112px)!important}
.login-art h1{max-width:580px!important;margin:16px 0 14px!important;font-size:clamp(43px,4vw,65px)!important;line-height:1.07!important;letter-spacing:-.055em!important;text-shadow:0 3px 22px #0009!important;text-wrap:balance}
.login-art p{max-width:500px!important;font-size:clamp(15px,1.14vw,17px)!important;line-height:1.62!important;text-shadow:0 1px 12px #000d!important}
.login-art .eyebrow{color:#ff98a8!important;font-size:11px!important;letter-spacing:.12em!important}
.login-art>.logo{position:relative!important;z-index:2!important;width:155px!important;flex-shrink:0!important;margin-bottom:auto!important;filter:none!important}
.login-panel{align-self:stretch!important;max-width:none!important;padding:clamp(26px,4vw,58px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:#141319!important;color:#f8f5fa!important}
.login-panel h2{font-size:clamp(31px,3vw,43px)!important;line-height:1.12!important;letter-spacing:-.045em!important;max-width:380px!important;margin:18px 0 13px!important;color:#fff!important;text-wrap:balance}
.login-panel>p{font-size:14px!important;line-height:1.6!important;color:#d2cbd5!important;max-width:345px!important;margin:9px 0 20px!important}
.login-panel form{width:100%!important;max-width:380px!important;margin-top:8px!important}
.login-panel .label{display:block!important;color:#f5eef5!important;font-size:11px!important;letter-spacing:.075em!important;font-weight:780!important;margin:17px 0 8px!important}
.login-panel :where(input.field,textarea.field){-webkit-appearance:none!important;appearance:none!important;display:block!important;width:100%!important;min-width:0!important;height:52px!important;min-height:52px!important;box-sizing:border-box!important;background-color:#24232d!important;background-image:none!important;border:1px solid #716a78!important;border-radius:9px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;color-scheme:dark!important;font:500 16px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif!important;padding:12px 15px!important;opacity:1!important;text-shadow:none!important}
.login-panel input.field::placeholder{color:#c5becb!important;-webkit-text-fill-color:#c5becb!important;opacity:1!important}
.login-panel input.field:focus{background:#24232d!important;border-color:#ff7088!important;box-shadow:0 0 0 3px rgba(244,57,86,.27)!important;outline:none!important}
.login-panel input.field:-webkit-autofill,.login-panel input.field:-webkit-autofill:hover,.login-panel input.field:-webkit-autofill:focus{background-color:#24232d!important;-webkit-box-shadow:0 0 0 1000px #24232d inset!important;box-shadow:0 0 0 1000px #24232d inset!important;-webkit-text-fill-color:#fff!important;caret-color:#fff!important;transition:background-color 5000s ease-in-out 0s!important}
.login-panel .login-password{position:relative!important;max-width:380px!important}
.login-panel .login-password input.field{padding-right:111px!important}
.login-panel .password-visibility{position:absolute!important;top:50%!important;right:6px!important;transform:translateY(-50%)!important;border-radius:6px!important;background:#38313c!important;color:#fff!important;border:1px solid #ffffff30!important;min-height:38px!important;min-width:92px!important;font-size:12px!important;padding:7px 11px!important;text-align:center!important;white-space:nowrap!important;z-index:2!important}
.login-panel .login-submit{width:100%!important;max-width:380px!important;min-height:51px!important;background:linear-gradient(105deg,#c3132c,#fa2947)!important;color:#fff!important;font-weight:770!important;letter-spacing:.005em!important;margin-top:22px!important}
.login-panel .login-recover{color:#ff8296!important;font-weight:650!important;align-self:flex-start!important;text-align:left!important}
.login-panel .login-security-note{padding-top:18px!important;margin-top:19px!important;border-top:1px solid #ffffff27!important;font-size:11px!important;line-height:1.65!important;color:#cbc4d0!important}
/* Portable team access, keep logo and form visible, no giant empty image column. */
@media(max-width:850px){.login{grid-template-columns:1fr!important}.login-art{display:none!important}.login-panel{min-height:100svh!important;padding:clamp(28px,6vw,48px)!important;max-width:none!important;justify-content:center!important}.login-panel>.logo{display:block!important;width:150px!important;margin:0 0 26px!important}.login-panel form{max-width:500px!important}.login-panel h2{max-width:500px!important}.login-panel .login-security-note{max-width:500px!important}}
@media(max-width:420px){.login-panel{padding:28px 21px 34px!important}.login-panel h2{font-size:34px!important;line-height:1.14!important}.login-panel .login-password input.field{padding-right:96px!important}.login-panel .password-visibility{min-width:81px!important;padding-inline:6px!important}}
/* Homepage: the old 98px heading wrapped a single phrase on an awkward orphan line. */
.home-site .home-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.04fr)!important;gap:clamp(35px,4.2vw,65px)!important;padding-top:clamp(92px,8.4vw,118px)!important;padding-bottom:clamp(65px,6vw,90px)!important;align-items:center!important}
.home-site .home-hero-copy{max-width:650px!important;width:100%!important}
.home-site .home-hero h1{font-size:clamp(46px,4.65vw,74px)!important;letter-spacing:-.065em!important;line-height:1.07!important;font-weight:810!important;max-width:670px!important;margin:20px 0 25px!important;text-wrap:pretty!important;overflow-wrap:normal!important;hyphens:none!important}
.home-site .home-hero-accent{color:#ff304a!important}
.home-site .home-hero-intro{font-size:clamp(15px,1.15vw,17px)!important;line-height:1.72!important;max-width:510px!important;margin:0!important;color:#e9e4ec!important}
.home-site .home-hero-actions{margin-top:30px!important;gap:14px!important;align-items:center!important;flex-wrap:wrap!important}
.home-site .home-hero-meta{margin-top:38px!important;display:flex!important;gap:13px!important;flex-wrap:wrap!important}
.home-site .home-hero-art{height:clamp(390px,38vw,580px)!important}
.home-site .home-hero-photo{object-position:48% 45%!important;image-rendering:auto!important}
.home-site .home-studio-layout h2,.home-site .home-section-heading h2{line-height:1.15!important;overflow-wrap:normal!important;max-width:900px!important;text-wrap:balance!important}
.home-site .home-capability h3{font-size:clamp(16px,1.6vw,20px)!important;line-height:1.24!important;overflow-wrap:break-word!important}
.home-site .home-capability p{font-size:13px!important;line-height:1.65!important}
/* Low-contrast content elsewhere was inherited from light theme; keep dark canvas legible. */
.portal-login-card :where(input,textarea,select){color:#f7f4fa!important;-webkit-text-fill-color:#f7f4fa!important;background-color:#23232b!important;border-color:#77717f!important;caret-color:#fff!important;color-scheme:dark!important}
.portal-login-card :where(input,textarea)::placeholder{color:#c7c2cc!important;opacity:1!important}
.portal-login-card input:-webkit-autofill,.portal-login-card input:-webkit-autofill:focus{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:0 0 0 1000px #23232b inset!important;box-shadow:0 0 0 1000px #23232b inset!important}
@media(max-width:980px){.home-site .home-hero{grid-template-columns:minmax(0,1fr)!important;gap:27px!important}.home-site .home-hero h1{font-size:clamp(49px,7vw,72px)!important}.home-site .home-hero-art{height:clamp(330px,45vw,440px)!important}}
@media(max-width:680px){.home-site .home-hero{padding:70px 21px 47px!important}.home-site .home-hero h1{font-size:clamp(43px,10.6vw,60px)!important;letter-spacing:-.06em!important;line-height:1.06!important}.home-site .home-hero-intro{font-size:14px!important;line-height:1.65!important}.home-site .home-hero-art{height:clamp(250px,70vw,360px)!important}.home-site .home-hero-actions{gap:13px!important}.home-site .home-hero-meta{font-size:10px!important;gap:11px!important}.home-site .home-hero-copy{max-width:100%!important}}
@media(max-width:370px){.home-site .home-hero h1{font-size:42px!important}.home-site .home-hero{padding-inline:16px!important}}
@media(prefers-reduced-motion:reduce){.home-site *,.login *{animation:none!important;transition:none!important}}
/* Higher specificity than legacy .login .field (which forced dark text in all themes). */
html body .login .login-panel input#email.field,
html body .login .login-panel input#password.field,
html body .login .login-panel input#mfa-code.field{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  caret-color:#fff!important;
  background-color:#24232d!important;
  color-scheme:dark!important;
}
html body .login .login-panel input#email.field:-webkit-autofill,
html body .login .login-panel input#password.field:-webkit-autofill{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #24232d inset!important;
  box-shadow:0 0 0 1000px #24232d inset!important;
}
/* Hero copy must be legible immediately, not translucent during a delayed reveal. */
.home-site .home-hero-copy{animation:none!important;opacity:1!important;transform:none!important}


/* source: /css/pages/visual-finish-r13.css */
/* ByMedia R13: premium responsive visual system, one last visual layer.
   Remove dependence on low-resolution simulated UI textures.
   This stylesheet changes no auth, data, RLS or Supabase implementation. */
:root{--bm-r13-red:#ea2444;--bm-r13-ink:#090a0f;--bm-r13-text:#f8f7fb}
.home-site{background:#09090d;color:var(--bm-r13-text)}
.home-site .home-hero{max-width:none!important;min-height:720px!important;gap:clamp(30px,5vw,90px)!important;padding:clamp(96px,9vw,142px) clamp(24px,6.1vw,104px) 86px!important;overflow:visible!important}
.home-site .home-hero-copy{max-width:630px!important;min-width:0!important}
.home-site .home-hero h1{font-size:clamp(48px,4.8vw,78px)!important;line-height:1.04!important;letter-spacing:-.057em!important;max-width:650px!important;margin:20px 0 26px!important;text-wrap:balance!important}
.home-site .home-hero-intro{font-size:clamp(15px,1.15vw,18px)!important;line-height:1.75!important;max-width:495px!important;color:#ddd8e2!important}
.home-site .home-hero-actions{margin-top:30px!important;display:flex!important;align-items:center!important;gap:14px!important}
.home-site .home-hero-art{width:100%!important;min-width:0!important;height:clamp(420px,39vw,615px)!important;border-radius:21px!important;overflow:hidden!important;background:radial-gradient(circle at 60% 54%,#431222 0%,#0a0e15 69%)!important;box-shadow:0 27px 92px #0008,0 0 0 1px #ffffff12!important}
.home-site .home-hero-art .home-hero-photo{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;image-rendering:auto!important;filter:none!important;transform:none!important}
.home-site .home-hero-art .bm-photography-loaded{filter:contrast(1.12) saturate(.78) brightness(.79)!important}
.home-site .home-hero-art::after{background:linear-gradient(0deg,#070911b8,transparent 37%,#07081042)!important}
.home-site .home-hero-art::before{display:none!important}
.home-site .home-art-corner,.home-site .home-art-bottom,.home-site .home-art-vertical{z-index:3!important;text-shadow:0 2px 16px #000e}
.home-site .home-studio,.home-site .home-expertise,.home-site .home-concepts,.home-site .home-spaces{padding-top:clamp(76px,7vw,116px)!important;padding-bottom:clamp(76px,7vw,116px)!important}
.home-site .section-shell{width:min(100% - 2*clamp(24px,6vw,104px),1420px)!important;max-width:1420px!important;margin-inline:auto!important}
.home-site .home-studio-layout{gap:clamp(35px,5vw,85px)!important;align-items:start!important}
.home-site .home-studio h2,.home-site .home-section-heading h2{font-size:clamp(35px,3.8vw,61px)!important;line-height:1.13!important;letter-spacing:-.044em!important;text-wrap:balance!important}
.home-site .home-section-heading{gap:clamp(30px,5vw,78px)!important;align-items:end!important;margin-bottom:34px!important}
.home-site .home-section-heading>p{font-size:15px!important;line-height:1.8!important;max-width:390px!important;color:#c8c2cc!important}
.home-site .studio-image-panel{min-height:380px!important;max-height:660px!important;background:#101019!important}
.home-site .studio-image-panel>img{min-height:380px!important;width:100%!important;object-fit:cover!important;filter:none!important}
.home-site .studio-image-panel>img.bm-photography-loaded{filter:brightness(.78) contrast(1.1) saturate(.85)!important}
.home-site .home-capabilities{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(14px,1.5vw,23px)!important;align-items:stretch!important}
.home-site .home-capability{padding:0 0 23px!important;min-width:0!important;min-height:370px!important;gap:11px!important;border-radius:15px!important;background:#13131a!important;box-shadow:0 14px 40px #0007!important}
.home-site .home-capability-visual{height:216px!important;width:100%!important;background:#1e0b16!important;isolation:isolate!important}
.home-site .home-capability-visual>img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;filter:none!important;image-rendering:auto!important}
.home-site .home-capability-visual>img.bm-photography-loaded{filter:brightness(.76) contrast(1.18) saturate(.84)!important}
.home-site .home-capability-no{padding-inline:19px!important;margin-top:4px!important}
.home-site .home-capability>div:not(.home-capability-visual){padding-inline:19px!important}
.home-site .home-capability h3{font-size:clamp(17px,1.36vw,22px)!important;line-height:1.24!important;letter-spacing:-.022em!important;margin-bottom:9px!important}
.home-site .home-capability p{font-size:13px!important;line-height:1.63!important;color:#cdc9d0!important}
.home-site .home-capability-symbol{margin:0 19px 0 auto!important;color:#ff687f!important}
.home-site .home-concept-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(16px,2vw,28px)!important;align-items:stretch!important}
.home-site .home-concept{display:block!important;position:relative!important;min-height:355px!important;aspect-ratio:1.12/1!important;overflow:hidden!important;border:1px solid #ffffff27!important;border-radius:17px!important;background:#10121b!important}
.home-site .home-concept>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:none!important;transform:none!important;image-rendering:auto!important;opacity:1!important}
.home-site .home-concept>img.bm-photography-loaded{filter:saturate(.8) brightness(.76) contrast(1.13)!important}
.home-site .home-concept::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,#08090b18 12%,transparent 36%,#050509e8 100%)!important;pointer-events:none!important;z-index:1!important}
.home-site .home-concept-overlay{position:absolute!important;z-index:2!important;bottom:0!important;left:0!important;right:0!important;padding:30px 27px!important;display:flex!important;flex-direction:column!important;gap:13px!important;transform:none!important;color:#fff!important}
.home-site .home-concept-overlay small{color:#ff7187!important;font-size:11px!important;letter-spacing:.14em!important;font-weight:700!important}
.home-site .home-concept-overlay h3{font-size:clamp(21px,2.15vw,32px)!important;line-height:1.16!important;letter-spacing:-.035em!important;margin:0!important;color:#fff!important;max-width:270px!important;text-shadow:0 2px 15px #000b!important}
.home-site .home-concept:hover img{transform:scale(1.035)!important;transition:transform .55s ease!important}
.home-site .home-ribbon{overflow:hidden!important}
/* Premium form labels and autofill on all entry points */
.login-panel input.field,.portal-login-card input{font-size:16px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;background-color:#24232d!important;box-shadow:none!important;caret-color:#fff!important}
.login-panel input.field::placeholder,.portal-login-card input::placeholder{color:#b7b2bd!important}
/* Replace baked-in text art with clean photographic/editorial treatment. */
.login-art{background-image:linear-gradient(90deg,#06070fe0 0%,#120911b0 42%,#10090b4d 100%),url('https://images.unsplash.com/photo-1515378791036-0648a3ef77b2?auto=format&fit=crop&w=2000&q=88'),url('/assets/hero-art-r13.svg')!important;background-size:cover,cover,cover!important;background-position:center,48% center,center!important}
.portal-shell.portal-login-page{background-image:linear-gradient(90deg,#06070fc9,#100b10a8 62%,#07080fe0),url('https://images.unsplash.com/photo-1556761175-b413da4baf72?auto=format&fit=crop&w=2000&q=88'),url('/assets/studio-art-r13.svg')!important;background-size:cover,cover,cover!important;background-position:center!important}
.home-site .home-space-team{background:linear-gradient(90deg,#120c15e8,#141116b8),url('/assets/brand-art-r13.svg') center/cover no-repeat!important}
.home-site .home-space-client{background:linear-gradient(90deg,#120c15e8,#141116b8),url('/assets/content-art-r13.svg') center/cover no-repeat!important}
@media(max-width:1280px){.home-site .home-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-site .home-capability{min-height:345px!important}.home-site .home-capability-visual{height:220px!important}}
@media(max-width:980px){.home-site .home-hero{grid-template-columns:1fr!important;padding:78px 32px 76px!important;gap:40px!important;min-height:0!important}.home-site .home-hero-art{height:clamp(350px,53vw,520px)!important}.home-site .home-hero-copy{max-width:800px!important}.home-site .home-section-heading{display:grid!important;gap:20px!important}.home-site .home-concept-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.home-site .home-hero{padding:72px 19px 49px!important;gap:27px!important}.home-site .home-hero h1{font-size:clamp(39px,10vw,61px)!important;max-width:100%!important;line-height:1.06!important;letter-spacing:-.06em!important}.home-site .home-hero-art{height:clamp(255px,70vw,400px)!important;border-radius:13px!important}.home-site .home-hero-intro{font-size:14px!important}.home-site .section-shell{width:calc(100% - 38px)!important}.home-site .home-capabilities,.home-site .home-concept-grid{grid-template-columns:1fr!important}.home-site .home-capability{min-height:0!important}.home-site .home-capability-visual{height:230px!important}.home-site .home-concept{aspect-ratio:1.18/1!important;min-height:270px!important}.home-site .home-concept-overlay{padding:23px!important}.home-site .home-concept-overlay h3{font-size:25px!important}.home-site .home-studio h2,.home-site .home-section-heading h2{font-size:clamp(34px,8vw,48px)!important}}
@media(max-width:370px){.home-site .home-hero{padding-inline:16px!important}.home-site .section-shell{width:calc(100% - 32px)!important}.home-site .home-hero h1{font-size:38px!important}}
@media(prefers-reduced-motion:reduce){.home-site :where(.home-concept img,.home-capability,.home-hero-art img){animation:none!important;transition:none!important}}
/* 320px safety: animated ribbons and marketing labels cannot widen the page. */
html{max-width:100%;overflow-x:clip!important}
body.home-site{max-width:100%;overflow-x:clip!important}
@media(max-width:390px){
 .home-site .home-ribbon{max-width:100vw!important;overflow:hidden!important}
 .home-site .home-ribbon-track{max-width:none!important}
 .home-site :where(.home-hero,.home-concepts,.home-expertise,.home-studio,.home-spaces){max-width:100%!important;box-sizing:border-box!important}
 .home-site .home-hero-actions{align-items:stretch!important;flex-direction:column!important}
 .home-site .home-hero-actions>*{max-width:100%;box-sizing:border-box}
 .home-site .home-capability{max-width:100%!important}
}


/* source: /css/pages/precision-r14.css */
/* BYMEDIA R14 / Verified contrast, visual uniqueness, spacing & legibility.
   Final cascade only; Supabase and business logic unaffected. */
:root{--r14-panel:#151a22;--r14-border:rgba(255,255,255,.14);--r14-muted:#aab2be;--r14-text:#f7f8fb;--r14-red:#f12749;}
html[data-theme='dark'] body:not(.home-site),body:not(.home-site):has(.app){background:#0c0e14!important;color:#f4f4f7!important}
.app .main{background:#0f1219!important;color:var(--r14-text)!important}
/* Never allow white-on-white financial metric tiles in dark workspace. */
.app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary) .metric,
.app .main .kpi-card,
html[data-theme='dark'] .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary) .metric,
html[data-theme='dark'] .app .main .kpi-card {background:linear-gradient(145deg,#1b222e,#121820)!important;color:#f7f8fa!important;border:1px solid #ffffff24!important;border-top:2px solid #dd3150!important;box-shadow:0 8px 23px #0002!important;min-height:122px!important}
.app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary) .metric :is(small,strong,em,span,p,b),
.app .main .kpi-card :is(small,strong,em,span,p,b),
html[data-theme='dark'] .app .main .metric :is(small,strong,em,span,p,b){color:#f0f3f8!important;opacity:1!important;-webkit-text-fill-color:currentColor!important}
.app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary) .metric small,
.app .main .kpi-card small {color:#aeb8c5!important;font-size:12px!important;letter-spacing:0!important;line-height:1.4!important}
.app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary) .metric strong,
.app .main .kpi-card>strong {color:#fff!important;font-size:clamp(25px,2.2vw,35px)!important;letter-spacing:-.03em!important;line-height:1.2!important}
.app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary) .metric em,.app .main .kpi-card em{color:#9fb0c1!important;font-size:11px!important}
.app .main .finance-summary-grid{margin-bottom:18px!important}
/* Main section artwork never repeats other sections; no dark blocking overlay. */
.main>.bm-scene-hero{min-height:246px!important;border-radius:16px!important;margin:18px 0 22px!important;background:#101722!important}
.main>.bm-scene-hero>.bm-scene-img{object-fit:cover!important;object-position:center center!important;filter:none!important;opacity:1!important;image-rendering:auto!important}
.main>.bm-scene-hero::before{background:linear-gradient(90deg,#090d17f7 0%,#0c0e16ef 32%,#10101982 55%,#0b101c08 100%)!important}
.main>.bm-scene-hero .bm-scene-copy{max-width:min(560px,66%)!important}
.main>.bm-scene-hero h1{font-size:clamp(29px,3vw,46px)!important;line-height:1.09!important;letter-spacing:-.045em!important;max-width:560px!important;text-wrap:balance!important}
.main>.bm-scene-hero p{font-size:14px!important;line-height:1.65!important;color:#e0e5ed!important}
/* Finance and record density: actual data, not tiny labels or gimmick cards. */
.app .main :where(.panel,.os-record-hub,.finance-contract,.os-record-item){color:#e8edf5!important}
.app .main :where(.os-record-summary,.os-record-expanded,.os-record-secondary){font-size:13px!important;line-height:1.55!important}
.app .main :where(.os-record-identity strong,.os-record-item summary strong){font-size:13px!important;color:#f7f8fb!important}
.app .main :where(.os-record-summary small,.os-record-identity small,.os-record-money-row small){font-size:11px!important;color:#a8b1c0!important}
.app .main .os-record-item{border:1px solid #ffffff20!important;background:#1b2029!important;border-radius:11px!important;margin-block:9px!important}
.app .main .os-record-item:hover,.app .main .os-record-item[open]{border-color:#e4325977!important}
.app .main .os-record-mark.bm-record-photo{width:62px!important;height:60px!important;min-width:62px!important}
.app .main .os-record-mark.bm-record-photo img{width:100%;height:100%;object-fit:cover}
/* Visibility for search fields, modal controls and autofill. */
.app input,.app textarea,.app select,.portal-shell input,.portal-shell textarea{color:#f5f7fc!important;-webkit-text-fill-color:#f5f7fc!important;caret-color:#fff!important}
.app :is(input,textarea)::placeholder,.portal-shell :is(input,textarea)::placeholder{color:#adb6c5!important;opacity:1!important}
.app input:focus-visible,.portal-shell input:focus-visible{outline:2px solid #fa5271!important;outline-offset:2px!important}
/* Distinct high-resolution project module hero and separate inspector artwork. */
.bm-projects-r9 .bm-projects-hero{background-image:linear-gradient(90deg,#080c17fa 0%,#080a12ca 42%,#080a1236 73%),url('/assets/r14-section-projects.svg')!important;background-size:cover!important;background-position:center!important}
.bm-projects-r9 .bm-projects-hero::after{background:none!important;opacity:0!important}
.bm-projects-r9 .bm-projects-hero-art{display:none!important}
.bm-projects-r9 .bm-project-gallery{gap:14px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.bm-projects-r9 .bm-project-card-cover{aspect-ratio:16/8.8!important}
.bm-projects-r9 .bm-project-card-cover img{image-rendering:auto!important;filter:none!important}
.bm-projects-r9 .bm-cover-title strong{font-size:clamp(16px,1.35vw,20px)!important;line-height:1.15!important}
.bm-projects-r9 .bm-project-company strong,.bm-projects-r9 .bm-project-detail-grid strong{font-size:13px!important}
.bm-projects-r9 .bm-project-company small,.bm-projects-r9 .bm-project-detail-grid small{font-size:11px!important}
.bm-projects-r9 .bm-project-detail-image img{object-fit:cover!important}
/* Unique original imagery for each login entry; no generic reused team-client scene. */
.login-art{background-image:linear-gradient(90deg,#070a12de,#080b1377),url('/assets/r14-team-login.svg')!important;background-position:center!important;background-size:cover!important}
.portal-shell.portal-login-page{background-image:linear-gradient(90deg,#050814e8,#090a12ad 50%,#080812b7),url('/assets/r14-client-login.svg')!important;background-position:center!important;background-size:cover!important}
/* Avoid white password recovery control / unreadable stats within portal. */
.portal-login-card .portal-link-button{color:#ff718e!important;background:transparent!important;box-shadow:none!important;border:0!important;text-decoration:underline!important}
.portal-login-card :is(.portal-input,.portal-client-select){background:#20232c!important;border:1px solid #697280!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.portal-login-card :is(.portal-input,.portal-client-select)::placeholder{color:#b6bfca!important}
.portal-login-card .portal-intro{font-size:13px!important;line-height:1.7!important;color:#d0d4df!important}
/* Distinct artwork for website components: never reuse a service image for a concept or login */
.home-site .home-hero-art .home-hero-photo,.home-site .home-capability-visual img,.home-site .home-concept img{filter:none!important;image-rendering:auto!important}
.home-site .home-space-team{background-image:linear-gradient(90deg,#0d101ad9,#1013208c),url('/assets/r14-home-space-team.svg')!important}
.home-site .home-space-client{background-image:linear-gradient(90deg,#0d101ad9,#1013208c),url('/assets/r14-home-space-client.svg')!important}
.home-site .home-endnote{background-image:linear-gradient(90deg,#0c101add,#10121c91),url('/assets/r14-home-endnote.svg')!important}
.home-site .home-capabilities{gap:18px!important}
.home-site .home-capability{border-radius:17px!important;min-height:355px!important}
.home-site .home-capability-visual{height:202px!important}
.home-site .home-capability h3{font-size:clamp(18px,1.5vw,24px)!important}
.home-site .home-capability p{font-size:13px!important;color:#d0d3de!important}
.home-site .home-hero h1{font-size:clamp(46px,4.8vw,79px)!important;line-height:1.05!important;letter-spacing:-.053em!important;text-wrap:balance!important}
.home-site .home-hero-intro{font-size:clamp(15px,1.12vw,18px)!important;line-height:1.72!important}
/* Editorial hierarchy and breathing room; remain compact where operational */
.app .main :where(.section-header,.finance-section-heading){margin-block:22px 12px!important}
.app .main .btn.primary{font-size:12px!important;min-height:43px!important}
/* Media breakpoints prioritize human readability over 4 tiny columns. */
@media(min-width:1720px){.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1180px){.bm-projects-r9 .bm-projects-main{grid-template-columns:minmax(0,1fr)!important}.bm-projects-r9 .bm-project-detail{position:static!important}.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:750px){.main>.bm-scene-hero .bm-scene-copy{max-width:97%!important}.main>.bm-scene-hero::before{background:linear-gradient(90deg,#090b15f7,#090b15d1 67%,#090b1570)!important}.bm-projects-r9 .bm-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-site .home-capability-visual{height:210px!important}.app .main .finance-summary-grid{grid-template-columns:1fr 1fr!important}.app .main .metric{min-height:110px!important}}
@media(max-width:520px){.bm-projects-r9 .bm-project-gallery{grid-template-columns:1fr!important}.main>.bm-scene-hero{min-height:202px!important;padding:21px 17px!important}.main>.bm-scene-hero h1{font-size:clamp(25px,7vw,34px)!important}.main>.bm-scene-hero .bm-scene-copy{max-width:100%!important}.app .main .finance-summary-grid{grid-template-columns:1fr!important}.app .main :is(.finance-summary-grid,.metrics,.ops-kpis) .metric strong{font-size:28px!important}.app .main .os-record-summary{flex-wrap:wrap!important}.home-site .home-hero h1{font-size:clamp(43px,11vw,58px)!important}}
@media(prefers-reduced-motion:reduce){.home-site *, .app *, .portal-shell *{animation:none!important;transition:none!important}}

/* Unique visuals on operational entry points, not legacy derivative photographs. */
.task-hub-heading{background-image:linear-gradient(90deg,#080b14f6,#080b14b8 55%,#080b1455),url("/assets/r14-section-tasks.svg")!important;background-size:cover!important;background-position:center!important}
.bm-dashboard-cinema>img{filter:none!important;image-rendering:auto!important}


/* source: /css/pages/photography-r15.css */
/* ByMedia R15 — commercial-use curated editorial photography.
   Main surfaces use distinctive free stock photos; preserved vector-only team/client ACCESS cards. */
:root{--r15-photo-backdrop:#0b0e15}
/* Hero opacity and positioning give editorial contrast without artificial pixel enlargement. */
.login-art{background-image:linear-gradient(90deg,rgba(6,8,14,.88) 0%,rgba(6,8,14,.58) 48%,rgba(6,8,14,.16) 100%),url('/assets/team-login-r12.webp')!important;background-size:cover!important;background-position:center!important}
.portal-shell.portal-login-page{background-image:linear-gradient(90deg,rgba(6,8,14,.86) 0%,rgba(6,8,14,.54) 48%,rgba(6,8,14,.18) 100%),url('/assets/client-login-r12.webp')!important;background-size:cover!important;background-position:center!important}
.bm-projects-r9 .bm-projects-hero{background-image:linear-gradient(90deg,rgba(6,8,14,.96) 0%,rgba(6,8,14,.76) 42%,rgba(6,8,14,.16) 100%),url('/assets/scene-projects-r12.webp')!important;background-size:cover!important;background-position:center 48%!important}
.bm-projects-r9 .bm-projects-hero::after{background-image:none!important;opacity:0!important}
.task-hub-heading{background-image:linear-gradient(90deg,rgba(6,8,14,.92) 0%,rgba(6,8,14,.68) 48%,rgba(6,8,14,.18) 100%),url('/assets/service-strategy-r12.webp')!important;background-size:cover!important;background-position:center 42%!important}
.bm-sidebar-promo{background-image:linear-gradient(115deg,#150610df,#110c15ad),url('/assets/creative-art-r13.webp')!important;background-size:cover!important;background-position:center!important}
.home-site .home-endnote{background-image:linear-gradient(90deg,rgba(6,8,14,.95) 0%,rgba(6,8,14,.72) 44%,rgba(6,8,14,.18) 100%),url('https://images.pexels.com/photos/36966419/pexels-photo-36966419.jpeg?auto=compress&cs=tinysrgb&w=2200'),url('/assets/r14-home-endnote.svg')!important;background-size:cover!important}
.main>.bm-scene-hero .bm-scene-img,.bm-dashboard-cinema>img{object-fit:cover!important;object-position:center!important;filter:contrast(1.03) saturate(.95)!important;image-rendering:auto!important;}
.main>.bm-scene-hero::before{background:linear-gradient(90deg,rgba(8,11,18,.98),rgba(8,11,18,.80) 43%,rgba(8,11,18,.10) 100%)!important}
.home-site .home-capability-visual img,.home-site .home-concept img,.home-site .home-hero-photo{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;image-rendering:auto!important}
.home-site .home-capability-visual{background:#11141b!important;overflow:hidden!important}
.home-site .home-concept{overflow:hidden!important}
.home-site .home-capability-visual:after,.home-site .home-concept::before{pointer-events:none}
.bm-project-detail-image img,.bm-project-card-cover img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.bm-project-card-cover .bm-cover-overlay{background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.86) 100%)!important}
.bm-portal-project-visual img,.bm-dash-recent-card img{object-fit:cover!important;image-rendering:auto!important}
img[data-photo-src]{image-rendering:auto!important}
/* Clear operational typography and generous spacing, without random big headings. */
.app .main .bm-scene-copy h1{font-size:clamp(30px,3.2vw,48px)!important;max-width:630px!important;line-height:1.09!important;text-wrap:balance!important}
.home-site .home-studio-layout h2,.home-site .home-section-heading h2{max-width:20ch;line-height:1.13!important;text-wrap:balance}
@media(max-width:720px){.main>.bm-scene-hero::before{background:linear-gradient(90deg,#080a12ef,#080a12d8 70%,#080a126b)!important}.home-site .home-hero-art{min-width:0!important}.home-site .home-capability-visual{height:190px!important}}
@media(prefers-reduced-motion:reduce){img[data-photo-src]{transition:none!important}}

/* Homepage visuals, independent photographs, and always-on vector placeholders if offline. */
.home-site .home-hero-art{background:linear-gradient(140deg,#10131b,#0b0e14)!important}
.home-site .home-hero-art .home-hero-photo{object-fit:cover!important;object-position:center!important}
.home-site .studio-image-panel img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
.home-site .home-capability img,.home-site .home-concept img{transform:none!important}
.home-site .home-space-team,.home-site .home-space-client{ /* intentionally untouched: original vector artwork preserved */ }


/* source: /css/pages/quality-r16.css */
/* ByMedia R16: final accessibility, spacing, and rendering pass.
   Scope priority styles to the appropriate route. Keep approved Espace équipe/client vector cards untouched. */
:root { --r16-bg:#0d1017; --r16-surface:#151a24; --r16-surface2:#1a202c;
  --r16-ink:#f5f7fa; --r16-muted:#b5c0ce; --r16-outline:#ffffff29;
  --r16-red:#ef2947; --r16-focus:#ff6d85; }
html { scroll-padding-top:85px; }
body { min-width:320px; overflow-x:clip; }
:where(.home-site,.app,.portal-shell) :where(button,a,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--r16-focus)!important;outline-offset:3px!important;
}
:where(.home-site,.app,.portal-shell) :where(h1,h2,h3) {
  text-wrap:balance;overflow-wrap:break-word;
}
:where(.home-site,.app,.portal-shell) :where(p,li) { overflow-wrap:break-word; }
/* Prevent a broken network photo from creating ugly image backgrounds. */
img[data-photo-src] { display:block;image-rendering:auto!important;object-fit:cover; }
.home-site .home-capability-visual img,
.home-site .home-concept img,
.bm-project-card-cover img,
.bm-project-detail-image img {object-fit:cover;object-position:center;}
.home-site .home-hero-copy { min-width:0; }
.home-site .home-hero-copy h1 {max-width:12ch;line-height:1.065!important;letter-spacing:-.055em!important;margin-bottom:21px;}
.home-site .home-hero-intro {max-width:54ch;line-height:1.7!important;}
.home-site .home-capabilities,.home-site .home-concepts {align-items:stretch;}
.home-site .home-capability,.home-site .home-concept {min-width:0;isolation:isolate;overflow:hidden;}
.home-site .home-capability :where(h3,p),.home-site .home-concept :where(h3,p) {max-width:100%;overflow-wrap:break-word;}
.home-site .home-capability-visual { min-height:185px; }
/* Workspace data should be legible rather than tiny on 1080p. */
.app .main {min-width:0;}
.app .main :where(.panel,.os-record-item,.finance-contract,.os-finance-client,.bm-project-detail) {
  border-color:var(--r16-outline);
}
.app .main :where(.panel,.os-record-item,.finance-contract,.os-finance-client,.bm-project-detail) :where(p,small,span) {
  line-height:1.55;
}
.app .main :where(.field,input,textarea,select) {
  background-color:#202530!important;
  border:1px solid #697485!important;
  color:var(--r16-ink)!important;
  -webkit-text-fill-color:var(--r16-ink)!important;
  caret-color:#fff!important;
  color-scheme:dark;
}
.app .main :where(.field,input,textarea)::placeholder {color:#bdc5d2!important;opacity:1;}
.app .main :where(.field,input,textarea,select):focus-visible {border-color:var(--r16-focus)!important;}
.app .main :where(.finance-summary-grid,.os-compact-stats,.metrics,.ops-kpis) .metric,
.app .main .kpi-card {
  background:var(--r16-surface)!important;border:1px solid var(--r16-outline)!important;
  color:var(--r16-ink)!important;box-shadow:none!important;
}
.app .main :where(.finance-summary-grid,.os-compact-stats,.metrics,.ops-kpis) .metric :where(strong,b,span),
.app .main .kpi-card :where(strong,b,span) {color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;}
.app .main :where(.finance-summary-grid,.os-compact-stats,.metrics,.ops-kpis) .metric :where(small,em,p),
.app .main .kpi-card :where(small,em,p) {color:var(--r16-muted)!important;-webkit-text-fill-color:var(--r16-muted)!important;opacity:1!important;}
.app .main .bm-project-gallery {align-items:stretch;}
.app .main .bm-project-card {min-width:0;overflow:hidden;}
.app .main .bm-project-card-cover img {width:100%;height:100%;object-fit:cover;}
.app .main .bm-project-card :where(strong,small,span) {overflow-wrap:anywhere;}
.app :where(.btn,button) {touch-action:manipulation;}
/* Client portal: distinct security-entry art and readable form controls. */
.portal-shell .portal-login-card {width:min(440px,calc(100% - 32px));}
.portal-shell .portal-login-card :where(input,select,textarea) {
  min-height:46px;background:#20232d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border-color:#6c7888!important;color-scheme:dark;
}
.portal-shell .portal-login-card :where(input,textarea)::placeholder {color:#bdc6d1!important;opacity:1;}
.portal-shell .portal-login-card :where(input,select,textarea):focus-visible {border-color:var(--r16-focus)!important;}
.portal-shell .portal-login-card :where(label,.portal-intro,.portal-security-note) {color:#e3e8ef!important;}
/* Hover effects are not essential and should not obstruct keyboard or low-power devices. */
@media (max-width:720px) {
  .home-site .home-hero-copy h1 {font-size:clamp(37px,10vw,55px)!important;max-width:100%;}
  .home-site .home-hero-intro {font-size:15px!important;max-width:43ch;}
  .home-site .home-capability-visual {height:205px!important;}
  .app .main :where(.os-compact-stats,.finance-summary-grid) {grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr))!important;}
  .app .main .bm-project-gallery {grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))!important;}
  .portal-shell .portal-login-card {margin-top:3vh;}
}
@media (max-width:390px) {
  .home-site .home-hero-copy h1 {font-size:clamp(34px,10vw,44px)!important;}
  .app .main :where(.os-compact-stats,.finance-summary-grid) {grid-template-columns:1fr!important;}
  .app .main .bm-project-gallery {grid-template-columns:1fr!important;}
}
@media (prefers-reduced-motion:reduce) {
  :where(.home-site,.app,.portal-shell) *, :where(.home-site,.app,.portal-shell) *::before,
  :where(.home-site,.app,.portal-shell) *::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
/* Remove the old low-resolution login paintings embedded in R12 layers.
   A licensed HD photo will cover the clean SVG fallback only after network success. */
.login-art {
  background:linear-gradient(90deg,rgba(7,9,15,.92),rgba(7,9,15,.44)),
    url('https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=2200&q=86') center / cover no-repeat,
    url('/assets/r14-team-login.svg') center / cover no-repeat!important;
  color:#fff!important;
}
.portal-shell.portal-login-page {
  background:linear-gradient(90deg,rgba(7,9,15,.92),rgba(7,9,15,.57)),
    url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2200&q=86') center / cover no-repeat,
    url('/assets/r14-client-login.svg') center / cover no-repeat!important;
}
.portal-shell.portal-login-page .portal-link-button {
  background:transparent!important;color:#ff889b!important;
  -webkit-text-fill-color:#ff889b!important;
  border:0!important;box-shadow:none!important;padding:12px 0!important;
  text-decoration:underline;text-underline-offset:3px;
}


/* source: /css/pages/method-footer-r17.css */
/* R17 — ByMedia identity-led method and footer, no generic BM monogram.
   Exclusively scoped to two sections of the public landing page. */
.home-site .home-approach {
  position:relative;
  color:#f9f7f9;
  background:
    radial-gradient(ellipse at 8% 30%,rgba(200,20,48,.14) 0%,transparent 47%),
    radial-gradient(ellipse at 90% 100%,rgba(168,24,41,.13) 0%,transparent 46%),
    #0b0b10!important;
  border-block:1px solid rgba(255,255,255,.1);
}
.home-site .home-approach::before {
  content:""; position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px),rgba(255,255,255,.016) 25%);
  mask-image:linear-gradient(to right,transparent,#000 25%,#000 85%,transparent);
}
.home-site .home-approach-inner {
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  gap:clamp(38px,5.5vw,90px);
  align-items:center;
  padding-block:clamp(78px,8.5vw,125px);
  isolation:isolate;
}
.home-site .home-approach-heading {position:relative;min-width:0;z-index:1;}
.home-site .home-approach-heading .home-section-index {margin-bottom:35px;}
.home-site .home-approach-heading h2 {
  max-width:10ch;
  font-size:clamp(39px,4.65vw,65px)!important;
  font-weight:750;line-height:1.045;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.home-site .home-approach-heading h2 em {color:#f23a55;font-style:normal;}
.home-site .home-approach-heading > p {
  max-width:380px;
  margin:25px 0 0;
  padding-left:18px;
  border-left:2px solid #e72842;
  color:#c9c6cf!important;
  font-size:clamp(13px,1.1vw,15px);
  line-height:1.85;
}
.home-site .home-steps {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px!important;
  align-content:center;
  position:relative;z-index:1;
}
.home-site .home-step,
.home-site .home-step:first-child {
  position:relative;display:flex;flex-direction:column;align-items:flex-start;
  min-height:208px;
  padding:27px 25px 24px;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:14px!important;
  background:linear-gradient(150deg,rgba(35,33,42,.98),rgba(20,20,27,.98))!important;
  box-shadow:0 14px 32px rgba(0,0,0,.14)!important;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
  overflow:hidden;
}
.home-site .home-step::before {
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#f2324b,rgba(242,50,75,.3),transparent);
}
.home-site .home-step::after {
  content:"";position:absolute;width:96px;height:96px;border:1px solid rgba(234,52,76,.14);
  border-radius:100%;right:-42px;bottom:-49px;pointer-events:none;
}
.home-site .home-step > span {
  display:block;margin-bottom:20px;color:#ff7d8c!important;
  font-size:10px;letter-spacing:.14em;font-weight:800;
}
.home-site .home-step h3 {
  max-width:24ch;margin:0 0 10px;
  font-size:clamp(17px,1.35vw,20px);
  line-height:1.22;font-weight:680;color:#fff!important;letter-spacing:-.032em;
}
.home-site .home-step p {
  margin:0;max-width:39ch;
  font-size:12px;line-height:1.68;color:#c4c1ca!important;
}
.home-site .home-step:hover {
  border-color:rgba(238,48,72,.45)!important;
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(0,0,0,.22)!important;
}
.home-site .home-method-signature {
  position:absolute;left:clamp(24px,3vw,43px);bottom:clamp(23px,3.4vw,52px);
  width:230px;height:72px;display:flex;align-items:center;gap:22px;
  pointer-events:none;opacity:.48;z-index:0;
}
.home-site .home-method-signature img {display:block;width:145px;height:auto;object-fit:contain;}
.home-site .home-method-signature-rule {width:66px;height:1px;background:#f23450;}
/* Footer: a single, genuine agency logo anchors the whole composition. */
.home-site .home-footer {
  position:relative;overflow:hidden;
  padding:clamp(46px,5.5vw,84px) clamp(24px,7vw,120px) 0;
  background:radial-gradient(ellipse at 92% 0%,rgba(128,21,42,.18),transparent 44%),#08080b!important;
  color:#f7f5f7!important;
  border-top:1px solid rgba(255,255,255,.1);
}
.home-site .home-footer::before {
  content:"";position:absolute;top:0;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,transparent,#e33048 45%,transparent);opacity:.65;
}
.home-site .home-footer-main {
  max-width:1280px;display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(180px,.85fr) minmax(230px,.95fr);
  gap:clamp(32px,5vw,100px);align-items:start;
  padding-bottom:clamp(42px,5vw,73px);margin:auto;
}
.home-site .home-footer-identity {min-width:0;}
.home-site .home-footer-brand {display:inline-flex;max-width:100%;align-items:center;}
.home-site .home-footer-brand img {
  display:block!important;width:clamp(175px,19vw,255px)!important;height:auto!important;
  filter:none!important;object-fit:contain;
}
.home-site .home-footer-identity p {
  margin:19px 0 0!important;max-width:340px;
  color:#c5c0c9!important;font-size:13px;line-height:1.8;
}
.home-site .home-footer-links {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;margin-top:12px;
}
.home-site .home-footer-links a {
  width:fit-content;max-width:100%;color:#ece8ef!important;
  font-size:12px;font-weight:550;line-height:1.35;
  text-decoration:none;
}
.home-site .home-footer-links a:hover {color:#ff6377!important;}
.home-site .home-footer-contact {
  padding:21px 21px 20px;
  border:1px solid rgba(245,74,97,.24);border-radius:13px;
  background:linear-gradient(135deg,rgba(173,28,55,.17),rgba(32,20,32,.56));
}
.home-site .home-footer-contact-eyebrow {
  color:#ff8997;display:block;font-size:9px;font-weight:750;letter-spacing:.18em;
}
.home-site .home-footer-contact-link {
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  margin-top:18px;color:#fff;font-size:15px;font-weight:700;text-decoration:none;
}
.home-site .home-footer-contact-link>span:last-child {
  display:grid;place-items:center;border:1px solid rgba(255,255,255,.4);
  border-radius:50%;width:33px;height:33px;flex:0 0 33px;font-size:19px;
  transition:background .2s ease,transform .2s ease;
}
.home-site .home-footer-contact-link:hover>span:last-child {background:#da2540;transform:translate(2px,-2px);}
.home-site .home-footer-bottom {
  position:relative;max-width:1280px;margin:auto;padding:21px 0 24px;
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.15);
  color:#c1bdc5!important;font-size:9px;letter-spacing:.11em;
}
.home-site .home-footer-bottom a {color:#fff!important;text-decoration:none;}
@media (max-width:1100px) {
  .home-site .home-approach-inner {grid-template-columns:minmax(0,1fr);gap:42px;padding-block:78px;}
  .home-site .home-approach-heading h2 {max-width:19ch;font-size:clamp(38px,6vw,62px)!important;}
  .home-site .home-approach-heading .home-section-index {margin-bottom:20px;}
  .home-site .home-method-signature {right:20px;left:auto;top:62px;bottom:auto;opacity:.1;}
  .home-site .home-footer-main {grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:42px;}
  .home-site .home-footer-contact {grid-column:1/-1;max-width:100%;}
}
@media (max-width:640px) {
  .home-site .home-approach-inner {gap:35px;padding-block:65px;}
  .home-site .home-approach-heading h2 {font-size:clamp(36px,9.3vw,53px)!important;max-width:100%;}
  .home-site .home-approach-heading > p {font-size:14px;max-width:39ch;}
  .home-site .home-steps {grid-template-columns:1fr;gap:12px!important;}
  .home-site .home-step,.home-site .home-step:first-child {min-height:0;padding:21px 20px 22px;}
  .home-site .home-step > span {margin-bottom:12px;}
  .home-site .home-method-signature {display:none;}
  .home-site .home-footer {padding:48px 24px 0;}
  .home-site .home-footer-main {grid-template-columns:1fr;gap:29px;padding-bottom:35px;}
  .home-site .home-footer-brand img {width:192px!important;}
  .home-site .home-footer-links {grid-template-columns:repeat(2,minmax(0,1fr));margin:0;}
  .home-site .home-footer-contact {grid-column:auto;}
  .home-site .home-footer-bottom {justify-content:space-between;row-gap:12px;}
}
@media (prefers-reduced-motion:reduce){.home-site .home-step,.home-site .home-footer-contact-link>span:last-child{transition:none!important;}}


/* source: /css/pages/usability-r18.css */
/* R18 • Accessibility/visibility polish. Loaded LAST on the three real routes.
   Production data, navigation hooks, approved vector workspace cards remain unchanged. */
:root { --r18-focus:#ff6d82; --r18-ink-dark:#f7f9fc; --r18-muted-dark:#c2ccd9; --r18-ink-light:#20232c; --r18-muted-light:#535e70; }
html { -webkit-text-size-adjust:100%; scroll-padding-top:90px; }
:where(.home-site,.app,.portal-shell) :where(button,[role="button"],summary,a,input,textarea,select) { touch-action:manipulation; }
:where(.home-site,.app,.portal-shell) :where(button,[role="button"],summary,a,input,textarea,select):focus-visible { outline:3px solid var(--r18-focus)!important; outline-offset:3px!important; }
:where(.home-site,.app,.portal-shell) :where(button,a,summary) { -webkit-tap-highlight-color:rgba(238,40,70,.2); }
:where(.home-site,.app,.portal-shell) :where(h1,h2,h3) { text-wrap:balance; overflow-wrap:break-word; }
:where(.home-site,.app,.portal-shell) :where(p,li,dt,dd,small) { overflow-wrap:break-word; }
:where(.home-site,.app,.portal-shell) :where(button,a,summary) svg { flex:0 0 auto; }
:where(.home-site,.app,.portal-shell) :where(button,a)[disabled],
:where(.home-site,.app,.portal-shell) :where(button,a)[aria-disabled="true"] { opacity:.58; cursor:not-allowed; }
.r18-theme-icon { display:block;width:20px;height:20px;color:inherit;stroke:currentColor; }
/* Consistent, legible theme switch: visible in the Workspace topbar and Portal. */
.app .r18-theme-button, .portal-shell .r18-portal-theme-toggle, .home-site .home-theme-toggle {
  display:inline-grid!important;place-items:center!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
  padding:0!important;flex:0 0 44px;cursor:pointer;border-radius:12px!important;line-height:1!important;
}
.app .r18-theme-button svg, .app .r18-theme-setting svg, .portal-shell .r18-portal-theme-toggle svg {width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;}
.app .r18-theme-button svg, .portal-shell .r18-portal-theme-toggle svg {display:block!important;visibility:visible!important;opacity:1!important;}
.app .r18-theme-setting {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;white-space:normal;}
.app .r18-theme-setting svg {width:18px;height:18px;}
/* Workspace spacing and button text visibility. Preserve existing component behavior. */
.app .main {min-width:0;}
.app .main :where(.panel,.os-record-item,.bm-project-card,.os-finance-client,.finance-contract) {min-width:0;}
.app .main :where(.section-header,.panel-head,.os-record-toolbar,.record-actions,.modal-footer,.finance-section-heading) {gap:12px;}
.app .main :where(.section-header,.panel-head,.record-actions,.modal-footer) :where(button,.btn) {flex-shrink:0;}
.app :where(.btn,button:not(.icon-button):not(.r18-theme-button):not(.password-visibility)) {min-height:40px;}
.app .main :where(.btn,button):not(.icon-button):not(.r18-theme-button) {padding-block:10px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;}
.app .main :where(h2,h3,.section-header h3,.finance-section-heading h2,.os-record-heading h2) {line-height:1.25;}
.app .main :where(.eyebrow,.label,.kpi-top,.os-record-meta,.finance-subtitle,.portal-type) {font-size:max(11px, .72rem);line-height:1.5;letter-spacing:.04em;}
.app .main :where(small,.small,.muted,.table-subline,.os-record-subtitle) {line-height:1.55;}
.app :where(.topbar,.topbar-right,.section-header,.os-record-toolbar,.record-actions,.modal-footer,.bm-project-toolbar) {min-width:0;}
.app :where(.topbar-right,.section-header,.modal-footer,.record-actions) {align-items:center;flex-wrap:wrap;}
.app .topbar-right {gap:9px;flex-wrap:nowrap;}
.app :where(.table-wrap,.os-record-list,.task-list,.finance-client-list) {min-width:0;}
.app :where(.table-wrap,.os-record-list,.task-list) :where(a,button,summary) {min-height:40px;}
.app :where(.btn.primary,button.primary,.login-submit) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
.app :where(.btn.danger,button.danger) {color:#fce8eb;}
.app .main :where(.field,input,select,textarea) {min-height:44px;line-height:1.4;}
.app :where(.field,input,select,textarea)::placeholder {opacity:1!important;}
/* Light mode: R16 previously forced dark inputs and WHITE metric text in BOTH modes.
   Override both declaration groups in the actual light theme. */
html[data-theme="light"] .app {--color-bg:#f6f7f9;--color-surface:#fff;--color-ink:#202631;--color-muted:#556273;--color-line:#d9dde5;color-scheme:light;}
html[data-theme="light"] .app .main :where(.field,input,textarea,select),
html[data-theme="light"] .app :where(.modal,.login-panel,.command-dialog) :where(input,select,textarea,.field) {
 background-color:#fff!important;border-color:#9ba6b6!important;color:var(--r18-ink-light)!important;
 -webkit-text-fill-color:var(--r18-ink-light)!important;caret-color:#20232c!important;color-scheme:light!important;
}
html[data-theme="light"] .app .main :where(.field,input,textarea)::placeholder,
html[data-theme="light"] .app :where(.login-panel,.modal) :where(input,textarea)::placeholder {color:#687487!important;opacity:1!important;}
html[data-theme="light"] .app .main :where(.metric,.kpi-card),
html[data-theme="light"] .app .main :where(.finance-summary-grid,.os-compact-stats,.metrics,.ops-kpis) .metric {
 background:#fff!important;border-color:#d7dde5!important;color:var(--r18-ink-light)!important;box-shadow:0 4px 16px rgba(22,32,49,.045)!important;
}
html[data-theme="light"] .app .main :where(.metric,.kpi-card) :where(strong,b),
html[data-theme="light"] .app .main :where(.finance-summary-grid,.os-compact-stats,.metrics,.ops-kpis) .metric :where(strong,b,span) {
 color:#202631!important;-webkit-text-fill-color:#202631!important;opacity:1!important;
}
html[data-theme="light"] .app .main :where(.metric,.kpi-card) :where(small,em,p),
html[data-theme="light"] .app .main :where(.finance-summary-grid,.os-compact-stats,.metrics,.ops-kpis) .metric :where(small,em,p) {
 color:#566273!important;-webkit-text-fill-color:#566273!important;opacity:1!important;
}
html[data-theme="light"] .app .main :where(.panel,.finance-contract,.os-finance-client,.os-record-item) {border-color:#d9dde5!important;}
html[data-theme="light"] .app .main :where(.panel,.os-record-item,.finance-contract,.finance-clients) :where(.muted,small,.os-record-subtitle,.finance-subtitle) {color:#566273;}
html[data-theme="light"] .app .main :where(.btn,button):not(.primary):not(.danger):not(.icon-button) {color:#222b39;-webkit-text-fill-color:#222b39;}
html[data-theme="light"] .app .r18-theme-button {color:#233147!important;-webkit-text-fill-color:#233147!important;background:#fff!important;border:1px solid #bcc6d2!important;}
html[data-theme="light"] .app .theme-control {color:#273143;background:#f2f4f8;border-color:#d8dde6;}
html[data-theme="light"] .app .theme-control>span {color:#475365!important;}
/* Dark mode: high contrast for small labels and inputs. */
html[data-theme="dark"] .app .main :where(.field,input,select,textarea),
html[data-theme="dark"] .app :where(.login-panel,.modal) :where(.field,input,select,textarea) {
 background-color:#202530!important;border-color:#778295!important;color:#f8f9fc!important;
 -webkit-text-fill-color:#f8f9fc!important;caret-color:#fff!important;color-scheme:dark!important;
}
html[data-theme="dark"] .app .main :where(.field,input,textarea)::placeholder {color:#bbc5d3!important;opacity:1!important;}
html[data-theme="dark"] .app .main :where(.metric,.kpi-card) :where(strong,b) {color:#f9fbff!important;-webkit-text-fill-color:#f9fbff!important;}
html[data-theme="dark"] .app .main :where(.metric,.kpi-card) :where(small,em,p) {color:#c1cad7!important;-webkit-text-fill-color:#c1cad7!important;}
html[data-theme="dark"] .app .main :where(.label,.eyebrow,.muted,.small,.os-record-subtitle,.finance-subtitle) {color:#c2cad6;}
html[data-theme="dark"] .app .main :where(.btn,button):not(.primary):not(.danger):not(.icon-button) {color:#f0f3f8;-webkit-text-fill-color:#f0f3f8;}
html[data-theme="dark"] .app .r18-theme-button {color:#f2f5fa!important;-webkit-text-fill-color:#f2f5fa!important;background:#252b35!important;border:1px solid #677384!important;}
/* Restore dark login links in contrast to the transparent surface. */
html[data-theme="dark"] .app .login .btn.ghost {color:#ff9bab!important;-webkit-text-fill-color:#ff9bab!important;background:transparent!important;}
html[data-theme="light"] .app .login .btn.ghost {color:#9e1e31!important;-webkit-text-fill-color:#9e1e31!important;}
/* The visual detail route is already dark-cinematic: retain its artwork while fixing controls. */
.portal-shell .r18-portal-theme-toggle {margin-inline:auto 10px;color:#f4f7fb!important;background:#242832;border:1px solid #647083;}
.portal-shell .portal-header {gap:10px;}
.portal-shell :where(.portal-submit,.portal-logout,.portal-team-link,.portal-inline-button,.portal-link-button,.portal-open-link) {min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;}
.portal-shell .portal-login-card :where(label,.portal-kicker,.portal-intro,.portal-security-note) {font-size:max(12px,.78rem);line-height:1.55;}
.portal-shell .portal-login-card :where(input,select) {min-height:48px;}
html[data-theme="dark"] .portal-shell .portal-login-card :where(input,select) {background:#20242d!important;border-color:#798698!important;color:#fff!important;-webkit-text-fill-color:#fff!important;color-scheme:dark;}
html[data-theme="dark"] .portal-shell .portal-login-card :where(input,select)::placeholder {color:#c4ccda!important;opacity:1;}
html[data-theme="light"] .portal-shell {background:#f6f7fa;color:#1e2530;}
html[data-theme="light"] .portal-shell .portal-header {background:#11161f!important;border-color:#333d4d;}
html[data-theme="light"] .portal-shell .portal-login-card {background:#fff!important;color:#1e2530!important;border-color:#d0d7e0!important;box-shadow:0 12px 36px rgba(10,20,30,.12)!important;}
html[data-theme="light"] .portal-shell .portal-login-card :where(h1,h2,h3,label,.portal-intro,.portal-security-note) {color:#27303c!important;-webkit-text-fill-color:#27303c!important;}
html[data-theme="light"] .portal-shell .portal-login-card :where(input,select,textarea) {background:#fff!important;border-color:#8492a4!important;color:#202631!important;-webkit-text-fill-color:#202631!important;color-scheme:light!important;}
html[data-theme="light"] .portal-shell .portal-login-card :where(input,textarea)::placeholder {color:#687487!important;}
html[data-theme="light"] .portal-shell .portal-login-card .portal-link-button {color:#ab243b!important;-webkit-text-fill-color:#ab243b!important;}
html[data-theme="light"] .portal-shell :where(.portal-project-card,.portal-plan-card,.portal-list-card,.portal-finance-card,.portal-finance-summary>div,.portal-metrics article) {background:#fff;color:#202631;border-color:#d5dbe5;}
html[data-theme="light"] .portal-shell :where(.portal-project-card,.portal-plan-card,.portal-list-card,.portal-finance-card,.portal-finance-summary>div,.portal-metrics article) :where(h3,strong) {color:#242c38!important;}
html[data-theme="light"] .portal-shell .r18-portal-theme-toggle {background:#1c2838;color:#fff!important;border-color:#7b8a9c;}
/* Public theme: maintain cinematic image cards and the two APPROVED vector cards. */
.home-site .home-theme-toggle {color:inherit!important;border:1px solid currentColor!important;}
.home-site :where(.home-button,.home-contact-link,.home-header-link,.home-text-link) {min-height:44px;align-items:center;justify-content:center;}
.home-site :where(.home-eyebrow,.home-section-index,.home-capability-label,.home-concept-index,.home-footer-contact-eyebrow) {font-size:max(11px,.7rem);line-height:1.5;}
.home-site :where(.home-capability,.home-concept,.home-approach-step) :where(h3,p) {max-width:100%;}
html[data-theme="light"] .home-site {--home-bg:#f8f9fc;--home-ink:#202431;background:#f8f9fc;color:#202431;}
html[data-theme="light"] .home-site .home-header {background:rgba(249,249,251,.96)!important;border-color:#d8dce4!important;}
html[data-theme="light"] .home-site .home-nav>a,html[data-theme="light"] .home-site .home-header-link,html[data-theme="light"] .home-site .home-languages button {color:#242b38!important;}
html[data-theme="light"] .home-site :where(.home-hero,.home-studio,.home-expertise,.home-concepts,.home-approach) {color:#202431;}
html[data-theme="light"] .home-site :where(.home-hero-copy h1,.home-studio h2,.home-expertise h2,.home-concepts h2,.home-approach h2) {color:#202431!important;}
html[data-theme="light"] .home-site :where(.home-hero-intro,.home-studio-copy p,.home-expertise-intro,.home-approach-intro) {color:#455063!important;}
html[data-theme="light"] .home-site :where(.home-capability,.home-concept,.home-approach-step) {border-color:#d7dce4;}
html[data-theme="light"] .home-site .home-theme-toggle {background:#fff!important;color:#202b39!important;}
/* Don't repaint .home-space-team / .home-space-client: user-approved vector designs. */
@media (max-width:850px) {
 .app .topbar-right {gap:5px;}
 .app .r18-theme-button {order:0;}
 .app :where(.panel-head,.section-header,.record-actions,.modal-footer){flex-wrap:wrap;}
 .app :where(.panel-head,.section-header,.record-actions,.modal-footer)>:where(button,.btn) {max-width:100%;}
 .portal-shell .portal-header {flex-wrap:nowrap;}
}
@media (max-width:450px) {
 .app .r18-theme-button {width:40px!important;min-width:40px!important;height:42px!important;min-height:42px!important;flex-basis:40px;}
 .app .main :where(.section-header,.panel-head) :where(button,.btn) {width:auto;flex:1 1 auto;}
 .app .main :where(.btn,button):not(.icon-button) {font-size:12px;}
 .app .main :where(.eyebrow,.label,small,.small) {font-size:11px;}
 .portal-shell .portal-header {gap:5px;padding-inline:12px;}
 .portal-shell .r18-portal-theme-toggle {width:40px!important;min-width:40px!important;height:42px!important;min-height:42px!important;flex-basis:40px;margin-inline:auto 3px;}
 .portal-shell .portal-brand {min-width:0;}
 .portal-shell .portal-team-link,.portal-shell .portal-logout {font-size:11px;}
}
@media (prefers-reduced-motion:reduce) { :where(.home-site,.app,.portal-shell) :where(button,a,details) {transition:none!important;} }
/* Follow-up visual QA: the cinematic hero stays DARK in light mode. Repaint its
   copy light too, instead of producing dark-on-dark text. Keep the original
   white/red ByMedia logo on a dark header in both appearances. */
html[data-theme="light"] body.home-site .home-header {background:#17191f!important;border-color:#444750!important;color:#f7f8fb!important;}
html[data-theme="light"] body.home-site .home-header :where(.home-nav>a,.home-header-link,.home-languages button,.home-theme-toggle,.home-menu-toggle) {
 color:#f5f7fc!important;-webkit-text-fill-color:#f5f7fc!important;
}
html[data-theme="light"] body.home-site .home-header .home-header-link {border-color:#697381!important;background:#242831!important;}
html[data-theme="light"] body.home-site .home-header .home-contact-link {color:#fff!important;-webkit-text-fill-color:#fff!important;}
html[data-theme="light"] body.home-site .home-theme-toggle {background:#292e39!important;border-color:#768295!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
html[data-theme="light"] body.home-site .home-hero {background:linear-gradient(112deg,#090b12 0%,#191019 100%)!important;color:#f7f7fa!important;}
html[data-theme="light"] body.home-site .home-hero-copy :where(h1,h1 span) {color:#f7f8fb!important;-webkit-text-fill-color:#f7f8fb!important;}
html[data-theme="light"] body.home-site .home-hero-copy h1 .home-hero-accent {color:#f1284c!important;-webkit-text-fill-color:#f1284c!important;}
html[data-theme="light"] body.home-site .home-hero-intro {color:#d9dce5!important;-webkit-text-fill-color:#d9dce5!important;}
html[data-theme="light"] body.home-site .home-hero-meta {color:#cbd0dc!important;}
html[data-theme="light"] body.home-site .home-hero .home-text-link {color:#fff!important;-webkit-text-fill-color:#fff!important;}


/* source: /css/pages/theme-consistent-r19.css */
/* R19 — Consistent two-way appearance. Loaded after historical styles.
   Light = actual ivory/white workspace, white forms, dark readable type.
   Dark = original ByMedia cinematic experience, no change to stored business data.
   Brand image overlays and the two approved vector workspace cards stay untouched. */
html[data-theme="light"] {color-scheme:light!important;--color-bg:#fff;--color-surface:#fff;--color-ink:#20242e;--color-muted:#596473;--color-line:#dce1e7;--bg:#fff;--ink:#20242e;--sub:#5a6574;--line:#dce1e7;--bm-canvas:#fff;--bm-paper:#fff;--bm-hairline:#dce1e7;--bm-ink:#20242e;--bm-secondary:#556170;}
html[data-theme="light"] body {background:#fff!important;color:#20242e;color-scheme:light!important;}
/* App navigation, work area and typography */
html[data-theme="light"] .app {background:#fff!important;color:#20242e!important;--r9-black:#fff;--r9-panel:#fff;--r9-panel2:#f6f8fb;--r9-line:#dce1e7;--r16-surface:#fff;--r16-ink:#20242e;--r16-muted:#596473;--r16-outline:#dce1e7;}
html[data-theme="light"] .app .main {background:#fff!important;color:#20242e!important;}
html[data-theme="light"] .app .sidebar.bm-r9-sidebar {background:#f8f9fc!important;border-color:#e1e5eb!important;color:#273241!important;box-shadow:2px 0 14px #15203a0a!important;}
html[data-theme="light"] .app .sidebar :is(.bm-sidebar-logo,.bm-sidebar-more,.bm-sidebar-links,.side-bottom) {border-color:#dbe0e9!important;}
html[data-theme="light"] .app .sidebar :is(.bm-sidebar-label,.bm-user-ident small) {color:#6a6872!important;}
html[data-theme="light"] .app .sidebar .nav,html[data-theme="light"] .app .sidebar .nav .ico,html[data-theme="light"] .app .bm-sidebar-more summary {color:#374255!important;-webkit-text-fill-color:#374255!important;}
html[data-theme="light"] .app .sidebar .nav.active {background:#fff0f3!important;border-color:#d8202755!important;color:#a71a2e!important;-webkit-text-fill-color:#a71a2e!important;}
html[data-theme="light"] .app .sidebar .nav.active .ico {color:#a71a2e!important;}
html[data-theme="light"] .app .sidebar .nav:hover:not(.active) {background:#ebeff4!important;color:#202a39!important;-webkit-text-fill-color:#202a39!important;}
html[data-theme="light"] .app .bm-r9-topbar {background:#fff!important;border-bottom:1px solid #e2e7ed!important;color:#202a39!important;}
html[data-theme="light"] .app :is(.bm-r9-global-search,.bm-r9-date,.bm-r9-topbar .icon-button) {background:#f4f6f9!important;border:1px solid #d5dce5!important;color:#303b49!important;-webkit-text-fill-color:#303b49!important;box-shadow:none!important;}
html[data-theme="light"] .app :is(.bm-r9-global-search span,.bm-r9-global-search svg,.bm-r9-topbar .connection,.bm-r9-date) {color:#4d5868!important;}
html[data-theme="light"] .app .r18-theme-button {color:#263243!important;background:#fff!important;border-color:#c5cedb!important;}
html[data-theme="light"] .app :where(.heading h1,.heading h2,.panel h2,.panel h3,.section-header h2,.section-header h3,.section-lead h3,.table td,.table th,.os-record-identity strong,.os-record-topline h2,.os-record-details dd,.finance-section-heading h2,.finance-contract h3,.os-record-item h3) {color:#202631!important;-webkit-text-fill-color:#202631!important;}
html[data-theme="light"] .app :where(.muted,.small,small,.eyebrow,.label,.finance-subtitle,.os-record-subtitle,.table-subline,.os-record-meta) {color:#5a6678!important;-webkit-text-fill-color:#5a6678!important;}
/* Real white cards instead of dark card overrides, preserve photo-backed project artwork */
html[data-theme="light"] .app .main :is(.panel,.metric,.kpi-card,.os-record-hub,.os-record-item,.os-record-secondary,.os-extras,.finance-contract,.finance-clients,.team-table,.team-inline-summary,.os-monthly-list,.ops-kpis .metric,.os-compact-stats .metric,.quick-launch,.os-finance-client,.os-record-money-row>div,.task-list-item,.task-detail-body,.finance-contract-metrics>div) {background:#fff!important;color:#202631!important;border-color:#dce2ea!important;box-shadow:0 3px 15px #202b3b07!important;}
html[data-theme="light"] .app .main :is(.metric,.kpi-card,.ops-kpis .metric,.os-compact-stats .metric,.finance-summary-grid .metric) :is(strong,b,span) {color:#202631!important;-webkit-text-fill-color:#202631!important;opacity:1!important;}
html[data-theme="light"] .app .main :is(.metric,.kpi-card,.ops-kpis .metric,.os-compact-stats .metric,.finance-summary-grid .metric) :is(small,em,p) {color:#5d6877!important;-webkit-text-fill-color:#5d6877!important;opacity:1!important;}
html[data-theme="light"] .app .main :is(.os-record-toolbar,.os-record-expanded,.os-record-details,.table th,.task-list-heading,.task-filter-field,.panel-head,.os-record-summary:hover,.table tbody tr:hover,.os-record-actions) {background:#f8f9fc!important;color:#263242!important;border-color:#dce2ea!important;}
html[data-theme="light"] .app .main :where(.field,input,select,textarea) {background:#fff!important;color:#222d3c!important;-webkit-text-fill-color:#222d3c!important;border-color:#aab5c4!important;color-scheme:light!important;}
html[data-theme="light"] .app .main :where(input,textarea)::placeholder {color:#677487!important;-webkit-text-fill-color:#677487!important;}
html[data-theme="light"] .app .main :is(.btn,button:not(.primary):not(.danger):not(.bm-title-arrow)):not(.bm-project-card-action) {background:#fff;color:#263242;-webkit-text-fill-color:#263242;border-color:#cfd6e2;}
html[data-theme="light"] .app .main :where(.btn.primary,button.primary,.bm-r9-primary) {background:#d82027!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#d82027!important;}
html[data-theme="light"] .app .main :where(.os-record-status,.urgency,.task-tab,.pill) {color:#364254!important;-webkit-text-fill-color:#364254!important;}
/* Workspace project cards: intentionally keep cinematic image overlays and white captions */
html[data-theme="light"] .app .bm-project-card :is(h3,h4,.bm-project-card-title,.bm-cover-overlay,.bm-project-card-cover strong,.bm-project-card-cover span),
html[data-theme="light"] .app .bm-projects-hero :is(h1,h1 em,p,.bm-panel-kicker),
html[data-theme="light"] .app .bm-scene-hero :is(h1,h2,p,.bm-scene-copy,.bm-scene-copy *) {color:inherit;-webkit-text-fill-color:currentColor;}
html[data-theme="light"] .app .main .bm-projects-hero :is(h1,p) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
/* Modal and login forms */
html[data-theme="light"] .app :where(.modal,.modal-content,.dialog,.command-dialog,.login-panel,.security-panel) {background:#fff!important;color:#202631!important;border-color:#d4dce6!important;}
html[data-theme="light"] .app :where(.modal,.login-panel,.command-dialog) :is(h1,h2,h3,p,label,small) {color:#263242!important;-webkit-text-fill-color:#263242!important;}
html[data-theme="light"] .app .login-panel :where(input,select,textarea,.field) {background:#fff!important;color:#202631!important;-webkit-text-fill-color:#202631!important;border-color:#99a7b9!important;}
/* Client portal — all workspace cards white, text readable */
html[data-theme="light"] .portal-shell {background:#fff!important;color:#202631!important;--paper:#fff;--ink:#202631;--muted:#566273;--line:#d9e0e9;}
html[data-theme="light"] .portal-shell :is(.portal-main,.portal-login-page) {background:#fff!important;color:#202631!important;}
html[data-theme="light"] .portal-shell :is(.portal-login-card,.portal-project-card,.portal-plan-card,.portal-list-card,.portal-finance-card,.portal-finance-summary>div,.portal-metrics article,.portal-denied,.portal-empty) {background:#fff!important;color:#202631!important;border-color:#dce2ea!important;box-shadow:0 4px 18px #13234009!important;}
html[data-theme="light"] .portal-shell :is(.portal-project-card,.portal-plan-card,.portal-list-card,.portal-finance-card,.portal-finance-summary>div,.portal-metrics article) :is(h1,h2,h3,strong) {color:#273242!important;-webkit-text-fill-color:#273242!important;}
html[data-theme="light"] .portal-shell :is(.portal-project-card,.portal-plan-card,.portal-list-card,.portal-finance-card,.portal-finance-summary>div,.portal-metrics article) :is(small,span,p) {color:#536171;}
html[data-theme="light"] .portal-shell :where(input,select,textarea) {background:#fff!important;color:#202631!important;-webkit-text-fill-color:#202631!important;border-color:#9aa8bb!important;color-scheme:light!important;}
html[data-theme="light"] .portal-shell :where(input,textarea)::placeholder {color:#647387!important;}
html[data-theme="light"] .portal-shell .r18-portal-theme-toggle {background:#fff!important;color:#273548!important;border-color:#bac5d2!important;}
/* Public site — true white surfaces, all text readable; photography and approved vector tiles remain cinematic. */
html[data-theme="light"] body.home-site {background:#fff!important;color:#222a36!important;color-scheme:light!important;--home-paper:#fff;--home-night:#fff;--home-ink:#222a36;--home-muted:#536171;--home-line:#dce2e9;--home-surface:#fff;}
html[data-theme="light"] body.home-site .home-header {background:#fff!important;color:#222a36!important;border-bottom:1px solid #dce2e9!important;box-shadow:0 2px 18px #101b2b08!important;}
html[data-theme="light"] body.home-site .home-header :is(.home-nav>a,.home-header-link,.home-languages button,.home-theme-toggle,.home-menu-toggle) {color:#273344!important;-webkit-text-fill-color:#273344!important;}
html[data-theme="light"] body.home-site .home-header :is(.home-theme-toggle,.home-header-link) {background:#fff!important;border-color:#c7d0dc!important;}
html[data-theme="light"] body.home-site .home-nav {background:#fff!important;border-color:#e2e6ec!important;}
html[data-theme="light"] body.home-site .home-nav a {color:#273344!important;-webkit-text-fill-color:#273344!important;}
html[data-theme="light"] body.home-site .home-hero {background:linear-gradient(118deg,#fff 0%,#fafbfc 74%,#fff 100%)!important;color:#202a38!important;}
html[data-theme="light"] body.home-site .home-hero-copy :is(h1,h1 span) {color:#202a38!important;-webkit-text-fill-color:#202a38!important;}
html[data-theme="light"] body.home-site .home-hero-copy h1 .home-hero-accent {color:#db243d!important;-webkit-text-fill-color:#db243d!important;}
html[data-theme="light"] body.home-site .home-hero-intro,html[data-theme="light"] body.home-site .home-hero-meta {color:#4f5b6b!important;-webkit-text-fill-color:#4f5b6b!important;}
html[data-theme="light"] body.home-site .home-text-link {background:#fff!important;border-color:#c9d2de!important;color:#293446!important;-webkit-text-fill-color:#293446!important;}
html[data-theme="light"] body.home-site :is(.home-studio,.home-expertise,.home-concepts,.home-spaces,.home-approach) {background:#fff!important;color:#202a38!important;border-color:#e1e6ed!important;}
html[data-theme="light"] body.home-site :is(.home-studio,.home-expertise,.home-concepts,.home-spaces,.home-approach) :is(h2,h2 em) {color:#202a38!important;-webkit-text-fill-color:#202a38!important;}
html[data-theme="light"] body.home-site :is(.home-studio,.home-expertise,.home-concepts,.home-spaces,.home-approach) h2 em {color:#d82027!important;-webkit-text-fill-color:#d82027!important;}
html[data-theme="light"] body.home-site :is(.home-studio,.home-expertise,.home-concepts,.home-spaces,.home-approach) > :is(p,.home-lead,.home-expertise-intro,.home-approach-intro) {color:#586576!important;}
html[data-theme="light"] body.home-site .home-studio-note {background:#f7f8fa!important;border-color:#dde3ea!important;}
html[data-theme="light"] body.home-site .home-studio-note p {color:#4d5968!important;}
html[data-theme="light"] body.home-site .home-approach :is(.home-step,.home-approach-step) {background:#fff!important;border:1px solid #dce2ea!important;color:#263242!important;box-shadow:0 6px 24px #20314807!important;}
html[data-theme="light"] body.home-site .home-approach :is(.home-step,.home-approach-step) :is(h3,p) {color:#263242!important;-webkit-text-fill-color:#263242!important;}
html[data-theme="light"] body.home-site .home-approach :is(.home-step,.home-approach-step) p {color:#586576!important;}
html[data-theme="light"] body.home-site .home-capability {background:#fff!important;border-color:#dbe2ea!important;box-shadow:0 6px 22px #202b3b09!important;}
html[data-theme="light"] body.home-site .home-capability h3 {color:#253142!important;-webkit-text-fill-color:#253142!important;}
html[data-theme="light"] body.home-site .home-capability p {color:#586575!important;-webkit-text-fill-color:#586575!important;}
html[data-theme="light"] body.home-site .home-capability:hover {background:#f8fafc!important;}
html[data-theme="light"] body.home-site .home-section-index,html[data-theme="light"] body.home-site .home-eyebrow {color:#ba2840!important;}
html[data-theme="light"] body.home-site .home-spaces-footnote {color:#556172!important;}
/* Keep approved two vector cards: .home-space-team + .home-space-client untouched. */
/* Dark photography-backed panels intentionally keep their white captions. */
html[data-theme="light"] body.home-site .home-concept-overlay :is(h3,p,span) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
html[data-theme="light"] body.home-site .studio-image-caption :is(strong,p) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
html[data-theme="light"] body.home-site .home-footer {background:#fff!important;color:#263242!important;border-top:1px solid #dce2e9!important;}
html[data-theme="light"] body.home-site .home-footer :is(p,.home-footer-links a,.home-footer-bottom,small) {color:#586576!important;-webkit-text-fill-color:#586576!important;}
html[data-theme="light"] body.home-site .home-footer :is(h2,h3,strong) {color:#253142!important;}
html[data-theme="light"] body.home-site .home-footer-brand img,html[data-theme="light"] body.home-site .home-brand img {filter:none!important;}
html[data-theme="light"] body.home-site .home-endnote :is(h2,p) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
/* Primary actions stay red with white text and readable focus in both appearances. */
html[data-theme="light"] :where(.home-site,.app,.portal-shell) :where(.primary,.home-button-primary,.home-contact-link,.portal-submit,.login-submit) {background:#d82027!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
html[data-theme="light"] :where(.home-site,.app,.portal-shell) :is(button,a,summary):focus-visible {outline:3px solid #b91c35!important;outline-offset:3px!important;}

/* R22 image restoration: use distinct, bundled high-resolution photos in private spaces.
   No external photo request is needed after sign-in. The two approved homepage access cards remain vectors. */
body:has(.app) .bm-projects-r9 .bm-projects-hero { background-image:linear-gradient(110deg,#090b11 0%,#140913c9 42%,#100a1240 100%),url('/assets/scene-projects-r12.webp')!important;background-size:cover!important;background-position:center 48%!important; }
body:has(.app) .task-hub-heading { background-image:linear-gradient(110deg,#090b11e8 0%,#140913b0 50%,#100a1230 100%),url('/assets/service-strategy-r12.webp')!important;background-size:cover!important;background-position:center 42%!important; }
body:has(.app) .bm-sidebar-promo { background-image:linear-gradient(115deg,#150610df,#110c15ad),url('/assets/creative-art-r13.webp')!important;background-size:cover!important;background-position:center!important; }
body:has(.login) .login-art { background-image:linear-gradient(90deg,#05060bdc,#120d1268),url('/assets/team-login-r12.webp')!important;background-size:cover!important;background-position:center!important; }
body:has(.portal-shell) .portal-shell.portal-login-page { background-image:linear-gradient(90deg,#07090bdc,#10091070),url('/assets/client-login-r12.webp')!important;background-size:cover!important;background-position:center!important; }
/* Keep R19 contrast tokens and approved light-mode surfaces intact. */

/* R20 regression fix: the older R18 selector was more specific than R19.
   Keep the secondary CTA readable on white in both desktop and mobile. */
html[data-theme="light"] body.home-site .home-hero .home-text-link,
html[data-theme="light"] body.home-site .home-hero .home-text-link span {
  color:#233044!important;
  -webkit-text-fill-color:#233044!important;
  background-color:#fff;
  border-color:#bdc9d8!important;
}

/* R21 — Real two-way theme switch.
   R14 contains unconditional dark-mode declarations with higher specificity.
   These targeted rules deliberately outrank them without repainting photo-led heroes. */
html[data-theme="light"] body:not(.home-site):has(.app) {
  background:#f3f5f8!important;
  color:#202631!important;
  color-scheme:light!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app {
  background:#f3f5f8!important;
  color:#202631!important;
  --color-bg:#f3f5f8;--color-surface:#fff;--color-ink:#202631;--color-muted:#586576;--color-line:#dce2ea;
  --r14-panel:#fff;--r14-muted:#586576;--r14-text:#202631;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main {
  background:#f3f5f8!important;
  color:#202631!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats) .metric,
html[data-theme="light"] body:not(.home-site):has(.app) .app .main .kpi-card {
  background:#fff!important;
  color:#202631!important;
  border:1px solid #dce2ea!important;
  border-top:2px solid #d82027!important;
  box-shadow:0 5px 18px #1a263508!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats) .metric :is(small,strong,em,span,p,b),
html[data-theme="light"] body:not(.home-site):has(.app) .app .main .kpi-card :is(small,strong,em,span,p,b) {
  color:#202631!important;
  -webkit-text-fill-color:#202631!important;
  opacity:1!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats) .metric small,
html[data-theme="light"] body:not(.home-site):has(.app) .app .main .kpi-card small,
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats) .metric em,
html[data-theme="light"] body:not(.home-site):has(.app) .app .main .kpi-card em {
  color:#596576!important;
  -webkit-text-fill-color:#596576!important;
  opacity:1!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.panel,.finance-contract,.finance-clients,.team-table,.team-inline-summary,.os-record-hub,.os-record-item,.os-record-secondary,.os-extras,.os-monthly-list,.os-finance-client,.os-record-money-row>div,.task-list-item,.task-detail-body,.finance-contract-metrics>div,.quick-launch) {
  background:#fff!important;
  color:#202631!important;
  border-color:#dce2ea!important;
  box-shadow:0 3px 16px #202b3b08!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.panel,.finance-contract,.finance-clients,.team-table,.team-inline-summary,.os-record-hub,.os-record-item,.os-record-secondary,.os-extras,.os-monthly-list,.os-finance-client,.os-record-money-row>div,.task-list-item,.task-detail-body,.finance-contract-metrics>div,.quick-launch) :is(h1,h2,h3,h4,p,span,strong,b,small,em,label,dt,dd,summary,td,th) {
  color:#263141!important;
  -webkit-text-fill-color:#263141!important;
  opacity:1;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.os-record-identity strong,.os-record-item summary strong,.os-record-topline h2,.os-record-details dd,.os-record-item h3,.os-record-summary strong,.os-record-money-row strong) {
  color:#202631!important;
  -webkit-text-fill-color:#202631!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.os-record-summary small,.os-record-identity small,.os-record-money-row small,.os-record-meta,.os-record-subtitle,.finance-subtitle,.table-subline,.muted,.small) {
  color:#596576!important;
  -webkit-text-fill-color:#596576!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.os-record-toolbar,.os-record-expanded,.os-record-details,.table th,.task-list-heading,.task-filter-field,.panel-head,.os-record-summary:hover,.table tbody tr:hover,.os-record-actions) {
  background:#f5f7fa!important;
  color:#263141!important;
  border-color:#dce2ea!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.table td,.table th,.table-subline) {
  color:#263141!important;
  -webkit-text-fill-color:#263141!important;
  border-color:#e1e6ed!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(input,select,textarea,.field) {
  background:#fff!important;
  color:#202631!important;
  -webkit-text-fill-color:#202631!important;
  border-color:#aeb9c8!important;
  caret-color:#202631!important;
  color-scheme:light!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(input,textarea)::placeholder {
  color:#697587!important;
  -webkit-text-fill-color:#697587!important;
  opacity:1!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.btn,button):not(.primary):not(.danger):not(.icon-button):not(.bm-project-card-action) {
  background:#fff!important;
  color:#263141!important;
  -webkit-text-fill-color:#263141!important;
  border-color:#cbd4e0!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.btn.primary,button.primary,.bm-r9-primary) {
  background:#d82027!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#d82027!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.btn.danger,button.danger,.pill.red,.os-record-status.red,.negative,.money-negative) {
  color:#b42336!important;
  -webkit-text-fill-color:#b42336!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.pill.green,.positive,.money-positive) {
  color:#16734a!important;
  -webkit-text-fill-color:#16734a!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .r18-theme-button,
html[data-theme="light"] body:not(.home-site):has(.app) .app .r18-theme-setting {
  background:#fff!important;
  color:#263141!important;
  -webkit-text-fill-color:#263141!important;
  border-color:#cbd4e0!important;
}
html[data-theme="light"] body.home-site {
  background:#f5f6f8!important;
  color:#202a38!important;
  --home-paper:#f5f6f8;--home-night:#f5f6f8;--home-surface:#fff;
}
html[data-theme="light"] body.home-site :is(.home-studio,.home-expertise,.home-concepts,.home-spaces,.home-approach) {
  background:#f5f6f8!important;
}
html[data-theme="light"] .portal-shell {
  background:#f3f5f8!important;
  color:#202631!important;
  --paper:#f3f5f8;--ink:#202631;--muted:#596576;--line:#dce2ea;
}
/* Preserve semantic button/status colors inside the now-readable light cards. */
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.panel,.finance-contract,.finance-clients,.team-table,.team-inline-summary,.os-record-hub,.os-record-item,.os-record-secondary,.os-extras,.os-monthly-list,.os-finance-client,.os-record-money-row>div,.task-list-item,.task-detail-body,.finance-contract-metrics>div,.quick-launch) :is(.btn.primary,button.primary,.bm-r9-primary) :is(span,strong,b,svg) {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  stroke:currentColor!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.panel,.finance-contract,.finance-clients,.team-table,.team-inline-summary,.os-record-hub,.os-record-item,.os-record-secondary,.os-extras,.os-monthly-list,.os-finance-client,.os-record-money-row>div,.task-list-item,.task-detail-body,.finance-contract-metrics>div,.quick-launch) :is(.pill.green,.os-record-status.green,.positive,.money-positive) {
  color:#16734a!important;
  -webkit-text-fill-color:#16734a!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.panel,.finance-contract,.finance-clients,.team-table,.team-inline-summary,.os-record-hub,.os-record-item,.os-record-secondary,.os-extras,.os-monthly-list,.os-finance-client,.os-record-money-row>div,.task-list-item,.task-detail-body,.finance-contract-metrics>div,.quick-launch) :is(.pill.red,.os-record-status.red,.negative,.money-negative) {
  color:#b42336!important;
  -webkit-text-fill-color:#b42336!important;
}


/* source: /css/pages/photography-r23.css */
/* R23 — photographic quality, consistent crops, and deliberate spacing. */
:root { --r23-section-gap: clamp(22px, 2.4vw, 34px); --r23-card-radius: 16px; }
img[data-photo-src] { image-rendering:auto!important; object-fit:cover; background:#12131a; }
img.r23-photo-ready { animation:r23-photo-reveal .24s ease-out both; }
@keyframes r23-photo-reveal { from { opacity:.82; } to { opacity:1; } }
.home-site .home-hero-art { overflow:hidden!important; border-radius:18px!important; background:#101019!important; }
.home-site .home-hero-photo { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 48%!important; }
.home-site .studio-image-panel { overflow:hidden!important; border-radius:18px!important; background:#101019!important; }
.home-site .studio-image-panel>img { display:block!important; width:100%!important; height:100%!important; min-height:380px!important; object-fit:cover!important; object-position:center!important; }
.home-site .home-capabilities { gap:clamp(14px,1.6vw,22px)!important; align-items:stretch!important; }
.home-site .home-capability { border-radius:var(--r23-card-radius)!important; overflow:hidden!important; min-width:0!important; }
.home-site .home-capability-visual { height:clamp(175px,17vw,230px)!important; margin:0 0 4px!important; overflow:hidden!important; border-radius:12px!important; }
.home-site .home-capability-visual>img { display:block!important; width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; }
.home-site .home-concept-grid { gap:clamp(14px,1.8vw,24px)!important; }
.home-site .home-concept { min-width:0!important; border-radius:var(--r23-card-radius)!important; aspect-ratio:1.18/1!important; overflow:hidden!important; }
.home-site .home-concept>img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; }
.home-site .home-concept-overlay { padding:clamp(20px,2vw,30px)!important; gap:10px!important; }
.home-site :is(.home-studio,.home-expertise,.home-concepts,.home-approach,.home-spaces) { padding-block:clamp(64px,7vw,104px)!important; }
.home-site .home-section-heading { gap:clamp(18px,2vw,28px)!important; margin-bottom:clamp(22px,3vw,34px)!important; }
.home-site .home-endnote { background-image:linear-gradient(90deg,rgba(6,8,14,.94) 0%,rgba(6,8,14,.72) 45%,rgba(6,8,14,.24) 100%),url("https://images.pexels.com/photos/36966419/pexels-photo-36966419.jpeg?auto=compress&cs=tinysrgb&w=2000"),url('/assets/project-wellness-r12.webp')!important; background-size:cover,cover,cover!important; background-position:center,center,center!important; border-radius:20px!important; overflow:hidden!important; }
/* Main workspaces: large photographic banners with readable text and even gutters. */
.app .main { min-width:0!important; padding-inline:clamp(14px,1.9vw,30px)!important; }
.app .main>.bm-scene-hero { min-height:clamp(205px,18vw,270px)!important; margin:8px 0 var(--r23-section-gap)!important; border-radius:18px!important; overflow:hidden!important; background:#10131a!important; }
.app .main>.bm-scene-hero .bm-scene-img { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 46%!important; filter:none!important; image-rendering:auto!important; }
.app .main>.bm-scene-hero::before { background:linear-gradient(90deg,rgba(7,9,14,.94) 0%,rgba(7,9,14,.76) 43%,rgba(7,9,14,.20) 100%)!important; }
.app .main>.bm-scene-hero .bm-scene-copy { max-width:760px!important; padding:clamp(22px,3vw,42px)!important; }
.app .main>.bm-scene-hero .bm-scene-copy h1 { max-width:16ch!important; line-height:1.06!important; text-wrap:balance!important; }
.bm-dashboard-cinema { position:relative!important; min-height:clamp(190px,18vw,250px)!important; border-radius:18px!important; overflow:hidden!important; margin:0 0 var(--r23-section-gap)!important; background:#101019!important; }
.bm-dashboard-cinema>img { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 48%!important; }
.bm-dashboard-cinema::after { content:""!important; position:absolute!important; inset:0!important; background:linear-gradient(90deg,#08090ff0 0%,#08090fa8 46%,#08090f18 100%)!important; pointer-events:none!important; }
.bm-dashboard-cinema .bm-dash-cinema-text,.bm-dashboard-cinema .bm-dash-cinema-index { position:relative!important; z-index:1!important; }
.bm-projects-r9 .bm-projects-hero { background-image:linear-gradient(90deg,rgba(6,8,14,.96) 0%,rgba(6,8,14,.72) 44%,rgba(6,8,14,.12) 100%),url("https://images.unsplash.com/photo-1524758631624-e2822e304c36?auto=format&fit=crop&w=2000&q=87"),url('/assets/scene-projects-r12.webp')!important; background-size:cover,cover,cover!important; background-position:center,center,center!important; border-radius:18px!important; overflow:hidden!important; margin-bottom:var(--r23-section-gap)!important; }
.bm-projects-r9 .bm-projects-main { gap:clamp(14px,1.6vw,22px)!important; align-items:start!important; }
.bm-projects-r9 .bm-project-gallery { gap:clamp(10px,1.2vw,16px)!important; }
.bm-projects-r9 .bm-project-card { min-width:0!important; overflow:hidden!important; border-radius:14px!important; }
.bm-projects-r9 .bm-project-card-cover { aspect-ratio:16/9!important; min-height:0!important; overflow:hidden!important; }
.bm-projects-r9 .bm-project-card-cover img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; }
.bm-projects-r9 .bm-project-detail { border-radius:16px!important; overflow:hidden!important; }
.bm-projects-r9 .bm-project-detail-image { height:clamp(190px,18vw,245px)!important; overflow:hidden!important; }
.bm-projects-r9 .bm-project-detail-image img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; }
.bm-dash-recent-grid { gap:12px!important; }
.bm-dash-recent-card { min-width:0!important; overflow:hidden!important; border-radius:12px!important; }
.bm-dash-recent-card img { display:block!important; width:100%!important; height:clamp(90px,8vw,128px)!important; object-fit:cover!important; object-position:center!important; }
.bm-portal-project-card { min-width:0!important; overflow:hidden!important; border-radius:15px!important; }
.bm-portal-project-visual { height:clamp(150px,16vw,215px)!important; overflow:hidden!important; }
.bm-portal-project-visual img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; }
.os-record-list { gap:10px!important; }
.os-record-item { overflow:hidden!important; border-radius:12px!important; }
.os-record-summary { gap:clamp(10px,1.2vw,16px)!important; padding:clamp(12px,1.2vw,17px)!important; align-items:center!important; }
.os-record-mark.bm-record-photo { width:88px!important; height:72px!important; flex:0 0 88px!important; border-radius:10px!important; overflow:hidden!important; background:#14161d!important; }
.os-record-mark.bm-record-photo img { display:block!important; width:100%!important; height:100%!important; object-fit:cover!important; object-position:center!important; }
/* Image-led login backgrounds with local fallbacks; no dependence on the public photo loader alone. */
body:has(.login) .login-art { background-image:linear-gradient(90deg,#05060be6 0%,#120d1280 52%,#08090b20 100%),url("https://images.unsplash.com/photo-1497366811353-6870744d04b2?auto=format&fit=crop&w=2000&q=87"),url('/assets/team-login-r12.webp')!important; background-size:cover,cover,cover!important; background-position:center,center,center!important; }
body:has(.portal-shell) .portal-shell.portal-login-page { background-image:linear-gradient(90deg,#07090be8 0%,#10091085 52%,#07080f28 100%),url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2000&q=87"),url('/assets/client-login-r12.webp')!important; background-size:cover,cover,cover!important; background-position:center,center,center!important; }
body:has(.app) .task-hub-heading { background-image:linear-gradient(110deg,#090b11ed 0%,#140913b8 52%,#100a1230 100%),url("https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=2000&q=87"),url('/assets/service-strategy-r12.webp')!important; background-size:cover,cover,cover!important; background-position:center,center,center!important; border-radius:15px!important; padding:clamp(18px,2vw,28px)!important; }
body:has(.app) .bm-sidebar-promo { background-image:linear-gradient(115deg,#150610e8,#110c1580),url("https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=2000&q=87"),url('/assets/project-villa-r12.webp')!important; background-size:cover,cover,cover!important; background-position:center,center,center!important; }
@media(max-width:760px) {
 .app .main { padding-inline:12px!important; }
 .app .main>.bm-scene-hero { min-height:190px!important; margin:6px 0 18px!important; border-radius:14px!important; }
 .app .main>.bm-scene-hero .bm-scene-copy { padding:20px!important; }
 .bm-dashboard-cinema { min-height:190px!important; border-radius:14px!important; }
 .bm-projects-r9 .bm-projects-main { gap:14px!important; }
 .bm-projects-r9 .bm-project-gallery { gap:10px!important; }
 .bm-projects-r9 .bm-project-card-cover { aspect-ratio:16/9!important; }
 .os-record-summary { padding:11px!important; gap:10px!important; }
 .os-record-mark.bm-record-photo { width:68px!important; height:58px!important; flex-basis:68px!important; }
 .home-site .home-concept-grid { gap:12px!important; }
 .home-site .studio-image-panel>img { min-height:250px!important; }
}
@media(prefers-reduced-motion:reduce) { img.r23-photo-ready { animation:none!important; } }


/* source: /css/pages/layout-polish-r24.css */
/* ByMedia Studio OS R24 — global spacing, section rhythm and responsive layout.
   Presentation-only layer: no data, authentication, Supabase, or workflow logic changes. */
:root {
  --r24-page-gutter: clamp(14px, 2vw, 32px);
  --r24-section-gap: clamp(18px, 2vw, 28px);
  --r24-card-gap: clamp(12px, 1.45vw, 20px);
  --r24-card-pad: clamp(16px, 1.65vw, 24px);
  --r24-radius: 16px;
}

html { scroll-padding-top: 88px; }
body { overflow-x: clip; }
:where(.home-site, .app, .portal-shell) :where(img, video, canvas, table) { max-width: 100%; }
:where(.app, .portal-shell) :where(section, article, form, .panel, .metric, .kpi-card, .os-record-item, .portal-list-card) { min-width: 0; }

/* Public website: consistent outer gutters and calmer spacing between sections. */
.home-site .home-header {
  padding-inline: clamp(16px, 4.2vw, 64px) !important;
  gap: clamp(10px, 1.6vw, 22px) !important;
}
.home-site .section-shell {
  width: min(1320px, calc(100% - clamp(32px, 6vw, 96px))) !important;
  margin-inline: auto !important;
}
.home-site .home-hero {
  padding-inline: clamp(22px, 6vw, 96px) !important;
  gap: clamp(26px, 4vw, 64px) !important;
}
.home-site :is(.home-studio, .home-expertise, .home-concepts, .home-approach, .home-spaces) {
  padding-block: clamp(54px, 6.2vw, 88px) !important;
}
.home-site .home-studio-layout,
.home-site .home-approach-inner { gap: clamp(24px, 4.2vw, 64px) !important; }
.home-site :is(.home-section-heading, .home-spaces-heading, .home-approach-heading) {
  gap: clamp(16px, 2.4vw, 32px) !important;
  margin-bottom: clamp(22px, 2.8vw, 36px) !important;
}
.home-site :is(.home-capabilities, .home-concept-grid, .home-steps, .home-space-cards) {
  gap: clamp(12px, 1.5vw, 20px) !important;
}
.home-site .home-capability { padding: clamp(16px, 1.8vw, 24px) !important; }
.home-site .home-space-card { padding: clamp(20px, 2.3vw, 32px) !important; }
.home-site .home-studio-note { margin-top: clamp(30px, 5vw, 64px) !important; gap: clamp(14px, 2vw, 24px) !important; }
.home-site .home-endnote-inner { padding-block: clamp(34px, 5vw, 64px) !important; }
.home-site .home-footer-main {
  width: min(1320px, calc(100% - clamp(32px, 6vw, 96px))) !important;
  margin-inline: auto !important;
  gap: clamp(22px, 3vw, 44px) !important;
  padding-block: clamp(32px, 4vw, 52px) !important;
}
.home-site .home-footer-bottom {
  padding-inline: clamp(16px, 4.2vw, 64px) !important;
  gap: 12px 24px !important;
}

/* Team workspace: stable page width, clear separation of modules and aligned controls. */
body:has(.app) .app {
  grid-template-columns: clamp(224px, 18vw, 268px) minmax(0, 1fr) !important;
  align-items: start;
}
.app .main {
  width: 100% !important;
  max-width: 1760px !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  padding: clamp(16px, 1.8vw, 28px) var(--r24-page-gutter) clamp(88px, 7vw, 120px) !important;
}
.app .main > .heading {
  margin: 2px 0 clamp(18px, 2vw, 27px) !important;
  gap: 14px 22px !important;
  align-items: flex-end !important;
}
.app .main > .heading h1 {
  max-width: 24ch;
  line-height: 1.14 !important;
  text-wrap: balance;
}
.app .main > .heading p { max-width: 70ch; }
.app .main > .bm-scene-hero {
  margin: 0 0 var(--r24-section-gap) !important;
  border-radius: 18px !important;
}
.app .main > :is(.bm-dashboard-cinema, .bm-projects-hero, .hero-vnext, .team-hero, .os5-banner) {
  margin-block: 0 var(--r24-section-gap) !important;
}
.app .main > :is(.kpi-grid, .metrics, .finance-summary-grid, .ops-kpis, .os-compact-stats, .os-monthly-summary) {
  gap: var(--r24-card-gap) !important;
  margin-block: 0 var(--r24-section-gap) !important;
}
.app .main :is(.dashboard-grid, .twocol, .os5-grid, .bm-projects-main, .bm-project-detail-grid) {
  gap: var(--r24-card-gap) !important;
}
.app .main > .quick-launch {
  display: flex;
  align-items: center;
  gap: 12px 18px !important;
  margin: 0 0 var(--r24-section-gap) !important;
  padding: 14px 16px !important;
  border: 1px solid var(--color-line, #e7e5e5) !important;
  border-radius: 14px !important;
}
.app .main .quick-launch > div { gap: 8px !important; }
.app .main :is(.panel, .metric, .kpi-card, .finance-contract, .os5-card, .os-record-secondary, .os-extras, .task-secondary-tool, .bm-project-detail) {
  border-radius: var(--r24-radius) !important;
}
.app .main > :is(.panel, .os-record-hub, .finance-clients, .os-monthly-list, .task-hub, .team-table, .os-record-secondary, .os-extras, .task-secondary-tool) {
  margin-block-end: var(--r24-section-gap) !important;
}
.app .main > .panel:not(.os-record-hub):not(.finance-clients):not(.task-hub):not(.team-table):not(.os-monthly-list):not(.bm-dash-projects) {
  padding: var(--r24-card-pad) !important;
}
.app .main .dashboard-grid > .panel { padding: var(--r24-card-pad) !important; }
.app .main .section-header {
  align-items: flex-start !important;
  gap: 12px 18px !important;
  margin-bottom: clamp(14px, 1.6vw, 20px) !important;
}
.app .main .section-header h3 { line-height: 1.25 !important; }
.app .main :is(.toolbar, .os-record-toolbar, .os-record-topline, .panel-head, .bm-project-toolbar, .task-filter-bar) {
  gap: 10px 12px !important;
  flex-wrap: wrap !important;
}
.app .main :is(.toolbar, .task-filter-bar) { margin-block-end: 16px !important; }
.app .main :is(.field, input, select, textarea, button, .btn) { min-width: 0; }
.app .main :is(input, select, textarea, .field) { max-width: 100%; }
.app .main :is(.layout-form, .team-form, .team-identity-fields, .team-client-fields, .team-role-grid, .team-client-mode-options) {
  gap: 12px 16px !important;
}
.app .main :is(.layout-form, .team-identity-fields) > * { min-width: 0; }
.app .main .table-wrap {
  width: 100%;
  max-width: 100%;
  margin-inline: 0 !important;
  border-radius: 10px;
  overscroll-behavior-inline: contain;
}
.app .main .table { width: 100%; }
.app .main :is(.os-record-list, .bm-dash-recent-grid, .portal-project-grid) { gap: 10px !important; }
.app .main .os-record-list { padding-inline: clamp(8px, 1vw, 14px) !important; }
.app .main .os-record-summary { gap: clamp(10px, 1.2vw, 16px) !important; }
.app .main .os-record-expanded { padding: clamp(14px, 1.7vw, 22px) !important; gap: clamp(12px, 1.5vw, 18px) !important; }
.app .main :is(.bm-project-gallery, .bm-project-metrics) { gap: clamp(10px, 1.2vw, 16px) !important; }
.app .main .bm-project-card-content { padding: clamp(12px, 1.2vw, 17px) !important; }
.app .main .bm-project-detail-inner { padding: clamp(16px, 1.8vw, 24px) !important; }
.app .main .modal-back { padding: clamp(10px, 2.5vw, 26px) !important; }
.app .main .modal {
  width: min(100%, 720px) !important;
  max-height: min(92svh, 900px) !important;
  padding: clamp(18px, 2.2vw, 30px) !important;
  border-radius: 18px !important;
}
.app .main .modal-footer { gap: 9px !important; margin-top: clamp(18px, 2vw, 26px) !important; }

/* Client portal: comfortable reading width, even section rhythm and flexible cards. */
.portal-shell .portal-header { padding-inline: clamp(16px, 4.5vw, 72px) !important; gap: 12px !important; }
.portal-shell .portal-main {
  width: min(1240px, calc(100% - clamp(28px, 5vw, 64px))) !important;
  padding-block: clamp(24px, 3.5vw, 48px) clamp(42px, 5vw, 68px) !important;
}
.portal-shell .portal-welcome {
  gap: clamp(16px, 2.5vw, 30px) !important;
  padding: clamp(22px, 3vw, 38px) !important;
  border-radius: 18px !important;
}
.portal-shell .portal-metrics {
  gap: var(--r24-card-gap) !important;
  margin: clamp(14px, 1.8vw, 20px) 0 clamp(24px, 3vw, 36px) !important;
}
.portal-shell .portal-metrics article { padding: clamp(14px, 1.6vw, 22px) !important; }
.portal-shell .portal-section { margin-block: clamp(24px, 3vw, 36px) !important; }
.portal-shell .portal-section-heading { gap: 12px 18px !important; margin-bottom: clamp(12px, 1.4vw, 18px) !important; }
.portal-shell :is(.portal-columns, .portal-project-grid, .portal-plan-grid) { gap: var(--r24-card-gap) !important; }
.portal-shell :is(.portal-project-card, .portal-plan-card, .portal-list-card, .portal-empty) {
  padding: clamp(14px, 1.5vw, 20px) !important;
  border-radius: 14px !important;
}
.portal-shell .portal-list { gap: 10px !important; }
.portal-shell .portal-finance-summary { gap: 10px !important; }
.portal-shell .portal-last-sync { margin-top: clamp(24px, 3vw, 38px) !important; }
.portal-shell .portal-login-card,
.portal-shell .portal-denied { border-radius: 20px !important; }

/* Breakpoint: compact laptop / tablet landscape. */
@media (max-width: 1320px) {
  body:has(.app) .app { grid-template-columns: 190px minmax(0, 1fr) !important; }
  .app .main { padding-inline: clamp(14px, 1.7vw, 24px) !important; }
  .app .main .bm-projects-main { grid-template-columns: minmax(0, 1fr) !important; }
  .app .main .bm-project-detail { position: static !important; }
}
@media (max-width: 1080px) {
  .home-site .home-hero { padding-inline: clamp(22px, 5vw, 56px) !important; }
  .home-site .home-studio-layout,
  .home-site .home-approach-inner { gap: 28px !important; }
  .app .main :is(.kpi-grid, .metrics, .finance-summary-grid, .ops-kpis, .os-compact-stats, .os-monthly-summary) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .app .main .dashboard-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .app .main .os-record-details { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .portal-shell .portal-columns { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 760px) {
  .home-site .home-header { min-height: 68px !important; padding-inline: 16px !important; }
  .home-site .section-shell,
  .home-site .home-footer-main { width: calc(100% - 36px) !important; }
  .home-site .home-hero { padding-inline: 19px !important; gap: 24px !important; }
  .home-site :is(.home-studio, .home-expertise, .home-concepts, .home-approach, .home-spaces) {
    padding-block: 48px !important;
  }
  .home-site :is(.home-studio-layout, .home-approach-inner, .home-section-heading, .home-spaces-heading) {
    gap: 20px !important;
  }
  .home-site .home-capability { padding: 16px !important; }
  .home-site .home-space-card { min-height: 250px !important; padding: 20px !important; }
  .home-site .home-footer-main { grid-template-columns: minmax(0, 1fr) !important; }
  .home-site .home-footer-bottom { flex-wrap: wrap !important; padding-inline: 18px !important; }

  body:has(.app) .app { display: block !important; grid-template-columns: minmax(0, 1fr) !important; }
  .app .sidebar { display: none !important; }
  .app .main { padding: 14px 12px calc(112px + env(safe-area-inset-bottom)) !important; }
  .app .main > .heading { margin: 0 0 18px !important; gap: 12px !important; }
  .app .main > .heading .btn,
  .app .main > .heading button { max-width: 100%; }
  .app .main > :is(.bm-dashboard-cinema, .bm-scene-hero, .bm-projects-hero, .hero-vnext, .team-hero, .os5-banner) {
    margin-bottom: 18px !important;
    border-radius: 14px !important;
  }
  .app .main > :is(.kpi-grid, .metrics, .finance-summary-grid, .ops-kpis, .os-compact-stats, .os-monthly-summary) {
    gap: 10px !important;
    margin-bottom: 18px !important;
  }
  .app .main > .quick-launch { padding: 12px !important; margin-bottom: 18px !important; }
  .app .main > .panel:not(.os-record-hub):not(.finance-clients):not(.task-hub):not(.team-table):not(.os-monthly-list):not(.bm-dash-projects),
  .app .main .dashboard-grid > .panel { padding: 16px !important; }
  .app .main :is(.panel, .os-record-hub, .finance-clients, .os-monthly-list, .task-hub, .team-table, .os-record-secondary, .os-extras, .task-secondary-tool) {
    margin-bottom: 16px !important;
  }
  .app .main .os-record-toolbar { padding: 12px !important; }
  .app .main .os-record-topline { padding: 14px 12px 10px !important; }
  .app .main .os-record-list { padding-inline: 8px !important; }
  .app .main .os-record-summary { padding: 10px !important; }
  .app .main .os-record-details,
  .app .main .os-record-money-row { grid-template-columns: minmax(0, 1fr) !important; }
  .app .main .os-record-end { gap: 8px !important; }
  .app .main :is(.toolbar, .os-record-toolbar, .panel-head, .task-filter-bar) { align-items: stretch !important; }
  .app .main .toolbar > .field,
  .app .main .os-record-field,
  .app .main .os-record-field.os-record-search { flex: 1 1 100% !important; max-width: none !important; min-width: 0 !important; }
  .app .main .os-record-refresh { width: 100%; }
  .app .main .table-wrap { margin-inline: 0 !important; }
  .app .main .modal-back { align-items: flex-end !important; padding: 8px !important; }
  .app .main .modal { width: 100% !important; max-height: calc(94svh - env(safe-area-inset-bottom)) !important; padding: 18px !important; border-radius: 18px 18px 12px 12px !important; }
  .app .main .modal-footer > * { flex: 1 1 auto; }

  .portal-shell .portal-header { min-height: 66px; height: auto !important; padding: 10px 16px !important; }
  .portal-shell .portal-main { width: calc(100% - 28px) !important; padding-block: 20px 38px !important; }
  .portal-shell .portal-welcome { padding: 22px 18px !important; gap: 18px !important; border-radius: 15px !important; }
  .portal-shell .portal-metrics { gap: 9px !important; margin: 12px 0 24px !important; }
  .portal-shell .portal-metrics article { padding: 14px 12px !important; }
  .portal-shell .portal-section { margin-block: 24px !important; }
  .portal-shell .portal-section-heading { align-items: center !important; }
  .portal-shell .portal-project-grid,
  .portal-shell .portal-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .portal-shell .portal-list-card { align-items: flex-start !important; }
}
@media (max-width: 520px) {
  .home-site .home-space-cards { grid-template-columns: minmax(0, 1fr) !important; }
  .home-site .home-space-card { min-height: 225px !important; }
  .home-site .home-hero-actions { flex-wrap: wrap !important; }
  .home-site .home-hero-actions > * { max-width: 100%; }
  .app .main :is(.kpi-grid, .metrics, .finance-summary-grid, .ops-kpis, .os-compact-stats, .os-monthly-summary) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .app .main .kpi-card { min-height: 112px !important; padding: 14px 12px !important; }
  .app .main .kpi-card > strong { font-size: clamp(24px, 8vw, 32px) !important; }
  .app .main .os-record-summary { align-items: flex-start !important; }
  .app .main .os-record-state { max-width: 100% !important; justify-content: flex-start !important; }
  .app .main .os-record-end { flex-wrap: wrap !important; justify-content: flex-start !important; }
  .app .main .bm-project-gallery { grid-template-columns: minmax(0, 1fr) !important; }
  .app .main .bm-projects-hero h1 { font-size: clamp(34px, 10vw, 44px) !important; }
  .app .main .team-actions { flex-wrap: wrap !important; }
  .app .main .team-actions > * { flex: 1 1 auto; }
  .portal-shell .portal-brand { gap: 8px !important; letter-spacing: .07em !important; }
  .portal-shell .portal-brand img { width: 32px !important; height: 32px !important; }
  .portal-shell .portal-header :is(.portal-team-link, .portal-logout) { padding: 9px 10px !important; font-size: 11px !important; }
  .portal-shell .portal-project-grid,
  .portal-shell .portal-plan-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .portal-shell .portal-list-card { flex-direction: column !important; gap: 12px !important; }
  .portal-shell .portal-card-actions { align-items: flex-start !important; flex-direction: row !important; flex-wrap: wrap !important; }
}
@media (max-width: 370px) {
  .home-site .home-header { padding-inline: 12px !important; }
  .home-site .section-shell,
  .home-site .home-footer-main { width: calc(100% - 28px) !important; }
  .app .main { padding-inline: 10px !important; }
  .app .main :is(.kpi-grid, .metrics, .finance-summary-grid, .ops-kpis, .os-compact-stats, .os-monthly-summary) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .app .main > .quick-launch { align-items: stretch !important; }
  .app .main .quick-launch > div { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; width: 100%; }
  .portal-shell .portal-main { width: calc(100% - 22px) !important; }
  .portal-shell .portal-metrics { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (prefers-reduced-motion: reduce) {
  .home-site *, .app *, .portal-shell *,
  .home-site *::before, .app *::before, .portal-shell *::before,
  .home-site *::after, .app *::after, .portal-shell *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}


/* source: /css/pages/access-simplified-r25.css */
/* R25 — Plain-language access management. Keeps existing data and role controls intact. */
.team-quick-help { margin: 18px 0; padding: clamp(18px, 2.5vw, 26px); }
.team-quick-help h2 { margin: 7px 0 5px; font-size: clamp(19px, 2vw, 25px); }
.team-quick-help > div:first-child > p { margin: 0; color: var(--color-muted); font-size: 13px; line-height: 1.6; }
.team-quick-help-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.team-quick-help-grid article { min-width: 0; padding: 14px 15px; border: 1px solid var(--color-line); border-radius: 10px 10px 10px 3px; background: var(--color-surface); }
.team-quick-help-grid article strong { display: block; margin-bottom: 5px; color: var(--color-ink); font-size: 13px; }
.team-quick-help-grid article p { margin: 0; color: var(--color-muted); font-size: 12px; line-height: 1.6; }
.team-create-accordion > summary { font-weight: 750; }
.os-record-actions [data-client-portal], .os-record-actions [data-client-portal-reset], .os-record-actions [data-client-portal-revoke] { min-height: 40px; }
.os-record-actions [data-client-portal-reset] { border-color: rgba(216,32,39,.3); }
html[data-theme="dark"] .team-quick-help-grid article { background: #29282a; border-color: #464447; }
html[data-theme="dark"] .team-quick-help-grid article strong { color: var(--color-ink); }
@media (max-width: 760px) {
  .team-quick-help-grid { grid-template-columns: minmax(0, 1fr); }
  .team-quick-help { padding: 17px; }
}

/* R26 — Final contrast guard: dashboard actions and financial figures in both themes.
   Keep every button label readable even when nested children carry legacy colors. */
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(button,.btn,[role="button"]) {
  color:#f7f8fb!important;
  -webkit-text-fill-color:#f7f8fb!important;
  border-color:#687487!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(button,.btn,[role="button"]) :is(span,strong,b,small,em,label) {
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.btn.primary,button.primary,.bm-r9-primary,[role="button"].primary) {
  background:#d82027!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#f04452!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.btn.primary,button.primary,.bm-r9-primary,[role="button"].primary) :is(span,strong,b,small,em,label) {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats,.kpi-grid,.dashboard-grid,.pulse-panel,.insight-finances,.finance-contract,.finance-contract-metrics,.finance-clients,.os-finance-client,.os-amount,.os-record-money-row,.os-record-balance,.finance-payment-history,.finance-overpayment,.finance-progress-copy,.table) :is(strong,b,em,span,p,small,td,dd) {
  color:#f3f5fa!important;
  -webkit-text-fill-color:#f3f5fa!important;
  opacity:1!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats,.kpi-grid,.dashboard-grid,.pulse-panel,.insight-finances,.finance-contract,.finance-contract-metrics,.finance-clients,.os-finance-client,.os-amount,.os-record-money-row,.os-record-balance,.finance-payment-history,.finance-overpayment,.finance-progress-copy,.table) :is(small,p,.muted,.finance-subtitle,.os-record-meta,.table-subline) {
  color:#c3ccda!important;
  -webkit-text-fill-color:#c3ccda!important;
  opacity:1!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.positive,.money-positive,.pill.green,.os-record-status.green) {
  color:#63dda0!important;
  -webkit-text-fill-color:#63dda0!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.negative,.money-negative,.finance-due,.pill.red,.os-record-status.red) {
  color:#ff8c9a!important;
  -webkit-text-fill-color:#ff8c9a!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(button,.btn,[role="button"]) {
  color:#263141!important;
  -webkit-text-fill-color:#263141!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(button,.btn,[role="button"]) :is(span,strong,b,small,em,label) {
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.btn.primary,button.primary,.bm-r9-primary,[role="button"].primary) {
  background:#d82027!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#b91c35!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.btn.primary,button.primary,.bm-r9-primary,[role="button"].primary) :is(span,strong,b,small,em,label) {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats,.kpi-grid,.dashboard-grid,.pulse-panel,.insight-finances,.finance-contract,.finance-contract-metrics,.finance-clients,.os-finance-client,.os-amount,.os-record-money-row,.os-record-balance,.finance-payment-history,.finance-overpayment,.finance-progress-copy,.table) :is(strong,b,em,span,p,small,td,dd) {
  color:#202631!important;
  -webkit-text-fill-color:#202631!important;
  opacity:1!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.finance-summary-grid,.metrics,.ops-kpis,.os-monthly-summary,.os-compact-stats,.kpi-grid,.dashboard-grid,.pulse-panel,.insight-finances,.finance-contract,.finance-contract-metrics,.finance-clients,.os-finance-client,.os-amount,.os-record-money-row,.os-record-balance,.finance-payment-history,.finance-overpayment,.finance-progress-copy,.table) :is(small,p,.muted,.finance-subtitle,.os-record-meta,.table-subline) {
  color:#596576!important;
  -webkit-text-fill-color:#596576!important;
  opacity:1!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.positive,.money-positive,.pill.green,.os-record-status.green) {
  color:#16734a!important;
  -webkit-text-fill-color:#16734a!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.negative,.money-negative,.finance-due,.pill.red,.os-record-status.red) {
  color:#b42336!important;
  -webkit-text-fill-color:#b42336!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.btn.danger,button.danger,[role="button"].danger) {
  background:#9f2434!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#f17a88!important;
}
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.btn.danger,button.danger,[role="button"].danger) {
  background:#b42336!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:#8f1d2c!important;
}
html[data-theme="dark"] body:not(.home-site):has(.app) .app .main :is(.btn.danger,button.danger,[role="button"].danger) :is(span,strong,b,small,em,label),
html[data-theme="light"] body:not(.home-site):has(.app) .app .main :is(.btn.danger,button.danger,[role="button"].danger) :is(span,strong,b,small,em,label) {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
