:root {
  --bg: #09090b;
  --surface: rgba(255,255,255,.055);
  --surface-2: rgba(255,255,255,.09);
  --text: #f5f3ee;
  --muted: #aaa7a0;
  --line: rgba(255,255,255,.13);
  --accent: #d8f878;
  --radius: 28px;
  --ease: cubic-bezier(.2,.8,.2,1);
  --mobile-gallery-columns: 1;
}

* { box-sizing: border-box; }
:where(a,button,[role="button"],[tabindex]):focus { outline:none; }
:where(a,button,[role="button"],[tabindex]):focus-visible {
  outline:1px solid rgba(216,248,120,.78);
  outline-offset:3px;
  box-shadow:
    0 0 5px rgba(216,248,120,.34),
    0 0 16px rgba(216,248,120,.16);
}
:where(a,button,[role="button"],[tabindex]) {
  -webkit-tap-highlight-color:transparent;
}
html { scroll-behavior:smooth; overflow-x:clip; }
body {
  margin: 0;
  color: var(--text);
  background:var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
  position:relative;
  isolation:isolate;
}

.dev-preview-indicator {
  position:fixed;
  left:12px;
  bottom:12px;
  z-index:450;
  padding:6px 9px;
  border:1px solid rgba(216,248,120,.22);
  border-radius:999px;
  color:rgba(216,248,120,.58);
  background:rgba(10,10,11,.72);
  backdrop-filter:blur(10px);
  font-size:9px;
  font-weight:650;
  line-height:1;
  letter-spacing:.13em;
  pointer-events:none;
}

.wrap { width:min(1480px, calc(100% - 48px)); margin:auto; }

.valeria-header nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:18px;
}

.language-selector {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  line-height:1;
  letter-spacing:.10em;
  font-weight:520;
  user-select:none;
  white-space:nowrap;
}

.language-link {
  position:relative;
  z-index:0;
  color:rgba(245,243,238,.42);
  text-decoration:none;
  transition:
    color .9s cubic-bezier(.22,.61,.36,1),
    text-shadow 1.15s cubic-bezier(.22,.61,.36,1),
    opacity .9s cubic-bezier(.22,.61,.36,1);
}

.language-link::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:220%;
  height:280%;
  transform:translate(-50%,-50%) scale(.94);
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(
    ellipse at center,
    rgba(216,248,120,.22) 0%,
    rgba(216,248,120,.12) 34%,
    rgba(216,248,120,.05) 58%,
    rgba(216,248,120,0) 78%
  );
  filter:blur(8px);
  transition:
    opacity 1.15s cubic-bezier(.22,.61,.36,1),
    transform 1.15s cubic-bezier(.22,.61,.36,1);
}

a.language-link:hover {
  color:rgba(216,248,120,.98);
  text-shadow:
    0 0 12px rgba(216,248,120,.50),
    0 0 28px rgba(216,248,120,.28),
    0 0 56px rgba(216,248,120,.13);
  transition-duration:
    .55s,
    .75s,
    .55s;
}

a.language-link:hover::before {
  opacity:1;
  transform:translate(-50%,-50%) scale(1.04);
  transition-duration:
    .75s,
    .85s;
}

.language-link.active {
  color:rgba(216,248,120,1);
  text-shadow:
    0 0 14px rgba(216,248,120,.58),
    0 0 34px rgba(216,248,120,.32),
    0 0 68px rgba(216,248,120,.15);
}

.language-link.active::before {
  opacity:1;
  transform:translate(-50%,-50%) scale(1.03);
  background:radial-gradient(
    ellipse at center,
    rgba(216,248,120,.26) 0%,
    rgba(216,248,120,.14) 34%,
    rgba(216,248,120,.06) 58%,
    rgba(216,248,120,0) 80%
  );
}

.language-separator {
  color:rgba(245,243,238,.18);
  font-weight:400;
  letter-spacing:0;
}

.hero {
  min-height:auto;
  padding:82px 0 10px;
  position:relative;
}
.hero-stack {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.hero-logo-lockup {
  margin: 2px 0 30px;
  min-height: 112px;
  display:flex;
  align-items:flex-start;
}
.hero-logo-lockup .valeria-header-logo {
  width: 148px;
  height:auto;
  color:#F6F3EA;
}

.hero-main {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,0.98fr) minmax(0,1.02fr);
  column-gap:clamp(18px,2.6vw,42px);
  align-items:center;
}
.hero-quote {
  margin:0;
  width:min(100%,760px);
  max-width:820px;
  justify-self:start;
  align-self:center;
  transform:translateX(-8px);
  color:rgba(245,243,238,.66);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(18px,1.48vw,24px);
  line-height:1.68;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.012em;
  position:relative;
  padding-left:38px;
}
.hero-quote::before {
  content:"“";
  position:absolute;
  left:0;
  top:-.18em;
  color:rgba(245,243,238,.16);
  font-family:Georgia,"Times New Roman",serif;
  font-size:3.2em;
  line-height:1;
  font-style:normal;
  font-weight:400;
}


