html {
margin: 0;
box-sizing: border-box;
font-size: 100%
}

body {
margin: 0;
position: relative;
min-height: 100vh;
font-family: 'Roboto', sans-serif;
background: #FFF;
color: #1d1d1d;
line-height: 1.5
}

.top_band {
background: linear-gradient(135deg, #5D1449 0%, #7a1a5e 100%);
padding: 12px 0;
border-bottom: 2px solid #05B3E7
}

.top_band_shell {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

.top_contact_list {
display: flex;
align-items: center;
gap: 48px;
list-style: none;
margin: 0;
padding: 0
}

.top_contact_item {
display: flex;
align-items: center;
gap: 12px
}

.top_contact_link {
color: #FFF;
text-decoration: none;
font-size: 14px;
letter-spacing: .3px;
transition: color .22s ease-out
}

.top_contact_link:hover {
color: #05B3E7
}

.top_contact_icon {
width: 18px;
height: 18px;
background: #05B3E7;
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center
}

.top_contact_icon::before {
content: '';
width: 8px;
height: 8px;
background: #FFF;
border-radius: 3px
}

.prime_hdr {
background: #f7f7f7;
border-bottom: 1px solid #e2e2e2;
box-shadow: 0 7px 22px 0 #5d144914;
position: relative
}

.hdr_shell {
max-width: 1200px;
margin: 0 auto;
padding: 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 48px
}

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

.brand_visual {
width: 180px;
height: 42px;
object-fit: contain;
background: #FFF;
padding: 4px 12px;
border-radius: 3px;
box-shadow: 0 3px 5px 0 #05b3e70f;
border: 1px solid #05B3E7
}

.brand_tag {
font-size: 14px;
color: #5D1449;
font-weight: 700;
letter-spacing: .5px;
padding-left: 12px
}

.nav_primary {
flex: 1;
display: flex;
justify-content: center
}

.nav_list {
display: flex;
align-items: center;
gap: 12px;
list-style: none;
margin: 0;
padding: 0;
flex-wrap: wrap
}

.nav_item {
margin: 0
}

.nav_anchor {
display: block;
padding: 12px 24px;
color: #2a2a2a;
text-decoration: none;
font-size: 15px;
font-weight: 700;
letter-spacing: .2px;
border-radius: 28px;
background: #FFF;
border: 2px solid transparent;
transition: border-color .18s ease-out, background .18s ease-out, color .18s ease-out;
box-shadow: 0 3px 5px 0 #5d14490f
}

.nav_anchor:hover {
background: linear-gradient(135deg, #5D1449 0%, #7a1a5e 100%);
color: #FFF;
border-color: #05B3E7
}

.nav_anchor:focus {
outline: none;
border-color: #05B3E7;
background: #f0f0f0
}

.location_display {
display: flex;
align-items: flex-start;
gap: 12px;
background: #FFF;
padding: 12px 24px;
border-radius: 28px;
border: 1px solid #e2e2e2;
box-shadow: 0 3px 5px 0 #5d14490f;
max-width: 280px
}

.location_icon_hold {
width: 24px;
height: 24px;
background: linear-gradient(135deg, #5D1449 0%, #7a1a5e 100%);
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.location_icon_hold::before {
content: '';
width: 10px;
height: 10px;
border: 2px solid #05B3E7;
border-radius: 3px;
background: #FFF
}

.location_text {
font-size: 14px;
color: #2a2a2a;
line-height: 1.3;
letter-spacing: .1px
}

@media (max-width: 1200px) {
.hdr_shell {
flex-wrap: wrap;
gap: 24px
}

.nav_primary {
flex-basis: 100%;
justify-content: flex-start
}

.location_display {
max-width: 100%
}

.top_contact_list {
gap: 24px
}
}

@media (max-width: 992px) {
.top_contact_list {
flex-direction: column;
gap: 12px;
align-items: flex-start
}

.nav_list {
gap: 4px
}

.nav_anchor {
padding: 12px;
font-size: 14px
}
}

@media (max-width: 576px) {
.hdr_shell {
padding: 12px
}

.top_band_shell {
padding: 0 12px;
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.brand_visual {
width: 140px;
height: 36px
}

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

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

.location_display {
flex-direction: column;
align-items: flex-start
}
}

.prime_ftr {
background: linear-gradient(180deg, #f7f7f7 0%, #ececec 100%);
border-top: 3px solid #5D1449;
padding: 96px 0 48px;
position: relative
}

.prime_ftr::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 6px;
background: linear-gradient(90deg, #5D1449 0%, #05B3E7 50%, #5D1449 100%)
}

.ftr_shell {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

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

.ftr_brand_zone {
display: flex;
flex-direction: column;
gap: 24px
}

.ftr_logo_hold {
display: flex;
align-items: center;
justify-content: flex-end
}

.ftr_brand_visual {
width: 220px;
height: 52px;
object-fit: contain;
background: #FFF;
padding: 12px 24px;
border-radius: 28px;
box-shadow: 0 9px 48px 0 #5d14491f;
border: 2px solid #05B3E7
}

.ftr_contact_block {
background: #FFF;
padding: 24px;
border-radius: 28px;
box-shadow: 0 7px 22px 0 #05b3e714;
border: 1px solid #e2e2e2
}

.ftr_contact_title {
font-size: 20px;
font-weight: 700;
color: #5D1449;
margin: 0 0 24px;
line-height: 1.3;
letter-spacing: .2px
}

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

.ftr_contact_row {
display: flex;
align-items: flex-start;
gap: 12px
}

.ftr_contact_icon {
width: 20px;
height: 20px;
background: linear-gradient(135deg, #5D1449 0%, #7a1a5e 100%);
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
margin-top: 2px
}

.ftr_contact_icon::before {
content: '';
width: 8px;
height: 8px;
background: #05B3E7;
border-radius: 3px
}

.ftr_contact_anchor {
color: #2a2a2a;
text-decoration: none;
font-size: 14px;
line-height: 1.5;
letter-spacing: .1px;
transition: color .2s ease-out
}

.ftr_contact_anchor:hover {
color: #5D1449
}

.ftr_contact_anchor:focus {
outline: none;
color: #05B3E7
}

.ftr_contact_plain {
color: #2a2a2a;
font-size: 14px;
line-height: 1.5;
letter-spacing: .1px
}

.ftr_nav_zone {
display: flex;
flex-direction: column;
gap: 24px
}

.ftr_nav_title {
font-size: 20px;
font-weight: 700;
color: #5D1449;
margin: 0;
line-height: 1.3;
letter-spacing: .2px
}

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

.ftr_nav_anchor {
color: #2a2a2a;
text-decoration: none;
font-size: 15px;
font-weight: 400;
letter-spacing: .1px;
transition: color .25s ease-out;
display: inline-block
}

.ftr_nav_anchor:hover {
color: #5D1449
}

.ftr_nav_anchor:focus {
outline: none;
color: #05B3E7
}

.ftr_info_zone {
display: flex;
flex-direction: column;
gap: 24px
}

.ftr_info_title {
font-size: 20px;
font-weight: 700;
color: #5D1449;
margin: 0;
line-height: 1.3;
letter-spacing: .2px
}

.ftr_info_text {
font-size: 15px;
color: #2a2a2a;
line-height: 1.7;
letter-spacing: .1px;
margin: 0
}

.ftr_lower {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
padding-top: 48px;
border-top: 2px solid #d8d8d8;
flex-wrap: wrap
}

.ftr_legal_list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 24px;
flex-wrap: wrap
}

.ftr_legal_anchor {
color: #2a2a2a;
text-decoration: none;
font-size: 14px;
letter-spacing: .1px;
transition: color .3s ease-out
}

.ftr_legal_anchor:hover {
color: #5D1449
}

.ftr_legal_anchor:focus {
outline: none;
color: #05B3E7
}

.ftr_copy {
font-size: 14px;
color: #5a5a5a;
letter-spacing: .1px
}

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

.ftr_logo_hold {
justify-content: flex-start
}

.ftr_lower {
flex-direction: column;
align-items: flex-start
}
}

@media (max-width: 576px) {
.prime_ftr {
padding: 48px 0 24px
}

.ftr_shell {
padding: 0 12px
}

.ftr_upper {
gap: 24px;
margin-bottom: 48px
}

.ftr_brand_visual {
width: 160px;
height: 40px;
padding: 4px 12px
}

.ftr_contact_block {
padding: 12px
}

.ftr_lower {
padding-top: 24px
}

.ftr_legal_list {
flex-direction: column;
gap: 12px
}
}

.cookie_toast {
position: fixed;
top: 24px;
right: -100%;
max-width: 420px;
background: #FFF;
border-radius: 28px;
box-shadow: 0 9px 48px 0 #5d14491f;
border: 2px solid #5D1449;
padding: 24px;
z-index: 1000;
transition: right .22s ease-out
}

.cookie_toast.shown {
right: 24px
}

.cookie_message {
font-size: 15px;
color: #2a2a2a;
line-height: 1.7;
margin: 0 0 24px;
letter-spacing: .1px
}

.cookie_detail {
font-size: 14px;
color: #5a5a5a;
line-height: 1.5;
margin: 0 0 24px;
letter-spacing: .1px
}

.cookie_actions {
display: flex;
gap: 12px;
flex-wrap: wrap
}

.cookie_btn {
padding: 12px 24px;
border: none;
background: linear-gradient(to right, #5D1449 0%, #5D1449 50%, #7a1a5e 50%, #7a1a5e 100%);
background-size: 200% 100%;
background-position: 100% 0;
color: #FFF;
font-size: 14px;
font-weight: 700;
border-radius: 28px;
cursor: pointer;
transition: background-position .35s ease-out, box-shadow .2s ease-out;
letter-spacing: .3px;
font-family: 'Roboto', sans-serif;
box-shadow: 0 3px 5px 0 #5d14490f
}

.cookie_btn:hover {
background-position: 0 0;
box-shadow: 0 7px 22px 0 #5d144914
}

.cookie_btn:focus {
outline: none;
box-shadow: 0 0 0 3px #05b3e766 0 7px 22px 0 #5d144914
}

.cookie_btn:active {
box-shadow: inset 0 3px 5px 0 #5d144926
}

.cookie_btn_decline {
background: linear-gradient(to right, #8a8a8a 0%, #8a8a8a 50%, #6a6a6a 50%, #6a6a6a 100%);
background-size: 200% 100%;
background-position: 100% 0
}

.cookie_btn_decline:hover {
background-position: 0 0
}

.cookie_settings_trigger {
position: fixed;
bottom: 24px;
right: 24px;
width: 52px;
height: 52px;
background: linear-gradient(135deg, #5D1449 0%, #7a1a5e 100%);
border: 2px solid #05B3E7;
border-radius: 28px;
cursor: pointer;
z-index: 999;
display: none;
align-items: center;
justify-content: center;
box-shadow: 0 7px 22px 0 #5d144914;
transition: transform .18s ease-out, box-shadow .18s ease-out
}

.cookie_settings_trigger:hover {
transform: scale(1.08);
box-shadow: 0 9px 48px 0 #5d14491f
}

.cookie_settings_trigger::before {
content: '';
width: 24px;
height: 24px;
background: #05B3E7;
border-radius: 3px
}

.cookie_settings_trigger::after {
content: '';
position: absolute;
width: 12px;
height: 12px;
border: 2px solid #FFF;
border-radius: 3px
}

@media (max-width: 576px) {
.cookie_toast {
right: -100%;
left: 12px;
max-width: calc(100% - 24px)
}

.cookie_toast.shown {
right: auto
}

.cookie_actions {
flex-direction: column
}

.cookie_btn {
width: 100%
}

.cookie_settings_trigger {
bottom: 12px;
right: 12px
}
}

.legal-text {
max-width: 1200px;
margin: 0 auto;
padding: 48px 24px;
background: #FFF
}

.legal-text h1 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #5D1449;
margin: 0 0 48px;
padding-bottom: 24px;
border-bottom: 2px solid #5d14491f
}

.legal-text h2 {
font-size: 20px;
line-height: 1.3;
letter-spacing: -.01em;
color: #5D1449;
margin: 48px 0 24px;
font-weight: 600
}

.legal-text h3 {
font-size: 15px;
line-height: 1.3;
letter-spacing: 0;
color: #5D1449;
margin: 24px 0 12px;
font-weight: 600
}

.legal-text h4,
.legal-text h5,
.legal-text h6 {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #5D1449;
margin: 24px 0 12px;
font-weight: 600
}

.legal-text p {
font-size: 15px;
line-height: 1.7;
letter-spacing: 0;
color: #1a1a1a;
margin: 0 0 24px
}

.legal-text ul,
.legal-text ol {
margin: 0 0 24px;
padding-left: 24px
}

.legal-text li {
font-size: 15px;
line-height: 1.7;
letter-spacing: 0;
color: #1a1a1a;
margin: 0 0 12px
}

.legal-text li:last-child {
margin-bottom: 0
}

.legal-text ul ul,
.legal-text ol ol,
.legal-text ul ol,
.legal-text ol ul {
margin-top: 12px;
margin-bottom: 12px
}

.legal-text strong,
.legal-text b {
font-weight: 600;
color: #5D1449
}

.legal-text em,
.legal-text i {
font-style: italic
}

.legal-text table {
width: 100%;
border-collapse: collapse;
margin: 0 0 48px;
background: #FFF;
border-radius: 3px;
overflow: hidden;
box-shadow: 0 3px 5px 0 #5d14490f
}

.legal-text thead {
background: #5D1449
}

.legal-text thead tr {
border-bottom: none
}

.legal-text th {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #FFF;
text-align: left;
padding: 12px 24px;
font-weight: 600
}

.legal-text tbody tr {
border-bottom: 1px solid #5d144914;
transition: background .2s ease-out
}

.legal-text tbody tr:last-child {
border-bottom: none
}

.legal-text tbody tr:hover {
background: #05b3e708
}

.legal-text td {
font-size: 15px;
line-height: 1.7;
letter-spacing: 0;
color: #1a1a1a;
padding: 12px 24px
}

.legal-text hr {
border: none;
height: 1px;
background: #5d14491f;
margin: 48px 0
}

@media (max-width: 992px) {
.legal-text {
padding: 24px 12px
}

.legal-text h1 {
font-size: 20px;
margin-bottom: 24px;
padding-bottom: 12px
}

.legal-text h2 {
font-size: 15px;
margin: 24px 0 12px
}

.legal-text h3,
.legal-text h4,
.legal-text h5,
.legal-text h6 {
font-size: 14px;
margin: 12px 0
}

.legal-text p,
.legal-text li,
.legal-text td {
font-size: 14px
}

.legal-text th,
.legal-text td {
padding: 12px
}

.legal-text table {
margin-bottom: 24px
}

.legal-text hr {
margin: 24px 0
}
}

@media (max-width: 576px) {
.legal-text {
padding: 12px
}

.legal-text table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}

.legal-text th,
.legal-text td {
white-space: nowrap
}
}

.srv_dtl {
background: #FFF;
color: #1a0d15;
max-width: 1200px;
margin: 0 auto
}

.srv_dtl .manifesto_top {
position: relative;
padding: 96px 24px;
text-align: center;
background: linear-gradient(143deg, #5d144908 0%, #5d144903 100%);
overflow: hidden
}

.srv_dtl .manifesto_top::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: repeating-linear-gradient(143deg, transparent, transparent 48px, #5d144905 48px, #5d144905 52px);
pointer-events: none
}

.srv_dtl .img_wrap {
position: relative;
max-width: 900px;
margin: 0 auto 48px;
border-radius: 28px;
overflow: hidden;
aspect-ratio: 16/9
}

.srv_dtl .img_wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.srv_dtl .img_wrap::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(to top, #5d1449b3 0%, transparent 100%);
pointer-events: none
}

.srv_dtl .declare_txt {
position: relative;
z-index: 1;
max-width: 700px;
margin: 0 auto
}

.srv_dtl .declare_txt h1 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #5D1449
}

.srv_dtl .declare_txt p {
font-size: 20px;
line-height: 1.5;
letter-spacing: .01em;
margin: 0;
color: #2a1621
}

.srv_dtl .prg_area {
padding: 96px 24px;
background: #FFF
}

.srv_dtl .prg_inner {
max-width: 800px;
margin: 0 auto
}

.srv_dtl .prg_hd {
text-align: center;
margin-bottom: 48px
}

.srv_dtl .prg_hd h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.01em;
font-style: italic;
margin: 0;
color: #5D1449
}

.srv_dtl .prg_content {
text-align: left
}

.srv_dtl .prg_content h2 {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
margin: 0 0 12px;
color: #5D1449
}

.srv_dtl .prg_content p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0 0 24px;
color: #2a1621
}

.srv_dtl .prg_content mark {
background: #05b3e726;
color: #05B3E7;
padding: 4px 12px;
border-radius: 3px
}

.srv_dtl .prg_content ol {
margin: 0 0 24px;
padding: 0 0 0 24px
}

.srv_dtl .prg_content ol li {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0 0 12px;
color: #2a1621
}

.srv_dtl .prg_content ol li:nth-child(odd) {
color: #5D1449
}

.srv_dtl .prg_content ol li:nth-child(even) {
color: #05B3E7
}

.srv_dtl .prg_content dl {
margin: 0 0 24px
}

.srv_dtl .prg_content dt {
font-size: 15px;
line-height: 1.5;
letter-spacing: .01em;
font-weight: 700;
margin: 0 0 4px;
color: #5D1449
}

.srv_dtl .prg_content dd {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0 0 12px 24px;
color: #2a1621
}

.srv_dtl .prg_content blockquote {
margin: 24px 0;
padding: 24px;
background: #5d14490a;
border-radius: 3px;
position: relative
}

.srv_dtl .prg_content blockquote::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: #5D1449
}

.srv_dtl .prg_content blockquote p {
margin: 0 0 12px
}

.srv_dtl .prg_content cite {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
font-style: italic;
color: #05B3E7;
display: block
}

.srv_dtl .three_col_bar {
padding: 96px 24px;
background: linear-gradient(143deg, #05b3e70d 0%, #5d144905 100%);
position: relative
}

.srv_dtl .three_col_bar::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 12px;
height: 12px;
background: #5D1449;
border-radius: 28px;
opacity: .3
}

.srv_dtl .three_col_bar::after {
content: '';
position: absolute;
top: 50%;
left: 25%;
transform: translate(-50%, -50%);
width: 8px;
height: 8px;
background: #05B3E7;
border-radius: 28px;
opacity: .3
}

.srv_dtl .col_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
max-width: 1000px;
margin: 0 auto;
align-items: end
}

.srv_dtl .col_item {
background: #FFF;
border-radius: 28px;
padding: 24px;
box-shadow: 0 7px 22px 0 #5d144914;
transition: transform .25s ease-out, box-shadow .35s ease-out;
position: relative;
overflow: hidden
}

.srv_dtl .col_item:hover {
transform: translateY(-4px);
box-shadow: 0 9px 48px 0 #5d14491f
}

.srv_dtl .col_item:nth-child(2) {
padding-bottom: 48px
}

.srv_dtl .col_item::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #5D1449 0%, #05B3E7 100%);
transform: scaleX(0);
transform-origin: left;
transition: transform .4s ease-out
}

.srv_dtl .col_item:hover::before {
transform: scaleX(1)
}

.srv_dtl .bar_visual {
margin-bottom: 24px
}

.srv_dtl .bar_stack {
display: flex;
flex-direction: column;
gap: 12px
}

.srv_dtl .bar_row {
display: flex;
align-items: center;
gap: 12px
}

.srv_dtl .bar_lbl {
font-size: 14px;
line-height: 1.3;
letter-spacing: .01em;
color: #5D1449;
min-width: 80px;
flex-shrink: 0
}

.srv_dtl .bar_track {
flex: 1;
height: 24px;
background: #5d144914;
border-radius: 3px;
overflow: hidden;
position: relative
}

.srv_dtl .bar_fill {
height: 100%;
background: linear-gradient(90deg, #5D1449 0%, #05B3E7 100%);
border-radius: 3px;
transition: width .45s ease-out;
animation: bar_grow 1.2s ease-out
}

@keyframes bar_grow {
from {
width: 0
}
}

.srv_dtl .bar_row:nth-child(1) .bar_fill {
width: 85%;
animation-delay: .1s
}

.srv_dtl .bar_row:nth-child(2) .bar_fill {
width: 92%;
animation-delay: .2s
}

.srv_dtl .bar_row:nth-child(3) .bar_fill {
width: 78%;
animation-delay: .3s
}

.srv_dtl .col_item h3 {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
margin: 0 0 12px;
color: #5D1449
}

.srv_dtl .col_item p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0;
color: #2a1621
}

.srv_dtl .desc_price_zone {
padding: 96px 24px;
background: #FFF;
position: relative
}

.srv_dtl .desc_price_zone::before {
content: '';
position: absolute;
top: 24px;
left: 50%;
transform: translateX(-50%);
width: 200px;
height: 2px;
background: linear-gradient(90deg, transparent 0%, #5D1449 50%, transparent 100%)
}

.srv_dtl .desc_price_zone::after {
content: '';
position: absolute;
bottom: 0;
right: 12%;
width: 0;
height: 0;
border-style: solid;
border-width: 0 12px 24px;
border-color: transparent transparent #05b3e726;
opacity: .6
}

.srv_dtl .dp_wrap {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start
}

.srv_dtl .desc_full {
animation: slide_in_left .8s ease-out
}

@keyframes slide_in_left {
from {
opacity: 0;
transform: translateX(-24px)
}

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

.srv_dtl .desc_full h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.01em;
margin: 0 0 24px;
color: #5D1449;
text-align: center
}

.srv_dtl .intro_desc {
text-align: center;
margin-bottom: 48px
}

.srv_dtl .intro_desc p {
font-size: 20px;
line-height: 1.5;
letter-spacing: .01em;
margin: 0;
color: #2a1621;
max-width: 600px;
margin: 0 auto
}

.srv_dtl .body_desc {
text-align: left
}

.srv_dtl .body_desc p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0 0 24px;
color: #2a1621
}

.srv_dtl .body_desc h2 {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
margin: 48px 0 12px;
color: #5D1449;
text-align: left
}

.srv_dtl .body_desc em {
font-style: italic;
color: #05B3E7
}

.srv_dtl .body_desc strong {
font-weight: 700;
color: #5D1449
}

.srv_dtl .body_desc ul,
.srv_dtl .body_desc ol {
margin: 0 0 24px;
padding: 0 0 0 24px
}

.srv_dtl .body_desc ul li,
.srv_dtl .body_desc ol li {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0 0 12px;
color: #2a1621
}

.srv_dtl .body_desc ul li:nth-child(odd) {
color: #5D1449
}

.srv_dtl .body_desc ul li:nth-child(even) {
color: #05B3E7
}

.srv_dtl .body_desc ol li:nth-child(odd) {
color: #5D1449
}

.srv_dtl .body_desc ol li:nth-child(even) {
color: #05B3E7
}

.srv_dtl .body_desc dl {
margin: 0 0 24px
}

.srv_dtl .body_desc dt {
font-size: 15px;
line-height: 1.5;
letter-spacing: .01em;
font-weight: 700;
margin: 0 0 4px;
color: #5D1449
}

.srv_dtl .body_desc dd {
font-size: 15px;
line-height: 1.7;
letter-spacing: .02em;
margin: 0 0 12px 24px;
color: #2a1621
}

.srv_dtl .body_desc figure {
margin: 24px 0
}

.srv_dtl .body_desc figcaption {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #05B3E7;
margin-top: 12px;
text-align: center;
font-style: italic
}

.srv_dtl .price_card {
background: linear-gradient(143deg, #5d14490f 0%, #05b3e70a 100%);
border-radius: 28px;
padding: 48px 24px;
position: sticky;
top: 24px;
box-shadow: 0 7px 22px 0 #5d144914;
animation: slide_in_right .8s ease-out
}

@keyframes slide_in_right {
from {
opacity: 0;
transform: translateX(24px)
}

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

.srv_dtl .price_num {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
font-weight: 700;
color: #5D1449;
text-align: center;
margin: 0 0 12px;
display: block
}

.srv_dtl .price_short {
font-size: 15px;
line-height: 1.5;
letter-spacing: .01em;
color: #2a1621;
text-align: center;
margin: 0 0 24px;
display: block
}

.srv_dtl .price_note_txt {
font-size: 14px;
line-height: 1.7;
letter-spacing: .02em;
color: #2a1621;
text-align: center;
margin: 0 0 24px;
padding: 24px;
background: #fff9;
border-radius: 3px
}

.srv_dtl .meta_row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24px 0 0;
border-top: 2px solid #5d14491a;
gap: 12px
}

.srv_dtl .meta_item {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px
}

.srv_dtl .meta_lbl {
font-size: 14px;
line-height: 1.3;
letter-spacing: .01em;
color: #5D1449;
font-weight: 700
}

.srv_dtl .meta_val {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
color: #05B3E7
}

.srv_dtl .reaction_zone {
margin-top: 24px;
padding: 24px;
background: #fffc;
border-radius: 28px
}

.srv_dtl .reaction_hd {
font-size: 14px;
line-height: 1.3;
letter-spacing: .01em;
color: #5D1449;
text-align: center;
margin: 0 0 12px;
font-weight: 700
}

.srv_dtl .reaction_opts {
display: flex;
justify-content: center;
gap: 12px
}

.srv_dtl .reaction_opts input[type="radio"] {
position: absolute;
opacity: 0;
pointer-events: none
}

.srv_dtl .reaction_opts label {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 28px;
background: #5d144914;
cursor: pointer;
transition: background .25s ease-out, transform .2s ease-out, box-shadow .3s ease-out;
font-size: 20px;
border: 2px solid transparent
}

.srv_dtl .reaction_opts label:hover {
background: #5d14491f;
transform: scale(1.1)
}

.srv_dtl .reaction_opts input[type="radio"]:checked+label {
background: linear-gradient(135deg, #5D1449 0%, #05B3E7 100%);
border-color: #5D1449;
transform: scale(1.15);
box-shadow: 0 9px 48px 0 #5d14491f inset 0 2px 4px 0 #0000001a
}

.srv_dtl .reaction_opts input[type="radio"]:focus+label {
outline: 2px solid #05B3E7;
outline-offset: 4px
}

.srv_dtl .cta_btn {
display: inline-block;
padding: 24px 48px;
background: #5D1449;
color: #FFF;
font-size: 15px;
line-height: 1.3;
letter-spacing: .01em;
font-weight: 700;
text-decoration: none;
border-radius: 3px;
border: none;
cursor: pointer;
transition: background .35s ease-out, transform .2s ease-out, box-shadow .25s ease-out;
position: relative;
overflow: hidden;
width: 100%;
text-align: center;
box-shadow: 0 3px 5px 0 #5d14490f
}

.srv_dtl .cta_btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #05B3E7;
transition: left .4s ease-out;
z-index: 0
}

.srv_dtl .cta_btn:hover::before {
left: 0
}

.srv_dtl .cta_btn:hover {
transform: translateY(-2px);
box-shadow: 0 7px 22px 0 #5d144914
}

.srv_dtl .cta_btn:active {
transform: translateY(0);
box-shadow: 0 3px 5px 0 #5d14490f inset 0 2px 4px 0 #00000026
}

.srv_dtl .cta_btn span {
position: relative;
z-index: 1
}

@media (max-width: 992px) {
.srv_dtl .manifesto_top {
padding: 48px 24px
}

.srv_dtl .declare_txt h1 {
font-size: 48px
}

.srv_dtl .declare_txt p {
font-size: 15px
}

.srv_dtl .col_grid {
grid-template-columns: 1fr;
gap: 24px
}

.srv_dtl .col_item:nth-child(2) {
padding-bottom: 24px
}

.srv_dtl .dp_wrap {
grid-template-columns: 1fr;
gap: 48px
}

.srv_dtl .price_card {
position: static
}

.srv_dtl .prg_area,
.srv_dtl .three_col_bar,
.srv_dtl .desc_price_zone {
padding: 48px 24px
}

.srv_dtl .prg_hd h2,
.srv_dtl .desc_full h2 {
font-size: 48px
}
}

@media (max-width: 576px) {
.srv_dtl .manifesto_top {
padding: 24px 12px
}

.srv_dtl .img_wrap {
margin-bottom: 24px
}

.srv_dtl .declare_txt h1 {
font-size: 48px;
margin-bottom: 12px
}

.srv_dtl .declare_txt p {
font-size: 15px
}

.srv_dtl .prg_area,
.srv_dtl .three_col_bar,
.srv_dtl .desc_price_zone {
padding: 24px 12px
}

.srv_dtl .prg_hd {
margin-bottom: 24px
}

.srv_dtl .prg_hd h2,
.srv_dtl .desc_full h2 {
font-size: 48px
}

.srv_dtl .price_num {
font-size: 48px
}

.srv_dtl .meta_row {
flex-direction: column;
gap: 24px
}

.srv_dtl .cta_btn {
padding: 24px
}

.srv_dtl .bar_lbl {
min-width: 60px;
font-size: 14px
}

.srv_dtl .bar_track {
height: 20px
}
}

.serv_pg {
background: linear-gradient(143deg, #5d144908 0%, #05b3e705 100%), #FFF;
min-height: 100vh
}

.serv_pg .top_bnr {
background: linear-gradient(143deg, #5D1449 0%, #05B3E7 35%, #5D1449 70%, #05B3E7 100%);
padding: 48px 24px;
position: relative;
overflow: hidden
}

.serv_pg .top_bnr::before {
content: '';
position: absolute;
top: 12px;
left: 12px;
right: 12px;
bottom: 12px;
border: 1px solid #ffffff4d;
border-radius: 3px;
pointer-events: none
}

.serv_pg .bnr_wrap {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1
}

.serv_pg .bnr_ttl {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #FFF;
text-align: center;
margin: 0
}

.serv_pg .bnr_ttl .punc {
color: #05B3E7;
display: inline-block;
transform: scale(1.4);
margin-left: 4px
}

.serv_pg .grid_ctr {
max-width: 1200px;
margin: 96px auto;
padding: 0 24px
}

.serv_pg .svc_grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 24px
}

.serv_pg .svc_card {
background: #FFF;
border-radius: 28px;
overflow: hidden;
box-shadow: 0 3px 5px 0 #5d14490f;
transition: transform .35s ease-out, box-shadow .28s ease-out;
position: relative
}

.serv_pg .svc_card::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background: linear-gradient(90deg, #5d144908, #05b3e708);
transition: width .42s ease-out;
pointer-events: none;
z-index: 1
}

.serv_pg .svc_card:hover {
transform: translateY(-4px);
box-shadow: 0 9px 48px 0 #5d14491f
}

.serv_pg .svc_card:hover::before {
width: 100%
}

.serv_pg .card_img_wrap {
width: 100%;
height: 180px;
overflow: hidden;
position: relative;
background: linear-gradient(143deg, #5d144914, #05b3e714)
}

.serv_pg .card_img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
transition: transform .38s ease-out
}

.serv_pg .svc_card:hover .card_img {
transform: scale(1.05)
}

.serv_pg .card_bd {
padding: 24px;
position: relative;
z-index: 2
}

.serv_pg .card_ttl {
font-size: 20px;
line-height: 1.3;
letter-spacing: -.01em;
color: #5D1449;
margin: 0 0 12px;
font-weight: 600
}

.serv_pg .card_dsc {
font-size: 15px;
line-height: 1.5;
letter-spacing: .01em;
color: #2a2a2a;
margin: 0 0 24px
}

.serv_pg .card_prc_blk {
margin-bottom: 24px;
padding: 12px;
background: #05b3e70d;
border-radius: 3px;
border-left: 3px solid #05B3E7
}

.serv_pg .card_prc {
font-size: 20px;
line-height: 1.3;
letter-spacing: -.01em;
color: #5D1449;
font-weight: 700;
margin: 0 0 4px
}

.serv_pg .card_prc_trm {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0 0 4px
}

.serv_pg .card_prc_nt {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #6a6a6a;
margin: 0;
font-style: italic
}

.serv_pg .card_lnk {
display: inline-block;
padding: 12px 48px;
background: #5D1449;
color: #FFF;
text-decoration: none;
border-radius: 3px;
font-size: 15px;
line-height: 1.3;
letter-spacing: .01em;
position: relative;
overflow: hidden;
transition: transform .25s ease-out, box-shadow .25s ease-out
}

.serv_pg .card_lnk::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #05B3E7;
transition: left .4s ease-out;
z-index: -1
}

.serv_pg .card_lnk:hover::before {
left: 0
}

.serv_pg .card_lnk:hover {
transform: translateY(-2px);
box-shadow: 0 7px 22px 0 #5d144914
}

.serv_pg .card_lnk:active {
transform: translateY(0);
box-shadow: inset 0 3px 5px 0 #00000026
}

.serv_pg .coll_sec {
max-width: 1200px;
margin: 0 auto 96px;
padding: 48px 24px;
position: relative;
background: #fff9;
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
border-radius: 28px
}

.serv_pg .coll_sec::before {
content: '';
position: absolute;
top: -48px;
left: 50%;
transform: translateX(-50%);
width: 400px;
height: 400px;
background: radial-gradient(circle at center, #05b3e726, transparent 70%);
pointer-events: none;
z-index: -1
}

.serv_pg .coll_hd {
text-align: center;
margin-bottom: 48px
}

.serv_pg .coll_ttl {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #5D1449;
margin: 0 0 24px;
font-style: italic
}

.serv_pg .coll_txt {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #2a2a2a;
max-width: 720px;
margin: 0 auto
}

.serv_pg .coll_grd {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 48px
}

.serv_pg .coll_itm {
text-align: center;
position: relative
}

.serv_pg .coll_itm::before {
content: '';
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
width: 60px;
height: 4px;
background: linear-gradient(90deg, #5D1449, #05B3E7);
border-radius: 3px;
opacity: 0;
transition: opacity .32s ease-out, top .32s ease-out
}

.serv_pg .coll_itm:hover::before {
opacity: 1;
top: -24px
}

.serv_pg .coll_itm_num {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #05B3E7;
margin: 0 0 12px;
font-weight: 700
}

.serv_pg .coll_itm_lbl {
font-size: 15px;
line-height: 1.5;
letter-spacing: .01em;
color: #4a4a4a;
margin: 0
}

.serv_pg .exp_sec {
max-width: 1200px;
margin: 0 auto 96px;
padding: 0 24px
}

.serv_pg .exp_hd {
margin-bottom: 48px
}

.serv_pg .exp_ttl {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #5D1449;
margin: 0 0 24px;
text-align: center
}

.serv_pg .exp_intro {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #2a2a2a;
max-width: 640px;
margin: 0 auto;
text-align: center
}

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

.serv_pg .exp_crd {
background: #FFF;
padding: 24px;
border-radius: 28px;
box-shadow: 0 3px 5px 0 #05b3e70f;
position: relative;
overflow: hidden
}

.serv_pg .exp_crd::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 200px;
height: 200px;
background: linear-gradient(143deg, #5d14490a, #05b3e70a);
border-radius: 50%;
transform: translate(50%, 50%);
pointer-events: none
}

.serv_pg .exp_crd_top {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 24px
}

.serv_pg .exp_prt {
width: 80px;
height: 100px;
border-radius: 28px;
object-fit: cover;
object-position: center;
box-shadow: 0 3px 5px 0 #5d14490f
}

.serv_pg .exp_crd_inf {
flex: 1
}

.serv_pg .exp_nm {
font-size: 20px;
line-height: 1.3;
letter-spacing: -.01em;
color: #5D1449;
margin: 0 0 4px;
font-weight: 600
}

.serv_pg .exp_rl {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #6a6a6a;
margin: 0
}

.serv_pg .exp_crd_bd {
position: relative;
z-index: 1
}

.serv_pg .exp_qt {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #2a2a2a;
margin: 0;
font-style: italic
}

.serv_pg .wave_div {
width: 100%;
height: 120px;
position: relative;
overflow: hidden;
margin: 96px 0
}

.serv_pg .wave_div svg {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%
}

.serv_pg .wave_pth {
fill: none;
stroke: #05B3E7;
stroke-width: 2;
opacity: .3
}

.serv_pg .collab_sec {
max-width: 1200px;
margin: 0 auto 96px;
padding: 48px 24px;
background: linear-gradient(143deg, #5d14490a 0%, #05b3e70a 100%);
border-radius: 28px;
position: relative;
overflow: hidden
}

.serv_pg .collab_sec::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(45deg);
width: 600px;
height: 600px;
border: 80px solid #05b3e70f;
border-radius: 28px;
pointer-events: none
}

.serv_pg .collab_hd {
text-align: center;
margin-bottom: 48px;
position: relative;
z-index: 1
}

.serv_pg .collab_ttl {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #5D1449;
margin: 0 0 24px
}

.serv_pg .collab_txt {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #2a2a2a;
max-width: 720px;
margin: 0 auto 24px;
text-align: center
}

.serv_pg .collab_bd_txt {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
color: #2a2a2a;
max-width: 720px;
margin: 0 auto;
text-align: left
}

.serv_pg .collab_lst {
list-style: none;
padding: 0;
margin: 48px auto 0;
max-width: 800px;
position: relative;
z-index: 1
}

.serv_pg .collab_lst_itm {
padding: 24px;
margin-bottom: 12px;
background: #FFF;
border-radius: 3px;
box-shadow: 0 3px 5px 0 #5d14490f;
font-size: 15px;
line-height: 1.5;
letter-spacing: .01em;
color: #2a2a2a;
transition: transform .22s ease-out, box-shadow .22s ease-out;
position: relative;
overflow: hidden
}

.serv_pg .collab_lst_itm::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0;
height: 100%;
background: linear-gradient(90deg, #5d14490d, #05b3e70d);
transition: width .35s ease-out;
pointer-events: none
}

.serv_pg .collab_lst_itm:nth-child(odd) {
background: #5d144905
}

.serv_pg .collab_lst_itm:nth-child(even) {
background: #05b3e705
}

.serv_pg .collab_lst_itm:hover {
transform: translateX(12px);
box-shadow: 0 7px 22px 0 #5d144914
}

.serv_pg .collab_lst_itm:hover::before {
width: 100%
}

@media (max-width: 992px) {
.serv_pg .top_bnr {
padding: 24px 12px
}

.serv_pg .bnr_ttl {
font-size: 20px
}

.serv_pg .grid_ctr {
margin: 48px auto;
padding: 0 12px
}

.serv_pg .svc_grid {
grid-template-columns: 1fr;
gap: 12px
}

.serv_pg .coll_sec {
margin-bottom: 48px;
padding: 24px 12px
}

.serv_pg .coll_ttl {
font-size: 20px
}

.serv_pg .coll_grd {
grid-template-columns: 1fr;
gap: 24px
}

.serv_pg .exp_sec {
margin-bottom: 48px;
padding: 0 12px
}

.serv_pg .exp_ttl {
font-size: 20px
}

.serv_pg .exp_crd_wrap {
grid-template-columns: 1fr;
gap: 12px
}

.serv_pg .wave_div {
margin: 48px 0
}

.serv_pg .collab_sec {
margin-bottom: 48px;
padding: 24px 12px
}

.serv_pg .collab_ttl {
font-size: 20px
}

.serv_pg .collab_lst_itm {
padding: 12px
}
}

@media (max-width: 576px) {
.serv_pg .top_bnr {
padding: 12px
}

.serv_pg .card_bd {
padding: 12px
}

.serv_pg .card_lnk {
padding: 12px 24px
}

.serv_pg .coll_sec::before {
width: 200px;
height: 200px
}

.serv_pg .collab_sec::before {
width: 300px;
height: 300px
}
}

.abt_pg {
background: #FFF;
color: #2d2d2d;
overflow-x: clip
}

.abt_pg .grad_top {
background: linear-gradient(143deg, #5D1449 0%, #05B3E7 38%, #f5f5f5 38.1%, #f5f5f5 100%);
padding: 96px 24px;
position: relative;
overflow: hidden
}

.abt_pg .grad_top::before {
content: '';
position: absolute;
top: 24px;
right: 24px;
width: 280px;
height: 280px;
border: 2px solid #5d144926;
border-radius: 3px;
pointer-events: none
}

.abt_pg .grad_top::after {
content: '';
position: absolute;
top: 36px;
right: 36px;
width: 256px;
height: 256px;
border: 2px solid #5d14491a;
border-radius: 3px;
pointer-events: none
}

.abt_pg .top_lim {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.abt_pg .txt_zone {
padding: 48px 48px 48px 24px
}

.abt_pg .bg_zone {
background: #ffffff14;
-webkit-backdrop-filter: blur(12px);
backdrop-filter: blur(12px);
padding: 96px 48px;
border-radius: 28px;
position: relative
}

.abt_pg .first_phrase {
background: linear-gradient(135deg, #05B3E7, #5D1449);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
font-weight: 700;
display: inline
}

.abt_pg .rest_txt {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
font-weight: 700;
color: #2d2d2d;
display: inline
}

.abt_pg .sub_line {
font-size: 20px;
line-height: 1.5;
color: #4a4a4a;
margin-top: 24px;
letter-spacing: .01em
}

@media (max-width: 992px) {
.abt_pg .top_lim {
grid-template-columns: 1fr;
gap: 24px
}

.abt_pg .txt_zone {
padding: 24px 12px
}

.abt_pg .bg_zone {
padding: 48px 24px
}

.abt_pg .first_phrase,
.abt_pg .rest_txt {
font-size: 32px
}

.abt_pg .grad_top {
padding: 48px 12px
}
}

@media (max-width: 576px) {

.abt_pg .first_phrase,
.abt_pg .rest_txt {
font-size: 24px
}

.abt_pg .sub_line {
font-size: 15px
}
}

.abt_pg .story_wrap {
max-width: 1200px;
margin: 0 auto;
padding: 96px 24px;
display: grid;
grid-template-columns: 3fr 1fr;
gap: 48px
}

.abt_pg .main_col {
display: flex;
flex-direction: column;
gap: 48px
}

.abt_pg .side_col {
display: flex;
flex-direction: column;
gap: 24px
}

.abt_pg .narrative_blk {
background: #f9f9f9;
padding: 48px;
border-radius: 28px;
box-shadow: 0 7px 22px 0 #5d144914
}

.abt_pg .narrative_blk h2 {
font-size: 20px;
line-height: 1.3;
font-style: italic;
text-align: center;
color: #5D1449;
margin-bottom: 24px;
letter-spacing: .005em
}

.abt_pg .narrative_blk p {
font-size: 15px;
line-height: 1.7;
color: #3a3a3a;
text-align: left;
letter-spacing: .015em;
margin-bottom: 24px
}

.abt_pg .narrative_blk p:last-child {
margin-bottom: 0
}

.abt_pg .metric_card {
background: linear-gradient(143deg, #05b3e714 0%, #5d144914 100%);
padding: 24px;
border-radius: 3px;
border: 1px solid #5d14491f;
transition: transform .25s ease-out, box-shadow .25s ease-out
}

.abt_pg .metric_card:hover {
transform: translateY(-4px);
box-shadow: 0 9px 48px 0 #05b3e71f
}

.abt_pg .metric_num {
font-size: 48px;
line-height: 1.1;
font-weight: 700;
color: #5D1449;
letter-spacing: -.02em;
display: block;
margin-bottom: 12px
}

.abt_pg .metric_lbl {
font-size: 14px;
line-height: 1.3;
color: #4a4a4a;
letter-spacing: .02em;
text-transform: uppercase;
display: block
}

.abt_pg .divider_thin {
width: 100%;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #05B3E7 50%, transparent 100%);
margin: 12px 0
}

@media (max-width: 992px) {
.abt_pg .story_wrap {
grid-template-columns: 1fr;
padding: 48px 12px;
gap: 24px
}

.abt_pg .narrative_blk {
padding: 24px
}

.abt_pg .metric_num {
font-size: 32px
}
}

.abt_pg .team_sect {
background: #05b3e70a;
padding: 96px 24px;
position: relative
}

.abt_pg .team_sect::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(90deg, #5D1449 0%, #05B3E7 50%, #5D1449 100%)
}

.abt_pg .team_lim {
max-width: 1200px;
margin: 0 auto
}

.abt_pg .team_intro {
text-align: center;
max-width: 800px;
margin: 0 auto 48px
}

.abt_pg .team_intro h2 {
font-size: 20px;
line-height: 1.3;
font-style: italic;
color: #5D1449;
margin-bottom: 24px;
letter-spacing: .005em
}

.abt_pg .team_intro p {
font-size: 15px;
line-height: 1.7;
color: #3a3a3a;
letter-spacing: .015em
}

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

.abt_pg .step_item {
background: #FFF;
padding: 24px;
border-radius: 3px;
box-shadow: 0 3px 5px 0 #5d14490f;
transition: box-shadow .3s ease-out, transform .3s ease-out;
border-left: 0
}

.abt_pg .step_item:hover {
box-shadow: 0 9px 48px 0 #05b3e71f;
transform: translateY(-2px)
}

.abt_pg .step_num {
width: 56px;
height: 56px;
background: linear-gradient(135deg, #5D1449, #05B3E7);
color: #FFF;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
font-weight: 700;
margin-bottom: 12px;
line-height: 1.1
}

.abt_pg .step_ttl {
font-size: 15px;
line-height: 1.3;
font-weight: 700;
color: #2d2d2d;
margin-bottom: 12px;
letter-spacing: .01em
}

.abt_pg .step_line {
width: 48px;
height: 2px;
background: #05B3E7;
margin-bottom: 12px
}

.abt_pg .step_desc {
font-size: 14px;
line-height: 1.5;
color: #4a4a4a;
letter-spacing: .015em
}

.abt_pg .profile_grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 48px;
margin-top: 48px
}

.abt_pg .profile_card {
display: flex;
align-items: flex-start;
gap: 24px;
background: #FFF;
padding: 24px;
border-radius: 28px;
box-shadow: 0 7px 22px 0 #5d144914;
transition: transform .35s ease-out, box-shadow .35s ease-out
}

.abt_pg .profile_card:hover {
transform: scale(1.02);
box-shadow: 0 9px 48px 0 #05b3e71f
}

.abt_pg .prof_img_wrap {
flex-shrink: 0
}

.abt_pg .prof_img {
width: 96px;
height: 96px;
border-radius: 50%;
object-fit: cover;
object-position: center;
box-shadow: 0 3px 5px 0 #5d14490f
}

.abt_pg .prof_content {
flex: 1
}

.abt_pg .prof_name {
font-size: 15px;
line-height: 1.3;
font-weight: 700;
color: #5D1449;
margin-bottom: 4px;
letter-spacing: .01em
}

.abt_pg .prof_role {
font-size: 14px;
line-height: 1.3;
color: #05B3E7;
margin-bottom: 12px;
letter-spacing: .015em
}

.abt_pg .prof_bio {
font-size: 14px;
line-height: 1.5;
color: #4a4a4a;
letter-spacing: .015em
}

@media (max-width: 992px) {
.abt_pg .steps_row {
grid-template-columns: 1fr
}

.abt_pg .profile_grid {
grid-template-columns: 1fr;
gap: 24px
}

.abt_pg .team_sect {
padding: 48px 12px
}
}

@media (max-width: 576px) {
.abt_pg .profile_card {
flex-direction: column;
align-items: center;
text-align: center
}
}

.abt_pg .approach_zone {
max-width: 1200px;
margin: 0 auto;
padding: 96px 24px
}

.abt_pg .approach_hdr {
text-align: center;
margin-bottom: 48px
}

.abt_pg .approach_hdr h3 {
font-size: 20px;
line-height: 1.3;
font-style: italic;
color: #5D1449;
letter-spacing: .005em
}

.abt_pg .img_grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
margin-bottom: 48px
}

.abt_pg .img_box {
aspect-ratio: 16/9;
border-radius: 3px;
overflow: hidden;
box-shadow: 0 7px 22px 0 #5d144914;
transition: transform .4s ease-out, box-shadow .4s ease-out
}

.abt_pg .img_box:hover {
transform: scale(1.05);
box-shadow: 0 9px 48px 0 #05b3e71f
}

.abt_pg .img_box img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center
}

.abt_pg .value_list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 12px
}

.abt_pg .value_list li {
padding: 24px;
border-radius: 3px;
font-size: 15px;
line-height: 1.5;
letter-spacing: .015em;
transition: background .2s ease-out
}

.abt_pg .value_list li:nth-child(odd) {
background: #5d14490d;
color: #2d2d2d
}

.abt_pg .value_list li:nth-child(even) {
background: #05b3e70d;
color: #2d2d2d
}

.abt_pg .value_list li:hover {
background: #05b3e71f
}

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

.abt_pg .approach_zone {
padding: 48px 12px
}
}

@media (max-width: 576px) {
.abt_pg .img_grid {
grid-template-columns: 1fr
}
}

.abt_pg .icon_rot {
display: inline-block;
width: 24px;
height: 24px;
background: linear-gradient(135deg, #5D1449, #05B3E7);
border-radius: 3px;
margin-right: 12px;
animation: settle_rot .8s ease-out forwards;
vertical-align: middle
}

@keyframes settle_rot {
0% {
transform: rotate(0deg)
}

100% {
transform: rotate(360deg)
}
}

.lead_pg {
background: #FFF;
color: #1d1d1d;
overflow-x: clip
}

.lead_pg a {
color: inherit;
text-decoration: none !important
}

.lead_pg .hero_zone {
max-width: 1200px;
margin: 0 auto;
padding: 48px 24px;
display: grid;
grid-template-columns: 1fr 380px;
gap: 48px;
align-items: center;
position: relative
}

.lead_pg .hero_txt h1 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #5D1449
}

.lead_pg .hero_txt h1 .accent_word {
position: relative;
display: inline-block
}

.lead_pg .hero_txt h1 .accent_word::after {
content: '';
position: absolute;
bottom: 4px;
left: 0;
right: 0;
height: 3px;
background: #05B3E7
}

.lead_pg .hero_txt p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0;
color: #2d2d2d
}

.lead_pg .hero_img_card {
width: 100%;
height: 420px;
border-radius: 28px;
overflow: hidden;
box-shadow: 0 7px 22px 0 #5d144914;
position: relative
}

.lead_pg .hero_img_card::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(0deg, transparent, transparent 2px, #00000008 2px, #00000008 4px);
pointer-events: none;
z-index: 2
}

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

.lead_pg .trust_sec {
background: linear-gradient(143deg, #FFF 0%, #f7f7f7 45%, #05B3E7 45.5%, #05B3E7 47%, #f7f7f7 47.5%, #f7f7f7 100%);
padding: 96px 24px;
position: relative
}

.lead_pg .trust_wrap {
max-width: 1200px;
margin: 0 auto
}

.lead_pg .trust_intro {
text-align: center;
max-width: 680px;
margin: 0 auto 48px
}

.lead_pg .trust_intro h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #5D1449;
font-style: italic
}

.lead_pg .trust_intro p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0;
color: #2d2d2d
}

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

.lead_pg .trust_card {
background: #FFF;
border-radius: 28px;
padding: 24px;
box-shadow: 0 3px 5px 0 #05b3e70f;
transition: transform .27s ease-out, box-shadow .27s ease-out;
animation: slide_in_right .38s ease-out backwards
}

.lead_pg .trust_card:nth-child(1) {
animation-delay: .08s
}

.lead_pg .trust_card:nth-child(2) {
animation-delay: .16s
}

.lead_pg .trust_card:nth-child(3) {
animation-delay: .24s
}

@keyframes slide_in_right {
from {
opacity: 0;
transform: translateX(60px)
}

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

.lead_pg .trust_card:hover {
transform: translateY(-4px);
box-shadow: 0 9px 48px 0 #05b3e71f
}

.lead_pg .trust_card h4 {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
margin: 0 0 12px;
color: #5D1449
}

.lead_pg .trust_card p {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
margin: 0;
color: #3d3d3d
}

.lead_pg .gap_sec {
max-width: 1200px;
margin: 0 auto;
padding: 96px 24px;
display: grid;
grid-template-columns: 480px 1fr;
gap: 96px;
align-items: center
}

.lead_pg .gap_img_wrap {
width: 100%;
height: 520px;
border-radius: 3px;
overflow: hidden;
box-shadow: 0 7px 22px 0 #5d144914;
position: relative;
animation: slide_in_right .42s ease-out backwards
}

.lead_pg .gap_img_wrap::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(45deg, transparent, transparent 1px, #00000005 1px, #00000005 2px);
pointer-events: none;
z-index: 2
}

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

.lead_pg .gap_txt h3 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #05B3E7;
text-align: center;
animation: slide_in_right .35s ease-out backwards;
animation-delay: .12s
}

.lead_pg .gap_txt p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0 0 24px;
color: #2d2d2d;
text-align: left;
animation: slide_in_right .35s ease-out backwards
}

.lead_pg .gap_txt p:nth-of-type(1) {
animation-delay: .2s
}

.lead_pg .gap_txt p:nth-of-type(2) {
animation-delay: .28s
}

.lead_pg .gap_txt p:last-child {
margin-bottom: 0
}

.lead_pg .value_sec {
background: #5D1449;
padding: 96px 24px;
position: relative
}

.lead_pg .value_sec::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 100%;
background: linear-gradient(143deg, transparent 0%, transparent 72%, #05b3e726 72.5%, #05b3e726 74%, transparent 74.5%, transparent 100%);
pointer-events: none
}

.lead_pg .value_wrap {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1
}

.lead_pg .value_intro {
text-align: center;
max-width: 720px;
margin: 0 auto 48px
}

.lead_pg .value_intro h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #FFF;
font-style: italic
}

.lead_pg .value_intro p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0;
color: #ffffffeb
}

.lead_pg .value_grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 48px
}

