/* A case occupies the same available viewport used by section alignment.
   Long content and expanded details keep their natural document height. */
body:is([data-r113-page="home"],[data-r113-page="works"]) #case-studies.r93-cases[data-r93-cases][data-r103-section] {
  box-sizing:border-box;
  min-height:calc(100vh - var(--r103-header-space, calc(var(--r66-header-height, 70px) + 12px)) - 12px);
  min-height:calc(100dvh - var(--r103-header-space, calc(var(--r66-header-height, 70px) + 12px)) - 12px);
  height:auto;
  max-height:none;
  background:#fff;
}

/* Continue the light website surface through its navigation and legal footer. */
body > footer.footer {
  background:#fff;
  color:#302240;
  border-top:1px solid #e4dcf0;
  padding:28px var(--gutter, 4vw) 20px;
  gap:24px;
}
body > footer.footer .footer-logo {
  color:#302240;
  font-size:clamp(36px, 4vw, 58px);
}
body > footer.footer p { color:#73617f; font-size:14px; margin-top:12px; }
body > footer.footer nav a { color:#59446e; }
body > footer.footer nav a:hover { color:#6841bf; }
body > footer.footer a:focus-visible { outline:2px solid #7651c5; outline-offset:5px; border-radius:3px; }
body > footer.footer > small,
body > footer.footer .r46-site-legal { border-top-color:#e4dcf0; padding-top:18px; }
body > footer.footer > small,
body > footer.footer .r46-copyright,
body > footer.footer .r46-icp-label { color:#73617f; }
body > footer.footer .r46-icp-link { color:#59446e; }
@media(max-width:760px) {
  body > footer.footer { padding:22px 22px 18px; gap:18px; }
  body > footer.footer .footer-logo { font-size:40px; }
}


/* Works: a compact editorial masthead, with the illustration as a supporting detail. */
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading:has(>.r144-story) {
  grid-template-columns:minmax(0,1fr) minmax(0,360px);
  grid-template-rows:auto;
  grid-template-areas:"intro illustration";
  align-items:center;
  gap:24px 40px;
  width:calc(100% - 2 * max(20px,4vw));
  max-width:1600px;
  min-height:0;
  margin:24px auto 20px;
  padding:0 0 22px;
  border-bottom:1px solid #e8e2ee;
}
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading > div:not(.r148-edge-dock) {
  align-self:center;
}
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading h1 {
  margin:8px 0 14px;
  font-size:clamp(32px,3.5vw,48px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.04em;
  color:#29213c;
}
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading > div:not(.r148-edge-dock) > p:not(.r69-kicker) {
  max-width:46em;
  margin:0;
  font-size:14px;
  line-height:1.75;
  color:#786b86;
}
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading .r69-kicker {
  display:block;
  margin:0;
  color:#786b86;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.16em;
}
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading > .r144-story {
  width:100%;
  max-width:360px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading .r144-story-labels { font-size:11px; margin-top:4px; }
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading .r144-story-labels > li { font-size:11px; font-weight:500; }
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading .r144-story-caption { margin-top:10px; gap:8px; }
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading .r144-story-caption > p { flex:1 1 180px; font-size:11px; line-height:1.6; }
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading .r144-story-caption > button { min-height:32px; padding:5px 9px; font-size:11px; border-color:#e4ddec; background:#fff; }
/* Remove the redundant decorative handoff row, leaving the scene's own playback control. */
html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading > .r148-edge-dock,
html[data-r158-portfolio] body[data-r113-page="works"] #portfolio-browser > .r148-edge-dock { display:none; }

/* Filters form one coherent bar. Their original owners retain all selection and scrolling logic. */
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser { margin-top:0; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser > .r116-showcase { gap:14px; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-head { gap:8px 16px; align-items:baseline; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-head > h2 { font-size:26px!important; font-weight:650; line-height:1.3!important; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-head > p { color:#786b86; font-size:12px; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar {
  padding:12px 14px;
  border:1px solid #e8e2ee;
  border-radius:14px;
  background:#fcfbfd;
  gap:12px 20px;
  box-sizing:border-box;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar > .r158-filter[data-r158-contract="video-audience"] {
  width:auto;
  max-width:100%;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="audience"] .r158-pill-rail {
  display:flex;
  flex:0 1 auto;
  width:auto;
  gap:3px;
  padding:3px;
  border:1px solid #eee8f3;
  border-radius:10px;
  background:#f3eff7;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="audience"] .r158-pill {
  min-height:36px;
  padding:7px 14px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  box-shadow:none;
  font-size:12px;
  font-weight:500;
  color:#71617d;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="audience"] .r158-pill[aria-pressed="true"] {
  color:#54317c;
  border-color:#e8deef;
  background:#fff;
  box-shadow:0 1px 3px #3a24480a;
  font-weight:650;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar .r158-filter-label { font-size:11px; color:#786b86; font-weight:500; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="type"] > .r158-filter-controls { grid-template-columns:36px minmax(0,1fr) 36px; gap:7px; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="type"] .r158-pill-rail { gap:7px; scrollbar-width:none; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="type"] .r158-pill-rail::-webkit-scrollbar { display:none; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="type"] .r158-pill {
  min-height:36px;
  padding:7px 13px;
  border-color:#e7dfef;
  background:#fff;
  color:#796588;
  font-size:12px;
  font-weight:500;
  box-shadow:none;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="type"] .r158-pill[aria-pressed="true"] {
  border-color:#63418b;
  background:#63418b;
  color:#fff;
  font-weight:600;
  box-shadow:none;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar :is(.r158-scroll-prev,.r158-scroll-next) {
  min-width:36px;
  width:36px;
  min-height:36px;
  padding:5px;
  border:1px solid #e7dfef;
  border-radius:50%;
  background:#fff;
  color:#77558f;
  font-size:18px;
}
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar > .r116-controls { gap:6px; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-controls button { min-width:36px; min-height:36px; padding:7px 10px; border-radius:8px; font-size:13px; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-controls output { min-width:52px; margin-right:8px; color:#786b86; font-size:11px; }
html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-controls [data-r116-next] { background:#63418b; border-color:#63418b; }
@media(max-width:900px) {
  html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading:has(>.r144-story) { grid-template-columns:minmax(0,1fr) minmax(0,280px); gap:20px; }
}
@media(max-width:700px) {
  html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading:has(>.r144-story) {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"intro" "illustration";
    gap:16px;
    margin:20px auto 18px;
    padding-bottom:18px;
  }
  html[data-r158-portfolio] body[data-r113-page="works"] #featured-works.r74-works-heading > .r144-story { justify-self:start; width:100%; max-width:360px; }
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar { padding:10px; gap:10px; }
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar > .r158-filter[data-r158-contract="video-audience"] { width:100%; }
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="audience"] .r158-pill-rail { width:100%; }
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="audience"] .r158-pill { flex:1 1 0; min-height:44px; padding:7px; }
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="type"] .r158-pill { min-height:44px; }
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar [data-r158-kind="type"] > .r158-filter-controls { grid-template-columns:44px minmax(0,1fr) 44px; }
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-toolbar :is(.r158-scroll-prev,.r158-scroll-next),
  html[data-r158-portfolio] body[data-r116-ready="true"] #portfolio-browser .r116-controls button { width:auto; min-width:44px; min-height:44px; }
}


/* R173 service catalogue: reserve space for the actual sample and its reading.
   These limits apply to media only; panels and expanded details grow naturally. */
body[data-r113-page="services"] #main.r55-services-page .r103-service-unit {
  height:auto;
  max-height:none;
  overflow:visible;
}
body[data-r113-page="services"] #main.r55-services-page .r103-service-unit > header.r77-service-heading:has(> .r144-story) {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,320px);
  grid-template-rows:auto;
  align-items:center;
  gap:10px 24px;
  margin:14px 0 12px;
}
body[data-r113-page="services"] #main.r55-services-page .r103-service-unit > header.r77-service-heading > div {
  grid-column:1;
  grid-row:1;
  min-width:0;
}
body[data-r113-page="services"] #main.r55-services-page .r77-service-heading h2 {
  margin:0 0 6px;
  font-size:clamp(24px,2.1vw,30px);
  line-height:1.3;
}
body[data-r113-page="services"] #main.r55-services-page .r77-service-heading > div > p {
  max-width:52em;
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:#62516f;
}
body[data-r113-page="services"] #main.r55-services-page .r103-service-unit > header.r77-service-heading > .r144-story {
  grid-column:2;
  grid-row:1;
  width:100%;
  max-width:320px;
  justify-self:end;
  margin:0;
  padding:6px 8px;
}
body[data-r113-page="services"] #main.r55-services-page .r77-service-heading .r144-story-labels {
  gap:4px;
  padding-inline:0;
}
body[data-r113-page="services"] #main.r55-services-page .r77-service-heading .r144-story-labels > li {
  font-size:11px;
  line-height:1.4;
  color:#62516f;
}
body[data-r113-page="services"] #main.r55-services-page .r77-service-heading .r144-story-caption {
  margin-top:4px;
  gap:4px 6px;
}
body[data-r113-page="services"] #main.r55-services-page .r77-service-heading .r144-story[data-r144-story] > .r144-story-caption > p {
  flex:1 1 170px;
  font-size:12px;
  line-height:1.45;
  color:#62516f;
}
body[data-r113-page="services"] #main.r55-services-page .r77-service-heading .r144-story-caption > button {
  min-height:32px;
  padding:5px 9px;
  font-size:12px;
  color:#624889;
}
body[data-r113-page="services"] #content-services.r69-service-showcase {
  --r173-service-media-max:clamp(180px,calc(100svh - var(--r103-header-space,100px) - 290px),400px);
  height:auto;
  max-height:none;
  overflow:visible;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r69-tabs {
  margin-bottom:10px;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r69-tabs > a {
  min-height:44px;
  padding:8px 10px;
  gap:6px;
  font-size:14px;
  line-height:1.45;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-stage,
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-panel,
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-reading,
body[data-r113-page="services"] #content-services.r69-service-showcase .r141-service-more,
body[data-r113-page="services"] #content-services.r69-service-showcase .r77-service-detail {
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-panel {
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  align-items:start;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-visual {
  padding:12px;
  min-width:0;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-wide-media > video {
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:var(--r173-service-media-max);
  object-fit:contain;
  margin-inline:auto;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-paired-media :is(video,img),
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-paper-media img {
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:min(280px,var(--r173-service-media-max));
  object-fit:contain;
  margin-inline:auto;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-visual > figcaption {
  margin-top:5px;
  font-size:12px;
  line-height:1.45;
  color:#62516f;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-reading {
  padding:14px 18px;
  gap:6px;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-reading > h2 {
  font-size:clamp(22px,1.8vw,27px);
  line-height:1.3;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-reading > p:not(.r55-kicker) {
  font-size:14px;
  line-height:1.6;
  color:#62516f;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-reading > .r136-service-explainer {
  margin-top:2px;
  padding-top:8px;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r136-service-explainer > ol > li > svg:is(.r136-service-illustration,.r134-delivery-object) {
  max-width:96px;
  height:auto;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r136-service-explainer > ol > li,
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-kicker,
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-paired-media > div > span,
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-sample-note,
body[data-r113-page="services"] #content-services.r69-service-showcase .r55-catalogue-note,
body[data-r113-page="services"] #content-services.r69-service-showcase .r77-service-detail dd {
  color:#62516f;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r114-writing-card {
  grid-template-columns:82px minmax(0,1fr);
  gap:10px;
  padding:9px;
}
body[data-r113-page="services"] #content-services.r69-service-showcase .r114-writing-card > img {
  max-width:82px;
}

/* Keep related service explanations compact without shortening their copy. */
html[data-r153-layout] body[data-r113-page="services"] .r55-extensions[data-r156-extensions] {
  margin-top:20px;
  gap:14px;
}
html[data-r153-layout] body[data-r113-page="services"] .r55-extension[data-r153-compact][data-r156-compact] .r134-image-canvas {
  max-width:280px;
}
html[data-r153-layout] body[data-r113-page="services"] .r55-extension[data-r153-compact][data-r156-compact] :is(.r134-key small,.r134-explainer-note,.r148-dock-copy) {
  color:#62516f;
}
html[data-r153-layout] body[data-r113-page="services"] .r55-extension[data-r153-compact][data-r156-compact] > .r153-extension-more {
  height:auto;
  max-height:none;
  overflow:visible;
}
body[data-r113-page="services"] #pricing.r77-pricing .r77-price-grid {
  gap:12px;
  height:auto;
  max-height:none;
  overflow:visible;
}
body[data-r113-page="services"] #pricing.r77-pricing :is(.r77-price-card p,[data-r77-currency-basis],.r136-card-status,.r152-sample-label,.r152-sample-grid figcaption) {
  color:#62516f;
}
body[data-r113-page="services"] #cooperation.r77-cooperation {
  margin:22px 0;
  padding:20px 0;
  height:auto;
  max-height:none;
}
body[data-r113-page="services"] #cooperation .r77-delivery-flow {
  gap:12px;
}
body[data-r113-page="services"] #cooperation .r77-delivery-step {
  padding:16px;
}
body[data-r113-page="services"] #cooperation .r136-cooperation-illustration svg {
  max-width:128px;
  height:auto;
}
body[data-r113-page="services"] #cooperation :is(.r77-delivery-step > p,.r77-terms dd,.r148-dock-copy) {
  color:#62516f;
}
body[data-r113-page="services"] #cooperation .r77-terms {
  margin-top:14px;
  height:auto;
  max-height:none;
  overflow:visible;
}

@media(min-width:1600px) {
  body[data-r113-page="services"] #main.r55-services-page .r103-service-unit > header.r77-service-heading:has(> .r144-story) {
    grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  }
  body[data-r113-page="services"] #main.r55-services-page .r103-service-unit > header.r77-service-heading > .r144-story {
    max-width:420px;
  }
}
@media(max-width:760px) {
  body[data-r113-page="services"] #main.r55-services-page .r103-service-unit > header.r77-service-heading:has(> .r144-story) {
    grid-template-columns:minmax(0,1fr);
    gap:10px;
    margin-top:12px;
  }
  body[data-r113-page="services"] #main.r55-services-page .r103-service-unit > header.r77-service-heading > .r144-story {
    grid-column:1;
    grid-row:2;
    justify-self:start;
    max-width:320px;
  }
  body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-panel {
    grid-template-columns:minmax(0,1fr);
  }
  body[data-r113-page="services"] #content-services.r69-service-showcase .r55-wide-media > video {
    width:100%;
    max-height:none;
  }
  body[data-r113-page="services"] #content-services.r69-service-showcase .r55-paired-media :is(video,img),
  body[data-r113-page="services"] #content-services.r69-service-showcase .r55-paper-media img {
    max-height:280px;
  }
  body[data-r113-page="services"] #content-services.r69-service-showcase .r55-service-reading {
    padding:14px;
  }
  body[data-r113-page="services"] #content-services.r69-service-showcase .r69-tabs > a {
    font-size:13px;
    min-height:44px;
    padding:8px 6px;
  }
  html[data-r153-layout] body[data-r113-page="services"] .r55-extension[data-r153-compact][data-r156-compact] .r134-image-canvas {
    max-width:240px;
  }
}
