@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ============================================
   PBC Languages — Tailwind input
   Compiled to style.css via Tailwind CLI
   ============================================ */

/* Local fonts */

@font-face {
  font-family: 'Futura Cyrillic Light';

  src: url("../fonts/FuturaCyrillicLight.1417bc6528fc.ttf") format('truetype');

  font-weight: 300;

  font-display: swap;
}

@font-face {
  font-family: 'Futura Cyrillic Book';

  src: url("../fonts/FuturaCyrillicBook.cc17f68d3bbb.ttf") format('truetype');

  font-weight: 400;

  font-display: swap;
}

@font-face {
  font-family: 'Futura Cyrillic Medium';

  src: url("../fonts/FuturaCyrillicMedium.d8c472f48182.ttf") format('truetype');

  font-weight: 500;

  font-display: swap;
}

@font-face {
  font-family: 'Futura Cyrillic Demi';

  src: url("../fonts/FuturaCyrillicDemi.31b7517c5554.ttf") format('truetype');

  font-weight: 600;

  font-display: swap;
}

@font-face {
  font-family: 'Futura Cyrillic Bold';

  src: url("../fonts/FuturaCyrillicBold.50c1fe474aab.ttf") format('truetype');

  font-weight: 700;

  font-display: swap;
}

@font-face {
  font-family: 'Futura Cyrillic ExtraBold';

  src: url("../fonts/FuturaCyrillicExtraBold.eca8efdd17f2.ttf") format('truetype');

  font-weight: 800;

  font-display: swap;
}

@font-face {
  font-family: 'Futura Cyrillic Heavy';

  src: url("../fonts/FuturaCyrillicHeavy.ac8eeeb372a2.ttf") format('truetype');

  font-weight: 900;

  font-display: swap;
}

@font-face {
  font-family: 'Proxima Nova Bold';

  src: url("../fonts/ProximaNovaBold.72b6f2c9990b.otf") format('opentype');

  font-weight: 700;

  font-display: swap;
}

@font-face {
  font-family: 'Proxima Nova Regular';

  src: url("../fonts/ProximaNovaRegular.386c8ff06aaa.ttf") format('truetype');

  font-weight: 400;

  font-display: swap;
}

@font-face {
  font-family: 'Proxima Nova Book';

  src: url("../fonts/ProximaNovaRegular.386c8ff06aaa.ttf") format('truetype');

  font-weight: 400;

  font-display: swap;
}

*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

:root {
  --background: 0 0% 100%;
  --foreground: 220 20% 15%;
  --card: 0 0% 100%;
  --card-foreground: 220 20% 15%;
  --popover: 0 0% 100%;
  --popover-foreground: 220 20% 15%;
  --primary: 210 100% 40%;
  --primary-foreground: 0 0% 100%;
  --secondary: 210 15% 95%;
  --secondary-foreground: 220 20% 15%;
  --accent-yellow: 55 82% 52%;
  --accent-yellow-foreground: 220 20% 15%;
  --cyan: 187 100% 42%;
  --cyan-foreground: 0 0% 100%;
  --muted: 210 40% 96%;
  --muted-foreground: 215 16% 47%;
  --accent: 210 40% 96%;
  --accent-foreground: 220 20% 15%;
  --border: 214 32% 91%;
  --input: 214 32% 91%;
  --ring: 210 100% 40%;
  --radius: 0.75rem;
}

*{
  border-color: hsl(var(--border));
}

body{
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Proxima Nova Regular', 'Inter', system-ui, sans-serif;
  line-height: 1.2;
}

img{
  display: block;
  max-width: 100%;
}

a{
  color: inherit;
  text-decoration-line: none;
}

button {
  font-family: inherit;
  cursor: pointer;
}

.container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}

@media (min-width: 1400px){
  .container{
    max-width: 1400px;
  }
}

.container{
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 768px){
  .container{
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.container {
  max-width: 1240px;
}

/* ---------- Buttons ---------- */

.btn-yellow{
  display: inline-block;
  border-radius: calc(var(--radius) - 2px);
  background-color: #e7de21;
  padding-left: 3rem;
  padding-right: 3rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  text-transform: uppercase;
  color: #027684;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.btn-yellow:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0.9;
}

.btn-yellow {
  font-family: 'Proxima Nova Book', 'Inter', sans-serif;
  font-size: 16px;
  letter-spacing: 1px;
}

.btn-outline-white{
  display: inline-block;
  border-radius: calc(var(--radius) - 2px);
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.btn-outline-white:hover{
  background-color: rgb(255 255 255 / 0.1);
}

.btn-outline-white {
  font-family: 'Proxima Nova Book', 'Inter', sans-serif;
  font-size: 16px;
}

.btn-primary{
  display: inline-block;
  border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--primary));
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.btn-primary:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0.9;
}

.btn-primary {
  font-family: 'Proxima Nova Book', 'Inter', sans-serif;
  font-size: 16px;
}

.btn-cyan{
  display: inline-block;
  width: 100%;
  border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--cyan));
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.btn-cyan:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0.9;
}

.btn-cyan {
  font-family: 'Proxima Nova Book', 'Inter', sans-serif;
  font-size: 16px;
}

/* ---------- Font helpers ---------- */

.body-text           {
  font-family: 'Futura Cyrillic Book', 'DM Sans', sans-serif;
  font-size: 20px;
  line-height: 21px;
}

.body-text-bold      {
  font-family: 'Futura Cyrillic Bold', 'DM Sans', sans-serif;
  font-size: 20px;
}

/* ---------- Navbar ---------- */

.navbar{
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 50;
}

.navbar > .container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.logo{
  display: flex;
  align-items: center;
  gap: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  flex-shrink: 0;
}

.logo-img{
  height: 48px;
  width: auto;
  object-fit: contain;
}

.footer-logo-img{
  height: 48px;
}

.logo-mark{
  position: relative;
  height: 2.5rem;
  width: 2.5rem;
}

.logo-mark svg{
  height: 100%;
  width: 100%;
}

.logo-text{
  display: flex;
  flex-direction: column;
}

.logo-text .brand {
  font-family: 'Proxima Nova Bold', sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}

.logo-text .sub{
  margin-top: 0.125rem;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;
  opacity: 0.8;
  font-size: 0.55rem;
  letter-spacing: 0.2em;
}

.nav-links{
  display: none;
  align-items: center;
  gap: 2rem;
}

@media (min-width: 768px){
  .nav-links{
    display: flex;
  }
}

