/*
Theme Name: FreeTalkSoft JellySchool
Author: FreeTalkSoft
Author URI: https://freetalksoft.com/
Description: An original JellySchool business design with translatable English-source block patterns with Korean and Simplified Chinese translations, responsive layouts and local illustrative images.
Version: 1.3.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: freetalksoft-jellyschool
Domain Path: /languages
Tags: block-patterns, full-site-editing, custom-colors, custom-logo, featured-images, blog, portfolio, one-column
*/

:root {
  --accent:#7446da;
  --paper:#fff8ef
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  color:#20272b;
  background:var(--paper);
  font-family:Arial,"Noto Sans KR","Microsoft YaHei",sans-serif;
  line-height:1.65
}
a {
  color:inherit
}
button,input,select {
  font:inherit
}
a:focus-visible,button:focus-visible,select:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:5px
}
.ft-wrap {
  max-width:1200px;
  margin:auto;
  padding:0 32px
}
.ft-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:100px;
  border-bottom:1px solid #20272b18
}
.ft-brand {
  text-decoration:none;
  font-size:24px;
  font-weight:800;
  letter-spacing:-1px
}
.ft-header nav {
  display:flex;
  gap:25px;
  align-items:center
}
.ft-header nav a {
  text-decoration:none;
  font-size:14px
}
.ft-languages {
  display:flex;
  gap:9px;
  font-size:12px
}
.ft-languages a[aria-current=page] {
  font-weight:bold;
  color:var(--accent)
}
.custom-logo {
  max-width:180px;
  height:auto
}
.ft-hero {
  padding:100px 0 92px;
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:70px;
  align-items:center
}
.ft-eyebrow {
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:12px;
  font-weight:bold;
  color:var(--accent)
}
h1 {
  font-size:clamp(40px,5.2vw,74px);
  line-height:1.06;
  letter-spacing:-2.6px;
  margin:26px 0
}
h2 {
  font-size:clamp(28px,3vw,42px);
  line-height:1.2;
  letter-spacing:-1px
}
h3 {
  line-height:1.3
}
.ft-lead {
  font-size:18px;
  max-width:550px;
  color:#59636a
}
.ft-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:#fff;
  padding:15px 25px;
  border-radius:9px;
  text-decoration:none;
  font-weight:bold;
  margin-top:22px;
  min-height:48px
}
.ft-art {
  position:relative;
  min-height:380px;
  border-radius:140px 140px 20px 20px;
  background:color-mix(in srgb,var(--accent) 12%,white);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden
}
.ft-orbit {
  position:absolute;
  width:240px;
  height:240px;
  border:1px solid var(--accent);
  border-radius:50%;
  opacity:.22
}
.ft-orbit:nth-child(2) {
  transform:translate(60px,-30px)
}
.ft-orbit:nth-child(3) {
  transform:translate(-60px,30px)
}
.ft-art-word {
  position:relative;
  background:var(--accent);
  color:white;
  border-radius:24px;
  padding:35px;
  font-size:50px;
  font-weight:bold;
  transform:rotate(-8deg);
  box-shadow:22px 25px 0 #ffffffb0
}
.ft-caption {
  display:block;
  font-size:12px;
  letter-spacing:2px;
  font-weight:normal;
  margin-top:10px
}
.ft-section {
  padding:72px 0;
  border-top:1px solid #20272b18
}
.ft-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:36px
}
.ft-card {
  padding:30px;
  background:#fff;
  border:1px solid #20272b15;
  border-radius:14px
}
.ft-card .ft-number {
  font-size:12px;
  color:var(--accent);
  font-weight:bold;
  letter-spacing:2px
}
.ft-card p {
  font-size:15px;
  color:#647078
}
.ft-process {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px
}
.ft-step {
  display:flex;
  align-items:center;
  gap:22px;
  padding:22px 0;
  border-bottom:1px solid #20272b20
}
.ft-step b {
  color:var(--accent)
}
.ft-contact {
  background:var(--accent);
  color:white;
  border-radius:24px;
  padding:55px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center
}
.ft-contact .ft-button {
  background:white;
  color:var(--accent);
  margin:0
}
.ft-footer {
  padding:38px 0;
  font-size:12px;
  color:#657078;
  display:flex;
  justify-content:space-between;
  gap:24px
}
.ft-skip {
  position:absolute;
  left:15px;
  top:-100px;
  background:white;
  padding:12px;
  z-index:1000
}
.ft-skip:focus {
  top:10px
}
.ft-content {
  padding:40px 0
}
.ft-style-editorial h1,.ft-style-editorial h2 {
  font-family:Georgia,"Noto Serif KR",serif;
  font-weight:normal
}
.ft-style-editorial .ft-art {
  border-radius:0
}
.ft-style-playful .ft-art {
  border-radius:50% 40% 48% 35%;
  transform:rotate(3deg)
}
.ft-style-playful .ft-card {
  border-radius:25px
}
.ft-style-dark .ft-hero {
  background:#152126;
  color:white;
  box-shadow:0 0 0 100vmax #152126;
  clip-path:inset(0 -100vmax)
}
.ft-style-dark .ft-lead {
  color:#cad3d7
}
.ft-style-dark .ft-eyebrow {
  color:#b9c8ff
}
.ft-style-dark .ft-art {
  background:#ffffff12;
  border-radius:16px
}
.ft-style-split .ft-hero {
  grid-template-columns:1fr 1fr
}
.ft-style-split .ft-art {
  min-height:440px;
  border-radius:8px
}
.ft-demo-notice {
  font-size:12px;
  color:#657078
}
.ft-mobile-menu {
  display:none
}
@media(max-width:760px) {
  .ft-wrap {
    padding:0 22px
  }
  .ft-header {
    flex-wrap:wrap;
    gap:12px;
    padding:20px 0
  }
  .ft-header nav {
    width:100%;
    gap:20px;
    flex-wrap:wrap
  }
  .ft-hero,.ft-style-split .ft-hero {
    grid-template-columns:1fr;
    padding:60px 0;
    gap:40px
  }
  h1 {
    letter-spacing:-1.5px
  }
  .ft-art,.ft-style-split .ft-art {
    min-height:290px
  }
  .ft-grid,.ft-process {
    grid-template-columns:1fr;
    gap:20px
  }
  .ft-section {
    padding:48px 0
  }
  .ft-contact {
    padding:30px;
    display:block
  }
  .ft-contact .ft-button {
    margin-top:15px
  }
  .ft-footer {
    display:block
  }
  .ft-header nav a {
    font-size:13px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
}
.ft-header-shell {
  position:sticky;
  top:0;
  background:var(--paper);
  z-index:100
}
.admin-bar .ft-header-shell {
  top:32px
}
.ft-desktop-nav ul {
  display:flex;
  gap:24px;
  list-style:none;
  margin:0;
  padding:0
}
.ft-desktop-nav .sub-menu {
  display:none;
  position:absolute;
  background:white;
  padding:16px
}
.ft-desktop-nav li:hover>.sub-menu,.ft-desktop-nav li:focus-within>.sub-menu {
  display:block
}
.ft-menu-toggle {
  display:none;
  width:48px;
  height:48px;
  background:transparent;
  border:1px solid #20272b44;
  border-radius:10px;
  color:inherit;
  align-items:center;
  justify-content:center
}
.ft-menu-toggle span,.ft-menu-toggle span:before,.ft-menu-toggle span:after {
  width:21px;
  height:2px;
  background:currentColor;
  display:block;
  position:relative
}
.ft-menu-toggle span:before,.ft-menu-toggle span:after {
  content:'';
  position:absolute;
  left:0;
  transition:transform .2s
}
.ft-menu-toggle span:before {
  top:-6px
}
.ft-menu-toggle span:after {
  top:6px
}
.ft-menu-toggle.is-open span {
  background:transparent
}
.ft-menu-toggle.is-open span:before {
  top:0;
  transform:rotate(45deg)
}
.ft-menu-toggle.is-open span:after {
  top:0;
  transform:rotate(-45deg)
}
.ft-mobile-panel[hidden] {
  display:none!important
}
.ft-mobile-panel {
  position:relative;
  z-index:1;
  overflow:visible;
  background:#f5f7fb;
  padding:16px;
  box-shadow:0 15px 25px #16212c22
}
.ft-mobile-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px
}
.ft-shortcut {
  display:flex;
  min-height:94px;
  padding:12px 5px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:9px;
  text-decoration:none;
  background:white;
  border-radius:15px;
  box-shadow:0 6px 16px #17232b0a;
  text-align:center;
  font-size:12px;
  overflow-wrap:anywhere
}
.ft-shortcut-icon {
  display:grid;
  place-items:center;
  background:var(--accent);
  color:white;
  border-radius:11px;
  width:36px;
  height:36px;
  font-size:22px
}
.ft-mobile-banner {
  margin-top:16px;
  border-radius:18px;
  padding:24px;
  background:var(--accent);
  color:white
}
.ft-mobile-banner .ft-button {
  background:white;
  color:var(--accent);
  margin-top:4px
}
.ft-mobile-custom {
  padding:15px 20px;
  list-style:none;
  line-height:2.6
}
.ft-mobile-custom .sub-menu {
  padding-left:20px;
  list-style:none
}
.ft-mobile-custom a {
  text-decoration:none
}
@media(max-width:900px) {
  .ft-header {
    min-height:72px;
    flex-wrap:nowrap;
    padding-top:12px;
    padding-bottom:12px;
    gap:12px
  }
  .ft-header .ft-desktop-nav {
    display:none
  }
  .ft-menu-toggle {
    display:flex;
    flex-shrink:0
  }
  .ft-brand {
    font-size:20px;
    max-width:45%;
    overflow-wrap:anywhere
  }
  .ft-languages {
    margin-left:auto;
    gap:7px
  }
  .admin-bar .ft-header-shell {
    top:46px
  }
  .ft-header .ft-languages {
    width:auto
  }
  .ft-header .ft-languages a {
    font-size:11px
  }
  .custom-logo {
    max-width:140px;
    max-height:45px;
    object-fit:contain
  }
}
@media(min-width:901px) {
  .ft-mobile-panel {
    display:none!important
  }
}
@media(prefers-reduced-motion:reduce) {
  .ft-menu-toggle span:before,.ft-menu-toggle span:after {
    transition:none
  }
}


