:root{--paper:#f5f0e7;--ink:#292721;--muted:#777265;--rust:#a75037;--sage:#75816c;--line:#dfd8cb;--white:#fffdf8;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}.topbar{height:82px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.5px}.brand i{font-family:var(--serif);font-weight:600;color:var(--rust)}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--rust);color:white;font-family:var(--serif);font-size:13px;letter-spacing:-1px}.topbar nav{display:flex;gap:34px;color:#615d53;font-size:13px}.topbar nav a:hover,.text-link:hover{color:var(--rust)}.admin-trigger{background:transparent;border:1px solid #bdb5a7;border-radius:3px;padding:11px 14px;font:600 12px var(--sans);color:var(--ink);cursor:pointer}.admin-trigger span{margin-left:8px;color:var(--rust)}.hero{min-height:510px;padding:55px 12vw 65px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.hero-copy{max-width:515px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--rust);margin:0 0 18px}.hero .eyebrow span{display:inline-block;width:17px;height:1px;background:var(--rust);vertical-align:middle;margin-right:7px}.hero h1{font:600 clamp(38px,5vw,62px)/1.08 var(--serif);letter-spacing:-1.6px;margin:0 0 19px}.hero h1 em{color:var(--rust);font-weight:600}.intro{font-size:14px;line-height:1.8;color:#6e695e;max-width:390px;margin:0 0 28px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #b8a998;padding-bottom:8px}.text-link span{color:var(--rust);font-size:16px;margin-left:13px}.hero-art{width:355px;height:355px;position:relative;margin-right:4vw}.sun{position:absolute;top:8px;right:28px;width:160px;height:160px;border-radius:50%;background:#e4c49a}.arch{position:absolute;bottom:0;left:28px;width:250px;height:300px;background:#d8c4a8;border-radius:140px 140px 0 0;overflow:hidden}.arch:before{content:"";position:absolute;inset:30px 24px 0;background:#e9decc;border-radius:125px 125px 0 0}.shelf{position:absolute;z-index:2;bottom:57px;left:0;width:100%;height:13px;background:#806747;box-shadow:0 7px 0 #b9a284}.vase{position:absolute;z-index:3;bottom:70px;background:var(--rust)}.vase-one{left:68px;width:57px;height:100px;border-radius:43% 43% 25% 25%;transform:rotate(-5deg)}.vase-one:before{content:"";position:absolute;top:-15px;left:17px;width:23px;height:22px;background:inherit;border-radius:5px 5px 0 0}.vase-two{left:142px;width:47px;height:69px;background:var(--sage);border-radius:40% 40% 28% 28%}.plant{position:absolute;z-index:3;bottom:172px;left:136px;font-size:82px;line-height:1;color:#75816c;transform:rotate(18deg)}.art-note{position:absolute;right:-25px;bottom:36px;font:italic 14px var(--serif);line-height:1.3;color:var(--rust);transform:rotate(-8deg)}.hero-stamp{position:absolute;right:6vw;top:70px;border:1px solid #c8b9a4;width:78px;height:78px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:8px;letter-spacing:1px;color:#817663;line-height:1.5;transform:rotate(10deg)}.hero-stamp b{color:var(--rust);font-size:14px}.section-wrap{padding:73px 9vw 95px;background:#fffdf8}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2,.about h2{font:600 34px/1.15 var(--serif);letter-spacing:-.7px;margin:0}.search{width:240px;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:8px 2px;color:var(--muted)}.search span{font-size:23px}.search input{border:0;outline:0;background:transparent;width:100%;font:12px var(--sans);color:var(--ink)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:29px 0 23px}.filter-chip{border:1px solid var(--line);padding:8px 13px;border-radius:30px;background:transparent;color:#6e695e;font:11px var(--sans);cursor:pointer}.filter-chip.active,.filter-chip:hover{background:var(--ink);color:white;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 23px}.product-card{min-width:0}.product-image{height:255px;background:#eae5da;position:relative;overflow:hidden;display:grid;place-items:center}.product-image img{width:100%;height:100%;object-fit:cover}.product-image .placeholder{font:70px var(--serif);color:#b7a98f}.badge{position:absolute;top:13px;left:13px;background:var(--white);padding:7px 9px;text-transform:uppercase;letter-spacing:.8px;font-size:9px;font-weight:700}.badge.unavailable{background:var(--ink);color:white}.product-info{padding:15px 2px 0}.product-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.product-meta h3{font:600 17px var(--serif);margin:0}.category-label{font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--sage);white-space:nowrap}.price{font-size:13px;font-weight:700;margin:8px 0;color:var(--rust)}.description{font-size:11px;line-height:1.6;color:#777265;margin:6px 0 15px;min-height:18px}.card-actions{display:flex;gap:8px}.store-link{flex:1;text-align:center;padding:11px 5px;border:1px solid var(--ink);font-size:10px;font-weight:700;transition:.2s}.store-link.primary{background:var(--ink);color:white}.store-link:hover{background:var(--rust);border-color:var(--rust);color:white}.store-link.disabled{opacity:.42;pointer-events:none}.empty-state{text-align:center;padding:45px;color:var(--muted);font-size:13px}.about{background:#ebe5d9;padding:66px 14vw;display:grid;grid-template-columns:70px 1fr 1fr;align-items:center;gap:30px}.about-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid #bcae98;border-radius:50%;font:18px var(--serif);color:var(--rust)}.about .eyebrow{margin-bottom:9px}.about h2{font-size:27px}.about>p{font-size:12px;line-height:1.8;color:#6e695e;max-width:340px}footer{padding:25px 7vw;display:flex;align-items:center;justify-content:space-between;color:#777265;font-size:10px}footer .brand{color:var(--ink);font-size:14px}.admin-dialog{border:0;border-radius:8px;padding:30px;width:min(680px,calc(100% - 28px));max-height:90vh;background:var(--white);color:var(--ink);box-shadow:0 20px 80px #211b1640}.admin-dialog::backdrop{background:#1c1a16a6}.admin-head{display:flex;justify-content:space-between;align-items:start}.admin-head .eyebrow{margin-bottom:7px}.admin-head h2{font:600 27px var(--serif);margin:0}.icon-button{border:0;background:transparent;font-size:27px;cursor:pointer;color:var(--muted)}.admin-note{color:var(--muted);font-size:11px;line-height:1.6;margin:10px 0 20px}.product-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.product-form label{font-size:10px;font-weight:700;color:#655f55}.product-form input:not([type=checkbox]),.product-form textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--line);border-radius:3px;padding:10px;font:11px var(--sans);background:white;color:var(--ink)}.product-form .wide{grid-column:1/-1}.stock-toggle{display:flex;gap:7px;align-items:center}.form-actions{display:flex;justify-content:end;gap:8px}.button{border:1px solid var(--ink);padding:10px 15px;font:600 10px var(--sans);cursor:pointer}.button-dark{background:var(--ink);color:white}.button-quiet{background:transparent}.admin-list-head{display:flex;align-items:center;justify-content:space-between;margin-top:27px;border-top:1px solid var(--line);padding-top:18px}.admin-list-head h3{font:600 15px var(--serif);margin:0}.small-link{border:0;background:none;color:var(--rust);text-decoration:underline;font:10px var(--sans);cursor:pointer}.admin-list{max-height:210px;overflow:auto}.admin-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eee8de;font-size:11px}.admin-row span{flex:1}.admin-row small{color:var(--muted)}.admin-row button{border:0;background:none;text-decoration:underline;color:var(--rust);font:10px var(--sans);cursor:pointer}.admin-row button.delete{color:#8a4c42}@media(max-width:800px){.hero{padding-left:8vw;padding-right:8vw}.hero-art{transform:scale(.82);transform-origin:center right;margin-left:-40px;margin-right:0}.hero-stamp{right:3vw}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-wrap{padding-left:7vw;padding-right:7vw}.about{padding-left:8vw;padding-right:8vw}}@media(max-width:580px){.topbar{height:68px;padding:0 5vw}.topbar nav{display:none}.brand{font-size:16px}.admin-trigger{font-size:10px;padding:9px}.hero{min-height:auto;padding:60px 7vw 35px;display:block}.hero-copy{max-width:100%}.hero h1{font-size:43px}.hero-art{height:250px;width:280px;margin:22px auto 0;transform:scale(.75);transform-origin:top center}.hero-stamp{top:260px;right:8vw;width:63px;height:63px;font-size:7px}.section-wrap{padding:50px 5vw 65px}.section-heading{align-items:start;display:block}.section-heading h2{font-size:28px}.search{margin-top:20px;width:100%}.product-grid{gap:26px 12px}.product-image{height:190px}.product-meta{align-items:start;display:block}.product-meta h3{font-size:15px;margin-bottom:5px}.category-label{font-size:8px}.card-actions{display:grid;grid-template-columns:1fr}.store-link{padding:10px 3px}.about{padding:42px 8vw;grid-template-columns:52px 1fr;gap:14px}.about-mark{width:45px;height:45px}.about h2{font-size:23px}.about>p{grid-column:1/-1;margin:4px 0 0}footer{padding:20px 6vw;flex-wrap:wrap;gap:14px}footer>span:nth-child(2){display:none}.admin-dialog{padding:22px 18px}.product-form{gap:10px}.admin-head h2{font-size:23px}}
.login-dialog{border:0;border-radius:8px;padding:0;width:min(370px,calc(100% - 28px));background:var(--white);color:var(--ink);box-shadow:0 20px 80px #211b1640}.login-dialog::backdrop{background:#1c1a16a6}.login-content{padding:35px;text-align:center}.login-mark{margin:0 auto 22px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--rust);color:white;font:16px var(--serif)}.login-content .eyebrow{margin-bottom:9px}.login-content h2{font:600 29px var(--serif);margin:0}.login-content>p:not(.eyebrow){font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 23px}.login-content form{text-align:left}.login-content label{display:block;font-size:10px;font-weight:700;color:#655f55;margin-bottom:6px}.login-content input{display:block;width:100%;border:1px solid var(--line);border-radius:3px;padding:11px;font:12px var(--sans);background:white;color:var(--ink);margin-bottom:12px}.login-content .button{width:100%;margin-top:4px}.login-error{font-size:10px;color:#a04435;margin:-3px 0 10px}.login-cancel{margin-top:18px;border:0;background:none;color:var(--muted);text-decoration:underline;font:10px var(--sans);cursor:pointer}.admin-header-actions{display:flex;align-items:center;gap:10px}@media(max-width:580px){.login-content{padding:30px 22px}}
.setup-notice{margin:18px 0;padding:14px 16px;border:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:12px;line-height:1.6}
.image-upload { display: grid; gap: .55rem; }
.image-upload small { color: #77716a; font-size: .78rem; font-weight: 400; line-height: 1.45; }
.image-file-name { color: #514b44; font-size: .82rem; overflow-wrap: anywhere; }
.image-preview { width: 120px; height: 100px; object-fit: cover; border-radius: 8px; border: 1px solid #ded8ce; }
