@import "https://cdn.jsdelivr.net/npm/@fontsource/noto-sans@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/noto-sans@latest/700.css";

html {
box-sizing: border-box
}

*,
::before,
::after {
box-sizing: inherit
}

body {
margin: 0;
padding: 0
}

.top-bar {
background: linear-gradient(135deg, #EDECF8 0%, #fff 100%);
border-bottom: 4px solid #4C5BBE;
font-family: 'Noto Sans', sans-serif;
padding: 32px 48px;
position: relative
}

.top-bar__grid {
max-width: 1280px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2px 2fr;
gap: 48px;
align-items: center
}

.top-bar__divider {
width: 2px;
height: 120px;
background: linear-gradient(180deg, transparent 0%, #4C5BBE 20%, #4C5BBE 80%, transparent 100%)
}

.brand-zone {
display: flex;
align-items: center;
gap: 32px
}

.brand-zone__mark {
width: 96px;
height: 96px;
background-color: #1D186E;
padding: 8px;
border-radius: 8px;
box-shadow: 0 6px 20px 1px #1d186e17;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center
}

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

.brand-zone__text {
display: flex;
flex-direction: column;
gap: 4px
}

.brand-zone__name {
font-size: 32px;
font-weight: 700;
line-height: 1.1;
color: #1D186E;
margin: 0
}

.brand-zone__badge {
display: inline-flex;
align-items: center;
gap: 8px;
background-color: #fff;
padding: 4px 16px;
border-radius: 32px;
border: 2px solid #4C5BBE;
font-size: 16px;
color: #1D186E;
font-weight: 700;
width: fit-content
}

.brand-zone__badge-icon {
width: 16px;
height: 16px;
background-color: #4C5BBE;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.brand-zone__badge-icon::before {
content: '';
width: 6px;
height: 10px;
border: 2px solid #fff;
border-top: none;
border-left: none;
transform: rotate(45deg) translateY(-1px)
}

.nav-zone {
display: flex;
flex-direction: column;
gap: 16px
}

.primary-nav {
display: flex;
flex-wrap: wrap;
gap: 16px;
list-style: none;
margin: 0;
padding: 0
}

.primary-nav__item {
margin: 0
}

.primary-nav__link {
display: block;
padding: 16px 32px;
background-color: transparent;
color: #1D186E;
text-decoration: none;
font-size: 19px;
font-weight: 700;
border-radius: 8px;
border: 2px solid transparent;
transition: background-color .15s ease, border-color .15s ease, color .15s ease
}

.primary-nav__link:hover {
background-color: #4C5BBE;
color: #fff;
border-color: #4C5BBE
}

.primary-nav__link:focus {
outline: none;
background-color: #1D186E;
color: #EDECF8;
border-color: #1D186E
}

.primary-nav__link:active {
background-color: #1D186E;
transform: translateY(1px)
}

@media (max-width: 1024px) {
.top-bar__grid {
grid-template-columns: 1fr;
gap: 32px
}

.top-bar__divider {
display: none
}

.brand-zone {
justify-content: center
}

.nav-zone {
align-items: center
}

.primary-nav {
justify-content: center
}
}

@media (max-width: 768px) {
.top-bar {
padding: 16px
}

.brand-zone {
flex-direction: column;
text-align: center
}

.brand-zone__mark {
width: 80px;
height: 80px
}

.brand-zone__name {
font-size: 24px
}

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

@media (max-width: 375px) {
.brand-zone__mark {
width: 70px;
height: 70px
}

.brand-zone__name {
font-size: 19px
}

.primary-nav {
gap: 8px
}

.primary-nav__link {
padding: 8px 16px
}
}

.base-footer {
background: linear-gradient(180deg, #1D186E 0%, #4C5BBE 100%);
color: #fff;
font-family: 'Noto Sans', sans-serif;
padding: 96px 48px 48px;
position: relative
}

.base-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #4C5BBE 0%, #EDECF8 50%, #4C5BBE 100%)
}

.base-footer__container {
max-width: 1280px;
margin: 0 auto
}

.base-footer__main {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 96px;
margin-bottom: 96px
}

.services-col {
display: flex;
flex-direction: column;
gap: 32px
}

.services-col__heading {
font-size: 32px;
font-weight: 700;
line-height: 1.1;
color: #EDECF8;
margin: 0
}

.services-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px
}

.service-card {
background-color: #edecf81a;
padding: 32px;
border-radius: 8px;
border: 2px solid #edecf833;
transition: background-color .12s ease-out, border-color .12s ease-out, transform .12s ease-out
}

.service-card:hover {
background-color: #edecf826;
border-color: #EDECF8;
transform: translateY(-2px)
}

.service-card__title {
font-size: 19px;
font-weight: 700;
line-height: 1.1;
color: #fff;
margin: 0 0 8px
}

.service-card__desc {
font-size: 16px;
line-height: 1.75;
color: #EDECF8;
margin: 0
}

.contact-col {
display: flex;
flex-direction: column;
gap: 32px;
background-color: #ffffff0d;
padding: 32px;
border-radius: 8px;
border: 2px solid #edecf833;
box-shadow: inset 0 3px 2px 1px #1d186e0f
}

.contact-col__heading {
font-size: 24px;
font-weight: 700;
line-height: 1.1;
color: #EDECF8;
margin: 0
}

.contact-list {
display: flex;
flex-direction: column;
gap: 16px;
list-style: none;
margin: 0;
padding: 0
}

.contact-list__item {
display: flex;
flex-direction: column;
gap: 4px
}

.contact-list__label {
font-size: 16px;
font-weight: 700;
color: #EDECF8
}

.contact-list__value {
font-size: 16px;
line-height: 1.75;
color: #fff;
text-decoration: none;
transition: color .1s ease
}

.contact-list__value:hover {
color: #EDECF8
}

.contact-list__value:focus {
outline: none;
color: #1D186E;
background-color: #EDECF8;
padding: 4px 8px;
margin: -4px -8px;
border-radius: 8px
}

.base-footer__bottom {
border-top: 2px solid #edecf84d;
padding-top: 48px;
display: flex;
flex-direction: column;
align-items: center;
gap: 32px
}

.base-footer__mark {
width: 96px;
height: 96px;
background-color: #fff;
padding: 8px;
border-radius: 8px;
box-shadow: 0 9px 60px 1px #edecf824
}

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

.utility-nav {
display: flex;
flex-wrap: wrap;
gap: 32px;
list-style: none;
margin: 0;
padding: 0;
justify-content: center
}

.utility-nav__item {
margin: 0
}

.utility-nav__link {
color: #EDECF8;
text-decoration: none;
font-size: 16px;
font-weight: 700;
transition: color .1s ease;
padding: 4px 8px;
border-radius: 8px;
display: block
}

.utility-nav__link:hover {
color: #fff
}

.utility-nav__link:focus {
outline: none;
background-color: #fff;
color: #1D186E
}

.legal-strip {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
text-align: center
}

.legal-strip__copy {
font-size: 16px;
color: #EDECF8;
margin: 0
}

.legal-strip__address {
font-size: 16px;
color: #edecf8cc;
font-style: normal;
margin: 0;
line-height: 1.75
}

@media (max-width: 1024px) {
.base-footer__main {
grid-template-columns: 1fr;
gap: 48px
}

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

@media (max-width: 768px) {
.base-footer {
padding: 48px 16px 32px
}

.base-footer__main {
margin-bottom: 48px
}

.services-col__heading {
font-size: 24px
}

.contact-col__heading {
font-size: 19px
}

.service-card {
padding: 16px
}

.contact-col {
padding: 16px
}

.base-footer__bottom {
padding-top: 32px
}

.base-footer__mark {
width: 80px;
height: 80px
}

.utility-nav {
gap: 16px
}
}

@media (max-width: 375px) {
.base-footer {
padding: 32px 8px 16px
}

.services-col__heading {
font-size: 19px
}

.service-card__title {
font-size: 16px
}

.base-footer__mark {
width: 70px;
height: 70px
}

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

.consent-wrapper {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 8000;
pointer-events: none;
display: flex;
justify-content: center;
padding: 32px
}

.consent-box {
background: linear-gradient(135deg, #fff 0%, #EDECF8 100%);
border: 4px solid #4C5BBE;
border-radius: 8px;
box-shadow: 0 9px 60px 1px #1d186e24;
padding: 32px;
max-width: 640px;
width: 100%;
pointer-events: auto;
font-family: 'Noto Sans', sans-serif;
opacity: 0;
transform: translateY(32px);
transition: opacity .26s ease, transform .26s ease
}

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

.consent-box[hidden] {
display: none
}

.consent-msg {
font-size: 16px;
line-height: 1.75;
color: #1D186E;
margin: 0 0 32px
}

.consent-actions {
display: flex;
flex-wrap: wrap;
gap: 16px;
align-items: center
}

.consent-btn {
padding: 16px 32px;
font-size: 16px;
font-weight: 700;
font-family: 'Noto Sans', sans-serif;
border-radius: 48px;
border: 2px solid #4C5BBE;
cursor: pointer;
transition: background-color .15s ease, color .15s ease, transform .15s ease;
background-color: transparent;
color: #4C5BBE
}

.consent-btn:hover {
background-color: #4C5BBE;
color: #fff
}

.consent-btn:focus {
outline: none;
background-color: #1D186E;
color: #EDECF8;
border-color: #1D186E
}

.consent-btn:active {
transform: scale(0.98)
}

.consent-btn.primary {
background-color: #4C5BBE;
color: #fff
}

.consent-btn.primary:hover {
background-color: #1D186E;
border-color: #1D186E
}

.consent-toggle-link {
color: #1D186E;
text-decoration: underline;
font-size: 16px;
font-weight: 700;
cursor: pointer;
background: none;
border: none;
padding: 0;
transition: color .1s ease
}

.consent-toggle-link:hover {
color: #4C5BBE
}

.consent-toggle-link:focus {
outline: none;
color: #fff;
background-color: #1D186E;
padding: 4px 8px;
margin: -4px -8px;
border-radius: 8px
}

.consent-options {
margin-top: 32px;
padding-top: 32px;
border-top: 2px solid #4C5BBE;
display: none
}

.consent-options.shown {
display: block
}

.consent-option {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 16px
}

.consent-option:last-child {
margin-bottom: 0
}

.consent-checkbox {
width: 24px;
height: 24px;
cursor: pointer;
accent-color: #4C5BBE
}

.consent-option-label {
font-size: 16px;
color: #1D186E;
font-weight: 700;
cursor: pointer
}

.consent-policy {
margin-top: 16px;
font-size: 16px;
color: #1D186E
}

.consent-policy-link {
color: #4C5BBE;
text-decoration: underline;
transition: color .1s ease
}

.consent-policy-link:hover {
color: #1D186E
}

.consent-policy-link:focus {
outline: none;
background-color: #4C5BBE;
color: #fff;
padding: 4px 8px;
margin: -4px -8px;
border-radius: 8px
}

@media (max-width: 768px) {
.consent-wrapper {
padding: 16px
}

.consent-box {
padding: 16px
}

.consent-msg {
margin-bottom: 16px
}

.consent-actions {
flex-direction: column;
align-items: stretch
}

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

@media (max-width: 375px) {
.consent-wrapper {
padding: 8px
}

.consent-box {
padding: 16px
}

.consent-btn {
padding: 8px 16px
}
}

.terms-block {
max-width: 1280px;
margin: 0 auto;
padding: 48px 16px;
background: #fff
}

@media (min-width: 768px) {
.terms-block {
padding: 96px 32px
}
}

.terms-block h1 {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 32px;
letter-spacing: -.02em
}

.terms-block h2 {
font-size: 32px;
line-height: 1.1;
color: #1D186E;
margin: 48px 0 16px;
letter-spacing: -.01em
}

.terms-block h3 {
font-size: 24px;
line-height: 1.1;
color: #4C5BBE;
margin: 32px 0 16px;
letter-spacing: -.01em
}

.terms-block h4 {
font-size: 19px;
line-height: 1.1;
color: #4C5BBE;
margin: 32px 0 8px
}

.terms-block h5 {
font-size: 16px;
line-height: 1.1;
color: #1D186E;
margin: 16px 0 8px;
font-weight: 600
}

.terms-block h6 {
font-size: 16px;
line-height: 1.1;
color: #4C5BBE;
margin: 16px 0 8px;
font-weight: 600
}

.terms-block p {
font-size: 16px;
line-height: 1.75;
color: #2d2d2d;
margin: 0 0 16px
}

.terms-block em,
.terms-block i {
font-style: italic;
color: #4C5BBE
}

.terms-block strong {
font-weight: 600;
color: #1D186E
}

.terms-block a {
color: #4C5BBE;
text-decoration: underline;
transition: color .15s ease-out
}

.terms-block a:hover {
color: #1D186E
}

.terms-block ul,
.terms-block ol {
font-size: 16px;
line-height: 1.75;
color: #2d2d2d;
margin: 0 0 16px;
padding-left: 32px
}

.terms-block ul li,
.terms-block ol li {
margin-bottom: 8px
}

.terms-block table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 16px;
line-height: 1.75;
background: #fff;
box-shadow: 0 3px 2px 1px #1d186e0f;
border-radius: 8px;
overflow: hidden
}

.terms-block thead {
background: #EDECF8
}

.terms-block thead tr {
border-bottom: 2px solid #4C5BBE
}

.terms-block th {
padding: 16px;
text-align: left;
font-weight: 600;
color: #1D186E;
font-size: 16px
}

.terms-block tbody tr {
border-bottom: 1px solid #EDECF8;
transition: background-color .12s ease
}

.terms-block tbody tr:last-child {
border-bottom: none
}

.terms-block tbody tr:hover {
background: #EDECF8
}

.terms-block td {
padding: 16px;
color: #2d2d2d
}

.terms-block hr {
border: none;
height: 2px;
background: linear-gradient(to right, #1D186E, #4C5BBE, #EDECF8);
margin: 48px 0;
border-radius: 8px
}

.terms-block div {
margin: 16px 0
}

@media (max-width: 767px) {
.terms-block h1 {
font-size: 32px;
margin-bottom: 16px
}

.terms-block h2 {
font-size: 24px;
margin-top: 32px
}

.terms-block h3 {
font-size: 19px
}

.terms-block table {
font-size: 14px;
display: block;
overflow-x: auto
}

.terms-block th,
.terms-block td {
padding: 8px
}
}

.nws {
background: #fff;
color: #1D186E;
max-width: 1280px;
margin: 0 auto;
overflow-x: clip
}

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

.nws img {
max-width: 100%;
height: auto;
display: block
}

.nws__opener {
position: relative;
text-align: center;
padding: 96px 16px 48px;
background: linear-gradient(circle at center, #fff 0%, #EDECF8 100%);
overflow: hidden
}

.nws__opener::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #4C5BBE 0%, #1D186E 100%)
}

.nws__opener-visual {
max-width: 680px;
margin: 0 auto 32px;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 6px 20px 1px #1d186e17;
filter: blur(0.5px) contrast(1.05)
}

.nws__opener-visual img {
width: 100%;
height: auto;
display: block
}

.nws__opener-label {
font-size: 19px;
line-height: 1.75;
color: #4C5BBE;
margin: 0 0 16px;
font-weight: 600;
letter-spacing: .02em
}

.nws__opener-headline {
font-size: 60px;
line-height: 1.1;
margin: 0 0 32px;
color: #1D186E;
font-weight: 800;
letter-spacing: -.02em
}

.nws__opener-summary {
font-size: 19px;
line-height: 1.75;
max-width: 720px;
margin: 0 auto;
color: #1D186E
}

@media (max-width: 768px) {
.nws__opener {
padding: 48px 16px 32px
}

.nws__opener-headline {
font-size: 44px
}

.nws__opener-label {
font-size: 16px
}

.nws__opener-summary {
font-size: 16px
}
}

.nws__article-body {
padding: 96px 16px;
position: relative
}

.nws__article-body::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 48px solid transparent;
border-right: 48px solid transparent;
border-top: 32px solid #EDECF8
}

.nws__article-container {
max-width: 840px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 48px
}

.nws__article-segment {
position: relative;
padding-left: 96px;
animation: nws-reveal .14s ease-out backwards
}

.nws__article-segment:nth-child(1) {
animation-delay: .1s
}

.nws__article-segment:nth-child(2) {
animation-delay: .2s
}

.nws__article-segment:nth-child(3) {
animation-delay: .3s
}

.nws__article-segment:nth-child(4) {
animation-delay: .4s
}

@keyframes nws-reveal {
from {
opacity: 0;
transform: translateY(24px)
}

to {
opacity: 1;
transform: translateY(0)
}
}

.nws__article-segment::before {
content: '"';
position: absolute;
left: 0;
top: -16px;
font-size: 120px;
line-height: 1;
color: #EDECF8;
font-weight: 800
}

.nws__article-segment-title {
font-size: 32px;
line-height: 1.1;
margin: 0 0 16px;
color: #1D186E;
font-weight: 700;
letter-spacing: -.01em
}

.nws__article-segment-text {
font-size: 19px;
line-height: 1.75;
margin: 0;
color: #1D186E
}

.nws__article-segment-text+.nws__article-segment-text {
margin-top: 16px
}

@media (max-width: 768px) {
.nws__article-body {
padding: 48px 16px
}

.nws__article-segment {
padding-left: 48px
}

.nws__article-segment::before {
font-size: 80px;
top: -8px
}

.nws__article-segment-title {
font-size: 24px
}

.nws__article-segment-text {
font-size: 16px
}
}

.nws__duo-feature {
padding: 96px 16px;
background: linear-gradient(135deg, #fff 0%, #fff 50%, #EDECF8 50%, #EDECF8 100%);
position: relative
}

.nws__duo-feature::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 48px solid transparent;
border-right: 48px solid transparent;
border-top: 32px solid #fff
}

.nws__duo-container {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.nws__duo-col {
display: flex;
flex-direction: column;
gap: 32px
}

.nws__duo-col:nth-child(2) {
padding-top: 96px
}

.nws__duo-card {
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 3px 2px 1px #1d186e0f;
transition: transform .15s ease-out, box-shadow .15s ease-out;
position: relative
}

.nws__duo-card:hover {
transform: translateY(-4px);
box-shadow: 0 9px 60px 1px #1d186e24
}

.nws__duo-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at center, transparent 0%, transparent 60%, #1d186e08 100%);
opacity: 0;
transition: opacity .18s ease;
pointer-events: none
}

.nws__duo-card:hover::before {
opacity: 1
}

.nws__duo-card::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(circle at center, #4c5bbe14 0%, transparent 50%);
opacity: 0;
transition: opacity .12s ease;
pointer-events: none
}

.nws__duo-card:hover::after {
opacity: 1
}

.nws__duo-card-img {
width: 100%;
height: 240px;
object-fit: cover
}

.nws__duo-card-content {
padding: 32px
}

.nws__duo-card-heading {
font-size: 24px;
line-height: 1.1;
margin: 0 0 16px;
color: #1D186E;
font-weight: 700
}

.nws__duo-card-desc {
font-size: 16px;
line-height: 1.75;
margin: 0;
color: #1D186E
}

@media (max-width: 1024px) {
.nws__duo-container {
grid-template-columns: 1fr;
gap: 32px
}

.nws__duo-col:nth-child(2) {
padding-top: 0
}

.nws__duo-feature {
padding: 48px 16px;
background: #fff
}
}

@media (max-width: 768px) {
.nws__duo-card-content {
padding: 16px
}

.nws__duo-card-heading {
font-size: 19px
}
}

.nws__profile-insight {
padding: 96px 16px;
background: #fff;
position: relative
}

.nws__profile-insight::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 48px solid transparent;
border-right: 48px solid transparent;
border-top: 32px solid #EDECF8
}

.nws__profile-wrap {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 320px 1fr;
gap: 48px;
align-items: start
}

.nws__profile-portrait {
position: relative
}

.nws__profile-portrait::before {
content: '';
position: absolute;
inset: -8px;
background: linear-gradient(135deg, #4C5BBE 0%, #1D186E 100%);
border-radius: 8px;
z-index: -1
}

.nws__profile-img-frame {
border-radius: 8px;
overflow: hidden;
background: #fff
}

.nws__profile-img {
width: 100%;
height: auto;
aspect-ratio: 2/3;
object-fit: cover;
object-position: top;
display: block
}

.nws__profile-content {
display: flex;
flex-direction: column;
gap: 32px
}

.nws__profile-header {
position: relative;
padding-left: 48px
}

.nws__profile-header::before {
content: '01';
position: absolute;
left: 0;
top: -16px;
font-size: 80px;
line-height: 1;
color: #4c5bbe1f;
font-weight: 800;
z-index: 0
}

.nws__profile-headline {
font-size: 44px;
line-height: 1.1;
margin: 0 0 8px;
color: #1D186E;
font-weight: 800;
letter-spacing: -.02em;
position: relative;
z-index: 1
}

.nws__profile-subline {
font-size: 19px;
line-height: 1.75;
margin: 0;
color: #4C5BBE;
font-weight: 600;
position: relative;
z-index: 1
}

.nws__profile-text {
font-size: 19px;
line-height: 1.75;
margin: 0;
color: #1D186E
}

.nws__profile-text+.nws__profile-text {
margin-top: 16px
}

@media (max-width: 1024px) {
.nws__profile-wrap {
grid-template-columns: 1fr;
gap: 32px
}

.nws__profile-portrait {
max-width: 320px;
margin: 0 auto
}
}

@media (max-width: 768px) {
.nws__profile-insight {
padding: 48px 16px
}

.nws__profile-headline {
font-size: 32px
}

.nws__profile-subline {
font-size: 16px
}

.nws__profile-text {
font-size: 16px
}

.nws__profile-header::before {
font-size: 60px
}
}

.cuisine-abt {
background: #fff;
color: #1D186E;
overflow-x: clip
}

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

.cuisine-abt__intro {
max-width: 1280px;
margin: 0 auto;
padding: 48px 16px;
position: relative;
display: flex;
align-items: center;
gap: 48px;
flex-wrap: wrap
}

.cuisine-abt__intro-txt {
flex: 1 1 400px;
position: relative;
z-index: 2
}

.cuisine-abt__intro-txt::before {
content: '';
position: absolute;
top: -16px;
left: -8px;
width: 3px;
height: 60px;
background: linear-gradient(180deg, #4C5BBE 0%, #1D186E 100%);
border-radius: 8px
}

.cuisine-abt__intro-txt::after {
content: '';
position: absolute;
top: -16px;
left: 8px;
width: 3px;
height: 60px;
background: linear-gradient(180deg, #4C5BBE 0%, #1D186E 100%);
border-radius: 8px
}

.cuisine-abt__intro-heading {
font-size: 60px;
line-height: 1.1;
margin: 0 0 16px;
letter-spacing: -.02em
}

.cuisine-abt__intro-heading-accent {
display: inline-block;
background: linear-gradient(135deg, #4C5BBE 0%, #1D186E 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
position: relative
}

.cuisine-abt__intro-heading-accent::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 100%;
height: 2px;
background: linear-gradient(90deg, #4C5BBE 0%, #1D186E 100%)
}

.cuisine-abt__intro-desc {
font-size: 19px;
line-height: 1.75;
margin: 0;
max-width: 520px
}

.cuisine-abt__intro-visual {
flex: 0 0 380px;
position: relative;
height: 320px
}

.cuisine-abt__intro-img-wrap {
position: relative;
width: 100%;
height: 100%;
clip-path: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
overflow: hidden;
box-shadow: 0 6px 20px 1px #1d186e17
}

.cuisine-abt__intro-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .15s ease-out
}

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

.cuisine-abt__intro-bracket-tl {
position: absolute;
top: -8px;
left: -8px;
width: 32px;
height: 32px;
border-top: 3px solid #4C5BBE;
border-left: 3px solid #4C5BBE;
border-radius: 8px 0 0 0;
z-index: 3
}

.cuisine-abt__intro-bracket-br {
position: absolute;
bottom: -8px;
right: -8px;
width: 32px;
height: 32px;
border-bottom: 3px solid #1D186E;
border-right: 3px solid #1D186E;
border-radius: 0 0 8px 0;
z-index: 3
}

.cuisine-abt__intro-dots {
position: absolute;
bottom: 16px;
left: -32px;
display: flex;
gap: 8px;
flex-direction: column;
pointer-events: none
}

.cuisine-abt__intro-dot {
width: 8px;
height: 8px;
background: #4C5BBE;
border-radius: 48px;
opacity: .6
}

.cuisine-abt__intro-dot:nth-child(2) {
width: 12px;
height: 12px;
background: #1D186E;
opacity: .4
}

.cuisine-abt__intro-dot:nth-child(3) {
width: 6px;
height: 6px;
background: #4C5BBE;
opacity: .8
}

@media (max-width: 768px) {
.cuisine-abt__intro {
padding: 32px 16px;
gap: 32px
}

.cuisine-abt__intro-heading {
font-size: 44px
}

.cuisine-abt__intro-visual {
flex: 1 1 100%;
height: 280px
}
}

@media (max-width: 375px) {
.cuisine-abt__intro-heading {
font-size: 32px
}

.cuisine-abt__intro-visual {
height: 240px
}
}

.cuisine-abt__mission {
background: #1D186E;
color: #fff;
padding: 96px 16px;
position: relative;
overflow: hidden
}

.cuisine-abt__mission::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 800px;
height: 800px;
background: radial-gradient(circle at center, #4c5bbe26 0%, transparent 70%);
pointer-events: none
}

.cuisine-abt__mission-inner {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 2
}

.cuisine-abt__mission-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 48px;
align-items: start
}

.cuisine-abt__mission-block {
position: relative
}

.cuisine-abt__mission-num {
font-size: 70px;
line-height: 1.1;
font-weight: 700;
margin: 0 0 8px;
color: #edecf833;
position: relative;
display: inline-block
}

.cuisine-abt__mission-num::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 60%;
height: 4px;
background: #EDECF8;
border-radius: 8px
}

.cuisine-abt__mission-num[data-progress="1"]::after {
width: 45%
}

.cuisine-abt__mission-num[data-progress="2"]::after {
width: 75%
}

.cuisine-abt__mission-num[data-progress="3"]::after {
width: 90%
}

.cuisine-abt__mission-label {
font-size: 24px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 700;
letter-spacing: -.01em
}

.cuisine-abt__mission-txt {
font-size: 16px;
line-height: 1.75;
margin: 0;
color: #ffffffe6
}

.cuisine-abt__mission-divider {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
margin: 48px 0 0
}

.cuisine-abt__mission-divider-line {
width: 48px;
height: 2px;
background: #edecf84d
}

.cuisine-abt__mission-divider-shape {
width: 8px;
height: 8px;
background: #EDECF8;
border-radius: 48px;
position: relative
}

.cuisine-abt__mission-divider-shape::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 16px;
height: 16px;
border: 2px solid #edecf866;
border-radius: 48px
}

.cuisine-abt__mission-people {
margin-top: 48px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 32px
}

.cuisine-abt__mission-person {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
background: #4c5bbe26;
border-radius: 8px;
transition: background .12s ease-out, transform .12s ease-out;
position: relative;
overflow: hidden
}

.cuisine-abt__mission-person::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background: #4c5bbe40;
transition: width .18s ease;
pointer-events: none
}

.cuisine-abt__mission-person:hover {
background: #4c5bbe33;
transform: translateY(-2px)
}

.cuisine-abt__mission-person:hover::before {
width: 100%
}

.cuisine-abt__mission-person:active::before {
width: 100%;
transition: width 1.2s ease
}

.cuisine-abt__mission-avatar {
width: 72px;
height: 72px;
border-radius: 8px;
object-fit: cover;
object-position: top;
flex-shrink: 0;
box-shadow: 0 3px 2px 1px #1d186e0f;
border: 2px solid #edecf84d
}

.cuisine-abt__mission-info {
flex: 1
}

.cuisine-abt__mission-name {
font-size: 19px;
line-height: 1.1;
margin: 0 0 4px;
font-weight: 700
}

.cuisine-abt__mission-role {
font-size: 16px;
line-height: 1.75;
margin: 0;
color: #fffc
}

@media (max-width: 768px) {
.cuisine-abt__mission {
padding: 48px 16px
}

.cuisine-abt__mission-grid {
gap: 32px
}

.cuisine-abt__mission-num {
font-size: 60px
}

.cuisine-abt__mission-people {
gap: 16px
}
}

@media (max-width: 375px) {
.cuisine-abt__mission-num {
font-size: 44px
}

.cuisine-abt__mission-label {
font-size: 19px
}
}

.cuisine-abt__showcase {
max-width: 1280px;
margin: 0 auto;
padding: 96px 16px
}

.cuisine-abt__showcase-header {
text-align: center;
margin-bottom: 48px;
position: relative
}

.cuisine-abt__showcase-heading {
font-size: 44px;
line-height: 1.1;
margin: 0 0 16px;
letter-spacing: -.02em
}

.cuisine-abt__showcase-subheading {
font-size: 19px;
line-height: 1.75;
margin: 0 auto;
max-width: 640px;
color: #1d186ecc
}

.cuisine-abt__showcase-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 32px
}

.cuisine-abt__showcase-card {
background: #fff;
border-radius: 8px;
overflow: hidden;
box-shadow: inset 0 2px 8px #1d186e0a 0 3px 2px 1px #1d186e0f;
transition: box-shadow .15s ease-out, transform .15s ease-out;
position: relative;
border: 1px solid #1d186e14
}

.cuisine-abt__showcase-card:hover {
box-shadow: inset 0 2px 8px #1d186e0f 0 9px 60px 1px #1d186e24;
transform: translateY(-4px)
}

.cuisine-abt__showcase-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 0;
background: linear-gradient(180deg, #4c5bbe14 0%, transparent 100%);
transition: height .18s ease;
pointer-events: none;
z-index: 1
}

.cuisine-abt__showcase-card:hover::before {
height: 100%
}

.cuisine-abt__showcase-img-wrap {
width: 100%;
height: 200px;
overflow: hidden;
position: relative
}

.cuisine-abt__showcase-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .2s ease-out
}

.cuisine-abt__showcase-card:hover .cuisine-abt__showcase-img {
transform: scale(1.08)
}

.cuisine-abt__showcase-content {
padding: 32px;
position: relative;
z-index: 2
}

.cuisine-abt__showcase-card-title {
font-size: 24px;
line-height: 1.1;
margin: 0 0 16px;
font-weight: 700;
letter-spacing: -.01em
}

.cuisine-abt__showcase-card-txt {
font-size: 16px;
line-height: 1.75;
margin: 0;
color: #1d186ed9
}

.cuisine-abt__showcase-stat {
margin-top: 16px;
padding: 16px;
background: #edecf880;
border-radius: 8px;
display: flex;
align-items: center;
gap: 16px;
position: relative;
overflow: hidden
}

.cuisine-abt__showcase-stat::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 3px;
height: 100%;
background: linear-gradient(180deg, #4C5BBE 0%, #1D186E 100%)
}

.cuisine-abt__showcase-stat-num {
font-size: 32px;
line-height: 1.1;
font-weight: 700;
color: #1D186E;
margin: 0
}

.cuisine-abt__showcase-stat-label {
font-size: 16px;
line-height: 1.75;
color: #1d186ecc;
margin: 0
}

@media (max-width: 1024px) {
.cuisine-abt__showcase-cards {
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
}
}

@media (max-width: 768px) {
.cuisine-abt__showcase {
padding: 48px 16px
}

.cuisine-abt__showcase-heading {
font-size: 32px
}

.cuisine-abt__showcase-cards {
gap: 16px
}

.cuisine-abt__showcase-content {
padding: 16px
}
}

@media (max-width: 375px) {
.cuisine-abt__showcase-heading {
font-size: 24px
}

.cuisine-abt__showcase-img-wrap {
height: 160px
}
}

.fp {
background: #FFF;
color: #212529;
overflow-x: clip;
max-width: 100%
}

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

.fp__title-zone {
position: relative;
padding: 96px 16px;
background: linear-gradient(127deg, #1D186E 0%, #4C5BBE 48%, #1D186E 100%);
background-size: 200% 200%;
animation: fp-grad-shift 8s ease infinite;
overflow: hidden
}

@keyframes fp-grad-shift {
0% {
background-position: 0 50%
}

50% {
background-position: 100% 50%
}

100% {
background-position: 0 50%
}
}

.fp__title-zone::before {
content: '';
position: absolute;
top: 16px;
left: 16px;
width: 80px;
height: 80px;
border-top: 2px solid #ffffff4d;
border-left: 2px solid #ffffff4d
}

.fp__title-zone::after {
content: '';
position: absolute;
bottom: 16px;
right: 16px;
width: 80px;
height: 80px;
border-bottom: 2px solid #ffffff4d;
border-right: 2px solid #ffffff4d
}

.fp__title-inner {
max-width: 1280px;
margin: 0 auto;
text-align: center;
position: relative;
z-index: 1
}

.fp__title-main {
font-size: 60px;
line-height: 1.1;
color: #FFF;
margin: 0 0 32px;
letter-spacing: -.02em
}

.fp__title-link {
display: inline-block;
padding: 16px 48px;
background: transparent;
color: #FFF;
border: 2px solid #FFF;
text-decoration: none;
font-size: 19px;
border-radius: 8px;
transition: background .15s ease-out, color .15s ease-out
}

.fp__title-link:hover {
background: #FFF;
color: #1D186E
}

.fp__title-link:active {
transform: scale(0.98)
}

@media (max-width: 768px) {
.fp__title-zone {
padding: 48px 16px
}

.fp__title-main {
font-size: 44px
}

.fp__title-zone::before,
.fp__title-zone::after {
width: 48px;
height: 48px
}
}

.fp__chevron-divider {
width: 100%;
height: 48px;
background: #FFF;
position: relative;
overflow: hidden
}

.fp__chevron-divider::before {
content: '';
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 0;
border-left: 60px solid transparent;
border-right: 60px solid transparent;
border-top: 48px solid #1D186E
}

.fp__approach {
padding: 96px 16px;
background: #FFF;
position: relative
}

.fp__approach-inner {
max-width: 1280px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 48px
}

.fp__approach-visual {
flex: 0 0 45%;
position: relative
}

.fp__approach-img {
width: 100%;
height: 480px;
object-fit: cover;
border-radius: 32px;
box-shadow: 0 9px 60px 1px #1d186e24
}

.fp__approach-content {
flex: 1;
position: relative
}

.fp__approach-num {
position: absolute;
top: -32px;
left: -16px;
font-size: 160px;
line-height: 1;
color: #4c5bbe14;
font-weight: 700;
pointer-events: none;
z-index: 0
}

.fp__approach-heading {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 24px;
position: relative;
z-index: 1;
letter-spacing: -.01em
}

.fp__approach-text {
font-size: 19px;
line-height: 1.75;
color: #212529;
margin: 0 0 16px
}

.fp__approach-text:last-of-type {
margin-bottom: 0
}

@media (max-width: 1024px) {
.fp__approach-inner {
flex-direction: column
}

.fp__approach-visual {
flex: 0 0 auto;
width: 100%
}

.fp__approach-img {
height: 360px
}
}

@media (max-width: 768px) {
.fp__approach {
padding: 48px 16px
}

.fp__approach-heading {
font-size: 32px
}

.fp__approach-num {
font-size: 100px;
top: -16px
}

.fp__approach-img {
height: 280px
}
}

.fp__reputation {
padding: 96px 16px;
background: linear-gradient(180deg, #EDECF8 0%, #FFF 100%);
position: relative
}

.fp__reputation::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle, #1d186e0a 1px, transparent 1px), radial-gradient(circle, #4c5bbe08 2px, transparent 2px);
background-size: 48px 48px, 72px 72px;
background-position: 0 0, 24px 24px;
pointer-events: none
}

.fp__reputation-inner {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 1
}

.fp__reputation-top {
text-align: center;
margin-bottom: 48px
}

.fp__reputation-heading {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 16px;
letter-spacing: -.01em
}

.fp__reputation-intro {
font-size: 19px;
line-height: 1.75;
color: #212529;
max-width: 720px;
margin: 0 auto
}

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

.fp__reputation-card {
background: #FFF;
padding: 32px;
border-radius: 8px;
box-shadow: 0 3px 2px 1px #1d186e0f;
transition: transform .12s ease-out, box-shadow .12s ease-out
}

.fp__reputation-card:hover {
transform: translateY(-4px);
box-shadow: 0 9px 60px 1px #1d186e24
}

.fp__reputation-card-icon {
width: 48px;
height: 48px;
margin-bottom: 16px;
background: linear-gradient(135deg, #4C5BBE 0%, #1D186E 100%);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center
}

.fp__reputation-card-icon svg {
width: 24px;
height: 24px;
fill: #FFF
}

.fp__reputation-card-title {
font-size: 24px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 8px
}

.fp__reputation-card-desc {
font-size: 16px;
line-height: 1.75;
color: #212529;
margin: 0
}

@media (max-width: 1024px) {
.fp__reputation-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 768px) {
.fp__reputation {
padding: 48px 16px
}

.fp__reputation-heading {
font-size: 32px
}

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

.fp__reputation-card {
padding: 24px
}
}

.fp__proof {
padding: 96px 16px;
background: #FFF;
position: relative
}

.fp__proof-inner {
max-width: 1280px;
margin: 0 auto;
display: flex;
flex-direction: row-reverse;
align-items: center;
gap: 48px
}

.fp__proof-visual {
flex: 0 0 45%;
position: relative
}

.fp__proof-img {
width: 100%;
height: 480px;
object-fit: cover;
border-radius: 48px;
box-shadow: 0 6px 20px 1px #4c5bbe17
}

.fp__proof-content {
flex: 1;
position: relative
}

.fp__proof-num {
position: absolute;
top: -32px;
right: -16px;
font-size: 160px;
line-height: 1;
color: #4c5bbe14;
font-weight: 700;
pointer-events: none;
z-index: 0
}

.fp__proof-heading {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 24px;
position: relative;
z-index: 1;
letter-spacing: -.01em
}

.fp__proof-text {
font-size: 19px;
line-height: 1.75;
color: #212529;
margin: 0 0 16px
}

.fp__proof-text:last-of-type {
margin-bottom: 0
}

.fp__proof-link {
display: inline-block;
margin-top: 24px;
padding: 12px 32px;
background: transparent;
color: #4C5BBE;
border: 2px solid #4C5BBE;
text-decoration: none;
font-size: 16px;
border-radius: 8px;
transition: background .15s ease-out, color .15s ease-out
}

.fp__proof-link:hover {
background: #4C5BBE;
color: #FFF
}

@media (max-width: 1024px) {
.fp__proof-inner {
flex-direction: column
}

.fp__proof-visual {
flex: 0 0 auto;
width: 100%
}

.fp__proof-img {
height: 360px
}
}

@media (max-width: 768px) {
.fp__proof {
padding: 48px 16px
}

.fp__proof-heading {
font-size: 32px
}

.fp__proof-num {
font-size: 100px;
top: -16px
}

.fp__proof-img {
height: 280px;
border-radius: 32px
}
}

.fp__invest {
padding: 96px 16px;
background: #FFF;
position: relative;
overflow: hidden
}

.fp__invest::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 50%;
background: #EDECF8;
z-index: 0
}

.fp__invest-inner {
max-width: 1280px;
margin: 0 auto;
position: relative;
z-index: 1
}

.fp__invest-top {
text-align: center;
margin-bottom: 48px
}

.fp__invest-heading {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 16px;
letter-spacing: -.01em
}

.fp__invest-intro {
font-size: 19px;
line-height: 1.75;
color: #212529;
max-width: 720px;
margin: 0 auto
}

.fp__invest-split {
display: grid;
grid-template-columns: 1fr 2px 1fr;
gap: 48px;
align-items: start
}

.fp__invest-divider {
width: 2px;
height: 100%;
background: linear-gradient(180deg, transparent 0%, #4C5BBE 20%, #4C5BBE 80%, transparent 100%)
}

.fp__invest-col {
background: #FFF;
padding: 32px;
border-radius: 8px;
box-shadow: 0 6px 20px 1px #1d186e17
}

.fp__invest-col-title {
font-size: 24px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 16px
}

.fp__invest-col-text {
font-size: 16px;
line-height: 1.75;
color: #212529;
margin: 0 0 16px
}

.fp__invest-col-text:last-child {
margin-bottom: 0
}

.fp__invest-price {
font-size: 32px;
line-height: 1.1;
color: #4C5BBE;
font-weight: 700;
margin: 16px 0 0
}

@media (max-width: 1024px) {
.fp__invest-split {
grid-template-columns: 1fr;
gap: 32px
}

.fp__invest-divider {
display: none
}
}

@media (max-width: 768px) {
.fp__invest {
padding: 48px 16px
}

.fp__invest-heading {
font-size: 32px
}

.fp__invest-col {
padding: 24px
}
}

.fp__numbers {
padding: 96px 16px;
background: radial-gradient(ellipse at center, #EDECF8 0%, #FFF 70%);
position: relative
}

.fp__numbers-inner {
max-width: 1280px;
margin: 0 auto
}

.fp__numbers-heading {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 48px;
text-align: center;
letter-spacing: -.01em
}

.fp__numbers-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px
}

.fp__numbers-item {
text-align: center;
padding: 32px 16px;
background: #FFF;
border-radius: 32px;
box-shadow: inset 0 3px 2px 1px #1d186e0f;
animation: fp-cascade .18s ease-out backwards
}

.fp__numbers-item:nth-child(1) {
animation-delay: .05s
}

.fp__numbers-item:nth-child(2) {
animation-delay: .1s
}

.fp__numbers-item:nth-child(3) {
animation-delay: .15s
}

.fp__numbers-item:nth-child(4) {
animation-delay: .2s
}

@keyframes fp-cascade {
from {
opacity: 0;
transform: translateY(24px)
}

to {
opacity: 1;
transform: translateY(0)
}
}

.fp__numbers-value {
font-size: 60px;
line-height: 1.1;
color: #4C5BBE;
font-weight: 700;
margin: 0 0 8px
}

.fp__numbers-label {
font-size: 16px;
line-height: 1.75;
color: #212529;
margin: 0
}

@media (max-width: 1024px) {
.fp__numbers-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 768px) {
.fp__numbers {
padding: 48px 16px
}

.fp__numbers-heading {
font-size: 32px;
margin-bottom: 32px
}

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

.fp__numbers-value {
font-size: 44px
}

.fp__numbers-item {
padding: 24px 16px
}
}

.fp__experience {
padding: 96px 16px;
background: #FFF;
position: relative
}

.fp__experience-inner {
max-width: 1280px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: start;
gap: 48px
}

.fp__experience-profile {
flex: 0 0 280px;
position: relative
}

.fp__experience-portrait {
width: 100%;
aspect-ratio: 3/4;
object-fit: cover;
object-position: top;
border-radius: 8px;
box-shadow: 0 9px 60px 1px #4c5bbe24
}

.fp__experience-name {
font-size: 19px;
line-height: 1.1;
color: #1D186E;
margin: 16px 0 4px;
font-weight: 700
}

.fp__experience-role {
font-size: 16px;
line-height: 1.75;
color: #4C5BBE;
margin: 0
}

.fp__experience-content {
flex: 1;
position: relative
}

.fp__experience-num {
position: absolute;
top: -32px;
left: -16px;
font-size: 160px;
line-height: 1;
color: #4c5bbe14;
font-weight: 700;
pointer-events: none;
z-index: 0
}

.fp__experience-heading {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 24px;
position: relative;
z-index: 1;
letter-spacing: -.01em
}

.fp__experience-text {
font-size: 19px;
line-height: 1.75;
color: #212529;
margin: 0 0 16px;
max-width: 680px
}

.fp__experience-text:last-of-type {
margin-bottom: 0
}

.fp__experience-phases {
margin-top: 32px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px
}

.fp__experience-phase {
padding: 16px;
background: #EDECF8;
border-radius: 8px;
border-left: 4px solid #4C5BBE
}

.fp__experience-phase-title {
font-size: 16px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 8px;
font-weight: 700
}

.fp__experience-phase-desc {
font-size: 16px;
line-height: 1.75;
color: #212529;
margin: 0
}

@media (max-width: 1024px) {
.fp__experience-inner {
flex-direction: column
}

.fp__experience-profile {
flex: 0 0 auto;
width: 240px;
margin: 0 auto
}

.fp__experience-phases {
grid-template-columns: 1fr
}
}

@media (max-width: 768px) {
.fp__experience {
padding: 48px 16px
}

.fp__experience-heading {
font-size: 32px
}

.fp__experience-num {
font-size: 100px;
top: -16px
}

.fp__experience-profile {
width: 200px
}
}

@media (max-width: 375px) {
.fp__title-main {
font-size: 32px
}

.fp__approach-heading,
.fp__reputation-heading,
.fp__proof-heading,
.fp__invest-heading,
.fp__numbers-heading,
.fp__experience-heading {
font-size: 24px
}

.fp__numbers-value {
font-size: 32px
}
}

.cnt-hub {
background: #fff;
color: #1D186E;
max-width: 1280px;
margin: 0 auto;
padding: 0;
position: relative
}

.cnt-hub ::selection {
background: #4C5BBE;
color: #fff
}

.cnt-hub input::placeholder,
.cnt-hub textarea::placeholder {
transition: opacity .15s ease-out
}

.cnt-hub input:focus::placeholder,
.cnt-hub textarea:focus::placeholder {
opacity: 0
}

.cnt-hub__intro {
background: linear-gradient(circle at center, #fff 0%, #f5f4fb 100%);
padding: 96px 32px;
text-align: center;
position: relative;
overflow: hidden
}

.cnt-hub__intro::before {
content: '"';
position: absolute;
top: 48px;
left: 50%;
transform: translateX(-50%);
font-size: 280px;
line-height: 1;
color: #EDECF8;
opacity: .4;
font-weight: 700;
z-index: 0;
pointer-events: none
}

.cnt-hub__intro-content {
position: relative;
z-index: 1;
max-width: 800px;
margin: 0 auto
}

.cnt-hub__intro-title {
font-size: 70px;
line-height: 1.1;
margin: 0 0 16px;
letter-spacing: -.02em;
font-weight: 700
}

.cnt-hub__intro-subtitle {
font-size: 44px;
line-height: 1.1;
margin: 0 0 32px;
letter-spacing: -.01em;
font-weight: 600;
color: #4C5BBE
}

.cnt-hub__intro-text {
font-size: 19px;
line-height: 1.75;
margin: 0;
color: #1D186E;
max-width: 600px;
margin: 0 auto
}

@keyframes cnt-hub-col-reveal-1 {
0% {
opacity: 0;
transform: translateY(32px)
}

100% {
opacity: 1;
transform: translateY(0)
}
}

@keyframes cnt-hub-col-reveal-2 {
0% {
opacity: 0;
transform: translateY(32px)
}

100% {
opacity: 1;
transform: translateY(0)
}
}

.cnt-hub__form-wrapper {
padding: 96px 32px;
background: #fff;
position: relative
}

.cnt-hub__form-wrapper::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle at 20% 30%, #edecf814 0%, transparent 50%), radial-gradient(circle at 80% 70%, #4c5bbe0f 0%, transparent 50%);
pointer-events: none;
z-index: 0
}

.cnt-hub__form-container {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
position: relative;
z-index: 1
}

.cnt-hub__form-col-left {
animation: cnt-hub-col-reveal-1 .8s ease-out forwards
}

.cnt-hub__form-col-right {
animation: cnt-hub-col-reveal-2 .8s ease-out .2s forwards;
opacity: 0
}

.cnt-hub__form-heading {
font-size: 44px;
line-height: 1.1;
margin: 0 0 16px;
letter-spacing: -.01em;
font-weight: 700
}

.cnt-hub__form-description {
font-size: 19px;
line-height: 1.75;
margin: 0 0 32px;
color: #1D186E
}

.cnt-hub__contact-list {
list-style: none;
padding: 0;
margin: 32px 0 0
}

.cnt-hub__contact-item {
margin: 0 0 16px;
font-size: 16px;
line-height: 1.75;
display: flex;
align-items: flex-start;
gap: 8px
}

.cnt-hub__contact-icon {
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 4px
}

.cnt-hub__contact-icon-circle {
fill: none;
stroke: #4C5BBE;
stroke-width: 2
}

.cnt-hub__contact-icon-path {
fill: none;
stroke: #1D186E;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round
}

.cnt-hub__contact-link {
color: #4C5BBE;
text-decoration: none;
transition: color .12s ease-out
}

.cnt-hub__contact-link:hover {
color: #1D186E
}

.cnt-hub__form {
display: flex;
flex-direction: column;
gap: 16px
}

.cnt-hub__field-group {
display: flex;
flex-direction: column;
gap: 8px
}

.cnt-hub__label {
font-size: 16px;
line-height: 1.75;
font-weight: 600;
color: #1D186E
}

.cnt-hub__input,
.cnt-hub__select {
padding: 16px;
border: 2px solid #EDECF8;
border-radius: 8px;
font-size: 16px;
line-height: 1.75;
color: #1D186E;
background: #fff;
transition: border-color .15s ease-out, box-shadow .15s ease-out;
width: 100%
}

.cnt-hub__input:focus,
.cnt-hub__select:focus {
outline: none;
border-color: #4C5BBE;
box-shadow: 0 3px 2px 1px #4c5bbe0f
}

.cnt-hub__input:focus-visible,
.cnt-hub__select:focus-visible {
outline: 3px solid #4C5BBE !important;
outline-offset: 2px !important
}

.cnt-hub__select {
appearance: none;
background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%231D186E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 16px center;
padding-right: 48px
}

.cnt-hub__checkbox-wrapper {
display: flex;
align-items: flex-start;
gap: 8px;
margin: 16px 0 0
}

.cnt-hub__checkbox {
width: 20px;
height: 20px;
flex-shrink: 0;
margin-top: 4px;
cursor: pointer;
accent-color: #4C5BBE
}

.cnt-hub__checkbox:focus-visible {
outline: 3px solid #4C5BBE !important;
outline-offset: 2px !important
}

.cnt-hub__checkbox-label {
font-size: 16px;
line-height: 1.75;
color: #1D186E
}

.cnt-hub__policy-link {
color: #4C5BBE;
text-decoration: none;
transition: color .12s ease-out
}

.cnt-hub__policy-link:hover {
color: #1D186E
}

.cnt-hub__submit {
padding: 16px 32px;
background: transparent;
color: #4C5BBE;
border: 2px solid #4C5BBE;
border-radius: 8px;
font-size: 19px;
line-height: 1.75;
font-weight: 600;
cursor: pointer;
transition: background .15s ease-out, color .15s ease-out, box-shadow .15s ease-out;
position: relative;
overflow: hidden;
margin-top: 16px
}

.cnt-hub__submit::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background: #4C5BBE;
transition: width .18s ease-out;
z-index: -1
}

.cnt-hub__submit:hover::before {
width: 100%
}

.cnt-hub__submit:hover {
color: #fff;
box-shadow: 0 6px 20px 1px #4c5bbe17
}

.cnt-hub__submit:focus-visible {
outline: 3px solid #4C5BBE !important;
outline-offset: 2px !important
}

.cnt-hub__details {
background: #EDECF8;
padding: 96px 32px;
position: relative;
overflow: hidden
}

.cnt-hub__details::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, #ffffff08 20px, #ffffff08 40px);
pointer-events: none;
z-index: 0
}

.cnt-hub__details-inner {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.2fr 0.8fr;
gap: 48px;
align-items: center;
position: relative;
z-index: 1
}

.cnt-hub__details-content {
padding: 0 32px 0 0
}

.cnt-hub__details-heading {
font-size: 44px;
line-height: 1.1;
margin: 0 0 32px;
letter-spacing: -.01em;
font-weight: 700;
position: relative
}

.cnt-hub__details-heading::before {
content: '01';
position: absolute;
top: -16px;
left: -8px;
font-size: 120px;
line-height: 1;
color: #fff;
opacity: .3;
font-weight: 700;
z-index: -1
}

.cnt-hub__details-text {
font-size: 19px;
line-height: 1.75;
margin: 0 0 16px;
color: #1D186E
}

.cnt-hub__details-text:last-of-type {
margin-bottom: 0
}

.cnt-hub__details-visual {
position: relative
}

.cnt-hub__details-image {
width: 100%;
height: 400px;
object-fit: cover;
border-radius: 32px;
box-shadow: 0 9px 60px 1px #1d186e24;
border: 4px solid #fff
}

.cnt-hub__details-dots {
position: absolute;
top: -16px;
right: -16px;
bottom: -16px;
left: -16px;
pointer-events: none;
z-index: -1
}

.cnt-hub__details-dot {
position: absolute;
border-radius: 48px;
background: #4C5BBE;
opacity: .15
}

.cnt-hub__details-dot:nth-child(1) {
width: 8px;
height: 8px;
top: 0;
left: 20%
}

.cnt-hub__details-dot:nth-child(2) {
width: 12px;
height: 12px;
top: 10%;
right: 15%
}

.cnt-hub__details-dot:nth-child(3) {
width: 6px;
height: 6px;
bottom: 25%;
left: 5%
}

.cnt-hub__details-dot:nth-child(4) {
width: 10px;
height: 10px;
bottom: 10%;
right: 10%
}

.cnt-hub__details-dot:nth-child(5) {
width: 14px;
height: 14px;
top: 50%;
left: -8px
}

.cnt-hub__details-dot:nth-child(6) {
width: 7px;
height: 7px;
top: 30%;
right: 5%
}

.cnt-hub__details-dot:nth-child(7) {
width: 9px;
height: 9px;
bottom: 40%;
right: -6px
}

@keyframes cnt-hub-highlight-cycle {

0%,
100% {
opacity: .3;
transform: scale(1)
}

16.66% {
opacity: 1;
transform: scale(1.05)
}

33.33% {
opacity: .3;
transform: scale(1)
}
}

.cnt-hub__details-dot:nth-child(1) {
animation: cnt-hub-highlight-cycle 4.2s ease-in-out infinite;
animation-delay: 0s
}

.cnt-hub__details-dot:nth-child(2) {
animation: cnt-hub-highlight-cycle 4.2s ease-in-out infinite;
animation-delay: .6s
}

.cnt-hub__details-dot:nth-child(3) {
animation: cnt-hub-highlight-cycle 4.2s ease-in-out infinite;
animation-delay: 1.2s
}

.cnt-hub__details-dot:nth-child(4) {
animation: cnt-hub-highlight-cycle 4.2s ease-in-out infinite;
animation-delay: 1.8s
}

.cnt-hub__details-dot:nth-child(5) {
animation: cnt-hub-highlight-cycle 4.2s ease-in-out infinite;
animation-delay: 2.4s
}

.cnt-hub__details-dot:nth-child(6) {
animation: cnt-hub-highlight-cycle 4.2s ease-in-out infinite;
animation-delay: 3s
}

.cnt-hub__details-dot:nth-child(7) {
animation: cnt-hub-highlight-cycle 4.2s ease-in-out infinite;
animation-delay: 3.6s
}

@media (max-width: 1024px) {
.cnt-hub__intro {
padding: 48px 32px
}

.cnt-hub__intro::before {
font-size: 200px;
top: 32px
}

.cnt-hub__intro-title {
font-size: 60px
}

.cnt-hub__intro-subtitle {
font-size: 32px
}

.cnt-hub__form-container {
gap: 32px
}

.cnt-hub__form-wrapper {
padding: 48px 32px
}

.cnt-hub__details {
padding: 48px 32px
}

.cnt-hub__details-inner {
gap: 32px
}

.cnt-hub__details-heading {
font-size: 32px
}

.cnt-hub__details-heading::before {
font-size: 90px
}

.cnt-hub__details-image {
height: 320px
}
}

@media (max-width: 768px) {
.cnt-hub__intro {
padding: 48px 16px
}

.cnt-hub__intro::before {
font-size: 140px;
top: 16px
}

.cnt-hub__intro-title {
font-size: 44px
}

.cnt-hub__intro-subtitle {
font-size: 24px
}

.cnt-hub__intro-text {
font-size: 16px
}

.cnt-hub__form-wrapper {
padding: 48px 16px
}

.cnt-hub__form-container {
grid-template-columns: 1fr;
gap: 32px
}

.cnt-hub__form-heading {
font-size: 32px
}

.cnt-hub__details {
padding: 48px 16px
}

.cnt-hub__details-inner {
grid-template-columns: 1fr;
gap: 32px
}

.cnt-hub__details-content {
padding: 0
}

.cnt-hub__details-heading {
font-size: 32px
}

.cnt-hub__details-heading::before {
font-size: 80px;
top: -12px;
left: -4px
}

.cnt-hub__details-image {
height: 280px
}
}

@media (max-width: 375px) {
.cnt-hub__intro-title {
font-size: 32px
}

.cnt-hub__intro-subtitle {
font-size: 19px
}

.cnt-hub__form-heading {
font-size: 24px
}

.cnt-hub__details-heading {
font-size: 24px
}

.cnt-hub__details-heading::before {
font-size: 60px
}

.cnt-hub__details-image {
height: 240px
}
}

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

.success-page .success-container {
max-width: 640px;
width: 100%;
background: #fff;
border-radius: 32px;
padding: 48px 32px;
box-shadow: 0 6px 20px 1px #1d186e17;
text-align: center
}

.success-page .success-icon {
width: 96px;
height: 96px;
margin: 0 auto 32px;
background: linear-gradient(135deg, #4C5BBE 0%, #1D186E 100%);
border-radius: 48px;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.success-page .success-icon::before {
content: '';
width: 48px;
height: 24px;
border-left: 8px solid #fff;
border-bottom: 8px solid #fff;
transform: rotate(-45deg) translateY(-8px)
}

.success-page .success-title {
font-size: 44px;
line-height: 1.1;
color: #1D186E;
margin: 0 0 16px;
letter-spacing: -.02em
}

.success-page .success-message {
font-size: 19px;
line-height: 1.75;
color: #333;
margin: 0 0 32px
}

.success-page .success-details {
background: #EDECF8;
border-radius: 8px;
padding: 16px;
margin: 0 0 32px
}

.success-page .success-details p {
font-size: 16px;
line-height: 1.75;
color: #1D186E;
margin: 0
}

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

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

.success-page .btn-primary {
background: #4C5BBE;
color: #fff;
border: none;
border-radius: 8px;
padding: 16px 32px;
font-size: 16px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: background .15s ease-out, transform .1s ease;
box-shadow: 0 3px 2px 1px #1d186e0f
}

.success-page .btn-primary:hover {
background: #1D186E;
transform: translateY(-2px);
box-shadow: 0 6px 20px 1px #1d186e17
}

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

.success-page .btn-secondary {
background: transparent;
color: #4C5BBE;
border: 2px solid #4C5BBE;
border-radius: 8px;
padding: 14px 32px;
font-size: 16px;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: background .15s ease-out, color .15s ease-out
}

.success-page .btn-secondary:hover {
background: #4C5BBE;
color: #fff
}

.success-page .success-footer {
margin-top: 48px;
padding-top: 32px;
border-top: 2px solid #EDECF8
}

.success-page .success-footer p {
font-size: 16px;
line-height: 1.75;
color: #666;
margin: 0 0 16px
}

.success-page .contact-info {
display: flex;
flex-direction: column;
gap: 8px;
font-size: 16px;
color: #4C5BBE
}

.success-page .contact-info a {
color: #4C5BBE;
text-decoration: none;
transition: color .12s ease
}

.success-page .contact-info a:hover {
color: #1D186E;
text-decoration: underline
}

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

.success-page .success-container {
padding: 32px 16px
}

.success-page .success-title {
font-size: 32px
}

.success-page .success-actions {
flex-direction: column
}

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

@media (max-width: 375px) {
.success-page .success-icon {
width: 80px;
height: 80px
}

.success-page .success-icon::before {
width: 40px;
height: 20px;
border-left: 6px solid #fff;
border-bottom: 6px solid #fff
}

.success-page .success-title {
font-size: 24px
}
}