* { box-sizing: border-box; }
html { margin:0; background:var(--color-paper); color:var(--color-ink); }
body { margin:0; font-family:var(--font-regular); }
button,a { -webkit-tap-highlight-color:transparent; }
button { font:inherit; }
a[href],button,[role="button"],#page-outlet a[href],#page-outlet [role="button"] { cursor:pointer; }
#page-outlet { width:100%; }
#page-outlet [data-component="Header"] { z-index:20; }
.brand-logo { display:block; position:relative; width:54px; height:54px; }
.primary-navigation { display:flex; align-items:center; gap:16px; }
.navigation-link { display:flex; align-items:center; justify-content:center; height:48px; padding:0 16px; border:0; box-shadow:inset 0 0 0 1px var(--color-tag); border-radius:var(--radius-button); background:var(--color-surface); color:var(--color-ink); text-decoration:none; font:400 17px/1 var(--font-regular); letter-spacing:-.01em; transition:background var(--motion-fast) var(--motion-navigation-ease),color var(--motion-fast) var(--motion-navigation-ease); }
.navigation-link[aria-current=page] { background:var(--color-brand); color:white; border-color:var(--color-brand); }
.navigation-link:not([aria-current]):hover { background:var(--color-brand-soft); color:var(--color-brand-dark); }
.navigation-link:not([aria-current]):active { background:var(--color-brand-hover); color:var(--color-brand); }
:focus-visible { outline:3px solid var(--color-brand); outline-offset:5px; }
.site-footer :focus-visible { outline-color:var(--color-yellow); }
.footer-link:hover { --variable-reference-hfFqIl3lI-rUwjDAYvf:var(--color-brand-hover); }
.footer-link:hover p { color:var(--color-brand-hover) !important; }
.footer-link:active p { color:#6d6fed !important; }
.footer-link p { transition:color var(--motion-card) var(--motion-ease); }
.skip-link { position:fixed; left:16px; top:8px; z-index:2000; transform:translateY(-200%); padding:12px 16px; background:white; color:var(--color-brand-dark); border:2px solid var(--color-brand); border-radius:4px; }
.skip-link:focus { transform:none; }
.motion-toggle { position:fixed; right:12px; bottom:12px; z-index:1000; border:1px solid #dadbfa; border-radius:100px; padding:9px 12px; background:rgba(255,255,255,.94); color:var(--color-brand-dark); font:400 12px/1.3 var(--font-regular); cursor:pointer; box-shadow:0 1px 6px #0001; }
.motion-toggle[hidden] { display:none; }
.project-card .framer-jai51v { pointer-events:none; backdrop-filter:blur(16px); background:rgba(255,255,255,.5); opacity:0; transition:opacity var(--motion-card) var(--motion-ease); }
.project-card.framer-v-mbrc59 .framer-jai51v { background:rgba(255,255,255,.01); }
.project-card.hover .framer-jai51v { opacity:1; }
.project-card.hover [data-framer-name="Pills"] > div { background-color:#e6e6e6 !important; }
.project-card [data-framer-name="Pills"] > div { transition:background-color var(--motion-card) var(--motion-ease); }
.project-card .framer-1dj1fas-container,.project-card .framer-1s6aan3 { transition:width var(--motion-card) var(--motion-ease),height var(--motion-card) var(--motion-ease),left var(--motion-card) var(--motion-ease),top var(--motion-card) var(--motion-ease),bottom var(--motion-card) var(--motion-ease),right var(--motion-card) var(--motion-ease); }
.framer-69KH0 { transition:background-color 500ms var(--motion-study-ease); }
.framer-69KH0 > * { transition:top 500ms var(--motion-study-ease),bottom 500ms var(--motion-study-ease),left 500ms var(--motion-study-ease),right 500ms var(--motion-study-ease); }
/* Numeric endpoints preserve the source's layout animation through this rise. */
.framer-69KH0.framer-v-iivvy6:is(.hover,.pressed) .framer-1isdcvq { top:calc(100% - 175px); bottom:auto; }
.framer-69KH0.pressed { background-color:var(--color-brand-hover) !important; }
.framer-69KH0 [data-framer-name="Eva Icons Expand Outline 1"] { transition:opacity 500ms var(--motion-study-ease); }
:is(.page-elsevier,.page-squla,.page-gloop) .framer-69KH0:is(.hover,.pressed,:focus-visible) [data-framer-name="Eva Icons Expand Outline 1"] { opacity:1 !important; }
.layer-health-professionals-1jhsfr6 > p,.layer-grades-6-8-gttnlc > p,
.page-motion-system [data-framer-name$=" MS"] > p { color:var(--color-muted-text) !important; }
.page-elsevier .framer-8bw3wb,.page-squla .framer-1mqmk8t { opacity:1 !important; }
.page-elsevier .framer-8bw3wb > :not(.layer-health-professionals-1jhsfr6),
.page-squla .framer-1mqmk8t > :not(.layer-grades-6-8-gttnlc) { opacity:.4; }
.study-dialog { border:0; padding:0; background:white; color:black; border-radius:16px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; }
.study-dialog::backdrop { background:rgba(0,0,0,.8); }
.study-dialog [data-modal-panel] { position:relative !important; inset:auto !important; transform:none !important; margin:0; }
.study-dialog [data-modal-close] { cursor:pointer; z-index:5; }
.study-dialog .framer--carousel { scrollbar-width:none; }
.study-dialog .framer--carousel::-webkit-scrollbar { display:none; }
.study-dialog .framer--carousel-controls button:disabled { opacity:0 !important; pointer-events:none !important; }
.study-dialog .framer--carousel-controls button:not(:disabled) { opacity:1 !important; pointer-events:auto !important; }
.modal-mobile-close { display:none; }
.modal-mobile-close.modal-fallback-close { display:grid; place-items:center; position:sticky; left:calc(100% - 56px); top:8px; margin-bottom:-44px; width:44px; height:44px; background:white; border:1px solid #333; border-radius:50%; z-index:10; font-size:24px; }
.responsive-modal-media { padding:64px 16px 20px; width:100%; }
.responsive-modal-media h2 { margin:0 0 20px; font:400 28px/1.2 var(--font-book); letter-spacing:-.03em; color:var(--color-brand); }
.responsive-modal-media img,.responsive-modal-media video { display:block; width:100%; height:auto; max-height:calc(100dvh - 180px); object-fit:contain; }
.responsive-modal-media .modal-slides { display:flex; overflow:auto; scroll-snap-type:x mandatory; }
.responsive-modal-media .modal-slides > * { flex:0 0 100%; scroll-snap-align:start; }
.modal-image-slide { width:100%; min-width:0; overflow:auto; }
.modal-image-slide.full-size { max-height:calc(100dvh - 300px); }
.modal-image-slide.full-size img { max-width:none; max-height:none; }
.modal-slide-controls,.modal-zoom-controls { display:flex; gap:8px; justify-content:center; padding:12px; position:sticky; left:0; bottom:0; background:rgba(255,255,255,.96); z-index:6; }
.modal-slide-controls button,.modal-zoom-controls button { min-height:44px; padding:8px 16px; border:1px solid var(--color-brand-soft); border-radius:4px; color:var(--color-brand-dark); background:var(--color-surface); cursor:pointer; }
.modal-slide-controls button:disabled,.modal-zoom-controls button:disabled { opacity:.4; }
html:has(.study-dialog[open]) { overflow:hidden; }
/* Approved correction: keep the media composition and reveal the clipped phone captions. */
@media (width < 810px) {
  #page-outlet [data-framer-component-type="RichTextContainer"],
  #page-outlet div:has(> [data-framer-component-type="RichTextContainer"]) { max-width:100%; }
  .page-home [data-framer-name="1st row"], .page-home [data-framer-name="2nd row"], .page-home [data-framer-name="3rd row"] { height:auto !important; }
  .page-home [data-framer-name="Case studies"] { height:auto !important; }
  .page-home [class$="-container"]:has(> .project-card) { height:auto !important; aspect-ratio:auto !important; }
  .page-home .project-card { height:auto !important; overflow:visible; }
  .page-home .project-card > .framer-1s6aan3 { position:relative; inset:auto; }
  .page-home .project-card .framer-1dj1fas-container { position:relative; width:100%; height:auto; aspect-ratio:1.23636/.74; left:auto; top:auto; }
  .page-home .project-card .framer-y8w518 { position:relative; top:auto; left:auto; width:100%; padding:24px 0 0; }
  .page-home .project-card [data-framer-name="Text"] { width:100%; }
  .page-home .project-card .framer-jai51v { display:none; }
  .page-home .project-card [data-framer-name="Pills"] { flex-wrap:wrap; width:100%; }
  .page-gloop .layer-dynamic-elements-over-scrolling-1na3735,
  .page-gloop .layer-dynamic-elements-over-scrolling-u6412a { white-space:normal; height:auto; }
  .page-gloop .layer-dynamic-elements-over-scrolling-1na3735 p,
  .page-gloop .layer-dynamic-elements-over-scrolling-u6412a p { white-space:normal; }
  .page-motion-system .framer-1d2umco { width:100%; max-width:100%; overflow-x:auto; }
  .study-dialog { margin:auto; }
  .modal-mobile-close { display:grid; place-items:center; position:sticky; left:calc(100% - 56px); top:8px; margin-bottom:-44px; width:44px; height:44px; background:white; border:1px solid #333; border-radius:50%; z-index:10; font-size:24px; }
  .study-dialog [data-modal-panel] { border-radius:0; }
  .page-about .framer-mbffid { flex-direction:column; }
  .page-about .framer-mbffid > div { width:100%; justify-content:center; }
  .page-about .framer-17gxlow { max-width:calc(100% - 24px); }
}
/* The authored About hero uses a desktop-width text canvas even on small screens.
   Preserve the portrait and type, and let the biography and facts reflow. */
@media (width < 1200px) {
  .page-about .layer-hero-ehlpzv { height:auto; overflow:hidden; }
  .page-about .framer-nh7nan { display:flex; flex-direction:column; align-items:center; gap:24px; width:100%; height:auto; padding:224px 24px 0; }
  .page-about .layer-realistic-portrait-goncalo-1-r8jyne { left:calc(50% - 108px); top:-24px; }
  .page-about .framer-3jq0a3 { position:relative; inset:auto; transform:none !important; width:100%; }
  .page-about .framer-mbffid { position:relative; inset:auto; transform:none; flex-wrap:wrap; justify-content:center; width:100%; gap:16px 24px; }
  .page-about .framer-mbffid > div { max-width:100%; }
  .page-about .framer-17gxlow { width:auto; white-space:normal; }
  .page-about .framer-17gxlow p { white-space:normal; }
}
.motion-frozen { opacity:0 !important; }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
