/* Additive final styling. Preserve all installed CSS; replace brand accents only. */
:root { --petrol:#0b55b2; --teal:#198dff; }
:focus-visible { outline-color:#198dff; }
.button:hover { background:#084492; }
.button.secondary:hover { background:white; border-color:#0b55b2; }
.platform { color:#0b55b2; }
.professional-section { background:#102b60; }
.button.outline-light:hover { background:#173e7d; }
.newsletter-section { background:linear-gradient(115deg,#102b60,#0b55b2); }
.newsletter-section .eyebrow { color:#9fcfff; }
.newsletter-fields .button { background:#0b55b2; border-color:#87baff; }
.newsletter-section :focus-visible { outline-color:#9fcfff; }
.service:nth-child(3) .service-icon { background:#e4eeff; color:#0b55b2; }
.project-preview:not(.card-visual):not(.realization-visual) { background:var(--canvas); }
.visual-orbit { background:#eaf2ff; }
.hero { background:linear-gradient(105deg,#f7fafb 35%,#eef4ff 100%); }
.professional-section .eyebrow { color:#9fcfff; }
.professional-section :focus-visible { outline-color:#9fcfff; }
.phone { background:#102439; border-color:#637b98; box-shadow:0 16px 24px #15334922; }
.laptop-screen { background:#172b42; border-color:#344a65; }
.value:nth-child(2) .value-icon { background:#e4eeff; color:#0b55b2; }
.notice { background:#f2f6ff; }
.offer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.offer-card { min-width:0; background:white; border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--shadow); }
.offer-body { padding:24px; display:flex; flex-direction:column; gap:16px; flex:1; }
.offer-card .content-image { margin:0; background:var(--canvas); }
.offer-card .content-image img { width:100%; height:240px; object-fit:contain; }
.offer-pricing { font-weight:700; }
.offer-card .content-actions { margin-top:auto; }
.content-actions { display:flex; flex-wrap:wrap; gap:12px; }
.content-block { margin-block:36px; overflow-wrap:anywhere; }
.content-block h2 { margin-bottom:20px; }
.rich-copy p,.rich-copy ul,.rich-copy ol,.rich-copy blockquote { margin-block:12px; }
.rich-copy ul,.rich-copy ol,.offer-body ul,.content-block-list ul { padding-left:24px; }
.rich-copy h3,.rich-copy h4 { margin-top:20px; }
.content-image { min-width:0; margin:0; }
.content-image img { max-height:600px; margin-inline:auto; object-fit:contain; border-radius:12px; }
.content-image figcaption { text-align:center; margin-top:8px; color:var(--muted); }
.content-split,.content-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:center; }
.content-faq { border:1px solid var(--line); border-radius:10px; padding:16px; margin-block:12px; }
.content-faq summary { cursor:pointer; font-weight:650; }
.content-block-cta { background:var(--canvas); padding:24px; border-radius:14px; }
.rich-editor-wrap { min-width:0; }
.rich-toolbar,.content-types { display:flex; flex-wrap:wrap; gap:8px; margin-block:12px; }
.editor-tool,.content-types a { font:inherit; font-size:14px; border:1px solid #7b929d; background:white; color:var(--ink); border-radius:6px; padding:8px; }
.rich-editor { min-height:160px; border:1px solid #7b929d; background:white; color:var(--ink); border-radius:8px; padding:12px; font-weight:400; overflow-wrap:anywhere; }
.rich-editor p { margin-block:10px; }
.rich-editor ul,.rich-editor ol { padding-left:24px; }
.repeat-row { border-bottom:1px solid var(--line); padding-block:12px; display:grid; gap:10px; }
.content-item summary { cursor:pointer; font-weight:700; }
.content-item .final-item-form { margin-top:20px; }
.content-media-preview { display:flex; flex-wrap:wrap; gap:12px; margin-block:12px; }
.content-media-preview img { width:160px; height:130px; object-fit:contain; border-radius:10px; background:#f2f6ff; }
@media(max-width:700px) { .offer-grid,.content-split,.content-gallery { grid-template-columns:minmax(0,1fr); } .offer-body { padding:18px; } }

/* Shared block layouts, driven only by saved editor settings. */
.content-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-block:36px; }
.content-text-card { min-width:0; margin:0; padding:25px; background:var(--canvas); border-radius:var(--radius); }
.content-text-card h2 { font-size:24px; margin-bottom:14px; }
.content-text-card .rich-copy { color:var(--muted); }
@media(max-width:700px) { .content-card-grid { grid-template-columns:minmax(0,1fr); } }
@media(min-width:701px) {
 .content-image-width-wide > .content-image { max-width:960px; margin-inline:auto; }
 .content-image-width-wide > .content-image img,
 .content-image-width-full > .content-image img { width:100%; height:auto; max-height:none; }
}
/* Optional link for Image blocks only; preserve all image sizing rules. */
.content-block-image .image-click-target { display:block; }
.content-block-image .image-block-link { text-align:center; margin:18px 0 0; }
.content-block-image .image-block-link a { display:inline-block; max-width:100%; color:var(--petrol); background:white; border:1px solid var(--line); border-radius:8px; padding:10px 16px; font-weight:650; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.content-block-image .image-block-link a:hover { color:#084492; border-color:#0b55b2; }