.nav-links a.nav-item{
  position: relative;
  padding-bottom: 0.25rem;
  color: rgb(255 255 255 / 0.9);
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.nav-links a.nav-item:hover{
  opacity: 0.8;
}

.nav-links a.nav-item {
  font-family: 'Futura Cyrillic Book', 'DM Sans', sans-serif;
  font-size: 18px;
}

.nav-links a.nav-item.active{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.nav-links a.nav-item.active::after {
  content: '';
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 0px;
  height: 0.125rem;
  border-radius: 9999px;
  background-color: hsl(var(--accent-yellow));
}

.nav-contact-btn{
  border-radius: calc(var(--radius) - 2px);
  background-color: hsl(var(--cyan));
  padding-left: 1.75rem;
  padding-right: 1.75rem;
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.nav-contact-btn:hover{
  opacity: 0.9;
}

.nav-contact-btn {
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 16px;
}

.search-btn{
  color: rgb(255 255 255 / 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  transition: color 150ms ease;
}

.search-btn:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.mobile-toggle{
  z-index: 50;
  display: block;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

@media (min-width: 768px){
  .mobile-toggle{
    display: none;
  }
}

.mobile-menu{
  position: fixed;
  inset: 0px;
  z-index: 40;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  background-color: hsl(var(--primary));
}

.mobile-menu.open{
  display: flex;
}

.mobile-menu a{
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Futura Cyrillic Light', sans-serif;
}

/* ---------- Hero (Home) ---------- */

.hero-home{
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: hsl(var(--primary));
  min-height: 100vh;
}

/* Hero decorative shapes */
.hero-deco-yellow{
  position: absolute;
  left: -4rem;
  bottom: 8%;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background-color: hsl(var(--accent-yellow));
  z-index: 1;
  display: none;
}

.hero-deco-blue{
  position: absolute;
  left: 8%;
  bottom: 28%;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background-color: #4da8da;
  z-index: 2;
  display: none;
}

.hero-deco-oval{
  position: absolute;
  left: 28%;
  bottom: 5%;
  width: 180px;
  height: 340px;
  border-radius: 9999px;
  border: 2px solid hsl(var(--accent-yellow) / 0.5);
  z-index: 1;
  display: none;
}

@media (min-width: 768px){
  .hero-deco-yellow{
    display: block;
  }
  .hero-deco-blue{
    display: block;
  }
  .hero-deco-oval{
    display: block;
  }
}

@media (min-width: 1200px){
  .hero-deco-yellow{
    left: -2rem;
    bottom: 6%;
    width: 320px;
    height: 320px;
  }
  .hero-deco-blue{
    left: 10%;
    bottom: 30%;
    width: 160px;
    height: 160px;
  }
  .hero-deco-oval{
    left: 30%;
    bottom: 3%;
    width: 200px;
    height: 380px;
  }
}

.belonging-split .hero-home > .container {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .hero-home > .container{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .hero-home > .container {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .hero-home > .container{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .hero-home > .container {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .hero-home > .container{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.hero-home > .container{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: flex-end;
  gap: 1rem;
  padding-top: 7rem;
  padding-bottom: 6rem;
  position: relative;
  z-index: 5;
}

@media (min-width: 768px){
  .hero-home > .container{
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}

.hero-home-image{
  position: relative;
  display: none;
}

@media (min-width: 768px){
  .hero-home-image{
    display: block;
  }
}

.hero-home-image {
  height: 560px;
}

.hero-home-image img{
  position: absolute;
  bottom: 0px;
  left: 0px;
  z-index: 10;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  height: 520px;
}

.hero-home-text{
  padding-bottom: 5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hero-home-text h1{
  margin-bottom: 1rem;
  line-height: 1.05;
}

.hero-home-text h1 .title-1{
  display: block;
  font-family: 'Proxima Nova Regular';
  font-size: 60px;
  letter-spacing: 1px;
}

.hero-home-text h1 .title-2{
  display: block;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Proxima Nova Bold', 'Inter', sans-serif;
  font-weight: 700;
  font-size: 60px;
  letter-spacing: 3px;
}

.hero-home-text p.intro{
  margin-bottom: 2rem;
  max-width: 28rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.8);
  font-family: 'Futura Cyrillic Book', 'DM Sans', sans-serif;
  font-size: 19px;
}

.hero-home-buttons{
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.hero-home-trial .a{
  display: block;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 21px;
}

.hero-home-trial .b{
  display: block;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-size: 17px;
  letter-spacing: 1px;
}

.scroll-down{
  position: absolute;
  bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.scroll-down:hover{
  opacity: 0.8;
}

.scroll-down {
  left: 25%;
  transform: translateX(-50%);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 16px;
  letter-spacing: 1.5px;
}

@media (max-width: 767px) {
  .scroll-down {
    left: 50%;
  }
}

/* ---------- Generic image hero ---------- */

.hero-image{
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  min-height: 85vh;
}

.hero-image > img.bg{
  position: absolute;
  inset: 0px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero-image .overlay{
  position: absolute;
  inset: 0px;
  background-color: rgb(0 0 0 / 0.6);
}

.hero-image > .container{
  position: relative;
  padding-top: 16rem;
  padding-bottom: 8rem;
  text-align: center;
}

.hero-image h1{
  margin-bottom: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: Proxima Nova Regular;
  font-weight: 300;
  font-size: 1.875rem;
  line-height: 2.25rem;
}

@media (min-width: 640px){
  .hero-image h1{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

@media (min-width: 768px){
  .hero-image h1{
    font-size: 3rem;
    line-height: 1;
  }
}

@media (min-width: 1024px){
  .hero-image h1{
    font-size: 3.75rem;
    line-height: 1;
  }
}

.hero-image h1 .bold{
  font-weight: 700;
  font-family: Proxima Nova Bold, Inter, system-ui, sans-serif;
}

.hero-image p{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
  max-width: 42rem;
  color: rgb(255 255 255 / 0.9);
}

.hero-image .deco-1, .hero-image .deco-2{
  position: absolute;
  display: none;
  border-radius: 9999px;
}

@media (min-width: 768px){
  .hero-image .deco-1, .hero-image .deco-2{
    display: block;
  }
}

.hero-image .deco-1{
  background-color: hsl(var(--primary));
  top: 33%;
  left: -2.5rem;
  width: 7rem;
  height: 7rem;
}

.hero-image .deco-2{
  background-color: hsl(var(--accent-yellow));
  bottom: 4rem;
  right: -2.5rem;
  width: 6rem;
  height: 6rem;
}

/* ---------- Hero (primary blue) ---------- */

.hero-primary{
  display: flex;
  align-items: center;
  background-color: hsl(var(--primary));
  min-height: 40vh;
}

.hero-primary > .container{
  padding-top: 7rem;
  padding-bottom: 3rem;
  text-align: center;
}

@media (min-width: 768px){
  .hero-primary{
    min-height: 45vh;
  }
  .hero-primary > .container{
    padding-top: 9rem;
    padding-bottom: 4rem;
  }
}

@media (min-width: 1024px){
  .hero-primary{
    min-height: 60vh;
  }
  .hero-primary > .container{
    padding-top: 11rem;
    padding-bottom: 5rem;
  }
}

.hero-primary h1{
  margin-bottom: 1rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px){
  .hero-primary h1{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

@media (min-width: 768px){
  .hero-primary h1{
    font-size: 3rem;
    line-height: 1;
  }
}

@media (min-width: 1024px){
  .hero-primary h1{
    font-size: 3.75rem;
    line-height: 1;
  }
}

.hero-primary h1 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
}

.hero-primary h1 .bold{
  font-weight: 700;
}

.page-terms-v2 .hero-primary h1,
.page-privacy-v2 .hero-primary h1{
  font-family: 'Proxima Nova Regular', sans-serif;
}

.hero-primary p{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  max-width: 36rem;
  color: rgb(255 255 255 / 0.9);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

/* ---------- Section helpers ---------- */

.section{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px){
  .section{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

@media (min-width: 1024px){
  .section{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.bg-primary-section {
  background: hsl(var(--primary));
  color: #fff;
}

.bg-accent10 {
  background: hsl(var(--accent) / 0.6);
}

.section-title{
  margin-bottom: 1rem;
  text-align: center;
}

.section-title .light{
  display: block;
  color: hsl(var(--primary));
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
  font-size: 52px;
}

.section-title .bold{
  display: block;
  color: hsl(var(--primary));
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 52px;
}

@media (min-width: 768px){
  .section-title .light,
  .section-title .bold{
    font-size: 60px;
  }
}

.section-intro{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.5rem;
  max-width: 42rem;
  text-align: center;
  color:hsl(var(--foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
  line-height: 1.7;
}

/* ---------- Feature grid (Home: Designed for Participation) ---------- */

.belonging-split .feature-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .feature-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .feature-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .feature-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .feature-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .feature-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.feature-grid{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  max-width: 72rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2.5rem;
}

@media (min-width: 640px){
  .feature-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px){
  .feature-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.feature-card{
  cursor: pointer;
}

.feature-card .img-wrap{
  margin-bottom: 2rem;
  overflow: hidden;
  border-radius: 2rem;
}

.feature-card img{
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  aspect-ratio: 4 / 3;
}

.feature-card:hover img{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.feature-card h3{
  margin-bottom: 1rem;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Demi', sans-serif;
  font-weight: 600;
  font-size: 35px;
}

.feature-card p{
  line-height: 1.6;
  color:hsl(var(--foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

/* ---------- Getting started (blue section, steps) ---------- */

.getting-started{
  position: relative;
  overflow: hidden;
}

.getting-started .deco-circle{
  position: absolute;
  display: none;
  border-radius: 9999px;
  background-color: hsl(var(--accent-yellow));
}

@media (min-width: 768px){
  .getting-started .deco-circle{
    display: block;
  }
}

.getting-started .deco-circle {
  width: 7rem;
  height: 7rem;
}

.getting-started .deco-circle.top-left {
  top: 2rem;
  left: -2.5rem;
}

.getting-started .deco-circle.bottom-right {
  bottom: 2rem;
  right: -2.5rem;
}

.getting-started h2{
  margin-bottom: 1.25rem;
}

.getting-started h2 .light {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
  font-size: 44px;
}

.getting-started h2 .bold {
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 44px;
}

@media (min-width: 768px){
  .getting-started h2 .light,
  .getting-started h2 .bold {
    font-size: 60px;
  }
}

.getting-started-subtitle{
  color: rgba(255,255,255,0.95);
  font-family: 'Futura Cyrillic Demi', sans-serif;
  font-size: 20px;
  margin-bottom: 0.5rem;
}

.getting-started-desc{
  color: rgba(255,255,255,0.8);
  font-family: 'Futura Cyrillic Book', 'DM Sans', sans-serif;
  font-size: 19px;
  /* max-width: 42rem; */
  margin: 0 auto;
  line-height: 1.7;
}

.steps-grid{
  margin-left: auto;
  margin-right: auto;
  max-width: 75rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 768px){
  .steps-grid{
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.belonging-split .steps-grid .row-top {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .steps-grid .row-top{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .steps-grid .row-top {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .steps-grid .row-top{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .steps-grid .row-top {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .steps-grid .row-top{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.steps-grid .row-top{
  margin-bottom: 3.5rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  row-gap: 3.5rem;
}

@media (min-width: 768px){
  .steps-grid .row-top{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.step{
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

.step img{
  flex-shrink: 0;
  border-radius: 9999px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 8rem;
  height: 8rem;
}

@media (min-width: 768px){
  .step img{
    width: 9rem;
    height: 9rem;
  }
}

.step h3{
  margin-bottom: 0.5rem;
  font-family: 'Futura Cyrillic Demi', sans-serif;
  font-weight: 600;
  font-size: 25px;
}

.step p{
  margin-top: 0.5rem;
  line-height: 1.65;
  color: rgb(255 255 255 / 0.8);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

.step p:first-of-type{
  margin-top: 0px;
}

.step.centered{
  margin-left: auto;
  margin-right: auto;
  max-width: 48rem;
}

/* ---------- Pricing ---------- */

.belonging-split .pricing-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .pricing-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .pricing-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .pricing-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .pricing-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .pricing-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.pricing-grid{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 1.5rem;
}

@media (min-width: 768px){
  .pricing-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.pricing-title .light{
  display: inline !important;
  margin-right: 0.25em;
}
.pricing-title .bold{
  display: inline !important;
}

.pricing-card{
  border-radius: 0.75rem;
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--card));
  padding: 2.5rem 2rem;
  color: hsl(var(--card-foreground));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.pricing-card:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  border-color: hsl(var(--primary) / 0.3);
}

.pricing-card.highlighted{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-color: hsl(var(--primary));
  background-color: hsl(var(--primary));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  padding: 3rem 2rem;
}

.pricing-card h3{
  margin-bottom: 0.5rem;
  font-family: 'Futura Cyrillic Demi', sans-serif;
  font-weight: 600;
  font-size: 36px;
}

.pricing-card .desc{
  margin-bottom: 1.5rem;
  color: hsl(var(--muted-foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
  line-height: 1.6;
  min-height: 3.2em;
}

.pricing-card.highlighted .desc{
  color: rgb(255 255 255 / 0.8);
}

.pricing-card .price{
  margin-bottom: 1.5rem;
}

.pricing-card .price .amt {
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 48px;
}

.pricing-card .price .period{
  opacity: 0.7;
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.pricing-card .btn-cyan{
  display: block;
  width: 100%;
  text-align: center;
}

.pricing-card.highlighted .btn-yellow-block{
  display: block;
  width: 100%;
  border-radius: calc(var(--radius) - 2px);
  background-color: #e7de21;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #027684;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.pricing-card.highlighted .btn-yellow-block:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0.9;
}

.pricing-card.highlighted .btn-yellow-block {
  font-family: 'Proxima Nova Book', sans-serif;
  font-size: 16px;
}

/* ---------- Learners banner ---------- */

.learners-banner{
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: 72rem;
  overflow: hidden;
  border-radius: 2.5rem;
}

.learners-banner > img{
  position: absolute;
  inset: 0px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}

.learners-banner::before {
  content: '';
  position: absolute;
  inset: 0px;
  z-index: 1;
  background: linear-gradient(to right, hsl(var(--foreground) / 0.85), hsl(var(--foreground) / 0.55), transparent);
}

.learners-banner .inner{
  position: relative;
  max-width: 42rem;
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
  z-index: 1;
}

@media (min-width: 768px){
  .learners-banner .inner{
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.learners-banner h2{
  margin-bottom: 0.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  line-height: 1.15;
}

.learners-banner h2 span{
  display: block;
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 38px;
}

@media (min-width: 768px){
  .learners-banner h2 span{
    font-size: 40px;
  }
}

.learners-banner p{
  margin-bottom: 0.5rem;
  line-height: 1.625;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

/* ---------- Two-column image+text ---------- */

.belonging-split .two-col {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .two-col{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .two-col {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .two-col{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .two-col {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .two-col{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.two-col{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  max-width: 72rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .two-col{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .two-col.ratio-5-7{
    grid-template-columns: 5fr 7fr;
  }

  .two-col.ratio-8-4{
    grid-template-columns: 8fr 4fr;
  }
}

.two-col img.feature-img{
  width: 100%;
  border-radius: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  min-height: 280px;
}

.two-col h2{
  margin-bottom: 1rem;
}

.two-col h2 .light{
  display: block;
  color: hsl(var(--primary));
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
  font-size: 44px;
}

.two-col h2 .bold{
  display: block;
  color: hsl(var(--primary));
  font-family: 'Proxima Nova Bold', sans-serif;
  font-weight: 700;
  font-size: 44px;
}

@media (min-width: 768px){
  .two-col h2 .light,
  .two-col h2 .bold{
    font-size: 60px;
  }
}

.two-col h2.small .light, .two-col h2.small .bold {
  font-size: 40px;
}

@media (min-width: 768px){
  .two-col h2.small .light, .two-col h2.small .bold {
    font-size: 60px;
  }
}

.two-col p.lead{
  margin-bottom: 1rem;
  line-height: 1.65;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Demi', sans-serif;
  font-weight: 600;
  font-size: 30px;
}

.two-col p.body{
  margin-bottom: 1rem;
  line-height: 1.7;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 20px;
}

/* ---------- Pill cards ---------- */

.pill-cards{
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.pill-cards .pill{
  position: relative;
  flex: 1 1 0%;
  border-radius: 0.75rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  min-width: 180px;
  font-size: 25px;
  line-height: 30px;
  font-family: 'Futura Cyrillic Demi', sans-serif;
}

.pill-cards .pill.cyan{
  background-color: hsl(var(--cyan));
}

.pill-cards .pill.primary{
  background-color: hsl(var(--primary));
}

.pill-cards .pill .dot{
  position: absolute;
  border-radius: 9999px;
  bottom: -4px;
  right: -4px;
  width: 1.5rem;
  height: 1.5rem;
}

.pill-cards .pill.cyan .dot {
  background: hsl(var(--primary) / 0.3);
}

.pill-cards .pill.primary .dot{
  background-color: hsl(var(--cyan));
}

/* ---------- Yellow banner ---------- */

.yellow-banner{
  background-color: hsl(var(--accent-yellow));
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

@media (min-width: 768px){
  .yellow-banner{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.yellow-banner > .container{
  text-align: center;
}

.yellow-banner h2{
  margin-left: auto;
  margin-right: auto;
  max-width: 48rem;
  color: hsl(var(--primary));
  line-height: 1.25;
}

.yellow-banner h2 .big{
  display: block;
  font-family: 'Proxima Nova Book';
  font-weight: 300;
  font-size: 36px;
}

.yellow-banner h2 .mid{
  display: block;
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 34px;
}

@media (min-width: 768px){
  .yellow-banner h2 .big{
    font-size: 55px;
  }
  .yellow-banner h2 .mid{
    font-size: 53px;
  }
}

.yellow-banner p{
  margin-left: auto;
  margin-right: auto;
  max-width: 60rem;
  line-height: 65px;
  color: hsl(var(--primary));
  font-family: 'Proxima Nova Book';
  font-size: 60px;
}

.yellow-banner p .bold{
  font-weight: 700;
}

/* About page yellow banner — larger inline paragraph style */
.about-yellow-banner p{
  font-family: 'Proxima Nova Regular', 'Inter', system-ui, sans-serif;
  font-size: 1.75rem;
  font-weight: 300;
  /* font-style: italic; */
  line-height: 1.1;
}

@media (min-width: 768px){
  .about-yellow-banner p{
    font-size:60px;
    letter-spacing: 1px;
  }
}

.about-yellow-banner p .bold{
  font-family: 'Proxima Nova Bold', 'Inter', system-ui, sans-serif;
  font-weight: 700;
  /* font-style: italic; */
}

/* ---------- Belonging split ---------- */

.belonging-split{
  position: relative;
  overflow: hidden;
}

.belonging-split .grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.belonging-split .img-col{
  display: none;
}

@media (min-width: 768px){
  .belonging-split .img-col{
    display: block;
  }
}

.belonging-split .img-col img{
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.belonging-split .text-col{
  display: flex;
  align-items: center;
  background-color: hsl(var(--primary));
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
}

@media (min-width: 768px){
  .belonging-split .text-col{
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

.belonging-split .text-col .inner{
  max-width: 32rem;
}

.belonging-split h2{
  margin-bottom: 1.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.belonging-split h2 .light{
  display: block;
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
  font-size: 40px;
}

.belonging-split h2 .bold{
  display: block;
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 40px;
}

@media (min-width: 768px){
  .belonging-split h2 .light,
  .belonging-split h2 .bold{
    font-size: 60px;
  }
}

.belonging-split p.lead{
  margin-bottom: 1rem;
  line-height: 1.65;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Futura Cyrillic Demi', sans-serif;
  font-size: 18px;
}

.belonging-split p.body{
  margin-bottom: 0.75rem;
  line-height: 1.7;
  color: rgb(255 255 255 / 0.9);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 16px;
}

/* ---------- FAQ ---------- */

.faq-section{
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px){
  .faq-section{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.faq-section h2{
  margin-bottom: 3rem;
  text-align: center;
}

.faq-section h2 .light{
  color: hsl(var(--primary));
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
  font-size: 40px;
}

.faq-section h2 .bold{
  color: hsl(var(--primary));
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 40px;
}

@media (min-width: 768px){
  .faq-section h2 .light,
  .faq-section h2 .bold{
    font-size: 60px;
  }
}

.belonging-split .faq-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .faq-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .faq-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .faq-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .faq-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .faq-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.faq-grid{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  row-gap: 2rem;
}

@media (min-width: 768px){
  .faq-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.faq-item h3{
  margin-bottom: 0.5rem;
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 25px;
  color: hsl(var(--foreground));
  line-height: 35px;
}

.faq-item p{
  line-height: 1.7;
  color:hsl(var(--foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

/* ---------- Contact form section ---------- */

.contact-form-section{
  position: relative;
  overflow: hidden;
  padding-top: 5rem;
  padding-bottom: 5rem;
}

@media (min-width: 768px){
  .contact-form-section{
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
}

.contact-form-section > img{
  position: absolute;
  inset: 0px;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.contact-form-section .overlay{
  position: absolute;
  inset: 0px;
  background-color: rgb(0 0 0 / 0.6);
}

.contact-form-section > .container{
  position: relative;
  text-align: center;
}

.contact-form-section h2{
  margin-bottom: 0.75rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

@media (min-width: 768px){
  .contact-form-section h2{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

.contact-form-section h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
}

.contact-form-section h2 .bold{
  font-weight: 700;
}

.contact-form-section p{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  max-width: 36rem;
  color: rgb(255 255 255 / 0.8);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.contact-form-section form{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  max-width: 42rem;
  flex-direction: column;
  gap: 1rem;
}

.belonging-split .form-row {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .form-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .form-row {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .form-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .form-row {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .form-row{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.form-row{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 640px){
  .form-row{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.contact-form-section input,
  .contact-form-section textarea{
  width: 100%;
  border-radius: calc(var(--radius) - 2px);
  border-width: 0px;
  background-color: rgb(255 255 255 / 0.9);
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: hsl(var(--foreground));
}

.contact-form-section input::-moz-placeholder, .contact-form-section textarea::-moz-placeholder{
  color: hsl(var(--muted-foreground));
}

.contact-form-section input::placeholder,
  .contact-form-section textarea::placeholder{
  color: hsl(var(--muted-foreground));
}

.contact-form-section textarea {
  min-height: 120px;
  resize: vertical;
}

.contact-form-section form > div:last-child{
  text-align: center;
}

.contact-form-section .btn-yellow{
  padding-left: 4rem;
  padding-right: 4rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 16px;
}

/* ---------- Footer ---------- */

.site-footer{
  background-color: hsl(var(--primary));
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.site-footer .top{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

@media (min-width: 768px){
  .site-footer .top{
    flex-direction: row;
  }
}

.site-footer .brand-block{
  max-width: 22rem;
}

.site-footer .brand-block p{
  margin-top: 1rem;
  font-size: 20px;
  line-height: 1.5;
  color: rgb(255 255 255 / 0.8);
  font-family: 'Futura Cyrillic Book', sans-serif;
}

.site-footer .nav-col{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
}

.site-footer nav{
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 16px;
}

.site-footer nav a:hover{
  color: hsl(var(--accent-yellow));
}

.site-footer .accent-line{
  height: 0.125rem;
  width: 3rem;
  border-radius: 9999px;
  background-color: hsl(var(--accent-yellow));
}

.site-footer .bottom{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: 15px;
  line-height: 1.4;
  color: rgb(255 255 255 / 0.7);
}

@media (min-width: 640px){
  .site-footer .bottom{
    flex-direction: row;
  }
}

.site-footer .bottom {
  font-family: 'Futura Cyrillic Book', sans-serif;
}

.site-footer .bottom .links{
  display: flex;
  gap: 1.5rem;
}

.site-footer .bottom a:hover{
  color: hsl(var(--accent-yellow));
}

/* ---------- About: Why we started ---------- */

.why-started{
  background-color: hsl(var(--background));
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px){
  .why-started{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.why-started .grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  /* max-width: 64rem; */
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .grid{
    grid-template-columns: 1.2fr 1fr;
  }
}

.why-started img{
  width: 100%;
  border-radius: 0.75rem;
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 22rem;
}

@media (min-width: 768px){
  .why-started img{
    min-height: 28rem;
  }
}

.why-started h2{
  margin-bottom: 1rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  color: hsl(var(--primary));
}

@media (min-width: 768px){
  .why-started h2{
    font-size: 2.25rem;
    line-height:60px;
  }
}

.why-started h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
}

.why-started h2 .bold{
  font-weight: 700;
}

.why-started p{
  margin-bottom: 0.75rem;
  line-height: 1.625;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

.why-started p.emph{
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Bold', sans-serif;
}

/* ---------- Founder ---------- */

.founder{
  margin-left: auto;
  margin-right: auto;
  display: flex;
  /* max-width: 65rem; */
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .founder{
    flex-direction: row;
    align-items: center;
  }
}

.founder .photo{
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 9999px;
  border-width: 4px;
  border-color: rgb(255 255 255 / 0.2);
  width: 14rem;
  height: 14rem;
}

@media (min-width: 768px) {
  .founder .photo {
    width: 24rem;
    height: 24rem;
  }
}

.founder .photo img{
  height: 100% !important;
  width: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  -o-object-position: top;
     object-position: top;
}

.founder .text{
  text-align: center;
}

@media (min-width: 768px){
  .founder .text{
    text-align: left;
  }
}

.founder .text .small{
  margin-bottom: 0.25rem;
  color: rgb(255 255 255 / 0.8);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.founder .text h3{
  margin-bottom: 0.25rem;
  font-size: 25px;
  line-height: 30px;
}

@media (min-width: 768px){
  .founder .text h3{
    font-size: 25px;
    line-height: 30px;
  }
}

.founder .text h3 {
  font-family: 'Proxima Nova Bold';
  font-weight: 700;
}

.founder .text .role{
  margin-bottom: 1rem;
  color: hsl(var(--accent-yellow));
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-size: 25px;
  line-height: 30px;
}

.founder .text p{
  margin-bottom: 1rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.9);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

.founder .text p.emph{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Futura Cyrillic Bold', sans-serif;
}

/* ---------- PBC difference cards ---------- */

.belonging-split .diff-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .diff-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .diff-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .diff-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .diff-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .diff-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.diff-grid{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  max-width: 56rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 640px){
  .diff-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.diff-card{
  overflow: hidden;
  border-radius: 0.75rem;
  border-width: 1px;
  border-color: hsl(var(--border));
  background-color: hsl(var(--card));
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.diff-card:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.diff-card img{
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  aspect-ratio: 16/10;
}

.diff-card:hover img{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.diff-card .content{
  padding: 1.25rem;
}

.diff-card h3{
  margin-bottom: 0.5rem;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  font-family: 'Futura Cyrillic Book';
  font-weight: 700;
  font-size: 30px;
  line-height: 36px;
}

.diff-card:hover h3{
  color: hsl(var(--primary));
}

.diff-card p{
  line-height: 1.625;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

/* ---------- Teachers row (About) ---------- */

.teachers-row{
  margin-bottom: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .teachers-row{
    gap: 4rem;
  }
}

.teachers-row .circle{
  overflow: hidden;
  border-radius: 9999px;
  border-width: 4px;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.teachers-row .circle:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.teachers-row .circle {
  width: 8rem;
  height: 8rem;
  border-color: hsl(var(--muted) / 0.3);
}

@media (min-width: 768px) {
  .teachers-row .circle {
    width: 14rem;
    height: 14rem;
  }
}

.teachers-row .circle img{
  height: 100% !important;
  width: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  -o-object-position: center top;
     object-position: center top;
}

/* ---------- Personas ---------- */

.belonging-split .personas .row-3 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .personas .row-3{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .personas .row-3 {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .personas .row-3{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .personas .row-3 {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .personas .row-3{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.personas .row-3{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  display: grid;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem;
}

@media (min-width: 640px){
  .personas .row-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.belonging-split .personas .row-2 {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .personas .row-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .personas .row-2 {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .personas .row-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .personas .row-2 {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .personas .row-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.personas .row-2{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  max-width: 48rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 2rem;
}

@media (min-width: 640px){
  .personas .row-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.persona{
  text-align: center;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.persona:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.persona .icon{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.25rem;
  display: flex;
  height: 4rem;
  width: 4rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: #fff;
  color: #1a1a1a;
  transition-property: transform, background-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
}

.persona:hover .icon{
  transform: scale(1.1);
  background-color: rgba(255, 255, 255, 0.85);
}

.persona h3{
  margin-bottom: 0.5rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size:30px;
}

.persona p{
  line-height: 1.625;
  color: rgb(255 255 255 / 0.7);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

/* ---------- Community grid (About) ---------- */

.belonging-split .community-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .community-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .community-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .community-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .community-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .community-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.community-grid{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  max-width:60rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  row-gap: 2.5rem;
}

@media (min-width: 640px){
  .community-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.community-item{
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.community-item:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.community-item .circle{
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 9999px;
  /* border-width: 4px; */
  --tw-border-opacity: 1;
  /* border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); */
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  width: 7rem;
  height: 7rem;
}

@media (min-width: 768px) {
  .community-item .circle {
    width: 10rem;
    height: 10rem;
  }
}

.community-item:hover .circle{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.community-item .circle img{
  height: 100% !important;
  width: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.community-item .text{
  padding-top: 0.5rem;
}

.community-item h3{
  margin-bottom: 0.25rem;
  color: hsl(var(--primary));
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 24px;
}

.community-item p{
  line-height: 1.625;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 19px;
}

/* ---------- Hero label ---------- */

.hero-label{
  display: inline-block;
  margin-bottom: 1rem;
  font-family: 'Proxima Nova Book', 'Inter', sans-serif;
  font-size: 14px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
}

/* ---------- Community Connected (text-only) ---------- */

.community-connected-section{
  /* background-color: hsl(var(--background)); */
  background-color: #E0F3F9;
}

.community-connected-subtitle{
  text-align: center;
  margin: 0 auto 3rem;
  /* max-width: 42rem; */
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Demi';
  font-size:26px;
  line-height: 1.625;line-height: 30px;
}

.community-text-grid{
  margin-left: auto;
  margin-right: auto;
  display: grid;
  max-width: 56rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  column-gap: 3rem;
  row-gap: 2.5rem;
}

@media (min-width: 640px){
  .community-text-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.community-text-item{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.community-text-item:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.community-text-item h3{
  margin-bottom: 0.5rem;
  color: hsl(var(--primary));
  font-family: 'Futura Cyrillic Light';
  font-weight: 700;
  font-size: 30px;
}

.community-text-item p{
  line-height: 1.625;
  color: hsl(var(--muted-foreground));
  font-family: hsl(var(--foreground));
  font-size: 23px;
}

/* ---------- Blue quote banner ---------- */

.blue-quote-banner{
  background-color: hsl(var(--primary));
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}

@media (min-width: 768px){
  .blue-quote-banner{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.blue-quote-banner > .container{
  text-align: center;
}

.blue-quote-banner p{
  margin-left: auto;
  margin-right: auto;
  max-width: 48rem;
  line-height: 1.4;
  color: #fff;
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-size: 1.5rem;
}

@media (min-width: 768px){
  .blue-quote-banner p{
    font-size: 2rem;
  }
}

.blue-quote-banner p .italic-bold{
  font-style: italic;
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-weight: 700;
}

/* ---------- Team page ---------- */

.team-intro{
  background-color: hsl(var(--background));
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media (min-width: 768px){
  .team-intro{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

.team-intro .grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .img-wrap{
  overflow: hidden;
  border-radius: 0.75rem;
}

.team-intro img{
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 4/3;
}

.team-intro h2{
  margin-bottom: 1rem;
  font-size: 1.5rem;
  line-height: 2rem;
  color: hsl(var(--primary));
}

@media (min-width: 640px){
  .team-intro h2{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

@media (min-width: 768px){
  .team-intro h2{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

.team-intro h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
}

.team-intro h2 .bold {
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
}

.team-intro p.lead{
  margin-bottom: 0.75rem;
  line-height: 1.625;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-size: 22px;
}

.team-intro p.body{
  line-height: 1.625;
  color: hsl(var(--muted-foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.team-section{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media (min-width: 768px){
  .team-section{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.team-section.alt {
  background: hsl(var(--muted) / 0.3);
}

.team-section > .container{
  max-width: 64rem;
}

.team-section h2{
  margin-bottom: 2.5rem;
  text-align: center;
  font-size: 1.5rem;
  line-height: 2rem;
  color: hsl(var(--primary));
}

@media (min-width: 640px){
  .team-section h2{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

@media (min-width: 768px){
  .team-section h2{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

@media (min-width: 1024px){
  .team-section h2{
    font-size: 60px;
    line-height: 1.2;
  }
}

.team-section h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
}

.team-section h2 .bold {
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
}

.belonging-split .teachers-grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .teachers-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .teachers-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .teachers-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .teachers-grid {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .teachers-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.teachers-grid{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 640px){
  .teachers-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 768px){
  .teachers-grid{
    gap: 1rem;
  }
}

.teachers-grid-last{
  margin-top: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

@media (min-width: 768px){
  .teachers-grid-last{
    margin-top: 1rem;
    gap: 1rem;
  }
}

.teachers-grid-last .teacher-card-wrap{
  width: 100%;
}

@media (min-width: 640px){
  .teachers-grid-last .teacher-card-wrap{
    width: calc(33.333% - 0.5rem);
  }
}

.teacher-card{
  display: flex;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background-color: hsl(var(--primary));
  padding: 1.25rem;
  text-align: center;
  min-height: 220px;
}

.teacher-card .avatar{
  margin-bottom: 0.75rem;
  overflow: hidden;
  border-radius: 9999px;
  border-width: 4px;
  border-color: rgb(255 255 255 / 0.3);
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  width: 5rem;
  height: 5rem;
  background: hsl(var(--primary-foreground) / 0.2);
}

@media (min-width: 640px) {
  .teacher-card .avatar {
    width: 6rem;
    height: 6rem;
  }
}

@media (min-width: 768px) {
  .teacher-card .avatar {
    width: 7rem;
    height: 7rem;
  }
}

.teacher-card:hover .avatar{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.teacher-card .avatar img{
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.teacher-card h4{
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-size: 20px;
}

.teacher-card p{
  line-height: 1.375;
  color: rgb(255 255 255 / 0.8);
  font-size: 18px;
}

.team-section .cta-wrap{
  margin-top: 2rem;
  text-align: center;
}

/* ---------- Contact page ---------- */

.belonging-split .contact-cards {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .contact-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .contact-cards {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .contact-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .contact-cards {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .contact-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.contact-cards{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 768px){
  .contact-cards{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.contact-card{
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 1rem;
  padding: 2rem;
  text-align: center;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.contact-card:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.contact-card.cyan{
  background-color: hsl(var(--cyan));
}

.contact-card.primary{
  background-color: hsl(var(--primary));
}

.contact-card .icon-wrap{
  margin-bottom: 1rem;
  display: flex;
  height: 3.5rem;
  width: 3.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background-color: rgb(255 255 255 / 0.2);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.contact-card h3{
  margin-bottom: 0.75rem;
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 24px;
}

.contact-card p{
  margin-bottom: 0.75rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.8);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.contact-card .action{
  margin-bottom: 1rem;
  color: rgb(255 255 255 / 0.7);
}

.contact-card .btn-yellow{
  margin-top: auto;
}

.get-in-touch{
  background-color: hsl(var(--background));
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px){
  .get-in-touch{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.get-in-touch > .container{
  max-width: 64rem;
  text-align: center;
}

.get-in-touch h2{
  margin-bottom: 0.75rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  color: hsl(var(--primary));
}

@media (min-width: 768px){
  .get-in-touch h2{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

.get-in-touch h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
}

.get-in-touch h2 .bold{
  font-weight: 700;
}

.get-in-touch .tagline{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  max-width: 36rem;
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-size: 22px;
  color: #000;
}

.book-call{
  background-color: hsl(var(--background));
  padding-bottom: 4rem;
}

@media (min-width: 768px){
  .book-call{
    padding-bottom: 6rem;
  }
}

.book-call > .container{
  max-width: 64rem;
}

.book-call .card{
  border-radius: 1rem;
  background-color: hsl(var(--primary));
  padding: 2rem;
  text-align: center;
}

@media (min-width: 768px){
  .book-call .card{
    padding: 3rem;
  }
}

.book-call h2{
  margin-bottom: 0.75rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

@media (min-width: 768px){
  .book-call h2{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

.book-call h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
}

.book-call p{
  margin-bottom: 0.5rem;
  color: rgb(255 255 255 / 0.8);
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.book-call p.sub{
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  max-width: 32rem;
  color: rgb(255 255 255 / 0.7);
}

/* ---------- Testimonials page ---------- */

.testi-hero h1 {
  line-height: 1.2;
}

.testi-hero p.lead {
  font-family: 'Futura Cyrillic Bold', sans-serif;
}

.belonging-split .testi-videos {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .testi-videos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .testi-videos {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .testi-videos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .testi-videos {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .testi-videos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.testi-videos{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 640px){
  .testi-videos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px){
  .testi-videos{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.testi-video{
  display: flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background-color: hsl(var(--primary));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.testi-video:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  opacity: 0.9;
}

.testi-video {
  aspect-ratio: 4/3;
}

.testi-video .play{
  display: flex;
  height: 3.5rem;
  width: 3.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 2px;
  border-color: rgb(255 255 255 / 0.5);
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

@media (min-width: 768px){
  .testi-video .play{
    height: 4rem;
    width: 4rem;
  }
}

.written-reflections{
  position: relative;
  overflow: hidden;
  background-color: hsl(var(--cyan));
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px){
  .written-reflections{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.written-reflections::before, .written-reflections::after {
  content: '';
  position: absolute;
  display: none;
  border-radius: 9999px;
  background-color: hsl(var(--accent-yellow));
}

@media (min-width: 768px){
  .written-reflections::before, .written-reflections::after{
    display: block;
  }
}

.written-reflections::before, .written-reflections::after {
  width: 6rem;
  height: 6rem;
  opacity: 0.8;
}

.written-reflections::before {
  top: 2rem;
  left: -1.5rem;
}

.written-reflections::after {
  bottom: 2rem;
  right: -1.5rem;
}

.written-reflections > .container{
  position: relative;
  max-width: 64rem;
}

.written-reflections h2{
  margin-bottom: 3rem;
  text-align: center;
  font-size: 1.875rem;
  line-height: 2.25rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

@media (min-width: 768px){
  .written-reflections h2{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

.written-reflections h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-weight: 300;
}

.written-reflections h2 .bold{
  font-weight: 700;
}

.belonging-split .testi-cards {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px){
  .belonging-split .testi-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.why-started .testi-cards {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 3rem;
}

@media (min-width: 768px){
  .why-started .testi-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.team-intro .testi-cards {
  display: grid;
  margin-left: auto;
  margin-right: auto;
  max-width: 64rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  align-items: center;
  gap: 2.5rem;
}

@media (min-width: 768px){
  .team-intro .testi-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.testi-cards{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (min-width: 768px){
  .testi-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.testi-card{
  border-radius: 0.75rem;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 1.5rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}

.testi-card:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

@media (min-width: 768px){
  .testi-card{
    padding: 2rem;
  }
}

.testi-card h3{
  margin-bottom: 0.75rem;
  color: hsl(var(--foreground));
  font-family: 'Proxima Nova Regular', sans-serif;
  font-weight: 700;
  font-size: 18px;
}

.testi-card > p{
  margin-bottom: 1.5rem;
  line-height: 1.625;
  color: hsl(var(--muted-foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.testi-card .author{
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.testi-card .author-avatar{
  height: 2.5rem;
  width: 2.5rem;
  overflow: hidden;
  border-radius: 9999px;
}

.testi-card .author-avatar img{
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.testi-card .author-name{
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-size: 18px;
}

.testi-card .author-role{
  color: hsl(var(--muted-foreground));
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.why-stay h2{
  margin-bottom: 1rem;
}

.why-stay p.lead{
  margin-bottom: 0.25rem;
  line-height: 1.625;
  color: hsl(var(--foreground));
  font-family: 'Futura Cyrillic Bold', sans-serif;
  font-size: 24px;
}

.why-stay p.italic{
  margin-bottom: 1rem;
  line-height: 1.625;
  color: hsl(var(--foreground));
  font-style: italic;
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 18px;
}

.relative{
  position: relative;
}

.grid{
  display: grid;
}

.hidden{
  display: none;
}

.bg-background{
  background-color: hsl(var(--background));
}

.bg-secondary{
  /* background-color: hsl(var(--secondary)); */
  background-color: #E0F3F9;
}

.text-center{
  text-align: center;
}

.italic{
  font-style: italic;
}

/* Theme variables (mirror src/index.css) */

/* ============================================
   Component layer — uses @apply (Tailwind)
   ============================================ */

/* Small viewport adjustments */

@media (max-width: 640px) {
  .hero-home-text h1 .title-1 {
    font-size: 38px;
  }

  .hero-home-text h1 .title-2 {
    font-size: 36px;
  }

  .section-title .light, .section-title .bold {
    font-size: 32px;
  }

  .getting-started h2 .light, .getting-started h2 .bold {
    font-size: 30px;
  }

  .faq-section h2 .light, .faq-section h2 .bold {
    font-size: 30px;
  }

  .two-col h2 .light, .two-col h2 .bold {
    font-size: 32px;
  }

  .two-col h2.small .light, .two-col h2.small .bold {
    font-size: 28px;
  }

  .pricing-card h3 {
    font-size: 28px;
  }

  .pricing-card .price .amt {
    font-size: 36px;
  }

  .pricing-card .desc {
    min-height: auto;
  }

  .yellow-banner h2 .big {
    font-size: 28px;
  }

  .yellow-banner h2 .mid {
    font-size: 24px;
  }

  .belonging-split h2 .light, .belonging-split h2 .bold {
    font-size: 30px;
  }

  .learners-banner h2 span {
    font-size: 26px;
  }

  .scroll-down {
    left: 50%;
  }

  .feature-card h3 {
    font-size: 20px;
  }

  .feature-card p {
    font-size: 15px;
  }

  .hero-home {
    min-height: 85vh;
  }

  .hero-home > .container {
    padding-top: 5rem;
    padding-bottom: 4rem;
  }

  .hero-home-text {
    padding-bottom: 3rem;
  }

  .getting-started-subtitle {
    font-size: 17px;
  }

  .getting-started-desc {
    font-size: 15px;
  }
}

/* ============================================================
   TABLET ADJUSTMENTS (768px – 1023px)
   ============================================================ */
@media (min-width: 768px) and (max-width: 1023px) {

  /* --- Hero (about page) --- */
  .hero-image {
    min-height: 60vh;
  }

  .hero-image > .container {
    padding-top: 10rem;
    padding-bottom: 5rem;
  }

  /* --- Hero --- */
  .hero-home {
    min-height: auto;
  }

  .hero-home > .container {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding-top: 6rem;
    padding-bottom: 3rem;
    text-align: center;
  }

  .hero-home-image {
    display: block;
    height: auto;
    max-width: 420px;
    margin: 0 auto;
  }

  .hero-home-image img {
    position: relative;
    height: auto;
    max-height: 380px;
    margin: 0 auto;
  }

  .hero-home-text {
    padding-bottom: 3rem;
  }

  .hero-home-text h1 .title-1 {
    font-size: 48px;
  }

  .hero-home-text h1 .title-2 {
    font-size: 46px;
  }

  .hero-home-text p.intro {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-home-buttons {
    justify-content: center;
  }

  .hero-home-trial {
    text-align: center;
  }

  .scroll-down {
    left: 50%;
    transform: translateX(-50%);
  }

  /* --- Sections general --- */
  .section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .section-title .light,
  .section-title .bold {
    font-size: 44px;
  }

  .section-intro {
    font-size: 17px;
  }

  /* --- Feature grid --- */
  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }

  .feature-card h3 {
    font-size: 20px;
  }

  .feature-card p {
    font-size: 15px;
  }

  /* --- Getting Started --- */
  .getting-started h2 .light,
  .getting-started h2 .bold {
    font-size: 40px;
  }

  .step img {
    width: 7rem;
    height: 7rem;
  }

  .step h3 {
    font-size: 20px;
  }

  .step p {
    font-size: 15px;
  }

  /* --- Pricing --- */
  .pricing-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .pricing-card {
    padding: 1.5rem 1.25rem;
  }

  .pricing-card h3 {
    font-size: 26px;
  }

  .pricing-card .desc {
    font-size: 14px;
    min-height: 3.6em;
  }

  .pricing-card .price .amt {
    font-size: 36px;
  }

  .pricing-card.highlighted {
    padding: 2rem 1.25rem;
  }

  /* --- Two-col sections (Rooms Went Quiet / Teachers) --- */
  .two-col {
    grid-template-columns: 1fr !important;
    gap: 2rem;
  }

  .two-col img.feature-img {
    height: 350px;
    min-height: auto;
    width: 100%;
  }

  .two-col h2 .light,
  .two-col h2 .bold {
    font-size: 38px;
  }

  .two-col h2.small .light,
  .two-col h2.small .bold {
    font-size: 34px;
  }

  .two-col p.lead {
    font-size: 16px;
  }

  .two-col p.body {
    font-size: 15px;
  }

  /* --- Pill cards --- */
  .pill-cards {
    flex-direction: row;
  }

  .pill-cards .pill {
    font-size: 14px;
  }

  /* --- Learners banner --- */
  .learners-banner h2 span {
    font-size: 32px;
  }

  .learners-banner p {
    font-size: 16px;
  }

  /* --- Yellow banner --- */
  .yellow-banner h2 .big {
    font-size: 38px;
  }

  .yellow-banner h2 .mid {
    font-size: 32px;
  }

  /* --- Belonging split --- */
  .belonging-split .grid {
    grid-template-columns: 1fr;
  }

  .belonging-split .img-col {
    display: block;
    max-height: 400px;
    overflow: hidden;
  }

  .belonging-split .img-col img {
    height: 400px;
    object-fit: cover;
  }

  .belonging-split h2 .light,
  .belonging-split h2 .bold {
    font-size: 36px;
  }

  .belonging-split p.lead {
    font-size: 17px;
  }

  .belonging-split p.body {
    font-size: 15px;
  }

  /* --- FAQ --- */
  .faq-section h2 .light,
  .faq-section h2 .bold {
    font-size: 36px;
  }

  .faq-grid {
    gap: 1.5rem 2rem;
  }

  .faq-item h3 {
    font-size: 17px;
  }

  .faq-item p {
    font-size: 15px;
  }

  /* --- Navbar --- */
  .navbar > .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .nav-links {
    gap: 1.25rem;
  }

  .nav-links a.nav-item {
    font-size: 15px;
  }

  .nav-contact-btn {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 14px;
  }

  /* --- About V2: Why We Started --- */
  .why-started {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .why-started .grid {
    gap: 2rem;
  }

  .why-started img {
    min-height: 20rem;
  }

  .why-started h2 {
    font-size: 36px;
    line-height: 42px;
  }

  .why-started p {
    font-size: 16px;
  }

  .why-started p.emph {
    font-size: 17px;
  }

  /* --- About V2: Founder --- */
  .founder .photo {
    width: 16rem;
    height: 16rem;
  }

  .founder .text h3 {
    font-size: 21px;
    line-height: 26px;
  }

  .founder .text .role {
    font-size: 20px;
    line-height: 26px;
  }

  .founder .text p {
    font-size: 16px;
  }

  /* --- About V2: PBC Difference --- */
  .diff-card h3 {
    font-size: 22px;
    line-height: 28px;
  }

  .diff-card p {
    font-size: 16px;
  }

  /* --- About V2: Teachers --- */
  .teachers-row .circle {
    width: 10rem;
    height: 10rem;
  }

  /* --- About V2: Personas (Who This Is For) --- */
  .personas .row-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .personas .row-2 {
    gap: 1.5rem;
  }

  .persona h3 {
    font-size: 20px;
  }

  .persona p {
    font-size: 15px;
  }

  .persona .icon {
    height: 3rem;
    width: 3rem;
    margin-bottom: 0.75rem;
  }

  /* --- About V2: Community Connected --- */
  .community-item .circle {
    width: 7rem;
    height: 7rem;
  }

  .community-item h3 {
    font-size: 20px;
  }

  .community-item p {
    font-size: 16px;
  }

  .community-connected-section .section-title .light,
  .community-connected-section .section-title .bold {
    font-size: 36px;
  }

  /* --- About V2: Yellow Banner --- */
  .about-yellow-banner p {
    font-size: 38px;
  }
}

/* ============================================================
   HOME V2 PAGE — title typography consistency
   Thin part: Proxima Nova Regular
   Bold part: Proxima Nova Bold
   ============================================================ */
.page-home-v2 .hero-home-text h1 .title-1,
.page-home-v2 .section-title .light,
.page-home-v2 .getting-started h2 .light,
.page-home-v2 .two-col h2 .light,
.page-home-v2 .two-col h2.small .light,
.page-home-v2 .belonging-split h2 .light,
.page-home-v2 .faq-section h2 .light,
.page-home-v2 .learners-banner h2 span:first-child {
  font-family: 'Proxima Nova Regular', 'Inter', system-ui, sans-serif;
  font-weight: 400;
}

.page-home-v2 .hero-home-text h1 .title-2,
.page-home-v2 .section-title .bold,
.page-home-v2 .getting-started h2 .bold,
.page-home-v2 .two-col h2 .bold,
.page-home-v2 .two-col h2.small .bold,
.page-home-v2 .belonging-split h2 .bold,
.page-home-v2 .faq-section h2 .bold,
.page-home-v2 .learners-banner h2 span:last-child {
  font-family: 'Proxima Nova Bold', 'Inter', system-ui, sans-serif;
  font-weight: 700;
}

/* ============================================================
   ABOUT V2 PAGE — title typography consistency
   Match home page: Proxima Nova Regular / Bold, same sizes
   ============================================================ */
.page-about-v2 .section-title .light,
.page-about-v2 .why-started h2,
.page-about-v2 .faq-section h2 .light {
  font-family: 'Proxima Nova Regular', 'Inter', system-ui, sans-serif;
  font-weight: 400;
}

.page-about-v2 .section-title .bold,
.page-about-v2 .why-started h2 .bold,
.page-about-v2 .faq-section h2 .bold {
  font-family: 'Proxima Nova Bold', 'Inter', system-ui, sans-serif;
  font-weight: 700;
}

/* Inline display so light + bold sit on the same line */
.page-about-v2 .section-title .light,
.page-about-v2 .section-title .bold {
  display: inline;
}

/* White variant for blue-background sections */
.section-title-white .light {
  color: #fff;
  font-family: 'Proxima Nova Regular', 'Inter', system-ui, sans-serif;
  font-weight: 300;
}

.section-title-white .bold {
  color: #fff;
  font-family: 'Proxima Nova Bold', 'Inter', system-ui, sans-serif;
  font-weight: 700;
}

.hero-image {
  min-height: 90vh;
}
.hero-image h1{
  font-size: 55px;;
}
.why-started h2{
  font-family: 'Proxima Nova Regular';
  font-size: 60px;
}
.why-started p.emph{
  font-family: 'Futura Cyrillic Demi';
  font-size: 24px;
}
  .hero-image.testi-hero p{
      letter-spacing: 1px;
      max-width: 50rem;
  }
  .hero-image.testi-hero .leadb2{
      font-size: 24px;
  }
  .why-stay p.lead{
      font-size: 34px;
      font-family: 'Futura Cyrillic Book';
  }
  .written-reflections h2 {
  font-family: 'Proxima Nova Regular';
  font-size: 54px;
  }
  .contact-form-section p{
      max-width: 48rem;
  }
  .contact-page-hero h1{
      font-family: 'Proxima Nova Regular';
  }
  .hero-primary p{
      letter-spacing: 1px;
  }
  .get-in-touch .tagline {

  font-family: 'Futura Cyrillic Demi';
  font-size: 30px;
  color: hsl(var(--foreground));
  line-height: 40px;
}
.get-in-touch h2{
  margin-bottom: 25px;
  font-size: 60px;
}
.contact-card p{
  font-size: 19px;
}
.contact-card h3 {
 
  font-family: 'Futura Cyrillic Demi';
  font-weight: 700;
  font-size: 42px;
}
.get-in-touch > .container,.book-call > .container{
  max-width: 70rem;
}
.get-in-touch .btn-yellow{
  font-size: 16px;
  padding-left: 2rem;
  padding-right: 2rem;
}
.book-call h2 {
  font-family: 'Futura Cyrillic Demi';
  font-size: 40px;
}
.book-call p{
  font-size: 19px;
}
.team-intro h2 {
  font-family: 'Futura Cyrillic Light', sans-serif;
  font-size: 50px;
  line-height: 100%;
}
.team-intro p.lead {
  line-height: 1.625;
  font-size: 26px;
  font-family: 'Futura Cyrillic Demi';
}
.team-intro p.body {
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 20px;
}
.team-section h2{
 
  font-size: 60px;
}
.team-section > .container {
  max-width: 70rem;
}
.teacher-card p {
  font-size: 19px;
}
.teacher-card h4 {
  font-size: 28px;
  margin-bottom: 20px;
}
.contact-form-section h2{
  font-size: 60px;
}

/* ========== Terms of Service V2 ========== */

.terms-content{
  padding: 4rem 0;
  background-color: hsl(var(--background));
}

.terms-content .container{
  max-width: 1240px;
}

.terms-updated{
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 16px;
  color: hsl(var(--foreground) / 0.5);
  margin-bottom: 2.5rem;
}

.terms-section{
  margin-bottom: 2.5rem;
}

.terms-section h2{
  font-family: 'Proxima Nova Bold', 'Inter', sans-serif;
  font-weight: 700;
  font-size: 26px;
  color: hsl(var(--primary));
  margin-bottom: 0.75rem;
}

.terms-section p{
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: hsl(var(--foreground));
  margin-bottom: 0.75rem;
}

.terms-section ul{
  list-style: disc;
  padding-left: 1.5rem;
  margin-bottom: 0.75rem;
}

.terms-section ul li{
  font-family: 'Futura Cyrillic Book', sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: hsl(var(--foreground));
  margin-bottom: 0.35rem;
}

.terms-section strong{
  font-family: 'Proxima Nova Bold', 'Inter', sans-serif;
  font-weight: 700;
}

/* Tablet landscape */
@media (min-width: 768px){
  .terms-content{
    padding: 5rem 0;
  }
  .terms-section h2{
    font-size: 28px;
  }
  .terms-section p,
  .terms-section ul li{
    font-size: 17px;
  }
}

/* Desktop */
@media (min-width: 1024px){
  .terms-content{
    padding: 6rem 0;
  }
  .terms-section h2{
    font-size: 32px;
    margin-bottom: 1rem;
  }
  .terms-section p,
  .terms-section ul li{
    font-size: 18px;
  }
  .terms-section{
    margin-bottom: 3rem;
  }
}

/* Tablet portrait */
@media (max-width: 767px){
  .terms-content{
    padding: 3rem 0;
  }
  .terms-content .container{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .terms-section h2{
    font-size: 24px;
  }
  .terms-section p,
  .terms-section ul li{
    font-size: 15px;
    line-height: 1.7;
  }
}

/* Mobile portrait */
@media (max-width: 480px){
  .terms-content{
    padding: 2rem 0;
  }
  .terms-content .container{
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .terms-updated{
    font-size: 13px;
    margin-bottom: 2rem;
  }
  .terms-section{
    margin-bottom: 2rem;
  }
  .terms-section h2{
    font-size: 20px;
    margin-bottom: 0.5rem;
  }
  .terms-section p,
  .terms-section ul li{
    font-size: 14px;
    line-height: 1.7;
  }
}