:root{--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;--ultramarine: #002fa7;--ultramarine-bright: #1f3fd1;--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)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;background:var(--bg)}a{color:var(--ultramarine);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}a:hover{border-bottom-color:var(--ultramarine)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;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(--ultramarine)}.divider{width:60px;height:1px;background:var(--ultramarine);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(--ultramarine);border-bottom-color:var(--ultramarine)}.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;font-style:italic}.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}.portfolio-grid{display:grid;gap:clamp(1.25rem,3vw,2.5rem);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:2.5rem 0 4rem}.art-card{display:block;border:none;background:transparent;position:relative;transition:transform .35s ease}.art-card:hover{transform:translateY(-2px)}.art-card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:1px solid var(--hairline);transition:border-color .3s ease}.art-card:hover img{border-color:var(--hairline-strong)}.art-card .meta{padding:.85rem 0 0;display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.art-card .meta h3{font-style:italic;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{font-style:italic;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(--ultramarine);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%;aspect-ratio:4 / 5;object-fit:cover}.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{font-style:italic;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(--ultramarine)}.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(--ultramarine)}.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(--ultramarine);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}}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ultramarine);color:#fff;border:1px solid var(--ultramarine);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(--ultramarine-bright);border-color:var(--ultramarine-bright)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--hairline-strong)}.btn-ghost:hover{background:transparent;color:var(--ultramarine);border-color:var(--ultramarine)}.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(--ultramarine);background:transparent;font-family:var(--font-ui);font-size:.85rem;margin-bottom:1.5rem;color:var(--ultramarine)}.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:72px 1fr auto;gap:1rem;align-items:center;padding:.6rem;border:1px solid var(--hairline)}.admin-art-row img{width:72px;height:90px;object-fit:cover}.admin-art-row .info h3{font-family:var(--font-display);font-style:italic;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(--ultramarine)}.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);font-style:italic;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}