.lead_pg .value_item {
display: flex;
gap: 24px;
animation: slide_in_right .4s ease-out backwards
}

.lead_pg .value_item:nth-child(1) {
animation-delay: .1s
}

.lead_pg .value_item:nth-child(2) {
animation-delay: .2s
}

.lead_pg .value_item:nth-child(3) {
animation-delay: .3s
}

.lead_pg .value_item:nth-child(4) {
animation-delay: .4s
}

.lead_pg .value_img_box {
width: 220px;
height: 140px;
border-radius: 28px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 3px 5px 0 #05b3e70f;
position: relative
}

.lead_pg .value_img_box::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(90deg, transparent, transparent 3px, #0000000a 3px, #0000000a 6px);
pointer-events: none;
z-index: 2
}

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

.lead_pg .value_txt h5 {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
margin: 0 0 12px;
color: #FFF
}

.lead_pg .value_txt p {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
margin: 0;
color: #ffffffe0
}

.lead_pg .invest_sec {
max-width: 1200px;
margin: 0 auto;
padding: 96px 24px
}

.lead_pg .invest_layout {
display: grid;
grid-template-columns: 1fr 520px;
gap: 96px;
align-items: start
}

.lead_pg .invest_content h3 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #5D1449;
text-align: center;
animation: slide_in_right .32s ease-out backwards
}

