/* Pacific Québec: shared styles.
   Layer "base": layout and widget styles (sections, rows, columns, headings, buttons, images...).
   Layer "lib": carousel mechanics. Layer "site": header, footer, menu, animations.
   Page-specific styles live in a <style> block in each page and always win over these layers. */
@layer lib, base, site;
@layer base {
body, figure, h1, h2, h3, h4, h5, h6, html, iframe, li, ol, p, textarea, ul { border:0; font-size:100%; font-style:inherit; font-weight:inherit; margin:0; outline:0; padding:0; vertical-align:baseline }
html { -webkit-text-size-adjust:100% }
body { margin:0 }
a { background-color:transparent }
a:active { outline:0 }
a, a:focus, a:hover, a:visited { text-decoration:none }
img { border:0 }
figure { margin:0 }
button, input, select, textarea { color:inherit; font:inherit; margin:0 }
button, select { text-transform:none }
button { -webkit-appearance:button; cursor:pointer }
button::-moz-focus-inner, input::-moz-focus-inner { border:0; padding:0 }
input { line-height:normal }
textarea { overflow:auto }
table { border-collapse:collapse; border-spacing:0 }
td { padding:0 }
h1, h2, h3, h4, h5, h6 { clear:both }
main :where(h1), h1 { color:#808285; font-size:2em; line-height:1.2 }
main :where(h2), h2 { color:#808285; font-size:1.7em; line-height:1.3 }
main :where(h3), h3 { color:#808285; font-size:1.5em; line-height:1.4 }
main :where(h4), h4 { color:#808285; line-height:1.5; font-size:1.3em }
main :where(h5), h5 { color:#808285; line-height:1.6; font-size:1.2em }
main :where(h6), h6 { color:#808285; line-height:1.7; font-size:1.1em }
html { box-sizing:border-box }
*, :after, :before { box-sizing:inherit }
body { color:#808285; background:#fff; font-style:normal }
ol, ul { margin:0 0 1.5em 3em }
ul { list-style:disc }
ol { list-style:decimal }
li>ul { margin-bottom:0; margin-left:1.5em }
b, strong { font-weight:700 }
cite, em, i { font-style:italic }
cite { font-style:italic }
img { height:auto; max-width:100% }
button, input, select, textarea { color:#808285; font-weight:400; font-size:100%; margin:0; vertical-align:baseline }
button, input { line-height:normal }
table, td { border:1px solid var(--ast-border-color) }
table { border-collapse:separate; border-spacing:0; border-width:1px 0 0 1px; margin:0 0 1.5em; width:100% }
td { padding:.7em 1em; border-width:0 1px 1px 0 }
button { border:1px solid; border-color:var(--ast-border-color); border-radius:2px; background:#e6e6e6; padding:.6em 1em .4em; color:#fff }
button:focus, button:hover { color:#fff; border-color:var(--ast-border-color) }
button:active, button:focus { border-color:var(--ast-border-color); outline:0 }
input[type=email], input[type=text], textarea { color:#666; border:1px solid var(--ast-border-color); border-radius:2px; -webkit-appearance:none }
input[type=email]:focus, input[type=text]:focus, textarea:focus { color:#111 }
textarea { padding-left:3px; width:100% }
a { color:#4169e1 }
a:focus, a:hover { color:#191970 }
a:focus { outline:thin dotted }
a:hover { outline:0 }
.sr-only { border:0; clip:rect(1px,1px,1px,1px); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; word-wrap:normal!important }
.sr-only:focus { background-color:#f1f1f1; border-radius:2px; box-shadow:0 0 2px 2px rgba(0,0,0,.6); clip:auto!important; color:#21759b; display:block; font-size:12.25px; font-size:.875rem; height:auto; left:5px; line-height:normal; padding:15px 23px 14px; text-decoration:none; top:5px; width:auto; z-index:100000 }
iframe { max-width:100% }
::selection { color:#fff; background:#0274be }
body { position:relative }
body { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale }
a, a:focus { text-decoration:none }
a { transition:all .2s linear }
img { vertical-align:middle }
main :where(h1,h2,h3,h4,h5,h6) { margin-bottom:20px }
p { margin-bottom:1.75em }
input, select { line-height:1 }
body, button, textarea { line-height:1.8571428571 }
body { background-color:#fff }
main>:last-child { margin-bottom:0 }
body { overflow-x:hidden }
input[type=email], input[type=text], select, textarea { color:#666; padding:.75em; height:auto; border-width:1px; border-style:solid; border-color:var(--ast-border-color); border-radius:2px; background:var(--ast-comment-inputs-background); box-shadow:none; box-sizing:border-box; transition:all .2s linear }
input[type=email]:focus, input[type=text]:focus, select:focus, textarea:focus { background-color:#fff; border-color:var(--ast-border-color); box-shadow:none }
textarea { width:100% }
main p { margin-bottom:1.6em }
:root { --ast-comment-inputs-background:#FAFAFA }
html { font-size:93.75% }
a { color:var(--ast-global-color-0) }
a:hover, a:focus { color:var(--ast-global-color-1) }
body, button, input, select, textarea { font-family:"Montserrat",sans-serif; font-weight:400; font-size:15px; font-size:1rem; text-transform:none }
h1, h2, h3, h4, h5, h6, main :where(h1,h2,h3,h4,h5,h6) { font-family:"Montserrat",sans-serif; font-weight:700 }
h1, main :where(h1) { font-size:70px; font-size:4.6666666666667rem; font-family:"Montserrat",sans-serif; line-height:1.4em }
h2, main :where(h2) { font-size:34px; font-size:2.2666666666667rem; font-family:"Montserrat",sans-serif; line-height:1.3em }
h3, main :where(h3) { font-size:26px; font-size:1.7333333333333rem; font-family:"Montserrat",sans-serif; line-height:1.3em }
h4, main :where(h4) { font-size:22px; font-size:1.4666666666667rem; line-height:1.2em; font-family:"Montserrat",sans-serif }
h5, main :where(h5) { font-size:18px; font-size:1.2rem; line-height:1.2em; font-family:"Montserrat",sans-serif }
h6, main :where(h6) { font-size:16px; font-size:1.0666666666667rem; line-height:1.25em; font-family:"Montserrat",sans-serif }
::selection { background-color:var(--ast-global-color-0); color:#ffffff }
body, h1, h2, h3, h4, h5, h6, main :where(h1,h2,h3,h4,h5,h6) { color:var(--ast-global-color-3) }
input:focus, input[type="text"]:focus, input[type="email"]:focus, textarea:focus { border-color:var(--ast-global-color-0) }
input:focus, input[type="text"]:focus, input[type="email"]:focus, textarea:focus { border-style:dotted; border-color:inherit; border-width:thin }
input { outline:none }
.w-button .button { border-style:solid; text-decoration:none; border-top-width:0; border-right-width:0; border-left-width:0; border-bottom-width:0 }
body .button.size-sm, body .button.size-md, body .button { border-top-left-radius:100px; border-top-right-radius:100px; border-bottom-right-radius:100px; border-bottom-left-radius:100px; padding-top:16px; padding-right:30px; padding-bottom:16px; padding-left:30px }
.w-button .button, .w-button .button:visited { color:#ffffff }
.w-button .button { border-color:var(--ast-global-color-0); background-color:var(--ast-global-color-0) }
.w-button .button:hover, .w-button .button:focus { color:#ffffff; background-color:var(--ast-global-color-1); border-color:var(--ast-global-color-1) }
.w-button .button { font-weight:700; font-size:15px; font-size:1rem; line-height:1em }
body .button.size-sm, body .button.size-md, body .button { font-size:15px; font-size:1rem }
.w-heading h1.heading-title { line-height:1.4em }
.w-heading h2.heading-title { line-height:1.3em }
.w-heading h3.heading-title { line-height:1.3em }
.w-heading h4.heading-title { line-height:1.2em }
.w-heading h5.heading-title { line-height:1.2em }
.w-heading h6.heading-title { line-height:1.25em }
button { border-style:solid; border-top-width:0; border-right-width:0; border-left-width:0; border-bottom-width:0; color:#ffffff; border-color:var(--ast-global-color-0); background-color:var(--ast-global-color-0); padding-top:16px; padding-right:30px; padding-bottom:16px; padding-left:30px; font-family:inherit; font-weight:700; font-size:15px; font-size:1rem; line-height:1em; border-top-left-radius:100px; border-top-right-radius:100px; border-bottom-right-radius:100px; border-bottom-left-radius:100px }
button:focus, button:hover { color:#ffffff; background-color:var(--ast-global-color-1); border-color:var(--ast-global-color-1) }
@media (max-width:544px) {
  button { font-size:14px; font-size:0.93333333333333rem }
}
body { background-color:var(--ast-global-color-4); background-image:none }
@media (max-width:921px) {
  h1, main :where(h1) { font-size:42px }
  h2, main :where(h2) { font-size:40px }
  h3, main :where(h3) { font-size:26px }
  h4, main :where(h4) { font-size:22px; font-size:1.4666666666667rem }
  h5, main :where(h5) { font-size:16px; font-size:1.0666666666667rem }
  h6, main :where(h6) { font-size:14px; font-size:0.93333333333333rem }
}
@media (max-width:544px) {
  h1, main :where(h1) { font-size:28px }
  h2, main :where(h2) { font-size:24px }
  h3, main :where(h3) { font-size:20px }
  h4, main :where(h4) { font-size:18px; font-size:1.2rem }
  h5, main :where(h5) { font-size:16px; font-size:1.0666666666667rem }
  h6, main :where(h6) { font-size:14px; font-size:0.93333333333333rem }
  body { background-color:var(--ast-global-color-4); background-image:none }
}
@media (max-width:921px) {
  html { font-size:85.5% }
}
@media (max-width:544px) {
  html { font-size:85.5% }
}
:root { --ast-global-color-0:#d94948; --ast-global-color-1:#e93333; --ast-global-color-2:#011627; --ast-global-color-3:rgba(1,22,40,0.75); --ast-global-color-4:#f9f8f8 }
:root { --ast-border-color : #dddddd }
@media (min-width:922px) {
  #masthead { position:absolute; left:0; right:0 }
}
@media (max-width:921px) {
  #masthead { position:absolute; left:0; right:0 }
}
h1, h2, h3, h4, h5, h6, main :where(h1,h2,h3,h4,h5,h6) { color:var(--ast-global-color-2) }
.w-heading .heading-title { margin:0 }
.sr-only { top:0 !important }
:root { --e-global-color-astglobalcolor0:#d94948; --e-global-color-astglobalcolor2:#011627; --e-global-color-astglobalcolor3:rgba(1,22,40,0.75); --e-global-color-astglobalcolor4:#f9f8f8; --e-global-color-astglobalcolor5:#ffffff }
:where(body) { margin: 0 }
body { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px }
@font-face { font-family:eicons;font-weight:400;font-style:normal;src:url(/fonts/elementor-icons.woff2) format("woff2"),url(/fonts/elementor-icons.woff) format("woff") }
@font-face { font-family:eicons;font-weight:400;font-style:normal;src:url(/fonts/elementor-icons-subset.woff) format("woff");unicode-range:U+e87d-e87e, U+e934 }
[class^=eicon] { display:inline-block; font-family:eicons; font-size:inherit; font-weight:400; font-style:normal; font-variant:normal; line-height:1; text-rendering:auto; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale }
.eicon-chevron-right:before { content:"" }
.eicon-chevron-left:before { content:"" }
.eicon-star:before { content:"" }
.sr-only { height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; top:-10000em; width:1px; clip:rect(0,0,0,0); border:0 }
.clearfix:after { clear:both; content:""; display:block; height:0; width:0 }
main *, main :after, main :before { box-sizing:border-box }
main a { box-shadow:none; text-decoration:none }
main img { border:none; border-radius:0; box-shadow:none; height:auto; max-width:100% }
main .w:not(.w-text-editor):not(.w-theme-post-content) figure { margin:0 }
main iframe, main video { border:none; line-height:1; margin:0; max-width:100%; width:100% }
main .bg-video { direction:ltr; inset:0; overflow:hidden; position:absolute; z-index:0 }
main .bg-video { pointer-events:none; transition:opacity 1s }
main .bg-video-el { inset-block-start:50%; inset-inline-start:50%; position:absolute; transform:translate(-50%,-50%) }
main .bg-video-el { -o-object-fit:cover; object-fit:cover }
main .overlay { inset:0; position:absolute }
.col-in>.abs { position:absolute }
.col-in>.fixed { position:fixed }
.abs, .fixed { z-index:1 }
:is(.sec,.col,.w) { --justify-content:initial; --gap:initial; --flex-basis:initial; --flex-grow:initial; --flex-shrink:initial; --order:initial; --align-self:initial; align-self:var(--align-self); flex-basis:var(--flex-basis); flex-grow:var(--flex-grow); flex-shrink:var(--flex-shrink); order:var(--order) }
.align-center { text-align:center }
.align-right { text-align:right }
.align-left { text-align:left }
.align-center .button, .align-left .button, .align-right .button { width:auto }
@media (max-width:1024px) {
  .tablet-align-center { text-align:center }
  .tablet-align-center .button { width:auto }
}
@media (max-width:767px) {
  .mobile-align-center { text-align:center }
  .mobile-align-center .button { width:auto }
}
.sec { position:relative }
.sec .row { display:flex; margin-inline:auto; position:relative }
@media (max-width:1024px) {
  .sec .row { flex-wrap:wrap }
}
.sec.boxed>.row { max-width:1140px }
.sec { position:relative; width:100% }
.col-in { align-content:flex-start; flex-wrap:wrap; position:relative; width:100% }
main .col-in { display:flex }
.col-in>:is(.sec,.col,.w) { width:100% }
.w { position:relative }
.w:not(:last-child) { margin-block-end:var(--kit-widget-spacing,20px) }
.w:not(:last-child).abs { margin-block-end:0 }
.col { display:flex; min-height:1px; position:relative }
@media (min-width:768px) {
  .col.c-25 { width:25% }
  .col.c-33 { width:33.333% }
  .col.c-50 { width:50% }
  .col.c-66 { width:66.666% }
  .col.c-100 { width:100% }
}
@media (max-width:767px) {
  .rev-m>.row>:first-child { order:10 }
  .rev-m>.row>:nth-child(2) { order:9 }
  .rev-m>.row>:nth-child(3) { order:8 }
  .col { width:100% }
}
.grid { display:grid; grid-column-gap:var(--grid-column-gap); grid-row-gap:var(--grid-row-gap) }
.grid .grid-item { min-width:0 }
.grid-0 .grid { display:inline-block; margin-block-end:calc(-1 * var(--grid-row-gap)); width:100%; word-spacing:var(--grid-column-gap) }
.grid-0 .grid .grid-item { display:inline-block; margin-block-end:var(--grid-row-gap); word-break:break-word }
@media (max-width:767px) {
  .grid-mobile-3 .grid { grid-template-columns:repeat(3,1fr) }
}
@media (prefers-reduced-motion:no-preference) {
  html { scroll-behavior:smooth }
}
:is(.sec,.col,.w):where(:not(.e-con)):where(:not(.e-div-block-base)) { transition:background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s) }
.heading-title { line-height:1; margin:0; padding:0 }
.button { background-color:#69727d; border-radius:3px; color:#fff; display:inline-block; fill:#fff; font-size:15px; line-height:1; padding:12px 24px; text-align:center; transition:all .3s }
.button:focus, .button:hover, .button:visited { color:#fff }
.button-content-wrapper { display:flex; flex-direction:row; gap:5px; justify-content:center }
.button-text { display:inline-block }
.button.size-md { border-radius:4px; font-size:16px; padding:15px 30px }
.button span { text-decoration:inherit }
.icon { color:#69727d; display:inline-block; font-size:50px; line-height:1; text-align:center; transition:all .3s }
.icon:hover { color:#69727d }
.icon i { display:block; height:1em; position:relative; width:1em }
.icon i:before { left:50%; position:absolute; transform:translateX(-50%) }
.animated { animation-duration:1.25s }
.animated.animated-slow { animation-duration:2s }
@media (prefers-reduced-motion:reduce) {
  .animated { animation:none!important }
  html * { transition-delay:0s!important; transition-duration:0s!important }
}
@media (max-width:767px) {
  main .hide-m { display:none }
}
@media (min-width:768px) and (max-width:1024px) {
  main .hide-t { display:none }
}
@media (min-width:1025px) and (max-width:99999px) {
  main .hide-d { display:none }
}
body { --e-global-color-text:#7A7A7A; --e-global-typography-primary-font-family:"Montserrat"; --e-global-typography-primary-font-weight:600; --e-global-typography-secondary-font-family:"Montserrat"; --e-global-typography-secondary-font-weight:400; --e-global-typography-text-font-family:"Montserrat"; --e-global-typography-text-font-weight:400 }
.sec.boxed>.row { max-width:1170px }
.w:not(:last-child) { margin-block-end:var(--w-sp, 10px) }
@media (max-width:1024px) {
  .sec.boxed>.row { max-width:1024px }
}
@media (max-width:767px) {
  .sec.boxed>.row { max-width:767px }
}
.tab-title a { color:inherit }
.accordion { text-align:start }
.accordion .accordion-item { border:1px solid #d5d8dc }
.accordion .accordion-item+.accordion-item { border-block-start:none }
.accordion .tab-title { cursor:pointer; font-weight:700; line-height:1; margin:0; outline:none; padding:15px 20px }
.accordion .tab-title .accordion-icon { display:inline-block; width:1.5em }
.accordion .tab-title .accordion-icon.accordion-icon-left { float:left; text-align:left }
.accordion .tab-title .accordion-icon .accordion-icon-closed { display:block }
.accordion .tab-title .accordion-icon .accordion-icon-opened, .accordion .tab-title.active .accordion-icon-closed { display:none }
.accordion .tab-title.active .accordion-icon-opened { display:block }
.accordion .tab-content { border-block-start:1px solid #d5d8dc; display:none; padding:15px 20px }
@media (max-width:767px) {
  .accordion .tab-title { padding:12px 15px }
  .accordion .tab-title .accordion-icon { width:1.2em }
  .accordion .tab-content { padding:7px 15px }
}
@keyframes e-hotspot-expand { 0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.5)} }
.e-hotspot { align-items:center; display:flex; justify-content:center; position:absolute; z-index:1 }
.e-hotspot--position-right.e-hotspot--position-top { transform:translate(var(--hotspot-translate-x),calc(-1 * var(--hotspot-translate-y))) }
.e-hotspot__label { align-items:center; display:flex; justify-content:center }
.e-hotspot__button { color:var(--hotspot-color); cursor:pointer; display:grid; font-size:var(--hotspot-size,18px); grid-auto-flow:column; justify-content:center; min-height:var(--hotspot-button-height); min-width:var(--hotspot-button-width); position:relative }
.e-hotspot__button:before { box-sizing:content-box; content:""; height:100%; left:-5px; padding:5px; position:absolute; top:-5px; width:100%; z-index:-2 }
.e-hotspot:not(.e-hotspot--circle) .e-hotspot__button { background-color:var(--hotspot-box-color); border-radius:var(--hotspot-border-radius,3px); min-height:var(--hotspot-min-height); min-width:var(--hotspot-min-width); padding:var(--hotspot-padding,4px) }
.e-hotspot:not(.e-hotspot--circle) .e-hotspot__button:before { border-radius:var(--hotspot-border-radius,3px) }
.e-hotspot:not(.e-hotspot--circle) .e-hotspot--expand:before { background-color:var(--hotspot-box-color) }
.e-hotspot:not(.e-hotspot--circle) .e-hotspot--expand:before { animation:e-hotspot-expand 2s infinite; content:""; height:100%; opacity:0; position:absolute; width:100%; z-index:-1 }
.w-image { text-align:center }
.w-image a { display:inline-block }
.w-image img { display:inline-block; vertical-align:middle }
.flip-box { height:280px; perspective:1000px; position:relative; transform-style:preserve-3d }
@media (max-width:1024px) {
  .flip-box { cursor:pointer }
}
.flip-box__front { background-color:#1abc9c }
.flip-box__back { background-color:#4054b2; display:block }
.flip-box__layer { height:100%; position:absolute; transition:all .6s ease-in-out; width:100% }
@media (prefers-reduced-motion:reduce) {
  .flip-box__layer { transition-duration:0s }
}
.flip-box__layer__overlay { align-items:stretch; color:#fff; display:flex; flex-direction:column; height:100%; justify-content:center; padding:35px; text-align:center; width:100% }
.flip-box__layer__title { font-size:21px }
.flip-box__layer__description { font-size:14px }
.flip-box__layer__title:not(:last-child) { margin:0 0 20px; padding:0 }
.flip-box__layer__title { font-weight:600; line-height:1 }
.flip-box__image { display:inline-block; margin:0 0 20px; width:100% }
.flip-box__image img { width:50% }
.flip-box--effect-flip .flip-box { perspective:1000px; transform-style:preserve-3d }
.flip-box--effect-flip .flip-box__layer { backface-visibility:hidden; transform-style:preserve-3d }
.flip-box--effect-flip .flip-box__front { transform:none; z-index:1 }
.flip-box--effect-flip .flip-box:hover .flip-box__back { transform:none }
.flip-box--effect-flip.flip-box--direction-up .flip-box__back { transform:rotateX(-180deg) rotateY(0) }
.flip-box--effect-flip.flip-box--direction-up .flip-box:hover .flip-box__front { transform:rotateX(180deg) rotateY(0) }
.headline { display:block; font-size:43px; line-height:1.2 }
.headline-dynamic-text { color:var(--dynamic-text-color,#aebcb9) }
.headline--style-highlight .headline-dynamic-wrapper { overflow:visible; text-align:inherit }
.headline--style-highlight .headline-dynamic-text { z-index:1 }
.headline--style-highlight .headline-plain-text { position:relative; z-index:1 }
.headline--style-highlight svg { height:calc(100% + 20px); left:50%; overflow:visible; position:absolute; top:50%; transform:translate(-50%,-50%); width:calc(100% + 20px) }
.headline--style-highlight svg path { fill:none; opacity:0; stroke:red; stroke-dasharray:0 1500; stroke-width:9; transition:.3s }
.headline-text-wrapper { vertical-align:bottom }
.headline-dynamic-wrapper { display:inline-block; position:relative }
.headline-dynamic-wrapper .headline-dynamic-text { display:inline-block; inset-block-start:0; inset-inline-start:0; position:absolute }
.headline-dynamic-wrapper .headline-dynamic-text.headline-text-active { position:relative }
.shape { direction:ltr; left:0; line-height:0; overflow:hidden; position:absolute; width:100% }
.shape-top { top:-1px }
.shape svg { display:block; left:50%; position:relative; transform:translateX(-50%); width:calc(100% + 1.3px) }
.shape .shape-fill { fill:#fff; transform:rotateY(0deg); transform-origin:center }
:is(.sec,.col,.w) { --swiper-theme-color:#000; --swiper-pagination-bullet-horizontal-gap:6px }
:is(.sec,.col,.w) .swiper .swiper-slide figure { line-height:0 }
:is(.sec,.col,.w) .swiper .swiper-button { color:hsla(0,0%,93%,.9); cursor:pointer; display:inline-flex; font-size:25px; position:absolute; top:50%; transform:translateY(-50%); z-index:1 }
:is(.sec,.col,.w) .swiper .swiper-button-prev { left:10px }
:is(.sec,.col,.w) .swiper .swiper-button-next { right:10px }
:is(.sec,.col,.w) .swiper .swiper-horizontal>.swiper-pagination-bullets, :is(.sec,.col,.w) .swiper .swiper-pagination-bullets.swiper-pagination-horizontal { bottom:5px }
:is(.sec,.col,.w) :where(.swiper-horizontal)~.swiper-pagination-bullets { bottom:5px; left:0; width:100% }
:is(.sec,.col,.w) :where(.swiper-horizontal)~.swiper-pagination-bullets .swiper-pagination-bullet { margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px) }
.pagination-position-outside .swiper { padding-bottom:30px }
.pagination-position-outside .swiper .swiper-button { top:calc(50% - 30px / 2) }
:is(.sec,.col,.w) .swiper-box { position:relative }
:is(.sec,.col,.w) .main-swiper { position:static }
.arrows-position-outside .swiper { width:calc(100% - 60px) }
.arrows-position-outside .swiper .swiper-button-prev { left:0 }
.arrows-position-outside .swiper .swiper-button-next { right:0 }
.gallery__container { min-height:1px }
.gallery-item { border:solid var(--image-border-width) var(--image-border-color); border-radius:var(--image-border-radius); display:block; overflow:hidden; position:relative; text-decoration:none }
.gallery-item__overlay { height:100%; left:0; position:absolute; top:0; width:100% }
.gallery-item__overlay { mix-blend-mode:var(--overlay-mix-blend-mode); transition-duration:var(--overlay-transition-duration); transition-property:mix-blend-mode,transform,opacity,background-color }
.e-gallery-item.gallery-item { transition-property:all }
.e-gallery-item { position:relative; flex-grow:0; flex-shrink:0; transition-property:all; transition-duration:var(--animation-duration) }
.slides .swiper-slide-bg { background-position:50%; background-repeat:no-repeat; background-size:cover; min-height:100%; min-width:100% }
.slides .swiper-slide-inner { background-position:50%; background-repeat:no-repeat; inset:0; margin:auto; padding:50px; position:absolute }
.slides .swiper-slide-inner, .slides .swiper-slide-inner:hover { color:#fff; display:flex }
.slides .swiper-slide-inner .slide-heading { font-size:35px; font-weight:700; line-height:1 }
.slides .swiper-slide-inner .slide-description { font-size:17px; line-height:1.4 }
.slides .swiper-slide-inner .slide-heading:not(:last-child) { margin-bottom:30px }
.-v-position-middle .swiper-slide-inner { align-items:center }
.-h-position-center .swiper-slide-inner { justify-content:center }
@media (max-width:767px) {
  .slides .swiper-slide-inner { padding:30px }
  .slides .swiper-slide-inner .slide-heading { font-size:23px; line-height:1; margin-bottom:15px }
  .slides .swiper-slide-inner .slide-description { font-size:13px; line-height:1.4; margin-bottom:15px }
}
.w-image-carousel .swiper { position:static }
.w-image-carousel .swiper .swiper-slide figure { line-height:inherit }
.w-image-carousel .swiper-slide { text-align:center }
.w-rating { --e-rating-gap:0px; --e-rating-icon-font-size:16px; --e-rating-icon-color:#ccd6df; --e-rating-icon-marked-color:#f0ad4e; --e-rating-icon-marked-width:100%; --e-rating-justify-content:flex-start }
.w-rating .e-rating { display:flex; justify-content:var(--e-rating-justify-content) }
.w-rating .e-rating-wrapper { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:inherit; margin-block-end:calc(0px - var(--e-rating-gap)); margin-inline-end:calc(0px - var(--e-rating-gap)); width:-moz-fit-content; width:fit-content }
.w-rating .e-rating .e-icon { margin-block-end:var(--e-rating-gap); margin-inline-end:var(--e-rating-gap); position:relative }
.w-rating .e-rating .e-icon-wrapper.e-icon-marked { --e-rating-icon-color:var(--e-rating-icon-marked-color); height:100%; inset-block-start:0; inset-inline-start:0; overflow:hidden; position:absolute; width:var(--e-rating-icon-marked-width); z-index:1 }
.w-rating .e-rating .e-icon-wrapper :is(i,svg) { display:flex; flex-shrink:0 }
.w-rating .e-rating .e-icon-wrapper i { color:var(--e-rating-icon-color); font-size:var(--e-rating-icon-font-size) }
.testimonial__image { flex-shrink:0 }
.testimonial__image img { border-radius:999px; box-sizing:content-box; -o-object-fit:cover; object-fit:cover }
.testimonial__footer { display:flex }
.testimonial__footer cite { display:flex; flex-direction:column; font-size:14px; font-style:normal; line-height:1.5 }
.testimonial__name { font-weight:700 }
.testimonial--layout-image_inline .testimonial__footer { align-items:center }
.testimonial--layout-image_inline .testimonial__image+cite { margin-inline-start:20px }
.testimonial--layout-image_inline .testimonial__footer { margin-top:25px }
.testimonial--align-center .testimonial { text-align:center }
.testimonial--align-center.testimonial--layout-image_inline .testimonial__footer { justify-content:center }
.testimonial--align-center.testimonial--layout-image_inline .testimonial__image+cite { text-align:start }
.w-testimonial-carousel .swiper-slide { padding:20px }
.w-testimonial-carousel .testimonial__text { font-size:1.3em; font-style:italic; line-height:1.5 }
.w-testimonial-carousel .testimonial__image img { height:50px; width:50px }
.swiper-pagination-bullets { color:#fff; cursor:default }
.swiper-slide { border-style:solid; border-width:0; overflow:hidden; transition-duration:.5s; transition-property:border,background,transform; will-change:transform }
.swiper-slide a { display:inline }
.w-testimonial-carousel .main-swiper { width:95% }
.w-testimonial-carousel .swiper-wrapper { align-items:stretch; display:flex }
.w-testimonial-carousel .swiper-slide { height:auto }
.w-testimonial-carousel.pagination-type-bullets .swiper { padding-bottom:40px }
.w-testimonial-carousel .swiper-button-prev { left:0; right:unset }
.w-testimonial-carousel .swiper-button-next { left:unset; right:0 }
.w-testimonial-carousel.pagination-type-bullets .swiper-button-next, .w-testimonial-carousel.pagination-type-bullets .swiper-button-prev { top:calc(50% - 40px / 2) }
.w-media-carousel .swiper-button-prev { left:10px; right:unset }
.w-media-carousel .swiper-button-next { left:unset; right:10px }
.skin-carousel .main-swiper { height:230px }
.carousel-image { background:no-repeat 50%; background-size:cover; height:100%; position:relative }
.icon.social-icon { font-size:var(--icon-size,25px); height:calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em)); line-height:var(--icon-size,25px); width:calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em)) }
.social-icon { --e-social-icon-icon-color:#fff; align-items:center; background-color:#69727d; cursor:pointer; display:inline-flex; justify-content:center; text-align:center }
.social-icon i { color:var(--e-social-icon-icon-color) }
.social-icon:last-child { margin:0 }
.social-icon:hover { color:#fff; opacity:.9 }
.social-icon-envelope { background-color:#ea4335 }
.social-icon-linkedin { background-color:#0077b5 }
.wpforms-container noscript.wpforms-error-noscript { color:#900; font-weight:700; padding:10px 0 8px }
.wpforms-container .wpforms-submit-container { padding:10px 0 0 0; position:relative }
.wpforms-container { margin-bottom:26px }
.wpforms-container .wpforms-field-hp { display:none !important; position:absolute !important; left:-9000px !important }
div.wpforms-container .wpforms-form textarea { resize:vertical }
.wpforms-container input.wpforms-field-medium { max-width:60% }
.wpforms-container input.wpforms-field-large, .wpforms-container select.wpforms-field-large { max-width:100% }
.wpforms-container textarea.wpforms-field-large { height:220px }
.wpforms-container .wpforms-field { padding:10px 0; position:relative }
.wpforms-container .wpforms-field-label { display:block; font-weight:700; float:none; word-break:break-word; word-wrap:break-word }
.wpforms-container .wpforms-required-label { color:red; font-weight:normal }
.wpforms-container input[type=email], .wpforms-container input[type=text], .wpforms-container select, .wpforms-container textarea { display:block; width:100%; box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; float:none; font-family:inherit }
@media only screen and (max-width: 600px) {
  .wpforms-container .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern):not(.wpforms-field-radio):not(.wpforms-field-checkbox):not(.wpforms-field-layout):not(.wpforms-field-repeater):not(.wpforms-field-ranking) { overflow-x:hidden }
  .wpforms-container .wpforms-field { padding-right:1px; padding-left:1px }
  .wpforms-container .wpforms-form .wpforms-field>* { max-width:100% }
}
.w .icon-list-icon+.icon-list-text { align-self:center; padding-inline-start:5px }
.w .icon-list-icon { display:flex; inset-block-start:var(--icon-vertical-offset,initial); position:relative }
.w .icon-list-icon i { font-size:var(--e-icon-list-icon-size); width:1.25em }
@font-face { font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/font-awesome-brands.woff2) format("woff2"),url(/fonts/font-awesome-brands.woff) format("woff") }
@font-face { font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/font-awesome-brands-subset.woff) format("woff");unicode-range:U+f08c }
.fab { font-family:"Font Awesome 5 Brands"; font-weight:400 }
.fab, .far, .fas { -moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; display:inline-block; font-style:normal; font-variant:normal; text-rendering:auto; line-height:1 }
.fa-barcode:before { content:"" }
.fa-bullhorn:before { content:"" }
.fa-calendar-check:before { content:"" }
.fa-caret-down:before { content:"" }
.fa-caret-right:before { content:"" }
.fa-chart-line:before { content:"" }
.fa-check:before { content:"" }
.fa-check-circle:before { content:"" }
.fa-desktop:before { content:"" }
.fa-digital-tachograph:before { content:"" }
.fa-edit:before { content:"" }
.fa-envelope:before { content:"" }
.fa-expand-alt:before { content:"" }
.fa-file-alt:before { content:"" }
.fa-file-contract:before { content:"" }
.fa-hands-helping:before { content:"" }
.fa-handshake:before { content:"" }
.fa-hourglass-start:before { content:"" }
.fa-lightbulb:before { content:"" }
.fa-linkedin:before { content:"" }
.fa-list:before { content:"" }
.fa-list-alt:before { content:"" }
.fa-long-arrow-alt-down:before { content:"" }
.fa-map-marker-alt:before { content:"" }
.fa-money-bill:before { content:"" }
.fa-mouse-pointer:before { content:"" }
.fa-network-wired:before { content:"" }
.fa-newspaper:before { content:"" }
.fa-phone:before { content:"" }
.fa-phone-alt:before { content:"" }
.fa-plane:before { content:"" }
.fa-plane-departure:before { content:"" }
.fa-question-circle:before { content:"" }
.fa-retweet:before { content:"" }
.fa-store:before { content:"" }
.fa-trophy:before { content:"" }
.fa-wallet:before { content:"" }
.sr-only { border:0; clip:rect(0,0,0,0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px }
@font-face { font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(/fonts/font-awesome-solid.woff2) format("woff2"),url(/fonts/font-awesome-solid.woff) format("woff") }
@font-face { font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(/fonts/font-awesome-solid-subset.woff) format("woff");unicode-range:U+f00c, U+f022, U+f02a, U+f03a, U+f044, U+f058-f059, U+f072, U+f079, U+f091, U+f095, U+f0a1, U+f0d6-f0d7, U+f0da, U+f0e0, U+f0eb, U+f108, U+f15c, U+f1ea, U+f201, U+f245, U+f251, U+f274, U+f2b5, U+f309, U+f3c5, U+f424, U+f4c4, U+f54e, U+f555, U+f566, U+f56c, U+f5b0, U+f6ff, U+f879 }
.fas { font-family:"Font Awesome 5 Free"; font-weight:900 }
.sr-only { border:0 !important; clip:rect(1px, 1px, 1px, 1px) !important; clip-path:inset(50%) !important; height:1px !important; margin:-1px !important; overflow:hidden !important; padding:0 !important; position:absolute !important; width:1px !important; white-space:nowrap !important }
@font-face { font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/font-awesome-regular.woff2) format("woff2"),url(/fonts/font-awesome-regular.woff) format("woff") }
@font-face { font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(/fonts/font-awesome-regular-subset.woff) format("woff");unicode-range:U+f022, U+f044, U+f058-f059, U+f0e0, U+f0eb, U+f15c, U+f1ea, U+f274, U+f2b5 }
.far { font-family:"Font Awesome 5 Free"; font-weight:400 }
}
@layer site {

/* ---------- Brand ---------- */
:root {
  --pq-red: #d94948;
  --pq-navy: #011627;
  --pq-text: rgba(1, 22, 40, .75);
  --pq-light: #f9f8f8;
  --pq-font: "Montserrat", sans-serif;
}

/* ---------- Fonts (self-hosted) ---------- */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/montserrat-normal-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(/fonts/montserrat-normal-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Montserrat"; font-style: italic; font-weight: 100 900; font-display: swap; src: url(/fonts/montserrat-italic-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Montserrat"; font-style: italic; font-weight: 100 900; font-display: swap; src: url(/fonts/montserrat-italic-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Moon Dance"; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/moon-dance-normal-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Moon Dance"; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/moon-dance-normal-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- Accessibility ---------- */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed !important; top: 10px; left: 10px; width: auto; height: auto; clip: auto; margin: 0; padding: 12px 20px; background: #fff; color: var(--pq-navy); z-index: 100000; }

/* ---------- Header (transparent, over the first section) ---------- */
.pq-header { position: absolute; top: 0; left: 0; width: 100%; z-index: 99; font-family: var(--pq-font); }
.pq-header-bar { display: flex; align-items: center; min-height: 115px; padding: 0 35px; }
.pq-logo { display: block; flex-shrink: 0; margin-right: 20px; line-height: 0; }
.pq-logo img { display: block; width: 427px; max-width: 427px; height: auto; }
.pq-nav { margin-left: auto; padding-right: 10px; min-width: 0; }
.pq-menu, .pq-menu ul { list-style: none; margin: 0; padding: 0; }
.pq-menu { display: flex; flex-wrap: wrap; }
.pq-menu > li { position: relative; }
.pq-menu > li > a { display: flex; align-items: center; height: 70px; padding: 0 15px; font-size: 15px; line-height: 70px; white-space: nowrap; color: var(--pq-light); text-decoration: none; }
.pq-menu > li.has-sub > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: -4px 0 0 13px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg); }
.pq-menu .sub-toggle { display: none; }
.pq-menu .sub { position: absolute; top: 100%; left: 0; width: 240px; background: rgba(1, 22, 40, .75); border-top: 2px solid var(--pq-red); box-shadow: 0 4px 10px -2px rgba(0, 0, 0, .1); opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; z-index: 99999; }
.pq-menu > li:hover > .sub, .pq-menu > li:focus-within > .sub { opacity: 1; visibility: visible; }
.pq-menu .sub a { display: block; padding: 13.5px 15px; font-size: 15px; line-height: 21.75px; color: #fff; text-decoration: none; }
.pq-menu a:hover, .pq-menu a:focus { color: var(--pq-red); }
@media (min-width: 922px) {
  .pq-menu > li:hover > a, .pq-menu > li > a:focus { color: #fff; }
  .pq-menu .sub a:hover, .pq-menu .sub a:focus { color: #e93333; }
}
.pq-header-button { flex-shrink: 1; min-width: 0; overflow-wrap: anywhere; margin-left: 10px; display: block; padding: 16px 30px; border-radius: 100px; background: var(--pq-red); color: #fff; font-size: 15px; font-weight: 700; line-height: 15px; text-decoration: none; transition: all .2s linear; }
.pq-header-button:hover, .pq-header-button:focus { background: var(--pq-navy); color: #fff; }
.pq-menu-toggle { display: none; }

@media (max-width: 921.98px) {
  .pq-header-bar { flex-wrap: wrap; height: auto; min-height: 0; padding: 0 20px; }
  .pq-logo { display: flex; align-items: center; min-height: 112px; }
  .pq-header-button { display: none; }
  .pq-menu-toggle { display: flex; align-items: center; justify-content: center; margin-left: auto; width: 40.5px; height: 40.5px; padding: 10.26px; border: 0; border-radius: 0; background: var(--pq-red); color: var(--pq-light); cursor: pointer; }
  .pq-menu-toggle svg { width: 20px; height: 20px; }
  .pq-menu-toggle .i-close, .pq-menu-open .pq-menu-toggle .i-open { display: none; }
  .pq-menu-open .pq-menu-toggle .i-close { display: block; }
  .pq-nav { display: none; flex-basis: calc(100% + 40px); margin: 0 -20px; padding: 0; }
  .pq-menu-open .pq-nav { display: block; }
  .pq-menu { display: block; background: var(--pq-light); }
  .pq-menu > li > a, .pq-menu .sub a { display: block; height: auto; padding: 0 20px; font-size: 13.68px; line-height: 41.04px; color: var(--pq-text); border-bottom: 1px solid #ddd; }
  .pq-menu > li.current > a, .pq-menu > li.sub-open > a { color: var(--pq-red); }
  .pq-menu > li.has-sub > a::after { display: none; }
  .pq-menu .sub-toggle { display: flex; align-items: center; justify-content: center; position: absolute; top: 0; right: 20px; width: 38.8px; height: 42px; padding: 0; border: 0; background: none; color: var(--pq-text); cursor: pointer; }
  .pq-menu .sub-toggle svg { width: 18px; height: 18px; transition: transform .2s; }
  .pq-menu .sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  .pq-menu .sub { position: static; display: none; width: auto; opacity: 1; visibility: visible; border-top: 0; box-shadow: none; }
  .pq-menu li.sub-open > .sub { display: block; }
  .pq-menu .sub a { padding-left: 30px; color: #fff; }
  .pq-menu .sub a::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 9px 2px 0; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(-45deg); }
}
@media (max-width: 544px) {
  .pq-logo { min-height: 70px; }
  .pq-logo img { width: 187px; max-width: 187px; }
}

/* ---------- Footer ---------- */
.pq-footer { font-family: var(--pq-font); color: #fff; }
.pq-footer a { color: #fff; text-decoration: none; overflow-wrap: anywhere; }
.pq-footer a:hover, .pq-footer a:focus { color: var(--pq-red); }
.pq-footer ul { list-style: none; margin: 0; padding: 0; }
.pq-footer p { margin: 0 0 1.75em; }
.pq-footer-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); column-gap: 50px; align-items: start; max-width: 1200px; margin: 0 auto; }
.pq-footer-main { padding: 50px 20px 0; background: var(--pq-navy); border-top: 1px solid #e6e6e6; }
.pq-footer-main h2 { margin: 0 0 1em; font-size: 21px; font-weight: 400; line-height: 1.5; color: var(--pq-light); }
.pq-footer-bottom { padding: 30px; background: var(--pq-navy); }
.pq-footer-bottom p { margin: 0; }
.pq-footer-bottom .pq-footer-grid { min-height: 80px; }
@media (max-width: 921.98px) {
  .pq-footer-main { padding: 75px 25px 25px; }
  .pq-footer-main h2 { font-size: 1.4em; line-height: 1.5; }
  .pq-footer-col { margin-bottom: 10px; }
  .pq-footer-bottom .pq-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pq-footer-bottom nav { text-align: center; }
}
@media (max-width: 544px) {
  .pq-footer-grid, .pq-footer-bottom .pq-footer-grid { grid-template-columns: 1fr; }
  .pq-footer-main { padding: 75px 20px 55px; }
  .pq-footer-bottom { text-align: center; }
  .pq-footer-bottom .pq-footer-grid > * { margin-bottom: 10px; }
  .pq-footer-bottom .pq-footer-grid { padding-bottom: 10px; }
}

/* ---------- Entrance animations (data-anim="fadeInDown" etc.) ---------- */
[data-anim]:not(.animated) { visibility: hidden; }
.animated { animation-duration: 1.25s; animation-fill-mode: both; }
.animated.animated-slow { animation-duration: 2s; }
.animated.animated-fast { animation-duration: .75s; }
@keyframes fadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeInLeft { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes fadeInRight { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes zoomIn { from { opacity: 0; transform: scale3d(.3, .3, .3); } 50% { opacity: 1; } }
.fadeInDown { animation-name: fadeInDown; } .fadeInUp { animation-name: fadeInUp; } .fadeIn { animation-name: fadeIn; }
.fadeInLeft { animation-name: fadeInLeft; } .fadeInRight { animation-name: fadeInRight; } .zoomIn { animation-name: zoomIn; }
@media (prefers-reduced-motion: reduce) { .animated { animation: none !important; } }

/* ---------- Carousels (data-carousel): structure is in @layer lib below so widget styles can override it ---------- */


/* widget-container margins were merged onto .w: let the box shrink by its margins like the old inner wrapper */
:root { --pq-widget-gap: 10px; }
/* the old #page wrapper stopped the hero's negative top margin from pulling the header up */
body { display: flow-root; }
main { overflow-wrap: break-word; } /* was on the old .entry-content wrapper */
.col-in>.w:not(:last-child):not(.w-auto):not(.w-initial):not(.abs) { --w-sp: var(--pq-widget-gap); }
.col-in>.w { width: -moz-available; width: -webkit-fill-available; width: stretch; }
}

/* Lowest layer: carousel mechanics (what swiper.css used to provide). */
@layer lib {
.swiper { display: block; position: relative; z-index: 1; overflow: hidden; margin-left: auto; margin-right: auto; padding: 0; list-style: none; }
.swiper-wrapper { position: relative; z-index: 1; display: flex; width: 100%; height: 100%; box-sizing: content-box; transition: transform var(--speed, 500ms) ease; }
.swiper-slide { flex: 0 0 calc((100% - (var(--n, 1) - 1) * var(--gap, 0px)) / var(--n, 1)); margin-right: var(--gap, 0px); position: relative; }
.swiper-slide:last-child { margin-right: 0; }
.swiper-slide { flex-shrink: 0; height: 100%; }
.swiper-pagination { position: absolute; z-index: 10; text-align: center; }
.swiper-pagination-bullets.swiper-pagination-horizontal { bottom: 8px; left: 0; width: 100%; }
.swiper-pagination-bullet { display: inline-block; width: 8px; height: 8px; margin: 0 4px; border-radius: 50%; background: #000; opacity: .2; cursor: pointer; }
.swiper-pagination-bullet-active { opacity: 1; background: var(--swiper-pagination-color, var(--swiper-theme-color)); }
}
.w-accordion .tab-content:not([hidden]), .w-toggle .tab-content:not([hidden]) { display: block; }
.wc { height: 100%; }
/* Image gallery (grid): plain CSS grid; links open the full image */
.pq-gallery { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: var(--gap, 10px); }
@media (max-width: 1023.98px) { .pq-gallery { grid-template-columns: repeat(var(--cols-t, 2), minmax(0, 1fr)); gap: var(--gap-t, 10px); } }
@media (max-width: 766.98px) { .pq-gallery { grid-template-columns: repeat(var(--cols-m, 1), minmax(0, 1fr)); gap: var(--gap-m, 10px); } }
.pq-gallery > a { display: block; position: relative; overflow: hidden; }
.pq-gallery img { display: block; width: 100%; height: auto; aspect-ratio: var(--ratio, 3/2); object-fit: cover; }
.pq-gallery .gallery-item__overlay { position: absolute; inset: 0; transition: background-color var(--overlay-transition-duration, .8s); }
/* Animated headline, "highlight" style: a hand-drawn marker stroke drawn under the words */
.headline-dynamic-wrapper { position: relative; display: inline-block; }
.headline-dynamic-wrapper svg { position: absolute; top: 50%; left: 50%; width: calc(100% + 20px); height: calc(100% + 20px); transform: translate(-50%, -50%); overflow: visible; pointer-events: none; }
.headline-dynamic-wrapper svg path { fill: none; stroke: var(--hl-stroke, red); stroke-width: 9; stroke-dasharray: 0 1500; opacity: 0; }
.headline.drawn svg path { animation: pq-dash var(--animation-duration, 1.2s) forwards; }
.headline.hide-mark svg path { animation: pq-hide-mark .4s forwards; opacity: 1; stroke-dasharray: 1500 1500; }
@keyframes pq-dash { 0% { stroke-dasharray: 0 1500; opacity: 1; } to { stroke-dasharray: 1500 1500; opacity: 1; } }
@keyframes pq-hide-mark { 0% { opacity: 1; stroke-dasharray: 1500 1500; } to { opacity: 0; stroke-dasharray: 1500 1500; } }
@media (prefers-reduced-motion: reduce) { .headline.drawn svg path { animation-duration: 0s; } }

/* Gallery lightbox (replaces the Elementor/Swiper lightbox, same look and controls) */
@layer site {
.lb{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.8);color:rgba(237,237,237,.9);font-size:15px;user-select:none;animation:lb-in .5s}
.lb[hidden]{display:none}
@keyframes lb-in{from{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}
.lb-head{position:absolute;inset:0 0 auto;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 15px 0 20px;z-index:3}
.lb-tools{display:flex;gap:14px;position:relative}
.lb-tools>button{width:30px;height:30px}
.lb button{all:unset;cursor:pointer;display:grid;place-items:center;color:rgba(237,237,237,.9)}
.lb button:hover{color:#fff}
.lb-tools svg{width:22px;height:22px;fill:currentColor}
.lb-close svg{width:22px;height:22px}
.lb-share{position:absolute;top:calc(100% + 20px);right:20px;background:#fff;border-radius:5px;padding:12px 15px;display:none;flex-direction:column;gap:10px;font-size:11px}
.lb-share:before{content:"";position:absolute;top:-8px;right:28px;border:8px solid transparent;border-top:0;border-bottom-color:#fff}
.lb.share-open .lb-share{display:flex}
.lb.share-open .lb-zc img{opacity:.2}
.lb-share a{white-space:nowrap;color:#333;display:flex;align-items:center;gap:8px;text-decoration:none}
.lb-share a:hover{color:#000}
.lb-share svg{flex:none;width:13px;height:13px;fill:currentColor}
.lb-stage{position:absolute;inset:0;overflow:hidden}
.lb-track{display:flex;gap:100px;height:100%}
.lb-slide{flex:0 0 100%;position:relative}
.lb-zc{position:absolute;inset:70px;transition:transform .3s}
.lb-zc img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s,opacity .3s}
.lb.zoomed .lb-slide.on .lb-zc{cursor:move;touch-action:none}
.lb-head,.lb-foot{transition:background-color .3s}
.lb.zoomed .lb-head,.lb.zoomed .lb-foot{background:rgba(0,0,0,.5)}
.lb.zoomed .lb-slide.on img{transform:scale(3)}
.lb .lb-nav{display:flex;align-items:center;position:absolute;top:60px;bottom:54px;width:205px;z-index:2}
.lb .lb-nav.prev{left:0;justify-content:center}.lb .lb-nav.next{right:0;justify-content:center}
.lb-nav svg{width:25px;height:25px;fill:currentColor}
.lb-foot{position:absolute;inset:auto 0 0;min-height:54px;display:flex;align-items:center;justify-content:center;padding:15px 20px;font-size:16px;font-weight:700;color:rgba(237,237,237,.9);text-align:center;z-index:2}
.lb-foot:empty{display:none}
@media (max-width:767px){.lb-zc{inset:60px 0}.lb .lb-nav{width:60px}}
.lb .lb-nav[hidden]{display:none}
}

@layer site {
/* ---------- Article and legal pages (blog posts, case studies, terms) ---------- */
.band { height: 110px; background: var(--pq-navy, #081625); }
.band.tall { height: 125px; }
.post { display: flex; flex-direction: column; max-width: 1170px; margin: 0 auto; padding: 67px 10px 10px; color: rgba(1, 22, 40, .75); }
.post > * { margin-block: 0 10px; }
.post > .tight, .post > :last-child { margin-bottom: 0; }
.post > figure { margin-top: 0; text-align: center; }
.post > figure img { display: inline-block; vertical-align: middle; }
.post > .w55 img { width: 55%; }
.post > .w79 img { width: 79%; }
.post > .cover { margin-bottom: 40px; }
.post > .ns { margin-top: 20px; }
.post > .bleed { margin: -8px -8px -8px; }
.post > .bleed.ns { margin-top: 12px; }
.post-title { margin-top: 0; color: #011627; font-size: 34px; font-weight: 700; line-height: 1.3; text-align: center; }
.post-title.left { text-align: justify; }
.post-title.inset { padding-inline: 58px; }
.prose { padding: 58px; text-align: justify; color: rgba(1, 22, 40, .75); }
.prose.mt-0 { padding-top: 0; }
.prose.mt-20 { padding-top: 20px; }
.prose.mt-36 { padding-top: 36px; }
.prose.mt-38 { padding-top: 38px; }
.prose.mb-0 { padding-bottom: 0; }
.prose.pad-46 { padding: 46px; }
.prose.pad-53 { padding: 53px; }
.prose:not(.mt-0) > :first-child { margin-top: 0 !important; }
.prose:not(.mb-0) > :last-child { margin-bottom: 0 !important; }
.prose:not(.mb-0) > div:last-child > p:last-child { margin-bottom: 0 !important; }
.post .gap { height: 50px; }
.post .gap.lg { height: 90px; }
.gap-end { height: 110px; }
main.article.white { background: #fff; }
@media (max-width: 1024px) { .post { padding-top: 67px; } }
@media (max-width: 767px) { .post-title { font-size: 24px; } }

/* ---------- Legal pages (terms of use, privacy policy) ---------- */
.legal-page { max-width: 1170px; margin: 0 auto; padding: 80px 10px 10px; }
.legal-title { margin: 0 0 20px; color: #011627; font-size: 34px; font-weight: 700; line-height: 1.3; }
.legal-text { text-align: justify; }
@media (max-width: 767px) { .legal-title { font-size: 24px; } }

/* Image + text band after a case study */
.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; max-width: 1170px; margin: 0 auto; padding: 80px 0; }
.split figure { margin: 0 50px 0 0; }
.split img { display: block; width: 100%; height: auto; }
.split > div { margin-left: 50px; }
.split h4 { margin: 0; color: #011627; font-size: 22px; font-weight: 700; line-height: 1.2; }
.split h5 { margin: 30px 0 0; color: #011627; font-size: 18px; font-weight: 700; line-height: 1.2; text-align: justify; }
@media (max-width: 1024px) { .split { padding: 50px 35px; } .split > div { margin-left: 0; } .split h5 { margin-top: 10px; } }
@media (max-width: 767px) {
  .split { grid-template-columns: 1fr; padding: 50px 25px; }
  .split figure { margin: 0; padding: 50px 0; }
  .split > div { margin-top: 30px; }
  .split h4 { font-size: 16.4px; }
  .split h5 { font-size: 14.6px; }
}

/* ---------- Buttons and call-to-action bands (phase 2) */
.btn { display: inline-block; padding: 16px 30px; border-radius: 100px; background-color: var(--pq-red); color: #fff; font-weight: 700; font-size: 15px; font-size: 1rem; line-height: 1; text-align: center; text-decoration: none; transition: all .3s; }
.btn:visited, .btn:hover, .btn:focus { color: #fff; }
.btn:hover, .btn:focus { background-color: var(--ast-global-color-1); }
.btn-row { margin: 0; }
.btn-row.center { text-align: center; }
.btn-row.right { text-align: right; }
.cta-split { background-color: #FEF6F5; padding: 120px 0; }
.cta-split .in { display: flex; align-items: flex-start; max-width: 1170px; margin: 0 auto; }
.cta-split .in > * { width: 50%; }
.cta-split h2 { margin: 0; font-size: 34px; font-weight: 700; line-height: 1.3; color: #011627; }
.cta-split .in > div { padding-left: 50px; }
.cta-split .text { display: flow-root; margin-bottom: 10px; }
.cta-split .btn { margin-top: 30px; }
.end-1 { height: 1px; }
@media (max-width: 1024px) {
  .cta-split { padding: 90px 25px; }
  .cta-split .in > h2 { width: 45%; }
  .cta-split .in > div { padding-left: 20px; }
  .cta-split .btn { margin-top: 0; }
}
@media (max-width: 767px) {
  .cta-split { padding: 75px 20px; }
  .cta-split .in { display: block; }
  .cta-split .in > h2, .cta-split .in > div { width: auto; }
  .cta-split h2 { font-size: 24px; }
  .cta-split .in > div { margin-top: 20px; padding-left: 0; }
}
.btn-row.pad-58 { padding: 0 58px 58px; }
.btn-row.half { width: 50%; }
.post > .lead-gap { height: 20px; }
@media (max-width: 1024px) {
  .post > .btn-row.flush.ns { margin-top: 10px; }
  .post > .btn-row.flush:last-child { margin-bottom: -10px; }
}
@media (max-width: 767px) { .btn-row.half { width: auto; } }
.post > .gap.sm { height: 30px; }
@media (max-width: 1024px) { .post > .btn-row.half.flush + .ns { margin-top: 11px; } }

/* ---------- Guide pages (main.pillar): intro, text/image split, heading and text blocks, feature band */
main.pillar { --pl-c: var(--e-global-color-astglobalcolor5, #fff); }
.pillar-intro { background: #fff; padding: 60px 0; }
.pillar-intro .in { max-width: 680px; margin: 0 auto -1px; padding-bottom: 40px; text-align: center; box-sizing: content-box; }
.pillar-intro h1 { margin: 0 0 40px; font-size: 70px; line-height: 1.4; font-weight: 700; }
.pillar-intro .text { display: flow-root; }
.pillar-intro figure { max-width: 1170px; margin: 0 auto; text-align: center; }
.pillar-intro figure img { width: 100%; }
.pillar-split { position: relative; display: flex; align-items: center; max-width: 1100px; margin: -69px auto; padding: 120px 0; background: #fff; box-sizing: content-box; }
.pillar-split > div { width: 51.817%; text-align: justify; }
.pillar-split h6 { margin: 10px 0 0; font-size: 1.0667rem; line-height: 1.25; font-weight: 700; }
.pillar-split .text { display: flow-root; margin-top: 28px; }
.pillar-split figure { width: 48.183%; margin: 0; text-align: end; }
.pillar-split figure img { width: 80%; }
.guide { display: flex; flex-direction: column; max-width: 1170px; margin: 0 auto; padding: 0 30px; box-sizing: border-box; }
.guide > * { margin: 10px 0; }
.guide > .text { display: flow-root; text-align: justify; }
.guide h2 { font-size: 34px; line-height: 1.3; font-weight: 700; }
.pillar-feature { display: flex; align-items: flex-start; margin-bottom: 9px; padding: 80px calc((100% - 1170px) / 2); background: var(--e-global-color-astglobalcolor4, #f9f8f8); }
.pillar-feature h2 { width: 28%; margin: 0; font-size: 34px; line-height: 1.3; font-weight: 700; }
.pillar-feature .text { display: flow-root; width: 48%; padding: 0 100px 0 50px; box-sizing: border-box; }
.pillar-feature .btn-row { width: 23.332%; padding: 10px; box-sizing: border-box; }
.pillar-img { max-width: 1170px; margin: 0 auto; padding: 10px; text-align: center; }
.btn-row.float { position: fixed; left: 0; right: 0; bottom: 0; margin: 0 0 5px; padding: 0 10px; text-align: right; z-index: 99; pointer-events: none; }
.btn-row.float .btn { pointer-events: auto; }
@media (max-width: 1024px) {
  .pillar-intro { padding: 100px 50px; }
  .pillar-intro .in { margin-bottom: 0; padding: 50px; }
  .pillar-intro h1 { margin-bottom: 20px; }
  .pillar-split { margin: -69px 0; padding: 80px 35px; }
  .pillar-split > div { width: 58%; }
  .pillar-split h6 { margin-top: 0; }
  .pillar-split .text { margin-top: 10px; }
  .pillar-split figure { width: 42%; }
  .pillar-split figure img { width: 90%; }
  .pillar-feature { display: block; padding: 50px; }
  .pillar-feature h2, .pillar-feature .text, .pillar-feature .btn-row { width: auto; text-align: center; }
  .pillar-feature .text { padding: 30px 0; }
  .pillar-feature .btn-row { padding: 0; }
}
@media (max-width: 767px) {
  .pillar-intro { padding: 90px 25px; }
  .pillar-intro .in { padding: 0; }
  .pillar-intro figure { padding: 50px 0; }
  .pillar-split { display: block; padding: 60px 35px; }
  .pillar-split > div, .pillar-split figure { width: auto; }
  .pillar-split figure { margin-top: 30px; }
  .pillar-split figure img { width: 100%; }
  .pillar-feature { padding: 50px 30px 75px; }
  .pillar-intro h1 { font-size: 28px; }
  .pillar-split h6 { font-size: .9333rem; }
  .guide h2, .pillar-feature h2 { font-size: 24px; }
}
.end-20 { height: 20px; }
.pillar-feature.v2 { margin-bottom: 0; }
.pillar-feature.v2 h2 { width: calc(22% - 50px); margin: 0 20px 0 30px; }
.pillar-feature.v2 .text { width: 54%; }
@media (max-width: 1024px) {
  .pillar-feature.v2 h2, .pillar-feature.v2 .text { width: auto; }
}
.pillar-img.m27 { padding: 37px; }

/* ---------- Photo header band (section.page-hero, image in --hero-bg) */
.page-hero { position: relative; padding: 230px 0; background: var(--hero-bg) center / cover no-repeat; text-align: center; }
.page-hero::before { content: ""; position: absolute; inset: 0; background: var(--e-global-color-astglobalcolor2, #011627); opacity: .4; }
.page-hero h1 { position: relative; max-width: min(780px, calc(100% - 20px)); margin: 10px auto; line-height: 1.4; font-weight: 500; color: var(--e-global-color-astglobalcolor5, #fff); }
@media (max-width: 1024px) { .page-hero { padding: 100px 50px; } }
@media (max-width: 767px) { .page-hero { padding: 90px 20px; } .page-hero h1 { margin: 10px; font-size: 28px; } }

/* ---------- Contact pages */
.contact-grid { display: flex; align-items: flex-start; max-width: 1170px; margin: 0 auto; padding: 80px 0 30px; }
.contact-grid > div { width: 50%; box-sizing: border-box; }
.contact-grid h2 { margin: 0 0 10px; line-height: 1.3; font-weight: 400; }
.contact-main h2 { margin: 0; }
.contact-grid h5 { margin: 0 0 10px; font-weight: 500; }
.contact-main { padding-right: 60px; }
.contact-main .lead { margin-top: 10px; line-height: 20px; }
.contact-main .wpforms-container { padding-top: 32px; }
.icon-list { margin: 0 0 10px; padding: 10px 0 0; list-style: none; }
.icon-list li + li { margin-top: 10px; }
.icon-list a { display: flex; align-items: center; color: var(--e-global-color-astglobalcolor0); }
.icon-list a:hover { color: var(--e-global-color-astglobalcolor2); }
.icon-list i { width: 1.25em; padding-inline-end: 15px; font-size: 15px; color: var(--e-global-color-astglobalcolor0); }
.icon-list a:hover i { color: var(--e-global-color-astglobalcolor2); }
.icon-list span { padding-inline-start: 5px; margin-inline-start: 15px; }
.social { margin: 0; line-height: 1; font-size: 0; }
.social .social-icon { display: inline-flex; align-items: center; justify-content: center; width: calc(16px + 1.4em); height: calc(16px + 1.4em); border-radius: 50%; background-color: var(--e-global-color-astglobalcolor0); font-size: 16px; line-height: 16px; }
.social .social-icon + .social-icon { margin-left: 11px; }
.social .social-icon i { color: var(--e-global-color-astglobalcolor5); }
.social .social-icon:hover { background-color: var(--e-global-color-astglobalcolor2); }
.map { padding: 10px; line-height: 0; }
.map iframe { width: 100%; height: 402px; border: 0; }
/* Click-to-load map (Law 25, no third-party request before the visitor asks): the placeholder keeps the iframe's size */
.map-placeholder { box-sizing: border-box; height: 402px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 24px; text-align: center; line-height: 1.5; background: #F5F5F5; }
.map-placeholder p { margin: 0; max-width: 34em; }
.map-placeholder .map-note { font-size: 14px; color: #555; }
.map-placeholder .map-load { cursor: pointer; font: inherit; padding: 12px 28px; border: 0; border-radius: 100px; background: var(--ast-global-color-0); color: #fff; }
.map-placeholder .map-load:hover, .map-placeholder .map-load:focus-visible { background: var(--ast-global-color-1); }
.contact-grid.v2 .contact-info { width: 45%; }
.contact-grid.v2 .contact-main { width: 54.332%; }
.contact-grid.v2 h3 { margin: 0; font-weight: 500; }
.contact-grid.v2 .lead { margin-top: 0; }
.contact-grid.v2 .icon-list { padding-top: 0; }
.contact-grid.v2 .icon-list li + li { margin-top: 0; }
@media (max-width: 1024px) {
  .contact-grid { display: block; padding: 60px 50px 30px; }
  .contact-grid > div, .contact-grid.v2 .contact-info, .contact-grid.v2 .contact-main { width: auto; }
  .contact-info { margin-bottom: 40px; }
  .contact-main { padding-right: 45px; }
}
@media (max-width: 767px) {
  .contact-grid { padding: 10px 20px 0; }
  .contact-info { margin: 40px 0 30px; }
  .contact-main { padding-right: 0; }
  .contact-grid h2 { font-size: 24px; }
  .contact-main .wpforms-container { padding-top: 0; }
  .social .social-icon { width: calc(15px + 1.4em); height: calc(15px + 1.4em); font-size: 15px; }
}
.social .social-icon { position: relative; }
.contact-grid.v2 .contact-main .wpforms-container { padding-top: 20px; }

/* ---------- Packages pages: offer intro, price cards, promo band */
.offer { display: flex; align-items: center; max-width: 1170px; margin: 0 auto; padding: 80px 0; box-sizing: content-box; }
.offer > * { width: 50%; box-sizing: border-box; }
.offer-text { padding-left: 50px; }
.offer h2, .pk-list h2 { margin: 9px 0 10px; font-weight: 400; color: #081625; }
.offer .text { margin: 29px 10px 20px; display: flow-root; }
.offer .text > :last-child { margin-bottom: 0; }
.offer .text p:last-child { margin-bottom: 14px; }
.offer figure { margin: 0; padding: 0 50px 0 8px; line-height: 0; }
.offer figure img { width: 100%; height: auto; }
.pk-list { max-width: 1170px; margin: 0 auto; padding: 80px 0; }
.pk-list.v2 { padding-bottom: 50px; }
.pk-list h2 { margin: 9px 0 10px 52px; }
.price-row { display: flex; padding-top: 30px; }
.price-card { flex: none; min-width: min-content; width: calc(33.333% - 20px); margin-right: 20px; box-sizing: border-box; border: 1px solid #e2e2e2; border-radius: 15px; box-shadow: 0 0 10px 0 rgba(0,0,0,.5); overflow: hidden; text-align: center; }
.price-head { padding: 16px 12px 12px; background: var(--e-global-color-astglobalcolor3); }
.price-head h3 { margin: 0; color: #FAFAFA; font-size: 25px; font-weight: 600; line-height: 1.2; }
.price-head p { margin: 0; padding: 24px 0 3.43px; line-height: 27.857px; color: #FEF8F8; font-size: 13px; font-family: var(--e-global-typography-primary-font-family), Sans-serif; font-weight: var(--e-global-typography-primary-font-weight); }
.price-card.alt .price-head p { color: #F6F2F2; }
.price-card ul { margin: 0; padding: 80px 0 0; list-style: none; color: #686868; text-align: start; line-height: 1; }
  .price-card li { font-size: 16px; font-weight: 300; line-height: 1; }
.price-card li + li:before { content: ""; display: block; margin: 15px 25%; border-top: 1px solid rgba(255,255,255,.22); }
.price-card li i { font-size: 1.3em; margin-inline-end: 10px; }
.price-foot { margin: 0; padding: 30px 0; background: var(--e-global-color-astglobalcolor4); }
.price-foot .btn { padding: 15px 45px; border-radius: 24px; background: var(--e-global-color-astglobalcolor0); color: var(--e-global-color-astglobalcolor5); font-size: 14px; font-weight: 600; text-transform: uppercase; transition-duration: .3s; transition-property: transform; }
.price-foot .btn:hover, .price-foot .btn:focus { background: #FCDAD7; color: var(--e-global-color-astglobalcolor5); transform: scale(1.1); }
.promo { display: flex; max-width: 1170px; margin: 0 auto; background: #fff; }
.promo > * { width: 50%; box-sizing: border-box; }
.promo-text { padding: 10px; }
.promo h3 { margin: 0 0 10px; padding: 20px 20px 20px 0; }
.checks { margin: 0 0 10px; padding: 0; list-style: none; }
.checks li { display: flex; align-items: center; }
.checks i { flex-shrink: 0; width: 1.25em; font-size: 14px; }
.checks span { padding-inline-start: 5px; }
.promo figure { margin: 0; line-height: 0; }
.promo figure img { width: 100%; height: auto; }
.end-pk { height: 101px; }
.price-card .f { display: block; margin: 0 12.5%; }
@media (max-width: 1024px) {
  .offer { padding: 50px 35px; }
  .offer-text { padding-left: 0; }
  .offer h2, .pk-list h2 { margin: 0 0 10px; text-align: center; }
  .offer .text { margin: 0; }
  .offer .text p:last-child { margin-bottom: 24px; }
  .offer .btn-row { margin-top: 30px; }
  .offer figure { padding: 0 50px 0 0; }
  .pk-list, .pk-list.v2 { padding: 100px 25px; }
  .price-card { width: calc(33.333% - 12px); margin-right: 12px; }
  .price-card .f { margin: 0 16.5%; }
}
@media (max-width: 921px) { .price-head p { padding: 22.4px 0 3.4px; line-height: 25.406px; } }
@media (max-width: 767px) {
  .offer { display: block; padding: 50px 25px; }
  .offer > * { width: auto; }
  .offer-text { margin-top: 30px; }
  .offer figure { padding: 50px 0; }
  .pk-list, .pk-list.v2 { padding: 50px 20px; }
  .pk-list.v2 .price-card .f { margin: 0 11.5%; }
  .price-row { display: block; padding-top: 15px; }
  .price-card { width: auto; margin: 0; }
  .price-card .f { margin: 0 7.5%; }
  .price-card ul { padding-top: 79px; }
  .promo { display: block; }
  .promo > * { width: auto; }
}

/* ---------- About pages (main.about): team intro, founder, team cards, why-us band, feature cards, join band */
.band.ab { height: 110px; }
.ab-intro { display: flex; flex-direction: column; max-width: 1170px; box-sizing: border-box; margin: 0 auto; padding: 30px 10px 0; }
.ab-intro hr { width: 100%; margin: 25px 0; border: 0; border-top: 1.5px solid var(--e-global-color-astglobalcolor3); }
.ab-intro h2 { margin: 10px 0 20px; padding: 0 80px; font-size: 35px; font-weight: 400; color: #081625; text-align: center; }
.ab-intro .lead { margin: 10px 0 -9px; text-align: center; }
.ab-founder { max-width: 1200px; margin: 0 auto; padding-top: 30px; color: #081625; }
.ab-founder h2 { margin: 0 0 10px; font-weight: 400; color: #081625; }
.ab-title { margin-left: calc(35% + 50px); padding: 10px; }
.ab-bio { display: flex; align-items: flex-start; }
.ab-bio figure { width: 34.083%; margin: 0; padding: 10px; box-sizing: border-box; line-height: 0; }
.ab-bio figure img { width: auto; max-width: 100%; height: auto; }
.ab-bio > div { width: calc(65.917% - 50px); margin-left: 50px; padding: 10px; box-sizing: border-box; }
.ab-bio .text { margin-bottom: 10px; font-size: 14px; }
.ab-bio .text p { margin-bottom: 0; }
.ab-bio .text:not(:last-child) { margin-bottom: 20px; }
.ab-title h2:first-child { margin-bottom: 20px; }
.ab-sign { padding: 0 30px 30px; color: #081625; }
.ab-sign .in { display: grid; grid-template-columns: 35% 65%; max-width: 1200px; margin: 0 auto; }
.ab-sign .in > div { grid-column: 2; margin-left: 50px; padding: 10px; }
.ab-sign figure { margin: 0 0 10px; line-height: 0; }
.ab-sign figure img { width: 328px; height: auto; }
.ab-social { margin: 0; font-size: 0; line-height: 1; }
.ab-social.left { text-align: left; }
.ab-social .social-icon { position: relative; --icon-size: 14px; --icon-padding: .6em; border-radius: 50%; background-color: #D84B48; }
.ab-social .social-icon i { color: #fff; }
.ab-social .social-icon:hover { background-color: #212121; }
.ab-social .social-icon + .social-icon { margin-left: 8px; }
.ab-social.left .social-icon + .social-icon { margin-left: 12px; }
.ab-team { display: flex; flex-direction: column; max-width: 1170px; margin: 0 auto; }
.ab-team > h2 { margin: 18px 10px 20px; font-size: 35px; font-weight: 400; color: #081625; text-align: center; }
.ab-cards { display: flex; justify-content: center; }
.ab-card { width: 37%; padding: 10px; box-sizing: border-box; background: var(--e-global-color-astglobalcolor4); text-align: center; }
.ab-card > * { margin: 0 0 10px; }
.ab-card > :last-child { margin-bottom: 0; }
.ab-card figure img { width: 92%; height: auto; }
.ab-card h2 { margin: 0 0 10px; font-family: "Moon Dance", Sans-serif; font-size: 40px; font-style: oblique; color: #D84B48; }
.ab-card h4 { margin: 0; font-size: 15px; color: #081625; }
.ab-card .role { color: #081625; }
.ab-card .text { margin: 0 12px; text-align: justify; font-size: 14px; }
.ab-why { padding: 30px 0; background: #1E2A3B; }
.ab-why h1 { max-width: 939px; margin: 0 auto; font-size: 30px; font-weight: 400; color: #fff; text-align: center; }
.ab-feats { max-width: 1170px; margin: 0 auto; padding: 10px 0; }
.ab-grid { display: flex; }
.ab-feat { width: 25%; padding: 25px 28px; box-sizing: border-box; border: 1px solid #fff; box-shadow: 0 6px 25px -16px rgba(5, 5, 5, .17); background: var(--e-global-color-astglobalcolor5); text-align: center; }
.ab-feat figure { margin: 0 0 10px; line-height: 0; }
.ab-feat figure img { width: 100%; height: 220px; object-fit: cover; object-position: top center; }
.ab-feat figure.center img { object-position: center center; }
.ab-feat figure.bottom img { object-position: bottom center; }
.ab-feat .ft { margin-bottom: 10px; padding: 10px 0; font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; color: #D84B48; line-height: 1; }
.ab-feat .text { font-size: 16px; }
.ab-feat .text p { margin-bottom: 0; }
.ab-feats .btn-row { padding: 21px 0 50px; }
.ab-join { display: flex; align-items: center; background: #fff; }
.ab-join > * { width: 50%; box-sizing: border-box; }
.ab-join .in { display: flex; flex-direction: column; max-width: 500px; margin: 0 auto; padding: 50px 0 0; }
.ab-join .btn-row { margin: 31px 0 -1px; }
.ab-join h2 { width: auto; margin: 0 0 9px; font-weight: 400; color: var(--e-global-color-astglobalcolor2); }
.ab-join h3 { margin: 0 0 10px; font-weight: 400; color: #081625; }
.ab-join figure { margin: 0; line-height: 0; }
.ab-join figure img { width: 100%; height: auto; }
.end-ab { height: 22px; }
@media (max-width: 1024px) {
  .ab-intro h2 { margin-bottom: 10px; }
  .ab-founder { padding: 0 60px; }
  .ab-title { margin: 20px 0 0; text-align: center; }
  .ab-title h2, .ab-title h2:first-child { margin-bottom: 0; }
  .ab-title h2:first-child:not(:last-child) { margin-bottom: 10px; }
  .ab-bio { display: block; padding-top: 120px; }
  .ab-bio figure { width: auto; margin-top: 50px; text-align: center; }
  .ab-bio > div { width: auto; margin: 50px 0 0; text-align: center; }
  .ab-sign { padding: 0 60px 10px; }
  .ab-sign .in { display: block; text-align: center; }
  .ab-sign .in > div { margin: 0; }
  .ab-social.left { text-align: center; }
  .ab-team > h2 { margin: 10px; }
  .ab-why { padding: 40px 25px; }
  .ab-why h1 { margin-bottom: 25px; }
  .ab-feat { margin-bottom: 20px; }
  .ab-join h2, .ab-join h3 { margin: 0; text-align: center; }
  .ab-join .in { max-width: none; margin: 0; padding: 50px 40px 0; }
  .ab-join .btn-row { margin-top: 51px; padding: 0 40px; text-align: center; }
}
@media (max-width: 767px) {
  .band.ab { height: 70px; }
  .ab-intro h2, .ab-founder h2 { font-size: 20px; }
  .ab-founder { padding: 0 35px; }
  .ab-title h2.hide-d { margin: 0 10px; }
  .ab-bio { padding-top: 0; }
  .ab-bio figure { margin-top: 20px; }
  .ab-bio > div { margin-top: 40px; }
  .ab-sign { padding: 0 35px 60px; }
  .ab-social .social-icon { --icon-padding: .8em; }
  .ab-cards, .ab-grid { display: block; }
  .ab-card, .ab-feat { width: auto; }
  .ab-why { padding: 40px 20px 20px; }
  .ab-why h1 { margin: 0 25px 10px; font-size: 16px; }
  main.about .hide-m { display: none; }
  .ab-feats .btn-row { padding: 0 0 20px; }
  .ab-join { flex-direction: column-reverse; align-items: stretch; }
  .ab-join > * { width: auto; }
  .ab-join .in { padding: 50px 25px 0; }
  .ab-join .btn-row { margin-top: 31px; padding: 0 25px; }
}
@media (max-width: 1024px) {
  .ab-title, .ab-bio figure, .ab-bio > div, .ab-sign .in > div { padding: 0; }
}

/* ---------- Who we are pages (main.whoweare): intro, mission/vision, values grid, news and awards cards */
.wa-intro, .wa-news, .wa-cta { display: flex; flex-direction: column; max-width: 1170px; margin: 0 auto; padding: 30px 10px 0; box-sizing: border-box; }
.wa-intro hr, .wa-news hr { width: 100%; margin: 25px 0 15px; border: 0; border-top: 1px solid #000; }
.wa-intro hr.pb40 { margin: 15px 0 55px; }
.wa-intro hr.tight { margin: 15px 0 15px; }
.wa-title { margin: 20px 0 9px; padding: 0 80px; text-align: center; }
.wa-intro .text { margin: 10px 0 10px; }
.wa-intro .btn-row { margin-bottom: 10px; }
.wa-mv { display: flex; max-width: 1156px; margin: 0 auto; }
.wa-mv > div { margin-bottom: 45px; padding: 10px; box-sizing: border-box; text-align: center; }
.wa-mv > .wa-mv-1 { width: 48.888%; padding: 22px 22px 13px; }
.wa-mv-2 { width: 48.719%; }
.wa-mv > div > p, .wa-card > p { margin: 0; }
.wa-mv figure, .wa-card figure { display: inline-block; width: 30%; margin: 0 auto 15px; }
.wa-mv figure img, .wa-card figure img { display: block; max-width: 100%; height: auto; }
.rose { background-color: #FEF6F5; }
.grey { background-color: var(--e-global-color-astglobalcolor4); }
.tint { background-image: linear-gradient(rgb(249 248 248 / .5), rgb(249 248 248 / .5)); }
.wa-values > h2 { max-width: 1138px; margin: 8px auto 17px; font-weight: 400; color: #081625; text-align: center; }
.wa-vgrid { padding: 20px 35px; background: var(--e-global-color-astglobalcolor4); }
.wa-vrow { display: flex; align-items: center; max-width: 1170px; margin: 0 auto; }
.wa-val { display: flex; flex-direction: column; width: 50%; text-align: center; }
.wa-val > * { margin: 0 0 10px; }
.wa-val > :last-child { margin-bottom: 0; }
.wa-val figure { line-height: 0; }
.wa-val figure img { width: 43%; height: auto; border-radius: 5%; }
.wa-val h2 { font-weight: 600; color: #D84B48; }
.wa-val p { color: #081625; }
.wa-val p.pb10 { margin: 10px 38px; }
.wa-val p.pb30 { margin: 10px 38px 30px; }
.wa-cta { padding-top: 24px; }
.wa-cta .text { margin: 10px 0 -10px; text-align: center; font-weight: 600; }
.wa-cta .btn-row { margin: 10px 0 10px; }
.wa-news { padding: 0; }
.wa-news > hr { width: auto; margin-inline: 10px; }
.wa-news > h2 { margin: 20px 10px; font-weight: 400; color: #081625; text-align: center; }
.wa-cards { display: flex; }
.wa-card { flex: 1; box-sizing: border-box; padding: 10px; border-radius: 8px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5); text-align: center; background-color: #fff; }
.wa-card.rose { background-color: #FEF6F5; }
.wa-card .btn-row { margin: 20px 5px 5px; }
.wa-card.ini .btn-row { margin-top: 10px; }
.wa-card.pt22 > figure { margin-top: 22px; }
.b-navy { border: 1px solid var(--e-global-color-astglobalcolor2); }
.b-red { border: 1px solid var(--e-global-color-astglobalcolor0); }
.b-grey { border: 1px solid #7A7A7A; }
.wa-card.b-3 { border-width: 3px; }
.wa-cards.n3 > .wa-card { flex: none; width: 33.333%; }
.wa-card.mr5 { margin-right: 5px; }
.wa-cards.n3 > .mr5, .wa-cards.n3 > .ml5 { width: calc(33.333% - 5px); }
.wa-card.ml5 { margin-left: 5px; }
.gap-28 { height: 28px; }
.wa-h2 { margin: 10px; font-weight: 400; color: #081625; text-align: center; }
.end-wa { height: 30px; }
.wa-mv > .wa-mv-gap { width: 2.031%; margin: 0; padding: 0; }
@media (max-width: 1024px) {
  .wa-values > h2 { max-width: none; margin: 16px; }
  .wa-vgrid { padding: 10px; }
  .wa-news > h2 { margin: 10px; }
}
@media (max-width: 767px) {
  .wa-title { padding: 0; }
  .wa-intro .text { text-align: center; }
  .wa-mv, .wa-vrow, .wa-cards { display: block; }
  .wa-mv { display: flow-root; }
  .wa-mv > div, .wa-val, .wa-cards.n3 > .wa-card { width: auto !important; }
  .wa-mv > .wa-mv-1 { margin: 3px; }
  .wa-mv-gap { display: none; }
  .wa-vgrid { padding: 10px 30px 60px; }
  .wa-vgrid.m30 { padding: 30px 30px 60px; }
  .wa-vrow + .wa-vrow { margin-top: 40px; }
  .wa-vrow.rev-m { display: flex; flex-direction: column-reverse; }
  .wa-val p.mpb30 { margin-bottom: 30px; }
}

/* ---------- Client success stories (main.stories) */
main.stories { color: #081625; }
.cs-intro { max-width: 1170px; margin: 0 auto; padding: 44px 10px 10px; box-sizing: border-box; background: #fff; }
.cs-intro h2, .cs-trust h2 { margin: 9px 80px 0; text-align: center; font-family: "Montserrat", Sans-serif; font-weight: 400; color: #081625; }
.cs-intro h2 { margin-bottom: 20px; }
.cs-intro .text { text-align: center; }
.cs-intro .text p { margin-bottom: 1.75em; }
.cs-row { display: flex; padding: 0 20px; }
.cs-row + .cs-row, .cs-trust { margin-top: 40px; }
.cs-col { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; padding: 10px; width: 33.333%; }
.cs-col:nth-child(1) { width: 29.03%; }
.cs-col:nth-child(2) { width: 37.3%; }
.cs-col.n5 { width: 33.041%; }
.cs-col.top { justify-content: flex-start; }
.cs-img { margin: 0; text-align: center; }
.cs-img img, .cs-logos img { max-width: 100%; height: auto; vertical-align: middle; }
.cs-flip .flip-box__front, .cs-flip .flip-box__back { background-color: var(--e-global-color-astglobalcolor4); }
.cs-flip .flip-box__layer__overlay, .cs-flip .flip-box__layer__title, .cs-flip .flip-box__layer__description { color: #081625; }
.cs-hl { --animation-duration: 1200ms; --dynamic-text-color: #081625; --hl-stroke: #081625; }
.cs-hl .headline { margin: 0; text-align: center; font-size: 14px; font-weight: 400; font-style: italic; }
.cs-hl .headline-dynamic-text { font-weight: 600; z-index: auto; }
.cs-hl .headline-dynamic-wrapper svg path { stroke-linecap: round; stroke-linejoin: round; }
.cs-hl .headline-dynamic-wrapper svg { z-index: 2; }
.cs-list { list-style: none; margin: 0; padding: 0; }
.cs-list.narrow { width: 89.556%; }
.cs-list.shadow .icon-list-text { text-shadow: 0 0 10px rgba(0,0,0,.3); }
.cs-list li { display: flex; align-items: center; margin: 0; padding: 0; }
.cs-list li:not(:last-child) { padding-bottom: 10px; }
.cs-list li:not(:first-child) { margin-top: 10px; }
.cs-list .icon-list-icon { display: flex; padding-inline-end: 10px; }
.cs-list .icon-list-icon i { font-size: 27px; width: 1.25em; }
.cs-list .icon-list-text { align-self: center; padding-inline-start: 5px; }
.cs-col .mt-10 { margin-top: 10px; } .cs-col .mt-20 { margin-top: 20px; } .cs-col .mt-30 { margin-top: 30px; } .cs-col .mt-40 { margin-top: 40px; }
.cs-col .mb-30 { margin-bottom: 30px; }
.cs-trust { padding: 10px 10px 50px; }
.cs-logos { display: flex; max-width: 1170px; margin: 0 auto 40px; }
.cs-logos figure { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 33.333%; margin: 0; padding: 10px; }
@media (max-width: 1024px) { .cs-intro h2, .cs-trust h2 { margin-top: 0; } .cs-intro { padding-top: 44px; } }
@media (max-width: 767px) {
  .cs-row, .cs-logos { flex-direction: column; }
  .cs-col, .cs-col:nth-child(n), .cs-logos figure { width: 100%; }
}

/* ---------- Expand pages (main.expand: expand-east, expand-into-western-canada, vers-lest, vers-louest)
   title, hero with map hotspot, approach cards, case-study cards, why-us cards, closing panel */
main.expand { color: var(--ast-global-color-3); }
main.expand :where(h2, h3, h4) { margin: 0; }
.xp-title p, .xp-band p, .xp-card > p, .xp-case > p, .xp-panel > p { margin: 0; }
.xp-card > p, .xp-case > p { line-height: 1; }
.band.xp { height: 110px; background: #081625; }
.xp-title { padding: 50px 10px 10px; background: #fff; }
.xp-title h2 { max-width: 1150px; margin: 0 auto 10px; text-align: center; font-size: 35px; font-weight: 300; text-transform: uppercase; color: #1E2A3B; }
.xp-hero { display: flex; flex-direction: column; max-width: 1600px; margin: 0 auto; padding: 20px 15px 35px; background: #fff; }
.xp-hero > :not(:last-child) { margin-bottom: 10px; }
.xp-hotspot { position: relative; --container-height: 300px; --hotspot-min-width: 0px; --hotspot-padding: 18px; }
.xp-hotspot > img { display: block; width: 100%; height: var(--container-height); object-fit: cover; object-position: center center; }
.xp-hotspot .e-hotspot { right: 21%; --hotspot-translate-x: 21%; top: 0%; --hotspot-translate-y: 0%; }
.xp-hotspot .e-hotspot__label { font-size: 21px; font-weight: 400; letter-spacing: 0; word-spacing: 1px; }
.xp-hero figure { margin: 0; line-height: 0; }
.xp-hero > .text { margin-bottom: 0; padding: 20px 0 15px; text-align: center; font-size: 17px; font-weight: 500; line-height: 25px; }
.xp-band { padding: 30px 10px; background: #1E2A3B; }
.xp-band h2 { max-width: 939px; margin: 0 auto; text-align: center; font-size: 30px; font-weight: 400; color: #fff; }
.xp-approach { position: relative; overflow: hidden; padding: 20px 0 30px; background: #FEF6F5; }
.xp-approach > svg { position: absolute; top: -1px; left: 50%; z-index: 0; width: calc(144% + 1.3px); height: 380px; transform: translateX(-50%); }
.xp-approach > svg .shape-fill { fill: #fff; }
.xp-cards { position: relative; display: flex; max-width: 1170px; margin: 0 auto; }
.xp-card { display: flex; flex-direction: column; justify-content: center; width: 33.333%; padding: 20px; text-align: center; }
.xp-card > :not(:last-child) { margin-bottom: 10px; }
.xp-card figure { margin: 0; line-height: 0; }
.xp-card:nth-child(2) img { box-shadow: 0 0 17px 0 rgba(0,0,0,.5); }
.xp-card:nth-child(3) img { box-shadow: 0 0 15px 0 rgba(0,0,0,.5); }
.xp-card h3 { font-size: 23px; font-weight: 600; color: #1E2A3B; }
.xp-card > p { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; color: #D84B48; }
.xp-card .text { font-size: 15px; }
.xp-card .text p { margin-bottom: 0; }
.xp-card:first-child .text { margin-inline: 4px; }
.xp-card hr { width: 60%; margin: 9px auto 20px !important; border: 0; border-top: 1px solid #9FACB6; }
.xp-list { list-style: none; margin: 0; padding: 0; font-size: 15px; text-align: start; --e-icon-list-icon-size: 15px; }
.xp-list li { display: flex; align-items: center; }
.xp-list li:not(:last-child) { padding-bottom: 5px; }
.xp-list li:not(:first-child) { margin-top: 5px; }
.xp-list .icon-list-icon { display: flex; padding-inline-end: 10px; }
.xp-list .icon-list-icon i { width: 1.25em; font-size: 15px; color: #D84B48; }
.xp-list .icon-list-text { padding-inline-start: 5px; }
.xp-cases { padding: 20px 0 30px; background: #fff; }
.xp-why { display: flex; flex-direction: column; padding: 20px 0 30px; background: #fff; }
.xp-row { display: flex; max-width: 1170px; margin: 0 auto; }
.xp-why .xp-row { margin: 10px auto; }
.xp-case { display: flex; flex-direction: column; width: 33.333%; padding: 25px 28px; border: 1px solid #fff; background: #fff; box-shadow: 0 6px 25px -16px rgba(5,5,5,.17); text-align: center; }
.xp-case > figure { margin: 0 0 10px; line-height: 0; }
.xp-case > p:not(:last-child) { margin-bottom: 10px; padding: 10px 0; font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; color: #1E2A3B; }
.xp-case .text { margin-bottom: 10px; font-size: 15px; text-align: start; }
.xp-case > :last-child { margin-bottom: 0; }
.xp-cases .xp-case > p:last-child { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; color: #D84B48; }
.xp-cases figure img { height: 89px; }
.xp-cases .xp-case:nth-child(1) figure img { max-width: 93%; }
.xp-cases .xp-case:nth-child(2) figure img { width: 100%; max-width: 48%; }
.xp-cases .xp-case:nth-child(3) figure img { width: 100%; max-width: 95%; }
.xp-cases > .btn-row { margin: 0; padding: 30px 10px 0; }
.xp-cases .btn { text-shadow: 0 0 10px rgba(0,0,0,.3); }
.xp-why .xp-case > figure img { width: 100%; height: 220px; object-fit: cover; object-position: center center; }
.xp-why .xp-case > p:not(:last-child) { color: #D84B48; }
.xp-why .xp-case .text { margin-bottom: 0; font-size: 16px; text-align: center; }
.xp-why .xp-case .text p { margin-bottom: 0; }
.xp-closing { display: flex; max-width: 1170px; margin: 0 auto; padding: 20px 0 30px; }
.xp-closing > figure { width: 45.299%; margin: 0; padding: 10px; text-align: end; line-height: 0; }
.xp-closing > figure img { width: 63%; border-radius: 2px; }
.xp-panel { display: flex; flex-direction: column; width: calc(54.701% - 100px); margin: 30px 100px 30px 0; padding: 10px; background: #1E2A3B; }
.xp-panel h4 { margin: 0 10px; font-size: 16px; font-weight: 400; color: #F5F5F5; }
.xp-panel > h4:first-child { margin: 80px 0 10px 10px; font-weight: 500; font-size: 22px; }
.xp-panel > :not(:last-child) { margin-bottom: 10px; }
.xp-panel hr { margin: 15px 10px 25px !important; padding: 0; border: 0; border-top: 1px solid #fff; height: auto; }
.xp-panel .btn-row { margin: 20px 0 0 10px; }
.xp-panel .btn { font-weight: 300; }
.xp-why .xp-case { width: 25%; }
.xp-band h2 { line-height: 1.3; }
.east .xp-why .xp-row:first-child .xp-case:nth-child(2) > :is(p, .text), .west .xp-why .xp-row:first-child .xp-case:first-child > :is(p, .text), :is(.east, .west) .xp-why .xp-row:nth-child(2) .xp-case:first-child > :is(p, .text) { margin-inline: -5px; }
@media (max-width: 767px) { main.expand .hide-m { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) { main.expand .hide-t { display: none; } }
@media (min-width: 1025px) { main.expand .hide-d { display: none; } }
.xp-hero figure { text-align: center; }
@media (max-width: 1024px) {
  .xp-title { padding: 20px; }
  .xp-title h2 { margin-bottom: 0; }
  .xp-band { padding: 40px 25px; }
  .xp-band h2 { padding-bottom: 25px; }
  .xp-approach { padding: 90px 25px; }
  .xp-card { padding: 0 10px; }
  .xp-card h3 { font-size: 22px; }
  .xp-case { margin-bottom: 20px; }
  .xp-closing > figure img { width: 64%; }
  .xp-panel h4, .xp-panel > h4:first-child { text-align: center; font-size: 14px; }
  .xp-panel h4:not(:first-child) { margin: 0 0 10px; }
}
@media (max-width: 767px) {
  .band.xp { height: 70px; }
  .xp-title { padding: 30px 20px 10px; }
  .xp-title h2 { font-size: 20px; }
  .xp-hero { padding: 15px; }
  .xp-band { padding: 20px; }
  .xp-band h2 { padding: 0 25px; font-size: 16px; }
  .xp-approach { padding: 15px 20px 30px; }
  .xp-approach > svg { height: 240px; }
  .xp-cards, .xp-row, .xp-closing { display: block; }
  .xp-why .xp-row { display: none; }
  .xp-card, .xp-case, .xp-why .xp-case { width: auto; }
  .xp-card { padding: 0; }
  .xp-card h3 { font-size: 21px; }
  .xp-card hr { margin-top: 10px !important; }
  .xp-card .xp-list { margin: 0 0 20px 10px; }
  .xp-card:last-child .xp-list { margin-bottom: 0; }
  .east .xp-cases { padding: 10px 0 0; }
  .xp-cases .xp-case .text { margin-left: -25px; }
  .east .xp-cases > .btn-row { padding-top: 0; }
  .xp-closing { padding: 0 0 20px; }
  .xp-closing > figure { width: auto; text-align: center; }
  .xp-closing > figure img { width: 100%; }
  .xp-panel { width: auto; margin: 0; }
  .xp-panel > h4:first-child { margin: 20px 0 10px; font-size: 25px; }
  .xp-panel .btn-row { margin: 20px 0 30px; text-align: center; }
  .xp-panel .btn { font-size: 14px; }
}
/* vers-lest */
.est .xp-title h2 { color: #081625; }
:is(.est, .ouest) .xp-card h3 { color: var(--ast-global-color-2); }
:is(.east, .est) .xp-hero + .xp-band h2 { text-transform: uppercase; }
:is(.est, .west, .ouest) .xp-why .xp-row { margin: 0 auto; }
@media (max-width: 767px) {
  .xp-why .xp-case:first-child img { object-position: top center; }
  .xp-why .xp-case:last-child img { object-position: bottom center; }
  .east .xp-why .xp-row:first-child .xp-case:nth-child(2) img, :is(.est, .ouest) .xp-why .xp-case:nth-child(3) img { object-position: top center; }
  .est .xp-title { padding: 30px 30px 10px; }
  .est .xp-title h2 { padding: 0 50px; }
  :is(.est, .west, .ouest) .xp-approach { padding-bottom: 50px; }
  :is(.est, .ouest) .xp-card + .xp-card { margin-top: 20px; }
  :is(.est, .ouest) .xp-card .xp-list { margin: 0; padding-bottom: 10px; }
  :is(.est, .ouest) .xp-card:last-child .xp-list { padding-bottom: 0; }
  .est .xp-band.why h2 { padding: 0 40px; }
  :is(.est, .ouest) .xp-why .xp-row { display: block; }
  .est .xp-panel > h4:first-child { margin-top: 30px; }
  .est .xp-closing { padding: 20px 0 30px; }
}
/* expand-into-western-canada and vers-louest (hero without text, plain logo images) */
:is(.west, .ouest) .xp-hotspot { --container-height: 350px; }
:is(.west, .ouest) .xp-hotspot .e-hotspot { right: 8%; --hotspot-translate-x: 8%; }
:is(.west, .ouest) .xp-hero > .btn-row { padding-top: 10px; }
:is(.west, .ouest) .xp-cases .xp-case figure img { width: auto; max-width: 100%; height: auto; }
:is(.west, .ouest) .xp-panel > h4:first-child { margin-bottom: 0; }
@media (max-width: 767px) {
  .west .xp-why .xp-row.hide-d { display: block; }
  .west .xp-closing { padding: 0; }
  .west .xp-panel > h4:first-child { margin-top: 30px; font-size: 22px; }
}
:is(.west, .ouest) .xp-hero > .text { padding: 20px 20px 15px; }
.west .xp-hero > .text { margin-bottom: -3px; }
@media (max-width: 767px) {
  .west .xp-band h2 { font-size: 18px; }
  .west .xp-why .xp-case:nth-child(3) img { object-position: top left; }
}
/* vers-louest: two title variants, 1px-high tablet image, logo laid over the first case card, extra heading spacing */
.ouest .xp-title h2.hide-m { margin-bottom: 20px; }
.ouest .xp-hero { min-height: 400px; }
.ouest .xp-hero figure { line-height: inherit; }
.ouest .xp-hero figure img { height: 1px; object-fit: cover; }
.xp-case { position: relative; }
.xp-case > figure.abs { position: absolute; top: 0; left: 0; z-index: 1; width: 100%; margin: 0; }
.ouest .xp-cases .xp-case:first-child > p:nth-of-type(3) { padding-top: 40px; }
@media (max-width: 767px) {
  .ouest .xp-title h2.hide-d { padding: 0 30px; }
  .ouest .xp-hero { min-height: 0; max-width: 500px; padding: 15px; }
  .ouest .xp-hero figure img { height: 200px; }
}
@media (max-width: 767px) {
  .ouest .xp-cases { padding: 0; }
  .ouest .xp-cases > .btn-row { padding: 5px 10px 20px; }
  .ouest .xp-band.why h2 { padding: 0 50px; }
  .ouest .xp-why { padding: 10px 0 0; }
  .ouest .xp-closing { padding: 0; }
  .ouest .xp-panel > h4:first-child { margin: 20px 40px; font-size: 25px; }
}

/* ---------- Services page (main.services: french-english-business-development-marketing-services)
   banner, intro, service cards, approach steps, FAQ accordion, "Prepare yourself" boxes */
main.services :where(h2, h3, h4) { margin: 0; }
.sv-banner { margin: 0; text-align: center; line-height: 0; }
.sv-banner img { max-width: 100%; height: auto; }
.sv-gap { background: #fff; }
.sv-gap.g1 { height: 21px; } .sv-gap.g2 { height: 22px; } .sv-gap.g5 { height: 25px; } .sv-gap.g20 { height: 40px; }
.sv-head { padding: 10px; background: #fff; }
.sv-head.grey { background: #f9f8f8; }
.sv-head h2 { max-width: 1150px; margin: 9px auto 0; padding: 0 80px; box-sizing: border-box; font-family: "Montserrat", Sans-serif; font-weight: 400; color: #081625; }
.sv-intro { padding: 10px; background: #f9f8f8; text-align: center; }
.sv-intro p { max-width: 1150px; margin: 0 auto 1.75em; }
.sv-cards { position: relative; overflow: hidden; padding: 20px 0 0; background: #FEF6F5; }
.sv-cards > svg { position: absolute; top: -1px; left: 50%; z-index: 0; width: calc(144% + 1.3px); transform: translateX(-50%); }
.sv-cards > svg .shape-fill { fill: #fff; }
.sv-row { position: relative; display: flex; max-width: 1170px; margin: 0 auto; }
.sv-card { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; width: 33.333%; padding: 20px; }
.sv-card figure { margin: 0 0 10px; text-align: center; line-height: 0; }
.sv-card img { max-width: 100%; height: auto; box-shadow: 0 0 17px 0 rgba(0,0,0,.5); }
.sv-card h3 { margin: 10px 0 10px; font-family: "Montserrat", Sans-serif; font-size: 20px; font-weight: 500; }
.sv-tailor { background: #fff; }
.sv-tailor .in { box-sizing: border-box; width: 88.974%; max-width: 1041px; margin: 0 auto; padding: 10px; border-radius: 60px; background: #FEF6F5; }
.sv-tailor p { margin: 30px; padding: 0; text-align: center; }
.sv-approach { display: flex; align-items: center; max-width: 1300px; margin: 0 auto; background: #fff; }
.sv-approach figure { width: 50%; margin: 0; text-align: center; line-height: 0; }
.sv-approach figure img { max-width: 100%; height: auto; }
.sv-steps { box-sizing: border-box; width: 50%; margin-left: -60px; padding: 50px 0; }
.sv-step { display: flex; align-items: flex-start; margin: 10px 0; }
.sv-step + .sv-step { margin-top: 20px; }
.sv-check { box-sizing: border-box; width: calc(24.661% - 20px); margin: 10px; padding: 35px 25px 28px 24px; border-radius: 60px; background: #fff; box-shadow: 0 0 19px 0 rgba(0,0,0,.1); text-align: center; font-size: 30px; line-height: 39px; color: #D84B48; }
.sv-check i { display: inline-block; }
.sv-step.round .sv-check { border-radius: 90px; }
.sv-step h4 { flex: 1; margin: 40px 0 40px 30px; color: #212121; }
.sv-contact { max-width: 1170px; margin: 0 auto; padding: 10px; box-sizing: border-box; }
.sv-contact h2 { margin: 45px 10px 10px; }
.sv-faq { display: flex; justify-content: flex-end; max-width: 1170px; margin: 0 auto; }
.sv-faq-col { box-sizing: border-box; width: 50%; padding: 10px; }
.sv-faq h3 { margin-bottom: 10px; font-family: "Montserrat", Sans-serif; font-weight: 500; }
.sv-faq .w-accordion { padding: 15px; background: #F5F5F5; }
.sv-faq .accordion-item { border-width: 1px; border-color: #F5F5F5; }
.sv-faq .tab-title { padding: 16px; }
.sv-faq .tab-title.active { border-block-end: 1px solid #F5F5F5; }
.sv-faq .tab-content { padding: 5px 16px 16px; border-block-start-color: #F5F5F5; background: #f9f8f8; }
.sv-faq .accordion-icon { margin-inline-end: 15px; }
.sv-faq .tab-title.active .accordion-icon, .sv-faq .tab-title.active a { color: #d94948; }
.sv-prep { display: flex; align-items: center; box-sizing: border-box; max-width: 1200px; margin: 0 auto; padding: 100px 0; background: #fff; }
.sv-prep > h2 { flex: none; width: calc(46% - 100px); margin-right: 100px; }
.sv-prep-col { display: flex; flex-direction: column; justify-content: center; align-self: stretch; box-sizing: border-box; width: 27%; margin-top: -50px; padding-right: 15px; }
.sv-prep-col:last-child { width: 26.664%; margin-top: 50px; padding: 0 0 0 15px; }
.sv-box { display: flex; flex-direction: column; gap: 10px; margin: 4px; padding: 50px 35px; border-radius: 15px; text-align: center; background: rgba(1,22,40,.75); box-shadow: 0 0 30px 0 rgba(0,0,0,.05); transition: box-shadow .3s; }
.sv-box:not(:last-child) { margin-bottom: 14px; }
.sv-box:hover { box-shadow: 0 0 10px 0 rgba(0,0,0,.08); }
.sv-box .icon { display: block; line-height: 1; font-size: 40px; color: #FCDAD7; fill: #FCDAD7; }
.sv-box h4 { margin-block-end: 12px; color: #fff; }
.sv-box h4 a { color: inherit; }
@media (max-width: 1024px) {
  .sv-head h2 { margin-top: 0; text-align: center; }
  .sv-cards { padding: 90px 25px; }
  .sv-card { padding: 0 10px; }
  .sv-check { width: calc(30% - 20px); }
  .sv-steps { margin-left: 0; }
  .sv-prep { flex-wrap: wrap; padding: 50px; }
  .sv-prep > h2 { width: calc(100% - 60px); margin: 30px 30px 0; }
  .sv-prep-col, .sv-prep-col:last-child { width: 50%; margin: 0; padding: 15px; }
  .sv-steps { padding: 50px 0; }
}
@media (max-width: 767px) {
  .sv-cards { padding: 75px 20px 50px; }
  .sv-row, .sv-approach, .sv-step { flex-direction: column; }
  .sv-card, .sv-approach figure, .sv-steps, .sv-faq-col { width: 100%; }
  .sv-card { padding: 0; }
  .sv-card:nth-child(odd) { margin-top: 30px; }
  .sv-steps { padding: 30px 0; }
  .sv-check { width: calc(36% - 20px); margin: 10px calc(32% + 10px); }
  .sv-step h4 { margin: 65px 25px; text-align: center; }
  .sv-tailor .in { width: 100%; }
  .sv-faq { padding-top: 20px; }
  .sv-faq-col { padding: 0; }
  .sv-prep { padding: 50px 30px; }
  .sv-prep > h2 { width: 100%; margin: 20px 0; text-align: center; }
  .sv-step { align-items: stretch; }
  .sv-prep-col, .sv-prep-col:last-child { width: 100%; padding: 0; }
  .sv-box, .sv-box:not(:last-child) { margin: 20px 0; }
  .sv-prep-col:nth-child(2) .sv-box:first-child { margin-top: 0; }
  .sv-prep-col:last-child .sv-box:last-child { margin-bottom: 0; }
  .sv-faq .tab-title { padding: 12px 12px 25px; }
}

/* ---------- Solutions pages (main.solutions: our-solutions, nos-services-marketing-commercial)
   reuses the expand bands/approach cards (xp-*) and the stories row (cs-*); own parts are so-* */
main.solutions { color: var(--ast-global-color-3); }
main.solutions :where(h1, h2, h3, h4) { margin: 0; }
main.solutions .text p { margin-bottom: 1.6em; }
.band.so { height: 110px; background: #081625; }
.so-title { display: flex; flex-direction: column; max-width: 1170px; margin: 0 auto; padding: 40px 1px 50px 0; box-sizing: border-box; text-align: center; background: #fff; }
.so-title > :not(:last-child) { margin-bottom: 10px; }
.so-title h1:first-child { margin-top: 9px; font-size: 35px; font-weight: 300; color: #1E2A3B; }
.so-title > :is(h1, h2):not(:first-child) { font-size: 33px; font-weight: 400; color: #1E2A3B; }
.so-title > h2 { margin-top: 9px; }
.so-title .text { margin-top: 10px; margin-bottom: 0; line-height: 25px; }

.so-title .btn-row { margin: 0; }
.xp-band.so h2 { font-size: 30px; text-transform: uppercase; }
.so-text { display: flex; flex-direction: column; max-width: 1170px; margin: 0 auto; padding: 20px 10px 10px; box-sizing: border-box; text-align: center; background: #fff; }
.so-text > :not(:last-child) { margin-bottom: 10px; }
.so-text h2 { font-size: 25px; font-weight: 400; color: #1E2A3B; }
.so-regions { display: flex; max-width: 1170px; margin: 0 auto; padding: 0 0 50px; box-sizing: border-box; background: #fff; }
.so-region { position: relative; display: flex; flex-direction: column; justify-content: center; flex: 1; margin: 0 20px 0 0; padding: 230px 30px 30px; background: var(--bg) center / cover no-repeat; color: #fff; text-decoration: none; }
.so-region + .so-region { margin: 0 0 0 20px; }
.so-region::before { content: ""; position: absolute; inset: 0; background: #3A3A3A; opacity: .6; }
.so-region > * { position: relative; }
.so-region > :not(:last-child) { margin-bottom: 10px; }
.so-region h3 { margin-top: 10px; color: #fff; }
.so-region .text { color: #fff; }
.xp-approach.so.hide-d .xp-card:nth-child(1) img { box-shadow: 0 0 15px 0 rgba(0,0,0,.5); }
.xp-approach.so.hide-d .xp-card:nth-child(2) img { box-shadow: none; }
.xp-approach.so.hide-d .xp-card:nth-child(3) img { box-shadow: 0 0 17px 0 rgba(0,0,0,.5); }
.xp-approach.so.hide-d .xp-card:nth-child(1) .text { margin-inline: 0; }
.xp-approach.so.hide-d .xp-card:nth-child(2) .text { margin-inline: 4px; }
.xp-approach.so .text p { margin-bottom: 0; }
.so-apart { display: flex; max-width: 1170px; margin: 0 auto; padding: 30px 0 10px; box-sizing: border-box; background: var(--e-global-color-astglobalcolor5); }
.so-apart > div { display: flex; flex-direction: column; width: 50%; padding: 10px; box-sizing: border-box; text-align: center; }
.so-apart > div > :not(:last-child) { margin-bottom: 10px; }
.so-apart h2 { font-weight: 600; color: #1E2A3B; }
.so-apart h2:first-child { margin-top: 20px; }
.so-apart h2 + h2 { font-size: 29px; font-weight: 400; }
.so-apart h2.hide-m { margin: 10px 0 20px; }
.so-apart figure { margin: 0; line-height: 0; }
.so-apart .btn-row { margin: 10px 0 0; }
.so-text.s10 { margin: 20px auto; padding: 10px; background: var(--ast-global-color-4); }
.so-text.s10 h2 { font-size: 28px; font-weight: 500; text-transform: uppercase; color: #D84B48; }
.so-text.s10 .text { margin-bottom: -10px; }
.so-text.s10 .text:last-child { margin-bottom: -20px; }
.so-story { margin-top: -32px; }
.so-story .cs-flip .flip-box__layer__overlay, .so-story .cs-flip .flip-box__layer__title, .so-story .cs-flip .flip-box__layer__description { color: #1E2A3B; }
.so-story .cs-hl { --dynamic-text-color: #1E2A3B; --hl-stroke: #1E2A3B; }
.so-story .cs-hl .headline-plain-text { color: #1E2A3B; }
.so-story .cs-list .icon-list-icon { text-align: left; }
.en .so-story .cs-img img { width: 76%; }
.so-story .headline, .so-story .flip-box__layer__title { margin-bottom: 20px; }
.so-more { max-width: 1170px; margin: 15px auto; padding: 10px; box-sizing: border-box; }
.so-more .btn-row { margin: 0; }
.so-why { max-width: 1170px; margin: 0 auto 30px; padding: 10px 0; background: #fff; }
.so-row { display: flex; margin: 10px 0; }
.so-card { display: flex; flex-direction: column; width: 25%; padding: 25px 28px; border: 1px solid #fff; background: var(--e-global-color-astglobalcolor5); box-shadow: 0 6px 25px -16px rgba(5,5,5,.17); box-sizing: border-box; text-align: center; }
.so-card > :not(:last-child) { margin-bottom: 10px; }
.so-card figure { margin: 0; line-height: 0; }
.so-card figure img { width: 100%; height: 220px; object-fit: cover; object-position: center center; }
.so-card > p { padding: 10px 0; line-height: 1; font-size: 15px; font-weight: 600; text-transform: uppercase; letter-spacing: .8px; color: #D84B48; }
.so-card .text { font-size: 16px; }
main.solutions .so-card .text p { margin-bottom: 0; }
.so-why.hide-m .so-card:nth-child(2) > :is(p, .text), .so-why.hide-d .so-card:first-child > :is(p, .text) { margin-inline: -5px; }
.so-closing { display: flex; max-width: 1170px; margin: 0 auto; padding: 10px 0; box-sizing: border-box; }
.so-closing > figure { width: 45.299%; margin: 0; padding: 10px; box-sizing: border-box; text-align: end; line-height: 0; }
.so-closing > figure img { width: 63%; height: auto; border-radius: 2px; }
.so-panel { display: flex; flex-direction: column; width: calc(54.701% - 100px); margin: 30px 100px 30px 0; padding: 10px; box-sizing: border-box; background: #1E2A3B; }
.so-panel > :not(:last-child) { margin-bottom: 10px; }
.so-panel h4 { margin: 0 10px; font-size: 16px; font-weight: 400; color: #F5F5F5; }
.so-panel > h4:first-child { margin: 50px 0 10px 10px; font-weight: 500; font-size: 22px; }
.so-panel hr { margin: 15px 10px 25px !important; padding: 0; border: 0; border-top: 1px solid #fff; height: auto; }
.so-panel .btn-row { margin: 20px 0 0 10px; }
.so-panel .btn { font-weight: 300; }
.so-gap { height: 40px; }
.so-faq { max-width: 1170px; margin: 0 auto; padding: 10px; box-sizing: border-box; }
.so-faq h3 { margin-bottom: 10px; font-weight: 500; color: #1E2A3B; }
.so-faq .w-accordion { padding: 15px; background: #F5F5F5; }
.so-faq .accordion-item { border-width: 1px; border-color: var(--ast-global-color-4); }
.so-faq .tab-title { padding: 16px; }
.so-faq .tab-title.active { border-block-end: 1px solid var(--ast-global-color-4); }
.so-faq .tab-content { padding: 5px 16px 16px; border-block-start-color: var(--ast-global-color-4); background: var(--ast-global-color-4); }
.so-faq .accordion-icon { margin-inline-end: 15px; }
.so-faq .tab-title .accordion-icon i::before { color: var(--ast-global-color-3); }
.so-faq .tab-title.active .accordion-icon i::before, .so-faq .tab-title.active .accordion-icon, .so-faq .tab-title.active a { color: var(--ast-global-color-0); }
@media (max-width: 767px) { main.solutions .hide-m { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) { main.solutions .hide-t { display: none; } }
@media (min-width: 1025px) { main.solutions .hide-d { display: none; } }
@media (max-width: 1024px) {
  .so-title { padding: 10px 10px 40px; }
  .so-title h1:first-child, .so-title > h2 { margin-top: 0; }
  .so-regions { padding: 80px 40px; }
  .so-closing > figure img { width: 64%; }
  .so-panel h4, .so-panel > h4:first-child { text-align: center; font-size: 14px; }
  .so-panel h4:not(:first-child) { margin: 0 0 10px; }
  .so-card { margin-bottom: 20px; }
}
@media (max-width: 767px) {
  .band.so { height: 70px; }
  .so-title { padding: 12px 12px 20px; }
  .so-title h1:first-child { margin: 20px 0 15px; font-size: 20px; }
  .so-title > :is(h1, h2):not(:first-child) { margin-inline: 10px; font-size: 18px; }
  .xp-band.so h2 { font-size: 18px; }
  .so-regions { flex-direction: column; padding: 0 25px 50px; }
  .so-region, .so-region + .so-region { margin: 0; padding: 190px 20px 20px; }
  .so-region + .so-region { margin-top: 25px; }
  main.solutions .so-region .text.hide-d p { margin-bottom: 0; }
  .so-region h3 { font-size: 17px; }
  .xp-approach.so.hide-d { padding: 15px 20px; }
  .xp-approach.so.hide-d .xp-card:last-child .xp-list { margin-bottom: 20px; }
  .so-apart { display: block; }
  .so-apart > div { width: auto; }
  .so-apart h2 + h2 { font-size: 15px; }
  .so-apart h2.hide-d { margin: 10px 10px 10px; }
  .so-story { display: block; }
  .so-story .cs-col:nth-child(n) { width: 100%; }
  .so-story .cs-flip { padding: 40px 0 70px; }
  .so-story .flip-box { height: 180px; }
  .so-story .flip-box__layer__overlay { padding: 0; }
  .so-story .cs-hl { margin-top: 25px; }
  .so-story .cs-list { margin-top: 15px; }
  .so-row { flex-direction: column; }
  .so-closing { display: block; }
  .so-card { width: auto; }
  .so-card:nth-child(odd) img { object-position: top left; }
  .so-card:last-child img { object-position: bottom center; }
  .so-closing { padding: 0; }
  .so-closing > figure { width: auto; text-align: center; }
  .so-closing > figure img { width: 100%; }
  .so-panel { width: auto; margin: 0; }
  .so-panel > h4:first-child { margin: 30px 0 10px; font-size: 25px; }
  .so-panel h4:not(:first-child) { margin: 0 0 10px; }
  .so-panel .btn-row { margin: 20px 0 30px; text-align: center; }
  .so-panel .btn { font-size: 14px; }
  .so-faq { padding: 0; }
  .so-faq h3 { text-align: center; }
  .so-faq .tab-title { padding: 12px 12px 25px; }
}
/* gallery and carousels (French page): the shared swiper rules, for carousels outside the old .w wrappers */
.so-media { --swiper-theme-color: #000; --swiper-pagination-bullet-horizontal-gap: 6px; position: relative; }
.so-media .swiper .swiper-button { color: hsla(0,0%,93%,.9); cursor: pointer; display: inline-flex; font-size: 25px; position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; }
.so-media .swiper .swiper-button-prev { left: 10px; }
.so-media .swiper .swiper-button-next { right: 10px; }
.so-media .swiper .swiper-horizontal > .swiper-pagination-bullets, .so-media .swiper .swiper-pagination-bullets.swiper-pagination-horizontal { bottom: 5px; }
.so-media :where(.swiper-horizontal) ~ .swiper-pagination-bullets { bottom: 5px; left: 0; width: 100%; }
.so-media :where(.swiper-horizontal) ~ .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px); }
.so-media .swiper-box { position: relative; }
.so-media .main-swiper { position: static; }
/* nos-services-marketing-commercial: styled separately in WordPress */
.fr .so-apart h2:first-child { margin-top: 0; }
.fr .so-apart h2 + h2 { margin: 0 0 10px; }
.fr .so-story { margin-top: 0; }
.fr .so-more { margin: 5px auto 15px; }
.fr .so-why { margin-bottom: -30px; }
.fr .so-why .so-card > :is(p, .text) { margin-inline: 0; }
.fr .so-faq h3 { color: var(--ast-global-color-2); }
.so-more > :not(:last-child) { margin-bottom: 10px; }
@media (max-width: 767px) {
  .fr .xp-band.so h2 { font-size: 16px; }
  .fr .so-regions { padding-bottom: 20px; }
  .fr .xp-band.so.b3 h2 { padding: 0 60px; }
  .fr .xp-band.so.b4 h2 { padding: 0 50px; }
  .fr .so-region, .fr .so-region + .so-region { margin: 0 0 10px; }
  .fr .so-region + .so-region { margin: 10px 0 0; }
  main.solutions.fr .so-region:first-child .text p { margin-bottom: 0; }
  .fr .xp-approach.so.hide-d { padding: 0 20px 20px; }
  .fr .xp-approach.so.hide-d > svg { height: 380px; }
  .fr .xp-approach.so.hide-d .xp-card:nth-child(1) { margin-top: 20px; }
  .fr .xp-approach.so.hide-d .xp-card:nth-child(2) { margin-top: 30px; }
  .fr .xp-approach.so.hide-d .xp-card .xp-list { margin: 0; }
  .fr .xp-approach.so.hide-d .xp-card:not(:first-child) .xp-list { padding-bottom: 20px; }
  .fr .so-apart { padding: 20px; }
  .fr .so-apart h2 + h2 { font-size: 16px; }
  .fr .so-story { margin: -40px 0 20px; }
  .fr .so-story .cs-flip { padding: 0 0 60px; }
  .fr .so-story .flip-box { height: 280px; }
  .fr .so-story .flip-box__layer__overlay { padding: revert-layer; }
  .fr .so-story .cs-hl { padding-bottom: 10px; }
  .fr .w-testimonial-carousel > .swiper-box { margin-bottom: -40px; }
  .fr .so-card:nth-child(1) img { object-position: top center; }
  .fr .so-card:nth-child(3) img { object-position: top right; }
  .fr .so-card:nth-child(4) img { object-position: bottom left; }
  .fr .so-closing { padding: 30px 0 10px; }
  .fr .so-panel > h4:first-child { margin-inline: 30px; }
}
.so-gallery { --overlay-transition-duration: 800ms; }
.so-gallery .gallery-item:is(:hover, :focus) .gallery-item__overlay { background-color: rgba(0,0,0,.5); }

/* ---------- FAQ pages (main.faq): title, one row per topic (heading left, accordion right) */
main.faq :where(h2, h3, h4) { margin: 0; }
.band.fq { height: 110px; background: #081625; }
.fq-list { padding: 110px max(10px, calc(50% - 440px)); background: #fff; }
.fq-list > h2 { text-align: center; }
.fq-topic { display: flex; align-items: flex-start; margin-top: 40px; }
.fq-topic + .fq-topic { margin-top: 30px; }
.fq-topic > h4 { width: calc(32% - 20px); margin: 10px; }
.fq-topic > .w-accordion { box-sizing: border-box; width: calc(68% - 20px); margin: 10px; padding: 15px; background: #F5F5F5; }
.fq-topic .accordion-item { border-width: 1px; border-color: #F5F5F5; }
.fq-topic .tab-title { padding: 16px; }
.fq-topic .tab-content { padding: 5px 16px 16px; border-block-start-color: #F5F5F5; }
.fq-topic .accordion-icon { margin-inline-end: 15px; }
.fq-topic .tab-title.active .accordion-icon, .fq-topic .tab-title.active a { color: var(--ast-global-color-0); }
@media (max-width: 1024px) {
  .fq-list { padding: 60px max(60px, calc(50% - 440px)); }
  .fq-topic > h4 { width: 32%; margin: 5px 0 0; }
}
@media (max-width: 767px) {
  .fq-list { padding: 50px 20px; }
  .fq-topic { flex-direction: column; align-items: stretch; }
  .fq-topic > h4 { width: auto; margin-bottom: 20px; }
  .fq-topic > .w-accordion { width: auto; margin: 0; }
  .fq-topic .tab-title { padding: 12px 12px 25px; }
}

/* ---------- Success stories pages (main.success: success-stories, realisations-clients)
   title + intro, dark region bands, per-client "name | service" heading rows, story rows (photo | flip card | results),
   thin rules, logo/press rows, gallery + carousels, closing panel. Client rows are styled one by one (as in WordPress). */
main.success { color: var(--ast-global-color-3); background: #F9F8F8; }
main.success :where(h1, h2, h3, h4) { margin: 0; }
.band.ss { height: 110px; background: #081625; }
:where(main.success > section:not(.cs-row)) { padding: 10px max(10px, calc(50% - 575px)); }
.ss-title { padding-top: 44px; }
.ss-title h1 { margin-top: 9px; text-align: center; font-family: "Montserrat", Sans-serif; font-size: 35px; line-height: 1.4; font-weight: 300; letter-spacing: 1px; color: #1E2A3B; }
.ss-sub > * { text-align: center; color: #1E2A3B; line-height: 1.3; }
.ss-sub h2 { font-family: "Montserrat", Sans-serif; font-size: 33px; font-weight: 400; }
.ss-sub h3 { font-size: 26px; font-weight: 500; }
.ss-intro .text { text-align: center; line-height: 25px; }
.ss-intro .text p { margin-bottom: 1.75em; }

/* tablet-only key figures */
.ss-stats { display: flex; padding-top: 50px; padding-bottom: 12px; text-align: center; }
.ss-stat { flex: 1; min-width: 0; }
.ss-stats .text p { margin: 0; }
.ss-stat .text:first-child { font-size: 25px; font-weight: 700; line-height: 1.85; }
.ss-stat .text + .text { margin-top: -10px; font-size: 16px; font-weight: 600; line-height: 1.85; }

/* dark region bands */
.ss-band { padding: 30px calc(50% - 469.5px); background: #1E2A3B; }
.ss-band h2 { margin: 0; text-align: center; font-family: "Montserrat", Sans-serif; font-size: 30px; line-height: 1.3; font-weight: 400; text-transform: uppercase; -webkit-text-stroke-color: #000; stroke: #000; color: #fff; }

/* client heading rows: name (right-aligned) | service (red, uppercase) */
.ss-cos { padding-top: 30px; }
.ss-cos.purdys.hide-m { padding-top: 40px; }
.ss-co { display: flex; align-items: flex-start; }
.ss-co h3, .ss-co h2 { overflow-wrap: normal; box-sizing: border-box; font-size: 28px; line-height: 1.3; }
.ss-co h3 { width: calc(44% - 10px); margin-right: 10px; text-align: end; font-weight: 500; color: #081625; }
.ss-co h2 { width: calc(56% * .91393); text-align: start; font-weight: 400; text-transform: uppercase; color: #D84B48; }
.ss-cos.purdys .ss-co h3, .ss-cos.hide-d .ss-co h3 { color: #1E2A3B; }
.ss-cos.hide-m:is(.earth, .junk, .favoris, .orizon, .marphyl) h3 { width: calc(44% - 17px); margin-left: 7px; }
.ss-cos.hide-m.orizon h3 { width: calc(34% - 17px); }
.ss-cos.orizon h2 { width: 65.666%; }
.ss-cos.hide-d h2 { margin-left: 10px; }
.ss-cos.hide-d h3 { margin-left: 0; }
.ss-cos.hide-d.earth h3 { width: calc(40% - 10px); margin-left: 0; } .ss-cos.hide-d.earth h2 { width: calc(60% * .96694 - 10px); }
.ss-cos.hide-d.purdys h2 { width: calc(56% * .96693 - 10px); }
.ss-cos.hide-d.junk h3 { width: calc(45% - 15px); margin-left: 5px; } .ss-cos.hide-d.junk h2 { width: calc(55% * .96694 - 10px); }
.ss-cos.hide-d.favoris h3 { width: calc(45.913% - 10px); margin-left: 0; } .ss-cos.hide-d.favoris h2 { width: calc(54.087% * .96694 - 10px); }
.ss-cos.hide-d.marphyl h3 { width: calc(57% - 10px); margin-left: 0; } .ss-cos.hide-d.marphyl h2 { width: calc(43% * .96694 - 10px); }
.ss-cos.hide-d.profaqua h3 { width: calc(25% - 15px); margin-left: 5px; } .ss-cos.hide-d.profaqua h2 { width: calc(74.666% - 10px); }

/* story rows (shared cs-row parts) */
:where(main.success > .ss-story) { padding: 0 20px; }
.ss-story.purdys { padding-bottom: 20px; }
.ss-story.earth, .ss-story.orizon { padding-bottom: 30px; }
.ss-story.marphyl { padding: 0 20px 20px 19px; }
.ss-story.purdys .cs-col, .ss-story.earth .cs-col { width: 33.333%; }
.ss-story.marphyl .cs-col:nth-child(1) { width: 29.061%; } .ss-story.marphyl .cs-col:nth-child(2) { width: 37.271%; }
.ss-story.favoris .cs-col:nth-child(1) { width: 28.965%; } .ss-story.favoris .cs-col:nth-child(2) { width: 37.368%; }
.ss-story.orizon .cs-col:nth-child(1) { width: 28.971%; } .ss-story.orizon .cs-col:nth-child(2) { width: 37.293%; }
.ss-story .cs-flip .flip-box__front, .ss-story .cs-flip .flip-box__back { background-color: #F9F8F8; }
.ss-story .cs-flip .flip-box__layer__overlay, .ss-story .cs-flip .flip-box__layer__title, .ss-story .cs-flip .flip-box__layer__description { color: #1E2A3B; }
.ss-story.junk .flip-box__back :is(.flip-box__layer__title, .flip-box__layer__description), .ss-story.favoris .flip-box__back .flip-box__layer__description,
.ss-story.profaqua .cs-flip :is(.flip-box__layer__title, .flip-box__layer__description) { color: #081625; }
.ss-story .flip-box__layer__title { margin-bottom: 20px; }
.ss-story .flip-box__layer__description { overflow-wrap: normal; }
.ss-story .cs-hl { --dynamic-text-color: #1E2A3B; --hl-stroke: #1E2A3B; }
.ss-story .cs-hl .headline-plain-text { color: #1E2A3B; }
.ss-story.profaqua .cs-hl { --dynamic-text-color: #081625; --hl-stroke: #081625; }
.ss-story.profaqua .cs-hl .headline-plain-text { color: #081625; }
.ss-story:is(.earth, .profaqua, .orizon, .marphyl) .headline-dynamic-text { font-weight: 700; }
.ss-story.purdys .cs-img img { width: 52%; }
.ss-story.earth .cs-img img { width: 40%; max-width: 58%; }
.ss-story.junk .cs-img { padding-bottom: 95px; } .ss-story.junk .cs-img img { width: 82%; }
.ss-story.profaqua .cs-img:first-child img { width: 53%; } .ss-story.profaqua .cs-img img { width: 51%; }
.ss-story.orizon .cs-img + .cs-img img { width: 78%; }
.ss-story.orizon .cs-col:nth-child(3) { width: 33.041%; }
.ss-story.marphyl .cs-list { width: 89.556%; }
.ss-story .cs-list.shadow .icon-list-text { text-shadow: none; }
.ss-story .cs-list .icon-list-icon { text-align: left; }

/* thin rules */
.ss-rule { padding-top: 10px; padding-bottom: 10px; }
.ss-rule hr { height: 1px; margin: 0 150px; border: 0; background: #1E2A3B; }
.ss-rule.hide-d.hide-m hr { height: 3px; margin: 0; }

/* logo and press rows */
.ss-logos { display: flex; gap: 20px; }
.ss-logos figure { display: flex; align-items: center; justify-content: center; box-sizing: border-box; flex: none; width: calc((100% - 40px) / 3); margin: 0; }
.ss-logos.n4 figure { width: calc((100% - 60px) / 4); }
.ss-logos:is(.earth, .n4) figure { align-items: flex-start; }
.ss-logos.earth figure:first-child { padding-left: 50px; } .ss-logos.earth figure:last-child { padding-right: 50px; }
.ss-logos img { max-width: 100%; height: auto; }
.ss-logos figure { text-align: center; }
.ss-logos a { color: var(--ast-global-color-0); }
.ss-logos.earth, .ss-logos.n4 { padding-bottom: 40px; }
.ss-logos.n3:not(.earth) { padding-top: 30px; padding-bottom: 40px; }
.ss-logos.n3:not(.earth) figure:nth-child(1) img { width: 80%; } .ss-logos.n3:not(.earth) figure:nth-child(2) img { width: 69%; }

/* gallery + carousels */
.ss-media { display: flex; flex-direction: column; gap: 10px; }

/* closing panel: photo | navy panel */
.ss-closing { display: flex; padding: 20px max(0px, calc(50% - 585px)) 30px; }
.ss-closing > figure { box-sizing: border-box; width: 45.299%; margin: 0; padding: 10px; text-align: end; }
.ss-closing > figure img { width: 63%; height: auto; border-radius: 2px; vertical-align: middle; }
.ss-panel { display: flex; flex-direction: column; gap: 10px; box-sizing: border-box; width: calc(54.701% - 100px); margin: 30px 100px 30px 0; padding: 10px; background: #1E2A3B; }
.ss-panel h4 { margin: 0 10px; font-family: "Montserrat", Sans-serif; font-size: 16px; font-weight: 400; color: #F5F5F5; }
.ss-panel h4:first-child { margin: 50px 0 0 10px; font-size: revert-layer; font-weight: 500; }
.ss-panel hr { height: 0; margin: 15px 10px; border: 0; border-top: 1px solid #fff; }
.ss-panel .btn-row { margin: 20px 0 0 10px; }
.ss-panel .btn { font-family: "Montserrat", Sans-serif; font-weight: 300; }

@media (max-width: 767px) { main.success .hide-m { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) { main.success .hide-t { display: none; } }
@media (min-width: 1025px) { main.success .hide-d { display: none; } }
@media (max-width: 1024px) {
  .ss-closing > figure img { width: 64%; }
  .ss-panel :is(h4, h4:first-child) { text-align: center; font-size: 14px; }
  .ss-panel h4 + hr + h4, .ss-panel h4 + h4 { margin: 0; }
  .ss-logos.earth, .ss-logos.n4 { padding-inline: calc(50% - 240px); }
  .ss-title h1 { margin-top: 0; }
  .ss-band { padding: 40px 25px; }
  .ss-band h2 { margin-bottom: 25px; }
}
@media (max-width: 767px) {
  .band.ss { height: 70px; }
  .ss-title h1 { font-size: 25px; }
  .ss-sub h2 { font-size: 20px; }
  .ss-sub h3 { font-size: 17px; }
  .ss-sub.hide-d { padding-top: 20px; }
  .ss-sub:has(h3) { padding-bottom: 20px; }
  .ss-band { padding: 40px 20px 20px; }
  .ss-band.b2 { padding-top: 20px; }
  .ss-band h2 { margin: 0 25px 10px; font-size: 16px; }
  .ss-band.b2 h2 { margin-bottom: 0; }
  .ss-cos { padding-top: 30px; }
  .ss-co { flex-direction: column; align-items: stretch; }
  main.success .ss-cos .ss-co > :is(h2, h3) { width: auto; text-align: center; font-size: 17px; }
  main.success .ss-cos .ss-co > h2 { width: calc(96.694% - 10px); }
  main.success .ss-cos.profaqua .ss-co > h2 { width: auto; margin: 10px 20px; }
  .ss-intro.hide-d .text { font-size: 15px; }
  .ss-rule { padding: 10px 40px 20px; }
  .ss-rule.r1, .ss-rule.r5 { padding-top: 30px; }
  .ss-rule:not(.r5) hr { margin: 0 30px; }
  .ss-logos.earth { padding-bottom: 50px; }
  .ss-logos.earth figure:first-child { padding: 0; }
  .ss-media.hide-t:has(.w-media-carousel) { padding-inline: 30px; }
  .ss-media .w-media-carousel .main-swiper { height: 428px; }
  .ss-media.marphyl .w-testimonial-carousel > :last-child { margin-bottom: -40px; }
  .ss-story { display: block; }
  main.success .ss-story .cs-col:nth-child(n) { width: 100%; }
  .ss-logos figure { width: 100%; }
  .ss-story.purdys { margin-top: -32px; }
  .ss-story.purdys .cs-img { padding-top: 15px; }
  .ss-story.purdys .cs-flip { padding: 40px 0 45px; }
  .ss-story.purdys .flip-box { height: 180px; }
  .ss-story.purdys .flip-box__layer__overlay { padding: 0; }
  .ss-story.junk .cs-img { padding-bottom: 30px; }
  .ss-story:is(.purdys, .earth, .marphyl) .cs-hl { margin-top: 10px; }
  .ss-story.profaqua .cs-hl { margin-top: 0; }
  .ss-story.marphyl .cs-flip { margin-top: 0; }
  .ss-story.favoris .cs-hl { padding-top: 30px; }
  .ss-story.profaqua .cs-col:first-child { padding-block: 0; }
  .ss-story.profaqua .cs-col:nth-child(2) { padding: 0; }
  .ss-story.profaqua .cs-flip { padding-bottom: 20px; }
  .ss-story.profaqua .cs-hl { padding-bottom: 30px; }
  .ss-story.marphyl .cs-hl { padding-top: 5px; }
  .ss-closing { padding-top: 40px; }
  .ss-panel { width: auto; margin: 0; }
  .ss-panel h4:first-child { margin: 30px 0 0; font-size: 25px; }
  .ss-panel h4 { margin: 0; }
  .ss-panel .btn-row { margin: 20px 0 30px; text-align: center; }
  .ss-panel .btn { font-size: 14px; }
}

/* French page (main.success.fr, realisations-clients): West first, then East; its rows were styled separately in WordPress */
main.fr .ss-cos:not(.hide-d) .ss-co:not(.hide-d) h3 { width: calc(var(--a) - 15px); margin-left: 5px; }
main.fr .ss-cos:not(.hide-d) .ss-co:not(.hide-d) h2 { width: calc((100% - var(--a)) * .96694); margin-left: 0; }
.fr .ss-cos.favoris { --a: 41%; }
.fr .ss-cos.profaqua { --a: 18.666%; }
.fr .ss-cos.purdys { --a: 43%; }
.fr .ss-cos.earth { --a: 38%; }
.fr .ss-cos.junk, .fr .ss-cos.marphyl { --a: 40%; }
main.fr .ss-cos.profaqua:not(.hide-d) .ss-co h2 { width: 81%; }
main.fr .ss-cos.orizon:not(.hide-d) .ss-co h3 { width: calc(31.666% - 17px); margin-left: 7px; }
main.fr .ss-cos.orizon:not(.hide-d) .ss-co h2 { width: 68%; }
.fr .ss-cos.purdys.hide-m { padding-top: 30px; }
main.fr .ss-cos:not(.orizon) .ss-co h3 { color: #1E2A3B; }
main.fr .ss-cos.hide-d.marphyl h3 { width: calc(45% - 15px); margin-left: 5px; }
main.fr .ss-cos.hide-d.marphyl h2 { width: calc(55% * .96694 - 10px); }
main.fr .ss-cos.favoris .ss-co.hide-d h2 { margin-left: 0; }
.fr .ss-story.purdys { padding-bottom: 30px; }
main.fr .ss-story.purdys .cs-col:nth-child(1) { width: 29.029%; justify-content: flex-start; }
main.fr .ss-story.purdys .cs-col:nth-child(2) { width: 37.304%; }
main.fr .ss-story.purdys .cs-col:nth-child(3) { width: 33.333%; }
.fr .ss-story.purdys .cs-img { padding-top: 37px; }
main.fr .ss-story.purdys .cs-img img { width: 57%; }
main.fr .ss-story.profaqua .cs-img + .cs-img img { width: 62%; }
main.fr .ss-story:is(.profaqua, .junk) .cs-flip :is(.flip-box__layer__title, .flip-box__layer__description) { color: #1E2A3B; }
main.fr .ss-story.profaqua .flip-box__back .flip-box__layer__description, main.fr .ss-story.earth .flip-box__back :is(.flip-box__layer__title, .flip-box__layer__description) { color: #081625; }
main.fr .ss-story.profaqua .cs-hl { --dynamic-text-color: #1E2A3B; --hl-stroke: #1E2A3B; }
main.fr .ss-story.profaqua .cs-hl .headline-plain-text { color: #1E2A3B; }
.fr .ss-story.purdys .headline-dynamic-text { font-weight: 700; }
main.success .ss-media .w-media-carousel .swiper-button { font-size: 20px; }
@media (max-width: 767px) {
  .fr .ss-title h1 { font-size: 20px; }
  .fr .ss-band.b1, .fr .ss-band.b4 { padding-top: 20px; }
  .fr .ss-band.b1 h2 { margin: 0 60px; }
  .fr .ss-band.b2 h2, .fr .ss-band.b4 h2 { margin-bottom: 0; }
  .fr .ss-band.b3 h2 { margin-bottom: 10px; }
  .fr .ss-cos.earth { padding-top: 10px; }
  main.fr .ss-cos.favoris .ss-co.hide-d h3 { width: auto; margin-left: 5px; }
  main.fr .ss-cos.favoris .ss-co.hide-d h2 { width: 96.694%; }
  .fr .ss-story.favoris .cs-flip { margin-bottom: -30px; }
  .fr .ss-story.favoris .cs-hl { padding-top: 74px; }
  .fr .ss-media.favoris .w-testimonial-carousel > :last-child { margin-bottom: -30px; }
  .fr .ss-rule.r1 { padding: 10px; }
  .fr .ss-rule.r3 { padding-top: 30px; }
  .fr .ss-story.profaqua .cs-flip { padding-bottom: 0; }
  .fr .ss-story.profaqua .cs-hl { margin-top: 30px; padding-bottom: 0; }
  .fr .ss-story.purdys { margin: -50px 0; padding: 0; }
  main.fr .ss-story.purdys .cs-col:nth-child(n) { width: 100%; }
  .fr .ss-story.purdys .cs-flip { margin-bottom: -40px; padding: 0; }
  .fr .ss-story.purdys .flip-box { height: 280px; }
  .fr .ss-story.purdys .flip-box__layer__overlay { padding: revert-layer; }
  .fr .ss-story.purdys .cs-hl { margin-top: 40px; padding: 5px 0 40px; }
  .fr .ss-story.junk .cs-img { padding-bottom: 95px; }
  .fr .ss-story.junk .cs-flip { margin: -40px 0 20px; }
  .fr .ss-logos { flex-direction: column; }
  .fr .ss-closing { padding-top: 20px; }
  main.fr .ss-sub:has(h3) { padding: 10px max(10px, calc(50% - 575px)); }
  .fr .ss-story.earth .cs-hl { margin-bottom: 10px; }
  main.fr .ss-cos.hide-d.marphyl h3 { width: auto; }
  main.fr .ss-cos.hide-d.marphyl h2 { width: calc(96.694% - 10px); }
  .fr .ss-story.marphyl .cs-flip { margin-top: 30px; }
  .fr .ss-story.marphyl .cs-hl { margin-top: 40px; }
  .fr .ss-media:is(.marphyl, .profaqua, .junk) .w-testimonial-carousel > :last-child { margin-bottom: 0; }
}

/* ---------- Article listing pages (main.listing: blog, articles)
   title + intro, one white card per article (image | date, title, excerpt, button), newsletter panel. */
main.listing :where(h1, h2) { margin: 0; }
.band.ls { height: 110px; background: var(--ast-global-color-2); }
.ls-title { padding: 10px max(10px, calc(50% - 575px)); }
.ls-title h1 { margin-top: 9px; margin-bottom: 19px; text-align: center; font-family: "Montserrat", Sans-serif; font-size: 35px; line-height: 1.4; font-weight: 300; text-transform: uppercase; color: #1E2A3B; }
.ls-title .text { padding-top: 10px; text-align: center; font-size: 20px; color: #1E2A3B; }
.ls-cards { padding: 0; }
.ls-card, .ls-news { display: flex; box-sizing: border-box; max-width: 1210px; margin: 0 auto; padding: 20px; background: #fff; }
.ls-news { max-width: 1170px; padding: 0; background: none; margin-bottom: 21px; }
.ls-news.sp { margin-top: 30px; }
.ls-news.nest { max-width: 1170px; padding: 10px; margin-bottom: 1px; }
.ls-news.nest > :first-child { flex: 0 0 48.685%; }
.ls-news.nest > * { padding: 30px; }
.ls-news h3 { margin-bottom: 20px; }
.ls-card > *, .ls-news > * { flex: 1 1 0; min-width: 0; padding: 20px; }
.ls-card figure, .ls-news figure { margin: 0; }
.ls-card figure, .ls-news figure { text-align: center; line-height: 27.8571px; }
.ls-card figure img, .ls-news figure img { display: inline-block; vertical-align: middle; max-width: 100%; height: auto; }
.ls-card figure { background-clip: content-box; }
.ls-body > * { margin-bottom: 10px; }
.ls-body > :last-child { margin-bottom: 0; }
.ls-body .btn-row { line-height: 15px; }

@media (max-width: 1024px) {
  .ls-title .text p { margin-bottom: 32px; }
}
@media (max-width: 767px) {
  .ls-card, .ls-news { display: block; }
  .ls-card > *, .ls-news > * { padding: 20px; }
  .ls-card > figure { padding-bottom: 20px; }
}
.ls-body .text h5 { margin-bottom: 20px; }
.ls-body .text p { margin-bottom: 1.6em; }
main.fr .ls-title .text { font-size: 19px; }
.ls-body .text, .ls-title .text, .ls-news .text { display: flow-root; }
main.listing .ls-body > h2 { margin-bottom: 10px; }
@media (max-width: 767px) { .ls-news.nest > * { padding: 30px; } }
.ls-card > .mt-22 { padding-top: 42px; } .ls-card > .mt-40 { padding-top: 60px; } .ls-card > .mt-44 { padding-top: 64px; } .ls-card > .mt-60 { padding-top: 80px; }

/* ---------- Sports activation pages (main.sports: sports-activation-marketing-campaign, campagne-activation-marketing-sportif)
   title, intro split, key figures, approach split, three steps, activation format cards, 'who we work with' slides, closing panel */
main.sports :where(h1, h2, h3, h4, h6) { margin: 0; }
.band.sp { height: 110px; background: #081625; }
.sp-gap { height: 22px; background: #fff; }
.sp-gap.thin { height: 21px; }
.sp-title { padding: 50px 11px 40px 10px; background: #fff; }
.sp-title h1 { max-width: 1150px; margin: 0 auto 10px; text-align: center; font-size: 35px; font-weight: 300; text-transform: uppercase; color: #1E2A3B; }
.sp-head { padding: 10px; background: #fff; }
.sp-head h2 { max-width: 1150px; margin: 9px auto 0; padding: 0 80px; box-sizing: border-box; text-align: center; font-weight: 400; color: #1E2A3B; }

/* two-column panels (intro, approach, closing) */
.sp-split, .sp-closing { position: relative; display: flex; align-items: stretch; padding: 20px max(0px, calc(50% - 550px)) 40px; }
.sp-split > *, .sp-closing > * { display: flex; flex-direction: column; justify-content: center; width: 50%; box-sizing: border-box; }
.sp-split.intro { margin: -12px 0; background: #FEF6F5; }
.sp-split.approach { margin: -12px 0; padding-bottom: 10px; background: #1E2A3B; }
.sp-text > :not(:last-child) { margin-bottom: 10px; }
.sp-split.intro .text { text-align: justify; color: #020101; }
.sp-split.intro .text p { margin-bottom: 0; }
.sp-split figure { display: block; align-self: center; margin: -13px; text-align: end; line-height: 0; }
.sp-split.intro figure { width: calc(50% * .98545 + 26px); }
.sp-split.approach figure { width: calc(50% + 26px); text-align: center; }
.sp-split figure img { width: 80%; vertical-align: middle; }
.sp-split.approach .sp-text { padding-right: 80px; }
.sp-split.approach h2 { margin-bottom: 20px; text-align: start; font-weight: 400; color: #fff; }
.sp-split.approach .text { color: #fff; }

/* key figures */
.sp-figures { display: flex; flex-wrap: wrap; padding: 30px max(0px, calc(50% - 585px)) 50px; background: #fff; }
.sp-figure { width: 25%; box-sizing: border-box; text-align: center; }
.sp-figure:nth-child(1) { padding-right: 1.453%; }
.sp-figure:nth-child(2) { padding-right: .599%; }
.sp-figure:nth-child(3) { padding-right: .342%; }
.sp-figure h2 { margin-bottom: 10px; color: #1E2A3B; }
.sp-figure p { margin: 0; }

/* three steps */
.sp-steps { display: flex; align-items: center; min-height: 268px; padding: 0 max(0px, calc(50% - 576px)); background: #1E2A3B; }
.sp-step { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; width: 33.333%; padding: 23px; color: #fff; }
.sp-step h4 { margin-bottom: 10px; color: #fff; }
.sp-step:nth-child(3) .text { width: 99.434%; }
@media (min-width: 768px) {
  main.sports.en .sp-step:nth-child(1) { width: 32.423%; }
  main.sports.en .sp-step:nth-child(2) { width: 32.089%; }
  main.sports.en .sp-step:nth-child(3) { width: 35.152%; }
}

/* activation formats */
.sp-activations { padding: 20px max(0px, calc(50% - 585px)); background: #fff; }
.sp-formats { display: flex; align-items: stretch; }
.sp-format { display: flex; flex-direction: column; justify-content: center; width: 33.333%; box-sizing: border-box; padding: 20px 5px; text-align: center; background: #1E2A3B; color: #fff; }
.sp-format:nth-child(2n), .sp-formats + .sp-formats .sp-format:nth-child(2n+1) { background: #fff; color: #081625; }
.sp-formats + .sp-formats .sp-format:nth-child(2n) { background: #1E2A3B; color: #fff; }
.sp-format h3 { margin-bottom: 10px; color: #fff; }
.sp-format:nth-child(2n) h3, .sp-formats + .sp-formats .sp-format:nth-child(2n+1) h3 { color: var(--ast-global-color-2); }
.sp-formats + .sp-formats .sp-format:nth-child(2n) h3 { color: #fff; }
.sp-format p { margin: 0; }

/* who we work with */
.sp-who { padding: 10px max(10px, calc(50% - 575px)); background: #fff; }
.sp-who h2 { margin-bottom: 10px; text-align: center; }
.sp-slides { padding: 10px 0; }
.sp-slides .swiper-slide { transition-duration: calc(5000ms * 1.2); height: 277px; }
.sp-slides .swiper-slide-bg { background-color: #FEF6F5; }
.sp-slides .swiper-slide-inner { text-align: center; }
.sp-slides .swiper-slide-contents { max-width: 66%; }
.sp-slides .slide-heading, .sp-slides .slide-description { color: #081625; }
.sp-slides .swiper-slide:first-child :is(.slide-heading, .slide-description) { color: #011627; }

/* closing panel (Sender newsletter placeholder) */
.sp-closing { padding: 0 max(0px, calc(50% - 550px)); background: #fff; }
.sp-news { padding-left: 100px; }

@media (max-width: 1024px) {
  .sp-title { padding: 20px; }
  .sp-title h1 { margin-bottom: 0; }
  .sp-head h2 { margin-top: 0; }
  .sp-split, .sp-split.approach { padding: 80px 35px; }
  .sp-split figure img { width: 90%; }
  .sp-split.approach figure { text-align: end; }
  .sp-split.approach .sp-text { padding-right: 0; }
  .sp-split.approach h2 { margin-bottom: 10px; text-align: center; }
  .sp-figures { padding: 60px 10px; }
  .sp-steps { padding: 90px 25px; }
  .sp-activations { padding: 10px; }
  .sp-format { padding: 30px; }
  .sp-news { padding-left: 0; }
  .sp-closing h2 { text-align: center; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .sp-split.intro > :first-child { width: 58%; }
  .sp-split.intro figure { width: calc(42% * .98545 + 26px); }
  .sp-split.approach figure { width: calc(42% + 26px); }
  .sp-closing { flex-wrap: wrap; }
  .sp-formats { flex-wrap: wrap; }
  .sp-format { width: 50%; }
  .sp-closing > :first-child { width: 100%; }
}
@media (max-width: 767px) {
  .sp-split, .sp-closing, .sp-steps, .sp-formats { flex-direction: column; }
  .sp-split > *, .sp-closing > *, .sp-step, .sp-format { width: 100%; }
  .sp-split, .sp-split.approach { padding: 60px 35px; }
  .sp-split.intro .text, .sp-split.approach .text { text-align: center; }
  .sp-split.intro figure { width: 98.545%; }
  .sp-split.approach figure { width: 100%; }
  .sp-split figure { margin: 30px 0 0; }
  .sp-split figure img { width: 100%; }
  .sp-figures { padding: 70px 20px 66px; }
  .sp-figure { width: 50%; padding-bottom: 40px; }
  .sp-figure:nth-child(1) { padding-right: 2.906%; }
  .sp-figure:nth-child(2) { padding-right: 1.199%; }
  .sp-figure:nth-child(3) { padding-right: .684%; }
  .sp-steps { padding: 75px 20px 50px; }
  .sp-activations { padding: 60px 30px; }
  .sp-formats { margin-top: 40px; }
  .sp-formats.rev-m { flex-direction: column-reverse; }
}

/* French page: WordPress styled the title and closing panel slightly differently */
main.sports.fr .sp-title { padding: 40px 1px 30px 0; }
main.sports.fr .sp-title h1 { max-width: 1170px; }
main.sports.fr .sp-closing { padding-top: 20px; padding-bottom: 30px; }
main.sports.fr .sp-news { padding-left: 0; }
@media (max-width: 1024px) {
  main.sports.fr .sp-title { padding: 10px 10px 40px; }
}

/* ---------- Home pages (main.home: /, /accueil/)
   video hero, tagline band, intro split, photo cards under a wave, navy bands (shared xp-band), client logo carousel + rating,
   testimonial carousel, press logo grids, closing photo + navy panel (shared xp-closing / xp-panel). */
.hm-hero h1, .hm-tag h3 { margin: 0; }

/* hero: poster first, video injected after window load by hero-video.js */
.hm-hero { position: relative; display: flex; flex-direction: column; align-items: center; margin: -3px 0; padding: 300px max(0px, calc(50% - 475px)) 0; }
.hm-hero > :not(.bg-video) { position: relative; width: 100%; }
.hm-hero h1 { margin: 0 0 35px; text-align: center; font-family: "Montserrat", Sans-serif; font-size: 53px; line-height: 1.4em; font-weight: 500; letter-spacing: .7px; word-spacing: 5px; text-shadow: 5px 0 10px #1E2A3B; color: #fff; }
.hm-arrow { margin: 0; padding: 60px 0 50px; text-align: center; }
.hm-arrow .icon { font-size: 28px; color: #fff; }

/* tagline */
.hm-tag { padding: 60px max(0px, calc(50% - 469.5px)); background: #FEF6F5; }
.hm-tag h3 { text-align: center; font-family: "Montserrat", Sans-serif; font-weight: 400; color: #1E2A3B; }

/* intro: text | photo + credit */
.hm-intro { display: flex; padding: 34px max(0px, calc(50% - 585px)) 22px; background: #fff; }
.hm-intro > * { display: flex; flex-direction: column; justify-content: center; width: 50%; }
.hm-intro > .text { padding: 30px; }
.hm-intro > .hm-photo { width: calc(50% - 40px); margin-left: 40px; }
.hm-photo figure { margin: 0 23px 10px; text-align: center; }
.hm-photo img { display: inline-block; vertical-align: middle; }
.hm-credit { margin-right: 23px; text-align: end; font-size: 11px; }

/* photo cards under the wave */
.hm-cards { position: relative; display: flex; padding: 20px max(0px, calc(50% - 585px)) 30px; background: #FEF6F5; }
.hm-cards > .shape-top .shape-fill { fill: #fff; }
.hm-cards > .shape-top svg { width: calc(144% + 1.3px); }
.hm-card { position: relative; display: flex; flex-direction: column; justify-content: center; width: 33.333%; padding: 20px; }
.hm-card figure { margin: 0 0 10px; text-align: center; }
.hm-card figure img { display: inline-block; vertical-align: middle; }
.hm-card .btn-row { padding: 20px; }
.hm-card .btn { font-family: "Montserrat", Sans-serif; font-weight: 500; }

/* bands */
.xp-band.hm h1 { max-width: 939px; margin: 0 auto; padding: 0; text-align: center; font-size: 30px; line-height: 1.4em; font-weight: 400; color: #fff; -webkit-text-stroke-color: #000; stroke: #000; }
.xp-band.hm h2 { padding: 0; -webkit-text-stroke-color: #000; stroke: #000; }

/* client logos + rating */
.hm-clients { padding: 50px max(0px, calc(50% - 585px)) 30px; background: #fff; }
.hm-clients .w-image-carousel { margin-bottom: 10px; }
.hm-clients .so-media .swiper .swiper-button.swiper-button-prev, .hm-clients .so-media .swiper .swiper-button.swiper-button-next { font-size: 20px; color: #2D2D22; }
.hm-clients .so-media .swiper .swiper-button-prev { left: 0; }
.hm-clients .so-media .swiper .swiper-button-next { right: 0; }
.hm-clients .swiper-wrapper { display: flex; align-items: center; }
.hm-rating { --e-rating-justify-content: center; --e-rating-icon-font-size: 37px; }

/* testimonials */
.hm-quotes { padding: 10px max(10px, calc(50% - 575px)); background: #fff; }
.hm-quotes .swiper-box { margin-bottom: -4px; }
.hm-quotes .so-media .swiper .swiper-button { font-size: 11px; }
.hm-quotes .testimonial__text { font-family: var(--e-global-typography-secondary-font-family), Sans-serif; font-weight: var(--e-global-typography-secondary-font-weight); }
.hm-gap { height: 22px; background: #fff; }

/* press logos */
.hm-press { display: flex; padding: 0 max(20px, calc(50% - 585px)); }
.hm-press figure { width: 25%; margin: 0; padding: 10px; text-align: center; }
.hm-press a { display: inline-block; }
.hm-press img { display: inline-block; vertical-align: middle; }
.hm-press.photos { padding: 0 max(0px, calc(50% - 585px)); background: #fff; }

/* closing */
.xp-closing.hm .xp-panel > h4:first-child { margin: 50px 0 10px 10px; }

@media (max-width: 1024px) {
  .hm-hero { padding: 200px max(25px, calc(50% - 475px)) 0; }
  .hm-hero h1 { font-size: 40px; }
  .hm-arrow { padding: 40px 0 50px; }
  .hm-tag { padding: 40px max(25px, calc(50% - 469.5px)); }
  .hm-tag h3 { margin-bottom: 25px; }
  .hm-intro { padding: 90px 25px; }
  .hm-intro > .text { padding: 0; }
  .hm-cards { padding: 90px 25px; }
  .hm-card { padding: 0 10px; }
  .hm-clients { padding: 80px 40px; }
  .hm-press:not(.photos) { padding: 0 max(20px, calc(50% - 250px)); }
  .hm-press.photos { padding: 0 max(0px, calc(50% - 512px)); }
  .xp-band.hm :is(h1, h2) { margin-bottom: 25px; }
}
@media (max-width: 767px) {
  .hm-hero { padding: 150px 20px 0; }
  .hm-hero h1 { margin-bottom: 20px; font-size: 18px; }
  .hm-hero h1.hide-d { font-size: 16px; }
  .hm-arrow { padding: 25px 0 15px; }
  .hm-tag { padding: 30px 20px; }
  .hm-tag h3 { margin: 0 25px; font-size: 16px; }
  .hm-intro { flex-direction: column-reverse; padding: 45px 20px 0; }
  .hm-intro > * { width: 100%; }
  .hm-intro > .text { margin-top: 10px; }
  .hm-intro > .hm-photo { width: 100%; margin-left: 0; }
  .hm-cards { flex-direction: column; padding: 75px 20px 10px; }
  .hm-card { width: 100%; padding: 0; }
  .hm-card:nth-child(2) { margin-top: 30px; }
  .hm-clients { padding: 20px 25px 40px; }
  .hm-press { flex-direction: column; }
  .hm-press figure { width: 100%; }
  .hm-press.photos { height: 80px; }
  .xp-closing.hm { padding: 20px 0 30px; }
  .xp-band.hm { padding: 40px 20px 20px; }
  .xp-band.hm :is(h1, h2) { margin: 0 25px 10px; font-size: 16px; }
  .xp-closing.hm .xp-panel > h4:first-child { margin: 30px 0 10px; }
}
@media (max-width: 767px) { main.home .hide-m { display: none; } }
@media (min-width: 768px) and (max-width: 1024px) { main.home .hide-t { display: none; } }
@media (min-width: 1025px) { main.home .hide-d { display: none; } }
/* /accueil/: styled separately in WordPress */
.fr .xp-closing.hm, .fr .xp-closing.hm.hm { padding: 0; }
@media (min-width: 1025px) { .fr .hm-intro { padding-top: 50px; } }
.fr .hm-quotes .swiper-box { margin-bottom: 0; }
.fr .hm-quotes .so-media .swiper .swiper-button { font-size: 20px; }
@media (max-width: 767px) {
  .fr .hm-tag { padding: 40px 20px 20px; }
  .fr .hm-tag h3 { margin: 0 20px 10px; }
  .fr .hm-hero h1.hide-d { font-size: 15px; }
  .fr .hm-intro > .text { margin-top: 30px; }
  .fr .hm-clients { padding: 60px 25px; }
  .fr .hm-quotes .swiper-box { margin-bottom: -4px; }
}

/* ---------- "Page not found" page (/404.html, built by tool/make404.py) */
.pq-404 { background: var(--pq-navy); color: #fff; padding: 180px 20px 120px; text-align: center; }
.pq-404 h1, .pq-404 h2 { margin: 0 0 .4em; color: #fff; font-size: 34px; line-height: 1.3; font-weight: 600; }
.pq-404 p { margin: 0 auto 1.4em; max-width: 34em; }
.pq-404 .pq-404-fr { margin-top: 60px; padding-top: 60px; border-top: 1px solid rgba(255,255,255,.2); }
.pq-404 a.pq-404-btn { display: inline-block; padding: 14px 30px; border-radius: 100px; background: var(--pq-red); color: #fff; font-weight: 700; text-decoration: none; }
.pq-404 a.pq-404-btn:hover, .pq-404 a.pq-404-btn:focus { background: #fff; color: var(--pq-navy); }
@media (max-width: 544px) { .pq-404 { padding-top: 130px; } .pq-404 h1, .pq-404 h2 { font-size: 26px; } }
}

/* Resume pages (main.contact > section.contact-grid.resume): one centred form column */
.contact-grid.resume { justify-content: center; }
.contact-grid.resume > .contact-main { width: 66%; padding-right: 0; }
.contact-grid.resume .wpforms-container { padding-top: 0; }
.pq-resume .wpforms-field-description { font-size: 13px; line-height: 1.4; margin-top: 4px; color: #555; }
.pq-resume input[type=file], .pq-resume input[type=date] { display: block; width: 100%; box-sizing: border-box; font-family: inherit; }
.pq-resume .pq-consent { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; margin-top: 6px; }
.pq-resume .pq-consent input { margin-top: 5px; flex: none; }
@media (max-width: 1024px) { .contact-grid.resume > .contact-main { width: auto; } }

/* ---------- Visual audit 2026-10-13: match WordPress (Astra) breakpoints ----------
   WordPress sizes headings for tablets at 545-921 px and phones at 544 px and below; these component titles
   had used 767 px, so they were too small between 545 and 921 px. */
@layer site {
@media (max-width: 921.98px) {
  .post-title, .legal-title, .cta-split h2, .guide h2, .pillar-feature h2, .contact-grid h2 { font-size: 40px; }
  .pillar-intro h1, .page-hero h1 { font-size: 42px; }
  .split h4 { font-size: 1.4666666666667rem; }
  .split h5 { font-size: 1.0666666666667rem; }
}
@media (max-width: 544px) {
  .post-title, .legal-title, .cta-split h2, .guide h2, .pillar-feature h2, .contact-grid h2 { font-size: 24px; }
  .pillar-intro h1, .page-hero h1 { font-size: 28px; }
  .split h4 { font-size: 1.2rem; }
}
}

/* WordPress sections with a full-width white background (body is #f9f8f8) */
@layer site {
.ab-intro, .ab-founder, .ab-sign, .ab-feats, .wa-intro, .wa-mv, .wa-cta, .wa-news, .offer, .promo, .split,
.so-title, .so-regions, .so-apart, .so-why, .so-text.s3, .ls-card, .xp-hero, .cs-intro, .sv-approach, .sv-prep {
  background-color: #fff; box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax);
}
main.pillar { background-color: #fff; }
.xp-band h2 a { color: inherit; }
.band { background: #081625; }
.band.tall { background: #011627; }
.band.ls { background: #081625; }
}
/* visual audit: legal pages + EN blog listing keep the darker header band on WordPress */
body:has(main.legal) .band, body:has(main.listing.en) .band.ls { background: #011627; }
/* visual audit: these WordPress articles use full-strength body text; download guide text is centred */
.prose.dark { color: #011627; }
.prose.center { text-align: center; }
/* visual audit: band headings on Our Solutions / Nos services are centred on WordPress (margin reset was overriding auto) */
main.solutions .xp-band h2 { margin-left: auto; margin-right: auto; }
/* visual audit: the French privacy policy is left-aligned on WordPress (the other legal pages are justified) */
.legal-text.left { text-align: start; }
/* visual audit: Client Success Stories body text uses the soft text colour on WordPress, highlight headline plain text #081625 */
main.stories .cs-intro .text p, main.stories .cs-list .icon-list-text { color: rgba(1, 22, 40, .75); }
main.stories .cs-hl .headline-plain-text { color: #081625; }
/* visual audit: footer text is #f9f8f8 on WordPress */
.pq-footer-text { color: #f9f8f8; } .pq-footer-text a { color: #fff; }
/* keyboard focus ring (accessibility): :focus-visible never matches after a mouse click on these, so the pointer look is unchanged.
   Unlayered so it beats the WordPress-era `outline:0`/`outline:none` rules. Text inputs keep their dotted focus border. */
a:focus-visible, button:focus-visible, select:focus-visible, [role="button"]:focus-visible, [tabindex]:focus-visible { outline: 2px solid #d94948; outline-offset: 2px; }

/* Home pages (EN / and FR /accueil/): Eastern/Western Canada destination cards under the hero.
   Photo card with a dark gradient; on desktop the sub-text stays on one line and shrinks only if the card is too narrow. */
.hm-dest { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1140px; margin: 0 auto; padding: 48px 20px 40px; }
.hm-dest a { display: flex; flex-direction: column; justify-content: flex-end; min-height: 300px; padding: 28px; border-radius: 4px; color: #fff; text-decoration: none; background: linear-gradient(180deg, rgba(1,22,39,.05) 30%, rgba(1,22,39,.85)), var(--bg) center/cover no-repeat; }
.hm-dest h3 { margin: 0 0 8px; color: #fff; font: 800 30px/1.15 var(--pq-font); text-transform: none; }
.hm-dest p { margin: 0; color: #fff; font: 500 16px/1.45 var(--pq-font); }
.hm-dest .go { margin-top: 14px; font: 700 13px/1 var(--pq-font); letter-spacing: .08em; }
.hm-dest a:hover h3, .hm-dest a:focus-visible h3 { text-decoration: underline; }
@media (min-width: 1000px) {
  .hm-dest { max-width: 1260px; }
  .hm-dest a { container-type: inline-size; }
  .hm-dest p { white-space: nowrap; font-size: min(16px, 3cqi); }
}
@media (min-width: 1000px) and (max-width: 1259.98px) {
  .hm-dest { gap: 20px; }
  .hm-dest a { padding: 28px 22px; }
}
@media (max-width: 767.98px) {
  .hm-dest { grid-template-columns: 1fr; gap: 34px; padding-top: 40px; }
  .hm-dest a { min-height: 220px; padding: 22px; }
  .hm-dest h3 { font-size: 26px; }
}
/* site-wide « Prendre rendez-vous » / "Book a Consultation" button opening the contact form in a popup (same dialog as the client pages). */
.pq-rdv-fab { display: none; }
.pq-rdv-js .pq-rdv-fab { display: block; position: fixed; right: 28px; bottom: 26px; z-index: 98; margin: 0; border-radius: 100px; opacity: 0; transform: translate3d(0,140%,0); pointer-events: none; transition: opacity .3s, transform .3s; }
.pq-rdv-js .pq-rdv-fab.on { opacity: 1; transform: none; pointer-events: auto; }
.pq-rdv-js .pq-rdv-fab .btn { box-shadow: 0 8px 24px rgba(1,22,39,.25); }
.pq-rdv-js.pq-rdv-lift .pq-rdv-fab { bottom: 80px; }
@media (max-width: 767px) { .pq-rdv-js .pq-rdv-fab { right: 14px; bottom: 14px; } .pq-rdv-js.pq-rdv-lift .pq-rdv-fab { bottom: 70px; } }
@media (prefers-reduced-motion: reduce) { .pq-rdv-js .pq-rdv-fab { transition: none; } }
dialog.sx-modal{width:min(640px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:44px 32px 28px;border:0;border-radius:16px;background:#fff;color:#011627;box-shadow:0 30px 80px rgba(0,0,0,.4);overflow:auto}
dialog.sx-modal::backdrop{background:rgba(1,22,39,.72)}
dialog.sx-modal .sx-mx{position:absolute;top:10px;right:12px;padding:6px 12px;border:1px solid #011627;border-radius:999px;background:#fff;color:#011627;font:600 14px/1.2 inherit;cursor:pointer}
dialog.sx-modal .sx-mx:focus-visible{outline:3px solid #d94948;outline-offset:2px}
dialog.sx-modal .sx-mt{margin:0 0 18px;font-size:24px;line-height:1.25;color:#011627}
@media (max-width:767px){dialog.sx-modal{padding:52px 18px 20px}}
/* Client success-story pages + localization/service-journey pages (published from preview PR #83): proposed-text outline and destination cards. */
.xq-pp { position: relative; outline: 2px dashed var(--pq-red); outline-offset: 6px; border-radius: 3px; }
.xq-pp[data-pp]::before { content: attr(data-pp); position: absolute; top: -25px; left: -8px; z-index: 3; padding: 3px 8px; border-radius: 100px; background: var(--pq-red); color: #fff; font: 700 9.5px/1.2 var(--pq-font); letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.xq-dest { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1140px; margin: 0 auto; padding: 48px 20px 40px; }
.xq-dest a { display: flex; flex-direction: column; justify-content: flex-end; min-height: 300px; padding: 28px; border-radius: 4px; color: #fff; text-decoration: none; background: linear-gradient(180deg, rgba(1,22,39,.05) 30%, rgba(1,22,39,.85)), var(--bg) center/cover no-repeat; }
.xq-dest h3 { margin: 0 0 8px; color: #fff; font: 800 30px/1.15 var(--pq-font); text-transform: none; }
.xq-dest p { margin: 0; color: #fff; font: 500 16px/1.45 var(--pq-font); }
.xq-dest .go { margin-top: 14px; font: 700 13px/1 var(--pq-font); letter-spacing: .08em; }
.xq-dest a:hover h3, .xq-dest a:focus-visible h3 { text-decoration: underline; }
.xq-doors { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1000px; margin: 0 auto; padding: 40px 20px 44px; }
.xq-doors a { display: block; padding: 26px 26px 22px; border-top: 4px solid var(--pq-red); background: #fff; box-shadow: 0 6px 22px rgba(1,22,39,.12); color: #081625; text-decoration: none; }
.xq-doors h3 { margin: 0 0 10px; color: var(--pq-navy); font: 800 22px/1.2 var(--pq-font); text-transform: none; }
.xq-doors p { margin: 0 0 14px; font: 500 15px/1.5 var(--pq-font); text-transform: none; }
.xq-doors .go { color: var(--pq-red); font: 700 13px/1 var(--pq-font); letter-spacing: .06em; }
.xq-doors a:hover h3, .xq-doors a:focus-visible h3 { color: var(--pq-red); }
.xq-two { max-width: 900px; margin: 0 auto; padding: 56px 20px 64px; text-align: center; font-family: var(--pq-font); }
.xq-two h2 { margin: 0 0 22px; color: var(--pq-navy); font: 800 26px/1.2 var(--pq-font); text-transform: none; }
.xq-two ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin: 0; padding: 0; list-style: none; }
.xq-two li { flex: 1 1 260px; max-width: 360px; }
.xq-two a { display: block; padding: 16px 18px; border: 2px solid var(--pq-navy); border-radius: 3px; color: var(--pq-navy); font: 700 16px/1.3 var(--pq-font); text-decoration: none; }
.xq-two a:hover, .xq-two a:focus-visible { border-color: var(--pq-red); color: var(--pq-red); }
.xq-two .todo { margin: 44px 16px 10px; padding: 10px 12px; outline-offset: 3px; color: var(--pq-red); font: 700 14px/1.4 var(--pq-font); }
@media (max-width: 767.98px) {
  .xq-dest, .xq-doors { grid-template-columns: 1fr; gap: 34px; padding-top: 40px; }
  .xq-dest a { min-height: 220px; padding: 22px; }
  .xq-dest h3 { font-size: 26px; }
}
.pq-gallery a[href*="brian-scudamore"] img { object-position: 50% 10%; }
/* Whole-card links on client-case cards (Solutions, Vers l'Est, Vers l'Ouest pages, from PR #83). */
.xq-card-link { position: absolute; inset: 0; z-index: 3; border-radius: inherit; }
:is(.xq-cl-card, .xp-case):has(> .xq-card-link) { position: relative; cursor: pointer; }
:is(.xq-cl-card, .xp-case):has(> .xq-card-link) :is(a:not(.xq-card-link), .xq-pp:has(a)) { position: relative; z-index: 4; }
:is(.xq-cl-card, .xp-case):has(> .xq-card-link) a:not(.xq-card-link):focus-visible { outline: 2px solid var(--pq-red); outline-offset: 3px; }
