﻿/* Shared responsive layer for Cargo-exported pages */

@import url("https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap");

:root {
  --layout-left-pct: 20;
  --layout-right-pct: 80;
  --layout-left: calc(var(--layout-left-pct) * 1%);
  --layout-right: calc(var(--layout-right-pct) * 1%);
  --layout-breakpoint: 900px;
  --fluid-gap: clamp(12px, 1.8vw, 30px);
  --map-center-slideshow-interval-ms: 2000;

  /*
    Proportional scaling model:
    - Design canvas width: 2560px (your 27" design baseline)
    - Non-mobile widths always use proportional downscaling
    - Mobile uses stack layout switch handled by JS/CSS
  */
  --design-canvas-width: 2560;
  --desktop-proportional-base-size: 18.3072005859375px;
}

/*
  Full-page proportional scale for all non-mobile split layout:
  - Active whenever layout is split (>= mobile breakpoint)
  - Scales from design-canvas-width (2560) down as viewport gets narrower
  - Mobile stack mode (<900) does not use this scaling
*/
@media (min-width: 900px) {
  html[data-layout-resolved="split"] {
    --desktop-uniform-scale: min(1, calc(100vw / (var(--design-canvas-width) * 1px)));
    /*
      Compensate height while zooming:
      visual_height = layout_height * scale
      => layout_height should be viewport / scale
    */
    --viewport-height: calc(100vh / var(--desktop-uniform-scale)) !important;
    --min-viewport-height: calc(100vh / var(--desktop-uniform-scale)) !important;
  }

  html[data-layout-resolved="split"] body {
    zoom: var(--desktop-uniform-scale);
    min-height: var(--viewport-height) !important;
  }

  /*
    Critical fix:
    The left column is a fixed page in Cargo.
    If it keeps legacy fixed heights while body is zoomed, visual height shrinks and
    leaves white space at the bottom. Force compensated viewport height here.
  */
  html[data-layout-resolved="split"] [id="Z2290068486"].page.fixed,
  html[data-layout-resolved="split"] [id="Z2290068486"].page.fixed .page-layout,
  html[data-layout-resolved="split"] [id="Z2290068486"].page.fixed.allow-scroll .page-content {
    height: calc(100vh / var(--desktop-uniform-scale)) !important;
    min-height: calc(100vh / var(--desktop-uniform-scale)) !important;
    max-height: calc(100vh / var(--desktop-uniform-scale)) !important;
  }

  @supports not (zoom: 1) {
    html[data-layout-resolved="split"] body {
      transform: scale(var(--desktop-uniform-scale));
      transform-origin: top left;
      width: calc(100% / var(--desktop-uniform-scale));
      min-height: var(--viewport-height) !important;
    }
  }
}

.paired-emoji-heading .heading-emoji {
  font-size: 1em !important;
  line-height: 1 !important;
  display: inline-block;
  vertical-align: -0.08em;
}

/* Desktop split baseline */
html[data-layout-resolved="split"] [id="Z2290068486"] .page-layout {
  width: var(--layout-left) !important;
  max-width: var(--layout-left) !important;
  flex: 0 0 var(--layout-left) !important;
}

html[data-layout-resolved="split"] [id="E2038875726"] .page-layout {
  width: var(--layout-right) !important;
  max-width: var(--layout-right) !important;
  flex: 0 0 var(--layout-right) !important;
}

/* Mobile stack mode */
html[data-layout-resolved="stack"] .content {
  display: block;
}

html[data-layout-resolved="stack"] [id="Z2290068486"].page.pinned,
html[data-layout-resolved="stack"] [id="Z2290068486"].page.fixed,
html[data-layout-resolved="stack"] [id="Z2290068486"].page.pinned.fixed {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  z-index: auto !important;
}

html[data-layout-resolved="stack"] [id="Z2290068486"].page.fixed .page-layout,
html[data-layout-resolved="stack"] [id="Z2290068486"].page.fixed .page-content,
html[data-layout-resolved="stack"] [id="Z2290068486"].page.fixed.allow-scroll .page-content {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

html[data-layout-resolved="stack"] [id="Z2290068486"] .page-layout,
html[data-layout-resolved="stack"] [id="E2038875726"] .page-layout {
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
}

html[data-layout-resolved="stack"] [id="Z2290068486"] .page-content,
html[data-layout-resolved="stack"] [id="E2038875726"] .page-content {
  padding: var(--fluid-gap) !important;
}

html[data-layout-resolved="stack"] .pages {
  width: 100% !important;
  margin-top: 0 !important;
}

/* Mobile panel switch: show one column at a time */
html[data-layout-resolved="stack"][data-mobile-panel="work"] [id="E2038875726"].page {
  display: none !important;
}

html[data-layout-resolved="stack"][data-mobile-panel="practice"] [id="Z2290068486"].page {
  display: none !important;
}

html[data-layout-resolved="stack"] column-set > column-unit[slot] {
  --column-width: 100% !important;
  --resize-parent-width: 100% !important;
  flex-basis: 100% !important;
  width: 100% !important;
}

/* De-fix common hardcoded Cargo width chains */
[id="Z2290068486"] [style*="--resize-parent-width: 386.8125px"],
[id="Z2290068486"] [style*="--resize-parent-width:386.8125px"],
[id="E2038875726"] [style*="--resize-parent-width: 991.609375px"],
[id="E2038875726"] [style*="--resize-parent-width:991.609375px"],
[style*="--resize-parent-width: 1478.609375px"],
[style*="--resize-parent-width:1478.609375px"] {
  --resize-parent-width: 100% !important;
}

/* Slideshow/Media responsiveness */
gallery-slideshow {
  --slide-height: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

gallery-slideshow > media-item {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  --resize-parent-width: 100% !important;
  --item-width: 100% !important;
  --slide-height: auto !important;
}

gallery-slideshow::part(slide) {
  width: 100% !important;
}

gallery-slideshow::part(slides) {
  --resize-parent-width: 100% !important;
}

media-item {
  max-width: 100% !important;
}

media-item::part(media) {
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
}

/* Title icon normalization: enforce equal rendered height */
:root {
  --title-icon-height-base: clamp(2.6*1rem, 5.2*1vw, 4rem);
}

h1 > media-item[hash="R2100346931384200013622930675656"] {
  width: var(--title-icon-height-base) !important;
  max-width: var(--title-icon-height-base) !important;
  --resize-parent-width: var(--title-icon-height-base) !important;
  display: inline-flex !important;
  vertical-align: -0.06em !important;
  margin-left: 0.16em !important;
}

h1 > media-item[hash="V2100346931550220710286316640200"] {
  width: calc(var(--title-icon-height-base) * 0.64) !important;
  max-width: calc(var(--title-icon-height-base) * 0.64) !important;
  --resize-parent-width: calc(var(--title-icon-height-base) * 0.64) !important;
  display: inline-flex !important;
  vertical-align: -0.06em !important;
  margin-left: 0.16em !important;
}

h1 > media-item[hash="R2100346931384200013622930675656"]::part(media),
h1 > media-item[hash="V2100346931550220710286316640200"]::part(media) {
  object-fit: contain !important;
}

/* Hover map wrapper: remove hard cap that blocks responsive growth */
#img_wrapper {
  width: 100% !important;
  max-height: none !important;
  height: auto !important;
  aspect-ratio: 5 / 2;
}

/* Layout toggle button */
#layout-mode-toggle {
  display: none;
  position: fixed;
  top: 12px;
  right: 12px;
  z-index: 10050;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.9);
  color: rgba(0, 0, 0, 0.82);
  font-family: var(--typo-latin-family, "Atkinson Hyperlegible"), sans-serif;
  font-size: 12px;
  line-height: 1;
  padding: 8px 10px;
  border-radius: 999px;
  cursor: pointer;
  backdrop-filter: blur(6px);
}

#layout-mode-toggle:active {
  opacity: 0.75;
}

/* Project drawer overlay (for the three "see more" links) */
.project-overlay-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20000;
  background: rgba(255, 255, 255, 0.26);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

.project-overlay-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20010;
  width: var(--layout-right, 80vw);
  max-width: 100vw;
  height: 100dvh;
  background: #ffffff;
  box-shadow: -16px 0 42px rgba(0, 0, 0, 0.14);
  transform: translateX(100%);
  transition: transform 260ms ease;
  overflow: visible;
}

.project-overlay-frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #ffffff;
}