.lead_pg .invest_content p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0 0 24px;
color: #2d2d2d;
text-align: left;
animation: slide_in_right .32s ease-out backwards
}

.lead_pg .invest_content p:nth-of-type(1) {
animation-delay: .1s
}

.lead_pg .invest_content p:nth-of-type(2) {
animation-delay: .18s
}

.lead_pg .invest_content p:last-child {
margin-bottom: 0
}

.lead_pg .invest_visual {
background: #f4f4f4;
border-radius: 28px;
padding: 48px;
box-shadow: 0 7px 22px 0 #5d144914;
animation: slide_in_right .44s ease-out backwards;
animation-delay: .26s
}

.lead_pg .invest_visual h6 {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
margin: 0 0 24px;
color: #05B3E7;
text-align: center
}

.lead_pg .price_list {
list-style: none;
margin: 0;
padding: 0
}

.lead_pg .price_list li {
padding: 12px 0;
border-bottom: 1px dashed #5d144933;
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #3d3d3d;
display: flex;
justify-content: space-between;
align-items: center
}

.lead_pg .price_list li:nth-child(odd) {
background: #5d144908
}

.lead_pg .price_list li:nth-child(even) {
background: #05b3e708
}

.lead_pg .price_list li:last-child {
border-bottom: none
}