.eyebrow {
  display:flex;align-items:center;gap:10px;
  color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.17em;
  margin-bottom:22px;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--accent);}
h1 {
  margin:0;
  color:rgba(245,243,238,.66);
  font-size:clamp(52px,8.0vw,124px);
  line-height:.82;
  letter-spacing:-.072em;
  font-weight:620;
  max-width:1000px;
}
h1 span {
  display:block;
  color:rgba(245,243,238,.038);
  -webkit-text-stroke:.72px rgba(245,243,238,.42);
  text-shadow:
    0 0 12px rgba(245,243,238,.028),
    0 0 26px rgba(216,248,120,.018);
  letter-spacing:-.066em;
}
.hero-copy {
  color:var(--muted);
  font-size:clamp(16px,1.25vw,20px);
  line-height:1.65;
  max-width:520px;
  justify-self:end;
  padding-bottom:2px;
}

.gallery-toolbar {
  padding:38px 0 28px;
  display:flex;
  justify-content:flex-end;
}
.collection-head {
  padding:0 0 28px;
}
.collection-head h2 {margin:0;font-size:clamp(32px,5vw,68px);letter-spacing:-.055em;}
.collection-head.has-description {
  display:grid;
  grid-template-columns:minmax(220px,.32fr) minmax(0,.68fr);
  align-items:start;
  column-gap:clamp(28px,4vw,64px);
  row-gap:0;
}
.collection-description {
  max-width:930px;
  margin:6px 0 0;
  color:rgba(245,243,238,.58);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(17px,1.28vw,20px);
  line-height:1.72;
  font-style:italic;
}
.column-selector {
  display:none;
  align-items:center;
  gap:5px;
}
.collection-controls {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-top:16px;
}
.collection-section.curation-controls-hidden .collection-controls{margin-top:0}
.column-option {
  position:relative;
  z-index:0;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:10px;
  color:rgba(245,243,238,.42);
  background:transparent;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:color .9s cubic-bezier(.22,.61,.36,1),filter var(--valeria-control-glow-exit) var(--valeria-control-glow-ease);
}
.column-option::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:-7px;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(circle,rgba(216,248,120,.26) 0%,rgba(216,248,120,.14) 34%,rgba(216,248,120,.06) 58%,rgba(216,248,120,0) 80%);
  filter:blur(8px);
  transform:scale(.94);
  transition:opacity var(--valeria-control-glow-exit) var(--valeria-control-glow-ease),transform var(--valeria-control-glow-exit) var(--valeria-control-glow-ease);
}
.column-option-icon {
  display:grid;
  grid-template-columns:repeat(var(--icon-columns),1fr);
  grid-template-rows:repeat(var(--icon-columns),1fr);
  width:20px;
  height:20px;
  gap:2px;
}
.column-option-icon.columns-1{--icon-columns:1}
.column-option-icon.columns-2{--icon-columns:2}
.column-option-icon.columns-3{--icon-columns:3}
.column-option-icon > span {
  border:1px solid currentColor;
  background:currentColor;
  border-radius:1px;
}
.column-option[aria-pressed="true"] {
  color:rgba(216,248,120,1);
  filter:var(--valeria-control-glow-filter);
}
.column-option[aria-pressed="true"]::before {
  opacity:1;
  transform:scale(1.03);
}
.column-option:focus-visible {
  outline:1px solid rgba(216,248,120,.8);
  outline-offset:2px;
}
.collection-section + .collection-section .collection-head {
  padding-top:11px;
}
.collection-section.first-visible .collection-head {
  padding-top:0;
}
.collection-section.hidden {display:none}
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.filter {
  border:1px solid var(--line);
  color:var(--muted);
  background:transparent;
  padding:10px 16px;border-radius:999px;
  cursor:pointer;transition:.25s;
}
.filter.active,.filter:hover {
  color:#0a0a0b;background:var(--accent);border-color:var(--accent);
}


/* Three-state curation control — perimeter-segment prototype. */
.curation-control {
  --curation-index:0;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:38px;
  width:112px;
  padding:0 16px;
  margin-left:0;
  border-radius:999px;
  color:var(--muted);
  background:transparent;
  user-select:none;
  isolation:isolate;
  cursor:pointer;
}

.curation-control.is-hidden {
  display:none;
}
.curation-control.is-mixed .curation-border-path,
.curation-control.is-mixed .curation-light-head,
.curation-control.is-mixed .curation-soft-head {
  opacity:0!important;
  animation:none!important;
}
.curation-control.is-mixed .curation-label {
  color:rgba(245,243,238,.30);
  text-shadow:none;
}

/* Neutral outline exactly like a normal collection button. */
.curation-control::before {
  content:"";
  position:absolute;
  inset:0;
  border:1px solid var(--line);
  border-radius:999px;
  pointer-events:none;
  z-index:0;
}

.curation-border-svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
  z-index:1;
}

