

@font-face{
  font-family:'Geologica';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/geologica-latin-wght-normal.woff2') format('woff2-variations');
  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:'Geologica';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/geologica-latin-ext-wght-normal.woff2') format('woff2-variations');
  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:'Geologica';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/geologica-cyrillic-wght-normal.woff2') format('woff2-variations');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Geologica';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/geologica-cyrillic-ext-wght-normal.woff2') format('woff2-variations');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}

:root{

  --typography-family-heading:'Geologica', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --typography-family-main:'Geologica', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --typography-family-paragraph:var(--typography-family-main);
  --typography-weight-heading:600;
  --typography-heading-letter-spacing:-0.02em;
  --typography-heading-line-height:1.25;
  --typography-paragraph-line-height:1.7;

  --color-sienna:#0f857c;
  --color-sienna-deep:#0a625b;
  --color-canadian-red:#3f5b63;

  --color-paper:#ffffff;
  --color-paper-tint:#f2f8f7;
  --color-paper-deep:#e4efee;
  --color-rule:#cfe0dd;
  --color-ink:#14201f;
  --color-ink-soft:#4d5c5a;
  --color-surface-container:#eaf4f2;
  --color-tertiary-dark:#2d4247;
  --color-tertiary-container:#dcebe9;

  --color-primary:#0f857c;
  --color-secondary:#0a625b;
  --color-accent:#0f857c;
  --color-accent-hover:#0a625b;
  --color-link-text:#0a625b;
  --color-link-text-hover:#0f857c;
}

body{ background:#f7fbfa; }

@media (max-width:600px){
  :root{ --typography-heading-letter-spacing:-0.01em; }
}

.block-cta-banner :is(h1,h2,h3){ color:var(--color-on-primary); }

.block-process-steps :where(ol, ul, li, div, h3, h4, p)::before,
.wp-block-acf-process-steps :where(ol, ul, li, div, h3, h4, p)::before {
  content: none !important;
  display: none !important;
}

.block-cta-banner .cta-banner{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-radius:28px;
  padding:clamp(2.75rem,5vw,4.25rem) clamp(1.5rem,4vw,3.5rem);
  text-align:center;
  color:#fff;
  background:
    radial-gradient(120% 95% at 10% -15%, #14a89c 0%, rgba(20,168,156,0) 55%),
    radial-gradient(95% 85% at 105% 115%, #084f49 0%, rgba(8,79,73,0) 60%),
    linear-gradient(135deg,#0f857c 0%,#0a625b 100%);
  box-shadow:0 22px 48px -26px rgba(10,98,91,.7);
}

.block-cta-banner .cta-banner-fringe{
  position:absolute;
  left:-6%; right:-6%;
  height:200px;
  z-index:-1;
  pointer-events:none;
  background-repeat:no-repeat;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.15) 0 25px, rgba(255,255,255,0) 26px),
    radial-gradient(circle at 38% 34%, rgba(255,255,255,.55) 0 3px, rgba(255,255,255,0) 4px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.13) 0 15px, rgba(255,255,255,0) 16px),
    radial-gradient(circle at 39% 35%, rgba(255,255,255,.50) 0 2px, rgba(255,255,255,0) 3px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.12) 0 10px, rgba(255,255,255,0) 11px),
    radial-gradient(circle at 39% 35%, rgba(255,255,255,.45) 0 2px, rgba(255,255,255,0) 3px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.11) 0 7px,  rgba(255,255,255,0) 8px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.10) 0 5px,  rgba(255,255,255,0) 6px);
  background-size:
    60px 60px, 60px 60px,
    38px 38px, 38px 38px,
    28px 28px, 28px 28px,
    20px 20px,
    16px 16px;
}
.block-cta-banner .cta-banner-fringe-top{
  top:-40px;
  background-position:
    7% 58%, 7% 58%,
    21% 18%, 21% 18%,
    33% 76%, 33% 76%,
    46% 28%,
    57% 64%;
  animation:kt-bubble-drift 16s ease-in-out infinite alternate;
}
.block-cta-banner .cta-banner-fringe-bottom{
  bottom:-48px;
  background-position:
    93% 32%, 93% 32%,
    79% 70%, 79% 70%,
    67% 20%, 67% 20%,
    56% 78%,
    45% 38%;
  animation:kt-bubble-drift 21s ease-in-out infinite alternate-reverse;
}

.block-cta-banner .cta-banner::before,
.block-cta-banner .cta-banner::after{
  content:"";
  position:absolute;
  z-index:-1;
  border-radius:50%;
  background:radial-gradient(circle at 32% 30%, rgba(255,255,255,.30) 0 6px, rgba(255,255,255,.10) 10px 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.block-cta-banner .cta-banner::before{ width:150px; height:150px; top:-46px; right:6%; }
.block-cta-banner .cta-banner::after { width:96px;  height:96px;  bottom:-30px; left:9%; }

@keyframes kt-bubble-drift{
  from{ transform:translate3d(0,0,0); }
  to  { transform:translate3d(-14px,-10px,0); }
}
@media (prefers-reduced-motion:reduce){
  .block-cta-banner .cta-banner-fringe{ animation:none; }
}

.block-cta-banner .cta-banner-heading{
  color:#fff;
  margin:0 0 .65rem;
  font-size:clamp(1.6rem,2.6vw,2.25rem);
  line-height:1.2;
}
.block-cta-banner .cta-banner-description{
  color:rgba(255,255,255,.88);
  margin:0 auto 1.75rem;
  max-width:52ch;
}
.block-cta-banner .cta-banner-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  justify-content:center;
}
.block-cta-banner .cta-banner-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.85rem 1.6rem;
  border-radius:999px;
  font-weight:600;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.block-cta-banner .cta-banner-button-primary{
  background:#fff;
  color:#0a625b;
  box-shadow:0 10px 22px -12px rgba(4,42,39,.8);
}
.block-cta-banner .cta-banner-button-secondary{
  background:rgba(255,255,255,.14);
  color:#fff;
  border:1px solid rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}
.block-cta-banner .cta-banner-button:hover{ transform:translateY(-2px); }
.block-cta-banner .cta-banner-button-primary:hover{ background:#f2fbfa; }
.block-cta-banner .cta-banner-button-secondary:hover{ background:rgba(255,255,255,.24); }
.block-cta-banner .cta-banner-button:focus-visible{
  outline:3px solid rgba(255,255,255,.9);
  outline-offset:3px;
}