.lead_pg .price_list .price_label {
font-weight: 600
}

.lead_pg .price_list .price_val {
color: #5D1449;
font-weight: 700
}

.lead_pg .comm_sec {
background: linear-gradient(143deg, #f9f9f9 0%, #f9f9f9 58%, #05B3E7 58.5%, #05B3E7 60%, #f9f9f9 60.5%, #f9f9f9 100%);
padding: 96px 24px;
position: relative
}

.lead_pg .comm_wrap {
max-width: 1200px;
margin: 0 auto
}

.lead_pg .comm_intro {
text-align: center;
max-width: 700px;
margin: 0 auto 48px
}

.lead_pg .comm_intro h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #5D1449;
font-style: italic
}

.lead_pg .comm_intro p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0;
color: #2d2d2d
}

.lead_pg .comm_profile {
display: flex;
align-items: center;
gap: 48px;
max-width: 840px;
margin: 0 auto;
animation: slide_in_right .36s ease-out backwards;
animation-delay: .14s
}

.lead_pg .comm_portrait {
width: 180px;
height: 180px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
box-shadow: 0 7px 22px 0 #05b3e714;
border: 4px solid #FFF
}

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

.lead_pg .comm_quote {
flex: 1
}

.lead_pg .comm_quote p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0 0 12px;
color: #2d2d2d;
font-style: italic
}

