/* ══════════════════════════════════════════════════════════════════════════
   Chrome for the pages that came out of the Framer export — 11 Sep 2026
   The article pages carried their own header and footer, so moving from
   /blog to an article looked like leaving the site. This sheet hides the
   export's chrome and dresses the page in ours: the same banner, the same
   nav (Careers included), the same deep-green footer, and the grain.
   It is deliberately self-contained — no reset, no type presets — so it
   cannot reach into the article body the export already styles.
   ══════════════════════════════════════════════════════════════════════════ */

@font-face{font-family:"TWK Lausanne";src:url("../fonts/lausanne-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"TWK Lausanne";src:url("../fonts/lausanne-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"TWK Lausanne";src:url("../fonts/lausanne-450.woff2") format("woff2");font-weight:450;font-style:normal;font-display:swap}

.rq-banner,.rq-navwrap,.rq-footer{
  --rq-ink:#101010;
  --rq-paper:#f2f1ed;
  --rq-green:#00b585;
  --rq-green-deep:#007a57;
  --rq-line:rgba(16,16,16,.10);
  --rq-shell:1200px;
  --rq-ease:cubic-bezier(.22,1,.36,1);
  --rq-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  --rq-grain-light:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  font-family:"TWK Lausanne","Helvetica Neue",Helvetica,Arial,sans-serif;
}
.rq-banner *,.rq-navwrap *,.rq-footer *{box-sizing:border-box}
.rq-banner,.rq-banner a,.rq-navwrap a,.rq-footer a{text-decoration:none;color:inherit}
/* the blanket colour:inherit above outranks a bare .rq-btn, so the two
   coloured actions name their element as well as their class */
.rq-banner a.rq-btn,.rq-navwrap a.rq-btn,.rq-footer a.rq-btn{color:#ffffff}
.rq-footer a.rq-footer__cta{color:#06251c}
.rq-banner p,.rq-footer p,.rq-footer h4{margin:0}
.rq-navwrap ul,.rq-footer ul{margin:0;padding:0;list-style:none}
.rq-footer img,.rq-navwrap img{display:block;max-width:100%}

/* ── the export's own header, banner and footer step aside ─────────────── */
[data-framer-name="Banner"],
.framer-uh9670-container,
.framer-1wnmtgu-container{display:none!important}

/* ── Banner ───────────────────────────────────────────────────────────── */
.rq-banner{
  position:sticky;top:0;z-index:610;overflow:hidden;
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:12px 16px;background:#101010;color:#ffffff;text-align:center;
}
.rq-banner p{position:relative;z-index:1;font-weight:450;font-size:14px;line-height:21px;letter-spacing:.05px;color:#ffffff}
.rq-banner strong{font-weight:450;color:#ffffff;white-space:nowrap}
/* grain: black noise is invisible on ink, so the dark bar takes the white one */
.rq-banner::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--rq-grain-light);background-size:160px 160px;
  opacity:.22;filter:contrast(2);
}

/* ── Nav ──────────────────────────────────────────────────────────────── */
.rq-navwrap{position:sticky;top:45px;z-index:600}
.rq-nav{
  /* no overflow:hidden — it would clip the mobile menu that drops below */
  position:relative;
  display:flex;align-items:center;justify-content:center;
  padding:12px;background:rgba(242,241,237,.82);
  box-shadow:inset 0 -1px 0 var(--rq-line);
  -webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);
}
.rq-nav::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--rq-grain);background-size:180px 180px;
  opacity:.16;filter:contrast(2);mix-blend-mode:multiply;
}
.rq-nav__inner{
  position:relative;z-index:1;
  width:100%;max-width:1312px;margin-inline:auto;padding:0 52px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
}
.rq-nav__logo{display:block;width:103px;color:#101010}
.rq-nav__links{display:flex;align-items:center;justify-content:center;gap:54px}
.rq-nav__links a{
  font-weight:300;font-size:14px;line-height:19.6px;letter-spacing:.14px;color:#4a4842;
  padding-bottom:2px;transition:color .15s var(--rq-ease);
}
.rq-nav__links a:hover{color:#101010}
.rq-nav__links a[aria-current="page"]{color:#101010;font-weight:450}
.rq-nav__cta{display:flex;justify-content:flex-end}
.rq-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:9px 18px;border-radius:2px;border:0;cursor:pointer;
  background:var(--rq-green);color:#ffffff;
  font-family:inherit;font-weight:450;font-size:16px;line-height:19px;letter-spacing:.1px;
  white-space:nowrap;transition:background .15s var(--rq-ease);
}
.rq-btn:hover{background:var(--rq-green-deep)}
.rq-nav__burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;
  cursor:pointer;background:none;border:0;padding:0}
.rq-nav__burger span{display:block;width:20px;height:1.5px;background:#101010;position:relative;transition:background .15s}
.rq-nav__burger span::before,.rq-nav__burger span::after{content:"";position:absolute;left:0;width:20px;height:1.5px;background:#101010;transition:transform .3s var(--rq-ease)}
.rq-nav__burger span::before{top:-6px}
.rq-nav__burger span::after{top:6px}
.rq-nav.is-open .rq-nav__burger span{background:transparent}
.rq-nav.is-open .rq-nav__burger span::before{transform:translateY(6px) rotate(45deg)}
.rq-nav.is-open .rq-nav__burger span::after{transform:translateY(-6px) rotate(-45deg)}
.rq-nav__mobile{display:none}

/* ── Footer ───────────────────────────────────────────────────────────── */
.rq-footer{
  position:relative;overflow:hidden;
  background:radial-gradient(120% 150% at 8% 0%,#0f4a38 0%,#06251c 58%,#06251c 100%);
  color:#f2f1ed;padding:70px 40px 0;
}
.rq-footer::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--rq-grain-light);background-size:160px 160px;
  opacity:.22;filter:contrast(2);
}
.rq-footer__inner{position:relative;z-index:1;max-width:var(--rq-shell);margin:0 auto;
  display:grid;grid-template-columns:0.9fr 2.1fr;gap:64px;padding-bottom:64px}
.rq-footer__logo{display:inline-block}
.rq-footer__logo img{width:150px;height:auto;filter:brightness(0) invert(1);opacity:.94}
.rq-footer p.rq-footer__tag{margin-top:18px;font-weight:400;font-size:16px;line-height:21px;color:rgba(242,241,237,.6)}
.rq-footer__cta{display:inline-flex;align-items:center;justify-content:center;margin-top:26px;
  background:#f2f1ed;color:#06251c;padding:12px 22px;border-radius:4px;
  font-weight:450;font-size:16px;line-height:20px;letter-spacing:.1px;transition:background .15s var(--rq-ease)}
.rq-footer__cta:hover{background:#ffffff}
.rq-footer p.rq-footer__copy{margin-top:34px;font-weight:400;font-size:12px;line-height:20px;color:rgba(242,241,237,.4)}
.rq-footer__cols{display:grid;grid-template-columns:repeat(5,1fr);gap:32px}
.rq-footer__col h4{font-weight:450;font-size:12px;letter-spacing:.4px;color:rgba(242,241,237,.42);margin-bottom:16px}
.rq-footer__col li+li{margin-top:11px}
.rq-footer__col a,.rq-footer__col button{
  display:inline-block;background:none;border:0;padding:0;text-align:left;cursor:pointer;
  font-family:inherit;font-weight:400;font-size:16px;line-height:20px;color:rgba(242,241,237,.86);
  transition:color .15s var(--rq-ease)}
.rq-footer__col a:hover,.rq-footer__col button:hover{color:#ffffff}
/* The wordmark is filled, sits on the bottom edge of the page and runs the
   full width — the same as the home page's, after her two notes on it. The
   figures are measured, not guessed: at this weight and letter-spacing the
   ink of "strada" is 2.39932em wide and starts .0322em right of the text
   origin, so 41.68vw sets it to exactly 100vw and .729em is its own height. */
.rq-footer__ghost{
  position:relative;z-index:0;pointer-events:none;user-select:none;
  display:flex;justify-content:flex-start;overflow:hidden;
  max-width:none;padding:0;margin:0 -40px;
  height:.4em;font-weight:300;font-size:41.68vw;line-height:.72;
}
.rq-footer__ghost span{
  color:transparent;-webkit-text-fill-color:transparent;
  -webkit-text-stroke:1px rgba(242,241,237,.16);
  background-image:repeating-linear-gradient(-45deg,
    rgba(242,241,237,.085) 0 1px,
    rgba(242,241,237,0) 1px 7px);
  -webkit-background-clip:text;background-clip:text;
  letter-spacing:-.055em;margin-left:-.0322em;white-space:nowrap;
}

/* ── Narrower screens ─────────────────────────────────────────────────── */
@media (max-width:1439.98px){
  .rq-nav__inner{padding:0 24px;max-width:100%}
  .rq-nav__links{gap:40px}
}
@media (max-width:1199.98px){
  .rq-footer__inner{grid-template-columns:1fr;gap:48px;padding-bottom:88px}
  .rq-footer__cols{grid-template-columns:repeat(3,1fr);gap:28px 24px}
}
@media (max-width:809.98px){
  .rq-banner{position:static;gap:6px;flex-wrap:wrap}
  .rq-navwrap{top:0}
  .rq-nav{padding:8px 20px}
  .rq-nav__inner{padding:0;grid-template-columns:auto 1fr}
  .rq-nav__links,.rq-nav__cta{display:none}
  .rq-nav__burger{display:flex;justify-self:end}
  .rq-nav__mobile{
    display:block;position:absolute;left:0;right:0;top:100%;
    background:rgba(255,255,255,.97);
    -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
    border-top:1px solid var(--rq-line);
    max-height:0;overflow:hidden;transition:max-height .3s var(--rq-ease)}
  .rq-nav.is-open .rq-nav__mobile{max-height:340px}
  .rq-nav__mobile ul{padding:8px 20px 20px;display:flex;flex-direction:column;gap:4px}
  .rq-nav__mobile a{display:block;padding:12px 0;font-weight:300;font-size:16px;color:#101010}
  .rq-nav__mobile .rq-btn{width:100%;margin-top:8px}
  /* .rq-nav__mobile a outranks a bare .rq-btn, exactly as on the rest of
     the site; the header button keeps its own padding the same way */
  .rq-nav .rq-btn{padding:9px 18px}
  .rq-footer{padding:48px 20px}
  .rq-footer__cols{grid-template-columns:repeat(2,1fr)}
  .rq-footer__ghost{margin:0 -20px}
}

/* ── The page grain ───────────────────────────────────────────────────────
   The rest of the site carries one fixed layer of fine dark grit over
   everything (.home-refresh::after); on paper it reads as texture, and the
   article's white column is the largest flat surface on the site, so it is
   exactly where the page looked plastic without it. The chrome sits above
   this layer because it already carries its own grain; z-index clears the
   export's own stack, which tops out at 100. */
body::after{
  content:"";position:fixed;inset:0;z-index:500;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:180px 180px;opacity:.16;filter:contrast(2);mix-blend-mode:multiply;
}

/* ── The article's own text, on the site's terms ──────────────────────────
   The export renders the body in TWK Lausanne but has no bold or italic cut
   for it, so every emphasised word silently fell back to Inter at 700 — two
   typefaces inside one paragraph. Emphasis here is weight, never a slant
   (450 is the site's Medium), and a link in running text is green, not the
   browser's blue, which is a colour the palette does not contain. */
.framer-text strong,.framer-text b,
strong.framer-text,b.framer-text{
  font-family:"TWK Lausanne","Helvetica Neue",Helvetica,Arial,sans-serif!important;
  font-weight:450!important;
}
.framer-text em,.framer-text i,
em.framer-text,i.framer-text{
  font-family:"TWK Lausanne","Helvetica Neue",Helvetica,Arial,sans-serif!important;
  font-weight:450!important;font-style:normal!important;
}
.framer-text a:not([class*="framer-"]),
.framer-text a.framer-text,
p.framer-text a,li.framer-text a{
  color:#007a57!important;
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(0,122,87,.34);
  transition:text-decoration-color .15s var(--rq-ease,cubic-bezier(.22,1,.36,1));
}
.framer-text a:not([class*="framer-"]):hover,
.framer-text a.framer-text:hover,
p.framer-text a:hover,li.framer-text a:hover{text-decoration-color:#007a57}

/* Match the softer site grain: 70% of the previous intensity. */
body::after,.rq-nav::after{opacity:.112}
.rq-banner::after,.rq-footer::after{opacity:.154}

/* Shared mobile navigation, also on article, glossary and legal pages. */
/* Mobile navigation is a full-screen, opaque panel with one persistent action. */
.mobile-demo-dock{display:none}
@media(max-width:809.98px){
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 body .rq-navwrap{z-index:1100!important;top:0!important}
 body .rq-nav{height:72px!important;box-sizing:border-box;background:#f2f1ed!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:12px 20px!important}
 body .rq-nav__inner{padding:0!important}
 body .rq-nav__logo{width:112px!important}
 body .rq-nav__logo img{width:112px!important;height:auto!important}
 body .rq-nav__burger{width:44px;height:44px;border:1px solid #d8dbd3;border-radius:50%;background:transparent}
 body .rq-nav__mobile{display:flex!important;flex-direction:column;position:fixed!important;inset:72px 0 0!important;width:100%;height:calc(100dvh - 72px)!important;max-height:none!important;box-sizing:border-box;padding:28px 24px calc(116px + env(safe-area-inset-bottom))!important;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility .25s!important}
 body .rq-nav.is-open .rq-nav__mobile{opacity:1;visibility:visible;pointer-events:auto;transform:none}
 body .rq-nav__mobile ul{width:100%;padding:0!important;gap:0!important}
 body .rq-nav__mobile li{border-bottom:1px solid #e4e5df;margin:0}
 body .rq-nav__mobile li:last-child{display:none}
 body .rq-nav__mobile li a{font-size:32px!important;font-weight:400!important;line-height:1.2!important;letter-spacing:-.6px;padding:18px 0!important;color:#101010!important;transform:translateY(12px);opacity:0;transition:opacity .3s ease,transform .4s cubic-bezier(.22,1,.36,1)!important}
 body .rq-nav.is-open .rq-nav__mobile li a{opacity:1;transform:none;transition-delay:80ms!important}
 body .rq-nav.is-open .rq-nav__mobile li:nth-child(2) a{transition-delay:110ms!important}
 body .rq-nav.is-open .rq-nav__mobile li:nth-child(3) a{transition-delay:140ms!important}
 body .rq-nav.is-open .rq-nav__mobile li:nth-child(4) a{transition-delay:170ms!important}
 body .rq-nav.is-open .rq-nav__mobile li:nth-child(5) a{transition-delay:200ms!important}
 body .rq-nav__mobile li a[aria-current="page"]{color:#0f4a38!important}
 body .nav__mobile-caption{margin:32px 0 0!important;max-width:24ch;font-size:14px;line-height:1.5;color:#7a7a7a}
 body .mobile-demo-dock{display:block;position:fixed;z-index:1200;inset:auto 0 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e4e5df;box-sizing:border-box}
 body .mobile-demo-dock .rq-btn{display:flex;align-items:center;justify-content:center;width:100%;height:48px;margin:0;background:#00b585!important;border:1px solid #00b585!important;color:#fff!important;font-size:16px!important;border-radius:4px!important}
 body.mobile-menu-open{position:fixed;width:100%;overflow:hidden}
 body.mobile-menu-open .rq-navwrap{position:fixed!important;inset:0 0 auto}
 body.mobile-menu-open .rq-nav{background:#fff!important}
}
@media(prefers-reduced-motion:reduce){ .rq-nav__mobile, .rq-nav__mobile li a{transition:none!important}}

.mobile-demo-dock{font-family:"TWK Lausanne","Helvetica Neue",Helvetica,Arial,sans-serif}
.mobile-demo-dock a{text-decoration:none;box-sizing:border-box}
.rq-footer__ghost{max-width:1200px;margin:0 auto;font-size:calc(min(100vw - 80px,1200px) / 2.39932)}
.framer-text{font-family:"TWK Lausanne","Helvetica Neue",Helvetica,Arial,sans-serif!important}
@media(max-width:809.98px){
 .rq-footer{padding-bottom:0}
 .rq-footer__ghost{font-size:calc((100vw - 40px) / 2.39932);height:.4em;line-height:.72}
}

/* Article FAQ: consistent type scale and flexible text columns. */
.framer-slvkw3,.framer-slvkw3 > div{max-width:100%;min-width:0}
.framer-slvkw3 > div:first-child{width:100%!important}
.framer-slvkw3 > div:first-child h2{white-space:normal!important;overflow-wrap:break-word;font-size:36px!important;line-height:1.15!important;letter-spacing:-.03em!important}
[data-framer-name="Question"]:not([data-framer-component-type]){gap:20px!important;align-items:flex-start!important}
[data-framer-name="Question"] > [data-framer-name="Text"]{min-width:0!important;flex:1 1 0!important;width:auto!important}
[data-framer-name="Question"] h2{font-size:22px!important;line-height:1.4!important;letter-spacing:-.02em!important;white-space:normal!important}
[data-framer-name="Question"] button{flex-shrink:0!important;margin-top:3px}
[data-framer-name="Answer"] p{font-size:17px!important;line-height:1.65!important}
@media(max-width:809.98px){
 .framer-slvkw3 > div:first-child h2{font-size:30px!important}
 [data-framer-name="Question"] h2{font-size:18px!important;line-height:1.4!important}
 [data-framer-name="Question"]:not([data-framer-component-type]){gap:16px!important}
 [data-framer-name="Question"] button{width:28px!important;height:28px!important}
 [data-framer-name="Answer"] p{font-size:16px!important}
}

/* One page grain, identical to Home and Platform. */
body::after{z-index:900;background-size:180px 180px;opacity:.14;filter:contrast(2);mix-blend-mode:normal}
.proto-grain{display:none!important}

@media(max-width:809.98px){
 :is(.banner,.rq-banner){padding:16px 20px!important;text-align:left!important}
 :is(.banner,.rq-banner)>p{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%;max-width:540px;margin:0!important;font-size:13px!important;line-height:1.5!important;font-weight:400!important}
 :is(.banner,.rq-banner) .announcement-copy{display:block;max-width:43ch}
 :is(.banner,.rq-banner) .announcement-action{display:inline-flex;align-items:center;gap:12px;padding:7px 10px;border:1px solid #73bda880;border-radius:4px;background:#163e32;color:#c5f0df!important;font-size:12px!important;line-height:1.3!important;white-space:nowrap}
 :is(.banner,.rq-banner) .announcement-action span{font-size:16px;line-height:1}
}

/* Keep the booking form inside the phone's content column. */
@media(max-width:809.98px){
 body form.framer-1gg3sj4{width:100%!important;min-width:0!important;max-width:100%!important;padding:0!important;box-sizing:border-box}
 body form.framer-1gg3sj4>label,
 body form.framer-1gg3sj4>.framer-dkxkbr,
 body form.framer-1gg3sj4>.framer-1akb0qu-container{width:100%!important;min-width:0!important;max-width:100%!important}
 body form.framer-1gg3sj4>.framer-dkxkbr{flex-direction:column!important}
 body form.framer-1gg3sj4>.framer-dkxkbr>label{width:100%!important;min-width:0!important}
}
@media(max-width:809.98px){
 body form.framer-1gg3sj4 label{align-items:flex-start!important}
 body form.framer-1gg3sj4 label>.framer-form-input-wrapper{width:100%!important}
 body form.framer-1gg3sj4 label>.ssr-variant{display:contents!important}
}

/* Compact announcement, aligned with the navigation and page gutter. */
@media(max-width:809.98px){
 :is(.banner,.rq-banner){padding:10px 20px!important}
 :is(.banner,.rq-banner)>p{max-width:none!important;gap:6px!important;font-size:12px!important;line-height:1.4!important}
 :is(.banner,.rq-banner) .announcement-copy{max-width:none!important}
 :is(.banner,.rq-banner) .announcement-action{padding:4px 8px!important;gap:8px!important;font-size:11px!important}
}
@media(min-width:600px) and (max-width:809.98px){
 :is(.banner,.rq-banner)>p{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
 :is(.banner,.rq-banner) .announcement-copy{flex:1;min-width:0}
 :is(.banner,.rq-banner) .announcement-action{flex-shrink:0}
}

/* Phone announcement: copy and one compact arrow share a row. */
@media(max-width:599.98px){
 :is(.banner,.rq-banner)>p{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
 :is(.banner,.rq-banner) .announcement-copy{flex:1;min-width:0}
 :is(.banner,.rq-banner) .announcement-action{display:flex!important;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;box-sizing:border-box;padding:0!important;border-radius:50%!important;font-size:0!important;gap:0!important}
 :is(.banner,.rq-banner) .announcement-action span{font-size:20px!important;line-height:1!important}
}

/* A compact, centered announcement with a subtle silver shimmer. */
@media(max-width:809.98px){
 :is(.banner,.rq-banner){text-align:center!important;padding:12px 20px!important}
 :is(.banner,.rq-banner)>p{display:block!important;text-align:center!important}
 :is(.banner,.rq-banner) .announcement-action{display:none!important}
 :is(.banner,.rq-banner) .announcement-copy{display:block;max-width:580px!important;margin:0 auto;color:#e1e5e8!important}
 @supports ((-webkit-background-clip:text) or (background-clip:text)){
  :is(.banner,.rq-banner) .announcement-copy{background:linear-gradient(110deg,#bfc6cc 0%,#dfe3e7 30%,#fff 45%,#fff 50%,#bcc5cd 65%,#e2e6e9 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
 }
}
@media(max-width:809.98px) and (prefers-reduced-motion:no-preference){
 :is(.banner,.rq-banner) .announcement-copy{animation:announcementSilver 7s ease-in-out infinite}
}
@keyframes announcementSilver{0%,15%{background-position:100% 50%}75%,100%{background-position:0% 50%}}

/* Unified case-study CTA — matches the current site CTA system. */
.rq-case-cta{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:calc(100% - clamp(40px,8vw,160px));max-width:1560px;min-height:440px;margin:80px auto;padding:72px 56px;background:#eceae4;border:1px solid rgba(16,16,16,.12);border-radius:6px;box-shadow:0 10px 26px -16px rgba(16,16,16,.14);color:#101010;text-align:center;text-decoration:none}
.rq-case-cta::before{content:"";position:absolute;z-index:-1;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 520' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23c3c2bd' stroke-width='1.2' opacity='.72'%3E%3Cpath d='M-40 20 C230 65 260 170 545 230'/%3E%3Cpath d='M-40 95 C220 125 295 205 550 245'/%3E%3Cpath d='M-40 170 C220 188 330 230 560 258'/%3E%3Cpath d='M-40 350 C220 330 330 292 560 270'/%3E%3Cpath d='M-40 425 C220 392 295 318 550 282'/%3E%3Cpath d='M-40 500 C230 455 260 350 545 295'/%3E%3Cpath d='M1640 20 C1370 65 1340 170 1055 230'/%3E%3Cpath d='M1640 95 C1380 125 1305 205 1050 245'/%3E%3Cpath d='M1640 170 C1380 188 1270 230 1040 258'/%3E%3Cpath d='M1640 350 C1380 330 1270 292 1040 270'/%3E%3Cpath d='M1640 425 C1380 392 1305 318 1050 282'/%3E%3Cpath d='M1640 500 C1370 455 1340 350 1055 295'/%3E%3C/g%3E%3Cpath d='M1640 95 C1380 125 1305 205 1050 245' fill='none' stroke='%2300b585' stroke-width='3' stroke-linecap='round' stroke-dasharray='0 315 120 999'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.88}
.rq-case-cta__copy{position:relative;z-index:1;max-width:920px}.rq-case-cta h2{max-width:19ch;margin:0 auto;font:400 clamp(48px,5vw,72px)/1.05 'TWK Lausanne 300',Arial,sans-serif;letter-spacing:-.045em}.rq-case-cta p{max-width:780px;margin:28px auto 0;color:#777;font-size:20px;line-height:1.5}.rq-case-cta__button{position:relative;z-index:1;flex:0 0 auto;margin-top:44px;background:#0f4a38;color:#fff;padding:18px 38px;border-radius:3px;font-size:18px;line-height:1.2}
.rq-case-cta:hover .rq-case-cta__button{background:#00b585}
@media(max-width:809.98px){.rq-case-cta{width:calc(100% - 40px);min-height:360px;margin:48px auto;padding:56px 24px}.rq-case-cta::before{background-size:auto 100%;background-position:center}.rq-case-cta h2{font-size:clamp(34px,9vw,46px)}.rq-case-cta p{margin-top:20px;font-size:16px}.rq-case-cta__button{width:auto;margin-top:32px;padding:15px 26px;text-align:center;font-size:16px}}

/* Shared closing CTA: the same ctacard component used on Home and Platform. */
.case-cta-home.ctaband{display:flex;justify-content:center;width:100%;margin:0;padding:96px 40px;background:#f7f6f2;font-family:'TWK Lausanne 350','TWK Lausanne',Arial,sans-serif}
.case-cta-home .ctacard{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;width:100%;max-width:1200px;min-height:0;margin:0 auto;padding:80px 40px;background:#eceae4;border:1px solid rgba(16,16,16,.10);border-radius:4px;box-shadow:0 1px 2px rgba(16,16,16,.05),0 12px 28px -14px rgba(16,16,16,.22);color:#101010;text-align:center;text-decoration:none}
.case-cta-home .ctacard__field{position:absolute;inset:0;z-index:0;display:block;opacity:.5;pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 40% 60% at 50% 50%,transparent 0,transparent 58%,#000 100%),linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);-webkit-mask-composite:source-in;mask-image:radial-gradient(ellipse 40% 60% at 50% 50%,transparent 0,transparent 58%,#000 100%),linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-composite:intersect}
.case-cta-home .ctacard__body{position:relative;z-index:1;display:block;max-width:720px;text-align:center}
.case-cta-home .ctacard__body .t-h2{margin:0;color:#101010;font:400 48px/1.1 'TWK Lausanne 300','TWK Lausanne',Arial,sans-serif;letter-spacing:-1.4px}
.case-cta-home .ctacard__body .t-lead{max-width:46ch;margin:12px auto 0;color:#777;font-size:18px;line-height:1.6}
.case-cta-home .ctacard__btn{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;margin:6px auto 0;padding:14px 28px;background:#00b585;color:#fff;border-radius:2px;font-size:16px;line-height:20px}
.case-cta-home .ctacard:hover .ctacard__btn{background:#0f4a38}
@media(max-width:809.98px){.case-cta-home.ctaband{padding:64px 20px}.case-cta-home .ctacard{gap:22px;padding:48px 22px}.case-cta-home .ctacard__body .t-h2{font-size:36px;line-height:1.12;letter-spacing:-.8px}.case-cta-home .ctacard__body .t-lead{font-size:16px;line-height:1.5}.case-cta-home .ctacard__btn{margin-top:4px;padding:13px 24px;font-size:15px}}

/* Case-study facts: compact and readable on phones, shared by every story. */
@media(max-width:809.98px){
  [data-framer-name="Side"]{box-sizing:border-box!important;width:calc(100% - 40px)!important;margin:0 20px!important;padding:28px 24px!important;gap:0!important;background:rgba(255,255,255,.44)!important;border:1px solid rgba(16,16,16,.10)!important;border-radius:4px!important}
  [data-framer-name="Side"]>:first-child{gap:10px!important;margin:0 0 22px!important}
  [data-framer-name="Side"]>:first-child h2{font-size:28px!important;line-height:1.15!important}
  [data-framer-name="Side"]>:first-child p{font-size:16px!important;line-height:1.55!important}
  [data-framer-name="Side"]>:nth-child(2),[data-framer-name="Side"]>:nth-child(7){display:none!important}
  [data-framer-name="Side"]>:is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)){display:grid!important;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr)!important;align-items:start!important;gap:16px!important;height:auto!important;min-height:0!important;padding:14px 0!important;border-top:1px solid rgba(16,16,16,.09)!important}
  [data-framer-name="Side"]>:is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6)) p{margin:0!important;font-size:15px!important;line-height:1.45!important;text-align:left!important;color:#101010!important}
  [data-framer-name="Side"]>:is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6))>div:first-child p{padding-top:2px!important;color:#73736f!important;font-size:11px!important;font-weight:450!important;letter-spacing:.08em!important;text-transform:uppercase!important}
  [data-framer-name="Side"]>:nth-child(6)>a{justify-self:start!important}
  [data-framer-name="Side"]>:nth-child(8){margin:24px 0 0!important;padding-top:22px!important;border-top:1px solid rgba(16,16,16,.09)!important}
  [data-framer-name="Side"]>:nth-child(8) p{font-size:15px!important;line-height:1.5!important}
  [data-framer-name="Side"] .framer-j8t0el-container{width:100%!important;height:auto!important;margin-top:18px!important}
  [data-framer-name="Side"] a[data-framer-name="Primary • Small"]{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:auto!important;min-height:48px!important;padding:12px 20px!important}
  [data-framer-name="Side"] a[data-framer-name="Primary • Small"] p{font-size:15px!important;line-height:1.3!important;text-align:center!important}
}

/* ── Book a demo: the message the form shows after a submit ─────────────── */
/* Self-contained like the rest of this sheet. The palette has no red, so the
   failure state is stated in ink on a hairline rather than coloured. */
.rq-formnote{
  margin:16px 0 0;
  padding:14px 16px;
  border:1px solid #dedcd6;
  border-radius:4px;
  background:#f7f6f2;
  font-family:"TWK Lausanne","Lausanne",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px;
  line-height:1.5;
  font-weight:400;
  color:#101010;
}
.rq-formnote b{font-weight:450}
.rq-formnote a{color:#007a57;text-decoration:underline;text-underline-offset:2px}
.rq-formnote[data-tone="pending"]{color:#7a7a7a}
.rq-formnote[data-tone="ok"]{
  border-color:#8fe3c6;
  background:#eef3ef;
}
.rq-formnote[data-tone="ok"]::before{
  content:"";
  display:inline-block;
  width:6px;height:6px;
  margin-right:8px;
  vertical-align:middle;
  background:#00b585;
}
.rq-formnote[data-tone="error"]{border-color:#c9c6bf}
form button[data-rq-busy]{opacity:.6;cursor:progress}
