/* Editor and click-to-enter logo screen. */
#intro{position:fixed;inset:0;height:100dvh;min-height:100vh;background:var(--intro-background,#111518);color:#f6f2e9;z-index:1000;pointer-events:auto;opacity:1;transition:opacity .38s ease;display:flex;align-items:center;justify-content:center}
#intro.fading{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){#intro{transition:none}}
#intro #skip-intro{position:static;right:auto;bottom:auto;border:0;background:none;color:inherit;display:flex;flex-direction:column;align-items:center;padding:36px;max-width:95%;cursor:pointer;pointer-events:auto;border-radius:16px}
#intro #skip-intro img{width:clamp(165px,18vw,230px);margin:0 auto 25px}
#intro #skip-intro strong{font-size:clamp(36px,5vw,54px);letter-spacing:.09em;line-height:1.1}
#intro #skip-intro>span{font-size:10px;letter-spacing:.24em;margin-top:14px}
#intro #skip-intro small{font-family:Manrope,'Segoe UI',sans-serif;display:block;font-size:13px;margin-top:38px;padding:13px 23px;border:1px solid #ffffff60;border-radius:2px;letter-spacing:.03em}
#intro #skip-intro:hover small{background:#ffffff12;border-color:#fff}
#intro #skip-intro:focus-visible{outline:3px solid #ef623e;outline-offset:8px}
.editable-text{white-space:pre-line}
.contact-envelope{width:100%;max-width:265px;display:block;margin:0 auto 25px;color:var(--accent)}
.contact-envelope .letter-lines{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.contact-envelope .letter-logo-backplate{fill:var(--surface)}
.about-art{isolation:isolate}
.about-art:before,.about-art:after{z-index:0}
.about-art img{z-index:1}
.inserted-content{position:relative;z-index:3;display:block;grid-column:1/-1;flex:0 0 100%;width:100%;max-width:100%;margin:22px 0;min-width:0;align-self:start}
.inserted-content img{width:100%;height:auto;object-fit:contain}
.inserted-content figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:10px;white-space:pre-line}
.inserted-content.width-medium{width:min(100%,520px);flex-basis:min(100%,520px)}
.inserted-content.width-small{width:min(100%,260px);flex-basis:min(100%,260px)}
.inserted-content.align-center{margin-left:auto;margin-right:auto;justify-self:center}
.inserted-content.align-right{margin-left:auto;justify-self:end}
.inserted-content.align-left{margin-right:auto;justify-self:start}
.inserted-link{display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid currentColor;padding:12px 0;min-height:44px;overflow-wrap:anywhere;max-width:100%;font-size:14px}
.inserted-link:after{content:'↗';flex-shrink:0}
.has-insertions{flex-wrap:wrap}
.service-strip.has-insertions{display:grid}
.insertion-edit-button{display:block;margin-top:10px;background:#f8fafc;border:1px solid #c9d6df;color:#345464;border-radius:4px;padding:6px 12px;font-size:11px}
.picking-insertion #site-main [data-section-id]{outline:2px dashed #ef623e;outline-offset:-2px;cursor:crosshair}
.picking-insertion #site-main [data-edit]{cursor:crosshair}
.picking-insertion #site-main [data-edit]:hover{outline:3px solid #ef623e;background:#ef623e20}
.picking-insertion #site-main [data-insertion-anchor]:hover{outline:3px solid #ef623e;cursor:crosshair}
.admin-field input[type=checkbox]{width:20px;min-height:20px}
#insertion-editor{margin-top:28px}
.custom-section{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.custom-section.has-image{grid-template-columns:1fr 1fr}
.custom-section .custom-body{white-space:pre-line;color:var(--muted);font-size:14px;line-height:1.9;margin:22px 0}
.custom-section>img{width:100%;height:340px;object-fit:cover}
.custom-section .primary-link{display:inline-flex;margin-top:10px}
[data-section-id][hidden],#inline-editor-bar[hidden]{display:none!important}
#admin-dialog{width:min(1100px,calc(100% - 32px));max-height:92vh}
.builder-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.builder-fields .admin-field{min-width:0}
.builder-fields textarea{width:100%;resize:vertical;min-height:90px;border:1px solid #c4d0d9;border-radius:4px;padding:10px;font-size:14px;background:#fff;color:#26323b}
.builder-hint{font-size:12px;line-height:1.7;color:#667c89;margin:15px 0}
.sortable-list{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.sortable-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid #d5dfe5;padding:14px;background:#fff;border-radius:5px}
.sortable-row>span{flex:1;min-width:140px;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.sortable-row small{display:block;font-size:10px;color:#8193a0;font-weight:400;margin-top:4px}
.sortable-row button,.move-buttons button,.record-move button{border:1px solid #cdd7df;background:#f9fbfc;color:#344e5d;border-radius:4px;padding:7px 10px;min-height:35px;font-size:11px;white-space:nowrap}
.drag-handle{cursor:grab;touch-action:none;font-size:18px!important}
.drag-handle:active{cursor:grabbing}
.move-buttons{display:inline-flex;gap:5px}
.move-buttons button:disabled{opacity:.35;cursor:default}
.drop-active{outline:3px solid #e96540!important;outline-offset:1px;background:#fff4ed!important}
.dragging{opacity:.55}
.dropzone{border:2px dashed #a4bac8;padding:14px;background:#f2f7f9;border-radius:5px;display:flex;flex-direction:column;gap:10px;cursor:pointer}
.dropzone input[type=file]{font-size:12px;max-width:100%;border:0;background:transparent;padding:4px}
.dropzone-hint{font-size:11px;font-weight:400;color:#667d8b}
.brand-preview{height:80px;width:90px;object-fit:contain;background:#e6ebee;border-radius:4px}
.record-move{grid-column:1/-1;display:flex;align-items:center;gap:12px;justify-content:space-between}
.record-move .drag-handle{font-size:12px!important}
.service-edit-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;border:1px solid #d6e0e7;border-radius:5px;background:#f1f5f7}
.service-edit-row>label{grid-column:1/-1}
.admin-save.secondary{background:#e7eef2;color:#345464;margin-left:8px}
.admin-bottom{position:sticky;bottom:0;background:#f8f9fa;z-index:4;padding:16px 22px;gap:15px;box-shadow:0 -10px 20px #f8f9fa}
.admin-bottom>div{max-width:700px}
.admin-bottom>p{max-width:300px}
.admin-bottom #publish-zip{background:#28627a;color:#fff;border-color:#28627a;font-weight:700}
.import-label{border:1px solid #c7cfd7;background:white;border-radius:4px;padding:9px 13px;font-size:12px;cursor:pointer}
.import-label input{display:block;font-size:10px;margin-top:5px;max-width:150px}
#custom-editor{margin-top:25px}
#inline-editor-bar{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:100;width:min(1040px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#f7f9fb;color:#304651;border:1px solid #b9cbd6;border-radius:8px;padding:13px 17px;box-shadow:0 8px 40px #0003;font-size:11px}
#inline-editor-bar button,#inline-editor-bar select{border:1px solid #bfd0db;padding:8px 12px;background:#fff;border-radius:4px;color:#304651;font-size:12px;min-height:35px}
#inline-editor-bar>p{margin:0;font-size:11px;width:100%;color:#436875}
#inline-editor-bar>p{min-height:18px;line-height:18px}
.inline-page-label{display:flex;align-items:center;gap:8px}
.inline-editing{padding-bottom:100px}
.inline-editing [data-edit]{outline:1px dashed #e9674280;outline-offset:5px;cursor:text;min-width:8px;min-height:1em;text-transform:none}
.inline-editing [data-edit]:focus{outline:2px solid #ef623e;outline-offset:5px}
.editing-section{position:relative;outline:1px dashed #e9674260;outline-offset:-1px}
.section-drag-handle{position:absolute;top:7px;right:9px;z-index:8;background:#f8fafce8;border:1px solid #c9d6df;color:#345464;padding:6px 12px;border-radius:4px;font-size:10px;cursor:grab}
@media(max-width:700px){.builder-fields{grid-template-columns:1fr}.custom-section.has-image{grid-template-columns:1fr}.custom-section>img{height:270px}.admin-bottom{position:static;box-shadow:none}.admin-bottom>div{max-width:none}.sortable-row{padding:12px;gap:7px}.sortable-row>span{min-width:90px}.admin-save.secondary{margin-left:0}.admin-field input:not([type=color]),.builder-fields textarea{font-size:16px}#inline-editor-bar>span{flex:1 1 100%;font-size:10px}.inline-page-label{flex:1}.contact-envelope{max-width:220px}}