.lead_pg .comm_quote cite {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
color: #5D1449;
font-style: normal;
font-weight: 600;
display: block
}

.lead_pg .scale_sec {
max-width: 1200px;
margin: 0 auto;
padding: 96px 24px
}

.lead_pg .scale_intro {
text-align: center;
max-width: 680px;
margin: 0 auto 48px
}

.lead_pg .scale_intro h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
color: #05B3E7;
font-style: italic
}

.lead_pg .scale_intro p {
font-size: 15px;
line-height: 1.7;
letter-spacing: .01em;
margin: 0;
color: #2d2d2d
}

.lead_pg .timeline_wrap {
position: relative;
max-width: 900px;
margin: 0 auto
}

.lead_pg .timeline_wrap::before {
content: '';
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 2px;
background: linear-gradient(to bottom, #5D1449 0%, #05B3E7 100%);
transform: translateX(-50%)
}

.lead_pg .timeline_event {
display: grid;
grid-template-columns: 1fr 48px 1fr;
gap: 24px;
margin-bottom: 48px;
align-items: center;
animation: slide_in_right .38s ease-out backwards
}

.lead_pg .timeline_event:nth-child(1) {
animation-delay: .08s
}

.lead_pg .timeline_event:nth-child(2) {
animation-delay: .16s
}

.lead_pg .timeline_event:nth-child(3) {
animation-delay: .24s
}

.lead_pg .timeline_event:nth-child(4) {
animation-delay: .32s
}

.lead_pg .timeline_event:last-child {
margin-bottom: 0
}

.lead_pg .timeline_left {
text-align: right;
padding-right: 24px
}

.lead_pg .timeline_right {
text-align: left;
padding-left: 24px
}

.lead_pg .timeline_dot {
width: 48px;
height: 48px;
border-radius: 50%;
background: #FFF;
border: 4px solid #5D1449;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
font-weight: 700;
color: #5D1449;
box-shadow: 0 3px 5px 0 #5d14490f;
position: relative;
z-index: 2
}

.lead_pg .timeline_event:nth-child(even) .timeline_dot {
border-color: #05B3E7;
color: #05B3E7
}

.lead_pg .timeline_content h6 {
font-size: 20px;
line-height: 1.3;
letter-spacing: 0;
margin: 0 0 12px;
color: #5D1449
}

.lead_pg .timeline_content p {
font-size: 14px;
line-height: 1.5;
letter-spacing: .01em;
margin: 0;
color: #3d3d3d
}

.lead_pg .timeline_metric {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #05B3E7;
font-weight: 700;
display: block;
margin-bottom: 4px
}

@media (max-width: 1200px) {
.lead_pg .hero_zone {
grid-template-columns: 1fr 320px;
gap: 24px
}

.lead_pg .hero_img_card {
height: 360px
}

.lead_pg .gap_sec {
grid-template-columns: 420px 1fr;
gap: 48px
}

.lead_pg .gap_img_wrap {
height: 460px
}

.lead_pg .invest_layout {
grid-template-columns: 1fr 460px;
gap: 48px
}
}

@media (max-width: 992px) {
.lead_pg .hero_zone {
grid-template-columns: 1fr;
gap: 24px;
padding: 48px 12px
}

.lead_pg .hero_img_card {
height: 320px
}

.lead_pg .hero_txt h1 {
font-size: 40px
}

.lead_pg .trust_sec,
.lead_pg .value_sec,
.lead_pg .comm_sec {
padding: 48px 12px
}

.lead_pg .trust_intro,
.lead_pg .value_intro,
.lead_pg .comm_intro,
.lead_pg .scale_intro {
margin-bottom: 24px
}

.lead_pg .trust_intro h2,
.lead_pg .value_intro h2,
.lead_pg .comm_intro h2,
.lead_pg .scale_intro h2 {
font-size: 40px
}

.lead_pg .trust_grid {
grid-template-columns: 1fr;
gap: 12px
}

.lead_pg .gap_sec {
grid-template-columns: 1fr;
gap: 24px;
padding: 48px 12px
}

.lead_pg .gap_img_wrap {
height: 380px
}

.lead_pg .gap_txt h3,
.lead_pg .invest_content h3 {
font-size: 40px
}

.lead_pg .value_grid {
grid-template-columns: 1fr;
gap: 24px
}

.lead_pg .invest_sec,
.lead_pg .scale_sec {
padding: 48px 12px
}

.lead_pg .invest_layout {
grid-template-columns: 1fr;
gap: 24px
}

.lead_pg .invest_visual {
padding: 24px
}

.lead_pg .comm_profile {
flex-direction: column;
gap: 24px
}

.lead_pg .comm_portrait {
width: 160px;
height: 160px
}

.lead_pg .timeline_event {
grid-template-columns: 1fr;
gap: 12px
}

.lead_pg .timeline_wrap::before {
left: 24px
}

.lead_pg .timeline_left,
.lead_pg .timeline_right {
text-align: left;
padding-left: 72px;
padding-right: 0
}

.lead_pg .timeline_dot {
position: absolute;
left: 0
}
}

@media (max-width: 576px) {
.lead_pg .hero_zone {
padding: 24px 12px
}

.lead_pg .hero_txt h1 {
font-size: 32px
}

.lead_pg .hero_img_card {
height: 240px
}

.lead_pg .trust_sec,
.lead_pg .value_sec,
.lead_pg .comm_sec {
padding: 24px 12px
}

.lead_pg .trust_intro h2,
.lead_pg .value_intro h2,
.lead_pg .comm_intro h2,
.lead_pg .scale_intro h2,
.lead_pg .gap_txt h3,
.lead_pg .invest_content h3 {
font-size: 32px
}

.lead_pg .gap_sec,
.lead_pg .invest_sec,
.lead_pg .scale_sec {
padding: 24px 12px
}

.lead_pg .gap_img_wrap {
height: 280px
}

.lead_pg .value_item {
flex-direction: column;
gap: 12px
}

.lead_pg .value_img_box {
width: 100%;
height: 180px
}

.lead_pg .invest_visual {
padding: 12px
}

.lead_pg .comm_portrait {
width: 140px;
height: 140px
}

.lead_pg .timeline_metric {
font-size: 32px
}
}

.lead_pg .interact_btn {
background: #5D1449;
color: #FFF;
border: none;
border-radius: 3px;
padding: 12px 24px;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0;
cursor: pointer;
position: relative;
overflow: hidden;
transition: transform .22s ease-out, box-shadow .22s ease-out;
box-shadow: 0 3px 5px 0 #5d14490f
}

.lead_pg .interact_btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #ffffff1f;
transition: left .32s ease-out
}

