/* SovAI-Q 2026: scoped enterprise architecture, contact fix and editor snapping.
   Existing platform opener and gateway demos are deliberately not restyled. */
:root{--nav-size-desktop:13px;--nav-size-tablet:14px;--nav-size-mobile:15px}
.main-nav>a{font-size:var(--nav-size-desktop)!important;line-height:1.3!important}
@media(max-width:1023px){.main-nav>a{font-size:var(--nav-size-tablet)!important}}
@media(max-width:599px){.main-nav>a{font-size:var(--nav-size-mobile)!important}}

/* Separate contact page in slide mode: same visual rhythm and dark surface as the
   five content pages. Do not shorten the form or hide content on small screens. */
body.sq-design-v3 .site-section.section-contact,
body.sq-design-v3.master-unified .site-section.section-contact{
  background:#051831!important;
  color:#f3f8ff!important;
  min-height:calc(100svh - 80px)!important;
  padding:clamp(150px,18vh,180px) max(4vw,28px) clamp(50px,7vh,90px)!important;
  box-sizing:border-box!important;
}
body.sq-design-v3 .site-section.section-contact>.section-inner{
  max-width:1435px!important;width:100%!important;min-height:0;margin:0 auto!important;
  transform:none!important;
}
body.sq-design-v3 .section-contact .contact-layout{
  display:grid!important;grid-template-columns:minmax(0,.94fr) minmax(350px,1fr)!important;
  gap:clamp(38px,7vw,110px)!important;align-items:start!important;
}
body.sq-design-v3 .section-contact .contact-heading .section-intro{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  margin:0!important;gap:0!important;max-width:680px!important;
}
body.sq-design-v3 .section-contact .contact-heading .section-intro>.eyebrow{
  display:inline-flex!important;align-items:center!important;width:max-content!important;
  padding:11px 15px!important;margin:0 0 30px!important;
  background:#061127!important;border:0!important;border-left:4px solid #56cde7!important;
  color:#f0f7ff!important;font:750 14px/1.2 ui-monospace,Consolas,monospace!important;
  letter-spacing:.055em!important;border-radius:0!important;
}
body.sq-design-v3 .section-contact .contact-heading .section-intro>h2{
  max-width:760px!important;font:var(--sq-heading-weight,720) var(--sq-heading-size,54px)/1.14 var(--sq-heading-font,system-ui)!important;
  letter-spacing:-.045em!important;color:#f4f8ff!important;margin:0 0 18px!important;
}
body.sq-design-v3 .section-contact .contact-heading .section-intro>.section-sub{
  font-size:var(--sq-body-size,18px)!important;line-height:1.6!important;color:#c3d5e6!important;
  margin:0!important;max-width:650px!important;
}
body.sq-design-v3 .section-contact .contact-detail{
  margin:clamp(24px,4vh,54px) 0 0!important;max-width:540px!important;
  font-size:clamp(14px,1.12vw,17px)!important;color:#a9c5dc!important;
}
body.sq-design-v3 .section-contact .contact-form{
  margin:0!important;padding:clamp(24px,3vw,38px)!important;
  border:1px solid #286b96!important;border-radius:8px!important;
  background:linear-gradient(155deg,#09233d,#07192e)!important;
  box-shadow:0 20px 70px rgba(0,0,0,.13)!important;
  max-width:760px;width:100%;
}
body.sq-page-mode #hauptinhalt>.sq-page[data-page-key="kontakt"]{
  background:#051831!important;min-height:calc(100svh - 80px)!important;
}
body.sq-page-mode #hauptinhalt>.sq-page[data-page-key="kontakt"] .section-contact{height:auto!important}
@media(max-width:950px){
  body.sq-design-v3 .section-contact .contact-layout{grid-template-columns:1fr!important;gap:34px!important}
  body.sq-design-v3 .section-contact .contact-form{max-width:750px!important}
}
@media(max-width:600px){
  body.sq-design-v3 .site-section.section-contact,body.sq-design-v3.master-unified .site-section.section-contact{
    padding:130px 20px 48px!important;min-height:calc(100svh - 72px)!important}
  body.sq-design-v3 .section-contact .contact-heading .section-intro>.eyebrow{font-size:11px!important;margin-bottom:24px!important}
  body.sq-design-v3 .section-contact .contact-heading .section-intro>h2{font-size:clamp(34px,8vw,43px)!important}
  body.sq-design-v3 .section-contact .contact-form{padding:20px!important}
}

