html, body {overflow-x: hidden;}

 .hero-details-button > span:first-child {background-color: #1e2a36;animation: heroDetailsBlink 1s steps(1, end) infinite;}
.hero-details-arrow {background-color: #1e2a36;}

@media (min-width: 901px) {
  .hero-details-button {align-self: flex-start;margin-left: 0;}
}

@keyframes heroDetailsBlink {
  0%, 100% {background-color: #1e2a36;}
  50% {background-color: #08b2da;}
}

@media (prefers-reduced-motion: reduce) {
  .hero-details-button > span:first-child {animation: none;}
}

header, .hero-container, .hero-content, .heading-text {min-width: 0;}
.logo img {width: min(200px, calc(42 * var(--layout-vw)));height: auto;}

/* Responsive and cross-browser hardening. */
html {-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;}
body {min-width: 280px;background: #fff;}
button, a {-webkit-tap-highlight-color: transparent;}
button {font: inherit;}

@supports not (width: 1cqw) {
  @media (max-width: 1200px) {
    .target-section .target { width: min(calc(76 * var(--layout-vw)), 650px); height: min(calc(76 * var(--layout-vw)), 650px);}
    .target-section .target-info { top: min(calc(72 * var(--layout-vw)), 620px);}
  }
}

@media (min-width: 1201px) {
  .hero, .hero-container {min-height: calc(49.4 * var(--layout-vw));}
  .hero-content {top: clamp(-40px, calc(-2 * var(--layout-vw)), -20px);}
  .heading-line {margin-top: clamp(5px, calc(.55 * var(--layout-vw)), 10px);margin-right: 35px;margin-bottom: clamp(10px, calc(1.1 * var(--layout-vw)), 20px);}
  .heading-text h1 {--h1-line-height: 1.12em;}
}

@media (min-width: 901px) and (max-width: 1200px) {
  .hero-container {width: min(94%, 1100px);}
  .hero-content {width: 54%;}
  .hero-visual {right: -70px;}
}

@media (max-width: 1200px) {
  .footer-wrap .footer-aeroplane {display: none;}
}

@media (min-width: 900px) {
  .clientle-bg .arrow, .clientle-bg .dots {display: none;}
}

@media (max-width: 1200px) {
  header {padding: 16px clamp(24px, calc(4 * var(--layout-vw)), 40px);}
  .hero-container {width: min(92%, 1100px);}
  .hero {min-height: 650px;background-size: 100% 100%;}
  .hero-container {min-height: 650px;}
  .hero-content {width: 55%;padding-left: 0;}
  .logo-box {width: 330px;height: 120px;margin-bottom: 65px;}
  .hero-visual {transform: scale(0.78);transform-origin: right center;right: -100px;}
  .stats-panel {width: min(92%, 900px);}
  .target-section {min-height: 0; padding: 48px 24px 60px;}
  .target-section>h1 {position: static;width: auto;height: auto;margin: 0 0 36px;overflow: visible;clip: auto;text-align: center;white-space: normal;color: #fff;font: 600 clamp(28px, calc(4 * var(--layout-vw)), 42px)/1.15 'Outfit', sans-serif;}
  .target-section .target-wrapper {width: min(calc(92 * var(--layout-vw)), 860px);min-height: calc(min(72cqw, 620px) + 610px);aspect-ratio: auto;}
  .target-section .target {left: 50%;top: 0;width: min(76cqw, 650px);height: min(76cqw, 650px);transform: translateX(-50%);transform-origin: top center;animation: none;}
  .target-section .target-info {top: min(72cqw, 620px);height: auto;}
  .target-section .info {--elbow-x: 0px;position: relative;left: 0;top: auto;width: min(100%, 650px);margin: 0 auto 24px;justify-content: flex-start; }
  .target-section .line {width: 70px;min-width: 70px;}
  .target-section .line::before {display: none;}
  .target-section .info p {width: min(calc(100% - 128px), 520px);max-width: calc(100% - 128px);min-height: 76px;margin-left: 24px;padding: 12px 22px;font-size: clamp(17px, calc(2.6 * var(--layout-vw)), 24px);white-space: normal;}
  .target-section .info p::after {width: 34px;}
  .target-section .info:hover .line {width: 70px;min-width: 70px;}
}

@media (max-width: 1100px) {
  .target-section {min-height: 720px;}
  .clientle-bg {padding-inline: 12px;}
}

@media (max-width: 992px) {
   header {padding: 16px 32px;}
  .btn-group {gap: 12px;}
  .hero {min-height: auto;}
  .hero-container {width: min(92%, 760px);min-height: auto;padding: 70px 0;flex-direction: column;}
  .hero-content {width: 100%;padding-left: 0;text-align: center;display: flex;flex-direction: column;align-items: center;}
  .logo-box {margin: 0 auto 50px;}
  .hero-heading {justify-content: center;text-align: left;width: 100%;max-width: 720px;}
  .heading-text {min-width: 0;}
  .heading-text h1 {--h1-line-height: 1.08em;}
  .hero-visual {position: relative;right: auto;top: auto;width: 650px;height: 520px;margin-top: 40px;margin-bottom: -80px;transform: scale(0.84);transform-origin: center top;flex: 0 0 520px;}
  .target {position: relative;margin: auto;left: auto;top: auto;}
  .target-info { position: relative;left: auto;top: auto;width: 100%;margin-top: 50px;height: auto;}
  .info {position: relative;left: 0 !important;top: auto !important;margin-bottom: 25px;justify-content: center;width: 100%;}
  .line {width: 100px;flex: 0 1 100px;}
  .info p {max-width: calc(100% - 115px);}
}

@media (max-width: 900px) {
  .hero-details-button {align-self: center;margin-left: 0;}
  .hero {min-height: 0;background-size: auto 100%;background-position: center top;}
  .hero-container {overflow: visible;}
  .stats-main .stats-panel {box-sizing: border-box;}
  .clientle-bg {position: relative;z-index: 1;}
  .footer-wrap {position: relative;z-index: 2;}
  .footer-wrap {min-height: auto;padding: 30px 24px 30px;margin-top: -120px;background-image: none;background-color: var(--navy);}
  .footer-wrap .footer-card {display: flex;width: min(680px, calc(92 * var(--layout-vw)));min-height: 240px;padding: 32px;border-width: 8px;border-radius: 38px;gap: 30px;}
  .footer-wrap .col h4 {min-width: 130px;}
  .footer-wrap .col:nth-child(2) h4 {min-width: 100px;}
  .footer-wrap .col:nth-child(3) h4 {min-width: 160px;}
  .footer-wrap .socials {margin-top: 16px;gap: 8px;}
  .footer-wrap .socials a {width: 42px;height: 42px;}
  .footer-wrap .footer-aeroplane {top: 29%;width: 250px;}
}

@media (max-width: 899px) {
  .clientle-bg {min-height: 300px;padding: 0 0 22px;}
  .dots {margin-top: 10px;}
  .section-title {margin-bottom: 45px;}
  .carousel {width: min(94%, 720px);padding: 0 44px;}
}

@media (max-width: 767px) {
  header {padding: 16px 24px;}
  .logo img {max-width: 170px;}
  .btn-group {gap: 10px;}
  .btn-text {font-size: 15px;}
  .hero {background-size: 100% 100%;}
  .hero-container {width: 92%;padding: 40px 0;}
  .logo-box {width: 280px;height: 100px;border-radius: 10px;margin-bottom: 40px;}
  .hero-heading {align-items: flex-start;max-width: 100%;}
  .heading-text {min-width: 0;flex: 1 1 auto;max-width: calc(100% - 25px);}
  .heading-line {width: 7px;min-width: 7px;height: 180px; margin-right: 18px;}
  .line-blue, .line-black, .line-red {height: 60px;}
  .heading-text p {font-size: 25px;line-height: 1.2;}
  .heading-text h1 {font-size: clamp(18px, calc(5 * var(--layout-vw)), 38px);--h1-line-height: 1.08em;letter-spacing: -1px;max-width: 100%;}
  .hero-visual {width: 650px;height: 520px;margin: 20px 0 -220px;transform: scale(0.58);transform-origin: top center;flex-basis: 520px;}
  .students-wrapper {top: 25px}
  .orange-shape {top: 220px;}
  .blue-circle {top: 70px;}
  .blob {width: 130px;height: 130px;}
  .blob .num {font-size: 18px;}
  .blob .label {font-size: 10px;}
  .carousel {padding: 0 40px;}
  .logo-card {width: 70px;height: 70px;font-size: 24px;border-radius: 10px;}
  .arrow {width: 32px;height: 32px;}
  .footer-card {flex-direction: column;gap: 26px;padding: 28px 24px;}
  .plane-trail {display: none;}
  header {flex-wrap: nowrap;gap: 14px;padding: 14px 18px;}
  .logo {flex: 1 1 auto;}
  .logo img {width: min(170px, calc(34 * var(--layout-vw)));}
  .btn-group {flex: 0 0 auto;flex-wrap: nowrap;}
  .btn-text {padding: 7px 10px;font-size: 14px;min-width: 100px;
  .btn-arrow {width: 36px;}
  .hero-container {width: min(92%, 650px);padding: 42px 0 18px;}
  .hero-content {text-align: left;}
  .logo-box {width: min(280px, calc(50 * var(--layout-vw)));height: auto;margin-bottom: 34px;}
  .hero-heading {width: min(100%, 600px);}
  .heading-line {height: clamp(100px, calc(29 * var(--layout-vw)), 180px);}
  .line-blue, .line-black, .line-red {height: 33.333%;}
  .heading-text p {font-size: clamp(20px, calc(5.2 * var(--layout-vw)), 31px);}
  .heading-text h1 {font-size: clamp(25px, calc(6.7 * var(--layout-vw)), 42px);white-space: normal;}
  .heading-text h1::before, .heading-text h1::after {max-width: 100%;}
  .hero-visual {width: 650px;max-width: none;margin-top: 30px;margin-bottom: -265px;}
  .target-section>h1, .section-title {max-width: calc(100% - 24px);padding: 7px 12px 9px;white-space: normal;}
  .clientle-bg .logo-card {min-width: 0;}
  .footer-wrap .footer-card {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));align-items: start;text-align: left;}
  .footer-wrap .col:last-child {grid-column: 1 / -1;}
  .footer-wrap .socials {justify-content: flex-start;flex-wrap: wrap;}
  .stats-main {min-height: 0;padding: 26px 16px 36px;}
  .stats-main .stats-container>h1 {font-size: clamp(24px, calc(7 * var(--layout-vw)), 30px);padding: 6px 10px 7px;gap: 7px;}
  .stats-main .stats-heading img {width: clamp(52px, calc(15 * var(--layout-vw)), 66px);}
  .stats-main .stats-panel {width: min(94%, 460px);min-height: 0;margin: 0px 0px 25px;padding: 54px 14px 24px;border-radius: 24px;}
  .stats-main .stats-row {position: static;width: 100%;transform: none;grid-template-columns: repeat(2, minmax(0, 145px));justify-content: center;gap: 16px;}
  .stats-main .blob {width: min(100%, 145px);border-width: 4px;padding: 12px 8px;}
  .stats-main .blob .num {font-size: clamp(20px, calc(5.2 * var(--layout-vw)), 25px);}
  .stats-main .blob .label {font-size: clamp(14px, calc(4.2 * var(--layout-vw)), 18px);}
  .stats-main {padding-inline: 16px;}
  .target-section {min-height: 0;}
  .clientle-bg {padding-inline: 10px;}
  .target-section>h1 {font-size: clamp(22px, calc(6.2 * var(--layout-vw)), 32px);overflow-wrap: anywhere;}
  .section-title {width: calc(100% - 20px);font-size: clamp(24px, calc(7 * var(--layout-vw)), 30px);white-space: nowrap;}
  .footer-wrap .footer-card {width: min(430px, calc(92 * var(--layout-vw)));padding: 30px 28px;text-align: center;}
  .footer-wrap .socials {justify-content: flex-start;}
  .footer-wrap .footer-aeroplane {top: 22%;right: -24px;width: 210px;}
}

@media (max-width: 640px) {
  header {justify-content: center;text-align: center;padding: 16px 20px;}
  .logo {order: 1;}
  .btn-group {order: 2;width: 100%;justify-content: center;flex-wrap: nowrap;}
  .btn-text {padding: 10px 16px; font-size: 13px;}
  .btn-arrow {width: 38px;}
  .hero-container {width: min(92%, 520px); padding-bottom: 30px;}
  .target {width: 240px;height: 240px;}
  .ring-1 {width: 175px;height: 175px;left: 32px;top: 32px;}
  .ring-2 {width: 125px;height: 125px;left: 25px;top: 25px;}
  .ring-3 {width: 80px;height: 80px;left: 22px;top: 22px;}
  .bullseye { width: 40px;height: 40px;left: 20px;top: 20px;}
  .stand {transform: scale(0.8);transform-origin: top center;left: 25px;top: 230px;}
  .info {justify-content: flex-start;}
  .info p {font-size: 11px;}
  .line {width: 50px; flex: 0 0 50px;}
  .carousel {padding: 0 40px;}
  .logo-card {width: 70px;height: 70px;font-size: 24px;border-radius: 10px;}
  .arrow { width: 32px; height: 32px;}
  header {flex-wrap: wrap;}
  .logo {flex: 0 0 auto;}
  .logo img {width: min(185px, calc(52 * var(--layout-vw)));}
  .btn-group {width: auto;}
  .target-section .target-wrapper {width: min(calc(94 * var(--layout-vw)), 520px);}
  .target-section .target-info {top: min(98cqw, 510px);}
  .footer-wrap {min-height: 0;padding: 30px 16px 30px;background-size: auto 100%;}
  .footer-wrap .footer-card {width: min(calc(94 * var(--layout-vw)), 460px);min-height: 0;padding: 26px 22px;gap: 24px 18px;border-width: 6px;border-radius: 30px;}
  .footer-wrap .col h4, .footer-wrap .col:nth-child(2) h4, .footer-wrap .col:nth-child(3) h4 { min-width: 0; width: 100%;font-size: 20px;}
  .footer-wrap .col a {font-size: 16px;}
  .target-section {padding: 38px 18px 0px;}
  .target-section .target-decoration-blue {top: -125px;left: -150px;width: 280px;}
  .target-section .target-decoration-dots {top: -8px; left: -115px; width: 285px;}
  .target-section .target-decoration-peach {right: -62px;bottom: 12px;width: 255px;opacity: .67;filter: blur(12px);}
  .target-section .target-wrapper { width: calc(94 * var(--layout-vw)); min-height: 0;}
  .target-section .target {position: relative;left: auto; right: auto; width: 90cqw;height: 90cqw;margin-inline: auto;transform: none;}
  .target-section .stand {transform: none;}
  .target-section .target-info {position: relative;left: auto;top: auto;width: 100%;height: auto; margin-top: 32cqw;}
  .target-section .line {width: 38px;min-width: 38px;height: 3px;}
  .target-section .line::after { width: 12px;height: 12px;right: -6px;top: -5px;}
  .target-section .info {margin-bottom: 20px;}
  .target-section .info p {width: calc(100% - 84px);max-width: calc(100% - 84px);min-height: 68px;margin-left: 18px;padding: 10px 16px;font-size: 16px;}
  .target-section .info p::after {width: 28px;}
  .target-section .info p br { display: none;}
  header {flex-direction: column;justify-content: center;align-items: center;}
  header .logo {flex: 0 0 auto;}
  header .btn-group {width: 100%;justify-content: center;}
  .target-section {padding-inline: 14px;}
  .target-section>h1, .section-title { width: fit-content; max-width: 100%;margin-inline: auto;overflow-wrap: anywhere;}
  .target-section .target-wrapper {width: 100%;}
  .target-section .info:hover .line { width: 38px;min-width: 38px;}
  .clientle-bg {padding-inline: 10px;}
  .carousel { max-width: 100%;}
  .footer-wrap .footer-card {max-width: 100%;overflow: hidden;}
  .footer-wrap .col {min-width: 0;}
  .footer-wrap .col a {overflow-wrap: anywhere;}
}

@media (max-width: 599px) {
  .clientle-bg {padding-top: 20px;}
  .section-title {margin-bottom: 10px;padding: 8px 12px 10px;font-size: clamp(27px, calc(9 * var(--layout-vw)), 38px);}
  .carousel {width: 100%;padding: 0 34px;}
  .slide {padding: 0 5px;}
  .arrow { width: 32px;height: 32px;}
  .arrow.prev {left: 2px;}
  .arrow.next {right: 2px;}
}

@media (max-width: 480px) {
  header {justify-content: space-between; gap: 14px;padding: 14px 16px; }
  .logo img {width: min(150px, calc(45 * var(--layout-vw)));}
  .btn-group {gap: 8px;}
  .btn-text {padding: 9px 12px;}
  .btn-arrow {width: 34px;}
  .hero-container {padding-top: 30px;}
  .logo-box { width: 250px;height: 90px;}
  .heading-line { width: 6px;min-width: 6px;height: 150px;margin-right: 14px;}
  .line-blue, .line-black, .line-red {height: 50px;}
  .heading-text p { font-size: 21px;}
  .heading-text h1 {font-size: clamp(16px, calc(5 * var(--layout-vw)), 31px);--h1-line-height: 1.12em;}
  .hero-visual {margin-top: 10px;margin-bottom: -265px;transform: scale(0.48);}
  .btn-group {width: 100%;justify-content: center;}
  .btn {min-height: 30px;}
  .stats-main .stats-panel {width: 100%;padding-inline: 10px;}
  .stats-main .stats-row {grid-template-columns: repeat(2, minmax(0, 132px));}
  .target-section .info p {font-size: clamp(14px, calc(4 * var(--layout-vw)), 16px);}
  .target-section>h1 {width: calc(100% - 4px);font-size: clamp(18px, calc(5.1 * var(--layout-vw)), 24px);}
  .section-title {width: auto;font-size: clamp(22px, calc(7 * var(--layout-vw)), 30px);}
  .footer-wrap .footer-card {grid-template-columns: 1fr;}
  .footer-wrap .col:last-child {grid-column: auto;}
}

@media (max-width: 420px) {
  .footer-wrap .socials a {width: 35px;height: 35px;}
}

@media (max-width: 380px) {
  .btn-group {flex-direction: row;flex-wrap: nowrap; justify-content: center;align-items: center;}
  .btn-text {flex: 1;justify-content: center;}
  .logo img {max-width: 135px;}
  .hero-container {width: 94%;padding-top: 24px;}
  .logo-box {width: min(230px, 100%);height: auto;margin-bottom: 30px;}
  .heading-line {width: 5px;min-width: 5px;height: 132px;margin-right: 10px;}
  .line-blue, .line-black, .line-red { height: 44px;}
  .heading-text p {font-size: clamp(18px, calc(6.2 * var(--layout-vw)), 21px);}
  .heading-text h1 {font-size: clamp(16px, calc(6 * var(--layout-vw)), 23px);letter-spacing: 0;}
  .stats-main .stats-panel {padding: 20px 10px 20px;}
  .stats-main .stats-row {grid-template-columns: repeat(2, minmax(0, 126px));gap: 12px;}
  .stats-main .blob {width: 126px;border-width: 3px;}
  .stats-main .blob .label {font-size: 14px;}
}

@media (max-width: 360px) {
  .btn-text {padding-inline: 8px;font-size: 12px;}
  .btn-arrow {width: 32px;}
  .heading-text p {font-size: 19px;}
  .heading-text h1 {font-size: 22px;}
  .stats-main .stats-row {grid-template-columns: repeat(2, minmax(0, 118px));}
  header .btn-group { gap: 6px;}
}

@media (hover: hover) and (pointer: fine) {
  .has-custom-cursor, .has-custom-cursor body, .has-custom-cursor a, .has-custom-cursor button, .has-custom-cursor [role="button"], .has-custom-cursor input, .has-custom-cursor select, .has-custom-cursor textarea, .has-custom-cursor .stats-main .blob, .has-custom-cursor .target-section .info, .has-custom-cursor .target-section>h1, .has-custom-cursor .clientle-bg>.section-title, .has-custom-cursor .logo-card {cursor: none !important;}
  .custom-cursor-dot, .custom-cursor-ring { position: fixed; z-index: 99999;left: 0;top: 0;border-radius: 50%;pointer-events: none;opacity: 0;transform: translate(-50%, -50%);}
  .custom-cursor-dot {width: 7px;height: 7px;background: #ef3b31;transition: width .25s ease, height .25s ease, opacity .2s ease;}
  .custom-cursor-ring {width: 34px;height: 34px;border: 1.5px solid rgba(239, 59, 49, .82);background: rgba(239, 59, 49, .04);transition: width .3s cubic-bezier(.16, 1, .3, 1), height .3s cubic-bezier(.16, 1, .3, 1), background-color .3s ease, border-color .3s ease, opacity .2s ease;}
  .cursor-visible .custom-cursor-dot, .cursor-visible .custom-cursor-ring {opacity: 1;}
  .custom-cursor-ring.is-interactive {width: 62px;height: 62px; border-color: rgba(239, 59, 49, .95); background: rgba(239, 59, 49, .14);}
  .custom-cursor-ring.is-pressed {width: 48px;height: 48px;background: rgba(239, 59, 49, .24);}
}

@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
  .heading-text h1::before {width: 19ch;}
  .heading-text h1::after {width: 17ch;}
  .js-aos [data-aos] {opacity: 1;translate: none;scale: 1;}
  *, *::before, *::after {scroll-behavior: auto !important;animation-duration: .01ms !important; animation-iteration-count: 1 !important;transition-duration: .01ms !important;}
}
/* Reveal full intrinsic lines without clipping descenders or the last letter. */
.heading-text h1::before,
.heading-text h1::after {
  width: max-content;
  max-width: none;
  overflow: visible;
  clip-path: inset(-.5em 100% -.5em -.1em);
}
@keyframes titleFirstCycle {
  0%, 3%, 100% {clip-path: inset(-.5em 100% -.5em -.1em);}
  23%, 83% {clip-path: inset(-.5em -.1em -.5em -.1em);}
}
@keyframes titleSecondCycle {
  0%, 26%, 83%, 100% {clip-path: inset(-.5em 100% -.5em -.1em);}
  47%, 63% {clip-path: inset(-.5em -.1em -.5em -.1em);}
}
@media (prefers-reduced-motion: reduce) {
  .heading-text h1::before,
  .heading-text h1::after {animation: none;clip-path: none;}
}

}