.ft-photo {
  display:block;
  min-height:0!important;
  overflow:hidden;
  aspect-ratio:3/2;
  border-radius:22px!important;
  transform:none!important;
  background:transparent
}
.ft-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.ft-secondary-photo {
  margin:15px 0 60px;
  overflow:hidden;
  border-radius:18px;
  max-height:480px
}
.ft-secondary-photo img {
  width:100%;
  height:auto;
  display:block;
  object-fit:cover
}
.ft-style-editorial .ft-photo,.ft-style-editorial .ft-secondary-photo {
  border-radius:0!important
}
.ft-style-playful .ft-photo {
  border-radius:70px 20px 70px 20px!important
}
.ft-style-dark .ft-photo {
  box-shadow:0 18px 70px #0005
}
.ft-style-split .ft-photo {
  aspect-ratio:4/5
}
.elementor img {
  max-width:100%;
  height:auto
}
@media(max-width:900px) {
  .ft-hero {
    gap:35px
  }
  .ft-style-split .ft-photo {
    aspect-ratio:3/2
  }
  .ft-secondary-photo {
    margin-bottom:30px
  }
}


@media(max-width:900px) {
  .ft-header.ft-wrap {
    padding-left:20px;
    padding-right:20px
  }
}


.screen-reader-text {
  border:0;
  clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%);
  height:1px;
  width:1px;
  overflow:hidden;
  padding:0;
  position:absolute!important;
  white-space:nowrap
}
.screen-reader-text:focus {
  clip:auto!important;
  clip-path:none;
  display:block;
  height:auto;
  width:auto;
  padding:15px;
  z-index:100000;
  background:white;
  color:#152126
}
.wp-caption {
  max-width:100%
}
.wp-caption-text,.gallery-caption {
  font-size:13px;
  color:#657078
}
.alignleft {
  float:left;
  margin:0 24px 15px 0
}
.alignright {
  float:right;
  margin:0 0 15px 24px
}
.aligncenter {
  display:block;
  margin-left:auto;
  margin-right:auto
}
.sticky {
  border-top:3px solid var(--accent)
}
.bypostauthor {
  border-left:2px solid var(--accent)
}


