
/* Shared editorial layout for service, regional, contact and information pages. */
img {
max-width: 100%;
height: auto;
}

button,input,select,textarea {
font: inherit;
}

button {
color: inherit;
}

h1,h2,h3 {
overflow-wrap: break-word;
}

a[aria-current="page"] {
text-decoration: underline;
text-underline-offset: 5px;
}

.services-nav {
position: relative;
}

.services-nav summary {
list-style: none;
cursor: pointer;
}

.services-nav summary::-webkit-details-marker {
display: none;
}

.services-nav[open] summary {
text-decoration: underline;
text-underline-offset: 5px;
}

.services-menu {
position: absolute;
top: 36px;
left: -24px;
width: 270px;
display: flex;
flex-direction: column;
gap: 0;
padding: 15px 24px;
background: var(--paper);
color: var(--ink);
border: 1px solid var(--line);
z-index: 20;
}

.services-menu a {
padding: 8px 0;
}

.site-header {
background: #faf9f5;
}

.language {
font-size: 11px;
}

.site-footer {
background: var(--navy);
color: #f5f2eb;
}

.footer-directory {
display: grid;
grid-template-columns: 1.4fr 1fr 1fr;
gap: 60px;
padding: 50px 0;
}

.footer-directory p {
margin-bottom: 18px;
color: #d3d9d9;
}

.footer-directory nav {
display: flex;
flex-direction: column;
gap: 8px;
font-size: 12px;
}

.footer-directory>div>a {
display: block;
margin-bottom: 10px;
font-size: 14px;
}

.footer-directory address {
font-size: 12px;
font-style: normal;
color: #d3d9d9;
margin-top: 22px;
}

.site-footer .footer {
border-top: 1px solid #6d818b;
}

.site-footer .footer a:hover,.footer-directory a:hover {
text-decoration: underline;
}

.page-hero {
padding-top: 60px;
padding-bottom: 55px;
}

.page-hero .micro {
margin-bottom: 25px;
}

.page-hero h1 {
font-size: clamp(42px,5.6vw,76px);
line-height: 1.07;
letter-spacing: -.055em;
max-width: 1000px;
font-weight: 500;
}

.it .page-hero h1 {
font-family: Georgia,'Times New Roman',serif;
font-weight: 400;
}

.page-lead {
font-size: 18px;
line-height: 1.8;
max-width: 770px;
margin-top: 28px;
}

.page-toc {
display: flex;
gap: 10px 28px;
flex-wrap: wrap;
border-top: 1px solid var(--line);
border-bottom: 1px solid var(--line);
padding-top: 20px;
padding-bottom: 20px;
font-size: 11px;
}

.page-toc a {
border-bottom: 1px solid transparent;
}

.page-toc a:hover {
border-color: currentcolor;
}

.inner-section {
padding: 65px 0;
border-bottom: 1px solid var(--line);
}

.inner-section>.container,.inner-section>.wrap {
max-width: 1440px;
padding: 0 64px;
margin: 0 auto;
}

.inner-section>h2,.inner-section>p,.inner-section>div:not(.container, .wrap) {
max-width: 1152px;
margin-left: auto;
margin-right: auto;
}

.inner-section h2 {
font-size: 38px;
line-height: 1.18;
letter-spacing: -.045em;
margin: 0 0 25px;
max-width: 860px;
}

.inner-section h3 {
font-size: 23px;
line-height: 1.3;
letter-spacing: -.025em;
margin: 0 0 15px;
}

.inner-section p {
font-size: 15px;
line-height: 1.85;
margin: 0 0 18px;
max-width: 800px;
}

.inner-section .micro,.inner-section .v-eyebrow,.inner-section .section-eyebrow,.inner-section .mcp-label {
font-size: 10px;
letter-spacing: .11em;
text-transform: uppercase;
color: var(--muted);
margin-bottom: 18px;
}

.inner-section ul,.inner-section ol {
padding-left: 20px;
font-size: 14px;
line-height: 1.9;
margin: 15px 0 25px;
max-width: 800px;
}

.inner-section li+li {
margin-top: 8px;
}

.inner-section a:not(.btn) {
text-decoration: underline;
text-underline-offset: 4px;
}