/* Diagram accordions. All are naturally collapsed (no `open` HTML attribute). */
body.sq-design-v3 .section-integrations .sq-architecture{
 margin:clamp(35px,5vh,65px) 0 0;display:grid;gap:12px;
 color:#edf7ff;text-align:left;--arch-line:#246c97;
}
.sq-arch-group,.sq-arch-blueprint{background:linear-gradient(140deg,#092640,#071b32);border:1px solid #2d7099;border-radius:9px;overflow:hidden}
.sq-arch-group>summary,.sq-arch-blueprint>summary{
 cursor:pointer;display:flex;gap:18px;align-items:center;padding:21px 26px;
 min-height:85px;list-style:none;outline-offset:-4px;
}
.sq-arch-group>summary::-webkit-details-marker,.sq-arch-blueprint>summary::-webkit-details-marker{display:none}
.sq-arch-group>summary:hover,.sq-arch-blueprint>summary:hover{background:rgba(75,145,194,.09)}
.sq-arch-group>summary:focus-visible,.sq-arch-blueprint>summary:focus-visible{outline:2px solid #83dcf9}
.sq-arch-group>summary>span:nth-child(2){flex:1;min-width:0}
.sq-arch-group>summary strong,.sq-arch-blueprint>summary strong{display:block;color:#f4f9ff;font-size:clamp(16px,1.4vw,21px);font-weight:680;line-height:1.27}
.sq-arch-group>summary small{display:block;font-size:clamp(12px,1.08vw,15px);line-height:1.5;color:#afc8df;margin-top:4px}
.sq-arch-group-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;color:#75d8f4;border:1px solid rgba(72,175,216,.4);border-radius:8px;background:rgba(0,127,190,.08)}
.sq-arch-group-icon svg,.sq-arch-blueprint>summary>span svg{width:31px;height:31px;display:block}
.sq-arch-caret{flex:none;font-size:24px;color:#78d9f3;transition:transform .2s ease}
.sq-arch-group[open]>summary .sq-arch-caret,.sq-arch-blueprint[open]>summary .sq-arch-caret{transform:rotate(180deg)}
.sq-arch-group[open]>summary{border-bottom:1px solid rgba(85,161,199,.25)}
.sq-arch-group>summary~*{margin-left:24px;margin-right:24px}
.sq-arch-network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.sq-arch-network-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:163px;padding:22px;border:1px solid #286c97;border-radius:7px;background:#092039}
.sq-arch-network-card svg{width:32px;height:32px;color:#58d8e9}
.sq-arch-network-card strong{font-size:17px}
.sq-arch-network-card p,.sq-arch-blueprint-inner p{font-size:14px;color:#b7d0e4;line-height:1.55;margin:0}
.sq-arch-explainer,.sq-arch-warning{padding:15px 17px!important;margin-top:17px!important;margin-bottom:20px!important;border:1px dashed rgba(76,170,212,.43);border-radius:5px;font-size:13px!important;line-height:1.55!important;color:#c3d7e7!important}
.sq-arch-warning{border-color:#b3995b88;background:#3f300e19}
.sq-arch-internet-flow,.sq-arch-lane{display:flex;align-items:stretch;justify-content:space-between;gap:5px;margin:24px 0;min-width:0}
.sq-arch-node{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:116px;padding:15px 8px;background:linear-gradient(#0a3252,#072540);border:1px solid #357eaa;border-radius:7px}
.sq-arch-node span{font-size:12px;line-height:1.3;font-weight:600;color:#dbeaf5;overflow-wrap:anywhere}
.sq-arch-node svg{width:28px;height:28px;color:#7ed8f1;flex:none}
.sq-arch-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 20px;color:#61cde8;font-size:23px}
.sq-arch-blueprint{margin-top:13px;margin-bottom:13px;background:#071c33}
.sq-arch-blueprint>summary{min-height:68px;padding:15px 18px}
.sq-arch-blueprint>summary>span:first-child{color:#78d6ef;flex:0 0 32px}
.sq-arch-blueprint>summary>strong{flex:1;font-size:16px}
.sq-arch-blueprint-inner{padding:18px 20px 22px;border-top:1px solid #235576}
.sq-arch-controls{display:flex;align-items:center;gap:13px;padding:12px 15px;border:1px solid #2a6b87;border-radius:6px;background:#0b3147;font-size:12px;color:#a9edee;line-height:1.35}
.sq-arch-controls svg{flex:0 0 24px;width:24px;height:24px;color:#69d9df}
.sq-arch-note{display:block;margin-top:13px;color:#a9becf;font-size:11px}
@media(max-width:900px){.sq-arch-network-grid{grid-template-columns:1fr}.sq-arch-node span{font-size:11px}.sq-arch-lane{flex-wrap:wrap;gap:8px}.sq-arch-lane .sq-arch-node{flex:1 1 30%;min-height:95px}.sq-arch-lane .sq-arch-arrow{flex:0 0 15px}}
@media(max-width:600px){
 .sq-arch-group>summary{padding:14px 13px;gap:11px}.sq-arch-group-icon{height:42px;width:42px;flex-basis:42px}
 .sq-arch-group-icon svg{width:24px}.sq-arch-group>summary strong{font-size:16px}
 .sq-arch-group>summary small{font-size:11px}.sq-arch-group>summary~*{margin-left:12px;margin-right:12px}
 .sq-arch-internet-flow,.sq-arch-lane{display:grid;grid-template-columns:1fr;gap:5px}
 .sq-arch-node{min-height:74px;display:flex;flex-direction:row;justify-content:flex-start;gap:13px;text-align:left}
 .sq-arch-arrow{transform:rotate(90deg);min-height:13px;line-height:1;justify-self:center}
 .sq-arch-blueprint>summary{padding:15px 13px}.sq-arch-blueprint-inner{padding:14px}
}

/* Editor-only draggable handles; the public site never receives them. */
body.is-preview .sq-drag-section,body.is-preview .sq-drag-card{
 position:absolute;z-index:40;width:37px;height:31px;display:flex;align-items:center;justify-content:center;
 background:#0b6da1;color:#fff;border:1px solid #75ddf4;border-radius:4px;
 font:700 15px/1 system-ui;touch-action:none;user-select:none;cursor:grab;
 box-shadow:0 5px 15px #0008;
}
body.is-preview .sq-drag-section{top:10px;right:12px}
body.is-preview .sq-drag-card{top:5px;right:5px;width:29px;height:26px;font-size:13px;background:#1c6489}
body.is-preview .sq-drag-section:active,body.is-preview .sq-drag-card:active{cursor:grabbing;background:#1fa6b6}
body.is-preview .sq-editor-dragging{outline:2px dashed #5ce5ee!important;outline-offset:-5px}
body.is-preview .sq-page .section-inner{transition:none!important}
body.is-preview [data-editor-item-index]{position:relative}
@media(prefers-reduced-motion:reduce){.sq-arch-caret{transition:none}}
/* Restores optional administrator X/Y movement after V3 layout normalization.
   Zero offsets preserve precisely the approved design for public visitors. */
body.sq-design-v3 .site-section:is(.section-integrations,.section-flow,.section-features,.section-governance-overview,.section-faq,.section-contact)>.section-inner{
 transform:translate(var(--section-dx,0px),var(--section-dy,0px))!important;
}
body.is-preview .site-section[data-block-id]:not(.section-hero)>.section-inner{position:relative!important}
.sq-arch-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;margin-top:14px;background:#092b41;border:1px solid #2a7e9b;border-radius:7px}
.sq-arch-cta>span strong{font-size:17px;color:#effbff}.sq-arch-cta>span small{display:block;font-size:12px;color:#adc9dc;margin-top:5px}.sq-arch-cta>a{display:inline-block;flex:none;background:#42d8df;color:#062237;padding:13px 17px;font-size:13px;font-weight:750;border-radius:4px}
@media(max-width:600px){.sq-arch-cta{flex-direction:column;align-items:flex-start;padding:17px}.sq-arch-cta>a{max-width:100%;flex:0 1 auto}}

body.is-preview .sq-drag-text:not([hidden]){position:fixed;z-index:99999;width:28px;height:27px;display:flex;align-items:center;justify-content:center;background:#0a7193;color:white;border:1px solid #83e9f4;border-radius:3px;font:700 14px/1 system-ui;cursor:grab;touch-action:none;box-shadow:0 4px 14px #0009}
body.is-preview .sq-drag-text:active{cursor:grabbing;background:#08a8b4}

/* Save-and-publish persistence: the master design formerly hard-reset the
   translated section to none. Explicit --section-dx/dy is the single source of truth. */
body.sq-design-v3 .site-section:not(.section-hero):not(.section-divider)>.section-inner{
 transform:translate3d(var(--section-dx,0px),var(--section-dy,0px),0)!important;
}
body.is-preview .site-section:not(.section-hero)>.section-inner{will-change:transform}

/* Admin preview must show the COMPLETE cockpit even on short screens.
   Public hero keeps its existing compact, screen-size-sensitive presentation. */
body.is-preview .section-hero .sq-gd-cockpit-mode.sq-gd-compact{
 max-height:none!important;overflow:visible!important;overscroll-behavior:auto;
}
body.is-preview .section-hero .sq-gd-cockpit-mode.sq-gd-compact .sq-gd-message-grid{
 display:grid!important;
}
body.is-preview .section-hero{overflow:visible!important;min-height:max-content}
body.is-preview .section-hero .hero-inner{align-items:start}

/* Master layout must also respect saved full-section offsets on every page.
   Older master-unified CSS reset all section transforms to none. */
body.master-unified .site-section:not(.section-hero):not(.section-divider) > .section-inner{
  transform:translate3d(var(--section-dx,0px),var(--section-dy,0px),0)!important;
}
/* Preserve saved X AND Y for the complete hero, even on short desktop screens.
   The older site.css height breakpoint accidentally suppressed the Y offset. */
body .site-section.section-hero > .hero-inner{
  transform:translate3d(var(--section-dx,0px),var(--section-dy,0px),0)!important;
}
body.is-preview .site-section.section-hero > .hero-inner{will-change:transform;transition:none!important}