.project-overlay-close {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 5;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #000000;
  font-size: 34px;
  font-weight: 400;
  line-height: 1;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.project-overlay-close:active {
  opacity: 0.7;
}

html.project-overlay-open .project-overlay-backdrop {
  opacity: 1;
  pointer-events: auto;
}

html.project-overlay-open .project-overlay-drawer {
  transform: translateX(0);
}

html[data-layout-resolved="stack"] .project-overlay-drawer {
  width: 100vw;
}

/* Global scrollbar style: match namecard-back minimal look */
html,
body,
.page.fixed.allow-scroll .page-content,
.overlay-content,
.project-overlay-drawer {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.page.fixed.allow-scroll .page-content::-webkit-scrollbar,
.overlay-content::-webkit-scrollbar,
.project-overlay-drawer::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/* ==========================================
   Typography Control Center (single source)
   3 levels + 1 caption for all non-main-title text.
   Main titles (My Path / My Practice) are excluded.
   ========================================== */
:root {
  --typo-latin-family: "Atkinson Hyperlegible";
  --typo-uyghur-family: "Noto Sans Old Turkic";

  --typo-h1-size: 4rem;
  --typo-h1-size-mobile: 3.6rem;
  --typo-h1-weight: 400;
  --typo-h1-line: 1;
  --typo-h1-color: rgba(0, 0, 0, 0.75);

  --text-l1-size: 1.55rem;
  --text-l1-weight: 600;
  --text-l1-line: 1.25;
  --text-l1-color: rgba(0, 0, 0, 0.75);

  --text-l2-size: 1.15rem;
  --text-l2-weight: 450;
  --text-l2-line: 1.4;
  --text-l2-color: rgba(0, 0, 0, 0.75);

  --text-l3-size: 1rem;
  --text-l3-weight: 400;
  --text-l3-line: 1.5;
  --text-l3-color: rgba(0, 0, 0, 0.75);

  /* Large body copy: for long-form readable text blocks (esp. project overlays) */
  --text-body-lg-size: 2.66rem;
  --text-body-lg-weight: 430;
  --text-body-lg-line: 1.56;
  --text-body-lg-color: rgba(0, 0, 0, 0.78);

  --text-caption-size: 0.82rem;
  --text-caption-weight: 400;
  --text-caption-line: 1.35;
  --text-caption-color: rgba(0, 0, 0, 0.46);

  --typo-button-size: 1.4rem;
  --typo-button-weight: 540;
  --typo-button-line: 1.15;

  --typo-shop-size: 1.2rem;
  --typo-shop-weight: 400;

  --typo-audio-size: 1.2rem;
  --typo-audio-weight: 400;
}

body,
bodycopy,
h1,
h2,
h3,
h4,
h5,
h6,
h7,
h8,
h9,
a,
button,
input,
textarea,
select,
.text-l1,
.text-l2,
.text-l3,
.text-caption {
  font-family: var(--typo-latin-family) !important;
}

.name-uyghur {
  font-family: var(--typo-uyghur-family), "Noto Sans Arabic" !important;
  font-variation-settings: normal !important;
}

/* Default body text => L3 */
bodycopy,
bodycopy p,
bodycopy li,
bodycopy span,
bodycopy a {
  font-size: var(--text-l3-size) !important;
  font-weight: var(--text-l3-weight) !important;
  line-height: var(--text-l3-line) !important;
  color: var(--text-l3-color) !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

/* New unified classes */
.text-l1,
h1,
h2,
h3,
h4,
h5,
h6,
h7,
h8,
h9 {
  font-size: var(--text-l1-size) !important;
  font-weight: var(--text-l1-weight) !important;
  line-height: var(--text-l1-line) !important;
  color: var(--text-l1-color) !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

.text-l2 {
  font-size: var(--text-l2-size) !important;
  font-weight: var(--text-l2-weight) !important;
  line-height: var(--text-l2-line) !important;
  color: var(--text-l2-color) !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

.text-l3 {
  font-size: var(--text-l3-size) !important;
  font-weight: var(--text-l3-weight) !important;
  line-height: var(--text-l3-line) !important;
  color: var(--text-l3-color) !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

.text-body-lg {
  font-size: var(--text-body-lg-size) !important;
  font-weight: var(--text-body-lg-weight) !important;
  line-height: var(--text-body-lg-line) !important;
  color: var(--text-body-lg-color) !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

.text-caption {
  font-size: var(--text-caption-size) !important;
  font-weight: var(--text-caption-weight) !important;
  line-height: var(--text-caption-line) !important;
  color: var(--text-caption-color) !important;
  letter-spacing: 0 !important;
  display: block !important;
  font-variation-settings: "slnt" 0, "MONO" 1 !important;
}

/* Namecard back text follows gan3042-subtitle typography, keeps white color */
.namecard-back-text {
  margin: 0;
  font-family: var(--typo-latin-family) !important;
  font-size: 36px !important;
  font-weight: 400 !important;
  line-height: normal !important;
  letter-spacing: 0 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

.namecard-back-text * {
  color: rgba(255, 255, 255, 0.95) !important;
}

/* Auto-apply large body copy to drawer-loaded project overlay documents only */
html.project-overlay-frame-doc bodycopy,
html.project-overlay-frame-doc bodycopy p,
html.project-overlay-frame-doc bodycopy li,
html.project-overlay-frame-doc bodycopy span,
html.project-overlay-frame-doc bodycopy a,
html.project-overlay-frame-doc .text-l3 {
  font-size: var(--text-body-lg-size) !important;
  font-weight: var(--text-body-lg-weight) !important;
  line-height: var(--text-body-lg-line) !important;
  color: var(--text-body-lg-color) !important;
}

/* Keep homepage two main titles unchanged */
#Z2290068486 h1[data-copy-key="shared.home.left.title"],
#E2038875726 h1[data-copy-key="shared.home.right.title"] {
  margin: 0 !important;
  font-size: var(--typo-h1-size) !important;
  font-weight: var(--typo-h1-weight) !important;
  line-height: var(--typo-h1-line) !important;
  color: var(--typo-h1-color) !important;
}

.mobile #Z2290068486 h1[data-copy-key="shared.home.left.title"],
.mobile #E2038875726 h1[data-copy-key="shared.home.right.title"] {
  font-size: var(--typo-h1-size-mobile) !important;
}

bodycopy a {
  text-decoration: underline !important;
}

h1 a,
h2 a,
.text-caption a {
  color: inherit !important;
  text-decoration: none !important;
}

.name-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: clamp(0.2rem, 0.8vw, 0.8rem);
}

.name-row .name-item {
  white-space: nowrap;
  min-width: 0;
}

/* Home-left specific: keep these two headings at same level as "gan studio" h2 */
#Z2290068486 h2.home-left-writing-heading,
#Z2290068486 h2.home-left-gan-project-heading {
  font-size: var(--text-l1-size) !important;
  font-weight: var(--text-l1-weight) !important;
  line-height: var(--text-l1-line) !important;
  color: var(--text-l1-color) !important;
}

#Z2290068486 h2.home-left-writing-heading *,
#Z2290068486 h2.home-left-gan-project-heading * {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

.button-1,
.button-1-1 {
  font-size: var(--typo-button-size) !important;
  font-weight: var(--typo-button-weight) !important;
  line-height: var(--typo-button-line) !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

shop-product {
  font-family: var(--typo-latin-family), sans-serif !important;
  font-size: var(--typo-shop-size) !important;
  font-weight: var(--typo-shop-weight) !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}

audio-player {
  font-family: var(--typo-latin-family), sans-serif !important;
  font-size: var(--typo-audio-size) !important;
  font-weight: var(--typo-audio-weight) !important;
  line-height: normal !important;
  letter-spacing: 0 !important;
  font-variation-settings: "slnt" 0, "MONO" 0 !important;
}
/* ===== merged-from-index-page ===== */
/* ===== static-css ===== */
html:has(body.editing)::-webkit-scrollbar{display:none !important}body.editing::-webkit-scrollbar{display:none !important}html:has(body.editing){-ms-overflow-style:none;scrollbar-width:none}body.editing{-ms-overflow-style:none;scrollbar-width:none}body.wf-initial-load *,html.wf-initial-load *{color:transparent !important;-webkit-text-stroke:0px transparent;text-shadow:0 0 transparent}html.wf-initial-load hr{background:none !important}body{--baseColor-accent: #FF0000;--baseColor-accent-rgb: 255, 0, 0;--baseColor-accent-reverse-rgb: 255, 255, 255}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:focus{outline:0}select,select *{text-rendering:auto !important}html,body{min-height:var(--viewport-height, 100vh);margin:0;padding:0}html{--mobile-scale: 1;font-size:var(--base-size);touch-action:manipulation;position:relative}html.mobile{font-size:calc(var(--base-size)*var(--mobile-scale))}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:none;display:flex;flex-direction:column;width:100%;min-height:var(--viewport-height, 100vh);justify-content:flex-start;margin:0;padding:0;background-color:#fff}body.no-scroll{overflow:hidden}customhtml>*{position:relative;z-index:10}.page a.active,bodycopy * a{text-decoration-color:unset;-webkit-text-decoration-color:unset}.content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;min-height:100%;position:relative;flex-grow:1;border-color:transparent;border-width:0}.pages{width:100%;flex:1 0 auto}@supports(height: 100svh){.page.stacked-page:not(.fixed){--viewport-height: 100svh}.page.stacked-page+.page.stacked-page:not(.fixed){--viewport-height: 100vh}body.mobile .content:has(.stacked-page) .page.pinned.overlay:not(.fixed){--viewport-height: 100svh}}.overlay-content{mix-blend-mode:var(--overlay-mix, normal)}.page{--split-backdrop-height: calc(var(--min-viewport-height) / 2);--split-content-height: calc(var(--viewport-height) - var(--split-backdrop-height));position:relative;display:flex;justify-content:center;flex-wrap:nowrap;flex-direction:row;max-width:100%;width:100%;flex:0;mix-blend-mode:var(--page-mix, normal)}.page.has-backdrop-filter{background-color:rgba(0, 0, 0, 0.01);backdrop-filter:var(--page-backdrop-filter, none);-webkit-backdrop-filter:var(--page-backdrop-filter, none)}.overlay-content .page{mix-blend-mode:unset}.overlay-content .page::after{content:" ";display:block;position:fixed;width:100dvw;height:100dvh;top:0;left:0;z-index:-1}.overlay-content.is-passthrough-overlay .page::after{display:none}.mobile .page{flex-wrap:wrap}.page.overlay{position:absolute}.page.pinned-top,.page.pinned-bottom{flex:0;z-index:2;left:0;right:0}.page.pinned-bottom{transform:unset}.page.pinned-bottom.loading{will-change:transform;transform:translate(0, 0, 0)}.page.pinned-top{top:0}.page.pinned-bottom{bottom:0}.page.fixed{position:fixed;max-height:var(--viewport-height, 100vh)}.page.fixed .page-layout{max-height:var(--viewport-height, 100vh)}.page.fixed.allow-scroll .page-content{max-height:var(--viewport-height, 100vh);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overflow-y:auto;overflow-x:hidden}.page.fixed.allow-scroll .page-content{pointer-events:auto}.page.fixed.allow-scroll .page-content::-webkit-scrollbar{width:0;background:0 0;display:none}.page.overlay{position:absolute}.page.overlay,.page.overlay .page-layout,.page.fixed,.page.fixed .page-layout{pointer-events:none}body.editing .page.overlay .page-content,body.editing .page.overlay .page-content *,body.editing .page.fixed .page-content,body.editing .page.fixed .page-content *,body.editing .page.fixed.allow-scroll .page-content,body.editing .page.fixed.allow-scroll .page-content *,body.editing .page:not([editing=true]){-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}body.editing .page.overlay[editing=true] .page-content,body.editing .page.overlay[editing=true] .page-content *,body.editing .page.fixed[editing=true] .page-content,body.editing .page.fixed[editing=true] .page-content *,body.editing .page.fixed.allow-scroll[editing=true] .page-content,body.editing .page.fixed.allow-scroll[editing=true] .page-content *{pointer-events:auto;-moz-user-select:auto;-webkit-user-select:auto;-ms-user-select:auto;user-select:auto}.page.fixed .page-content bodycopy a,.page.overlay .page-content bodycopy a,.page.fixed .page-content bodycopy img,.page.overlay .page-content bodycopy img,.page.fixed .page-content bodycopy iframe,.page.overlay .page-content bodycopy iframe,.page.fixed .page-content bodycopy video,.page.overlay .page-content bodycopy video,.page.fixed .page-content bodycopy audio,.page.overlay .page-content bodycopy audio,.page.fixed .page-content bodycopy input,.page.overlay .page-content bodycopy input,.page.fixed .page-content bodycopy button,.page.overlay .page-content bodycopy button,.page.fixed .page-content bodycopy audio-player,.page.overlay .page-content bodycopy audio-player,.page.fixed .page-content bodycopy shop-product,.page.overlay .page-content bodycopy shop-product,.page.fixed .page-content bodycopy details,.page.overlay .page-content bodycopy details,.page.overlay .page-content bodycopy .linked,.page.overlay .page-content bodycopy .zoomable,.page.fixed .page-content bodycopy .linked,.page.fixed .page-content bodycopy .zoomable,.page.fixed .page-content bodycopy gallery-slideshow,.page.overlay .page-content bodycopy gallery-slideshow{pointer-events:auto}.page-layout{flex-grow:1;position:relative;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;width:0%;mix-blend-mode:var(--page-layout-mix, normal)}.page-content{display:flex;flex-direction:row;height:100%;align-items:flex-start;border-color:transparent;border-width:0;width:100%;filter:var(--page-content-filter, none);-webkit-filter:var(--page-content-filter, none)}.page-content.has-content-backdrop-filter{backdrop-filter:var(--page-content-backdrop-filter, none);-webkit-backdrop-filter:var(--page-content-backdrop-filter, none)}.page-content.has-content-backdrop-filter:has(.empty-editor)::before{content:" ";display:block;height:1px;width:1px;overflow:hidden;position:absolute;top:0;left:0;background:rgba(0, 0, 0, 0.01)}.page.accepts-pointer-events *,.page-content.accepts-pointer-events,.page-content.accepts-pointer-events *{pointer-events:auto}[position=fixed]{position:fixed;overflow-y:auto;overflow-x:hidden;max-height:100vh;pointer-events:none}[position=fixed] bodycopy{pointer-events:auto}[position=absolute]{position:absolute}[position=relative]{position:relative}.top-pins [position=fixed],.top-pins [position=absolute]{top:0;left:0;right:0;z-index:999}.bottom-pins [position=fixed],.bottom-pins [position=absolute]{bottom:0;left:0;right:0;z-index:999}h1,h2,h3,h4,h5,h6,h7,h8,h9{contain:layout}.caption-background h1,.caption-background h2,.caption-background h3,.caption-background h4,.caption-background h5,.caption-background h6,.caption-background h7,.caption-background h8,.caption-background h9{contain:none}.overlay-content{position:fixed;inset:0;pointer-events:none;max-height:100dvh;--viewport-height: 100dvh;overflow:auto;--elastic-scroll: true}body.has-scrollable-overlay .content media-item::part(iframe),body.has-scrollable-overlay .content .behind-top-scrollable-overlay media-item::part(iframe){pointer-events:none;z-index:-1000}body.has-scrollable-overlay .overlay-content.top-overlay media-item::part(iframe){pointer-events:auto;z-index:unset}.overlay-content::-webkit-scrollbar{display:none}.overlay-content .page-layout{min-height:fit-content}.overlay-content .page,.overlay-content .page-content,.overlay-content .page-layout{pointer-events:auto}.overlay-content.is-passthrough-overlay .page,.overlay-content.is-passthrough-overlay .page-layout{pointer-events:none}.overlay-content.is-passthrough-overlay .page-content{pointer-events:auto}.overlay-content.is-content-passthrough-overlay .page,.overlay-content.is-content-passthrough-overlay .page-layout,.overlay-content.is-content-passthrough-overlay .page-content,.overlay-content.is-content-passthrough-overlay .page-content bodycopy{pointer-events:none}.overlay-content.is-content-passthrough-overlay .page-content bodycopy>*:not(column-set),.overlay-content.is-content-passthrough-overlay .page-content bodycopy column-unit *{pointer-events:auto}body.editing .overlay-content .page[editing=true] bodycopy,body.editing .overlay-content .page[editing=true] bodycopy>*{pointer-events:auto}.overlay-content.overlay-animating{--scroll-transition: unset!important;overflow:hidden}.overlay-content.overlay-open.overlay-animating .page{will-change:opacity,background-color;animation:overlayOpen var(--overlay-open-duration) var(--overlay-open-easing, "ease-in-out")}.overlay-content.overlay-open .page:has(.has-content-backdrop-filter):not(:has(.backdrop)){will-change:background-color;animation:overlayOpenWithoutOpacity var(--overlay-open-duration) var(--overlay-open-easing, "ease-in-out")}.overlay-content.overlay-close.overlay-animating .page{will-change:opacity,background-color;animation:overlayClose var(--overlay-close-duration) var(--overlay-close-easing, "ease-in-out")}.overlay-content.overlay-close .page:has(.has-content-backdrop-filter):not(:has(.backdrop)){will-change:background-color;animation:overlayCloseWithoutOpacity var(--overlay-close-duration) var(--overlay-close-easing, "ease-in-out")}.overlay-content.overlay-open.overlay-animating .page-content{will-change:transform,clip-path;animation:overlayOpenContent var(--overlay-open-duration) var(--overlay-open-easing, "ease-in-out")}.overlay-content.overlay-open.overlay-animating .page-content.has-content-backdrop-filter{will-change:transform,clip-path,opacity;animation:overlayOpenContent var(--overlay-open-duration) var(--overlay-open-easing, "ease-in-out"),overlayOpenOpacity var(--overlay-open-duration) var(--overlay-open-easing, "ease-in-out")}.overlay-content.overlay-close.overlay-animating .page-content{will-change:transform,clip-path;animation:overlayCloseContent var(--overlay-close-duration) var(--overlay-close-easing, "ease-in-out")}.overlay-content.overlay-close.overlay-animating .page-content.has-content-backdrop-filter{will-change:transform,clip-path,opacity;animation:overlayCloseContent var(--overlay-close-duration) var(--overlay-close-easing, "ease-in-out"),overlayCloseOpacity var(--overlay-close-duration) var(--overlay-close-easing, "ease-in-out")}.overlay-content.touch-overscroll-transform .page-content{transform:var(--touch-overscroll-transform, translate(0px, 0px)) !important}@keyframes scrollAnimationFadeIn-1{0%{opacity:0}15%{opacity:1}}@keyframes scrollAnimationFadeIn-2{0%{opacity:0}22.5%{opacity:1}100%{opacity:1}}@keyframes scrollAnimationFadeIn-3{0%{opacity:0}38%{opacity:1}100%{opacity:1}}@keyframes scrollAnimationFadeOut-1{85%{opacity:1}100%{opacity:0}}@keyframes scrollAnimationFadeOut-2{0%{opacity:1}77.5%{opacity:1}100%{opacity:0}}@keyframes scrollAnimationFadeOut-3{0%{opacity:1}65%{opacity:1}100%{opacity:0}}@keyframes scrollAnimationFadeInOut-1{0%{opacity:0}15%{opacity:1}85%{opacity:1}100%{opacity:0}}@keyframes scrollAnimationFadeInOut-2{0%{opacity:0}20%{opacity:1}82.5%{opacity:1}100%{opacity:0}}@keyframes scrollAnimationFadeInOut-3{0%{opacity:0}30%{opacity:1}75%{opacity:1}100%{opacity:0}}@keyframes scrollAnimationFlyIn-1{0%{transform:translateY(5vh)}15%{transform:scale(1)}85%{transform:scale(1)}100%{transform:scale(1)}}@keyframes scrollAnimationFlyIn-2{0%{transform:translateY(10vh)}30%{transform:scale(1)}70%{transform:scale(1)}100%{transform:scale(1)}}@keyframes scrollAnimationFlyIn-3{0%{transform:translateY(20vh)}35%{transform:scale(1)}65%{transform:scale(1)}100%{transform:scale(1)}}@keyframes scrollAnimationFlyInFadeIn-1{0%{opacity:.4;transform:translateY(25px)}50%{opacity:1;transform:translateY(0px)}}@keyframes scrollAnimationFlyInFadeIn-2{0%{opacity:0;transform:translateY(50px)}50%{opacity:1;transform:translateY(0vh)}}@keyframes scrollAnimationFlyInFadeIn-3{0%{opacity:0;transform:translateY(100px)}50%{opacity:1;transform:translateY(0vh)}}@keyframes scrollAnimationFlyOut-1{35%{transform:scale(1)}85%{transform:scale(1)}100%{transform:translateY(-5vh)}}@keyframes scrollAnimationFlyOut-2{35%{transform:scale(1)}70%{transform:scale(1)}100%{transform:translateY(-10vh)}}@keyframes scrollAnimationFlyOut-3{35%{transform:scale(1)}65%{transform:scale(1)}100%{transform:translateY(-20vh)}}@keyframes scrollAnimationFlyInOut-1{0%{transform:translateY(5vh)}35%{transform:scale(1)}85%{transform:scale(1)}100%{transform:translateY(-5vh)}}@keyframes scrollAnimationFlyInOut-2{0%{transform:translateY(10vh)}35%{transform:scale(1)}70%{transform:scale(1)}100%{transform:translateY(-10vh)}}@keyframes scrollAnimationFlyInOut-3{0%{transform:translateY(20vh)}35%{transform:scale(1)}65%{transform:scale(1)}100%{transform:translateY(-20vh)}}@keyframes scrollAnimationBlurIn-1{0%{filter:blur(5px)}10%{filter:blur(5px)}30%{filter:blur(0px)}}@keyframes scrollAnimationBlurIn-2{0%{filter:blur(8px)}12.5%{filter:blur(8px)}35%{filter:blur(0px)}}@keyframes scrollAnimationBlurIn-3{0%{filter:blur(13px)}15%{filter:blur(13px)}40%{filter:blur(0px)}}@keyframes scrollAnimationScaleInOut-1{0%{transform:scale(0.875);transform-origin:50% 0%}50%{transform:scale(1);transform-origin:50% 50%}100%{transform:scale(0.875);transform-origin:50% 100%}}@keyframes scrollAnimationScaleInOut-2{0%{transform:scale(0.6);transform-origin:50% 0%}50%{transform:scale(1);transform-origin:50% 50%}100%{transform:scale(0.6);transform-origin:50% 100%}}@keyframes scrollAnimationScaleInOut-3{0%{transform:scale(0.4);transform-origin:50% 0%}50%{transform:scale(1);transform-origin:50% 50%}100%{transform:scale(0.4);transform-origin:50% 100%}}@keyframes scrollAnimationScaleIn-1{0%{transform:scale(0.875);transform-origin:50% 0%}50%{transform:scale(1);transform-origin:50% 0%}100%{transform:scale(1);transform-origin:50% 0%}}@keyframes scrollAnimationScaleIn-2{0%{transform:scale(0.6);transform-origin:50% 0%}50%{transform:scale(1);transform-origin:50% 0%}100%{transform:scale(1);transform-origin:50% 0%}}@keyframes scrollAnimationScaleIn-3{0%{transform:scale(0.4);transform-origin:50% 0%}50%{transform:scale(1);transform-origin:50% 0%}100%{transform:scale(1);transform-origin:50% 0%}}@keyframes scrollAnimationScaleOut-1{0%{transform:scale(1);transform-origin:50% 100%}50%{transform:scale(1);transform-origin:50% 100%}100%{transform:scale(0.875);transform-origin:50% 100%}}@keyframes scrollAnimationScaleOut-2{0%{transform:scale(1);transform-origin:50% 100%}50%{transform:scale(1);transform-origin:50% 100%}100%{transform:scale(0.6);transform-origin:50% 100%}}@keyframes scrollAnimationScaleOut-3{0%{transform:scale(1);transform-origin:50% 100%}50%{transform:scale(1);transform-origin:50% 100%}100%{transform:scale(0.4);transform-origin:50% 100%}}@keyframes scrollAnimationHelix-1{0%{transform:perspective(4000px) rotatey(35deg) rotatez(1.5deg)}100%{transform:perspective(4000px) rotatey(-35deg) rotatez(-1.5deg)}}@keyframes scrollAnimationHelix-2{0%{transform:perspective(3000px) rotatey(60deg) rotatez(2deg)}100%{transform:perspective(3000px) rotatey(-60deg) rotatez(-2deg)}}@keyframes scrollAnimationHelix-3{0%{transform:perspective(2000px) rotatey(90deg) rotatez(3deg)}100%{transform:perspective(2000px) rotatey(-90deg) rotatez(-3deg)}}@keyframes scrollAnimationConveyor-1{0%{transform:perspective(2500px) translateZ(25em) rotateX(45deg)}40%{transform:perspective(2500px) rotateX(0deg)}100%{transform:perspective(2500px) rotateX(0deg)}}@keyframes scrollAnimationConveyor-2{0%{transform:perspective(2400px) translateZ(30em) rotateX(60deg)}50%{transform:perspective(2400px) rotateX(0deg)}100%{transform:perspective(2400px) rotateX(0deg)}}@keyframes scrollAnimationConveyor-3{0%{transform:perspective(2300px) translateZ(45em) rotateX(85deg)}60%{transform:perspective(2300px) rotateX(0deg)}100%{transform:perspective(2300px) rotateX(0deg)}}@keyframes scrollAnimationRebound-1{0%{transform:perspective(2100px) translateZ(-30em) rotateX(50deg);transform-origin:50% 100%}47%{transform:perspective(2100px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}53%{transform:perspective(2100px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}100%{transform:perspective(2100px) translateZ(-30em) rotateX(-50deg);transform-origin:50% 0%}}@keyframes scrollAnimationRebound-2{0%{transform:perspective(1800px) translateZ(-50em) rotateX(70deg);transform-origin:50% 100%}47%{transform:perspective(1800px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}53%{transform:perspective(1800px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}100%{transform:perspective(1800px) translateZ(-50em) rotateX(-70deg);transform-origin:50% 0%}}@keyframes scrollAnimationRebound-3{0%{transform:perspective(1300px) translateZ(-70em) rotateX(90deg);transform-origin:50% 100%}47%{transform:perspective(1300px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}53%{transform:perspective(1300px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}100%{transform:perspective(1300px) translateZ(-70em) rotateX(-90deg);transform-origin:50% 0%}}@keyframes scrollTransitionFadeUp-1{0%{opacity:0;transform:translateY(25px)}25%{opacity:1;transform:translateY(0vh)}}@keyframes scrollTransitionFadeUp-2{0%{opacity:0;transform:translateY(40px)}25%{opacity:1;transform:translateY(0vh)}}@keyframes scrollTransitionFadeUp-3{0%{opacity:0;transform:translateY(50px)}25%{opacity:1;transform:translateY(0vh)}}@keyframes scrollTransitionScaleUp-1{0%{opacity:0;transform:scale(0.95)}25%{opacity:1;transform:scale(1)}}@keyframes scrollTransitionScaleUp-2{0%{opacity:0;transform:scale(0.875)}25%{opacity:1;transform:scale(1)}}@keyframes scrollTransitionScaleUp-3{0%{opacity:0;transform:scale(0.75)}25%{opacity:1;transform:scale(1)}}@keyframes scrollAnimationTwistUp-1{0%{opacity:0;transform:translateY(25px) rotateY(27deg) rotateZ(1.5deg) perspective(4000px)}25%{opacity:1;transform:translateY(0vh)}}@keyframes scrollAnimationTwistUp-2{0%{opacity:0;transform:translateY(40px) rotateY(35deg) rotateZ(2deg) perspective(3000px)}25%{opacity:1;transform:translateY(0vh)}}@keyframes scrollAnimationTwistUp-3{0%{opacity:0;transform:translateY(65px) rotateY(40deg) rotateZ(3deg) perspective(2000px)}25%{opacity:1;transform:translateY(0vh)}}@keyframes scrollTransitionBlurIn-1{0%{filter:blur(5px);transform:scale(0.992)}25%{filter:blur(0px);transform:scale(1)}}@keyframes scrollTransitionBlurIn-2{0%{filter:blur(8px);transform:scale(0.992)}25%{filter:blur(0px);transform:scale(1)}}@keyframes scrollTransitionBlurIn-3{0%{filter:blur(13px);transform:scale(0.992)}25%{filter:blur(0px);transform:scale(1)}}@keyframes scrollTransitionColorIn-1{0%{filter:saturate(50%)}32%{filter:saturate(100%)}}@keyframes scrollTransitionColorIn-2{0%{filter:saturate(25%)}32%{filter:saturate(100%)}}@keyframes scrollTransitionColorIn-3{0%{filter:saturate(0%)}32%{filter:saturate(100%)}}@keyframes scrollTransitionRebound-1{0%{transform:perspective(1500px) translateZ(0em) rotateX(30deg);transform-origin:50% 100%;opacity:0}25%{transform:perspective(1500px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%;opacity:1}}@keyframes scrollTransitionRebound-2{0%{transform:perspective(1800px) translateZ(-50em) rotateX(70deg);transform-origin:50% 100%}47%{transform:perspective(1800px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}53%{transform:perspective(1800px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}100%{transform:perspective(1800px) translateZ(-50em) rotateX(-70deg);transform-origin:50% 0%}}@keyframes scrollTransitionRebound-3{0%{transform:perspective(1300px) translateZ(-70em) rotateX(90deg);transform-origin:50% 100%}47%{transform:perspective(1300px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}53%{transform:perspective(1300px) translateZ(0em) rotateX(0deg);transform-origin:50% 50%}100%{transform:perspective(1300px) translateZ(-70em) rotateX(-90deg);transform-origin:50% 0%}}@keyframes LooseHinge-1{0%{transform:rotate(5deg);transform-origin:0% 0%}50%{transform:rotate(0deg);transform-origin:50% 50%}100%{transform:rotate(5deg);transform-origin:100% 100%}}@keyframes LooseHinge-2{0%{transform:rotate(10deg);transform-origin:0% 0%}50%{transform:rotate(0deg);transform-origin:50% 50%}100%{transform:rotate(10deg);transform-origin:100% 100%}}@keyframes LooseHinge-3{0%{transform:rotate(30deg);transform-origin:0% 0%}50%{transform:rotate(0deg);transform-origin:50% 50%}100%{transform:rotate(30deg);transform-origin:100% 100%}}@keyframes overlayOpen{from{opacity:var(--overlay-open-from-opacity, 1);background-color:var(--overlay-open-from-background-color, transparent)}to{opacity:1}}@keyframes overlayOpenWithoutOpacity{from{background-color:var(--overlay-open-from-background-color, transparent)}}@keyframes overlayOpenOpacity{from{opacity:var(--overlay-open-from-opacity, 1)}to{opacity:1}}@keyframes overlayOpenContent{from{transform:var(--overlay-open-content-from-transform, translate3d(0, 0, 0));clip-path:var(--overlay-open-content-from-clip-mask, inset(0% 0% 0% 0%))}to{transform:translate3d(0, 0, 0);clip-path:var(--overlay-open-content-to-clip-mask, inset(0% 0% 0% 0%))}}@keyframes overlayClose{to{opacity:var(--overlay-close-to-opacity, 1);background-color:var(--overlay-close-to-background-color, transparent)}}@keyframes overlayCloseWithoutOpacity{to{background-color:var(--overlay-close-to-background-color, transparent)}}@keyframes overlayCloseOpacity{to{opacity:var(--overlay-close-to-opacity, 1)}}@keyframes overlayCloseContent{from{transform:translate3d(0, 0, 0);clip-path:var(--overlay-close-content-from-clip-mask, inset(0% 0% 0% 0%))}to{transform:var(--overlay-close-content-to-transform, translate3d(0, 0, 0));clip-path:var(--overlay-close-content-to-clip-mask, inset(0% 0% 0% 0%))}}.backdrop{contain:layout}.has-backdrop-filter .backdrop-contents::after{backdrop-filter:var(--page-backdrop-filter, none);-webkit-backdrop-filter:var(--page-backdrop-filter, none);position:absolute;width:100%;height:100%;content:"";inset:0;z-index:1;pointer-events:none}.backdrop:not(.clip){-webkit-transform:translate(0px, 0px)}.backdrop>.backdrop-contents{transition:opacity .5s ease-in-out;opacity:0;top:0;bottom:0;width:100%;position:sticky;height:100%;max-height:100vh;overflow:hidden}.backdrop-contents.loaded{opacity:1}.backdrop.clip .backdrop-contents.above,.backdrop.clip .backdrop-contents.below{display:none}.backdrop.clip .backdrop-contents{will-change:display,opacity,transform,clip-path}.backdrop>.backdrop-contents [data-backdrop]{height:100%}.backdrop.clip{contain:none;overflow:hidden;clip-path:inset(0% 0% 0% 0%)}.clip>.backdrop-contents{height:calc(100vh + .5px);width:var(--backdrop-width, 100%);position:fixed}.backdrop{flex-shrink:0;width:100%;order:1;position:absolute;top:0;left:0;right:0;bottom:0}.wallpaper-navigation{position:absolute;inset:var(--pin-padding-top, 0) 0 var(--pin-padding-bottom, 0) 0;z-index:10;pointer-events:none !important;display:flex;justify-content:center;flex-wrap:wrap;flex-direction:row;max-width:100%;width:100%;flex:0}.wallpaper-navigation .page-content,.wallpaper-navigation .page-layout{background:none;background-color:transparent;visibility:hidden}.wallpaper-navigation .backdrop.clip{contain:none;overflow:hidden;clip-path:inset(0% 0% 0% 0%)}.wallpaper-navigation .backdrop.clip>.wallpaper-slideshow{position:fixed}.wallpaper-navigation .wallpaper-slideshow{top:0;bottom:0;position:sticky;transform:translate3d(0, 0, 0);height:calc(100% + .5px);max-height:calc(var(--viewport-height, 100vh) + .5px)}::part(slideshow-nav){transition:opacity 222ms ease-in-out;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;--button-size: 30px;--button-inset: 20px;--button-icon-color: rgba(255, 255, 255, 0.9);--button-icon-scale: 1;--button-icon-stroke-width: 1.5px;--button-icon-stroke-linecap: butt;--button-background-color: rgba(87, 87, 87, 0.35);--button-background-radius: 50%;--button-active-opacity: 0.7}::part(slideshow-nav-previous-button){pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0;bottom:0}::part(slideshow-nav-next-button){pointer-events:auto;cursor:pointer;position:absolute;top:0;right:0;bottom:0}::part(slideshow-nav-close-button){pointer-events:auto;cursor:pointer;position:absolute;top:0;right:0}::part(slideshow-nav-prev){position:absolute;top:0;bottom:0;left:var(--button-inset, 0px);margin:auto;width:36px;height:36px}::part(slideshow-nav-next){position:absolute;top:0;bottom:0;right:var(--button-inset, 0px);margin:auto;width:36px;height:36px;transform:scaleX(-1)}::part(slideshow-nav-close){position:absolute;top:var(--button-inset, 0px);right:var(--button-inset, 0px);margin:auto;width:36px;height:36px}::part(slideshow-nav-prev),::part(slideshow-nav-next),::part(slideshow-nav-close){height:var(--button-size);width:var(--button-size)}::part(slideshow-nav-previous-button):active,::part(slideshow-nav-next-button):active,::part(slideshow-nav-close-button):active{opacity:var(--button-active-opacity, 0.7)}::part(slideshow-nav-background){stroke:none !important;fill:var(--button-background-color);rx:var(--button-background-radius)}::part(slideshow-nav-arrow),::part(slideshow-nav-x){fill:none !important;stroke:var(--button-icon-color);stroke-width:var(--button-icon-stroke-width);stroke-linecap:var(--button-icon-stroke-linecap);transform:scale(var(--button-icon-scale));transform-origin:center}bodycopy{display:block;contain:layout;word-wrap:break-word;position:relative;max-width:100%;width:100%;-webkit-nbsp-mode:normal;--font-scale: 1}bodycopy *{border-width:0}a{color:inherit}a.image-link,a.image-link:hover,a.image-link:active,a.icon-link,a.icon-link:hover,a.icon-link:active{border-bottom:none;text-decoration:none}[contenteditable=true] a:active,[contenteditable=true] .linked:active,[contenteditable=true] .zoomable:active{opacity:1}s *{text-transform:inherit}small{max-width:100%;text-decoration:inherit}b,strong{font-weight:bolder}.small-caps{font-variant:small-caps;text-transform:lowercase}.no-wrap{white-space:nowrap}.page_background{position:absolute;top:0;left:0;width:100%;height:100%}media-item::part(placeholder){border:1px solid rgba(0, 0, 0, 0.15) !important;overflow:hidden}media-item::part(placeholder-svg){background:#fff;display:block;width:100%;height:100%}media-item::part(placeholder-line){stroke:rgba(0, 0, 0, 0.1) !important}media-item::part(placeholder-rect){fill:rgba(0, 0, 0, 0.05);height:100%;width:100%}media-item .caption.empty{display:none}.tag-separator:before{content:", "}media-item[drag=true]::part(media),[contenteditable=true] iframe{pointer-events:none}column-set+*{--gutter-expand: 1}gallery-grid+*{--gutter-expand: 1}gallery-columnized+*{--gutter-expand: 1}gallery-justify+*{--gutter-expand: 1}media-item+*{--gutter-expand: 1}column-unit>*:first-child{--gutter-expand: 0}marquee-set h1,marquee-set h2,marquee-set h3,marquee-set h4,marquee-set h5,marquee-set h6,marquee-set h7,marquee-set h8,marquee-set h9{vertical-align:text-bottom;display:inline-block}marquee-set{pointer-events:auto}gallery-slideshow media-item figcaption.caption{display:var(--display-slideshow-captions, none);transform:var(--slideshow-caption-transform, translateX(0px));opacity:var(--slideshow-caption-opacity, 0);text-align:var(--slideshow-caption-align);transition-property:opacity;transition-duration:var(--slideshow-caption-transition-duration, 0.1s);will-change:opacity,transform;position:relative}gallery-slideshow media-item::part(sizing-frame){margin:auto 0;flex-grow:0}gallery-slideshow media-item::part(frame){display:flex;flex-wrap:wrap;width:var(--item-width);height:var(--slide-height);align-content:var(--slideshow-vertical-align);align-self:var(--slideshow-horizontal-align)}body>media-item[no-component]{all:unset !important;border:none !important;padding:0 !important;position:fixed !important;z-index:5000 !important;pointer-events:none !important;background:none !important;inset:0 !important;overflow:hidden !important}body.slideshow-scrub-dragging *{cursor:ew-resize !important}button#edit.edit{appearance:none;-webkit-appearance:none;border:none;cursor:pointer;font-size:var(--fontSize-default);font-family:var(--fontFamily-default);padding:0;text-align:left;white-space:nowrap;background:transparent;display:flex;margin:0;border-radius:3px 0 0 3px;pointer-events:auto;position:fixed;top:50%;transform:translate(0, -50%);right:400px;height:36px;width:12px;z-index:999;cursor:pointer;background-color:rgba(140, 140, 140, 0.4);padding-left:2px;margin-right:5px;width:20px;cursor:pointer;margin:0;right:0}button#edit.edit:active{opacity:.7;user-select:none}button#edit.edit svg{padding:0;width:16px;height:36px;margin-left:2px;opacity:1}button#edit.edit svg path{fill:#fff}.quick-view{--font-scale: 1;--resize-parent-width: unset;width:80%;height:80%;margin-top:auto;margin-right:auto;margin-bottom:auto;margin-left:auto;padding:5rem;padding-top:5rem;padding-right:5rem;padding-bottom:5rem;padding-left:5rem;display:flex;z-index:5001;transform:translateZ(999px);position:fixed;top:0;left:0;right:0;bottom:0;-webkit-text-size-adjust:100%;-ms-touch-action:none;touch-action:none;line-height:initial;letter-spacing:initial}.quick-view .caption{font-size:clamp(14.5px,var(--font-scale, 1)*var(--font-size, 14.5px),2.4rem)}.quick-view-frame{position:relative;display:flex;height:100%;width:100%}.quick-view-content{height:100%;width:auto}.quick-view-background{backdrop-filter:var(--quick-view-backdrop-filter, none);-webkit-backdrop-filter:var(--quick-view-backdrop-filter, none);transition:backdrop-filter .2s ease}.quick-view.quick-view-navigation{display:block;z-index:5002;position:fixed;inset:0;pointer-events:none;transform:translateZ(999px)}.quick-view::part(slideshow-nav){transition:opacity 222ms ease-in-out;position:absolute;z-index:99;inset:0;pointer-events:none}.pagination-watcher{pointer-events:none;height:1px;margin-top:-1px;width:100%}html,body{overflow-anchor:none}.colorfilter-color,.colorfilter-base{position:absolute;inset:0;pointer-events:none}.colorfilter-color{z-index:9995;display:block;background-color:var(--colorfilter-color, #FF0000);mix-blend-mode:var(--colorfilter-mix, lighten);opacity:var(--colorfilter-color-opacity, 0)}.colorfilter-base{display:block;backdrop-filter:grayscale(clamp(0, var(--colorfilter-grayscale, 0), var(--colorfilter-color-opacity, 0))) brightness(var(--colorfilter-brightness, 1)) contrast(var(--colorfilter-contrast, 1)) invert(var(--colorfilter-invert, 0));-webkit-backdrop-filter:grayscale(clamp(0, var(--colorfilter-grayscale, 0), var(--colorfilter-color-opacity, 0))) brightness(var(--colorfilter-brightness, 1)) contrast(var(--colorfilter-contrast, 1)) invert(var(--colorfilter-invert, 0));z-index:9994}#editor-overlay.safari,.colorfilter-base.safari,.colorfilter-color.safari,#cargo-dotsite.safari{transform:translateZ(0px);animation:loopTranslate .5s steps(2, end) infinite}@keyframes loopTranslate{0%{transform:translateZ(0px)}50%{transform:translateZ(1px)}100%{transform:translateZ(0px)}}.flying-object{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;overflow:hidden}.flying-object media-item{position:fixed;top:0;left:0}.flying-object,.flying-object *{user-select:none;pointer-events:none !important}body.audio-player-dragging,body.audio-player-dragging audio-player,body.audio-player-dragging *{cursor:ew-resize}audio-player[browser-default=true]{padding:unset;margin:unset;outline:unset;background:unset;border:unset;transform:unset;height:unset;position:relative;display:inline-block}audio-player::part(button){background:transparent;cursor:pointer;flex-shrink:0;align-items:center;justify-content:center;display:inline-flex;width:.7em;contain:layout}audio-player::part(separator){height:100%}audio-player::part(buffer){height:100%}audio-player::part(time-bar){height:100%;display:flex;justify-content:space-between;align-content:center;margin:auto 0;width:0%;flex-grow:1;height:100%}audio-player::part(progress){background:transparent;height:100%}audio-player::part(play-icon),audio-player::part(pause-icon){fill:currentColor;cursor:pointer;width:100%;height:auto}audio-player::part(label){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;user-select:none;margin:auto auto auto 0;flex:0 3 auto;min-width:0;width:100%}audio-player::part(total-time){flex:0 1 auto;margin:auto 0}audio-player::part(current-time),audio-player::part(play-text){flex:0 1 auto;margin:auto 0}audio-player::part(stream-anim):before{content:"Streaming"}audio-player::part(stream-anim){user-select:none;margin:auto auto auto 0}audio-player::part(buffer),audio-player::part(current-time),audio-player::part(note-svg),audio-player::part(play-text),audio-player::part(separator),audio-player::part(total-time){user-select:none;pointer-events:none}audio-player::part(buffer),audio-player::part(play-text),audio-player::part(progress){position:absolute}audio-player::part(time-bar),audio-player::part(button),audio-player::part(current-time),audio-player::part(note-icon),audio-player::part(pause),audio-player::part(play),audio-player::part(total-time){position:relative}audio-player::part(progress-indicator){border:1px solid currentColor;cursor:ew-resize;height:100%;right:0;position:absolute}audio-player{border:var(--border-lines);margin-bottom:.5em;overflow:hidden}audio-player::part(time-bar){background:var(--background-color)}audio-player::part(label),audio-player::part(current-time),audio-player::part(total-time){color:var(--text-color)}audio-player::part(play-icon),audio-player::part(pause-icon){fill:var(--icon-color, currentColor)}audio-player::part(separator){width:0px;background:none}audio-player::part(buffer){background:var(--buffer-background-color)}audio-player::part(progress){background:var(--progress-background-color)}audio-player::part(progress-indicator){border-top:0;border-bottom:0;border-left:0;border-right-width:2px}audio-player::part(button){height:100%;display:inline-flex;align-self:center;background:var(--background-color)}audio-player::part(button):after{color:var(--text-color)}audio-player[status=stopped]::part(button):after,audio-player:not([status])::part(button):after{content:var(--play-text)}audio-player[status=playing]::part(button):after{content:var(--pause-text)}audio-player::part(play-icon),audio-player::part(pause-icon){height:var(--icon-size, 1em);width:auto}audio-player::part(label),audio-player::part(stream-anim),audio-player::part(current-time),audio-player::part(total-time){padding:var(--text-padding)}shop-product{font-size:1.2rem;max-width:22rem;width:100%;position:relative;display:block}shop-product::part(price){line-height:1.1;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit}shop-product::part(dropdown){width:100%;background:transparent;line-height:normal;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit;white-space:nowrap;text-overflow:ellipsis;display:inline-block;-webkit-appearance:none;border:0;outline:0}shop-product::part(button){line-height:normal;cursor:pointer;display:inline-block;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}shop-product::part(button):active{opacity:.7}a[rel=show-cart][show-count]:after{counter-reset:variable var(--cart-item-count);content:" (" counter(variable) ")";display:var(--cart-item-count-display, none)}.cargodotsite{position:fixed;bottom:1rem;right:1.4rem;mix-blend-mode:difference;z-index:9999;opacity:.2;cursor:pointer}.mobile .cargodotsite{bottom:.4rem;right:1rem}.cargodotsite:active{opacity:.14}.dl-duplicate{position:fixed;bottom:1rem;right:1.4rem;z-index:9999;cursor:pointer}.mobile .dl-duplicate{bottom:.4rem;right:1rem}.dl-duplicate:active{opacity:.7}

/* ===== customhtml-inline-style ===== */
@font-face {
  font-family: "Zen Maru Gothic";
  font-weight: 900;
  font-style: normal;
  src: url("https://freight.cargo.site/m/I2100363636276017819076425783240/ZenMaruGothic-Black.woff") format("woff");
}

html {
	--mobile-scale: 1.22;
	--mobile-padding-offset: 0.29;
}

body {
	--swatch-1: rgba(0, 0, 0, 0.85);
	--swatch-2: rgba(0, 0, 0, 0.75);
	--swatch-3: rgba(0, 0, 0, 0.6);
	--swatch-4: rgba(0, 0, 0, 0.4);
    --swatch-5: rgba(0, 0, 0, 0.25);
	--swatch-6: #000000;
	--swatch-7: #a7b748;
}


a:active,
.linked:active,
.zoomable::part(media):active {
	opacity: 0.7;
}

.page a.active {
	color: rgba(0, 0, 0, 0.4);
}

sub {
	position: relative;
	vertical-align: baseline;
	top: 0.3em;
}

sup {
	position: relative;
	vertical-align: baseline;
	top: -0.4em;
}

.small-caps {
	font-variant: small-caps;
    text-transform: lowercase;
}

ol {
	margin: 0;
	padding: 0 0 0 2.5em;
	list-style-type: decimal-leading-zero;
}

ul {
	margin: 0;
	padding: 0 0 0 2.0em;
}

ul.lineated {
	margin: 0;
	padding: 0;
	list-style-type: none;
	margin: 0 0 0 3em;
	text-indent: -3em;
}

blockquote {
	margin: 0;
	padding: 0 0 0 2em;
}

hr {
	background: rgba(127, 127, 127, 0.6) !important;
	border: 0 !important;
	height: 1px !important;
	display: block !important;
}

.content {
	border-color: rgba(0,0,0,.85);
}


media-item .caption {
	margin-top: .5em;
}

gallery-grid .caption,
gallery-columnized .caption,
gallery-justify .caption {
	margin-bottom: 2em;
}


[thumbnail-index] .caption .tags {
	margin-top: 0.25em;
}

.page {
	justify-content: flex-start;
}

.page-content {
	padding: 3rem;
	text-align: left;
}

.mobile [id] .page-layout {
	max-width: 100%;
}

.page-layout {
	align-items: flex-start;
	max-width: 100%;
}

media-item::part(media) {
	border: 0;
	padding: 0;
}

.quick-view {
	height: 100%;
	width: 100%;
	padding: 3rem;
	margin-top: auto;
	margin-right: auto;
	margin-bottom: auto;
	margin-left: auto;
}

.quick-view-background {
	background-color: #ffffff;
}

.quick-view .caption {
	color: rgba(255, 255, 255, 1.0);
	padding: 20px 0;
	text-align: center;
	transition: 100ms opacity ease-in-out;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

.quick-view .caption-background {
	padding: 0.5rem 1rem;
	display: inline-block;
	background: rgba(0, 0, 0, 0.5);
	border-radius: .5rem;
	text-align: left;
	max-width: 50rem;
}

.mobile .quick-view {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 10px;
}

.mobile .quick-view .caption {
	padding: 10px 0;
}

.bottom {
	--text-style: "bottom";
	font-size: 1.60rem;
	font-weight: 200;
	color: rgba(255, 255, 255, 0.75);
	font-style: normal;
	line-height: 0.5;
	letter-spacing: 0.025em;
	display: inline-block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.bottom a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
}


.button-1 {
	--text-style: "button 1";
	font-size: 1.4rem;
	font-weight: 540;
	font-style: normal;
	line-height: 1.15;
	letter-spacing: 0em;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
	color: rgb(255, 255, 255);
	background: #027aff;
	display: inline-block;
	border-color: rgba(0, 0, 0, 0.1);
	border-style: solid;
	border-width: 0.1rem;
	border-radius: 0.6rem;
	padding-top: 0.6rem;
	padding-right: 1.2rem;
	padding-bottom: 0.6rem;
	padding-left: 1.2rem;
	filter: drop-shadow(0rem 0.5rem 0.6rem rgba(0, 0, 0, 0.15));
	will-change: filter;
}

.button-1 a {
	color: #ffffff;
	text-decoration: none;
}


.button-1 a.active {
	color: #ffffff;
	text-decoration: none;
}

.button-1-1 {
	--text-style: "button 1-1";
	font-size: 1.4rem;
	font-weight: 540;
	font-style: normal;
	line-height: 1.15;
	letter-spacing: 0em;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
	color: rgb(255, 255, 255);
	background: #027aff;
	display: inline-block;
	border-color: rgba(0, 0, 0, 0.1);
	border-style: solid;
	border-width: 0.1rem;
	border-radius: 0.6rem;
	padding-top: 0.6rem;
	padding-right: 1.2rem;
	padding-bottom: 0.6rem;
	padding-left: 1.2rem;
	filter: drop-shadow(0rem 0.5rem 0.6rem rgba(0, 0, 0, 0.15));
	will-change: filter;
}

.button-1-1 a {
	color: #ffffff;
	text-decoration: none;
}


.button-1-1 a.active {
	color: #ffffff;
	text-decoration: none;
}

.button-10 a.active {
	color: #ffffff;
	text-decoration: none;
}

.button-11 a.active {
	color: rgba(0, 0, 0, 0.85);
	text-decoration: none;
}

.button-12 a.active {
	color: rgba(0, 0, 0, 0.85);
	text-decoration: none;
}

.button-13 a.active {
	color: rgba(0, 0, 0, 0.85);
	text-decoration: none;
}

.button-14 a.active {
	color: #ffffff;
	text-decoration: none;
}

.button-15 a.active {
	color: #ffffff;
	text-decoration: none;
}

.body-light {
	--text-style: "body light";
	font-size: 1.10rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.75);
	font-style: normal;
	line-height: 1.5;
	letter-spacing: 0em;
	display: block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.body-light a {
	color: rgba(0, 0, 0, 0.75);
	text-decoration: none;
}


.head1 {
	--text-style: "head1";
	font-size: 4.80rem;
	font-weight: 900;
	color: rgba(0, 0, 0, 0.75);
	font-style: normal;
	line-height: 1.15;
	letter-spacing: 0;
	display: block;
}

.head1 a {
	color: rgba(0, 0, 0, 0.75);
	text-decoration: underline;
}


.captionwork {
	--text-style: "Caption_work";
	font-size: 1.10rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.42);
	font-style: normal;
	line-height: 1.3;
	letter-spacing: 0;
	display: block;
	font-variation-settings: 'slnt' 0;
}

.captionwork a {
	color: rgba(0, 0, 0, 0.42);
	text-decoration: underline;
}


.bodywork {
	--text-style: "body_work";
	font-size: 1.4rem;
	font-weight: 300;
	color: rgba(0, 0, 0, 0.75);
	font-style: normal;
	line-height: 1.5;
	letter-spacing: 0.010em;
	display: block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.bodywork a {
	color: rgba(0, 0, 0, 0.75);
	text-decoration: underline;
}


.ccc {
	--text-style: "ccc";
	font-size: 1.4rem;
	font-weight: 540;
	color: rgba(0, 0, 0, 0.42);
	font-style: normal;
	line-height: 1.15;
	letter-spacing: -0.023em;
	display: block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.ccc a {
	color: rgba(0, 0, 0, 0.42);
	text-decoration: underline;
}


.bbb {
	--text-style: "bbb";
	font-size: 1.4rem;
	font-weight: 300;
	color: #000000;
	font-style: normal;
	line-height: 1.15;
	letter-spacing: 0em;
	display: block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.bbb a {
	color: #000000;
	text-decoration: underline;
}


.captionr {
	--text-style: "captionr";
	font-size: 1.4rem;
	font-weight: 300;
	color: rgba(0, 0, 0, 0.75);
	font-style: normal;
	line-height: 1.15;
	letter-spacing: 0;
	display: block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.captionr a {
	color: rgba(0, 0, 0, 0.75);
	text-decoration: underline;
}


.bodyminimove {
	--text-style: "bodyminimove";
	font-size: 1.4rem;
	font-weight: 540;
	color: rgba(0, 0, 0, 0.75);
	font-style: normal;
	line-height: 1.15;
	letter-spacing: 0em;
	display: block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.bodyminimove a {
	color: rgba(0, 0, 0, 0.75);
	text-decoration: underline;
}


.r1 {
	--text-style: "r1";
	font-size: 1.4rem;
	font-weight: 540;
	color: #000000;
	font-style: normal;
	line-height: 2.25;
	letter-spacing: 0em;
	display: inline-block;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

.r1 a {
	color: #000000;
	text-decoration: underline;
	text-decoration-color: #5151f6;
}


.mobile .quick-view .caption-background {
	max-width: 100vw;
}

::part(slideshow-nav) {
	--button-size: 30px;
	--button-inset: 20px;
	--button-icon-color: rgba(255, 255, 255, 0.9);
	--button-icon-stroke-width: 1.5px;
	--button-icon-stroke-linecap: none;
	--button-background-color: rgba(87, 87, 87, 0.35);
	--button-background-radius: 50%;
	--button-active-opacity: 0.7;
}

gallery-slideshow::part(slideshow-nav) {
	--button-inset: 15px;
}



.mobile ::part(slideshow-nav) {
	--button-inset: 10px;
}

.mobile .quick-view::part(slideshow-nav) {
	--button-inset: 25px;
}

shop-product {
	font-size: 1.2rem;
	max-width: 22rem;
	font-style: normal;
	font-weight: 400;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
	letter-spacing: 0em;
	margin-bottom: 1em;
}

shop-product::part(price) {
	color: rgba(0, 0, 0, 0.75);
	line-height: 1.1;
	margin-bottom: 0.5em;
}

shop-product::part(dropdown) {
	width: 100%;
	color: rgba(0, 0, 0, 0.85);
	border: 1px solid rgba(0, 0, 0, 0.2);
	background-color: rgba(255, 255, 255, 0.0);
	background-image: url(https://static.cargo.site/assets/images/select-line-arrows.svg);
	background-repeat: no-repeat;
	background-position: top 0em right .1em;
	line-height: 1.2;
	padding: 0.58em 2em 0.55em 0.9em;
	border-radius: 10em;
	margin-bottom: 0.5em;
}

shop-product::part(button) {
	background: rgba(0, 0, 0, 0.15);
	color: rgba(0, 0, 0, 0.75);
	text-align: left;
	line-height: normal;
	padding: 0.5em 1em;
	cursor: pointer;
	border-radius: 10em;
}

shop-product::part(button):active {
	opacity: .7;
}

audio-player {
	--text-color: rgba(0, 0, 0, 0.85);
	--text-padding: 0 1.2em 0 1.0em;
	--background-color: rgba(255, 255, 255, 0);
	--buffer-background-color: rgba(0, 0, 0, 0.03);
	--progress-background-color: rgba(0, 0, 0, 0.075);
	--border-lines: 1px solid rgba(0, 0, 0, 0.2);
	font-size: 1.2rem;
	width: 32rem;
	height: 2.75em;
	font-style: normal;
	font-weight: 400;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
	line-height: normal;
	letter-spacing: 0em;
	margin-bottom: 0.5em;
	border-radius: 10em;
}

audio-player::part(button) {
	--icon-color: rgba(0, 0, 0, 0.85);
	--icon-size: 32%;
	--play-text: '';
	--pause-text: '';
	width: 3.15em;
	display: inline-flex;
	justify-content: center;
	cursor: pointer;
}

audio-player::part(play-icon) {
	padding-left: 0.6em;
}

audio-player::part(pause-icon) {
	padding-left: 0.4em;
}

audio-player::part(progress-indicator) {
	border-right: 1px solid rgba(0, 0, 0, 0);
	height: 100%;
	cursor: ew-resize;
}

audio-player::part(separator) {
	border-right: var(--border-lines);
}

body.mobile audio-player {
	max-width: 100%;
}

/* 默认光标 */
:root {
  --cursor-open-url: url('./assets/eye.svg');
  --cursor-closed-url: url('./assets/eyeclosed.svg');
  --cursor-pointer-url: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Ctext x='2' y='27' font-size='26'%3E%F0%9F%91%88%3C/text%3E%3C/svg%3E");
  --cursor-progress-url: url('https://freight.cargo.site/t/original/i/A2103424951318756654295118354376/.png');
  --cursor-current-url: var(--cursor-open-url);
}

body {
  cursor: var(--cursor-current-url) 16 16, default !important;
}

/* 可点击元素的光标 */
a, button {
  cursor: var(--cursor-pointer-url) 16 16, pointer;
}

/* 加载中状态的光标 */
body.loading {
  cursor: var(--cursor-progress-url) 16 16, progress;
}

/* 自定义组件光标 */
media-item {
  cursor: var(--cursor-current-url) 16 16, default;
}

/* 如果元素具有 "linked" ?,??? pointer 光标 */
media-item.linked {
  cursor: var(--cursor-pointer-url) 16 16, pointer;
}

/* ===== link-styles ===== */
a.caption { color: rgba(0, 0, 0, 0.4); text-decoration: none; }
a.bottom { color: rgba(255, 255, 255, 0.75); text-decoration: none; }
a.button-1,
a.button-1-1 { color: rgb(255, 255, 255); text-decoration: none; }
a.active.button-1,
a.active.button-1-1,
a.active.button-10,
a.active.button-14,
a.active.button-15 { color: rgb(255, 255, 255); text-decoration: none; }
a.active.button-11,
a.active.button-12,
a.active.button-13 { color: rgba(0, 0, 0, 0.85); text-decoration: none; }
a.body-light { color: rgba(0, 0, 0, 0.75); text-decoration: none; }
a.head1 { color: rgba(0, 0, 0, 0.75); text-decoration: underline; }
a.captionwork { color: rgba(0, 0, 0, 0.42); text-decoration: underline; }
a.bodywork { color: rgba(0, 0, 0, 0.75); text-decoration: underline; }
a.ccc { color: rgba(0, 0, 0, 0.42); text-decoration: underline; }
a.bbb { color: rgb(0, 0, 0); text-decoration: underline; }
a.captionr { color: rgba(0, 0, 0, 0.75); text-decoration: underline; }
a.bodyminimove { color: rgba(0, 0, 0, 0.75); text-decoration: underline; }
a.r1 { color: rgb(0, 0, 0); text-decoration: underline rgb(81, 81, 246); }

/* ===== page-Z2290068486 ===== */
[id="Z2290068486"] .page-layout {
	max-width: var(--layout-left);
	align-items: flex-end;
	padding: 0.0rem;
}

[id="Z2290068486"].page {
    
/* 图片容器 */
#img_wrapper {
  position: relative;
  width: 100%;
  max-height: 500px;;
  overflow: hidden;
}

/* 默认图片样式 */
#default {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* 悬浮区域 */
.hover_area {
  position: absolute;
  width: 30%; /* 定义悬浮区域宽度 */
  height: 100%;
  left: 0;
  top: 0;
  background-color: rgba(237, 191, 191, 0.1); /* 半透明背景辅助定位 */
  z-index: 3;
  transition: background-color 0.3s ease;
}

.hover_area:hover {
  background-color: rgba(237, 191, 191, 0.3);
}

#popup_container {
  position: fixed;
  top: 0;
  right: 0;
  width: 0; /* 默认隐藏 */
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  overflow: hidden;
  z-index: 5;
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: row; /* 垂直排列图片 */
  justify-content: space-evenly;
  align-items: center;
  transition: width 0.4s ease; /* 弹出动画 */
}

/* 弹出图片样式 */
#popup_container img {
  width: auto;
  height: 10%; /* 确保九张图片均分高度 */
  animation: float 2s infinite ease-in-out alternate; /* 上下浮动效果 */
}

/* 上下浮动关键帧动画 */
@keyframes float {
  0% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(5px);
  }
}
}

[id="Z2290068486"] .page-content {
	background-color: #f2f2f2;
}

/* Home-left "gan studio" block: merge original two columns into one vertical flow */
[id="Z2290068486"] column-set:has(h2[data-copy-key="shared.home.left.gan.heading"]) {
  --columns-gutter: 0px !important;
}

[id="Z2290068486"] column-set:has(h2[data-copy-key="shared.home.left.gan.heading"]) > column-unit[slot] {
  --column-width: 100% !important;
  --resize-parent-width: 100% !important;
  flex-basis: 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}
#mini_moves {
  position: relative;
  width: 100%;
  overflow: visible;
}

#su {
  position: relative;
  width: 100%;
  overflow: visible;
}

#sss {
  position: relative;
  width: 100%;
  overflow: visible;
}

/* Keep source preview content in DOM but hidden from flow; shown via floating hover panel in JS */
#mi_content,
#su_content,
#sss_content {
  display: none !important;
}

#project-hover-preview {
  position: fixed;
  left: 0;
  top: 0;
  width: min(36rem, 46vw);
  max-height: min(74vh, 44rem);
  overflow: auto;
  box-sizing: border-box;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0;
  pointer-events: none;
  z-index: 12020;
  transform: translate3d(-9999px, -9999px, 0);
  transition: opacity 120ms ease;
}

#project-hover-preview.is-visible {
  opacity: 1;
}

#project-hover-preview .project-hover-body > :first-child {
  margin-top: 0 !important;
}

#project-hover-preview .project-hover-body {
  display: grid;
  gap: 0.6rem;
}

#project-hover-preview .project-hover-image,
#project-hover-preview img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
}

