@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:wght@400;700&display=swap";

* {
box-sizing: border-box
}

html {
scroll-behavior: auto
}

body {
margin: 0;
min-height: 100dvh;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
font-family: 'IBM Plex Serif', serif;
background: #FAFDF8;
color: #1d1d1d;
line-height: 1.5;
font-size: 15px
}

.hd {
background: linear-gradient(135deg, #fe50360a 0%, #188cbb0f 100%);
border-bottom: 1px solid #188cbb24;
padding: 40px 24px 24px;
position: relative
}

.hd::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #FE5036 0%, #188CBB 100%)
}

.hd__container {
max-width: 1320px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px
}

.brand {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
justify-content: center
}

.brand__mark {
width: 68px;
height: 68px;
padding: 8px;
background: #ffffffd9;
border: 1px solid #188cbb2e;
border-radius: 10px;
box-shadow: 0 2px 6px -1px #fe503614 0 4px 22px -1px #188cbb1c;
display: flex;
align-items: center;
justify-content: center
}

.brand__mark img {
width: 100%;
height: 100%;
object-fit: contain
}

.brand__identity {
font-size: 48px;
font-weight: 700;
line-height: 1.1;
color: #188CBB;
letter-spacing: -.02em
}

.credentials {
background: #fe50360f;
padding: 8px 24px;
border-radius: 6px;
font-size: 15px;
color: #2d2d2d;
border: 1px solid #fe50361f
}

.primary-nav {
width: 100%;
display: flex;
justify-content: center;
padding: 16px 0 0
}

.primary-nav__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 8px 16px;
justify-content: center
}

.primary-nav__item {
display: inline-block
}

.primary-nav__link {
display: block;
padding: 16px 24px;
font-size: 15px;
color: #2d2d2d;
text-decoration: none;
background: #ffffffb3;
border: 1px solid #188cbb26;
border-radius: 6px;
transition: background .35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .4s ease-in-out, color .32s ease-in-out;
box-shadow: 0 2px 6px -1px #188cbb14
}

.primary-nav__link:hover {
background: #fe503614;
border-color: #fe503640;
box-shadow: 0 4px 22px -1px #fe50361c 0 8px 48px -1px #fe50361c;
color: #1d1d1d
}

.primary-nav__link:focus {
outline: 2px solid transparent;
outline-offset: 2px;
box-shadow: 0 0 0 3px #fe503659 0 0 0 5px #188cbb40
}

.primary-nav__link:active {
background: #fe50361f;
box-shadow: inset 0 2px 6px -1px #fe50362e;
transform: translateY(1px)
}

