/* Company profile and direct contacts; all fonts are inherited from the local site. */
.company-contact-page { background: #f2f5f3; color: #173038; }
.company-contact-page *, .company-contact-page *::before, .company-contact-page *::after { box-sizing: border-box; }
.company-contact-page .cc-wrap { width: min(100% - 2.5rem, 75rem); margin-inline: auto; }
.company-contact-page .cc-hero { padding-block: clamp(2.6rem,6vw,5rem); background: #142e35; color: #fff; }
.company-contact-page .cc-kicker { margin: 0 0 .85rem; color:#9dd9ce; font-size:.85rem; font-weight:700; letter-spacing:.04em; }
.company-contact-page .cc-hero h1 { max-width:21ch; margin:0; color:#fff; font-size:clamp(2.35rem,5vw,4.8rem); line-height:1.08; letter-spacing:-.035em; }
.company-contact-page .cc-lead { max-width:65ch; margin:1.15rem 0 1.6rem; font-size:clamp(1.05rem,1.7vw,1.35rem); line-height:1.6; color:#deeaeb; }
.company-contact-page .cc-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.35rem; margin-bottom:0; }
.company-contact-page .cc-actions a,.company-contact-page .cc-proposal { color:#d1eae8; text-decoration:underline; text-underline-offset:.23em; font-weight:650; }
.company-contact-page .cc-actions a.cc-primary { background:#f2a668; border-radius:.32rem; color:#16282c; padding:.75rem 1rem; text-decoration:none; }
.company-contact-page .cc-primary:hover { background:#ffb57d; }
.company-contact-page main :is(a,button):focus-visible { outline:3px solid #e58c52; outline-offset:4px; }
.company-contact-page .cc-section { padding-block: clamp(2.2rem,5vw,4.1rem); background:#f2f5f3; }
.company-contact-page .cc-section h2 { margin:0 0 .8rem; font-size:clamp(1.6rem,3.1vw,2.7rem); line-height:1.18; color:#173038; }
.company-contact-page .cc-body { max-width:78ch; margin:0 0 1.4rem; color:#38545a; line-height:1.7; }
.company-contact-page .cc-flow-title { color:#223d44; font-size:1.08rem; margin:1.5rem 0 .8rem; }
.company-contact-page .cc-flow,.company-contact-page .cc-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.95rem; }
.company-contact-page .cc-flow { margin:0; padding:0; list-style:none; }
.company-contact-page .cc-flow li { position:relative; padding:1rem 1.15rem 1.1rem; margin:0; border:1px solid #c8d5d2; border-block-start:3px solid #387e75; border-radius:.45rem; background:white; }
.company-contact-page .cc-flow li:not(:last-child)::after { content:""; position:absolute; inset-inline-end:-.78rem; top:1.31rem; width:.46rem; height:.46rem; border-inline-end:2px solid #4c706f; border-block-start:2px solid #4c706f; transform:rotate(45deg); }
[dir="rtl"] .company-contact-page .cc-flow li:not(:last-child)::after { transform:rotate(-45deg); }
.company-contact-page .cc-number { display:block; color:#356d62; font-weight:720; font-size:.84rem; font-variant-numeric:tabular-nums; margin-block-end:.35rem; }
.company-contact-page .cc-flow h3,.company-contact-page .cc-capabilities h3 { margin:0 0 .4rem; color:#173238; font-size:1.12rem; line-height:1.3; }
.company-contact-page .cc-flow p,.company-contact-page .cc-capabilities p,.company-contact-page .cc-contact p { margin:0; color:#38545a; line-height:1.65; }
.company-contact-page .cc-work { background:#e6edeb; }
.company-contact-page .cc-capabilities article { border-inline-start:2px solid #91aaa4; padding-inline-start:1rem; }
.company-contact-page .cc-contact { background:#19343a; color:#fff; scroll-margin-top:5.2rem; }
.company-contact-page .cc-contact h2 { color:#fff; }
.company-contact-page .cc-contact p { color:#d9e8e7; max-width:48ch; }
.company-contact-page .cc-contact .cc-kicker { color:#a8d9d0; margin-bottom:.6rem; }
.company-contact-page .cc-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem 3rem; }
.company-contact-page .cc-proposal { display:inline-block; margin-block-start:1rem; }
.company-contact-page .cc-channels { border-top:1px solid #5b797c; }
.company-contact-page .cc-channels a { display:grid; grid-template-columns:minmax(4.8rem,.65fr) minmax(0,1.55fr) auto; gap:.4rem; align-items:baseline; text-decoration:none; color:#edf6f5; padding:.75rem 0; border-bottom:1px solid #5b797c; }
.company-contact-page .cc-channels a:hover strong { text-decoration:underline; text-underline-offset:.2em; }
.company-contact-page .cc-channels a>span:first-child { color:#bdd1d0; font-size:.9rem; }
.company-contact-page .cc-channels strong { font-size:clamp(.96rem,1.5vw,1.17rem); font-weight:650; text-align:start; overflow-wrap:anywhere; }
.company-contact-page .cc-arrow { color:#f3a16c; }
.company-contact-page [aria-current="page"] { text-decoration:underline; text-underline-offset:.2em; }
@media(max-width:720px) {
 .company-contact-page .cc-wrap { width:min(100% - 2rem,75rem); }
 .company-contact-page .cc-flow,.company-contact-page .cc-capabilities,.company-contact-page .cc-contact-grid { grid-template-columns:1fr; }
 .company-contact-page .cc-flow li:not(:last-child)::after { content:none; }
 .company-contact-page .cc-capabilities { gap:1.2rem; }
}

.company-contact-page .cc-legal dl { margin:1.2rem 0 0; border-top:1px solid #b7c9c7; }
.company-contact-page .cc-legal dl>div { display:grid; grid-template-columns:minmax(12rem,1fr) minmax(0,2.1fr); gap:.45rem 1.2rem; border-bottom:1px solid #b7c9c7; padding:.75rem 0; }
.company-contact-page .cc-legal dt { color:#49636a; }
.company-contact-page .cc-legal dd { margin:0; color:#173238; font-weight:600; overflow-wrap:anywhere; }
@media(max-width:720px){.company-contact-page .cc-legal dl>div{grid-template-columns:1fr;}}

.company-contact-page .cc-location { background:#e6edeb; }
.company-contact-page .cc-location-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); align-items:center; gap:1.5rem 3rem; }
.company-contact-page .cc-location-place { color:#17363c; font-weight:680; margin:.45rem 0; }
.company-contact-page .cc-location-note { color:#476068; margin:.4rem 0 .85rem; }
.company-contact-page .cc-location figure { margin:0; }
.company-contact-page .cc-location img { display:block; width:100%; height:auto; }
.company-contact-page .cc-location a { color:#1b5a54; text-decoration:underline; text-underline-offset:.2em; }
@media(max-width:720px){.company-contact-page .cc-location-grid{grid-template-columns:1fr;}}

.company-contact-page .cc-flow-hint { margin:0 0 .95rem; color:#49626a; font-size:.95rem; }
.company-contact-page .cc-flow { align-items:start; }
.company-contact-page .cc-flow li { padding:0; }
.company-contact-page .cc-flow summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:baseline; gap:.5rem; cursor:pointer; padding:.95rem 1rem; color:#18343a; }
.company-contact-page .cc-flow summary::-webkit-details-marker { display:none; }
.company-contact-page .cc-flow summary::marker { content:""; }
.company-contact-page .cc-flow summary:focus-visible { outline:3px solid #e58c52; outline-offset:2px; border-radius:.25rem; }
.company-contact-page .cc-flow summary:hover { background:#eef5f1; }
.company-contact-page .cc-stage-name { font-size:1.07rem; line-height:1.34; font-weight:700; }
.company-contact-page .cc-plus::after { content:"+"; color:#315f58; font-size:1.18rem; line-height:1; }
.company-contact-page details[open] > summary .cc-plus::after { content:"−"; }
.company-contact-page .cc-stage-content { padding:0 1rem 1rem; }
.company-contact-page .cc-result { border-inline-start:2px solid #89ada5; padding-inline-start:.65rem; margin-block-start:.65rem; font-size:.96rem; }
.company-contact-page .cc-result strong { display:block; color:#23554c; font-size:.87rem; }
.company-contact-page .cc-location-grid { grid-template-columns:minmax(0,1fr); gap:1.15rem; }
.company-contact-page [data-journey-map] { min-inline-size:0; max-inline-size:100%; }
.company-contact-page [data-journey-map] > figure { max-width:50rem; }

.company-contact-page .cc-location-first { display:flex; flex-wrap:wrap; gap:.35rem 1rem; align-items:baseline; color:#cbdfdb; margin:0 0 1.15rem; font-size:.95rem; }
.company-contact-page .cc-location-first a { color:#c6e9e2; font-weight:650; text-decoration:underline; text-underline-offset:.2em; }
.company-contact-page #location { scroll-margin-block-start:5.6rem; }


.company-contact-page .cc-capabilities article[id] { scroll-margin-block-start:5.7rem; }

.company-contact-page .cc-messenger-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-block-start:.9rem; }
.company-contact-page .cc-channels .cc-messenger { --messenger-accent:#48b5e4; display:flex; align-items:center; justify-content:flex-start; gap:.55rem; min-block-size:48px; padding:.65rem .72rem; border:1px solid #658486; border-radius:.4rem; background:#22434a; text-decoration:none; color:#f2f9f8; }
.company-contact-page .cc-channels .cc-whatsapp { --messenger-accent:#5bd486; }
.company-contact-page .cc-channels .cc-messenger img { display:block; flex:0 0 28px; inline-size:28px; block-size:28px; }
.company-contact-page .cc-channels .cc-messenger strong { font-size:.98rem; text-decoration:none; overflow-wrap:normal; }
.company-contact-page .cc-open { margin-inline-start:auto; color:var(--messenger-accent); }
.company-contact-page .cc-channels .cc-messenger:hover, .company-contact-page .cc-channels .cc-messenger:focus-visible { border-color:var(--messenger-accent); background:#2b5157; }
.company-contact-page .cc-channels .cc-messenger:focus-visible { outline:2px solid var(--messenger-accent); outline-offset:3px; }
@media(max-width:400px){.company-contact-page .cc-messenger-actions{grid-template-columns:1fr;}}

