@charset "UTF-8";
:root{--color-bg:#F0F4F8;--color-surface:#FFFFFF;--color-surface-soft:#F8FAFC;--color-text:#1E293B;--color-text-soft:#475569;--color-primary:#06B6D4;--color-success:#16A34A;--color-warning:#F59E0B;--color-danger:#DC2626;--gray-50:#F9FAFB;--gray-100:#F1F5F9;--gray-200:#E2E8F0;--gray-300:#CBD5F0;--gray-400:#94A3B8;--gray-500:#64748B;--gray-600:#475569;--gray-700:#334155;--gray-800:#1F2933;--gray-900:#0B1120;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,-system-ui,sans-serif;--font-display:"Playfair Display","Times New Roman",serif;--font-mono:Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.7;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--space-40:10rem;--space-48:12rem;--space-56:14rem;--space-64:16rem;--space-72:18rem;--space-80:20rem;--space-96:24rem;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--shadow-soft:8px 8px 20px rgba(15,23,42,0.12),-6px -6px 16px rgba(255,255,255,0.9);--shadow-inset:inset 2px 2px 6px rgba(15,23,42,0.12),inset -2px -2px 6px rgba(255,255,255,0.9);--shadow-elevated:18px 18px 40px rgba(15,23,42,0.18),-10px -10px 30px rgba(255,255,255,0.9);--transition-fast:120ms ease-out;--transition-base:200ms ease-out;--transition-slow:320ms ease-out;--radius-pill:999px;--container-max:1120px}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{min-height:100vh;background:radial-gradient(circle at 0 0,#FFFFFF 0,#F0F4F8 40%,#E2E8F0 100%);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
img,video{object-fit:cover}
input,button,textarea,select{font:inherit;color:inherit}
button{border:none;background:none;padding:0;cursor:pointer}
a{text-decoration:none;color:var(--color-primary);transition:color var(--transition-base)}
a:hover{color:#0891B2}
ul{list-style:none !important}
ol{padding-left:1.25rem}
body{overflow-x:hidden}
main{width:100%;min-height:60vh}
p{margin-bottom:var(--space-4);color:var(--color-text-soft);font-size:var(--text-base);line-height:var(--leading-relaxed)}
small{font-size:var(--text-sm);color:var(--gray-500)}
strong{font-weight:600;color:var(--color-text)}
blockquote{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:linear-gradient(145deg,#FFFFFF,#E2E8F0);box-shadow:var(--shadow-soft);color:var(--color-text-soft);font-style:italic}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;color:var(--color-text);line-height:var(--leading-tight);letter-spacing:0.01em}
h1{font-size:var(--text-4xl);margin-bottom:var(--space-4)}
h2{font-size:var(--text-3xl);margin-bottom:var(--space-4)}
h3{font-size:var(--text-2xl);margin-bottom:var(--space-3)}
h4{font-size:var(--text-xl);margin-bottom:var(--space-3)}
h5{font-size:var(--text-lg);margin-bottom:var(--space-2)}
h6{font-size:var(--text-base);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:0.08em}
@media (max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}}
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-4)}
.section{padding:var(--space-16) 0}
.section--tight{padding:var(--space-10) 0}
.section-header{margin-bottom:var(--space-8);display:flex;flex-direction:column;gap:var(--space-2)}
.section-kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.18em;color:var(--gray-500)}
.section-lead{max-width:40rem;font-size:var(--text-lg);color:var(--color-text-soft)}
.grid{display:grid;gap:var(--space-6)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1024px){.grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:768px){.grid-4,.grid-3,.grid-2{grid-template-columns:minmax(0,1fr)}}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-2{gap:var(--space-2)}
.gap-3{gap:var(--space-3)}
.gap-4{gap:var(--space-4)}
.gap-6{gap:var(--space-6)}
.mt-4{margin-top:var(--space-4)}
.mt-6{margin-top:var(--space-6)}
.mt-8{margin-top:var(--space-8)}
.mb-4{margin-bottom:var(--space-4)}
.mb-6{margin-bottom:var(--space-6)}
.mb-8{margin-bottom:var(--space-8)}
.pt-4{padding-top:var(--space-4)}
.pb-4{padding-bottom:var(--space-4)}
.text-center{text-align:center}
.text-right{text-align:right}
.text-muted{color:var(--color-text-soft)}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:0.25rem 0.75rem;border-radius:999px;background:linear-gradient(145deg,#FFFFFF,#E2E8F0);box-shadow:var(--shadow-soft);font-size:var(--text-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--gray-600)}
.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.65rem 1.5rem;border-radius:var(--radius-pill);border:1px solid rgba(148,163,184,0.25);background:radial-gradient(circle at 10% 0,#FFFFFF 0,#E2E8F0 55%,#CBD5F0 100%);box-shadow:var(--shadow-soft);color:var(--color-text);font-weight:500;font-size:var(--text-sm);line-height:1;transition:transform var(--transition-base),box-shadow var(--transition-base),background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}
.button--primary,.btn-primary{background:radial-gradient(circle at 0 0,#E0F2FE 0,#06B6D4 60%,#0E7490 100%);color:#ECFEFF;border-color:rgba(8,145,178,0.7)}
.button:hover,.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-elevated)}
.button--primary:hover,.btn-primary:hover{background:radial-gradient(circle at 0 0,#E0F2FE 0,#0891B2 60%,#155E75 100%)}
.button:active,.btn:active{transform:translateY(0);box-shadow:var(--shadow-soft)}
.button:disabled,.btn:disabled{opacity:0.55;cursor:not-allowed;box-shadow:none}
.button--ghost,.btn-ghost{background:transparent;border-style:dashed;border-color:rgba(148,163,184,0.6);box-shadow:none}
input,textarea,select{width:100%;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,0.7);padding:0.7rem 0.9rem;background:radial-gradient(circle at 0 0,#FFFFFF 0,#F1F5F9 40%,#E2E8F0 100%);box-shadow:var(--shadow-inset);color:var(--color-text);transition:border-color var(--transition-base),box-shadow var(--transition-base),background var(--transition-base)}
input::placeholder,textarea::placeholder{color:var(--gray-400)}
textarea{min-height:7rem;resize:vertical}
label{display:block;margin-bottom:0.4rem;font-size:var(--text-sm);color:var(--gray-600)}
.field-group{display:flex;flex-direction:column;gap:0.25rem;margin-bottom:var(--space-4)}
.card{position:relative;border-radius:var(--radius-lg);padding:var(--space-5);background:radial-gradient(circle at 0 0,#FFFFFF 0,#F8FAFC 45%,#E2E8F0 100%);box-shadow:var(--shadow-soft);overflow:hidden}
.card--pill{border-radius:var(--radius-xl)}
.card--inset{box-shadow:var(--shadow-inset)}
.card-header{margin-bottom:var(--space-3);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}
.card-title{font-size:var(--text-xl);margin-bottom:0}
.card-meta{font-size:var(--text-sm);color:var(--gray-500)}
.card-footer{margin-top:var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}
.clay-surface{border-radius:var(--radius-md);background:radial-gradient(circle at 0 0,#FFFFFF 0,#F9FAFB 45%,#E2E8F0 100%);box-shadow:var(--shadow-soft)}
.clay-inset{border-radius:var(--radius-md);background:radial-gradient(circle at 0 0,#E5E9F0 0,#F1F5F9 40%,#FFFFFF 100%);box-shadow:var(--shadow-inset)}
.caption,figcaption{margin-top:0.4rem;font-size:var(--text-sm);color:var(--gray-500)}
.artwork-frame{position:relative;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 0 0,#E2E8F0 0,#CBD5F0 40%,#94A3B8 100%);box-shadow:var(--shadow-elevated)}
.artwork-frame::before{content:"";position:absolute;inset:10%;border-radius:inherit;border:1px solid rgba(255,255,255,0.7);mix-blend-mode:soft-light;pointer-events:none}
.artwork-frame img,.artwork-frame picture,.artwork-frame video{width:100%;height:100%;object-fit:cover}
.artwork--ratio-4-3{aspect-ratio:4/3}
.artwork--ratio-3-4{aspect-ratio:3/4}
.artwork--ratio-1-1{aspect-ratio:1/1}
.artwork--ratio-16-9{aspect-ratio:16/9}
.timeline{position:relative;padding-left:1.75rem}
.timeline::before{content:"";position:absolute;left:0.55rem;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,rgba(148,163,184,0.4),rgba(148,163,184,0))}
.timeline-item{position:relative;padding-bottom:var(--space-6)}
.timeline-marker{position:absolute;left:-0.06rem;top:0;width:0.8rem;height:0.8rem;border-radius:999px;background:radial-gradient(circle at 30% 20%,#FFFFFF 0,#06B6D4 60%,#0E7490 100%);box-shadow:0 0 0 4px rgba(56,189,248,0.15)}
.timeline-body{margin-left:var(--space-2)}
.navbar{position:sticky;top:0;z-index:40;background:rgba(240,244,248,0.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(148,163,184,0.25)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0}
.nav-logo{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text)}
.nav-logo-mark{width:34px;height:34px;border-radius:18px;background:radial-gradient(circle at 0 0,#E0F2FE 0,#06B6D4 55%,#0F172A 100%);box-shadow:var(--shadow-elevated)}
.nav-links{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm)}
.nav-link{position:relative;padding:0.35rem 0.1rem;color:var(--gray-600)}
.nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-0.25rem;height:2px;border-radius:999px;background:linear-gradient(to right,#06B6D4,#0EA5E9);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}
.nav-link:hover{color:var(--color-text)}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link--active{color:var(--color-text)}
.nav-link--active::after{transform:scaleX(1)}
.nav-toggle{display:none;flex-direction:column;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;gap:0.3rem;border-radius:999px;border:1px solid rgba(148,163,184,0.7);background:radial-gradient(circle at 0 0,#FFFFFF 0,#E2E8F0 50%,#CBD5F0 100%);box-shadow:var(--shadow-soft);transition:box-shadow var(--transition-base),transform var(--transition-base)}
.nav-toggle-bar{width:1.2rem;height:2px;border-radius:999px;background:linear-gradient(to right,#0F172A,#06B6D4)}
.nav-toggle:hover{transform:translateY(-1px);box-shadow:var(--shadow-elevated)}
.nav-drawer{display:none;position:absolute;left:0;right:0;top:100%;padding:var(--space-3) var(--space-4) var(--space-4);background:radial-gradient(circle at 0 0,#FFFFFF 0,#F0F4F8 45%,#E2E8F0 100%);box-shadow:var(--shadow-elevated)}
.nav-drawer.open{display:block}
.nav-drawer .nav-links{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
@media (max-width:768px){.nav-links{display:none}.nav-toggle{display:flex}.nav-drawer .nav-links{display:flex}}
.footer{margin-top:var(--space-16);padding:var(--space-8) 0 var(--space-6);border-top:1px solid rgba(148,163,184,0.35);background:radial-gradient(circle at 0 0,#FFFFFF 0,#F1F5F9 40%,#E2E8F0 100%)}
.footer-inner{display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:space-between;align-items:flex-start}
.footer-meta{font-size:var(--text-sm);color:var(--gray-500)}
.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--text-sm)}
.footer-link{color:var(--gray-600)}
.footer-link:hover{color:var(--color-primary)}
.hero-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-10);align-items:center}
.hero-kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:0.2em;color:var(--gray-500);margin-bottom:var(--space-2)}
.hero-title{font-size:clamp(2.4rem,4vw,3.2rem);margin-bottom:var(--space-3)}
.hero-lead{font-size:var(--text-lg);color:var(--color-text-soft);max-width:34rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}
.hero-photo{max-width:30rem;margin-left:auto}
@media (max-width:960px){.hero-intro{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.hero-photo{order:-1;max-width:100%;margin:0 auto}}
.filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-6);padding:0.6rem 0.75rem;border-radius:var(--radius-pill);background:radial-gradient(circle at 0 0,#FFFFFF 0,#E5E9F0 40%,#CBD5F0 100%);box-shadow:var(--shadow-soft)}
.filter-group{display:flex;flex-wrap:wrap;gap:0.5rem}
.filter-chip{padding:0.35rem 0.85rem;border-radius:999px;border:1px solid rgba(148,163,184,0.6);background:radial-gradient(circle at 0 0,#FFFFFF 0,#E2E8F0 40%,#CBD5F0 100%);box-shadow:var(--shadow-soft);font-size:var(--text-xs);color:var(--gray-700);cursor:pointer;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base),background var(--transition-base)}
.filter-chip.is-active{border-color:#06B6D4;color:#0F172A;background:radial-gradient(circle at 0 0,#ECFEFF 0,#CFFAFE 40%,#0EA5E9 95%)}
.filter-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow-elevated)}
.artist-note{border-radius:var(--radius-lg);padding:var(--space-4);background:radial-gradient(circle at 0 0,#FFFFFF 0,#F8FAFC 45%,#E2E8F0 100%);box-shadow:var(--shadow-inset);font-size:var(--text-sm);color:var(--color-text-soft)}
.artist-spotlight{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:var(--space-10);align-items:center}
.artist-portrait{max-width:22rem;margin-left:auto}
.artist-meta{font-size:var(--text-sm);color:var(--gray-500);margin-top:var(--space-3)}
@media (max-width:960px){.artist-spotlight{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.artist-portrait{order:-1;margin:0 auto;max-width:18rem}}
.venue-section{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:var(--space-10);align-items:stretch}
.venue-atmosphere{border-radius:32px;background:radial-gradient(circle at 0 0,#0F172A 0,#020617 55%,#0B1120 100%);color:#E5E7EB;padding:var(--space-6);box-shadow:var(--shadow-elevated);position:relative;overflow:hidden}
.venue-atmosphere::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 0 0,rgba(56,189,248,0.22) 0,transparent 55%);mix-blend-mode:screen;pointer-events:none}
.venue-atmosphere h3{color:#F9FAFB}
.venue-atmosphere p{color:#CBD5F5}
.venue-atmosphere-tag{display:inline-flex;align-items:center;gap:0.35rem;padding:0.3rem 0.8rem;border-radius:999px;border:1px solid rgba(148,163,184,0.7);background:rgba(15,23,42,0.8);backdrop-filter:blur(12px);font-size:var(--text-xs);letter-spacing:0.16em;text-transform:uppercase;color:#E5E7EB}
@media (max-width:960px){.venue-section{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}}
.contact-panel{max-width:32rem;margin:0 auto}
.contact-intro{margin-bottom:var(--space-6);font-size:var(--text-base);color:var(--color-text-soft)}
.contact-meta{display:flex;flex-direction:column;gap:0.4rem;font-size:var(--text-sm);color:var(--gray-600)}
.art-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6)}
.art-grid-item{display:flex;flex-direction:column;gap:var(--space-3)}
.art-grid-title{font-size:var(--text-base);font-weight:500;color:var(--color-text)}
.art-grid-meta{font-size:var(--text-sm);color:var(--gray-500)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
:focus-visible{outline:3px solid rgba(6,182,212,0.9);outline-offset:3px}
.button:focus-visible,.btn:focus-visible,.filter-chip:focus-visible,.nav-link:focus-visible,.nav-toggle:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(6,182,212,0.9);outline-offset:2px;box-shadow:0 0 0 1px rgba(15,23,42,0.4),0 0 0 4px rgba(6,182,212,0.35)}
input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#06B6D4;box-shadow:var(--shadow-inset),0 0 0 1px rgba(6,182,212,0.4)}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-margin:0 !important}}