.lead_pg .interact_btn:hover::before {
left: 0
}

.lead_pg .interact_btn:hover {
transform: translateY(-2px);
box-shadow: 0 7px 22px 0 #5d144914
}

.lead_pg .interact_btn:active {
transform: translateY(0);
box-shadow: inset 0 2px 4px 0 #00000026
}

.lead_pg .cta_link {
display: inline-block;
background: #05B3E7;
color: #FFF;
border-radius: 28px;
padding: 12px 48px;
font-size: 15px;
line-height: 1.3;
letter-spacing: 0;
font-weight: 600;
position: relative;
overflow: hidden;
transition: transform .26s ease-out, box-shadow .26s ease-out;
box-shadow: 0 3px 5px 0 #05b3e70f;
margin-top: 24px
}

.lead_pg .cta_link::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #ffffff2e;
transition: left .35s ease-out
}

.lead_pg .cta_link:hover::before {
left: 0
}

.lead_pg .cta_link:hover {
transform: translateY(-3px);
box-shadow: 0 9px 48px 0 #05b3e71f
}

.lead_pg .cta_link:active {
transform: translateY(0);
box-shadow: inset 0 3px 6px 0 #0003
}

.contact_pg {
background: #FFF;
color: #2B2B2B;
overflow-x: clip
}

