@font-face { font-family:'DLMG Newsreader'; src:url('./fonts/newsreader-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'DLMG Newsreader'; src:url('./fonts/newsreader-latin-400-italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'DLMG Manrope'; src:url('./fonts/manrope-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
#dl-mini-gallery-thrive{display:block;width:100%;max-width:none;margin:0;border:0;isolation:isolate;overflow:hidden;text-align:left;font:var(--dl-body-m);color:var(--dl-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--dl-mini-gallery-title-size:clamp(32px,3.4vw,44px)}
#dl-mini-gallery-thrive,#dl-mini-gallery-thrive *,#dl-mini-gallery-thrive *::before,#dl-mini-gallery-thrive *::after{box-sizing:border-box}
#dl-mini-gallery-thrive :is(h2,div,img,canvas){margin-top:0}
#dl-mini-gallery-thrive .dl-display-l{font-size:var(--dl-mini-gallery-title-size)}
#dl-mini-gallery-thrive [data-dl-pair]{display:none!important}
#dl-mini-gallery-thrive {
  --dl-body-m: 400 15px/1.6 var(--dl-sans);
  --dl-text: #0A2540;
  --dl-white: #FFFFFF;
  --dl-maxw: 1280px;
  --dl-gutter: clamp(20px, 4vw, 56px);
  --dl-display-l: 400 clamp(32px, 3.4vw, 44px)/1.12 var(--dl-serif);
  --dl-ink: #0A2540;
  --dl-cyan-run-large: linear-gradient(100deg, #0092B2 0%, #009DBC 50%, #00A1BE 100%);
  --dl-lit: drop-shadow(0 0 5px rgba(34,201,224,.62)) drop-shadow(0 0 18px rgba(34,201,224,.42));
  --dl-settle: 240ms;
  --dl-ease-out: cubic-bezier(.16,.84,.44,1);
  --dl-rhythm-l: clamp(96px, 12vw, 160px);
  --dl-rhythm-m: clamp(80px, 10vw, 128px);
  --dl-r-media: 18px;
  --dl-e2: 0 22px 48px -30px rgba(14,86,120,.50);
  --dl-hairline: rgba(10,37,64,.10);
  --dl-sans: 'DLMG Manrope', system-ui, -apple-system, sans-serif;
  --dl-serif: 'DLMG Newsreader', Georgia, serif;
}


#dl-mini-gallery-thrive .dl-grain {
  position: absolute; inset: 0;
  z-index: 5; pointer-events: none;
  opacity: .045; mix-blend-mode: overlay;
  background-image: url('./assets/grain.png');
  background-size: 256px 256px;
}

#dl-mini-gallery-thrive .dl-shell {
  position: relative; z-index: 2;
  width: 100%; max-width: var(--dl-maxw);
  margin-inline: auto;
  padding-inline: var(--dl-gutter);
}
#dl-mini-gallery-thrive .dl-display-l { font: var(--dl-display-l); letter-spacing: -.018em; color: var(--dl-ink); margin: 0; }


#dl-mini-gallery-thrive .dl-hot, #dl-mini-gallery-thrive .dl-display-l em {
  background: var(--dl-cyan-run-large);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  filter: var(--dl-lit);
}
#dl-mini-gallery-thrive .dl-display-l em { font-style: italic; }



#dl-mini-gallery-thrive [data-dl-enter] { opacity: 0; }
#dl-mini-gallery-thrive [data-dl-enter="settle"] {
  transform: translateY(4px);
  transition: opacity var(--dl-settle) var(--dl-ease-out) var(--dl-delay, 0ms),
              transform var(--dl-settle) var(--dl-ease-out) var(--dl-delay, 0ms);
}
#dl-mini-gallery-thrive .dl-in[data-dl-enter] { opacity: 1; transform: none; }

#dl-mini-gallery-thrive {
  position: relative;
  background: var(--dl-white);
  z-index: 1;
}

#dl-mini-gallery-thrive::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 160px;
  background: linear-gradient(to bottom, #F0F6F9, rgba(240,246,249,0));
  pointer-events: none; z-index: 2;
}

#dl-mini-gallery-thrive .dl-sec {
  position: relative;
  padding-block: var(--dl-rhythm-l);
}


#dl-mini-gallery-thrive .dl-sec__gl {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
  background: var(--dl-white);
  pointer-events: none;
}

#dl-mini-gallery-thrive .dl-sec .dl-shell { position: relative; z-index: 3; }