#project-hover-preview::-webkit-scrollbar {
  width: 0;
  height: 0;
}

#map-center-hover-preview {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  z-index: 21060;
  pointer-events: none;
}

#map-center-hover-preview.map-center-hover-preview--center-nav {
  pointer-events: auto;
  touch-action: none;
}

#map-center-hover-preview.map-center-hover-preview--center-nav .map-center-hover-preview-frame {
  cursor: pointer;
}

#map-center-hover-preview[hidden] {
  display: none !important;
}

#map-center-hover-preview,
#map-center-hover-preview * {
  transition: none !important;
  animation: none !important;
}

#map-center-hover-preview .map-center-hover-preview-frame {
  position: relative;
  margin: 0;
  width: var(--map-center-preview-w, 0px);
  height: var(--map-center-preview-h, 0px);
  overflow: hidden;
}

#map-center-hover-preview .map-center-hover-preview-open-traces-host,
#map-center-hover-preview .map-center-hover-preview-slideshow,
#map-center-hover-preview .map-center-hover-preview-placeholder {
  position: absolute;
  inset: 0;
  display: none;
}

#map-center-hover-preview.map-center-hover-preview--slideshow .map-center-hover-preview-slideshow {
  display: block;
}

#map-center-hover-preview .map-center-hover-preview-slideshow-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  background: transparent;
  opacity: 0;
}