.curation-border-path {
  fill:none;
  stroke:rgba(216,248,120,.82);
  stroke-width:1;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  filter:
    drop-shadow(0 0 3px rgba(216,248,120,.40))
    drop-shadow(0 0 8px rgba(216,248,120,.14));
  transition:
    stroke-dasharray 1.05s cubic-bezier(.18,.76,.22,1),
    stroke .45s ease,
    filter .55s ease,
    opacity .45s ease;
  opacity:.88;
}

/* Crisp inner light at the advancing edge. */
.curation-light-head {
  fill:none;
  stroke:rgba(216,248,120,1);
  stroke-width:1.08;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
  opacity:.62;
  transition:
    stroke-dashoffset .92s cubic-bezier(.18,.76,.22,1),
    opacity .7s ease,
    stroke-width .7s ease;
}

/* Broad blurred aura that removes the optical hard-stop of the dash. */
.curation-soft-head {
  fill:none;
  stroke:rgba(216,248,120,.68);
  stroke-width:5;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  pointer-events:none;
  opacity:.24;
  transition:
    stroke-dashoffset .92s cubic-bezier(.18,.76,.22,1),
    opacity .7s ease,
    stroke-width .7s ease;
}

.curation-control.is-animating .curation-light-head {
  opacity:1;
  stroke-width:1.22;
}

.curation-control.is-animating .curation-soft-head {
  opacity:.62;
  stroke-width:6.8;
}

/* Slow meditative breathing at the unfinished edge. */
.curation-control.has-more:not(.is-animating) .curation-light-head {
  animation:curationBreath 7.6s ease-in-out infinite;
}

.curation-control.has-more:not(.is-animating) .curation-soft-head {
  animation:curationSoftBreath 7.6s ease-in-out infinite;
}

@keyframes curationBreath {
  0%, 100% {
    opacity:.50;
    stroke-width:1.05;
  }
  50% {
    opacity:1;
    stroke-width:1.22;
  }
}

@keyframes curationSoftBreath {
  0%, 100% {
    opacity:.24;
    stroke-width:4.4;
  }
  50% {
    opacity:.46;
    stroke-width:5.6;
  }
}


.curation-label {
  position:relative;
  z-index:3;
  pointer-events:none;
  font-size:13px;
  line-height:1;
  color:rgba(245,243,238,.72);
  white-space:nowrap;
  transition:
    color .75s cubic-bezier(.22,.61,.36,1),
    opacity .75s cubic-bezier(.22,.61,.36,1),
    text-shadow .95s cubic-bezier(.22,.61,.36,1);
}

.curation-control:hover .curation-label,
.curation-control:focus-within .curation-label {
  color:rgba(216,248,120,1);
  text-shadow:
    0 0 14px rgba(216,248,120,.46),
    0 0 32px rgba(216,248,120,.24),
    0 0 64px rgba(216,248,120,.11);
  transition-duration:
    .55s,
    .55s,
    .75s;
  transition-delay:
    0s,
    0s,
    0s;
}

/* When leaving hover, the base transition remains longer,
   giving the glow a calm, lingering fade. */
.curation-control:not(:hover):not(:focus-within) .curation-label {
  transition-duration:
    1.15s,
    1.15s,
    1.55s;
  transition-timing-function:
    cubic-bezier(.22,.61,.36,1),
    cubic-bezier(.22,.61,.36,1),
    cubic-bezier(.22,.61,.36,1);
}

.curation-control.label-flash .curation-label {
  color:rgba(216,248,120,1);
  text-shadow:
    0 0 10px rgba(216,248,120,.60),
    0 0 24px rgba(216,248,120,.32),
    0 0 42px rgba(216,248,120,.12);
  animation:curationLabelFlash 1.45s cubic-bezier(.22,.61,.36,1) 1;
}

@keyframes curationLabelFlash {
  0%   { transform:scale(1); }
  28%  { transform:scale(1.025); }
  100% { transform:scale(1); }
}


.curation-button {
  position:absolute;
  inset:0;
  z-index:4;
  appearance:none;
  border:0;
  margin:0;
  padding:0;
  background:transparent;
  border-radius:999px;
  cursor:pointer;
  outline:none;
}

.curation-button:focus-visible {
  outline:1px solid rgba(216,248,120,.72);
  outline-offset:3px;
}

.curation-control.commit-pulse .curation-border-path {
  animation:curationBorderPulse .9s cubic-bezier(.2,.8,.2,1) 1;
}

@keyframes curationBorderPulse {
  0% {
    filter:
      drop-shadow(0 0 3px rgba(216,248,120,.55))
      drop-shadow(0 0 8px rgba(216,248,120,.20));
  }
  42% {
    filter:
      drop-shadow(0 0 4px rgba(216,248,120,.95))
      drop-shadow(0 0 10px rgba(216,248,120,.52))
      drop-shadow(0 0 22px rgba(216,248,120,.20));
  }
  100% {
    filter:
      drop-shadow(0 0 3px rgba(216,248,120,.52))
      drop-shadow(0 0 8px rgba(216,248,120,.20));
  }
}