#dl-mini-gallery-thrive .dl-loom {
  padding-block: var(--dl-rhythm-m) var(--dl-rhythm-l);
  overflow: hidden;
}

#dl-mini-gallery-thrive .dl-loom__head {
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
}

#dl-mini-gallery-thrive .dl-loom__head > * { max-width: 100%; }
#dl-mini-gallery-thrive .dl-loom__head .dl-display-l { text-wrap: balance; }

#dl-mini-gallery-thrive .dl-loom__stage {
  position: relative;
  margin-top: clamp(32px, 4.5vw, 56px);
  --loom-w: clamp(250px, 27vw, 400px);
  --loom-h: calc(var(--loom-w) * 0.66);
  --loom-gap: clamp(30px, 4vw, 60px);
}

#dl-mini-gallery-thrive .dl-loom__stream {
  position: relative;
  width: 100%;
  padding-block: 26px;
  touch-action: pan-y;
  
  overflow-x: clip;
  overflow-y: visible;
}

#dl-mini-gallery-thrive .dl-loom__line {
  display: flex;
  gap: var(--loom-gap);
  width: max-content;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  will-change: transform;
}
#dl-mini-gallery-thrive .dl-loom__line.is-drag { cursor: grabbing; }

#dl-mini-gallery-thrive .dl-loom__card {
  position: relative;
  width: var(--loom-w);
  height: var(--loom-h);
  flex: 0 0 auto;
  border-radius: var(--dl-r-media);
  box-shadow: var(--dl-e2);
}

#dl-mini-gallery-thrive .dl-loom__art,
#dl-mini-gallery-thrive .dl-loom__draw {
  position: absolute; inset: 0;
  border-radius: inherit;
  overflow: hidden;
}
#dl-mini-gallery-thrive .dl-loom__art img,
#dl-mini-gallery-thrive .dl-loom__draw img {
  width: 100%; height: 100%;
  display: block;
  pointer-events: none;
}


#dl-mini-gallery-thrive .dl-loom__art img { object-fit: cover; }
#dl-mini-gallery-thrive .dl-loom__art {
  -webkit-mask-image: linear-gradient(to right, #000 calc(var(--edge, 9999px) - 10px), transparent calc(var(--edge, 9999px) + 12px));
  mask-image: linear-gradient(to right, #000 calc(var(--edge, 9999px) - 10px), transparent calc(var(--edge, 9999px) + 12px));
}


#dl-mini-gallery-thrive .dl-loom__draw {
  background: linear-gradient(180deg, #FFFFFF, #FBFDFE);
  box-shadow: inset 0 0 0 1px var(--dl-hairline);
}
#dl-mini-gallery-thrive .dl-loom__draw img { object-fit: contain; padding: 4%; }
#dl-mini-gallery-thrive .dl-loom__draw {
  -webkit-mask-image: linear-gradient(to right, transparent calc(var(--edge, 9999px) - 12px), #000 calc(var(--edge, 9999px) + 10px));
  mask-image: linear-gradient(to right, transparent calc(var(--edge, 9999px) - 12px), #000 calc(var(--edge, 9999px) + 10px));
}


#dl-mini-gallery-thrive .dl-loom__edge {
  position: absolute;
  top: -6%; bottom: -6%;
  left: var(--edge, -120px);
  width: 0;
  opacity: var(--ignite, 0);
  transition: opacity 200ms ease;
  pointer-events: none;
  z-index: 6;
}


#dl-mini-gallery-thrive .dl-loom__edge::before {
  content: '';
  position: absolute; top: 0; bottom: 0; left: -1px;
  width: 2px; border-radius: 2px;
  background: linear-gradient(180deg,
    transparent,
    rgba(223,246,255,.95) 14%,
    #FFFFFF 46%,
    rgba(223,246,255,.95) 82%,
    transparent);
  box-shadow:
    0 0 7px rgba(34,201,224,.85),
    0 0 22px rgba(34,201,224,.45),
    -7px 0 9px -3px rgba(111,231,220,.65),
    8px 0 10px -3px rgba(154,140,240,.5),
    0 0 52px rgba(111,231,220,.30);
  animation: dl-loom-strand-a 2.3s ease-in-out infinite;
}