#map-center-hover-preview .map-center-hover-preview-slideshow-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  background: transparent;
  opacity: 0;
  z-index: 3;
}

#map-center-hover-preview .map-center-hover-preview-slideshow-img-layer-a {
  z-index: 1;
}

#map-center-hover-preview .map-center-hover-preview-slideshow-img-layer-b {
  z-index: 2;
}

#map-center-hover-preview.map-center-hover-preview--slideshow .map-center-hover-preview-slideshow-img.is-visible {
  opacity: 1;
}

#map-center-hover-preview.map-center-hover-preview--slideshow .map-center-hover-preview-slideshow-video.is-visible {
  opacity: 1;
}

#map-center-hover-preview.map-center-hover-preview--slideshow-crossfade .map-center-hover-preview-slideshow-img {
  transition-property: opacity !important;
  transition-duration: var(--map-center-crossfade-duration, 160ms) !important;
  transition-timing-function: var(--map-center-crossfade-easing, linear) !important;
}

#map-center-hover-preview.map-center-hover-preview--open-traces .map-center-hover-preview-open-traces-host {
  display: block;
  overflow: hidden;
}

#map-center-hover-preview .map-center-open-traces-mirror {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--map-center-open-traces-base-w, 0px) !important;
  height: var(--map-center-open-traces-base-h, 0px) !important;
  max-width: none !important;
  margin-top: 0 !important;
  pointer-events: none !important;
  user-select: none !important;
  transform-origin: left top;
  transform: scale(var(--map-center-open-traces-scale, 1));
}

.map-center-open-traces-measure {
  margin-top: 0 !important;
}

#map-center-hover-preview .map-center-open-traces-mirror * {
  pointer-events: none !important;
}

#map-center-hover-preview .map-center-open-traces-mirror .practice3042-open-traces-media {
  width: 100% !important;
}

#map-center-hover-preview .map-center-open-traces-mirror .practice3042-open-traces-video {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

#map-center-hover-preview.map-center-hover-preview--placeholder .map-center-hover-preview-placeholder {
  display: block;
  background: #d9d9d9;
}

#map-hover-caption {
  --map-hover-caption-safe-gap: 18px;
  position: fixed;
  left: 50%;
  bottom: clamp(12px, 2.2vh, 24px);
  transform: translateX(-50%);
  width: min(74rem, calc(100vw - 2rem));
  padding: 0.62rem 0.9rem 0.66rem;
  border-radius: 0;
  background: rgba(18, 18, 18, 0.72);
  color: #ffffff;
  pointer-events: none;
  z-index: 21080;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

#map-hover-caption[hidden] {
  display: none !important;
}

#map-hover-caption,
#map-hover-caption * {
  transition: none !important;
  animation: none !important;
}

#map-hover-caption-title,
#map-hover-caption-desc {
  margin: 0;
  color: inherit;
}

#map-hover-caption-title {
  font-family: "Atkinson Hyperlegible";
  font-size: clamp(0.98rem, 1.3vw, 1.16rem);
  font-weight: 600;
  line-height: 1.2;
  text-transform: none;
}

#map-hover-caption-desc {
  margin-top: 0.2rem;
  font-family: "Atkinson Hyperlegible";
  font-size: clamp(0.84rem, 1.08vw, 1rem);
  font-weight: 400;
  line-height: 1.32;
  text-transform: none;
}

/* ===== page-A2913784058 ===== */
[id="A2913784058"].page {
	justify-content: flex-start;
	min-height: var(--viewport-height);
    --page-backdrop-filter: blur(0.1rem);
}

[id="A2913784058"] .page-content {
	text-align: left;
	padding: 3rem;
	align-items: center;
	padding-left: 0rem;
}

[id="A2913784058"] .page-layout {
	max-width: 100%;
	align-items: center;
}

/* ===== page-E2038875726 ===== */
[id="E2038875726"] .page-content {
	background-color: #ffffff;
	align-items: flex-start;
}

[id="E2038875726"] .page-layout {
	--page-layout-mix: normal;
	max-width: var(--layout-right);
}

[id="E2038875726"].page {
	min-height: var(--viewport-height);
	justify-content: flex-end;
	background-color: #ffffff;
}

/* ===== codex-overrides ===== */
[id="E2038875726"] .page-layout {
  width: var(--layout-right);
  max-width: var(--layout-right);
  flex: 0 0 var(--layout-right);
}

[id="Z2290068486"] .page-layout {
  width: var(--layout-left);
  max-width: var(--layout-left);
  flex: 0 0 var(--layout-left);
}

[id="Z2290068486"] [style*="--resize-parent-width: 386.8125px"],
[id="Z2290068486"] [style*="--resize-parent-width:386.8125px"],
[id="E2038875726"] [style*="--resize-parent-width: 991.609375px"],
[id="E2038875726"] [style*="--resize-parent-width:991.609375px"] {
  --resize-parent-width: 100% !important;
}

[id="Z2290068486"].page.fixed,
[id="Z2290068486"].page.fixed .page-layout,
[id="Z2290068486"].page.fixed.allow-scroll .page-content {
  height: 100dvh;
  max-height: 100dvh;
}

@supports not (height: 100dvh) {
  [id="Z2290068486"].page.fixed,
  [id="Z2290068486"].page.fixed .page-layout,
  [id="Z2290068486"].page.fixed.allow-scroll .page-content {
    height: 100vh;
    max-height: 100vh;
  }
}

/* Force all GAN slideshow images to fill their slot consistently */
media-item[hash="B2107712428874112825114675746760"],
media-item[hash="S2107712428984793289556933056456"],
media-item[hash="K2107712429021686777704352159688"],
media-item[hash="W2107712429003240033630642608072"] {
  width: 75% !important;
  min-width: 75% !important;
  max-width: 75% !important;
  flex-basis: 75% !important;
  --resize-parent-width: 75% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

media-item[hash="B2107712428874112825114675746760"]::part(media),
media-item[hash="S2107712428984793289556933056456"]::part(media),
media-item[hash="K2107712429021686777704352159688"]::part(media),
media-item[hash="W2107712429003240033630642608072"]::part(media) {
  width: 75% !important;
  height: 75% !important;
  min-width: 75% !important;
  min-height: 75% !important;
  max-width: 75% !important;
  max-height: 75% !important;
  inset: 0 !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.namecard-flip {
  width: 100%;
  cursor: var(--cursor-pointer-url) 16 16, pointer;
  perspective: 1600px;
  touch-action: manipulation;
  border-radius: clamp(7px, 2.1vw, 19px);
  overflow: hidden;
  background: #f9f9f9;
}

.namecard-flip-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 632 / 1024;
  transform-style: preserve-3d;
  border-radius: inherit;
  overflow: hidden;
}

.namecard-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
  border-radius: inherit;
  transform-style: preserve-3d;
  transition: transform 640ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.namecard-front {
  background: #e7e5e4;
  transform: rotateY(0deg) translateZ(0.01px);
  z-index: 2;
}

.namecard-back {
  background: #2f2f2f;
  transform: rotateY(180deg) translateZ(0.01px);
  z-index: 1;
}

.namecard-flip.is-flipped .namecard-front {
  transform: rotateY(-180deg) translateZ(0.01px);
}

.namecard-flip.is-flipped .namecard-back {
  transform: rotateY(0deg) translateZ(0.01px);
}

.namecard-face > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
  border-radius: inherit;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.namecard-back-scroll {
  position: absolute;
  inset: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: clamp(14px, 2vw, 24px) clamp(14px, 2vw, 24px) clamp(20px, 2.8vw, 30px);
}

.namecard-back-scroll::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.namecard-back-content {
  display: grid;
  align-content:  center;
  gap: clamp(14px, 1.8vw, 22px);
  padding-right: clamp(10px, 1.5vw, 16px);
}

.namecard-back-media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(8px, 1.1vw, 14px);
}

.namecard-back-media-item {
  margin: 0;
  border-radius: clamp(8px, 1vw, 12px);
  overflow: hidden;
  background: #2f2f2f;
}

.namecard-back-media-single {
  width: 100%;
}

.namecard-back-media-item img {
  display: block;
  width: 100%;
  height: auto;
}

.namecard-scroll-track {
  position: absolute;
  top: clamp(14px, 2vw, 20px);
  right: clamp(7px, 1vw, 10px);
  bottom: clamp(14px, 2vw, 20px);
  width: 3px;
  pointer-events: none;
}

.namecard-scroll-pill {
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: clamp(26px, 4.2vw, 40px);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  transform: translateY(var(--namecard-pill-y, 0px));
  transition: transform 80ms linear, opacity 180ms ease;
}

.namecard-back.no-scroll .namecard-scroll-track {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .namecard-face {
    transition: none;
  }
  .namecard-scroll-pill {
    transition: none;
  }
}

/* Only Mini Moves overlay two-column ratio (left 7 / right 3)
   Note: component has fixed 22.5px gutter; split remaining width to avoid overflow. */
[id="T0573975817"] {
  --mm-two-col-gutter: 22.5px;
}

[id="T0573975817"] .header1 > h1,
[id="D2580399572"] .header1 > h1,
[id="M2671306917"] .header1 > h1,
[id="T0573975817"] .mm-overlay-title {
  margin: 0 !important;
  font-size: var(--typo-h1-size) !important;
  font-weight: var(--typo-h1-weight) !important;
  line-height: var(--typo-h1-line) !important;
  color: var(--typo-h1-color) !important;
}

.mobile [id="T0573975817"] .header1 > h1,
.mobile [id="D2580399572"] .header1 > h1,
.mobile [id="M2671306917"] .header1 > h1,
.mobile [id="T0573975817"] .mm-overlay-title {
  font-size: var(--typo-h1-size-mobile) !important;
}

/* Strong fallback: all project overlay opening h1 titles match My Practice title sizing */
html.project-overlay-frame-doc .header1 > h1 {
  margin: 0 !important;
  font-size: var(--typo-h1-size) !important;
  font-weight: var(--typo-h1-weight) !important;
  line-height: var(--typo-h1-line) !important;
  color: var(--typo-h1-color) !important;
}

/* Prevent global bodycopy span scaling from overriding overlay h1 title text */
html.project-overlay-frame-doc .header1 > h1 span {
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
}

html.project-overlay-frame-doc.mobile .header1 > h1,
.mobile html.project-overlay-frame-doc .header1 > h1 {
  font-size: var(--typo-h1-size-mobile) !important;
}

[id="T0573975817"] .mm-overlay-contrib,
[id="T0573975817"] .overlay-contrib,
[id="D2580399572"] .overlay-contrib,
[id="M2671306917"] .overlay-contrib,
[id="M2671306917"] .overlay-implement-design {
  font-size: var(--text-body-lg-size) !important;
  font-weight: var(--text-body-lg-weight) !important;
  line-height: var(--text-body-lg-line) !important;
  color: var(--text-body-lg-color) !important;
}

[id="T0573975817"] column-set.mm-two-col > column-unit[slot="0"] {
  --column-width: calc((100% - var(--mm-two-col-gutter)) * 0.7) !important;
  width: calc((100% - var(--mm-two-col-gutter)) * 0.7) !important;
  flex-basis: calc((100% - var(--mm-two-col-gutter)) * 0.7) !important;
}

[id="T0573975817"] column-set.mm-two-col > column-unit[slot="1"] {
  --column-width: calc((100% - var(--mm-two-col-gutter)) * 0.3) !important;
  width: calc((100% - var(--mm-two-col-gutter)) * 0.3) !important;
  flex-basis: calc((100% - var(--mm-two-col-gutter)) * 0.3) !important;
}

/* Mini Moves overlay: control first image size only */
[id="T0573975817"] media-item[hash="P2109056708379344572925327284168"] {
  width: 100% !important;
  max-width: 520px !important;
  --resize-parent-width: 100% !important;
}

[id="T0573975817"] media-item[hash="P2109056708379344572925327284168"]::part(media) {
  object-fit: contain !important;
}

/* Mini Moves overlay: height follows content, but not shorter than viewport */
[id="T0573975817"].page {
  min-height: 100dvh !important;
  height: auto !important;
}

@supports not (height: 100dvh) {
  [id="T0573975817"].page {
    min-height: 100vh !important;
  }
}

[id="T0573975817"] .page-layout,
[id="T0573975817"] .page-content,
[id="T0573975817"] .page-content > bodycopy {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Keep Mini Moves content layer white down to viewport bottom */
[id="T0573975817"] .page-content {
  min-height: 100dvh !important;
}

@supports not (height: 100dvh) {
  [id="T0573975817"] .page-content {
    min-height: 100vh !important;
  }
}

/* Sustainable Waves overlay two-column ratio (left 7 / right 3)
   Scoped only to Sustainable overlay page id to avoid global side effects. */
[id="D2580399572"] {
  --sw-two-col-gutter: 22.5px;
}

[id="D2580399572"] .clm > column-set > column-unit[slot="0"] {
  --column-width: calc((100% - var(--sw-two-col-gutter)) * 0.7) !important;
  width: calc((100% - var(--sw-two-col-gutter)) * 0.7) !important;
  flex-basis: calc((100% - var(--sw-two-col-gutter)) * 0.7) !important;
}

[id="D2580399572"] .clm > column-set > column-unit[slot="1"] {
  --column-width: calc((100% - var(--sw-two-col-gutter)) * 0.3) !important;
  width: calc((100% - var(--sw-two-col-gutter)) * 0.3) !important;
  flex-basis: calc((100% - var(--sw-two-col-gutter)) * 0.3) !important;
}




/* My Practice: embedded Figma block below title */
#E2038875726 .mypractice-figma-embed-wrap {
  width: 100%;
  margin: 0 0 1.2rem 0;
}

#E2038875726 .mypractice-grid-svg {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
}

#E2038875726 .mypractice-grid-art {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== figma-node-3042-793 desktop rebuild (strict spacing from Figma auto layout) ===== */
:root {
  --global-page-gutter: 34px;
}

html[data-site-mode="figma3042"] {
  --home-bg-3042: #f2f2f2;
  --home-ink-3042: #1b1b1b;
  --home-top-3042: 16px;
  --home-hero-offset-y-3042: 0px;
  --home-col-left-3042: 668px;
  --home-col-mid-3042: 706px;
  --home-col-right-3042: 673px;
  --home-col-gap-3042: 204px;
  --home-hero-w-3042: calc(
    var(--home-col-left-3042) +
    var(--home-col-mid-3042) +
    var(--home-col-right-3042) +
    (var(--home-col-gap-3042) * 2)
  );
  --home-content-w-3042: var(--home-hero-w-3042);
  --home-mid-card-w-3042: 682.613px;
  --hero-scale-3042: 1;
  --max-title-size-3042: 73.229px;
  --max-title-line-3042: 73.229px;
  --landing-stage-w-3042: 1440px;
  --landing-stage-h-3042: 1024px;
  --landing-stage-ratio-3042: 1.40625;
  --landing-modal-z-3042: 20400;
  --project-inline-canvas-w-3042: min(calc(100vw - (var(--global-page-gutter) * 2)), var(--home-content-w-3042));
  --project-inline-close-top-3042: calc(var(--home-top-3042) + var(--home-hero-offset-y-3042));
}

html[data-site-mode="figma3042"],
html[data-site-mode="figma3042"] body {
  margin: 0 !important;
  padding: 0 !important;
  background: var(--home-bg-3042) !important;
  color: var(--home-ink-3042) !important;
  min-height: var(--viewport-height, 100vh) !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
}

html[data-site-mode="figma3042"] body {
  min-width: 0;
  font-family: "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .home3042 {
  width: 100%;
  position: relative;
}

/* Disable legacy floating overlay in figma3042 mode */
html[data-site-mode="figma3042"] .project-overlay-backdrop,
html[data-site-mode="figma3042"] .project-overlay-drawer,
html[data-site-mode="figma3042"] .project-overlay-frame,
html[data-site-mode="figma3042"] .project-overlay-close {
  display: none !important;
}

/* Inline project pages (replaces floating overlay) */
html[data-site-mode="figma3042"] .project-inline-shell[hidden] {
  display: none !important;
}

html[data-site-mode="figma3042"] .project-inline-shell {
  position: fixed;
  inset: 0;
  z-index: 20500;
  padding: var(--home-top-3042) var(--global-page-gutter) 56px;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--home-bg-3042);
  color: var(--home-ink-3042);
}

html[data-site-mode="figma3042"].project-inline-open,
html[data-site-mode="figma3042"].project-inline-open body {
  overflow: hidden !important;
}

html[data-site-mode="figma3042"].map-project-open,
html[data-site-mode="figma3042"].map-project-open body {
  overflow: hidden !important;
}

html[data-site-mode="figma3042"].landing-modal-open,
html[data-site-mode="figma3042"].landing-modal-open body {
  overflow: hidden !important;
}

html[data-site-mode="figma3042"].project-inline-open #site-shell {
  display: none;
}

html[data-site-mode="figma3042"] .project-inline-close {
  position: fixed;
  top: var(--project-inline-close-top-3042);
  right: calc((100vw - var(--project-inline-canvas-w-3042)) / 2);
  z-index: 20650;
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #000000;
  font-family: "Atkinson Hyperlegible", sans-serif;
  font-size: clamp(20px, 1.35vw, 24px);
  line-height: 1;
  font-weight: 400;
  padding: 0;
  cursor: pointer;
  display: block;
}

html[data-site-mode="figma3042"] .project-inline-close:active {
  opacity: 0.6;
}

html[data-site-mode="figma3042"] .project-inline-canvas {
  width: var(--project-inline-canvas-w-3042);
  margin: var(--home-hero-offset-y-3042) auto 0;
  padding: 0 0 72px;
  display: grid;
  grid-template-columns: minmax(0, 668fr) minmax(0, 706fr) minmax(0, 673fr);
  column-gap: 8.3096%;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-home-title {
  grid-column: 1;
  margin: 0 !important;
  width: auto;
}

html[data-site-mode="figma3042"] .project-inline-home-title.hero3042-title {
  font-size: var(--max-title-size-3042) !important;
  line-height: var(--max-title-line-3042) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: #1b1b1b !important;
  font-family: "Atkinson Hyperlegible", sans-serif !important;
}

html[data-site-mode="figma3042"] .project-inline-page {
  margin: 0;
}

html[data-site-mode="figma3042"] .project-inline-page[hidden] {
  display: none;
}

html[data-site-mode="figma3042"] .project-inline-page:not([hidden]) {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 668fr) minmax(0, 706fr) minmax(0, 673fr);
  column-gap: 8.3096%;
  row-gap: 28px;
  align-items: start;
  margin-top: 1lh;
  animation: none;
}

html[data-site-mode="figma3042"] .project-inline-hero {
  grid-column: 1 / -1;
  margin: 0 0 20px;
  padding: clamp(18px, 2vw, 26px) clamp(16px, 1.9vw, 26px);
  border-radius: 14px;
}