.ft {
background: linear-gradient(180deg, #188cbb08 0%, #fe50360a 100%);
border-top: 1px solid #188cbb1f;
padding: 72px 24px 40px;
margin-top: auto
}

.ft__container {
max-width: 960px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 40px
}

.ft__upper {
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
text-align: center
}

.ft__brand-mark {
width: 64px;
height: 64px;
padding: 8px;
background: #ffffffe6;
border: 1px solid #188cbb29;
border-radius: 10px;
box-shadow: 0 2px 6px -1px #188cbb14;
display: flex;
align-items: center;
justify-content: center
}

.ft__brand-mark img {
width: 100%;
height: 100%;
object-fit: contain
}

.ft__statement {
font-size: 15px;
line-height: 1.7;
color: #3d3d3d;
max-width: 580px
}

.ft__contact-link {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 40px;
background: #FE5036;
color: #FAFDF8;
text-decoration: none;
font-size: 15px;
font-weight: 700;
border-radius: 6px;
border: 1px solid #fe50364d;
box-shadow: 0 2px 6px -1px #fe503614 0 4px 22px -1px #fe50361c;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .35s ease-in-out, transform .3s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.ft__contact-link:hover {
background: #e8472e;
box-shadow: 0 4px 22px -1px #fe50361c 0 8px 48px -1px #fe50361c
}

.ft__contact-link:focus {
outline: 2px solid transparent;
outline-offset: 3px;
box-shadow: 0 0 0 3px #fe503666 0 0 0 5px #188cbb4d
}

.ft__contact-link:active {
transform: translateY(1px);
box-shadow: inset 0 2px 6px -1px #00000026
}

.ft__lower {
display: flex;
flex-direction: column;
gap: 24px;
padding: 24px 0 0;
border-top: 1px solid #188cbb1a
}

.utility-nav {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 8px 24px
}

.utility-nav__link {
font-size: 15px;
color: #4d4d4d;
text-decoration: none;
padding: 8px 0;
border-bottom: 1px solid transparent;
transition: color .35s ease-in-out, border-bottom-color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.utility-nav__link:hover {
color: #FE5036;
border-bottom-color: #fe503666
}

.utility-nav__link:focus {
outline: 2px solid #fe503659;
outline-offset: 3px
}

.ft__copyright {
text-align: center;
font-size: 15px;
color: #5d5d5d;
line-height: 1.5
}

@media (max-width: 959px) {
.hd {
padding: 24px 16px 16px
}

.hd__container {
gap: 16px
}

.brand {
gap: 16px
}

.brand__mark {
width: 56px;
height: 56px
}

.brand__identity {
font-size: 20px
}

.credentials {
font-size: 15px;
padding: 8px 16px
}

.primary-nav {
padding: 8px 0 0
}

.primary-nav__list {
gap: 8px
}

.primary-nav__link {
padding: 16px;
font-size: 15px
}

.ft {
padding: 40px 16px 24px
}

.ft__container {
gap: 24px
}

.ft__upper {
gap: 16px
}

.ft__brand-mark {
width: 56px;
height: 56px
}

.ft__statement {
font-size: 15px
}

.ft__contact-link {
padding: 16px 24px;
font-size: 15px
}

.ft__lower {
gap: 16px;
padding: 16px 0 0
}

.utility-nav {
flex-direction: column;
align-items: center;
gap: 8px
}

.ft__copyright {
font-size: 15px
}
}

@media (max-width: 479px) {
.hd {
padding: 16px
}

.brand {
flex-direction: column;
gap: 8px
}

.brand__mark {
width: 52px;
height: 52px
}

.brand__identity {
font-size: 20px;
text-align: center
}

.credentials {
font-size: 15px;
padding: 8px 16px;
text-align: center
}

.primary-nav__list {
flex-direction: column;
width: 100%
}

.primary-nav__item {
width: 100%
}

.primary-nav__link {
text-align: center;
width: 100%
}

.ft {
padding: 24px 16px 16px
}

.ft__brand-mark {
width: 48px;
height: 48px
}

.ft__contact-link {
width: 100%;
justify-content: center
}
}

@media (min-width: 960px) and (max-width: 1439px) {
.hd {
padding: 40px 40px 24px
}

.brand__identity {
font-size: 48px
}

.ft {
padding: 72px 40px 40px
}

.ft__container {
max-width: 1100px
}
}

@media (min-width: 1440px) {
.hd {
padding: 72px 40px 40px
}

.hd__container {
gap: 40px
}

.brand {
gap: 24px
}

.brand__mark {
width: 72px;
height: 72px
}

.brand__identity {
font-size: 64px
}

.credentials {
font-size: 15px;
padding: 8px 24px
}

.primary-nav {
padding: 24px 0 0
}

.primary-nav__list {
gap: 16px 24px
}

.primary-nav__link {
padding: 16px 40px;
font-size: 15px
}

.ft {
padding: 72px 40px 40px
}

.ft__container {
max-width: 1100px;
gap: 72px
}

.ft__upper {
gap: 40px
}

.ft__brand-mark {
width: 72px;
height: 72px
}

.ft__statement {
font-size: 15px;
max-width: 680px
}

.ft__lower {
padding: 40px 0 0;
gap: 40px
}

.utility-nav {
gap: 16px 40px
}
}

.consent-bar {
display: none;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #fffffffa;
border-top: 1px solid #188cbb2e;
box-shadow: 0 -4px 22px -1px #188cbb1c 0 -8px 48px -1px #fe50361c;
padding: 24px;
z-index: 2000;
opacity: 0;
transform: translateY(20px);
transition: opacity .4s cubic-bezier(0.34, 1.2, 0.64, 1), transform .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.consent-bar--visible {
opacity: 1;
transform: translateY(0)
}

.consent-bar__inner {
max-width: 1320px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap
}

.consent-bar__message {
flex: 1;
min-width: 280px;
font-size: 15px;
line-height: 1.5;
color: #2d2d2d
}

.consent-bar__message-intro {
margin: 0 0 8px
}

.consent-bar__uses {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
font-size: 15px;
color: #4d4d4d
}

.consent-bar__uses li::before {
content: '•';
margin-right: 8px;
color: #188CBB
}

.consent-bar__actions {
display: flex;
gap: 16px;
flex-wrap: wrap
}

.consent-bar__btn {
padding: 16px 24px;
font-size: 15px;
font-family: 'IBM Plex Serif', serif;
cursor: pointer;
border-radius: 6px;
border: 1px solid;
transition: background .35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .35s ease-in-out, color .32s ease-in-out, box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1);
text-decoration: none;
display: inline-block
}

.consent-bar__btn--accept {
background: #FE5036;
color: #FAFDF8;
border-color: #fe50364d;
box-shadow: 0 2px 6px -1px #fe503614;
font-weight: 700
}

.consent-bar__btn--accept:hover {
background: #e8472e;
box-shadow: 0 4px 22px -1px #fe50361c 0 8px 48px -1px #fe50361c
}

.consent-bar__btn--accept:focus {
outline: 2px solid transparent;
outline-offset: 3px;
box-shadow: 0 0 0 3px #fe503666 0 0 0 5px #188cbb4d
}

.consent-bar__btn--accept:active {
box-shadow: inset 0 2px 6px -1px #00000026
}

.consent-bar__btn--decline {
background: transparent;
color: #4d4d4d;
border-color: #188cbb33;
font-weight: 400
}

.consent-bar__btn--decline:hover {
background: #188cbb0f;
border-color: #188cbb4d;
color: #2d2d2d
}

.consent-bar__btn--decline:focus {
outline: 2px solid #188cbb59;
outline-offset: 3px
}

.consent-bar__btn--decline:active {
background: #188cbb1a;
box-shadow: inset 0 2px 6px -1px #188cbb1f
}

@media (max-width: 959px) {
.consent-bar {
padding: 16px
}

.consent-bar__inner {
flex-direction: column;
align-items: stretch;
gap: 16px
}

.consent-bar__message {
min-width: 0
}

.consent-bar__actions {
flex-direction: column;
gap: 8px
}

.consent-bar__btn {
width: 100%;
text-align: center
}
}

@media (max-width: 479px) {
.consent-bar {
padding: 16px
}

.consent-bar__message {
font-size: 15px
}

.consent-bar__uses {
font-size: 15px
}

.consent-bar__btn {
padding: 16px;
font-size: 15px
}
}

.policy-content {
max-width: 1320px;
margin: 0 auto;
padding: 72px 24px;
background: #FAFDF8
}

.policy-content p {
font-size: 15px;
line-height: 1.7;
margin-bottom: 16px;
color: #1a1514
}

.policy-content p:last-child {
margin-bottom: 0
}

.policy-content ul,
.policy-content ol {
font-size: 15px;
line-height: 1.7;
margin-bottom: 24px;
padding-left: 40px;
color: #1a1514
}

.policy-content ul {
list-style-type: disc
}

.policy-content ol {
list-style-type: decimal
}

.policy-content li {
margin-bottom: 8px
}

.policy-content li:last-child {
margin-bottom: 0
}

.policy-content strong,
.policy-content b {
font-weight: 600;
color: #0f0c0b
}

.policy-content em,
.policy-content i {
font-style: italic
}

.policy-content a {
color: #188CBB;
text-decoration: underline;
transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.policy-content a:hover {
color: #FE5036
}

.policy-content a:focus {
outline: 2px solid #188CBB;
outline-offset: 2px;
border-radius: 1px
}

.policy-content table {
width: 100%;
border-collapse: collapse;
margin-bottom: 40px;
font-size: 15px;
background: #fff;
border-radius: 6px;
overflow: hidden;
box-shadow: 0 2px 6px -1px #188cbb14
}

.policy-content thead {
background: #188CBB;
color: #fff
}

.policy-content th {
padding: 16px;
text-align: left;
font-weight: 600;
line-height: 1.3
}

.policy-content td {
padding: 16px;
border-bottom: 1px solid #188cbb1f;
line-height: 1.5;
color: #1a1514
}

.policy-content tbody tr:last-child td {
border-bottom: none
}

.policy-content tbody tr:hover {
background: #fafdf899
}

@media (max-width: 960px) {
.policy-content {
padding: 40px 16px
}

.policy-content table {
font-size: 15px
}

.policy-content th,
.policy-content td {
padding: 8px
}
}

@media (max-width: 480px) {
.policy-content {
padding: 24px 16px
}

.policy-content ul,
.policy-content ol {
padding-left: 24px
}

.policy-content table {
display: block;
overflow-x: auto
}
}

.exp-opn {
background: #FAFDF8;
color: #1d1d1d;
overflow-x: clip
}

.exp-opn__band {
position: relative;
padding: 16px 0;
background: linear-gradient(143deg, #188CBB 0%, #FE5036 75%);
overflow: hidden
}

.exp-opn__band-inner {
max-width: 1320px;
margin: 0 auto;
padding: 0 24px;
display: flex;
flex-direction: row;
align-items: center;
gap: 40px
}

.exp-opn__band-txt {
flex: 1;
position: relative;
z-index: 2
}

.exp-opn__band-quote {
position: absolute;
top: -24px;
left: -16px;
font-size: 200px;
line-height: 1;
color: #ffffff1f;
font-weight: 700;
pointer-events: none;
user-select: none
}

.exp-opn__band h1 {
font-size: 48px;
line-height: 1.1;
color: #fff;
margin: 0;
position: relative;
z-index: 1
}

.exp-opn__band-img-wrap {
width: 280px;
height: 140px;
flex-shrink: 0;
position: relative;
border-radius: 6px;
overflow: hidden
}

.exp-opn__band-img-wrap::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, transparent 20%, #0009 100%);
pointer-events: none
}

.exp-opn__band-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.exp-opn__experts {
max-width: 1320px;
margin: 0 auto;
padding: 72px 24px;
position: relative
}

.exp-opn__experts::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 45%;
bottom: 0;
background: linear-gradient(143deg, #fe50360a 0%, #188cbb14 75%);
z-index: 0;
clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%)
}

.exp-opn__experts-inner {
position: relative;
z-index: 1
}

.exp-opn__experts h2 {
font-size: 48px;
line-height: 1.3;
color: #1d1d1d;
margin: 0 0 40px;
max-width: 720px
}

.exp-opn__experts-grid {
display: grid;
grid-template-columns: 1.4fr 1fr;
gap: 40px;
align-items: start
}

.exp-opn__experts-content {
display: flex;
flex-direction: column;
gap: 24px
}

.exp-opn__experts-content p {
font-size: 15px;
line-height: 1.7;
color: #2d2d2d;
margin: 0
}

.exp-opn__experts-sidebar {
background: #fff;
border-radius: 10px;
padding: 40px;
box-shadow: 0 4px 22px -1px #188cbb1c;
position: relative;
border: 1px solid #188cbb14
}

.exp-opn__experts-sidebar h3 {
font-size: 20px;
line-height: 1.3;
color: #1d1d1d;
margin: 0 0 24px;
text-transform: uppercase;
letter-spacing: .05em
}

.exp-opn__profile-list {
display: flex;
flex-direction: column;
gap: 24px;
list-style: none;
margin: 0;
padding: 0
}

.exp-opn__profile-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
position: relative;
padding-left: 24px
}

.exp-opn__profile-item::before {
content: '';
position: absolute;
left: 0;
top: 8px;
width: 8px;
height: 8px;
background: #FE5036;
border-radius: 999px;
flex-shrink: 0
}

.exp-opn__profile-info {
flex: 1
}

.exp-opn__profile-name {
font-size: 15px;
line-height: 1.5;
color: #1d1d1d;
font-weight: 600;
margin: 0 0 8px
}

.exp-opn__profile-role {
font-size: 15px;
line-height: 1.5;
color: #5d5d5d;
margin: 0
}

.exp-opn__code-demo {
max-width: 1320px;
margin: 0 auto;
padding: 72px 24px;
background: #fff
}

.exp-opn__code-demo h2 {
font-size: 48px;
line-height: 1.3;
color: #1d1d1d;
margin: 0 0 40px
}

.exp-opn__code-wrapper {
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 40px;
align-items: start
}

.exp-opn__code-block {
background: #2d2d2d;
border-radius: 10px;
padding: 24px;
overflow-x: auto;
box-shadow: 0 2px 6px -1px #fe503614;
border: 1px solid #188cbb26;
position: relative
}

.exp-opn__code-block::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(143deg, #FE5036 0%, #188CBB 75%);
animation: exp-opn-trace 2.4s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
transform-origin: left center
}

@keyframes exp-opn-trace {
from {
transform: scaleX(0)
}

to {
transform: scaleX(1)
}
}

.exp-opn__code-block pre {
margin: 0;
font-family: 'Courier New', monospace;
font-size: 15px;
line-height: 1.7;
color: #e8e8e8;
white-space: pre-wrap;
word-break: break-word
}

.exp-opn__code-block code {
font-family: inherit;
color: #7dd3fc
}

.exp-opn__output-block {
background: linear-gradient(143deg, #fe50360f 0%, #188cbb14 75%);
border-radius: 10px;
padding: 40px;
border: 1px solid #188cbb1f;
display: flex;
flex-direction: column;
gap: 16px
}

.exp-opn__output-block h4 {
font-size: 20px;
line-height: 1.3;
color: #1d1d1d;
margin: 0
}

.exp-opn__output-block p {
font-size: 15px;
line-height: 1.7;
color: #2d2d2d;
margin: 0
}

.exp-opn__output-visual {
margin-top: 8px;
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap
}

.exp-opn__output-chip {
background: #fff;
padding: 8px 16px;
border-radius: 6px;
font-size: 15px;
line-height: 1.5;
color: #1d1d1d;
box-shadow: 0 2px 6px -1px #188cbb14;
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .35s ease-in-out
}

.exp-opn__output-chip:hover {
transform: translateY(-2px);
box-shadow: 0 8px 48px -1px #fe50361c
}

.exp-opn__decorative-dots {
position: absolute;
bottom: 24px;
right: 40px;
display: flex;
flex-direction: row;
gap: 16px;
pointer-events: none;
z-index: 0
}

.exp-opn__decorative-dots span {
width: 12px;
height: 12px;
background: #fe503626;
border-radius: 999px;
display: block
}

.exp-opn__decorative-dots span:nth-child(2) {
width: 8px;
height: 8px;
background: #188cbb33
}

.exp-opn__decorative-dots span:nth-child(3) {
width: 16px;
height: 16px;
background: #fe50361a
}

.exp-opn__divider {
height: 2px;
background: #FE5036;
max-width: 1320px;
margin: 0 auto
}

@media (max-width: 960px) {
.exp-opn__band-inner {
flex-direction: column;
gap: 24px
}

.exp-opn__band-img-wrap {
width: 100%;
height: 200px
}

.exp-opn__band h1 {
font-size: 48px
}

.exp-opn__experts-grid {
grid-template-columns: 1fr;
gap: 40px
}

.exp-opn__code-wrapper {
grid-template-columns: 1fr;
gap: 24px
}

.exp-opn__experts h2,
.exp-opn__code-demo h2 {
font-size: 48px
}
}

@media (max-width: 480px) {
.exp-opn__band {
padding: 16px 0
}

.exp-opn__band-inner {
padding: 0 16px
}

.exp-opn__band h1 {
font-size: 48px
}

.exp-opn__band-quote {
font-size: 140px;
top: -16px;
left: -8px
}

.exp-opn__experts {
padding: 40px 16px
}

.exp-opn__experts h2 {
font-size: 48px;
margin-bottom: 24px
}

.exp-opn__experts-sidebar {
padding: 24px
}

.exp-opn__code-demo {
padding: 40px 16px
}

.exp-opn__code-demo h2 {
font-size: 48px;
margin-bottom: 24px
}

.exp-opn__code-block {
padding: 16px
}

.exp-opn__output-block {
padding: 24px
}

.exp-opn__decorative-dots {
bottom: 16px;
right: 16px;
gap: 8px
}

.exp-opn__decorative-dots span {
width: 8px;
height: 8px
}

.exp-opn__decorative-dots span:nth-child(2) {
width: 6px;
height: 6px
}

.exp-opn__decorative-dots span:nth-child(3) {
width: 10px;
height: 10px
}
}

::selection {
background: #fe503626;
color: #1d1d1d
}

.abt * {
box-sizing: border-box
}

.abt__title-wrap {
position: relative;
padding: 72px 24px;
display: flex;
flex-direction: column;
align-items: flex-start;
max-width: 1320px;
margin: 0 auto;
background: linear-gradient(143deg, #FAFDF8 0%, #fff 72%);
overflow: visible
}

.abt__title-img-box {
position: relative;
width: 100%;
max-width: 580px;
height: 420px;
margin-bottom: 40px;
border-radius: 10px;
overflow: hidden
}

.abt__title-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: brightness(0.88);
transition: filter .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt__title-img:hover {
filter: brightness(1.05)
}

.abt__title-img-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(143deg, #fe503638 0%, transparent 72%);
pointer-events: none
}

.abt__title-shape-one {
position: absolute;
top: 16px;
right: 24px;
width: 88px;
height: 88px;
border: 6px solid #188CBB;
border-radius: 50%;
opacity: .28;
pointer-events: none
}

.abt__title-shape-two {
position: absolute;
bottom: 40px;
right: 72px;
width: 64px;
height: 64px;
background: #FE5036;
border-radius: 10px;
opacity: .18;
transform: rotate(12deg);
pointer-events: none
}

.abt__title-content {
max-width: 640px;
margin-left: 72px
}

.abt__title-h {
font-size: 48px;
line-height: 1.1;
color: #1a0f08;
margin: 0 0 24px;
letter-spacing: -.02em
}

.abt__title-desc {
font-size: 20px;
line-height: 1.5;
color: #3d2e24;
margin: 0 0 40px
}

.abt__title-links {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.abt__title-link {
display: inline-flex;
align-items: center;
padding: 16px 24px;
font-size: 15px;
line-height: 1.3;
color: #fff;
background: #FE5036;
border-radius: 6px;
text-decoration: none;
box-shadow: 0 4px 22px -1px #fe50361c;
transition: box-shadow .36s cubic-bezier(0.34, 1.2, 0.64, 1), transform .36s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt__title-link:hover {
box-shadow: 0 8px 48px -1px #fe50361c;
transform: translateY(-2px)
}

.abt__title-link:active {
box-shadow: inset 0 2px 6px -1px #fe503647;
transform: translateY(0)
}

.abt__title-link--alt {
background: transparent;
color: #188CBB;
border: 1px solid #188CBB;
box-shadow: 0 2px 6px -1px #188cbb14
}

.abt__title-link--alt:hover {
box-shadow: 0 8px 48px -1px #188cbb1c
}

.abt__title-link--alt:active {
box-shadow: inset 0 2px 6px -1px #188cbb38
}

@media (min-width: 960px) {
.abt__title-wrap {
flex-direction: row;
align-items: center;
padding: 72px
}

.abt__title-img-box {
margin-bottom: 0;
margin-right: 72px
}

.abt__title-content {
margin-left: 0
}
}

@media (min-width: 1440px) {
.abt__title-wrap {
padding: 72px 40px
}
}

.abt__story {
padding: 72px 24px;
background: #fff;
position: relative
}

.abt__story-inner {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 40px;
align-items: start
}

.abt__story-abbr {
position: absolute;
top: 24px;
left: 24px;
font-size: 240px;
line-height: 1;
font-weight: 700;
color: #FE5036;
opacity: .06;
pointer-events: none;
z-index: 0
}

.abt__story-txt-box {
position: relative;
z-index: 1
}

.abt__story-h {
font-size: 48px;
line-height: 1.1;
color: #1a0f08;
margin: 0 0 24px
}

.abt__story-p {
font-size: 15px;
line-height: 1.7;
color: #3d2e24;
margin: 0 0 24px
}

.abt__story-p:last-child {
margin-bottom: 0
}

.abt__story-quote-box {
position: relative;
z-index: 1;
padding: 40px;
background: linear-gradient(143deg, #FAFDF8 0%, #fff 72%);
border-radius: 10px;
border-left: 6px solid #188CBB
}

.abt__story-quote-txt {
font-size: 20px;
line-height: 1.5;
color: #1a0f08;
font-style: italic;
margin: 0
}

.abt__story-divider {
border: none;
border-top: 1px dotted #d4c8bf;
margin: 72px auto;
max-width: 1320px;
opacity: .5
}

@media (min-width: 960px) {
.abt__story {
padding: 72px
}

.abt__story-inner {
grid-template-columns: 1fr 1fr;
gap: 72px
}

.abt__story-abbr {
font-size: 320px;
top: 40px;
left: 72px
}
}

@media (min-width: 1440px) {
.abt__story {
padding: 72px 40px
}
}

.abt__team {
padding: 72px 24px;
background: #0d3847;
position: relative
}

.abt__team-inner {
max-width: 1320px;
margin: 0 auto
}

.abt__team-h {
font-size: 48px;
line-height: 1.1;
color: #FAFDF8;
margin: 0 0 40px;
text-align: center
}

.abt__team-grid {
display: grid;
grid-template-columns: 1fr;
gap: 24px
}

.abt__team-card {
background: #fff;
border-radius: 10px;
padding: 24px;
display: flex;
flex-direction: column;
box-shadow: 0 4px 22px -1px #188cbb1c;
transition: transform .4s ease-in-out, box-shadow .4s ease-in-out;
position: relative
}

.abt__team-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 48px -1px #188cbb1c
}

.abt__team-card--special {
grid-column: 1;
grid-row: 1
}

.abt__team-img-box {
width: 100%;
height: 280px;
border-radius: 6px;
overflow: hidden;
margin-bottom: 24px
}

.abt__team-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
filter: brightness(0.88);
transition: filter .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt__team-card:hover .abt__team-img {
filter: brightness(1.05)
}

.abt__team-name {
font-size: 20px;
line-height: 1.3;
color: #1a0f08;
margin: 0 0 8px;
font-weight: 600
}

.abt__team-role {
font-size: 15px;
line-height: 1.5;
color: #188CBB;
margin: 0 0 16px
}

.abt__team-bio {
font-size: 15px;
line-height: 1.7;
color: #3d2e24;
margin: 0
}

@media (min-width: 960px) {
.abt__team {
padding: 72px
}

.abt__team-grid {
grid-template-columns: repeat(3, 1fr);
gap: 40px
}

.abt__team-card--special {
grid-column: 2 / 4;
grid-row: 1;
flex-direction: row
}

.abt__team-card--special .abt__team-img-box {
width: 320px;
height: 380px;
margin-bottom: 0;
margin-right: 24px;
flex-shrink: 0
}
}

@media (min-width: 1440px) {
.abt__team {
padding: 72px 40px
}
}

.abt__values {
padding: 72px 24px;
background: linear-gradient(143deg, #fff 0%, #FAFDF8 72%);
position: relative
}

.abt__values-inner {
max-width: 1320px;
margin: 0 auto
}

.abt__values-h {
font-size: 48px;
line-height: 1.1;
color: #1a0f08;
margin: 0 0 16px;
text-transform: uppercase;
letter-spacing: .05em
}

.abt__values-intro {
font-size: 20px;
line-height: 1.5;
color: #3d2e24;
margin: 0 0 40px;
max-width: 720px
}

.abt__values-list {
display: grid;
grid-template-columns: 1fr;
gap: 24px;
list-style: none;
padding: 0;
margin: 0
}

.abt__values-item {
background: #fff;
border-radius: 10px;
padding: 40px;
box-shadow: 0 2px 6px -1px #fe503614;
position: relative;
overflow: hidden;
transition: box-shadow .38s ease-in-out
}

.abt__values-item:hover {
box-shadow: 0 8px 48px -1px #fe50361c
}

.abt__values-item-icon {
width: 64px;
height: 64px;
background: #FE5036;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt__values-item:hover .abt__values-item-icon {
transform: rotate(12deg)
}

.abt__values-item-icon-shape {
width: 28px;
height: 28px;
background: #fff;
border-radius: 6px
}

.abt__values-item-h {
font-size: 20px;
line-height: 1.3;
color: #1a0f08;
margin: 0 0 16px;
font-weight: 600
}

.abt__values-item-txt {
font-size: 15px;
line-height: 1.7;
color: #3d2e24;
margin: 0
}

.abt__values-flicker {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 1px solid #FE5036;
border-radius: 10px;
opacity: 0;
pointer-events: none;
animation: abt-flicker 3.2s cubic-bezier(0.34, 1.2, 0.64, 1) infinite
}

@keyframes abt-flicker {

0%,
100% {
opacity: 0
}

50% {
opacity: .12
}
}

@media (min-width: 960px) {
.abt__values {
padding: 72px
}

.abt__values-list {
grid-template-columns: repeat(2, 1fr);
gap: 40px
}
}

@media (min-width: 1440px) {
.abt__values {
padding: 72px 40px
}

.abt__values-list {
grid-template-columns: repeat(3, 1fr)
}
}

.abt__contact {
padding: 72px 24px;
background: #fff
}

.abt__contact-inner {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 40px
}

.abt__contact-txt-box {
display: flex;
flex-direction: column
}

.abt__contact-h {
font-size: 48px;
line-height: 1.1;
color: #1a0f08;
margin: 0 0 24px
}

.abt__contact-p {
font-size: 15px;
line-height: 1.7;
color: #3d2e24;
margin: 0 0 24px
}

.abt__contact-details {
display: flex;
flex-direction: column;
gap: 16px
}

.abt__contact-detail {
display: flex;
flex-direction: row;
align-items: start;
gap: 16px
}

.abt__contact-icon-wrap {
width: 48px;
height: 48px;
background: linear-gradient(143deg, #FE5036 0%, #188CBB 72%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.abt__contact-icon-shape {
width: 20px;
height: 20px;
background: #fff;
border-radius: 1px
}

.abt__contact-detail-txt {
display: flex;
flex-direction: column
}

.abt__contact-label {
font-size: 15px;
line-height: 1.3;
color: #188CBB;
margin: 0 0 8px;
font-weight: 600
}

.abt__contact-value {
font-size: 15px;
line-height: 1.5;
color: #3d2e24;
margin: 0
}

.abt__contact-link {
color: #FE5036;
text-decoration: none;
text-shadow: 0 0 0 transparent;
transition: text-shadow .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.abt__contact-link:hover {
text-shadow: 0 0 8px #fe503666
}

.abt__contact-img-box {
width: 100%;
height: 380px;
border-radius: 10px;
overflow: hidden
}

.abt__contact-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: brightness(0.88);
transition: filter .4s ease-in-out
}

.abt__contact-img-box:hover .abt__contact-img {
filter: brightness(1.05)
}

@media (min-width: 960px) {
.abt__contact {
padding: 72px
}

.abt__contact-inner {
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: center
}
}

@media (min-width: 1440px) {
.abt__contact {
padding: 72px 40px
}
}

.intl-students * {
box-sizing: border-box
}

.intl-students__title-section {
background: linear-gradient(143deg, #FAFDF8 0%, #FE5036 92%);
padding: 40px 16px;
position: relative;
overflow: visible
}

.intl-students__title-wrapper {
max-width: 1320px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 24px
}

.intl-students__title-content {
display: flex;
flex-direction: column;
gap: 16px;
position: relative;
z-index: 2
}

.intl-students__title-label {
font-size: 15px;
line-height: 1.5;
color: #188CBB;
text-transform: uppercase;
letter-spacing: .08em;
font-weight: 600
}

.intl-students__title-heading {
font-size: 48px;
line-height: 1.1;
color: #fff;
margin: 0;
font-weight: 700;
animation: intl-students-reveal .42s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
opacity: 0;
transform: translateY(24px)
}

@keyframes intl-students-reveal {
to {
opacity: 1;
transform: translateY(0)
}
}

.intl-students__title-description {
font-size: 15px;
line-height: 1.7;
color: #fff;
max-width: 640px
}

.intl-students__title-image-container {
position: relative;
width: 100%;
max-width: 480px;
margin: 0 auto
}

.intl-students__title-image-frame {
position: relative;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 8px 48px -1px #188cbb1c
}

.intl-students__title-image-frame::before {
content: '';
position: absolute;
top: -40px;
right: -40px;
width: 180px;
height: 180px;
background: #ffffff0f;
font-size: 164px;
line-height: 1;
font-weight: 700;
color: #ffffff1f;
z-index: 1;
pointer-events: none;
border-radius: 10px
}

.intl-students__title-image-frame::after {
content: '2020';
position: absolute;
bottom: 16px;
left: 16px;
font-size: 64px;
line-height: 1;
font-weight: 700;
color: #ffffff2e;
z-index: 3;
pointer-events: none
}

.intl-students__title-image {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(1.2) contrast(1.05);
position: relative;
z-index: 2
}

.intl-students__title-decoration {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 1;
overflow: visible
}

.intl-students__title-decoration::before {
content: '';
position: absolute;
top: -24px;
right: 24px;
width: 240px;
height: 240px;
border: 1px solid #fff3;
border-radius: 50%;
transform: translateY(-50%)
}

.intl-students__title-decoration::after {
content: '';
position: absolute;
bottom: 40px;
left: -80px;
width: 320px;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #ffffff4d 50%, transparent 100%);
transform: rotate(-12deg)
}

@media (min-width: 960px) {
.intl-students__title-section {
padding: 72px 24px
}

.intl-students__title-wrapper {
flex-direction: row;
align-items: center;
gap: 40px
}

.intl-students__title-content {
flex: 1
}

.intl-students__title-image-container {
flex: 0 0 420px;
margin: 0
}

.intl-students__title-heading {
font-size: 64px
}
}

.intl-students__content-section {
background: #fff;
padding: 72px 16px;
position: relative
}

.intl-students__content-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
background: linear-gradient(143deg, transparent 0%, #188cbb05 88%);
pointer-events: none;
z-index: 1
}

.intl-students__content-wrapper {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 2
}

.intl-students__content-grid {
display: grid;
grid-template-columns: 1fr;
gap: 16px
}

.intl-students__content-card {
background: #FAFDF8;
border-radius: 10px;
padding: 24px;
box-shadow: 0 2px 6px -1px #fe503614;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
overflow: hidden
}

.intl-students__content-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(143deg, #FE5036 0%, #188CBB 92%);
opacity: 0;
transition: opacity .35s ease-in-out
}

.intl-students__content-card:hover {
box-shadow: 0 8px 48px -1px #fe50361c;
transform: translateY(-2px)
}

.intl-students__content-card:hover::before {
opacity: 1
}

.intl-students__content-card--featured {
grid-column: 1;
background: linear-gradient(143deg, #fff 0%, #FAFDF8 92%)
}

.intl-students__card-header {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 16px
}

.intl-students__card-icon {
width: 48px;
height: 48px;
border-radius: 50%;
background: linear-gradient(143deg, #FE5036 0%, #188CBB 92%);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 24px;
box-shadow: 0 4px 22px -1px #fe50361c
}

.intl-students__card-title {
font-size: 20px;
line-height: 1.3;
color: #1a1a2e;
margin: 0;
font-weight: 600
}

.intl-students__card-divider {
width: 64px;
height: 1px;
background: linear-gradient(90deg, #FE5036 0%, transparent 100%);
margin: 16px 0
}

.intl-students__card-text {
font-size: 15px;
line-height: 1.7;
color: #4a4a5e;
margin: 0 0 16px
}

.intl-students__card-image-wrapper {
border-radius: 6px;
overflow: hidden;
margin-top: 24px;
position: relative
}

.intl-students__card-image-wrapper::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(143deg, transparent 0%, #188cbb14 92%);
mix-blend-mode: multiply;
pointer-events: none
}

.intl-students__card-image {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center;
display: block;
filter: saturate(1.1)
}

.intl-students__profile-section {
background: #FAFDF8;
padding: 40px 24px;
border-radius: 10px;
display: flex;
flex-direction: column;
gap: 24px;
align-items: center;
margin-top: 40px;
box-shadow: 0 4px 22px -1px #188cbb1c;
position: relative;
overflow: hidden
}

.intl-students__profile-section::before {
content: '';
position: absolute;
bottom: -120px;
right: -120px;
width: 320px;
height: 320px;
background: radial-gradient(circle at center, #fe50360f 0%, transparent 70%);
pointer-events: none
}

.intl-students__profile-image-container {
width: 140px;
height: 140px;
border-radius: 50%;
overflow: hidden;
box-shadow: 0 8px 48px -1px #188cbb1c;
position: relative;
flex-shrink: 0
}

.intl-students__profile-image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block
}

.intl-students__profile-content {
text-align: center;
position: relative;
z-index: 2
}

.intl-students__profile-name {
font-size: 20px;
line-height: 1.3;
color: #1a1a2e;
margin: 0 0 8px;
font-weight: 600
}

.intl-students__profile-role {
font-size: 15px;
line-height: 1.5;
color: #188CBB;
margin: 0 0 16px;
font-weight: 500
}

.intl-students__profile-text {
font-size: 15px;
line-height: 1.7;
color: #4a4a5e;
margin: 0
}

.intl-students__link-section {
margin-top: 40px;
padding: 24px;
background: linear-gradient(143deg, #fff 0%, #FAFDF8 92%);
border-radius: 10px;
border: 1px solid #188cbb1f
}

.intl-students__link-wrapper {
display: flex;
flex-direction: column;
gap: 16px;
align-items: flex-start
}

.intl-students__link-label {
font-size: 15px;
line-height: 1.5;
color: #4a4a5e;
margin: 0
}

.intl-students__link-button {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 24px;
background: #FE5036;
color: #fff;
text-decoration: none;
border-radius: 6px;
font-size: 15px;
line-height: 1.5;
font-weight: 600;
box-shadow: 0 2px 6px -1px #fe503614;
transition: box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1), transform .35s ease-in-out;
border: 0;
cursor: pointer
}

.intl-students__link-button:hover {
box-shadow: 0 8px 48px -1px #fe50361c;
transform: translateY(-1px)
}

.intl-students__link-button:active {
box-shadow: inset 0 2px 6px -1px #0003;
transform: translateY(0)
}

.intl-students__link-icon {
font-size: 20px;
transition: transform .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.intl-students__link-button:hover .intl-students__link-icon {
transform: translateX(4px)
}

@media (min-width: 960px) {
.intl-students__content-section {
padding: 72px 24px
}

.intl-students__content-grid {
grid-template-columns: repeat(2, 1fr);
gap: 24px
}

.intl-students__content-card--featured {
grid-column: 1 / -1;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
padding: 40px
}

.intl-students__card-image-wrapper {
margin-top: 0;
height: 100%
}

.intl-students__card-image {
height: 100%
}

.intl-students__profile-section {
flex-direction: row;
text-align: left;
padding: 40px;
gap: 40px
}

.intl-students__profile-content {
text-align: left;
flex: 1
}

.intl-students__link-wrapper {
flex-direction: row;
align-items: center;
justify-content: space-between
}
}

@media (min-width: 1440px) {
.intl-students__content-grid {
grid-template-columns: repeat(3, 1fr)
}

.intl-students__content-card--featured {
grid-column: 1 / 3
}
}

::selection {
background: #fe503626;
color: inherit
}

.first {
background: #FAFDF8;
overflow-x: clip
}

.first ::selection {
background: #fe503626;
color: inherit
}

.first__hero {
position: relative;
padding: 136px 0 72px;
overflow: hidden
}

.first__hero-split {
display: grid;
grid-template-columns: 1fr 1fr;
max-width: 1320px;
margin: 0 auto;
padding: 0 24px;
position: relative;
z-index: 2
}

.first__hero-zone {
background: #188CBB;
padding: 72px 40px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative
}

.first__hero-zone::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle, #ffffff1f 1px, transparent 1px), radial-gradient(circle, #ffffff14 1px, transparent 1px);
background-size: 24px 24px, 40px 40px;
background-position: 0 0, 12px 12px;
pointer-events: none
}

.first__hero-visual {
background: #FE5036;
position: relative
}

.first__eyebrow {
font-size: 15px;
line-height: 1.5;
color: #ffffffd9;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 16px;
position: relative;
z-index: 1
}

.first__hero-title {
font-size: 64px;
line-height: 1.1;
color: #FAFDF8;
margin: 0;
position: relative;
z-index: 1
}

.first__hero-img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
position: relative
}

.first__hero-img::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at center, transparent 40%, #fe503699 100%);
pointer-events: none
}

.first__recognition {
padding: 72px 24px;
max-width: 1320px;
margin: 0 auto;
position: relative
}

.first__recognition::before {
content: '';
position: absolute;
top: 0;
left: 50%;
right: 0;
bottom: 0;
background: linear-gradient(143deg, #188cbb0a 0%, #fe50360a 70%);
transform: skewY(-2deg);
transform-origin: top left;
z-index: 0;
pointer-events: none
}

.first__recognition-inner {
position: relative;
z-index: 1
}

.first__recognition-head {
font-size: 48px;
line-height: 1.1;
color: #1a1a1a;
margin: 0 0 40px;
max-width: 720px
}

.first__recognition-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.first__badge {
background: #fff;
border: 1px solid #188cbb26;
border-radius: 10px;
padding: 40px 24px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
box-shadow: 0 2px 6px -1px #188cbb14;
transition: transform .35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out;
position: relative;
overflow: hidden
}

.first__badge::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 2px;
background: linear-gradient(143deg, #188CBB 0%, #FE5036 85%);
transition: left .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.first__badge:hover {
transform: translateY(-4px);
box-shadow: 0 8px 48px -1px #188cbb1c
}

.first__badge:hover::before {
left: 0
}

.first__badge-icon {
width: 56px;
height: 56px;
background: linear-gradient(143deg, #188CBB 0%, #FE5036 85%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 0 24px;
flex-shrink: 0
}

.first__badge-icon svg {
width: 28px;
height: 28px;
fill: #FAFDF8
}

.first__badge-label {
font-size: 20px;
line-height: 1.3;
color: #1a1a1a;
margin: 0 0 8px;
font-weight: 600
}

.first__badge-detail {
font-size: 15px;
line-height: 1.5;
color: #4a4a4a;
margin: 0
}

.first__lasting {
padding: 72px 24px;
background: #fff;
position: relative
}

.first__lasting::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 3px;
background: linear-gradient(143deg, #FE5036 0%, #188CBB 85%);
animation: edgePulse 4.2s ease-in-out infinite
}

@keyframes edgePulse {

0%,
100% {
opacity: .3;
box-shadow: 0 0 8px #fe503633
}

50% {
opacity: .7;
box-shadow: 0 0 24px #188cbb66
}
}

.first__lasting-wrap {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: center
}

.first__lasting-content {
display: flex;
flex-direction: column
}

.first__lasting-title {
font-size: 48px;
line-height: 1.1;
color: #1a1a1a;
margin: 0 0 24px
}

.first__lasting-text {
font-size: 15px;
line-height: 1.7;
color: #4a4a4a;
margin: 0 0 16px
}

.first__lasting-text:last-child {
margin-bottom: 0
}

.first__lasting-visual {
position: relative;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 22px -1px #fe50361c
}

.first__lasting-img {
width: 100%;
height: 480px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .45s ease-in-out
}

.first__lasting-visual:hover .first__lasting-img {
transform: scale(1.03)
}

.first__outcome {
padding: 72px 24px;
background: linear-gradient(143deg, #fafdf8ff 0%, #188cbb0f 85%);
position: relative
}

.first__outcome::before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: 2px;
background: linear-gradient(to bottom, transparent 0%, #188CBB 50%, transparent 100%);
animation: edgePulse 3.8s ease-in-out infinite .5s
}

.first__outcome-container {
max-width: 1320px;
margin: 0 auto
}

.first__outcome-header {
margin: 0 0 40px
}

.first__outcome-title {
font-size: 48px;
line-height: 1.1;
color: #1a1a1a;
margin: 0 0 16px
}

.first__outcome-intro {
font-size: 20px;
line-height: 1.5;
color: #4a4a4a;
margin: 0;
max-width: 840px
}

.first__outcome-layout {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 24px
}

.first__outcome-card {
background: #fff;
border-radius: 10px;
padding: 40px;
box-shadow: 0 2px 6px -1px #188cbb14;
display: flex;
flex-direction: column;
border: 1px solid #fe50361a;
transition: box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .35s ease-in-out
}

.first__outcome-card:hover {
box-shadow: 0 8px 48px -1px #fe50361c;
border-color: #fe503640
}

.first__outcome-card--primary {
grid-row: span 2
}

.first__outcome-marker {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: #188cbb1a;
border-radius: 6px;
margin: 0 0 24px
}

.first__outcome-marker svg {
width: 24px;
height: 24px;
fill: #188CBB
}

.first__outcome-label {
font-size: 20px;
line-height: 1.3;
color: #1a1a1a;
margin: 0 0 16px;
font-weight: 600
}

.first__outcome-desc {
font-size: 15px;
line-height: 1.7;
color: #4a4a4a;
margin: 0
}

.first__outcome-card--primary .first__outcome-marker {
width: 64px;
height: 64px;
margin-bottom: 40px
}

.first__outcome-card--primary .first__outcome-marker svg {
width: 32px;
height: 32px
}

.first__outcome-card--primary .first__outcome-label {
font-size: 48px;
margin-bottom: 24px
}

.first__outcome-card--primary .first__outcome-desc {
font-size: 20px;
line-height: 1.5
}

.first__voices {
padding: 72px 24px;
background: #fff;
position: relative
}

.first__voices::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #FE5036 0%, #188CBB 100%)
}

.first__voices-container {
max-width: 1320px;
margin: 0 auto
}

.first__voices-title {
font-size: 48px;
line-height: 1.1;
color: #1a1a1a;
margin: 0 0 72px;
text-align: center
}

.first__voices-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px
}

.first__testimony {
display: grid;
grid-template-columns: 120px 1fr;
gap: 24px;
padding: 40px;
background: #fafdf8ff;
border-radius: 10px;
border: 1px solid #188cbb1f;
box-shadow: 0 2px 6px -1px #188cbb14;
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .4s ease-in-out;
position: relative
}

.first__testimony::after {
content: '';
position: absolute;
bottom: 0;
left: 40px;
right: 40px;
height: 3px;
background: linear-gradient(143deg, transparent 0%, #FE5036 85%);
transform: scaleX(0);
transform-origin: left;
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.first__testimony:hover {
transform: translateY(-6px);
box-shadow: 0 8px 48px -1px #188cbb1c
}

.first__testimony:hover::after {
transform: scaleX(1)
}

.first__testimony-portrait {
width: 120px;
height: 120px;
border-radius: 50%;
object-fit: cover;
object-position: top;
border: 3px solid #188cbb26;
flex-shrink: 0
}

.first__testimony-content {
display: flex;
flex-direction: column;
justify-content: center
}

.first__testimony-quote {
font-size: 15px;
line-height: 1.7;
color: #4a4a4a;
margin: 0 0 16px;
position: relative;
padding-left: 24px
}

.first__testimony-quote::before {
content: '';
position: absolute;
left: 0;
top: 4px;
width: 16px;
height: 16px;
background: #188CBB;
clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
opacity: .3
}

.first__testimony-name {
font-size: 20px;
line-height: 1.3;
color: #1a1a1a;
margin: 0 0 8px;
font-weight: 600
}

.first__testimony-role {
font-size: 15px;
line-height: 1.5;
color: #188CBB;
margin: 0
}

@media (max-width: 1440px) {
.first__hero-split {
padding: 0 16px
}

.first__recognition,
.first__lasting-wrap,
.first__outcome-container,
.first__voices-container {
padding-left: 16px;
padding-right: 16px
}
}

@media (max-width: 960px) {
.first__hero {
padding: 96px 0 40px
}

.first__hero-split {
grid-template-columns: 1fr
}

.first__hero-zone {
padding: 40px 24px
}

.first__hero-visual {
min-height: 360px
}

.first__hero-title {
font-size: 48px
}

.first__recognition-grid {
grid-template-columns: 1fr
}

.first__lasting-wrap {
grid-template-columns: 1fr;
gap: 40px
}

.first__outcome-layout {
grid-template-columns: 1fr
}

.first__outcome-card--primary {
grid-row: auto
}

.first__voices-grid {
grid-template-columns: 1fr
}

.first__recognition-head,
.first__lasting-title,
.first__outcome-title,
.first__voices-title {
font-size: 40px
}
}

@media (max-width: 480px) {
.first__hero {
padding: 72px 0 24px
}

.first__hero-zone {
padding: 24px 16px
}

.first__hero-title {
font-size: 40px
}

.first__recognition,
.first__lasting,
.first__outcome,
.first__voices {
padding: 40px 16px
}

.first__badge {
padding: 24px 16px
}

.first__outcome-card,
.first__testimony {
padding: 24px 16px
}

.first__testimony {
grid-template-columns: 1fr;
gap: 16px
}

.first__testimony-portrait {
width: 96px;
height: 96px;
margin: 0 auto
}

.first__testimony-content {
text-align: center
}

.first__testimony-quote {
padding-left: 0
}

.first__testimony-quote::before {
display: none
}

.first__lasting-img {
height: 320px
}

.first__recognition-head,
.first__lasting-title,
.first__outcome-title,
.first__voices-title {
font-size: 32px
}

.first__outcome-card--primary .first__outcome-label {
font-size: 32px
}
}

.kontakt {
background: #FAFDF8;
color: #1a1515
}

.kontakt__intro {
max-width: 1320px;
margin: 0 auto;
padding: 72px 24px;
position: relative;
overflow: hidden
}

.kontakt__intro::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(143deg, #fe503608 0px, #fe503608 2px, transparent 2px, transparent 40px), repeating-linear-gradient(53deg, #188cbb08 0px, #188cbb08 2px, transparent 2px, transparent 35px);
pointer-events: none;
z-index: 1
}

.kontakt__intro-content {
position: relative;
z-index: 2;
max-width: 720px
}

.kontakt__intro-deco {
position: absolute;
width: 340px;
height: 340px;
top: 40px;
right: -80px;
background: linear-gradient(143deg, #fe50361c 15%, #188cbb14 78%);
clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
z-index: 0;
opacity: 0;
filter: blur(12px);
animation: kontakt-reveal .42s cubic-bezier(0.34, 1.2, 0.64, 1) .2s forwards
}

@keyframes kontakt-reveal {
to {
opacity: 1;
filter: blur(0)
}
}

.kontakt__intro h1 {
font-size: 64px;
line-height: 1.1;
margin: 0 0 24px;
text-transform: uppercase;
letter-spacing: .02em;
color: #FE5036;
opacity: 0;
filter: blur(8px);
animation: kontakt-reveal .38s cubic-bezier(0.34, 1.2, 0.64, 1) .1s forwards
}

.kontakt__intro-link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 20px;
line-height: 1.5;
color: #188CBB;
text-decoration: none;
padding: 16px 40px;
border: 1px solid #188CBB;
border-radius: 6px;
transition: all .35s cubic-bezier(0.34, 1.2, 0.64, 1);
opacity: 0;
filter: blur(6px);
animation: kontakt-reveal .4s cubic-bezier(0.34, 1.2, 0.64, 1) .3s forwards
}

.kontakt__intro-link::after {
content: '→';
font-size: 20px;
transition: transform .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.kontakt__intro-link:hover {
background: #188CBB;
color: #FAFDF8;
box-shadow: 0 8px 48px -1px #188cbb1c;
transform: translateY(-2px)
}

.kontakt__intro-link:hover::after {
transform: translateX(6px)
}

.kontakt__intro-link:active {
transform: translateY(0);
box-shadow: 0 2px 6px -1px #188cbb14 inset 0 2px 4px #188cbb26
}

.kontakt__form-wrap {
position: relative;
background: linear-gradient(143deg, #FFF 22%, #FAFDF8 88%);
border-left: 6px solid #FE5036
}

.kontakt__form-wrap::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
background-image: radial-gradient(circle at 20% 30%, #fe50360a 0%, transparent 50%), radial-gradient(circle at 80% 70%, #188cbb0a 0%, transparent 50%);
pointer-events: none
}

.kontakt__form-container {
max-width: 1320px;
margin: 0 auto;
padding: 72px 24px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: start;
position: relative
}

.kontakt__details {
opacity: 0;
filter: blur(10px);
animation: kontakt-reveal .45s cubic-bezier(0.34, 1.2, 0.64, 1) .2s forwards
}

.kontakt__details h2 {
font-size: 48px;
line-height: 1.1;
margin: 0 0 40px;
color: #1a1515
}

.kontakt__info-grid {
display: flex;
flex-direction: column;
gap: 40px
}

.kontakt__info-card {
background: #FFF;
padding: 24px;
border-radius: 10px;
box-shadow: 0 4px 22px -1px #fe50361c;
transition: all .38s ease-in-out
}

.kontakt__info-card:hover {
box-shadow: 0 8px 48px -1px #fe50361c;
transform: translateY(-3px)
}

.kontakt__info-label {
font-size: 15px;
line-height: 1.5;
color: #188CBB;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0 0 8px;
font-weight: 600
}

.kontakt__info-value {
font-size: 20px;
line-height: 1.5;
color: #1a1515;
margin: 0
}

.kontakt__info-value a {
color: inherit;
text-decoration: none;
transition: color .32s ease-in-out
}

.kontakt__info-value a:hover {
color: #FE5036;
text-shadow: 0 2px 8px #fe503633
}

.kontakt__img-wrap {
margin: 40px 0 0;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 22px -1px #188cbb1c
}

.kontakt__img-wrap img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .45s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.kontakt__img-wrap:hover img {
transform: scale(1.05)
}

.kontakt__form {
background: #FFF;
padding: 40px;
border-radius: 10px;
box-shadow: 0 8px 48px -1px #188cbb1c;
opacity: 0;
filter: blur(10px);
animation: kontakt-reveal .45s cubic-bezier(0.34, 1.2, 0.64, 1) .35s forwards
}

.kontakt__form h3 {
font-size: 48px;
line-height: 1.3;
margin: 0 0 24px;
color: #1a1515
}

.kontakt__form-desc {
font-size: 15px;
line-height: 1.7;
color: #4a4a4a;
margin: 0 0 40px
}

.kontakt__field-group {
margin: 0 0 24px
}

.kontakt__label {
display: block;
font-size: 15px;
line-height: 1.5;
color: #1a1515;
margin: 0 0 8px;
font-weight: 600
}

.kontakt__label-req {
color: #FE5036;
margin-left: 2px
}

.kontakt__input {
width: 100%;
padding: 16px;
font-size: 15px;
line-height: 1.5;
color: #1a1515;
background: #FAFDF8;
border: 1px solid #d4d4d4;
border-radius: 6px;
transition: all .35s ease-in-out;
box-sizing: border-box
}

.kontakt__input::placeholder {
color: #9a9a9a;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}

.kontakt__input:focus {
outline: none;
border-color: #188CBB;
background: #FFF;
box-shadow: 0 4px 22px -1px #188cbb1c
}

.kontakt__input:hover:not(:focus) {
border-color: #a8a8a8
}

.kontakt__select-wrapper {
position: relative
}

.kontakt__select-wrapper::after {
content: '';
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid #188CBB;
pointer-events: none;
transition: transform .32s ease-in-out
}

.kontakt__select {
width: 100%;
padding: 16px;
padding-right: 40px;
font-size: 15px;
line-height: 1.5;
color: #1a1515;
background: #FAFDF8;
border: 1px solid #d4d4d4;
border-radius: 6px;
appearance: none;
cursor: pointer;
transition: all .35s ease-in-out;
box-sizing: border-box
}

.kontakt__select:focus {
outline: none;
border-color: #188CBB;
background: #FFF;
box-shadow: 0 4px 22px -1px #188cbb1c
}

.kontakt__select:focus+.kontakt__select-wrapper::after {
transform: translateY(-50%) rotate(180deg)
}

.kontakt__select:hover:not(:focus) {
border-color: #a8a8a8
}

.kontakt__checkbox-group {
margin: 0 0 24px
}

.kontakt__checkbox-label {
display: flex;
align-items: start;
gap: 16px;
cursor: pointer;
font-size: 15px;
line-height: 1.7;
color: #4a4a4a
}

.kontakt__checkbox {
appearance: none;
width: 24px;
height: 24px;
min-width: 24px;
border: 1px solid #d4d4d4;
border-radius: 6px;
background: #FAFDF8;
cursor: pointer;
position: relative;
transition: all .32s ease-in-out;
margin-top: 2px
}

.kontakt__checkbox:hover {
border-color: #188CBB
}

.kontakt__checkbox:checked {
background: #188CBB;
border-color: #188CBB;
box-shadow: inset 0 2px 4px #188cbb33
}

.kontakt__checkbox:checked::after {
content: '';
position: absolute;
left: 8px;
top: 4px;
width: 6px;
height: 10px;
border: solid #FFF;
border-width: 0 2px 2px 0;
transform: rotate(45deg)
}

.kontakt__checkbox:focus {
outline: none;
box-shadow: 0 0 0 3px #188cbb33
}

.kontakt__checkbox-text a {
color: #188CBB;
text-decoration: underline;
transition: color .32s ease-in-out
}

.kontakt__checkbox-text a:hover {
color: #FE5036
}

.kontakt__submit {
width: 100%;
padding: 16px 40px;
font-size: 20px;
line-height: 1.5;
color: #FFF;
background: #FE5036;
border: none;
border-radius: 6px;
cursor: pointer;
transition: all .38s cubic-bezier(0.34, 1.2, 0.64, 1);
font-weight: 600;
text-transform: uppercase;
letter-spacing: .04em
}

.kontakt__submit:hover {
background: #e63d1f;
box-shadow: 0 8px 48px -1px #fe50361c;
transform: translateY(-2px)
}

.kontakt__submit:active {
transform: translateY(0);
box-shadow: inset 0 2px 6px #fe50364d
}

.kontakt__submit:focus {
outline: none;
box-shadow: 0 0 0 4px #fe503633
}

.kontakt__metric {
background: linear-gradient(143deg, #FFF 18%, #fe50360a 85%);
padding: 40px;
border-radius: 10px;
border: 1px solid #fe503626;
margin: 40px 0 0;
text-align: center
}

.kontakt__metric-num {
font-size: 64px;
line-height: 1.1;
color: #FE5036;
margin: 0 0 16px;
font-weight: 700
}

.kontakt__metric-label {
font-size: 20px;
line-height: 1.5;
color: #1a1515;
margin: 0
}

@media (max-width: 960px) {
.kontakt__intro {
padding: 40px 24px
}

.kontakt__intro h1 {
font-size: 48px
}

.kontakt__intro-deco {
width: 240px;
height: 240px;
right: -40px
}

.kontakt__form-container {
grid-template-columns: 1fr;
gap: 40px;
padding: 40px 24px
}

.kontakt__details h2,
.kontakt__form h3 {
font-size: 48px
}

.kontakt__metric-num {
font-size: 48px
}
}

@media (max-width: 480px) {
.kontakt__intro {
padding: 24px 16px
}

.kontakt__intro h1 {
font-size: 48px
}

.kontakt__intro-deco {
display: none
}

.kontakt__intro-link {
padding: 16px 24px;
font-size: 15px
}

.kontakt__form-container {
padding: 24px 16px;
gap: 24px
}

.kontakt__details h2,
.kontakt__form h3 {
font-size: 48px
}

.kontakt__form {
padding: 24px
}

.kontakt__info-grid {
gap: 24px
}

.kontakt__img-wrap {
margin-top: 24px
}

.kontakt__img-wrap img {
height: 240px
}

.kontakt__metric {
padding: 24px;
margin-top: 24px
}

.kontakt__metric-num {
font-size: 48px
}

.kontakt__metric-label {
font-size: 15px
}
}

::selection {
background: #fe503626;
color: #1a1515
}

.success-page {
background: linear-gradient(143deg, #FAFDF8 0%, #fff 68%);
min-height: 100vh;
padding: 72px 16px;
display: flex;
align-items: center;
justify-content: center
}

.success-page .confirmation-wrapper {
max-width: 680px;
width: 100%;
background: #fff;
border-radius: 10px;
box-shadow: 0 8px 48px -1px #188cbb1c;
padding: 72px 40px;
text-align: center
}

.success-page .icon-container {
width: 96px;
height: 96px;
margin: 0 auto 40px;
background: linear-gradient(143deg, #188CBB 0%, #FE5036 68%);
border-radius: 999px;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.success-page .icon-container::before {
content: '';
position: absolute;
inset: 8px;
background: #fff;
border-radius: 999px
}

.success-page .checkmark {
width: 48px;
height: 48px;
position: relative;
z-index: 1
}

.success-page .checkmark::before,
.success-page .checkmark::after {
content: '';
position: absolute;
background: #188CBB;
border-radius: 6px
}

.success-page .checkmark::before {
width: 6px;
height: 24px;
bottom: 8px;
left: 14px;
transform: rotate(-45deg)
}

.success-page .checkmark::after {
width: 6px;
height: 36px;
bottom: 4px;
right: 8px;
transform: rotate(45deg)
}

.success-page .message-heading {
font-size: 48px;
line-height: 1.1;
color: #188CBB;
margin: 0 0 24px;
font-weight: 700
}

.success-page .message-text {
font-size: 20px;
line-height: 1.5;
color: #333;
margin: 0 0 40px
}

.success-page .details-box {
background: #FAFDF8;
border-radius: 6px;
padding: 24px;
margin: 0 0 40px;
border: 1px solid #188cbb26
}

.success-page .details-box p {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.success-page .details-box p:first-child {
margin-bottom: 16px
}

.success-page .details-box strong {
color: #188CBB;
font-weight: 600
}

.success-page .action-buttons {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap
}

.success-page .btn-primary {
background: #FE5036;
color: #fff;
border: none;
padding: 16px 40px;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 0 2px 6px -1px #fe503614
}

.success-page .btn-primary:hover {
box-shadow: 0 8px 48px -1px #fe50361c;
transform: translateY(-2px)
}

.success-page .btn-primary:active {
transform: translateY(0);
box-shadow: inset 0 2px 6px -1px #00000026
}

.success-page .btn-secondary {
background: transparent;
color: #188CBB;
border: 2px solid #188CBB;
padding: 14px 40px;
font-size: 15px;
font-weight: 600;
border-radius: 6px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: background .35s ease-in-out, color .35s ease-in-out
}

.success-page .btn-secondary:hover {
background: #188CBB;
color: #fff
}

.success-page .btn-secondary:active {
box-shadow: inset 0 2px 6px -1px #00000026
}

@media (max-width: 480px) {
.success-page {
padding: 40px 16px
}

.success-page .confirmation-wrapper {
padding: 40px 24px
}

.success-page .icon-container {
width: 80px;
height: 80px;
margin-bottom: 24px
}

.success-page .checkmark {
width: 40px;
height: 40px
}

.success-page .checkmark::before {
height: 20px;
left: 12px
}

.success-page .checkmark::after {
height: 30px;
right: 6px
}

.success-page .message-heading {
font-size: 48px
}

.success-page .message-text {
font-size: 15px
}

.success-page .action-buttons {
flex-direction: column
}

.success-page .btn-primary,
.success-page .btn-secondary {
width: 100%
}
}