.inner-section .btn,.inner-section .btn_talk,.inner-section .btn_quote,.inner-section .button,.inner-section .get_started {
display: inline-block;
background: transparent;
color: var(--ink);
border: 0;
border-bottom: 1px solid currentcolor;
border-radius: 0;
padding: 10px 0;
margin: 10px 20px 10px 0;
font-size: 13px;
box-shadow: none;
cursor: pointer;
}

.inner-section .v-actions,.inner-section .hero__actions {
display: flex;
gap: 20px;
align-items: center;
flex-wrap: wrap;
}

.inner-section .content-grid,.inner-section .v-grid,.inner-section .features-grid,.inner-section .platform-features,.inner-section .mcp-grid,.inner-section .platform-bundles,.inner-section .platform-grid,.inner-section .v-sandbox-grid {
display: grid;
grid-template-columns: repeat(2,minmax(0,1fr));
gap: 40px;
margin-top: 35px;
}

.inner-section .columns-3 {
grid-template-columns: repeat(3,minmax(0,1fr));
}

.inner-section .content-grid>* {
min-width: 0;
}

.inner-section .content-row+.content-row {
margin-top: 25px;
}

.inner-section .service-box,.inner-section .v-card,.inner-section .glass-card,.inner-section .platform-card,.inner-section .v-sandbox-card {
padding-top: 22px;
border-top: 1px solid var(--line);
background: transparent;
border-radius: 0;
box-shadow: none;
margin-bottom: 24px;
}

.inner-section .service-box p:last-child {
margin-bottom: 0;
}

.inner-section .price-tag {
font-size: 35px;
letter-spacing: -.04em;
color: var(--ink);
margin-top: 15px;
}

.inner-section .price-unit,.inner-section .pack-subtitle {
font-size: 14px;
letter-spacing: 0;
}

.inner-section .price-disclaimer,.inner-section .v-note,.inner-section .platform-note,.inner-section .product-tour__note {
font-size: 12px;
color: var(--muted);
max-width: 900px;
margin-top: 25px;
}

.inner-section blockquote {
margin: 20px 0;
padding: 0 0 0 24px;
border-left: 2px solid var(--line);
font-size: 19px;
max-width: 600px;
line-height: 1.7;
}

.inner-section .v-sandbox-card__source {
margin: 20px 0;
padding: 20px;
background: #e7e9e3;
}

.inner-section .v-sandbox-card__source p {
font-size: 13px;
}

.inner-section details {
border-top: 1px solid var(--line);
padding: 22px 0;
}

.inner-section summary {
font-size: 18px;
cursor: pointer;
line-height: 1.5;
}

.inner-section details p:first-of-type {
margin-top: 18px;
}

.inner-section details p:last-child {
margin-bottom: 0;
}

.inner-section .aboutoffer-section .content-grid {
display: block;
}

.inner-section .mcp-catalogue {
margin-top: 45px;
}

.inner-section .mcp-product {
padding: 35px 0;
margin: 0;
border-top: 1px solid var(--line);
}

.inner-section .mcp-product__body {
display: grid;
grid-template-columns: 1.4fr 1fr;
gap: 65px;
}

.inner-section .mcp-product__heading h3 {
font-size: 32px;
}

.inner-section .mcp-product__status {
font-size: 11px;
color: var(--muted);
margin-bottom: 10px;
}

.inner-section .mcp-product__headline {
font-size: 18px;
}

.inner-section .mcp-product__example {
padding: 25px;
background: #e8e9e3;
}

.inner-section .mcp-product__example p {
font-size: 13px;
}

.inner-section .mcp-product__example blockquote {
font-size: 18px;
}

.inner-section .product-tour__controls {
display: flex;
gap: 12px;
flex-wrap: wrap;
margin-bottom: 25px;
}

.inner-section .product-tour button {
border: 1px solid var(--line);
background: none;
padding: 12px 16px;
font-size: 12px;
}

.inner-section .product-tour button[aria-pressed="true"] {
background: var(--navy);
color: white;
border-color: var(--navy);
}

.inner-section .product-tour__panel {
margin: 0;
}

.inner-section .product-tour__panel img {
width: 100%;
display: block;
border: 1px solid var(--line);
}

.inner-section .product-tour figcaption {
font-size: 13px;
margin: 16px 0 5px;
}

.inner-section .product-tour__zoom {
font-size: 12px;
}

.inner-section [hidden] {
display: none;
}

.inner-section .v-enquiry {
width: 100%;
border: 1px solid var(--line);
height: 620px;
display: block;
background: white;
}

