/* ============================================================
   Fieldwork — Oona Varga · style.css for demo.uichemy.com
   The project's own style.css, with two mechanical changes only:
     1. every rule scoped to .uichemy-fieldwork-1 — document-level rules
        re-expressed as html:has(.uichemy-fieldwork-1), and the page's
        body-state selectors (body[data-view=…] .x) keep their body
        compound but match only inside the widget;
     2. a token guard and a WordPress/Elementor compatibility
        appendix at the end.
   No value, colour, size or order has been changed.
   ============================================================ */

/* ── token guard ──────────────────────────────────────────────────────────
   Elementor's containers declare their own custom properties, and anything
   inherited beats :root inside them. Re-declaring the set on the widget root
   makes the page's own tokens win wherever it is nested. */
.uichemy-fieldwork-1{
  /* Locked palette — every colour below derives from these five. */
  --frost: #f1f4f3;
  --mist: #dfe6e3;
  --pine: #1d4a3f;
  --slate: #58675f;
  --lichen: #c2d443;

  --pine-08: rgba(29, 74, 63, .08);
  --pine-14: rgba(29, 74, 63, .14);
  --pine-40: rgba(29, 74, 63, .4);
  --frost-70: rgba(241, 244, 243, .7);
  --frost-94: rgba(241, 244, 243, .94);

  --serif: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --col: min(640px, 86vw);
  --col-wide: min(840px, 92vw);
}

/* ── theme neutraliser ────────────────────────────────────────────────────
   The theme styles bare elements and the page inherits them: heading
   font/line-height/margins, img max-width, list and control chrome. This puts
   them back to what the standalone page gets, at (0,1,1) so it outranks the
   theme's element selectors, and BEFORE the page's own rules so those still win.
   Inline elements are left alone so they keep inheriting letter-spacing and
   text-transform; form controls keep line-height:normal, which is not inherited. */
