.editor-launch{position:fixed;right:18px;bottom:18px;z-index:10000}
.editor-launch button,.editor-panel button,.file-action{font:700 13px/1.1 Arial,sans-serif;letter-spacing:.02em;border:1px solid #272727;background:#f2ff00;color:#111;padding:12px 16px;cursor:pointer}
.editor-panel{display:none;position:fixed;z-index:10001;right:16px;top:16px;width:min(340px,calc(100vw - 32px));background:#fff;color:#111;border:1px solid #111;padding:18px;box-shadow:0 14px 50px #0005;font:14px/1.45 Arial,sans-serif}
.editor-panel.open{display:block}
.backup-fallback{border-top:1px solid #bbb;padding-top:12px;margin-top:10px}
.backup-fallback label{font-weight:700}
.backup-fallback p{margin:8px 0;line-height:1.5}
.backup-fallback textarea{display:block;width:100%;resize:vertical;background:#fff;color:#111;border:1px solid #777;padding:8px;font:14px/1.4 monospace;margin:10px 0}
.backup-fallback button{display:block;width:100%;margin-top:8px;background:#eee}
.backup-fallback[hidden]{display:none}
.editor-panel{max-height:calc(100vh - 32px);overflow:auto}
.font-controls{border:1px solid #bbb;padding:12px;margin:12px 0 16px;min-width:0}
.font-controls legend{font-weight:700;padding:0 5px}
.font-controls p{margin:0 0 10px;overflow-wrap:anywhere}
.font-controls input[type=range]{display:block;width:100%;margin:10px 0 14px;accent-color:#111}
.font-size-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.font-size-row input{background:#fff;border:1px solid #777;width:70px;padding:7px;font-size:16px}
.font-size-row button{padding:9px 7px;background:#eee;white-space:nowrap}
.font-controls:disabled{opacity:.6}
.line-spacing-controls{border-top:1px solid #ccc;margin-top:14px;padding-top:12px}
.line-spacing-controls label{display:flex;justify-content:space-between}
.line-spacing-controls button{background:#eee;padding:9px;font-size:12px}
.editable-text[style*="--text-line-height"] *{line-height:var(--text-line-height)!important}

/* Pasted heading text must follow the font-size control, including nested spans. */
.editable-text:is(h1,h2,h3,h4,h5,h6) *{font-size:inherit!important;letter-spacing:inherit!important;line-height:inherit!important}
.editable-text:is(h1,h2,h3,h4,h5,h6) :is(p,div){margin:0!important;padding:0!important}
.systems-head>h2{min-width:0;overflow-wrap:break-word}

/* Keep the introduction together instead of distributing it across a fixed height. */
.hero{height:auto;min-height:0;justify-content:flex-start;gap:28px;padding-top:145px;padding-bottom:64px}
.hero h1{line-height:.95;overflow-wrap:break-word}
.hero h1 br+br{display:none}
.hero h1 :is(p,div):has(>br:only-child){display:none}
.hero-bottom{gap:24px;margin-top:4px}
.hero-bottom p{max-width:64ch}
.hero .vertical-note{top:50%;transform:translateY(-50%);max-height:calc(100% - 140px);font-size:8px}
@media(max-width:850px){.hero{gap:24px;padding-top:130px;padding-bottom:48px}.hero .eyebrow{font-size:10px;line-height:1.6}.hero .eyebrow span{flex-shrink:0}.hero .vertical-note{display:none}}
.editing .editable-text.font-selected{outline:2px solid #b8c400;outline-offset:3px}
.editor-title{display:flex;align-items:center;justify-content:space-between;font-size:17px}
.editor-title button{font-size:22px;border:0;background:none;padding:2px 6px}
.editor-actions{display:grid;gap:8px}
.editor-actions button,.file-action{width:100%;box-sizing:border-box;text-align:center;background:#eee}
.editor-actions .primary{background:#f2ff00}
.editor-actions .danger{background:#fff;border-color:#c22;color:#a00}
.file-action input{display:none}
#saveStatus{display:block;min-height:18px;margin-top:10px}
.block-controls{display:none}
.editing .editable-text{outline:1px dashed #1118;outline-offset:3px;cursor:text}
.editing .systems .editable-text,.editing .process .editable-text,.editing footer .editable-text{outline-color:#fff9}
.editing .editable-text:focus{outline:3px solid #f2ff00;background:#fff;color:#111}
.editing .editable-bg,.editing .editable-image{cursor:pointer;outline:3px solid #f2ff00;outline-offset:-3px}
.editing .editable-bg:after{content:'Replace picture';position:absolute;inset:auto 12px 12px;background:#f2ff00;color:#111;padding:9px;text-align:center;font:700 13px Arial}
.editing .editable-bg{position:relative}
.editing .editable-block{position:relative}
.editing .block-controls{display:flex;position:absolute;right:10px;top:10px;z-index:200;gap:5px}
.block-controls button{border:0;background:#f2ff00;color:#111;width:38px;height:38px;font-size:20px;cursor:pointer}
.editing .site-header{top:0}
.editing .editor-launch{display:block}
.editing .editor-launch button{padding:9px 12px;font-size:12px}
@media(max-width:700px){.editor-panel{top:8px;right:8px;width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto}.editing .site-header{top:0}}

/* Stable spacing even when editor controls add another footer div. */
footer > .footer-industries{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;min-width:0}
footer > .footer-industries > .editable-text{display:block;white-space:nowrap}
@media(max-width:520px){footer > .footer-industries{display:flex}}
