:root{color-scheme:light;--color-canvas:#f5f2ec;--color-surface:#fcfaf6;--color-surface-strong:#ffffff;--color-surface-muted:#ebe6dd;--color-ink:#191815;--color-ink-soft:#56534d;--color-ink-muted:#77736b;--color-line:#d8d2c7;--color-line-strong:#aca499;--color-accent:#8a4b31;--color-accent-dark:#673421;--color-accent-soft:#ead8cc;--color-success:#2f6b4f;--color-success-soft:#dcece3;--color-warning:#8b641f;--color-warning-soft:#f5e9c9;--color-danger:#a13d39;--color-danger-dark:#7e2e2b;--color-danger-soft:#f4ddda;--color-focus:#176b87;--font-display:Georgia,"Times New Roman",Times,serif;--font-body:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--content-width:1240px;--content-narrow:760px;--header-height:76px;--radius-sm:0.4rem;--radius-md:0.8rem;--radius-lg:1.25rem;--radius-pill:999px;--shadow-sm:0 1px 2px rgb(25 24 21/6%),0 8px 25px rgb(25 24 21/5%);--shadow-md:0 18px 45px rgb(25 24 21/12%);--shadow-lg:0 28px 80px rgb(25 24 21/18%);--transition-fast:160ms ease;--transition-base:260ms cubic-bezier(0.2,0.7,0.2,1)}*,:after,:before{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem);background:var(--color-canvas)}body{min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 92% 2%,rgb(138 75 49/7%),transparent 27rem),var(--color-canvas);color:var(--color-ink);font-family:var(--font-body);font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}main{display:block;min-height:60vh}canvas,img,picture,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{margin:0;color:inherit;font:inherit}button,select{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.2em}a:hover{-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}blockquote,dd,dl,figure,h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--color-ink);font-family:var(--font-display);font-weight:400;line-height:1.08;text-wrap:balance}h1{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.055em}h2{font-size:clamp(2.25rem,5vw,4.75rem);letter-spacing:-.04em}h3{font-size:clamp(1.45rem,2.3vw,2.15rem);letter-spacing:-.025em}p{text-wrap:pretty}::selection{background:var(--color-accent);color:#fff}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}[hidden]{display:none!important}.skip-link,.skipLink{position:fixed;top:.75rem;left:.75rem;z-index:10000;padding:.7rem 1rem;border-radius:var(--radius-sm);background:var(--color-ink);color:#fff;font-weight:700;transform:translateY(-160%);transition:transform var(--transition-fast)}.skip-link:focus,.skipLink:focus{transform:translateY(0)}.sr-only,.visually-hidden,.visuallyHidden{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.container,.header-inner,.headerInner,.section-inner,.sectionInner{width:min(calc(100% - 2rem),var(--content-width));margin-inline:auto}.narrow-container,.narrowContainer{width:min(calc(100% - 2rem),var(--content-narrow));margin-inline:auto}.about-section,.aboutSection,.contact-section,.contactSection,.portfolio-section,.portfolioSection,.section{position:relative;padding-block:clamp(4.5rem,10vw,9rem)}.eyebrow,.hero-eyebrow,.heroEyebrow,.section-kicker,.sectionKicker{margin-bottom:.9rem;color:var(--color-accent);font-size:.74rem;font-weight:800;letter-spacing:.17em;line-height:1.3;text-transform:uppercase}.section-heading,.sectionHeading{max-width:18ch;margin-bottom:1.25rem}.section-intro,.sectionIntro{max-width:62ch;color:var(--color-ink-soft);font-size:clamp(1rem,1.4vw,1.18rem)}.btn,.button,.danger-button,.dangerButton,.icon-button,.iconButton,.primary-button,.primaryButton,.secondary-button,.secondaryButton{min-height:2.8rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.72rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:.88rem;font-weight:750;letter-spacing:.015em;line-height:1.2;text-align:center;text-decoration:none;transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.btn:hover,.button:hover,.danger-button:hover,.dangerButton:hover,.icon-button:hover,.iconButton:hover,.primary-button:hover,.primaryButton:hover,.secondary-button:hover,.secondaryButton:hover{text-decoration:none;transform:translateY(-1px)}.btn:active,.button:active,.danger-button:active,.dangerButton:active,.icon-button:active,.iconButton:active,.primary-button:active,.primaryButton:active,.secondary-button:active,.secondaryButton:active{transform:translateY(0)}.btn-primary,.button-primary,.button.primary,.primary-button,.primaryButton{border-color:var(--color-ink);background:var(--color-ink);color:#fff;box-shadow:0 8px 20px rgb(25 24 21/12%)}.btn-primary:hover,.button-primary:hover,.button.primary:hover,.primary-button:hover,.primaryButton:hover{border-color:var(--color-accent);background:var(--color-accent)}.btn-secondary,.button-secondary,.button.secondary,.secondary-button,.secondaryButton{border-color:var(--color-line-strong);background:transparent;color:var(--color-ink)}.btn-secondary:hover,.button-secondary:hover,.button.secondary:hover,.secondary-button:hover,.secondaryButton:hover{border-color:var(--color-ink);background:var(--color-surface-strong)}.btn-danger,.button-danger,.button.danger,.danger-button,.dangerButton{border-color:var(--color-danger);background:var(--color-danger);color:#fff}.btn-danger:hover,.button-danger:hover,.button.danger:hover,.danger-button:hover,.dangerButton:hover{border-color:var(--color-danger-dark);background:var(--color-danger-dark)}.btn-small,.button-small,.buttonSmall{min-height:2.25rem;padding:.5rem .8rem;font-size:.8rem}.button-link,.buttonLink{min-height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-accent);font-weight:750;text-decoration:underline;text-underline-offset:.2em}.icon-button,.iconButton{width:2.8rem;padding:0;border-color:var(--color-line);background:var(--color-surface-strong)}.header,.site-header,.siteHeader{position:-webkit-sticky;position:sticky;top:0;z-index:100;min-height:var(--header-height);border-bottom:1px solid rgb(216 210 199/78%);background:rgb(245 242 236/90%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner,.headerInner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand,.logo,.site-brand,.siteBrand{position:relative;z-index:102;flex:0 1 auto;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.035em;line-height:1;text-decoration:none}.brand:hover,.logo:hover,.site-brand:hover,.siteBrand:hover{color:var(--color-accent);text-decoration:none}.header-nav,.headerNav,.site-nav,.siteNav{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.2rem)}.header-nav a,.headerNav a,.site-nav a,.siteNav a{color:var(--color-ink-soft);font-size:.86rem;font-weight:700;letter-spacing:.045em;text-decoration:none}.header-nav a:hover,.headerNav a:hover,.site-nav a:hover,.siteNav a:hover{color:var(--color-ink)}.login-link,.loginLink,.site-nav .login-link,.siteNav .loginLink{padding:.55rem .92rem;border:1px solid var(--color-line-strong);border-radius:var(--radius-pill)}.login-link:hover,.loginLink:hover,.site-nav .login-link:hover,.siteNav .loginLink:hover{border-color:var(--color-ink);background:var(--color-surface-strong)}.menu-toggle,.menuToggle,.mobile-nav-toggle,.mobileNavToggle{position:relative;z-index:102;width:2.8rem;height:2.8rem;display:none;place-items:center;padding:0;border:1px solid var(--color-line);border-radius:50%;background:transparent}.menu-toggle span,.menuToggle span{width:1.05rem;height:1px;display:block;margin:.23rem auto;background:currentColor;transition:transform var(--transition-fast),opacity var(--transition-fast)}.menu-toggle[aria-expanded=true] span:first-child,.menuToggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child,.menuToggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero,.hero-section,.heroSection{min-height:min(820px,calc(100svh - var(--header-height)));display:grid;align-items:center;padding-block:clamp(3.5rem,8vw,7rem);overflow:hidden}.hero-inner,.heroInner{width:min(calc(100% - 2rem),var(--content-width));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.78fr);align-items:center;grid-gap:clamp(2.5rem,7vw,7rem);gap:clamp(2.5rem,7vw,7rem);margin-inline:auto}.hero-content,.heroContent{position:relative;z-index:2}.hero-title,.heroTitle{max-width:10ch;margin-bottom:1.4rem}.hero-headline,.heroHeadline{max-width:30ch;margin-bottom:1rem;color:var(--color-ink-soft);font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,2.3rem);line-height:1.25}.hero-description,.hero-introduction,.heroDescription,.heroIntroduction{max-width:57ch;margin-bottom:1.8rem;color:var(--color-ink-soft);font-size:clamp(1rem,1.4vw,1.17rem)}.form-actions,.formActions,.hero-actions,.heroActions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.hero-artwork,.hero-media,.heroArtwork,.heroMedia{position:relative;width:min(100%,500px);justify-self:end}.hero-artwork:before,.hero-media:before,.heroArtwork:before,.heroMedia:before{position:absolute;inset:-8% 12% 8% -12%;z-index:-1;border:1px solid var(--color-line);border-radius:48% 48% 4rem 4rem;content:""}.hero-image,.heroImage{width:100%;aspect-ratio:4/5;border-radius:48% 48% var(--radius-sm) var(--radius-sm);object-fit:cover;box-shadow:var(--shadow-lg)}.hero-image-fallback,.heroImageFallback,.image-fallback,.imageFallback{width:100%;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;border:1px solid var(--color-line);border-radius:48% 48% var(--radius-sm) var(--radius-sm);background:linear-gradient(145deg,rgb(138 75 49/26%),transparent 58%),radial-gradient(circle at 70% 20%,#f3e8dc,transparent 30%),#c9c0b3;color:rgb(25 24 21/58%);font-family:var(--font-display);font-size:clamp(2rem,6vw,5rem)}.hero-caption,.heroCaption{display:flex;justify-content:space-between;gap:1rem;margin-top:.85rem;color:var(--color-ink-muted);font-size:.78rem}.api-notice,.apiNotice,.availability-notice,.availabilityNotice,.unavailable-notice,.unavailableNotice{width:min(calc(100% - 2rem),var(--content-width));margin:1rem auto 0;padding:.72rem 1rem;border:1px solid #dec894;border-radius:var(--radius-md);background:var(--color-warning-soft);color:#604614;font-size:.86rem;line-height:1.45}.portfolio-section,.portfolioSection{border-top:1px solid var(--color-line);background:var(--color-surface)}.portfolio-header,.portfolioHeader,.section-header,.sectionHeader{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,5vw,4rem)}.category-filters,.categoryFilters,.filter-list,.filterList,.filters{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.8rem 0 2.5rem;padding:0;list-style:none}.filter-button,.filterButton{min-height:2.4rem;padding:.48rem .88rem;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:transparent;color:var(--color-ink-soft);font-size:.8rem;font-weight:750;transition:all var(--transition-fast)}.filter-button:hover,.filterButton:hover{border-color:var(--color-ink);color:var(--color-ink)}.filter-button.active,.filter-button[aria-pressed=true],.filterButton.active,.filterButton[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:#fff}.artwork-grid,.artworkGrid,.gallery-grid,.galleryGrid,.portfolio-grid,.portfolioGrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:clamp(1.4rem,3vw,2.5rem);gap:clamp(1.4rem,3vw,2.5rem)}.artwork-card,.artworkCard,.portfolio-card,.portfolioCard{grid-column:span 4;min-width:0}.artwork-card:nth-child(5n+1),.artworkCard:nth-child(5n+1){grid-column:span 7}.artwork-card:nth-child(5n+2),.artworkCard:nth-child(5n+2){grid-column:span 5}.artwork-button,.artwork-card-button,.artworkButton,.artworkCardButton{width:100%;display:block;padding:0;border:0;background:transparent;color:inherit;text-align:left}.artwork-image-wrap,.artwork-media,.artworkImageWrap,.artworkMedia{position:relative;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-surface-muted)}.artwork-image,.artworkImage,.card-image,.cardImage{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.artwork-card:nth-child(5n+1) .artwork-image,.artwork-card:nth-child(5n+2) .artwork-image,.artworkCard:nth-child(5n+1) .artworkImage,.artworkCard:nth-child(5n+2) .artworkImage{aspect-ratio:5/4}.artwork-card-button:focus-visible .artwork-image,.artwork-card-button:hover .artwork-image,.artworkCardButton:focus-visible .artworkImage,.artworkCardButton:hover .artworkImage{transform:scale(1.025)}.artwork-card-button:focus-visible,.artworkCardButton:focus-visible{border-radius:var(--radius-sm);outline-offset:6px}.artwork-info,.artwork-meta,.artworkInfo,.artworkMeta{display:grid;grid-template-columns:1fr auto;grid-gap:.25rem 1rem;gap:.25rem 1rem;padding-top:.95rem}.artwork-title,.artworkTitle{margin:0;font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.18}.artwork-year,.artworkYear{color:var(--color-ink-muted);font-size:.83rem}.artwork-category,.artwork-medium,.artworkCategory,.artworkMedium{grid-column:1/-1;margin:0;color:var(--color-ink-muted);font-size:.82rem}.empty-state,.emptyState,.no-results,.noResults{grid-column:1/-1;min-height:240px;display:grid;place-items:center;padding:2.5rem;border:1px dashed var(--color-line-strong);border-radius:var(--radius-lg);color:var(--color-ink-soft);text-align:center}.about-section,.aboutSection{background:var(--color-ink);color:#eae5dc}.about-section h2,.about-section h3,.aboutSection h2,.aboutSection h3{color:#fff}.about-section .section-kicker,.aboutSection .sectionKicker{color:#d5a48d}.about-grid,.aboutGrid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);grid-gap:clamp(3rem,10vw,9rem);gap:clamp(3rem,10vw,9rem)}.about-heading,.aboutHeading{position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + 2rem);align-self:start}.about-copy,.aboutCopy,.biography{max-width:68ch;color:#d5d0c8;font-size:clamp(1.04rem,1.6vw,1.28rem)}.about-copy p:first-child,.aboutCopy p:first-child,.biography p:first-child{color:#fff;font-family:var(--font-display);font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1.4}.about-details,.aboutDetails,.profile-details,.profileDetails{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0;gap:0;margin-top:3rem;border-top:1px solid rgb(255 255 255/18%)}.detail-item,.detailItem{padding:1.25rem 1rem 1.25rem 0;border-bottom:1px solid rgb(255 255 255/18%)}.detail-item dt,.detail-label,.detailItem dt,.detailLabel{margin-bottom:.3rem;color:#aaa49b;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.detail-item dd,.detail-value,.detailItem dd,.detailValue{margin:0;color:#f5f2ec}.contact-section,.contactSection{padding-bottom:clamp(2.5rem,6vw,5rem)}.contact-inner,.contactInner{text-align:center}.contact-heading,.contactHeading{max-width:14ch;margin:0 auto 1.3rem}.contact-copy,.contactCopy{max-width:52ch;margin:0 auto 2rem;color:var(--color-ink-soft);font-size:clamp(1rem,1.5vw,1.18rem)}.contact-email,.contactEmail{display:inline-block;max-width:100%;color:var(--color-accent);font-family:var(--font-display);font-size:clamp(1.35rem,4vw,3.5rem);line-height:1.15;overflow-wrap:anywhere;text-decoration:none}.contact-email:hover,.contactEmail:hover{color:var(--color-accent-dark)}.social-links,.socialLinks{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-top:2rem}.social-links a,.socialLinks a{color:var(--color-ink-soft);font-size:.85rem;font-weight:750}.footer,.site-footer,.siteFooter{width:min(calc(100% - 2rem),var(--content-width));display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:clamp(4rem,9vw,8rem) auto 0;padding-top:1.5rem;border-top:1px solid var(--color-line);color:var(--color-ink-muted);font-size:.78rem}.footer-nav,.footerNav{display:flex;flex-wrap:wrap;gap:1.2rem}.footer-nav a,.footerNav a{text-decoration:none}.artwork-modal-backdrop,.artworkModalBackdrop,.modal-backdrop,.modalBackdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(.75rem,3vw,2rem);overflow-y:auto;background:rgb(15 14 12/82%);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);animation:fade-in .18s ease both}.artwork-modal,.artworkModal,.modal,.modal-dialog,.modalDialog{position:relative;width:min(1120px,100%);max-height:calc(100svh - 2rem);overflow:auto;border:1px solid rgb(255 255 255/13%);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);animation:modal-in .26s cubic-bezier(.2,.75,.25,1) both;overscroll-behavior:contain}.modal-close,.modalClose{position:absolute;top:.85rem;right:.85rem;z-index:3;width:2.8rem;height:2.8rem;display:grid;place-items:center;padding:0;border:1px solid var(--color-line);border-radius:50%;background:rgb(252 250 246/92%);color:var(--color-ink);font-size:1.35rem;box-shadow:var(--shadow-sm)}.modal-close:hover,.modalClose:hover{background:#fff;transform:rotate(4deg)}.modal-content,.modalContent{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);min-height:570px}.modal-media,.modalMedia{min-height:440px;display:grid;place-items:center;padding:clamp(1rem,3vw,2.5rem);background:#282622}.modal-image,.modalImage{width:100%;height:100%;max-height:calc(100svh - 8rem);object-fit:contain}.modal-details,.modalDetails{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,4vw,3.5rem)}.modal-title,.modalTitle{margin-bottom:.6rem;font-size:clamp(2rem,4vw,3.8rem)}.modal-metadata,.modalMetadata{margin-bottom:1.6rem;color:var(--color-ink-muted);font-size:.86rem}.modal-description,.modalDescription{color:var(--color-ink-soft)}.modal-navigation,.modalNavigation{display:flex;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:2rem}.modal-nav-button,.modalNavButton{min-height:2.6rem;padding:.55rem .85rem;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:transparent;font-size:.8rem;font-weight:750}.modal-nav-button:hover,.modalNavButton:hover{border-color:var(--color-ink);background:#fff}.auth-page,.authPage,.authentication-layout,.authenticationLayout{min-height:100svh;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(400px,1.1fr);background:var(--color-surface)}.auth-aside,.auth-brand,.authAside,.authBrand{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100svh;padding:clamp(2rem,6vw,5rem);overflow:hidden;background:linear-gradient(145deg,rgb(138 75 49/60%),transparent 58%),radial-gradient(circle at 80% 20%,#aa8a77,transparent 25%),#24221e;color:#fff}.auth-aside:after,.auth-brand:after,.authAside:after,.authBrand:after{position:absolute;right:-8rem;bottom:-11rem;width:30rem;height:30rem;border:1px solid rgb(255 255 255/22%);border-radius:50%;content:""}.auth-aside a,.auth-brand a,.authAside a,.authBrand a{position:relative;z-index:1;color:#fff}.auth-aside h1,.auth-brand h1,.authAside h1,.authBrand h1{position:relative;z-index:1;max-width:9ch;color:#fff;font-size:clamp(3rem,7vw,6.5rem)}.auth-aside p,.auth-brand p,.authAside p,.authBrand p{position:relative;z-index:1;max-width:34rem;color:rgb(255 255 255/74%)}.auth-form-panel,.auth-main,.authFormPanel,.authMain{min-width:0;display:grid;place-items:center;padding:clamp(2rem,7vw,6rem)}.auth-card,.auth-form-wrap,.authCard,.authFormWrap{width:min(100%,480px)}.auth-card h1,.auth-title,.authCard h1,.authTitle{margin-bottom:.7rem;font-size:clamp(2.5rem,6vw,4.2rem)}.auth-subtitle,.authSubtitle{margin-bottom:2rem;color:var(--color-ink-soft)}.auth-links,.authLinks{margin-top:1.5rem;color:var(--color-ink-soft);font-size:.9rem;text-align:center}.auth-links a,.authLinks a{color:var(--color-accent);font-weight:750}.artwork-form,.artworkForm,.auth-form,.authForm,.form,.profile-form,.profileForm{width:100%}.form-grid,.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.field,.form-group,.formGroup{min-width:0;margin-bottom:1.15rem}.field-full,.fieldFull,.form-group.full-width,.formGroup.fullWidth{grid-column:1/-1}.form-label,.formLabel,label{display:block;margin-bottom:.42rem;color:var(--color-ink);font-size:.79rem;font-weight:800;letter-spacing:.025em}.required-indicator,.requiredIndicator{color:var(--color-danger)}.form-input,.form-select,.form-textarea,.formInput,.formSelect,.formTextarea,input,select,textarea{width:100%;min-height:3rem;padding:.74rem .85rem;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);background:var(--color-surface-strong);box-shadow:inset 0 1px 1px rgb(25 24 21/3%);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.form-textarea,.formTextarea,textarea{min-height:8rem;resize:vertical;line-height:1.55}input::placeholder,textarea::placeholder{color:#9a958c}input:hover,select:hover,textarea:hover{border-color:#8f887d}input:focus,select:focus,textarea:focus{border-color:var(--color-focus);outline:0;box-shadow:0 0 0 3px rgb(23 107 135/16%)}.input-error,.inputError,input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--color-danger)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgb(161 61 57/15%)}.checkbox-field,.checkbox-row,.checkboxField,.checkboxRow{display:flex;align-items:flex-start;gap:.65rem}.checkbox-field input,.checkbox-row input,.checkboxField input,.checkboxRow input,input[type=checkbox],input[type=radio]{width:1.05rem;min-height:auto;height:1.05rem;flex:0 0 auto;margin-top:.22rem;accent-color:var(--color-accent)}.field-help,.fieldHelp,.help-text,.helpText{margin:.35rem 0 0;color:var(--color-ink-muted);font-size:.76rem;line-height:1.45}.error-message,.errorMessage,.field-error,.fieldError{margin:.35rem 0 0;color:var(--color-danger);font-size:.78rem;font-weight:650;line-height:1.45}.alert-error,.alert-success,.alert-warning,.alertError,.alertSuccess,.alertWarning,.form-error,.form-success,.formError,.formSuccess{margin-bottom:1.2rem;padding:.8rem .95rem;border:1px solid;border-radius:var(--radius-sm);font-size:.84rem;line-height:1.5}.alert-error,.alertError,.form-error,.formError{border-color:#dfaaa6;background:var(--color-danger-soft);color:var(--color-danger-dark)}.alert-success,.alertSuccess,.form-success,.formSuccess{border-color:#a6cbb7;background:var(--color-success-soft);color:#22523c}.alert-warning,.alertWarning{border-color:#dec894;background:var(--color-warning-soft);color:#674a15}.submit-button,.submitButton{width:100%;min-height:3.1rem;border:1px solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-ink);color:#fff;font-weight:800;transition:background-color var(--transition-fast),transform var(--transition-fast)}.submit-button:hover,.submitButton:hover{background:var(--color-accent);border-color:var(--color-accent);transform:translateY(-1px)}.loading,.loading-state,.loadingState,.page-loading,.pageLoading{min-height:280px;display:grid;place-items:center;padding:3rem 1rem;color:var(--color-ink-soft);text-align:center}.loading-content,.loadingContent{display:grid;justify-items:center;grid-gap:1rem;gap:1rem}.loading-spinner,.loadingSpinner,.spinner{width:2rem;height:2rem;border:2px solid var(--color-line);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}.skeleton,.skeleton-line,.skeletonLine{overflow:hidden;border-radius:var(--radius-sm);background:var(--color-surface-muted);color:transparent}.skeleton-line:after,.skeleton:after,.skeletonLine:after{width:50%;height:100%;display:block;background:linear-gradient(90deg,transparent,rgb(255 255 255/70%),transparent);content:"";animation:shimmer 1.4s infinite}.error-state,.errorState,.not-found,.notFound,.unavailable-state,.unavailableState{min-height:65svh;display:grid;place-items:center;padding:4rem 1rem;text-align:center}.error-card,.errorCard,.not-found-card,.notFoundCard,.state-card,.stateCard{width:min(100%,620px);padding:clamp(2rem,6vw,4rem);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.error-card h1,.errorCard h1,.not-found-card h1,.notFoundCard h1,.state-card h1,.stateCard h1{margin-bottom:1rem;font-size:clamp(2.5rem,7vw,5rem)}.error-actions,.errorActions,.state-actions,.stateActions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.5rem}.admin-dashboard,.admin-page,.adminDashboard,.adminPage{min-height:100svh;background:#efede8}.admin-header,.adminHeader{position:-webkit-sticky;position:sticky;top:0;z-index:80;border-bottom:1px solid var(--color-line);background:rgb(252 250 246/92%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.admin-header-inner,.adminHeaderInner{width:min(calc(100% - 2rem),1440px);min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-inline:auto}.admin-brand,.adminBrand{font-family:var(--font-display);font-size:1.45rem;text-decoration:none}.admin-header-actions,.admin-user,.adminHeaderActions,.adminUser{display:flex;align-items:center;gap:.75rem}.admin-user-name,.adminUserName{color:var(--color-ink-soft);font-size:.82rem}.admin-layout,.adminLayout{width:min(calc(100% - 2rem),1440px);display:grid;grid-template-columns:230px minmax(0,1fr);grid-gap:2rem;gap:2rem;margin-inline:auto;padding-block:2rem 4rem}.admin-sidebar,.adminSidebar{align-self:start;padding:.75rem;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.admin-nav,.adminNav{display:grid;grid-gap:.3rem;gap:.3rem}.admin-nav a,.admin-nav button,.adminNav a,.adminNav button{width:100%;padding:.72rem .8rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink-soft);font-size:.84rem;font-weight:750;text-align:left;text-decoration:none}.admin-nav .active,.admin-nav [aria-current=page],.admin-nav a:hover,.admin-nav button:hover,.adminNav .active,.adminNav [aria-current=page],.adminNav a:hover,.adminNav button:hover{background:var(--color-surface-muted);color:var(--color-ink)}.admin-main,.adminMain{min-width:0}.admin-title-row,.adminTitleRow,.dashboard-header,.dashboardHeader{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.admin-title-row h1,.adminTitleRow h1,.dashboard-header h1,.dashboardHeader h1{margin:0;font-size:clamp(2rem,4vw,3.5rem)}.admin-panel,.adminPanel,.dashboard-card,.dashboardCard,.form-panel,.formPanel{margin-bottom:1.5rem;padding:clamp(1.2rem,3vw,2rem);border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.panel-header,.panelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid var(--color-line)}.panel-header h2,.panelHeader h2{margin:0;font-family:var(--font-body);font-size:1.08rem;font-weight:800;letter-spacing:-.01em}.admin-artwork-list,.adminArtworkList,.artwork-admin-list,.artworkAdminList{display:grid;grid-gap:.8rem;gap:.8rem}.admin-artwork-card,.adminArtworkCard,.artwork-list-item,.artworkListItem{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;grid-gap:1rem;gap:1rem;padding:.75rem;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-strong)}.admin-artwork-image,.adminArtworkImage,.artwork-thumbnail,.artworkThumbnail{width:82px;aspect-ratio:1;border-radius:var(--radius-sm);background:var(--color-surface-muted);object-fit:cover}.admin-artwork-info,.adminArtworkInfo{min-width:0}.admin-artwork-info h3,.adminArtworkInfo h3{margin:0 0 .25rem;overflow:hidden;font-family:var(--font-body);font-size:.95rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.admin-artwork-meta,.adminArtworkMeta{margin:0;color:var(--color-ink-muted);font-size:.76rem}.admin-artwork-actions,.adminArtworkActions,.row-actions,.rowActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.badge,.status-badge,.statusBadge{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;gap:.3rem;margin-top:.4rem;padding:.2rem .48rem;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-ink-soft);font-size:.67rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.badge-published,.status-badge.published,.statusBadge.published{background:var(--color-success-soft);color:var(--color-success)}.badge-draft,.status-badge.draft,.statusBadge.draft{background:var(--color-warning-soft);color:var(--color-warning)}.badge-featured,.status-badge.featured,.statusBadge.featured{background:var(--color-accent-soft);color:var(--color-accent-dark)}.image-preview,.imagePreview{width:min(100%,360px);margin-top:.8rem;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-muted)}.image-preview img,.imagePreview img{width:100%;max-height:320px;object-fit:contain}.admin-modal-backdrop,.adminModalBackdrop{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:1rem;overflow-y:auto;background:rgb(25 24 21/68%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-modal,.adminModal{width:min(100%,820px);max-height:calc(100svh - 2rem);overflow:auto;padding:clamp(1.2rem,4vw,2rem);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.admin-modal-header,.adminModalHeader{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-modal-header h2,.adminModalHeader h2{margin:0;font-size:clamp(1.7rem,4vw,2.5rem)}.confirm-dialog,.confirmDialog{width:min(100%,460px);padding:1.5rem;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.confirm-dialog h2,.confirmDialog h2{margin-bottom:.75rem;font-size:1.8rem}.confirm-dialog-actions,.confirmDialogActions{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1.5rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{0%{transform:translateX(-120%)}to{transform:translateX(240%)}}@media (max-width:980px){.hero-inner,.heroInner{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:3rem}.artwork-card,.artwork-card:nth-child(5n+1),.artwork-card:nth-child(5n+2),.artworkCard,.artworkCard:nth-child(5n+1),.artworkCard:nth-child(5n+2),.portfolio-card,.portfolioCard{grid-column:span 6}.artwork-card:nth-child(5n+1) .artwork-image,.artwork-card:nth-child(5n+2) .artwork-image,.artworkCard:nth-child(5n+1) .artworkImage,.artworkCard:nth-child(5n+2) .artworkImage{aspect-ratio:4/5}.modal-content,.modalContent{grid-template-columns:1fr .75fr}.auth-page,.authPage,.authentication-layout,.authenticationLayout{grid-template-columns:minmax(270px,.75fr) minmax(390px,1.25fr)}.admin-layout,.adminLayout{grid-template-columns:1fr}.admin-sidebar,.adminSidebar{position:static}.admin-nav,.adminNav{display:flex;overflow-x:auto}.admin-nav a,.admin-nav button,.adminNav a,.adminNav button{width:auto;flex:0 0 auto}}@media (max-width:760px){:root{--header-height:68px}.container,.header-inner,.headerInner,.narrow-container,.narrowContainer,.section-inner,.sectionInner{width:min(calc(100% - 1.25rem),var(--content-width))}.menu-toggle,.menuToggle,.mobile-nav-toggle,.mobileNavToggle{display:grid}.header-nav,.headerNav,.site-nav,.siteNav{position:fixed;inset:0;z-index:101;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1.3rem;padding:5rem 2rem 2rem;background:var(--color-surface);opacity:0;pointer-events:none;transform:translateY(-.8rem);transition:opacity var(--transition-base),transform var(--transition-base)}.header-nav.open,.headerNav.open,.site-nav.open,.site-nav[data-open=true],.siteNav.open,.siteNav[data-open=true]{opacity:1;pointer-events:auto;transform:none}.header-nav a,.headerNav a,.site-nav a,.siteNav a{font-family:var(--font-display);font-size:clamp(2rem,10vw,3.6rem);font-weight:400;letter-spacing:-.035em}.login-link,.loginLink,.site-nav .login-link,.siteNav .loginLink{margin-top:.75rem;padding:.65rem 1rem;font-family:var(--font-body);font-size:.88rem;font-weight:750;letter-spacing:.02em}.hero,.hero-section,.heroSection{min-height:auto;padding-block:3.5rem 5rem}.hero-inner,.heroInner{width:min(calc(100% - 1.25rem),var(--content-width));grid-template-columns:1fr}.hero-title,.heroTitle{font-size:clamp(3.1rem,16vw,5.6rem)}.hero-artwork,.hero-media,.heroArtwork,.heroMedia{width:min(88%,450px);justify-self:center}.portfolio-header,.portfolioHeader,.section-header,.sectionHeader{display:block}.about-grid,.aboutGrid{grid-template-columns:1fr;gap:2rem}.about-heading,.aboutHeading{position:static}.artwork-modal-backdrop,.artworkModalBackdrop,.modal-backdrop,.modalBackdrop{align-items:start;padding:0}.artwork-modal,.artworkModal,.modal,.modal-dialog,.modalDialog{min-height:100svh;max-height:none;border:0;border-radius:0}.modal-content,.modalContent{grid-template-columns:1fr}.modal-media,.modalMedia{min-height:48svh;padding:1rem}.modal-image,.modalImage{max-height:58svh}.modal-details,.modalDetails{min-height:42svh}.auth-page,.authPage,.authentication-layout,.authenticationLayout{display:block}.auth-aside,.auth-brand,.authAside,.authBrand{min-height:auto;padding:1.25rem}.auth-aside h1,.auth-brand h1,.authAside h1,.authBrand h1{margin:4rem 0 0;font-size:2.6rem}.auth-aside p,.auth-brand p,.authAside p,.authBrand p{display:none}.auth-form-panel,.auth-main,.authFormPanel,.authMain{min-height:calc(100svh - 160px);padding:2.5rem 1.25rem}.form-grid,.formGrid{grid-template-columns:1fr}.field-full,.fieldFull,.form-group.full-width,.formGroup.fullWidth{grid-column:auto}.admin-artwork-card,.adminArtworkCard,.artwork-list-item,.artworkListItem{grid-template-columns:64px minmax(0,1fr)}.admin-artwork-image,.adminArtworkImage,.artwork-thumbnail,.artworkThumbnail{width:64px}.admin-artwork-actions,.adminArtworkActions,.row-actions,.rowActions{grid-column:1/-1;justify-content:flex-start;padding-top:.5rem;border-top:1px solid var(--color-line)}}@media (max-width:540px){.about-section,.aboutSection,.contact-section,.contactSection,.portfolio-section,.portfolioSection,.section{padding-block:4rem}.hero-actions,.heroActions{align-items:stretch;flex-direction:column}.hero-actions .btn,.hero-actions .button,.heroActions .btn,.heroActions .button{width:100%}.artwork-grid,.artworkGrid,.gallery-grid,.galleryGrid,.portfolio-grid,.portfolioGrid{gap:2.2rem}.artwork-card,.artwork-card:nth-child(5n+1),.artwork-card:nth-child(5n+2),.artworkCard,.artworkCard:nth-child(5n+1),.artworkCard:nth-child(5n+2),.portfolio-card,.portfolioCard{grid-column:1/-1}.about-details,.aboutDetails,.profile-details,.profileDetails{grid-template-columns:1fr}.admin-header-inner,.adminHeaderInner,.footer,.site-footer,.siteFooter{align-items:flex-start;flex-direction:column}.admin-header-inner,.adminHeaderInner{padding-block:.8rem}.admin-header-actions,.admin-user,.adminHeaderActions,.adminUser{width:100%;justify-content:space-between}.admin-title-row,.adminTitleRow,.dashboard-header,.dashboardHeader,.panel-header,.panelHeader{align-items:flex-start;flex-direction:column}.admin-title-row .button,.adminTitleRow .button,.dashboard-header .button,.dashboardHeader .button{width:100%}.confirm-dialog-actions,.confirmDialogActions{flex-direction:column-reverse}.confirm-dialog-actions .button,.confirmDialogActions .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.artwork-image,.artworkImage,.card-image,.cardImage{transform:none!important}}@media print{.admin-header,.admin-sidebar,.adminHeader,.adminSidebar,.filter-list,.filterList,.filters,.hero-actions,.heroActions,.menu-toggle,.menuToggle,.modal-backdrop,.modalBackdrop,.site-footer,.site-header,.siteFooter,.siteHeader{display:none!important}body{background:#fff;color:#000}.about-section,.aboutSection,.contact-section,.contactSection,.portfolio-section,.portfolioSection,.section{padding-block:2rem}.about-section,.aboutSection{background:#fff;color:#000}.about-copy,.about-section h2,.about-section h3,.aboutCopy,.aboutSection h2,.aboutSection h3,.biography,.detail-value,.detailValue{color:#000}.artwork-card,.artworkCard{page-break-inside:avoid;break-inside:avoid}}