*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f4ef;color:#242622;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}p{line-height:1.7}h1,h2,h3{font-weight:400;margin:0;font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(3.3rem,6.2vw,7rem);line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(2.8rem,4.6vw,5.25rem);line-height:1.12;letter-spacing:-.035em}h3{font-size:1.35rem}.site-header{height:94px;display:flex;align-items:center;gap:40px;justify-content:space-between;padding:0 5.6%;border-bottom:1px solid #dedcd6}.brand{font-size:1.36rem;letter-spacing:.14em;font-weight:600;white-space:nowrap}.brand span{font-weight:400}.site-header nav{display:flex;gap:25px;align-items:center}.site-header nav a,.lang{font-size:.79rem;letter-spacing:.03em}.site-header a:hover,.social-line a:hover{opacity:.6}.lang{white-space:nowrap}.skip{position:absolute;top:-100px}.skip:focus{top:10px;left:10px;z-index:4}.section-pad{padding:110px 5.6%}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 30px}.dot{display:inline-block;background:#9b533e;width:9px;height:9px;border-radius:50%}.hero{position:relative;min-height:730px;display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center;padding-top:78px;padding-bottom:90px}.hero-copy{max-width:700px}.intro{max-width:475px;color:#696962;font-size:1.1rem;margin:30px 0 42px}.primary-link{display:inline-flex;justify-content:space-between;align-items:center;gap:70px;border-bottom:1px solid #242622;padding:0 0 12px;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em}.primary-link span{font-size:1.4rem}.hero-art{aspect-ratio:4/5;max-height:610px;background:#b6a58c;position:relative;overflow:hidden;isolation:isolate}.abstract-sun{width:55%;aspect-ratio:1;background:#d6aa6d;border-radius:50%;position:absolute;top:10%;right:-6%}.abstract-arch{width:74%;height:65%;background:#363f40;border-radius:49% 49% 0 0;position:absolute;bottom:0;left:8%;transform:rotate(-12deg)}.abstract-person{width:45%;height:55%;background:#a25d43;border-radius:50% 50% 22% 12%;position:absolute;bottom:-13%;left:37%;transform:rotate(15deg)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-head>p{max-width:360px;font-size:.9rem;color:#74746d;margin:0}.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px 24px}.art-card:nth-child(3n+2){padding-top:70px}.art-frame{aspect-ratio:4/4.5;position:relative;overflow:hidden;background:hsl(var(--h),26%,78%)}.art-frame:before{content:"";display:block;position:absolute;width:65%;height:75%;top:16%;left:17%;border-radius:45% 55% 20% 60%;background:hsl(calc(var(--h) + 62),25%,34%);transform:rotate(calc(var(--i)*17deg))}.abstract-shape{display:block;position:absolute;width:45%;height:40%;right:-6%;top:3%;border-radius:50%;background:hsl(calc(var(--h) + 170),34%,57%);opacity:.88}.art-marker{position:absolute;left:22px;bottom:19px;color:white;font-size:1.1rem}.art-info{display:flex;justify-content:space-between;padding-top:16px}.art-info h3{font-size:1.08rem}.art-info p{font-size:.77rem;color:#77776f;margin:7px 0}.art-icon{font-size:1.3rem}.notice{font-size:.77rem;margin-top:30px;color:#797970}.practice-section{background:#292d2c;color:#f8f4ed}.practice-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;gap:50px}.practice-grid article{border-top:1px solid #777a75;padding-top:30px;min-height:215px}.practice-grid h3{font-size:2.2rem;margin:28px 0 16px}.practice-grid p{color:#c5c7c0;font-size:.9rem}.practice-num{color:#a8a8a0;font-size:.74rem}.exhibition-section{background:#ece9e2}.ex-row{display:grid;grid-template-columns:100px 1fr 30px;align-items:center;gap:20px;border-top:1px solid #c7c3ba;padding:29px 0}.ex-row:last-child{border-bottom:1px solid #c7c3ba}.ex-row>span{font-size:.78rem;color:#777}.ex-row p{margin:9px 0 0;font-size:.85rem;color:#73736c}.ex-row>a{font-size:1.35rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.about-grid p{font-size:1.24rem;margin:0;color:#5e6059}.contact-section{background:#d9d3c7;text-align:center}.contact-section .eyebrow{justify-content:center}.contact-section h2{max-width:850px;margin:auto}.contact-section>p:not(.eyebrow){max-width:600px;margin:30px auto;font-size:1rem}.contact-pill{display:inline-block;padding:17px 30px;border:1px solid #a8a195;font-size:.8rem;letter-spacing:.05em;opacity:.78}.social-line a{border-bottom:1px solid}.site-footer{display:flex;gap:20px;justify-content:space-between;padding:28px 5.6%;font-size:.65rem;letter-spacing:.07em;color:#66675f}.site-footer span:nth-child(2){max-width:300px}@media(max-width:1080px){.site-header nav{gap:14px}.hero{gap:4%}}@media(max-width:790px){.site-header{height:auto;min-height:75px;flex-wrap:wrap;padding:20px 6%;gap:15px}.site-header nav{order:3;width:100%;overflow:auto;padding:12px 0 0;gap:20px}.section-pad{padding:75px 6%}.hero{display:flex;flex-direction:column;align-items:stretch;gap:42px;min-height:0}.hero-art{width:100%;max-height:490px}.art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 15px}.art-card:nth-child(3n+2){padding-top:0}.section-head,.about-grid{display:block}.section-head>p{margin-top:25px}.practice-grid{gap:20px}.site-footer{flex-wrap:wrap}}@media(max-width:540px){h1{font-size:3.3rem}.art-grid{grid-template-columns:1fr}.art-frame{aspect-ratio:1/1}.practice-grid{grid-template-columns:1fr}.ex-row{grid-template-columns:55px 1fr 24px}.ex-row h3{font-size:1.1rem}.about-grid p{margin-top:28px;font-size:1.08rem}.hero-art{max-height:390px}}

