:root{
  --gb-container:min(1180px, calc(100vw - 32px));
  --gb-container-tight:min(1040px, calc(100vw - 32px));
  --gb-section-space:clamp(78px, 9vw, 132px);
  --gb-menu-height:96px;
  --gb-anchor-offset:106px;

  --gb-sun:#efb300;
  --gb-sun-deep:#e2a500;
  --gb-teal:#049789;
  --gb-teal-deep:#03756b;
  --gb-paper:#f1f1ef;
  --gb-paper-deep:#ecebe8;
  --gb-white:#ffffff;
  --gb-ink:#151515;
  --gb-soft-black:#232323;
  --gb-muted:#048a7d;
  --gb-line:rgba(4,151,137,.28);
  --gb-shadow-soft:0 18px 48px rgba(16,24,24,.10);

  --gb-body-font:"Montserrat", Arial, Helvetica, sans-serif;
  --gb-script-font:"Allura", "Brush Script MT", cursive;
}

html{scroll-behavior:smooth;scroll-padding-top:var(--gb-anchor-offset)}
body.gbl-theme{
  margin:0;
  background:var(--gb-white);
  color:var(--gb-muted);
  font-family:var(--gb-body-font);
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.gbl-theme *{box-sizing:border-box}
body.gbl-theme img{max-width:100%;height:auto;display:block}
body.gbl-theme a{color:inherit;text-decoration:none;transition:all .25s ease}
body.gbl-theme p,
body.gbl-theme li,
body.gbl-theme span,
body.gbl-theme label,
body.gbl-theme input,
body.gbl-theme textarea,
body.gbl-theme select,
body.gbl-theme button{font-family:var(--gb-body-font)}

body.gbl-theme h1,
body.gbl-theme h2,
body.gbl-theme h3,
body.gbl-theme h4,
body.gbl-theme h5,
body.gbl-theme h6{
  margin:0 0 .28em;
  color:var(--gb-teal);
  font-family:var(--gb-body-font);
  font-weight:500;
  line-height:1.08;
  letter-spacing:.02em;
}
body.gbl-theme h1{font-size:clamp(2.9rem, 7vw, 5.4rem)}
body.gbl-theme h2{font-size:clamp(2.2rem, 5vw, 4.2rem)}
body.gbl-theme h3{font-size:clamp(1.45rem, 3vw, 2.2rem)}
body.gbl-theme h4{font-size:clamp(1.1rem, 2vw, 1.45rem)}
body.gbl-theme p{margin:0 0 1.1rem;color:var(--gb-muted);font-weight:400}

body.gbl-theme .gb-script-title,
body.gbl-theme .gb-script-title .elementor-heading-title,
body.gbl-theme .gb-script-title h1,
body.gbl-theme .gb-script-title h2,
body.gbl-theme .gb-script-title h3,
body.gbl-theme .gb-script,
body.gbl-theme .gb-script *{
  font-family:var(--gb-script-font) !important;
  font-weight:400 !important;
  line-height:.95 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

body.gbl-theme .gb-section-kicker,
body.gbl-theme .gb-uppercase,
body.gbl-theme .gb-menu-label{
  font-family:var(--gb-body-font);
  text-transform:uppercase;
  letter-spacing:.12em;
}


body.gbl-theme .gb-paper-script,
body.gbl-theme .gb-paper-script .elementor-heading-title,
body.gbl-theme .gb-paper-script h1,
body.gbl-theme .gb-paper-script h2,
body.gbl-theme .gb-paper-script h3,
body.gbl-theme .gb-script-title--xl,
body.gbl-theme .gb-script-title--xl .elementor-heading-title{
  font-family:var(--gb-script-font) !important;
  font-size:clamp(2.9rem, 6vw, 5.3rem) !important;
  font-weight:400 !important;
  line-height:.92 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--gb-teal) !important;
}

body.gbl-theme .gb-script-title--sm,
body.gbl-theme .gb-script-title--sm .elementor-heading-title{
  font-family:var(--gb-script-font) !important;
  font-size:clamp(2.1rem, 4.2vw, 3.4rem) !important;
  font-weight:400 !important;
  line-height:.95 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--gb-teal) !important;
}

body.gbl-theme .elementor-button,
body.gbl-theme .gb-btn,
body.gbl-theme button,
body.gbl-theme input[type="submit"],
body.gbl-theme .wpforms-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:64px;
  padding:18px 34px;
  border:2px solid var(--gb-teal);
  border-radius:0;
  background:var(--gb-teal);
  color:var(--gb-white);
  font-size:clamp(16px,1.6vw,22px);
  font-weight:400;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  box-shadow:none;
  cursor:pointer;
}
body.gbl-theme .elementor-button:hover,
body.gbl-theme .gb-btn:hover,
body.gbl-theme button:hover,
body.gbl-theme input[type="submit"]:hover,
body.gbl-theme .wpforms-submit:hover{
  transform:translateY(-2px);
  background:var(--gb-teal-deep);
  border-color:var(--gb-teal-deep);
}
body.gbl-theme .gb-btn--outline,
body.gbl-theme .gb-btn--outline .elementor-button,
body.gbl-theme .gb-outline-button .elementor-button{
  background:transparent !important;
  color:var(--gb-teal) !important;
  border-color:var(--gb-teal) !important;
}

body.gbl-theme .gb-section-title{max-width:920px;margin-inline:auto;text-align:center}
body.gbl-theme .gb-section-title--left{margin-inline:0;text-align:left}
body.gbl-theme .gb-card,
body.gbl-theme .gb-white-panel{
  position:relative;
  background:var(--gb-paper);
  box-shadow:var(--gb-shadow-soft);
}

body.gbl-theme .gb-wave-deco{position:relative}
body.gbl-theme .gb-wave-deco::after{
  content:"";
  position:absolute;
  width:170px;
  height:72px;
  right:-10px;
  top:-14px;
  background-repeat:no-repeat;
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg width='170' height='72' viewBox='0 0 170 72' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 12C10 12 10 4 18 4C26 4 26 12 34 12C42 12 42 4 50 4C58 4 58 12 66 12C74 12 74 4 82 4C90 4 90 12 98 12C106 12 106 4 114 4C122 4 122 12 130 12C138 12 138 4 146 4C154 4 154 12 162 12' stroke='%23049789' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M2 36C10 36 10 28 18 28C26 28 26 36 34 36C42 36 42 28 50 28C58 28 58 36 66 36C74 36 74 28 82 28C90 28 90 36 98 36C106 36 106 28 114 28C122 28 122 36 130 36C138 36 138 28 146 28C154 28 154 36 162 36' stroke='%23049789' stroke-width='4' stroke-linecap='round'/%3E%3Cpath d='M2 60C10 60 10 52 18 52C26 52 26 60 34 60C42 60 42 52 50 52C58 52 58 60 66 60C74 60 74 52 82 52C90 52 90 60 98 60C106 60 106 52 114 52C122 52 122 60 130 60C138 60 138 52 146 52C154 52 154 60 162 60' stroke='%23049789' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
}