.uichemy-fieldwork-1 h1, .uichemy-fieldwork-1 h2, .uichemy-fieldwork-1 h3, .uichemy-fieldwork-1 h4, .uichemy-fieldwork-1 h5, .uichemy-fieldwork-1 h6,
.uichemy-fieldwork-1 p, .uichemy-fieldwork-1 figure, .uichemy-fieldwork-1 figcaption, .uichemy-fieldwork-1 ul, .uichemy-fieldwork-1 ol, .uichemy-fieldwork-1 li,
.uichemy-fieldwork-1 dl, .uichemy-fieldwork-1 dt, .uichemy-fieldwork-1 dd, .uichemy-fieldwork-1 blockquote, .uichemy-fieldwork-1 label, .uichemy-fieldwork-1 small{
  margin:0; padding:0; border:0; background:none;
  font:inherit; line-height:inherit; letter-spacing:inherit; color:inherit;
}
.uichemy-fieldwork-1 ul, .uichemy-fieldwork-1 ol{ list-style:none; }
.uichemy-fieldwork-1 button, .uichemy-fieldwork-1 input, .uichemy-fieldwork-1 select, .uichemy-fieldwork-1 textarea{
  margin:0; padding:0; background:none; border-radius:0; box-shadow:none;
  min-height:0; text-transform:none; letter-spacing:normal;
}
.uichemy-fieldwork-1 img, .uichemy-fieldwork-1 svg, .uichemy-fieldwork-1 canvas, .uichemy-fieldwork-1 video{ max-width:none; height:auto; border:0; }
:root{
  /* Locked palette — every colour below derives from these five. */
  --frost: #f1f4f3;
  --mist: #dfe6e3;
  --pine: #1d4a3f;
  --slate: #58675f;
  --lichen: #c2d443;

  --pine-08: rgba(29, 74, 63, .08);
  --pine-14: rgba(29, 74, 63, .14);
  --pine-40: rgba(29, 74, 63, .4);
  --frost-70: rgba(241, 244, 243, .7);
  --frost-94: rgba(241, 244, 243, .94);

  --serif: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
  --sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --col: min(640px, 86vw);
  --col-wide: min(840px, 92vw);
}
.uichemy-fieldwork-1, .uichemy-fieldwork-1 *, .uichemy-fieldwork-1::before, .uichemy-fieldwork-1 *::before, .uichemy-fieldwork-1::after, .uichemy-fieldwork-1 *::after{ box-sizing: border-box; }
html:has(.uichemy-fieldwork-1){ -webkit-text-size-adjust: 100%; scrollbar-width: none; }
html:has(.uichemy-fieldwork-1)::-webkit-scrollbar{ display: none; }
html:has(.uichemy-fieldwork-1) body{
  margin: 0;
  background: var(--frost);
  color: var(--pine);
  font: 400 14px/1.5 var(--sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.uichemy-fieldwork-1 button{ font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.uichemy-fieldwork-1 a{ color: inherit; }
.uichemy-fieldwork-1 svg{ display: block; }
.uichemy-fieldwork-1 :focus-visible{ outline: 2px solid var(--lichen); outline-offset: 3px; border-radius: 4px; }
.uichemy-fieldwork-1 .mark{ width: 22px; height: 22px; fill: var(--pine); }
/* ---------- Loader ---------- */
.uichemy-fieldwork-1 .loader{
  position: fixed; inset: 0; z-index: 50;
  display: grid; place-items: center;
  background: var(--frost);
  transition: opacity .8s var(--ease-io) .35s, visibility 0s linear 1.2s;
}
.uichemy-fieldwork-1 .loader-inner{ display: grid; justify-items: center; gap: 14px; transition: transform 1s var(--ease-io), opacity .6s var(--ease-io); }
.uichemy-fieldwork-1 .loader .mark{ width: 30px; height: 30px; }
.uichemy-fieldwork-1 .loader-name{ margin: 0; font: 400 30px/1 var(--serif); letter-spacing: -.01em; }
.uichemy-fieldwork-1 .loader-bar{ width: 180px; height: 1px; background: var(--mist); overflow: hidden; }
.uichemy-fieldwork-1 .loader-bar i{ display: block; height: 100%; background: var(--pine); transform-origin: 0 50%; transform: scaleX(0); }
.uichemy-fieldwork-1 .loader-count{ font: 500 11px/1 var(--sans); letter-spacing: .16em; color: var(--slate); font-variant-numeric: tabular-nums; }
body:not([data-view="loading"]) .uichemy-fieldwork-1 .loader{ opacity: 0; visibility: hidden; }
body:not([data-view="loading"]) .uichemy-fieldwork-1 .loader-inner{ transform: translateY(-24px); opacity: 0; }
/* ---------- Top bar ---------- */
.uichemy-fieldwork-1 .top{
  position: fixed; inset: 0 0 auto; z-index: 20;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 18px 28px;
  font-size: 13px;
  opacity: 0; transform: translateY(-10px);
  transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
body.ready .uichemy-fieldwork-1 .top{ opacity: 1; transform: none; }
.uichemy-fieldwork-1 .top::before{ content: ""; position: absolute; inset: 0 0 -28px; z-index: -1; background: linear-gradient(var(--frost-94) 55%, rgba(241, 244, 243, 0)); opacity: 0; transition: opacity .6s var(--ease-io); pointer-events: none; }
body[data-view="series"] .uichemy-fieldwork-1 .top::before{ opacity: 1; }
.uichemy-fieldwork-1 .brand{ display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 600; justify-self: start; }
.uichemy-fieldwork-1 .top-line{ margin: 0; color: var(--slate); }
.uichemy-fieldwork-1 .top-link{ justify-self: end; font-weight: 500; padding: 6px 2px; background: linear-gradient(var(--pine), var(--pine)) 0 100% / 0 1px no-repeat; transition: background-size .45s var(--ease-out); }
.uichemy-fieldwork-1 .top-link:hover{ background-size: 100% 1px; }
/* ---------- Home ---------- */
.uichemy-fieldwork-1 .mega{
  position: fixed; left: 0; right: 0; top: var(--mega-top, 11vh); z-index: 0;
  margin: 0; text-align: center; white-space: nowrap;
  font: 400 var(--mega-size, 17vw)/.82 var(--serif);
  letter-spacing: -.035em;
  color: var(--pine);
  pointer-events: none; user-select: none;
}
.uichemy-fieldwork-1 .mega-inner{ display: inline-block; overflow: hidden; padding: .02em .04em .06em; }
.uichemy-fieldwork-1 .mega .ch{ display: inline-block; transform: translateY(108%); transition: transform 1.15s var(--ease-out); transition-delay: calc(var(--i) * 45ms); }
body.show-home .uichemy-fieldwork-1 .mega .ch{ transform: none; }
body.leave-home .uichemy-fieldwork-1 .mega .ch{ transform: translateY(-108%); transition-duration: .8s; transition-timing-function: var(--ease-io); transition-delay: calc(var(--i) * 25ms); }
.uichemy-fieldwork-1 .home-hint{
  position: fixed; left: 28px; right: 28px; bottom: 36px; z-index: 3; margin: 0;
  display: flex; justify-content: space-between; align-items: center;
  font: 500 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--slate);
  opacity: 0; transition: opacity .6s var(--ease-io);
  pointer-events: none;
}
body.show-home .uichemy-fieldwork-1 .home-hint{ opacity: 1; transition-delay: .9s; }
.uichemy-fieldwork-1 .home-index{ font-variant-numeric: tabular-nums; }
.uichemy-fieldwork-1 .gl{ position: fixed; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; }
html:has(.uichemy-fieldwork-1) body[data-view="home"]{ cursor: grab; }
html:has(.uichemy-fieldwork-1) body[data-view="home"].dragging{ cursor: grabbing; }
html:has(.uichemy-fieldwork-1) body[data-view="home"].over-panel{ cursor: pointer; }
.uichemy-fieldwork-1 .tag{
  position: fixed; left: 0; top: 0; z-index: 30; pointer-events: none;
  padding: 7px 12px 6px; border-radius: 99px;
  background: var(--lichen); color: var(--pine);
  font: 600 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  opacity: 0; scale: .6; transition: opacity .25s var(--ease-out), scale .35s var(--ease-out);
}
.uichemy-fieldwork-1 .tag.on{ opacity: 1; scale: 1; }
/* ---------- Series ---------- */
.uichemy-fieldwork-1 .scroll-space{ height: 0; }
.uichemy-fieldwork-1 .series{
  position: fixed; left: 0; right: 0; top: 0; z-index: 2;
  will-change: transform;
  visibility: hidden;
}
body[data-view="series"] .uichemy-fieldwork-1 .series, body[data-view="lightbox"] .uichemy-fieldwork-1 .series, body.series-on .uichemy-fieldwork-1 .series{ visibility: visible; }
.uichemy-fieldwork-1 .series-head{ padding: 19vh 24px 0; text-align: center; }
.uichemy-fieldwork-1 .eyebrow{ margin: 0; font: 500 11px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--slate); }
.uichemy-fieldwork-1 .series-title{
  margin: 2vh 0 0; font: 400 clamp(96px, 17vw, 260px)/.86 var(--serif); letter-spacing: -.04em;
  overflow: hidden; padding: 0 .05em .08em;
}
.uichemy-fieldwork-1 .series-title .ch{ display: inline-block; transform: translateY(110%); transition: transform 1.1s var(--ease-out); transition-delay: calc(.25s + var(--i) * 55ms); }
.uichemy-fieldwork-1 .series-blurb{ max-width: 30ch; margin: 4vh auto 0; font: italic 400 clamp(19px, 1.7vw, 24px)/1.35 var(--serif); color: var(--pine); }
.uichemy-fieldwork-1 .series-head .eyebrow, .uichemy-fieldwork-1 .series-blurb{ opacity: 0; transform: translateY(14px); transition: opacity .9s var(--ease-out) .55s, transform .9s var(--ease-out) .55s; }
.uichemy-fieldwork-1 .series.in .series-title .ch, .uichemy-fieldwork-1 .series.in .series-head .eyebrow, .uichemy-fieldwork-1 .series.in .series-blurb{ transform: none; opacity: 1; }
.uichemy-fieldwork-1 .frames{ display: grid; justify-items: center; gap: 15vh; padding: 17vh 0 0; }
.uichemy-fieldwork-1 .frames figure{ margin: 0; width: var(--col); }
.uichemy-fieldwork-1 .frames figure.wide{ width: var(--col-wide); }
.uichemy-fieldwork-1 .frame{ position: relative; display: block; width: 100%; background: var(--mist); cursor: zoom-in; }
.uichemy-fieldwork-1 .frame img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
html:has(.uichemy-fieldwork-1).webgl .uichemy-fieldwork-1 .frame{ background: transparent; }
html:has(.uichemy-fieldwork-1).webgl .uichemy-fieldwork-1 .frame img{ opacity: 0; }
.uichemy-fieldwork-1 .frame-tag{
  position: absolute; left: 50%; top: 50%; translate: -50% -50%;
  padding: 7px 12px 6px; border-radius: 99px; background: var(--lichen); color: var(--pine);
  font: 600 10px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase;
  opacity: 0; scale: .7; transition: opacity .3s var(--ease-out), scale .4s var(--ease-out);
}
.uichemy-fieldwork-1 .frame:hover .frame-tag, .uichemy-fieldwork-1 .frame:focus-visible .frame-tag{ opacity: 1; scale: 1; }
.uichemy-fieldwork-1 figcaption{ display: flex; justify-content: space-between; gap: 16px; padding-top: 12px; font-size: 12px; color: var(--slate); }
.uichemy-fieldwork-1 figcaption b{ font-weight: 600; color: var(--pine); font-variant-numeric: tabular-nums; }
.uichemy-fieldwork-1 .next{ display: grid; justify-items: center; gap: 2vh; padding: 26vh 24px 8vh; text-align: center; }
.uichemy-fieldwork-1 .next-link{ display: inline-flex; align-items: baseline; gap: .15em; font: italic 400 clamp(72px, 12vw, 180px)/.9 var(--serif); letter-spacing: -.03em; text-decoration: none; }
.uichemy-fieldwork-1 .next-link span{ background: linear-gradient(var(--lichen), var(--lichen)) 0 88% / 0 .12em no-repeat; transition: background-size .6s var(--ease-out); }
.uichemy-fieldwork-1 .next-link:hover span{ background-size: 100% .12em; }
.uichemy-fieldwork-1 .next-link svg{ width: .42em; height: .42em; stroke: currentColor; stroke-width: 1.2; fill: none; transition: transform .5s var(--ease-out); }
.uichemy-fieldwork-1 .next-link:hover svg{ transform: translateX(.08em); }
.uichemy-fieldwork-1 .series-foot{ display: flex; justify-content: space-between; gap: 16px; padding: 3vh 28px 110px; font-size: 12px; color: var(--slate); border-top: 1px solid var(--pine-14); margin: 0 28px; padding-left: 0; padding-right: 0; }
/* ---------- Lightbox ---------- */
.uichemy-fieldwork-1 .lightbox{ position: fixed; inset: 0; z-index: 40; visibility: hidden; pointer-events: none; }
.uichemy-fieldwork-1 .lightbox.open{ visibility: visible; pointer-events: auto; }
.uichemy-fieldwork-1 .lightbox-bg{ position: absolute; inset: 0; background: var(--frost-94); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); opacity: 0; transition: opacity .6s var(--ease-io); cursor: zoom-out; }
.uichemy-fieldwork-1 .lightbox.open .lightbox-bg{ opacity: 1; }
.uichemy-fieldwork-1 .lightbox-img{ position: absolute; left: 0; top: 0; transform-origin: 0 0; box-shadow: 0 30px 80px -30px var(--pine-40); user-select: none; }
.uichemy-fieldwork-1 .lightbox-cap{ position: absolute; left: 0; right: 0; top: 22px; margin: 0; text-align: center; font-size: 12px; color: var(--slate); opacity: 0; transition: opacity .5s var(--ease-io); }
.uichemy-fieldwork-1 .lightbox.open .lightbox-cap{ opacity: 1; transition-delay: .35s; }
/* ---------- About ---------- */
.uichemy-fieldwork-1 .about{ position: fixed; inset: 0; z-index: 45; pointer-events: none; }
.uichemy-fieldwork-1 .about-card{
  position: absolute; right: 20px; top: 64px; width: min(400px, calc(100vw - 40px));
  padding: 26px 26px 22px; border-radius: 20px;
  background: var(--frost-94); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--pine-14); box-shadow: 0 30px 70px -40px var(--pine-40);
  opacity: 0; transform: translateY(-12px) scale(.98); transform-origin: 100% 0;
  transition: opacity .4s var(--ease-out), transform .5s var(--ease-out);
}
body.about-open .uichemy-fieldwork-1 .about{ pointer-events: auto; }
body.about-open .uichemy-fieldwork-1 .about-card{ opacity: 1; transform: none; }
.uichemy-fieldwork-1 .about-close{ position: absolute; right: 14px; top: 14px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; transition: background .3s; }
.uichemy-fieldwork-1 .about-close:hover{ background: var(--pine-08); }
.uichemy-fieldwork-1 .about-close svg, .uichemy-fieldwork-1 .dock svg{ width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.6; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.uichemy-fieldwork-1 .about-lede{ margin: 14px 0 20px; font: 400 21px/1.3 var(--serif); }
.uichemy-fieldwork-1 .about-row{ display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 10px 0; border-top: 1px solid var(--pine-14); font-size: 13px; }
.uichemy-fieldwork-1 .about-row span{ color: var(--slate); }
.uichemy-fieldwork-1 .about-row em{ font-style: normal; text-align: right; }
.uichemy-fieldwork-1 .about-credits{ margin: 16px 0 0; font-size: 11px; line-height: 1.55; color: var(--slate); }
/* ---------- Dock ---------- */
.uichemy-fieldwork-1 .dock{
  position: fixed; left: 50%; bottom: 22px; z-index: 42;
  display: flex; gap: 8px; align-items: center;
  translate: -50% 0;
  opacity: 0; transform: translateY(20px);
  transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
body.ready .uichemy-fieldwork-1 .dock{ opacity: 1; transform: none; }
.uichemy-fieldwork-1 .dock-shell, .uichemy-fieldwork-1 .dock-round{
  height: 54px; border-radius: 16px;
  background: var(--frost-70); backdrop-filter: blur(16px) saturate(1.3); -webkit-backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid var(--pine-14);
  box-shadow: 0 14px 40px -24px var(--pine-40);
}
.uichemy-fieldwork-1 .dock-shell{ display: flex; align-items: center; overflow: hidden; transition: width .6s var(--ease-out); }
.uichemy-fieldwork-1 .dock-shell > *{ flex: none; }
.uichemy-fieldwork-1 .dock-btn{ width: 44px; height: 44px; margin-left: 5px; border-radius: 12px; display: grid; place-items: center; transition: background .3s; }
.uichemy-fieldwork-1 .dock-btn:hover, .uichemy-fieldwork-1 .dock-mini:hover, .uichemy-fieldwork-1 .dock-round:hover{ background-color: var(--pine-08); }
.uichemy-fieldwork-1 .dock-info{ display: flex; align-items: center; gap: 10px; padding: 0 14px 0 5px; min-width: 150px; }
.uichemy-fieldwork-1 .dock-thumb{ width: 42px; height: 42px; border-radius: 11px; overflow: hidden; background: var(--mist); }
.uichemy-fieldwork-1 .dock-thumb img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.uichemy-fieldwork-1 .dock-text{ display: grid; line-height: 1.15; }
.uichemy-fieldwork-1 .dock-text small{ font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--slate); }
.uichemy-fieldwork-1 .dock-text b{ font-weight: 600; font-size: 14px; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.uichemy-fieldwork-1 .dock-text.swap{ animation: dockSwap .5s var(--ease-out); }
@keyframes dockSwap{ from { opacity: 0; transform: translateY(8px); } }
.uichemy-fieldwork-1 .dock-arrows{ display: flex; gap: 2px; padding-right: 6px; }
.uichemy-fieldwork-1 .dock-mini{ width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; transition: background .3s; }
.uichemy-fieldwork-1 .dock-round{ min-width: 54px; padding: 0 17px; display: flex; align-items: center; gap: 8px; transition: background .3s, width .5s var(--ease-out); }
.uichemy-fieldwork-1 .dock-round svg{ display: none; }
.uichemy-fieldwork-1 .dock-round-label{ max-width: 0; overflow: hidden; white-space: nowrap; font-weight: 600; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; transition: max-width .5s var(--ease-out), opacity .4s; opacity: 0; }
.uichemy-fieldwork-1 .dock-round:hover .dock-round-label, .uichemy-fieldwork-1 .dock-round:focus-visible .dock-round-label{ max-width: 70px; opacity: 1; }
.uichemy-fieldwork-1 .dock-back{ display: none; }
body[data-view="series"] .uichemy-fieldwork-1 .dock-back{ display: grid; }
body[data-view="series"] .uichemy-fieldwork-1 .dock-arrows{ display: none; }
body[data-view="home"][data-mode="arc"] .uichemy-fieldwork-1 .i-flat, body[data-view="home"][data-mode="flat"] .uichemy-fieldwork-1 .i-arc, body[data-view="series"] .uichemy-fieldwork-1 .i-up, body[data-view="lightbox"] .uichemy-fieldwork-1 .i-close{ display: block; }
body.busy .uichemy-fieldwork-1 .dock{ pointer-events: none; }
.uichemy-fieldwork-1 .noscript{ position: fixed; inset: auto 0 40% 0; text-align: center; z-index: 60; }
/* ---------- Small screens ---------- */
@media (max-width: 720px){
  .uichemy-fieldwork-1 .top{ padding: 14px 16px; grid-template-columns: 1fr auto; }
  .uichemy-fieldwork-1 .top-line{ display: none; }
  .uichemy-fieldwork-1 .home-hint{ left: 16px; right: 16px; bottom: 96px; justify-content: center; }
  .uichemy-fieldwork-1 .home-help{ display: none; }
  .uichemy-fieldwork-1 .dock{ bottom: 14px; }
  .uichemy-fieldwork-1 .dock-info{ min-width: 0; }
  .uichemy-fieldwork-1 .frames{ gap: 9vh; }
  .uichemy-fieldwork-1 .series-foot{ flex-direction: column; margin: 0 16px; }
}
@media (prefers-reduced-motion: reduce){
  .uichemy-fieldwork-1, .uichemy-fieldwork-1 *, .uichemy-fieldwork-1::before, .uichemy-fieldwork-1 *::before, .uichemy-fieldwork-1::after, .uichemy-fieldwork-1 *::after{ transition-duration: .01ms !important; transition-delay: 0s !important; animation-duration: .01ms !important; }
}
/* ---------- Touch + no-WebGL fallback ---------- */
html:has(.uichemy-fieldwork-1) body[data-view="home"]{ touch-action: none; overscroll-behavior: none; }
.uichemy-fieldwork-1 .lightbox-img{ opacity: 0; }
.uichemy-fieldwork-1 .fallback{ position: fixed; left: 50%; top: 52%; translate: -50% -50%; z-index: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 200px)); gap: 12px; width: min(640px, 90vw); }
.uichemy-fieldwork-1 .fallback a{ position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 6px; }
.uichemy-fieldwork-1 .fallback img{ width: 100%; height: 100%; object-fit: cover; }
.uichemy-fieldwork-1 .fallback span{ position: absolute; inset: auto 0 0; padding: 8px 10px; color: var(--frost); font: italic 400 22px/1 var(--serif); }
body.no-gl .uichemy-fieldwork-1 .home-help{ display: none; }