.inner-section .contact-card,.inner-section .cinfo-card {
padding: 20px 0;
border-top: 1px solid var(--line);
}

.inner-section .cinfo-label {
font-size: 11px;
color: var(--muted);
}

.inner-section .cinfo-value {
font-size: 19px;
overflow-wrap: anywhere;
}

.inner-section .cinfo-action {
font-size: 12px;
}

.inner-section img {
max-height: 440px;
object-fit: contain;
}

.inner-section .product-tour img {
max-height: none;
}

.inner-section img[alt*="Microsoft"],.inner-section img[alt*="Infomaniak"],.inner-section img[alt*="Ubiquiti"],.inner-section img[alt*="Yealink"] {
max-width: 160px;
max-height: 70px;
object-fit: contain;
}

.inner-section table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
}

.inner-section th,.inner-section td {
padding: 15px;
text-align: left;
border-bottom: 1px solid var(--line);
}

.inner-section .legal-content,.legal-content>.container {
max-width: 1000px;
}

.legal-content h2 {
font-size: 27px;
margin-top: 40px;
}

.legal-content>div {
padding-left: 40px;
padding-right: 40px;
}

.legal-content p {
max-width: 760px;
}

.page-contact {
background: var(--navy);
color: white;
padding: 55px 0;
}

.page-contact>.wrap {
display: flex;
justify-content: space-between;
align-items: center;
gap: 30px;
}

.page-contact h2 {
font-size: 42px;
letter-spacing: -.04em;
line-height: 1.15;
}

.page-contact .action {
flex-shrink: 0;
}

.inner-page .assistant-inline-host:empty {
display: none;
}

.home-page .sa-contact-main h2 {
max-width: 750px;
}

.home-page[lang="en"] .sa-heading h1 {
font-size: 90px;
}

/* The calculator retains its controls and business rules, with the same visual language. */
.calculator-content .calculator-grid {
grid-template-columns: minmax(0,1.8fr) minmax(260px,1fr);
align-items: start;
}

.calculator-content .calc-card {
background: transparent;
border: 0;
border-top: 1px solid var(--line);
border-radius: 0;
box-shadow: none;
padding: 25px 0;
margin-bottom: 35px;
}

.calculator-content .calc-summary {
background: var(--navy);
color: white;
border-radius: 0;
box-shadow: none;
padding: 28px;
}

.calculator-content .calc-summary h3,.calculator-content .calc-summary p,.calculator-content .calc-summary span {
color: white;
}

.calculator-content .calc-submit {
background: var(--navy);
color: white;
border: 0;
border-radius: 0;
padding: 13px 18px;
}

.calculator-content .pme-notice {
background: #e4e7df;
border: 1px solid var(--line);
border-radius: 0;
color: var(--ink);
}

.calculator-content input {
accent-color: var(--navy);
}

.calculator-content .calc-radio-option,.calculator-content .calc-check-option {
border-radius: 0;
background: transparent;
}

.calculator-content .calc-radio-option.active,.calculator-content .calc-check-option.active {
background: #e4e7df;
border-color: var(--navy);
}

.calculator-content .platform-tab {
border-radius: 0;
}

.calculator-content .platform-tab.active {
background: var(--navy);
color: white;
}

.calculator-content .qty-control,.calculator-content .calc-input {
border-radius: 0;
}

.calculator-content .qty-btn {
color: var(--ink);
}

.calculator-content .calc-radio-price,.calculator-content .calc-check-price {
white-space: nowrap;
}

.calculator-content .calc-row label {
font-size: 13px;
}

.calculator-content .calc-field-header {
gap: 15px;
}

#cookie-consent {
position: fixed;
bottom: 16px;
left: 16px;
right: 16px;
z-index: 50;
background: var(--navy);
color: white;
border: 1px solid #78929f;
padding: 20px 25px;
}

#cookie-consent .cc-inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 35px;
max-width: 1200px;
margin: auto;
}

#cookie-consent p {
font-size: 12px;
max-width: 800px;
margin: 0;
}

#cookie-consent .cc-buttons {
display: flex;
gap: 12px;
}

#cookie-consent button {
padding: 10px 18px;
background: transparent;
border: 1px solid #cad3d7;
color: white;
font-size: 12px;
}

#cookie-consent .cc-accept {
background: #f5f2eb;
color: var(--navy);
}

