:root{--paper:#f5f2eb;--ink:#25241f;--muted:#817e75;--line:#d8d3c8;--rust:#8d4d37;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 4.2vw;position:sticky;top:0;z-index:10;background:rgba(245,242,235,.95);backdrop-filter:blur(10px)}.wordmark{font-size:10px;letter-spacing:.16em;font-weight:600;text-decoration:none;color:var(--ink)}.mark{font-size:19px;vertical-align:-2px;margin-right:9px}.top-center,footer{font-size:9px;letter-spacing:.16em;color:var(--muted)}.top-right{display:flex;gap:26px;align-items:center}.text-button,.add-button{border:0;background:none;font-size:10px;letter-spacing:.1em}.text-button{color:var(--muted)}.text-button span{margin-left:8px;color:var(--rust)}.add-button{border:1px solid var(--line);padding:10px 14px;letter-spacing:.02em}.add-button:hover{border-color:var(--ink)}#app{min-height:calc(100vh - 120px)}.home{max-width:1440px;margin:auto;padding:64px 6vw 90px}.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--rust);text-transform:uppercase}.headline{font:400 clamp(40px,5vw,68px)/1.08 var(--serif);letter-spacing:-.035em;margin:20px 0 12px}.intro{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:52px}.hero-object{border:0;background:none;text-align:left;padding:0;display:block;min-width:0}.still{aspect-ratio:.84;background-image:url('public/editorial-still-life.png');background-size:200% 200%;background-repeat:no-repeat;position:relative;overflow:hidden;transition:filter .4s,transform .5s}.hero-object:hover .still{filter:saturate(1.08);transform:translateY(-4px)}.still:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(16,14,12,.18))}.still.one{background-position:0 0}.still.two{background-position:100% 0}.still.three{background-position:0 100%}.still.four{background-position:100% 100%}.object-num{position:absolute;z-index:1;top:14px;left:15px;color:rgba(255,255,255,.85);font-size:9px;letter-spacing:.12em}.object-meta{display:flex;justify-content:space-between;align-items:flex-end;padding:15px 0 0}.object-label{font:400 23px/1.1 var(--serif)}.object-count{font-size:10px;color:var(--muted)}.home-lower{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:58px;padding-top:19px;color:var(--muted);font-size:10px}.home-lower span:first-child{letter-spacing:.1em}.archive{max-width:1360px;margin:auto;padding:48px 6vw 90px}.back{border:0;background:none;padding:0;color:var(--muted);font-size:10px;letter-spacing:.08em}.page-head{display:flex;justify-content:space-between;align-items:end;margin:38px 0 28px}.page-head h1{font:400 46px var(--serif);margin:8px 0 0;letter-spacing:-.025em}.page-head p{color:var(--muted);font-size:11px;max-width:370px;line-height:1.6;margin:0}.toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:14px 0;margin-bottom:22px;flex-wrap:wrap}.filters{display:flex;gap:18px;flex-wrap:wrap}.filter{border:0;background:none;color:var(--muted);font-size:10px;padding:0}.filter.active{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.search{margin-left:auto;border:0;border-bottom:1px solid var(--line);background:transparent;width:180px;padding:7px 2px;font-size:11px;outline:none}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 18px}.item{cursor:pointer}.item-image{width:100%;aspect-ratio:1.17;object-fit:cover;background:#e4dfd4;display:block}.placeholder{display:flex;align-items:center;justify-content:center;color:#b0a99b;font:32px var(--serif);background:linear-gradient(135deg,#e9e4d9,#d7d0c2)}.item-title{font:400 22px/1.2 var(--serif);margin:12px 0 6px}.item-summary{font-size:11px;color:var(--muted);line-height:1.6;margin:0;max-width:95%}.item-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:var(--muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.tag{color:var(--rust)}.empty{padding:65px 0;text-align:center;color:var(--muted);font:23px var(--serif)}.profile-grid{grid-template-columns:repeat(4,1fr)}.profile-grid .item-image{aspect-ratio:.9}.weekly{max-width:1100px;margin:auto;padding:50px 6vw 100px}.weekly .page-head{margin-top:50px}.weekly-list{border-top:1px solid var(--line)}.weekly-row{display:grid;grid-template-columns:70px 1fr 130px 30px;gap:15px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}.weekly-row img{width:70px;height:55px;object-fit:cover}.weekly-row h3{font:20px var(--serif);margin:0 0 4px}.weekly-row p{font-size:10px;color:var(--muted);margin:0}.weekly-row button{border:0;background:none;color:var(--muted)}.notify{display:flex;gap:8px;align-items:center;font-size:9px;letter-spacing:.06em;color:var(--muted)}.notify input{accent-color:var(--rust)}.edit-note{margin:25px 0;border:0;border-bottom:1px solid var(--line);background:none;padding:12px 2px;width:100%;outline:none}.modal-backdrop{position:fixed;inset:0;background:rgba(31,29,25,.43);z-index:30;display:flex;justify-content:flex-end}.modal{width:min(620px,100%);height:100%;background:var(--paper);padding:34px 38px;overflow:auto;box-shadow:-20px 0 60px #1f1d191a}.modal-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px}.modal-top span{font-size:9px;letter-spacing:.16em;color:var(--rust)}.close{border:0;background:none;font-size:22px}.modal h2{font:38px/1.1 var(--serif);margin:28px 0}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:9px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.field input,.field textarea,.field select{background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 0;outline:none;font-size:12px}.field textarea{resize:vertical;min-height:75px;line-height:1.5}.actions{display:flex;justify-content:space-between;margin-top:32px}.save{border:0;background:var(--ink);color:var(--paper);padding:12px 22px;font-size:10px;letter-spacing:.1em}.delete{border:0;background:none;color:#a34e3b;font-size:10px}.detail-image{width:100%;max-height:320px;object-fit:cover;margin:15px 0 24px}.detail-title{font:42px var(--serif);margin:0 0 12px}.detail-copy{font:18px/1.6 var(--serif);color:#5e5a52;white-space:pre-wrap}.detail-meta{display:flex;gap:20px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-top:22px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 4.2vw}footer i{font-style:normal;color:var(--rust)}
@media(max-width:900px){.hero-grid{grid-template-columns:repeat(2,1fr);gap:28px 16px}.grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:repeat(3,1fr)}.top-center{display:none}}@media(max-width:560px){.topbar{padding:0 18px;height:58px}.wordmark{font-size:8px}.top-right{gap:10px}.text-button{font-size:8px}.add-button{font-size:0;padding:9px}.add-button:first-letter{font-size:16px}.home,.archive,.weekly{padding-left:20px;padding-right:20px}.home{padding-top:44px}.hero-grid{gap:24px 12px;margin-top:35px}.object-label{font-size:18px}.object-meta{display:block}.object-count{display:block;margin-top:6px}.home-lower{align-items:flex-start;gap:12px;line-height:1.5}.page-head{display:block}.page-head p{margin-top:14px}.page-head h1{font-size:38px}.grid{gap:24px 12px}.item-title{font-size:19px}.profile-grid{grid-template-columns:repeat(2,1fr)}.toolbar{gap:13px}.filters{gap:12px}.search{width:100%;margin:0}.weekly-row{grid-template-columns:55px 1fr 27px;gap:10px}.weekly-row img{width:55px;height:50px}.notify{grid-column:2;grid-row:2}.modal{padding:24px 20px}.form{grid-template-columns:1fr}.field.full{grid-column:auto}footer{padding:15px 18px;font-size:7px}}
