/* The editing UI is separate from the visitor's portfolio styling. */
.visual-welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;border:1px solid #3b443e;background:#151b18;border-radius:12px;padding:clamp(26px,4vw,55px);margin-top:35px}.visual-kicker{font-size:10px;letter-spacing:.15em;color:#b8cba5}.visual-welcome h2{font:clamp(36px,4vw,55px)/1.1 'DM Sans',sans-serif;letter-spacing:-.045em;margin:20px 0}.visual-welcome p{font-size:15px;line-height:1.8;color:#aab5ad;max-width:480px}.visual-welcome .visual-small{font-size:11px;margin-top:20px}.visual-primary{border:1px solid #d6e0c7!important;background:#d6e0c7!important;color:#172116!important;border-radius:5px;padding:12px 18px;font:13px 'DM Sans',Arial,sans-serif;cursor:pointer}.visual-welcome .visual-primary{display:flex;justify-content:space-between;gap:45px;margin-top:30px;padding:17px 22px}.visual-how{display:grid;gap:26px;align-content:center}.visual-how>div{display:flex;gap:22px;align-items:start}.visual-how b{color:#819177;font-size:11px;padding-top:5px}.visual-how span{font-size:13px;color:#9faea4;line-height:1.6}.visual-how strong{display:block;font-weight:400;color:#e9eee6;font-size:16px;margin-bottom:5px}.visual-home-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.visual-home-shortcuts button{padding:25px;border:1px solid #363e38;border-radius:8px;text-align:left;font-size:12px;color:#9da99e;background:#131714}.visual-home-shortcuts button>span{display:block;font-size:24px;color:#bdcfaa;margin-bottom:14px}.visual-home-shortcuts strong{display:block;font-weight:400;color:#ecefe8;font-size:16px;margin-bottom:7px}.visual-home-shortcuts button:hover{background:#20291f}.visual-launcher{position:fixed;z-index:80;bottom:22px;right:22px;background:#d6e0c7;color:#172116;border:1px solid #a5ba94;border-radius:30px;padding:13px 20px;font:12px 'DM Sans',Arial,sans-serif;box-shadow:0 8px 30px #0005}.visual-toolbar{position:fixed;top:0;left:0;right:0;z-index:300;background:#18201b;color:#edf1e8;font:12px/1.4 'DM Sans',Arial,sans-serif;box-shadow:0 3px 16px #0006;border-bottom:1px solid #5b6d56}.visual-toolbar-main{display:flex;align-items:center;gap:8px;padding:12px 18px}.visual-toolbar button,.visual-toolbar select,.visual-text-tools button{font:12px/1.4 'DM Sans',Arial,sans-serif;border:1px solid #52604e;border-radius:5px;background:#202a23;color:#edf1e8;padding:9px 11px;white-space:nowrap;cursor:pointer}.visual-toolbar button:hover,.visual-text-tools button:hover{background:#35432f}.visual-toolbar button:disabled{opacity:.4;cursor:default}.visual-toolbar .visual-mode{border:0;background:transparent;color:#aab9a1;padding-left:0}.visual-toolbar .visual-mode.active{color:#daecc8}.visual-page-label{display:flex;flex-direction:row;gap:8px;align-items:center;color:#a9b5a1;letter-spacing:0;font-size:11px}.visual-page-label select{width:140px;text-overflow:ellipsis}.visual-toolbar select{max-width:160px;min-width:55px;padding:8px}.visual-toolbar select option{background:#202a23}.visual-toolbar-group{display:flex;gap:5px}.visual-toolbar-group button{padding:8px;font-size:16px;min-width:34px}.visual-toolbar-spacer{flex:1}.visual-toolbar-status{display:flex;gap:24px;padding:0 18px 10px;color:#c1d0b6;font-size:10px;min-height:24px}.visual-toolbar-status #studio-status{padding:0;border:0;min-height:0;font:inherit}.visual-toolbar-status .studio-error{color:#ffc3b3}#visual-stop{font-size:20px;padding:3px 12px;background:transparent;border:0}.visual-toolbar #visual-publish{font-size:12px;padding:9px 13px}body[data-visual-editing=true]{padding-top:var(--visual-toolbar-height,100px)}body[data-visual-editing=true] #app.reveal{animation:none}body[data-visual-editing=true] header,body[data-visual-editing=true] footer{position:relative}body[data-visual-editing=true] header .brand{min-width:160px}.visual-editable{cursor:text!important;outline:1px dashed transparent!important;outline-offset:6px;transition:outline-color .15s}.visual-editable:hover{outline-color:#a4d17d!important;background:#a4d17d0c}.visual-editable:focus-visible{outline:1px dashed #b6dc96!important}.visual-editing{outline:2px solid #c6e6a8!important;outline-offset:7px;background:#7ba25717!important;min-width:20px;min-height:1em;white-space:pre-wrap!important;caret-color:#deefc9}.visual-text-tools{position:fixed;z-index:700;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:95vw;padding:9px 12px;border:1px solid #8a9f7a;border-radius:8px;background:#1c291f;box-shadow:0 5px 30px #0009;color:#dbe8cf;font:11px 'DM Sans',Arial,sans-serif}.visual-text-tools span{padding:0 6px;white-space:nowrap}.visual-text-tools button{padding:7px 10px}.visual-section{position:relative}.visual-section-tools{position:absolute;top:12px;right:18px;z-index:12;display:flex;gap:3px;padding:4px;border:1px solid #7e996b;background:#182419ec;border-radius:5px;opacity:0;transition:opacity .15s}.visual-section:hover>.visual-section-tools,.visual-section:focus-within>.visual-section-tools{opacity:1}.visual-button{font:11px/1.4 'DM Sans',Arial,sans-serif!important;color:#d6e8c6!important;background:#1a281e!important;border:1px solid #749161!important;padding:8px 12px!important;border-radius:5px!important;cursor:pointer!important;letter-spacing:0!important}.visual-section-tools .visual-button{padding:5px 9px!important;border:0!important;background:transparent!important}.visual-button:hover{background:#35462e!important}.visual-insert-zone{position:relative;height:34px;display:flex;justify-content:center;align-items:center;background:#0f1711;border-top:1px dashed #3c5037;border-bottom:1px dashed #3c5037;z-index:15}.visual-insert-zone:before{content:'';height:1px;width:100%;position:absolute;background:#45653b;opacity:0}.visual-insert-zone:hover:before{opacity:1}.visual-insert-zone>.visual-button{font-size:10px!important;padding:5px 14px!important;z-index:1;border-radius:25px!important;background:#22341f!important}.visual-card-tools{display:flex;gap:8px;margin-top:12px;justify-content:space-between}.visual-card-tools .visual-button{flex:1;text-align:center}.visual-project-plus{aspect-ratio:var(--cms-cover-ratio,3/2);width:100%;align-self:start;border:1px dashed #8cae76!important;background:#172218!important;border-radius:0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px!important;min-height:180px}.visual-project-plus:before{content:'＋';font:50px/1 'DM Sans',Arial,sans-serif;margin-bottom:20px;color:#a6c88c}.visual-image{cursor:pointer;outline:1px dashed transparent;outline-offset:-4px}.visual-image:hover{outline-color:#cae7ac;filter:brightness(.95)}.visual-empty-image{display:block;margin:20px 0;min-height:85px;min-width:200px;border-style:dashed!important}.visual-form-input{pointer-events:none!important;opacity:.6}.visual-hidden-blocks{display:block;margin:25px auto}.visual-panel.studio{padding:5px;border:0;background:transparent;overflow:visible;max-width:650px;margin:auto}.visual-panel>.studio-inspector{border:0;padding-top:0}.visual-panel .studio-field{margin:18px 0}.visual-panel #visual-panel-done{margin:24px 0 5px;min-width:140px}.visual-panel .studio-photo-grid{grid-template-columns:repeat(3,1fr)}.visual-modal-photo{width:100%;max-height:350px;object-fit:contain;display:block;margin-bottom:20px}.visual-modal-actions{display:flex;gap:10px;flex-wrap:wrap}.visual-section-choices,.visual-settings-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.visual-section-choices button,.visual-settings-choices button{display:flex;flex-direction:column;align-items:start;justify-content:start;text-align:left;min-height:125px;padding:18px;border:1px solid #43533d;background:#172117}.visual-section-choices button b{font-size:25px;color:#bace9e;font-weight:400;margin-bottom:8px}.visual-section-choices button strong,.visual-settings-choices button strong{font-size:14px;font-weight:400;color:#e5ecdf}.visual-section-choices button span,.visual-settings-choices button span{font-size:11px;color:#9fae96;margin-top:8px}.visual-settings-choices{grid-template-columns:repeat(2,1fr)}.visual-settings-choices button{min-height:110px}.visual-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}#visual-new-project{max-width:100%}#visual-new-project .studio-upload{max-width:none;margin:5px 0}#visual-new-project details{padding:10px 0;color:#b6c7a9}#visual-new-project summary{cursor:pointer;font-size:12px;margin-bottom:10px}
@media(max-width:1100px){.visual-toolbar-main{gap:6px;flex-wrap:wrap;padding:9px 12px}.visual-toolbar button,.visual-toolbar select{font-size:11px;padding:7px 9px}.visual-toolbar .visual-optional{display:none}.visual-toolbar-status{padding:0 12px 8px;gap:15px}.visual-toolbar-group button{padding:5px 8px}.visual-welcome{gap:30px}}
@media(max-width:760px){.visual-welcome{grid-template-columns:1fr;padding:28px;gap:35px}.visual-welcome h2{font-size:40px}.visual-how{gap:20px}.visual-home-shortcuts{grid-template-columns:1fr;gap:12px}.visual-home-shortcuts button{padding:20px}.visual-home-shortcuts button>span{display:none}.visual-toolbar-main{padding:8px;gap:5px}.visual-toolbar .visual-mode{font-size:10px}.visual-page-label>span{display:none}.visual-page-label select{width:110px}.visual-toolbar #visual-language{max-width:55px}.visual-toolbar-spacer{display:none}.visual-toolbar .visual-add-work{margin-left:auto}.visual-toolbar-status{display:block;font-size:9px;padding:0 8px 7px}.visual-toolbar-status #studio-dirty{margin-right:12px}.visual-toolbar #visual-save,.visual-toolbar #visual-publish{flex:1}.visual-toolbar #visual-stop{font-size:18px}.visual-section-tools{opacity:1;top:5px;right:8px}.visual-section-choices{grid-template-columns:repeat(2,1fr);gap:8px}.visual-section-choices button{padding:13px;min-height:125px}.visual-text-tools{padding:8px;bottom:12px;gap:6px}.visual-text-tools span{font-size:10px;max-width:130px;overflow:hidden;text-overflow:ellipsis}.visual-text-tools button{font-size:11px;padding:7px}.visual-card-tools .visual-button{font-size:10px!important;padding:7px!important}.visual-panel .studio-photo-grid{grid-template-columns:repeat(2,1fr)}.visual-form-row{grid-template-columns:1fr}.visual-launcher{bottom:14px;right:14px;padding:11px 16px}.visual-settings-choices{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.visual-editable,.visual-section-tools{transition:none}}

.visual-editable:empty{display:block;min-width:40px;min-height:1.5em}.visual-editable:empty:before{content:attr(data-visual-placeholder);font:14px/1.5 'DM Sans',Arial,sans-serif;color:#9fb38f;opacity:.8}.project-no-cover{width:100%;height:100%;background:linear-gradient(135deg,#182019,#2a3428)}

.admin-section:has(.visual-welcome){padding:38px 5% 70px;max-width:1550px}.admin-section:has(.visual-welcome) .admin-top .big-title{font-size:54px;margin:18px 0 26px}.admin-section:has(.visual-welcome)>.filters{font-size:12px;margin-bottom:15px}.visual-welcome{margin-top:25px;padding:35px}.visual-welcome h2{font-size:44px}
@media(max-width:760px){.admin-section:has(.visual-welcome){padding:30px 6% 60px}.admin-section:has(.visual-welcome) .admin-top .big-title{font-size:45px;margin:12px 0 8px}.visual-welcome{padding:25px}.visual-welcome h2{font-size:35px}}

.brand>span[data-visual-text-wrapper]{display:inline;font-size:inherit;letter-spacing:inherit;margin-top:0}

/* Hover captions must stay readable while editing, including when focus leaves the card. */
body[data-visual-editing] .project .project-copy p.visual-editable{opacity:1!important;visibility:visible!important;max-height:none!important;overflow:visible;margin:14px 0 20px!important}

#visual-photo-caption{margin-top:24px;padding-top:20px;border-top:1px solid #43533d}