/* Language flags: SVG rather than regional-indicator emoji (Windows compatible). */
.site-header > a.lang,.site-header .mobile-menu nav a.mobile-language{display:inline-flex;align-items:center;gap:8px}
.site-header .language-flag{display:block;flex:0 0 22px;width:22px;height:15px;object-fit:contain;border:1px solid rgba(36,38,34,.14);border-radius:2px}

/* Public artworks loaded from Cloudflare R2 (original imagery is never cropped). */
.art-grid[data-r2-artworks][aria-busy="true"]{min-height:140px}
.art-grid .real-artwork{display:block;cursor:zoom-in;background:#e9e5de}
.art-grid .real-artwork::before{content:none}
.art-grid .real-artwork img{display:block;width:100%;height:100%;object-fit:contain}
.art-grid .real-artwork:focus-visible{outline:3px solid #9b533e;outline-offset:4px}
.art-grid .artwork-from-r2:nth-child(3n+2){padding-top:0}
.artwork-from-r2 .art-info{display:block}
.artwork-from-r2 .artwork-description{font-size:.8rem;color:#65665f;margin-top:10px;line-height:1.6}
.art-grid .artwork-message{grid-column:1/-1;margin:0;color:#65665f}
.art-grid .artwork-retry{justify-self:start;grid-column:1/-1;background:transparent;border:1px solid #9b533e;padding:11px 18px;color:#242622;font:inherit;cursor:pointer}
.art-grid .artwork-retry:hover{background:#eee6dd}


/* R2 artwork gallery: natural proportions, collection filters, accessible lightbox. */
.art-grid .real-artwork {
  aspect-ratio: auto;
  height: auto;
  display: block;
  background: transparent;
}
.art-grid .real-artwork::before { content: none; }
.art-grid .real-artwork img {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  object-fit: contain;
}
.art-grid .real-artwork:hover img { filter: brightness(.96); }
.artwork-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: -12px 0 36px;
}
.artwork-filters[hidden] { display: none; }
.artwork-filter {
  border: 1px solid #bcb7ad;
  background: transparent;
  border-radius: 100px;
  padding: 10px 16px;
  min-height: 42px;
  color: #383a35;
  font: 500 .8rem 'DM Sans', sans-serif;
  cursor: pointer;
}
.artwork-filter:hover { border-color: #5c5a51; }
.artwork-filter[aria-pressed="true"] {
  background: #292d2c;
  border-color: #292d2c;
  color: #fff;
}
.artwork-filter:focus-visible,
.art-lightbox-button:focus-visible { outline: 3px solid #b58b67; outline-offset: 3px; }
.art-lightbox {
  border: 0;
  padding: 0;
  margin: auto;
  width: min(96vw, 1320px);
  max-width: none;
  max-height: none;
  height: min(95dvh, 900px);
  background: #1f2221;
  color: #f5f3ed;
  box-shadow: 0 20px 80px rgba(0,0,0,.4);
  overflow: hidden;
}
.art-lightbox::backdrop { background: rgba(10,12,11,.88); }
.art-lightbox-panel {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
}
.art-lightbox-top {
  min-height: 58px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px 8px 24px;
}
.art-lightbox-counter {
  color: #d4d1c9;
  font-size: .8rem;
  letter-spacing: .06em;
}
.art-lightbox-button {
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(32,35,33,.88);
  color: #fff;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.55rem;
  line-height: 1;
}
.art-lightbox-button:hover:not(:disabled) { background: #464a46; }
.art-lightbox-button:disabled { opacity: .32; cursor: default; }
.art-lightbox-close { font-size: 1.8rem; }
.art-lightbox-stage {
  min-height: 0;
  display: grid;
  grid-template-columns: 58px minmax(0,1fr) 58px;
  align-items: stretch;
}
.art-lightbox-prev,
.art-lightbox-next {
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 2.5rem;
}
.art-lightbox-image-area {
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.art-lightbox-image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transform-origin: center center;
  transition: transform .16s ease;
}
.art-lightbox-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 15px 24px 18px;
}
.art-lightbox-caption { min-width: 0; }
.art-lightbox-caption h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.2rem; }
.art-lightbox-caption p { margin: 5px 0 0; font-size: .76rem; color: #cac9c3; }
.art-lightbox-zoom { display: flex; gap: 8px; flex: 0 0 auto; }
.art-lightbox-reset { font-size: .8rem; min-width: 62px; }
@media (max-width: 640px) {
  .artwork-filters { gap: 8px; margin: 0 0 28px; }
  .artwork-filter { padding: 9px 12px; font-size: .74rem; min-height: 40px; }
  .art-lightbox { width: 100vw; height: 100dvh; }
  .art-lightbox-stage { grid-template-columns: 42px minmax(0,1fr) 42px; }
  .art-lightbox-prev, .art-lightbox-next { padding: 0; min-width: 42px; }
  .art-lightbox-bottom { padding: 12px; flex-wrap: wrap; }
  .art-lightbox-caption h3 { font-size: 1rem; }
  .art-lightbox-counter { font-size: .73rem; }
}
@media (prefers-reduced-motion: reduce) {
  .art-lightbox-image { transition: none; }
}

/* Artist's actual portrait replaces the decorative illustration as soon as R2 serves the image. */
.hero-art .hero-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;z-index:1;transition:opacity .2s ease}
.hero-art--loaded{aspect-ratio:720 / 484;max-height:none;background:#ebe5dd}
.hero-art--loaded .hero-portrait{opacity:1}
.hero-art--loaded .abstract-sun,.hero-art--loaded .abstract-arch,.hero-art--loaded .abstract-person{display:none}
@media(prefers-reduced-motion:reduce){.hero-art .hero-portrait{transition:none}}