html[data-site-mode="figma3042"] .project-inline-hero-lime {
  background: #b4fd4f;
}

html[data-site-mode="figma3042"] .project-inline-hero-cyan {
  background: #85e0fb;
}

html[data-site-mode="figma3042"] .project-inline-hero-rose {
  background: #fcd5d6;
}

html[data-site-mode="figma3042"] .project-inline-label {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1b1b1b;
  opacity: 0.72;
  font-family: "Inter", "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .project-inline-title {
  margin: 0 0 8px;
  font-size: var(--max-title-size-3042);
  line-height: var(--max-title-line-3042);
  font-weight: 400;
  letter-spacing: 0;
  color: #1b1b1b;
  font-family: "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .project-inline-kicker {
  margin: 0 0 8px;
  font-size: 26px;
  line-height: normal;
  font-weight: 400;
  color: #1b1b1b;
  opacity: 0.72;
  font-family: "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .project-inline-date {
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  color: #1b1b1b;
  opacity: 0.72;
  font-family: "Inter", "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .project-inline-section {
  margin: 0 0 28px;
  min-width: 0;
}

html[data-site-mode="figma3042"] .project-inline-col-left {
  grid-column: 1;
}

html[data-site-mode="figma3042"] .project-inline-col-mid {
  grid-column: 2;
}

html[data-site-mode="figma3042"] .project-inline-col-right {
  grid-column: 3;
}

html[data-site-mode="figma3042"] .project-inline-col-full {
  grid-column: 1 / -1;
}