.gallery {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
  padding-bottom:24px;
}
.collection-section:last-child .gallery {padding-bottom:120px}
.card {
  grid-column:span 4;
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  aspect-ratio:4/5;
  background:#151516;
  cursor:pointer;
  opacity:0;
  transform:translateY(45px) scale(.985);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
  isolation:isolate;
}
.card.wide {grid-column:span 8;aspect-ratio:16/10}
.card.tall {aspect-ratio:3/5}
.card.visible {opacity:1;transform:none}
.card.hidden {display:none}
.card img {
  width:100%;height:100%;object-fit:cover;
  display:block;
  transition:transform .9s var(--ease), filter .6s ease;
  will-change:transform;
}
.card::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0) 58%);
  z-index:1;pointer-events:none;
}
.card-content {
  position:absolute;
  z-index:2;
  right:22px;
  bottom:22px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.card:hover img{transform:scale(1.055)}
.open {
  width:var(--valeria-circle-size);
  height:var(--valeria-circle-size);
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(0,0,0,.18);
  backdrop-filter:blur(10px);
  color:rgba(255,255,255,.84);
  cursor:pointer;
  transition:
    background .35s var(--ease),
    border-color .35s var(--ease),
    color .35s var(--ease);
  flex:0 0 auto;
  overflow:visible;
  text-decoration:none;
}

.open::before {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  padding:1px;
  opacity:0;
  pointer-events:none;
  background:conic-gradient(
    from 0deg,
    rgba(216,248,120,0) 0deg,
    rgba(216,248,120,0) 265deg,
    rgba(216,248,120,.18) 300deg,
    rgba(216,248,120,.92) 338deg,
    rgba(216,248,120,0) 360deg
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}

.trust-mark {
  width:24px;
  height:24px;
  display:block;
  overflow:visible;
}

.inspector-mark {
  width:24px;
  height:24px;
  display:block;
  overflow:visible;
}
.inspector-mark .lens,
.inspector-mark .handle,
.inspector-mark .check-shape {
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.inspector-mark .lens,
.inspector-mark .handle { stroke-width:1.45; }
.inspector-mark .check-shape {
  stroke-width:1.35;
  opacity:.72;
  transform-origin:10.2px 10.2px;
  transition:stroke 1.25s ease,opacity 1.25s ease,filter 1.35s ease,transform 1.25s ease;
}
.inspector-mark .check-glow {
  fill:rgba(216,248,120,.34);
  opacity:0;
  filter:blur(5px);
  transform-origin:10.2px 10.2px;
  transition:opacity 1.45s ease,transform 1.35s ease;
}

.trust-mark .meta-line {
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}

.trust-mark .spark-shape {
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  transform-origin:17.2px 6.2px;
  opacity:.62;
  transition:
    stroke 1.25s ease-in-out,
    opacity 1.25s ease-in-out,
    filter 1.35s ease-in-out,
    transform 1.25s ease-in-out;
}

.trust-mark .spark-glow {
  opacity:0;
  transform-origin:17.2px 5.7px;
  transition:
    opacity 1.45s ease-in-out,
    transform 1.35s ease-in-out;
  fill:url(#trustGlow);
  filter:blur(5.2px);
}

.card:hover .trust-mark .spark-shape {
  transition-duration:.18s,.18s,.24s,.24s;
  stroke:rgba(216,248,120,1);
  opacity:1;
  transform:scale(1.24);
  filter:
    drop-shadow(0 0 3px rgba(216,248,120,1))
    drop-shadow(0 0 8px rgba(216,248,120,.72))
    drop-shadow(0 0 16px rgba(216,248,120,.34))
    drop-shadow(0 0 28px rgba(216,248,120,.12));
}

.card:hover .trust-mark .spark-glow {
  transition-duration:.22s,.28s;
  opacity:1;
  transform:scale(1.34);
}


@keyframes trustRingSweep {
  0% {
    opacity:0;
    transform:rotate(0deg);
  }
  12% {
    opacity:1;
  }
  88% {
    opacity:1;
  }
  100% {
    opacity:0;
    transform:rotate(360deg);
  }
}
.card:hover .open {
  background:rgba(255,255,255,.09);
  border-color:rgba(216,248,120,.34);
  color:rgba(255,255,255,.84);
}

.card:hover .open::before {
  animation:trustRingSweep 1.15s cubic-bezier(.22,.61,.36,1) 1;
}
.lightbox-trust-button:hover {
  background:rgba(255,255,255,.09);
  border-color:rgba(216,248,120,.34);
  color:rgba(255,255,255,.84);
}
.lightbox-trust-button:hover::before {
  animation:trustRingSweep 1.15s cubic-bezier(.22,.61,.36,1) 1;
}
.lightbox-trust-button:hover .spark-shape {
  stroke:rgba(216,248,120,1);
  opacity:1;
  transform:scale(1.24);
  filter:drop-shadow(0 0 3px rgba(216,248,120,1)) drop-shadow(0 0 8px rgba(216,248,120,.72)) drop-shadow(0 0 16px rgba(216,248,120,.34));
}
.lightbox-trust-button:hover .spark-glow{opacity:1;transform:scale(1.34)}
.inspector-button:hover,
.inspector-button:focus-visible {
  background:rgba(255,255,255,.09);
  border-color:rgba(216,248,120,.34);
  color:rgba(216,248,120,1);
}
.inspector-button:hover .inspector-mark,
.inspector-button:focus-visible .inspector-mark {
  filter:drop-shadow(0 0 5px rgba(216,248,120,.58)) drop-shadow(0 0 13px rgba(216,248,120,.22));
}
.inspector-button:hover .check-shape,
.inspector-button:focus-visible .check-shape {
  stroke:rgba(216,248,120,1);
  opacity:1;
  transform:scale(1.22);
  filter:drop-shadow(0 0 3px rgba(216,248,120,1)) drop-shadow(0 0 8px rgba(216,248,120,.72)) drop-shadow(0 0 16px rgba(216,248,120,.34));
}
.inspector-button:hover .check-glow,
.inspector-button:focus-visible .check-glow {
  opacity:1;
  transform:scale(1.3);
}

/* Touchscreens discover the Trust interaction through a restrained,
   one-time ring and spark rather than a hover state. */
@media (hover:none) and (pointer:coarse) {
  .card.trust-touch-glint .open {
    background:rgba(255,255,255,.09);
    border-color:rgba(216,248,120,.34);
  }

  .card.trust-touch-glint .open::before {
    animation:trustRingSweep 1.15s cubic-bezier(.22,.61,.36,1) 1;
  }

  .card.trust-touch-glint .trust-mark .spark-shape {
    animation:trustTouchSpark 1.35s cubic-bezier(.22,.61,.36,1) 1;
  }

  .card.trust-touch-glint .trust-mark .spark-glow {
    animation:trustTouchSparkGlow 1.4s cubic-bezier(.22,.61,.36,1) 1;
  }
  .lightbox-trust-button.trust-touch-glint {
    background:rgba(255,255,255,.09);
    border-color:rgba(216,248,120,.34);
  }
  .lightbox-trust-button.trust-touch-glint::before {
    animation:trustRingSweep 1.15s cubic-bezier(.22,.61,.36,1) 1;
  }
  .lightbox-trust-button.trust-touch-glint .spark-shape {
    animation:trustTouchSpark 1.35s cubic-bezier(.22,.61,.36,1) 1;
  }
  .lightbox-trust-button.trust-touch-glint .spark-glow {
    animation:trustTouchSparkGlow 1.4s cubic-bezier(.22,.61,.36,1) 1;
  }

  .trust-close.touch-close-glint,
  .close.touch-close-glint {
    background:rgba(255,255,255,.075);
    border-color:rgba(216,248,120,.34);
    color:rgba(216,248,120,1);
    text-shadow:
      0 0 4px rgba(216,248,120,.95),
      0 0 10px rgba(216,248,120,.52),
      0 0 18px rgba(216,248,120,.22);
  }

  .trust-close.touch-close-glint::before,
  .close.touch-close-glint::before {
    animation:trustRingSweep 1.15s cubic-bezier(.22,.61,.36,1) 1;
  }
}

@keyframes trustTouchSpark {
  0%,100% {
    stroke:currentColor;
    opacity:.62;
    transform:scale(1);
    filter:none;
  }
  22%,55% {
    stroke:rgba(216,248,120,1);
    opacity:1;
    transform:scale(1.24);
    filter:
      drop-shadow(0 0 3px rgba(216,248,120,1))
      drop-shadow(0 0 8px rgba(216,248,120,.72))
      drop-shadow(0 0 16px rgba(216,248,120,.34));
  }
}

@keyframes trustTouchSparkGlow {
  0%,100% { opacity:0; transform:scale(1); }
  24%,58% { opacity:1; transform:scale(1.34); }
}


.word-field {
  position: relative;
  padding: 0 0 36px;
}
.word-field-inner {
  --cloud-scale: 1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px 22px;
  padding:2px 4vw 4px;
  max-width:1280px;
  margin:auto;
  transform: scale(var(--cloud-scale));
  transform-origin: center top;
  will-change: transform;
  transition: transform .08s linear;
}
.word {
  position:relative;
  display:inline-block;
  z-index:0;
  color:rgba(255,255,255,.23);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(22px,2.55vw,38px);
  line-height:1.25;
  letter-spacing:-.025em;
  transition:
    color 3.2s ease-in-out,
    text-shadow 3.2s ease-in-out,
    opacity 3.2s ease-in-out;
  opacity:.78;
  user-select:none;
}

.word::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:175%;
  height:215%;
  transform:translate(-50%,-50%) scale(.97);
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(
    ellipse at center,
    rgba(216,248,120,.20) 0%,
    rgba(216,248,120,.10) 32%,
    rgba(216,248,120,.040) 56%,
    rgba(216,248,120,0) 76%
  );
  filter:blur(10px);
  transition:
    opacity 3.4s ease-in-out,
    transform 3.4s ease-in-out;
  animation:valeriaGlowBreath 4.8s ease-in-out infinite;
}
.word.label {
  color:rgba(216,248,120,.52);
  font-size:clamp(13px,1.15vw,16px);
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-style:normal;
}
.word.label::before {
  display:none;
}
.word.spark {
  color:rgba(216,248,120,.94);
  opacity:1;
  text-shadow:
    0 0 12px rgba(216,248,120,.22),
    0 0 28px rgba(216,248,120,.14),
    0 0 56px rgba(216,248,120,.08);
}
@keyframes valeriaGlowBreath {
  0%,100% { transform:translate(-50%,-50%) scale(.97); }
  50% { transform:translate(-50%,-50%) scale(1.03); }
}

.word.spark::before {
  opacity:1;
}

@media(min-width:901px){
  .word-field{padding:50px 0 0}
  .gallery-toolbar{padding-top:6px}
}

@media(max-width:620px){

  .hero-main{grid-template-columns:1fr;gap:26px}
  .hero-quote{margin:0;max-width:92%;width:auto;font-size:18px;justify-self:start;transform:none;line-height:1.62;padding-left:30px}

  .hero{padding:74px 0 8px}
  .hero-logo-lockup{min-height:82px;margin-bottom:18px}
  .hero-logo-lockup .valeria-header-logo{width:112px}
  .hero-copy{margin-top:20px}

  .word-field{padding:12px 0 10px}
  .word-field-inner{gap:8px 14px;padding-inline:4px}
  .word{font-size:19px}
}
.footer-colophon{margin-top:0;max-width:none}


/* JPEG Trust metadata panel */
.trust-modal {
  position:fixed;
  inset:0;
  z-index:620;
  display:none;
  place-items:center;
  padding:24px;
  background:rgba(6,6,7,.64);
  backdrop-filter:blur(18px);
  opacity:0;
  transition:opacity .32s ease;
  overscroll-behavior:none;
}
.trust-modal.opened,
.trust-modal.closing {
  display:grid;
}
.trust-modal.opened {
  opacity:1;
}
.trust-panel {
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(520px,calc(100vw - 36px));
  overflow:hidden;
  max-height:calc(100dvh - 48px);
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  background:rgba(14,14,16,.92);
  box-shadow:0 30px 100px rgba(0,0,0,.48);
  transform:translateY(10px) scale(.985);
  opacity:0;
  transition:
    transform .42s var(--ease),
    opacity .32s ease;
}
.trust-modal.opened .trust-panel {
  transform:translateY(0) scale(1);
  opacity:1;
}
.trust-modal.closing .trust-panel {
  transform:translateY(8px) scale(.99);
  opacity:0;
}
.trust-modal.swipe-closing .trust-panel {
  transform:translateY(120px) scale(.975);
}
.trust-modal.dragging .trust-panel {
  transition:none;
}
.trust-panel::before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(216,248,120,0),
    rgba(216,248,120,.68),
    rgba(216,248,120,0)
  );
  opacity:.58;
}
.trust-panel-head {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 24px 20px;
  border-bottom:1px solid rgba(255,255,255,.075);
}
.trust-panel-body {
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.trust-panel-identity {
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.trust-panel-icon {
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  color:rgba(216,248,120,.98);
  flex:0 0 auto;
}
.trust-panel-icon svg {
  width:48px;
  height:48px;
  display:block;
  filter:drop-shadow(0 0 10px rgba(216,248,120,.16));
}
.trust-panel-kicker {
  color:rgba(216,248,120,.86);
  font-size:11px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.13em;
  margin-bottom:5px;
}
.trust-panel-title {
  color:rgba(245,243,238,.94);
  font-size:18px;
  line-height:1.25;
  font-weight:520;
}
.trust-panel-actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}
.trust-close,
.trust-inspector-button {
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035);
  color:rgba(245,243,238,.74);
  font:inherit;
  cursor:pointer;
  transition:
    background .35s var(--ease),
    border-color .35s var(--ease),
    color .28s ease,
    text-shadow .35s ease;
  flex:0 0 auto;
  position:relative;
  overflow:visible;
}
.trust-close { font-size:19px; }
.trust-inspector-button {
  display:grid;
  place-items:center;
  text-decoration:none;
}
.trust-inspector-button .inspector-mark { width:22px;height:22px; }

.trust-inspector-button::before,
.trust-close::before,
.close::before {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  padding:1px;
  opacity:0;
  pointer-events:none;
  background:conic-gradient(
    from 0deg,
    rgba(216,248,120,0) 0deg,
    rgba(216,248,120,0) 265deg,
    rgba(216,248,120,.18) 300deg,
    rgba(216,248,120,.92) 338deg,
    rgba(216,248,120,0) 360deg
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}

.trust-close:hover,
.trust-close:focus-visible,
.close:hover,
.close:focus-visible,
.inspector-button:hover,
.inspector-button:focus-visible,
.lightbox-copy-button:hover,
.lightbox-copy-button:focus-visible {
  background:rgba(255,255,255,.075);
  border-color:rgba(216,248,120,.34);
  color:rgba(216,248,120,1);
  text-shadow:
    0 0 4px rgba(216,248,120,.95),
    0 0 10px rgba(216,248,120,.52),
    0 0 18px rgba(216,248,120,.22);
}

.lightbox-copy-button:hover svg,
.lightbox-copy-button:focus-visible svg {
  filter:
    drop-shadow(0 0 4px rgba(216,248,120,.95))
    drop-shadow(0 0 10px rgba(216,248,120,.48));
}

.trust-inspector-button:hover::before,
.trust-inspector-button:focus-visible::before,
.trust-close:hover::before,
.trust-close:focus-visible::before,
.close:hover::before,
.close:focus-visible::before,
.lightbox-inspector-button:hover::before,
.lightbox-inspector-button:focus-visible::before,
.lightbox-copy-button:hover::before,
.lightbox-copy-button:focus-visible::before {
  animation:trustRingSweep 1.15s cubic-bezier(.22,.61,.36,1) 1;
}
.trust-fields {
  margin:0;
  padding:8px 24px 12px;
}
.trust-field[hidden] { display:none; }
.trust-field {
  display:grid;
  grid-template-columns:minmax(120px,.72fr) minmax(0,1.28fr);
  gap:24px;
  padding:15px 0;
  border-bottom:1px solid rgba(255,255,255,.065);
}
.trust-field:last-child {
  border-bottom:0;
}
.trust-field dt {
  margin:0;
  color:rgba(245,243,238,.40);
  font-size:13px;
  line-height:1.5;
}
.trust-field dd {
  margin:0;
  color:rgba(245,243,238,.88);
  font-size:14px;
  line-height:1.5;
  text-align:right;
}
.trust-source {
  color:rgba(216,248,120,.84);
}
.trust-panel-foot {
  padding:14px 24px 21px;
  color:rgba(245,243,238,.28);
  font-size:11px;
  line-height:1.5;
  letter-spacing:.02em;
}
.trust-download-actions{display:flex;flex-wrap:wrap;gap:14px 24px;margin:0 0 18px}.trust-download-action{display:flex;align-items:center;gap:10px;color:rgba(245,243,238,.46);font-size:10px;letter-spacing:.08em;text-transform:uppercase}

.trust-link {
  position:relative;
  display:inline-block;
  z-index:0;
  color:rgba(216,248,120,.72);
  text-decoration:none;
  transition:
    color .55s ease,
    text-shadow .7s ease;
}

.trust-link::before {
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:180%;
  height:220%;
  transform:translate(-50%,-50%) scale(.96);
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(
    ellipse at center,
    rgba(216,248,120,.22) 0%,
    rgba(216,248,120,.11) 32%,
    rgba(216,248,120,.045) 56%,
    rgba(216,248,120,0) 78%
  );
  filter:blur(10px);
  transition:
    opacity .75s ease,
    transform .75s ease;
}

.trust-link:hover {
  color:rgba(216,248,120,1);
  text-shadow:
    0 0 10px rgba(216,248,120,.24),
    0 0 24px rgba(216,248,120,.14),
    0 0 48px rgba(216,248,120,.07);
}

.trust-link:hover::before {
  opacity:1;
  transform:translate(-50%,-50%) scale(1.04);
}
@media(max-width:520px) {
  .trust-field {
    grid-template-columns:1fr;
    gap:5px;
  }
  .trust-field dd {
    text-align:left;
  }
}

.lightbox {
  position:fixed;inset:0;z-index:500;
  display:none;
  background:rgba(6,6,7,.88);
  backdrop-filter:blur(24px);
  padding:26px;
  opacity:0;
  transition:opacity .35s ease;
  overscroll-behavior:none;
  overflow:hidden;
  touch-action:none;
}
.lightbox.opened,
.lightbox.closing{display:grid;grid-template-rows:auto 1fr}
.lightbox.opened{opacity:1}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;position:relative;z-index:1;pointer-events:none;}
.lb-top button,.lb-top a{pointer-events:auto}
.lb-top .close{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.lb-actions{display:flex;align-items:center;gap:12px;position:relative}
.lb-actions .lightbox-trust-button{width:var(--valeria-circle-size);height:var(--valeria-circle-size)}
.lb-label{color:var(--muted);font-size:14px}
.lightbox-copy-button svg{
  width:21px;height:21px;overflow:visible;
  transition:filter .35s ease;
}
.lightbox-copy-button path{
  fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;
  transition:opacity .25s ease,transform .35s var(--ease),filter .35s ease;
  transform-origin:center;
}
.lightbox-copy-button .copy-check{opacity:0;transform:scale(.72)}
.lightbox-copy-button.copied{
  color:rgba(216,248,120,1);
  border-color:rgba(216,248,120,.42);
  background:rgba(216,248,120,.08);
  box-shadow:0 0 14px rgba(216,248,120,.14),0 0 34px rgba(216,248,120,.08);
}
.lightbox-copy-button.copied::before{animation:trustRingSweep 1.15s cubic-bezier(.22,.61,.36,1) 1}
.lightbox-copy-button.copied .copy-icon{opacity:0;transform:scale(.72)}
.lightbox-copy-button.copied .copy-check{
  opacity:1;transform:scale(1);
  filter:drop-shadow(0 0 4px rgba(216,248,120,.8)) drop-shadow(0 0 12px rgba(216,248,120,.35));
}
.copy-confirmation{
  position:absolute;top:calc(100% + 9px);left:0;z-index:2;
  color:rgba(228,249,160,.96);font-size:12px;line-height:1;white-space:nowrap;
  opacity:0;pointer-events:none;
}
.copy-confirmation.visible{animation:copyConfirmationGlow 1.75s var(--ease) both}
@keyframes copyConfirmationGlow{
  0%{opacity:0;transform:translateY(-3px);text-shadow:0 0 2px rgba(216,248,120,0)}
  18%{opacity:1;transform:translateY(0);text-shadow:0 0 5px rgba(216,248,120,.95),0 0 17px rgba(216,248,120,.68),0 0 36px rgba(216,248,120,.36),0 0 58px rgba(216,248,120,.16)}
  58%{opacity:.95;transform:translateY(0);text-shadow:0 0 5px rgba(216,248,120,.72),0 0 15px rgba(216,248,120,.44),0 0 30px rgba(216,248,120,.18)}
  100%{opacity:0;transform:translateY(2px);text-shadow:0 0 10px rgba(216,248,120,0)}
}
.close {
  border:1px solid var(--line);
  background:var(--surface);
  color:rgba(245,243,238,.82);
  width:var(--valeria-circle-size);
  height:var(--valeria-circle-size);
  border-radius:50%;
  font-size:22px;
  cursor:pointer;
  position:relative;
  overflow:visible;
  transition:
    background .35s var(--ease),
    border-color .35s var(--ease),
    color .28s ease,
    text-shadow .35s ease;
}
.lb-stage{touch-action:none;user-select:none;position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;}
.lb-stage img{
  position:absolute;inset:0;margin:auto;
  max-width:100%;max-height:100%;
  object-fit:contain;border-radius:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.42);
  animation:pop .48s var(--ease);
  transition:opacity .32s ease,transform .38s var(--ease);
}
.lb-stage .lb-neighbor{
  display:none;animation:none;
}
.lb-stage .lb-neighbor.active{display:block}
.lightbox.dragging .lb-stage img{transition:none}
.lightbox.carousel-settling .lb-stage img{transition:transform .26s cubic-bezier(.22,.61,.36,1),opacity .26s ease}
.lightbox.image-changing .lb-stage img{opacity:0;transform:scale(.985) translateX(var(--image-change-offset,0))}
.lightbox.closing .lb-stage img{opacity:0;transform:scale(.985) translateY(8px)}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(12px)}}

