.site-header{position:sticky;top:0;z-index:200;height:var(--header-height);background:var(--color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);padding-top:env(safe-area-inset-top,0)}.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--space-md)}.logo{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text);text-decoration:none;z-index:1;min-width:0}.logo:hover{color:var(--color-text)}.logo-mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,var(--color-green) 0%,var(--color-green-dark) 100%);border-radius:var(--radius-sm);font-weight:700;font-size:1.125rem;color:#fff;flex-shrink:0}.logo-text{font-weight:600;font-size:1.125rem;letter-spacing:-.02em}.logo-accent{color:var(--color-green-dark)}.header-menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;z-index:1;touch-action:manipulation;flex-shrink:0}.header-menu-icon{position:relative;width:18px;height:14px}.header-menu-icon span{position:absolute;left:0;width:100%;height:2px;background:var(--color-text);border-radius:1px;transition:transform .2s ease,opacity .2s ease,top .2s ease}.header-menu-icon span:nth-child(1){top:0}.header-menu-icon span:nth-child(2){top:6px}.header-menu-icon span:nth-child(3){top:12px}.header-menu-icon.is-open span:nth-child(1){top:6px;transform:rotate(45deg)}.header-menu-icon.is-open span:nth-child(2){opacity:0}.header-menu-icon.is-open span:nth-child(3){top:6px;transform:rotate(-45deg)}.header-nav--desktop{display:flex;align-items:center;gap:var(--space-xl)}.header-nav--desktop a{font-size:.9375rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;white-space:nowrap}.header-nav--desktop a:hover{color:var(--color-green-dark)}.header-mobile-menu{display:none}@media(max-width:768px){.header-menu-toggle{display:inline-flex}.header-nav--desktop{display:none}.header-mobile-menu{display:block}.header-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;border:0;padding:0;background:#0f171473;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.header-nav-mobile{position:fixed;top:calc(var(--header-height) + env(safe-area-inset-top,0));left:0;right:0;z-index:9999;display:flex;flex-direction:column;background:#fff;border-bottom:1px solid var(--color-border);box-shadow:0 12px 32px #0f17141f;transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;max-height:calc(100vh - var(--header-height) - env(safe-area-inset-top,0));overflow-y:auto;-webkit-overflow-scrolling:touch}.header-nav-mobile a{padding:var(--space-md) var(--space-lg);font-size:1rem;font-weight:500;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border);min-height:52px;display:flex;align-items:center}.header-nav-mobile a:last-child{border-bottom:0}.header-nav-mobile a:active{background:var(--color-green-glow)}.header-mobile-menu.is-open .header-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto}.header-mobile-menu.is-open .header-nav-mobile{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}}@media(max-width:640px){.logo-text{font-size:1rem}.logo-mark{width:32px;height:32px;font-size:1rem}}.site-footer{margin-top:auto;border-top:1px solid var(--color-border);background:var(--color-bg-elevated)}.footer-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);padding:var(--space-2xl) var(--space-lg)}.footer-logo{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-xs)}.footer-logo span{color:var(--color-green-dark)}.footer-tagline{font-size:.9375rem;max-width:360px}.footer-links{display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-end}.footer-links a{font-size:.9375rem;font-weight:500}.footer-bottom{border-top:1px solid var(--color-border);padding:var(--space-lg) 0}.footer-bottom p{font-size:.8125rem;color:var(--color-text-subtle)}@media(max-width:640px){.footer-inner{flex-direction:column;align-items:flex-start;padding-bottom:calc(var(--space-2xl) + env(safe-area-inset-bottom,0px))}.footer-links{align-items:flex-start;width:100%}.footer-links a{min-height:44px;display:inline-flex;align-items:center}}.site-layout{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.site-main{flex:1;width:100%}.artist-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;height:100%}.artist-card-image{aspect-ratio:4 / 3;overflow:hidden;background:var(--color-bg-elevated)}.artist-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}@media(hover:hover){.artist-card:hover .artist-card-image img{transform:scale(1.03)}}.artist-card-body{padding:var(--space-lg);display:flex;flex-direction:column;flex:1}.artist-card-body h3{color:var(--color-text);margin-bottom:var(--space-xs)}.artist-card-title{font-size:.875rem;color:var(--color-green-dark);margin-bottom:var(--space-xs)}.artist-card-location{font-size:.8125rem;color:var(--color-text-subtle);margin-bottom:var(--space-sm)}.artist-card-bio{font-size:.9375rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.artist-card-link{margin-top:var(--space-md);font-size:.875rem;font-weight:500;color:var(--color-green-dark)}.artist-card:hover .artist-card-link{color:var(--color-green)}.artwork-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;height:100%}.artwork-card-image{aspect-ratio:1;overflow:hidden;background:var(--color-bg-elevated)}.artwork-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.artwork-card:hover .artwork-card-image img{transform:scale(1.03)}.artwork-card-body{padding:var(--space-lg)}.artwork-card-body h3{color:var(--color-text);margin-bottom:var(--space-xs)}.artwork-card-label{font-size:.875rem;color:var(--color-green-dark)}.artwork-card:hover .artwork-card-label{color:var(--color-green)}.hero{padding:var(--space-4xl) 0 var(--space-3xl);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(34,197,94,.12) 0%,transparent 70%);pointer-events:none}.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.hero-label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-green-dark);margin-bottom:var(--space-md)}.hero-content h1{margin-bottom:var(--space-lg);color:var(--color-text)}.hero-description{font-size:1.125rem;max-width:520px;margin-bottom:var(--space-xl)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}.hero-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(circle,rgba(34,197,94,.1) 0%,transparent 60%);pointer-events:none}.hero-frame{position:relative;width:100%;max-width:420px;aspect-ratio:4 / 5;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--color-border-accent);box-shadow:var(--shadow-glow),var(--shadow-card)}.hero-frame img{width:100%;height:100%;object-fit:cover}.section-alt{background:var(--color-bg-elevated)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--color-text-subtle)}.supium-section{padding-bottom:var(--space-4xl)}.supium-card{background:linear-gradient(135deg,#ffffff 0%,var(--color-bg-elevated) 100%);border:1px solid var(--color-border-accent);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-card)}.supium-card-content{max-width:640px}.supium-card-content h2{color:var(--color-text);margin-bottom:var(--space-md)}.supium-card-content p{margin-bottom:var(--space-xl);font-size:1.0625rem}@media(max-width:900px){.hero-inner{grid-template-columns:1fr;gap:var(--space-2xl)}.hero-visual{order:-1}.hero-frame{max-width:320px;margin:0 auto}}@media(max-width:640px){.hero{padding:var(--space-2xl) 0}.hero-description{font-size:1rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.supium-card{padding:var(--space-xl)}.section-header{margin-bottom:var(--space-xl)}}.photo-uploader{display:flex;flex-direction:column;gap:var(--space-md)}.photo-uploader-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.photo-uploader-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.photo-uploader-btn.disabled{opacity:.5;pointer-events:none}.photo-uploader-count{font-size:.875rem;color:var(--color-text-subtle)}.photo-preview-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md)}.photo-preview-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.photo-preview-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);background:#fff}.photo-preview-meta{display:flex;flex-direction:column;gap:.25rem;min-height:2.5rem}.photo-preview-name{font-size:.75rem;color:var(--color-text-muted);word-break:break-all;line-height:1.3}.photo-preview-badge{display:inline-block;width:fit-content;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-green-dark);background:var(--color-green-glow);padding:.125rem .375rem;border-radius:999px}.photo-preview-remove{margin-top:auto;min-height:40px;padding:.5rem .75rem;font-family:inherit;font-size:.75rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:color .2s ease,border-color .2s ease}.photo-preview-remove:hover{color:#b91c1c;border-color:#b91c1c59}@media(max-width:480px){.photo-preview-grid{grid-template-columns:repeat(2,1fr)}}.submit-page-hero{padding:var(--space-3xl) 0 var(--space-xl);border-bottom:1px solid var(--color-border)}.submit-page-hero h1{color:var(--color-text);margin-bottom:var(--space-md)}.submit-page-intro{font-size:1.125rem;max-width:720px}.submit-page{padding-bottom:var(--space-4xl)}.form-errors{background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl)}.form-errors p{color:#fca5a5;font-weight:500;margin-bottom:var(--space-sm)}.form-errors ul{list-style:disc;padding-left:var(--space-lg);color:#fecaca}.submission-form{max-width:760px}.form-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);background:var(--color-bg-card)}.form-section legend{font-size:1.125rem;font-weight:600;color:var(--color-text);padding:0 var(--space-xs);margin-bottom:var(--space-md)}.form-row{margin-bottom:var(--space-lg)}.form-row:last-child{margin-bottom:0}.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-row label{display:block;font-size:.9375rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-xs)}.required{color:var(--color-green-dark)}.form-row input[type=text],.form-row input[type=url],.form-row input[type=file],.form-row textarea{width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--color-green-dark);box-shadow:0 0 0 3px var(--color-green-glow)}.form-row textarea{resize:vertical;min-height:100px}.form-row input[type=file]{padding:var(--space-sm);cursor:pointer}.form-row input[type=file]::file-selector-button{margin-right:var(--space-md);padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--color-text);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.form-row input[type=file]::file-selector-button:hover{border-color:var(--color-green-dark);color:var(--color-green-light)}.form-hint{font-size:.875rem;color:var(--color-text-subtle);margin-bottom:var(--space-lg)}.file-name,.file-list{margin-top:var(--space-sm);font-size:.875rem;color:var(--color-text-muted)}.file-list{list-style:none}.file-list li{padding:var(--space-xs) 0}.permission-section{background:var(--color-bg-elevated)}.permission-checkbox{display:flex;gap:var(--space-md);align-items:flex-start;cursor:pointer;font-size:.9375rem;color:var(--color-text-muted);line-height:1.6}.permission-checkbox input{margin-top:.25rem;width:18px;height:18px;accent-color:var(--color-green);flex-shrink:0}.form-actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}.form-actions .btn:disabled{opacity:.6;cursor:not-allowed}.submit-success{display:flex;justify-content:center;min-height:50vh;align-items:center}.success-card{max-width:560px;padding:var(--space-2xl);text-align:center}.success-card h1{color:var(--color-text);margin-bottom:var(--space-md)}.success-card p{margin-bottom:var(--space-lg)}.submission-id{font-size:.875rem}.submission-id code{color:var(--color-green-dark);background:var(--color-bg-elevated);padding:.125rem .5rem;border-radius:var(--radius-sm)}@media(max-width:640px){.form-page-hero,.submit-page-hero,.edit-page-hero,.admin-hero{padding:var(--space-2xl) 0 var(--space-lg)}.form-page-intro,.submit-page-intro,.edit-page-intro,.admin-intro{font-size:1rem}.form-section{padding:var(--space-lg)}.form-row-split{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.form-page-hero{padding:var(--space-3xl) 0 var(--space-xl);border-bottom:1px solid var(--color-border)}.form-page-hero h1{margin-bottom:var(--space-md);color:var(--color-text)}.form-page-intro{font-size:1.125rem;max-width:720px;margin-bottom:var(--space-md)}.form-page-note{font-size:.9375rem;color:var(--color-text-subtle);max-width:720px}.form-page-grid{display:grid;grid-template-columns:1fr 320px;gap:var(--space-2xl);align-items:start}.form-info-block{margin-bottom:var(--space-2xl)}.form-info-block h2{color:var(--color-text);margin-bottom:var(--space-md)}.form-info-block p{margin-bottom:var(--space-md)}.info-list{list-style:none;display:grid;gap:var(--space-sm)}.info-list li{position:relative;padding-left:var(--space-lg);color:var(--color-text-muted)}.info-list li:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--color-green)}.permission-block{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.permission-quote{margin-top:var(--space-md);padding:var(--space-lg);background:var(--color-bg-elevated);border-left:3px solid var(--color-green);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-text-muted);font-style:italic;line-height:1.7}.form-cta-card{padding:var(--space-xl);position:sticky;top:calc(var(--header-height) + var(--space-lg))}.form-cta-card h3{color:var(--color-text);margin-bottom:var(--space-md)}.form-cta-card p{margin-bottom:var(--space-lg)}.form-cta-card .btn{width:100%}.form-cta-note{margin-top:var(--space-md);font-size:.8125rem;color:var(--color-text-subtle)}@media(max-width:900px){.form-page-grid{grid-template-columns:1fr}.form-cta-card{position:static}}.edit-page-hero{padding:var(--space-3xl) 0 var(--space-xl);border-bottom:1px solid var(--color-border)}.edit-page-hero h1{color:var(--color-text);margin-bottom:var(--space-md)}.edit-page-intro{max-width:720px;margin-bottom:var(--space-md)}.edit-view-link{font-weight:500}.edit-page{padding-bottom:var(--space-4xl)}.edit-form{max-width:760px}.edit-error-card{max-width:560px;margin:0 auto;padding:var(--space-2xl)}.edit-error-card h1{color:var(--color-text);margin-bottom:var(--space-md)}.edit-success{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-green-glow);border:1px solid var(--color-border-accent);border-radius:var(--radius-md)}.edit-success p{color:var(--color-green-dark);margin:0;font-weight:500}.edit-gallery-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.edit-gallery-item{display:flex;flex-direction:column;gap:var(--space-sm)}.edit-gallery-label{display:flex;flex-direction:column;gap:var(--space-xs);cursor:pointer}.edit-gallery-label input{accent-color:var(--color-green)}.edit-gallery-label img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.edit-gallery-label span{font-size:.75rem;color:var(--color-text-muted)}.edit-gallery-remove{padding:.375rem .5rem;font-family:inherit;font-size:.75rem;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.edit-gallery-remove:hover{color:#b91c1c;border-color:#b91c1c59}.edit-profile-photo-grid{max-width:180px;margin-bottom:var(--space-lg)}.edit-new-photos h3{font-size:.9375rem;color:var(--color-text);margin-bottom:var(--space-md)}.edit-form .form-section{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);margin-bottom:var(--space-xl);background:var(--color-bg-card)}.edit-form .form-section legend{font-size:1.125rem;font-weight:600;color:var(--color-text);padding:0 var(--space-xs);margin-bottom:var(--space-md)}.edit-form .form-row{margin-bottom:var(--space-lg)}.edit-form .form-row:last-child{margin-bottom:0}.edit-form .form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.edit-form .form-row label{display:block;font-size:.9375rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-xs)}.edit-form .form-row input,.edit-form .form-row textarea{width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.edit-form .form-hint{font-size:.875rem;color:var(--color-text-subtle);margin-bottom:var(--space-lg)}.edit-form .form-actions{display:flex;flex-wrap:wrap;gap:var(--space-md)}@media(max-width:640px){.edit-form .form-row-split{grid-template-columns:1fr}.edit-page{padding-bottom:calc(var(--space-4xl) + env(safe-area-inset-bottom,0px))}.edit-form .form-actions{flex-direction:column}.edit-form .form-actions .btn{width:100%}.edit-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.edit-gallery-grid{grid-template-columns:1fr 1fr}}.artist-landing-layout{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg)}.landing-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md) max(var(--space-lg),env(safe-area-inset-right,0px)) var(--space-md) max(var(--space-lg),env(safe-area-inset-left,0px));padding-top:max(var(--space-md),env(safe-area-inset-top,0px));border-bottom:1px solid var(--color-border);background:var(--color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing-logo{display:inline-flex;align-items:center;gap:var(--space-sm);font-weight:600;font-size:.9375rem;color:var(--color-text);text-decoration:none}.landing-logo:hover{color:var(--color-text)}.landing-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,var(--color-green-light) 0%,var(--color-green-dark) 100%);border-radius:6px;font-size:.875rem;font-weight:700;color:#fff}.landing-logo span{color:var(--color-green-dark)}.landing-main{flex:1;padding:var(--space-lg) max(var(--space-lg),env(safe-area-inset-right,0px)) calc(var(--space-2xl) + env(safe-area-inset-bottom,0px)) max(var(--space-lg),env(safe-area-inset-left,0px));width:100%}@media(max-width:640px){.landing-bar{padding-left:max(var(--space-md),env(safe-area-inset-left,0px));padding-right:max(var(--space-md),env(safe-area-inset-right,0px))}.landing-main{padding:var(--space-md);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px))}}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:grid;grid-template-rows:auto 1fr;background:#0f1714eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);isolation:isolate;padding-bottom:env(safe-area-inset-bottom,0)}.image-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex-shrink:0}.image-lightbox-count{margin:0;font-size:.875rem;font-weight:500;color:#fffc}.image-lightbox-close{padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:999px;cursor:pointer}.image-lightbox-close:hover{background:#ffffff38}.image-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:var(--space-md) calc(var(--space-lg) + 3rem);overflow:hidden}.image-lightbox-image{display:block;max-width:min(960px,100%);max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 24px 48px #00000059;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.image-lightbox-side-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.75rem;height:2.75rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;line-height:1;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:999px;cursor:pointer;z-index:1}.image-lightbox-side-btn:hover:not(:disabled){background:#ffffff38}.image-lightbox-side-btn:disabled{opacity:.25;cursor:not-allowed}.image-lightbox-side-btn-prev{left:var(--space-md)}.image-lightbox-side-btn-next{right:var(--space-md)}@media(max-width:640px){.image-lightbox-stage{padding:var(--space-sm) calc(var(--space-md) + 2.5rem)}.image-lightbox-side-btn{width:2.25rem;height:2.25rem;font-size:1.5rem}.image-lightbox-side-btn-prev{left:var(--space-xs)}.image-lightbox-side-btn-next{right:var(--space-xs)}}.artist-landing{max-width:960px;margin:0 auto;padding:var(--space-xl)}.landing-eyebrow{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-green-dark);margin-bottom:var(--space-xs)}.landing-top{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.landing-artist{display:flex;gap:var(--space-lg);align-items:flex-start}.landing-artist-photo{width:88px;height:88px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;border:1px solid var(--color-border)}.landing-artist-info h1{font-size:clamp(1.5rem,4vw,2rem);color:var(--color-text);margin-bottom:var(--space-xs)}.landing-subtitle{font-size:1rem;font-weight:500;color:var(--color-green-dark);margin-bottom:var(--space-xs)}.landing-location{font-size:.875rem;color:var(--color-text-subtle);margin-bottom:var(--space-sm)}.landing-lead{font-size:.9375rem;line-height:1.6;color:var(--color-text-muted);max-width:640px}.landing-quote{margin-top:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-elevated);border-left:3px solid var(--color-green);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.9375rem;font-style:italic;color:var(--color-text-muted)}.landing-gallery{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.landing-gallery h3,.landing-about-block h3,.landing-links h3{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle);margin-bottom:var(--space-md)}.landing-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.landing-gallery-item{margin:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg-elevated);aspect-ratio:1}.landing-gallery-button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in;touch-action:manipulation}@media(hover:hover){.landing-gallery-button:hover img{transform:scale(1.03)}}.landing-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.landing-about{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.landing-about-block p{font-size:.9375rem;line-height:1.65;color:var(--color-text-muted)}.landing-links{margin-bottom:var(--space-xl)}.landing-link-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.landing-link-btn{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-green-dark);background:var(--color-green-glow);border:1px solid var(--color-border-accent);border-radius:999px;text-decoration:none;transition:background .2s ease,border-color .2s ease}.landing-link-btn:hover{background:#22c55e33;border-color:var(--color-green);color:var(--color-green-dark)}.landing-supium{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-elevated);border-radius:var(--radius-md)}.landing-supium p{font-size:.875rem;color:var(--color-text-muted);margin:0;max-width:480px}.landing-supium-btn{padding:.5rem 1rem;font-size:.875rem;white-space:nowrap}.landing-not-found{text-align:center;padding:var(--space-3xl) var(--space-lg)}.landing-not-found h1{color:var(--color-text);margin-bottom:var(--space-md)}.landing-not-found p{margin-bottom:var(--space-xl)}@media(max-width:768px){.artist-landing{padding:var(--space-lg)}.landing-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}}@media(max-width:640px){.artist-landing{padding:var(--space-md)}.landing-artist{flex-direction:column;align-items:center;text-align:center}.landing-artist-photo{width:72px;height:72px}.landing-lead{max-width:none}.landing-gallery-grid{grid-template-columns:repeat(2,1fr)}.landing-supium{flex-direction:column;align-items:stretch;text-align:center}.landing-supium-btn{width:100%}}@media(max-width:480px){.artist-landing{padding:var(--space-md)}.landing-gallery-grid{grid-template-columns:1fr}.landing-link-list{flex-direction:column}.landing-link-btn{justify-content:center}}.admin-page{padding-bottom:var(--space-4xl)}.admin-hero{padding:var(--space-3xl) 0 var(--space-xl);border-bottom:1px solid var(--color-border)}.admin-hero-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg)}.admin-hero h1,.admin-login-card h1{color:var(--color-text);margin-bottom:var(--space-sm)}.admin-intro{max-width:640px;color:var(--color-text-muted)}.admin-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.admin-login-card{max-width:420px;margin:0 auto;padding:var(--space-2xl)}.admin-login-form{margin-top:var(--space-xl)}.admin-login-form .form-row{margin-bottom:var(--space-lg)}.admin-login-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--space-xs)}.admin-login-form input{width:100%;padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.admin-notice{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-green-glow);border:1px solid var(--color-border-accent);border-radius:var(--radius-md)}.admin-notice p{margin:0;color:var(--color-green-dark);font-weight:500}.admin-empty{padding:var(--space-2xl);text-align:center}.admin-empty h2{margin-bottom:var(--space-sm)}.admin-empty p{margin-bottom:var(--space-lg)}.admin-artist-list{display:grid;gap:var(--space-lg)}.admin-artist-card{padding:var(--space-xl)}.admin-artist-main{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg)}.admin-artist-photo{width:72px;height:72px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border);flex-shrink:0}.admin-artist-info h2{margin-bottom:var(--space-xs);color:var(--color-text)}.admin-artist-title{color:var(--color-green-dark);font-weight:500;margin-bottom:var(--space-xs)}.admin-artist-meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);font-size:.8125rem;color:var(--color-text-subtle);margin-bottom:var(--space-sm)}.admin-artist-bio{font-size:.9375rem;color:var(--color-text-muted);margin:0}.admin-artist-links{display:grid;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md)}.admin-link-row{display:grid;gap:var(--space-xs)}.admin-link-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-subtle)}.admin-link-row a,.admin-edit-url,.admin-no-link{font-size:.875rem;word-break:break-all}.admin-edit-url{display:block;padding:var(--space-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.admin-no-link{color:var(--color-text-subtle)}.admin-artist-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.btn-danger{color:#b42318;background:#fef3f2;border:1px solid #fecdca}.btn-danger:hover{background:#fee4e2;border-color:#fda29b}.admin-site-url{margin-top:var(--space-xl);font-size:.875rem;color:var(--color-text-subtle)}@media(max-width:640px){.admin-page{padding-bottom:calc(var(--space-4xl) + env(safe-area-inset-bottom,0px))}.admin-login-card,.admin-artist-card{padding:var(--space-lg)}.admin-artist-links{overflow-x:auto}.admin-edit-url{word-break:break-all}}@media(max-width:768px){.admin-hero-inner,.admin-artist-main,.admin-artist-actions{flex-direction:column}.admin-artist-actions .btn{width:100%;justify-content:center}}:root{--color-bg: #f2f6f4;--color-bg-elevated: #e8efe9;--color-bg-card: #ffffff;--color-bg-card-hover: #f8fbf9;--color-border: rgba(20, 50, 35, .12);--color-border-accent: rgba(22, 163, 74, .35);--color-text: #142820;--color-text-muted: #3d5248;--color-text-subtle: #5c7368;--color-green: #16a34a;--color-green-light: #22c55e;--color-green-dark: #15803d;--color-green-glow: rgba(34, 197, 94, .14);--color-header-bg: rgba(255, 255, 255, .92);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-card: 0 4px 20px rgba(20, 40, 30, .08);--shadow-glow: 0 8px 32px rgba(34, 197, 94, .12);--max-width: 1120px;--header-height: 72px;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;min-height:100dvh}button,input,textarea,select{font:inherit;touch-action:manipulation}button,.btn,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}a{color:var(--color-green-dark);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-green)}h1,h2,h3,h4{line-height:1.2;font-weight:600;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}h3{font-size:clamp(1.125rem,2vw,1.375rem)}p{color:var(--color-text-muted)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding-left:max(var(--space-lg),env(safe-area-inset-left,0px));padding-right:max(var(--space-lg),env(safe-area-inset-right,0px))}.section{padding:var(--space-3xl) 0}.section-header{margin-bottom:var(--space-2xl)}.section-label{display:inline-block;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-green-dark);margin-bottom:var(--space-sm)}.section-title{color:var(--color-text);margin-bottom:var(--space-md)}.section-description{max-width:640px;font-size:1.0625rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:44px;padding:.75rem 1.5rem;font-family:inherit;font-size:.9375rem;font-weight:500;line-height:1.2;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;touch-action:manipulation}.btn-primary{background:linear-gradient(135deg,var(--color-green-light) 0%,var(--color-green-dark) 100%);color:#fff;box-shadow:0 2px 12px #22c55e4d}.btn-primary:hover{background:linear-gradient(135deg,#4ade80 0%,var(--color-green) 100%);color:#fff}.btn-secondary{background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-border-accent);color:var(--color-green-dark);background:var(--color-green-glow)}.btn-outline-green{background:#fff;color:var(--color-green-dark);border:1px solid var(--color-green)}.btn-outline-green:hover{background:var(--color-green-glow);border-color:var(--color-green-dark);color:var(--color-green-dark)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}@media(hover:hover){.card{transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.card:hover{border-color:var(--color-border-accent);transform:translateY(-2px);box-shadow:var(--shadow-card)}.btn-primary:hover{background:linear-gradient(135deg,#4ade80 0%,var(--color-green) 100%);color:#fff;transform:translateY(-1px);box-shadow:0 4px 20px #22c55e66}}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.text-bio{white-space:pre-line}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}.section{padding:var(--space-2xl) 0}.container{padding-left:max(var(--space-md),env(safe-area-inset-left,0px));padding-right:max(var(--space-md),env(safe-area-inset-right,0px))}input[type=text],input[type=url],input[type=password],input[type=email],input[type=search],input[type=tel],textarea,select{font-size:16px}}