html[data-site-mode="figma3042"] .project-inline-section h2 {
  margin: 0 0 12px;
  font-size: 48px;
  line-height: 35.47px;
  font-weight: 400;
  color: #1b1b1b;
  font-family: "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .project-inline-section p,
html[data-site-mode="figma3042"] .project-inline-section li {
  margin: 0 0 10px;
  font-size: 26px;
  line-height: normal;
  font-weight: 400;
  color: #1b1b1b;
  opacity: 0.72;
  font-family: "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .project-inline-section ul {
  margin: 0;
  padding-left: 1.2em;
}

html[data-site-mode="figma3042"] .project-inline-gallery {
  display: grid;
  gap: 14px;
}

html[data-site-mode="figma3042"] .project-inline-gallery-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

html[data-site-mode="figma3042"] .project-inline-gallery-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

html[data-site-mode="figma3042"] .project-inline-gallery figure {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #dadada;
}

html[data-site-mode="figma3042"] .project-inline-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Sustainable Waves: exact desktop geometry from Figma node 3117:857 */
html[data-site-mode="figma3042"] .project-inline-page-sustainable {
  --project-sustainable-article-w: 1214.813px;
  --project-sustainable-article-h: 2274.32px;
  --project-sustainable-header-x: 0.414px;
  --project-sustainable-header-y: 0.266px;
  --project-sustainable-header-w: 1214px;
  --project-sustainable-header-h: 105px;
  --project-sustainable-intro-x: 0.415px;
  --project-sustainable-intro-y: 159.266px;
  --project-sustainable-intro-w: 1211.999px;
  --project-sustainable-intro-h: 254.374px;
  --project-sustainable-poster-w: 190.781px;
  --project-sustainable-poster-h: 254.374px;
  --project-sustainable-scroll-x: 1074.387px;
  --project-sustainable-scroll-y: 443.266px;
  --project-sustainable-scroll-w: 131.052px;
  --project-sustainable-scroll-h: 1851px;
  --project-sustainable-gallery-x: 0.414px;
  --project-sustainable-gallery-y: 469px;
  --project-sustainable-gallery-w: 1045.752px;
  --project-sustainable-gallery-gap-y: 44px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable > * {
  grid-column: 1 / -1;
  justify-self: center;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-stage {
  position: relative;
  width: min(100%, var(--project-sustainable-article-w));
  min-height: var(--project-sustainable-article-h);
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-header {
  position: absolute;
  left: var(--project-sustainable-header-x);
  top: var(--project-sustainable-header-y);
  margin: 0;
  width: var(--project-sustainable-header-w);
  min-height: var(--project-sustainable-header-h);
  border-radius: 0;
  padding: 26px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 562px;
  grid-template-rows: auto auto;
  column-gap: 0;
  row-gap: 8px;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: 24.8px;
  line-height: 31px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.75);
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-date {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  font-size: 15px;
  line-height: 18px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-kicker {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  width: 510px;
  justify-self: end;
  align-self: center;
  text-align: right;
  font-size: 26px;
  line-height: normal;
  opacity: 0.72;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-intro-band {
  position: absolute;
  left: var(--project-sustainable-intro-x);
  top: var(--project-sustainable-intro-y);
  width: var(--project-sustainable-intro-w);
  min-height: var(--project-sustainable-intro-h);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-poster {
  margin: 0;
  width: var(--project-sustainable-poster-w);
  height: var(--project-sustainable-poster-h);
  overflow: hidden;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-paragraph {
  margin: 0;
  width: 951px;
  font-size: 26px;
  line-height: normal;
  font-weight: 400;
  color: #1b1b1b;
  opacity: 0.72;
  font-family: "Atkinson Hyperlegible", sans-serif;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-gallery-stage {
  position: absolute;
  left: var(--project-sustainable-gallery-x);
  top: var(--project-sustainable-gallery-y);
  width: var(--project-sustainable-gallery-w);
  display: flex;
  flex-direction: column;
  gap: var(--project-sustainable-gallery-gap-y);
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-gallery-row {
  display: flex;
  align-items: center;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-gallery-row-a {
  width: 1032px;
  justify-content: space-between;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-gallery-row-b {
  width: 1045.752px;
  gap: 43px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile {
  margin: 0;
  overflow: hidden;
  background: #dadada;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1162 {
  width: 312.322px;
  height: 448.702px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1163 {
  width: 312.322px;
  height: 448.702px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1168 {
  width: 312.464px;
  height: 449px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1167 {
  width: 312px;
  height: 448.24px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1170 {
  width: 311.752px;
  height: 448px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-0862 {
  width: 336px;
  height: 448px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-column {
  position: absolute;
  left: var(--project-sustainable-scroll-x);
  top: var(--project-sustainable-scroll-y);
  margin: 0;
  width: var(--project-sustainable-scroll-w);
  height: var(--project-sustainable-scroll-h);
  min-width: 0;
  min-height: 0;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-window {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.52) transparent;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-window::-webkit-scrollbar {
  width: 4px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-window::-webkit-scrollbar-track {
  background: transparent;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-window::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.52);
  border-radius: 999px;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-figure {
  margin: 0;
  min-height: 100%;
}

html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-figure img {
  display: block;
  width: 100%;
  height: auto;
}

/* Mini Moves Matter: custom layout from Figma node 3115:857 */
html[data-site-mode="figma3042"] .project-inline-page-minimoves {
  --project-minimoves-content-w: 1214.813px;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-inline-section {
  margin: 0;
  width: min(100%, var(--project-minimoves-content-w));
  justify-self: center;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-header {
  margin: 0;
  padding: 26px;
  width: min(100%, var(--project-minimoves-content-w));
  justify-self: center;
  min-height: 105px;
  border-radius: 0;
  display: grid;
  grid-template-columns: minmax(0, 251px) minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 34px;
  row-gap: 8px;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: 24.8px;
  line-height: 31px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.75);
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-kicker {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  text-align: right;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-date {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  line-height: 18px;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-intro-row {
  margin-top: 45px;
  display: grid;
  grid-template-columns: minmax(0, 331fr) minmax(0, 855fr);
  column-gap: 28px;
  align-items: center;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-intro-mark {
  margin: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 331 / 183;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-intro-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-intro-copy,
html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-feature-copy,
html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-closing-row p {
  margin: 0;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-feature-row {
  margin-top: 123px;
  display: grid;
  grid-template-columns: minmax(0, 378.642fr) minmax(0, 378.837fr) minmax(0, 330fr);
  column-gap: 64px;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-feature-media {
  margin: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 378.642 / 505.116;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-gallery-row {
  margin-top: 47px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  column-gap: 45px;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-gallery-row figure {
  margin: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 207 / 277;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-gallery-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-closing-row {
  margin-top: 47px;
}

/* Shanghai Summer School: custom layout from Figma node 3118:857 */
html[data-site-mode="figma3042"] .project-inline-page-summerschool {
  --project-summerschool-content-w: 1214px;
  --project-summerschool-row-w: 1217px;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool > * {
  grid-column: 1 / -1;
  justify-self: center;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-header {
  margin: 0;
  width: min(100%, var(--project-summerschool-content-w));
  min-height: 105px;
  border-radius: 0;
  padding: 26px 26px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 510px;
  grid-template-rows: auto auto;
  column-gap: 112px;
  row-gap: 8px;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-title {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: 24.8px;
  line-height: 31px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.75);
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-date-row {
  grid-column: 1;
  grid-row: 2;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 0.72;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-date {
  margin: 0;
  line-height: 18px;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-language-board {
  margin: 0;
  width: 382px;
  height: 27px;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-language-board img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-kicker {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  width: 510px;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-preview {
  margin: 45.12px 0 0;
  width: min(100%, var(--project-summerschool-content-w));
  height: auto;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-preview img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-intro {
  margin: 21.79px 0 0;
  width: min(100%, var(--project-summerschool-content-w));
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-intro p {
  margin: 0;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row {
  margin: 0;
  width: min(100%, var(--project-summerschool-row-w));
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row figure,
html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row2 {
  margin: 0;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row img,
html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row2 img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-1 {
  margin-top: 36px;
  display: grid;
  grid-template-columns: 99.959px 144.663px 199.501px 280.022px 225px 225px;
  column-gap: 8.571px;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-1 figure {
  height: 300px;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row2 {
  margin-top: 20px;
  width: min(100%, var(--project-summerschool-row-w));
  height: 138.176px;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-3 {
  margin-top: 20.328px;
  display: grid;
  grid-template-columns: 161px 150px 150px 150px 150px 150px 267px;
  column-gap: 6.5px;
  align-items: start;
}

html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-3 figure {
  height: 200px;
}

@media (max-width: 1199.98px) {
  html[data-site-mode="figma3042"] .project-inline-gallery-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-header {
    min-height: 0;
    padding: 18px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    row-gap: 10px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-title {
    grid-column: 1;
    grid-row: 1;
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-date-row {
    grid-column: 1;
    grid-row: 2;
    flex-wrap: wrap;
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-language-board {
    width: min(100%, 382px);
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-kicker {
    grid-column: 1;
    grid-row: 3;
    width: auto;
    text-align: left;
    justify-content: flex-start;
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-1,
  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-3 {
    width: min(100%, var(--project-summerschool-content-w));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 12px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-1 figure,
  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row-3 figure {
    height: auto;
    aspect-ratio: 3 / 4;
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row2 {
    width: min(100%, var(--project-summerschool-content-w));
    height: auto;
  }

  html[data-site-mode="figma3042"] .project-inline-page-summerschool .project-summerschool-row2 img {
    height: auto;
  }

}

/* Hover preview for project links */
html[data-site-mode="figma3042"] #project-hover-preview {
  width: min(28rem, 34vw);
  max-height: min(68vh, 42rem);
  z-index: 21050;
}

html[data-site-mode="figma3042"] #project-hover-preview .project-hover-body {
  gap: 0;
}

html[data-site-mode="figma3042"] #project-hover-preview .project-hover-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  background: transparent;
}

html[data-site-mode="figma3042"] .hero3042 {
  position: relative;
  min-height: var(--min-viewport-height, 100vh);
  box-sizing: border-box;
  background: var(--home-bg-3042);
  padding: 0;
  display: grid;
  align-items: center;
  justify-items: center;
}

html[data-site-mode="figma3042"] .hero3042-canvas {
  width: min(
    var(--landing-stage-w-3042),
    100vw,
    calc(var(--min-viewport-height, 100vh) * var(--landing-stage-ratio-3042))
  );
  aspect-ratio: 1440 / 1024;
  height: auto;
  min-height: 0;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
}

html[data-site-mode="figma3042"] .landing3042-stage {
  position: relative;
  width: 100%;
  height: 100%;
}

html[data-site-mode="figma3042"] .landing3042-header {
  position: absolute;
  left: 2.9528%;
  top: 1.4697%;
  width: 56.2971%;
  margin: 0;
}

html[data-site-mode="figma3042"] #homepage---left .hero3042-title {
  margin: 0;
  font-size: clamp(38px, 4.444vw, 64px);
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: 0;
  color: #161616;
}

html[data-site-mode="figma3042"] .landing3042-title-copy {
  margin: clamp(10px, 1.413vw, 20.344px) 0 0;
  font-size: clamp(23px, 3.075vw, 44.287px);
  line-height: 1.2;
  color: #1b1b1b;
}

html[data-site-mode="figma3042"] .landing3042-inline-link {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  margin: 0;
  text-decoration: underline;
  text-underline-offset: 0.07em;
  cursor: pointer;
}

html[data-site-mode="figma3042"] .landing3042-inline-link:hover,
html[data-site-mode="figma3042"] .landing3042-inline-link:focus-visible {
  opacity: 0.75;
}

html[data-site-mode="figma3042"] .landing3042-inline-link:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.45);
  outline-offset: 2px;
}

html[data-site-mode="figma3042"] .landing3042-logo {
  position: absolute;
  left: 4.475%;
  top: 36.1348%;
  width: 28.5715%;
  height: 40.1786%;
  object-fit: contain;
  display: block;
  pointer-events: none;
}

html[data-site-mode="figma3042"] .landing3042-bubbles {
  position: absolute;
  inset: 0;
}

html[data-site-mode="figma3042"] .landing3042-bubble-art {
  position: absolute;
  display: block;
  max-width: none;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

html[data-site-mode="figma3042"] .landing3042-bubble-hi {
  left: 29.8917%;
  top: 40.1777%;
  width: 14.0566%;
  height: 10.3628%;
}

html[data-site-mode="figma3042"] .landing3042-bubble-preferred {
  left: 46.9938%;
  top: 30.4688%;
  width: 22.5869%;
  height: 12.0103%;
}

html[data-site-mode="figma3042"] .landing3042-bubble-legally {
  left: 35.8757%;
  top: 49.6709%;
  width: 26.9694%;
  height: 12.0103%;
}

html[data-site-mode="figma3042"] .landing3042-bubble-uyghur {
  left: 66.2153%;
  top: 42.4707%;
  width: 21.9126%;
  height: 12.0103%;
}

html[data-site-mode="figma3042"] .landing3042-bubble-button {
  position: absolute;
  left: 52.8965%;
  top: 60.8291%;
  width: 25.8975%;
  height: 13.3476%;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

html[data-site-mode="figma3042"] .landing3042-bubble-button:hover,
html[data-site-mode="figma3042"] .landing3042-bubble-button:focus-visible {
  opacity: 0.86;
}

html[data-site-mode="figma3042"] .landing3042-bubble-button:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.45);
  outline-offset: 3px;
}

html[data-site-mode="figma3042"] .landing3042-practice-cta {
  position: absolute;
  left: 42.3757%;
  top: 82.2383%;
  width: 15.2487%;
  height: 17.7314%;
  border: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  color: #000;
}

html[data-site-mode="figma3042"] .landing3042-practice-cta:hover,
html[data-site-mode="figma3042"] .landing3042-practice-cta:focus-visible {
  opacity: 0.78;
}

html[data-site-mode="figma3042"] .landing3042-practice-cta:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.45);
  outline-offset: 5px;
}

html[data-site-mode="figma3042"] .landing3042-practice-cta-arrow {
  position: absolute;
  left: 50%;
  top: 0;
  width: 48.607%;
  height: 58.778%;
  transform: translateX(-50%);
  display: block;
}

html[data-site-mode="figma3042"] .landing3042-practice-cta-copy {
  position: absolute;
  left: 14.924%;
  top: 66.953%;
  width: 70.076%;
  margin: 0;
  text-align: center;
  font-size: clamp(18px, 1.845vw, 26.572px);
  line-height: 1.2;
  text-transform: lowercase;
}

html[data-site-mode="figma3042"] .landing3042-bubble-button .landing3042-bubble-art {
  inset: 0;
}

html[data-site-mode="figma3042"] .landing3042-modal[hidden] {
  display: none !important;
}

html[data-site-mode="figma3042"] .landing3042-modal {
  position: fixed;
  inset: 0;
  z-index: var(--landing-modal-z-3042);
  display: grid;
  place-items: center;
  padding: clamp(16px, 2.2vw, 30px);
  background: rgba(18, 18, 18, 0.42);
  backdrop-filter: blur(1.5px);
  -webkit-backdrop-filter: blur(1.5px);
}

html[data-site-mode="figma3042"] .landing3042-modal-dialog {
  width: min(calc(100vw - 2 * clamp(16px, 2.2vw, 30px)), 1180px);
  max-height: min(90vh, 920px);
  overflow-y: auto;
  background: #f4f4f4;
  border-radius: 20px;
  padding: clamp(24px, 2.4vw, 36px);
  box-sizing: border-box;
  position: relative;
}

html[data-site-mode="figma3042"] .landing3042-modal-dialog-exclusion {
  width: min(calc(100vw - 2 * clamp(16px, 2.2vw, 30px)), 860px);
}

html[data-site-mode="figma3042"] .landing3042-modal-dialog-studio {
  width: min(calc(100vw - 2 * clamp(16px, 2.2vw, 30px)), 1120px);
}

html[data-site-mode="figma3042"] .landing3042-modal-close {
  position: absolute;
  right: clamp(16px, 1.8vw, 24px);
  top: clamp(14px, 1.4vw, 20px);
  border: 0;
  background: transparent;
  color: #161616;
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1;
  cursor: pointer;
}

html[data-site-mode="figma3042"] .landing3042-modal-close:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.45);
  outline-offset: 3px;
}

html[data-site-mode="figma3042"] #exclusion-modal.landing3042-modal {
  place-items: center;
  padding: clamp(16px, 2.2vw, 30px);
}

html[data-site-mode="figma3042"] #exclusion-modal .landing3042-modal-dialog {
  width: auto;
  max-height: none;
  overflow: visible;
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  display: grid;
  justify-items: center;
  position: relative;
}

html[data-site-mode="figma3042"] #exclusion-modal .landing3042-modal-close {
  left: 50%;
  right: auto;
  top: calc(-1 * clamp(34px, 4vw, 48px));
  transform: translateX(-50%);
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #f4f4f4;
  padding: 0;
  font-size: clamp(24px, 2.2vw, 32px);
}

html[data-site-mode="figma3042"] #exclusion-modal .landing3042-modal-close:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 4px;
}

html[data-site-mode="figma3042"] #exclusion-modal .landing3042-namecard-wrap {
  width: min(
    calc((75vh * 682.613) / 1106.402),
    calc(100vw - (2 * clamp(16px, 2.2vw, 30px)))
  );
  max-width: 100%;
  margin: 0;
}

html[data-site-mode="figma3042"] #exclusion-modal .landing3042-namecard-wrap .namecard-flip {
  max-width: 100%;
  border-radius: 20px;
  cursor: default;
  pointer-events: none;
}

html[data-site-mode="figma3042"] #exclusion-modal .landing3042-namecard-wrap .namecard-flip-inner {
  aspect-ratio: 682.613 / 1106.402;
}

html[data-site-mode="figma3042"] #exclusion-modal .namecard-back,
html[data-site-mode="figma3042"] #exclusion-modal .namecard-scroll-track {
  display: none;
}

html[data-site-mode="figma3042"] #exclusion-modal .namecard-flip.is-flipped .namecard-front {
  transform: rotateY(0deg) translateZ(0.01px);
}

html[data-site-mode="figma3042"] .landing3042-modal-title {
  margin: 0 0 8px;
  font-size: clamp(38px, 3.2vw, 52px);
  line-height: 1;
  color: #161616;
}

html[data-site-mode="figma3042"] .landing3042-modal-kicker {
  margin: 0 0 clamp(16px, 2.2vw, 28px);
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: 1.3;
  color: rgba(22, 22, 22, 0.74);
}

html[data-site-mode="figma3042"] .landing3042-namecard-wrap {
  width: min(100%, 720px);
  margin: 0 auto;
}

html[data-site-mode="figma3042"] .landing3042-namecard-wrap .namecard-flip {
  max-width: 100%;
  border-radius: 20px;
}

html[data-site-mode="figma3042"] .landing3042-namecard-wrap .namecard-flip-inner {
  aspect-ratio: 682.613 / 1106.402;
}

html[data-site-mode="figma3042"] .landing3042-modal-dialog-studio .gan3042-head {
  margin-bottom: clamp(18px, 2.1vw, 28px);
}

html[data-site-mode="figma3042"] .landing3042-modal-dialog-studio .hero3042-title {
  margin: 0;
  font-size: clamp(42px, 3.4vw, 68px);
  line-height: 0.98;
}

html[data-site-mode="figma3042"] .gan3042-logo-carousel {
  position: relative;
  width: 100%;
  height: clamp(240px, 36vw, 420px);
  margin-bottom: clamp(14px, 2vw, 22px);
  overflow: hidden;
}

html[data-site-mode="figma3042"] .gan3042-logo-slide {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 74%;
  height: 74%;
  object-fit: contain;
  object-position: center;
  opacity: 0;
  animation: gan3042LogoFlash 3.2s steps(1, end) infinite;
}

html[data-site-mode="figma3042"] .gan3042-logo-slide-1 {
  animation-delay: 0s;
}

html[data-site-mode="figma3042"] .gan3042-logo-slide-2 {
  animation-delay: 0.8s;
}

html[data-site-mode="figma3042"] .gan3042-logo-slide-3 {
  animation-delay: 1.6s;
}

html[data-site-mode="figma3042"] .gan3042-logo-slide-4 {
  animation-delay: 2.4s;
}

@keyframes gan3042LogoFlash {
  0%,
  24.99% {
    opacity: 1;
  }
  25%,
  100% {
    opacity: 0;
  }
}

html[data-site-mode="figma3042"] .gan3042-subtitle {
  margin: 0 0 clamp(18px, 2.2vw, 26px) 0;
  font-size: clamp(20px, 1.65vw, 28px);
  line-height: 1.3;
  color: rgba(27, 27, 27, 0.75);
}

html[data-site-mode="figma3042"] .gan3042-project-title {
  margin: 0 0 12px 0;
  font-size: clamp(32px, 2.5vw, 44px);
  line-height: 1.1;
  font-weight: 400;
}

html[data-site-mode="figma3042"] .gan3042-project-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  column-gap: 14px;
  align-items: baseline;
}

html[data-site-mode="figma3042"] .gan3042-project-link,
html[data-site-mode="figma3042"] .gan3042-project-more,
html[data-site-mode="figma3042"] .gan3042-writing a {
  color: #1b1b1b;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

html[data-site-mode="figma3042"] .gan3042-project-link,
html[data-site-mode="figma3042"] .gan3042-project-more {
  font-size: clamp(24px, 1.95vw, 34px);
  line-height: 1.4;
}

html[data-site-mode="figma3042"] .gan3042-writing {
  margin: 18px 0 0;
  font-size: clamp(30px, 2.4vw, 42px);
  line-height: 1.1;
}

@media (prefers-reduced-motion: reduce) {
  html[data-site-mode="figma3042"] .landing3042-bubble-button,
  html[data-site-mode="figma3042"] .gan3042-logo-slide {
    animation: none !important;
    transform: none !important;
  }
  html[data-site-mode="figma3042"] .gan3042-logo-slide-1 {
    opacity: 1 !important;
  }
}

html[data-site-mode="figma3042"] .practice3042 {
  background: #ffffff;
  padding: 44px var(--global-page-gutter) 80px;
}

html[data-site-mode="figma3042"] .practice3042-canvas {
  width: min(calc(100vw - (var(--global-page-gutter) * 2)), var(--home-content-w-3042));
  margin: 0 auto;
  position: relative;
}

html[data-site-mode="figma3042"] .practice3042-title {
  margin: 0 0 20px 0 !important;
  font-size: var(--max-title-size-3042) !important;
  line-height: var(--max-title-line-3042) !important;
  font-weight: 400 !important;
  color: #1b1b1b !important;
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
}

html[data-site-mode="figma3042"] .practice3042-title-icon {
  width: 51px;
  height: auto;
  margin-top: 13px;
}

html[data-site-mode="figma3042"] .practice3042-grid-wrap {
  width: 100%;
  position: relative;
}

html[data-site-mode="figma3042"] .map-project-inline-shell[hidden] {
  display: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-shell {
  position: static;
  width: 100%;
  height: var(--map-project-inline-shell-h, auto);
  margin: 0;
  padding-top: 0;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .map-project-inline-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  border: 0;
  background: transparent;
  color: #000000;
  font-family: "Atkinson Hyperlegible", sans-serif;
  font-size: clamp(19px, 1.25vw, 24px);
  font-weight: 400;
  line-height: 1;
  padding: 0;
  cursor: pointer;
}

html[data-site-mode="figma3042"].map-project-open .map-project-inline-close {
  top: 0;
  right: 0;
  font-size: var(--max-title-size-3042);
  line-height: var(--max-title-line-3042);
}

html[data-site-mode="figma3042"] .map-project-inline-close:active {
  opacity: 0.6;
}

html[data-site-mode="figma3042"] .map-project-inline-content {
  margin-top: 0;
  width: 100%;
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  gap: 14px;
  transform: translate3d(0, 0, 0);
  transition: transform 160ms ease;
  will-change: transform;
}

html[data-site-mode="figma3042"] .map-project-inline-scroll {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

html[data-site-mode="figma3042"] .map-project-inline-scroll::-webkit-scrollbar {
  width: 6px;
}

html[data-site-mode="figma3042"] .map-project-inline-scroll::-webkit-scrollbar-track {
  background: transparent;
}

html[data-site-mode="figma3042"] .map-project-inline-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.22);
}

html[data-site-mode="figma3042"] .map-project-inline-content.is-dragging-horizontal {
  transition: none;
  cursor: grabbing;
  user-select: none;
}

html[data-site-mode="figma3042"] .map-project-inline-media {
  margin: 0;
  position: relative;
  width: 100%;
  height: 100%;
  max-height: none;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .map-project-inline-media > #map-project-inline-media-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

html[data-site-mode="figma3042"] .map-project-inline-media-dynamic[hidden] {
  display: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-media-dynamic {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

html[data-site-mode="figma3042"] .map-project-inline-media--dynamic #map-project-inline-media-img {
  display: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-media-opentraces-host[hidden] {
  display: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-media-opentraces-host {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  pointer-events: none;
}

html[data-site-mode="figma3042"] .map-project-inline-media--opentraces #map-project-inline-media-img,
html[data-site-mode="figma3042"] .map-project-inline-media--opentraces #map-project-inline-media-dynamic {
  display: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-media-opentraces-host .map-project-inline-opentraces-mirror {
  margin: 0 !important;
  width: var(--map-project-open-traces-base-w, 100%);
  max-width: none;
  transform: scale(var(--map-project-open-traces-scale, 1));
  transform-origin: center center;
  pointer-events: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-media-opentraces-host .map-project-inline-opentraces-mirror * {
  pointer-events: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-media-opentraces-host .map-project-inline-opentraces-mirror .practice3042-open-traces-media {
  overflow: visible;
}

html[data-site-mode="figma3042"] .map-project-inline-media-opentraces-host .map-project-inline-opentraces-mirror .practice3042-open-traces-video {
  object-fit: cover;
  object-position: center;
}

html[data-site-mode="figma3042"] .map-project-inline-media-dynamic-video,
html[data-site-mode="figma3042"] .map-project-inline-media-dynamic-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

html[data-site-mode="figma3042"] .map-project-inline-media-dynamic-video,
html[data-site-mode="figma3042"] .map-project-inline-media-dynamic-img-layer {
  opacity: 0;
  transition:
    opacity var(--map-project-inline-crossfade-duration, 140ms)
    var(--map-project-inline-crossfade-easing, linear);
}

html[data-site-mode="figma3042"] .map-project-inline-media-dynamic-video.is-visible,
html[data-site-mode="figma3042"] .map-project-inline-media-dynamic-img-layer.is-visible {
  opacity: 1;
}

html[data-site-mode="figma3042"] .map-project-inline-desc {
  margin: 0;
  width: 100%;
  max-width: none;
  font-family: "Atkinson Hyperlegible", sans-serif;
  font-size: 26px;
  line-height: normal;
  font-weight: 400;
  opacity: 0.72;
  color: #1b1b1b;
}

html[data-site-mode="figma3042"] .map-project-inline-nav[hidden] {
  display: none !important;
}

html[data-site-mode="figma3042"] .map-project-inline-nav {
  width: 100%;
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

html[data-site-mode="figma3042"] .map-project-inline-nav-btn {
  min-width: clamp(40px, 3vw, 56px);
  min-height: clamp(40px, 3vw, 56px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

html[data-site-mode="figma3042"] .map-project-inline-nav-btn:active {
  opacity: 0.6;
}

html[data-site-mode="figma3042"] .map-project-inline-nav-icon {
  display: block;
  width: clamp(24px, 1.9vw, 34px);
  height: auto;
  flex: 0 0 auto;
  max-width: none;
}

html[data-site-mode="figma3042"] .map-project-inline-nav-btn-prev .map-project-inline-nav-icon {
  transform: rotate(-90deg);
}

html[data-site-mode="figma3042"] .map-project-inline-nav-btn-next .map-project-inline-nav-icon {
  transform: rotate(90deg);
}

html[data-site-mode="figma3042"] .map-project-inline-nav-label {
  display: inline-block;
  font-family: "Atkinson Hyperlegible", sans-serif;
  font-size: clamp(16px, 1.15vw, 22px);
  line-height: 1.15;
  font-weight: 400;
  color: #000000;
  white-space: nowrap;
}

html[data-site-mode="figma3042"] .map-project-inline-nav-btn-prev {
  justify-content: flex-start;
}

html[data-site-mode="figma3042"] .map-project-inline-nav-btn-next {
  justify-content: flex-end;
}

html[data-site-mode="figma3042"].map-project-open .practice3042-grid-wrap {
  display: none;
}

html[data-site-mode="figma3042"].map-project-open #map-project-inline-shell {
  display: block;
}

html[data-site-mode="figma3042"].map-project-open #map-project-inline-nav {
  display: flex;
}

html[data-site-mode="figma3042"].map-project-open #map-center-hover-preview,
html[data-site-mode="figma3042"].map-project-open #map-hover-caption {
  display: none !important;
}

html[data-site-mode="figma3042"].map-project-open .practice3042-title-icon {
  display: none;
}

html[data-site-mode="figma3042"] .mypractice-grid-svg {
  --mypractice-grid-w: 9713.4931640625;
  --mypractice-grid-h: 3761.8828125;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  aspect-ratio: calc(var(--mypractice-grid-w) / var(--mypractice-grid-h));
}

html[data-site-mode="figma3042"] .mypractice-grid-art {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

html[data-site-mode="figma3042"] .mypractice-grid-layer--union path,
html[data-site-mode="figma3042"] .mypractice-grid-layer--axis-y path,
html[data-site-mode="figma3042"] .mypractice-grid-layer--axis-x path {
  fill: #000000;
}

html[data-site-mode="figma3042"] .mypractice-grid-label {
  font-family: "Atkinson Hyperlegible", sans-serif;
  font-size: 96.974px;
  font-weight: 400;
  letter-spacing: 0;
  fill: #000000;
  text-rendering: geometricPrecision;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay {
  --mypractice-map-frame-w: 9713;
  --mypractice-map-frame-h: 3763.385009765625;
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item {
  position: absolute;
  margin: 0;
  overflow: hidden;
  pointer-events: auto;
  left: calc((var(--x) / var(--mypractice-map-frame-w)) * 100%);
  top: calc((var(--y) / var(--mypractice-map-frame-h)) * 100%);
  width: calc((var(--w) / var(--mypractice-map-frame-w)) * 100%);
  height: calc((var(--h) / var(--mypractice-map-frame-h)) * 100%);
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item--crop-945 img {
  left: -5.31%;
  top: -30.3%;
  width: 132.83%;
  height: 141.26%;
  object-fit: fill;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item--crop-944 img {
  left: -26.66%;
  top: -24.39%;
  width: 149.57%;
  height: 154.1%;
  object-fit: fill;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item[data-node-id="3139:21711"] img {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item[data-node-id="3139:21710"] img {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item[data-node-id="3139:21718"] img {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-item--crop-1 img {
  left: -74.7%;
  top: 0;
  width: 177.78%;
  height: 100%;
  object-fit: fill;
}

html[data-site-mode="figma3042"] .practice3042-open-traces {
  width: 100%;
  margin-top: 28px;
  background: #1b1b1b;
  color: #efefef;
  border-radius: 10px;
  padding: 30px 30px 0;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-desc {
  margin: 0;
  max-width: 818px;
  font-family: "Atkinson Hyperlegible", sans-serif;
  font-size: var(--practice-open-traces-desc-size, 32px);
  line-height: 1.5;
  letter-spacing: -0.022em;
  color: #efefef;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-brand {
  display: inline-flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 4px;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-brand-mark {
  width: 78px;
  height: 103px;
  display: block;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-brand-text {
  margin: 0;
  font-family: "Helvetica", "Arial", sans-serif;
  font-size: 48px;
  line-height: 1.05;
  font-weight: 700;
  color: #efefef;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-media {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1860 / 823;
  border-radius: 10px;
  overflow: visible;
  background: #111111;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-video {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: #111111;
  border-radius: 10px;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-overlay {
  position: absolute;
  left: -1.5914%;
  top: -27.8797%;
  z-index: 20;
  width: 102.2043%;
  height: auto;
  max-width: none;
  pointer-events: none;
  user-select: none;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-meta {
  margin-top: 0;
  padding: 12px 0 8px;
  position: relative;
  z-index: 30;
  background: #1b1b1b;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #efefef;
}

html[data-site-mode="figma3042"] .practice3042-open-traces-credit,
html[data-site-mode="figma3042"] .practice3042-open-traces-year {
  margin: 0;
  font-family: "Inter", "Atkinson Hyperlegible", sans-serif;
  font-size: 15px;
  line-height: 1.2;
  color: #efefef;
}

html[data-site-mode="figma3042"] .practice3042-ending {
  margin: 16px 0 0;
  text-align: center;
  font-size: 16px;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.5);
}

html[data-site-mode="figma3042"] .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

/* Desktop stage A: >=1600, scale-only (no responsive reflow) */
@media (min-width: 1600px) {
  html[data-site-mode="figma3042"] {
    --global-page-gutter: clamp(34px, calc(34px + ((100vw - 1600px) * 0.06)), 72px);
    --project-inline-canvas-w-3042: min(calc(100vw - (var(--global-page-gutter) * 2)), var(--home-content-w-3042));
    --project-inline-close-top-3042: var(--home-top-3042);
  }

  html[data-site-mode="figma3042"] .home3042 {
    zoom: 1;
    width: 100%;
    transform: none;
  }

  html[data-site-mode="figma3042"] .practice3042 {
    padding-left: var(--global-page-gutter);
    padding-right: var(--global-page-gutter);
  }

  html[data-site-mode="figma3042"] .project-inline-shell {
    padding-left: var(--global-page-gutter);
    padding-right: var(--global-page-gutter);
    padding-top: var(--home-top-3042);
    padding-bottom: clamp(34px, 4vh, 54px);
  }

  html[data-site-mode="figma3042"] .hero3042 {
    height: var(--min-viewport-height, 100vh);
    min-height: var(--min-viewport-height, 100vh);
    padding-top: 0;
    padding-bottom: 0;
  }

  html[data-site-mode="figma3042"] .hero3042-canvas {
    width: min(
      var(--landing-stage-w-3042),
      100vw,
      calc(var(--min-viewport-height, 100vh) * var(--landing-stage-ratio-3042))
    );
    min-height: 0;
    transform: none;
  }

  html[data-site-mode="figma3042"] .project-inline-canvas {
    width: var(--project-inline-canvas-w-3042);
    margin-top: 0;
  }

  html[data-site-mode="figma3042"] .practice3042-canvas {
    width: min(calc(100vw - (var(--global-page-gutter) * 2)), var(--home-content-w-3042));
  }

  html[data-site-mode="figma3042"] .practice3042 {
    height: auto;
    min-height: var(--viewport-height, 100vh);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: clamp(40px, 4.5vh, 64px);
    padding-bottom: clamp(40px, 5vh, 72px);
  }

  html[data-site-mode="figma3042"] .practice3042-title-icon {
    width: 51px;
    margin-top: 13px;
  }

}

/* Desktop stage B: 1024-1599.98, keep one-screen hero; fit by width + height */
@media (max-width: 1599.98px) and (min-width: 1024px) {
  html[data-site-mode="figma3042"] {
    --global-page-gutter: clamp(20px, calc(20px + ((100vw - 1024px) * 0.02)), 34px);
    --project-inline-canvas-w-3042: min(calc(100vw - (var(--global-page-gutter) * 2)), var(--home-content-w-3042));
    --project-inline-close-top-3042: var(--home-top-3042);
  }

  html[data-site-mode="figma3042"] body {
    overflow-x: hidden !important;
  }

  html[data-site-mode="figma3042"] .home3042 {
    zoom: 1;
    width: 100%;
    transform: none;
  }

  html[data-site-mode="figma3042"] .hero3042 {
    height: var(--min-viewport-height, 100vh);
    min-height: var(--min-viewport-height, 100vh);
    padding-top: 0;
    padding-bottom: 0;
  }

  html[data-site-mode="figma3042"] .project-inline-shell {
    padding-left: var(--global-page-gutter);
    padding-right: var(--global-page-gutter);
    padding-top: var(--home-top-3042);
    padding-bottom: clamp(30px, 4vh, 48px);
  }

  html[data-site-mode="figma3042"] .hero3042-canvas {
    width: min(
      var(--landing-stage-w-3042),
      100vw,
      calc(var(--min-viewport-height, 100vh) * var(--landing-stage-ratio-3042))
    );
    min-height: 0;
    transform: none;
  }

  html[data-site-mode="figma3042"] .project-inline-canvas {
    width: var(--project-inline-canvas-w-3042);
    margin-top: 0;
  }

  html[data-site-mode="figma3042"] .practice3042 {
    height: auto;
    min-height: var(--viewport-height, 100vh);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: clamp(34px, 4vh, 56px);
    padding-bottom: clamp(36px, 4.8vh, 68px);
  }

  html[data-site-mode="figma3042"] .practice3042-canvas {
    width: min(calc(100vw - (var(--global-page-gutter) * 2)), var(--home-content-w-3042));
  }

  html[data-site-mode="figma3042"] .practice3042-title-icon {
    width: 51px;
    margin-top: 13px;
  }

}

/* Tablet stage: 768-1023.98, medium-density adaptation */
@media (min-width: 768px) and (max-width: 1023.98px) {
  html[data-site-mode="figma3042"] {
    --global-page-gutter: clamp(22px, 3.8vw, 36px);
    --project-inline-canvas-w-3042: min(calc(100vw - (var(--global-page-gutter) * 2)), 920px);
    --project-inline-close-top-3042: clamp(16px, 2.8vw, 26px);
  }

  html[data-site-mode="figma3042"] body {
    overflow-x: hidden !important;
  }

  html[data-site-mode="figma3042"] .home3042 {
    zoom: 1;
    width: 100%;
    transform: none;
  }

  html[data-site-mode="figma3042"] .hero3042 {
    min-height: 100dvh;
    padding-top: clamp(18px, 3.4vw, 28px);
    padding-bottom: clamp(20px, 3.8vw, 32px);
  }

  html[data-site-mode="figma3042"] .hero3042-canvas {
    width: min(
      calc(100vw - (var(--global-page-gutter) * 2)),
      calc((100dvh - clamp(48px, 10vh, 96px)) * var(--landing-stage-ratio-3042))
    );
    min-height: 0;
    transform: none;
  }

  html[data-site-mode="figma3042"] .project-inline-shell {
    padding-top: clamp(18px, 3.4vw, 28px);
    padding-bottom: clamp(24px, 4vw, 34px);
    padding-left: var(--global-page-gutter);
    padding-right: var(--global-page-gutter);
  }

  html[data-site-mode="figma3042"] .project-inline-canvas,
  html[data-site-mode="figma3042"] .practice3042-canvas {
    width: var(--project-inline-canvas-w-3042);
    margin-top: 0;
  }

  html[data-site-mode="figma3042"] .practice3042 {
    padding-top: clamp(28px, 4.8vw, 44px);
    padding-bottom: clamp(34px, 5.8vw, 52px);
  }

  html[data-site-mode="figma3042"] .practice3042-title {
    font-size: clamp(58px, 8vw, 73.229px) !important;
    line-height: 1.02 !important;
  }
}

/* Mobile stage: <768, primary handset adaptation (320-480 baseline) */
@media (max-width: 767.98px) {
  html[data-site-mode="figma3042"] {
    --global-page-gutter: clamp(14px, 4vw, 22px);
    --landing-mobile-design-ratio-3042: 0.538078;
    --landing-mobile-max-w-3042: 430px;
  }

  html[data-site-mode="figma3042"] body {
    overflow-x: hidden !important;
  }

  html[data-site-mode="figma3042"] .home3042 {
    zoom: 1;
    width: 100%;
    transform: none;
  }

  html[data-site-mode="figma3042"] .hero3042 {
    min-height: 100dvh;
    padding-top: clamp(10px, 3.6vw, 20px);
    padding-bottom: clamp(12px, 4vw, 24px);
    display: grid;
    place-items: center;
  }

  html[data-site-mode="figma3042"] .project-inline-shell {
    padding-top: clamp(22px, 5vw, 36px);
    padding-bottom: clamp(28px, 6vw, 44px);
    padding-left: var(--global-page-gutter);
    padding-right: var(--global-page-gutter);
  }

  html[data-site-mode="figma3042"] .hero3042-canvas {
    width: min(
      calc(100vw - (var(--global-page-gutter) * 2)),
      calc((100dvh - clamp(30px, 8vh, 74px)) * var(--landing-mobile-design-ratio-3042)),
      var(--landing-mobile-max-w-3042)
    );
    aspect-ratio: 670.5100 / 1246.4666;
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - clamp(30px, 8vh, 74px));
    transform: none;
  }

  html[data-site-mode="figma3042"] .landing3042-stage {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }

  html[data-site-mode="figma3042"] #homepage---left .hero3042-title {
    font-size: clamp(40px, 11.8vw, 58px);
    line-height: 1.04;
  }

  html[data-site-mode="figma3042"] .landing3042-header {
    position: absolute;
    left: 4.9866%;
    top: 8.5984%;
    width: 72.4901%;
  }

  html[data-site-mode="figma3042"] .landing3042-title-copy {
    margin-top: clamp(8px, 2.2vw, 12px);
    font-size: clamp(19px, 5.65vw, 29px);
    line-height: 1.2;
  }

  html[data-site-mode="figma3042"] .landing3042-logo {
    position: absolute;
    left: 33.4212%;
    top: 70.8832%;
    width: 33.1902%;
    height: 17.854%;
    margin: 0;
  }

  html[data-site-mode="figma3042"] .landing3042-bubbles {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
  }

  html[data-site-mode="figma3042"] .landing3042-bubble-art {
    position: absolute;
    left: auto;
    top: auto;
    width: 100%;
    height: 100%;
    max-width: none;
  }

  html[data-site-mode="figma3042"] .landing3042-bubble-hi {
    left: 6.2086%;
    top: 41.02%;
    width: 28.236%;
    height: 7.3998%;
  }

  html[data-site-mode="figma3042"] .landing3042-bubble-preferred {
    left: 19.2878%;
    top: 28.8331%;
    width: 48.5081%;
    height: 9.8667%;
    margin-left: 0;
  }

  html[data-site-mode="figma3042"] .landing3042-bubble-legally {
    left: 11.988%;
    top: 49.2985%;
    width: 57.9201%;
    height: 9.8667%;
  }

  html[data-site-mode="figma3042"] .landing3042-bubble-uyghur {
    left: 47.374%;
    top: 37.7716%;
    width: 47.0601%;
    height: 9.8667%;
    margin-left: 0;
  }

  html[data-site-mode="figma3042"] .landing3042-bubble-button {
    position: absolute;
    left: 35.8321%;
    top: 58.4474%;
    width: 53.6658%;
    height: 9.8954%;
    justify-self: auto;
  }

  html[data-site-mode="figma3042"] .landing3042-bubble-button .landing3042-bubble-art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  html[data-site-mode="figma3042"] .landing3042-practice-cta {
    position: absolute;
    left: 39.8611%;
    top: 85.9479%;
    width: 20.2831%;
    height: 12.3203%;
    aspect-ratio: auto;
    justify-self: auto;
    margin-top: 0;
  }

  html[data-site-mode="figma3042"] .landing3042-practice-cta-arrow {
    position: absolute;
    left: 10.9085%;
    top: 0;
    width: 78.4791%;
    height: 69.5012%;
    aspect-ratio: 493 / 257;
  }

  html[data-site-mode="figma3042"] .landing3042-practice-cta-copy {
    position: absolute;
    left: 0;
    top: 79.1623%;
    width: 100%;
    margin-top: 0;
    font-size: clamp(18px, 5.2vw, 27px);
    text-align: center;
  }

  html[data-site-mode="figma3042"] .landing3042-modal {
    place-items: end stretch;
    padding: 0;
    background: rgba(18, 18, 18, 0.5);
  }

  html[data-site-mode="figma3042"] .landing3042-modal-dialog {
    width: 100%;
    max-height: min(94vh, 980px);
    border-radius: 22px 22px 0 0;
    padding: 22px 18px 26px;
  }

  html[data-site-mode="figma3042"] .landing3042-modal-close {
    right: 12px;
    top: 10px;
  }

  html[data-site-mode="figma3042"] .landing3042-namecard-wrap {
    width: 100%;
  }

  html[data-site-mode="figma3042"] .landing3042-namecard-wrap .namecard-flip {
    width: 100%;
    max-width: 100%;
  }

  html[data-site-mode="figma3042"] .landing3042-modal-dialog-studio .hero3042-title {
    font-size: clamp(38px, 10vw, 52px);
    line-height: 1.03;
  }

  html[data-site-mode="figma3042"] .gan3042-logo-carousel {
    height: clamp(170px, 52vw, 280px);
  }

  html[data-site-mode="figma3042"] .gan3042-subtitle {
    font-size: clamp(18px, 4.8vw, 24px);
  }

  html[data-site-mode="figma3042"] .gan3042-project-title,
  html[data-site-mode="figma3042"] .gan3042-writing {
    font-size: clamp(26px, 7vw, 36px);
    line-height: 1.1;
  }

  html[data-site-mode="figma3042"] .gan3042-project-row {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 3px;
    margin-bottom: 8px;
  }

  html[data-site-mode="figma3042"] .gan3042-project-link,
  html[data-site-mode="figma3042"] .gan3042-project-more {
    font-size: clamp(20px, 5.2vw, 28px);
    line-height: 1.35;
  }

  html[data-site-mode="figma3042"] .gan3042-project-more {
    justify-self: start;
  }

  html[data-site-mode="figma3042"] .project-inline-home-title.hero3042-title {
    font-size: clamp(38px, 10vw, 58px) !important;
    line-height: 1.04 !important;
  }

  html[data-site-mode="figma3042"] .practice3042-canvas {
    width: calc(100vw - (var(--global-page-gutter) * 2));
  }

  html[data-site-mode="figma3042"] .practice3042-title {
    font-size: clamp(42px, 4.7vw, 73.229px) !important;
    line-height: 1.02 !important;
  }

  html[data-site-mode="figma3042"] .project-inline-close {
    top: clamp(22px, 5vw, 36px);
    right: calc((100vw - var(--project-inline-canvas-w-3042)) / 2);
    width: auto;
    height: auto;
    font-size: 22px;
  }

  html[data-site-mode="figma3042"] .project-inline-canvas {
    width: calc(100vw - (var(--global-page-gutter) * 2));
    margin-top: 0;
    padding: 0 0 48px;
  }

  html[data-site-mode="figma3042"] .project-inline-page:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: 18px;
  }

  html[data-site-mode="figma3042"] .project-inline-title {
    font-size: clamp(38px, 10vw, 58px);
    line-height: 1.04;
  }

  html[data-site-mode="figma3042"] .project-inline-kicker {
    font-size: 26px;
    line-height: normal;
  }

  html[data-site-mode="figma3042"] .project-inline-section h2 {
    font-size: clamp(28px, 7vw, 42px);
    line-height: 1.1;
  }

  html[data-site-mode="figma3042"] .project-inline-section p,
  html[data-site-mode="figma3042"] .project-inline-section li {
    font-size: 26px;
    line-height: normal;
  }

  html[data-site-mode="figma3042"] .project-inline-col-left,
  html[data-site-mode="figma3042"] .project-inline-col-mid,
  html[data-site-mode="figma3042"] .project-inline-col-right,
  html[data-site-mode="figma3042"] .project-inline-col-full {
    grid-column: 1;
  }

  html[data-site-mode="figma3042"] .project-inline-section {
    margin-bottom: 22px;
  }

  html[data-site-mode="figma3042"] .project-inline-gallery-two,
  html[data-site-mode="figma3042"] .project-inline-gallery-three {
    grid-template-columns: minmax(0, 1fr);
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-stage {
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-header {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    min-height: 0;
    padding: 18px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    row-gap: 10px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-title {
    grid-column: 1;
    grid-row: 1;
    font-size: clamp(28px, 7vw, 42px);
    line-height: 1.1;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-date {
    grid-column: 1;
    grid-row: 2;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-kicker {
    grid-column: 1;
    grid-row: 3;
    width: auto;
    text-align: left;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-intro-band {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    min-height: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-poster {
    width: min(190.781px, 100%);
    height: auto;
    aspect-ratio: 190.781 / 254.374;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-paragraph {
    width: 100%;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-gallery-stage {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    gap: 12px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-gallery-row-a,
  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-gallery-row-b {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile {
    width: 100%;
    height: auto;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1162,
  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1163,
  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1168,
  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1170,
  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-0862 {
    aspect-ratio: 3 / 4;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-tile-1167 {
    aspect-ratio: 312 / 448.24;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-column {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    margin: 0 !important;
  }

  html[data-site-mode="figma3042"] .project-inline-page-sustainable .project-sustainable-scroll-window {
    max-height: min(68vh, 720px);
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-header {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    row-gap: 10px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-title {
    grid-column: 1;
    grid-row: 1;
    font-size: clamp(28px, 7vw, 42px);
    line-height: 1.1;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-kicker {
    grid-column: 1;
    grid-row: 2;
    text-align: left;
    justify-content: flex-start;
    align-items: flex-start;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-date {
    grid-column: 1;
    grid-row: 3;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-intro-row,
  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-feature-row {
    margin-top: 24px;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 16px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-intro-mark,
  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-feature-media {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-gallery-row {
    margin-top: 24px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
    row-gap: 12px;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-gallery-row figure {
    width: 100%;
    height: auto;
    aspect-ratio: 207 / 277;
  }

  html[data-site-mode="figma3042"] .project-inline-page-minimoves .project-minimoves-closing-row {
    margin-top: 24px;
  }
}

/* Apply the same horizontal gutter to all Cargo-style pages/overlays */
html:not([data-site-mode="figma3042"]) .page-content {
  padding-left: var(--global-page-gutter) !important;
  padding-right: var(--global-page-gutter) !important;
  box-sizing: border-box !important;
}

html:not([data-site-mode="figma3042"]) .page-content > bodycopy {
  width: 100% !important;
  max-width: calc(100vw - (var(--global-page-gutter) * 2)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Only Summer School project line: custom line-height */
html[data-site-mode="figma3042"] .gan3042-project-link[data-copy-key="shared.home.left.projects.summerschool"] {
  line-height: 1.2 !important;
}

/* ===== user hard overrides: typography + responsive squeeze + full-viewport landing ===== */
html[data-site-mode="figma3042"] body,
html[data-site-mode="figma3042"] body * {
  font-family: "Atkinson Hyperlegible", sans-serif !important;
}

html[data-site-mode="figma3042"] button,
html[data-site-mode="figma3042"] input,
html[data-site-mode="figma3042"] select,
html[data-site-mode="figma3042"] textarea {
  font-family: inherit !important;
}

@media (min-width: 1024px) {
  html[data-site-mode="figma3042"] #homepage---left.hero3042 {
    width: 100vw !important;
    height: var(--min-viewport-height, 100vh) !important;
    min-height: var(--min-viewport-height, 100vh) !important;
    max-height: var(--min-viewport-height, 100vh) !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .hero3042-canvas {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    position: relative !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-stage {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-header {
    position: absolute !important;
    left: 2.9528% !important;
    top: 1.4697% !important;
    width: 56.2971% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-logo {
    position: absolute !important;
    left: 4.475% !important;
    top: 36.1348% !important;
    width: 28.5715% !important;
    height: 40.1786% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubbles {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-art {
    position: absolute !important;
    width: 100% !important;
    height: 100% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-hi {
    left: 29.8917% !important;
    top: 40.1777% !important;
    width: 14.0566% !important;
    height: 10.3628% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-preferred {
    left: 46.9938% !important;
    top: 30.4688% !important;
    width: 22.5869% !important;
    height: 12.0103% !important;
    margin-left: 0 !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-legally {
    left: 35.8757% !important;
    top: 49.6709% !important;
    width: 26.9694% !important;
    height: 12.0103% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-uyghur {
    left: 66.2153% !important;
    top: 42.4707% !important;
    width: 21.9126% !important;
    height: 12.0103% !important;
    margin-left: 0 !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-button {
    position: absolute !important;
    left: 52.8965% !important;
    top: 62.8291% !important;
    width: 25.8975% !important;
    height: 13.3476% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-button .landing3042-bubble-art {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta {
    position: absolute !important;
    left: 42.3757% !important;
    top: 82.2383% !important;
    width: 15.2487% !important;
    height: 17.7314% !important;
    aspect-ratio: auto !important;
    margin-top: 0 !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-arrow {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    width: 48.607% !important;
    height: 58.778% !important;
    transform: translateX(-50%) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-copy {
    position: absolute !important;
    left: 14.924% !important;
    top: 66.953% !important;
    width: 70.076% !important;
    margin-top: 0 !important;
    text-align: center !important;
  }

  html[data-site-mode="figma3042"] #homepage---right.practice3042 {
    position: relative !important;
    z-index: 1 !important;
    margin-top: 0 !important;
  }
}

/* ===== landing bubble sequencing + collision motion ===== */
html[data-site-mode="figma3042"] #homepage---left .landing3042-logo,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-hi,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-preferred,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-uyghur,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-legally,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-studio,
html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta {
  --landing-bubble-base-transform: none;
  --landing-bubble-dx: 0px;
  --landing-bubble-dy: 0px;
  --landing-bubble-rot: 0deg;
  --landing-bubble-reveal-scale: 1;
  --landing-bubble-reveal-opacity: 1;
  transform: var(--landing-bubble-base-transform)
    translate3d(var(--landing-bubble-dx), var(--landing-bubble-dy), 0)
    rotate(var(--landing-bubble-rot))
    scale(var(--landing-bubble-reveal-scale));
  transform-origin: 50% 50%;
  opacity: var(--landing-bubble-reveal-opacity);
  backface-visibility: hidden;
}

/* Subtle breathing drift for bubble nodes; composes with JS transform. */
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-hi,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-preferred,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-uyghur,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-legally,
html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-studio {
  translate: 0 0;
  rotate: 0deg;
  animation-name: landing3042BubbleBreath;
  animation-duration: 5.6s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-hi {
  animation-duration: 5.1s;
  animation-delay: -0.8s;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-preferred {
  animation-duration: 6.0s;
  animation-delay: -1.6s;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-uyghur {
  animation-duration: 5.4s;
  animation-delay: -0.4s;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-legally {
  animation-duration: 6.4s;
  animation-delay: -2.1s;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-studio {
  animation-duration: 5.8s;
  animation-delay: -1.2s;
}

@keyframes landing3042BubbleBreath {
  0% {
    translate: 0px 0px;
    rotate: 0deg;
  }
  20% {
    translate: 0.9px -1.6px;
    rotate: -0.28deg;
  }
  45% {
    translate: -0.8px 1.4px;
    rotate: 0.24deg;
  }
  72% {
    translate: 1.1px -0.9px;
    rotate: -0.22deg;
  }
  100% {
    translate: 0px 0px;
    rotate: 0deg;
  }
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-hi,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-preferred,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-uyghur,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-legally,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-studio,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta {
  --landing-bubble-reveal-scale: 0.84;
  --landing-bubble-reveal-opacity: 0;
  transition: transform 620ms cubic-bezier(0.2, 0.84, 0.24, 1.14), opacity 360ms ease;
  will-change: transform, opacity;
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-hi.is-visible,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-preferred.is-visible,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-uyghur.is-visible,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-legally.is-visible,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-studio.is-visible,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta.is-visible {
  --landing-bubble-reveal-scale: 1;
  --landing-bubble-reveal-opacity: 1;
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-bubble-studio:not(.is-visible),
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta:not(.is-visible) {
  pointer-events: none;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-arrow,
html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-copy {
  opacity: 1;
  transition: opacity 280ms ease, transform 360ms cubic-bezier(0.22, 0.78, 0.3, 1.08);
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta .landing3042-practice-cta-arrow,
html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta .landing3042-practice-cta-copy {
  opacity: 0;
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta .landing3042-practice-cta-arrow {
  transform: translateX(-50%) translate3d(0, -8px, 0) !important;
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta .landing3042-practice-cta-copy {
  transform: translate3d(0, 12px, 0);
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta.is-arrow-visible .landing3042-practice-cta-arrow {
  opacity: 1;
  transform: translateX(-50%) translate3d(0, 0, 0) !important;
}

html[data-site-mode="figma3042"].landing-bubbles-anim-ready #homepage---left .landing3042-practice-cta.is-copy-visible .landing3042-practice-cta-copy {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

html[data-site-mode="figma3042"] .landing-bubble-debug-node {
  position: absolute;
  border-radius: 999px;
  border: 1px dashed rgba(255, 52, 52, 0.75);
  background: rgba(255, 52, 52, 0.1);
  pointer-events: none;
  z-index: 8;
}

@media (prefers-reduced-motion: reduce) {
  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-hi,
  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-preferred,
  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-uyghur,
  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-legally,
  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-studio,
  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta {
    transition: none !important;
    animation: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-arrow,
  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-copy {
    transition: none !important;
  }
}

/* ===== landing fullscreen responsive overrides (final) ===== */
html[data-site-mode="figma3042"] {
  --landing-safe-inline: clamp(14px, 2.6vw, 42px);
  --landing-safe-top: clamp(12px, 2vh, 28px);
  --landing-safe-bottom:  -40px;
  --landing-arena-pad-top: clamp(10px, 1.7vh, 24px);
  --landing-arena-pad-bottom: clamp(12px, 2vh, 26px);
  --landing-header-max-w: 812px;
}

html[data-site-mode="figma3042"] #homepage---left.hero3042 {
  width: 100vw !important;
  height: var(--min-viewport-height, 100vh) !important;
  min-height: var(--min-viewport-height, 100vh) !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: block !important;
}

html[data-site-mode="figma3042"] #homepage---left .hero3042-canvas {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  position: relative !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-stage {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-header {
  position: absolute !important;
  left: var(--landing-safe-inline) !important;
  top: var(--landing-safe-top) !important;
  width: min(var(--landing-header-max-w), calc(100% - (var(--landing-safe-inline) * 2))) !important;
  z-index: 5 !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-logo {
  position: absolute !important;
  left: 4.475% !important;
  top: 36.1348% !important;
  z-index: 1 !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-bubbles {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta {
  --landing-bubble-base-transform: translateX(-50%);
  position: absolute !important;
  left: 50% !important;
  top: auto !important;
  bottom: var(--landing-safe-bottom) !important;
  margin: 0 !important;
  z-index: 6 !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-arrow {
  left: 50% !important;
  top: 0 !important;
  transform: translateX(-50%) !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-copy {
  left: 0 !important;
  top: 50% !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: center !important;
  text-transform: lowercase !important;
}

@media (min-width: 768px) {
  html[data-site-mode="figma3042"] {
    --landing-logo-w-nm: 411px;
    --landing-logo-h-nm: 411px;
    --landing-bubble-hi-w-nm: 202px;
    --landing-bubble-hi-h-nm: 106px;
    --landing-bubble-preferred-w-nm: 325px;
    --landing-bubble-preferred-h-nm: 123px;
    --landing-bubble-legally-w-nm: 388px;
    --landing-bubble-legally-h-nm: 123px;
    --landing-bubble-uyghur-w-nm: 315px;
    --landing-bubble-uyghur-h-nm: 123px;
    --landing-bubble-studio-w-nm: 373px;
    --landing-bubble-studio-h-nm: 137px;
    --landing-cta-w-nm: 220px;
    --landing-cta-h-nm: 172px;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-logo {
    width: var(--landing-logo-w-nm) !important;
    height: var(--landing-logo-h-nm) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-hi {
    width: var(--landing-bubble-hi-w-nm) !important;
    height: var(--landing-bubble-hi-h-nm) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-preferred {
    width: var(--landing-bubble-preferred-w-nm) !important;
    height: var(--landing-bubble-preferred-h-nm) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-legally {
    width: var(--landing-bubble-legally-w-nm) !important;
    height: var(--landing-bubble-legally-h-nm) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-uyghur {
    width: var(--landing-bubble-uyghur-w-nm) !important;
    height: var(--landing-bubble-uyghur-h-nm) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-bubble-button {
    width: var(--landing-bubble-studio-w-nm) !important;
    height: var(--landing-bubble-studio-h-nm) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta {
    width: var(--landing-cta-w-nm) !important;
    height: var(--landing-cta-h-nm) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-copy {
    font-size: 26.572px !important;
  }
}

@media (max-width: 767.98px) {
  html[data-site-mode="figma3042"] {
    --landing-mobile-title-scale: calc(clamp(40px, 11.8vw, 58px) / 58px);
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-logo {
    left: 33.4212% !important;
    top: 70.8832% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta {
    width: min(calc(180px * var(--landing-mobile-title-scale)), calc(44vw * var(--landing-mobile-title-scale))) !important;
    height: min(calc(140px * var(--landing-mobile-title-scale)), calc(34vw * var(--landing-mobile-title-scale))) !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-arrow {
    top: 25% !important;
    width: 48.607% !important;
    height: 58.778% !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-practice-cta-copy {
    top: 74% !important;
    font-size: calc(clamp(18px, 5.2vw, 27px) * var(--landing-mobile-title-scale)) !important;
  }
}

/* ===== final lock: figma 1440 width behavior + typography ===== */
@media (min-width: 900px) {
  html[data-site-mode="figma3042"][data-layout-resolved="split"] {
    --desktop-uniform-scale: 1 !important;
    --viewport-height: 100vh !important;
    --min-viewport-height: 100vh !important;
  }

  html[data-site-mode="figma3042"][data-layout-resolved="split"] body {
    zoom: 1 !important;
    transform: none !important;
    width: 100% !important;
    min-height: 100vh !important;
  }

  html[data-site-mode="figma3042"][data-layout-resolved="split"] [id="Z2290068486"].page.fixed,
  html[data-site-mode="figma3042"][data-layout-resolved="split"] [id="Z2290068486"].page.fixed .page-layout,
  html[data-site-mode="figma3042"][data-layout-resolved="split"] [id="Z2290068486"].page.fixed.allow-scroll .page-content {
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
  }
}

html[data-site-mode="figma3042"] #homepage---left .hero3042-canvas {
  width: min(100%, 1440px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html[data-site-mode="figma3042"] #homepage---left .landing3042-header {
  left: 2.9528% !important;
  top: 1.4697% !important;
  width: 56.2971% !important;
}

@media (min-width: 768px) {
  html[data-site-mode="figma3042"] #homepage---left .hero3042-title {
    font-size: 3.28125rem !important; /* 52.5px */
    line-height: 1.1 !important;
    font-weight: 400 !important;
  }

  html[data-site-mode="figma3042"] #homepage---left .landing3042-title-copy {
    margin-top: 20.344px !important;
    font-size: 2.7625rem !important; /* 44.2px */
    line-height: 1.2 !important;
  }
}

html[data-site-mode="figma3042"] #homepage---left .hero3042-title {
  font-weight: 400 !important;
}

/* Force Atkinson everywhere in figma3042 mode */
html[data-site-mode="figma3042"],
html[data-site-mode="figma3042"] body,
html[data-site-mode="figma3042"] *,
html[data-site-mode="figma3042"] button,
html[data-site-mode="figma3042"] input,
html[data-site-mode="figma3042"] select,
html[data-site-mode="figma3042"] textarea {
  font-family: "Atkinson Hyperlegible" !important;
}

/* ===== my practice map desktop/tablet rebuild ===== */
html[data-site-mode="figma3042"] #homepage---right .practice3042-canvas {
  --practice-frame-w: 1440;
  --practice-frame-h: 1024;
  --practice-title-left-x: 29.45px;
  --practice-title-top-y: 19.49px;
  --practice-title-font-size: 52.5px;
  --practice-tags-top-y: 27.46px;
  --practice-tags-right-x: 51.819px;
  --practice-tags-gap: 10.405px;
  --practice-tag-social-w: 206.379px;
  --practice-tag-interaction-w: 173.163px;
  --practice-tag-pssd-w: 111.161px;
  --practice-map-top-offset: 99.2px;
  --practice-axis-font-size: 19.69px;
  --practice-axis-line-height: 1.2;
  --practice-axis-gap: 0px;
  --practice-axis-vertical-gap: 10px;
  --practice-axis-arrow-width: 79px;
  --practice-axis-arrow-height: 42px;
  --practice-axis-label-left-x: 106.511px;
  --practice-axis-label-right-x: 1328.356px;
  --practice-axis-label-top-y: 176.511px;
  --practice-axis-bottom-edge: 25.27px;
  --practice-block-fill: #5b5a5a;
  --practice-block-opacity: 0.40;
  --practice-block-dim-opacity: 0.24;
  --practice-block-hover-opacity: 0.66;
  --practice-block-hover-outline: rgba(22, 22, 22, 0.34);
  container-type: inline-size;
}

html[data-site-mode="figma3042"] .practice3042-grid-wrap {
  --practice-grid-cell: 49.657px;
  --practice-view-cols: 20;
  --practice-view-rows: 14;
  --practice-view-start-col: 1;
  --practice-view-start-row: 2;
  position: relative;
}

html[data-site-mode="figma3042"] .mypractice-map-viewport {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

html[data-site-mode="figma3042"] .mypractice-map-scene {
  position: relative;
  width: 100%;
  height: 100%;
}

html[data-site-mode="figma3042"] .mypractice-map-grid,
html[data-site-mode="figma3042"] .mypractice-map-top-tags,
html[data-site-mode="figma3042"] .mypractice-map-axis,
html[data-site-mode="figma3042"] .mypractice-map-corner {
  display: none;
}

html[data-site-mode="figma3042"] .mypractice-map-blocks {
  display: none;
}

html[data-site-mode="figma3042"] .mypractice-map-overlay-thumb {
  display: block;
}

@media (min-width: 768px) {
  html[data-site-mode="figma3042"] .practice3042-grid-wrap {
    width: 100%;
    aspect-ratio: 1440 / 1024;
    overflow: hidden;
    isolation: isolate;
    background: #ffffff;
  }

  html[data-site-mode="figma3042"] .mypractice-grid-svg {
    display: none;
  }

  html[data-site-mode="figma3042"] .mypractice-map-viewport {
    display: block;
    inset: auto;
    left: 0;
    right: 0;
    top: var(--practice-map-top-offset);
    bottom: 0;
    z-index: 1;
  }

  html[data-site-mode="figma3042"] .mypractice-map-grid {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 1;
    background-image:
      linear-gradient(to right, rgba(0, 0, 0, 0.18) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(0, 0, 0, 0.18) 1px, transparent 1px);
    background-size: var(--practice-grid-cell) var(--practice-grid-cell);
    background-position:
      calc(-1 * var(--practice-view-start-col) * var(--practice-grid-cell))
      calc(-1 * var(--practice-view-start-row) * var(--practice-grid-cell));
  }

  html[data-site-mode="figma3042"] .mypractice-map-top-tags {
    position: absolute;
    top: var(--practice-tags-top-y);
    right: var(--practice-tags-right-x);
    z-index: 7;
    display: inline-flex;
    align-items: center;
    gap: var(--practice-tags-gap);
  }

  html[data-site-mode="figma3042"] .mypractice-map-top-tag-asset {
    display: block;
    width: auto;
    height: auto;
    max-width: none;
    flex: 0 0 auto;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
    transition: filter 140ms ease, transform 140ms ease, opacity 140ms ease;
    transform: translateY(0);
    opacity: 1;
  }

  html[data-site-mode="figma3042"] .mypractice-map-top-tag-asset.is-tag-hovered {
    filter: brightness(0.86);
  }

  html[data-site-mode="figma3042"] .mypractice-map-top-tag-asset.is-tag-active {
    filter: brightness(0.72);
    transform: translateY(1px);
  }

  html[data-site-mode="figma3042"] .mypractice-map-top-tag-asset--social {
    width: var(--practice-tag-social-w);
  }

  html[data-site-mode="figma3042"] .mypractice-map-top-tag-asset--interaction {
    width: var(--practice-tag-interaction-w);
  }

  html[data-site-mode="figma3042"] .mypractice-map-top-tag-asset--pssd {
    width: var(--practice-tag-pssd-w);
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis {
    position: absolute;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: var(--practice-axis-gap);
    pointer-events: none;
    color: #1b1b1b;
    font-size: var(--practice-axis-font-size);
    line-height: var(--practice-axis-line-height);
    letter-spacing: 0;
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis--left {
    left: calc(var(--practice-axis-label-left-x) - var(--practice-axis-gap) - var(--practice-axis-arrow-width));
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis--right {
    right: calc((var(--practice-frame-w) * 1px - var(--practice-axis-label-right-x)) - var(--practice-axis-gap) - var(--practice-axis-arrow-width));
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis--top,
  html[data-site-mode="figma3042"] .mypractice-map-axis--bottom {
    transform: translateX(-50%);
    flex-direction: column;
    gap: var(--practice-axis-vertical-gap);
    align-items: center;
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis--top {
    left: 50%;
    top: calc(var(--practice-axis-label-top-y) - var(--practice-axis-vertical-gap) - var(--practice-axis-arrow-height));
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis--bottom {
    left: 50%;
    top: auto;
    bottom: var(--practice-axis-bottom-edge);
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis-label {
    display: block;
    margin: 0;
    white-space: nowrap;
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis--right .mypractice-map-axis-label {
    text-align: right;
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis-arrow {
    display: inline-block;
    width: var(--practice-axis-arrow-width);
    height: var(--practice-axis-arrow-height);
    background: url("./assets/MyPractice/ARROWP.svg") center / 100% 100% no-repeat;
    border: 0;
    flex: 0 0 auto;
    transform-origin: center;
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis-arrow--left {
    transform: rotate(-90deg);
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis-arrow--right {
    transform: rotate(90deg);
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis-arrow--top {
    transform: rotate(0deg);
  }

  html[data-site-mode="figma3042"] .mypractice-map-axis-arrow--bottom {
    transform: rotate(180deg);
  }

  html[data-site-mode="figma3042"] .mypractice-map-corner {
    display: none;
  }

  html[data-site-mode="figma3042"] .mypractice-map-corner--top {
    left: 50%;
    top: 4px;
    margin-left: -6px;
  }

  html[data-site-mode="figma3042"] .mypractice-map-corner--bottom {
    left: 50%;
    bottom: 4px;
    margin-left: -6px;
  }

  html[data-site-mode="figma3042"] .mypractice-map-corner--left {
    left: 4px;
    top: 50%;
    margin-top: -6px;
  }

  html[data-site-mode="figma3042"] .mypractice-map-corner--right {
    right: 4px;
    top: 50%;
    margin-top: -6px;
  }

  html[data-site-mode="figma3042"] .mypractice-map-overlay {
    z-index: 4;
  }

  html[data-site-mode="figma3042"] .mypractice-map-overlay-item {
    left: calc((var(--scaled-col, var(--col-desktop, var(--col))) - var(--practice-view-start-col)) * var(--practice-grid-cell));
    top: calc((var(--scaled-row, var(--row-desktop, var(--row))) - var(--practice-view-start-row)) * var(--practice-grid-cell));
    width: calc(var(--w-span, 1) * var(--practice-grid-cell));
    height: calc(var(--h-span, 1) * var(--practice-grid-cell));
    overflow: visible;
    cursor: pointer;
  }

  html[data-site-mode="figma3042"] .mypractice-map-blocks {
    position: absolute;
    inset: 0;
    display: block;
  }

  html[data-site-mode="figma3042"] .mypractice-map-block {
    position: absolute;
    left: calc(var(--cx, 0) * var(--practice-grid-cell));
    top: calc(var(--cy, 0) * var(--practice-grid-cell));
    width: var(--practice-grid-cell);
    height: var(--practice-grid-cell);
    margin: 0;
    background: var(--tone, var(--practice-block-fill));
    opacity: var(--practice-block-opacity);
    box-sizing: border-box;
    border: 0;
    transition: opacity 140ms ease, box-shadow 140ms ease;
  }

  html[data-site-mode="figma3042"] .mypractice-map-overlay:hover .mypractice-map-overlay-item .mypractice-map-block {
    opacity: var(--practice-block-dim-opacity);
    box-shadow: none;
  }

  html[data-site-mode="figma3042"] .mypractice-map-overlay:hover .mypractice-map-overlay-item:hover .mypractice-map-block {
    opacity: var(--practice-block-hover-opacity);
    box-shadow: inset 0 0 0 1px var(--practice-block-hover-outline);
  }

  html[data-site-mode="figma3042"] .mypractice-map-overlay.is-touch-scanning .mypractice-map-overlay-item .mypractice-map-block {
    opacity: var(--practice-block-dim-opacity);
    box-shadow: none;
  }

  html[data-site-mode="figma3042"] .mypractice-map-overlay.is-touch-scanning .mypractice-map-overlay-item.is-touch-hovered .mypractice-map-block {
    opacity: var(--practice-block-hover-opacity);
    box-shadow: inset 0 0 0 1px var(--practice-block-hover-outline);
  }

  html[data-site-mode="figma3042"] .practice3042-grid-wrap.has-tag-filter .mypractice-map-overlay-item.is-tag-highlighted .mypractice-map-block {
    background: #111111;
    opacity: 0.82;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.16);
  }

  html[data-site-mode="figma3042"] .practice3042-grid-wrap.has-tag-filter .mypractice-map-overlay:hover .mypractice-map-overlay-item.is-tag-highlighted .mypractice-map-block {
    background: #111111;
    opacity: 0.88;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.22);
  }

  html[data-site-mode="figma3042"] .mypractice-map-overlay-thumb {
    position: absolute;
    inset: 0;
    opacity: 0 !important;
    pointer-events: none;
  }
}

@media (min-width: 768px) {
  html[data-site-mode="figma3042"] #homepage---right .practice3042-title {
    margin: 0 !important;
    display: block !important;
    font-size: var(--practice-title-font-size) !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    color: #161616 !important;
    letter-spacing: 0 !important;
    padding: 0 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-title-icon {
    display: none !important;
  }

  html[data-site-mode="figma3042"]:not(.map-project-open) #homepage---right .practice3042-title {
    position: absolute;
    left: var(--practice-title-left-x);
    top: var(--practice-title-top-y);
    margin: 0 !important;
    z-index: 6;
    pointer-events: none;
    white-space: nowrap;
  }
}

@media (min-width: 768px) {
  html[data-site-mode="figma3042"] #homepage---right.practice3042 {
    width: 100vw !important;
    height: var(--min-viewport-height, 100vh) !important;
    min-height: var(--min-viewport-height, 100vh) !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-canvas {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    position: relative !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-grid-wrap {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
  }
}

/* ===== my practice map handset layout: <768, figma node 3265:1401 ===== */
@media (max-width: 767.98px) {
  html[data-site-mode="figma3042"] #homepage---right.practice3042 {
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
    background: #ffffff !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-canvas {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    position: relative !important;
    --practice-mobile-frame-w: 670.259;
    --practice-mobile-frame-h: 1246;
    --practice-mobile-map-scale: min(1, calc(100vw / (var(--practice-mobile-frame-w) * 1px)));
    --practice-mobile-ui-scale: var(--practice-mobile-map-scale);
    --practice-mobile-scale: var(--practice-mobile-map-scale);
    --practice-mobile-grid-scale: 1.5;
    --practice-touch-lens-size: calc(118px * var(--practice-mobile-scale));
    --practice-touch-lens-blur: calc(3px * var(--practice-mobile-scale));
    --practice-touch-lens-zoom-scale: 1.28;
    --practice-touch-lens-fill-a: rgba(255, 255, 255, 0.26);
    --practice-touch-lens-fill-b: rgba(255, 255, 255, 0.13);
    --practice-touch-lens-ring: rgba(255, 255, 255, 0.66);
    --practice-touch-lens-shadow: rgba(14, 14, 14, 0.24);
    --practice-mobile-title-font-size: calc(73.229px * var(--practice-mobile-ui-scale));
    --practice-mobile-axis-font-size: calc(26.562px * var(--practice-mobile-scale));
    --practice-mobile-axis-line-height: 1.2;
    --practice-mobile-axis-gap: 0px;
    --practice-mobile-axis-vertical-gap: calc(10px * var(--practice-mobile-scale));
    --practice-mobile-axis-arrow-w: calc(79px * var(--practice-mobile-scale));
    --practice-mobile-axis-arrow-h: calc(42px * var(--practice-mobile-scale));
    --practice-mobile-title-left: calc(22.577px * var(--practice-mobile-ui-scale));
    --practice-mobile-title-top: calc(19.477px * var(--practice-mobile-ui-scale));
    --practice-mobile-tags-left: calc(21.873px * var(--practice-mobile-ui-scale));
    --practice-mobile-tags-top: calc(108.279px * var(--practice-mobile-ui-scale));
    --practice-mobile-tags-gap: calc(10.405px * var(--practice-mobile-ui-scale));
    --practice-mobile-tag-social-w: calc(206.302px * var(--practice-mobile-ui-scale));
    --practice-mobile-tag-interaction-w: calc(173.099px * var(--practice-mobile-ui-scale));
    --practice-mobile-tag-pssd-w: calc(111.12px * var(--practice-mobile-ui-scale));
    --practice-mobile-axis-label-left-x: calc((92.304 / var(--practice-mobile-frame-w)) * 100%);
    --practice-mobile-axis-label-right-x: calc((581.276 / var(--practice-mobile-frame-w)) * 100%);
    --practice-mobile-axis-label-top-from-map: calc(75.849px * var(--practice-mobile-ui-scale));
    --practice-mobile-axis-bottom-edge-from-map: calc(30.321px * var(--practice-mobile-ui-scale));
    --practice-map-top-offset: calc(183.943px * var(--practice-mobile-ui-scale));
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-title {
    position: absolute !important;
    left: var(--practice-mobile-title-left) !important;
    top: var(--practice-mobile-title-top) !important;
    margin: 0 !important;
    z-index: 8 !important;
    pointer-events: none !important;
    display: block !important;
    white-space: nowrap !important;
    font-size: var(--practice-mobile-title-font-size) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    color: #161616 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-title-icon {
    display: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-grid-wrap {
    --practice-grid-cell: calc(26px * var(--practice-mobile-scale) * var(--practice-mobile-grid-scale));
    --practice-view-start-col: 4;
    --practice-view-start-row: 1;
    --practice-center-nav-grid-overscan: 3200px;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-grid-svg {
    display: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-viewport {
    display: block !important;
    inset: auto !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--practice-map-top-offset) !important;
    bottom: 0 !important;
    z-index: 1 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-grid-wrap.has-map-center-nav .mypractice-map-viewport {
    touch-action: none !important;
    -ms-touch-action: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    cursor: grab !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-grid-wrap.has-map-center-nav .mypractice-map-scene {
    transform-origin: 0 0 !important;
    will-change: transform !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-center-crosshair {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: calc(64px * var(--practice-mobile-scale)) !important;
    height: calc(84px * var(--practice-mobile-scale)) !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 0px !important;
    border: 1px solid rgba(255, 255, 255, 0.84) !important;
    background:
      radial-gradient(circle at center, rgba(255, 255, 255, 0.88) 0 calc(2px * var(--practice-mobile-scale)), rgba(255, 255, 255, 0.18) calc(2px * var(--practice-mobile-scale)) calc(18px * var(--practice-mobile-scale)), rgba(255, 255, 255, 0.08) calc(18px * var(--practice-mobile-scale)) 100%) !important;
    box-shadow:
      0 12px 28px rgba(12, 12, 12, 0.24),
      inset 0 1px 1px rgba(255, 255, 255, 0.68),
      inset 0 -1px 1px rgba(255, 255, 255, 0.36) !important;
    backdrop-filter: blur(calc(3px * var(--practice-mobile-scale))) saturate(1.3) !important;
    -webkit-backdrop-filter: blur(calc(3px * var(--practice-mobile-scale))) saturate(1.3) !important;
    pointer-events: none !important;
    z-index: 9 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-center-crosshair::before {
    content: none !important;
    display: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-center-crosshair::after {
    content: none !important;
    display: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-touch-lens {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: var(--practice-touch-lens-size) !important;
    height: var(--practice-touch-lens-size) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border-radius: 999px !important;
    border: 1px solid var(--practice-touch-lens-ring) !important;
    background: linear-gradient(155deg, var(--practice-touch-lens-fill-a), var(--practice-touch-lens-fill-b)) !important;
    box-shadow:
      0 10px 24px var(--practice-touch-lens-shadow),
      inset 0 1px 1px rgba(255, 255, 255, 0.62),
      inset 0 -1px 1px rgba(255, 255, 255, 0.28) !important;
    backdrop-filter: blur(var(--practice-touch-lens-blur)) saturate(1.32) !important;
    -webkit-backdrop-filter: blur(var(--practice-touch-lens-blur)) saturate(1.32) !important;
    transform: translate3d(
      calc(var(--practice-touch-lens-x, 50%) - (var(--practice-touch-lens-size) / 2)),
      calc(var(--practice-touch-lens-y, 50%) - (var(--practice-touch-lens-size) / 2)),
      0
    ) !important;
    z-index: 5 !important;
    opacity: 0 !important;
    pointer-events: auto !important;
    touch-action: none !important;
    user-select: none !important;
    cursor: grab !important;
    animation: mypractice-touch-lens-breathe 2.2s ease-in-out infinite !important;
    transition: opacity 120ms ease, box-shadow 120ms ease, border-color 120ms ease !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-touch-lens-zoom {
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-touch-lens-zoom-scene {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform-origin: 0 0 !important;
    pointer-events: none !important;
    will-change: transform !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-grid-wrap.has-touch-lens .mypractice-touch-lens {
    opacity: 1 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-grid-wrap.has-map-center-nav .mypractice-touch-lens {
    display: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-touch-lens::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: calc(var(--practice-touch-lens-size) * 0.28) !important;
    height: calc(var(--practice-touch-lens-size) * 0.28) !important;
    transform: translate(-50%, -50%) !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.8) !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08) !important;
    z-index: 2 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-touch-lens.is-dragging {
    cursor: grabbing !important;
    animation-play-state: paused !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
    box-shadow:
      0 13px 28px rgba(14, 14, 14, 0.26),
      inset 0 1px 2px rgba(255, 255, 255, 0.72),
      inset 0 -1px 2px rgba(255, 255, 255, 0.34) !important;
  }

  @keyframes mypractice-touch-lens-breathe {
    0%,
    100% {
      filter: brightness(1);
    }
    50% {
      filter: brightness(1.08);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    html[data-site-mode="figma3042"] #homepage---right .mypractice-touch-lens {
      animation: none !important;
      transition: none !important;
    }
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-grid {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background-image:
      linear-gradient(to right, rgba(0, 0, 0, 0.16) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(0, 0, 0, 0.16) 1px, transparent 1px) !important;
    background-size: var(--practice-grid-cell) var(--practice-grid-cell) !important;
    background-position:
      calc(-1 * var(--practice-view-start-col) * var(--practice-grid-cell))
      calc(-1 * var(--practice-view-start-row) * var(--practice-grid-cell)) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .practice3042-grid-wrap.has-map-center-nav .mypractice-map-grid {
    inset: calc(-1 * var(--practice-center-nav-grid-overscan)) !important;
    background-position:
      calc(var(--practice-center-nav-grid-overscan) - (var(--practice-view-start-col) * var(--practice-grid-cell)))
      calc(var(--practice-center-nav-grid-overscan) - (var(--practice-view-start-row) * var(--practice-grid-cell))) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-top-tags {
    position: absolute !important;
    left: var(--practice-mobile-tags-left) !important;
    top: var(--practice-mobile-tags-top) !important;
    z-index: 7 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--practice-mobile-tags-gap) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-top-tag-asset {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-top-tag-asset--social {
    width: var(--practice-mobile-tag-social-w) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-top-tag-asset--interaction {
    width: var(--practice-mobile-tag-interaction-w) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-top-tag-asset--pssd {
    width: var(--practice-mobile-tag-pssd-w) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis {
    position: absolute !important;
    z-index: 6 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: var(--practice-mobile-axis-gap) !important;
    pointer-events: none !important;
    color: #1b1b1b !important;
    font-size: var(--practice-mobile-axis-font-size) !important;
    line-height: var(--practice-mobile-axis-line-height) !important;
    letter-spacing: 0 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis-label {
    display: block !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis-arrow {
    position: static !important;
    display: inline-block !important;
    width: var(--practice-mobile-axis-arrow-w) !important;
    height: var(--practice-mobile-axis-arrow-h) !important;
    background: url("./assets/MyPractice/ARROWP.svg") center / 100% 100% no-repeat !important;
    transform-origin: center !important;
    border: 0 !important;
    flex: 0 0 auto !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--top {
    left: 50% !important;
    top: calc(
      var(--practice-map-top-offset) +
      var(--practice-mobile-axis-label-top-from-map) -
      var(--practice-mobile-axis-vertical-gap) -
      var(--practice-mobile-axis-arrow-h)
    ) !important;
    transform: translateX(-50%) !important;
    flex-direction: column !important;
    gap: var(--practice-mobile-axis-vertical-gap) !important;
    align-items: center !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--top .mypractice-map-axis-arrow {
    transform: rotate(0deg) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--bottom {
    left: 50% !important;
    bottom: var(--practice-mobile-axis-bottom-edge-from-map) !important;
    transform: translateX(-50%) !important;
    flex-direction: column !important;
    gap: var(--practice-mobile-axis-vertical-gap) !important;
    align-items: center !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--bottom .mypractice-map-axis-arrow {
    transform: rotate(180deg) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--left {
    left: calc(var(--practice-mobile-axis-label-left-x) - var(--practice-mobile-axis-gap) - var(--practice-mobile-axis-arrow-w)) !important;
    top: calc(var(--practice-map-top-offset) + ((100% - var(--practice-map-top-offset)) / 2)) !important;
    transform: translateY(-50%) !important;
    align-items: center !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--left .mypractice-map-axis-arrow {
    transform: rotate(-90deg) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--left .mypractice-map-axis-label {
    text-align: left !important;
    white-space: normal !important;
    max-width: calc(139.01px * var(--practice-mobile-scale)) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--right {
    right: calc((100% - var(--practice-mobile-axis-label-right-x)) - var(--practice-mobile-axis-gap) - var(--practice-mobile-axis-arrow-w)) !important;
    top: calc(var(--practice-map-top-offset) + ((100% - var(--practice-map-top-offset)) / 2)) !important;
    transform: translateY(-50%) !important;
    align-items: center !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--right .mypractice-map-axis-arrow {
    transform: rotate(90deg) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-axis--right .mypractice-map-axis-label {
    text-align: right !important;
    white-space: normal !important;
    max-width: calc(116.653px * var(--practice-mobile-scale)) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-corner {
    display: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-overlay {
    z-index: 4 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-overlay-item {
    left: calc((var(--col-mobile, var(--col-desktop, var(--col))) - var(--practice-view-start-col)) * var(--practice-grid-cell)) !important;
    top: calc((var(--row-mobile, var(--row-desktop, var(--row))) - var(--practice-view-start-row)) * var(--practice-grid-cell)) !important;
    width: calc(var(--w-span, 1) * var(--practice-grid-cell)) !important;
    height: calc(var(--h-span, 1) * var(--practice-grid-cell)) !important;
    overflow: visible !important;
    cursor: pointer !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-touch-lens {
    display: none !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-overlay-item {
    cursor: grab !important;
    outline: 1px dashed rgba(24, 24, 24, 0.42) !important;
    outline-offset: 0 !important;
    touch-action: none !important;
    -ms-touch-action: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-overlay-item.is-mobile-debug-dragging {
    cursor: grabbing !important;
    outline-color: rgba(24, 24, 24, 0.8) !important;
    z-index: 9 !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-viewport,
  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-overlay,
  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-blocks {
    touch-action: none !important;
    -ms-touch-action: none !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-overlay-item *,
  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-overlay-item img {
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
    touch-action: none !important;
    -ms-touch-action: none !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .mypractice-map-overlay-item::after {
    content: attr(data-mobile-debug-label) !important;
    position: absolute !important;
    left: 0 !important;
    top: -22px !important;
    display: inline-block !important;
    min-width: 24px !important;
    padding: 2px 6px !important;
    border-radius: 10px !important;
    background: rgba(20, 20, 20, 0.88) !important;
    color: #ffffff !important;
    font-family: "Atkinson Hyperlegible", sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    z-index: 11 !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .practice-mobile-debug-panel {
    position: absolute !important;
    right: 10px !important;
    top: 10px !important;
    z-index: 60 !important;
    width: min(92vw, 340px) !important;
    padding: 8px 9px 9px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    background: rgba(18, 18, 18, 0.74) !important;
    color: #ffffff !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24) !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .practice-mobile-debug-title {
    margin: 0 0 6px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .practice-mobile-debug-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .practice-mobile-debug-actions button {
    appearance: none !important;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
    font-family: "Atkinson Hyperlegible", sans-serif !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    padding: 5px 8px !important;
    margin: 0 !important;
  }

  html[data-site-mode="figma3042"].practice-mobile-debug #homepage---right .practice-mobile-debug-status {
    margin: 6px 0 0 !important;
    min-height: 14px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    color: rgba(255, 255, 255, 0.88) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-blocks {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-block {
    position: absolute !important;
    left: calc(var(--cx, 0) * var(--practice-grid-cell)) !important;
    top: calc(var(--cy, 0) * var(--practice-grid-cell)) !important;
    width: var(--practice-grid-cell) !important;
    height: var(--practice-grid-cell) !important;
    margin: 0 !important;
    display: block !important;
    background: var(--tone, var(--practice-block-fill)) !important;
    opacity: var(--practice-block-opacity) !important;
    box-sizing: border-box !important;
    border: 0 !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-overlay.is-touch-scanning .mypractice-map-overlay-item .mypractice-map-block {
    opacity: var(--practice-block-dim-opacity) !important;
    box-shadow: none !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-overlay.is-touch-scanning .mypractice-map-overlay-item.is-touch-hovered .mypractice-map-block {
    opacity: var(--practice-block-hover-opacity) !important;
    box-shadow: inset 0 0 0 1px var(--practice-block-hover-outline) !important;
  }

  html[data-site-mode="figma3042"] #homepage---right .mypractice-map-overlay-thumb {
    opacity: 0 !important;
    pointer-events: none !important;
  }
}