.calculator-content .includes-list li::before {
content: none;
}

.calculator-content {
background: transparent;
}

.inner-section .platform-flow, .inner-section .platform-method, .inner-section .mcp-steps {
list-style: none;
padding: 0;
max-width: none;
}

.inner-section .platform-flow li, .inner-section .platform-method li, .inner-section .mcp-steps li {
padding: 25px 0;
border-top: 1px solid var(--line);
}

.inner-section .assistant-intro {
min-height: auto;
}

.assistant-intro.inner-section {
min-height: auto;
padding: 65px 0;
}

.inner-section .platform-cases, .inner-section .platform-controls, .inner-section .mcp-three {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 35px;
margin-top: 35px;
}

.inner-section .platform-cases article, .inner-section .platform-controls article, .inner-section .mcp-three article {
border-top: 1px solid var(--line);
padding-top: 22px;
}

@media(max-width:1050px) {
.nav {
gap: 20px;
}

.links {
gap: 20px;
}

.inner-section>.container,.inner-section>.wrap {
padding-left: 38px;
padding-right: 38px;
}

.footer-directory {
gap: 35px;
}

.inner-section h2 {
font-size: 34px;
}

.inner-section .columns-3 {
grid-template-columns: repeat(2,minmax(0,1fr));
}
}

@media(max-width:760px) {
.services-menu {
position: static;
padding: 12px 0 0;
border: 0;
width: auto;
font-size: 13px;
}

.links {
max-height: 75vh;
overflow-y: auto;
}

.services-nav {
width: 100%;
}

.footer-directory {
grid-template-columns: 1fr;
gap: 32px;
padding: 35px 0;
}

.page-hero {
padding-top: 35px;
padding-bottom: 35px;
}

.page-hero h1 {
font-size: 40px;
}

.page-lead {
font-size: 16px;
margin-top: 22px;
}

.page-toc {
gap: 12px 18px;
padding-top: 18px;
padding-bottom: 18px;
}

.inner-section {
padding: 35px 0;
}

.inner-section>.container,.inner-section>.wrap {
padding-left: 24px;
padding-right: 24px;
}

.inner-section h2 {
font-size: 29px;
}

.inner-section h3 {
font-size: 22px;
}

.inner-section p {
font-size: 14px;
}

.inner-section .content-grid,.inner-section .v-grid,.inner-section .features-grid,.inner-section .platform-features,.inner-section .mcp-grid,.inner-section .platform-bundles,.inner-section .platform-grid,.inner-section .v-sandbox-grid,.inner-section .columns-3,.inner-section .mcp-product__body,.calculator-content .calculator-grid {
grid-template-columns: minmax(0,1fr);
gap: 25px;
}

.inner-section .mcp-product__example {
padding: 20px;
}

.inner-section>h2,.inner-section>p,.inner-section>div:not(.container, .wrap) {
margin-left: 24px;
margin-right: 24px;
}

.inner-section .product-tour__controls {
gap: 8px;
}

.inner-section .product-tour button {
font-size: 11px;
padding: 10px;
}

.inner-section .v-enquiry {
height: 720px;
}

.page-contact>.wrap {
display: block;
}

.page-contact h2 {
font-size: 34px;
margin-bottom: 20px;
}

.legal-content>div {
padding-left: 24px;
padding-right: 24px;
}

.calculator-content .calc-field-header {
flex-wrap: wrap;
}

.calculator-content .calc-radio-option,.calculator-content .calc-check-option {
flex-wrap: wrap;
}

.calculator-content .calc-radio-price,.calculator-content .calc-check-price {
margin-left: auto;
font-size: 12px;
}

#cookie-consent .cc-inner {
display: block;
}

#cookie-consent .cc-buttons {
margin-top: 15px;
}

#cookie-consent {
padding: 18px;
}

.home-page .sa-heading h1 {
font-size: clamp(44px,11vw,80px);
}
}

@media (max-width: 760px) {
.assistant-intro.inner-section {
padding: 35px 0;
}
}

@media (max-width: 760px) {
.inner-section .platform-cases, .inner-section .platform-controls, .inner-section .mcp-three {
grid-template-columns: minmax(0, 1fr);
}
}


.links .brand-link {
font-size: 12px;
white-space: nowrap;
text-decoration: underline;
text-underline-offset: 5px;
}