/* ── WordPress / Elementor compatibility ──────────────────────────────────
   This page is a full-viewport experience: the loader, top bar, headline,
   canvas, lightbox, about panel and dock are all position:fixed. A transform,
   filter, perspective, contain or will-change on ANY ancestor would turn that
   widget box into their containing block and silently reparent every one of
   them, so the whole wrapper chain is cleared of those here. */
html:has(.uichemy-fieldwork-1){ scroll-behavior:auto !important; }
html:has(.uichemy-fieldwork-1) .wrapper-main,
html:has(.uichemy-fieldwork-1) #content.site-content,
html:has(.uichemy-fieldwork-1) #primary.content-area,
html:has(.uichemy-fieldwork-1) main#main.site-main,
html:has(.uichemy-fieldwork-1) article.page,
html:has(.uichemy-fieldwork-1) .entry-content,
html:has(.uichemy-fieldwork-1) .elementor,
html:has(.uichemy-fieldwork-1) .e-con,
html:has(.uichemy-fieldwork-1) .e-con-inner,
html:has(.uichemy-fieldwork-1) .elementor-widget-uichemy-composer,
html:has(.uichemy-fieldwork-1) .elementor-widget-container{
  margin:0; padding:0; max-width:none; overflow:visible; contain:none;
  transform:none; filter:none; perspective:none; will-change:auto;
}
html:has(.uichemy-fieldwork-1) .e-con,
html:has(.uichemy-fieldwork-1) .e-con-inner{ --padding-inline:0px; --padding-block:0px; --gap:0px; width:auto; }
/* Elementor zeroes figure margins at (0,4,1); the page's own spacing must win */
.uichemy-fieldwork-1 figure{ margin:0; }
/* the widget root is a pass-through: it adds nothing to the layout */
.uichemy-fieldwork-1{ margin:0; padding:0; border:0; font-size:16px; }