.contact_pg .intro_visual {
position: relative;
min-height: 520px;
padding: 96px 24px 48px;
background: linear-gradient(143deg, #5D1449 0%, #5D1449 58%, #05B3E7 58%, #05B3E7 100%);
overflow: hidden
}

.contact_pg .intro_visual::before {
content: '01';
position: absolute;
top: 12%;
right: 8%;
font-size: 280px;
font-weight: 700;
color: #ffffff14;
line-height: 1;
letter-spacing: -.03em;
pointer-events: none;
transform: rotate(-8deg);
animation: intro_num_appear .35s ease-out
}

@keyframes intro_num_appear {
from {
opacity: 0;
transform: rotate(-18deg)
}

to {
opacity: 1;
transform: rotate(-8deg)
}
}

.contact_pg .intro_wrap {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 2
}

.contact_pg .intro_txt {
max-width: 680px
}

.contact_pg .intro_h {
font-size: 48px;
line-height: 1.1;
color: #FFF;
margin: 0 0 24px;
letter-spacing: -.02em
}

.contact_pg .intro_desc {
font-size: 20px;
line-height: 1.5;
color: #ffffffeb;
margin: 0 0 48px;
letter-spacing: .01em
}

.contact_pg .intro_links {
display: flex;
gap: 24px;
flex-wrap: wrap
}

.contact_pg .intro_link {
display: inline-block;
padding: 12px 24px;
background: #ffffff26;
color: #FFF;
text-decoration: none;
border-radius: 3px;
font-size: 15px;
line-height: 1.3;
letter-spacing: .02em;
position: relative;
overflow: hidden;
transition: background .28s ease-out, transform .18s ease-out;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px)
}

.contact_pg .intro_link::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #ffffff40;
transition: left .32s ease-out
}

.contact_pg .intro_link:hover::before {
left: 0
}

.contact_pg .intro_link:hover {
background: #fff3;
transform: translateY(-2px)
}

.contact_pg .intro_link:active {
transform: translateY(0);
box-shadow: inset 0 3px 5px 0 #5d144926
}

.contact_pg .intro_link.primary_act {
background: #FFF;
color: #5D1449
}

.contact_pg .intro_link.primary_act::before {
background: #05B3E7
}

.contact_pg .intro_link.primary_act:hover {
background: #FFF;
color: #FFF
}

.contact_pg .intro_img_zone {
position: absolute;
right: 0;
bottom: 0;
width: 420px;
height: 380px;
opacity: .12;
filter: grayscale(100%);
pointer-events: none
}

.contact_pg .intro_img_zone::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 0%, #5D1449 100%)
}

.contact_pg .form_main_area {
position: relative;
padding: 96px 24px;
background: #FAFCFD
}

.contact_pg .form_main_area::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #5D1449 20%, #5D1449 80%, transparent 100%)
}

.contact_pg .form_divider {
display: flex;
align-items: center;
justify-content: center;
gap: 24px;
margin: 0 0 48px
}

.contact_pg .form_divider::before,
.contact_pg .form_divider::after {
content: '';
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #5d144940 50%, transparent 100%);
max-width: 280px
}

.contact_pg .form_divider_num {
font-size: 48px;
line-height: 1.1;
font-weight: 700;
color: #5D1449;
letter-spacing: -.02em
}

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

.contact_pg .form_block {
background: #FFF;
padding: 48px;
border-radius: 28px;
box-shadow: 0 7px 22px 0 #5d144914;
animation: form_slide_in .42s ease-out
}

@keyframes form_slide_in {
from {
opacity: 0;
transform: translateY(24px) rotate(-1deg)
}

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

.contact_pg .form_h {
font-size: 20px;
line-height: 1.3;
color: #5D1449;
margin: 0 0 24px;
letter-spacing: .01em;
font-style: italic;
text-align: center
}

.contact_pg .form_group {
margin: 0 0 24px
}

.contact_pg .form_label {
display: block;
font-size: 14px;
line-height: 1.5;
color: #2B2B2B;
margin: 0 0 12px;
letter-spacing: .02em;
font-weight: 600
}

.contact_pg .form_input,
.contact_pg .form_select {
width: 100%;
padding: 12px 24px;
font-size: 15px;
line-height: 1.5;
color: #2B2B2B;
background: #FAFCFD;
border: 1px solid #5d144926;
border-radius: 3px;
transition: border-color .22s ease-out, box-shadow .22s ease-out, background .18s ease-out;
letter-spacing: .01em
}

.contact_pg .form_input::placeholder {
color: #2B2B2B;
opacity: .4
}

.contact_pg .form_input:focus,
.contact_pg .form_select:focus {
outline: none;
border-color: #5D1449;
background: #FFF;
box-shadow: 0 3px 5px 0 #5d14490f
}

.contact_pg .form_input:hover,
.contact_pg .form_select:hover {
border-color: #5d144959
}

.contact_pg .form_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='%235D1449' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 24px center;
padding-right: 48px
}

.contact_pg .radio_set {
display: flex;
flex-direction: column;
gap: 12px
}

.contact_pg .radio_item {
display: flex;
align-items: center;
gap: 12px;
padding: 12px;
background: #FAFCFD;
border-radius: 3px;
cursor: pointer;
transition: background .2s ease-out, box-shadow .2s ease-out
}

.contact_pg .radio_item:hover {
background: #F5F8FA;
box-shadow: 0 3px 5px 0 #5d14490f
}

.contact_pg .radio_input {
width: 20px;
height: 20px;
margin: 0;
cursor: pointer;
accent-color: #5D1449
}

.contact_pg .radio_label {
font-size: 15px;
line-height: 1.5;
color: #2B2B2B;
cursor: pointer;
letter-spacing: .01em;
flex: 1
}

.contact_pg .privacy_check {
display: flex;
align-items: start;
gap: 12px;
margin: 0 0 24px;
padding: 12px;
background: #F5F8FA;
border-radius: 3px
}

.contact_pg .privacy_input {
width: 20px;
height: 20px;
margin: 2px 0 0;
cursor: pointer;
accent-color: #5D1449;
flex-shrink: 0
}

.contact_pg .privacy_txt {
font-size: 14px;
line-height: 1.5;
color: #2B2B2B;
letter-spacing: .01em
}

