:root{--bg:#f7f2eb;--bg-soft:#efe6db;--surface:#fffdf8;--text:#3f3a34;--muted:#7a7066;--primary:#a98467;--secondary:#d9b99b;--accent:#c8d7c1;--border:#dfd2c5}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 10% 10%, #efe2d5 0%, transparent 40%), radial-gradient(circle at 90% 80%, #dbe6d5 0%, transparent 35%), var(--bg);flex-direction:column;min-height:100vh;margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex;position:relative}.container{width:min(1100px,92vw);margin:0 auto}.site-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:color-mix(in srgb, var(--bg) 80%, white 20%);border-bottom:1px solid var(--border);z-index:10;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.brand{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.brandLogo{width:auto;height:clamp(28px,3vw,42px);display:block}.nav-list{gap:1.1rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{color:var(--text);font-weight:500;text-decoration:none}.nav-list a:hover{color:var(--primary)}.content{flex:1 0 auto;padding:3rem 0 4rem}.hero{gap:1.25rem;margin-bottom:2rem;display:grid}.kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.82rem}h1,h2,h3{margin:0;line-height:1.15}.hero h1{font-size:clamp(2rem,4vw,3.4rem)}.hero p{max-width:60ch;color:var(--muted);margin:0;font-size:1.05rem}main.container.content:has(.portfolioCompactPage){width:min(1380px,96vw);padding-top:1rem;padding-bottom:1.4rem}.portfolioCompactPage{gap:.45rem;display:grid}.heroPortfolioCompact{justify-content:flex-start;align-items:baseline;gap:1rem;margin-bottom:.25rem;display:flex}.heroPortfolioCompact .kicker{margin:0}.heroPortfolioCompact h1{font-size:clamp(1.5rem,2.3vw,2.1rem)}.cta-row{flex-wrap:wrap;gap:.85rem;display:flex}.btn{border:1px solid #0000;border-radius:999px;padding:.75rem 1.2rem;text-decoration:none;transition:transform .18s,background-color .18s;display:inline-block}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{border-color:var(--border);color:var(--text);background:var(--surface)}.btn:hover{transform:translateY(-2px)}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.gridTwoUp{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:color-mix(in srgb, var(--surface) 88%, var(--bg-soft) 12%);border:1px solid var(--border);border-radius:16px;padding:1.1rem}.card p{color:var(--muted);margin-bottom:0}.portfolio-showcase{margin-top:1.4rem;position:relative}.gallery-backdrop{z-index:0;opacity:.6;filter:blur(.5px);background:linear-gradient(135deg,#e8d8c7,#dde8d8);border-radius:28px;height:68%;position:absolute;inset:8% 2% auto}.portfolio-grid.art-grid{z-index:1;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:70px;gap:.95rem;display:grid;position:relative}.tile{border:1px solid color-mix(in srgb, var(--border) 75%, #fff 25%);background:var(--surface);grid-area:span 4/span 4;transition:transform .24s,box-shadow .24s;position:relative;overflow:hidden;box-shadow:0 12px 35px #56493d24}.tile:after{content:"";pointer-events:none;background:linear-gradient(#19130d00 52%,#19130d7a 100%);position:absolute;inset:0}.tile:hover{transform:translateY(-6px);box-shadow:0 18px 38px #56493d33}.tile img{object-fit:cover;width:100%;height:100%;display:block}.tile .copy{z-index:2;color:#fff;padding:1rem;position:absolute;inset:auto 0 0}.tile .copy p{color:#ffffffde;margin-top:.35rem}.tile--hero{grid-area:span 6/span 8}.tile--wide{grid-column:span 8}.tile--tall{grid-row:span 6}.tile--cut-a{clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%)}.tile--cut-b{clip-path:polygon(0 12%,12% 0,100% 0,100% 100%,0 100%)}.tile--cut-c{clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}.tile--cut-d{clip-path:polygon(0 0,100% 0,100% 86%,80% 100%,0 94%)}.tile--cut-e{clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 12%)}.tile--cut-f{clip-path:polygon(0 0,94% 0,100% 20%,100% 100%,0 100%)}.floating-strip{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:min(760px,92%);margin-top:-2rem;margin-left:auto;display:grid;position:relative}.floating-card{background:color-mix(in srgb, var(--surface) 90%, #fff 10%);border:1px solid var(--border);border-radius:16px;margin:0;overflow:hidden;box-shadow:0 14px 30px #3c30272e}.floating-card img{object-fit:cover;width:100%;height:220px;display:block}.floating-card figcaption{color:var(--muted);padding:.75rem .9rem;font-weight:600}.site-footer{border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-soft) 75%, white 25%);margin-top:auto}.footer-inner{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.7rem;padding:1rem 0;font-size:.95rem;display:flex}.bg-shape{filter:blur(52px);z-index:-1;border-radius:50%;position:fixed}.bg-shape-top{background:#e2c8af;width:300px;height:300px;top:-80px;right:-90px}.bg-shape-bottom{background:#c7d8c0;width:340px;height:340px;bottom:-120px;left:-120px}.admin-login{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;max-width:400px;padding:2rem;box-shadow:0 12px 40px #56493d1f}.admin-card h1{color:var(--primary);margin-bottom:.5rem;font-size:1.8rem}.admin-card p{color:var(--muted);margin-bottom:1.5rem}.admin-card form{gap:.85rem;display:grid}.admin-card input{border:1px solid var(--border);border-radius:8px;padding:.75rem;font-family:inherit;font-size:1rem}.admin-card button{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.75rem;font-weight:600;transition:transform .18s}.admin-card button:hover:not(:disabled){transform:translateY(-2px)}.admin-card button:disabled{opacity:.6;cursor:not-allowed}.admin-entry-actions{gap:.85rem;display:grid}.admin-entry-link{background:var(--primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:.75rem 1rem;font-weight:600;text-decoration:none;transition:transform .18s;display:inline-flex}.admin-entry-link:hover{transform:translateY(-2px)}.admin-entry-link.secondary{background:var(--muted)}.admin-entry-logout{width:100%}.error{color:#c41e3a;margin-top:1rem;font-size:.9rem}.admin-container{max-width:900px;margin:0 auto;padding:2rem 1rem}.admin-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.admin-header h1{color:var(--primary);margin:0;font-size:2rem}.logout-btn{background:var(--muted);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:500;transition:background .18s}.logout-btn:hover{background:var(--text)}.admin-message{border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-weight:600}.admin-message.success{color:#2a4a1a;background:#c8d7c1}.admin-message.error{color:#8b2e2e;background:#f5d5d5}.projects-list{gap:1rem;margin-bottom:2rem;display:grid}.project-edit{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:border-color .18s;overflow:hidden}.project-edit.active{border-color:var(--primary)}.project-header{background:color-mix(in srgb, var(--bg-soft) 40%, transparent);cursor:pointer;justify-content:space-between;align-items:center;padding:1.2rem;display:flex}.project-header h3{color:var(--text);margin:0;font-size:1.1rem}.toggle-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;transition:transform .18s;display:flex}.toggle-btn:hover{transform:scale(1.08)}.project-form{border-top:1px solid var(--border);background:#ffffff80;gap:1rem;padding:1.5rem;display:grid}.form-group{gap:.5rem;display:grid}.form-group label{color:var(--text);font-size:.9rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--border);border-radius:8px;padding:.75rem;font-family:inherit;font-size:.95rem}.form-group textarea{resize:vertical;min-height:80px}.save-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:700;transition:transform .18s}.save-btn:hover:not(:disabled){transform:translateY(-2px)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.builder-container{max-width:1600px;margin:0 auto;padding:2rem 1rem}.builder-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.builder-header h1{color:var(--primary);margin:0;font-size:2rem}.builder-controls{flex-wrap:wrap;gap:.8rem;display:flex}.btn-primary,.btn-success,.btn-secondary,.btn-danger{cursor:pointer;border:none;border-radius:8px;padding:.7rem 1.2rem;font-weight:600;transition:transform .18s,opacity .18s}.btn-primary{background:var(--primary);color:#fff}.btn-success{color:#2a4a1a;background:#c8d7c1}.btn-secondary{background:var(--muted);color:#fff}.btn-danger{color:#8b2e2e;background:#f5d5d5;width:100%}.btn-primary:hover,.btn-success:hover,.btn-secondary:hover{transform:translateY(-2px)}.btn-small{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-right:.3rem;padding:.4rem .6rem;font-size:.9rem;transition:transform .12s}.btn-small:hover{transform:scale(1.1)}.btn-small.danger{background:#c41e3a}.message{border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-weight:600}.message.success{color:#2a4a1a;background:#c8d7c1}.message.error{color:#8b2e2e;background:#f5d5d5}.builder-main{grid-template-columns:1fr 300px;gap:2rem;display:grid}.builder-canvas{background:var(--surface);border:1px solid var(--border);border-radius:16px;min-height:600px;padding:2rem;overflow-x:auto}.canvas-columns{margin-bottom:1rem}.canvas-column{min-width:0}.col-toolbar{background:color-mix(in srgb, var(--bg-soft,#f0e8df) 60%, white 40%);border:1px solid var(--border,#dfd2c5);border-bottom:none;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;padding:.35rem .6rem;display:flex}.col-label{color:var(--muted,#a09080);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.col-toolbar-actions{gap:.3rem;display:flex}.column-content{border:2px dashed #dfd2c5;border-radius:0 0 12px 12px;padding:.75rem;position:relative}.col-empty{color:var(--muted,#a09080);text-align:center;margin:0;padding:2rem 1rem;font-size:.82rem}.canvas-item{word-break:break-word;cursor:pointer;border:1px solid #0000;border-radius:8px;margin-bottom:.4rem;padding:.4rem .5rem;transition:box-shadow .12s,background .12s;position:relative}.canvas-item:hover{background:#a984670d;border-color:#dfd2c5}.canvas-item.selected{border-color:var(--primary,#a98467);background:#a984671f}.item-controls{gap:.25rem;margin-bottom:.3rem;display:flex}.btn-micro{background:var(--bg-soft,#f0e8df);border:1px solid var(--border,#dfd2c5);cursor:pointer;color:var(--text,#3f3a34);border-radius:4px;padding:.15rem .45rem;font-size:.7rem;line-height:1.4}.btn-micro:hover{background:#e8ddd5}.btn-micro:disabled{opacity:.3;cursor:not-allowed}.btn-micro.danger{color:#8b2e2e;background:#f5d5d5;border-color:#e5b5b5}.btn-micro.danger:hover{background:#f0c0c0}.panel-divider{border:none;border-top:1px solid var(--border,#dfd2c5);margin:1rem 0}.panel-empty{color:var(--muted,#a09080);padding:1rem 0}.panel-sub{color:var(--muted,#a09080);margin:.5rem 0 .8rem;font-size:.9rem;font-weight:600}.hint{color:var(--muted,#a09080);margin-top:.25rem;font-size:.8rem;display:block}.image-picker-search{width:100%}.image-preview-card{gap:.6rem;display:grid}.image-preview{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;width:100%}.image-upload{border:2px dashed var(--border);background:color-mix(in srgb, var(--bg-soft) 75%, white 25%);text-align:center;border-radius:14px;gap:.8rem;padding:1rem;transition:border-color .12s,background .12s,transform .12s;display:grid}.image-upload p{margin:0}.image-upload.dragover{border-color:var(--primary);background:color-mix(in srgb, var(--accent) 45%, white 55%);transform:translateY(-1px)}.btn-upload{justify-self:center}.image-picker-list{gap:.6rem;max-height:360px;display:grid;overflow-y:auto}.image-picker-item{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:12px;grid-template-columns:72px 1fr;align-items:center;gap:.75rem;width:100%;padding:.55rem;transition:border-color .12s,transform .12s,background .12s;display:grid}.image-picker-item:hover{border-color:var(--primary);transform:translateY(-1px)}.image-picker-item.active{border-color:var(--primary);background:#a984671a}.image-picker-thumb{object-fit:cover;border-radius:10px;width:72px;height:72px;display:block}.image-picker-name{word-break:break-word;color:var(--text);font-size:.92rem}.builder-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;max-height:900px;padding:1.5rem;position:sticky;top:100px;overflow-y:auto}.builder-panel h2{color:var(--text);margin-top:0;margin-bottom:1rem;font-size:1.2rem}.builder-panel .form-group{margin-bottom:1.2rem}.builder-panel input[type=range]{cursor:pointer;width:100%}.color-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.color-btn{aspect-ratio:1;cursor:pointer;border:1px solid #ddd;border-radius:8px;width:100%;transition:transform .12s}.color-btn:hover{transform:scale(1.08)}.loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-size:1.2rem;display:flex}@media (max-width:900px){.builder-main{grid-template-columns:1fr}.builder-panel{position:static}.builder-controls{justify-content:flex-start}.grid{grid-template-columns:1fr}.portfolio-grid.art-grid{grid-template-columns:1fr;grid-auto-rows:260px}.tile,.tile--hero,.tile--wide,.tile--tall{clip-path:none;border-radius:18px;grid-area:span 1/span 1}.floating-strip{grid-template-columns:1fr;width:100%;margin-top:1rem}.floating-card img{height:180px}.header-inner{flex-direction:column;align-items:flex-start;gap:.7rem}}@media (max-width:768px){.content{padding:1.4rem 0 2rem}main.container.content:has(.portfolioCompactPage){width:min(1100px,92vw)}.portfolioCompactPage{gap:.3rem}.heroPortfolioCompact{align-items:start;gap:.3rem;display:grid}.hero{gap:.55rem;margin-bottom:.9rem}.kicker{letter-spacing:.1em;font-size:.7rem}.hero h1{font-size:clamp(1.55rem,8.2vw,2rem);line-height:1.08}}
