:root {
  --bg: #0c0c0c;
  --bg-soft: #141414;
  --card: #1b1b1b;
  --line: rgba(255,255,255,.09);
  --text: #f3f3f3;
  --muted: #b6b6b6;
  --light: #f5f5f5;
  --mid: #8d8d8d;
  --dark: #111111;
}

body {
  background: linear-gradient(180deg, #0a0a0a 0%, #101010 42%, #f2f2f2 42%, #f7f7f7 100%);
  color: var(--text);
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, .display-font {
  font-family: 'Cormorant Garamond', serif;
  letter-spacing: .02em;
}

.navbar {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(12,12,12,.72);
  border-bottom: 1px solid var(--line);
}

.navbar-brand {
  font-weight: 700;
  letter-spacing: .25rem;
  text-transform: uppercase;
  color: #fff;
}

.nav-link {
  color: rgba(255,255,255,.8) !important;
  text-transform: uppercase;
  font-size: .82rem;
  letter-spacing: .12rem;
}

.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  background: radial-gradient(circle at 12% 18%, rgba(255,255,255,.09), transparent 30%), radial-gradient(circle at 90% 12%, rgba(255,255,255,.05), transparent 24%), linear-gradient(135deg, #090909 0%, #111111 58%, #1a1a1a 100%);
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 90%);
  pointer-events: none;
}

.eyebrow {
  display: inline-block;
  padding: .45rem .8rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #d6d6d6;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .16rem;
  margin-bottom: 1.2rem;
}

.hero h1 {
  /*font-size: clamp(3rem, 8vw, 7rem);*/
  line-height: .92;
  margin-bottom: 1rem;
}

.hero p {
  font-size: 1.05rem;
  color: #d0d0d0;
  max-width: 640px;
}

.btn-ghost, .btn-lightline {
  border-radius: 999px;
  padding: .9rem 1.4rem;
  text-transform: uppercase;
  letter-spacing: .12rem;
  font-size: .82rem;
}

.btn-ghost {
  background: #fff;
  color: #111;
  border: 1px solid #fff;
}

.btn-lightline {
  color: #fff;
  border: 1px solid rgba(255,255,255,.22);
}

.hero-art {
  position: relative;
  padding: 1.2rem;
}

.frame {
  background: linear-gradient(180deg, #161616, #0d0d0d);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  padding: 1rem;
  box-shadow: 0 30px 90px rgba(0,0,0,.45);
}

.art-main, .art-small, .art-tall, .art-wide {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}

.art-main {
  min-height: 560px;
  background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.34)), url('https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?auto=format&fit=crop&w=1200&q=80');
}

.art-small {
  min-height: 170px;
  background: linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.3)), url('https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?auto=format&fit=crop&w=900&q=80');
  filter: grayscale(100%);
}

.section-light {
  color: #121212;
  padding: 7rem 0;
  background: linear-gradient(180deg, #efefef 0%, #ffffff 100%);
}

.section-dark {
  padding: 7rem 0;
  background: #111;
}

.section-title {
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  line-height: .95;
  margin-bottom: 1rem;
}

.muted {
  color: var(--muted);
}

.panel, .work-card, .news-card, .contact-box {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  background: #181818;
  overflow: hidden;
}

.panel-light, .work-card-light {
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 24px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(17,17,17,.06);
}

.work-thumb {
  aspect-ratio: 4/5;
  background-size: cover;
  background-position: center;
  filter: grayscale(100%);
}

.work-1 {
  background-image: url('https://images.unsplash.com/photo-1579783902614-a3fb3927b6a5?auto=format&fit=crop&w=900&q=80');
}

.work-2 {
  background-image: url('https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?auto=format&fit=crop&w=900&q=80');
}

.work-3 {
  background-image: url('https://images.unsplash.com/photo-1513364776144-60967b0f800f?auto=format&fit=crop&w=900&q=80');
}

.work-4 {
  background-image: url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=900&q=80');
}

.stats {
  border-top: 1px solid rgba(255,255,255,.1);
  margin-top: 2rem;
  padding-top: 1.5rem;
}

.stat-number {
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

.about-photo {
  min-height: 520px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.25)), url('https://images.unsplash.com/photo-1500534623283-312aade485b7?auto=format&fit=crop&w=1200&q=80');
  background-size: cover;
  background-position: center;
  filter: grayscale(100%);
}

.quote-box {
  border-left: 3px solid #1d1d1d;
  padding-left: 1.25rem;
  color: #4d4d4d;
}