@media(max-width:900px){
  .hero-copy{justify-self:start}
  .card,.card.wide{grid-column:span 6}
  .nav-actions{gap:0}
  .language-selector{font-size:11px;gap:6px;letter-spacing:.08em}
}
@media(max-width:620px){
  nav{position:relative}
  .nav-actions{position:absolute;right:0;bottom:8px}
  .wrap{width:min(100% - 28px,1480px)}
  .lightbox{padding-inline:14px}
  .hero{min-height:58vh}
  h1{font-size:clamp(58px,19vw,100px)}
  .gallery-toolbar{display:block;padding-top:8px}
  .filters{justify-content:flex-start}
  .collection-head.has-description{display:block}
  .collection-description{margin-top:14px;font-size:15px;line-height:1.68}
  .collection-controls{justify-content:space-between}
  .collection-section.curation-controls-hidden .collection-controls.has-column-selector{margin-top:16px}
  .column-selector{display:flex}
  .gallery{gap:12px}
  .gallery{grid-template-columns:repeat(var(--mobile-gallery-columns),minmax(0,1fr))}
  .card,.card.wide{grid-column:auto}
  .collection-section.mobile-columns-2 .card-content{right:10px;bottom:10px}
  .collection-section.mobile-columns-3 .card-content{right:3px;bottom:3px}
  .collection-section.mobile-columns-3 .card .open{
    border-color:transparent;
    background:transparent;
    backdrop-filter:none;
  }
  .collection-section.mobile-columns-3 .card .open::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

#lbImage{cursor:zoom-in;transform-origin:center;-webkit-user-drag:none}
.lightbox.zoomed .lb-stage{overflow:visible}
.lightbox.zoomed #lbImage{cursor:grab;border-radius:0;box-shadow:none}
.lightbox.zoom-gesturing #lbImage{transition:none;cursor:grabbing}

.lightbox.zoom-coasting #lbImage{transition:none}

.gallery-description{margin:20px 24px 0;padding:0 0 20px;border-bottom:1px solid rgba(255,255,255,.075);overflow-wrap:anywhere}
.gallery-description p{margin:0 0 10px;color:var(--text);font-size:14px;line-height:1.6}
.gallery-description .gallery-description-label{color:var(--accent);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.gallery-description .gallery-description-source{margin-bottom:0;color:rgba(245,243,238,.58);font-size:12px}