#dl-mini-gallery-thrive .dl-loom__edge::after {
  content: '';
  position: absolute; top: 7%; bottom: 12%; left: 3px;
  width: 1.5px; border-radius: 2px;
  background: linear-gradient(180deg,
    transparent,
    rgba(111,231,220,.9) 22%,
    rgba(223,251,255,.95) 55%,
    rgba(111,231,220,.85) 80%,
    transparent);
  box-shadow: 0 0 6px rgba(111,231,220,.7), 0 0 16px rgba(34,201,224,.35);
  transform: rotate(1.6deg);
  animation: dl-loom-strand-b 3.4s ease-in-out infinite;
}


#dl-mini-gallery-thrive .dl-loom__edge > b {
  position: absolute;
  top: var(--st, 10%); bottom: var(--sb, 8%);
  left: calc(var(--sx, -5px) + var(--sjx, 0px));
  width: var(--sw, 1.5px); border-radius: 2px;
  background: linear-gradient(180deg,
    transparent,
    var(--sc1) 24%,
    var(--sc2) 52%,
    var(--sc1) 78%,
    transparent);
  box-shadow: 0 0 6px var(--sg);
  transform: rotate(var(--sr, 0deg));
  animation: dl-loom-strand-sway var(--sd, 2.8s) ease-in-out var(--sdel, 0s) infinite;
}
#dl-mini-gallery-thrive .dl-loom__edge > b::after {
  content: '';
  position: absolute; left: -0.5px; right: -0.5px; height: 22%;
  border-radius: inherit;
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.95), transparent);
  animation: dl-loom-crest var(--sd, 2.8s) linear var(--sdel, 0s) infinite;
}


#dl-mini-gallery-thrive .dl-loom__edge > b:nth-of-type(1) {
  --sx: -5px; --sr: -2.1deg; --st: 13%; --sb: 6%;
  --sc1: rgba(154,140,240,.85); --sc2: rgba(255,183,214,.9);
  --sg: rgba(154,140,240,.6); --so: .8;
}

#dl-mini-gallery-thrive .dl-loom__edge > b:nth-of-type(2) {
  --sx: -9px; --sr: 1.3deg; --st: 5%; --sb: 15%; --sw: 1px;
  --sc1: rgba(133,214,255,.8); --sc2: rgba(236,250,255,.95);
  --sg: rgba(34,201,224,.5); --so: .6;
}

#dl-mini-gallery-thrive .dl-loom__edge > b:nth-of-type(3) {
  --sx: 7px; --sr: -1deg; --st: 18%; --sb: 4%; --sw: 1px;
  --sc1: rgba(251,211,107,.75); --sc2: rgba(255,240,205,.9);
  --sg: rgba(251,211,107,.5); --so: .55;
}

@keyframes dl-loom-strand-a {
  0%, 100% { opacity: .85; transform: scaleY(.985); }
  50%      { opacity: 1;   transform: scaleY(1.01); }
}
@keyframes dl-loom-strand-b {
  0%, 100% { opacity: .55; transform: rotate(1.6deg) translateY(-3px); }
  45%      { opacity: 1;   transform: rotate(1.6deg) translateY(3px); }
}
@keyframes dl-loom-strand-sway {
  0%, 100% { opacity: var(--so, .7); transform: rotate(var(--sr, 0deg)) translateX(0); }
  50%      { opacity: 1;             transform: rotate(var(--sr, 0deg)) translateX(var(--swx, 2px)); }
}
@keyframes dl-loom-crest {
  0%   { top: -24%; opacity: 0; }
  18%  { opacity: 1; }
  82%  { opacity: .9; }
  100% { top: 102%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html:not(.dl-motion) #dl-mini-gallery-thrive .dl-loom__edge::before,
  html:not(.dl-motion) #dl-mini-gallery-thrive .dl-loom__edge::after,
  html:not(.dl-motion) #dl-mini-gallery-thrive .dl-loom__edge > b,
  html:not(.dl-motion) #dl-mini-gallery-thrive .dl-loom__edge > b::after { animation: none; }
}

@media (max-width: 820px) {
  #dl-mini-gallery-thrive .dl-loom__stage {
    --loom-w: clamp(220px, 66vw, 280px);
  }
}

#dl-mini-gallery-thrive,#dl-mini-gallery-thrive .dl-loom{background:transparent}
#dl-mini-gallery-thrive .dl-sec__gl{background:transparent}

/* Page-owned background; retain local light, media and card surfaces. */
#dl-mini-gallery-thrive::before,#dl-mini-gallery-thrive > .dl-grain{display:none!important}
#dl-mini-gallery-thrive,#dl-mini-gallery-thrive .dl-sec,#dl-mini-gallery-thrive .dl-sec__gl{background:transparent}