.cta-band {
  background: linear-gradient(135deg, #f3f3f3, #dcdcdc);
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 30px;
  padding: 2rem;
}

footer {
  background: #0d0d0d;
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-link {
  color: rgba(255,255,255,.72);
  text-decoration: none;
}

.section-kicker {
  letter-spacing: .18rem;
}

.editable-image {
  background-size: cover;
  background-repeat: no-repeat;
}

/* ReflowHQ: tarjetas uniformes aunque las obras tengan proporciones distintas. */
[data-reflow-type="product-list"] .ref-products {
  align-items: stretch;
}

[data-reflow-type="product-list"] .ref-product {
  height: 100%;
}

[data-reflow-type="product-list"] .ref-media {
  overflow: hidden;
  background: #e7e7e7;
  aspect-ratio: 3 / 4;
}

[data-reflow-type="product-list"] .ref-image {
  width: 100%;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  object-position: center;
  filter: grayscale(100%);
  transition: filter .45s ease, transform .55s ease;
}

[data-reflow-type="product-list"] .ref-product:hover .ref-image {
  filter: grayscale(0%);
  transform: scale(1.025);
}

.reflow-category-nav {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.reflow-category-nav .gallery-all,
.reflow-category-nav a {
  color: #222;
  text-decoration: none;
  text-transform: uppercase;
  font-size: .75rem;
  letter-spacing: .12em;
}

.reflow-category-nav .gallery-all {
  border: 1px solid rgba(17,17,17,.18);
  border-radius: 999px;
  padding: .6rem 1rem;
}

.reflow-category-nav .gallery-all.active,
.reflow-category-nav .gallery-all:hover {
  background: #111;
  color: #fff;
}

.artwork-page {
  background: #111;
}

.artwork-product {
  padding: 10rem 0 6rem;
  min-height: 75vh;
}

.artwork-product [data-reflow-type="product"] {
  background: #fff;
  color: #111;
  border-radius: 28px;
  padding: clamp(1rem, 3vw, 2.5rem);
}

.artwork-more {
  padding: 6rem 0;
}

.artwork-more [data-reflow-type="product-list"] .ref-image {
  filter: grayscale(100%);
}

@media (hover: none) {
  [data-reflow-type="product-list"] .ref-image {
    filter: none;
  }
}

.gallery-button {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .78rem;
}

.gallery-page {
  background: #111;
}

.gallery-hero {
  padding: 11rem 0 5rem;
  background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.08), transparent 30%), #111;
}

.gallery-hero h1 {
  font-size: clamp(4rem, 9vw, 8rem);
  line-height: .85;
}

.gallery-hero p {
  color: var(--muted);
  font-size: 1.1rem;
}

.gallery-catalog {
  min-height: 70vh;
}

.gallery-filter {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(17,17,17,.1);
}

.gallery-filter .gallery-all {
  color: #222;
  border: 1px solid rgba(17,17,17,.18);
  border-radius: 999px;
  padding: .65rem 1rem;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .75rem;
}

.gallery-filter .gallery-all.active,
.gallery-filter .gallery-all:hover {
  color: #fff;
  background: #111;
}

.workshops-page{background:#111}.workshops-hero{padding:11rem 0 5rem;background:radial-gradient(circle at 78% 15%,rgba(255,255,255,.08),transparent 28%),#111}.workshops-hero h1{font-size:clamp(4rem,9vw,8rem);line-height:.85}.workshops-hero p{max-width:650px;color:var(--muted);font-size:1.1rem}.workshops-list{min-height:70vh}.workshop-card{display:grid;grid-template-columns:90px 1fr;background:#fff;border:1px solid rgba(17,17,17,.1);border-radius:24px;overflow:hidden;box-shadow:0 12px 35px rgba(17,17,17,.06)}.workshop-date{background:#151515;color:#fff;padding:1.5rem .75rem;text-align:center}.workshop-date strong{display:block;font:600 3rem/1 "Cormorant Garamond",serif}.workshop-date span{font-size:.72rem;letter-spacing:.15em}.workshop-content{padding:2rem}.workshop-content h2{font-size:2.3rem}.workshop-content dl,.workshop-modal dl{display:grid;grid-template-columns:90px 1fr}.workshop-content dt,.workshop-content dd,.workshop-modal dt,.workshop-modal dd{padding:.45rem 0;border-bottom:1px solid #eee}.workshop-badge{display:inline-block;padding:.4rem .7rem;border:1px solid #ccc;border-radius:999px;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem}.workshop-badge.open{color:#285b37;border-color:#8db59a}.workshop-badge.closed{color:#8d3131;border-color:#c89a9a}.signup-form{padding:1.25rem;background:#f3f1ec;border-radius:16px}.workshop-modal .modal-content,.registration-success{position:relative;background:#fff!important;color:#171717!important;border:0;border-radius:24px;overflow:hidden}.workshop-modal .modal-content p,.workshop-modal .modal-content label,.workshop-modal .modal-content dt,.workshop-modal .modal-content dd,.registration-success p{color:#282828!important}.workshop-modal .form-control,.workshop-modal textarea{background:#fff!important;color:#171717!important;border-color:#bbb!important}.workshop-modal .btn-close,.registration-success .btn-close{position:absolute;right:1.2rem;top:1.2rem;z-index:3;filter:none}.workshop-modal-image{width:100%;height:100%;min-height:520px;object-fit:cover}.workshop-modal h2,.registration-success h2{font-size:2.8rem;color:#171717!important}.registration-number{padding:1rem;background:#f1efe9;border-radius:12px;font-size:1.1rem}@media(max-width:575px){.workshop-card{grid-template-columns:1fr}.workshop-date{display:flex;align-items:center;justify-content:center;gap:.5rem}.workshop-date strong{font-size:2rem}.workshop-modal-image{min-height:260px;max-height:360px}}

.cv-page {
  background: #111;
}

.cv-hero {
  min-height: 55vh;
  padding-top: 9rem;
}

.cv-actions {
  top: 7rem;
}

@media (max-width: 991.98px) {
  .hero {
    min-height: auto;
    padding: 8rem 0 4rem;
  }
}

@media (max-width: 991.98px) {
  .art-main {
    min-height: 420px;
  }
}

@media (max-width: 991.98px) {
  .about-photo {
    min-height: 360px;
    background: url("../../assets/img/obras/579899612_1467810785019279_2509480588853188480_n.jpg") top / contain no-repeat !important;
  }
}

@media (max-width: 575.98px) {
  .hero .row.align-items-center,
  .section-dark .row.align-items-center {
    margin-right: 0;
    margin-left: 0;
  }
}
