:root{--klein-blue: #002fa7;--klein-blue-bright: #1f3fd1;--bg: #ffffff;--bg-2: #faf9f6;--ink: #0a0a0a;--muted: #6a6a6a;--hairline: rgba(0, 0, 0, .12);--hairline-strong: rgba(0, 0, 0, .22);--field-bg: #ffffff;--field-bg-focus: #f4f4ef;--accent: var(--klein-blue);--accent-strong: var(--klein-blue-bright);--on-accent: #ffffff;--mat: #ffffff;--shadow: rgba(0, 0, 0, .12);--font-display: "Cormorant Garamond", "EB Garamond", Garamond, Georgia, serif;--font-body: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max: 1180px;--gutter: clamp(1rem, 4vw, 3rem)}[data-theme=paper]{--bg: #faf9f6;--bg-2: #f1efe8;--hairline: rgba(0, 0, 0, .1);--hairline-strong: rgba(0, 0, 0, .2);--field-bg: #faf9f6;--field-bg-focus: #f1efe8;--accent: var(--ink);--accent-strong: var(--ink);--on-accent: #faf9f6;--shadow: rgba(40, 32, 20, .1)}[data-theme=white]{--bg: #ffffff;--bg-2: #f6f6f4;--accent: var(--ink);--accent-strong: var(--ink);--on-accent: #ffffff}[data-theme=ink]{--bg: #000000;--bg-2: #0c0c0c;--ink: #f4f4f4 !important;--muted: #9c9c9c !important;--hairline: rgba(255, 255, 255, .16);--hairline-strong: rgba(255, 255, 255, .32);--field-bg: #0a0a0a;--field-bg-focus: #141414;--accent: var(--ink);--accent-strong: #ffffff;--on-accent: #000000;--mat: #121212;--shadow: rgba(0, 0, 0, .6)}[data-theme=klein]{--bg: #faf9f6;--bg-2: #f1efe8;--hairline: rgba(0, 0, 0, .1);--hairline-strong: rgba(0, 0, 0, .2);--field-bg: #faf9f6;--field-bg-focus: #f1efe8;--accent: var(--klein-blue);--accent-strong: var(--klein-blue-bright);--on-accent: #ffffff;--shadow: rgba(40, 32, 20, .1)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:var(--font-body-weight, 400);font-style:var(--font-body-style, normal);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;background:var(--bg)}a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}a:hover{border-bottom-color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--font-display-weight, 500);font-style:var(--font-display-style, italic);letter-spacing:.005em;color:var(--ink)}h1{font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.05}h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}h3{font-size:1.4rem;line-height:1.25}p{margin-bottom:1em}img{display:block;max-width:100%;height:auto}.container{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.muted,.soft{color:var(--muted)}.eyebrow{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--accent)}.divider{width:60px;height:1px;background:var(--accent);margin:2rem 0}.site-header{padding:2rem var(--gutter) 1rem;display:flex;align-items:baseline;justify-content:space-between;max-width:var(--max);margin:0 auto}.brand{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.04em;color:var(--ink);border:none}.brand small{display:block;font-family:var(--font-ui);font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}.site-nav{display:flex;gap:1.75rem;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.site-nav a{color:var(--ink);border:none;padding-bottom:2px;border-bottom:1px solid transparent}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.site-footer{padding:4rem var(--gutter) 3rem;text-align:center;font-family:var(--font-ui);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.hero{padding:clamp(3rem,10vh,7rem) 0 clamp(3rem,8vh,6rem)}.hero h1{max-width:14ch}.hero .lede{margin-top:1.5rem;max-width:38ch;font-size:1.25rem;color:var(--ink)}.hero-actions{margin-top:2rem;display:flex;gap:1.5rem;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase}.gallery{margin:2.5rem 0 4rem}.gallery[data-layout=wall]{column-width:300px;column-gap:clamp(1.25rem,3vw,2.5rem)}.gallery[data-layout=wall] .art-card{display:inline-block;width:100%;margin-bottom:clamp(1.25rem,3vw,2.5rem);break-inside:avoid;-webkit-column-break-inside:avoid}.gallery[data-layout=stack]{display:flex;flex-direction:column;align-items:center;gap:clamp(3rem,8vw,6rem)}.gallery[data-layout=stack] .art-card{width:100%;max-width:760px}.gallery[data-layout=stack] .meta{flex-direction:column;align-items:center;gap:.15rem;text-align:center}.gallery[data-layout=rows]{--row-h: clamp(220px, 26vw, 320px);display:flex;flex-wrap:wrap;gap:clamp(1rem,2vw,1.75rem)}.gallery[data-layout=rows] .art-card{--ar: 1;flex:var(--ar) 1 calc(var(--ar) * var(--row-h));max-width:100%}.art-card{display:block;border:none;background:transparent;position:relative;transition:transform .35s ease}.art-card:hover{transform:translateY(-2px)}.art-card-image{position:relative;overflow:hidden;border:1px solid var(--hairline);transition:border-color .3s ease,box-shadow .3s ease}.art-card:hover .art-card-image{border-color:var(--hairline-strong)}.art-card img{display:block;width:100%;height:auto}.gallery[data-matting=on] .art-card-image{background:var(--mat);padding:clamp(.55rem,2.2%,1.6rem);box-shadow:0 1px 2px var(--shadow),0 18px 34px -22px var(--shadow)}.sold-tag{position:absolute;top:.6rem;left:.6rem;z-index:1;font-family:var(--font-ui);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);padding:.3rem .55rem}.art-card .meta{padding:.85rem 0 0;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.art-card .meta h3{font-size:1.25rem;color:var(--ink)}.art-card .meta .year{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.2em;color:var(--muted)}.artwork-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);margin:3rem 0 5rem;align-items:start}@media(max-width:820px){.artwork-detail{grid-template-columns:1fr}}.artwork-detail figure{margin:0;border:1px solid var(--hairline);background:var(--bg-2)}.artwork-detail figure img{width:100%;height:auto;display:block}.artwork-detail h1{margin-bottom:1rem}.artwork-detail dl{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.4rem;margin:1.5rem 0 2rem;font-size:.95rem}.artwork-detail dt{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:var(--accent);align-self:center}.artwork-detail dd{color:var(--ink)}.about{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,4rem);margin:3rem 0 5rem;align-items:start}@media(max-width:820px){.about{grid-template-columns:1fr}}.about figure{border:1px solid var(--hairline);background:var(--bg-2)}.about figure img{width:100%;height:auto}.about .bio{font-size:1.05rem}.about .bio p+p{margin-top:1em}.contact-list{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:.5rem;font-family:var(--font-ui);font-size:.85rem;letter-spacing:.05em}.admin-shell{max-width:880px;margin:0 auto;padding:2rem var(--gutter) 5rem}.admin-shell h1{margin-bottom:.5rem}.admin-nav{display:flex;gap:1.5rem;border-bottom:1px solid var(--hairline);padding-bottom:1rem;margin:1rem 0 2.5rem;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.admin-nav a{color:var(--ink);border:none}.admin-nav a[aria-current=page]{color:var(--accent)}.admin-nav .spacer{flex:1}.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.4rem}.field label{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.field input[type=text],.field input[type=number],.field input[type=email],.field input[type=password],.field input[type=url],.field textarea,.field select{background:var(--field-bg);border:1px solid var(--hairline-strong);color:var(--ink);font-family:var(--font-body);font-size:1rem;padding:.7rem .85rem;border-radius:0;outline:none;transition:border-color .18s ease,background .18s ease}.field textarea{min-height:160px;resize:vertical;line-height:1.55}.field input:focus,.field textarea:focus{border-color:var(--accent);background:var(--field-bg-focus)}.field .hint{font-family:var(--font-ui);font-size:.72rem;color:var(--muted)}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.row-2{grid-template-columns:1fr}}.ty-section{margin-bottom:2.75rem}.ty-h2{font-size:1.4rem;margin-bottom:.4rem}.type-preview{border:1px solid var(--hairline);background:var(--bg-2);padding:1.6rem 1.75rem 1.5rem;margin:1rem 0 2.5rem}.type-preview .eyebrow{margin-bottom:.4rem;color:var(--muted)}.preview-display{font-size:clamp(2rem,5vw,2.75rem);margin:.3rem 0 .85rem;line-height:1.05}.preview-body{font-size:1.05rem;margin-bottom:1.1rem;max-width:56ch;color:var(--ink)}.preview-ui{display:flex;gap:.85rem;align-items:center;flex-wrap:wrap}.color-pick-row{display:grid;grid-template-columns:88px 1fr;gap:1rem;align-items:stretch;max-width:360px}.color-pick-row input[type=color]{width:100%;height:100%;min-height:56px;padding:2px;border:1px solid var(--hairline-strong);background:var(--field-bg);cursor:pointer}.font-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem;margin:.75rem 0 1rem}.font-card{position:relative;display:block;cursor:pointer;border:1px solid var(--hairline);background:var(--bg);padding:.95rem 1.05rem .85rem;transition:border-color .18s ease,background .18s ease}.font-card:hover{border-color:var(--hairline-strong)}.font-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.font-card:has(input:checked){border-color:var(--accent);outline:1px solid var(--accent);outline-offset:-2px}.font-card-sample{font-size:1.5rem;line-height:1.15;margin-bottom:.45rem;color:var(--ink);font-weight:500;font-style:normal;word-break:break-word}.font-card-meta{font-family:var(--font-ui);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.font-card-note{color:var(--accent)}.custom-font{margin:.5rem 0 1.25rem;border:1px solid var(--hairline);padding:.85rem 1rem;background:var(--bg-2)}.custom-font[open]{border-color:var(--hairline-strong)}.custom-font summary{cursor:pointer;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);list-style:none}.custom-font summary::-webkit-details-marker{display:none}.custom-font summary:before{content:"+ ";color:var(--accent);margin-right:.4rem}.custom-font[open] summary:before{content:"− "}.style-row{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:1rem}.pill-group{display:inline-flex;border:1px solid var(--hairline-strong);background:var(--field-bg)}.pill{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.55rem .95rem;cursor:pointer;font-family:var(--font-ui);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:transparent;border:none;user-select:none;transition:background .16s ease,color .16s ease}.pill input{position:absolute;opacity:0;pointer-events:none}.pill-group .pill+.pill{border-left:1px solid var(--hairline-strong)}.pill:hover{background:#002fa70f}.pill:has(input:checked){background:var(--accent);color:#fff}.pill:has(input:checked):hover{background:var(--accent-strong)}.pill--toggle{border:1px solid var(--hairline-strong)}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:.7rem 1.4rem;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;border-radius:0;transition:background .18s ease,color .18s ease}.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--hairline-strong)}.btn-ghost:hover{background:transparent;color:var(--accent);border-color:var(--accent)}.btn-danger{background:transparent;color:var(--ink);border-color:var(--hairline-strong)}.btn-danger:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.notice{padding:.85rem 1rem;border:1px solid var(--accent);background:transparent;font-family:var(--font-ui);font-size:.85rem;margin-bottom:1.5rem;color:var(--accent)}.notice.error{border-color:var(--ink);color:var(--ink)}.admin-art-list{display:grid;grid-template-columns:1fr;gap:.5rem;margin:1rem 0 2rem}.admin-art-row{display:grid;grid-template-columns:auto 72px 1fr auto;gap:1rem;align-items:center;padding:.6rem;border:1px solid var(--hairline);background:var(--bg)}.admin-art-row[draggable=true]{cursor:grab}.admin-art-row.dragging{opacity:.5;cursor:grabbing;border-color:var(--accent)}.admin-art-row .drag-handle{font-size:1.1rem;line-height:1;color:var(--muted);padding:0 .1rem;user-select:none;cursor:grab}.admin-art-row.dragging .drag-handle{cursor:grabbing}.reorder-status{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);min-height:1.2em;margin-top:.75rem}.admin-art-row img{width:72px;height:90px;object-fit:contain;background:var(--bg-2)}.admin-art-row .info h3{font-family:var(--font-display);font-size:1.15rem;margin-bottom:.2rem;color:var(--ink)}.admin-art-row .info .meta{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.dropzone{border:1px dashed var(--hairline-strong);background:var(--bg-2);padding:1.6rem;text-align:center;cursor:pointer;transition:background .18s ease,border-color .18s ease}.dropzone:hover,.dropzone.drag{background:var(--field-bg-focus);border-color:var(--accent)}.dropzone img.preview{max-height:240px;margin:0 auto .75rem;display:block}.dropzone .label{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.actions-row{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.login-shell{min-height:100vh;display:grid;place-items:center;padding:var(--gutter);background:var(--bg)}.login-card{width:100%;max-width:380px;padding:2.5rem;border:1px solid var(--hairline);background:var(--bg);text-align:center}.login-card h1{font-family:var(--font-display);margin-bottom:.25rem;font-size:1.8rem;color:var(--ink)}.login-card p{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}.brand--admin{border:none}.signout-form{display:inline}.signout-btn{background:none;border:none;padding:0;margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--muted);cursor:pointer;border-bottom:1px solid transparent;transition:color .18s ease,border-color .18s ease}.signout-btn:hover{color:var(--accent);border-bottom-color:var(--accent)}.badge-sold{display:inline-block;margin-left:.6rem;padding:.15rem .4rem;vertical-align:middle;font-family:var(--font-ui);font-size:.58rem;font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--bg);background:var(--accent)}img{opacity:0;animation:fade-in .45s ease-out forwards}img[loading=lazy]{animation-delay:60ms}@keyframes fade-in{0%{opacity:0}to{opacity:1}}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn:focus-visible,.signout-btn:focus-visible{outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}img{opacity:1}}.artwork-detail figure a{display:block;border:none;cursor:zoom-in}
