:root{--paper:#f8f7f4;--surface:#fff;--ink:#191815;--muted:#6f6b63;--line:#ded9cf;--accent:#7b4e36;--accent-dark:#4d3225;--focus:#244c5a;--font-serif:Georgia, serif;--font-sans:Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);margin:0;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.primary-button,.secondary-button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-height:44px;padding:.76rem 1.1rem;transition:transform .16s,background .16s}button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.secondary-button{color:var(--ink);background:0 0}.site-header,.site-footer{justify-content:space-between;align-items:center;gap:1.5rem;width:min(1180px,100% - 32px);margin:0 auto;display:flex}.site-header{border-bottom:1px solid var(--line);min-height:76px}.brand{font-family:var(--font-serif);font-size:1.5rem;font-weight:600}nav,.footer-links,.button-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}nav a,.footer-links a{color:var(--muted);font-size:.94rem}nav a:hover,.footer-links a:hover{color:var(--ink)}main{width:min(1180px,100% - 32px);margin:0 auto}.site-footer{border-top:1px solid var(--line);color:var(--muted);align-items:flex-start;margin-top:5rem;padding:3rem 0}.site-footer strong{color:var(--ink);font-family:var(--font-serif);font-size:1.4rem}.hero{grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);align-items:center;gap:clamp(2rem,5vw,5rem);min-height:calc(100vh - 120px);padding:3rem 0 4rem;display:grid}.hero h1,.page-hero h1,.about-layout h1,.contact-layout h1,.post-page h1,.login-panel h1,.admin-top h1{font-family:var(--font-serif);letter-spacing:0;margin:0;font-size:clamp(3rem,8vw,7rem);line-height:.92}.hero-copy p{max-width:680px;color:var(--muted);font-size:1.1rem}.hero-image img,.detail-image img,.about-layout img,.blog-card img,.post-page img{object-fit:cover;background:#eee9df;width:100%}.hero-image img{aspect-ratio:4/5}.eyebrow,.card-kicker,time{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.intro-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(2.5rem,6vw,6rem) 0}.intro-band p{max-width:900px;font-family:var(--font-serif);text-align:center;margin:0 auto;font-size:clamp(1.8rem,4vw,3.4rem);line-height:1.12}.section-head,.page-hero{max-width:760px;padding:5rem 0 2rem}.section-head h2,.journal-strip h2,.admin-panel h2{font-family:var(--font-serif);margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}.art-grid,.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.art-card,.blog-card{background:var(--surface);border:1px solid var(--line)}.art-card img{aspect-ratio:4/5;object-fit:cover;width:100%}.art-card-body,.blog-card div{padding:1.1rem}.card-kicker,.price-row{justify-content:space-between;gap:1rem;display:flex}.sold{color:#8c2f2f}.available{color:#2f5d46}.art-card h3,.blog-card h2{font-family:var(--font-serif);margin:.6rem 0;font-size:1.7rem;line-height:1.1}.art-card p,.blog-card p,.page-hero p,.about-layout p,.contact-layout p,.post-page p{color:var(--muted)}.price-row{color:var(--ink);margin-top:1rem;font-weight:700}.journal-strip,.about-layout,.contact-layout,.art-detail{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(2rem,5vw,5rem);padding:5rem 0;display:grid}.post-list{gap:1rem;display:grid}.post-list a{border-bottom:1px solid var(--line);font-family:var(--font-serif);gap:.2rem;padding-bottom:1rem;font-size:1.45rem;display:grid}.filter-bar{background:var(--surface);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;display:grid}label{color:var(--muted);gap:.35rem;font-size:.9rem;display:grid}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:.8rem}textarea{resize:vertical;min-height:130px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--focus), transparent 55%);outline-offset:3px}.empty-state{border:1px solid var(--line);background:var(--surface);padding:2rem}.detail-copy{position:sticky;top:1rem}.detail-copy h1{font-family:var(--font-serif);margin:0;font-size:clamp(2.8rem,5vw,5.5rem);line-height:.95}dl{gap:.7rem;margin:2rem 0;display:grid}dl div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:1rem;padding-bottom:.7rem;display:grid}dt{color:var(--muted)}dd{margin:0}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-card img{aspect-ratio:16/10}.post-page{max-width:820px;margin:0 auto;padding:5rem 0}.post-page img{aspect-ratio:16/10;margin:2rem 0}.contact-info{gap:.6rem;margin-top:2rem;display:grid}.contact-form,.login-panel form{background:var(--surface);border:1px solid var(--line);gap:1rem;padding:1.25rem;display:grid}.login-panel{max-width:460px;margin:5rem auto}.admin-shell{padding:3rem 0}.admin-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-top h1{font-size:clamp(2.4rem,5vw,4.2rem)}.status{border:1px solid var(--line);background:var(--surface);padding:1rem}.status.error{border-color:#9b3b3b}.status.success{border-color:#3d7658}.admin-panel{background:var(--surface);border:1px solid var(--line);margin-top:1.5rem;padding:1.25rem}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.admin-form .wide,.checkbox-grid{grid-column:1/-1}.check{align-items:center;gap:.55rem;display:flex}.check input{width:auto}.checkbox-grid{border:1px solid var(--line);padding:1rem}.admin-list{gap:.75rem;margin-top:1rem;display:grid}.admin-row{border:1px solid var(--line);grid-template-columns:1fr 150px 120px auto auto;align-items:center;gap:.75rem;padding:.8rem;display:grid}@media (max-width:900px){.hero,.journal-strip,.about-layout,.contact-layout,.art-detail,.filter-bar,.admin-form{grid-template-columns:1fr}.hero{min-height:auto}.art-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-copy{position:static}}@media (max-width:640px){main,.site-header,.site-footer{width:min(100% - 24px,1180px)}.site-header,.site-footer,.admin-top{display:grid}nav{gap:.75rem}.hero h1,.page-hero h1,.about-layout h1,.contact-layout h1,.post-page h1{font-size:3rem}.art-grid,.blog-grid,dl div,.admin-row{grid-template-columns:1fr}}