.ft-shortcut-icon {
  background:color-mix(in srgb,var(--accent) 10%,white);
  color:var(--accent);
  width:42px;
  height:42px;
  border-radius:13px
}
.ft-shortcut-icon svg {
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round
}
.ft-shortcut {
  box-shadow:none;
  border:1px solid #e9edf2;
  font-weight:600
}
.ft-header .ft-brand {
  min-width:0;
  max-width:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis
}
.ft-header .ft-languages {
  flex-shrink:0
}
@media(max-width:900px) {
  .ft-header .ft-brand {
    font-size:18px;
    letter-spacing:-.6px;
    flex:1
  }
  .ft-header .ft-languages {
    margin-left:0
  }
  .ft-header {
    gap:10px
  }
  .ft-shortcut {
    font-size:12px
  }
}




/* FTS INDUSTRY MODULES */
.fts-industry {
  --module-radius:24px
}
.fts-industry section {
  margin:clamp(52px,8vw,110px) 0
}
.fts-industry h2 {
  font-size:clamp(28px,4vw,52px);
  line-height:1.15;
  letter-spacing:-.035em;
  margin:14px 0 22px
}
.fts-industry h3 {
  font-size:clamp(20px,2vw,26px);
  line-height:1.3;
  margin:0 0 12px
}
.fts-industry p {
  line-height:1.75
}
.fts-industry img {
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  aspect-ratio:4/3
}
.fts-editorial-banner {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  align-items:center;
  gap:4%;
  background:color-mix(in srgb,var(--accent) 7%,white);
  border-radius:var(--module-radius);
  overflow:hidden
}
.fts-editorial-copy {
  padding:clamp(24px,4vw,54px)
}
.fts-editorial-banner figure {
  margin:0;
  align-self:stretch
}
.fts-editorial-banner figure img {
  height:100%;
  min-height:400px
}
.fts-catalog header {
  max-width:720px;
  margin-bottom:32px
}
.fts-catalog input {
  width:100%;
  padding:18px 22px;
  border:1px solid color-mix(in srgb,var(--accent) 25%,#ddd);
  border-radius:14px;
  background:#fff;
  color:#172535;
  font:inherit;
  margin-top:12px
}
.fts-catalog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.fts-catalog article,.fts-visual-journey article {
  border:1px solid #e4e7ec;
  border-radius:var(--module-radius);
  overflow:hidden;
  background:white;
  color:#172535;
  min-width:0
}
.fts-catalog article>div,.fts-journey-grid article>div:last-child {
  padding:24px
}
.fts-catalog a,.fts-visual-journey a {
  color:var(--accent);
  font-weight:700;
  text-underline-offset:5px
}
.fts-catalog [hidden] {
  display:none!important
}
.fts-visual-journey {
  padding:clamp(22px,3vw,42px);
  border-radius:var(--module-radius);
  background:color-mix(in srgb,var(--accent) 6%,white)
}
.fts-visual-journey header {
  margin-bottom:28px
}
.fts-journey-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.fts-journey-image {
  position:relative
}
.fts-step-number {
  position:absolute;
  top:14px;
  left:14px;
  background:var(--accent);
  color:#fff;
  padding:8px 10px;
  border-radius:50%;
  font-weight:700;
  z-index:1
}
.fts-industry-interiors {
  --module-radius:4px
}
.fts-industry-interiors .fts-editorial-banner {
  grid-template-columns:0.8fr 1.4fr;
  background:#eee7dd
}
.fts-industry-interiors .fts-catalog-grid {
  grid-template-columns:1fr 1.2fr 1fr;
  align-items:start
}
.fts-industry-interiors .fts-catalog article:nth-child(2) {
  margin-top:56px
}
.fts-industry-interiors .fts-catalog article:first-child img {
  aspect-ratio:3/4
}
.fts-industry-interiors .fts-visual-journey {
  background:#eee7dd
}
.fts-industry-technical .fts-editorial-banner,.fts-industry-logistics .fts-editorial-banner {
  background:#101e30;
  color:#fff
}
.fts-industry-technical .fts-catalog-grid article {
  border-top:4px solid var(--accent)
}
.fts-industry-technical .fts-visual-journey {
  background:#eaeafb
}
.fts-industry-storybook {
  --module-radius:32px
}
.fts-industry-storybook .fts-editorial-banner {
  position:relative;
  min-height:560px;
  background:#effbdc
}
.fts-industry-storybook .fts-editorial-banner figure {
  position:absolute;
  inset:0
}
.fts-industry-storybook .fts-editorial-banner figure img {
  height:100%;
  aspect-ratio:auto
}
.fts-industry-storybook .fts-editorial-copy {
  position:relative;
  z-index:1;
  background:#fffffff0;
  margin:34px;
  border-radius:24px;
  max-width:480px
}
.fts-industry-storybook .fts-catalog article {
  background:#fffbee
}
.fts-industry-learning .fts-catalog article:nth-child(1) {
  background:#eaf5ff
}
.fts-industry-learning .fts-catalog article:nth-child(2) {
  background:#fff0e1
}
.fts-industry-learning .fts-catalog article:nth-child(3) {
  background:#eeefff
}
.fts-industry-learning .fts-catalog article img {
  aspect-ratio:1
}
.fts-industry-editorial {
  --module-radius:3px
}
.fts-industry-editorial .fts-editorial-banner {
  border-top:3px solid var(--accent);
  background:transparent
}
.fts-industry-editorial .fts-visual-journey {
  border-left:3px solid var(--accent);
  background:#f0f3eb
}
.fts-industry-journey .fts-catalog article img {
  aspect-ratio:3/4
}
.fts-industry-people .fts-editorial-banner {
  border-radius:90px 8px 90px 8px
}
.fts-industry-language .fts-catalog-grid {
  gap:0
}
.fts-industry-language .fts-catalog article {
  border-radius:0
}
.fts-industry-advisory {
  --module-radius:6px
}
.fts-industry-advisory .fts-visual-journey {
  background:#eaf0f6
}
.fts-industry-creative .fts-editorial-banner {
  border-radius:70px 12px
}
.fts-industry-creative .fts-catalog article:nth-child(2) {
  transform:translateY(30px)
}
.fts-industry-wellness {
  --module-radius:70px 70px 12px 12px
}
.fts-industry-wellness .fts-editorial-banner {
  background:#e8eee5
}
.fts-industry-wellness .fts-visual-journey {
  background:#f0efe6;
  border-radius:24px
}
.fts-industry-logistics .fts-catalog article {
  border-radius:0;
  border-bottom:5px solid var(--accent)
}

@media(max-width:900px) {
  .fts-journey-grid {
    grid-template-columns:repeat(4,minmax(250px,1fr));
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:18px
  }
  .fts-journey-grid article {
    scroll-snap-align:start
  }
  .fts-catalog-grid {
    gap:14px
  }
  .fts-catalog article>div {
    padding:18px
  }
}

@media(max-width:640px) {
  .fts-editorial-banner,.fts-industry-interiors .fts-editorial-banner {
    grid-template-columns:1fr
  }
  .fts-editorial-banner figure img {
    min-height:0;
    max-height:400px
  }
  .fts-catalog-grid,.fts-industry-interiors .fts-catalog-grid {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding:0 0 20px;
    gap:16px
  }
  .fts-catalog-grid article {
    flex:0 0 86%;
    scroll-snap-align:start
  }
  .fts-industry-interiors .fts-catalog article:nth-child(2) {
    margin-top:0
  }
  .fts-industry-creative .fts-catalog article:nth-child(2) {
    transform:none
  }
  .fts-industry-storybook .fts-editorial-copy {
    margin:18px;
    background:#fffffff2
  }
  .fts-industry-storybook .fts-editorial-banner {
    min-height:500px
  }
  .fts-visual-journey {
    padding:20px
  }
  .fts-journey-grid {
    grid-template-columns:repeat(4,minmax(235px,1fr))
  }
  .fts-industry-people .fts-editorial-banner {
    border-radius:36px 6px
  }
  .fts-industry section {
    margin:54px 0
  }
}

@media(prefers-reduced-motion:reduce) {
  .fts-industry * {
    scroll-behavior:auto!important
  }
}


.fts-search-module {
  padding:30px;
  border:1px solid #e1e5ef;
  border-radius:20px;
  background:#f7f8fc;
  color:#172535
}
.fts-search-module label {
  display:block;
  font-size:24px;
  font-weight:700;
  margin-bottom:16px
}
.fts-search-module input {
  border:1px solid #d3d9e4;
  border-radius:12px;
  padding:15px;
  font:inherit
}
.fts-search-module li {
  padding:18px 0;
  border-bottom:1px solid #e1e5ef
}
.fts-search-module ul {
  padding-left:20px
}
.fts-search-module a {
  color:var(--accent);
  font-weight:700
}


/* Narrow devices must wrap long English headlines, not clip them. */
.ft-hero h1 {
  overflow-wrap:anywhere
}
.ft-hero>div {
  min-width:0
}
@media(max-width:480px) {
  .ft-hero h1 {
    font-size:clamp(32px,10vw,48px);
    line-height:1.12;
    letter-spacing:-1.3px
  }
  .ft-brand {
    font-size:clamp(17px,5vw,23px)
  }
  .ft-languages {
    gap:8px
  }
  .ft-header {
    gap:10px
  }
}


/* FTS MOBILE CAROUSEL */
.fts-carousel-controls {
  display:none
}

@media(max-width:900px) {
  
.fts-industry .fts-catalog-grid,.fts-industry .fts-journey-grid {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
    gap:16px;
    padding:0;
    overscroll-behavior-x:contain
  }
  
.fts-industry .fts-catalog-grid::-webkit-scrollbar,.fts-industry .fts-journey-grid::-webkit-scrollbar {
    display:none;
    width:0;
    height:0
  }
  
.fts-industry .fts-catalog-grid>article,.fts-industry .fts-journey-grid>article {
    flex:0 0 100%;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    margin-top:0!important;
    transform:none!important
  }
  
.fts-industry .fts-carousel-controls {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin-top:18px
  }
  
.fts-carousel-controls button {
    width:44px;
    height:44px;
    min-height:44px;
    border:1px solid #cbd1da;
    border-radius:50%;
    background:#fff;
    color:#172535;
    font:inherit;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:none
  }
  
.fts-carousel-controls button:disabled {
    opacity:.35;
    cursor:default
  }
  .fts-carousel-controls button:focus-visible {
    outline:3px solid var(--accent);
    outline-offset:3px
  }
  
.fts-carousel-position {
    font-size:14px;
    font-weight:700;
    color:#172535;
    min-width:50px;
    text-align:center
  }
}


.fts-carousel-controls[hidden] {
  display:none!important
}


/* Visual service and delivery panels */
.ft-card {
  position:relative;
  overflow:hidden;
  padding:0!important;
  background:#fff;
  border-radius:22px!important;
  box-shadow:0 12px 35px #15253a0a
}

.ft-card .ft-service-visual {
  display:block;
  width:100%;
  height:190px;
  object-fit:cover;
  margin:0 0 24px
}
.ft-card>h3,.ft-card>p,.ft-card>.ft-number {
  margin-left:24px!important;
  margin-right:24px!important
}
.ft-card>p {
  padding-bottom:24px
}
.ft-card .ft-number {
  display:inline-flex;
  padding:7px 11px;
  border-radius:30px;
  background:var(--paper);
  color:var(--accent)
}

.ft-step {
  display:grid!important;
  grid-template-columns:82px 1fr;
  gap:18px;
  align-items:center;
  padding:20px!important;
  background:#fff;
  border:1px solid #dce3e8!important;
  border-radius:18px;
  margin:12px 0;
  position:relative
}
.ft-step img {
  width:82px;
  height:82px;
  object-fit:cover;
  border-radius:13px;
  grid-row:1/3
}
.ft-step>b {
  font-size:11px;
  letter-spacing:2px;
  align-self:end
}
.ft-step h3 {
  font-size:17px;
  line-height:1.5;
  margin:0!important;
  align-self:start
}
.ft-process .ft-lead {
  color:#4a5966!important;
  opacity:1!important
}

.ft-contact {
  position:relative;
  overflow:hidden;
  min-height:300px;
  display:grid!important;
  grid-template-columns:1.25fr 1fr!important;
  padding:0!important;
  gap:0!important;
  background:var(--accent)!important
}
.ft-contact-copy {
  padding:38px;
  align-self:center
}
.ft-contact-copy h2 {
  color:white!important;
  max-width:620px
}
.ft-contact-copy p {
  color:#fff!important;
  line-height:1.8;
  opacity:.9
}
.ft-contact .ft-button {
  margin-top:16px
}
.ft-contact-art {
  height:100%;
  width:100%;
  min-height:300px;
  object-fit:cover
}
.ft-demo-notice {
  display:none
}

@media(max-width:700px) {
  .ft-contact {
    grid-template-columns:1fr!important
  }
  .ft-contact-copy {
    padding:26px
  }
  .ft-contact-art {
    height:210px;
    min-height:0
  }
  .ft-card .ft-service-visual {
    height:210px
  }
  .ft-step {
    grid-template-columns:68px 1fr
  }
  .ft-step img {
    width:68px;
    height:68px
  }
  .ft-process {
    gap:22px!important
  }
}




.wp-site-blocks {
  overflow-wrap:anywhere
}
.wp-block-group.ft-grid {
  display:grid
}
.wp-block-group.ft-process {
  display:grid
}
.wp-block-group.ft-hero {
  display:grid
}
.wp-block-image {
  margin:0
}
.wp-block-image img {
  max-width:100%;
  height:auto
}
.ft-art .wp-block-image,.ft-art img {
  height:100%;
  width:100%;
  object-fit:cover
}
.wp-block-button__link {
  background:var(--accent);
  color:#fff
}
.ft-contact .wp-block-button__link {
  background:#fff;
  color:#182126
}
a:focus-visible,button:focus-visible,input:focus-visible {
  outline:3px solid currentColor;
  outline-offset:4px
}
.wp-block-navigation .wp-block-navigation-item__content {
  color:inherit
}
.wp-block-post-content img {
  max-width:100%
}
.wp-block-comment-content {
  overflow-wrap:anywhere
}
.screen-reader-text {
  clip-path:inset(50%);
  height:1px;
  overflow:hidden;
  position:absolute;
  width:1px;
  white-space:nowrap
}
.screen-reader-text:focus {
  clip-path:none;
  height:auto;
  width:auto;
  left:10px;
  top:10px;
  z-index:10000;
  background:#fff;
  color:#111;
  padding:16px
}
.alignwide {
  max-width:1200px
}
.alignfull {
  max-width:none
}
.wp-caption,.wp-caption-text,.gallery-caption,.bypostauthor,.sticky {
  max-width:100%
}


/* Core block layouts and keyboard navigation. */
.wp-site-blocks>header,.wp-site-blocks>footer {
  padding-inline:clamp(20px,4vw,48px)
}

.wp-site-blocks>main {
  padding-inline:clamp(20px,4vw,48px)
}

.ft-card>.wp-block-image img {
  width:100%;
  height:200px;
  object-fit:cover
}

.ft-step>.wp-block-image {
  grid-row:1 / 3
}
.ft-step>.wp-block-image img {
  display:block
}

.ft-step>p {
  margin:0;
  color:var(--accent);
  font-size:12px;
  font-weight:700
}

.ft-contact>.wp-block-image,.ft-contact>.wp-block-image img {
  height:100%;
  min-height:300px;
  width:100%;
  object-fit:cover
}

#ft-contact-details {
  padding-block:24px;
  scroll-margin-top:24px
}

.wp-block-post-title,.wp-block-site-title {
  overflow-wrap:anywhere
}

.wp-block-post-content a {
  text-decoration:underline
}

@media(max-width:700px) {
  .ft-contact>.wp-block-image img {
    height:210px;
    min-height:0
  }
  .ft-step {
    grid-template-columns:68px minmax(0,1fr)
  }
}