.contact_pg .privacy_txt a {
color: #5D1449;
text-decoration: none;
border-bottom: 1px solid #5d14494d;
transition: border-color .18s ease-out, color .18s ease-out
}

.contact_pg .privacy_txt a:hover {
color: #05B3E7;
border-bottom-color: #05B3E7
}

.contact_pg .form_submit {
width: 100%;
padding: 12px 24px;
font-size: 15px;
line-height: 1.5;
font-weight: 600;
color: #FFF;
background: #5D1449;
border: none;
border-radius: 3px;
cursor: pointer;
letter-spacing: .02em;
position: relative;
overflow: hidden;
transition: background .25s ease-out, transform .15s ease-out
}

.contact_pg .form_submit::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #3D0A2F;
transition: left .35s ease-out
}

.contact_pg .form_submit:hover::before {
left: 0
}

.contact_pg .form_submit:hover {
background: #5D1449;
transform: translateY(-2px);
box-shadow: 0 7px 22px 0 #5d144914
}

.contact_pg .form_submit:active {
transform: translateY(0);
box-shadow: inset 0 3px 5px 0 #0003
}

.contact_pg .form_submit span {
position: relative;
z-index: 1
}

.contact_pg .side_info {
display: flex;
flex-direction: column;
gap: 24px
}

.contact_pg .info_card {
background: #FFF;
padding: 24px;
border-radius: 28px;
box-shadow: 0 3px 5px 0 #05b3e70f;
border: 1px solid #05b3e71f;
transition: box-shadow .3s ease-out, transform .22s ease-out;
animation: card_appear .38s ease-out;
animation-fill-mode: both
}

.contact_pg .info_card:nth-child(1) {
animation-delay: .1s
}

.contact_pg .info_card:nth-child(2) {
animation-delay: .2s
}

.contact_pg .info_card:nth-child(3) {
animation-delay: .3s
}

@keyframes card_appear {
from {
opacity: 0;
transform: translateX(24px) rotate(2deg)
}

to {
opacity: 1;
transform: translateX(0) rotate(0deg)
}
}

.contact_pg .info_card:hover {
box-shadow: 0 9px 48px 0 #05b3e71f;
transform: translateY(-4px)
}

.contact_pg .info_h {
font-size: 15px;
line-height: 1.3;
color: #5D1449;
margin: 0 0 12px;
font-weight: 700;
letter-spacing: .02em;
display: flex;
align-items: center;
gap: 12px
}

.contact_pg .info_h::before {
content: '';
width: 8px;
height: 8px;
background: #05B3E7;
border-radius: 3px;
flex-shrink: 0
}

.contact_pg .info_val {
font-size: 14px;
line-height: 1.7;
color: #2B2B2B;
margin: 0;
letter-spacing: .01em
}

.contact_pg .info_val a {
color: #2B2B2B;
text-decoration: none;
border-bottom: 1px solid #5d144933;
transition: color .18s ease-out, border-color .18s ease-out
}

.contact_pg .info_val a:hover {
color: #5D1449;
border-bottom-color: #5D1449
}

.contact_pg .metrics_grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
max-width: 1200px;
margin: 48px auto 0;
padding: 0 24px
}

.contact_pg .metric_box {
background: #FFF;
padding: 24px;
border-radius: 3px;
box-shadow: 0 3px 5px 0 #5d14490f;
text-align: center;
position: relative;
overflow: hidden;
animation: metric_pop .32s ease-out;
animation-fill-mode: both
}

.contact_pg .metric_box:nth-child(1) {
animation-delay: .15s
}

.contact_pg .metric_box:nth-child(2) {
animation-delay: .25s
}

.contact_pg .metric_box:nth-child(3) {
animation-delay: .35s
}

@keyframes metric_pop {
from {
opacity: 0;
transform: scale(0.92) rotate(-3deg)
}

to {
opacity: 1;
transform: scale(1) rotate(0deg)
}
}

.contact_pg .metric_box::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #5D1449 0%, #05B3E7 100%);
transform: scaleX(0);
transform-origin: left;
transition: transform .45s ease-out
}

.contact_pg .metric_box:hover::before {
transform: scaleX(1)
}

.contact_pg .metric_num {
font-size: 48px;
line-height: 1.1;
font-weight: 700;
color: #5D1449;
margin: 0 0 4px;
letter-spacing: -.02em
}

.contact_pg .metric_label {
font-size: 14px;
line-height: 1.5;
color: #2B2B2B;
margin: 0;
letter-spacing: .02em
}

@media (max-width: 1200px) {
.contact_pg .intro_visual::before {
font-size: 220px;
right: 4%
}

.contact_pg .intro_img_zone {
width: 340px;
height: 320px
}

.contact_pg .form_container {
gap: 48px
}
}

@media (max-width: 992px) {
.contact_pg .intro_visual {
min-height: 440px;
padding: 48px 24px
}

.contact_pg .intro_visual::before {
font-size: 180px;
top: 8%
}

.contact_pg .intro_h {
font-size: 48px
}

.contact_pg .intro_desc {
font-size: 15px
}

.contact_pg .intro_img_zone {
width: 280px;
height: 260px
}

.contact_pg .form_main_area {
padding: 48px 24px
}

.contact_pg .form_container {
grid-template-columns: 1fr;
gap: 24px
}

.contact_pg .form_block {
padding: 24px
}

.contact_pg .metrics_grid {
grid-template-columns: 1fr;
gap: 12px
}
}

@media (max-width: 576px) {
.contact_pg .intro_visual {
min-height: 380px;
padding: 48px 12px 24px
}

.contact_pg .intro_visual::before {
font-size: 140px;
right: -4%
}

.contact_pg .intro_h {
font-size: 48px;
margin: 0 0 12px
}

.contact_pg .intro_desc {
font-size: 14px;
margin: 0 0 24px
}

.contact_pg .intro_links {
flex-direction: column;
gap: 12px
}

.contact_pg .intro_link {
text-align: center
}

.contact_pg .intro_img_zone {
display: none
}

.contact_pg .form_main_area {
padding: 24px 12px
}

.contact_pg .form_divider {
gap: 12px;
margin: 0 0 24px
}

.contact_pg .form_divider_num {
font-size: 20px
}

.contact_pg .form_block {
padding: 12px
}

.contact_pg .form_h {
font-size: 15px
}

.contact_pg .form_group {
margin: 0 0 12px
}

.contact_pg .form_label {
margin: 0 0 4px
}

.contact_pg .privacy_check {
margin: 0 0 12px;
padding: 4px
}

.contact_pg .metrics_grid {
margin: 24px auto 0;
padding: 0 12px
}

.contact_pg .metric_num {
font-size: 20px
}
}

.success_pg {
background: linear-gradient(143deg, #05B3E7 0%, #05B3E7 8%, #FFF 8%, #FFF 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 48px 24px
}

.success_pg .msg_wrap {
max-width: 680px;
background: #FFF;
padding: 96px 48px;
border-radius: 28px;
box-shadow: 0 9px 48px 0 #5d14491f;
text-align: center
}

.success_pg .icon_circ {
width: 120px;
height: 120px;
margin: 0 auto 48px;
background: linear-gradient(143deg, #5D1449 0%, #05B3E7 100%);
border-radius: 999px;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.success_pg .icon_circ::before {
content: '';
width: 48px;
height: 24px;
border-left: 6px solid #FFF;
border-bottom: 6px solid #FFF;
transform: rotate(-45deg) translateY(-8px)
}

.success_pg .title_main {
font-size: 48px;
line-height: 1.1;
letter-spacing: -.02em;
color: #5D1449;
margin: 0 0 24px
}

.success_pg .desc_txt {
font-size: 20px;
line-height: 1.5;
letter-spacing: .01em;
color: #2a2a2a;
margin: 0 0 48px
}

.success_pg .info_blk {
background: #f5f5f5;
padding: 24px;
border-radius: 3px;
margin: 0 0 48px;
text-align: left
}

.success_pg .info_blk p {
font-size: 15px;
line-height: 1.5;
letter-spacing: .005em;
color: #3a3a3a;
margin: 0 0 12px
}

.success_pg .info_blk p:last-child {
margin: 0
}

.success_pg .info_blk strong {
color: #5D1449;
font-weight: 600
}

.success_pg .btn_grp {
display: flex;
gap: 12px;
justify-content: center;
flex-wrap: wrap
}

.success_pg .btn_prim {
background: #5D1449;
color: #FFF;
padding: 12px 48px;
border-radius: 3px;
font-size: 15px;
line-height: 1.3;
letter-spacing: .01em;
text-decoration: none;
display: inline-block;
position: relative;
overflow: hidden;
border: none;
cursor: pointer;
transition: transform .2s ease-out
}

.success_pg .btn_prim::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #05b3e733;
transition: left .35s ease-out
}

.success_pg .btn_prim:hover::before {
left: 0
}

.success_pg .btn_prim:hover {
transform: translateY(-2px);
box-shadow: 0 7px 22px 0 #5d144914
}

.success_pg .btn_prim:active {
transform: translateY(0);
box-shadow: inset 0 3px 5px 0 #5d14490f
}

.success_pg .btn_sec {
background: transparent;
color: #5D1449;
padding: 12px 48px;
border-radius: 3px;
font-size: 15px;
line-height: 1.3;
letter-spacing: .01em;
text-decoration: none;
display: inline-block;
border: 2px solid #5D1449;
transition: background .25s ease-out, color .25s ease-out
}

.success_pg .btn_sec:hover {
background: #5D1449;
color: #FFF
}

.success_pg .btn_sec:active {
box-shadow: inset 0 3px 5px 0 #5d14490f
}

@media (max-width: 576px) {
.success_pg {
padding: 24px 12px
}

.success_pg .msg_wrap {
padding: 48px 24px
}

.success_pg .icon_circ {
width: 96px;
height: 96px;
margin-bottom: 24px
}

.success_pg .icon_circ::before {
width: 36px;
height: 18px;
border-left: 5px solid #FFF;
border-bottom: 5px solid #FFF;
transform: rotate(-45deg) translateY(-6px)
}

.success_pg .title_main {
font-size: 32px
}

.success_pg .desc_txt {
font-size: 16px
}

.success_pg .btn_grp {
flex-direction: column
}

.success_pg .btn_prim,
.success_pg .btn_sec {
width: 100%;
text-align: center
}
}